@taocompany/magic-grid 0.13.9 → 0.14.0

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.
Files changed (41) hide show
  1. package/AGENTS.md +47 -0
  2. package/README.md +63 -10
  3. package/dist/api-manifest.json +2862 -0
  4. package/dist/components/MagicGrid/MagicGrid.vue.d.ts +86 -114
  5. package/dist/components/MagicGrid/MagicGrid.vue.d.ts.map +1 -1
  6. package/dist/components/MagicGrid/index.d.ts +9 -0
  7. package/dist/components/MagicGrid/index.d.ts.map +1 -0
  8. package/dist/components/MagicGrid/magicGridProps.d.ts +3 -3
  9. package/dist/components/MagicGrid/magicGridProps.d.ts.map +1 -1
  10. package/dist/components/MagicGrid/publicProps.d.ts +4 -0
  11. package/dist/components/MagicGrid/publicProps.d.ts.map +1 -0
  12. package/dist/core/grid/grid.d.ts.map +1 -1
  13. package/dist/core/grid/gridBootstrap.d.ts.map +1 -1
  14. package/dist/core/grid/gridColumnLayout.d.ts.map +1 -1
  15. package/dist/core/grid/gridFilter.d.ts.map +1 -1
  16. package/dist/core/grid/gridHierarchyOps.d.ts +2 -0
  17. package/dist/core/grid/gridHierarchyOps.d.ts.map +1 -1
  18. package/dist/core/grid/gridInteraction/columnResizeSession.d.ts.map +1 -1
  19. package/dist/core/grid/gridRowMutation.d.ts.map +1 -1
  20. package/dist/core/grid/gridViewport.d.ts.map +1 -1
  21. package/dist/core/renderer/rowRenderer.d.ts +2 -0
  22. package/dist/core/renderer/rowRenderer.d.ts.map +1 -1
  23. package/dist/core/row/rowComp.d.ts +1 -0
  24. package/dist/core/row/rowComp.d.ts.map +1 -1
  25. package/dist/core/styling/cellStyleOverrideService.d.ts +1 -0
  26. package/dist/core/styling/cellStyleOverrideService.d.ts.map +1 -1
  27. package/dist/core/types/cellRangeSelection.d.ts.map +1 -1
  28. package/dist/index.cjs.js +6 -6
  29. package/dist/index.cjs.js.map +1 -1
  30. package/dist/index.d.ts +2 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.es.js +4593 -4561
  33. package/dist/index.es.js.map +1 -1
  34. package/dist/style.css +1 -1
  35. package/dist/token-catalog.json +2 -2
  36. package/dist/types/core.d.ts +115 -0
  37. package/dist/types/core.d.ts.map +1 -1
  38. package/dist/types/magic-grid.d.ts +38 -3
  39. package/dist/types/magic-grid.d.ts.map +1 -1
  40. package/llms.txt +19 -0
  41. package/package.json +25 -4
package/dist/index.cjs.js CHANGED
@@ -1,10 +1,10 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./validation-CD6lt5wS.cjs"),t=require("./getRowDragCommitHierarchy-DoMf_SY8.cjs");let n=require("vue");var r={class:`mg-status-bar__panels`},i=(0,n.defineComponent)({__name:`StatusBarDefaultPanels`,props:{context:{}},setup(e){let t=e,i=(0,n.computed)(()=>{let{context:e}=t,n=[];return n.push(`共 ${e.totalRowCount} 行`),e.isFiltered&&n.push(`显示 ${e.displayedRowCount} 行`),e.rowSelectionEnabled&&e.selectedRowCount>0&&n.push(`已选 ${e.selectedRowCount} 行`),n});return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,r,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(i.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:t,class:`mg-status-bar__panel`},(0,n.toDisplayString)(e),1))),128))]))}}),a=2;function o(e){if(typeof e==`number`){let t=s(e);return{average:t,sum:t}}return{average:s(e?.average??2),sum:s(e?.sum??2)}}function s(e){return Number.isFinite(e)?Math.max(0,Math.min(10,Math.trunc(e))):2}function c(e,t,n=2){if(t===`count`)return String(Math.trunc(e));let r=s(n),i=10**r,a=Math.round(e*i)/i;return r===0?String(Math.round(a)):a.toFixed(r).replace(/\.?0+$/,``)}function l(e){return e!=null&&e.count>0}var u={key:0,class:`mg-status-bar__panels mg-status-bar__panels--aggregation`},d=(0,n.defineComponent)({__name:`StatusBarRangeAggregationPanels`,props:{context:{}},setup(e){let t=e,r=(0,n.computed)(()=>l(t.context.cellSelectionAggregation)),i=(0,n.computed)(()=>{let e=t.context.cellSelectionAggregation;if(!l(e))return[];let n=t.context.statusBarRangeAggregationPrecision,r=[];return e.average!=null&&r.push({label:`平均值`,value:c(e.average,`average`,n.average)}),r.push({label:`计数`,value:c(e.count,`count`)}),e.sum!=null&&r.push({label:`求和`,value:c(e.sum,`sum`,n.sum)}),r});return(e,t)=>r.value&&i.value.length?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,u,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(i.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:t,class:`mg-status-bar__panel`},(0,n.toDisplayString)(e.label)+`: `+(0,n.toDisplayString)(e.value),1))),128))])):(0,n.createCommentVNode)(``,!0)}}),f={key:0,class:`mg-status-bar__region mg-status-bar__region--left`},p={key:1,class:`mg-status-bar__separator`,role:`separator`,"aria-orientation":`vertical`},m={key:3,class:`mg-status-bar__separator`,role:`separator`,"aria-orientation":`vertical`},h={key:4,class:`mg-status-bar__separator`,role:`separator`,"aria-orientation":`vertical`},g={key:6,class:`mg-status-bar__separator`,role:`separator`,"aria-orientation":`vertical`},_={key:7,class:`mg-status-bar__region mg-status-bar__region--right`},v=(0,n.defineComponent)({__name:`MagicGridStatusBar`,props:{context:{},barStyle:{},showDefaultPanels:{type:Boolean},showStatusBarRangeAggregation:{type:Boolean},statusBarRangeAggregationPosition:{},hasCustomStatusBarSlot:{type:Boolean},hasLeftSlot:{type:Boolean},hasRightSlot:{type:Boolean}},setup(e,{expose:t}){let r=e,a=(0,n.ref)();t({get statusBarEl(){return a.value}});let o=(0,n.computed)(()=>r.showDefaultPanels||r.hasLeftSlot),s=(0,n.computed)(()=>r.hasRightSlot),c=(0,n.computed)(()=>r.showStatusBarRangeAggregation?l(r.context.cellSelectionAggregation):!1),u=(0,n.computed)(()=>r.statusBarRangeAggregationPosition===`left`&&c.value),v=(0,n.computed)(()=>r.statusBarRangeAggregationPosition===`right`&&c.value),y=(0,n.computed)(()=>o.value),b=(0,n.computed)(()=>u.value),x=(0,n.computed)(()=>v.value||s.value),S=(0,n.computed)(()=>v.value&&s.value);return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`statusBarEl`,ref:a,class:`mg-status-bar`,style:(0,n.normalizeStyle)(e.barStyle),role:`status`,"aria-live":`polite`},[e.hasCustomStatusBarSlot?(0,n.renderSlot)(t.$slots,`status-bar`,(0,n.normalizeProps)((0,n.guardReactiveProps)(e.context)),void 0,void 0,0):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[o.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,f,[e.showDefaultPanels?((0,n.openBlock)(),(0,n.createBlock)(i,{key:0,context:e.context},null,8,[`context`])):(0,n.createCommentVNode)(``,!0),(0,n.renderSlot)(t.$slots,`status-bar-left`,(0,n.normalizeProps)((0,n.guardReactiveProps)(e.context)))])):(0,n.createCommentVNode)(``,!0),y.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,p)):(0,n.createCommentVNode)(``,!0),u.value?((0,n.openBlock)(),(0,n.createBlock)(d,{key:2,context:e.context},null,8,[`context`])):(0,n.createCommentVNode)(``,!0),b.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,m)):(0,n.createCommentVNode)(``,!0),r[0]||=(0,n.createElementVNode)(`div`,{class:`mg-status-bar__stretch`,"aria-hidden":`true`},null,-1),x.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,h)):(0,n.createCommentVNode)(``,!0),v.value?((0,n.openBlock)(),(0,n.createBlock)(d,{key:5,context:e.context},null,8,[`context`])):(0,n.createCommentVNode)(``,!0),S.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,g)):(0,n.createCommentVNode)(``,!0),s.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,_,[(0,n.renderSlot)(t.$slots,`status-bar-right`,(0,n.normalizeProps)((0,n.guardReactiveProps)(e.context)))])):(0,n.createCommentVNode)(``,!0)],64))],4))}}),y={columns:{type:Array,required:!0},data:{type:Array,default:()=>[]},rowModelType:{type:String,default:`clientSide`},infiniteDatasource:{type:Object,default:void 0},blockSize:{type:Number,default:void 0},maxBlocksInCache:{type:Number,default:void 0},infiniteInitialRowCount:{type:Number,default:void 0},infiniteMaxRetries:{type:Number,default:void 0},infiniteLoadingRowVisible:{type:Boolean,default:void 0},cellEditorRegistry:{type:Object,default:void 0},rowKey:{type:String,default:`id`},stripe:{type:Boolean,default:!1},cellColor:{type:Object,default:void 0},border:{type:String,default:`border`},theme:{type:String,default:`light`},size:{type:String,default:`default`},rounded:{type:[Boolean,Number],default:!1},rowHeight:{type:Number,default:void 0},headerHeight:{type:Number,default:void 0},showIndexColumn:{type:Boolean,default:!1},indexColumn:{type:Object,default:void 0},selectionColumn:{type:Object,default:void 0},showSummary:{type:Boolean,default:!1},navigateHeader:{type:Boolean,default:!1},navigateFooter:{type:Boolean,default:!1},summaryScope:{type:String,default:`displayed`},summaryRowHeight:{type:Number,default:void 0},summaryMethod:{type:Function,default:void 0},headerAlign:{type:String,default:void 0},headerValign:{type:String,default:void 0},align:{type:String,default:void 0},valign:{type:String,default:void 0},footerAlign:{type:String,default:void 0},footerValign:{type:String,default:void 0},rowBuffer:{type:Number,default:10},scrollEndFlushMs:{type:Number,default:0},frameBudgetMs:{type:Number,default:void 0},scrollEndFrameBudgetMs:{type:Number,default:void 0},cellRendererDefer:{type:String,default:`always`},deferRowDestroyOnScroll:{type:Boolean,default:!1},rendererFrameBudgetMs:{type:Number,default:void 0},cellRendererPresentation:{type:String,default:`deferred`},rowSelection:{type:[String,Boolean,Object],default:`single`},selectable:{type:Function,default:void 0},isRowDisabled:{type:[Boolean,Function],default:void 0},rowStyle:{type:[Object,Function],default:void 0},editableCellStyle:{type:Object,default:void 0},showEditableCellIcon:{type:Boolean,default:!1},disabledCellStyle:{type:Object,default:void 0},showDisabledCellIcon:{type:Boolean,default:!1},reserveSelection:{type:Boolean,default:!1},preserveScrollOnSetData:{type:Boolean,default:!0},defaultSelectedRows:{type:[Array,Function],default:void 0},editBehavior:{type:String,default:`cell`},editType:{type:String,default:`singleClick`},editorOptions:{type:Object,default:void 0},invalidEditValueMode:{type:String,default:`block`},rowValidator:{type:Function,default:void 0},asyncRowMutation:{type:Object,default:void 0},height:{type:[String,Number],default:`100%`},width:{type:[String,Number],default:`100%`},defaultSort:{type:Array,default:void 0},sortable:{type:Boolean,default:!1},enableHeaderSortClick:{type:Boolean,default:!0},columnMovable:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},colResizeDefault:{type:String,default:void 0},skipHeaderOnAutoSize:{type:Boolean,default:!1},autoSizePadding:{type:Number,default:void 0},autoSizeStrategy:{type:Object,default:void 0},suppressMoveWhenColumnDragging:{type:Boolean,default:!1},suppressColumnMoveAnimation:{type:Boolean,default:!1},allowCrossLaneColumnMove:{type:Boolean,default:!1},showUnsortedSortHintOnHover:{type:Boolean,default:!1},quickFilterText:{type:String,default:``},filterable:{type:Boolean,default:!1},floatingFilter:{type:Boolean,default:!1},filterSetValueMode:{type:String,default:`current`},filterSetDateLayoutMode:{type:String,default:`tree`},showStatusBar:{type:Boolean,default:!0},showDefaultStatusBarPanels:{type:Boolean,default:!0},statusBarHeight:{type:[String,Number],default:`auto`},showStatusBarRangeAggregation:{type:Boolean,default:!0},statusBarRangeAggregationPosition:{type:String,default:`right`},statusBarRangeAggregationPrecision:{type:[Number,Object],default:void 0},rowDragManaged:{type:Boolean,default:!0},getRowHeight:{type:Function,default:void 0},rowHeightMin:{type:Number,default:void 0},rowHeightMax:{type:Number,default:void 0},enableCellSpan:{type:Boolean,default:!1},enableCellEditorCache:{type:Boolean,default:!1},cellEditorCacheMaxEntries:{type:Number,default:void 0},masterDetail:{type:Boolean,default:!1},isRowMaster:{type:Function,default:void 0},masterDefaultExpanded:{type:Number,default:void 0},detailRowHeight:{type:[Number,Function],default:void 0},detailRowAutoHeight:{type:Boolean,default:void 0},embedFullWidthRows:{type:Boolean,default:void 0},showExpandColumn:{type:Boolean,default:void 0},getDetailRowData:{type:Function,default:void 0},detailCellRenderer:{type:Function,default:void 0},loadMoreRow:{type:Object,default:void 0},loadMoreRowRenderer:{type:Function,default:void 0},rowGrouping:{type:Boolean,default:!1},groupDefaultExpanded:{type:Number,default:void 0},showGroupHeader:{type:Boolean,default:!1},showGroupFooter:{type:Boolean,default:!1},groupDisplayType:{type:String,default:void 0},showGroupColumn:{type:Boolean,default:!1},autoGroupColumnDef:{type:Object,default:void 0},groupKeyCreator:{type:Function,default:void 0},groupComparator:{type:Function,default:void 0},groupSortKey:{type:String,default:void 0},groupFooterLabel:{type:String,default:void 0},groupCellRenderer:{type:Function,default:void 0},tree:{type:Boolean,default:!1},getDataPath:{type:Function,default:void 0},showTreeColumn:{type:Boolean,default:void 0},autoTreeColumnDef:{type:Object,default:void 0},treeValueGetter:{type:Function,default:void 0},treeDisplayType:{type:String,default:void 0},treeDragScope:{type:String,default:void 0},treeHierarchyActions:{type:Boolean,default:void 0},setDataPath:{type:Function,default:void 0},treeLazyLoad:{type:Boolean,default:!1},hasTreeChildren:{type:Function,default:void 0},loadTreeChildren:{type:Function,default:void 0},cellCommentsDataSource:{type:Object,default:void 0},suppressCellComments:{type:Boolean,default:!1},cellCommentTrigger:{type:String,default:`click`},cellCommentShowDelay:{type:Number,default:void 0},cellCommentHideDelay:{type:Number,default:void 0},cellSelection:{type:[Boolean,Object],default:!0},enableCellCopy:{type:Boolean,default:void 0},enableCellPaste:{type:Boolean,default:void 0},enableHeaderHighlight:{type:Boolean,default:!0},enableIndexColumnHighlight:{type:Boolean,default:!0},processCellForClipboard:{type:Function,default:void 0},processCellFromClipboard:{type:Function,default:void 0},processDataFromClipboard:{type:Function,default:void 0},enableTooltips:{type:Boolean,default:void 0},tooltipShowMode:{type:String,default:void 0},tooltipShowDelay:{type:Number,default:void 0},tooltipSwitchShowDelay:{type:Number,default:void 0},tooltipHideDelay:{type:Number,default:void 0},tooltipInteraction:{type:Boolean,default:void 0},tooltipMouseTrack:{type:Boolean,default:void 0},tooltipComponent:{type:Function,default:void 0},tooltipComponentParams:{type:Object,default:void 0},loading:{type:Boolean,default:void 0},suppressOverlays:{type:Array,default:void 0},suppressLoadingOverlay:{type:Boolean,default:void 0},suppressNoRowsOverlay:{type:Boolean,default:void 0},suppressNoMatchingRowsOverlay:{type:Boolean,default:void 0},overlayLoadingTemplate:{type:String,default:void 0},overlayNoRowsTemplate:{type:String,default:void 0},overlayNoMatchingRowsTemplate:{type:String,default:void 0},overlayInteraction:{type:Boolean,default:void 0},loadingOverlayComponent:{type:Function,default:void 0},loadingOverlayComponentParams:{type:Object,default:void 0},noRowsOverlayComponent:{type:Function,default:void 0},noRowsOverlayComponentParams:{type:Object,default:void 0},noMatchingRowsOverlayComponent:{type:Function,default:void 0},noMatchingRowsOverlayComponentParams:{type:Object,default:void 0},overlayComponent:{type:Function,default:void 0},overlayComponentParams:{type:Object,default:void 0}},b=`__expand__`,x=`__detail`,S=`mg-cell__row-expand`,C=`mg-cell__row-expand--expanded`,w=`mg-full-width-rows-container`,T=`mg-full-width-row`,E=`mg-full-width-row__content`,D=`mg-full-width-row--last`;function O(e){return!0}function k(e={}){return{masterDetail:e.masterDetail??!1,isRowMaster:e.isRowMaster??O,masterDefaultExpanded:e.masterDefaultExpanded??0,detailRowHeight:e.detailRowHeight??200,detailRowAutoHeight:e.detailRowAutoHeight??!1,embedFullWidthRows:e.embedFullWidthRows??!1,showExpandColumn:e.showExpandColumn??!1,getDetailRowData:e.getDetailRowData,detailCellRenderer:e.detailCellRenderer}}function A(e){return e===b}function j(e){return A(e.colId)||e.rowExpand}function M(e,n){return t.it(n)||t.X(n)||A(n)?!1:e??!1}function N(e,t){return M(e.rowExpand,t)}function P(e){return e??`BUSINESS`}function F(e){return`${e}${x}`}function I(e){return e.endsWith(x)}function L(e){return P(e.rowKind)===`DETAIL`||I(e.id)}function ee(e){return P(e.rowKind)===`BUSINESS`&&!I(e.id)}function te(e,t){let n=typeof e==`function`?e(t):e;return!Number.isFinite(n)||n<1?200:Math.floor(n)}function ne(e,t){return{rowId:e,expanded:!0,source:t}}function re(e,t){return{rowId:e,expanded:!1,source:t}}function ie(e){return e.available!==!1}function ae(e){return e.filter(ie)}var oe=`__group__`,se=`group::`,ce=`__header`,le=`__footer`,ue=`(Blanks)`,de=`mg-cell__group-expand`,fe=`mg-cell__group-expand--expanded`,pe=`mg-cell__group-indent-`,me=`mg-row--group-header`,he=`mg-row--group-footer`,ge=`mg-cell--group-auto`;function _e(e={}){return{rowGrouping:e.rowGrouping??!1,groupDefaultExpanded:e.groupDefaultExpanded??-1,showGroupHeader:e.showGroupHeader??!1,showGroupFooter:e.showGroupFooter??!1,groupDisplayType:e.groupDisplayType??`singleColumn`,showGroupColumn:e.showGroupColumn??!1,autoGroupColumnDef:e.autoGroupColumnDef,groupKeyCreator:e.groupKeyCreator,groupComparator:e.groupComparator,groupSortKey:e.groupSortKey,groupFooterLabel:e.groupFooterLabel??`小计`,groupCellRenderer:e.groupCellRenderer}}function R(e){return e===oe}function ve(e){return R(e.colId)}function ye(e,n){return t.it(n)||t.X(n)||A(n)||R(n)?!1:e??!1}function be(e,t){return ye(e.rowGroup,t)}function xe(e,t){if(be(e,t))return e.rowGroupIndex}function Se(e,n){if(!(t.it(n)||t.X(n)||A(n)||R(n)))return e.groupAgg}function Ce(e,n){return t.it(n)||t.X(n)||A(n)||R(n)?!1:e.showGroupHeaderCell??!1}function we(e,n){return t.it(n)||t.X(n)||A(n)||R(n)?!1:e.showGroupFooterCell??!1}function Te(e,n){if(!(t.it(n)||t.X(n)||A(n)||R(n)))return e.groupFooterLabel}function Ee(e){return ve(e)||e.showGroupHeaderCell}function De(e){return ve(e)||e.showGroupFooterCell}function Oe(e,t){return He(t)?Be(t)?Ee(e):Ve(t)?De(e):!1:!1}function ke(e){let n=ae(e).map((e,n)=>{let r=t.at(e,n);return{colId:r,rowGroup:be(e,r),rowGroupIndex:e.rowGroupIndex,index:n}}).filter(e=>e.rowGroup);return n.sort((e,t)=>{let n=e.rowGroupIndex??e.index,r=t.rowGroupIndex??t.index;return n===r?e.index-t.index:n-r}),n.map(e=>e.colId)}function Ae(e,t){return e&&t}function je(e,t){return e&&t.length>0}function Me(e){if(e==null||e===``)return ue;if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return String(e);if(e instanceof Date)return Number.isNaN(e.getTime())?ue:e.toISOString();try{return JSON.stringify(e)}catch{return ue}}function Ne(e,t,n,r){let i=`${se}L${e}::${encodeURIComponent(t)}::${encodeURIComponent(n)}`;return r?`${r}::${i}`:i}function Pe(e){return e.join(`/`)}function Fe(e){return`${e}${ce}`}function Ie(e){return`${e}${le}`}function Le(e){return e.endsWith(ce)}function Re(e){return e.endsWith(le)}function ze(e){return Le(e)||Re(e)?e.slice(0,-8):null}function Be(e){return e.rowKind===`GROUP_HEADER`||Le(e.id)}function Ve(e){return e.rowKind===`GROUP_FOOTER`||Re(e.id)}function He(e){return e.group===!0||Be(e)||Ve(e)}function z(e){return He(e)?!1:e.rowKind===void 0||e.rowKind===`BUSINESS`}function Ue(e){return{groupId:e.groupId,expanded:e.expanded,field:e.field,key:e.key,level:e.level,source:e.source}}function We(e,t){return{columns:[...e],source:t}}var Ge=`__tree__`,Ke=`mg-cell__tree-expand`,qe=`mg-cell__tree-expand--expanded`,Je=`mg-cell__tree-expand--loading`,Ye=`mg-cell__tree-indent-`,Xe=`mg-cell__tree-hierarchy-trigger`,Ze=`mg-cell__tree-hierarchy-actions`,Qe=`mg-cell--tree-auto`;function $e(e){return e||(({data:e,dataPath:t})=>{Array.isArray(e.pathSegments)&&(e.pathSegments=[...t])})}function et(e={}){let t=e.treeLazyLoad??!1,n=e.loadTreeChildren;return t&&typeof n!=`function`&&console.warn(`[magic-grid] treeLazyLoad: true requires loadTreeChildren callback.`),{tree:e.tree??!1,getDataPath:e.getDataPath,treeDragScope:e.treeDragScope??`siblings`,setDataPath:$e(e.setDataPath),treeHierarchyActions:e.treeHierarchyActions??!0,showTreeColumn:e.showTreeColumn??!0,autoTreeColumnDef:e.autoTreeColumnDef,treeValueGetter:e.treeValueGetter,treeDisplayType:e.treeDisplayType??`singleColumn`,treeLazyLoad:t,hasTreeChildren:e.hasTreeChildren,loadTreeChildren:n}}function B(e){return e===Ge}function tt(e,t){return e===!0&&typeof t==`function`}function nt(e,t,n){return tt(e,n)&&t!==!1}function V(e){return e.dataPath!=null&&e.dataPath.length>0}function rt(e){e.forEach((e,n)=>{let r=t.at(e,n);(r===`__tree__`||t.it(r)||t.X(r)||A(r)||R(r))&&console.warn(`[magic-grid] Column colId "${r}" is reserved for system columns and will be ignored.`)})}function it(e,t,n,r,i){return{rowId:e,expanded:t,level:n,dataPath:r,source:i}}function at(e,t){if(e&&typeof t!=`function`)throw Error(`[magic-grid] tree: true requires getDataPath callback.`)}var ot=`__mg_summary__`;function st(e={}){return{showSummary:e.showSummary??!1,summaryScope:e.summaryScope??`displayed`,summaryRowHeight:e.summaryRowHeight,summaryMethod:e.summaryMethod}}function ct(e,t){return e??t}var lt=`mg-cell--disabled`,ut=`data-disabled`,dt=`mg-cell--disabled-icon-hint`,ft=`mg-cell__disabled-indicator`;function pt(e={}){return{isRowDisabled:e.isRowDisabled}}function mt(e){return t.it(e)||t.X(e)||A(e)||B(e)||R(e)}function ht(e,t,n,r){return!((t??`BUSINESS`)!==`BUSINESS`||r===`__mg_summary__`||!n||mt(e))}function gt(e,t){return t==null||t===!1?!1:t===!0||t(e)}function _t(e){let{column:t,rowNode:n,isRowDisabled:r}=e;if(!ht(t.colId,n.rowKind,t.prop,n.id))return!1;if(gt({data:n.data,rowId:n.id,rowIndex:n.rowIndex},r)||t.disabled===!0)return!0;let{cellDisabled:i}=t;return i===!0||typeof i==`function`&&i({data:n.data,rowId:n.id,colId:t.colId})}function vt(e={}){return pt(e)}function yt(e,t,n){return _t({column:e,rowNode:t,isRowDisabled:n?.isRowDisabled})}function bt(e,t){return{...e,isRowDisabled:t}}var xt=`data-custom-bg`,St=`mg-cell--editable`,Ct=`mg-cell--editable-hint`,wt=`mg-cell__editable-indicator`;function Tt(e){return e.backgroundColor===void 0&&e.color===void 0}function Et(e,t,n){console.warn(`[magic-grid] setCellStyle: ignored (${n}).`,{rowId:e,colId:t})}function Dt(e){return t.it(e)||A(e)||B(e)||R(e)}function Ot(e,n,r,i){return(n??`BUSINESS`)!==`BUSINESS`||i===`__mg_summary__`?!1:t.X(e)?!0:!(!r||Dt(e))}function kt(e,t){return Ot(e.colId,t.rowKind,e.prop,t.id)}function At(e){return typeof e==`function`}function jt(e){let{cellStyle:t}=e;return t==null||At(t)?null:t}function Mt(e){return e.backgroundColor!==void 0&&e.backgroundColor!==``}function Nt(e,t){let n=e.cellEditorParams;if(n!=null)return typeof n==`function`?n(t):n}function Pt(e,t){let n=e.cellEditorParams;if(n!=null)return typeof n==`function`?t?Nt(e,t):void 0:n}function Ft(e,t){return Pt(e,t)}function It(e){if(!e)return;let{checkedValue:t,uncheckedValue:n}=e;if(t!==void 0||n!==void 0)return{checkedValue:t,uncheckedValue:n}}function Lt(e){if(!e)return;let{onValue:t,offValue:n}=e;if(t!==void 0||n!==void 0)return{onValue:t,offValue:n}}function Rt(e,t){return It(Ft(e,t))}function zt(e,t){return Lt(Ft(e,t))}function Bt(e){return{rowId:e.rowId,rowIndex:e.rowIndex,colId:e.colId,value:e.value,data:e.data,formattedValue:e.formattedValue,size:e.size,context:e.context,inline:e.inline,autoFocus:e.autoFocus}}function Vt(e,t){let n=Ft(e,Bt(t)),r=n==null?t.cellEditorParams:{...t.cellEditorParams,...n};return{...t,cellEditorParams:r}}var Ht=Symbol(`TOGGLE_EDITOR_RAW_VALUE_REJECTED`);function Ut(e){return e?{onValue:e.checkedValue,offValue:e.uncheckedValue}:null}function Wt(e){return{onValue:e?.onValue??!0,offValue:e?.offValue??!1}}function Gt(e){return e?.onValue!==void 0||e?.offValue!==void 0}function Kt(e,t){return Object.is(e,t)}function qt(e,t){let{onValue:n,offValue:r}=Wt(t);return Kt(e,n)?!0:Kt(e,r)||Gt(t)||e==null||e===``||e===!1||e===`false`||e===0||e===`0`?!1:e===!0||e===`true`||e===1||e===`1`||!!e}function Jt(e){return JSON.stringify(e)}function Yt(e,t){let{onValue:n,offValue:r}=Wt(t);return Jt(e?n:r)}function Xt(e,t){return Yt(e.checked,t)}function Zt(e,t){let{onValue:n,offValue:r}=Wt(t),i=Jt(n),a=Jt(r);if(e===i)return n;if(e===a)return r;if(!Gt(t)){if(e===`true`)return!0;if(e===`false`)return!1}return Ht}var Qt=Ht;function $t(e){let t=Wt(Ut(e));return{checkedValue:t.onValue,uncheckedValue:t.offValue}}function en(e,t){return qt(e,Ut(t))}function tn(e,t){return Yt(e,Ut(t))}function nn(e,t){return Xt(e,Ut(t))}function rn(e,t){return Zt(e,Ut(t))}function an(e){return e.cellEditor===`checkbox`?Ut(Rt(e)):e.cellEditor===`switch`?zt(e)??null:null}var on=Symbol(`CELL_EDIT_REJECTED`);function sn(e){return e===on}function cn(e){return t.it(e.colId)||t.X(e.colId)||j({colId:e.colId,rowExpand:!1})}function ln(e,t){let{editable:n}=e;return n===void 0||n===!1?!1:n===!0||n(t)}function H(e,t,n){return!z(t)||cn(e)||!e.prop||yt(e,t,n)?!1:ln(e,t.data)}function un(e,t=`singleClick`){return e.editType??t}function dn(e){return{editBehavior:e.editBehavior??`cell`,editType:e.editType??`singleClick`}}function U(e){return e===`row`}function fn(e){let t=e.trim();if(t===``)return on;let n=Number(t);return Number.isFinite(n)?n:on}function pn(e,t){let n=rn(e,t);return n===Qt?on:n}function mn(e,t){let n=Zt(e,t);return n===Ht?on:n}function hn(e,t,n){try{return t.valueParser?t.valueParser(e,n):t.cellEditor===`number`?fn(e):t.cellEditor===`checkbox`?pn(e,It(n.cellEditorParams)??Rt(t)):t.cellEditor===`switch`?mn(e,Lt(n.cellEditorParams)??zt(t)):e}catch{return on}}function gn(e,t,n){if(e.valueSetter){let r=e.valueSetter({...t,newValue:n,signal:new AbortController().signal});if(r instanceof Promise)throw Error(`Async valueSetter requires applyCellEditValue / commitRowEditCells`);return r}let r=e.prop;return r?(t.data[r]=n,!0):!1}async function _n(t,n,r,i){let a=i??new AbortController().signal;if(e.l(a),t.valueSetter)try{let i=await t.valueSetter({...n,newValue:r,signal:a});return e.l(a),i}catch(t){if(e.c(t))throw t;return!1}let o=t.prop;return o?(n.data[o]=r,!0):!1}function vn(e,t){let n=e.suppressTabNavigation;return typeof n==`function`?n(t):n===!0}var yn=Symbol.for(`magic-grid.vueCellEditor`);function bn(e){return Object.defineProperty(e,yn,{value:!0,configurable:!0}),e}function xn(e){return e?Reflect.get(e,yn)===!0:!1}var Sn=[`text`,`number`,`checkbox`,`switch`];function Cn(e){return Sn.includes(e)}function wn(e){let t={};for(let n of[e.row,e.column,e.cell,e.override,e.editable,e.disabled])n&&(n.backgroundColor!==void 0&&(t.backgroundColor=n.backgroundColor),n.color!==void 0&&(t.color=n.color));return t}function Tn(e,t){return{data:t.data,rowId:t.id,colId:e.colId,rowIndex:t.rowIndex,column:{colId:e.colId,prop:e.prop}}}function En(e,t){let n=t?.rowStyle;return n==null?null:typeof n==`function`?n({data:e.data,rowId:e.id,rowIndex:e.rowIndex,rowKind:e.rowKind})??null:n}function Dn(e,t){let{cellStyle:n}=e;return n==null||!At(n)?null:n(Tn(e,t))??null}function On(e,t,n){return kt(e,t)?H(e,t,n?.getCellDisableContext?.()):!1}function kn(e,t,n){return kt(e,t)?yt(e,t,n?.getCellDisableContext?.()):!1}function An(e,t){return e==null||Tt(e)||!t?null:e}function jn(e,t,n){return e??t?n:!1}function Mn(e,n,r,i){return!t.V(e)&&jn(n,r,i)}function Nn(e,t,n){return An(n?.editableCellStyle,On(e,t,n))}function Pn(e,t,n){return Mn(e,n?.showEditableCellIcon,!1,On(e,t,n))}function Fn(e,t,n){return An(n?.disabledCellStyle,kn(e,t,n))}function In(e,t,n){return Mn(e,n?.showDisabledCellIcon,!1,kn(e,t,n))}function Ln(e,t,n){if(!kt(e,t))return{};let r=n?.getCellStyleOverride?.(t.id,e.colId);return wn({row:En(t,n),column:jt(e),cell:Dn(e,t),override:r??null,editable:Nn(e,t,n),disabled:Fn(e,t,n)})}function Rn(){return{key:b,label:``,width:40,minWidth:40,fixed:`left`,sortable:!1,filterable:!1,editable:!1,resizable:!1,headerAlign:`center`,align:`center`,valign:`center`}}function zn(e={}){return{key:oe,label:`分组`,width:200,minWidth:120,fixed:`left`,sortable:!1,filterable:!1,editable:!1,resizable:!0,headerAlign:`left`,align:`left`,valign:`center`,...e}}function Bn(e={}){return{key:Ge,label:`树`,width:200,minWidth:120,fixed:`left`,sortable:!1,filterable:!1,editable:!1,resizable:!0,headerAlign:`left`,align:`left`,valign:`center`,...e}}function Vn(e){return{key:t.tt,label:e.label,width:e.width,minWidth:40,fixed:`left`,sortable:!1,filterable:!1,editable:!1,resizable:!1,headerAlign:e.headerAlign,headerValign:e.headerValign,align:e.align,valign:e.valign,footerAlign:e.footerAlign,footerValign:e.footerValign}}function Hn(e){return{key:t.J,label:``,width:e.width,minWidth:40,fixed:`left`,sortable:!1,filterable:!1,editable:!1,resizable:!1,headerAlign:e.headerAlign,headerValign:e.headerValign,align:e.align,valign:e.valign,footerAlign:e.footerAlign,footerValign:e.footerValign}}function Un(e,n,r=t.Z(),i={}){let a=[];n.showIndexColumn&&a.push(Vn(n.indexColumn)),r.enabled&&a.push(Hn(r.selectionColumn));let o=i.rowExpansion;o?.masterDetail&&o.showExpandColumn&&a.push(Rn());let s=i.treeTable;if(s&&nt(s.tree,s.showTreeColumn,s.getDataPath))a.push(Bn(s.autoTreeColumnDef??{}));else{let e=i.rowGrouping;e&&Ae(e.rowGrouping,e.showGroupColumn)&&a.push(zn(e.autoGroupColumnDef??{}))}return[...a,...e]}function W(e,t){let n=t.prop??t.colId,r=n?e.data[n]:void 0;return t.valueGetter&&(r=t.valueGetter(e.data,r)),r}var Wn=`default`,Gn={mini:{spacing:4,fontSize:12,borderRadius:4,rowHeight:20,headerHeight:20,statusBarHeight:20,checkboxSize:12},small:{spacing:8,fontSize:12,borderRadius:8,rowHeight:24,headerHeight:24,statusBarHeight:24,checkboxSize:12},default:{spacing:8,fontSize:12,borderRadius:8,rowHeight:32,headerHeight:32,statusBarHeight:32,checkboxSize:14},large:{spacing:12,fontSize:14,borderRadius:8,rowHeight:40,headerHeight:40,statusBarHeight:40,checkboxSize:14}};function Kn(e){let{rounded:t=!1,sizeBorderRadius:n}=e;return t===!0?n:typeof t==`number`?Math.max(0,t):0}function qn(e={}){let t=e.size??`default`,n=Gn[t],r=e.rowHeight!=null,i=e.headerHeight!=null;return{size:t,spacing:n.spacing,fontSize:n.fontSize,borderRadius:n.borderRadius,rowHeight:r?e.rowHeight:n.rowHeight,headerHeight:i?e.headerHeight:n.headerHeight,statusBarHeight:n.statusBarHeight,checkboxSize:n.checkboxSize,rowHeightOverridden:r,headerHeightOverridden:i}}function Jn(e,t){return e==null||e===`auto`||!Number.isFinite(e)?t:Math.max(12,Math.trunc(e))}function Yn(e){return Math.max(12,e-6)}function Xn(e){return e+16}function Zn(e){return Math.max(12,e-16)}function Qn(e=Wn){return Xn(Gn[e].statusBarHeight)}function $n(e){return Math.max(12,e-8)}function er(e){return Gn[e].statusBarHeight}var tr={mini:12,small:14,default:16,large:18};function nr(e){return tr[e]}function rr(e=Wn){return{"--mg-column-settings-button-size":`${er(e)}px`,"--mg-column-settings-button-icon-size":`${nr(e)}px`}}function ir(e,t,n){let r=n??e.rowHeight,i=Yn(e.statusBarHeight),a=Xn(e.statusBarHeight),o=Zn(a),s=er(e.size);return{"--mg-row-height":`${e.rowHeight}px`,"--mg-header-height":`${e.headerHeight}px`,"--mg-summary-row-height":`${r}px`,"--mg-status-bar-height":`${e.statusBarHeight}px`,"--mg-status-bar-control-height":`${i}px`,"--mg-load-more-row-height":`${a}px`,"--mg-load-more-control-height":`${o}px`,"--mg-column-settings-button-size":`${s}px`,"--mg-column-settings-button-icon-size":`${nr(e.size)}px`,"--mg-status-bar-font-size":`${e.fontSize}px`,"--mg-font-size":`${e.fontSize}px`,"--mg-spacing":`${e.spacing}px`,"--mg-cell-padding-x":`${e.spacing}px`,"--mg-border-radius":`${t}px`,"--mg-checkbox-size":`${e.checkboxSize}px`,"--mg-cell-control-size":`${$n(e.rowHeight)}px`}}var ar=Gn.default.rowHeight,or=Gn.default.headerHeight;function sr(e,t){let n=e.__autoHeights;if(!n)return null;let r=Object.values(n);return r.length===0?null:Math.max(t,...r)}function cr(e,t,n){if(e.rowHeightPinned&&e.rowHeight>0)return{height:e.rowHeight,estimated:!1};if(n){let t=n(e);if(t!=null&&t>0)return{height:t,estimated:!1}}let r=sr(e,t);return r==null?e.rowHeight>0?{height:e.rowHeight,estimated:e.estimated??!1}:{height:t,estimated:!1}:{height:r,estimated:e.estimated??!1}}function lr(e,t){let n=0;for(let r=0;r<e.length;r++){let i=e[r];i.rowIndex=r,i.rowTop=n,i.rowHeight=t,i.estimated=!1,n+=t}}function ur(e,t){let n=0;for(let r=0;r<e.length;r++){let i=e[r],{height:a,estimated:o}=cr(i,t.defaultRowHeight,t.getRowHeight);i.rowIndex=r,i.rowTop=n,i.rowHeight=a,i.estimated=o,n+=a}}function dr(e,t){if(typeof t==`number`){lr(e,t);return}ur(e,t)}function fr(e){if(e.length===0)return 0;let t=e[e.length-1];return t.rowTop+t.rowHeight}var pr=[`group`,`filter`,`sort`,`aggregate`,`map`],mr=[`tree`,`filter`,`sort`,`map`],hr=[`sort`,`filter`,`map`];function gr(e){switch(e){case`tree`:return mr;case`group`:return pr;default:return hr}}function _r(e){return`predicate`in e}function vr(e){for(let t=0;t<e.length;t+=1)e[t].sourceIndex=t}function yr(e,t){let n=e.data[t];if(typeof n==`number`&&Number.isFinite(n))return n;if(typeof n==`string`&&n!==``){let e=Number(n);if(Number.isFinite(e))return e}return 1/0}function br(e,t){return[...e].sort((e,n)=>yr(e,t)-yr(n,t))}function xr(e,t){let n=0;for(let r of e)z(r)&&(r.data[t]=n,n+=1)}function Sr(e,t){return e===t?0:e===`(Blanks)`?1:t===`(Blanks)`?-1:e.localeCompare(t)}function Cr(e){return e?(t,n,r)=>e({valueA:t,valueB:n,colId:r.colId,field:r.field,level:r.level}):(e,t)=>Sr(e,t)}function wr(e){let{sourceRows:t,rowGroupColumns:n}=e;return n.length===0||t.length===0?[...t]:Tr({rows:t,level:0,parentGroupId:void 0,parentPathIds:[],rowGroupColumns:n,getCellValue:e.getCellValue,groupKeyCreator:e.groupKeyCreator,groupComparator:e.groupComparator,groupSortKey:e.groupSortKey,getColumnField:e.getColumnField})}function Tr(e){let{rows:t,level:n,parentGroupId:r,parentPathIds:i,rowGroupColumns:a,getCellValue:o,groupKeyCreator:s,groupComparator:c,groupSortKey:l,getColumnField:u}=e;if(t.length===0)return[];if(n>=a.length)return Or(t,Pe(i)),l?br(t,l):[...t];let d=a[n],f=u?.(d)??d,p=Er(t,d,f,o,s),m=Cr(c),h={colId:d,field:f,level:n};return[...p.keys()].sort((e,t)=>m(e,t,h)).map(e=>{let t=p.get(e),m=Ne(n,f,e,r),h=[...i,m],g=Tr({rows:t,level:n+1,parentGroupId:m,parentPathIds:h,rowGroupColumns:a,getCellValue:o,groupKeyCreator:s,groupComparator:c,groupSortKey:l,getColumnField:u});return kr({colId:d,field:f,key:e,level:n,groupId:m,groupPathKey:Pe(h),children:g})})}function Er(e,t,n,r,i){let a=new Map;for(let o of e){let e=Dr(o,t,n,r,i),s=a.get(e);if(s){s.push(o);continue}a.set(e,[o])}return a}function Dr(e,t,n,r,i){let a=r(e,t);return Me(i?i({field:n,colId:t,value:a,data:e.data}):a)}function Or(e,t){for(let n of e)n.leafGroupPathKey=t}function kr(e){let t=Ar(e.children);return{id:e.groupId,data:{},rowTop:0,rowHeight:0,estimated:!1,rowIndex:-1,sourceIndex:-1,group:!0,groupField:e.colId,groupKey:e.key,groupLevel:e.level,groupId:e.groupId,groupPathKey:e.groupPathKey,groupLeafCount:t,childrenAfterGroup:e.children}}function Ar(e){let t=0;for(let n of e){if(n.group){let e=n.childrenAfterSort??n.childrenAfterFilter??n.childrenAfterGroup??[];t+=Ar(e);continue}t+=1}return t}function jr(e){let t=[];for(let n of e){if(n.group){t.push(...jr(n.childrenAfterGroup??[]));continue}t.push(n)}return t}function Mr(e){return e.some(e=>e.group===!0)}function Nr(e){return e.childrenAfterGroup??[]}function Pr(e){return e.childrenAfterFilter??e.childrenAfterGroup??[]}function Fr(e){return e.childrenAfterSort??Pr(e)}function Ir(e){return Fr(e)}function Lr(e){let t=[];for(let n of e){if(n.group){t.push(...Lr(Fr(n)));continue}t.push(n)}return t}function Rr(e){for(let t of e){if(!t.group)continue;let e=Rr(Nr(t));t.childrenAfterFilter=e,t.groupLeafCount=Ar(e)}return[...e]}function zr(e){for(let t of e){if(!t.group)continue;let e=t.childrenAfterSort??Pr(t);zr(e),t.groupLeafCount=Ar(e)}}function Br(e){return Vr(e??``)!==``}function Vr(e){return e.trim()}function Hr(e){let t=Vr(e.quickFilterText).toLowerCase();if(t===``)return!0;for(let n of e.filterableColIds){let r=e.getFilterValue(e.row,n,e.getCellValue);if(String(r??``).toLowerCase().includes(t))return!0}return!1}function Ur(e){return e.some(e=>e.dataPath!=null&&e.dataPath.length>0&&e.group!==!0)}function Wr(e){return e.childrenAfterFilter??e.childrenAfterTree??[]}function Gr(e){return e.childrenAfterSort??Wr(e)}function Kr(e){let t=[];function n(e){for(let r of e){let e=Gr(r);e.length!==0&&(t.push(r.id),n(e))}}return n(e),t}function qr(e){for(let t of e){let e=t.childrenAfterTree??[];t.childrenAfterFilter=e.length>0?qr(e):[]}return[...e]}function Jr(e){return e!=null&&e.trim()!==``}function Yr(e){return ii(e.type)?!0:e.type===`inRange`?Jr(e.filter)&&Jr(e.filterTo):Jr(e.filter)}function Xr(e){return e?e.conditions&&e.conditions.length>0?e.conditions:[{type:e.type,filter:e.filter,filterTo:e.filterTo}]:[]}function Zr(e){return e.operator??`AND`}function Qr(e){return e?.setValues}function $r(e){return Xr(e).some(Yr)}function ei(e){return e.setValues!==void 0}function ti(e){return e??`text`}function ni(e){return{caseSensitive:e?.caseSensitive??!0,locale:e?.locale}}function ri(e){return e!=null&&e.trim()!==``}function ii(e){return e===`blank`||e===`notBlank`}function ai(e){return e?_r(e)?!0:$r(e)||ei(e):!1}function oi(e,t){return ai(t[e])}function si(e,t){if(ri(t))return!0;for(let t of Object.values(e))if(ai(t))return!0;return!1}var ci=`__mg_blank__`,li=/^\d{4}-\d{2}-\d{2}$/;function ui(e){return!!(e==null||typeof e==`number`&&Number.isNaN(e)||typeof e==`string`&&e.trim()===``)}function di(e){return e.toISOString().slice(0,10)}function fi(e){if(ui(e))return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:di(e);if(typeof e==`number`){let t=new Date(e);return Number.isNaN(t.getTime())?null:di(t)}let t=String(e).trim();if(t===``)return null;if(li.test(t))return t;let n=Date.parse(t);return Number.isNaN(n)?null:di(new Date(n))}function pi(e){if(ui(e))return null;let t=Number(e);return Number.isNaN(t)?null:t}function mi(e,t){if(ui(e))return ci;switch(t){case`number`:{let t=pi(e);return t===null?ci:String(t)}case`date`:return fi(e)??`__mg_blank__`;default:return String(e)}}function hi(e,t){return e===`__mg_blank__`?`(空白)`:e}function gi(e,t){return e===`__mg_blank__`?-1:t===`__mg_blank__`?1:e.localeCompare(t,void 0,{numeric:!0,sensitivity:`base`})}function _i(e){let t=new Map;for(let n of e.rows){let r=mi(e.getFilterValue(n),e.filterType);t.set(r,(t.get(r)??0)+1)}return[...t.keys()].sort(gi).map(t=>({key:t,label:hi(t,e.filterType),blank:t===ci}))}var vi=/^\d{4}-\d{2}-\d{2}$/;function yi(e){return!!(e==null||typeof e==`number`&&Number.isNaN(e)||typeof e==`string`&&e.trim()===``)}function bi(e,t){let n=String(e??``);return t?n:n.toLowerCase()}function xi(e,t){return t?e:e.toLowerCase()}function Si(e){return e.toISOString().slice(0,10)}function Ci(e){if(yi(e))return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:Si(e);if(typeof e==`number`){let t=new Date(e);return Number.isNaN(t.getTime())?null:Si(t)}let t=String(e).trim();if(t===``)return null;if(vi.test(t))return t;let n=Date.parse(t);return Number.isNaN(n)?null:Si(new Date(n))}function wi(e){if(yi(e))return null;let t=Number(e);return Number.isNaN(t)?null:t}function Ti(e,t,n){let r=n(e);return t===`blank`?r:!r}function Ei(e,t,n){if(ii(t.type))return Ti(e,t.type,yi);let r=t.filter??``,i=bi(e,n.caseSensitive),a=xi(r,n.caseSensitive);switch(t.type){case`contains`:return i.includes(a);case`notContains`:return!i.includes(a);case`equals`:return i===a;case`notEqual`:return i!==a;case`startsWith`:return i.startsWith(a);case`endsWith`:return i.endsWith(a);default:return!1}}function Di(e,t){if(ii(t.type))return Ti(e,t.type,e=>wi(e)===null);let n=wi(e),r=wi(t.filter);if(n===null||r===null)return!1;switch(t.type){case`equals`:return n===r;case`notEqual`:return n!==r;case`lessThan`:return n<r;case`lessThanOrEqual`:return n<=r;case`greaterThan`:return n>r;case`greaterThanOrEqual`:return n>=r;default:return Ei(e,t,{caseSensitive:!0})}}function Oi(e,t){if(ii(t.type))return Ti(e,t.type,yi);let n=Ci(e),r=t.filter?.trim()??``;if(r===``)return!1;switch(t.type){case`equals`:return n!==null&&n===r;case`notEqual`:return n===null||n!==r;case`lessThan`:return n!==null&&n<r;case`greaterThan`:return n!==null&&n>r;case`inRange`:{let e=t.filterTo?.trim()??``;return e===``||n===null?!1:n>=r&&n<=e}default:return!1}}function ki(e,t,n){if(t.length===0)return!1;let r=mi(e,n);return t.includes(r)}function Ai(e,t,n,r){switch(n){case`number`:return Di(e,t);case`date`:return Oi(e,t);default:return Ei(e,t,r)}}function ji(e,t,n,r){let i=Zr(t),a=Xr(t).filter(Yr);if(a.length===0)return!0;let o=a.map(t=>Ai(e,t,n,r));return i===`OR`?o.some(Boolean):o.every(Boolean)}function Mi(e,t,n,r){let i=$r(t),a=ei(t);return!(i&&!ji(e,t,n,r)||a&&!ki(e,Qr(t)??[],n))}var Ni=`mg-column-handle-menu`,Pi=`mg-column-handle-menu-portal`,Fi=`mg-column-handle-menu__section`,Ii=`mg-column-handle-menu__item`,Li=`mg-column-handle-menu__item-content`,Ri=`mg-column-handle-menu__item-label`,zi=`mg-column-handle-menu__item--submenu-trigger`,Bi=`mg-column-handle-menu__submenu`,Vi=`mg-column-handle-menu__submenu-panel`,Hi=`mg-column-handle-menu__divider`,Ui=`mg-column-handle-menu__filter-panel`,Wi=`mg-column-handle-menu__section--sort`,Gi=`mg-column-handle-menu__section--pin`,Ki=`mg-column-handle-menu__section--filter`,qi=`mg-column-handle-menu__section--visibility`;function Ji(e){return!t.it(e)&&!t.X(e)}function Yi(e,t=`full`){return Ji(e.colId)?t===`filter-only`?{sort:!1,pin:!1,filter:e.filterable,visibility:!1}:{sort:e.sortable,pin:!0,filter:e.filterable,visibility:!0}:{sort:!1,pin:!1,filter:!1,visibility:!1}}function Xi(e){return e.sort||e.pin||e.filter||e.visibility}function Zi(e){return e.length===0?[]:[e[0]]}function Qi(e={}){return Zi(e.defaultSort??[])}function $i(e={}){return{defaultSort:Qi(e),sortable:e.sortable??!1,enableHeaderSortClick:e.enableHeaderSortClick??!0,showUnsortedSortHintOnHover:e.showUnsortedSortHintOnHover??!1}}function ea(e,n,r){return t.it(r)||t.X(r)?!1:e??n}var ta=`mg-column-dragging`,na=`mg-column-dragging--drop-forbidden`,ra=5,ia=50;function aa(e={}){return{columnMovable:e.columnMovable??!0,suppressMoveWhenColumnDragging:e.suppressMoveWhenColumnDragging??!1,suppressColumnMoveAnimation:e.suppressColumnMoveAnimation??!1,allowCrossLaneColumnMove:e.allowCrossLaneColumnMove??!1}}function oa(e,t){return e!==!1&&t}var sa=`current`,ca=`tree`;function la(e={}){return{filterable:e.filterable??!1,filterSetValueMode:e.filterSetValueMode??`current`,filterSetDateLayoutMode:e.filterSetDateLayoutMode??`tree`}}function ua(e,n,r){return t.it(r)||t.X(r)||A(r)||R(r)?!1:e??n}var da=Symbol.for(`magic-grid.vueCellRenderer`);function fa(e){return Object.defineProperty(e,da,{value:!0,configurable:!0}),e}function pa(e){return e?Reflect.get(e,da)===!0:!1}function ma(e,t,n){return!t||e===`never`?!1:e===`always`||n===`vue`||n!==`sync`&&pa(t)}function ha(e,t,n,r){return e!==`immediate`&&ma(t,n,r)}var ga=[`immediate`,`deferred`,`placeholder-then-vue`];function _a(e){return e&&ga.includes(e)?e:`deferred`}function va(e={}){return{scrollEndFlushMs:Math.max(0,e.scrollEndFlushMs??0),frameBudgetMs:Math.max(1,e.frameBudgetMs??60),scrollEndFrameBudgetMs:e.scrollEndFrameBudgetMs??-1,cellRendererDefer:e.cellRendererDefer??`always`,deferRowDestroyOnScroll:e.deferRowDestroyOnScroll??!1,rendererFrameBudgetMs:Math.max(0,e.rendererFrameBudgetMs??20),cellRendererPresentation:_a(e.cellRendererPresentation)}}var ya=`mg-cell__row-drag-handle`,ba=`mg-cell--row-dragging`,xa=`mg-row-drop-indicator`,Sa=`mg-row-drag-ghost`,Ca=`mg-row-dragging--drop-forbidden`,wa=`magic-grid--row-drag-committing`;function Ta(e={}){return{rowDragManaged:e.rowDragManaged??!0}}function Ea(e,n){return t.it(n)||t.X(n)?!1:e??!1}function Da(e,t){return Ea(e.rowDrag,t)}var Oa=`row move is not allowed while sort or filter is active`;function ka(e,t){return t&&e}function Aa(e,t,n){return e?!ka(t,n):!1}function ja(e,t,n,r,i=!0,a){let o={rowId:e,fromIndex:t,toIndex:n,source:r,finished:i};return a?.displayIndex!==void 0&&(o.displayIndex=a.displayIndex),a?.parentRowId!==void 0&&(o.parentRowId=a.parentRowId),a?.siblingIndex!==void 0&&(o.siblingIndex=a.siblingIndex),a?.treeLevel!==void 0&&(o.treeLevel=a.treeLevel),o}function Ma(e,t,n,r,i){return{rowId:e,rowIds:r&&r.length>1?[...r]:void 0,displayIndex:t,finished:n,...i?{parentRowId:i.parentRowId,siblingIndex:i.siblingIndex,treeLevel:i.treeLevel}:{}}}function Na(e){return{rowId:e.leaderRowId,rowIds:[...e.rowIds],leaderRowId:e.leaderRowId,displayIndex:e.displayIndex,parentRowId:e.treeDrop?.parentRowId,siblingIndex:e.treeDrop?.siblingIndex,treeLevel:e.treeDrop?.treeLevel}}function Pa(e){return{commitId:e.commitId,rowId:e.leaderRowId,leaderRowId:e.leaderRowId,committed:e.committed,aborted:e.aborted,reason:e.reason}}function Fa(e,t,n){let r=e.hierarchyChanges?[...e.hierarchyChanges]:[],i=r.find(t=>t.rowId===e.leaderRowId),a=e.treeDrop?.parentRowId,o=a===void 0?i?.parentRowId:a===null?null:String(a);return{signal:n.signal,commitId:n.commitId,rowIds:[...e.rowIds],leaderRowId:e.leaderRowId,moves:[...e.moves],hierarchyChanges:r,displayIndex:e.displayIndex,parentRowId:o,siblingIndex:e.treeDrop?.siblingIndex??i?.siblingIndex,treeLevel:e.treeDrop?.treeLevel??i?.treeLevel,nestUnderRowId:t??void 0}}var Ia=`mg-cell__row-resize-handle`,La=`mg-cell--row-resizing`,Ra=`mg-cell--auto-height`;function za(e={},t){let n=e.rowHeightMin??t,r=e.rowHeightMax??null;return{getRowHeight:e.getRowHeight,rowHeightMin:Math.max(1,n),rowHeightMax:r==null?null:Math.max(n,r)}}function Ba(e,n){return t.it(n)||t.X(n)?!1:e??!1}function Va(e,t){return Ba(e.autoHeight,t)}function Ha(e,t,n){let r=Math.max(t,e);return n==null?r:Math.min(n,r)}function Ua(e,t,n){return{rows:e.map(e=>({...e})),finished:t,source:n}}var Wa=`mg-cell--row-span`,Ga=`mg-cell--row-span-ends-table`,Ka=`mg-row--span-top`,qa=`mg-row--pinned-span-covered`;function Ja(e={}){return{enableCellSpan:e.enableCellSpan??!1}}function Ya(e){return e}function Xa(e){return e.fixed===`left`||e.fixed===`right`}function Za(e){return z(e)}function Qa(e){return!Number.isFinite(e)||e<1?1:Math.floor(e)}function $a(e,n){if(!(t.it(n)||t.X(n)))return e}function eo(e,n){if(!(t.it(n)||t.X(n)))return e}function to(e,n){if(!(t.it(n)||t.X(n)))return e}function no(e,t){return $a(e.colSpan,t)}function ro(e,t){return eo(e.rowSpan,t)}function io(e,t){return to(e.spanRows,t)}function ao(e,t){return e?`rowSpan`:t===!0||typeof t==`function`?`spanRows`:`none`}function oo(e){return e===!0||typeof e==`function`}var so=`__MG_LOAD_MORE__`,co=Qn(Wn),lo=`mg-full-width-row--load-more`,uo=`mg-full-width-row__load-more-anchor`;function fo(e={}){return{loadMore:e.loadMore?.trim()||`加载更多`,loading:e.loading?.trim()||`加载中...`,exhausted:e.exhausted?.trim()||`没有更多`}}function po(e={},t=Wn){let n=e.loadMoreRowHeight??Qn(t);return{enabled:e.loadMoreRowEnabled===!0,height:Number.isFinite(n)&&n>0?Math.floor(n):co,loading:e.loadMoreRowLoading===!0,hasMore:e.loadMoreRowHasMore!==!1,labels:fo(e.loadMoreRowLabels),loadMoreRowRenderer:e.loadMoreRowRenderer}}function mo(e){return e===so}function ho(e){return e.rowKind===`LOAD_MORE`||mo(e.id)}var go=[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`}]],_o=[[`path`,{d:`M20 6 9 17l-5-5`}]],vo=[[`path`,{d:`m7 6 5 5 5-5`}],[`path`,{d:`m7 13 5 5 5-5`}]];function yo(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);n.setAttribute(`class`,e),n.setAttribute(`viewBox`,`0 0 24 24`),n.setAttribute(`fill`,`none`),n.setAttribute(`stroke`,`currentColor`),n.setAttribute(`stroke-width`,`2`),n.setAttribute(`stroke-linecap`,`round`),n.setAttribute(`stroke-linejoin`,`round`),n.setAttribute(`aria-hidden`,`true`);for(let[e,r]of t){let t=document.createElementNS(`http://www.w3.org/2000/svg`,e);for(let[e,n]of Object.entries(r))t.setAttribute(e,String(n));n.appendChild(t)}return n}function bo(){return yo(`mg-load-more-row__icon-svg mg-load-more-row__icon-svg--loader-circle`,go)}function xo(){return yo(`mg-load-more-row__icon-svg mg-load-more-row__icon-svg--check`,_o)}function So(){return yo(`mg-load-more-row__icon-svg mg-load-more-row__icon-svg--chevrons-down`,vo)}function Co(e,t,n=!1){let r=document.createElement(`span`);r.className=n?`mg-load-more-row__icon mg-load-more-row__icon--spin`:`mg-load-more-row__icon`,r.setAttribute(`aria-hidden`,`true`),r.append(t),e.append(r)}function wo(e){let t=document.createElement(`button`);t.type=`button`,t.className=`mg-load-more-row__button`;let n=document.createElement(`span`);return n.className=`mg-load-more-row__label`,e.loading?(t.disabled=!0,Co(t,bo(),!0),n.textContent=e.labels.loading):e.hasMore?(t.disabled=!1,Co(t,So()),n.textContent=e.labels.loadMore):(t.disabled=!1,Co(t,xo()),n.textContent=e.labels.exhausted),t.append(n),t.addEventListener(`click`,()=>{e.loading||e.onLoadMore()}),t}function To(){return(e,t)=>{t.clear(),t.mountEl.append(wo(e))}}function Eo(e,t,n,r={}){let i=()=>{r.onUnmountRenderer?.(e),e.replaceChildren();let i={mountEl:e,clear:()=>{r.onUnmountRenderer?.(e),e.replaceChildren()}},a=(n??To())(t,i);if(typeof a==`string`){i.clear(),e.textContent=a;return}a instanceof HTMLElement&&(i.clear(),e.appendChild(a))},a=r.rowIndex??0;if(r.frameService){r.frameService.createTask(i,a,`p2`);return}i()}var Do=`mg-cell--has-comment`,Oo=`mg-cell--comment-empty`,ko=`mg-cell-comment-popup`,Ao=`mg-cell-comment-popup--readonly`,jo=`mg-cell-comment-popup--committing`,Mo=`mg-cell-comment-context-menu`,No=`mg-cell-comment-context-menu--committing`;function Po(e={}){return{cellCommentsDataSource:e.cellCommentsDataSource,suppressCellComments:e.suppressCellComments??!1,cellCommentTrigger:e.cellCommentTrigger??`click`,cellCommentShowDelay:e.cellCommentShowDelay??180,cellCommentHideDelay:e.cellCommentHideDelay??220}}function Fo(e){return e!=null&&typeof e.getComment==`function`&&typeof e.setComment==`function`}function Io(e){return t.it(e)||t.X(e)||A(e)||B(e)||R(e)}function Lo(e,t,n){return!(t!==`BUSINESS`||n!=null&&String(n)===`__mg_summary__`||Io(e))}function Ro(e,t){return e==null?!1:typeof e==`function`?e(t):e}function zo(e){let t={canView:!1,canCreate:!1,canEdit:!1,canDelete:!1};if(!Lo(e.colId,e.rowKind,e.rowId))return t;let n=Ro(e.columnSuppress,{data:e.data,rowId:e.rowId,colId:e.colId});return e.gridSuppress===!0||n?{canView:e.hasExistingComment,canCreate:!1,canEdit:!1,canDelete:!1}:{canView:!0,canCreate:!e.hasExistingComment,canEdit:e.hasExistingComment,canDelete:e.hasExistingComment}}function Bo(e,t){return t?.readOnly?{canView:e.canView,canCreate:!1,canEdit:!1,canDelete:!1}:e}function Vo(e){return typeof e?.text==`string`&&e.text.length>0}function Ho(e,t,n,r){return{rowId:e,colId:t,comment:n,source:r}}function Uo(e,t){return`${e}::${t}`}function Wo(e,t){e&&(t||console.warn(`[magic-grid] cellCommentsDataSource requires rowKey for stable (rowId, colId) keys; cell comment interactions are disabled.`))}var Go=`copy`,Ko=`mg-cell--range-selected`,qo=`mg-cell--range-anchor`,Jo=`mg-cell-range-border`,Yo=`mg-cell-range-border--edge-top`,Xo=`mg-cell-range-border--edge-right`,Zo=`mg-cell-range-border--edge-bottom`,Qo=`mg-cell-range-border--edge-left`,$o=`mg-cell-range-border--fill-h`,es=`mg-cell-range-border--fill-v`,ts=`mg-cell-range-overlay`,ns=`mg-cell--range-copy-flash`,rs=`mg-cell-range-overlay--copy-flash`,is=`mg-cell--range-paste-flash`,as=`mg-cell--range-paste-blocked-flash`,os=`mg-cell-range-paste-overlay`,ss=`mg-cell-range-paste-overlay--applied`,cs=`mg-cell-range-paste-overlay--blocked`,ls=`mg-cell-range-paste-flash-layer`,us=`mg-fill-handle`,ds=`mg-range-handle`,fs=`mg-header-cell--range-highlight`,ps=`mg-cell--index-range-highlight`;function ms(e){return t.it(e)||t.X(e)||A(e)||B(e)||R(e)}function hs(e){return ms(e)}function gs(e){let t=P(e);return t===`BUSINESS`||t===`GROUP_HEADER`||t===`GROUP_FOOTER`}function _s(e){return P(e)===`BUSINESS`}function vs(e,n){return t.it(e)||t.X(e)||A(e)?!1:gs(n)}function ys(e,t){return!hs(e)&&_s(t)}function bs(e={}){let t=e.handleMode??`off`;return t===`off`?null:t===`range`?{mode:`range`}:{mode:`fill`,direction:e.direction??`xy`,fillStrategy:e.fillStrategy??`copy`,fillReverseStrategy:e.fillReverseStrategy??`default`,setFillValue:e.setFillValue}}function xs(e){return!e.enabled||!e.handle?null:e.handle.mode}function Ss(e){return xs(e)===`fill`}function Cs(e){return xs(e)===`range`}function ws(e={}){return{enableHeaderHighlight:e.enableHeaderHighlight??!0,enableIndexColumnHighlight:e.enableIndexColumnHighlight??!0}}function Ts(e={}){let t=e.cellSelection;if(t===!1||t==null)return{enabled:!1,suppressMultiRanges:!0,enableColumnSelection:!1,enableCellCopy:!1,enableCellPaste:!1,handle:null};let n=t===!0?{}:t,r=e.enableCellCopy??!0,i=e.enableCellPaste??!1;return{enabled:!0,suppressMultiRanges:n.suppressMultiRanges??!0,enableColumnSelection:n.enableColumnSelection??!1,enableCellCopy:r,enableCellPaste:i,handle:bs(n)}}function Es(e,t){return{startRowIndex:Math.min(e.rowIndex,t.rowIndex),endRowIndex:Math.max(e.rowIndex,t.rowIndex),startColId:e.colId,endColId:t.colId}}function Ds(e){return e.serviceRanges.length>0?[...e.serviceRanges]:!e.enableHeaderHighlight&&!e.enableIndexColumnHighlight?[]:e.editingRanges&&e.editingRanges.length>0?[...e.editingRanges]:!e.focus||!e.focusEligible?[]:[Es(e.focus,e.focus)]}function G(e,t){let n=Math.min(e.startRowIndex,e.endRowIndex),r=Math.max(e.startRowIndex,e.endRowIndex),i=t.indexOf(e.startColId),a=t.indexOf(e.endColId);if(i<0||a<0)return null;let o=Math.min(i,a),s=Math.max(i,a);return{top:n,bottom:r,leftColId:t[o],rightColId:t[s]}}function Os(e){return{startRowIndex:e.top,endRowIndex:e.bottom,startColId:e.leftColId,endColId:e.rightColId}}function ks(e,t,n,r){if(e<n.top||e>n.bottom)return!1;let i=r.indexOf(t);if(i<0)return!1;let a=r.indexOf(n.leftColId),o=r.indexOf(n.rightColId);return a<0||o<0?!1:i>=a&&i<=o}function As(e,t){return e.startRowIndex===t.startRowIndex&&e.endRowIndex===t.endRowIndex&&e.startColId===t.startColId&&e.endColId===t.endColId}function js(e,t){let n=Math.min(e.startRowIndex,e.endRowIndex),r=Math.max(e.startRowIndex,e.endRowIndex);return[{rowIndex:n,colId:e.startColId},{rowIndex:n,colId:e.endColId},{rowIndex:r,colId:e.startColId},{rowIndex:r,colId:e.endColId}].every(e=>vs(e.colId,t(e.rowIndex)))}function Ms(e,t,n){if(ms(e)||t<=0)return null;let r=-1,i=-1;for(let a=0;a<t;a++)vs(e,n(a))&&(r<0&&(r=a),i=a);return r<0||i<0?null:{startRowIndex:r,endRowIndex:i,startColId:e,endColId:e}}function Ns(e,t,n){let r=null,i=null;for(let a of e)vs(a,t(n))&&(r??=a,i=a);return r==null||i==null?null:{startColId:r,endColId:i}}function Ps(e){if(e.length===0)return[];let t=[...e].sort((e,t)=>e-t),n=[],r=t[0],i=t[0];for(let e=1;e<t.length;e++){let a=t[e];if(a===i+1){i=a;continue}n.push({top:r,bottom:i}),r=a,i=a}return n.push({top:r,bottom:i}),n}function Fs(e){let{focusedRowIndices:t,displayedColIds:n,rowKindAt:r,suppressMultiRanges:i,currentRowIndex:a}=e,o=[...t].filter(e=>gs(r(e))).sort((e,t)=>e-t);if(o.length===0)return[];let s=Ns(n,r,o[0]);if(!s)return[];if(i){if(o.length===1||o.every((e,t)=>t===0||e===o[t-1]+1))return[{startRowIndex:o[0],endRowIndex:o[o.length-1],startColId:s.startColId,endColId:s.endColId}];let e=a??o[o.length-1];return gs(r(e))?[{startRowIndex:e,endRowIndex:e,startColId:s.startColId,endColId:s.endColId}]:[]}return Ps(o).map(({top:e,bottom:t})=>({startRowIndex:e,endRowIndex:t,startColId:s.startColId,endColId:s.endColId}))}function Is(e){let t=new Set(e.rangeRowIndices);for(let n of e.indexFocusedRowIds){let r=e.rowIndexById(n);r>=0&&t.add(r)}for(let n of e.selectedRowIds){let r=e.rowIndexById(n);r>=0&&t.add(r)}return t}function Ls(e,t){console.warn(`[magic-grid] addCellRange: ignored invalid range (${t}).`,e)}function Rs(e){return t.it(e)||t.X(e)||A(e)||B(e)||R(e)}function zs(e,t){return!Rs(e)&&t.hidden===!0}function Bs(e){return!e.hidden}function Vs(e){return e.filter(e=>Bs(e))}function Hs(e){return Vs(e).length}function Us(e){let t=[];for(let n of e)!n.hidden||Rs(n.colId)||t.push({colId:n.colId,label:n.label??n.prop??n.colId});return t}var Ws=`mg-column-settings`,Gs=`mg-column-settings__header`,Ks=`mg-column-settings__body`,qs=`mg-column-settings-button`,Js=`mg-column-settings-portal`,Ys=`mg-column-settings-popover`,Xs=`mg-column-settings-menu`,Zs=`mg-column-settings-menu__item`,Qs=`mg-column-settings-menu__item-icon`,$s=`mg-column-settings-menu__item-label`,ec=`mg-column-settings-menu__divider`,tc=`mg-column-settings-menu__submenu`,nc=`mg-column-settings-menu__submenu-panel`,rc=`mg-column-settings-menu__item--submenu-trigger`,ic=`mg-column-settings__clear-filters`,ac=`mg-column-settings__group`,oc=`mg-column-settings__group-heading`,sc=`mg-column-settings__row`,cc=`mg-column-settings__row--filtered`,lc=`mg-column-settings__hidden-section`;function uc(e){return!Rs(e)}function dc(e){return e===`left`?`left`:e===`right`?`right`:`center`}function fc(e){return e.label??e.prop??e.colId}function pc(e){let t=new Map,n={left:0,center:0,right:0};for(let r of e){if(r.hidden||!uc(r.colId))continue;let e=dc(r.fixed);t.set(r.colId,n[e]),n[e]++}return t}function mc(e){let t=e.sortModel[0],n=t?.colId,r=t?.sort??null,i=e.includeHidden??!0,a=e.columns.filter(e=>!(!uc(e.colId)||!i&&e.hidden)),o=pc(a);return a.map(t=>{let i=dc(t.fixed),a=t.hidden?-1:o.get(t.colId)??-1;return{colId:t.colId,label:fc(t),movable:t.movable,sortable:t.sortable,filterable:t.filterable,fixed:t.fixed??null,hidden:t.hidden,sortDirection:t.colId===n?r:null,filterActive:e.isColumnFilterActive(t.colId),displayIndex:a,lane:i}})}function hc(e){let t=e.filter(e=>!e.hidden),n=e.filter(e=>e.hidden);return{left:t.filter(e=>e.lane===`left`),center:t.filter(e=>e.lane===`center`),right:t.filter(e=>e.lane===`right`),hidden:n}}var gc=`.mg-cell__text:not([hidden])`,_c=`.mg-cell__renderer:not([hidden])`,vc=`.mg-header-cell__text`,yc=`.mg-footer-cell__text:not([hidden])`,bc=[`.mg-status-bar__panel`,`[data-mg-tooltip-anchor]`].join(`, `),xc=[gc,_c,vc,yc].join(`, `),Sc=`mg-tooltip`;function Cc(e){return t.it(e)||t.X(e)||A(e)||B(e)||R(e)}function wc(e,t){return Cc(e)?!0:t.suppressTooltip===!0}function Tc(e={}){let t=e.enableTooltips??!0;return{enableTooltips:t,tooltipShowMode:e.tooltipShowMode??(t?`whenTruncated`:`never`),tooltipShowDelay:e.tooltipShowDelay??500,tooltipSwitchShowDelay:e.tooltipSwitchShowDelay??200,tooltipHideDelay:e.tooltipHideDelay??3e3,tooltipInteraction:e.tooltipInteraction??!1,tooltipMouseTrack:e.tooltipMouseTrack??!1,tooltipComponent:e.tooltipComponent,tooltipComponentParams:e.tooltipComponentParams}}function Ec(e){return e.scrollWidth-e.clientWidth>1||e.scrollHeight-e.clientHeight>1}function Dc(e){try{return e.matches(_c)}catch{return!1}}function Oc(e){if(e.children.length!==1)return e;let t=e.children[0];if(!(t instanceof HTMLElement))return e;let n=t;for(;n.childElementCount===1;){let e=n.firstElementChild;if(!(e instanceof HTMLElement)||!e.textContent?.trim())break;n=e}return n}function kc(e,t){if(!e||typeof document>`u`)return 0;if(typeof getComputedStyle==`function`){let n=getComputedStyle(t),r=document.createElement(`canvas`).getContext(`2d`);if(r){r.font=(n.font||`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} ${n.fontFamily}`).trim()||`12px sans-serif`;let t=Number.parseFloat(n.paddingLeft)||0,i=Number.parseFloat(n.paddingRight)||0,a=r.measureText(e).width+t+i;if(a>0)return a}}let n=document.createElement(`span`);if(n.textContent=e,n.style.cssText=`position:fixed;left:-9999px;top:0;visibility:hidden;white-space:nowrap;pointer-events:none;max-width:none;width:max-content;`,typeof getComputedStyle==`function`){let e=getComputedStyle(t);n.style.font=e.font,n.style.letterSpacing=e.letterSpacing,n.style.textTransform=e.textTransform}document.body.appendChild(n);let r=Math.max(n.getBoundingClientRect().width,n.offsetWidth,n.scrollWidth);return document.body.removeChild(n),r}function Ac(e,t,n){let r=kc(t,Oc(e));return r<=0?null:r>n+1}function jc(e,t){let n=e.clientWidth;if(n<=0)return!1;let r=Mc(e),i=t?.trim(),a=e.textContent?.trim()??``;if(i&&a&&i!==a)return Ac(e,a,n)??r;if(i){let t=Ac(e,i,n);if(t!=null)return t}return r}function Mc(e){let t=e.clientWidth;if(t<=0)return!1;if(e.children.length===0)return e.scrollWidth-t>1;if(e.children.length===1){let n=e.children[0];if(!(n instanceof HTMLElement)||n.hidden)return!1;if(n.scrollWidth-t>1||Ec(n))return!0;if(n.clientWidth>=t-1){for(let e of n.children)if(!(!(e instanceof HTMLElement)||e.hidden||!e.textContent?.trim())&&Ec(e))return!0}return!1}if(Ec(e))return!0;for(let t of e.children)if(!(!(t instanceof HTMLElement)||t.hidden)&&t.textContent?.trim()&&Ec(t))return!0;return!1}function Nc(e){return!e.enableTooltips||e.mode===`never`||!e.text?!1:e.mode===`always`?!0:e.isAutoHeight?!1:Dc(e.anchorEl)?jc(e.anchorEl,e.text):Ec(e.anchorEl)}var Pc=`加载中…`,Fc=`暂无数据`,Ic=`没有匹配的行`,Lc=`mg-overlay`,Rc=`mg-overlay__wrapper`,zc=`mg-overlay--masked`,Bc=`mg-overlay__content`,Vc=`mg-overlay__panel--loading`,Hc=`mg-overlay__panel--no-rows`,Uc=`mg-overlay__panel--no-matching-rows`,Wc=`mg-overlay__spinner`;function Gc(e){switch(e){case`loading`:return Pc;case`noRows`:return Fc;case`noMatchingRows`:return Ic;default:return e}}function Kc(e={}){let t=new Set(e.suppressOverlays??[]);return e.suppressLoadingOverlay&&t.add(`loading`),e.suppressNoRowsOverlay&&t.add(`noRows`),e.suppressNoMatchingRowsOverlay&&t.add(`noMatchingRows`),t}function qc(e={}){return{loading:e.loading,suppressOverlays:Kc(e),overlayLoadingTemplate:e.overlayLoadingTemplate,overlayNoRowsTemplate:e.overlayNoRowsTemplate,overlayNoMatchingRowsTemplate:e.overlayNoMatchingRowsTemplate,loadingOverlayComponent:e.loadingOverlayComponent,loadingOverlayComponentParams:e.loadingOverlayComponentParams,noRowsOverlayComponent:e.noRowsOverlayComponent,noRowsOverlayComponentParams:e.noRowsOverlayComponentParams,noMatchingRowsOverlayComponent:e.noMatchingRowsOverlayComponent,noMatchingRowsOverlayComponentParams:e.noMatchingRowsOverlayComponentParams,overlayComponent:e.overlayComponent,overlayComponentParams:e.overlayComponentParams,overlayInteraction:e.overlayInteraction??!1}}function Jc(e,t){return t.has(e)}function Yc(e){let{rows:t,filterModel:n,getCellValue:r,columnContext:i,quickFilterText:a,quickFilterColIds:o=[]}=e,s=Object.entries(n).filter(([,e])=>ai(e)),c=Br(a),l=Mr(t),u=!l&&Ur(t);if(l)return s.length===0&&!c?Rr(t):Xc(t,s,c,{getCellValue:r,context:i??$c,quickFilterText:a??``,quickFilterColIds:o});if(u)return s.length===0&&!c?qr(t):Zc(t,s,c,{getCellValue:r,context:i??$c,quickFilterText:a??``,quickFilterColIds:o});if(s.length===0&&!c)return[...t];let d=i??$c;return t.filter(e=>Qc(e,s,r,d,c,{quickFilterText:a??``,quickFilterColIds:o}))}function Xc(e,t,n,r){let i=[];for(let a of e){if(a.group){let e=Xc(a.childrenAfterGroup??[],t,n,r);if(e.length===0)continue;a.childrenAfterFilter=e,a.groupLeafCount=Ar(e),i.push(a);continue}Qc(a,t,r.getCellValue,r.context,n,{quickFilterText:r.quickFilterText,quickFilterColIds:r.quickFilterColIds})&&i.push(a)}return i}function Zc(e,t,n,r){let i=[];for(let a of e){let e=Zc(a.childrenAfterTree??[],t,n,r);!Qc(a,t,r.getCellValue,r.context,n,{quickFilterText:r.quickFilterText,quickFilterColIds:r.quickFilterColIds})&&e.length===0||(a.childrenAfterFilter=e,i.push(a))}return i}function Qc(e,t,n,r,i,a){return el(e,t,n,r)&&(!i||Hr({row:e,quickFilterText:a.quickFilterText,filterableColIds:a.quickFilterColIds,getCellValue:n,getFilterValue:(e,t,n)=>r.getFilterValue(e,t,n)}))}var $c={getFilterType:()=>`text`,getFilterParams:()=>({caseSensitive:!0}),getFilterValue:(e,t,n)=>n(e,t)};function el(e,t,n,r){for(let[i,a]of t){let t=r.getFilterValue(e,i,n);if(_r(a)){if(!a.predicate(t,e.data))return!1;continue}if(!Mi(t,a,r.getFilterType(i),r.getFilterParams(i)))return!1}return!0}var tl=`合计`;function nl(e){return typeof e==`number`&&Number.isFinite(e)}function rl(e,t){let n=[];for(let r of e){let e=W(r,t);nl(e)&&n.push(e)}return n}function il(e,t,n){if(e===`count`)return t.length;let r=rl(t,n);if(r.length===0)return null;switch(e){case`sum`:return r.reduce((e,t)=>e+t,0);case`avg`:return r.reduce((e,t)=>e+t,0)/r.length;case`min`:return Math.min(...r);case`max`:return Math.max(...r);default:return null}}function al(e,t,n){return typeof e==`function`?e(t,n):il(e,t,n)}function ol(e){return e.summary===!1?!1:e.summaryAgg!=null||e.summary===!0}function sl(e,t){return t==null?``:e.summaryFormatter?e.summaryFormatter(t):e.formatter?e.formatter({},t):String(t)}function cl(e,t){return{value:t,formattedValue:sl(e,t)}}function ll(e,t,n){if(!n)return null;try{let r=n({columns:e,data:t.map(e=>e.data),rows:t}),i=new Map;for(let[e,t]of Object.entries(r))t!==void 0&&i.set(e,t);return i}catch(e){return console.warn(`[magic-grid] summaryMethod failed:`,e),new Map}}function ul(e){return e.find(e=>!t.it(e.colId)&&!t.X(e.colId))}function dl(e){let{columns:n,rows:r,summaryMethod:i}=e,a=new Map,o=ll(n,r,i);for(let e of n){if(t.it(e.colId)||t.X(e.colId)){a.set(e.colId,cl(e,null));continue}let n=o?.get(e.colId);if(o?.has(e.colId)){a.set(e.colId,cl(e,n??null));continue}if(ol(e)&&e.summaryAgg!=null){let t=al(e.summaryAgg,r,e);a.set(e.colId,cl(e,t))}}let s=ul(n);return s&&!a.has(s.colId)&&a.set(s.colId,cl(s,tl)),a}function fl(e){return Mr(e.rows)&&pl(e.rows,e.columns),[...e.rows]}function pl(e,t){for(let n of e){if(!n.group)continue;let e=Fr(n);pl(e,t),n.__groupAggValues=ml(t,Lr(e))}}function ml(e,n){let r={};for(let i of e){if(!i.groupAgg||t.it(i.colId)||t.X(i.colId)||A(i.colId)||R(i.colId))continue;let e=al(i.groupAgg,n,i);r[i.colId]={value:e,formattedValue:sl(i,e)}}return r}function hl(e,t={}){let n=e.groupId??e.id,r=t.rowHeight??ar;return{id:Fe(n),data:{},rowTop:0,rowHeight:r,estimated:!1,rowIndex:-1,sourceIndex:-1,rowKind:`GROUP_HEADER`,sourceGroupId:n,groupField:e.groupField,groupKey:e.groupKey,groupLevel:e.groupLevel,groupLeafCount:e.groupLeafCount,groupId:n,groupPathKey:e.groupPathKey}}function gl(e,t={}){let n=e.groupId??e.id,r=t.rowHeight??ar;return{id:Ie(n),data:{},rowTop:0,rowHeight:r,estimated:!1,rowIndex:-1,sourceIndex:-1,rowKind:`GROUP_FOOTER`,sourceGroupId:n,groupField:e.groupField,groupKey:e.groupKey,groupLevel:e.groupLevel,groupLeafCount:e.groupLeafCount,groupId:n,groupPathKey:e.groupPathKey,__groupAggValues:_l(e.__groupAggValues)}}function _l(e){if(e)return{...e}}function vl(e,t){return Mr(e)?bl(e,{expandedGroupIds:t?.expandedGroupIds??new Set,showGroupHeader:t?.showGroupHeader??!1,showGroupFooter:t?.showGroupFooter??!1,defaultRowHeight:t?.defaultRowHeight}):Ur(e)?yl(e,{expandedRowIds:t?.expandedRowIds??new Set}):[...e]}function yl(e,t){let n=[];function r(e){for(let i of e)n.push(i),t.expandedRowIds.has(i.id)&&r(Gr(i))}return r(e),n}function bl(e,t){let n=[];for(let r of e){if(!r.group){n.push(r);continue}let e=r.groupId??r.id,i=!t.showGroupHeader||t.expandedGroupIds.has(e);t.showGroupHeader&&n.push(hl(r,{rowHeight:t.defaultRowHeight})),i&&(n.push(...bl(Fr(r),t)),t.showGroupFooter&&n.push(gl(r,{rowHeight:t.defaultRowHeight})))}return n}function xl(e,t,n){let{colId:r,sort:i}=e;return n?(e,a)=>{let o=n(t(e,r),t(a,r),i,e.data,a.data);return o===0?e.id.localeCompare(a.id):i===`desc`?-o:o}:(e,n)=>{let a=Sl(t(e,r),t(n,r),i);return a===0?e.id.localeCompare(n.id):a}}function Sl(e,t,n){let r=0;return r=e==null&&t==null?0:e==null?-1:t==null?1:typeof e==`number`&&typeof t==`number`?e-t:String(e).localeCompare(String(t)),n===`desc`?-r:r}function Cl(e,t,n,r){if(t.length<4)return[...r??e].sort(n);let i=new Set(t.map(e=>e.id));return wl(e.filter(e=>!i.has(e.id)),[...t].sort(n),n)}function wl(e,t,n){let r=[],i=0,a=0;for(;i<e.length&&a<t.length;)n(e[i],t[a])<=0?(r.push(e[i]),i++):(r.push(t[a]),a++);for(;i<e.length;)r.push(e[i]),i++;for(;a<t.length;)r.push(t[a]),a++;return r}function Tl(e){let t=e.rows??e.sourceRows;if(Mr(t))return El({rows:t,sortModel:e.sortModel,getCellValue:e.getCellValue,getColumnComparator:e.getColumnComparator,groupComparator:e.groupComparator,groupSortKey:e.groupSortKey});if(Ur(t))return Al({rows:t,sortModel:e.sortModel,getCellValue:e.getCellValue,getColumnComparator:e.getColumnComparator});let{sourceRows:n,currentDisplayRows:r,sortModel:i,touchedRowIds:a,getCellValue:o,getColumnComparator:s}=e;if(i.length===0)return[...t];let c=i[0],l=xl(c,o,s?.(c.colId));if(a&&a.size>0){let e=n.filter(e=>a.has(e.id));if(e.length>0&&r.length>0)return Cl(r,e,l,n)}return[...t].sort(l)}function El(e){let t=Dl(e.rows,e);return zr(t),t}function Dl(e,t){if(e.length===0)return[];if(e[0]?.group){let n=Cr(t.groupComparator);return e.map(e=>Ol(e,t)).sort((e,t)=>{let r=e.groupLevel??t.groupLevel??0,i=e.groupField??t.groupField??``;return n(e.groupKey??``,t.groupKey??``,{colId:i,field:i,level:r})})}return kl(e,t)}function Ol(e,t){return e.childrenAfterSort=Dl(e.childrenAfterFilter??e.childrenAfterGroup??[],t),e}function kl(e,t){if(t.sortModel.length===0)return t.groupSortKey?br(e,t.groupSortKey):[...e];let n=t.sortModel[0],r=xl(n,t.getCellValue,t.getColumnComparator?.(n.colId));return[...e].sort(r)}function Al(e){return jl(e.rows,e)}function jl(e,t){let n=kl(e,t);for(let e of n){let n=Wr(e);e.childrenAfterSort=n.length>0?jl(n,t):[]}return n}var Ml=`\0`;function Nl(e){return e.join(Ml)}var Pl=class extends Error{constructor(e){super(e),this.name=`TreeBuildError`}};function Fl(e){let{sourceRows:t,getDataPath:n}=e,r=new Map,i=t.map((e,t)=>({node:e,path:n({data:e.data}),sourceIndex:t})).sort((e,t)=>e.path.length===t.path.length?e.sourceIndex-t.sourceIndex:e.path.length-t.path.length);for(let{path:e}of i)if(!Array.isArray(e)||e.length===0)throw new Pl(`[TreeBuildStage] getDataPath must return a non-empty string[]`);for(let{node:e,path:t}of i){let n=Nl(t);if(r.has(n))throw new Pl(`[TreeBuildStage] duplicate dataPath: ${t.join(`/`)}`);e.dataPath=[...t],e.treeLevel=t.length-1,e.treeLeaf=!0,e.childrenAfterTree=[],r.set(n,e)}let a=[];for(let{node:e,path:t}of i){if(t.length===1){e.parentRowId=void 0,a.push(e);continue}let n=t.slice(0,-1),i=r.get(Nl(n));if(!i)throw new Pl(`[TreeBuildStage] missing parent path: ${n.join(`/`)}`);e.parentRowId=i.id,i.treeLeaf=!1,i.childrenAfterTree.push(e)}return{roots:a,nodeByPath:r}}function Il(e){function t(e){for(let n of e){let e=n.childrenAfterTree??[];e.length===0?n.treeLeaf=!0:(n.treeLeaf=!1,t(e))}}t(e)}function Ll(e){let{sourceRows:t,getDataPath:n}=e;if(t.length===0)return[];let{roots:r}=Fl({sourceRows:t,getDataPath:n});return Il(r),r}var Rl=[...hr];function zl(e,t){return e.length===1&&e[0]===`map`&&t!=null&&t.groupedTreeRoots!=null&&t.groupedTreeRoots.length>0&&Mr(t.groupedTreeRoots)}function Bl(e,t){return e.length===1&&e[0]===`map`&&t!=null&&t.treeTreeRoots!=null&&t.treeTreeRoots.length>0&&Ur(t.treeTreeRoots)}function Vl(e,t){if(t)return t.getMapStageOptions?.()??t.mapStageOptions;if(e)return e.getMapStageOptions?.()??e.mapStageOptions}function Hl(e){let t=e.stages??Rl,n=e.grouping,r=e.tree,i=[...e.sourceRows];if(zl(t,n)&&n?.groupedTreeRoots)i=vl(n.groupedTreeRoots,Vl(n,void 0));else if(Bl(t,r)&&r?.treeTreeRoots)i=vl(r.treeTreeRoots,Vl(void 0,r));else for(let a of t)switch(a){case`tree`:i=r?.getDataPath?Ll({sourceRows:e.sourceRows,getDataPath:r.getDataPath}):[...e.sourceRows];break;case`group`:i=n&&n.rowGroupColumns.length>0?wr({sourceRows:e.sourceRows,rowGroupColumns:n.rowGroupColumns,getCellValue:e.getCellValue,groupKeyCreator:n.groupKeyCreator,groupComparator:n.groupComparator,groupSortKey:n.groupSortKey,getColumnField:n.getColumnField}):[...e.sourceRows];break;case`filter`:i=Yc({rows:i,filterModel:e.filterModel,getCellValue:e.getCellValue,columnContext:e.filterColumnContext,quickFilterText:e.quickFilterText,quickFilterColIds:e.getQuickFilterColIds?.()??[]}),r&&Ur(i)&&Br(e.quickFilterText)&&r.applyQuickFilterExpand&&r.applyQuickFilterExpand(i);break;case`sort`:i=Tl({sourceRows:e.sourceRows,rows:i,currentDisplayRows:e.currentDisplayRows,sortModel:e.sortModel,touchedRowIds:e.touchedRowIds,getCellValue:e.getCellValue,getColumnComparator:e.getColumnComparator,groupComparator:n?.groupComparator,groupSortKey:n?.groupSortKey});break;case`aggregate`:n&&Mr(i)&&(i=fl({rows:i,columns:n.columns}));break;case`map`:n?.prepareGroupedTree&&Mr(i)&&n.prepareGroupedTree(i),r?.prepareTreeTree&&Ur(i)&&r.prepareTreeTree(i),i=vl(i,Vl(n,r))}return e.afterMap&&(i=e.afterMap(i)),e.positionRowsOptions?dr(i,e.positionRowsOptions):dr(i,e.rowHeight),i}function Ul(e){return[...gr(e)]}var Wl=class{refreshing=!1;pendingRun=null;refresh(e){if(this.refreshing){this.pendingRun=e;return}this.refreshing=!0;try{let t=e;for(;t;){let e=t;t=null,e(),t=this.pendingRun,this.pendingRun=null}}finally{this.refreshing=!1}}reset(){this.refreshing=!1,this.pendingRun=null}};function Gl(e,t){for(let n of e)n.group&&(t(n),Gl(Ir(n),t))}function Kl(e){let t=[];return Gl(e,e=>{e.groupId&&t.push(e.groupId)}),t}function ql(e,t){let n;return Gl(e,e=>{e.groupId===t&&(n=e)}),n}function Jl(e,t){return t===0?!1:t===-1||e<t}var Yl=class extends Error{constructor(e){super(e),this.name=`RowModelError`}};function Xl(e,n){let{rowKey:r,rowHeight:i=ar,allowTransient:a=!1}=n;if(!r)throw new Yl(`rowKey is required`);let o=new Set,s=[];for(let n=0;n<e.length;n++){let c=e[n],l=c[r];if(t.A(l)){if(!a)throw new Yl(`Missing rowKey "${r}" at index ${n}`);let e=t.k();if(o.has(e))throw new Yl(`Duplicate transient row id "${e}" at index ${n}`);o.add(e),s.push({id:e,data:c,isTransient:!0,rowTop:0,rowHeight:i,estimated:!1,rowIndex:s.length,sourceIndex:s.length});continue}let u=String(l);o.has(u)||(o.add(u),s.push({id:u,data:c,isTransient:!1,rowTop:0,rowHeight:i,estimated:!1,rowIndex:s.length,sourceIndex:s.length}))}return vr(s),s}function Zl(e,t,n){if(t.length===0)return[...e];let r=n??e.length,i=Math.max(0,Math.min(r,e.length));return[...e.slice(0,i),...t,...e.slice(i)]}function Ql(e,t){return Math.max(0,Math.min(e,t))}function $l(e,t){if(typeof e==`string`)return e;let n=e[t];if(n==null)throw new Yl(`Missing rowKey "${t}" in remove item`);return String(n)}function eu(e,t){if(typeof e!=`object`||!e||!(`data`in e))return!1;let n=e;return n[t]!==void 0&&n[t]!==null&&n[t]!==``?!1:typeof e.data==`object`&&e.data!==null}function tu(e,t){return eu(e,t)?e.data:e}function nu(e,t){if(eu(e,t))return e.index}function ru(e){return typeof e!=`object`||!e||!(`data`in e)||!(`rowId`in e)?!1:typeof e.rowId==`string`}function iu(e,t,n){let r=n.rowKey,i=n.rowHeight??ar,a=new Map(e.map(e=>[e.id,e])),o={add:[],remove:[],update:[]},s=new Set;if(t.remove?.length)for(let e of t.remove){let t=$l(e,r),n=a.get(t);n&&(o.remove.push(n),a.delete(t),s.add(t))}if(t.update?.length)for(let e of t.update){let t,n;if(ru(e))n=a.get(e.rowId),t=e.data;else{t=e;let i=t[r];if(i==null){if(n=[...a.values()].find(e=>e.data===t&&e.isTransient),!n)throw new Yl(`Missing rowKey "${r}" in update item`)}else n=a.get(String(i))}n&&(n.data!==t&&Object.assign(n.data,t),o.update.push(n),s.add(n.id))}let c=new Set(o.remove.map(e=>e.id)),l=e.filter(e=>!c.has(e.id));if(t.add?.length)for(let e of t.add){let t=tu(e,r),n=nu(e,r),[c]=Xl([t],{rowKey:r,rowHeight:i,allowTransient:!0});if(c){if(a.has(c.id))throw new Yl(`Duplicate rowKey on add: "${c.id}"`);a.set(c.id,c),o.add.push(c),s.add(c.id),l=Zl(l,[c],n)}}return{sourceRows:l,transaction:o,touchedRowIds:[...s]}}function au(e,t){if(t<0||t>=e.length)return null;let n=e[t];return{rowTop:n.rowTop,rowHeight:n.rowHeight}}function ou(e,t){let n=e.length;if(n===0||t<=0)return 0;let r=0,i=n-1;for(;r<=i;){let n=r+i>>1,a=e[n],o=a.rowTop+a.rowHeight;if(t<a.rowTop)i=n-1;else if(t>=o)r=n+1;else return n}return n-1}function su(e,t){return t.rowGroupColumns.length===0||e.length===0?[...e]:jr(wr({sourceRows:e,...t}))}function cu(e,t,n){return!t||!n||n.rowGroupColumns.length===0?[...e]:su(e,n)}var lu=class{sourceRows=[];displayRows=[];baseDisplayRows=[];sortModel=[];filterModel={};quickFilterText=``;touchedRowIds=null;rowKey;defaultRowHeight;getCellValue;getColumnComparator;filterColumnContext;getQuickFilterColIds;refreshScheduler=new Wl;positionGetRowHeight;rowExpansionService=null;loadMoreRowService=null;rowGroupingDeps=null;treeTableDeps=null;groupedTreeRoots=[];treeTreeRoots=[];constructor(e){this.rowKey=e.rowKey,this.defaultRowHeight=e.rowHeight??ar,this.getCellValue=e.getCellValue??uu,this.getColumnComparator=e.getColumnComparator,this.filterColumnContext=e.filterColumnContext,this.getQuickFilterColIds=e.getQuickFilterColIds,this.quickFilterText=e.quickFilterText??``}get rowsToDisplay(){return this.displayRows}getBaseDisplayRows(){return this.baseDisplayRows}setRowExpansionService(e){this.rowExpansionService=e}getRowExpansionService(){return this.rowExpansionService}setLoadMoreRowService(e){this.loadMoreRowService=e}setRowGroupingDeps(e){this.rowGroupingDeps=e,e?.active()||(this.groupedTreeRoots=[])}setTreeTableDeps(e){this.treeTableDeps=e,e?.active()||(this.treeTreeRoots=[])}getTreeTreeRoots(){return this.treeTreeRoots}getGroupedTreeRoots(){return this.groupedTreeRoots}setPositionGetRowHeight(e){this.positionGetRowHeight=e}resolvePositionRowsOptions(){return{defaultRowHeight:this.defaultRowHeight,getRowHeight:this.positionGetRowHeight}}setData(e){this.sourceRows=Xl(e,{rowKey:this.rowKey,rowHeight:this.defaultRowHeight,allowTransient:!0}),this.touchedRowIds=null,this.rowExpansionService?.clearExpanded(),this.rowGroupingDeps?.clearExpanded(),this.treeTableDeps?.clearExpanded(),this.groupedTreeRoots=[],this.treeTreeRoots=[],this.refreshModel({applyDefaultExpanded:!0})}setSortModel(e){this.sortModel=[...e],this.touchedRowIds=null,this.refreshModel()}setFilterModel(e){this.filterModel={...e},this.refreshModel()}getSortModel(){return[...this.sortModel]}getFilterModel(){return{...this.filterModel}}getQuickFilterText(){return this.quickFilterText}setQuickFilterText(e){this.quickFilterText!==e&&(this.quickFilterText=e,this.refreshModel())}markTouchedRowIds(e){this.touchedRowIds=new Set(e)}applyTransaction(e){let{sourceRows:t,transaction:n,touchedRowIds:r}=iu(this.sourceRows,e,{rowKey:this.rowKey,rowHeight:this.defaultRowHeight});return this.sourceRows=t,vr(this.sourceRows),this.markTouchedRowIds(r),this.maybeSyncGroupSortKeyOnSourceRows(),this.refreshModel(),n}rebuildDisplayProjection(){if(this.treeTableDeps?.active()){this.rebuildTreeMapProjection();return}if(this.rowGroupingDeps?.active()){this.rebuildGroupedMapProjection();return}this.displayRows=this.buildProjectedDisplayRows(!1),dr(this.displayRows,this.resolvePositionRowsOptions())}rebuildTreeMapProjection(){if(this.treeTableDeps?.active()){if(this.treeTreeRoots.length===0||!Ur(this.treeTreeRoots)){this.refreshModel();return}this.refreshModel({stages:[`map`]})}}rebuildGroupedMapProjection(){if(this.rowGroupingDeps?.active()){if(this.groupedTreeRoots.length===0||!this.groupedTreeRoots.some(e=>e.group)){this.refreshModel();return}this.refreshModel({stages:[`map`]})}}getRowById(e){return this.sourceRows.find(t=>t.id===e)}resolveRowById(e){return this.getRowById(e)??this.getDisplayRowById(e)}getDisplayRowById(e){return this.displayRows.find(t=>t.id===e)}setDefaultRowHeight(e){this.defaultRowHeight=Math.max(1,e)}repositionDisplayRows(e){dr(this.displayRows,{defaultRowHeight:this.defaultRowHeight,getRowHeight:e?.getRowHeight??this.positionGetRowHeight})}getRowIndexById(e){return this.displayRows.findIndex(t=>t.id===e)}refreshModel(e={}){let t=typeof e==`boolean`?{applyDefaultExpanded:e}:e,n=t.applyDefaultExpanded??!1,r=this.rowGroupingDeps?.active()??!1,i=this.treeTableDeps?.active()??!1,a=i?`tree`:r?`group`:`flat`,o=t.stages??Ul(a);(o.length!==1||o[0]!==`map`)&&this.normalizeGroupedSourceRowsIfNeeded(),this.refreshScheduler.refresh(()=>{let e=this.rowGroupingDeps,t=this.treeTableDeps,s=n;this.displayRows=Hl({sourceRows:this.sourceRows,currentDisplayRows:this.displayRows,sortModel:this.sortModel,filterModel:this.filterModel,touchedRowIds:this.touchedRowIds??void 0,getCellValue:this.getCellValue,getColumnComparator:this.getColumnComparator,filterColumnContext:this.filterColumnContext,quickFilterText:this.quickFilterText,getQuickFilterColIds:this.getQuickFilterColIds,rowHeight:this.defaultRowHeight,positionRowsOptions:this.resolvePositionRowsOptions(),stages:o,hierarchyMode:a,grouping:r&&e?{rowGroupColumns:e.getRowGroupColumns(),groupKeyCreator:e.getGroupKeyCreator(),groupComparator:e.getGroupComparator(),groupSortKey:e.getGroupSortKey(),getColumnField:e.getColumnField,columns:e.getColumns(),getMapStageOptions:()=>({...e.getMapStageOptions(),defaultRowHeight:this.defaultRowHeight}),groupedTreeRoots:this.groupedTreeRoots,prepareGroupedTree:t=>{this.groupedTreeRoots=[...t],e.pruneExpanded(new Set(Kl(t))),s&&=(e.applyDefaultExpanded(t),!1)}}:void 0,tree:i&&t?{getDataPath:t.getDataPath(),getMapStageOptions:()=>({...t.getMapStageOptions(),defaultRowHeight:this.defaultRowHeight}),treeTreeRoots:this.treeTreeRoots,prepareTreeTree:e=>{this.treeTreeRoots=[...e],t.prepareTreeTree(e),s&&=(t.applyDefaultExpanded(e),!1)},applyQuickFilterExpand:e=>{t.expandForQuickFilterDisplay(e)}}:void 0,afterMap:e=>this.buildProjectedDisplayRows(n,e)}),this.touchedRowIds=null})}buildProjectedDisplayRows(e,t=this.baseDisplayRows){this.baseDisplayRows=t;let n;return this.rowExpansionService?.active?(e&&this.rowExpansionService.applyDefaultExpanded(t),this.rowExpansionService.pruneExpanded(new Set(this.sourceRows.map(e=>e.id))),n=this.rowExpansionService.injectDetailRows(t)):n=t.slice(),this.loadMoreRowService?.injectTrailingRow(n)??n}getRow(e){return this.displayRows[e]}getRowCount(){return this.displayRows.length}getSourceRowCount(){return this.sourceRows.length}getSourceRows(){return this.sourceRows}getSourceRowIndexById(e){return this.sourceRows.findIndex(t=>t.id===e)}setSourceRows(e){this.sourceRows=e,vr(this.sourceRows),this.maybeSyncGroupSortKeyOnSourceRows(),this.touchedRowIds=null,this.refreshModel()}maybeSyncGroupSortKeyOnSourceRows(){let e=this.rowGroupingDeps;if(!e?.active())return;let t=e.getGroupSortKey();t&&xr(this.sourceRows,t)}normalizeGroupedSourceRowsIfNeeded(){let e=this.rowGroupingDeps;if(!e?.active())return;let t=e.getRowGroupColumns();t.length!==0&&(this.sourceRows=cu(this.sourceRows,!0,{rowGroupColumns:t,getCellValue:this.getCellValue,groupKeyCreator:e.getGroupKeyCreator(),groupComparator:e.getGroupComparator(),groupSortKey:e.getGroupSortKey(),getColumnField:e.getColumnField}),vr(this.sourceRows),this.maybeSyncGroupSortKeyOnSourceRows())}getRowKey(){return this.rowKey}promoteRowId(e,n){let r=this.getRowById(e);if(!r)return{ok:!1,reason:`Row "${e}" not found`};if(!r.isTransient)return{ok:!1,reason:`Row "${e}" is not transient`};if(t.A(n))return{ok:!1,reason:`businessId is required`};let i=String(n);return this.sourceRows.some(e=>e!==r&&e.id===i)?{ok:!1,reason:`Duplicate row id "${i}"`}:(r.data[this.rowKey]=n,r.id=i,r.isTransient=!1,this.markTouchedRowIds([i]),this.refreshModel(),{ok:!0,rowId:i})}getRowIndexAtPixel(e){return ou(this.displayRows,e)}getRowBounds(e){return au(this.displayRows,e)}getTotalHeight(){return fr(this.displayRows)}ensureRowHeightsValid(e,t){return!1}};function uu(e,t){return e.data[t]}var du=`__MG_INF_STUB__::`;function fu(e){return`${du}${e}`}function pu(e){return e.startsWith(du)}function mu(e){let t=e.rowHeight??ar,n=e.index;return{id:fu(n),data:{},rowTop:n*t,rowHeight:t,estimated:!1,rowIndex:n,sourceIndex:n,__infiniteBlockState:e.blockState??`idle`}}function hu(e,n,r){let i=n[e];return t.A(i)?r?.isTransient?{id:r.id,isTransient:!0}:{id:t.k(),isTransient:!0}:{id:String(i),isTransient:!1}}function gu(e){let{index:t,rowHeight:n,rowKey:r,data:i}=e,{id:a,isTransient:o}=hu(r,i);return{id:a,data:i,isTransient:o,rowTop:t*n,rowHeight:n,estimated:!1,rowIndex:t,sourceIndex:t,__infiniteBlockState:e.blockState??`loaded`}}function _u(e){let{index:t,rowHeight:n,rowKey:r,data:i,existing:a}=e,{id:o,isTransient:s}=hu(r,i,a);return a&&a.id===o?(a.data=i,a.isTransient=s,a.rowTop=t*n,a.rowHeight=n,a.rowIndex=t,a.sourceIndex=t,a.__infiniteBlockState=e.blockState??`loaded`,a):gu(e)}var vu=class{displayRows=[];virtualRowCount=0;knownLastRow=null;rowKey;defaultRowHeight;sortModel=[];filterModel={};quickFilterText=``;constructor(e){this.rowKey=e.rowKey,this.defaultRowHeight=e.rowHeight??ar,this.setVirtualRowCount(e.initialRowCount??0,{preserveLoaded:!1})}get rowsToDisplay(){return this.displayRows}getRow(e){return this.displayRows[e]}getRowCount(){return this.virtualRowCount}getRowIndexAtPixel(e){if(this.virtualRowCount===0)return 0;let t=Math.floor(Math.max(0,e)/this.defaultRowHeight);return Math.min(t,this.virtualRowCount-1)}getRowBounds(e){let t=this.displayRows[e];return t?{rowTop:t.rowTop,rowHeight:t.rowHeight}:null}getTotalHeight(){return this.virtualRowCount*this.defaultRowHeight}ensureRowHeightsValid(e,t){return!1}getKnownLastRow(){return this.knownLastRow}getVirtualRowCount(){return this.virtualRowCount}setVirtualRowCount(e,t){let n=Math.max(0,Math.floor(e)),r=t?.preserveLoaded??!0;if(n===this.virtualRowCount&&this.displayRows.length===n)return;let i=this.displayRows;this.virtualRowCount=n,this.displayRows=Array(n);for(let e=0;e<n;e++){let t=r?i[e]:void 0;t&&t.__infiniteBlockState===`loaded`?(t.rowIndex=e,t.sourceIndex=e,t.rowTop=e*this.defaultRowHeight,this.displayRows[e]=t):this.displayRows[e]=mu({index:e,rowHeight:this.defaultRowHeight,blockState:`idle`})}}updateLastRow(e,t,n){if(e!==void 0){this.knownLastRow=Math.max(0,Math.floor(e)),this.setVirtualRowCount(this.knownLastRow,{preserveLoaded:!0});return}this.knownLastRow=null,n>=this.virtualRowCount&&this.setVirtualRowCount(n+t,{preserveLoaded:!0})}applyBlock(e,t){let n=[],r=[],i=this.defaultRowHeight;for(let a=0;a<t.length;a++){let o=e+a;if(o>=this.virtualRowCount)break;let s=this.displayRows[o];s&&pu(s.id)&&r.push(s.id);let c=_u({existing:s,index:o,rowHeight:i,rowKey:this.rowKey,data:t[a],blockState:`loaded`});this.displayRows[o]=c,n.push(c.id)}return{rowIds:n,replacedStubIds:r,virtualRowCount:this.virtualRowCount}}markBlockRange(e,t,n){for(let r=e;r<t&&r<this.virtualRowCount;r++){let e=this.displayRows[r];e&&(n!==`loaded`||e.__infiniteBlockState!==`loaded`)&&(n===`idle`||n===`loading`||n===`failed`?this.displayRows[r]=mu({index:r,rowHeight:this.defaultRowHeight,blockState:n}):e.__infiniteBlockState=n)}}evictBlockRange(e,t){this.markBlockRange(e,t,`idle`)}resetForPurge(e){this.knownLastRow=null,this.setVirtualRowCount(e,{preserveLoaded:!1})}getRowKey(){return this.rowKey}resolveRowById(e){return this.displayRows.find(t=>t.id===e)}getRowById(e){return this.resolveRowById(e)}getRowIndexById(e){return this.displayRows.findIndex(t=>t.id===e)}getBaseDisplayRows(){return this.displayRows}getSourceRows(){return this.displayRows.filter(e=>e.__infiniteBlockState===`loaded`)}getSourceRowCount(){return this.getSourceRows().length}getLoadedRowData(){return this.getSourceRows().map(e=>({...e.data}))}getSortModel(){return[...this.sortModel]}setSortModel(e){this.sortModel=[...e]}getFilterModel(){return{...this.filterModel}}setFilterModel(e){this.filterModel={...e}}getQuickFilterText(){return this.quickFilterText}setQuickFilterText(e){this.quickFilterText=e}setDefaultRowHeight(e){this.defaultRowHeight=Math.max(1,e);for(let e=0;e<this.displayRows.length;e++){let t=this.displayRows[e];t.rowTop=e*this.defaultRowHeight,t.rowHeight=this.defaultRowHeight}}getGroupedTreeRoots(){return[]}getTreeTreeRoots(){return[]}setRowExpansionService(e){}setLoadMoreRowService(e){}setRowGroupingDeps(e){}setTreeTableDeps(e){}setPositionGetRowHeight(e){}repositionDisplayRows(e){}};function yu(e){return e instanceof lu}function K(e){return e instanceof vu}function bu(e){let n=t.R(e);return t.L({rowModelType:n.rowModelType,infiniteDatasource:e.infiniteDatasource,rowGrouping:{rowGroupColumns:Array(e.rowGroupingColumnCount??0)},treeTable:{getDataPath:e.hasTreeTable?()=>[]:void 0},masterDetail:{detailCellRenderer:e.hasMasterDetail?()=>null:void 0},rowDragManaged:e.rowDragManaged,treeLazyLoad:e.hasTreeLazyLoad},n),n.rowModelType===`infinite`?{rowModel:new vu({rowKey:e.rowKey,rowHeight:e.rowHeight,initialRowCount:n.infiniteInitialRowCount}),resolvedInfinite:n}:{rowModel:new lu({rowKey:e.rowKey,rowHeight:e.rowHeight,getCellValue:e.getCellValue,getColumnComparator:e.getColumnComparator,filterColumnContext:e.filterColumnContext,quickFilterText:e.quickFilterText,getQuickFilterColIds:e.getQuickFilterColIds}),resolvedInfinite:n}}function q(e,t){if(K(e))throw Error(`[MagicGrid] ${t}() is not supported when rowModelType is "infinite"`)}var xu=!1;function Su(){xu||(xu=!0,console.warn(`[MagicGrid] getData() in infinite mode returns loaded blocks only; use getLoadedRowData() instead.`))}var Cu=e=>{if(e===void 0)return`null`;if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(e=>Cu(e)).join(`,`)}]`;let t=e;return`{${Object.keys(t).sort().map(e=>`${JSON.stringify(e)}:${Cu(t[e])}`).join(`,`)}}`},wu=(e,n)=>{let r=e[n];return t.A(r)?``:String(r)},Tu=(e,n)=>{if(e.isTransient)return``;let r=e.data[n];return t.A(r)?``:String(r)},Eu=(e,t)=>{for(let n of Object.keys(e))if(Cu(e[n])!==Cu(t[n]))return!1;return!0},Du=(e,n,r)=>{if(e.length!==n.length)return!1;if(e.length===0)return!0;let i=t.M(n,r);for(let t=0;t<e.length;t++){let a=e[t],o=i[t],s=n[t];if(wu(a,r)!==Tu(s,r)||!Eu(a,o))return!1}return!0};function Ou(e,t){let n={internalRowId:t.internalRowId,columnCellEditorCache:t.columnCellEditorCache};return{getCellCache:r=>e.get(t.rowId,t.colId,r,n),setCellCache:(r,i)=>e.set(t.rowId,t.colId,r,i,n),clearCellCache:r=>{if(r===void 0){e.clearCell(t.rowId,t.colId,t.internalRowId);return}e.clear(t.rowId,t.colId,r,n)}}}function ku(e,n){let{enableCellEditorCache:r,rowNode:i,column:a,rowKey:o}=n;if(t.l({enableCellEditorCache:r,colId:a.colId,cellEditorMode:a.cellEditorMode,cellEditor:a.cellEditor,columnCellEditorCache:a.cellEditorCache}))return Ou(e,{rowId:t.T(i,o),colId:a.colId,internalRowId:i.isTransient?i.id:void 0,columnCellEditorCache:a.cellEditorCache})}var Au=class{store=new Map;bucketKeys=new Map;bucketAccessOrder=[];maxEntries;constructor(e={}){this.maxEntries=e.maxEntries}get(e,n,r,i){let a=t.c({userKey:r,columnCellEditorCache:i?.columnCellEditorCache}),o=t.a(e,n,a,{internalRowId:i?.internalRowId});if(this.store.has(o))return this.touchBucket(e,n,i?.internalRowId),this.store.get(o)}set(e,n,r,i,a){let o=t.c({userKey:i,columnCellEditorCache:a?.columnCellEditorCache}),s=t.a(e,n,o,{internalRowId:a?.internalRowId}),c=t.r(e,n,{internalRowId:a?.internalRowId});this.bucketKeys.has(c)||this.bucketKeys.set(c,new Set),this.bucketKeys.get(c).add(s),this.store.set(s,r),this.touchBucket(e,n,a?.internalRowId),this.evictIfNeeded()}clear(e,n,r,i){if(e==null&&n==null&&r==null){this.clearAll();return}if(e!=null&&n==null){let n=t.i(e,i?.internalRowId);for(let e of[...this.bucketKeys.keys()])e.startsWith(`${n}::`)&&this.clearCellByBucketKey(e);return}if(e==null||n==null)return;if(r==null){this.clearCell(e,n,i?.internalRowId);return}let a=t.c({userKey:r,columnCellEditorCache:i?.columnCellEditorCache}),o=t.a(e,n,a,{internalRowId:i?.internalRowId});this.deleteStorageKey(o)}clearCell(e,n,r){let i=t.r(e,n,{internalRowId:r}),a=this.bucketKeys.get(i);if(a){for(let e of[...a])this.store.delete(e);this.bucketKeys.delete(i),this.removeBucketFromAccessOrder(i)}}clearAll(){this.store.clear(),this.bucketKeys.clear(),this.bucketAccessOrder.length=0}removeByRowIds(e,n){let r=new Set;for(let n of e)r.add(t.i(n));for(let e of n?.internalRowIds??[])r.add(t.i(null,e));if(r.size!==0)for(let e of[...this.bucketKeys.keys()]){let t=e.slice(0,e.indexOf(`::`));r.has(t)&&this.clearCellByBucketKey(e)}}promoteRowId(e,n){let r=t.i(null,e),i=String(n),a=`${r}::`,o=[];for(let[e,t]of this.store)e.startsWith(a)&&o.push([e,t]);if(o.length!==0)for(let[e,r]of o){let o=e.slice(a.length),s=`${i}::${o}`,c=o.slice(0,o.indexOf(`::`));this.store.delete(e),this.removeStorageKeyFromBucket(e);let l=t.r(n,c);this.bucketKeys.has(l)||this.bucketKeys.set(l,new Set),this.bucketKeys.get(l).add(s),this.store.set(s,r),this.touchBucket(n,c)}}get size(){return this.store.size}get bucketCount(){return this.bucketKeys.size}deleteStorageKey(e){this.store.delete(e),this.removeStorageKeyFromBucket(e)}removeStorageKeyFromBucket(e){for(let[t,n]of this.bucketKeys)if(n.has(e)){n.delete(e),n.size===0&&(this.bucketKeys.delete(t),this.removeBucketFromAccessOrder(t));return}}clearCellByBucketKey(e){let t=this.bucketKeys.get(e);if(t){for(let e of t)this.store.delete(e);this.bucketKeys.delete(e),this.removeBucketFromAccessOrder(e)}}touchBucket(e,n,r){let i=t.r(e,n,{internalRowId:r});this.bucketKeys.has(i)&&(this.removeBucketFromAccessOrder(i),this.bucketAccessOrder.push(i))}removeBucketFromAccessOrder(e){let t=this.bucketAccessOrder.indexOf(e);t>=0&&this.bucketAccessOrder.splice(t,1)}evictIfNeeded(){if(this.maxEntries!=null)for(;this.bucketKeys.size>this.maxEntries&&this.bucketAccessOrder.length>0;){let e=this.bucketAccessOrder.shift();e&&this.clearCellByBucketKey(e)}}};function ju(e,n){let r=[],i=[];for(let a of e){if(t.j(a)){i.push(a);continue}let e=t.D(a,n);e===null?i.push(a):r.push(e)}return{businessRowIds:r,transientInternalRowIds:i}}function Mu(e={}){let t=`autoSizeStrategy`in e&&e.autoSizeStrategy!==void 0?e.autoSizeStrategy??null:null;return{skipHeaderOnAutoSize:e.skipHeaderOnAutoSize??!1,autoSizePadding:e.autoSizePadding??16,autoSizeStrategy:t}}function Nu(e,t,n){let r=new Set(n);return r.size<=1||!r.has(t)?[t]:e.filter(e=>r.has(e.id)).map(e=>e.id)}function Pu(e,t){if(t.length===0)return``;let n=new Set(t);for(let t of e)if(n.has(t.id))return t.id;return t[0]}function Fu(e,t,n,r){let i=t.indexOf(n);if(i<0)return Math.max(0,Math.min(r,e-1));let a=r-i,o=Math.max(0,e-t.length);return Math.max(0,Math.min(a,o))}function Iu(e,n){let r=t.m(e),i=n.resolveRowById(r);if(i)return i;for(let e of n.displayRows){if(e.isTransient)continue;let i=e.data[n.rowKey];if(i!=null&&t.m(i)===r)return e}}function Lu(e,t){let n=Iu(e,t);if(!n)return null;let r=t.displayRows.findIndex(e=>e.id===n.id);return r>=0?r:null}function Ru(e,t){return Hu(e,t.sourceRows,t.rowKey)}function zu(e,t,n){let r=Ru(e,t);if(r==null)return null;let i=t.sourceRows[r],a=i.leafGroupPathKey;if(!a)return null;let o=n.type===`display`&&n.hasSortOrFilter;return n.type===`display`&&Lu(e,t)==null?null:o?Vu(i.id,a,t):Bu(i.id,a,t)}function Bu(e,t,n){let r=0;for(let i of n.sourceRows)if(i.leafGroupPathKey===t){if(i.id===e)return r;r+=1}return null}function Vu(e,t,n){let r=0;for(let i of n.displayRows)if(z(i)&&n.sourceRows.find(e=>e.id===i.id)?.leafGroupPathKey===t){if(i.id===e)return r;r+=1}return null}function Hu(e,n,r){let i=t.m(e),a=n.findIndex(e=>e.id===i);if(a>=0)return a;for(let e=0;e<n.length;e+=1){let a=n[e];if(a.isTransient)continue;let o=a.data[r];if(o!=null&&t.m(o)===i)return e}return null}function Uu(e,n){let[r]=t.v([e.id],{rowKey:n.rowKey,getRowById:n.resolveRowById});return r}function Wu(e,t){let n=Iu(e,t);if(!n)return null;let r=t.displayRows.findIndex(e=>e.id===n.id);if(r<0)return null;let i=Uu(n,t);return i?{anchorSnapshot:i,startIndex:r}:null}function Gu(e,t,n){if(!e)return`continue`;let r=!1,i=`stop`;return e({currentRow:t,row:n,next:(e=!0)=>{r||(r=!0,i=e===!1?`stop`:`continue`)}}),i}function Ku(e,t,n,r){let i=n===`prev`?-1:1;for(let n=t.startIndex+i;n>=0&&n<e.displayRows.length;n+=i){let t=e.displayRows[n],i=Uu(t,e);if(i&&r(i)===!1)break}}function qu(e,t,n){let r=Wu(e,n);if(!r)return[];let i=t.length??1,a=t.includeStop??!1,o=[];return Ku(n,r,t.direction,e=>Gu(t.iterator,e,r.anchorSnapshot)===`continue`?(o.push(e),i>=0&&o.length>=i?!1:void 0):(a&&o.push(e),!1)),o}function Ju(e,t,n){let r=Wu(e,n);if(!r)return null;let i=null;return Ku(n,r,t.direction,e=>{if(Gu(t.iterator,e,r.anchorSnapshot)===`stop`)return i=e,!1}),i}function Yu(e,t){return!Number.isInteger(e)||e<0||e>=t.displayRows.length?null:Uu(t.displayRows[e],t)??null}function Xu(e,t){return Yu(e,t)}function Zu(e,t){let n=[];for(let r of e){let e=Yu(r,t);e&&n.push(e)}return n}function Qu(e,t){if(t==null)return Zu(e.displayRows.map((e,t)=>t),e);let n=[];for(let r=0;r<e.displayRows.length;r+=1){let i=Yu(r,e);i!=null&&t(i)&&n.push(i)}return n}function $u(e,n){return Qu(e,n).map(t.b)}function ed(e){return{sourceRows:e.sourceRows,displayRows:e.displayRows,hasSortOrFilter:e.sortModelLength>0||e.filterModelKeyCount>0}}function td(e,t,n){if(e===void 0)return;if(t===`source`||!n.hasSortOrFilter)return Ql(e,n.sourceRows.length);if(n.displayRows.length===0)return 0;let r=Ql(e,n.displayRows.length),i=n.displayRows[r];if(!i)return n.sourceRows.length;let a=n.sourceRows.findIndex(e=>e.id===i.id);return a<0?n.sourceRows.length:a}function nd(e,t,n){let r=t===`display`||n.hasSortOrFilter?n.displayRows:n.sourceRows,i=[];for(let t of e){if(r.length===0)continue;let e=r[Ql(t,r.length)];e&&i.push(e.id)}return i}function rd(e,t){return t<=0?0:Math.max(0,Math.min(e,t-1))}function id(e,t,n,r){if(t===`display`&&r)return null;if(t===`source`||!n.hasSortOrFilter)return rd(e,n.sourceRows.length);let i=rd(e,n.displayRows.length),a=n.displayRows[i];if(!a)return rd(n.sourceRows.length-1,n.sourceRows.length);let o=n.sourceRows.findIndex(e=>e.id===a.id);return o<0?rd(n.sourceRows.length-1,n.sourceRows.length):o}function ad(e,t){let n=null;for(let r of t){let t=e.find(e=>e.id===r);if(!t||He(t))return`missing`;let i=t.leafGroupPathKey??null;if(!i)return null;if(n==null){n=i;continue}if(n!==i)return`mixed`}return n}function od(e,t,n,r){let i=0,a=Math.max(0,Math.min(t,e.length));for(let t=0;t<a;t+=1){let a=e[t];z(a)&&a.leafGroupPathKey===n&&!r.has(a.id)&&(i+=1)}return i}function sd(e,t,n,r){let i=new Set(t),a=0,o=rd(n,e.length);for(let t=0;t<o;t+=1){let n=e[t];n.leafGroupPathKey===r&&!i.has(n.id)&&(a+=1)}if(t.length===1){let n=e.findIndex(e=>e.id===t[0]);n>=0&&n<o&&--a}return Math.max(0,a)}function cd(e){let{sourceRows:t,rowIds:n,groupPath:r,withinGroupInsertIndex:i}=e,a=new Set(n);if(ad(t,n)!==r)return null;let o=[],s=[];for(let e=0;e<t.length;e+=1){let n=t[e];n.leafGroupPathKey===r&&(o.push(e),s.push(n))}let c=s.filter(e=>a.has(e.id));if(c.length!==n.length)return null;let l=s.filter(e=>!a.has(e.id)),u=Math.max(0,Math.min(i,l.length)),d=[...l.slice(0,u),...c,...l.slice(u)];if(d.every((e,t)=>e.id===s[t].id))return null;let f=[...t];for(let e=0;e<o.length;e+=1)f[o[e]]=d[e];let p=[];for(let e of c){let n=t.findIndex(t=>t.id===e.id),r=f.findIndex(t=>t.id===e.id);n>=0&&r>=0&&n!==r&&p.push({rowId:e.id,fromIndex:n,toIndex:r})}return p.length===0?null:{rows:f,moves:p}}function ld(e){let{sourceRows:t,displayRows:n,rowIds:r,displayInsertIndex:i,groupPath:a}=e,o=new Set(r);return dd(n,e=>t.find(t=>t.id===e),r,i,a)?cd({sourceRows:t,rowIds:r,groupPath:a,withinGroupInsertIndex:od(n,i,a,o)}):null}function ud(e,t,n,r){let i=new Set(t),a=e.filter(e=>e.leafGroupPathKey===r).length,o=sd(e,t,n,r),s=a-i.size;return o>=0&&o<=s}function dd(e,t,n,r,i){let a=[];for(let n=0;n<e.length;n+=1){let r=e[n];z(r)&&(t(r.id)??r).leafGroupPathKey===i&&a.push(n)}if(a.length===0)return!1;let o=Math.min(...a),s=Math.max(...a)+1;return r>=o&&r<=s}function fd(e){if(!e.active)return{allowed:!0};let t=ad(e.sourceRows,e.rowIds);return t===null?{allowed:!0}:t===`missing`?{allowed:!1,reason:`cannot move non-leaf rows while row grouping is active`}:t===`mixed`?{allowed:!1,reason:`selected rows must belong to the same group`}:ud(e.sourceRows,e.rowIds,e.targetSourceIndex,t)?{allowed:!0}:{allowed:!1,reason:`cannot move rows across groups`}}function pd(e,t,n){return{rowId:e,fromIndex:t,toIndex:n}}function md(e,t,n){let r=J(e,t);if(!(!r&&n===void 0))return{...n===void 0?{}:{displayIndex:n},...r??{}}}function hd(e,t){let n=null;for(let r of t){let t=e.find(e=>e.id===r);if(!t||!V(t))return`missing`;let i=t.parentRowId??null;if(n==null){n=i;continue}if(n!==i)return`mixed`}return n}function gd(e,t,n,r){let i=0,a=Math.max(0,Math.min(t,e.length));for(let t=0;t<a;t+=1){let a=e[t];V(a)&&(a.parentRowId??null)===n&&!r.has(a.id)&&(i+=1)}return i}function J(e,t){let n=e.findIndex(e=>e.id===t);if(n<0)return null;let r=e[n];if(!V(r))return null;let i=r.parentRowId??null,a=0;for(let t=0;t<n;t+=1)(e[t].parentRowId??null)===i&&(a+=1);return{parentRowId:i,siblingIndex:a,treeLevel:r.treeLevel??Math.max(0,(r.dataPath?.length??1)-1)}}function _d(e,t,n,r){let i=new Set(t),a=0,o=rd(n,e.length);for(let t=0;t<o;t+=1){let n=e[t];V(n)&&(n.parentRowId??null)===r&&!i.has(n.id)&&(a+=1)}return a}function vd(e){if(!e.active)return{allowed:!0};let t=hd(e.sourceRows,e.rowIds);return t===`mixed`?{allowed:!1,reason:`selected rows must belong to the same tree parent`}:t===`missing`?{allowed:!1,reason:`cannot move non-tree rows while tree mode is active`}:t!=null&&!yd(e.sourceRows,e.rowIds,e.targetSourceIndex,t)?{allowed:!1,reason:`tree drag target must stay within the same parent siblings`}:{allowed:!0,parentRowId:t}}function yd(e,t,n,r){let i=new Set(t),a=e.filter(e=>V(e)&&(e.parentRowId??null)===r).length,o=_d(e,t,n,r),s=a-i.size;return o>=0&&o<=s}function bd(e,t,n,r,i){for(let e of n){let n=t(e);if(!n||!V(n)||(n.parentRowId??null)!==i)return!1}let a=[];for(let t=0;t<e.length;t+=1){let n=e[t];V(n)&&(n.parentRowId??null)===i&&a.push(t)}if(a.length===0)return!1;let o=Math.min(...a),s=Math.max(...a)+1,c=Math.max(0,Math.min(r,e.length));return c>=o&&c<=s}function xd(e){let t=new Set(e.rowIds),n=[],r=[];for(let t=0;t<e.sourceRows.length;t+=1){let i=e.sourceRows[t];!V(i)||(i.parentRowId??null)!==e.parentRowId||(n.push(t),r.push(i))}let i=e.rowIds.map(e=>r.find(t=>t.id===e)).filter(e=>e!=null);if(i.length!==e.rowIds.length)return null;let a=r.filter(e=>!t.has(e.id)),o=Math.max(0,Math.min(e.withinSiblingInsertIndex,a.length)),s=[...a.slice(0,o),...i,...a.slice(o)];if(s.every((e,t)=>e.id===r[t].id))return null;let c=[...e.sourceRows];for(let e=0;e<n.length;e+=1)c[n[e]]=s[e];let l=[];for(let t of i){let n=e.sourceRows.findIndex(e=>e.id===t.id),r=c.findIndex(e=>e.id===t.id);n>=0&&r>=0&&n!==r&&l.push(pd(t.id,n,r))}return l.length===0?null:{rows:c,moves:l}}function Sd(e){let t=new Set(e.rowIds);if(!bd(e.displayRows,t=>e.sourceRows.find(e=>e.id===t),e.rowIds,e.displayInsertIndex,e.parentRowId))return null;let n=gd(e.displayRows,e.displayInsertIndex,e.parentRowId,t);return xd({sourceRows:e.sourceRows,rowIds:e.rowIds,withinSiblingInsertIndex:n,parentRowId:e.parentRowId})}function Cd(e,t,n){return n===`up`?t>0?{indexMode:`source`,toIndex:t-1}:null:t<e.length-1?{indexMode:`source`,toIndex:t+1}:null}function wd(e,t,n,r){let i=[];for(let t=0;t<e.length;t+=1)r(e[t])&&i.push(t);let a=i.findIndex(n=>e[n].id===t);return a<0?null:n===`up`?a===0?null:{indexMode:`source`,toIndex:i[a-1]}:a===i.length-1?null:{indexMode:`source`,toIndex:i[a+1]}}function Td(e,t,n,r){let i=e.findIndex(e=>e.id===t);if(i<0)return null;let a=n===`up`?-1:1;for(let t=i+a;t>=0&&t<e.length;t+=a){let n=e[t];if(r(n))return{indexMode:`display`,toIndex:t}}return null}function Ed(e,t,n){let r=t.map(t=>e.findIndex(e=>e.id===t));if(r.some(e=>e<0))return null;let i=Math.min(...r),a=Math.max(...r);return n===`up`?i>0?{indexMode:`source`,toIndex:i-1}:null:a<e.length-1?{indexMode:`source`,toIndex:i+1}:null}function Dd(e,t,n){let r=[];for(let t=0;t<e.length;t+=1)n(e[t])&&r.push(t);let i=[];for(let n of t){let t=e.findIndex(e=>e.id===n);if(t<0)return null;let a=r.indexOf(t);if(a<0)return null;i.push(a)}return{siblingIndices:r,positions:i}}function Od(e,t,n,r){let i=Dd(e,t,r);if(!i)return null;let{siblingIndices:a,positions:o}=i,s=Math.min(...o),c=Math.max(...o);return n===`up`?s===0?null:{indexMode:`source`,toIndex:a[s-1]}:c===a.length-1?null:{indexMode:`source`,toIndex:a[c+1]}}function kd(e,t,n,r){let i=Dd(e,t,r);if(!i)return null;let{siblingIndices:a,positions:o}=i,s=Math.min(...o),c=Math.max(...o);return n===`up`?s===0?null:{indexMode:`display`,toIndex:a[s-1]}:c===a.length-1?null:{indexMode:`display`,toIndex:a[c+1]}}function Ad(e){let{sourceRows:t,displayRows:n,rowIds:r,direction:i,isRowGroupingActive:a,isTreeActive:o}=e;if(r.length===0)return null;if(r.length===1)return jd({sourceRows:t,displayRows:n,rowId:r[0],direction:i,isRowGroupingActive:a,isTreeActive:o});if(a){let e=ad(t,r);if(typeof e==`string`)return Od(t,r,i,t=>t.leafGroupPathKey===e);if(e===`missing`)return null}if(o){let e=hd(t,r);if(e===`mixed`||e===`missing`)return null;if(typeof e==`string`||e===null)return kd(n,r,i,t=>V(t)&&(t.parentRowId??null)===e)}return Ed(t,r,i)}function jd(e){let{sourceRows:t,displayRows:n,rowId:r,direction:i,isRowGroupingActive:a,isTreeActive:o}=e,s=t.findIndex(e=>e.id===r);if(s<0)return null;if(a){let e=ad(t,[r]);if(typeof e==`string`)return wd(t,r,i,t=>t.leafGroupPathKey===e);if(e===`missing`)return null}if(o){let e=hd(t,[r]);if(e===`mixed`||e===`missing`)return null;if(typeof e==`string`||e===null)return Td(n,r,i,t=>V(t)&&(t.parentRowId??null)===e)}return Cd(t,s,i)}function Md(e,t,n={}){let r=n.type??`source`;return n.group?zu(e,t,{type:r,hasSortOrFilter:t.hasSortOrFilter??!1}):r===`display`?Lu(e,t):Ru(e,t)}function Nd(e,t,n={}){let r={};for(let i of e)r[i]=Md(i,t,n);return r}function Pd(e){return Be(e)?`GROUP_HEADER`:Ve(e)?`GROUP_FOOTER`:L(e)?`DETAIL`:ho(e)?`LOAD_MORE`:P(e.rowKind)}function Fd(e,t){let n=Iu(e,t);return n?Pd(n):null}function Id(e){return typeof e==`function`}function Ld(e,n){let r=t.M(e,n);return e.map((e,i)=>{let a=e.data[n],o=e.isTransient||t.A(a)?null:a;return{data:r[i],internalRowId:e.id,businessRowId:o}})}function Rd(e,n,r){return{rows:t.M(e,n),rowKey:n,api:r,targets:Ld(e,n)}}function zd(e,t){return[...Id(e)?e(t):e]}var Bd=class{requestFrame;cancelFrame;now;frameBudgetMs;rendererFrameBudgetMs;scrollActive=!1;p1=[];p2=[];f1=[];destroyTasks=[];scrollGridIfNeeded=null;scrollGoingDown=!0;ticking=!1;rafId=null;createOrderSeed=0;constructor(e={}){this.requestFrame=e.requestFrame??(e=>requestAnimationFrame(e)),this.cancelFrame=e.cancelFrame??(e=>cancelAnimationFrame(e)),this.now=e.now??(()=>performance.now()),this.frameBudgetMs=Math.max(1,e.frameBudgetMs??60),this.rendererFrameBudgetMs=Math.max(0,e.rendererFrameBudgetMs??20)}setRendererFrameBudgetMs(e){this.rendererFrameBudgetMs=Math.max(0,e)}getRendererFrameBudgetMs(){return this.rendererFrameBudgetMs}setScrollActive(e){this.scrollActive=e}isScrollActive(){return this.scrollActive}setFrameBudgetMs(e){this.frameBudgetMs=Math.max(1,e)}getFrameBudgetMs(){return this.frameBudgetMs}setScrollGridIfNeeded(e){this.scrollGridIfNeeded=e}setScrollDirection(e){this.scrollGoingDown=e}schedule(){this.ticking||(this.ticking=!0,this.rafId=this.requestFrame(()=>{this.ticking=!1,this.rafId=null,this.executeFrame(this.frameBudgetMs)}))}createTask(e,t,n){this.getTaskList(n).push({task:e,index:t,createOrder:this.createOrderSeed++,deferred:!1}),this.schedule()}addDestroyTask(e){this.destroyTasks.push(e),this.schedule()}flushAllFrames(e){this.rafId!=null&&(this.cancelFrame(this.rafId),this.rafId=null,this.ticking=!1);let t=e??-1,n=!0;for(;n||this.hasPendingWork();)n=!1,this.executeFrame(t)}destroy(){this.rafId!=null&&(this.cancelFrame(this.rafId),this.rafId=null),this.ticking=!1,this.p1=[],this.p2=[],this.f1=[],this.destroyTasks=[]}getPendingTaskCount(){return this.p1.length+this.p2.length+this.f1.length+this.destroyTasks.length}getPendingRendererTaskCount(){return this.f1.length}executeFrame(e){let t=this.now(),n=e<0,r=!n&&this.scrollActive&&this.rendererFrameBudgetMs>0&&this.f1.length>0,i=r?Math.max(0,e-this.rendererFrameBudgetMs):e,a=r?this.rendererFrameBudgetMs:e;for(this.runTaskPhase({start:t,budgetMs:i,unlimited:n,queues:r?[`p1`,`p2`]:[`p1`,`p2`,`f1`]}),r&&this.runTaskPhase({start:this.now(),budgetMs:a,unlimited:!1,queues:[`f1`]});n||this.now()-t<e;){let e=this.destroyTasks.shift();if(!e)break;e()}this.hasPendingWork()&&this.schedule()}runTaskPhase(e){for(;e.unlimited||this.now()-e.start<e.budgetMs;){if(this.scrollGridIfNeeded?.())continue;let t=this.popNextTask(e.queues);if(!t)break;t.task()}}hasPendingWork(){return this.p1.length>0||this.p2.length>0||this.f1.length>0||this.destroyTasks.length>0}popNextTask(e=[`p1`,`p2`,`f1`]){for(let t of e){let e=this.getTaskList(t);if(e.length!==0)return this.sortTaskList(e),e.shift()}}sortTaskList(e){e.sort((e,t)=>e.index===t.index?e.createOrder-t.createOrder:this.scrollGoingDown?e.index-t.index:t.index-e.index)}getTaskList(e){switch(e){case`p1`:return this.p1;case`p2`:return this.p2;case`f1`:return this.f1}}},Vd=class{depth=0;beginDeferred(){this.depth++}endDeferred(e){this.depth<=0||(this.depth--,this.depth===0&&e())}isDeferred(){return this.depth>0}reset(){this.depth=0}};function Hd(e){return{setData:t=>e.setData(t),applyTransaction:t=>e.applyTransaction(t),addRows:t=>e.addRows(t),addRowsByArray:(t,n)=>e.addRowsByArray(t,n),addGroupRows:t=>e.addGroupRows(t),addGroupRowsByArray:(t,n)=>e.addGroupRowsByArray(t,n),removeRows:t=>e.removeRows(t),updateRows:t=>e.updateRows(t),patchRow:t=>e.patchRow(t),removeSelectedRows:t=>e.removeSelectedRows(t),getData:t=>e.getData(t),promoteRowId:t=>e.promoteRowId(t),moveRow:(t,n,r)=>e.moveRow(t,n,r),moveRows:t=>e.moveRows(t),moveUp:t=>e.moveUp(t),moveDown:t=>e.moveDown(t),moveUps:t=>e.moveUps(t),moveDowns:t=>e.moveDowns(t),setSortModel:t=>e.setSortModel(t),getSortModel:()=>e.getSortModel(),setFilterModel:t=>e.setFilterModel(t),getFilterModel:()=>e.getFilterModel(),refreshInfiniteCache:()=>e.refreshInfiniteCache(),setInfiniteDatasource:t=>e.setInfiniteDatasource(t),retryInfiniteBlock:t=>e.retryInfiniteBlock(t),getLoadedRowData:()=>e.getLoadedRowData(),getInfiniteRowCount:()=>e.getInfiniteRowCount(),getColumnFilter:t=>e.getColumnFilter(t),isColumnFilterActive:t=>e.isColumnFilterActive(t),isAnyFilterActive:()=>e.isAnyFilterActive(),setQuickFilterText:t=>e.setQuickFilterText(t),getQuickFilterText:()=>e.getQuickFilterText(),clearAllFilters:()=>e.clearAllFilters(),setColumnFilter:(t,n)=>e.setColumnFilter(t,n),refreshCells:t=>e.refreshCells(t),refreshCellSpans:()=>e.refreshCellSpans(),getCellSpan:(t,n)=>e.getCellSpan(t,n),ensureIndexVisible:(t,n)=>e.ensureIndexVisible(t,n),getRowNode:t=>e.getRowNode(t),getSiblingRowsByRowId:(t,n)=>e.getSiblingRowsByRowId(t,n),getSiblingRowByIterator:(t,n)=>e.getSiblingRowByIterator(t,n),getRowKind:t=>e.getRowKind(t),getRowIndex:(t,n)=>e.getRowIndex(t,n),getRowIndexes:(t,n)=>e.getRowIndexes(t,n),getRowByIndex:t=>e.getRowByIndex(t),getRowsByIndexes:t=>e.getRowsByIndexes(t),getRowSnapshots:t=>e.getRowSnapshots(t),getRowIds:t=>e.getRowIds(t),getMetrics:()=>e.getMetrics(),getPendingFrameTaskCount:()=>e.getPendingFrameTaskCount(),getPendingRendererTaskCount:()=>e.getPendingRendererTaskCount(),beginUpdate:()=>e.beginUpdate(),endUpdate:()=>e.endUpdate(),scrollTo:(t,n)=>e.scrollTo(t,n),moveColumn:(t,n)=>e.moveColumn(t,n),resetColumnOrder:()=>e.resetColumnOrder(),resetColumnWidths:()=>e.resetColumnWidths(),setColumnFixed:(t,n)=>e.setColumnFixed(t,n),setColumnsHidden:(t,n)=>e.setColumnsHidden(t,n),isColumnHidden:t=>e.isColumnHidden(t),getDisplayedColumnIds:()=>e.getDisplayedColumnIds(),getColumns:()=>e.getColumns(),getDisplayedColumns:()=>e.getDisplayedColumns(),getColumnDistinctFilterValues:t=>e.getColumnDistinctFilterValues(t),setColumnWidths:(t,n,r)=>e.setColumnWidths(t,n,r),setColumnWidth:(t,n,r,i)=>e.setColumnWidth(t,n,r,i),getColumnWidth:t=>e.getColumnWidth(t),autoSizeColumn:(t,n)=>e.autoSizeColumn(t,n),autoSizeColumns:(t,n)=>e.autoSizeColumns(t,n),sizeColumnsToFit:t=>e.sizeColumnsToFit(t),setRowHeight:(t,n,r)=>e.setRowHeight(t,n,r),setRowHeights:(t,n)=>e.setRowHeights(t,n),getRowHeight:t=>e.getRowHeight(t),resetRowHeights:t=>e.resetRowHeights(t),updateDimensions:t=>e.updateDimensions(t),expandRow:t=>e.expandRow(t),collapseRow:t=>e.collapseRow(t),isRowExpanded:t=>e.isRowExpanded(t),setDetailRowData:(t,n)=>e.setDetailRowData(t,n),reloadDetailRowData:t=>e.reloadDetailRowData(t),expandAll:()=>e.expandAll(),collapseAll:()=>e.collapseAll(),setRowGroupColumns:t=>e.setRowGroupColumns(t),getRowGroupColumns:()=>e.getRowGroupColumns(),expandGroup:t=>e.expandGroup(t),collapseGroup:t=>e.collapseGroup(t),isGroupExpanded:t=>e.isGroupExpanded(t),expandNode:t=>e.expandNode(t),collapseNode:t=>e.collapseNode(t),isNodeExpanded:t=>e.isNodeExpanded(t),getDataPath:t=>e.getDataPath(t),getCellComment:(t,n)=>e.getCellComment(t,n),setCellComment:(t,n,r)=>e.setCellComment(t,n,r),refreshCellComments:t=>e.refreshCellComments(t),getCellRanges:()=>e.getCellRanges(),getCellSelectionAggregation:()=>e.getCellSelectionAggregation(),clearCellSelection:()=>e.clearCellSelection(),addCellRange:t=>e.addCellRange(t),copySelectedRangeToClipboard:()=>e.copySelectedRangeToClipboard(),pasteFromClipboard:()=>e.pasteFromClipboard(),showLoadingOverlay:()=>e.showLoadingOverlay(),showNoRowsOverlay:()=>e.showNoRowsOverlay(),hideOverlay:()=>e.hideOverlay(),isOverlayShowing:()=>e.isOverlayShowing(),getOverlayType:()=>e.getOverlayType(),refreshDisabledState:t=>e.refreshDisabledState(t),setRowStyle:t=>e.setRowStyle(t),setEditableCellStyle:t=>e.setEditableCellStyle(t),setShowEditableCellIcon:t=>e.setShowEditableCellIcon(t),setDisabledCellStyle:t=>e.setDisabledCellStyle(t),setShowDisabledCellIcon:t=>e.setShowDisabledCellIcon(t),setCellStyle:(t,n,r)=>e.setCellStyle(t,n,r),getCellStyle:(t,n)=>e.getCellStyle(t,n),getCellStyleOverride:(t,n)=>e.getCellStyleOverride(t,n),clearCellStyles:t=>e.clearCellStyles(t),refreshCellStyles:t=>e.refreshCellStyles(t),startEditingCell:t=>e.startEditingCell(t),stopEditing:t=>e.stopEditing(t),commit:t=>e.commit(t),isEditing:()=>e.isEditing(),isCommitting:()=>e.isCommitting(),awaitCommitIdle:()=>e.awaitCommitIdle(),cancelCommit:()=>e.cancelCommit(),getEditSessionPhase:()=>e.getEditSessionPhase(),getEditingCell:()=>e.getEditingCell(),getEditingCells:()=>e.getEditingCells(),registerCellEditor:(t,n)=>e.registerCellEditor(t,n),unregisterCellEditor:t=>e.unregisterCellEditor(t),getCellEditorCache:(t,n,r)=>e.getCellEditorCache(t,n,r),setCellEditorCache:(t,n,r,i)=>e.setCellEditorCache(t,n,r,i),clearCellEditorCache:(t,n,r)=>e.clearCellEditorCache(t,n,r),clearAllCellEditorCache:()=>e.clearAllCellEditorCache(),validate:t=>e.validate(t),validateRows:t=>e.validateRows(t),validateCells:t=>e.validateCells(t),clearValidation:t=>e.clearValidation(t),clearRowValidation:t=>e.clearRowValidation(t),clearCellValidation:t=>e.clearCellValidation(t),toggleRowSelection:(t,n,r)=>e.toggleRowSelection(t,n,r),toggleAllSelection:t=>e.toggleAllSelection(t),clearRowSelection:t=>e.clearRowSelection(t),setDefaultSelectedRows:(t,n)=>e.setDefaultSelectedRows(t,n),clearPendingDefaultSelectedRows:()=>e.clearPendingDefaultSelectedRows(),reconcileDefaultSelectedRows:()=>e.reconcileDefaultSelectedRows(),getSelectedRowIds:()=>e.getSelectedRowIds(),getSelectedRows:()=>e.getSelectedRows(),getIndexFocusedRowIds:t=>e.getIndexFocusedRowIds(t),getIndexFocusedRows:t=>e.getIndexFocusedRows(t),setIndexFocus:(t,n)=>e.setIndexFocus(t,n),destroy:()=>e.destroy(),on:(t,n)=>e.on(t,n)}}var Ud=[`.mg-cell-editor-host`],Wd=[];function Gd(e){Wd.push(...e)}function Kd(){Wd.length=0}function qd(e){return e instanceof Element?e:e instanceof Text?e.parentElement:null}function Jd(){return[...Ud,...Wd]}function Yd(e){let t=qd(e);return t?Jd().some(e=>t.closest(e)!=null):!1}function Xd(e=document.activeElement){return Yd(e)}function Zd(e){let t=qd(e);return t?t.closest(`.mg-cell[data-col-id]`)!=null:!1}var Qd=[`mg-cell-editor-host--align-h-left`,`mg-cell-editor-host--align-h-center`,`mg-cell-editor-host--align-h-right`];function $d(e,t){for(let t of Qd)e.classList.remove(t);e.classList.add(`mg-cell-editor-host--align-h-${t}`)}function ef(e,n,r){$d(e,t.d(n,r))}var tf=`mg-inline-checkbox`,nf=`mg-inline-switch`,rf=`mg-switch-editor`,af=[tf,nf];function of(e,t){let n=document.createElement(`input`);return n.className=`mg-cell-editor`,n.type=e,n.value=t,n.style.width=`100%`,n.style.height=`100%`,n.style.boxSizing=`border-box`,n}function sf(e,t){let n=document.createElement(`input`);return n.type=`checkbox`,n.className=t.inline?[`mg-cell-editor`,t.inlineClass,t.extraClasses].filter(Boolean).join(` `):[`mg-cell-editor`,t.extraClasses].filter(Boolean).join(` `),n.checked=t.checked,t.role&&n.setAttribute(`role`,t.role),t.params.setGetValue?.(()=>t.readValue(n)),t.inline&&(n.addEventListener(`click`,e=>{e.stopPropagation()}),n.addEventListener(`change`,()=>{t.params.commit?.()})),e.mountEl.appendChild(n),n}var cf=(e,t)=>{let n=of(`text`,e.formattedValue);return t.mountEl.appendChild(n),n},lf=(e,t)=>{let n=of(`number`,e.value==null||e.value===``?``:String(e.value));return t.mountEl.appendChild(n),n},uf=(e,t)=>{let n=It(e.cellEditorParams)??null;return sf(t,{inline:e.inline===!0,inlineClass:tf,checked:en(e.value,n),readValue:e=>nn(e,n),params:e})},df=(e,t)=>{let n=Lt(e.cellEditorParams)??null;return sf(t,{inline:e.inline===!0,inlineClass:nf,extraClasses:rf,role:`switch`,checked:qt(e.value,n),readValue:e=>Xt(e,n),params:e})};function ff(e){return e===`checkbox`||e===`switch`}function pf(e){return e instanceof Element&&af.some(t=>e.closest(`input.${t}`))}function mf(e,t){return e instanceof HTMLInputElement&&e.type===`checkbox`?Xt(e,an(t??{})):e.value}var hf=new Map;function gf(e,t){if(!e||Cn(e))throw Error(`Invalid cell editor name "${e}"`);hf.set(e,t)}function _f(e){return hf.delete(e)}function vf(e){return hf.get(e)}function yf(e){return hf.has(e)}function bf(){return[...hf.keys()]}function xf(e,t={}){return t[e]??hf.get(e)}function Sf(e,t={}){return e===void 0?cf:typeof e==`function`?e:Cn(e)?e===`number`?lf:e===`checkbox`?uf:e===`switch`?df:cf:xf(e,t.byName)||(console.warn(`[magic-grid] Cell editor "${e}" is not registered; falling back to text editor.`),cf)}var Cf=class{onUnmountEditor;instanceEditors;editorOptions;constructor(e={}){this.onUnmountEditor=e.onUnmountEditor,this.instanceEditors={...e.byName??{}},this.editorOptions=e.editorOptions??t.f()}register(e,t){if(!e||Cn(e))throw Error(`Invalid cell editor name "${e}"`);this.instanceEditors[e]=t}unregister(e){return delete this.instanceEditors[e]}has(e){return e in this.instanceEditors||xf(e,this.instanceEditors)!==void 0}mount(e,t,n,r){let i=e.querySelector(`.mg-cell[data-col-id="${t.colId}"]`),a=i??e,o=document.createElement(`div`);o.className=`mg-cell-editor-host`,ef(o,t.align,this.editorOptions),o.style.position=`absolute`,o.style.top=`0`,o.style.boxSizing=`border-box`,i?(o.style.left=`0`,o.style.width=`100%`,o.style.height=`100%`,i.classList.add(`mg-cell--editing`)):(o.style.left=`${t.left}px`,o.style.width=`${t.width}px`,o.style.height=`100%`),a.appendChild(o);let s=null,c={mountEl:o,clear:()=>{this.onUnmountEditor?.(o),o.replaceChildren()}},l={...Vt(t,n),setGetValue:e=>{s=e}},u=Sf(r,{byName:this.instanceEditors})(l,c);return u instanceof HTMLElement&&!o.contains(u)&&o.appendChild(u),{mountEl:o,getValue:()=>{if(s)return s();let e=o.querySelector(`input:not([type="hidden"]).mg-cell-editor, select.mg-cell-editor, textarea.mg-cell-editor`);if(e)return mf(e,t);let r=o.querySelector(`input:not([type="hidden"]), select, textarea`);return r?mf(r,t):n.formattedValue},getFocusTarget:()=>u instanceof HTMLElement?u:o.querySelector(`input:not([type="hidden"]), select, textarea, [tabindex]`)??o.firstElementChild,destroy:()=>{o.parentElement?.classList.remove(`mg-cell--editing`),c.clear(),o.remove()}}}},wf=class{editing=null;mountedEditor=null;listenerTarget=null;onCommit=null;onCancel=null;onEditingStopped=null;onTab=null;onEditingInput=null;onCommitLifecycle=null;oldValue=void 0;blurCommitAfterClickListener=null;blurCommitFallbackTimer=null;deferBlurCommitUntil=0;pinnedRowIds=new Set;editorHost;keyboardPolicy={};phase=`idle`;commitController=null;inflightCommit=null;nextCommitId=0;handleEditorKeyDown=e=>{if(this.phase===`committing`){e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.cancelCommit());return}if(e.key===`Enter`){if(this.shouldDeferEnterCommit())return;e.preventDefault(),e.stopPropagation(),this.stopEditing(!0)}else if(e.key===`Escape`)e.preventDefault(),e.stopPropagation(),this.stopEditing(!1);else if(e.key===`Tab`){if(vn(this.keyboardPolicy,e))return;e.preventDefault(),e.stopPropagation();let t=this.onTab,n=e.shiftKey;this.stopEditing(!0).then(e=>{e?.committed&&t?.(n)})}else e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&this.onEditingInput?.()};handleEditorFocusOut=e=>{let t=e,n=this.editing;requestAnimationFrame(()=>{this.isEditing()&&this.editing===n&&this.phase!==`committing`&&(this.isFocusWithinEditorSurface(t)||this.isFocusMovingToOtherGridCell(t)||this.isBlurCommitDeferred()||(this.clearPendingBlurCommit(),this.scheduleBlurCommitAfterClick()))})};isFocusMovingToOtherGridCell(e){let t=this.editing;if(!t)return!1;let n=e.relatedTarget;if(!(n instanceof Node)||!Zd(n))return!1;let r=(n instanceof Element?n:n.parentElement)?.closest(`.mg-cell[data-col-id]`),i=r?.closest(`.mg-row[data-row-id]`);return!r?.dataset.colId||!i?.dataset.rowId?!1:i.dataset.rowId!==String(t.rowId)||r.dataset.colId!==t.colId}constructor(e){this.editorHost=e??new Cf}getEditingCell(){return this.editing}isEditing(){return this.editing!==null}isCommitting(){return this.phase===`committing`}getEditSessionPhase(){return this.phase}getEditorValue(){return this.mountedEditor?.getValue()??null}getEditorMountEl(){return this.mountedEditor?.mountEl??null}awaitCommitIdle(){return(this.inflightCommit??Promise.resolve()).then(()=>void 0)}isPinnedRow(e){return this.pinnedRowIds.has(e)}getPinnedRowIds(){return this.pinnedRowIds}cancelCommit(){this.phase===`committing`&&(this.commitController?.abort(),this.finishCommittingVisual(),this.phase=`editing`,this.commitController=null,this.onCommitLifecycle?.onAborted?.())}cancelPendingBlurCommit(){this.clearPendingBlurCommit()}deferBlurCommitDuringPointerGesture(e=600){this.deferBlurCommitUntil=performance.now()+e,this.clearPendingBlurCommit()}isBlurCommitDeferred(){return performance.now()<this.deferBlurCommitUntil}startEditing(e,t,n,r,i,a){this.clearPendingBlurCommit(),this.stopEditing(!1),this.editing={rowId:String(t.id),colId:n.colId,rowIndex:t.rowIndex},this.oldValue=i,this.phase=`editing`,this.pinnedRowIds.add(t.id),this.onCommit=a.onCommit,this.onCancel=a.onCancel,this.onEditingStopped=a.onEditingStopped??null,this.onTab=a.onTab??null,this.onEditingInput=a.onEditingInput??null,this.onCommitLifecycle=a.onCommitLifecycle??null;let o={};this.keyboardPolicy=o;let{editorParams:s}=a,c={...s,rowId:t.id,rowIndex:t.rowIndex,colId:n.colId,value:i,data:t.data,formattedValue:r,size:s.size??`default`,stopEditing:(e=!0)=>this.stopEditing(e).then(e=>e?{committed:e.committed}:null),cancelCommit:()=>this.cancelCommit(),getEditPhase:()=>this.phase,validate:s.validate??(async()=>({valid:!0})),setKeyboardPolicy:e=>{Object.assign(o,e),this.keyboardPolicy=o}};this.mountedEditor=this.editorHost.mount(e,n,c,n.cellEditor),this.attachEditorListeners(this.mountedEditor),requestAnimationFrame(()=>{this.mountedEditor&&this.isEditing()&&this.keyboardPolicy.suppressInitialAutoFocus!==!0&&this.focusEditor(this.mountedEditor)})}async stopEditing(e){if(!this.editing||!this.mountedEditor)return null;if(this.phase===`committing`)return e||this.cancelCommit(),this.inflightCommit;if(this.clearPendingBlurCommit(),!e)return this.cancelEditingSession();let t=this.commitEditingSession();this.inflightCommit=t;try{return await t}finally{this.inflightCommit===t&&(this.inflightCommit=null)}}destroy(){this.clearPendingBlurCommit(),this.cancelCommit(),this.mountedEditor&&(this.detachEditorListeners(),this.mountedEditor.destroy()),this.mountedEditor=null,this.editing=null,this.onCommit=null,this.onCancel=null,this.onEditingStopped=null,this.onTab=null,this.onEditingInput=null,this.onCommitLifecycle=null,this.oldValue=void 0,this.keyboardPolicy={},this.phase=`idle`,this.commitController=null,this.inflightCommit=null,this.pinnedRowIds.clear()}async commitEditingSession(){if(!this.editing||!this.mountedEditor)return null;let t=this.editing,n=this.mountedEditor,r=n.getValue(),i=this.onCommit,a=this.oldValue,o=++this.nextCommitId;this.phase=`committing`,this.setCommittingVisual(!0),this.onCommitLifecycle?.onStarted?.();let s=e.s(o,this.commitController);this.commitController=s;let c={ok:!1};try{let e=await i?.(r,s.context);if(s.context.commitId!==o)return null;c=e??{ok:!0}}catch(t){if(e.c(t))c={ok:`aborted`};else throw t}finally{this.commitController===s&&(this.commitController=null),this.finishCommittingVisual()}if(s.context.commitId!==o||this.editing!==t)return null;if(this.onCommitLifecycle?.onFinished?.(c),c.ok===`aborted`)return this.phase=`editing`,this.onCommitLifecycle?.onAborted?.(),null;if(c.ok===!1){if(c.revert){let e=this.onEditingStopped;this.teardownEditorSession(n);let r={committed:!1,oldValue:a,newValue:void 0,rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex};return e?.(r),r}return this.phase=`editing`,this.focusEditor(n),null}let l=c.newValue===void 0?r:c.newValue;return this.finalizeSuccessfulCommit(t,n,a,l)}cancelEditingSession(){if(!this.editing||!this.mountedEditor)return null;let e=this.editing,t=this.mountedEditor,n=this.onCancel,r=this.onEditingStopped,i=this.oldValue;this.teardownEditorSession(t),n?.();let a={committed:!1,oldValue:i,newValue:void 0,rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex};return r?.(a),a}finalizeSuccessfulCommit(e,t,n,r){let i=this.onEditingStopped;this.teardownEditorSession(t);let a={committed:!0,oldValue:n,newValue:r,rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex};return i?.(a),a}teardownEditorSession(e){let t=this.editing;this.detachEditorListeners(),this.mountedEditor=null,this.editing=null,this.onCommit=null,this.onCancel=null,this.onEditingStopped=null,this.onTab=null,this.onEditingInput=null,this.onCommitLifecycle=null,this.oldValue=void 0,this.keyboardPolicy={},this.phase=`idle`,this.commitController=null,t&&this.pinnedRowIds.delete(t.rowId),e.destroy()}setCommittingVisual(e){if(!this.editing||!this.mountedEditor)return;let t=this.mountedEditor.mountEl.parentElement;((t?.classList.contains(`mg-cell`)?t.parentElement:t)?.querySelector(`.mg-cell[data-col-id="${this.editing.colId}"]`))?.classList.toggle(`mg-cell--committing`,e),this.mountedEditor.mountEl.classList.toggle(`mg-cell-editor-host--committing`,e)}finishCommittingVisual(){this.setCommittingVisual(!1)}attachEditorListeners(e){this.listenerTarget=e.mountEl,this.listenerTarget.addEventListener(`keydown`,this.handleEditorKeyDown,!0),this.listenerTarget.addEventListener(`focusout`,this.handleEditorFocusOut)}detachEditorListeners(){this.listenerTarget&&=(this.listenerTarget.removeEventListener(`keydown`,this.handleEditorKeyDown,!0),this.listenerTarget.removeEventListener(`focusout`,this.handleEditorFocusOut),null)}resolveFocusTarget(e){let t=e.getFocusTarget();return t?t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement?t:t.querySelector(`input:not([type="hidden"]), select, textarea`)??t:null}shouldDeferEnterCommit(){return this.keyboardPolicy.deferEnterCommit===!0}isFocusWithinEditorSurface(e){return!!(Xd()||e?.relatedTarget instanceof Node&&Yd(e.relatedTarget))}focusEditor(e){let t=this.resolveFocusTarget(e);t&&t.focus()}scheduleBlurCommitAfterClick(){if(this.isBlurCommitDeferred())return;let e=this.editing;if(!e)return;let t=()=>{if(this.clearPendingBlurCommit(),!this.isEditing()||this.phase===`committing`)return;let t=this.editing;!t||t.rowId!==e.rowId||t.colId!==e.colId||this.stopEditing(!0).then(e=>{e===null&&this.isEditing()&&this.mountedEditor&&this.focusEditor(this.mountedEditor)})};this.blurCommitAfterClickListener=e=>{if(!Yd(e.target)){if(Zd(e.target)){this.clearPendingBlurCommit();return}t()}},window.addEventListener(`click`,this.blurCommitAfterClickListener,!1),this.blurCommitFallbackTimer=window.setTimeout(()=>{t()},300)}clearPendingBlurCommit(){this.blurCommitAfterClickListener&&=(window.removeEventListener(`click`,this.blurCommitAfterClickListener,!1),null),this.blurCommitFallbackTimer!==null&&(clearTimeout(this.blurCommitFallbackTimer),this.blurCommitFallbackTimer=null)}};function Tf(e){return[...e.getLeftFixedColumnIndices(),...e.getCenterColumnIndices(),...e.getRightFixedColumnIndices()]}function Ef(e,t){let n=t.indexOf(e);return n>=0?n:0}function Df(e,t){return t[e]}function Of(e){return e[0]??0}function kf(e){return e[e.length-1]??0}var Af=`__header__`,jf=`__footer__`;function Mf(e){return e.rowIndex===-1}function Nf(e){return e.rowIndex===-2}function Y(e){return Mf(e)||Nf(e)}function Pf(e={}){return{headerEnabled:e.headerEnabled??!1,footerEnabled:e.footerEnabled??!1}}function Ff(e,t){return e===-1?Af:e===-2?jf:t(e)}var If=class{focus=null;getFocusedCell(){return this.focus}setFocusedCell(e){this.focus=e}clear(){this.focus=null}move(e,t,n,r,i,a={}){let o=this.focus??Hf(t,n,r,i);if(!o)return null;let s=Lf(o,e,t,n,r,i,a);return this.focus=s,s}moveTab(e,t,n,r,i,a={}){let o=this.focus??Hf(t,n,r,i);if(!o)return null;let s=Rf(o,e,t,n,r,i,a);return this.focus=s,s}moveToEdge(e,t,n,r,i,a={}){let o=this.focus??Hf(t,n,r,i);if(!o)return null;let s=zf(o,e,t,n,r,i,a);return this.focus=s,s}};function Lf(e,t,n,r,i,a,o={}){let{headerEnabled:s,footerEnabled:c}=Pf(o),l=r.length;if(n<=0||l<=0)return null;let u=e.rowIndex,d=Ef(e.colIndex,r);t===`up`?u===-2?u=n-1:u===-1||(u===0?s&&(u=-1):--u):t===`down`?u=s&&u===-1?0:c&&u===n-1?-2:Math.min(n-1,u+1):t===`left`?d=Math.max(0,d-1):t===`right`&&(d=Math.min(l-1,d+1));let f=Df(d,r),p=Ff(u,i),m=f===void 0?void 0:a(f);return f===void 0||!p||!m||u===e.rowIndex&&f===e.colIndex?e:{rowId:p,colId:m,rowIndex:u,colIndex:f}}function Rf(e,t,n,r,i,a,o={}){let{headerEnabled:s,footerEnabled:c}=Pf(o),l=r.length;if(n<=0||l<=0)return null;let u=e.rowIndex,d=Ef(e.colIndex,r);t?c&&u===-2&&d===0?(u=n-1,d=l-1):u===-2&&d>0?--d:s&&u===0&&d===0?(u=-1,d=l-1):s&&u===-1?d>0&&--d:d>0?--d:u>0&&(--u,d=l-1):s&&u===-1?d<l-1?d+=1:(u=0,d=0):u===-2?d<l-1&&(d+=1):d<l-1?d+=1:u<n-1?(u+=1,d=0):c&&u===n-1&&(u=-2,d=0);let f=Df(d,r),p=Ff(u,i),m=f===void 0?void 0:a(f);return f===void 0||!p||!m||u===e.rowIndex&&f===e.colIndex?e:{rowId:p,colId:m,rowIndex:u,colIndex:f}}function zf(e,t,n,r,i,a,o={}){let{headerEnabled:s,footerEnabled:c}=Pf(o),l=r.length;if(n<=0||l<=0)return null;let u=e.rowIndex,d=e.colIndex;t===`up`?u=s?-1:0:t===`down`?u=c?-2:n-1:t===`left`?d=Of(r):t===`right`&&(d=kf(r));let f=Ff(u,i),p=a(d);return!f||!p||u===e.rowIndex&&d===e.colIndex?e:{rowId:f,colId:p,rowIndex:u,colIndex:d}}function Bf(e,t,n,r,i,a,o,s={}){let c=r.length;if(n<=0||c<=0)return null;let l=e,u=n*c;for(let e=0;e<u;e++){let e=Rf(l,t,n,r,i,a,s);if(!e||e.rowIndex===l.rowIndex&&e.colIndex===l.colIndex)return null;if(l=e,e.rowIndex!==-1&&e.rowIndex!==-2&&o(e.rowIndex,e.colId))return e}return null}function Vf(e,t,n){if(t.length===0)return null;if(t.length===1)return t[0]??null;let r=t.indexOf(e),i=r>=0?r:0;return t[n?(i-1+t.length)%t.length:(i+1)%t.length]??null}function Hf(e,t,n,r){let i=Of(t),a=n(0),o=r(i);return!a||!o||e<=0||t.length===0?null:{rowId:a,colId:o,rowIndex:0,colIndex:i}}var Uf=class{editing=null;onCommitRow=null;onFocusColChange=null;activeColId=null;onCancel=null;onRowEditingStopped=null;onCommitLifecycle=null;blurCommitAfterClickListener=null;blurCommitFallbackTimer=null;attachedListeners=[];pinnedRowIds=new Set;editorHost;phase=`idle`;commitController=null;inflightCommit=null;nextCommitId=0;handleEditorKeyDown=e=>{if(this.phase===`committing`){e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.cancelCommit());return}if(e.key===`Tab`){let t=this.resolveColIdFromEvent(e),n=t?this.editing?.cells.get(t):void 0;if(n&&vn(n.keyboardPolicy,e))return;e.preventDefault(),e.stopPropagation(),this.navigateRowTab(e.shiftKey,t);return}if(e.key===`Enter`){let t=this.resolveColIdFromEvent(e);if((t?this.editing?.cells.get(t):void 0)?.keyboardPolicy.deferEnterCommit)return;e.preventDefault(),e.stopPropagation(),this.stopRowEditing(!0);return}e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.stopRowEditing(!1))};handleEditorBlur=e=>{let t=e,n=this.editing;requestAnimationFrame(()=>{this.isEditing()&&this.editing===n&&this.phase!==`committing`&&(this.isFocusWithinRowEditors(t.relatedTarget)||(this.clearPendingBlurCommit(),this.scheduleBlurCommitAfterClick()))})};constructor(e){this.editorHost=e??new Cf}getEditingRow(){return this.editing?{rowId:this.editing.rowId,rowIndex:this.editing.rowIndex}:null}getActiveColId(){return this.editing?this.activeColId&&this.editing.cells.has(this.activeColId)?this.activeColId:this.editing.focusColId&&this.editing.cells.has(this.editing.focusColId)?this.editing.focusColId:this.editing.cells.keys().next().value??null:null}focusEditingColumn(e){return this.editing?.cells.has(e)?(this.focusRowEditor(e),!0):!1}getEditingCells(){return this.editing?[...this.editing.cells.values()].map(e=>({rowId:this.editing.rowId,rowIndex:this.editing.rowIndex,colId:e.colId})):[]}getEditorValue(e){return this.editing?.cells.get(e)?.mountedEditor.getValue()??null}getEditorMountEl(e){return this.editing?.cells.get(e)?.mountedEditor.mountEl??null}isEditing(){return this.editing!==null}isCommitting(){return this.phase===`committing`}getEditSessionPhase(){return this.phase}awaitCommitIdle(){return(this.inflightCommit??Promise.resolve()).then(()=>void 0)}cancelCommit(){this.phase===`committing`&&(this.commitController?.abort(),this.finishCommittingVisual(),this.phase=`editing`,this.commitController=null,this.onCommitLifecycle?.onAborted?.())}isPinnedRow(e){return this.pinnedRowIds.has(e)}getPinnedRowIds(){return this.pinnedRowIds}startRowEditing(e){if(e.columns.length===0)return!1;this.stopRowEditing(!1);let{rowElement:t,rowNode:n,columns:r,focusColId:i}=e,a=new Map;for(let e of r){let n={},r={...e.params,autoFocus:i==null||e.column.colId===i,stopEditing:(e=!0)=>this.stopRowEditing(e).then(e=>e?{committed:e.committed}:null),cancelCommit:()=>this.cancelCommit(),getEditPhase:()=>this.phase,setKeyboardPolicy:t=>{Object.assign(n,t);let r=a.get(e.column.colId);r&&(r.keyboardPolicy=n)}},o=this.editorHost.mount(t,e.column,r,e.column.cellEditor);a.set(e.column.colId,{colId:e.column.colId,column:e.column,oldValue:e.oldValue,mountedEditor:o,keyboardPolicy:n}),this.attachEditorListeners(o)}return this.editing={rowId:n.id,rowIndex:n.rowIndex,rowElement:t,focusColId:i,cells:a},this.phase=`editing`,this.onCommitRow=e.onCommitRow,this.onFocusColChange=e.onFocusColChange??null,this.onCancel=e.onCancel??null,this.onRowEditingStopped=e.onRowEditingStopped??null,this.onCommitLifecycle=e.onCommitLifecycle??null,this.pinnedRowIds.add(n.id),queueMicrotask(()=>{let e=i??(this.editing?.focusColId&&this.editing.cells.has(this.editing.focusColId)?this.editing.focusColId:this.editing?.cells.keys().next().value);if((e?this.editing?.cells.get(e):void 0)?.keyboardPolicy.suppressInitialAutoFocus===!0){e&&(this.activeColId=e,this.editing.focusColId=e,this.onFocusColChange?.(e));return}this.focusRowEditor(i)}),!0}async stopRowEditing(e){if(!this.editing)return null;if(this.phase===`committing`)return e||this.cancelCommit(),this.inflightCommit;if(this.clearPendingBlurCommit(),!e)return this.cancelRowEditingSession();let t=this.commitRowEditingSession();this.inflightCommit=t;try{return await t}finally{this.inflightCommit===t&&(this.inflightCommit=null)}}destroy(){this.clearPendingBlurCommit(),this.cancelCommit(),this.teardownEditingState(),this.onCommitRow=null,this.onFocusColChange=null,this.activeColId=null,this.onCancel=null,this.onRowEditingStopped=null,this.onCommitLifecycle=null,this.phase=`idle`,this.commitController=null,this.inflightCommit=null,this.pinnedRowIds.clear()}async commitRowEditingSession(){if(!this.editing)return null;let t=this.editing,n=new Map;for(let e of t.cells.values())n.set(e.colId,e.mountedEditor.getValue());let r=this.onCommitRow;if(!r)return null;let i=++this.nextCommitId;this.phase=`committing`,this.setCommittingVisual(!0),this.onCommitLifecycle?.onStarted?.();let a=e.s(i,this.commitController);this.commitController=a;let o={ok:!1,failedColId:``};try{let e=await r(n,a.context);if(a.context.commitId!==i)return null;o=e}catch(t){if(e.c(t))o={ok:`aborted`};else throw t}finally{this.commitController===a&&(this.commitController=null),this.finishCommittingVisual()}return a.context.commitId!==i||this.editing!==t?null:(this.onCommitLifecycle?.onFinished?.(o),o.ok===`aborted`?(this.phase=`editing`,this.onCommitLifecycle?.onAborted?.(),null):o.ok===!1?o.revert?this.revertRowEditingSession(t):(this.phase=`editing`,this.focusRowEditor(o.failedColId),null):this.finalizeSuccessfulCommit(t,o.cells))}revertRowEditingSession(e){let t=this.onRowEditingStopped,n=[];for(let t of e.cells.values())n.push({colId:t.colId,committed:!1,oldValue:t.oldValue,newValue:void 0});this.teardownEditingState(),this.onCommitRow=null,this.onFocusColChange=null,this.activeColId=null,this.onCancel=null,this.onRowEditingStopped=null,this.onCommitLifecycle=null;let r={rowId:e.rowId,rowIndex:e.rowIndex,committed:!1,cells:n};return t?.(r),r}cancelRowEditingSession(){if(!this.editing)return null;let e=this.editing,t=this.onCancel,n=this.onRowEditingStopped,r=[];for(let t of e.cells.values())r.push({colId:t.colId,committed:!1,oldValue:t.oldValue,newValue:void 0});this.teardownEditingState(),t?.(),this.onCommitRow=null,this.onFocusColChange=null,this.activeColId=null,this.onCancel=null,this.onRowEditingStopped=null,this.onCommitLifecycle=null;let i={rowId:e.rowId,rowIndex:e.rowIndex,committed:!1,cells:r};return n?.(i),i}finalizeSuccessfulCommit(e,t){let n=this.onRowEditingStopped;this.teardownEditingState(),this.onCommitRow=null,this.onFocusColChange=null,this.activeColId=null,this.onCancel=null,this.onRowEditingStopped=null,this.onCommitLifecycle=null;let r={rowId:e.rowId,rowIndex:e.rowIndex,committed:!0,cells:t};return n?.(r),r}teardownEditingState(){if(this.editing){for(let e of this.editing.cells.values())e.mountedEditor.destroy();this.detachEditorListeners(),this.editing=null,this.phase=`idle`,this.commitController=null,this.pinnedRowIds.clear()}}setCommittingVisual(e){if(this.editing){this.editing.rowElement.classList.toggle(`mg-row--committing`,e);for(let t of this.editing.cells.values())t.mountedEditor.mountEl.classList.toggle(`mg-cell-editor-host--committing`,e)}}finishCommittingVisual(){this.setCommittingVisual(!1)}attachEditorListeners(e){let t=e.getFocusTarget();if(e.mountEl.addEventListener(`keydown`,this.handleEditorKeyDown,!0),t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement){t.addEventListener(`blur`,this.handleEditorBlur),this.attachedListeners.push({mountEl:e.mountEl,blurTarget:t});return}this.attachedListeners.push({mountEl:e.mountEl,blurTarget:null})}detachEditorListeners(){for(let e of this.attachedListeners)e.mountEl.removeEventListener(`keydown`,this.handleEditorKeyDown,!0),e.blurTarget&&e.blurTarget.removeEventListener(`blur`,this.handleEditorBlur);this.attachedListeners.length=0}focusRowEditor(e){if(!this.editing)return;let t=e&&this.editing.cells.has(e)?e:this.editing.focusColId&&this.editing.cells.has(this.editing.focusColId)?this.editing.focusColId:this.editing.cells.keys().next().value;t&&((this.editing.cells.get(t)?.mountedEditor.getFocusTarget())?.focus(),this.activeColId=t,this.editing.focusColId=t,this.onFocusColChange?.(t))}getOrderedEditableColIds(){return this.editing?[...this.editing.cells.values()].sort((e,t)=>e.column.left-t.column.left).map(e=>e.colId):[]}navigateRowTab(e,t){if(!this.editing)return;let n=this.getOrderedEditableColIds(),r=t??this.activeColId??n[0];if(!r)return;let i=Vf(r,n,e);i&&this.focusRowEditor(i)}resolveColIdFromEvent(e){if(!this.editing)return;let t=e.target;if(t instanceof Node){for(let e of this.editing.cells.values())if(e.mountedEditor.mountEl.contains(t))return e.colId}}isFocusWithinRowEditors(e){if(!this.editing)return!1;if(e instanceof Node){for(let t of this.editing.cells.values())if(t.mountedEditor.mountEl.contains(e))return!0;if(Yd(e))return!0}return Xd()}scheduleBlurCommitAfterClick(){let e=()=>{this.clearPendingBlurCommit(),!(!this.isEditing()||this.phase===`committing`)&&this.stopRowEditing(!0).then(e=>{e===null&&this.isEditing()&&this.focusRowEditor()})};this.blurCommitAfterClickListener=t=>{Yd(t.target)||e()},window.addEventListener(`click`,this.blurCommitAfterClickListener,!1),this.blurCommitFallbackTimer=window.setTimeout(()=>{e()},300)}clearPendingBlurCommit(){this.blurCommitAfterClickListener&&=(window.removeEventListener(`click`,this.blurCommitAfterClickListener,!1),null),this.blurCommitFallbackTimer!==null&&(clearTimeout(this.blurCommitFallbackTimer),this.blurCommitFallbackTimer=null)}};function Wf(e,t){return`${e}::${t}`}function Gf(e,t){return e?.backgroundColor===t.backgroundColor&&e?.color===t.color}var Kf=class{overrides=new Map;get(e,t){return this.overrides.get(Wf(e,t))}set(e,t,n){let r=Wf(e,t);return!Gf(this.overrides.get(r),n)&&(this.overrides.set(r,{...n}),!0)}delete(e,t){return this.overrides.delete(Wf(e,t))}clear(e){if(!e?.rowIds?.length&&!e?.colIds?.length){this.overrides.clear();return}let t=e.rowIds?.length?new Set(e.rowIds.map(e=>String(e))):null,n=e.colIds?.length?new Set(e.colIds):null;for(let e of[...this.overrides.keys()]){let r=e.indexOf(`::`);if(r<0){this.overrides.delete(e);continue}let i=e.slice(0,r),a=e.slice(r+2);t&&!t.has(i)||n&&!n.has(a)||this.overrides.delete(e)}}};function qf(e){if(e==null||!Array.isArray(e))return null;let t=e.filter(e=>typeof e==`string`).map(e=>e.trim()).filter(Boolean);return t.length>0?t:null}function Jf(e){if(e==null)return null;if(Array.isArray(e)){let t=qf(e);return t?{errors:t}:null}if(typeof e==`object`&&Array.isArray(e.errors)){let t=qf(e.errors);if(!t)return null;let n=e.colIds?.filter(e=>typeof e==`string`&&e.length>0);return n?.length?{errors:t,colIds:n}:{errors:t}}return null}function Yf(e,t){return e.length===0||t.length===0?[]:t.length===1?e.map(e=>({colId:e,errors:[t[0]]})):t.length===e.length?e.map((e,n)=>({colId:e,errors:[t[n]]})):e.map(e=>({colId:e,errors:[...t]}))}function Xf(e,t){if(t?.length)return[...t];let n=new Set(e);return n.has(`min`)&&n.has(`max`)?[`min`,`max`]:e.length>0?[e[0]]:[]}async function Zf(t,n,r,i){e.l(i);let a=t.cellValidator;if(!a)return null;try{let t=await a({...n,parsedValue:r,signal:i});return e.l(i),qf(t)}catch(t){throw e.c(t),t}}async function Qf(t,n){if(!t)return null;e.l(n.signal);try{let r=await t(n);return e.l(n.signal),Jf(r)}catch(t){throw e.c(t),t}}async function $f(e,t,n,r){let i=await Zf(e,t,n,r??new AbortController().signal);return i?{valid:!1,errors:i}:{valid:!0}}function ep(e,t){return t.index?String(t.index(e)):String(e+t.start)}function tp(e,n,r){if(t.it(n.colId))return r?ep(e.rowIndex,r):String(e.rowIndex+1);if(t.X(n.colId)||A(n.colId)||n.rowExpand||R(n.colId))return``;if(Ve(e)&&n.groupAgg)return e.__groupAggValues?.[n.colId]?.formattedValue??``;let i=n.prop??n.colId,a=i?e.data[i]:void 0;return n.valueGetter&&(a=n.valueGetter(e.data,a)),n.formatter?n.formatter(e.data,a):a==null?``:String(a)}function np(e){return{api:e.getApi(),size:e.gridSize}}var rp=new AbortController().signal;async function ip(t,n,r,i,a){let o=t.cellCommitted;if(!o)return;let s=i.buildRowSnapshot(n);if(!s)return;let c=a.signal??rp,l=tp(n,t,i.getIndexColumnOptions?.());try{await o({row:s,colId:t.colId,value:r.newValue,oldValue:r.oldValue,newValue:r.newValue,formattedValue:l,source:a.source,signal:c,context:np(i)})}catch(n){if(e.c(n))throw n;console.error(`[magic-grid] cellCommitted failed`,{colId:t.colId,rowId:s.rowId,internalRowId:s.internalRowId,source:a.source,error:n})}}async function ap(e,t){e.beginUpdate();try{await t()}finally{e.endUpdate()}}var op=class{pending=new Map;batchSeq=0;record(e){if(Object.is(e.oldValue,e.newValue))return;let t=this.pending.get(e.rowNode.id);t||(t={rowNode:e.rowNode,changes:new Map,sources:new Set},this.pending.set(e.rowNode.id,t));let n=t.changes.get(e.field);n?t.changes.set(e.field,{field:e.field,colId:n.colId??e.colId,oldValue:n.oldValue,newValue:e.newValue}):t.changes.set(e.field,{field:e.field,colId:e.colId,oldValue:e.oldValue,newValue:e.newValue}),t.sources.add(e.source)}flush(e){if(this.pending.size===0)return;let t=[],n=new Set;for(let r of this.pending.values()){let i=[...r.changes.values()].map(t=>({...t,colId:t.colId??e.resolveColIdByField?.(t.field)}));if(i.length===0)continue;let a=e.buildRowSnapshot(r.rowNode);if(!a)continue;let o=Object.fromEntries(i.map(e=>[e.field,e.newValue])),s=[...r.sources];for(let e of s)n.add(e);let c={rowId:r.rowNode.id,row:a,data:o,changes:i,source:s[0],sources:s.length>1?s:void 0};t.push(c),e.eventBus.emit(`rowDataChanged`,{...c,rowNode:r.rowNode})}t.length>0&&e.eventBus.emit(`rowsDataChanged`,{batchId:++this.batchSeq,rows:t,sources:[...n]}),this.pending.clear()}clear(){this.pending.clear()}peekPendingColIdsByRow(e){let t=new Map;for(let[n,r]of this.pending){let i=new Set;for(let t of r.changes.values()){let n=t.colId??e?.(t.field);n&&i.add(n)}i.size>0&&t.set(n,[...i])}return t}};function sp(e,t,n,r,i,a){e({rowNode:t,field:n.prop??n.colId,colId:n.colId,oldValue:r,newValue:i,source:a})}async function cp(t,n,r,i,a,o,s){if(!r.prop)return{ok:!0,newValue:o};try{let e=hn(i,r,a);if(sn(e))return{ok:!1,revert:!0};let c=await Zf(r,a,e,s),l=t.invalidEditValueMode;return c&&l!==`keep`?{ok:!1,revert:!0}:o===e?{ok:!0,newValue:e}:await _n(r,a,e,s)?(await ap(t,async()=>{sp(t.recordRowDataChange,n,r,o,e,`inlineEdit`),t.applyTransaction({update:[n.data]}),t.eventBus.emit(`cellValueChanged`,{rowId:n.id,colId:r.colId,oldValue:o,newValue:e,rowNode:n}),await ip(r,n,{oldValue:o,newValue:e},t,{source:`inlineEdit`,signal:s}),t.syncPinnedRows()}),{ok:!0,newValue:e}):{ok:!1,revert:!0}}catch(t){if(e.c(t))return{ok:`aborted`};throw t}}var lp=Symbol.for(`magic-grid.vueUserComp`);function up(e){return e[lp]}function dp(e,t){let n=e;if(t){n[lp]=t;return}delete n[lp]}function fp(e,t){if(t){dp(e,t);return}dp(e,void 0)}function pp(e){dp(e,void 0)}function mp(e,t){let n=up(e);return n?.refresh?n.refresh(t)!==!1:!1}function hp(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.refresh==`function`)return t;let n=e.exposed;if(n&&typeof n.refresh==`function`)return n;let r=e.$?.exposed;return r&&typeof r.refresh==`function`?r:null}function gp(e){return t=>{fp(e,hp(t))}}function _p(e){return gp(e)}function vp(e){if(!e)return null;let t=e.component;if(t)return(hp(t.exposed)??hp(t.proxy))||vp(t.subTree);let{children:n}=e;if(Array.isArray(n))for(let e of n){if(!e||typeof e!=`object`||!(`type`in e))continue;let t=vp(e);if(t)return t}return null}function yp(e){let t=e._vnode,n=vp(t??null);if(n){fp(e,n);return}up(e)&&pp(e)}var bp=class{onUnmountEditor;instanceEditors;editorOptions;constructor(e={}){this.onUnmountEditor=e.onUnmountEditor,this.instanceEditors={...e.byName??{}},this.editorOptions=e.editorOptions??t.f()}mount(e,t,n,r={}){r.patch||(this.onUnmountEditor?.(e),e.replaceChildren()),ef(e,t.align,this.editorOptions);let i=null,a=null,o={mountEl:e,clear:()=>{this.onUnmountEditor?.(e),e.replaceChildren()}},s={...Vt(t,n),inline:!0,setGetValue:e=>{i=e}},c=Sf(t.cellEditor,{byName:this.instanceEditors})(s,o);return c instanceof HTMLElement&&(a=c,e.contains(c)||e.appendChild(c)),{mountEl:e,getValue:()=>{if(i)return i();let r=e.querySelector(`input:not([type="hidden"]).mg-cell-editor, select.mg-cell-editor, textarea.mg-cell-editor`);if(r)return mf(r,t);let a=e.querySelector(`input:not([type="hidden"]), select, textarea`);return a?mf(a,t):n.formattedValue},getFocusTarget:()=>a||(e.querySelector(`input:not([type="hidden"]), select, textarea, [tabindex]`)??e.firstElementChild),destroy(){o.clear()}}}patch(e,t,n){mp(e,n)||this.mount(e,t,n,{patch:!0})}isVueEditorColumn(e){return xn(Sf(e.cellEditor,{byName:this.instanceEditors}))}},xp=0,Sp=new WeakMap,Cp=new WeakMap;function wp(e){let t=Sp.get(e);return t===void 0&&(t=++xp,Sp.set(e,t)),t}function Tp(e){let t=Cp.get(e);return t===void 0&&(t=++xp,Cp.set(e,t)),t}function Ep(e){return e===void 0?`default`:typeof e==`function`?`fn#${wp(e)}`:e}function Dp(e,t,n,r,i){return`${e}:${t}:${n}:${r}:${Ep(i)}`}function Op(e,t,n){return n?`${e}:${t}:fn#${Tp(n)}`:`${e}:${t}:none`}var kp=class{permanent;constructor(e={}){this.permanent=new bp(e)}mount(e,t,n,r){return this.permanent.mount(e,t,n,r)}patch(e,t,n){this.permanent.patch(e,t,n)}isVueEditorColumn(e){return this.permanent.isVueEditorColumn(e)}},Ap=class{host;commits=new Map;inFlight=new Map;deps;constructor(e){this.deps=e,this.host=new kp({onUnmountEditor:e.onUnmountEditor,byName:e.byName,editorOptions:e.editorOptions})}getRefreshContext(){return{host:this.host,createParams:(e,t)=>this.createParams(e,t),commit:(e,t,n,r)=>this.commit(e,t,n,r)}}isCommitting(){return this.commits.size>0}async awaitCommitIdle(){this.inFlight.size!==0&&await Promise.all([...this.inFlight.values()])}cancelCommit(e,t){if(e&&t){this.abortCommit(`${e}:${t}`,!0);return}for(let e of[...this.commits.keys()])this.abortCommit(e,!0)}createParams(e,t){let n=np(this.deps),r={rowId:e.id,rowIndex:e.rowIndex,colId:t.colId,value:W(e,t),data:e.data,formattedValue:tp(e,t),size:this.deps.gridSize,context:n,inline:!0},i=Ft(t,r),a={...r,cellEditorParams:i,stopEditing:async()=>null,cancelCommit:()=>this.cancelCommit(e.id,t.colId),getEditPhase:()=>this.isCellCommitting(e.id,t.colId)?`committing`:`idle`};return{...a,validate:async n=>{let r={...a,validate:async()=>({valid:!0})},i;try{if(i=hn(jp(W(e,t),t),t,r),sn(i))return{valid:!1,errors:[`Invalid value`]}}catch(e){return{valid:!1,errors:[e instanceof Error?e.message:`Invalid value`]}}return $f(t,r,i,n?.signal)}}}isCellCommitting(e,t){return this.commits.has(`${e}:${t}`)}abortCommit(t,n){let r=this.commits.get(t);r&&(r.userCancelled=n,r.controller.abort(new e.o))}async commit(e,t,n,r){let i=`${e.id}:${t.colId}`,a=this.runCommit(e,t,n,r,i);this.inFlight.set(i,a);try{return await a}finally{this.inFlight.get(i)===a&&this.inFlight.delete(i)}}async runCommit(e,t,n,r,i){this.abortCommit(i,!1);let a=new AbortController,o={controller:a,rowId:e.id,colId:t.colId,rowIndex:e.rowIndex,userCancelled:!1};this.commits.set(i,o),this.deps.eventBus.emit(`cellCommitStarted`,{rowId:e.id,colId:t.colId,rowIndex:e.rowIndex});let s=this.createParams(e,t),c=await cp(this.deps,e,t,n,s,r,a.signal);return this.commits.get(i)===o&&this.commits.delete(i),c.ok===`aborted`?(o.userCancelled&&this.deps.eventBus.emit(`editCommitAborted`,{rowId:e.id,colId:t.colId,rowIndex:e.rowIndex}),this.deps.eventBus.emit(`cellCommitFinished`,{rowId:e.id,colId:t.colId,rowIndex:e.rowIndex,committed:!1,aborted:o.userCancelled}),!1):(this.deps.eventBus.emit(`cellCommitFinished`,{rowId:e.id,colId:t.colId,rowIndex:e.rowIndex,committed:c.ok===!0,aborted:!1}),c.ok===!0)}};function jp(e,t){if(t.cellEditor===`checkbox`){let n=Rt(t);return tn(en(e,n),n)}if(t.cellEditor===`switch`){let n=zt(t);return Yt(qt(e,n),n)}return e==null?``:String(e)}var Mp=`mg-selection-checkbox`,Np=`mg-selection-checkbox--header`;function Pp(e){let t=document.createElement(`input`);return t.type=`checkbox`,t.className=Mp,t.setAttribute(`aria-label`,e.ariaLabel),Fp(t,e),t}function Fp(e,t){e.checked=t.checked,e.indeterminate=!!t.indeterminate,e.disabled=!!t.disabled,e.classList.toggle(`mg-selection-checkbox--disabled`,!!t.disabled),e.setAttribute(`aria-checked`,t.indeterminate?`mixed`:String(t.checked))}function Ip(e){return e.querySelector(`input.${Mp}`)}function Lp(e,t){return t.rowLabel?.(e)??`选择第 ${e+1} 行`}function Rp(e,t,n=new Set){let r=e.getRowCount();if(r===0)return{checked:!1,indeterminate:!1};let i=0,a=0;for(let o=0;o<r;o+=1){let r=e.getRow(o);r&&(He(r)||L(r)||(i++,t.has(r.id)&&!n.has(r.id)&&a++))}return a===0?{checked:!1,indeterminate:!1}:a===i?{checked:!0,indeterminate:!1}:{checked:!1,indeterminate:!0}}function zp(e,n){let{selectionColumnOptions:r,selectedIds:i,indeterminateIds:a,rowModel:o}=n;if(!r.enabled||r.mode!==`multiple`)return;let s=e.querySelector(`.mg-header-cell[data-col-id="${t.J}"]`);if(!s)return;let c=Ip(s);c&&Fp(c,Rp(o,i,a??new Set))}function Bp(e,t){let n=[...e.getLeftFixedColumnIndices()],r=[...e.getRightFixedColumnIndices()],i=[];if(t.lastCol>=t.firstCol)for(let n of e.getCenterColumnIndices())n>=t.firstCol&&n<=t.lastCol&&i.push(n);return{left:n,center:i,right:r}}function Vp(e,t){let n=t.getLeftFixedWidth(),r=t.getLeftFixedColumnIndices(),i=t.getRightFixedColumnIndices(),a=n+t.getCenterTotalWidth(),o=Wp(t,e.colId),s=o>=0&&o===t.getColumnCount()-1;if(e.fixed===`left`){let t=r[r.length-1];return{left:e.left,width:e.width,fixed:`left`,isLastLeftFixed:t!==void 0&&t===o,isLastColumn:s}}if(e.fixed===`right`){let t=i[0];return{left:e.left-a,width:e.width,fixed:`right`,isFirstRightFixed:t!==void 0&&t===o,isLastColumn:s}}let c=t.getCenterColumnIndices(),l=c[c.length-1];return{left:e.left,width:e.width,fixed:null,isLastCenter:i.length>0&&l!==void 0&&l===o,isLastColumn:s}}function Hp(e,t,n){e.style.width=`${t.width}px`,e.style.left=`${t.left}px`,e.style.removeProperty(`right`),e.style.removeProperty(`transform`),e.classList.remove(`${n}--fixed-left`,`${n}--fixed-right`,`${n}--fixed-left-last`,`${n}--center-last`,`${n}--column-last`,`${n}--fixed-right-first`),t.fixed===`left`?(e.classList.add(`${n}--fixed-left`),t.isLastLeftFixed&&e.classList.add(`${n}--fixed-left-last`)):t.fixed===`right`?(e.classList.add(`${n}--fixed-right`),t.isFirstRightFixed&&e.classList.add(`${n}--fixed-right-first`)):t.isLastCenter&&e.classList.add(`${n}--center-last`),t.isLastColumn&&e.classList.add(`${n}--column-last`)}function Up(e,t,n){e.querySelectorAll(`[data-col-id]`).forEach(e=>{if(!(e instanceof HTMLElement))return;let r=e.dataset.colId;if(!r)return;let i=t.getColumnById(r);i&&Hp(e,Vp(i,t),n)})}function Wp(e,t){for(let n=0;n<e.getColumnCount();n++)if(e.getColumn(n)?.colId===t)return n;return-1}var Gp={left:`--align-h-left`,center:`--align-h-center`,right:`--align-h-right`},Kp={top:`--align-v-top`,center:`--align-v-center`,bottom:`--align-v-bottom`},qp=[...Object.values(Gp),...Object.values(Kp)];function Jp(e={}){return{headerAlign:e.headerAlign,headerValign:e.headerValign,align:e.align,valign:e.valign,footerAlign:e.footerAlign,footerValign:e.footerValign}}function Yp(e,t={}){return{headerAlign:e.headerAlign??t.headerAlign??`center`,headerValign:e.headerValign??t.headerValign??`center`,align:e.align??t.align??`center`,valign:e.valign??t.valign??`center`,footerAlign:e.footerAlign??t.footerAlign??`center`,footerValign:e.footerValign??t.footerValign??`center`}}function Xp(e,t,n,r){for(let t of qp)e.classList.remove(`${r}${t}`);e.classList.add(`${r}${Gp[t]}`),e.classList.add(`${r}${Kp[n]}`)}var Zp=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`circle`,{cx:`12`,cy:`19`,r:`1`}]],Qp=[[`path`,{d:`m5 12 7-7 7 7`}],[`path`,{d:`M12 19V5`}]],$p=[[`path`,{d:`M12 5v14`}],[`path`,{d:`m19 12-7 7-7-7`}]],em=[[`path`,{d:`M12 2v20`}],[`path`,{d:`m15 19-3 3-3-3`}],[`path`,{d:`m19 9 3 3-3 3`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`m5 9-3 3 3 3`}],[`path`,{d:`m9 5 3-3 3 3`}]],tm=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M11 4h10`}],[`path`,{d:`M11 8h7`}],[`path`,{d:`M11 12h4`}]],nm=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M11 12h10`}],[`path`,{d:`M11 16h7`}],[`path`,{d:`M11 20h4`}]],rm=[[`path`,{d:`M3 6h18`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M10 18h4`}]],im=[[`path`,{d:`M12 17v5`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3.76`}]],am=[[`path`,{d:`M12 17v5`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3.76`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],om=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}]],sm=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}]],cm=[[`path`,{d:`m9 18 6-6-6-6`}]],lm=[[`path`,{d:`M13.5 10.5 22 2`}],[`path`,{d:`M14.734 13.841a2 2 0 0 0-.314-2.42L12.58 9.58a2 2 0 0 0-2.421-.314l-7.657 4.461A1 1 0 0 0 2.3 15.3l6.403 6.403a1 1 0 0 0 1.571-.204z`}],[`path`,{d:`m5 18 2-2`}],[`path`,{d:`m7.699 10.7 5.602 5.601`}]],um=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]],dm=[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],fm=[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`}],[`path`,{d:`m2 2 20 20`}]],pm=[[`path`,{d:`M12 2v4`}],[`path`,{d:`m16.2 7.8 2.9-2.9`}],[`path`,{d:`M18 12h4`}],[`path`,{d:`m16.2 16.2 2.9 2.9`}],[`path`,{d:`M12 18v4`}],[`path`,{d:`m7.8 16.2-2.9 2.9`}],[`path`,{d:`M2 12h4`}],[`path`,{d:`m7.8 7.8-2.9-2.9`}]],mm=[[`polyline`,{points:`15 10 20 15 15 20`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`}]],hm=[[`polyline`,{points:`9 14 4 9 9 4`}],[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`}]],gm=[[`path`,{d:`M14 17H5`}],[`path`,{d:`M19 7h-9`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}],[`circle`,{cx:`7`,cy:`7`,r:`3`}]];function X(e,t,n){let r=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);r.setAttribute(`class`,e),n!=null&&(r.setAttribute(`width`,String(n)),r.setAttribute(`height`,String(n))),r.setAttribute(`viewBox`,`0 0 24 24`),r.setAttribute(`fill`,`none`),r.setAttribute(`stroke`,`currentColor`),r.setAttribute(`stroke-width`,`2`),r.setAttribute(`stroke-linecap`,`round`),r.setAttribute(`stroke-linejoin`,`round`),r.setAttribute(`aria-hidden`,`true`);for(let[e,n]of t){let t=document.createElementNS(`http://www.w3.org/2000/svg`,e);for(let[e,r]of Object.entries(n))t.setAttribute(e,String(r));r.appendChild(t)}return r}function _m(){return X(`mg-header-icon mg-header-icon--column-handle`,Zp,14)}function vm(e){let t=e===`asc`?Qp:$p;return X(`mg-sort-icon mg-sort-icon--${e}`,t,14)}function ym(){return X(`mg-header-indicator-icon mg-header-indicator-icon--filter`,rm,14)}function bm(){return X(`mg-header-indicator-icon mg-header-indicator-icon--sort-filter-asc`,nm,14)}function xm(){return X(`mg-header-indicator-icon mg-header-indicator-icon--sort-filter-desc`,tm,14)}function Sm(){let e=document.createDocumentFragment();return e.append(vm(`asc`),vm(`desc`)),e}function Cm(){return X(`mg-column-drag-ghost__move-icon`,em,16)}function wm(){return X(`mg-header-icon mg-header-icon--floating-filter`,rm,14)}function Tm(){return vm(`asc`)}function Em(){return vm(`desc`)}function Dm(){return X(`mg-column-handle-menu__icon mg-column-handle-menu__icon--sort-clear`,lm,14)}function Om(){return X(`mg-column-handle-menu__icon mg-column-handle-menu__icon--pin`,im,14)}function km(){return X(`mg-column-handle-menu__icon mg-column-handle-menu__icon--pin-off`,am,14)}function Am(){return X(`mg-column-handle-menu__icon mg-column-handle-menu__icon--pin-left`,om,14)}function jm(){return X(`mg-column-handle-menu__icon mg-column-handle-menu__icon--pin-right`,sm,14)}function Mm(){return X(`mg-column-handle-menu__icon mg-column-handle-menu__icon--chevron`,cm,14)}function Nm(){return X(`mg-column-handle-menu__icon mg-column-handle-menu__icon--visibility`,um,14)}function Pm(){return X(`mg-column-handle-menu__icon mg-column-handle-menu__icon--hide-column`,fm,14)}function Fm(){return X(`mg-column-handle-menu__icon mg-column-handle-menu__icon--show-column`,dm,14)}function Im(){return X(`mg-cell__row-expand__icon`,cm,16)}function Lm(){return X(`mg-cell__tree-expand__loading-icon`,pm,16)}function Rm(){return X(`mg-column-settings-menu__icon-svg`,mm)}function zm(){return X(`mg-column-settings-menu__icon-svg`,hm)}function Bm(){return X(`mg-cell__tree-hierarchy-trigger__icon`,gm,14)}var Vm=[[`path`,{d:`M13 21h8`}],[`path`,{d:`m15 5 4 4`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]];function Hm(){return X(`mg-cell__editable-indicator-icon`,Vm,14)}var Um=[[`path`,{d:`m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982`}],[`path`,{d:`m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353`}],[`path`,{d:`m15 5 4 4`}],[`path`,{d:`m2 2 20 20`}]];function Wm(){return X(`mg-cell__disabled-indicator-icon`,Um,14)}function Gm(e){let{current:t,colId:n,sortable:r}=e;if(!r)return Zi(t);let i=Zi(t).find(e=>e.colId===n);return i?i.sort===`asc`?[{colId:n,sort:`desc`}]:[]:[{colId:n,sort:`asc`}]}function Km(e,t){return t.find(t=>t.colId===e)?.sort??null}function qm(e){return e===`asc`?`ascending`:e===`desc`?`descending`:`none`}var Jm=class{deps;constructor(e){this.deps=e}toggleSort(e){if(!this.deps.getColumnById(e)?.sortable)return;let t=Gm({current:this.deps.getSortModel(),colId:e,sortable:!0});this.deps.setSortModel(t)}getSortState(e){return Km(e,this.deps.getSortModel())}},Ym=`mg-header-cell--filtered`,Xm=`.mg-header-cell__column-handle`;function Zm(e){return e??`center`}function Qm(e,t,n,r){let i=t.sortable?Km(e,n):null,a=t.filterable?oi(e,r):!1;return i&&a?i===`asc`?`sort-filter-asc`:`sort-filter-desc`:i?i===`asc`?`sort-asc`:`sort-desc`:a?`filter`:null}function $m(e){switch(e){case`sort-asc`:return vm(`asc`);case`sort-desc`:return vm(`desc`);case`filter`:return ym();case`sort-filter-asc`:return bm();case`sort-filter-desc`:return xm()}}function eh(e,t,n){let r=e.querySelector(`.mg-header-cell__sort`);return r||(r=document.createElement(`span`),r.className=`mg-header-cell__sort`,r.setAttribute(`aria-hidden`,`true`),n?e.insertBefore(r,t):e.append(r)),r}function th(e){e.querySelector(`.mg-header-cell__sort`)?.remove()}function nh(e,t,n,r,i){let a=e.querySelector(`.mg-header-cell__label`);if(!a)return;let o=a.querySelector(`.mg-header-cell__text`);if(!o)return;let s=Zm(t.headerAlign)===`right`,c=Qm(t.colId,t,n,r);if(e.classList.remove(`mg-header-cell--sort-hint`),c){eh(a,o,s).replaceChildren($m(c));return}if(t.sortable&&i){eh(a,o,s).replaceChildren(Sm()),e.classList.add(`mg-header-cell--sort-hint`);return}th(a)}function rh(e,t,n){let r=oi(t,n);e.classList.toggle(Ym,r);let i=e.querySelector(Xm);i&&(r?i.setAttribute(`aria-pressed`,`true`):i.removeAttribute(`aria-pressed`))}function ih(e,t,n,r,i){if(rh(e,t.colId,r),!t.sortable)e.classList.remove(`mg-header-cell--sortable`,`mg-header-cell--sorted`,`mg-header-cell--sorted-asc`,`mg-header-cell--sorted-desc`,`mg-header-cell--sort-hint`),e.removeAttribute(`aria-sort`);else{e.classList.toggle(`mg-header-cell--sortable`,i.enableHeaderSortClick),e.setAttribute(`role`,`columnheader`);let r=Km(t.colId,n);e.setAttribute(`aria-sort`,qm(r)),e.classList.remove(`mg-header-cell--sorted-asc`,`mg-header-cell--sorted-desc`,`mg-header-cell--sorted`),r===`asc`?e.classList.add(`mg-header-cell--sorted`,`mg-header-cell--sorted-asc`):r===`desc`&&e.classList.add(`mg-header-cell--sorted`,`mg-header-cell--sorted-desc`)}nh(e,t,n,r,t.sortable&&i.showUnsortedSortHintOnHover&&i.enableHeaderSortClick)}function ah(e,t){let n=Array.isArray(e)?e:[e],r={showUnsortedSortHintOnHover:t.showUnsortedSortHintOnHover,enableHeaderSortClick:t.enableHeaderSortClick};for(let e of n){let n=Array.from(e.querySelectorAll(`.mg-header-cell[data-col-id]`));for(let e of n){let n=e.dataset.colId;if(!n)continue;let i=t.getColumnById(n);i&&ih(e,i,t.sortModel,t.filterModel,r)}}}var oh=`mg-cell__group-content`,sh=`mg-cell__group-label`,ch=`mg-cell__group-count`;function lh(e,t,n){let r=n>0?`,${n} 条`:``;return t?`折叠分组 ${e}${r}`:`展开分组 ${e}${r}`}function uh(e,t){return e.groupFooterLabel??t.getGroupFooterLabel?.()??`小计`}function dh(e,t){return Ve(t)&&e.showGroupFooterCell&&!ve(e)}function fh(e,t,n){let r={visible:!1,showChevron:!1,expanded:!1,indentLevel:0,label:``,showCount:!1,count:0,ariaLabel:``};if(!t.active())return r;if(Be(e)){if(n&&!Ee(n))return r;let i=e.sourceGroupId??ze(e.id)??e.groupId??``,a=e.groupKey??``,o=e.groupLeafCount??0,s=i?t.isExpanded(i):!1;return{visible:!0,showChevron:!!i,expanded:s,indentLevel:e.groupLevel??0,label:a,showCount:o>0,count:o,ariaLabel:lh(a,s,o)}}if(Ve(e)){if(n&&!De(n))return r;let i=n?uh(n,t):t.getGroupFooterLabel?.()??`小计`;return{visible:!0,showChevron:!1,expanded:!1,indentLevel:e.groupLevel??0,label:i,showCount:!1,count:0,ariaLabel:i}}return z(e),r}function ph(e){return`(${e})`}function mh(){let e=document.createElement(`button`);return e.type=`button`,e.className=de,e.setAttribute(`aria-expanded`,`false`),e.appendChild(Im()),e}function hh(e,t){if(!t.showChevron){e.hidden=!0,e.classList.remove(fe),e.setAttribute(`aria-expanded`,`false`);return}e.hidden=!1,e.setAttribute(`aria-label`,t.ariaLabel),e.setAttribute(`aria-expanded`,String(t.expanded)),e.classList.toggle(fe,t.expanded)}function gh(e,t){for(let t=e.classList.length-1;t>=0;--t){let n=e.classList.item(t);n?.startsWith(`mg-cell__group-indent-`)&&e.classList.remove(n)}e.classList.add(`${pe}${Math.max(0,t)}`),e.style.paddingLeft=`${Math.max(0,t)*16}px`}function _h(e,t,n,r,i){e.classList.toggle(ge,i.visible),gh(e,i.indentLevel),t&&hh(t,i),n.textContent=i.label,n.hidden=i.label.length===0,i.showCount&&i.count>0?(r.textContent=ph(i.count),r.hidden=!1):(r.textContent=``,r.hidden=!0)}function vh(e,t,n,r){if(r){if(t)return t;let r=mh();return e.insertBefore(r,n),r}return t&&t.remove(),null}function yh(e,t){return B(e.colId)&&V(t)}function bh(e,t){return t?`折叠 ${e}`:`展开 ${e}`}function xh(e,t){let n={visible:!1,showChevron:!1,expanded:!1,indentLevel:0,label:``,showCount:!1,count:0,ariaLabel:``};if(!t.active()||!V(e))return n;let r=t.getTreeValue?.(e)??e.dataPath?.[e.dataPath.length-1]??``,i=t.isExpanded(e.id),a=t.isTreeNodeLoading?.(e.id)??!1;return{visible:!0,showChevron:t.isTreeNodeExpandable?.(e)??e.treeLeaf!==!0,expanded:i,loading:a,indentLevel:e.treeLevel??0,label:r,showCount:!1,count:0,ariaLabel:bh(r,i),hierarchyActions:t.getTreeHierarchyActions?.(e)}}function Sh(){let e=mh();return e.className=Ke,e}function Ch(e,t){if(wh(e,!!t.loading),!t.showChevron){e.hidden=!0,e.classList.remove(qe,Je),e.disabled=!1,e.setAttribute(`aria-expanded`,`false`),e.setAttribute(`aria-busy`,`false`),e.setAttribute(`aria-hidden`,`true`),e.setAttribute(`tabindex`,`-1`);return}e.hidden=!1,e.removeAttribute(`aria-hidden`),e.removeAttribute(`tabindex`),e.setAttribute(`aria-label`,t.ariaLabel),e.setAttribute(`aria-expanded`,String(t.expanded&&!t.loading)),e.classList.toggle(qe,t.expanded&&!t.loading),e.classList.toggle(Je,!!t.loading),e.disabled=!!t.loading,e.setAttribute(`aria-busy`,t.loading?`true`:`false`)}function wh(e,t){let n=e.querySelector(`.mg-cell__row-expand__icon`),r=e.querySelector(`.mg-cell__tree-expand__loading-icon`);if(t){if(n instanceof SVGElement&&n.setAttribute(`hidden`,`hidden`),!(r instanceof SVGElement)){e.appendChild(Lm());return}r.removeAttribute(`hidden`);return}if(r instanceof SVGElement&&r.remove(),n instanceof SVGElement){n.removeAttribute(`hidden`);return}e.appendChild(Im())}function Th(e,t){let n=Math.max(0,e);return t||n<=1?n:n-1}function Eh(e){return Math.max(0,e)>1}function Dh(e,t,n){let r=n?.isExpandable===void 0?t:Th(t,n.isExpandable);for(let t=e.classList.length-1;t>=0;--t){let n=e.classList.item(t);(n?.startsWith(`mg-cell__tree-indent-`)||n?.startsWith(`mg-cell__group-indent-`))&&e.classList.remove(n)}e.classList.add(`${Ye}${Math.max(0,r)}`),e.style.paddingLeft=`${Math.max(0,r)*16}px`}function Oh(){let e=document.createElement(`button`);return e.type=`button`,e.className=Xe,e.setAttribute(`aria-label`,`层级操作`),e.setAttribute(`aria-haspopup`,`menu`),e.title=`层级操作`,e.appendChild(Bm()),e}function kh(e){e.setAttribute(`aria-label`,`层级操作`),e.title=`层级操作`,e.disabled=!1}function Ah(e,t,n){if(!n?.visible)return t?.remove(),null;let r=t;r||(r=document.createElement(`div`),r.className=Ze,r.append(Oh()),e.append(r));let i=r.querySelector(`button.${Xe}`);return i&&kh(i),r}function jh(e){return e instanceof Element?e.closest(`button.${Xe}`):null}function Mh(e,t,n,r,i){return e.classList.toggle(Qe,r.visible),e.classList.toggle(ge,r.visible),Dh(e,r.indentLevel,{isExpandable:r.showChevron}),t&&Ch(t,r),n.textContent=r.label,n.hidden=r.label.length===0,Ah(e,i??null,r.hierarchyActions)}function Nh(e,t,n,r,i=0){if(r){if(t)return t;let r=Sh();return e.insertBefore(r,n),r}if(!Eh(i))return t&&t.remove(),null;if(t)return t.hidden=!0,t.classList.remove(qe,Je),t.setAttribute(`aria-hidden`,`true`),t.setAttribute(`tabindex`,`-1`),t;let a=Sh();return a.hidden=!0,a.setAttribute(`aria-hidden`,`true`),a.setAttribute(`tabindex`,`-1`),e.insertBefore(a,n),a}function Ph(e){return e?`全部收起`:`全部展开`}function Fh(e,t,n=!1){let r=document.createElement(`div`);r.className=`mg-header-cell__label`;let i=Sh();Ih(i,n);let a=document.createElement(`span`);a.className=`mg-header-cell__text`,a.textContent=t.label??t.prop??`树`,r.append(i,a),e.append(r),e.classList.add(`mg-header-cell--tree`)}function Ih(e,t){Ch(e,{showChevron:!0,expanded:t,loading:!1,ariaLabel:Ph(t)})}function Lh(e,t){for(let n of e){let e=n.querySelector(`.mg-header-cell--tree .${Ke}`);if(e){Ih(e,t);return}}}var Rh=`mg-header-cell__required-mark`,zh=`mg-header-cell__text-content`;function Bh(){let e=document.createElement(`span`);return e.className=Rh,e.textContent=`*`,e.setAttribute(`aria-hidden`,`true`),e}function Vh(e){if(e.querySelector(`.${zh}`))return;let t=document.createElement(`span`);t.className=zh,t.textContent=e.textContent??``,e.textContent=``,e.append(t)}function Hh(e){let t=e.querySelector(`.${zh}`);t&&(e.textContent=t.textContent??``)}function Uh(e,t){e.classList.toggle(`mg-header-cell--required`,t);let n=e.querySelector(`.mg-header-cell__text`);if(!n)return;let r=n.querySelector(`.${Rh}`);if(!t){r?.remove(),Hh(n);return}Vh(n);let i=r??Bh();(i.parentElement!==n||i!==n.firstElementChild)&&n.insertBefore(i,n.firstChild)}function Wh(e){return e??`center`}function Gh(){let e=document.createElement(`div`);return e.className=`mg-header-cell__label`,e}function Kh(e){let n=document.createElement(`span`);return n.className=`mg-header-cell__text`,n.textContent=t.it(e.colId)?e.label??``:e.label??e.prop??e.colId,n}function qh(e){return t.it(e.colId)||t.X(e.colId)||A(e.colId)||B(e.colId)?!1:e.sortable||e.movable||e.filterable}function Jh(e){let t=document.createElement(`span`);return t.className=`mg-header-cell__column-handle`,t.title=`列操作`,t.setAttribute(`aria-haspopup`,`menu`),t.setAttribute(`aria-expanded`,`false`),t.tabIndex=-1,t.dataset.columnHandleMovable=e.movable?`true`:`false`,t.dataset.columnHandleSortable=e.sortable?`true`:`false`,t.dataset.columnHandleFilterable=e.filterable?`true`:`false`,t.append(_m()),t}function Yh(e){if(!qh(e))return null;let t=document.createElement(`div`);return t.className=`mg-header-cell__chrome`,t.append(Jh({movable:e.movable,sortable:e.sortable,filterable:e.filterable})),t}function Xh(){let e=document.createElement(`div`);return e.className=`mg-header-cell__resize-handle`,e.setAttribute(`role`,`presentation`),e.dataset.resizable=`true`,e}function Zh(e,t){t&&e.append(Xh())}function Qh(e,t){let n=Wh(t.headerAlign),r=Gh(),i=Kh(t);r.append(i);let a=Yh(t);n===`right`&&a?e.append(a,r):a?e.append(r,a):e.append(r)}function $h(e,n){let r=qh(n),i=!t.it(n.colId)&&!t.X(n.colId)&&!A(n.colId)&&!B(n.colId);e.classList.toggle(`mg-header-cell--has-column-handle`,r),e.classList.toggle(`mg-header-cell--movable`,i&&n.movable),e.classList.toggle(`mg-header-cell--filterable`,i&&n.filterable)}function eg(e,t){e.classList.toggle(`mg-header-cell--resizable`,t.resizable)}function tg(e,n,r){let i=document.createElement(`div`);if(i.className=`mg-header-cell`,i.dataset.colId=e.colId,t.X(e.colId))if(i.classList.add(`mg-header-cell--selection`),r.selectionColumnOptions?.enabled&&r.selectionColumnOptions.mode===`multiple`){let e=Pp({checked:!1,ariaLabel:r.selectionColumnOptions.selectionColumn.selectAllLabel});e.classList.add(Np),i.append(e)}else{let e=document.createElement(`span`);e.className=`mg-header-cell__text`,e.textContent=``,i.append(e)}else if(t.it(e.colId)){let t=Kh(e);i.append(t),i.classList.add(`mg-header-cell--index`)}else if(A(e.colId)){let e=document.createElement(`span`);e.className=`mg-header-cell__text`,e.textContent=``,i.append(e),i.classList.add(`mg-header-cell--expand`)}else if(R(e.colId)){let t=document.createElement(`span`);t.className=`mg-header-cell__text`,t.textContent=e.label??`分组`,i.append(t),i.classList.add(`mg-header-cell--group`)}else B(e.colId)?(Fh(i,e,r.getTreeHeaderExpanded?.()??!1),Zh(i,e.resizable)):(Qh(i,e),Zh(i,e.resizable));return ih(i,e,r.sortModel,r.filterModel,{showUnsortedSortHintOnHover:r.showUnsortedSortHintOnHover,enableHeaderSortClick:r.enableHeaderSortClick}),$h(i,e),eg(i,e),Hp(i,Vp(e,n),`mg-header-cell`),Xp(i,e.headerAlign,e.headerValign,`mg-header-cell`),Uh(i,e.validationRequired===!0),r.validationFeedback.hasColErrors(e.colId)&&i.classList.add(`mg-header-cell--invalid`),i}function ng(e,t,n,r,i,a,o,s,c={},l){e.replaceChildren();let u={sortModel:r,validationFeedback:i,showUnsortedSortHintOnHover:a,enableHeaderSortClick:o,selectionColumnOptions:s,filterModel:c,getTreeHeaderExpanded:l};for(let r of t){let t=n.getColumn(r);t&&e.appendChild(tg(t,n,u))}}function rg(e){let{headerLeftLaneEl:t,headerCenterLaneEl:n,headerRightLaneEl:r,columnModel:i,centerWindow:a,sortModel:o,validationFeedback:s,selectionColumnOptions:c,showUnsortedSortHintOnHover:l=!1,enableHeaderSortClick:u=!0,filterModel:d={},getTreeHeaderExpanded:f}=e,p=Bp(i,a);t.style.width=`${i.getLeftFixedWidth()}px`,n.style.width=`${i.getCenterTotalWidth()}px`,r.style.width=`${i.getRightFixedWidth()}px`,ng(t,p.left,i,o,s,l,u,c,d,f),ng(n,p.center,i,o,s,l,u,c,d,f),ng(r,p.right,i,o,s,l,u,c,d,f)}function ig(e,t,n,r){e.style.width=`${r.getLeftFixedWidth()}px`,t.style.width=`${r.getCenterTotalWidth()}px`,n.style.width=`${r.getRightFixedWidth()}px`}function ag(e,t,n,r){Up(e,r,`mg-header-cell`),Up(t,r,`mg-header-cell`),Up(n,r,`mg-header-cell`)}function og(e){let t=new Map;for(let n of e)for(let e of n.querySelectorAll(`.mg-header-cell[data-col-id]`)){if(!(e instanceof HTMLElement))continue;let n=e.dataset.colId;n&&t.set(n,e)}return t}function sg(e,t,n,r,i){let a=new Set;for(let o of t){let t=n.getColumn(o);if(!t||t.hidden)continue;a.add(t.colId);let s=r.get(t.colId);!s&&i&&(s=tg(t,n,i),r.set(t.colId,s)),s&&e.appendChild(s)}if(i)for(let t of[...e.children]){if(!(t instanceof HTMLElement))continue;let e=t.dataset.colId;e&&!a.has(e)&&t.remove()}}function cg(e){let{headerLeftLaneEl:t,headerCenterLaneEl:n,headerRightLaneEl:r,columnModel:i,centerWindow:a,fillColumnWindowGaps:o=!1,sortModel:s,validationFeedback:c,selectionColumnOptions:l,showUnsortedSortHintOnHover:u=!1,enableHeaderSortClick:d=!0,filterModel:f={},getTreeHeaderExpanded:p}=e,m=Bp(i,a),h=o&&s&&c?{sortModel:s,validationFeedback:c,showUnsortedSortHintOnHover:u,enableHeaderSortClick:d,selectionColumnOptions:l,filterModel:f,getTreeHeaderExpanded:p}:void 0;ig(t,n,r,i);let g=og([t,n,r]);sg(t,m.left,i,g,h),sg(n,m.center,i,g,h),sg(r,m.right,i,g,h)}var lg=class{registry=new Map;invalidColIds=new Set;domStates=[];showCellInvalid(e){this.setRowCellInvalid(e.rowId,e.rowElement,{colId:e.colId,errors:e.errors,editorMountEl:e.editorMountEl})}showCellsInvalid(e){this.setRowInvalid(e.rowId,e.rowElement,e.cells)}setRowInvalid(e,t,n){this.clearRowDom(e,t);let r=new Map;for(let i of n)i.errors.length&&(r.set(i.colId,i.errors),t&&this.applyCellDom(e,t,i));r.size===0?this.registry.delete(e):this.registry.set(e,r),this.rebuildInvalidColIds()}applyGridValidationFeedback(e,t){let n=new Set(t.map(e=>e.rowId));for(let t of[...this.registry.keys()])if(!n.has(t)){let n=this.findRowElement(e,t);this.clearRow(t,n)}for(let n of t){let t=this.findRowElement(e,n.rowId);this.setRowInvalid(n.rowId,t,n.cells)}}applyRowsValidationFeedback(e,t){for(let n of t){let t=this.findRowElement(e,n.rowId);this.setRowInvalid(n.rowId,t,n.cells)}}clearRow(e,t){this.clearRowDom(e,t??null),this.registry.delete(e),this.rebuildInvalidColIds()}clearRowCell(e,t,n){let r=this.registry.get(e);if(r?.delete(n),r?.size===0&&this.registry.delete(e),t){let e=t.querySelector(`.mg-cell[data-col-id="${n}"]`);e?.classList.remove(`mg-cell--invalid`),e?.removeAttribute(`title`)}let i=[];for(let t of this.domStates)(t.rowId!==e||t.colId!==n)&&i.push(t);this.domStates=i,this.rebuildInvalidColIds()}setRowCellInvalid(e,t,n){if(!n.errors.length){this.clearRowCell(e,t,n.colId);return}if(t){for(let r of this.domStates)r.rowId===e&&r.colId===n.colId&&this.removeCellDom(r,t);this.domStates=this.domStates.filter(t=>t.rowId!==e||t.colId!==n.colId)}let r=this.registry.get(e);r||(r=new Map,this.registry.set(e,r)),r.set(n.colId,n.errors),t&&this.applyCellDom(e,t,n),this.rebuildInvalidColIds()}clear(e){e&&this.removeRegistryDom(e),this.domStates=[],this.registry.clear(),this.rebuildInvalidColIds()}syncDom(e){for(let t of e.querySelectorAll(`.mg-cell--invalid`)){let e=t.closest(`.mg-row[data-row-id]`)?.getAttribute(`data-row-id`),n=t.getAttribute(`data-col-id`);(e&&n?this.registry.get(e)?.get(n):void 0)?.length||(t.classList.remove(`mg-cell--invalid`),t.removeAttribute(`title`))}for(let[t,n]of this.registry){let r=this.findRowElement(e,t);if(r)for(let[e,t]of n){if(!t.length)continue;let n=t.join(`
2
- `),i=r.querySelector(`.mg-cell[data-col-id="${e}"]`);i&&(i.classList.add(`mg-cell--invalid`),i.getAttribute(`title`)!==n&&i.setAttribute(`title`,n))}}this.rebuildDomStatesFromRegistry(e)}hasInvalidCells(){return this.registry.size>0}hasColErrors(e){return this.invalidColIds.has(e)}getInvalidColIds(){return this.invalidColIds}syncHeaderDom(e,t){for(let n of t){let t=e.querySelector(`.mg-header-cell[data-col-id="${n.colId}"]`);t&&(Uh(t,n.validationRequired===!0),t.classList.toggle(`mg-header-cell--invalid`,this.invalidColIds.has(n.colId)))}}getRegistry(){return this.registry}migrateRowId(e,t,n){let r=this.registry.get(e);r&&(this.registry.delete(e),this.registry.set(t,r));for(let n of this.domStates)n.rowId===e&&(n.rowId=t);let i=this.findRowElement(n,e);i&&(i.dataset.rowId=t)}rebuildDomStatesFromRegistry(e){let t=new Map;for(let e of this.domStates)t.set(`${e.rowId}:${e.colId}`,e.editorMountEl);let n=[];for(let[r,i]of this.registry)if(this.findRowElement(e,r))for(let[e,a]of i)a.length&&n.push({rowId:r,colId:e,editorMountEl:t.get(`${r}:${e}`)??null});this.domStates=n}rebuildInvalidColIds(){let e=new Set;for(let t of this.registry.values())for(let n of t.keys())e.add(n);this.invalidColIds=e}findRowElement(e,t){return e.querySelector(`.mg-row[data-row-id="${t}"]`)}clearRowDom(e,t){let n=[];for(let r of this.domStates){if(r.rowId!==e){n.push(r);continue}t&&this.removeCellDom(r,t)}this.domStates=n}applyCellDom(e,t,n){let r=n.errors.join(`
3
- `),i=t.querySelector(`.mg-cell[data-col-id="${n.colId}"]`);i?.classList.add(`mg-cell--invalid`),i?.setAttribute(`title`,r),this.domStates.push({rowId:e,colId:n.colId,editorMountEl:n.editorMountEl??null})}removeCellDom(e,t){let n=t.querySelector(`.mg-cell[data-col-id="${e.colId}"]`);n?.classList.remove(`mg-cell--invalid`),n?.removeAttribute(`title`)}removeRegistryDom(e){for(let[t,n]of this.registry){let r=this.findRowElement(e,t);if(r)for(let e of n.keys()){let t=r.querySelector(`.mg-cell[data-col-id="${e}"]`);t?.classList.remove(`mg-cell--invalid`),t?.removeAttribute(`title`)}}}};function Z(e,t){return t.fromInternal(e)}function ug(e,t){return t.fromInternalList(e)}function dg(e,n,r){let{rowNode:i,...a}=e;return{...a,rowId:Z(e.rowId,n),data:i?t.N(i,r.rowKey):{}}}function fg(e,n,r){let i=t.S(r);switch(e){case`cellFocused`:{let e=n;return{...e,rowId:Z(e.rowId,i),data:t.N(e.rowNode,r.rowKey)}}case`cellClicked`:{let e=n;return{...e,rowId:Z(e.rowId,i),data:t.N(e.rowNode,r.rowKey)}}case`rowClicked`:case`rowDoubleClicked`:{let e=n;return{...e,rowId:Z(e.rowId,i),data:t.N(e.rowNode,r.rowKey)}}case`selectionChanged`:{let e=n;return{selectedRowIds:ug(e.selectedRowIds,i),selectedRows:t.v(e.selectedRowIds,r),source:e.source}}case`indexFocusChanged`:{let e=n;return{focusedRowIds:ug(e.focusedRowIds,i),focusedRows:t.v(e.focusedRowIds,r)}}case`cellValueChanged`:{let e=n;return{...e,rowId:Z(e.rowId,i),data:t.N(e.rowNode,r.rowKey)}}case`rowDataChanged`:{let e=n,{rowNode:t,...r}=e;return{...r,rowId:Z(e.rowId,i)}}case`rowsDataChanged`:{let e=n;return{batchId:e.batchId,sources:e.sources,rows:e.rows.map(e=>({...e,rowId:Z(e.rowId,i)}))}}case`cellEditingStarted`:{let e=n,{rowNode:a,...o}=e;return{...o,rowId:Z(e.rowId,i),data:t.N(a,r.rowKey)}}case`cellEditingStopped`:{let e=n,{rowNode:a,...o}=e;return{...o,rowId:Z(e.rowId,i),data:a?t.N(a,r.rowKey):{}}}case`rowEditingStarted`:case`rowEditingStopped`:case`rowCommitStarted`:case`rowCommitFinished`:case`rowValidationFailed`:return dg(n,i,r);case`rowValueChanged`:{let e=n,{rowNode:a,...o}=e;return{...o,rowId:Z(e.rowId,i),rowNode:a,data:t.N(a,r.rowKey)}}case`cellCommitStarted`:case`cellCommitFinished`:{let e=n;return{...e,rowId:Z(e.rowId,i)}}case`editCommitAborted`:{let e=n;return{...e,rowId:e.rowId==null?e.rowId:Z(e.rowId,i)}}case`cellValidationFailed`:{let e=n;return{...e,rowId:Z(e.rowId,i)}}case`rowsAdded`:return{rows:n.rows.map(e=>({...e,rowId:t.E(e.data,r.rowKey,String(e.rowId),{isTransient:e.isTransient})}))};case`rowsRemoved`:return{rows:n.rows.map(e=>({...e,rowId:t.E(e.data,r.rowKey,String(e.rowId))}))};case`rowIdPromoted`:{let e=n,r=t.j(e.oldRowId)?null:Z(e.oldRowId,i);return{...e,oldRowId:r,newRowId:Z(e.newRowId,i)}}case`rowMoved`:{let e=n;return{...e,rowId:Z(e.rowId,i),parentRowId:e.parentRowId===void 0?void 0:e.parentRowId===null?null:Z(e.parentRowId,i)}}case`rowDragEnd`:{let e=n;return{...e,rowId:Z(e.rowId,i),rowIds:e.rowIds?ug(e.rowIds,i):void 0,parentRowId:e.parentRowId===void 0?void 0:e.parentRowId===null?null:Z(e.parentRowId,i)}}case`rowDragCommitStarted`:{let e=n;return{...e,rowId:Z(e.rowId,i),rowIds:ug(e.rowIds,i),leaderRowId:Z(e.leaderRowId,i),parentRowId:e.parentRowId===void 0?void 0:e.parentRowId===null?null:Z(e.parentRowId,i)}}case`rowDragCommitFinished`:{let e=n;return{...e,rowId:Z(e.rowId,i),leaderRowId:Z(e.leaderRowId,i)}}case`rowHeightChanged`:{let e=n;return{...e,rows:e.rows.map(e=>({...e,rowId:Z(e.rowId,i)}))}}case`rowExpanded`:case`rowCollapsed`:{let e=n;return{...e,rowId:Z(e.rowId,i)}}case`treeNodeOpened`:{let e=n;return{...e,rowId:Z(e.rowId,i)}}case`treeChildrenLoading`:case`treeChildrenLoaded`:case`treeChildrenLoadFailed`:{let e=n;return{...e,parentRowId:Z(e.parentRowId,i)}}case`cellCommentChanged`:{let e=n;return{...e,rowId:Z(e.rowId,i)}}default:return n}}var pg=class{listeners=new Map;destroyed=!1;projector=null;setProjector(e){this.projector=e}on(e,t){if(this.destroyed)return()=>void 0;let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n));let r=t;return n.add(r),()=>{n?.delete(r)}}emit(e,t){if(this.destroyed)return;let n=this.listeners.get(e);if(!n)return;let r=this.projector?this.projector(e,t):t;for(let e of n)e(r)}destroy(){this.destroyed=!0,this.listeners.clear(),this.projector=null}};function mg(e){return(t,n)=>fg(t,n,e)}var hg=class{mode;selectedIds=new Set;anchorIndex=-1;constructor(e=`single`){this.mode=e===`multiple`?`multiple`:`single`}getSelectedRowIds(){return[...this.selectedIds]}isSelected(e){return this.selectedIds.has(e)}clear(){this.selectedIds.clear(),this.anchorIndex=-1}removeRowIds(e){let t=!1;for(let n of e)this.selectedIds.delete(n)&&(t=!0);return t}migrateRowId(e,t){return this.selectedIds.has(e)?(this.selectedIds.delete(e),this.selectedIds.add(t),!0):!1}getAnchorIndex(){return this.anchorIndex}isMultiple(){return this.mode===`multiple`}setAnchorIndex(e){this.anchorIndex=e}selectRow(e,t,n,r={}){let{ctrlKey:i=!1,shiftKey:a=!1,toggleOnReselect:o=!1}=r;if(this.mode===`multiple`&&a&&this.anchorIndex>=0&&t>=0)return this.selectRangeBetween(this.anchorIndex,t,n,r.rangeSelection);if(this.mode===`multiple`&&i)return this.selectedIds.has(e)?this.selectedIds.delete(e):this.selectedIds.add(e),this.anchorIndex=t,!0;if(o&&this.selectedIds.has(e))return this.selectedIds.delete(e),this.anchorIndex===t&&(this.anchorIndex=-1),!0;if(this.mode===`multiple`&&o){let n=!this.selectedIds.has(e);return this.selectedIds.add(e),this.anchorIndex=t,n}let s=this.selectedIds.size!==1||!this.selectedIds.has(e);return this.selectedIds.clear(),this.selectedIds.add(e),this.anchorIndex=t,s}selectRangeBetween(e,t,n,r){let i=Math.min(e,t),a=Math.max(e,t),o=new Set;if(r){let{rowCount:e,getAllRowIdAt:t}=r;for(let r=0;r<e;r++){let e=t(r);if(!e)continue;let s=n(r),c=r>=i&&r<=a;if(s){c&&o.add(s);continue}this.selectedIds.has(e)&&o.add(e)}}else for(let e=i;e<=a;e++){let t=n(e);t&&o.add(t)}let s=o.size!==this.selectedIds.size||[...o].some(e=>!this.selectedIds.has(e));return this.selectedIds=o,s}addRangeToSelection(e,t,n,r){let i=Math.min(e,t),a=Math.max(e,t),o=new Set(r);for(let e=i;e<=a;e++){let t=n(e);t&&o.add(t)}let s=o.size!==this.selectedIds.size||[...o].some(e=>!this.selectedIds.has(e));return this.selectedIds=o,s}removeRangeFromSelection(e,t,n,r,i){let a=Math.min(e,t),o=Math.max(e,t),s=new Set(r);if(i){let{getAllRowIdAt:e}=i;for(let t=a;t<=o;t++){let r=e(t);if(!r)continue;let i=n(t);i?s.delete(i):s.has(r)&&s.delete(r)}}else for(let e=a;e<=o;e++){let t=n(e);t&&s.delete(t)}let c=s.size!==this.selectedIds.size||[...s].some(e=>!this.selectedIds.has(e));return this.selectedIds=s,c}isAllVisibleRowsSelected(e,t){if(e===0)return!1;for(let n=0;n<e;n++){let e=t(n);if(e&&!this.selectedIds.has(e))return!1}return!0}selectAllVisibleRows(e,t){let n=!1;for(let r=0;r<e;r++){let e=t(r);e&&!this.selectedIds.has(e)&&(this.selectedIds.add(e),n=!0)}return n&&e>0&&(this.anchorIndex=0),n}deselectAllVisibleRows(e,t){let n=!1;for(let r=0;r<e;r++){let e=t(r);e&&this.selectedIds.delete(e)&&(n=!0)}return n}replaceSelectionWithVisibleRows(e,t){return this.selectAllVisibleRows(e,t)}toggleSelectAllVisibleRows(e,t){return this.isAllVisibleRowsSelected(e,t)?this.deselectAllVisibleRows(e,t):this.selectAllVisibleRows(e,t)}replaceWithRowIds(e,t=-1){let n=new Set(e),r=n.size!==this.selectedIds.size||[...n].some(e=>!this.selectedIds.has(e));return this.selectedIds=n,this.anchorIndex=t,r}addRowId(e,t=-1){if(this.mode===`single`){let n=this.selectedIds.size!==1||!this.selectedIds.has(e);return this.selectedIds.clear(),this.selectedIds.add(e),this.anchorIndex=t,n}return!this.selectedIds.has(e)&&(this.selectedIds.add(e),t>=0&&(this.anchorIndex=t),!0)}toggleRowId(e,t){return this.selectedIds.has(e)?this.removeRowIds([e]):this.addRowId(e,t)}},gg=()=>!0;function _g(e){return e??gg}function vg(e,n,r){return e({data:n.data,rowId:t.T(n,r),rowIndex:n.rowIndex,isTransient:n.isTransient??!1})}var yg=class extends hg{getFocusedRowIds(){return this.getSelectedRowIds()}};function bg(e){let t=[],n=[],r=[];return e.forEach((e,i)=>{let a=e.fixed??null;a===`left`?t.push(i):a===`right`?r.push(i):n.push(i)}),{left:t,center:n,right:r}}function xg(e){let t=[],n=[],r=[];return e.forEach((e,i)=>{if(e.hidden)return;let a=e.fixed??null;a===`left`?t.push(i):a===`right`?r.push(i):n.push(i)}),{left:t,center:n,right:r}}function Sg(e){return t.it(e)||t.X(e)}function Cg(e){return e.fixed??null}function wg(e){for(let t=0;t<e.length;t++){let n=e[t];if(!(!n||Cg(n)!==`left`)&&!Sg(n.colId))return t}return e.length}function Tg(e){for(let t=0;t<e.length;t++){let n=e[t];if(!n||Cg(n)!==`left`||!Sg(n.colId))return t}let t=0;for(let n of e){if(Cg(n)!==`left`)break;t+=1}return t}function Eg(e,t,n){let r=e[t];return r?Cg(r)===n:!1}function Dg(e,t,n){if(n!==void 0)return n;if(t>=e.length)return`right`;let r=e[t];return r?Cg(r):null}function Og(e,t,n){return n===`left`?Tg(e):n===`right`?e.length:t.center.length>0?t.center[0]:t.left.length>0?t.left[t.left.length-1]+1:wg(e)}function kg(e,t,n){if(n===`left`)return t.center.length>0?t.center[0]:t.right.length>0?t.right[0]:e.length;if(n===`right`)return e.length;if(t.center.length>0){let n=t.center[t.center.length-1];if(t.right.length>0){let r=t.right[0];return r>n?r:Math.min(n+1,e.length-1)}return e.length}return t.right.length>0?t.right[0]:e.length}function Ag(e){let{columns:t,colId:n,toGlobalIndex:r,toFixed:i}=e;if(r<0||r>t.length)return!1;let a=t.findIndex(e=>e.colId===n);if(a<0||a===r||Sg(n))return!1;let o=t[a];if(!o?.movable)return!1;let s=Cg(o),c=Dg(t,r,i);if(r<t.length){let e=t[r];if(!e||Sg(e.colId))return!1}else if(i===void 0)return!1;if(s===c)return r===t.length||s===`left`&&r<wg(t)?!1:Eg(t,r,s);if(e.allowCrossLaneColumnMove!==!0)return!1;if(c===`left`){let e=s===c?wg(t):Tg(t);if(r<t.length&&r<e)return!1}return!0}function jg(e,t,n,r){return e.findIndex(e=>e.colId===t)<0?null:Dg(e,n,r)}function Mg(e){if(!Ag(e))return null;let t=e.columns.map(e=>e.colId),n=t.indexOf(e.colId);return n<0?null:e.toGlobalIndex===e.columns.length?(t.splice(n,1),t.push(e.colId),t):(t.splice(n,1),t.splice(e.toGlobalIndex,0,e.colId),t)}function Ng(e){let t=e.columns.findIndex(t=>t.colId===e.colId);if(t<0)return null;let n=e.direction===`right`?t+1:t-1;if(!Ag({...e,toGlobalIndex:n}))return null;let r=e.columns[t],i=e.columns[n];return!r||!i||Cg(r)!==Cg(i)?null:n}function Pg(e,t){return e===0?t:e>0?`right`:`left`}function Fg(e,t){for(let n of t)if(e>=n.left&&e<n.left+n.width)return n;return null}function Ig(e,t){return t<=e?e:e+1}function Lg(e,t){return t<e?e-1:e}function Rg(e,t,n,r,i){let a=Fg(e,t);if(a)return n===`right`?Ig(a.globalIndex,i):Lg(a.globalIndex,i);if(t.length===0)return r;let o=t[0],s=t[t.length-1];if(e<o.left)return n===`right`?Lg(o.globalIndex,i):o.globalIndex;if(e>=s.left+s.width)return r;for(let r=0;r<t.length-1;r+=1){let a=t[r],o=t[r+1];if(e>=a.left+a.width&&e<o.left)return n===`right`?Ig(a.globalIndex,i):Lg(o.globalIndex,i)}return r}function zg(e){let t=e.leftFixedWidth+e.centerTotalWidth;return e.laneIndices.map(n=>{let r=e.columns[n];if(!r||Sg(r.colId)||r.colId===e.sourceColId)return null;let i=e.targetFixed===`right`?r.left-t:r.left;return{colId:r.colId,globalIndex:n,left:i,width:r.width}}).filter(e=>e!=null)}function Bg(e){if(e.dragDirection!=null&&e.sourceGlobalIndex!=null&&e.sourceGlobalIndex>=0)return Rg(e.position,e.laneColumns,e.dragDirection,e.endIndex,e.sourceGlobalIndex);for(let t of e.laneColumns){let n=t.left+t.width/2;if(e.position<n)return t.globalIndex}return e.endIndex}function Vg(e){let t=e.laneHeaderCells.filter(t=>{let n=e.columns[t.globalIndex];return n&&t.colId!==e.sourceColId&&!Sg(t.colId)&&Cg(n)===e.targetFixed});if(t.length===0)return e.clientX<e.laneRectLeft||e.clientX>e.laneRectRight?null:{globalIndex:Og(e.columns,e.fixedGroups,e.targetFixed),toFixed:e.targetFixed};let n=kg(e.columns,e.fixedGroups,e.targetFixed),r=t.map(e=>({globalIndex:e.globalIndex,left:e.rectLeft,width:e.rectWidth})),i=e.sourceColId?e.columns.findIndex(t=>t.colId===e.sourceColId):-1,a=Bg({position:e.clientX,laneColumns:r,dragDirection:e.dragDirection,endIndex:n,sourceGlobalIndex:i});return e.targetFixed===`right`&&a===e.columns.length&&e.fixedGroups.right.length===0?{globalIndex:a,toFixed:`right`}:{globalIndex:a}}function Hg(e){let t=e.targetFixed===`left`?e.fixedGroups.left:e.targetFixed===`right`?e.fixedGroups.right:e.fixedGroups.center,n=zg({columns:e.columns,laneIndices:t,targetFixed:e.targetFixed,leftFixedWidth:e.leftFixedWidth,centerTotalWidth:e.centerTotalWidth,sourceColId:e.sourceColId});if(n.length===0)return e.clientX<e.laneRectLeft||e.clientX>e.laneRectRight?null:{globalIndex:Og(e.columns,e.fixedGroups,e.targetFixed),toFixed:e.targetFixed};let r=kg(e.columns,e.fixedGroups,e.targetFixed),i=e.sourceColId?e.columns.findIndex(t=>t.colId===e.sourceColId):-1,a=Bg({position:e.sectionX,laneColumns:n,dragDirection:e.dragDirection,endIndex:r,sourceGlobalIndex:i});return e.targetFixed===`right`&&a===e.columns.length&&e.fixedGroups.right.length===0?{globalIndex:a,toFixed:`right`}:{globalIndex:a}}function Ug(e){return!t.it(e)&&!t.X(e)}function Wg(e,t){return e.center.length>0?e.center[0]:e.right.length>0?e.right[0]:e.left.length>0?e.left[e.left.length-1]+1:t}function Gg(e){if(!Ug(e.colId))return null;let t=e.columns.find(t=>t.colId===e.colId);if(!t)return null;let n=Cg(t);return n===e.fixed?null:e.fixed===`left`?{toGlobalIndex:kg(e.columns,e.fixedGroups,`left`),toFixed:`left`}:e.fixed===`right`?{toGlobalIndex:e.columns.length,toFixed:`right`}:n===`right`?{toGlobalIndex:e.fixedGroups.right[0]??e.columns.length,toFixed:null}:{toGlobalIndex:Wg(e.fixedGroups,e.columns.length),toFixed:null}}function Kg(e={}){return{resizable:e.resizable??!0,colResizeDefault:e.colResizeDefault??null}}function qg(e,n,r){return t.it(r)||t.X(r)?!1:e??n}function Jg(e,t){return t===`shift`?!e:e}function Yg(e,t,n,r,i){let a=e.map(e=>({colId:e.colId,width:t.getColumnWidth(e.colId)})),o=i&&i.length>0?i.map(e=>({colId:e,width:t.getColumnWidth(e)})):null;return{columns:a,column:a.length===1?a[0]??null:null,finished:n,flexColumns:o,source:r}}var Xg={left:[],center:[],right:[]};function Zg(e,t){return e.key??e.prop??`col_${t}`}function Qg(e,t){let n=new Map(t.map(e=>[e.colId,e])),r=[],i=new Set;for(let t of e){let e=n.get(t);e&&(r.push(e),i.add(t))}for(let e of t)i.has(e.colId)||(r.push(e),i.add(e.colId));return r}var $g=class{columns=[];totalWidth=0;fixedGroups=Xg;leftFixedWidth=0;rightFixedWidth=0;centerTotalWidth=0;gridAlignDefaults={};columnMovableDefault=!0;allowCrossLaneColumnMove=!1;gridResizableDefault=!0;gridSortableDefault=!1;gridFilterableDefault=!1;constructor(e=[],t={},n={},r={},i,a,o,s){this.gridAlignDefaults=r;let c=aa(i);this.columnMovableDefault=c.columnMovable,this.allowCrossLaneColumnMove=c.allowCrossLaneColumnMove;let l=Kg(a);this.gridResizableDefault=l.resizable,this.gridSortableDefault=$i(o).sortable,this.gridFilterableDefault=la(s).filterable,this.setColumns(e,t,n)}setColumns(e,t={},n={},r,i,a,o,s){if(r!==void 0&&(this.gridAlignDefaults=r),i!==void 0){let e=aa(i);this.columnMovableDefault=e.columnMovable,this.allowCrossLaneColumnMove=e.allowCrossLaneColumnMove}a!==void 0&&(this.gridResizableDefault=Kg(a).resizable),o!==void 0&&(this.gridSortableDefault=$i(o).sortable),s!==void 0&&(this.gridFilterableDefault=la(s).filterable);let c=ae(e),l=this.columns.map(e=>e.colId),u=new Map(this.columns.map(e=>[e.colId,e])),d=new Set(c.map((e,t)=>Zg(e,t))),f=c.map((e,r)=>{let i=this.parseColumn(e,r,t,n),a=u.get(i.colId);return a&&(a.defHidden===i.defHidden&&(i.hidden=a.hidden),a.defWidth===i.defWidth&&a.defFlex===i.defFlex&&(i.width=a.width,i.flex=a.flex),a.defFixed===i.defFixed&&(i.fixed=a.fixed)),i}),p=l.length>0&&(d.size!==l.length||l.some(e=>!d.has(e)));this.columns=l.length===0||p?f:Qg(l,f),this.rebuildDisplayedLayout()}setColumnsHidden(e,t){let n=[];for(let r of e){if(Rs(r))continue;let e=this.columns.find(e=>e.colId===r);!e||e.hidden===t||(e.hidden=t,n.push(r))}return n.length>0&&this.rebuildDisplayedLayout(),n}isColumnHidden(e){return this.getColumnById(e)?.hidden}getDisplayedColumnIds(){return Vs(this.columns).map(e=>e.colId)}getDisplayedColumnIdsInLaneOrder(){let e=[],t=new Set,{left:n,center:r,right:i}=this.fixedGroups;for(let a of[...n,...r,...i]){let n=this.columns[a];!n||n.hidden||t.has(n.colId)||(t.add(n.colId),e.push(n.colId))}return e}rebuildDisplayedLayout(){this.fixedGroups=xg(this.columns),this.positionColumns()}setColumnMoveGridOptions(e){this.columnMovableDefault=e.columnMovable,this.allowCrossLaneColumnMove=e.allowCrossLaneColumnMove;for(let e of this.columns){if(t.it(e.colId)||t.X(e.colId)||A(e.colId)){e.movable=!1;continue}e.movable=oa(e.defMovable,this.columnMovableDefault)}}setColumnResizeGridOptions(e){this.gridResizableDefault=e.resizable;for(let e of this.columns){if(t.it(e.colId)||t.X(e.colId)||A(e.colId)){e.resizable=!1;continue}e.resizable=qg(e.defResizable,this.gridResizableDefault,e.colId)}}setColumnSortGridOptions(e){this.gridSortableDefault=e.sortable;for(let e of this.columns){if(t.it(e.colId)||t.X(e.colId)||A(e.colId)||R(e.colId)){e.sortable=!1;continue}e.sortable=ea(e.defSortable,this.gridSortableDefault,e.colId)}}setColumnFilterGridOptions(e){this.gridFilterableDefault=e.filterable;for(let e of this.columns){if(t.it(e.colId)||t.X(e.colId)||A(e.colId)||R(e.colId)){e.filterable=!1;continue}e.filterable=ua(e.defFilterable,this.gridFilterableDefault,e.colId)}}getColumnCount(){return this.columns.length}getColumn(e){return this.columns[e]}getColumnById(e){return this.columns.find(t=>t.colId===e)}getColAfter(e){let t=Vs(this.columns),n=t.findIndex(t=>t.colId===e);if(!(n<0||n>=t.length-1))return t[n+1]}getColumnWidth(e){return this.getColumnById(e)?.width??100}getColumnInitialWidth(e){return this.getColumnById(e)?.initialWidth??100}getTotalWidth(){return this.totalWidth}getColumns(){return this.columns}getDisplayedColumns(){return Vs(this.columns)}getDisplayedColumnCount(){return Hs(this.columns)}getFixedColumnGroups(){return this.fixedGroups}getLeftFixedColumnIndices(){return this.fixedGroups.left}getRightFixedColumnIndices(){return this.fixedGroups.right}getCenterColumnIndices(){return this.fixedGroups.center}getLeftFixedWidth(){return this.leftFixedWidth}getRightFixedWidth(){return this.rightFixedWidth}getCenterTotalWidth(){return this.centerTotalWidth}isFixedColumn(e){let t=this.columns[e];return t?.fixed===`left`||t?.fixed===`right`}setColumnWidth(e,t){this.applyColumnWidthChanges([{colId:e,width:t}])}applyColumnWidthChanges(e,t){let n=!1,r=t?.widthSource!==`flex`;for(let t of e){let e=this.columns.find(e=>e.colId===t.colId);if(!e)continue;r&&e.flex!=null&&(e.flex=null);let i=e_(t.width,e.minWidth,e.maxWidth);e.width!==i&&(e.width=i,n=!0)}return n&&this.positionColumns(),n}hasFlexColumns(){return this.columns.some(e=>!e.hidden&&e.flex!=null&&e.flex>0&&e.fixed!==`left`&&e.fixed!==`right`)}reorderColumns(e){if(e.length!==this.columns.length)return!1;let t=new Map(this.columns.map(e=>[e.colId,e])),n=[];for(let r of e){let e=t.get(r);if(!e)return!1;n.push(e)}return this.columns=n,this.rebuildDisplayedLayout(),!0}resetColumnsOrder(e){return this.reorderColumns(e)}resetColumnsWidth(){let e=[];for(let t of this.columns){if(Rs(t.colId))continue;let n=!1,r=e_(t.defWidth,t.minWidth,t.maxWidth);t.width!==r&&(t.width=r,n=!0),t.flex!==t.defFlex&&(t.flex=t.defFlex,n=!0),n&&e.push(t.colId)}return e.length>0&&this.positionColumns(),e}moveColumn(e,t,n){let r=jg(this.columns,e,t,n),i=Mg({columns:this.columns,colId:e,toGlobalIndex:t,fixedGroups:this.fixedGroups,toFixed:n,allowCrossLaneColumnMove:this.allowCrossLaneColumnMove});if(!i)return!1;let a=this.columns.find(t=>t.colId===e);return a&&Cg(a)!==r&&(a.fixed=r),this.reorderColumns(i)}setColumnFixed(e,t){let n=Gg({columns:this.columns,fixedGroups:this.fixedGroups,colId:e,fixed:t});if(!n)return!1;let r=this.columns.findIndex(t=>t.colId===e);if(r<0)return!1;let i=this.columns[r];if(r===n.toGlobalIndex)return i.fixed=n.toFixed,this.rebuildDisplayedLayout(),!0;let a=Mg({columns:this.columns,colId:e,toGlobalIndex:n.toGlobalIndex,fixedGroups:this.fixedGroups,toFixed:n.toFixed,allowCrossLaneColumnMove:!0});return a?(i.fixed=jg(this.columns,e,n.toGlobalIndex,n.toFixed),this.reorderColumns(a)):!1}parseColumn(e,n,r,i){let a=Zg(e,n),o=e.minWidth??50,s=e_(e.width??100,o,e.maxWidth),c=Yp(e,this.gridAlignDefaults),l=t.it(a)||t.X(a)||A(a)||R(a),u=e.fixed===`left`||e.fixed===`right`,d=!l&&!u&&e.flex!=null&&e.flex>0?e.flex:null;return e.cellEditorMode,e.cellEditor??i[a],e.cellEditorMode,e.cellEditor??i[a],{colId:a,prop:e.prop,label:e.label,width:s,initialWidth:s,minWidth:o,maxWidth:e.maxWidth,flex:d,suppressSizeToFit:l?!0:e.suppressSizeToFit??!1,left:0,fixed:e.fixed??null,sortable:!l&&ea(e.sortable,this.gridSortableDefault,a),filterable:!l&&ua(e.filterable,this.gridFilterableDefault,a),filterType:ti(l?void 0:e.filterType),filterParams:ni(l?void 0:e.filterParams),filterFormatter:l?void 0:e.filterFormatter,comparator:e.comparator,defMovable:l?void 0:e.movable,movable:!l&&oa(e.movable,this.columnMovableDefault),defResizable:l?void 0:e.resizable,defSortable:l?void 0:e.sortable,defFilterable:l?void 0:e.filterable,resizable:qg(!l&&e.resizable,this.gridResizableDefault,a),suppressAutoSize:l?!0:e.suppressAutoSize??!1,valueGetter:e.valueGetter,formatter:e.formatter,editable:e.editable,cellRenderer:e.cellRenderer??r[a],cellRendererMount:l?void 0:e.cellRendererMount,cellEditor:e.cellEditor??i[a],cellEditorMode:t.U(a,e.cellEditorMode),cellEditorCache:l?void 0:e.cellEditorCache,cellEditorParams:e.cellEditorParams,valueParser:e.valueParser,valueSetter:e.valueSetter,editType:e.editType,cellValidator:e.cellValidator,cellCommitted:e.cellCommitted,suppressPaste:l?!0:e.suppressPaste,useParserForClipboard:e.useParserForClipboard,useFormatterForClipboard:e.useFormatterForClipboard,validationRequired:e.validationRequired,summary:e.summary,summaryAgg:e.summaryAgg,summaryFormatter:e.summaryFormatter,autoHeight:Va(e,a),rowDrag:Da(e,a),rowExpand:N(e,a),rowGroup:be(e,a),rowGroupIndex:xe(e,a),groupAgg:Se(e,a),showGroupHeaderCell:Ce(e,a),showGroupFooterCell:we(e,a),groupFooterLabel:Te(e,a),suppressCellComments:l?!0:e.suppressCellComments,disabled:!l&&e.disabled,cellDisabled:l?void 0:e.cellDisabled,cellStyle:l?void 0:e.cellStyle,defWidth:s,defFlex:d,defFixed:l?null:e.fixed??null,defHidden:!l&&e.hidden===!0,defOrder:n,hidden:zs(a,e),tooltipField:l?void 0:e.tooltipField,tooltipValueGetter:l?void 0:e.tooltipValueGetter,headerTooltip:l?void 0:e.headerTooltip,headerTooltipValueGetter:l?void 0:e.headerTooltipValueGetter,suppressTooltip:wc(a,e),tooltipComponent:l?void 0:e.tooltipComponent,tooltipComponentParams:l?void 0:e.tooltipComponentParams,colSpan:no(e,a),rowSpan:ro(e,a),spanRows:io(e,a),...c}}hasAutoHeightColumns(){return this.columns.some(e=>e.autoHeight)}isColumnAutoHeight(e){return this.getColumnById(e)?.autoHeight??!1}getAutoHeightColumnIds(){return this.columns.filter(e=>e.autoHeight).map(e=>e.colId)}positionColumns(){this.leftFixedWidth=0,this.centerTotalWidth=0,this.rightFixedWidth=0;for(let e of this.fixedGroups.left){let t=this.columns[e];!t||t.hidden||(t.left=this.leftFixedWidth,t.rightOffset=void 0,this.leftFixedWidth+=t.width)}let e=0;for(let t of this.fixedGroups.center){let n=this.columns[t];!n||n.hidden||(n.left=e,n.rightOffset=void 0,e+=n.width)}this.centerTotalWidth=e;let t=this.leftFixedWidth+this.centerTotalWidth;for(let e of this.fixedGroups.right){let n=this.columns[e];!n||n.hidden||(n.left=t,t+=n.width,this.rightFixedWidth+=n.width)}let n=0;for(let e=this.fixedGroups.right.length-1;e>=0;e--){let t=this.fixedGroups.right[e],r=t===void 0?void 0:this.columns[t];!r||r.hidden||(r.rightOffset=n,n+=r.width)}this.totalWidth=this.leftFixedWidth+this.centerTotalWidth+this.rightFixedWidth}};function e_(e,t,n){let r=Math.max(e,t);return n!==void 0&&(r=Math.min(r,n)),r}function t_(e,t,n){if(e.length===0)return-1;let r=document.createElement(`form`);r.style.position=`fixed`,r.style.visibility=`hidden`,r.style.pointerEvents=`none`,r.style.top=`0`,r.style.left=`0`;for(let t of e)a_(t,r);t.appendChild(r);let i=r.offsetWidth+n;return r.remove(),i}function n_(e,t,n){let r=[];if(!n){let n=e.querySelector(`.mg-header-cell[data-col-id="${r_(t)}"]`);n&&r.push(n)}return e.querySelectorAll(`.mg-cell[data-col-id="${r_(t)}"]`).forEach(e=>{e instanceof HTMLElement&&r.push(e)}),r}function r_(e){return typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function i_(e,t,n,r){let i=e.querySelector(`.mg-viewport`);if(!i)return-1;let a=n_(e,t,n);return a.length===0?-1:t_(a,i,r)}function a_(e,t){let n=e.cloneNode(!0);n.style.width=``,n.style.minWidth=``,n.style.maxWidth=``,n.style.left=``,n.style.right=``,n.style.position=`static`;let r=document.createElement(`div`);o_(e,r),r.append(n),t.append(r)}function o_(e,t){(e.classList.contains(`mg-header-cell`)||e.classList.contains(`mg-cell`)||e.classList.contains(`mg-footer-cell`))&&t.classList.add(`mg-row`);let n=e.parentElement;for(;n;){if(n.classList.contains(`mg-row`)||n.classList.contains(`mg-header-row`)||n.classList.contains(`mg-header-lane`)||n.classList.contains(`mg-body-lane`)){for(let e of n.classList)e!==`mg-row-position-absolute`&&t.classList.add(e);break}n=n.parentElement}}function s_(e){return e.reduce((e,t)=>e+t.width,0)}function c_(e,n,r={}){if(n<=0)return[];let i=Object.fromEntries((r.columnLimits??[]).map(({colId:e,minWidth:t,maxWidth:n})=>[e,{minWidth:t,maxWidth:n}])),a=r.colIds?new Set(r.colIds):null,o=[],s=[];for(let n of e.getColumns()){if(n.hidden){s.push({colId:n.colId,width:n.width,minWidth:n.minWidth,maxWidth:n.maxWidth??2**53-1});continue}if(t.it(n.colId)||t.X(n.colId)){s.push({colId:n.colId,width:n.width,minWidth:n.minWidth,maxWidth:n.maxWidth??2**53-1});continue}let c=i[n.colId]??{},l=Math.max(n.minWidth,c.minWidth??r.defaultMinWidth??n.minWidth),u=Math.min(n.maxWidth??2**53-1,c.maxWidth??r.defaultMaxWidth??n.maxWidth??2**53-1),d={colId:n.colId,width:e.getColumnInitialWidth(n.colId),minWidth:l,maxWidth:u};if(n.suppressSizeToFit){d.width=n.width,s.push(d);continue}if(a&&!a.has(n.colId)){d.width=n.width,s.push(d);continue}o.push(d)}if(o.length===0||r.onlyScaleUp&&s_(o)+s_(s)>=n)return[];let c=new Map(o.map(t=>[t.colId,e.getColumnWidth(t.colId)])),l=o.map(e=>e.colId),u=!1;for(;!u;){u=!0;let e=n-s_(s);if(e<=0){for(let e of o)e.width=e.minWidth;break}let t=s_(o);if(t<=0)break;let r=e/t,i=e;for(let e=o.length-1;e>=0;e--){let t=o[e],n=e===0?i:Math.round(t.width*r);n<t.minWidth?(n=t.minWidth,s.push(t),o.splice(e,1),u=!1):n>t.maxWidth&&(n=t.maxWidth,s.push(t),o.splice(e,1),u=!1),t.width=n,i-=n}}let d=e=>o.find(t=>t.colId===e)?.width??s.find(t=>t.colId===e)?.width,f=[];for(let t of l){let n=d(t);n!=null&&(c.get(t)??e.getColumnWidth(t))!==n&&f.push({colId:t,newWidth:n})}return f}var l_=class{mountEl;columnModel;autosizeOptions;constructor(e,t,n){this.mountEl=e,this.columnModel=t,this.autosizeOptions=n}setAutosizeOptions(e){this.autosizeOptions=e}getAutoSizeStrategy(){return this.autosizeOptions.autoSizeStrategy}autoSizeColumn(e,n){let r=this.columnModel.getColumnById(e);if(!r?.resizable||r.suppressAutoSize||t.it(e)||t.X(e))return null;let i=n??this.autosizeOptions.skipHeaderOnAutoSize,a=i_(this.mountEl,e,i,this.autosizeOptions.autoSizePadding);return a<=0?null:{colId:e,newWidth:u_(r.minWidth,r.maxWidth,a)}}autoSizeColumns(e,t){let n=[];for(let r of e){let e=this.autoSizeColumn(r,t);e&&n.push(e)}return n}autoSizeAllColumns(e){let n=this.columnModel.getColumns().filter(e=>e.resizable&&!e.suppressAutoSize&&!t.it(e.colId)&&!t.X(e.colId)).map(e=>e.colId);return this.autoSizeColumns(n,e)}sizeColumnsToFit(e,t={}){return c_(this.columnModel,e,t)}buildFitWidthStrategyParams(e,t){return{gridWidth:e.type===`fitProvidedWidth`?e.width:t,defaultMinWidth:e.defaultMinWidth,defaultMaxWidth:e.defaultMaxWidth,columnLimits:e.columnLimits}}buildFitCellContentsChanges(e){let n=e.skipHeader??this.autosizeOptions.skipHeaderOnAutoSize,r=e.colIds??this.columnModel.getColumns().filter(e=>e.resizable&&!e.suppressAutoSize&&!t.it(e.colId)&&!t.X(e.colId)).map(e=>e.colId),i=Object.fromEntries((e.columnLimits??[]).map(({colId:e,minWidth:t,maxWidth:n})=>[e,{minWidth:t,maxWidth:n}])),a=[];for(let t of r){let r=this.columnModel.getColumnById(t);if(!r)continue;let o=i[t]??{},s=this.autoSizeColumn(t,n);if(!s)continue;let c=Math.max(r.minWidth,o.minWidth??e.defaultMinWidth??r.minWidth),l=Math.min(r.maxWidth??2**53-1,o.maxWidth??e.defaultMaxWidth??r.maxWidth??2**53-1);a.push({colId:t,newWidth:u_(c,l===2**53-1?void 0:l,s.newWidth)})}return!e.scaleUpToFitGridWidth||a.length===0?{contentChanges:a}:{contentChanges:a,scaleUpParams:{colIds:a.map(e=>e.colId),defaultMinWidth:e.defaultMinWidth,defaultMaxWidth:e.defaultMaxWidth,columnLimits:e.columnLimits,onlyScaleUp:!0}}}};function u_(e,t,n){let r=Math.max(n,e);return t!==void 0&&(r=Math.min(r,t)),r}function d_(e,t){if(e.length===0||t<=0)return 0;let n=e[e.length-1];if(t>=n.left+n.width)return e.length-1;let r=0,i=e.length-1;for(;r<i;){let n=Math.ceil((r+i)/2);e[n].left<=t?r=n:i=n-1}return r}function f_(e,t){if(e.length===0)return 0;let n=0,r=e.length-1;for(;n<r;){let i=Math.floor((n+r)/2),a=e[i];a.left+a.width<=t?n=i+1:r=i}return n}function p_(e,t){return Math.max(0,e-t)}function m_(e,t,n){let r=Math.max(0,t-n);return Math.max(0,Math.min(e,r))}function h_(e,t,n){return Math.max(0,e-t-n)}function g_(e,t,n){let r=e-t.getBoundingClientRect().left,i=n.getLeftFixedWidth(),a=n.getRightFixedWidth(),o=n.getCenterTotalWidth(),s=h_(t.clientWidth,i,a);return m_(t.scrollLeft,o,s)+(r-i)}function __(e,t,n){let r=t.getBoundingClientRect(),i=n.getLeftFixedWidth(),a=n.getRightFixedWidth(),o=n.getCenterTotalWidth(),s=h_(t.clientWidth,i,a),c=m_(t.scrollLeft,o,s);return r.left+i+(e-c)}function v_(e){let t=e.getCenterColumnIndices(),n=e.getColumns();return{centerIndices:t,centerColumns:t.map(e=>n[e]).filter(e=>e!==void 0)}}function y_(e){let{scrollLeft:t,viewportWidth:n,columnModel:r,margin:i=200}=e,{centerIndices:a,centerColumns:o}=v_(r),s=r.getLeftFixedWidth(),c=r.getRightFixedWidth();if(o.length===0)return{window:{firstCol:0,lastCol:-1},centerScrollLeft:p_(t,s)};let l=r.getCenterTotalWidth(),u=h_(n,s,c),d=m_(t,l,u),f=Math.max(0,d-i),p=Math.min(d+u+i,l+i),m=f_(o,f),h=d_(o,p);return h=Math.min(h,o.length-1),h<m?{window:{firstCol:0,lastCol:-1},centerScrollLeft:d}:{window:{firstCol:a[m],lastCol:a[h]},centerScrollLeft:d}}var b_=class{columnModel;flexViewportWidth=0;constructor(e){this.columnModel=e}resolveCenterViewportWidth(e){return h_(e,this.columnModel.getLeftFixedWidth(),this.columnModel.getRightFixedWidth())}refreshFlexedColumns(e){let t=e.viewportWidth;this.flexViewportWidth=t;let n=this.getCenterColumns();if(n.length===0||t<=0)return{changed:!1,changedColIds:[],flexColIds:[]};let r=-1;if(e.resizingColIds&&e.resizingColIds.length>0){let t=new Set(e.resizingColIds);for(let e=n.length-1;e>=0;e--){let i=n[e];if(i&&t.has(i.colId)){r=e;break}}}let i=!1,a=n.map((e,t)=>{let n=e.flex??0,a=n>0&&t>r;return i||=a,{colId:e.colId,column:e,isFlex:a,flex:Math.max(0,n),initialSize:e.width,min:e.minWidth,max:e.maxWidth??2**53-1,targetSize:0}});if(!i)return{changed:!1,changedColIds:[],flexColIds:[]};let o=a.length,s=a.reduce((e,t)=>e+t.flex,0),c=t,l=(e,t)=>{e.frozenSize=t,c-=t,s-=e.flex,--o},u=e=>e.frozenSize!=null;for(let e of a)e.isFlex||l(e,e.initialSize);for(;o>0;){let e=Math.round(s<1?c*s:c),t,n=0,r=0;for(let i of a){if(u(i))continue;t=i,r+=e*(i.flex/s);let a=r-n,o=Math.round(a);i.targetSize=o,n+=o}t&&(t.targetSize+=e-n);let i=0;for(let e of a){if(u(e))continue;let t=e.targetSize,n=Math.min(Math.max(t,e.min),e.max);i+=n-t,e.violationType=n===t?void 0:n<t?`max`:`min`,e.targetSize=n}let o=i===0?`all`:i>0?`min`:`max`;for(let e of a)u(e)||(o===`all`||e.violationType===o)&&l(e,e.targetSize)}let d=[],f=[],p=[];for(let e of a){let t=e.frozenSize;t!=null&&t!==e.initialSize&&(d.push({colId:e.colId,width:t}),f.push(e.colId),e.isFlex&&p.push(e.colId))}return d.length===0?{changed:!1,changedColIds:[],flexColIds:[]}:(this.columnModel.applyColumnWidthChanges(d,{widthSource:`flex`}),{changed:!0,changedColIds:f,flexColIds:p})}getStoredViewportWidth(){return this.flexViewportWidth}getCenterColumns(){let e=this.columnModel.getCenterColumnIndices(),t=this.columnModel.getColumns();return e.map(e=>t[e]).filter(e=>e!==void 0)}};function x_(e,t,n,r){let i=Jg(n,r.colResizeDefault),a=[],o=[];for(let n of t){let t=e.getColumnById(n.colId);if(!t?.resizable)continue;let r=T_(t,n.newWidth);if(a.push({width:r,ratios:[1],colIds:[n.colId]}),o.push(n.colId),i){let i=e.getColAfter(n.colId);if(!i?.resizable)continue;let s=t.width-r,c=i.width+s;a.push({width:c,ratios:[1],colIds:[i.colId]}),o.includes(i.colId)||o.push(i.colId)}}return{sets:a,affectedColIds:o}}var S_=class{columnModel;syncLayout;columnFlexService;getCenterViewportWidth;constructor(e,t,n,r){this.columnModel=e,this.syncLayout=t,this.columnFlexService=n,this.getCenterViewportWidth=r}setColumnWidths(e,t,n,r,i){let{sets:a,affectedColIds:o}=x_(this.columnModel,e,t,i);return a.length===0?{changed:!1,affectedColIds:[],flexColIds:[]}:this.resizeColumnSets({resizeSets:a,finished:n,source:r,affectedColIds:o})}resizeColumnSets(e){let{resizeSets:t,affectedColIds:n}=e;if(!t.every(e=>C_(this.columnModel,e)))return{changed:!1,affectedColIds:n,flexColIds:[]};let r=[];for(let e of t){let t=w_(this.columnModel,e);for(let[e,n]of Object.entries(t)){let t=r.find(t=>t.colId===e);t?t.width=n:r.push({colId:e,width:n})}}let i=r.filter(e=>this.columnModel.getColumnById(e.colId)?.resizable),a=this.columnModel.applyColumnWidthChanges(i,{widthSource:`manual`});a&&this.syncLayout();let o=[];if(this.columnFlexService&&this.getCenterViewportWidth&&this.columnModel.hasFlexColumns()){let e=this.columnFlexService.refreshFlexedColumns({viewportWidth:this.getCenterViewportWidth(),resizingColIds:n});o=e.flexColIds,e.changed&&this.syncLayout()}return{changed:a||o.length>0,affectedColIds:n,flexColIds:o}}};function C_(e,t){let n=0,r=0,i=!0;for(let a of t.colIds){let t=e.getColumnById(a);if(!t)return!1;n+=t.minWidth,t.maxWidth===void 0?i=!1:r+=t.maxWidth}return t.width>=n&&(!i||t.width<=r)}function w_(e,t){let{colIds:n,width:r,ratios:i}=t,a=Object.create(null),o=Object.create(null),s=!0,c=0;for(;s&&(c++,!(c>1e3));){s=!1;let t=[],c=0,l=r;n.forEach((e,n)=>{o[e]?l-=a[e]??0:(t.push(e),c+=i[n]??1)});let u=c>0?1/c:1;t.forEach((c,d)=>{let f=e.getColumnById(c);if(!f)return;let p=d===t.length-1,m;if(p)m=l;else{let e=n.indexOf(c),t=i[e]??1;m=Math.round(t*r*u),l-=m}let h=f.minWidth,g=f.maxWidth;m<h?(m=h,o[c]=!0,s=!0):g!==void 0&&m>g&&(m=g,o[c]=!0,s=!0),a[c]=m})}return a}function T_(e,t){let n=Math.max(t,e.minWidth);return e.maxWidth!==void 0&&(n=Math.min(n,e.maxWidth)),n}var E_=class{columnModel;currentWindow={firstCol:0,lastCol:-1};centerScrollLeft=0;windowHash=``;constructor(e){this.columnModel=e}update(e,t){let{window:n,centerScrollLeft:r}=y_({scrollLeft:e,viewportWidth:t,columnModel:this.columnModel}),i=this.computeHash(n),a=i!==this.windowHash;return this.currentWindow=n,this.centerScrollLeft=r,this.windowHash=i,a}getWindow(){return this.currentWindow}getCenterScrollLeft(){return this.centerScrollLeft}getState(){return{centerWindow:this.currentWindow,fixed:this.columnModel.getFixedColumnGroups(),centerScrollLeft:this.centerScrollLeft}}invalidate(){this.windowHash=``,this.currentWindow={firstCol:0,lastCol:-1},this.centerScrollLeft=0}computeHash(e){let t=this.columnModel.getColumns(),n=this.columnModel.getFixedColumnGroups(),r=`fixed:`;for(let e of n.left){let n=t[e];n&&(r+=`L${n.colId}:${n.width};`)}for(let e of n.right){let n=t[e];n&&(r+=`R${n.colId}:${n.width};`)}if(e.lastCol<e.firstCol)return`${r}|empty`;r+=`|${e.firstCol}:${e.lastCol}`;for(let n=e.firstCol;n<=e.lastCol;n++){let e=t[n];e&&(r+=`|${e.colId}:${e.width}:${e.left}`)}return r}},D_=new class{apply(e,t){if(e.replaceChildren(),typeof t==`string`){e.textContent=t;return}e.appendChild(t)}clear(e){e.replaceChildren()}},O_=class{cachedValue=``;cachedRenderKey=``;cacheVersion=-1;refreshSummaryCell(e,t,n,r,i=!1){let a=typeof i==`boolean`?{force:i}:i,o=a.force??!1;if(e.cellRenderer)return this.refreshRendererCell(e,t,n,r,o,a.scheduleRenderer);let s=t.formattedValue;return!o&&this.cacheVersion===r&&this.cachedValue===s?!1:(n.clearRenderer(),this.cachedValue=s,this.cachedRenderKey=``,this.cacheVersion=r,n.setValue(s),!0)}invalidate(){this.cacheVersion=-1,this.cachedRenderKey=``}refreshRendererCell(e,t,n,r,i,a){let o=t.formattedValue,s=`${r}:summary:${e.colId}:${o}`;if(!i&&this.cacheVersion===r&&this.cachedRenderKey===s)return!1;this.cachedValue=o,this.cachedRenderKey=s,this.cacheVersion=r;let c={rowId:ot,rowIndex:-1,colId:e.colId,value:t.value,data:{},formattedValue:o,isSummaryRow:!0},l=()=>{this.applyRenderer(e,n,c)};return a?(a(l),!0):(l(),!0)}applyRenderer(e,t,n){let r=e.cellRenderer;if(!r)return;t.prepareForRenderer();let i=t.getRendererMountEl(),a=r(n,{mountEl:i,clear:()=>{t.clearRenderer()}});a!=null&&(typeof a==`string`||a instanceof HTMLElement)&&D_.apply(i,a)}},k_=class{element;textEl;rendererMount;onUnmountRenderer;usingRenderer=!1;constructor(e,t={}){this.onUnmountRenderer=t.onUnmountRenderer,this.element=document.createElement(`div`),this.element.className=`mg-footer-cell`,this.textEl=document.createElement(`span`),this.textEl.className=`mg-footer-cell__text`,this.rendererMount=document.createElement(`div`),this.rendererMount.className=`mg-footer-cell__renderer`,this.rendererMount.hidden=!0,this.element.append(this.textEl,this.rendererMount),e.appendChild(this.element)}setLayout(e,t){Hp(this.element,{left:e,width:t,fixed:null},`mg-footer-cell`)}setColumnLayout(e){Hp(this.element,e,`mg-footer-cell`)}setValue(e){this.clearRenderer(),this.textEl.hidden=!1,this.textEl.textContent!==e&&(this.textEl.textContent=e)}setRendererResult(e){this.prepareForRenderer(),D_.apply(this.rendererMount,e)}prepareForRenderer(){this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,this.rendererMount.hidden=!1,this.usingRenderer=!0}clearRenderer(){(this.usingRenderer||this.rendererMount.childNodes.length>0)&&this.onUnmountRenderer?.(this.rendererMount),D_.clear(this.rendererMount),this.rendererMount.hidden=!0,this.usingRenderer=!1}hasRenderer(){return this.usingRenderer}getRendererMountEl(){return this.rendererMount}setColId(e){this.element.dataset.colId=e}getColId(){return this.element.dataset.colId}getElement(){return this.element}destroy(){this.clearRenderer(),this.element.remove()}};function A_(e,t){return{rowId:e.id,rowIndex:e.rowIndex,data:e.data,colId:t.colId,isSummaryRow:!1,value:W(e,t)}}function j_(e,t=null){return{rowId:ot,rowIndex:-1,data:null,colId:e.colId,isSummaryRow:!0,value:t}}function M_(e,t){let n=e[0];if(!n)return{left:0,width:0,fixed:null};let r=Vp(n,t);if(r.width=L_(e),e.length>1){let n=e[e.length-1],i=Vp(n,t);r.isLastLeftFixed=i.isLastLeftFixed,r.isLastCenter=i.isLastCenter,r.isLastColumn=i.isLastColumn}return r}function N_(e,t,n=`mg-cell`){let r=t>1;e.classList.toggle(`${n}--spanning`,r),e.classList.toggle(`${n}--col-span`,r),r?e.dataset.colSpan=String(t):delete e.dataset.colSpan}function P_(e){if(!e.enableCellSpan)return 1;let{column:n,params:r}=e;if(t.it(n.colId)||t.X(n.colId))return 1;let i=n.colSpan;return i?Qa(i(r)):1}function F_(e,n){let r=n.getColAfter(e.colId);if(r&&r.fixed===e.fixed&&!(t.it(r.colId)||t.X(r.colId)))return r}function I_(e,t,n){let r=P_({enableCellSpan:n.enableCellSpan,column:e,params:n.params}),i=[e],a=e;for(let e=1;e<r;e++){let e=F_(a,t);if(!e)break;i.push(e),a=e}return i}function L_(e){let t=0;for(let n of e)t+=n.width;return t}function R_(e){let{enableCellSpan:t,columnModel:n,columnIndices:r,paramsForColumn:i,filterCallback:a}=e,o=[],s=r.length;for(let e=0;e<s;){let s=r[e];if(s===void 0){e++;continue}let c=n.getColumn(s);if(!c){e++;continue}let l=I_(c,n,{enableCellSpan:t,params:i(c)}),u=z_(n,r,e,l),d=!0;if(a){d=!1;for(let t=0;t<u;t++){let i=r[e+t];if(i===void 0)continue;let o=n.getColumn(i);if(o&&a(o,i)){d=!0;break}}}d&&o.push(s),e+=Math.max(1,u)}return o}function z_(e,t,n,r){let i=1;for(let a=1;a<r.length&&n+a<t.length;a++){let o=t[n+a];if(o===void 0)break;let s=e.getColumn(o),c=r[a];if(!s||!c||s.colId!==c.colId)break;i++}return i}function B_(e){let{columnModel:t,centerWindow:n,enableCellSpan:r,paramsForColumn:i}=e;return r?{left:R_({enableCellSpan:!0,columnModel:t,columnIndices:t.getLeftFixedColumnIndices(),paramsForColumn:i}),center:R_({enableCellSpan:!0,columnModel:t,columnIndices:t.getCenterColumnIndices(),paramsForColumn:i,filterCallback:(e,t)=>n.lastCol>=n.firstCol&&t>=n.firstCol&&t<=n.lastCol}),right:R_({enableCellSpan:!0,columnModel:t,columnIndices:t.getRightFixedColumnIndices(),paramsForColumn:i})}:Bp(t,n)}function V_(e){if(!e.enableCellSpan||e.params.isSummaryRow)return 1;let{column:n,params:r}=e;if(t.it(n.colId)||t.X(n.colId))return 1;let i=n.rowSpan;return i?Qa(i(r)):1}function H_(e){let{enableCellSpan:t,column:n,rowNode:r,getRowByIndex:i,rowCount:a}=e;if(!t||!n.rowSpan||!Za(r))return{head:r,rowSpan:1,covered:!1};let o=Math.max(0,r.rowIndex-100);for(let e=r.rowIndex-1;e>=o;e--){let o=i(e);if(!o||!Za(o))continue;let s=Y_(V_({enableCellSpan:t,column:n,params:A_(o,n)}),o.rowIndex,a);if(s>1&&o.rowIndex+s-1>=r.rowIndex)return{head:o,rowSpan:s,covered:!0}}return{head:r,rowSpan:Y_(V_({enableCellSpan:t,column:n,params:A_(r,n)}),r.rowIndex,a),covered:!1}}function U_(e,t,n){if(t<=1)return e.rowHeight;let r=n(e.rowIndex+t-1)??e,i=r.rowTop+r.rowHeight-e.rowTop;return Math.max(e.rowHeight,i)}function W_(e,t,n){return t<=1||n<=0?!1:e+t-1>=n-1}function G_(e,t,n,r){let i=t>1;if(e.classList.toggle(Wa,i),e.classList.toggle(Ga,i&&(r?.endsTable??!1)),i){e.classList.add(`mg-cell--spanning`),e.dataset.rowSpan=String(t),n!=null&&(e.style.height=`${n}px`);return}delete e.dataset.rowSpan,e.style.removeProperty(`height`),e.classList.remove(`mg-cell--row-span-highlighted`),e.classList.remove(Ga),e.classList.contains(`mg-cell--col-span`)||e.classList.remove(`mg-cell--spanning`)}function K_(e){let{head:t,rowSpan:n,getRowByIndex:r,isRowHighlighted:i}=e;if(n<=1)return i(t.id);for(let e=0;e<n;e++){let n=r(t.rowIndex+e);if(n&&i(n.id))return!0}return!1}function q_(e){let{head:t,rowSpan:n,colId:r,getRowByIndex:i,isCellSelected:a}=e;if(n<=1)return a(t.rowIndex,r);for(let e=0;e<n;e++){let n=i(t.rowIndex+e);if(n&&a(n.rowIndex,r))return!0}return!1}function J_(e){let{enableCellSpan:t,rowModel:n,columns:r,firstRow:i,lastRow:a}=e,o=new Set;if(!t||a<i)return o;let s=r.filter(e=>e.rowSpan!=null);if(s.length===0)return o;let c=n.getRowCount(),l=e=>n.getRow(e),u=Math.max(0,i-50);for(let e=u;e<=a;e++){let n=l(e);if(n)for(let e of s){if(Xa(e))continue;let r=H_({enableCellSpan:t,column:e,rowNode:n,getRowByIndex:l,rowCount:c});r.covered||r.rowSpan<=1||r.head.id!==n.id||r.head.rowIndex+r.rowSpan-1>=i&&r.head.rowIndex<=a&&o.add(r.head.id)}}return o}function Y_(e,t,n){if(n<=0)return 1;let r=n-t;return Math.min(e,r,50)}function X_(e,t){let n=new Map;if(!oo(e.spanRows)||t.length===0)return n;let r=e.spanRows,i=-1,a,o=r=>{if(i<0||r<i)return;let a=i;for(;a<=r;){let i=Math.min(r,a+50-1),o=[];for(let e=a;e<=i;e++)o.push(t[e].id);let s={colId:e.colId,firstRowId:o[0],lastRowId:o[o.length-1],rowIds:o,rowSpan:o.length};for(let e of o)n.set(e,s);a=i+1}};for(let n=0;n<t.length;n++){let s=t[n];if(!Za(s)){i>=0&&(o(n-1),i=-1);continue}let c=W(s,e);if(i<0){i=n,a=c;continue}let l=t[i];Z_(r,l,s,a,c,e.colId)||(o(n-1),i=n,a=c)}return i>=0&&o(t.length-1),n}function Z_(e,t,n,r,i,a){return e===!0?Object.is(r,i):typeof e==`function`&&e({nodeA:{rowId:t.id,data:t.data,rowIndex:t.rowIndex},nodeB:{rowId:n.id,data:n.data,rowIndex:n.rowIndex},valueA:r,valueB:i,colId:a})}var Q_=class{deps;spanRowsCaches=new Map;warnedBothModes=new Set;constructor(e){this.deps=e}get active(){return this.deps.getEnableCellSpan()}refresh(){if(this.spanRowsCaches.clear(),!this.active)return;let e=this.deps.getDisplayRows(),t=this.deps.getColumnModel().getColumns();for(let n of t)n.rowSpan&&oo(n.spanRows)&&this.warnBothModes(n.colId),ao(n.rowSpan,n.spanRows)===`spanRows`&&this.spanRowsCaches.set(n.colId,X_(n,e))}getColSpan(e,t){let n=this.deps.getColumnModel().getColumnById(t);if(!n||!this.active)return 1;if(e===`__mg_summary__`)return P_({enableCellSpan:!0,column:n,params:j_(n,this.deps.getSummaryValue?.(t)??null)});let r=this.deps.getRowById(e);return r?P_({enableCellSpan:!0,column:n,params:A_(r,n)}):1}getCellSpan(e,t){let n=this.deps.getColumnModel(),r=n.getColumnById(t),i=this.deps.getRowById(e);if(!r||!i||!this.active)return null;let a=this.resolveVerticalSpan(i,r),o=I_(r,n,{enableCellSpan:!0,params:A_(i,r)});if(a.rowSpan<=1&&o.length<=1)return null;let s=this.collectVerticalRowIds(a.head,a.rowSpan);return{colId:r.colId,firstRowId:a.head.id,lastRowId:s[s.length-1]??a.head.id,rowSpan:a.rowSpan,colSpan:o.length,rowIds:s,colIds:o.map(e=>e.colId)}}isCovered(e,t){let n=this.deps.getColumnModel().getColumnById(t),r=this.deps.getRowById(e);return!n||!r||!this.active?!1:this.resolveVerticalSpan(r,n).covered}normalizePosition(e,t){let n=this.deps.getColumnModel().getColumnById(t),r=this.deps.getRowById(e);return!n||!r||!this.active?{rowId:e,colId:t}:{rowId:this.resolveVerticalSpan(r,n).head.id,colId:t}}resolveVerticalSpan(e,t){if(!this.active||!Za(e))return{head:e,rowSpan:1,covered:!1};let n=ao(t.rowSpan,t.spanRows);return n===`rowSpan`?H_({enableCellSpan:!0,column:t,rowNode:e,getRowByIndex:this.deps.getRowByIndex,rowCount:this.deps.getRowCount()}):n===`spanRows`?this.resolveFromSpanRowsCache(e,t):{head:e,rowSpan:1,covered:!1}}getVerticalSpanHeight(e,t){let n=this.resolveVerticalSpan(e,t);return n.covered||n.rowSpan<=1?e.rowHeight:U_(n.head,n.rowSpan,this.deps.getRowByIndex)}collectSpannedHeadRowIds(e,t){let n=new Set;if(!this.active||t<e)return n;let r=this.deps.getColumnModel().getColumns().filter(e=>ao(e.rowSpan,e.spanRows)!==`none`);if(r.length===0)return n;let i=Math.max(0,e-50);for(let a=i;a<=t;a++){let i=this.deps.getRowByIndex(a);if(i)for(let a of r){if(Xa(a))continue;let r=this.resolveVerticalSpan(i,a);r.covered||r.rowSpan<=1||r.head.id!==i.id||r.head.rowIndex+r.rowSpan-1>=e&&r.head.rowIndex<=t&&n.add(r.head.id)}}return n}resolveFromSpanRowsCache(e,t){let n=this.spanRowsCaches.get(t.colId)?.get(e.id);return!n||n.rowSpan<=1?{head:e,rowSpan:1,covered:!1}:{head:this.deps.getRowById(n.firstRowId)??e,rowSpan:n.rowSpan,covered:n.firstRowId!==e.id}}collectVerticalRowIds(e,t){let n=[];for(let r=0;r<t;r++){let t=this.deps.getRowByIndex(e.rowIndex+r);t&&n.push(t.id)}return n}warnBothModes(e){this.warnedBothModes.has(e)||(this.warnedBothModes.add(e),console.warn(`[magic-grid] Column "${e}" has both rowSpan and spanRows; rowSpan takes precedence.`))}};function $_(e,t,n,r){if(!r?.active)return!1;if(r.resolveVerticalSpan(e,t).covered)return!0;let i=n.getDisplayedColumns().map(e=>e.colId),a=i.indexOf(t.colId);if(a<=0)return!1;for(let r=0;r<a;r++){let a=n.getColumnById(i[r]);if(!a)continue;let o=I_(a,n,{enableCellSpan:!0,params:A_(e,a)});if(!(o.length<=1)&&o.findIndex(e=>e.colId===t.colId)>0)return!0}return!1}function ev(e,t,n,r){let i=r.indexOf(t);if(i<0)return{leftColId:t,rightColId:t};for(let a=i;a>=0;--a){let i=r[a];if(!i)continue;let o=n.getColumnById(i);if(!o)continue;let s=I_(o,n,{enableCellSpan:!0,params:A_(e,o)});if(!(s.length<=1)&&s.findIndex(e=>e.colId===t)>=0)return{leftColId:s[0].colId,rightColId:s[s.length-1].colId}}return{leftColId:t,rightColId:t}}function tv(e,t,n){let r={top:e,bottom:e,leftColId:t,rightColId:t},i=n.rowModel.getRow(e);if(!i||!n.cellSpanService?.active)return r;let a=n.columnModel.getColumnById(t);if(!a)return r;let o=n.cellSpanService.resolveVerticalSpan(i,a),s=o.head,c=s.rowIndex,l=s.rowIndex;o.rowSpan>1&&(l=o.head.rowIndex+o.rowSpan-1);let u=ev(s,t,n.columnModel,n.displayedColIds);return{top:c,bottom:l,leftColId:u.leftColId,rightColId:u.rightColId}}function nv(e,t,n){if(!n.cellSpanService?.active)return e;let r=e.top,i=e.bottom,a=e.leftColId,o=e.rightColId,s=t.indexOf(a),c=t.indexOf(o);if(s<0||c<0)return e;let l=Math.min(s,c),u=Math.max(s,c),d=!0;for(;d;){d=!1;for(let e=r;e<=i;e+=1)for(let s=l;s<=u;s+=1){let c=t[s];if(!c)continue;let f=tv(e,c,n);f.top<r&&(r=f.top,d=!0),f.bottom>i&&(i=f.bottom,d=!0);let p=t.indexOf(f.leftColId),m=t.indexOf(f.rightColId);p>=0&&p<l&&(l=p,a=t[l],d=!0),m>=0&&m>u&&(u=m,o=t[u],d=!0)}}return{top:r,bottom:i,leftColId:a,rightColId:o}}function rv(e,t){if(!t.cellSpanService?.active)return e;let n=G(e,t.displayedColIds);return n?Os(nv(n,t.displayedColIds,t)):e}function iv(e,t,n){let r=nv(e,t,{...n,displayedColIds:t,cellSpanService:n.cellSpanService});return{topRowIndex:r.top,bottomRowIndex:r.bottom}}var av=class{lanes;footerRowEl;frameService;onUnmountRenderer;enableCellSpan;columnModel=null;summaryCells=new Map;constructor(e){this.footerRowEl=e.footerRowEl,this.frameService=e.frameService??null,this.onUnmountRenderer=e.onUnmountRenderer,this.enableCellSpan=e.enableCellSpan??!1,this.lanes={left:this.createLane(e.footerLeftLaneEl),center:this.createLane(e.footerCenterLaneEl),right:this.createLane(e.footerRightLaneEl)}}setEnableCellSpan(e){this.enableCellSpan=e}render(e){this.columnModel=e.columnModel,this.summaryCells=e.summaryCells;let t=B_({columnModel:e.columnModel,centerWindow:e.centerWindow,enableCellSpan:this.enableCellSpan,paramsForColumn:t=>j_(t,e.summaryCells.get(t.colId)?.value??null)});this.syncLaneWidths(e.columnModel),this.syncLaneCells(`left`,t.left),this.syncLaneCells(`center`,t.center),this.syncLaneCells(`right`,t.right),this.syncCellValues(e.summaryCells,e.valueCacheVersion,e.force??!1)}syncRowLayout(e){this.footerRowEl.style.width=`${e.getTotalWidth()}px`,this.syncLaneWidths(e)}syncColumnLayouts(){if(this.columnModel){this.syncRowLayout(this.columnModel);for(let e of[`left`,`center`,`right`]){let t=this.lanes[e];for(let e=0;e<t.indices.length;e++){let n=t.indices[e],r=n===void 0?void 0:this.columnModel.getColumn(n),i=t.cells[e];!r||!i||this.applyCellColumnLayout(i,r)}}}}refreshVisibleColumnStructure(e){if(!this.columnModel)return;let t=B_({columnModel:this.columnModel,centerWindow:e,enableCellSpan:this.enableCellSpan,paramsForColumn:e=>j_(e,this.summaryCells.get(e.colId)?.value??null)});this.syncLaneWidths(this.columnModel),this.syncLaneCells(`left`,t.left),this.syncLaneCells(`center`,t.center),this.syncLaneCells(`right`,t.right),this.syncCellValues(this.summaryCells,0,!0)}destroy(){for(let e of Object.values(this.lanes)){for(let t of e.cells)t.destroy();e.cells.length=0,e.cellCtrls.length=0,e.indices.length=0}}createLane(e){return{element:e,cells:[],cellCtrls:[],indices:[]}}syncLaneWidths(e){this.lanes.left.element.style.width=`${e.getLeftFixedWidth()}px`,this.lanes.center.element.style.width=`${e.getCenterTotalWidth()}px`,this.lanes.right.element.style.width=`${e.getRightFixedWidth()}px`}syncLaneCells(e,n){let r=this.lanes[e];for(r.indices=n;r.cells.length<n.length;)r.cells.push(new k_(r.element,{onUnmountRenderer:this.onUnmountRenderer})),r.cellCtrls.push(new O_);for(;r.cells.length>n.length;)r.cells.pop()?.destroy(),r.cellCtrls.pop();for(let e=0;e<n.length;e++){let i=n[e],a=i===void 0?void 0:this.columnModel.getColumn(i),o=r.cells[e];!a||!o||(this.applyCellColumnLayout(o,a),o.setColId(a.colId),Xp(o.getElement(),a.footerAlign,a.footerValign,`mg-footer-cell`),o.getElement().classList.toggle(`mg-footer-cell--index`,t.it(a.colId)),o.getElement().classList.toggle(`mg-footer-cell--selection`,t.X(a.colId)))}}applyCellColumnLayout(e,t){if(!this.columnModel)return;if(!this.enableCellSpan||!t.colSpan){e.setColumnLayout(Vp(t,this.columnModel)),N_(e.getElement(),1,`mg-footer-cell`);return}let n=I_(t,this.columnModel,{enableCellSpan:!0,params:j_(t,this.summaryCells.get(t.colId)?.value??null)});e.setColumnLayout(M_(n,this.columnModel)),N_(e.getElement(),n.length,`mg-footer-cell`)}syncCellValues(e,t,n){if(this.columnModel)for(let r of[`left`,`center`,`right`]){let i=this.lanes[r];for(let r=0;r<i.indices.length;r++){let a=i.indices[r],o=a===void 0?void 0:this.columnModel.getColumn(a),s=i.cells[r],c=i.cellCtrls[r];if(!o||!s||!c)continue;let l=e.get(o.colId)??{value:null,formattedValue:``};c.refreshSummaryCell(o,l,s,t,{force:n,scheduleRenderer:e=>this.scheduleRendererTask(e)})}}}scheduleRendererTask(e){if(this.frameService){this.frameService.createTask(e,-1,`f1`);return}e()}};function ov(e,t,n,r){e.style.width=`${r.getLeftFixedWidth()}px`,t.style.width=`${r.getCenterTotalWidth()}px`,n.style.width=`${r.getRightFixedWidth()}px`}function sv(e,t,n,r){Up(e,r,`mg-footer-cell`),Up(t,r,`mg-footer-cell`),Up(n,r,`mg-footer-cell`)}function cv(e,t){if(t.filterFormatter)return t.filterFormatter(e.data);let n=t.prop??t.colId,r=n?e.data[n]:void 0;return t.formatter?(t.valueGetter&&(r=t.valueGetter(e.data,r)),t.formatter(e.data,r)):t.valueGetter?t.valueGetter(e.data,r):r}function lv(e,t){return{getFilterType:t=>e(t)?.filterType??`text`,getFilterParams:t=>e(t)?.filterParams??{caseSensitive:!0},getFilterValue:(n,r)=>{let i=e(r);return i?cv(n,i):t(n,r)}}}var uv=3;function dv(e,t,n){let r=e.getRowCount();if(r===0)return t;let i=e.getTotalHeight()/r,a=e.getRowIndexAtPixel(n),o=e.getRowBounds(a)?.rowHeight??t;return Math.max(t,i,o)}function fv(e,t,n,r,i){let a=e.getRowCount(),o=t,s=n;for(;o>0;){let t=e.getRowBounds(o);if(!t||t.rowTop<=r)break;o--}for(;s<a-1;){let t=e.getRowBounds(s);if(!t||t.rowTop+t.rowHeight>=i)break;s++}return{firstRow:o,lastRow:s}}function pv(e,t,n){for(let r=t;r<=n;r++)if(e.getRow(r)?.estimated)return!0;return!1}function mv(e,t,n,r){let i=Math.max(n,500);return t-e+1<=i?t:Math.min(e+i-1,r-1)}function hv(e){let{scrollTop:t,viewportHeight:n,rowBuffer:r,rowHeight:i,rowModel:a}=e,o=a.getRowCount();if(o===0)return{firstRow:0,lastRow:-1};let s=0,c=o-1,l=!1;for(let e=0;e<uv&&!l;e++){let e=r*dv(a,i,t),u=Math.max(0,t-e),d=t+n+e;s=a.getRowIndexAtPixel(u),c=Math.min(a.getRowIndexAtPixel(d),o-1);let f=fv(a,s,c,u,d);s=f.firstRow,c=f.lastRow,l=!pv(a,s,c)}return c=mv(s,c,r,o),{firstRow:s,lastRow:c}}var gv=class{blocks=new Map;accessCounter=0;get(e){return this.blocks.get(e)}ensure(e,t,n){let r=this.blocks.get(e);if(r)return r;let i={blockIndex:e,startRow:t,endRow:n,state:`idle`,lastAccess:0,retryCount:0};return this.blocks.set(e,i),i}touch(e){let t=this.blocks.get(e);t&&(this.accessCounter+=1,t.lastAccess=this.accessCounter)}setState(e,t){let n=this.blocks.get(e);n&&(n.state=t,this.touch(e))}incrementRetry(e){let t=this.blocks.get(e);return t?(t.retryCount+=1,t.retryCount):0}resetRetry(e){let t=this.blocks.get(e);t&&(t.retryCount=0)}purge(){this.blocks.clear(),this.accessCounter=0}evictLRU(e,t){let n=[...this.blocks.values()].filter(e=>e.state===`loaded`);if(n.length<=e)return[];let r=n.filter(e=>!t.has(e.blockIndex)).sort((e,t)=>e.lastAccess-t.lastAccess),i=[],a=n.length;for(let t of r){if(a<=e)break;t.state=`idle`,t.retryCount=0,i.push(t.blockIndex),--a}return i}};function _v(e,t){return Math.floor(e/t)}function vv(e,t){return e*t}function yv(e,t,n){let r=vv(e,t);return{startRow:r,endRow:Math.min(r+t,n)}}function bv(e,t,n){if(t<e)return[];let r=_v(e,n),i=_v(t,n),a=[];for(let e=r;e<=i;e++)a.push(e);return a}var xv=class{deps;cache=new gv;inflight=new Map;generation=0;destroyed=!1;datasource;constructor(e){this.deps=e,this.datasource=e.datasource}init(){let e=this.deps.getApi();this.datasource.init?.({api:e,getSortModel:this.deps.getSortModel,getFilterModel:this.deps.getFilterModel,getQuickFilterText:()=>this.deps.rowModel.getQuickFilterText()})}setDatasource(e){this.destroyed||(this.datasource.destroy?.(),this.datasource=e,this.purge(`datasource`),this.init(),this.loadInitialBlocks())}destroy(){this.destroyed=!0,this.abortAll(),this.datasource.destroy?.()}loadInitialBlocks(){this.ensureBlocksForViewport(0)}ensurePrefetchOnScrollBottom(){if(this.destroyed||this.deps.rowModel.getKnownLastRow()!==null)return;let e=this.deps.options.blockSize,t=this.deps.rowModel.getRowCount(),n=t+e;this.deps.rowModel.setVirtualRowCount(n,{preserveLoaded:!0});let r=_v(t,e);this.ensureBlockLoaded(r)}ensureBlocksForViewport(e,t){let n=t??0,{firstRow:r,lastRow:i}=hv({scrollTop:e,viewportHeight:n>0?n:this.deps.rowHeight*10,rowBuffer:this.deps.rowBuffer,rowHeight:this.deps.rowHeight,rowModel:this.deps.rowModel});if(i<r){this.ensureBlockLoaded(0);return}let a=this.deps.options.blockSize,o=Math.min(i+a,Math.max(0,this.deps.rowModel.getRowCount()-1));this.ensureBlocksForRange(r,o)}ensureBlocksForRange(e,t){let n=this.deps.options.blockSize,r=bv(e,t,n);for(let e of r)this.ensureBlockLoaded(e);this.evictIfNeeded(e,t)}retryBlock(e){let t=this.deps.options.blockSize,{startRow:n,endRow:r}=yv(e,t,this.deps.rowModel.getRowCount()),i=this.cache.get(e);i&&(i.state=`idle`,this.cache.resetRetry(e)),this.deps.rowModel.markBlockRange(n,r,`idle`),this.ensureBlockLoaded(e)}refreshCache(e=`api`){this.purge(e),this.loadInitialBlocks()}purge(e){this.generation+=1,this.abortAll(),this.cache.purge(),this.deps.rowModel.resetForPurge(this.deps.options.infiniteInitialRowCount),this.deps.eventBus.emit(`infiniteCachePurged`,{reason:e}),this.deps.onModelChanged()}getLoadedRowData(){return this.deps.rowModel.getLoadedRowData()}getInfiniteRowCount(){return this.deps.rowModel.getKnownLastRow()??this.deps.rowModel.getVirtualRowCount()}ensureBlockLoaded(e){if(this.destroyed)return;let t=this.deps.options.blockSize,{startRow:n,endRow:r}=yv(e,t,this.deps.rowModel.getRowCount());if(n>=r)return;let i=this.cache.ensure(e,n,r);if(i.state===`loaded`||i.state===`loading`||i.state===`failed`){this.cache.touch(e);return}this.inflight.has(e)||this.loadBlock(e,n,r)}loadBlock(e,t,n){let r=new AbortController,i=this.generation;this.inflight.set(e,{controller:r,generation:i}),this.cache.setState(e,`loading`),this.deps.rowModel.markBlockRange(t,n,`loading`),this.deps.onModelChanged();let a={blockIndex:e,startRow:t,endRow:n};this.deps.eventBus.emit(`infiniteBlockLoading`,a);try{this.datasource.getRows({startRow:t,endRow:n,sortModel:this.deps.getSortModel(),filterModel:this.deps.getFilterModel(),quickFilterText:this.deps.rowModel.getQuickFilterText(),signal:r.signal,successCallback:(r,a)=>{this.handleSuccess(e,t,n,r,a,i)},failCallback:r=>{this.handleFailure(e,t,n,r,i)}})}catch(r){this.handleFailure(e,t,n,r,i)}}handleSuccess(e,t,n,r,i,a){if(!this.isCurrentGeneration(a,e))return;this.inflight.delete(e),this.cache.setState(e,`loaded`),this.cache.resetRetry(e);let o=this.deps.rowModel.applyBlock(t,r),s=t+r.length;this.deps.rowModel.updateLastRow(i,this.deps.options.blockSize,s);let c=n-t;r.length<c&&i===void 0&&this.deps.rowModel.markBlockRange(t+r.length,n,`idle`);let l={blockIndex:e,startRow:t,endRow:n,rowCount:r.length,lastRow:i};this.deps.eventBus.emit(`infiniteBlockLoaded`,l),this.deps.onModelChanged({refreshedRowIds:o.rowIds,replacedStubIds:o.replacedStubIds})}handleFailure(e,t,n,r,i){if(!this.isCurrentGeneration(i,e))return;this.inflight.delete(e);let a=this.cache.incrementRetry(e),o=this.deps.options.infiniteMaxRetries;if(o>0&&a<=o){this.cache.setState(e,`idle`),this.deps.rowModel.markBlockRange(t,n,`idle`),this.ensureBlockLoaded(e);return}this.cache.setState(e,`failed`),this.deps.rowModel.markBlockRange(t,n,`failed`);let s={blockIndex:e,startRow:t,endRow:n,error:r};this.deps.eventBus.emit(`infiniteBlockLoadFailed`,s),this.deps.onModelChanged()}isCurrentGeneration(e,t){return this.destroyed||e!==this.generation?!1:this.inflight.get(t)?.generation===e}evictIfNeeded(e,t){let n=this.deps.options.blockSize,r=_v(Math.floor((e+t)/2),n),i=new Set([r-1,r,r+1]),a=this.cache.evictLRU(this.deps.options.maxBlocksInCache,i);for(let e of a){let{startRow:t,endRow:r}=yv(e,n,this.deps.rowModel.getRowCount());this.deps.rowModel.evictBlockRange(t,r)}a.length>0&&(this.deps.eventBus.emit(`infiniteCachePurged`,{reason:`lru`}),this.deps.onModelChanged())}abortAll(){for(let e of this.inflight.values())e.controller.abort();this.inflight.clear()}};function Sv(e,t){if(t.length===0)return!1;let n=e.__autoHeights??{};return t.some(e=>n[e]==null)}function Cv(e){if(!e.getRowHeight)return;let t=e.getRowHeight;return e=>t({rowId:e.id,data:e.data,rowIndex:e.rowIndex})}function wv(e,t,n){if(e.rowHeightPinned&&e.rowHeight>0)return{height:Ha(e.rowHeight,n.rowHeightMin,n.rowHeightMax),estimated:!1};let r=cr(e,t,Cv(n));return{height:Ha(r.height,n.rowHeightMin,n.rowHeightMax),estimated:r.estimated}}function Tv(e,t,n){if(e.rowHeightPinned)return!1;let r=Cv(n)?.(e);return r!=null&&r>0||e.__autoHeights&&Object.keys(e.__autoHeights).length>0?!1:e.rowHeight===t||e.rowHeight===0}function Ev(e,t){return t??(e===`api`||e===`uiRowResized`)}var Dv=class{deps;defaultRowHeight;options;gridOptions;constructor(e,t,n={}){this.deps=e,this.defaultRowHeight=t,this.gridOptions=n,this.options=za(n,t)}getDefaultRowHeight(){return this.defaultRowHeight}setGridOptions(e={}){this.gridOptions=e,this.options=za(e,this.defaultRowHeight)}getOptions(){return this.options}updateDefaultRowHeight(e,t={}){let n=this.defaultRowHeight,r=Math.max(1,e);if(this.gridOptions={...this.gridOptions,...t},this.defaultRowHeight=r,this.options=za(this.gridOptions,r),n===r)return this.recalculateDisplayRowHeights(void 0,`dimensions`);for(let e of this.deps.getDisplayRows())Tv(e,n,this.options)&&(e.rowHeight=0,e.estimated=!1);let i=this.recalculateDisplayRowHeights(void 0,`dimensions`);return i.changed||this.deps.repositionDisplayRows(),i}getRowHeight(e){let t=this.deps.getRowById(e);return t?wv(t,this.defaultRowHeight,this.options).height:null}setRowHeights(e,t){let n=[],r=Ev(t.source,t.pin);for(let t of e){let e=this.deps.getRowById(t.rowId);if(!e)continue;let i=Ha(t.height,this.options.rowHeightMin,this.options.rowHeightMax),a=r;if(e.rowHeight===i&&e.rowHeightPinned===a)continue;let o=e.rowHeight;e.rowHeight=i,e.rowHeightPinned=a,e.estimated=!1,n.push({rowId:e.id,rowHeight:i,previousRowHeight:o})}if(n.length===0)return{changed:!1,rows:[],finished:t.finished,source:t.source};this.deps.repositionDisplayRows();let i=Ua(n,t.finished,t.source);return this.deps.emitRowHeightChanged(i),{changed:!0,rows:n,finished:t.finished,source:t.source}}setRowHeight(e,t,n=!0,r=`api`){return this.setRowHeights([{rowId:e,height:t}],{finished:n,source:r})}resetRowHeights(e){let t=this.resolveResetTargets(e),n=[];for(let e of t){e.rowHeightPinned=!1,delete e.__autoHeights,e.rowHeight=0,e.estimated=!1;let t=wv(e,this.defaultRowHeight,this.options);e.rowHeight=t.height,e.estimated=t.estimated,n.push({rowId:e.id,height:t.height})}if(n.length===0)return{changed:!1,rows:[],finished:!0,source:`api`};this.deps.repositionDisplayRows();let r=n.map(e=>({rowId:e.rowId,rowHeight:e.height})),i=Ua(r,!0,`api`);return this.deps.emitRowHeightChanged(i),{changed:!0,rows:r,finished:!0,source:`api`}}recalculateDisplayRowHeights(e,t=`autoHeight`){let n=e?new Set(e):null,r=[];for(let e of this.deps.getDisplayRows()){if(n&&!n.has(e.id)||e.rowHeightPinned)continue;let t=wv(e,this.defaultRowHeight,this.options),i=this.deps.getAutoHeightColumnIds?.()??[],a=t.estimated;!e.rowHeightPinned&&i.length>0&&Sv(e,i)&&(a=!0),(e.rowHeight!==t.height||e.estimated!==a)&&(e.rowHeight=t.height,e.estimated=a,r.push({rowId:e.id,rowHeight:t.height}))}if(r.length===0)return{changed:!1,rows:[],finished:!0,source:t};this.deps.repositionDisplayRows();let i=Ua(r,!0,t);return this.deps.emitRowHeightChanged(i),{changed:!0,rows:r,finished:!0,source:t}}getPositionRowHeightFn(){return Cv(this.options)}resolveResetTargets(e){return e&&e.length>0?e.map(e=>this.deps.getRowById(e)).filter(e=>e!=null):[...this.deps.getDisplayRows()]}};function Ov(e){return e.classList.contains(`mg-cell--editing`)||e.classList.contains(`mg-cell--inline-editor`)}function kv(e){if(Ov(e))return 0;let t=Av(e);if(!t)return e.offsetHeight;let n=getComputedStyle(e),r=Number.parseFloat(n.paddingTop)||0,i=Number.parseFloat(n.paddingBottom)||0,a=Number.parseFloat(n.borderTopWidth)||0,o=Number.parseFloat(n.borderBottomWidth)||0,s=t.scrollHeight;return Math.ceil(s+r+i+a+o)}function Av(e){return[e.querySelector(`.mg-cell__text:not([hidden])`),e.querySelector(`.mg-cell__renderer:not([hidden])`),e.querySelector(`.mg-cell__inline-editor:not([hidden])`)].find(e=>e!=null)??null}var jv=5,Mv=1,Nv=class{deps;active=!1;wasEverActive=!1;debounceTimer=null;pendingRowIds=new Set;constructor(e){this.deps=e}isActive(){return this.active}setCellHeight(e,t,n){if(!this.deps.isColumnAutoHeight(t))return;let r=this.deps.getRowById(e);if(!r)return;if(r.__autoHeights??={},n==null){r.__autoHeights[t]!=null&&(delete r.__autoHeights[t],Object.keys(r.__autoHeights).length===0&&delete r.__autoHeights,r.rowHeightPinned||this.requestCheckAutoHeight(e));return}if(r.rowHeightPinned)return;let i=r.__autoHeights[t];r.__autoHeights[t]=n,this.active=!0,this.wasEverActive=!0,i!==n&&this.requestCheckAutoHeight(e)}setupCellAutoHeight(e){if(!this.deps.isColumnAutoHeight(e.colId))return null;this.active=!0,this.wasEverActive=!0;let{rowId:t,colId:n,cellEl:r}=e;r.classList.add(Ra);let i=(e=0)=>{if(r.classList.contains(`mg-cell--editing`))return;let a=kv(r);if(a<=0&&e<jv){window.setTimeout(()=>i(e+1),0);return}a>0&&this.setCellHeight(t,n,a)};i();let a=Av(r),o=a&&typeof ResizeObserver<`u`?new ResizeObserver(()=>{r.classList.contains(`mg-cell--editing`)||i()}):null;o?.observe(a??r);let s=typeof MutationObserver<`u`?new MutationObserver(()=>{r.classList.contains(`mg-cell--editing`)||i()}):null;return s?.observe(r,{attributes:!0,attributeFilter:[`class`]}),()=>{o?.disconnect(),s?.disconnect(),r.classList.remove(Ra),this.setCellHeight(t,n,void 0)}}requestCheckAutoHeight(e){this.wasEverActive&&(this.pendingRowIds.add(e),this.scheduleRecalculate())}flushPendingRecalculate(){if(this.pendingRowIds.size===0)return;let e=[...this.pendingRowIds];this.pendingRowIds.clear(),this.deps.rowHeightService.recalculateDisplayRowHeights(e)}destroy(){this.debounceTimer!=null&&(clearTimeout(this.debounceTimer),this.debounceTimer=null),this.pendingRowIds.clear(),this.active=!1}scheduleRecalculate(){this.debounceTimer??=window.setTimeout(()=>{this.debounceTimer=null,this.flushPendingRecalculate()},Mv)}};function Pv(e){let t=new Set;if(e.lastRow<e.firstRow)return t;for(let n=e.firstRow;n<=e.lastRow;n++)t.add(n);return t}function Fv(e,t){let n=Pv(t),r=[],i=[],a=[];for(let t of n)e.has(t)?i.push(t):r.push(t);for(let t of e)n.has(t)||a.push(t);return{toCreate:r,toUpdate:i,toDestroy:a}}function Iv(e,t){return e.lastRow<e.firstRow?!1:e.firstRow===t.firstRow&&e.lastRow===t.lastRow}var Lv=`mg-cell__index-loading-spinner`,Rv=`mg-cell--index-focused`;function zv(e,n){if(e.classList.toggle(t.nt,n),n){if(e.classList.remove(Rv,ps),!e.querySelector(`.mg-cell__index-loading-spinner`)){let t=document.createElement(`span`);t.className=Lv,t.setAttribute(`aria-hidden`,`true`),e.append(t)}e.setAttribute(`aria-busy`,`true`);return}e.querySelector(`.${Lv}`)?.remove(),e.removeAttribute(`aria-busy`)}var Bv=class{pool=new Map;acquire(e,t){let n=this.pool.get(e);if(n)return n;let r=t();return this.pool.set(e,r),r}get(e){return this.pool.get(e)}release(e){let t=this.pool.get(e);t&&(t.destroy(),this.pool.delete(e))}migrateId(e,t){if(e===t)return;let n=this.pool.get(e);n&&(this.pool.delete(e),this.pool.set(t,n))}clear(){for(let e of this.pool.values())e.destroy();this.pool.clear()}getActiveCount(){return this.pool.size}getActiveIds(){return[...this.pool.keys()]}};function Vv(e){let{indices:t,enableCellSpan:n,spannedRowOnly:r,rowNode:i,columnModel:a,cellSpanService:o,getRowByIndex:s,getRowCount:c}=e;if(!n||!Za(i))return t;let l=e=>{if(o)return o.resolveVerticalSpan(i,e);if(!e.rowSpan||!s)return{head:i,rowSpan:1,covered:!1};let t=c?.()??i.rowIndex+1;return H_({enableCellSpan:!0,column:e,rowNode:i,getRowByIndex:s,rowCount:t})};return t.filter(e=>{let t=a.getColumn(e);if(!t)return!0;let n=l(t);if(n.covered)return!1;let o=n.rowSpan>1&&n.head.id===i.id,s=Xa(t);return r?!s&&o:!(o&&!s)})}function Hv(e,t,n){let r=t.getElement();if(!e.enableCellSpan||!n.colSpan)t.setColumnLayout(Vp(n,e.columnModel)),N_(r,1);else{let i=I_(n,e.columnModel,{enableCellSpan:!0,params:A_(e.rowNode,n)});t.setColumnLayout(M_(i,e.columnModel)),N_(r,i.length)}Uv(e,r,n)}function Uv(e,t,n){if(!e.enableCellSpan){G_(t,1,null);return}let r=e.getRowCount?.()??e.rowNode.rowIndex+1,i=(e,t)=>W_(e,t,r);if(e.cellSpanService){let r=e.cellSpanService.resolveVerticalSpan(e.rowNode,n);if(r.covered||r.rowSpan<=1){G_(t,1,null);return}let a=e.cellSpanService.getVerticalSpanHeight(e.rowNode,n);G_(t,r.rowSpan,a,{endsTable:i(r.head.rowIndex,r.rowSpan)}),e.applyRowSpanCoverHighlight(t,r.head,r.rowSpan);return}if(!n.rowSpan||!e.getRowByIndex){G_(t,1,null);return}let a=H_({enableCellSpan:!0,column:n,rowNode:e.rowNode,getRowByIndex:e.getRowByIndex,rowCount:r});if(a.covered||a.rowSpan<=1){G_(t,1,null);return}let o=U_(a.head,a.rowSpan,e.getRowByIndex);G_(t,a.rowSpan,o,{endsTable:i(a.head.rowIndex,a.rowSpan)}),e.applyRowSpanCoverHighlight(t,a.head,a.rowSpan)}function Wv(e,t,n,r){if(!e.getRowByIndex||r<=1){t.classList.remove(`mg-cell--row-span-highlighted`);return}let i=K_({head:n,rowSpan:r,getRowByIndex:e.getRowByIndex,isRowHighlighted:t=>e.isRowCoverHighlighted?e.isRowCoverHighlighted(t):t===n.id&&(e.selected||e.indexFocused)});t.classList.toggle(`mg-cell--row-span-highlighted`,i)}function Gv(e,t){if(!(!e.enableCellSpan||!e.rowNode||!e.getRowByIndex))for(let n of t)for(let t of n.cells){let n=t.getElement();if(!n.classList.contains(`mg-cell--row-span`))continue;let r=Number(n.dataset.rowSpan??1);r<=1||Wv(e,n,e.rowNode,r)}}function Kv(e,t){if(e.spannedRowOnly||!e.enableCellSpan||!e.rowNode||!e.columnModel||!e.cellSpanService){t.classList.remove(qa);return}let n=!1;for(let t of e.columnModel.getColumns())if(Xa(t)&&ao(t.rowSpan,t.spanRows)!==`none`&&e.cellSpanService.resolveVerticalSpan(e.rowNode,t).covered){n=!0;break}t.classList.toggle(qa,n)}function qv(e,t){let n=e.masterRowId;if(!n)return null;let r=t?.(n);return{rowId:e.id,masterRowId:n,data:e.data,detailRowData:r?.__detailRowData,loading:r?.__detailLoading??!1,loadFailed:r?.__detailLoadError!==void 0,loadError:r?.__detailLoadError}}function Jv(e,t,n,r={}){let i=()=>{if(r.onUnmountRenderer?.(e),e.replaceChildren(),!n){t.loading?e.textContent=`Loading…`:t.loadFailed&&(e.textContent=`Failed to load detail`),r.onAfterRender?.();return}let i={mountEl:e,clear:()=>{r.onUnmountRenderer?.(e),e.replaceChildren()}},a=n(t,i);if(typeof a==`string`){i.clear(),e.textContent=a;return}a instanceof HTMLElement&&(i.clear(),e.appendChild(a)),r.onAfterRender?.()},a=r.rowIndex??0;if(r.frameService){r.frameService.createTask(i,a,`f1`);return}i()}var Yv=class{isActive=!1;contentEl=null;get active(){return this.isActive}activate(e,t,n){this.isActive=!0,n.rowElement.classList.add(`mg-row--full-width-embed`,`mg-row--detail`),n.rowElement.dataset.rowKind=`DETAIL`,e.masterRowId&&(n.rowElement.dataset.masterRowId=e.masterRowId),this.refreshPinnedLanes(n),this.contentEl||(this.contentEl=document.createElement(`div`),this.contentEl.className=E,n.lanes.center.element.appendChild(this.contentEl)),this.refreshContent(n),n.syncStripeClass(),n.syncLastRowClass(t)}refreshPinnedLanes(e){let{left:t,right:n}=e.buildEmbedPinnedLaneIndices();e.syncEmbedLaneCells(t,n),this.syncSpacerCells(e)}refreshContent(e){if(!this.contentEl)return;let t=qv(e.rowNode,e.getMasterRowById);t&&Jv(this.contentEl,t,e.getDetailCellRenderer?.(),{frameService:e.frameService,onUnmountRenderer:e.onUnmountRenderer,rowIndex:e.rowNode.rowIndex,onAfterRender:()=>{e.detailRowAutoHeightService?.setupContentObserver(e.rowNode.id,this.contentEl)}})}deactivate(e){e.rowNode&&e.detailRowAutoHeightService?.teardownContentObserver(e.rowNode.id),this.isActive=!1,e.rowElement.classList.remove(`mg-row--full-width-embed`,`mg-row--detail`),delete e.rowElement.dataset.rowKind,delete e.rowElement.dataset.masterRowId,this.contentEl&&=(e.onUnmountRenderer?.(this.contentEl),this.contentEl.replaceChildren(),this.contentEl.remove(),null);for(let t of[`left`,`right`])for(let n of e.lanes[t].cells)n.getElement().classList.remove(`mg-cell--embed-spacer`),n.getElement().removeAttribute(`aria-hidden`)}syncSpacerCells(e){for(let t of[`left`,`right`])for(let n of e.lanes[t].cells){let e=n.getElement();e.classList.add(`mg-cell--embed-spacer`),e.setAttribute(`aria-hidden`,`true`),n.clearSelectionCheckbox(),n.clearRowExpandButton(),n.setValue(``)}}};function Xv(e){return e==null?`none`:typeof e==`string`?e:typeof e==`function`?e.name||`fn`:`obj`}function Zv(e,n,r={}){let i=[e.autoHeight?`ah1`:`ah0`,e.rowDrag?`rd1`:`rd0`,e.rowExpand?`re1`:`re0`,e.cellEditorMode??`overlay`,e.cellRenderer?`cr:${Xv(e.cellRenderer)}`:`cr:none`];if(t.V(e)&&i.push(`ed:${Xv(e.cellEditor)}`),t.X(e.colId)&&i.push(`selection`),t.it(e.colId)){let t=z(n)&&(r.rowDragHandleEnabled?.(e.colId)??!1);i.push(t?`idxDrag1`:`idxDrag0`),i.push(r.indexRowResizerEnabled?`idxRsz1`:`idxRsz0`)}return t.V(e)&&i.push(`inlineHost`),i.join(`|`)}function Qv(e,t){return e!==``&&e!==t}function $v(e,t){return t?`折叠第 ${e+1} 行详情`:`展开第 ${e+1} 行详情`}function ey(){let e=document.createElement(`button`);return e.type=`button`,e.className=S,e.setAttribute(`aria-expanded`,`false`),e.appendChild(Im()),e}function ty(e,t){if(!t.visible){e.hidden=!0,e.classList.remove(C),e.setAttribute(`aria-expanded`,`false`);return}e.hidden=!1,e.setAttribute(`aria-label`,t.ariaLabel),e.setAttribute(`aria-expanded`,String(t.expanded)),e.classList.toggle(C,t.expanded)}function ny(e,t){return e===t}function ry(e,t,n){return n?.length?n.some(n=>n.rowId===e&&n.colId===t):!1}var iy=class{cachedValue=``;cachedRenderKey=``;cachedCompIdentityKey=``;cacheVersion=-1;inlineSession=null;activeResolveBusinessRowId;pendingVueRendererContext=null;cachedStructuralSignature=``;refreshCell(e,n,r,i,a=!1){let o=typeof a==`boolean`?{force:a}:a,s=o.force??!1,c=o.newData??!1;this.activeResolveBusinessRowId=o.resolveBusinessRowId;let l=o.cellDisableContext??o.getCellDisableContext?.(),u=o.cellStyleContext??o.getCellStyleContext?.(),d=o.indexColumnOptions,f=o.selectionColumnOptions;ht(n.colId,e.rowKind,n.prop,e.id)&&this.syncCellDisabledVisual(e,n,r,l),this.syncCellEditableRoleVisual(e,n,r,u),this.syncCellStyleVisual(e,n,r,u),this.syncCellEditableIndicatorVisual(e,n,r,u),this.syncCellDisabledIndicatorVisual(e,n,r,u);let p=Zv(n,e,o.structuralContext??o.getCellStructuralContext?.()??{indexRowResizerEnabled:d?.enableRowResizer});if(Qv(this.cachedStructuralSignature,p)&&this.recreateCellState(r),this.cachedStructuralSignature=p,ry(e.id,n.colId,o.overlayEditingTargets))return!1;if(t.X(n.colId))return this.clearInlineSession(r),this.refreshSelectionCell(e,n,r,i,s,f,o.selectionChecked??!1,o.selectionDisabled??!1,o.selectionIndeterminate??!1);if(j(n)&&o.rowExpansionHost?.active())return this.clearInlineSession(r),this.refreshExpandCell(e,n,r,i,s,o.rowExpansionHost);if(Oe(n,e)&&o.rowGroupingHost?.active())return this.clearInlineSession(r),this.refreshGroupCell(e,n,r,i,s,o.rowGroupingHost);if(yh(n,e)&&o.treeTableHost?.active())return this.clearInlineSession(r),this.refreshTreeCell(e,r,i,s,o.treeTableHost);if(!t.it(n.colId)&&t.V(n)&&o.inlineEditor&&z(e))return this.refreshInlineEditorCell(e,n,r,i,s,c,o.inlineEditor,o,o.scheduleInlineEditor);if(this.clearInlineSession(r),!t.it(n.colId)&&n.cellRenderer)return this.refreshRendererCell(e,n,r,i,s,c,o.scheduleRenderer,o.cellRendererDefer,o.cellRendererPresentation,o.scrollActive,d);let m=tp(e,n,d);return!s&&!c&&this.cacheVersion===i&&ny(this.cachedValue,m)?!1:(r.clearRenderer(),this.cachedValue=m,this.cachedRenderKey=``,this.cacheVersion=i,r.setValue(m),!0)}syncCellDisabledVisual(e,t,n,r){let i=yt(t,e,r);n.setCellDisabled(i)}syncCellEditableRoleVisual(e,t,n,r){let i=On(t,e,r);n.setCellEditableRole(i)}syncCellStyleVisual(e,t,n,r){let i=Ln(t,e,r);n.setCellStyle(i)}syncCellEditableIndicatorVisual(e,t,n,r){let i=Pn(t,e,r);n.setCellEditableIndicator(i)}syncCellDisabledIndicatorVisual(e,t,n,r){let i=In(t,e,r);n.setCellDisabledIndicator(i)}invalidate(){this.cacheVersion=-1,this.cachedRenderKey=``,this.cachedCompIdentityKey=``,this.cachedStructuralSignature=``,this.inlineSession=null,this.pendingVueRendererContext=null}recreateCellState(e){this.clearInlineSession(e),e.clearRenderer(),this.invalidate()}hasPendingVueRenderer(){return this.pendingVueRendererContext!==null}promoteVueRenderer(e,t,n={}){let r=this.pendingVueRendererContext;if(!r)return!1;this.pendingVueRendererContext=null,this.cachedRenderKey.endsWith(`:placeholder`)&&(this.cachedRenderKey=this.cachedRenderKey.slice(0,-12));let i=()=>{this.applyRenderer(r.column,t,r.params,!0)};return n.scheduleRenderer&&ha(r.cellRendererPresentation,r.cellRendererDefer,r.column.cellRenderer,r.column.cellRendererMount)&&n.scheduleRenderer?(n.scheduleRenderer(i),!0):(i(),!0)}clearInlineSession(e){this.inlineSession&&(this.inlineSession.mounted.destroy(),this.inlineSession=null,e.clearInlineEditor())}refreshInlineEditorCell(e,t,n,r,i,a,o,s,c){let l=W(e,t),u=s.cellDisableContext??s.getCellDisableContext?.(),d=H(t,e,u),f=yt(t,e,u),p=!d,m=Dp(e.id,t.colId,d,f,t.cellEditor);if(a&&this.inlineSession&&this.clearInlineSession(n),this.inlineSession&&this.cachedCompIdentityKey===m){let i=String(l)!==this.cachedValue;if(ay(this.inlineSession.mounted,l,p,t),n.setInlineEditorDisabledVisual(f),i&&o.host.isVueEditorColumn(t)){let r=n,i=this.buildInlineEditorParams(e,t,n,o,p);o.host.patch(r.getInlineEditorMountEl(),t,i)}return this.cachedValue=String(l),this.cacheVersion=r,!1}this.cachedCompIdentityKey=m,this.cachedRenderKey=m,this.cachedValue=String(l),this.cacheVersion=r;let h=()=>{this.mountInlineEditor(e,t,n,o,p,f)};return c?(c(h),!0):(h(),!0)}buildInlineEditorParams(e,t,n,r,i){return{...r.createParams(e,t),commit:async()=>{let a=this.inlineSession?.mounted;if(!a)return;let o=n;o.setInlineEditorCommitting(!0);let s=a.getFocusTarget();s instanceof HTMLInputElement&&(s.disabled=!0);try{let n=W(e,t);await r.commit(e,t,a.getValue(),n)||ay(a,W(e,t),i,t)}finally{o.setInlineEditorCommitting(!1),s instanceof HTMLInputElement&&(s.disabled=i)}}}}mountInlineEditor(e,t,n,r,i,a){this.clearInlineSession(n);let o=n,s=r.host.isVueEditorColumn(t),c=s&&o.canPatchVueInlineEditor(t.colId);c?o.prepareForInlineEditorPatch(a):o.prepareForInlineEditor(a);let l=o.getInlineEditorMountEl(),u=this.buildInlineEditorParams(e,t,n,r,i),d=r.host.mount(l,t,u,{patch:c});s&&o.markVueInlineEditorMounted(t.colId),this.inlineSession={identityKey:this.cachedCompIdentityKey,mounted:d},ay(d,u.value,i,t);let f=d.getFocusTarget();f instanceof HTMLInputElement&&(f.disabled=i)}refreshSelectionCell(e,t,n,r,i,a,o,s,c){let l=n;if(He(e)){let e=`group-row:no-selection`;return!i&&this.cacheVersion===r&&this.cachedValue===e?!1:(this.cachedValue=e,this.cachedRenderKey=``,this.cacheVersion=r,l.clearSelectionCheckbox(),l.setValue(``),!0)}let u=a?Lp(e.rowIndex,a.selectionColumn):`选择第 ${e.rowIndex+1} 行`,d=`${o}:${s}:${c}:${u}`;return!i&&this.cacheVersion===r&&this.cachedValue===d?!1:(this.cachedValue=d,this.cachedRenderKey=``,this.cacheVersion=r,l.setSelectionCheckbox({checked:o,disabled:s,indeterminate:c,ariaLabel:u}),!0)}refreshExpandCell(e,t,n,r,i,a){let o=!L(e)&&a.isRowMaster(e),s=o&&a.isExpanded(e.id),c=$v(e.rowIndex,s),l=`${o}:${s}:${c}`;if(!i&&this.cacheVersion===r&&this.cachedValue===l)return!1;this.cachedValue=l,this.cachedRenderKey=``,this.cacheVersion=r;let u=n;return o?(u.setRowExpandButton({visible:!0,expanded:s,ariaLabel:c}),!0):(u.clearRowExpandButton(),u.setValue(``),!0)}refreshGroupCell(e,t,n,r,i,a){if(dh(t,e)){let e=uh(t,a);return!i&&this.cacheVersion===r&&this.cachedValue===e?!1:(this.cachedValue=e,this.cachedRenderKey=``,this.cacheVersion=r,n.setValue(e),!0)}let o=fh(e,a,t),s=[o.visible,o.showChevron,o.expanded,o.indentLevel,o.label,o.showCount,o.count,o.ariaLabel].join(`:`);if(!i&&this.cacheVersion===r&&this.cachedValue===s)return!1;this.cachedValue=s,this.cachedRenderKey=``,this.cacheVersion=r;let c=n;return o.visible?(c.setGroupCell(o),!0):(c.clearGroupCell(),c.setValue(``),!0)}refreshTreeCell(e,t,n,r,i){let a=xh(e,i),o=[`tree`,a.visible,a.showChevron,a.expanded,a.loading,a.indentLevel,a.label,a.ariaLabel,a.hierarchyActions?.visible??!1].join(`:`);if(!r&&this.cacheVersion===n&&this.cachedValue===o)return!1;this.cachedValue=o,this.cachedRenderKey=``,this.cacheVersion=n;let s=t;return a.visible?(s.setTreeCell(a),!0):(s.clearGroupCell(),s.setValue(``),!0)}refreshRendererCell(e,t,n,r,i,a,o,s=`always`,c=`deferred`,l=!1,u){let d=tp(e,t,u),f=`${r}:${e.id}:${t.colId}:${d}`,p=Op(e.id,t.colId,t.cellRenderer),m=pa(t.cellRenderer),h=this.cachedValue!==d,g=this.cachedCompIdentityKey!==p,_=g||a;if(!i&&!a&&this.cacheVersion===r&&this.cachedRenderKey===`${f}:placeholder`&&this.pendingVueRendererContext&&l||!i&&!a&&!h&&!g&&this.cacheVersion===r&&!this.pendingVueRendererContext)return!1;if(i&&!a&&!h&&!g&&!this.pendingVueRendererContext)return this.cacheVersion=r,!1;this.cachedValue=d,this.cacheVersion=r;let v={rowId:this.activeResolveBusinessRowId?.(e)??e.id,rowIndex:e.rowIndex,colId:t.colId,value:W(e,t),data:e.data,formattedValue:d};if(c===`placeholder-then-vue`&&m&&l)return this.cachedRenderKey=`${f}:placeholder`,this.pendingVueRendererContext={column:t,params:v,cellRendererDefer:s,cellRendererPresentation:c,indexColumnOptions:u},n.setRendererPlaceholder(d),!0;this.pendingVueRendererContext=null,this.cachedRenderKey=f,this.cachedCompIdentityKey=p;let y=()=>{this.applyRenderer(t,n,v,_)};return o&&ha(c,s,t.cellRenderer,t.cellRendererMount)&&o?(o(y),!0):(y(),!0)}applyRenderer(e,t,n,r=!1){let i=e.cellRenderer;if(!i)return;let a=t,o=t.getRendererMountEl(),s=pa(i);if(!r&&s&&a.canPatchVueRenderer(e.colId)){if(mp(o,n)){a.markVueRendererMounted(e.colId);return}a.prepareForRendererPatch()}else a.prepareForRenderer();let c=i(n,{mountEl:o,clear:()=>{t.clearRenderer()}});s&&c==null&&a.markVueRendererMounted(e.colId),c!=null&&(typeof c==`string`||c instanceof HTMLElement)&&D_.apply(o,c)}};function ay(e,t,n,r){let i=e.getFocusTarget();!(i instanceof HTMLInputElement)||i.type!==`checkbox`||(i.checked=qt(t,an(r)),i.disabled=n)}function oy(e,t){e.classList.toggle(Do,t===`filled`),e.classList.toggle(Oo,t===`empty`),e.removeAttribute(`data-has-comment`),e.removeAttribute(`data-comment-empty`),t===`filled`?e.dataset.hasComment=`true`:t===`empty`&&(e.dataset.commentEmpty=`true`)}var sy=class{element;textEl;rendererMount;inlineEditorMount;onUnmountRenderer;onUnmountEditor;selectionCheckbox=null;rowExpandButton=null;groupContentEl=null;groupExpandButton=null;groupLabelEl=null;groupCountEl=null;treeHierarchyActionsEl=null;rowResizeHandle=null;rowDragHandle=null;editableIndicatorEl=null;disabledIndicatorEl=null;usingRenderer=!1;usingInlineEditor=!1;vueRendererActive=!1;vueRendererColId;vueInlineEditorActive=!1;vueInlineEditorColId;rendererPlaceholderActive=!1;lastCellStyle={};constructor(e,t={}){this.onUnmountRenderer=t.onUnmountRenderer,this.onUnmountEditor=t.onUnmountEditor,this.element=document.createElement(`div`),this.element.className=`mg-cell`,this.textEl=document.createElement(`span`),this.textEl.className=`mg-cell__text`,this.rendererMount=document.createElement(`div`),this.rendererMount.className=`mg-cell__renderer`,this.rendererMount.hidden=!0,this.inlineEditorMount=document.createElement(`div`),this.inlineEditorMount.className=`mg-cell__inline-editor`,this.inlineEditorMount.hidden=!0,this.element.append(this.textEl,this.rendererMount,this.inlineEditorMount),e.appendChild(this.element)}setLayout(e,t){Hp(this.element,{left:e,width:t,fixed:null},`mg-cell`)}setColumnLayout(e){Hp(this.element,e,`mg-cell`)}setValue(e){this.clearSelectionCheckbox(),this.clearRowExpandButton(),this.clearGroupCell(),this.clearInlineEditor(),this.clearRenderer(),this.textEl.hidden=!1,this.textEl.textContent!==e&&(this.textEl.textContent=e)}setSelectionCheckbox(e){if(this.clearInlineEditor(),this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,this.element.classList.toggle(`mg-cell--selection-disabled`,!!e.disabled),!this.selectionCheckbox){this.selectionCheckbox=Pp(e),this.element.append(this.selectionCheckbox);return}Fp(this.selectionCheckbox,e),this.selectionCheckbox.getAttribute(`aria-label`)!==e.ariaLabel&&this.selectionCheckbox.setAttribute(`aria-label`,e.ariaLabel)}clearSelectionCheckbox(){this.selectionCheckbox&&=(this.selectionCheckbox.remove(),null)}getSelectionCheckbox(){return this.selectionCheckbox}setRowExpandButton(e){if(this.clearInlineEditor(),this.clearRenderer(),this.clearGroupCell(),this.textEl.hidden=!0,this.textEl.textContent=``,!e.visible){this.clearRowExpandButton();return}this.rowExpandButton||(this.rowExpandButton=ey(),this.element.append(this.rowExpandButton)),ty(this.rowExpandButton,e)}clearRowExpandButton(){this.rowExpandButton&&=(this.rowExpandButton.remove(),null)}getRowExpandButton(){return this.rowExpandButton}setGroupCell(e){if(this.clearInlineEditor(),this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,!e.visible){this.clearGroupCell();return}this.groupContentEl||(this.groupContentEl=document.createElement(`div`),this.groupContentEl.className=oh,this.groupLabelEl=document.createElement(`span`),this.groupLabelEl.className=sh,this.groupCountEl=document.createElement(`span`),this.groupCountEl.className=ch,this.groupContentEl.append(this.groupLabelEl,this.groupCountEl),this.element.append(this.groupContentEl)),this.groupExpandButton=vh(this.groupContentEl,this.groupExpandButton,this.groupLabelEl,e.showChevron),_h(this.groupContentEl,this.groupExpandButton,this.groupLabelEl,this.groupCountEl,e)}setTreeCell(e){if(this.clearInlineEditor(),this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,!e.visible){this.clearGroupCell();return}this.groupContentEl||(this.groupContentEl=document.createElement(`div`),this.groupContentEl.className=oh,this.groupLabelEl=document.createElement(`span`),this.groupLabelEl.className=sh,this.groupCountEl=document.createElement(`span`),this.groupCountEl.className=ch,this.groupCountEl.hidden=!0,this.groupContentEl.append(this.groupLabelEl,this.groupCountEl),this.element.append(this.groupContentEl)),this.groupExpandButton=Nh(this.groupContentEl,this.groupExpandButton,this.groupLabelEl,e.showChevron,e.indentLevel),this.treeHierarchyActionsEl=Mh(this.groupContentEl,this.groupExpandButton,this.groupLabelEl,e,this.treeHierarchyActionsEl)}clearGroupCell(){this.groupContentEl&&(this.groupContentEl.remove(),this.groupContentEl=null,this.groupExpandButton=null,this.groupLabelEl=null,this.groupCountEl=null,this.treeHierarchyActionsEl=null)}getGroupExpandButton(){return this.groupExpandButton}setRendererResult(e){this.prepareForRenderer(),D_.apply(this.rendererMount,e)}prepareForRenderer(){this.clearInlineEditor(),this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,this.rendererMount.hidden=!1,this.usingRenderer=!0}prepareForRendererPatch(){this.clearInlineEditor(),this.textEl.hidden=!0,this.textEl.textContent=``,this.rendererMount.hidden=!1,this.usingRenderer=!0}canPatchVueRenderer(e){return this.usingRenderer&&this.vueRendererActive&&this.vueRendererColId===e}markVueRendererMounted(e){this.vueRendererActive=!0,this.vueRendererColId=e,this.rendererPlaceholderActive=!1}setRendererPlaceholder(e){this.clearInlineEditor(),this.clearRenderer(),this.textEl.hidden=!1,this.textEl.textContent!==e&&(this.textEl.textContent=e),this.rendererMount.hidden=!0,this.usingRenderer=!1,this.rendererPlaceholderActive=!0}isRendererPlaceholderActive(){return this.rendererPlaceholderActive}prepareForInlineEditor(e){this.clearSelectionCheckbox(),this.clearRowExpandButton(),this.clearGroupCell(),this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,this.inlineEditorMount.hidden=!1,this.usingInlineEditor=!0,this.element.classList.add(`mg-cell--inline-editor`),this.setInlineEditorDisabledVisual(e)}prepareForInlineEditorPatch(e){this.clearSelectionCheckbox(),this.clearRowExpandButton(),this.clearGroupCell(),this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,this.inlineEditorMount.hidden=!1,this.usingInlineEditor=!0,this.element.classList.add(`mg-cell--inline-editor`),this.setInlineEditorDisabledVisual(e)}canPatchVueInlineEditor(e){return this.usingInlineEditor&&this.vueInlineEditorActive&&this.vueInlineEditorColId===e}markVueInlineEditorMounted(e){this.vueInlineEditorActive=!0,this.vueInlineEditorColId=e}clearInlineEditor(){(this.usingInlineEditor||this.inlineEditorMount.childNodes.length>0)&&this.onUnmountEditor?.(this.inlineEditorMount),this.inlineEditorMount.replaceChildren(),this.inlineEditorMount.hidden=!0,this.usingInlineEditor=!1,this.vueInlineEditorActive=!1,this.vueInlineEditorColId=void 0,this.element.classList.remove(`mg-cell--inline-editor`,`mg-cell--inline-disabled`,`mg-cell--committing`)}getInlineEditorMountEl(){return this.inlineEditorMount}setInlineEditorDisabledVisual(e){this.element.classList.toggle(`mg-cell--inline-disabled`,e),this.setCellDisabled(e)}setInlineEditorCommitting(e){this.setCommittingVisual(e)}setCommittingVisual(e){this.element.classList.toggle(`mg-cell--committing`,e)}setIndexLoadingVisual(e){zv(this.element,e)}clearRenderer(){(this.usingRenderer||this.rendererMount.childNodes.length>0)&&this.onUnmountRenderer?.(this.rendererMount),D_.clear(this.rendererMount),this.rendererMount.hidden=!0,this.usingRenderer=!1,this.vueRendererActive=!1,this.vueRendererColId=void 0,this.rendererPlaceholderActive=!1}hasRenderer(){return this.usingRenderer}getRendererMountEl(){return this.rendererMount}setColId(e){this.element.dataset.colId=e}setFocused(e){this.element.classList.toggle(`mg-cell--focused`,e)}setRangeSelected(e){this.element.classList.toggle(Ko,e)}setRangeAnchor(e){this.element.classList.toggle(qo,e)}setIndexRangeHighlight(e){this.element.classList.toggle(ps,e)}playRangeCopyFlash(){this.element.classList.remove(ns),this.element.offsetWidth,this.element.classList.add(ns);let e=()=>{this.element.classList.remove(ns),this.element.removeEventListener(`animationend`,e)};this.element.addEventListener(`animationend`,e)}playRangePasteFlash(e){this.element.classList.remove(is,as),this.element.offsetWidth,this.element.classList.add(e?as:is);let t=()=>{this.element.classList.remove(is,as),this.element.removeEventListener(`animationend`,t)};this.element.addEventListener(`animationend`,t)}setCellEditableIndicator(e){if(!e){this.clearCellEditableIndicator();return}this.editableIndicatorEl||(this.editableIndicatorEl=document.createElement(`span`),this.editableIndicatorEl.className=wt,this.editableIndicatorEl.setAttribute(`aria-hidden`,`true`),this.editableIndicatorEl.append(Hm()),this.element.prepend(this.editableIndicatorEl)),this.element.classList.add(Ct)}clearCellEditableIndicator(){this.editableIndicatorEl?.remove(),this.editableIndicatorEl=null,this.element.classList.remove(Ct)}setCellDisabledIndicator(e){if(!e){this.clearCellDisabledIndicator();return}this.disabledIndicatorEl||(this.disabledIndicatorEl=document.createElement(`span`),this.disabledIndicatorEl.className=ft,this.disabledIndicatorEl.setAttribute(`aria-hidden`,`true`),this.disabledIndicatorEl.append(Wm()),this.element.prepend(this.disabledIndicatorEl)),this.element.classList.add(dt)}clearCellDisabledIndicator(){this.disabledIndicatorEl?.remove(),this.disabledIndicatorEl=null,this.element.classList.remove(dt)}setCellEditableRole(e){this.element.classList.toggle(St,e)}setCellDisabled(e){if(this.element.classList.toggle(lt,e),e){this.element.setAttribute(`aria-disabled`,`true`),this.element.setAttribute(ut,`true`);return}this.element.removeAttribute(`aria-disabled`),this.element.removeAttribute(ut)}setCellStyle(e){let t=this.lastCellStyle,n=e.backgroundColor,r=e.color;t.backgroundColor!==n&&(n===void 0||n===``?this.element.style.removeProperty(`background-color`):this.element.style.backgroundColor=n),t.color!==r&&(r===void 0||r===``?this.element.style.removeProperty(`color`):this.element.style.color=r),this.lastCellStyle={backgroundColor:n,color:r},Mt({backgroundColor:n})?this.element.setAttribute(xt,`true`):this.element.removeAttribute(xt)}setCommentIndicator(e){oy(this.element,e)}setRowDragHandle(e){if(e){this.rowDragHandle||(this.rowDragHandle=document.createElement(`div`),this.rowDragHandle.className=ya,this.rowDragHandle.setAttribute(`role`,`button`),this.rowDragHandle.setAttribute(`aria-label`,`拖拽行`),this.rowDragHandle.append(_m()),this.element.prepend(this.rowDragHandle)),this.element.classList.add(`mg-cell--row-draggable`);return}this.clearRowDragHandle()}clearRowDragHandle(){this.rowDragHandle?.remove(),this.rowDragHandle=null,this.element.classList.remove(`mg-cell--row-draggable`)}setRowResizeHandle(e){if(e){this.rowResizeHandle||(this.rowResizeHandle=document.createElement(`div`),this.rowResizeHandle.className=Ia,this.rowResizeHandle.setAttribute(`role`,`separator`),this.rowResizeHandle.setAttribute(`aria-orientation`,`horizontal`),this.element.append(this.rowResizeHandle)),this.element.classList.add(`mg-cell--row-resizable`);return}this.clearRowResizeHandle()}clearRowResizeHandle(){this.rowResizeHandle?.remove(),this.rowResizeHandle=null,this.element.classList.remove(`mg-cell--row-resizable`)}getColId(){return this.element.dataset.colId}getElement(){return this.element}destroy(){this.clearSelectionCheckbox(),this.clearRowExpandButton(),this.clearCellEditableIndicator(),this.clearRowDragHandle(),this.clearRowResizeHandle(),this.clearInlineEditor(),this.clearRenderer(),this.element.remove()}};function cy(e){let t=document.createElement(`div`);return t.className=`mg-row__lane mg-row__lane--${e}`,{element:t,cells:[],cellCtrls:[],indices:[],mountedColIds:[],changedSlotIndices:new Set}}function ly(e){return e.left.indices.length>0||e.center.indices.length>0||e.right.indices.length>0}function uy(e,t){e.left.element.style.width=`${t.getLeftFixedWidth()}px`,e.center.element.style.width=`${t.getCenterTotalWidth()}px`,e.right.element.style.width=`${t.getRightFixedWidth()}px`}function dy(e,n,r,i,a,o,s){let c=i.colId;s!==c&&(o.changedSlotIndices.add(a),s&&r.invalidate(),n.setFocused(!1),n.getElement().classList.remove(`mg-cell--invalid`),n.getElement().removeAttribute(`title`)),e.applyCellSpanLayout(n,i),n.setColId(c),n.getElement().toggleAttribute(`data-auto-height`,i.autoHeight),Xp(n.getElement(),i.align,i.valign,`mg-cell`),n.getElement().classList.toggle(`mg-cell--index`,t.it(i.colId)),n.getElement().classList.toggle(`mg-cell--selection`,t.X(i.colId)),n.getElement().classList.toggle(`mg-cell--expand`,A(i.colId)||i.rowExpand),n.getElement().classList.toggle(`mg-cell--group`,R(i.colId));let l=e.rowNode!=null&&z(e.rowNode)&&(e.isRowDragHandleEnabled?.(i.colId)??!1);t.it(i.colId)?(n.getElement().classList.toggle(`mg-cell--index-focused`,e.indexFocused),n.setIndexRangeHighlight(e.indexColumnRangeHighlighted),n.setRowResizeHandle(e.indexColumnOptions?.enableRowResizer??!1),n.setRowDragHandle(l)):(n.clearRowResizeHandle(),n.setRowDragHandle(i.rowDrag?l:!1))}function fy(e){let t=new Map;for(let n of[`left`,`center`,`right`]){let r=e[n];for(let e=0;e<r.cells.length;e++){let n=r.mountedColIds[e];n&&t.set(n,{cell:r.cells[e],ctrl:r.cellCtrls[e]})}}return t}function py(e,t){for(let{cell:n}of e.values())t(n.getElement()),n.destroy();e.clear()}function my(e,t,n,r){if(t.indices=n,t.changedSlotIndices.clear(),!e.columnModel)return;let i=[],a=[],o=[];for(let s=0;s<n.length;s++){let c=n[s],l=c===void 0?void 0:e.columnModel.getColumn(c);if(!l)continue;let u=r.get(l.colId),d,f,p=``;u?(d=u.cell,f=u.ctrl,p=l.colId,r.delete(l.colId)):(d=new sy(t.element,{onUnmountRenderer:e.onUnmountRenderer,onUnmountEditor:e.onUnmountEditor}),f=new iy),t.element.appendChild(d.getElement()),dy(e.bindDeps,d,f,l,s,t,p),i.push(d),a.push(f),o.push(l.colId)}t.cells=i,t.cellCtrls=a,t.mountedColIds=o}function hy(e,t,n,r){my(e,e.lanes[t],n,r)}function gy(e,t){return Vv({...e,indices:t})}function _y(e){let t=B_({columnModel:e.columnModel,centerWindow:e.columnWindow,enableCellSpan:e.spanFilter.enableCellSpan,paramsForColumn:t=>A_(e.rowNode,t)}),n=fy(e.laneSyncDeps.lanes);for(let r of[`left`,`center`,`right`])hy(e.laneSyncDeps,r,gy(e.spanFilter,t[r]),n);py(n,e.laneSyncDeps.cleanupAutoHeightCell)}function vy(e){let t=B_({columnModel:e.columnModel,centerWindow:e.columnWindow,enableCellSpan:!1,paramsForColumn:t=>A_(e.rowNode,t)});return{left:gy(e.spanFilter,t.left),right:gy(e.spanFilter,t.right)}}var yy=class{element;lanes;frameService;onUnmountRenderer;onUnmountEditor;inlineEditor;indexColumnOptions;selectionColumnOptions;rowAutoHeightService;isRowDragHandleEnabled;isAsyncMutationLoadingRow;infiniteLoadingRowVisible;enableCellSpan;cellSpanService;getRowByIndex;getRowCount;isRowCoverHighlighted;spannedRowOnly;embedFullWidthRows;getDetailCellRenderer;getMasterRowById;rowExpansionHost;rowGroupingHost;treeTableHost;getCellCommentHost;detailRowAutoHeightService;resolveBusinessRowId;getCellDisableContext;getCellStyleContext;cellRendererDefer;isScrollActive;cellRendererPresentation;fullWidthEmbed=new Yv;autoHeightCleanups=new Map;columnModel=null;columnWindow={firstCol:0,lastCol:-1};rowNode=null;stripe=!1;valueCacheVersion=0;selected=!1;selectionIndeterminate=!1;indexFocused=!1;indexColumnRangeHighlighted=!1;selectionDisabled=!1;lastRowTop=null;pendingRendererTasks=[];rendererBatchDepth=0;lastCellValueSyncRowId=null;lastCellValueSyncData=null;lastCellValueSyncValueCacheVersion=-1;constructor(e,t={}){this.stripe=t.stripe??!1,this.frameService=t.frameService??null,this.onUnmountRenderer=t.onUnmountRenderer,this.onUnmountEditor=t.onUnmountEditor,this.inlineEditor=t.inlineEditor,this.indexColumnOptions=t.indexColumnOptions,this.selectionColumnOptions=t.selectionColumnOptions,this.rowAutoHeightService=t.rowAutoHeightService??null,this.isRowDragHandleEnabled=t.isRowDragHandleEnabled,this.isAsyncMutationLoadingRow=t.isAsyncMutationLoadingRow,this.infiniteLoadingRowVisible=t.infiniteLoadingRowVisible??!0,this.enableCellSpan=t.enableCellSpan??!1,this.cellSpanService=t.cellSpanService??null,this.getRowByIndex=t.getRowByIndex,this.getRowCount=t.getRowCount,this.isRowCoverHighlighted=t.isRowCoverHighlighted,this.spannedRowOnly=t.spannedRowOnly??!1,this.embedFullWidthRows=t.embedFullWidthRows??!1,this.getDetailCellRenderer=t.getDetailCellRenderer,this.getMasterRowById=t.getMasterRowById,this.rowExpansionHost=t.rowExpansionHost,this.rowGroupingHost=t.rowGroupingHost,this.treeTableHost=t.treeTableHost,this.getCellCommentHost=t.getCellCommentHost,this.detailRowAutoHeightService=t.detailRowAutoHeightService??null,this.resolveBusinessRowId=t.resolveBusinessRowId,this.getCellDisableContext=t.getCellDisableContext,this.getCellStyleContext=t.getCellStyleContext,this.cellRendererDefer=t.cellRendererDefer??`always`,this.isScrollActive=t.isScrollActive,this.cellRendererPresentation=t.cellRendererPresentation??`deferred`,this.element=document.createElement(`div`),this.element.className=`mg-row`,this.spannedRowOnly&&this.element.classList.add(`mg-row--spanned`),this.syncTopPositioningClass(),this.lanes={left:cy(`left`),center:cy(`center`),right:cy(`right`)},this.element.append(this.lanes.left.element,this.lanes.center.element,this.lanes.right.element),e.appendChild(this.element)}setSelected(e,t=!1){this.selected=e,this.selectionIndeterminate=t,this.element.classList.toggle(`mg-row--selected`,e),this.syncSelectionColumnCheckbox(),this.syncRowSpanHighlights()}setSelectionDisabled(e){this.selectionDisabled=e,this.syncSelectionColumnCheckbox()}setIndexFocused(e){this.indexFocused=e,this.element.classList.toggle(`mg-row--index-focused`,e),this.syncIndexFocusedVisual(),this.syncRowSpanHighlights()}setIndexColumnRangeHighlight(e){this.indexColumnRangeHighlighted!==e&&(this.indexColumnRangeHighlighted=e,this.syncIndexColumnRangeHighlightVisual())}setFocusedColId(e){for(let t of Object.values(this.lanes))for(let n of t.cells){let t=n.getColId();n.setFocused(e!==null&&t===e)}}setCellRangeSelection(e,t,n){for(let r of Object.values(this.lanes))for(let i of r.cells){let r=i.getColId()??``,a=i.getElement(),o=Number(a.dataset.rowSpan??1),s=o>1&&this.rowNode&&this.getRowByIndex&&n?q_({head:this.rowNode,rowSpan:o,colId:r,getRowByIndex:this.getRowByIndex,isCellSelected:n}):e(r);i.setRangeSelected(s),i.setRangeAnchor(t!==null&&r===t)}}flashCellRangeSelection(e,t){for(let n of Object.values(this.lanes))for(let r of n.cells){let n=r.getColId()??``,i=r.getElement(),a=Number(i.dataset.rowSpan??1);(a>1&&this.rowNode&&this.getRowByIndex&&t?q_({head:this.rowNode,rowSpan:a,colId:n,getRowByIndex:this.getRowByIndex,isCellSelected:t}):e(n))&&r.playRangeCopyFlash()}}flashCellRangePaste(e){for(let t of Object.values(this.lanes))for(let n of t.cells){let t=n.getColId(),r=e.find(e=>e.colId===t);r&&n.playRangePasteFlash(!r.applied)}}setRowTop(e){this.lastRowTop=e,this.applyRowTop(e)}syncRowLayout(e){if(this.rowNode=e,this.spannedRowOnly){this.syncSpannedRowHeight();return}this.syncRowHeight(e.rowHeight),this.syncInfiniteLoadingVisual()}syncRowExpansionDisplayChrome(e,t){this.syncExpandedMasterClass(),!(e.length===0||!this.rowNode)&&this.refreshCells({...t,colIds:[...e],force:!0})}setIndexLoadingVisual(e){for(let t of Object.values(this.lanes))for(let n of t.cells)n.getElement().classList.contains(`mg-cell--index`)&&n.setIndexLoadingVisual(e);e||(this.syncIndexFocusedVisual(),this.syncIndexColumnRangeHighlightVisual())}setData(e,t,n,r=0,i=!1,a){if(this.rowNode=e,this.columnModel=t,this.columnWindow=n,this.valueCacheVersion=r,this.element.dataset.rowId=e.id,this.spannedRowOnly?this.syncSpannedRowHeight():this.syncRowHeight(e.rowHeight),this.element.style.width=`${t.getTotalWidth()}px`,this.syncLaneWidths(),this.embedFullWidthRows&&L(e)){this.fullWidthEmbed.activate(e,i,this.buildFullWidthEmbedDeps());return}if(this.fullWidthEmbed.active&&this.fullWidthEmbed.deactivate(this.buildFullWidthEmbedDeps()),this.syncCells(),this.syncPinnedSpanRowClasses(),this.syncIndexLoadingVisual(),this.syncInfiniteLoadingVisual(),this.syncStripeClass(),this.syncLastRowClass(i),this.syncExpandedMasterClass(),this.syncGroupRowClasses(),a?.columnStructureChanged===!0||this.lastCellValueSyncRowId!==e.id||this.lastCellValueSyncData!==e.data||this.lastCellValueSyncValueCacheVersion!==r){let t=a?.overlayEditingTargets;a?.columnStructureChanged?this.syncCellValues(`structure-changed`,t):this.syncCellValues(`all`,t),this.lastCellValueSyncRowId=e.id,this.lastCellValueSyncData=e.data,this.lastCellValueSyncValueCacheVersion=r}this.syncAutoHeightCells(),this.syncCellCommentIndicators()}setEnableCellSpan(e){this.enableCellSpan!==e&&(this.enableCellSpan=e,this.syncTopPositioningClass(),this.lastRowTop!==null&&this.applyRowTop(this.lastRowTop))}setCellSpanService(e){this.cellSpanService=e}setRowSpanAccessors(e){this.getRowByIndex=e.getRowByIndex,this.getRowCount=e.getRowCount}refreshCells(e){if(!this.rowNode)return 0;if(this.columnModel=e.columnModel,this.columnWindow=e.columnWindow,this.valueCacheVersion=e.valueCacheVersion,e.inlineEditor&&(this.inlineEditor=e.inlineEditor),this.syncLaneWidths(),this.fullWidthEmbed.active){let e=this.buildFullWidthEmbedDeps();return this.fullWidthEmbed.refreshPinnedLanes(e),this.fullWidthEmbed.refreshContent(e),1}this.enableCellSpan&&this.syncCells();let t=e.indexColumnOptions??this.indexColumnOptions,n=e.selectionColumnOptions??this.selectionColumnOptions,r=e.colIds?new Set(e.colIds):null;if(!ly(this.lanes)||!this.columnModel)return 0;let i=e.force??!1,a=e.newData??!1,o=e.overlayEditingTargets,s=this.withRendererBatch(()=>{let e=0;for(let s of[`left`,`center`,`right`]){let c=this.lanes[s];for(let l=0;l<c.indices.length;l++)this.refreshCellAtLaneIndex(s,l,r,i,a,t,n,o)&&e++}return e});return this.syncAutoHeightCells(r,i),this.syncCellCommentIndicators(r),s}promoteRendererPlaceholders(){return!this.rowNode||!this.columnModel||this.fullWidthEmbed.active?0:this.withRendererBatch(()=>{let e=0;for(let t of[`left`,`center`,`right`]){let n=this.lanes[t];for(let r=0;r<n.indices.length;r++)this.promoteRendererPlaceholderAtLaneIndex(t,r)&&e++}return e})}syncCellCommentIndicators(e=null){let t=this.getCellCommentHost?.();if(!t?.active()||!this.rowNode||!this.columnModel||this.fullWidthEmbed.active)return;let n=this.rowNode,r=P(n.rowKind);for(let i of[`left`,`center`,`right`]){let a=this.lanes[i];for(let i=0;i<a.indices.length;i++){let o=a.indices[i],s=o===void 0?void 0:this.columnModel.getColumn(o),c=a.cells[i];if(!s||!c)continue;let{colId:l}=s;if(e&&!e.has(l))continue;if(!Lo(l,r,n.id)){c.setCommentIndicator(`none`);continue}let u=t.hasComment(n.id,l),d=t.canCreateComment(n.id,l);c.setCommentIndicator(u?`filled`:d?`empty`:`none`)}}}getElement(){return this.element}destroy(){this.fullWidthEmbed.deactivate(this.buildFullWidthEmbedDeps()),this.clearAutoHeightCleanups();for(let e of Object.values(this.lanes)){for(let t of e.cells)t.destroy();e.cells.length=0,e.cellCtrls.length=0}this.lastCellValueSyncRowId=null,this.lastCellValueSyncData=null,this.lastCellValueSyncValueCacheVersion=-1,this.element.remove()}applyRowTop(e){if(Ya(this.enableCellSpan)){this.element.style.top=`${e}px`,this.element.style.transform=``;return}this.element.style.top=`0px`,this.element.style.transform=`translateY(${e}px)`}syncTopPositioningClass(){this.element.classList.toggle(Ka,Ya(this.enableCellSpan))}syncIndexLoadingVisual(){this.rowNode&&this.setIndexLoadingVisual(this.isAsyncMutationLoadingRow?.(this.rowNode.id)??!1)}syncInfiniteLoadingVisual(){if(!this.rowNode||!this.infiniteLoadingRowVisible){this.element.classList.remove(`mg-row--infinite-loading`,`mg-row--infinite-stub`);return}let e=this.rowNode.__infiniteBlockState,t=e==null||e===`loaded`,n=e===`loading`,r=!t;this.element.classList.toggle(`mg-row--infinite-loading`,n),this.element.classList.toggle(`mg-row--infinite-stub`,r)}syncRowHeight(e){let t=`${e}px`;this.element.style.height=t,this.element.style.setProperty(`--mg-row-height`,t)}syncSpannedRowHeight(){this.element.style.height=`0px`,this.element.style.setProperty(`--mg-row-height`,`0px`)}syncPinnedSpanRowClasses(){Kv({spannedRowOnly:this.spannedRowOnly,enableCellSpan:this.enableCellSpan,rowNode:this.rowNode,columnModel:this.columnModel,cellSpanService:this.cellSpanService},this.element)}syncLaneWidths(){this.columnModel&&uy(this.lanes,this.columnModel)}syncColumnLayouts(){if(!this.columnModel)return;if(this.element.style.width=`${this.columnModel.getTotalWidth()}px`,this.syncLaneWidths(),this.fullWidthEmbed.active){this.fullWidthEmbed.refreshPinnedLanes(this.buildFullWidthEmbedDeps());return}let e=this.buildCellSpanLayoutContext();for(let t of[`left`,`center`,`right`]){let n=this.lanes[t];for(let t=0;t<n.indices.length;t++){let r=n.indices[t],i=r===void 0?void 0:this.columnModel.getColumn(r),a=n.cells[t];!i||!a||Hv(e,a,i)}}}syncLanesWithCrossLanePool(e){let t=this.buildLaneSyncDeps(),n=fy(t.lanes);for(let r of[`left`,`center`,`right`])hy(t,r,e[r],n);py(n,t.cleanupAutoHeightCell)}syncCells(){!this.columnModel||!this.rowNode||_y({rowNode:this.rowNode,columnModel:this.columnModel,columnWindow:this.columnWindow,spanFilter:this.buildSpanFilterParams(),laneSyncDeps:this.buildLaneSyncDeps()})}buildLaneSyncDeps(){return{lanes:this.lanes,columnModel:this.columnModel,bindDeps:this.buildBindCellDeps(),onUnmountRenderer:this.onUnmountRenderer,onUnmountEditor:this.onUnmountEditor,cleanupAutoHeightCell:e=>this.cleanupAutoHeightCell(e)}}buildBindCellDeps(){let e=this.buildCellSpanLayoutContext();return{rowNode:this.rowNode,indexFocused:this.indexFocused,indexColumnRangeHighlighted:this.indexColumnRangeHighlighted,indexColumnOptions:this.indexColumnOptions,isRowDragHandleEnabled:this.isRowDragHandleEnabled,applyCellSpanLayout:(t,n)=>Hv(e,t,n)}}buildCellSpanLayoutContext(){return{enableCellSpan:this.enableCellSpan,rowNode:this.rowNode,columnModel:this.columnModel,cellSpanService:this.cellSpanService,getRowByIndex:this.getRowByIndex,getRowCount:this.getRowCount,applyRowSpanCoverHighlight:(e,t,n)=>Wv(this.buildRowSpanHighlightContext(),e,t,n)}}buildRowSpanHighlightContext(){return{getRowByIndex:this.getRowByIndex,isRowCoverHighlighted:this.isRowCoverHighlighted,selected:this.selected,indexFocused:this.indexFocused}}buildSpanFilterParams(){return{enableCellSpan:this.enableCellSpan,spannedRowOnly:this.spannedRowOnly,rowNode:this.rowNode,columnModel:this.columnModel,cellSpanService:this.cellSpanService,getRowByIndex:this.getRowByIndex,getRowCount:this.getRowCount}}buildFullWidthEmbedDeps(){return{rowElement:this.element,lanes:this.lanes,rowNode:this.rowNode,columnModel:this.columnModel,frameService:this.frameService,onUnmountRenderer:this.onUnmountRenderer,getDetailCellRenderer:this.getDetailCellRenderer,getMasterRowById:this.getMasterRowById,detailRowAutoHeightService:this.detailRowAutoHeightService,syncEmbedLaneCells:(e,t)=>this.syncLanesWithCrossLanePool({left:e,center:[],right:t}),buildEmbedPinnedLaneIndices:()=>vy({columnModel:this.columnModel,columnWindow:this.columnWindow,rowNode:this.rowNode,spanFilter:this.buildSpanFilterParams()}),syncStripeClass:()=>this.syncStripeClass(),syncLastRowClass:e=>this.syncLastRowClass(e)}}syncRowSpanHighlights(){Gv({...this.buildRowSpanHighlightContext(),enableCellSpan:this.enableCellSpan,rowNode:this.rowNode},Object.values(this.lanes))}syncIndexFocusedVisual(){if(this.columnModel)for(let e of[`left`,`center`,`right`]){let n=this.lanes[e];for(let e=0;e<n.indices.length;e++){let r=n.indices[e],i=r===void 0?void 0:this.columnModel.getColumn(r),a=n.cells[e];!i||!a||!t.it(i.colId)||a.getElement().classList.toggle(`mg-cell--index-focused`,this.indexFocused)}}}syncIndexColumnRangeHighlightVisual(){if(this.columnModel)for(let e of[`left`,`center`,`right`]){let n=this.lanes[e];for(let e=0;e<n.indices.length;e++){let r=n.indices[e],i=r===void 0?void 0:this.columnModel.getColumn(r),a=n.cells[e];!i||!a||!t.it(i.colId)||a.setIndexRangeHighlight(this.indexColumnRangeHighlighted)}}}refreshCellAtLaneIndex(e,t,n,r,i,a,o,s){let c=this.lanes[e],l=c.indices[t],u=l===void 0?void 0:this.columnModel.getColumn(l),d=c.cells[t],f=c.cellCtrls[t];return!u||!d||!f||!this.rowNode||n&&!n.has(u.colId)?!1:f.refreshCell(this.rowNode,u,d,this.valueCacheVersion,{force:r,newData:i,scheduleRenderer:e=>this.scheduleRendererTask(e),scheduleInlineEditor:e=>this.scheduleInlineEditorTask(e),inlineEditor:this.inlineEditor,indexColumnOptions:a??this.indexColumnOptions,selectionColumnOptions:o??this.selectionColumnOptions,selectionChecked:this.selected,selectionDisabled:this.selectionDisabled,selectionIndeterminate:this.selectionIndeterminate,rowExpansionHost:this.rowExpansionHost,rowGroupingHost:this.rowGroupingHost,treeTableHost:this.treeTableHost,resolveBusinessRowId:this.resolveBusinessRowId,getCellDisableContext:this.getCellDisableContext,getCellStyleContext:this.getCellStyleContext,cellRendererDefer:this.cellRendererDefer,cellRendererPresentation:this.cellRendererPresentation,scrollActive:this.isScrollActive?.()??!1,overlayEditingTargets:s,getCellStructuralContext:()=>({rowDragHandleEnabled:this.isRowDragHandleEnabled,indexRowResizerEnabled:this.indexColumnOptions?.enableRowResizer})})}promoteRendererPlaceholderAtLaneIndex(e,t){let n=this.lanes[e],r=n.indices[t],i=r===void 0?void 0:this.columnModel.getColumn(r),a=n.cells[t],o=n.cellCtrls[t];return!i||!a||!o||!this.rowNode||!o.hasPendingVueRenderer()?!1:o.promoteVueRenderer(this.rowNode,a,{scheduleRenderer:e=>this.scheduleRendererTask(e),cellRendererDefer:this.cellRendererDefer,cellRendererPresentation:this.cellRendererPresentation})}syncGroupRowClasses(){this.rowNode&&(this.element.classList.toggle(me,this.rowNode.rowKind===`GROUP_HEADER`),this.element.classList.toggle(he,this.rowNode.rowKind===`GROUP_FOOTER`))}syncStripeClass(){this.rowNode&&this.element.classList.toggle(`mg-row--stripe`,this.stripe&&this.rowNode.rowIndex%2==1)}syncLastRowClass(e){this.element.classList.toggle(`mg-row--last`,e)}setBeforeLoadMoreRow(e){this.element.classList.toggle(`mg-row--before-load-more`,e)}syncExpandedMasterClass(){if(!this.rowNode||L(this.rowNode)){this.element.classList.remove(`mg-row--expanded-master`);return}let e=this.rowExpansionHost?.active()===!0&&this.rowExpansionHost.isExpanded(this.rowNode.id);this.element.classList.toggle(`mg-row--expanded-master`,e)}syncSelectionColumnCheckbox(){if(!(!this.columnModel||!this.rowNode||this.fullWidthEmbed.active))for(let e of[`left`,`center`,`right`]){let n=this.lanes[e];for(let e=0;e<n.indices.length;e++){let r=n.indices[e],i=r===void 0?void 0:this.columnModel.getColumn(r),a=n.cells[e];if(!i||!a||!t.X(i.colId))continue;if(He(this.rowNode)){a.clearSelectionCheckbox();continue}let o=this.selectionColumnOptions?Lp(this.rowNode.rowIndex,this.selectionColumnOptions.selectionColumn):`选择第 ${this.rowNode.rowIndex+1} 行`;a.setSelectionCheckbox({checked:this.selected,disabled:this.selectionDisabled,indeterminate:this.selectionIndeterminate,ariaLabel:o})}}}syncCellValues(e=`all`,t){return!this.rowNode||!this.columnModel||!ly(this.lanes)?0:this.withRendererBatch(()=>{let n=0;for(let r of[`left`,`center`,`right`]){let i=this.lanes[r];for(let a=0;a<i.indices.length;a++){let o=e===`all`||i.changedSlotIndices.has(a);this.refreshCellAtLaneIndex(r,a,null,o,!1,this.indexColumnOptions,this.selectionColumnOptions,t)&&n++}}return n})}syncAutoHeightCells(e=null,t=!1){if(!(!this.rowAutoHeightService||!this.rowNode||!this.columnModel))for(let n of[`left`,`center`,`right`]){let r=this.lanes[n];for(let n=0;n<r.indices.length;n++){let i=r.indices[n],a=i===void 0?void 0:this.columnModel.getColumn(i),o=r.cells[n];if(!a||!o)continue;let s=o.getElement(),{colId:c}=a;if(e&&!e.has(c))continue;if(!a.autoHeight){o.getElement().removeAttribute(`data-auto-height`),this.cleanupAutoHeightCell(s);continue}if(this.autoHeightCleanups.has(s)&&!t)continue;t&&this.cleanupAutoHeightCell(s);let l=this.rowNode.id;this.scheduleRendererTask(()=>{if(!this.rowNode||this.rowNode.id!==l)return;let e=this.rowAutoHeightService.setupCellAutoHeight({rowId:l,colId:c,cellEl:s});e&&this.autoHeightCleanups.set(s,e)})}}}cleanupAutoHeightCell(e){let t=this.autoHeightCleanups.get(e);t&&(t(),this.autoHeightCleanups.delete(e))}clearAutoHeightCleanups(){for(let e of this.autoHeightCleanups.values())e();this.autoHeightCleanups.clear()}withRendererBatch(e){this.rendererBatchDepth++;try{return e()}finally{this.rendererBatchDepth--,this.flushRowRendererBatch()}}scheduleRendererTask(e){if(this.rendererBatchDepth>0){this.pendingRendererTasks.push(e);return}this.enqueueRendererTask(e)}flushRowRendererBatch(){if(this.rendererBatchDepth>0||this.pendingRendererTasks.length===0)return;let e=this.pendingRendererTasks.splice(0);this.enqueueRendererTask(()=>{for(let t of e)t()})}enqueueRendererTask(e){let t=this.rowNode?.rowIndex??0;if(this.frameService){this.frameService.createTask(e,t,`f1`);return}e()}scheduleInlineEditorTask(e){let t=this.rowNode?.rowIndex??0;if(this.frameService){this.frameService.createTask(e,t,`p2`);return}e()}},by=class{container;rowModel;columnModel;stripe;rowPool=new Bv;frameService;onUnmountRenderer;onUnmountEditor;inlineCellEditor;indexColumnOptions;selectionColumnOptions;rowAutoHeightService;isRowDragHandleEnabled;enableCellSpan;cellSpanService;valueCacheVersion=0;selectedRowIds=new Set;indexFocusedRowIds=new Set;focusedCell=null;cellRangeIsSelected=null;cellRangeAnchor=null;columnWindow={firstCol:0,lastCol:-1};activeHeadIds=new Set;compressedScroll=!1;scrollTop=0;resolveOverlayEditingTargets=()=>[];constructor(e){this.container=e.container,this.rowModel=e.rowModel,this.columnModel=e.columnModel,this.stripe=e.stripe??!1,this.frameService=e.frameService??null,this.onUnmountRenderer=e.onUnmountRenderer,this.onUnmountEditor=e.onUnmountEditor,this.indexColumnOptions=e.indexColumnOptions,this.selectionColumnOptions=e.selectionColumnOptions,this.rowAutoHeightService=e.rowAutoHeightService??null,this.isRowDragHandleEnabled=e.isRowDragHandleEnabled,this.enableCellSpan=e.enableCellSpan??!1,this.cellSpanService=e.cellSpanService??null}setEnableCellSpan(e){this.enableCellSpan=e,e||this.clear()}setCellSpanService(e){this.cellSpanService=e}setRowAutoHeightService(e){this.rowAutoHeightService=e}setInlineCellEditorContext(e){this.inlineCellEditor=e}setOverlayEditingTargetsResolver(e){this.resolveOverlayEditingTargets=e}setCompressedScroll(e){this.compressedScroll=e}setValueCacheVersion(e){this.valueCacheVersion=e}refreshSelection(e){this.selectedRowIds=new Set(e);for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.setSelected?.(e.has(t))}refreshIndexFocus(e){this.indexFocusedRowIds=new Set(e);for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.setIndexFocused?.(e.has(t))}setFocusedCell(e){this.focusedCell=e,this.refreshFocus()}refreshFocus(){let e=this.focusedCell;for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.setFocusedColId?.(e?.rowId===t?e.colId:null)}setCellRangeVisualState(e,t){this.cellRangeIsSelected=e,this.cellRangeAnchor=t,this.refreshCellRangeSelection()}refreshCellRangeSelection(){let e=this.cellRangeIsSelected,t=this.cellRangeAnchor;for(let n of this.rowPool.getActiveIds()){let r=this.findRowIndexById(n),i=this.rowPool.get(n);!i?.setCellRangeSelection||r<0||i.setCellRangeSelection(e?t=>e(r,t):()=>!1,t?.rowIndex===r?t.colId:null,e??void 0)}}playCellRangeCopyFlash(){let e=this.cellRangeIsSelected;if(e)for(let t of this.rowPool.getActiveIds()){let n=this.findRowIndexById(t),r=this.rowPool.get(t);!r?.flashCellRangeSelection||n<0||r.flashCellRangeSelection(t=>e(n,t),e)}}playCellRangePasteFlash(e){if(e.length===0)return;let t=new Map;for(let n of e){let e=t.get(n.rowIndex);e?e.push(n):t.set(n.rowIndex,[n])}for(let e of this.rowPool.getActiveIds()){let n=this.findRowIndexById(e),r=this.rowPool.get(e),i=t.get(n);!r?.flashCellRangePaste||!i?.length||n<0||r.flashCellRangePaste(i)}}syncColumnLayouts(){for(let e of this.rowPool.getActiveIds())this.rowPool.get(e)?.syncColumnLayouts?.()}refreshVisibleColumnStructure(e){if(!this.enableCellSpan)return;this.columnWindow=e;let t={columnStructureChanged:!0};for(let e of this.activeHeadIds)this.updateHeadRow(e,t)}migrateRowId(e,t){if(e===t)return;this.rowPool.migrateId(e,t);let n=this.rowPool.get(t);n&&(n.getElement().dataset.rowId=t),this.selectedRowIds.has(e)&&(this.selectedRowIds.delete(e),this.selectedRowIds.add(t)),this.indexFocusedRowIds.has(e)&&(this.indexFocusedRowIds.delete(e),this.indexFocusedRowIds.add(t)),this.focusedCell?.rowId===e&&(this.focusedCell={rowId:t,colId:this.focusedCell.colId}),this.activeHeadIds.has(e)&&(this.activeHeadIds.delete(e),this.activeHeadIds.add(t))}refreshRows(e){let t=e.rowIds?new Set(e.rowIds):null,n=0;for(let r of this.rowPool.getActiveIds()){if(t&&!this.includesRefreshTarget(r,t))continue;let i=this.rowPool.get(r);i?.refreshCells&&(n+=i.refreshCells({columnModel:this.columnModel,columnWindow:this.columnWindow,valueCacheVersion:this.valueCacheVersion,colIds:e.colIds,force:e.force,newData:e.newData,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,inlineEditor:this.inlineCellEditor,overlayEditingTargets:this.resolveOverlayEditingTargets()}))}return n}syncVisibleRowLayouts(e){let t=e?new Set(e):null;for(let e of this.rowPool.getActiveIds()){if(t&&!this.includesRefreshTarget(e,t))continue;let n=this.findRowNodeById(e);if(!n)continue;let r=this.rowPool.get(e);r?.syncRowLayout?.(n),r?.setRowTop(this.compressedScroll?n.rowTop-this.scrollTop:n.rowTop)}}redraw(e,t,n,r=!1){if(!this.enableCellSpan){this.clear();return}this.scrollTop=e,this.columnWindow=n;let i=this.collectHeadRowIds(t.firstRow,t.lastRow),a=[...this.activeHeadIds].filter(e=>!i.has(e)),o=[...i];for(let e of a)this.frameService&&!this.compressedScroll?this.frameService.addDestroyTask(()=>{this.rowPool.release(e)}):this.rowPool.release(e);for(let e of o)(!this.activeHeadIds.has(e)||r)&&this.updateHeadRow(e,r?{columnStructureChanged:!0}:void 0);this.activeHeadIds=i,this.container.style.display=i.size>0?``:`none`,this.container.parentElement&&this.container.parentElement.appendChild(this.container)}invalidate(){this.frameService&&this.frameService.flushAllFrames(),this.clear()}destroy(){this.clear()}getActiveHeadCount(){return this.rowPool.getActiveCount()}clear(){this.rowPool.clear(),this.activeHeadIds.clear(),this.container.style.display=`none`}collectHeadRowIds(e,t){return this.cellSpanService?this.cellSpanService.collectSpannedHeadRowIds(e,t):J_({enableCellSpan:this.enableCellSpan,rowModel:this.rowModel,columns:this.columnModel.getColumns(),firstRow:e,lastRow:t})}updateHeadRow(e,t){let n=this.findRowNodeById(e);if(!n)return;let r=this.rowPool.acquire(e,()=>this.createSpannedRowComp()),i=this.rowModel.getRowCount();r.setData(n,this.columnModel,this.columnWindow,this.valueCacheVersion,i>0&&n.rowIndex===i-1,t),r.setRowTop(this.compressedScroll?n.rowTop-this.scrollTop:n.rowTop),r.setSelected?.(this.selectedRowIds.has(e)),r.setIndexFocused?.(this.indexFocusedRowIds.has(e)),r.setFocusedColId?.(this.focusedCell?.rowId===e?this.focusedCell.colId:null),this.applyCellRangeSelectionToHead(e,n.rowIndex)}applyCellRangeSelectionToHead(e,t){let n=this.rowPool.get(e),r=this.cellRangeIsSelected,i=this.cellRangeAnchor;!n?.setCellRangeSelection||t<0||n.setCellRangeSelection(r?e=>r(t,e):()=>!1,i?.rowIndex===t?i.colId:null,r??void 0)}createSpannedRowComp(){return new yy(this.container,{stripe:this.stripe,frameService:this.frameService??void 0,onUnmountRenderer:this.onUnmountRenderer,onUnmountEditor:this.onUnmountEditor,inlineEditor:this.inlineCellEditor,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,rowAutoHeightService:this.rowAutoHeightService,isRowDragHandleEnabled:this.isRowDragHandleEnabled,enableCellSpan:!0,cellSpanService:this.cellSpanService,getRowByIndex:e=>this.rowModel.getRow(e),getRowCount:()=>this.rowModel.getRowCount(),spannedRowOnly:!0,isRowCoverHighlighted:e=>this.selectedRowIds.has(e)||this.indexFocusedRowIds.has(e)})}includesRefreshTarget(e,t){if(t.has(e))return!0;if(!this.cellSpanService)return!1;for(let n of this.columnModel.getColumns().map(e=>e.colId)){let r=this.cellSpanService.getCellSpan(e,n);if(r&&r.rowIds.some(e=>t.has(e)))return!0}return!1}findRowIndexById(e){for(let t=0;t<this.rowModel.getRowCount();t++)if(this.rowModel.getRow(t)?.id===e)return t;return-1}findRowNodeById(e){for(let t=0;t<this.rowModel.getRowCount();t++){let n=this.rowModel.getRow(t);if(n?.id===e)return n}}},xy=class{element;contentEl;frameService;onUnmountRenderer;detailRowAutoHeightService;detailCellRenderer;rowNode=null;renderParams=null;constructor(e,t={}){this.frameService=t.frameService??null,this.onUnmountRenderer=t.onUnmountRenderer,this.detailRowAutoHeightService=t.detailRowAutoHeightService??null,this.element=document.createElement(`div`),this.element.className=T,this.element.dataset.rowKind=`DETAIL`,this.contentEl=document.createElement(`div`),this.contentEl.className=E,this.element.appendChild(this.contentEl),e.appendChild(this.element)}getElement(){return this.element}setDetailCellRenderer(e){this.detailCellRenderer=e,this.renderParams&&this.renderContent(this.renderParams)}setData(e,t,n,r=!1){this.rowNode=e,this.renderParams=t,this.detailCellRenderer=n??this.detailCellRenderer,this.element.dataset.rowId=e.id,this.element.dataset.masterRowId=t.masterRowId==null?``:String(t.masterRowId),this.element.style.height=`${e.rowHeight}px`,this.element.classList.toggle(D,r),this.renderContent(t)}syncRowLayout(e){this.rowNode=e,this.element.style.height=`${e.rowHeight}px`}syncBodyWidth(e){this.element.style.width=`${e}px`}setRowTop(e){this.element.style.transform=`translateY(${e}px)`}destroy(){this.rowNode&&this.detailRowAutoHeightService?.teardownContentObserver(this.rowNode.id),this.onUnmountRenderer?.(this.contentEl),this.contentEl.replaceChildren(),this.element.remove(),this.rowNode=null,this.renderParams=null}renderContent(e){let t=this.rowNode?.id;Jv(this.contentEl,e,this.detailCellRenderer,{frameService:this.frameService,onUnmountRenderer:this.onUnmountRenderer,rowIndex:this.rowNode?.rowIndex??0,onAfterRender:()=>{t&&this.detailRowAutoHeightService?.setupContentObserver(t,this.contentEl)}})}},Sy=class{pool=new Map;acquire(e,t){let n=this.pool.get(e);if(n)return n;let r=t();return this.pool.set(e,r),r}get(e){return this.pool.get(e)}release(e){let t=this.pool.get(e);t&&(t.destroy(),this.pool.delete(e))}clear(){for(let e of this.pool.values())e.destroy();this.pool.clear()}getActiveCount(){return this.pool.size}getActiveIds(){return[...this.pool.keys()]}},Cy=class{container;rowModel;columnModel;rowPool=new Sy;frameService;onUnmountRenderer;getDetailCellRenderer;getMasterRowById;masterDetail;embedFullWidthRows;detailRowAutoHeightService;pinnedRowIds=new Set;activeDetailIds=new Set;compressedScroll=!1;scrollTop=0;constructor(e){this.container=e.container,this.container.classList.add(w),this.rowModel=e.rowModel,this.columnModel=e.columnModel,this.frameService=e.frameService??null,this.onUnmountRenderer=e.onUnmountRenderer,this.getDetailCellRenderer=e.getDetailCellRenderer,this.getMasterRowById=e.getMasterRowById,this.masterDetail=e.masterDetail??!1,this.embedFullWidthRows=e.embedFullWidthRows??!1,this.detailRowAutoHeightService=e.detailRowAutoHeightService??null,this.container.style.display=`none`}setDetailRowAutoHeightService(e){this.detailRowAutoHeightService=e}setEmbedFullWidthRows(e){this.embedFullWidthRows=e,e&&this.clear()}setMasterDetail(e){this.masterDetail=e,e||this.clear()}setCompressedScroll(e){this.compressedScroll=e}setPinnedRowIds(e){this.pinnedRowIds=new Set(e)}redraw(e,t){if(!this.masterDetail||this.embedFullWidthRows){this.clear();return}this.scrollTop=e;let n=this.collectDetailRowIds(t.firstRow,t.lastRow),r=[...this.activeDetailIds].filter(e=>!n.has(e)),i=[...n];for(let e of r)this.frameService&&!this.compressedScroll?this.frameService.addDestroyTask(()=>{this.rowPool.release(e)}):this.rowPool.release(e);for(let e of i)this.activeDetailIds.has(e)?this.syncDetailRowLayout(e):this.updateDetailRow(e);this.activeDetailIds=n}syncVisibleRowLayouts(e){let t=e?new Set(e):null;for(let e of this.rowPool.getActiveIds())t&&!t.has(e)||this.syncDetailRowLayout(e)}syncColumnLayouts(){let e=this.columnModel.getTotalWidth();for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.syncBodyWidth(e)}invalidate(){this.frameService&&this.frameService.flushAllFrames(),this.clear()}destroy(){this.clear()}getActiveDetailCount(){return this.rowPool.getActiveCount()}refreshDetailRowContent(e){let t=this.findRowNodeById(e),n=this.rowPool.get(e);if(!t||!n||!L(t))return;let r=this.buildRendererParams(t);r&&(n.syncBodyWidth(this.columnModel.getTotalWidth()),n.setData(t,r,this.getDetailCellRenderer?.(),this.isLastDisplayRow(e)))}clear(){this.rowPool.clear(),this.activeDetailIds.clear()}collectDetailRowIds(e,t){let n=new Set;if(t>=e)for(let r=e;r<=t;r++){let e=this.rowModel.getRow(r);e&&L(e)&&n.add(e.id)}for(let e of this.pinnedRowIds)I(e)&&n.add(e);return n}updateDetailRow(e){let t=this.findRowNodeById(e);if(!t||!L(t)||!t.masterRowId)return;let n=this.buildRendererParams(t);if(!n)return;let r=this.rowPool.acquire(e,()=>new xy(this.container,{frameService:this.frameService??void 0,onUnmountRenderer:this.onUnmountRenderer,detailRowAutoHeightService:this.detailRowAutoHeightService}));r.syncBodyWidth(this.columnModel.getTotalWidth()),r.setData(t,n,this.getDetailCellRenderer?.(),this.isLastDisplayRow(e)),r.setRowTop(this.compressedScroll?t.rowTop-this.scrollTop:t.rowTop)}syncDetailRowLayout(e){let t=this.findRowNodeById(e),n=this.rowPool.get(e);!t||!n||(n.syncRowLayout(t),n.syncBodyWidth(this.columnModel.getTotalWidth()),n.setRowTop(this.compressedScroll?t.rowTop-this.scrollTop:t.rowTop))}buildRendererParams(e){return qv(e,e=>this.getMasterRowById?.(e)??this.findRowNodeById(e))}findRowNodeById(e){for(let t=0;t<this.rowModel.getRowCount();t++){let n=this.rowModel.getRow(t);if(n?.id===e)return n}}isLastDisplayRow(e){let t=this.rowModel.getRowCount();return t!==0&&this.rowModel.getRow(t-1)?.id===e}};function wy(e,t){return e.loading===t.loading&&e.hasMore===t.hasMore&&e.size===t.size&&e.labels.loadMore===t.labels.loadMore&&e.labels.loading===t.labels.loading&&e.labels.exhausted===t.labels.exhausted}var Ty=class{element;contentEl;onUnmountRenderer;loadMoreRowRenderer;rowNode=null;renderParams=null;layoutTop=NaN;constructor(e,t={}){this.onUnmountRenderer=t.onUnmountRenderer,this.element=document.createElement(`div`),this.element.className=`${T} ${lo}`,this.element.dataset.rowKind=`LOAD_MORE`;let n=document.createElement(`div`);n.className=uo,this.contentEl=document.createElement(`div`),this.contentEl.className=E,n.appendChild(this.contentEl),this.element.appendChild(n),e.appendChild(this.element)}setLoadMoreRowRenderer(e){this.loadMoreRowRenderer=e,this.renderParams&&this.renderContent(this.renderParams)}setData(e,t,n){this.rowNode=e,this.element.dataset.rowId=e.id,this.element.style.height=`${e.rowHeight}px`;let r=this.renderParams,i=n??this.loadMoreRowRenderer;if(r&&wy(r,t)&&this.loadMoreRowRenderer===i){this.renderParams=t;return}this.renderParams=t,this.loadMoreRowRenderer=i,this.renderContent(t)}syncRowLayout(e){this.rowNode=e,this.element.style.height=`${e.rowHeight}px`}setRowTop(e){let t=Math.round(e);t!==this.layoutTop&&(this.layoutTop=t,this.element.style.transform=`translate3d(0, ${t}px, 0)`)}destroy(){this.onUnmountRenderer?.(this.contentEl),this.contentEl.replaceChildren(),this.element.remove(),this.rowNode=null,this.renderParams=null}renderContent(e){Eo(this.contentEl,e,this.loadMoreRowRenderer,{onUnmountRenderer:this.onUnmountRenderer,rowIndex:this.rowNode?.rowIndex??0})}},Ey=class{comp=null;acquire(e){return this.comp||=e(),this.comp}get(){return this.comp??void 0}release(){this.comp?.destroy(),this.comp=null}clear(){this.release()}},Dy=class{container;rowModel;rowPool=new Ey;onUnmountRenderer;getLoadMoreRowEnabled;getLoadMoreRowRenderer;getLoadMoreRowLoading;getLoadMoreRowHasMore;getLoadMoreRowGridSize;getLoadMoreRowLabels;onLoadMore;getApi;compressedScroll=!1;scrollTop=0;invokeLoadMore=()=>{this.onLoadMore?.()};constructor(e){this.container=e.container,this.rowModel=e.rowModel,this.onUnmountRenderer=e.onUnmountRenderer,this.getLoadMoreRowEnabled=e.getLoadMoreRowEnabled,this.getLoadMoreRowRenderer=e.getLoadMoreRowRenderer,this.getLoadMoreRowLoading=e.getLoadMoreRowLoading,this.getLoadMoreRowHasMore=e.getLoadMoreRowHasMore,this.getLoadMoreRowGridSize=e.getLoadMoreRowGridSize,this.getLoadMoreRowLabels=e.getLoadMoreRowLabels,this.onLoadMore=e.onLoadMore,this.getApi=e.getApi}setCompressedScroll(e){this.compressedScroll=e}redraw(e,t){if(this.scrollTop=e,!(this.getLoadMoreRowEnabled?.()??!1)){this.clear();return}let n=this.rowModel.getRowCount();if(n===0){this.clear();return}let r=n-1,i=this.rowModel.getRow(r);if(!i||!ho(i)){this.clear();return}if(!(r>=t.firstRow&&r<=t.lastRow)){this.clear();return}if(this.rowPool.get()){this.applyLoadMoreRowLayout(i);return}this.updateLoadMoreRow(i)}refreshLoadMoreRowContent(){let e=this.rowModel.getRowCount();if(e===0)return;let t=this.rowModel.getRow(e-1);!t||t.rowKind!==`LOAD_MORE`||this.updateLoadMoreRow(t)}syncColumnLayouts(){this.syncVisibleRowLayouts()}syncVisibleRowLayouts(){let e=this.rowModel.getRowCount();if(e===0)return;let t=this.rowModel.getRow(e-1);!t||!ho(t)||!this.rowPool.get()||this.applyLoadMoreRowLayout(t)}applyLoadMoreRowLayout(e){let t=this.rowPool.get();if(!t)return;t.syncRowLayout(e);let n=this.compressedScroll?e.rowTop-this.scrollTop:e.rowTop;t.setRowTop(n)}invalidate(){this.clear()}destroy(){this.clear()}updateLoadMoreRow(e){let t=this.getApi?.();if(!t||!this.onLoadMore)return;let n=this.rowPool.acquire(()=>new Ty(this.container,{onUnmountRenderer:this.onUnmountRenderer})),r={loading:this.getLoadMoreRowLoading?.()??!1,hasMore:this.getLoadMoreRowHasMore?.()??!0,size:this.getLoadMoreRowGridSize?.()??`default`,labels:this.getLoadMoreRowLabels?.()??fo(),onLoadMore:this.invokeLoadMore,api:t};n.setData(e,r,this.getLoadMoreRowRenderer?.()),this.applyLoadMoreRowLayout(e)}clear(){this.rowPool.clear()}},Oy=class{rowModel;columnModel;rowHeight;rowBuffer;stripe;rowPool=new Bv;rowCompFactory;rowsContainer;frameService;onUnmountRenderer;onUnmountEditor;inlineCellEditor;indexColumnOptions;selectionColumnOptions;rowAutoHeightService;isRowDragHandleEnabled;rowDragCommittingRowIds=null;asyncMutationLoadingCounts=new Map;enableCellSpan;cellSpanService;spannedRowRenderer;fullWidthRowRenderer;loadMoreRowRenderer;fullWidthRowsContainerEl;embedFullWidthRows;rowExpansionHost;rowGroupingHost;treeTableHost;cellCommentHost;getCellDisableContext=()=>({});getCellStyleContext=()=>({});detailRowAutoHeightService=null;resolveBusinessRowId;valueCacheVersion=0;pinnedRowIds=new Set;selectedRowIds=new Set;indeterminateRowIds=new Set;indexFocusedRowIds=new Set;isRowNodeSelectable=()=>!0;focusedCell=null;cellRangeIsSelected=null;cellRangeAnchor=null;indexColumnHighlightChecker=null;activeIndices=new Set;columnWindow={firstCol:0,lastCol:-1};currentWindow={firstRow:0,lastRow:-1,firstCol:0,lastCol:-1};compressedScroll=!1;scrollTop=0;cellRendererDefer=`always`;deferRowDestroyOnScroll=!1;cellRendererPresentation=`deferred`;infiniteLoadingRowVisible;scrollActive=!1;pendingDestroyTasks=new Map;resolveOverlayEditingTargets=()=>[];constructor(e,t){this.rowsContainer=e,this.rowModel=t.rowModel,this.columnModel=t.columnModel,this.rowHeight=t.rowHeight??ar,this.rowBuffer=t.rowBuffer??10,this.stripe=t.stripe??!1,this.frameService=t.frameService??null,this.onUnmountRenderer=t.onUnmountRenderer,this.onUnmountEditor=t.onUnmountEditor,this.indexColumnOptions=t.indexColumnOptions,this.selectionColumnOptions=t.selectionColumnOptions,this.rowAutoHeightService=t.rowAutoHeightService??null,this.isRowDragHandleEnabled=t.isRowDragHandleEnabled,this.enableCellSpan=t.enableCellSpan??!1,this.cellSpanService=t.cellSpanService??null,this.embedFullWidthRows=t.embedFullWidthRows??!1,this.rowExpansionHost=t.rowExpansionHost,this.rowGroupingHost=t.rowGroupingHost,this.treeTableHost=t.treeTableHost,this.cellCommentHost=t.cellCommentHost,this.resolveBusinessRowId=t.resolveBusinessRowId,this.getCellDisableContext=t.getCellDisableContext??this.getCellDisableContext,this.getCellStyleContext=t.getCellStyleContext??this.getCellStyleContext,this.cellRendererDefer=t.cellRendererDefer??`always`,this.deferRowDestroyOnScroll=t.deferRowDestroyOnScroll??!1,this.cellRendererPresentation=t.cellRendererPresentation??`deferred`,this.infiniteLoadingRowVisible=t.infiniteLoadingRowVisible??!0,this.rowCompFactory=t.rowCompFactory??{create:()=>new yy(this.rowsContainer,{stripe:this.stripe,frameService:this.frameService??void 0,onUnmountRenderer:this.onUnmountRenderer,onUnmountEditor:this.onUnmountEditor,inlineEditor:this.inlineCellEditor,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,rowAutoHeightService:this.rowAutoHeightService,isRowDragHandleEnabled:this.isRowDragHandleEnabled,isAsyncMutationLoadingRow:e=>this.isAsyncMutationLoadingRowAt(e),enableCellSpan:this.enableCellSpan,cellSpanService:this.cellSpanService,getRowByIndex:e=>this.rowModel.getRow(e),getRowCount:()=>this.rowModel.getRowCount(),embedFullWidthRows:this.embedFullWidthRows,getDetailCellRenderer:t.getDetailCellRenderer,getMasterRowById:t.getMasterRowById,rowExpansionHost:this.rowExpansionHost,rowGroupingHost:this.rowGroupingHost,treeTableHost:this.treeTableHost,getCellCommentHost:()=>this.cellCommentHost,detailRowAutoHeightService:this.detailRowAutoHeightService,resolveBusinessRowId:this.resolveBusinessRowId,getCellDisableContext:()=>this.getCellDisableContext(),getCellStyleContext:()=>this.getCellStyleContext(),cellRendererDefer:this.cellRendererDefer,isScrollActive:()=>this.scrollActive,cellRendererPresentation:this.cellRendererPresentation,infiniteLoadingRowVisible:this.infiniteLoadingRowVisible})},this.spannedRowRenderer=t.spannedRowsContainerEl?new by({container:t.spannedRowsContainerEl,rowModel:this.rowModel,columnModel:this.columnModel,stripe:this.stripe,frameService:this.frameService??void 0,onUnmountRenderer:this.onUnmountRenderer,onUnmountEditor:this.onUnmountEditor,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,rowAutoHeightService:this.rowAutoHeightService,isRowDragHandleEnabled:this.isRowDragHandleEnabled,enableCellSpan:this.enableCellSpan,cellSpanService:this.cellSpanService}):null,this.fullWidthRowsContainerEl=t.fullWidthRowsContainerEl??null,this.fullWidthRowRenderer=t.fullWidthRowsContainerEl?new Cy({container:t.fullWidthRowsContainerEl,rowModel:this.rowModel,columnModel:this.columnModel,frameService:this.frameService??void 0,onUnmountRenderer:this.onUnmountRenderer,masterDetail:t.masterDetail??!1,embedFullWidthRows:t.embedFullWidthRows??!1,getDetailCellRenderer:t.getDetailCellRenderer,getMasterRowById:t.getMasterRowById}):null,this.loadMoreRowRenderer=t.fullWidthRowsContainerEl?new Dy({container:t.fullWidthRowsContainerEl,rowModel:this.rowModel,onUnmountRenderer:this.onUnmountRenderer,getLoadMoreRowEnabled:t.getLoadMoreRowEnabled,getLoadMoreRowRenderer:t.getLoadMoreRowRenderer,getLoadMoreRowLoading:t.getLoadMoreRowLoading,getLoadMoreRowHasMore:t.getLoadMoreRowHasMore,getLoadMoreRowGridSize:t.getLoadMoreRowGridSize,getLoadMoreRowLabels:t.getLoadMoreRowLabels,onLoadMore:t.onLoadMore,getApi:t.getApi}):null}setEmbedFullWidthRows(e){this.embedFullWidthRows!==e&&(this.embedFullWidthRows=e,this.fullWidthRowRenderer?.setEmbedFullWidthRows(e),this.invalidate())}setMasterDetail(e){this.fullWidthRowRenderer?.setMasterDetail(e)}setRowDragHandleEnabled(e){this.isRowDragHandleEnabled=e}setRowDragCommittingRows(e){let t=this.rowDragCommittingRowIds,n=e&&e.length>0?new Set(e):null;if(!(t===n||t&&n&&t.size===n.size&&[...t].every(e=>n.has(e)))){if(t){let e=[...t].filter(e=>!n?.has(e));e.length>0&&this.setAsyncMutationLoading(e,!1)}if(this.rowDragCommittingRowIds=n,n){let e=[...n].filter(e=>!t?.has(e));e.length>0&&this.setAsyncMutationLoading(e,!0)}}}setAsyncMutationLoading(e,t){if(e.length!==0)for(let n of e){let e=this.asyncMutationLoadingCounts.get(n)??0,r=t?e+1:Math.max(0,e-1);r===0?(this.asyncMutationLoadingCounts.delete(n),e>0&&this.applyIndexLoadingVisual(n,!1)):(this.asyncMutationLoadingCounts.set(n,r),e===0&&t&&this.applyIndexLoadingVisual(n,!0))}}setEnableCellSpan(e){this.enableCellSpan=e;for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.setEnableCellSpan?.(e);this.spannedRowRenderer?.setEnableCellSpan(e)}setCellSpanService(e){this.cellSpanService=e,this.spannedRowRenderer?.setCellSpanService(e)}setRowAutoHeightService(e){this.rowAutoHeightService=e,this.spannedRowRenderer?.setRowAutoHeightService(e)}setDetailRowAutoHeightService(e){this.detailRowAutoHeightService=e,this.fullWidthRowRenderer?.setDetailRowAutoHeightService(e)}setInlineCellEditorContext(e){this.inlineCellEditor=e,this.spannedRowRenderer?.setInlineCellEditorContext(e)}setOverlayEditingTargetsResolver(e){this.resolveOverlayEditingTargets=e,this.spannedRowRenderer?.setOverlayEditingTargetsResolver(e)}setCellCommentHost(e){this.cellCommentHost=e}setGetCellDisableContext(e){this.getCellDisableContext=e}setGetCellStyleContext(e){this.getCellStyleContext=e}setDefaultRowHeight(e){this.rowHeight=Math.max(1,e)}setCompressedScroll(e){this.compressedScroll=e,this.spannedRowRenderer?.setCompressedScroll(e),this.fullWidthRowRenderer?.setCompressedScroll(e)}getScrollTop(){return this.scrollTop}isCompressedScroll(){return this.compressedScroll}setScrollActive(e){this.scrollActive=e}setScrollRenderBehavior(e){e.cellRendererDefer!==void 0&&(this.cellRendererDefer=e.cellRendererDefer),e.deferRowDestroyOnScroll!==void 0&&(this.deferRowDestroyOnScroll=e.deferRowDestroyOnScroll),e.cellRendererPresentation!==void 0&&(this.cellRendererPresentation=e.cellRendererPresentation)}promoteRendererPlaceholders(){let e=0;for(let t of this.rowPool.getActiveIds()){let n=this.rowPool.get(t);e+=n?.promoteRendererPlaceholders()??0}return e}flushDeferredDestroys(){if(this.pendingDestroyTasks.size===0)return;let e=[...this.pendingDestroyTasks.values()];if(this.pendingDestroyTasks.clear(),this.frameService&&!this.compressedScroll){for(let t of e)this.frameService.addDestroyTask(t);return}for(let t of e)t()}cancelPendingDestroy(e){this.pendingDestroyTasks.delete(e)}resetRowRenderWindowCache(){this.activeIndices.clear(),this.currentWindow={firstRow:0,lastRow:-1,firstCol:this.columnWindow.firstCol,lastCol:this.columnWindow.lastCol}}redraw(e,t,n,r=!1){this.scrollTop=e,this.columnWindow=n;let i={...hv({scrollTop:e,viewportHeight:t,rowBuffer:this.rowBuffer,rowHeight:this.rowHeight,rowModel:this.rowModel}),firstCol:n.firstCol,lastCol:n.lastCol};return Iv(this.currentWindow,i)&&!r?(this.scrollTop=e,this.columnWindow=n,this.currentWindow=i,this.syncVisibleRowLayout(),this.syncVisibleCellCommentIndicators(),this.refreshIndexColumnHighlight(),this.spannedRowRenderer?.redraw(e,i,n,!1),this.fullWidthRowRenderer?.redraw(e,i),this.loadMoreRowRenderer?.redraw(e,i),this.syncFullWidthContainerDisplay(),this.refreshCellRangeSelection(),i):(this.recycleRows(i,r),this.syncVisibleCellCommentIndicators(),this.refreshIndexColumnHighlight(),this.spannedRowRenderer?.redraw(e,i,n,r),this.fullWidthRowRenderer?.redraw(e,i),this.loadMoreRowRenderer?.redraw(e,i),this.syncFullWidthContainerDisplay(),this.refreshCellRangeSelection(),this.currentWindow=i,i)}getActiveRowCount(){return this.rowPool.getActiveCount()}getCurrentWindow(){return this.currentWindow}destroy(){this.rowPool.clear(),this.spannedRowRenderer?.destroy(),this.fullWidthRowRenderer?.destroy(),this.loadMoreRowRenderer?.destroy(),this.activeIndices.clear()}syncRowExpansionDisplay(e,t,n){this.scrollTop=e,this.columnWindow=n;let r={...hv({scrollTop:e,viewportHeight:t,rowBuffer:this.rowBuffer,rowHeight:this.rowHeight,rowModel:this.rowModel}),firstCol:n.firstCol,lastCol:n.lastCol};this.fullWidthRowRenderer?.redraw(e,r),this.loadMoreRowRenderer?.redraw(e,r),this.syncFullWidthContainerDisplay();let i=this.collectExpandColumnIds(),a={columnModel:this.columnModel,columnWindow:this.columnWindow,valueCacheVersion:this.valueCacheVersion,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,inlineEditor:this.inlineCellEditor,overlayEditingTargets:this.resolveOverlayEditingTargets()},o=t=>{let n=this.rowModel.getRow(t);if(!n||L(n)||ho(n))return;let r=this.rowModel.getRowCount(),o=t+1<r?this.rowModel.getRow(t+1):void 0,s=this.compressedScroll?n.rowTop-e:n.rowTop,c=this.rowPool.get(n.id);if(c){c.syncRowLayout?.(n),c.setRowTop(s),c.setBeforeLoadMoreRow?.(o!=null&&ho(o)),c.syncRowExpansionDisplayChrome?.(i,a);return}this.updateRowAtIndex(t),this.rowPool.get(n.id)?.setRowTop(s)};if(r.lastRow>=r.firstRow)for(let e=r.firstRow;e<=r.lastRow;e++)o(e);for(let e of this.pinnedRowIds){if(I(e))continue;let t=this.findRowIndexById(e);t>=0&&o(t)}return this.spannedRowRenderer?.syncVisibleRowLayouts(),this.refreshCellRangeSelection(),this.syncVisibleCellCommentIndicators(),this.refreshIndexColumnHighlight(),this.activeIndices=ky(r),this.currentWindow=r,this.pruneInactiveRowComps(r),r}pruneInactiveRowComps(e){let t=new Set;if(e.lastRow>=e.firstRow)for(let n=e.firstRow;n<=e.lastRow;n++){let e=this.rowModel.getRow(n);!e||L(e)||ho(e)||t.add(e.id)}for(let e of this.pinnedRowIds)I(e)||t.add(e);for(let e of this.rowPool.getActiveIds())t.has(e)||(this.pendingDestroyTasks.delete(e),this.rowPool.release(e))}collectExpandColumnIds(){let e=[];for(let t of this.columnModel.getColumns())(A(t.colId)||t.rowExpand)&&e.push(t.colId);return e}invalidate(){this.frameService&&this.frameService.flushAllFrames(),this.pendingDestroyTasks.clear(),this.rowPool.clear(),this.spannedRowRenderer?.invalidate(),this.fullWidthRowRenderer?.invalidate(),this.loadMoreRowRenderer?.invalidate(),this.activeIndices.clear(),this.currentWindow={firstRow:0,lastRow:-1,firstCol:0,lastCol:-1}}setValueCacheVersion(e){this.valueCacheVersion=e,this.spannedRowRenderer?.setValueCacheVersion(e)}setPinnedRowIds(e){this.pinnedRowIds=new Set(e),this.fullWidthRowRenderer?.setPinnedRowIds(e)}setIsRowNodeSelectable(e){this.isRowNodeSelectable=e}refreshSelection(e,t=new Set){this.selectedRowIds=new Set(e),this.indeterminateRowIds=new Set(t);for(let n of this.rowPool.getActiveIds()){let r=this.rowPool.get(n);r?.setSelected?.(e.has(n),t.has(n)),this.syncRowSelectionDisabled(n,r)}this.spannedRowRenderer?.refreshSelection(e)}refreshDetailRows(e){for(let t of e){let e=F(t);this.fullWidthRowRenderer?.refreshDetailRowContent(e);let n=this.rowPool.get(e);n?.refreshCells&&n.refreshCells({columnModel:this.columnModel,columnWindow:this.columnWindow,valueCacheVersion:this.valueCacheVersion,force:!0})}}syncRowSelectionDisabled(e,t=this.rowPool.get(e)){let n=this.findRowIndexById(e),r=n>=0?this.rowModel.getRow(n):null,i=r?!this.isRowNodeSelectable(r):!1;t?.setSelectionDisabled?.(i)}refreshIndexFocus(e){this.indexFocusedRowIds=new Set(e);for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.setIndexFocused?.(e.has(t));this.spannedRowRenderer?.refreshIndexFocus(e)}setFocusedCell(e){this.focusedCell=e,this.refreshFocus()}refreshFocus(){let e=this.focusedCell;for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.setFocusedColId?.(e?.rowId===t?e.colId:null);this.spannedRowRenderer?.setFocusedCell(e)}setCellRangeVisualState(e,t){this.cellRangeIsSelected=e,this.cellRangeAnchor=t,this.refreshCellRangeSelection()}setIndexColumnHighlight(e){this.indexColumnHighlightChecker=e,this.refreshIndexColumnHighlight()}refreshCellRangeSelection(){let e=this.cellRangeIsSelected,t=this.cellRangeAnchor;for(let n of this.rowPool.getActiveIds()){let r=this.findRowIndexById(n),i=this.rowPool.get(n);!i?.setCellRangeSelection||r<0||i.setCellRangeSelection(e?t=>e(r,t):()=>!1,t?.rowIndex===r?t.colId:null,e??void 0)}this.spannedRowRenderer?.setCellRangeVisualState(e,t)}refreshIndexColumnHighlight(){let e=this.indexColumnHighlightChecker;for(let t of this.rowPool.getActiveIds()){let n=this.findRowIndexById(t),r=this.rowPool.get(t);!r?.setIndexColumnRangeHighlight||n<0||r.setIndexColumnRangeHighlight(e?e(n):!1)}}playCellRangeCopyFlash(){let e=this.cellRangeIsSelected;if(e){for(let t of this.rowPool.getActiveIds()){let n=this.findRowIndexById(t),r=this.rowPool.get(t);!r?.flashCellRangeSelection||n<0||r.flashCellRangeSelection(t=>e(n,t),e)}this.spannedRowRenderer?.playCellRangeCopyFlash()}}playCellRangePasteFlash(e){if(e.length===0)return;let t=new Map;for(let n of e){let e=t.get(n.rowIndex);e?e.push(n):t.set(n.rowIndex,[n])}for(let e of this.rowPool.getActiveIds()){let n=this.findRowIndexById(e),r=this.rowPool.get(e),i=t.get(n);!r?.flashCellRangePaste||!i?.length||n<0||r.flashCellRangePaste(i)}this.spannedRowRenderer?.playCellRangePasteFlash(e)}syncColumnLayouts(){for(let e of this.rowPool.getActiveIds())this.rowPool.get(e)?.syncColumnLayouts?.();this.spannedRowRenderer?.syncColumnLayouts(),this.fullWidthRowRenderer?.syncColumnLayouts(),this.loadMoreRowRenderer?.syncColumnLayouts()}refreshLoadMoreRowContent(){this.loadMoreRowRenderer?.refreshLoadMoreRowContent(),this.syncFullWidthContainerDisplay()}refreshVisibleColumnStructure(e){this.columnWindow=e;let t={columnStructureChanged:!0};for(let e of this.activeIndices)this.updateRowAtIndex(e,t);for(let e of this.pinnedRowIds){let n=this.findRowIndexById(e);n>=0&&!this.activeIndices.has(n)&&this.updateRowAtIndex(n,t)}this.spannedRowRenderer?.refreshVisibleColumnStructure(e),this.refreshCellRangeSelection(),this.syncVisibleCellCommentIndicators(),this.refreshIndexColumnHighlight()}migrateRowId(e,t){if(e===t)return;this.rowPool.migrateId(e,t);let n=this.rowPool.get(t);n&&(n.getElement().dataset.rowId=t),this.selectedRowIds.has(e)&&(this.selectedRowIds.delete(e),this.selectedRowIds.add(t)),this.indexFocusedRowIds.has(e)&&(this.indexFocusedRowIds.delete(e),this.indexFocusedRowIds.add(t)),this.focusedCell?.rowId===e&&(this.focusedCell={rowId:t,colId:this.focusedCell.colId}),this.pinnedRowIds.has(e)&&(this.pinnedRowIds.delete(e),this.pinnedRowIds.add(t)),this.spannedRowRenderer?.migrateRowId(e,t)}releaseRow(e){this.pendingDestroyTasks.delete(e),this.rowPool.release(e)}releaseRows(e){for(let t of e)this.releaseRow(t)}releaseRowsExcept(e){for(let t of this.rowPool.getActiveIds())e.has(t)||this.releaseRow(t)}reconcileRowPoolAfterModelChange(e,t){if(t){this.invalidate();return}this.releaseRowsExcept(e)}refreshRows(e){let t=e.rowIds?new Set(e.rowIds):null,{firstRow:n,lastRow:r}=this.currentWindow;if(r<n)return 0;let i=0;for(let a=n;a<=r;a++){let n=this.rowModel.getRow(a);if(!n||t&&!t.has(n.id))continue;let r=this.rowPool.get(n.id);r?.refreshCells&&(i+=r.refreshCells({columnModel:this.columnModel,columnWindow:this.columnWindow,valueCacheVersion:this.valueCacheVersion,colIds:e.colIds,force:e.force,newData:e.newData,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,inlineEditor:this.inlineCellEditor,overlayEditingTargets:this.resolveOverlayEditingTargets()}))}return i+=this.spannedRowRenderer?.refreshRows(e)??0,this.syncVisibleCellCommentIndicators({rowIds:e.rowIds,colIds:e.colIds}),i}syncVisibleCellCommentIndicators(e){if(!this.cellCommentHost?.active())return;let t=e?.rowIds?new Set(e.rowIds):null,n=e?.colIds?new Set(e.colIds):null,{firstRow:r,lastRow:i}=this.currentWindow;if(!(i<r)){for(let e=r;e<=i;e++){let r=this.rowModel.getRow(e);r&&(t&&!t.has(r.id)||this.rowPool.get(r.id)?.syncCellCommentIndicators?.(n))}for(let e of this.pinnedRowIds)t&&!t.has(e)||this.rowPool.get(e)?.syncCellCommentIndicators?.(n)}}syncVisibleRowLayouts(e){let t=e?new Set(e):null,n=e=>{let n=this.rowModel.getRow(e);if(!n||t&&!t.has(n.id))return;let r=this.rowPool.get(n.id);if(!r){this.updateRowAtIndex(e);return}r.syncRowLayout?.(n),r.setRowTop(this.compressedScroll?n.rowTop-this.scrollTop:n.rowTop)};for(let e of this.activeIndices)n(e);for(let e of this.pinnedRowIds){if(t&&!t.has(e))continue;let r=this.findRowIndexById(e);r>=0&&n(r)}this.spannedRowRenderer?.syncVisibleRowLayouts(e),this.fullWidthRowRenderer?.syncVisibleRowLayouts(e),this.loadMoreRowRenderer?.syncVisibleRowLayouts()}syncFullWidthContainerDisplay(){if(!this.fullWidthRowsContainerEl)return;let e=this.fullWidthRowsContainerEl.querySelector(`.mg-full-width-row`)!=null;this.fullWidthRowsContainerEl.style.display=e?``:`none`}recycleRows(e,t){let n=Fv(this.activeIndices,e);if(t)for(let e of this.activeIndices)n.toUpdate.includes(e)||n.toUpdate.push(e);for(let e of n.toDestroy){let t=this.rowModel.getRow(e);if(!t||!this.rowPool.get(t.id)||this.pinnedRowIds.has(t.id))continue;let n=t.id,r=()=>{this.rowPool.release(n)};this.frameService&&!this.compressedScroll?this.deferRowDestroyOnScroll&&this.scrollActive?this.pendingDestroyTasks.set(n,r):this.frameService.addDestroyTask(r):r()}for(let e of n.toUpdate)this.updateRowAtIndex(e,t?{columnStructureChanged:!0}:void 0);for(let e of n.toCreate){let n=t?{columnStructureChanged:!0}:void 0;this.frameService&&!this.compressedScroll?this.frameService.createTask(()=>{this.updateRowAtIndex(e,n)},e,`p1`):this.updateRowAtIndex(e,n)}this.activeIndices=ky(e);for(let e of this.pinnedRowIds){let r=this.findRowIndexById(e);r>=0&&(this.activeIndices.add(r),!n.toUpdate.includes(r)&&!n.toCreate.includes(r)&&this.updateRowAtIndex(r,t?{columnStructureChanged:!0}:void 0))}this.pruneInactiveRowComps(e)}syncVisibleRowLayout(){let{firstRow:e,lastRow:t}=this.currentWindow;if(!(t<e)){for(let n=e;n<=t;n++)this.projectRowVisualsAtIndex(n);for(let e of this.pinnedRowIds){let t=this.findRowIndexById(e);t>=0&&this.projectRowVisualsAtIndex(t)}}}updateRowAtIndex(e,t){let n=this.rowModel.getRow(e);if(!n||L(n)&&!this.embedFullWidthRows||ho(n))return;this.cancelPendingDestroy(n.id);let r=this.rowPool.acquire(n.id,()=>this.rowCompFactory.create()),i=this.rowModel.getRowCount(),a=e+1<i?this.rowModel.getRow(e+1):void 0;r.setData(n,this.columnModel,this.columnWindow,this.valueCacheVersion,i>0&&e===i-1,{...t,overlayEditingTargets:this.resolveOverlayEditingTargets()}),r.setBeforeLoadMoreRow?.(a!=null&&ho(a)),this.projectRowVisualsAtIndex(e,r,n)}projectRowVisualsAtIndex(e,t=this.rowPool.get(this.rowModel.getRow(e)?.id??``),n=this.rowModel.getRow(e)){n&&(t||=(this.updateRowAtIndex(e),this.rowPool.get(n.id)),t&&(L(n)&&!this.embedFullWidthRows||ho(n)||(t.setRowTop(this.compressedScroll?n.rowTop-this.scrollTop:n.rowTop),t.setSelected?.(this.selectedRowIds.has(n.id)),t.setSelectionDisabled?.(!this.isRowNodeSelectable(n)),t.setIndexFocused?.(this.indexFocusedRowIds.has(n.id)),t.setIndexColumnRangeHighlight?.(this.indexColumnHighlightChecker?.(e)??!1),t.setFocusedColId?.(this.focusedCell?.rowId===n.id?this.focusedCell.colId:null))))}findRowIndexById(e){let{firstRow:t,lastRow:n}=this.currentWindow;if(n<t)return-1;for(let r=t;r<=n;r++)if(this.rowModel.getRow(r)?.id===e)return r;for(let t=0;t<this.rowModel.getRowCount();t++)if(this.rowModel.getRow(t)?.id===e)return t;return-1}isAsyncMutationLoadingRowAt(e){return(this.asyncMutationLoadingCounts.get(e)??0)>0}applyIndexLoadingVisual(e,t){if(this.rowPool.get(e)?.setIndexLoadingVisual?.(t),this.rowsContainer.querySelectorAll(`.mg-row[data-row-id="${CSS.escape(e)}"] .mg-cell--index`).forEach(e=>{e instanceof HTMLElement&&zv(e,t)}),!t){let t=this.indexFocusedRowIds.has(e);this.rowPool.get(e)?.setIndexFocused?.(t)}}};function ky(e){let t=new Set;if(e.lastRow<e.firstRow)return t;for(let n=e.firstRow;n<=e.lastRow;n++)t.add(n);return t}var Ay=class{scrollTop=0;nextScrollTop=0;notifyScroll(e){this.nextScrollTop=e}isScrollGoingDown(){return this.nextScrollTop>=this.scrollTop}scrollGridIfNeeded(e){return this.scrollTop!==this.nextScrollTop&&(this.scrollTop=this.nextScrollTop,e(this.scrollTop),!0)}syncScrollTop(e){this.scrollTop=e,this.nextScrollTop=e}getScrollTop(){return this.scrollTop}getNextScrollTop(){return this.nextScrollTop}},jy=class{version=0;getVersion(){return this.version}bump(){this.version++}reset(){this.version=0}};function My(e={}){return{navigateHeader:e.navigateHeader??!1,navigateFooter:e.navigateFooter??!1}}function Ny(e,t,n){if(t.size===0)return e.slice();let r=[];for(let i of e)ee(i)&&(r.push(i),t.has(i.id)&&r.push(n(i)));return r}function Py(e,t,n,r){if(r?.force)delete e.__detailRowData,delete e.__detailLoadError,e.__detailLoading=!1;else if(e.__detailLoading||e.__detailRowData!==void 0)return;let i=(e.__detailLoadId??0)+1;e.__detailLoadId=i,e.__detailLoading=!0,delete e.__detailLoadError,n.onLoading();let a=!1,o=t=>{a||(a=!0,e.__detailLoadId===i&&(t(),n.onSettled()))},s={rowId:e.id,data:e.data,successCallback:t=>{o(()=>{e.__detailRowData=t,e.__detailLoading=!1})},failCallback:t=>{o(()=>{e.__detailLoading=!1,e.__detailLoadError=t??!0})}};try{let e=t(s);Fy(e)&&e.catch(e=>{s.failCallback?.(e)})}catch(e){s.failCallback?.(e)}}function Fy(e){return typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`}function Iy(e){let t=e.style.height,n=e.style.minHeight,r=e.style.overflow;e.style.height=`auto`,e.style.minHeight=`0`,e.style.overflow=`visible`;let i=e.scrollHeight;return e.style.height=t,e.style.minHeight=n,e.style.overflow=r,Math.ceil(i)}var Ly=1,Ry=5,zy=class{deps;debounceTimer=null;pendingHeights=new Map;contentCleanups=new Map;constructor(e){this.deps=e}setupContentObserver(e,t){if(!this.deps.isEnabled())return;this.teardownContentObserver(e);let n=(r=0)=>{let i=this.deps.getRowById(e);if(!i||!L(i))return;let a=Iy(t);if(a<=0&&r<Ry){window.setTimeout(()=>n(r+1),0);return}a>0&&this.queueMeasuredHeight(e,a,i)};n();let r=typeof ResizeObserver<`u`?new ResizeObserver(()=>{n()}):null;r?.observe(t),this.contentCleanups.set(e,()=>{r?.disconnect()})}teardownContentObserver(e){this.contentCleanups.get(e)?.(),this.contentCleanups.delete(e)}destroy(){this.debounceTimer!=null&&(clearTimeout(this.debounceTimer),this.debounceTimer=null);for(let e of this.contentCleanups.values())e();this.contentCleanups.clear(),this.pendingHeights.clear()}queueMeasuredHeight(e,t,n){let r=this.deps.getMinDetailRowHeight(n),i=Math.max(r,t);n.rowHeight===i&&!n.estimated||(this.pendingHeights.set(e,i),this.scheduleApply())}scheduleApply(){this.debounceTimer??=window.setTimeout(()=>{this.debounceTimer=null,this.flushPendingHeights()},Ly)}flushPendingHeights(){if(this.pendingHeights.size!==0){for(let[e,t]of this.pendingHeights.entries()){let n=this.deps.getRowById(e);!n||n.rowHeight===t&&!n.estimated||this.deps.rowHeightService.setRowHeight(e,t,!0,`autoHeight`)}this.pendingHeights.clear()}}};function By(e,t){let n=te(t.detailRowHeight,{rowId:e.id,data:e.data,masterRowId:e.id});return{id:F(e.id),data:e.data,rowKind:`DETAIL`,masterRowId:e.id,rowTop:0,rowHeight:n,estimated:t.detailRowAutoHeight,rowIndex:0,sourceIndex:-1}}var Vy=class{deps;expandedMasterIds=new Set;constructor(e){this.deps=e}get active(){return this.deps.getOptions().masterDetail}isExpanded(e){return this.expandedMasterIds.has(e)}getExpandedMasterIds(){return this.expandedMasterIds}getPinnedRowIds(){let e=[];for(let t of this.expandedMasterIds)e.push(t,F(t));return e}isRowMaster(e){return!this.active||L(e)?!1:this.deps.getOptions().isRowMaster({rowId:e.id,data:e.data,rowIndex:e.rowIndex})}expandRow(e,t){if(!this.active||this.expandedMasterIds.has(e))return!1;let n=this.findBaseMasterRow(e);return!n||!this.isRowMaster(n)?!1:(this.expandedMasterIds.add(e),this.ensureDetailRowData(e),this.emit(ne(e,t)),!0)}collapseRow(e,t){return!this.active||!this.expandedMasterIds.has(e)?!1:(this.expandedMasterIds.delete(e),this.clearMasterDetailCache(e),this.emit(re(e,t)),!0)}toggleRow(e,t){return this.isExpanded(e)?this.collapseRow(e,t):this.expandRow(e,t)}expandAll(e){if(this.active)for(let t of this.deps.getBaseDisplayRows())this.isRowMaster(t)&&this.expandRow(t.id,e)}collapseAll(e){if(this.active)for(let t of[...this.expandedMasterIds])this.collapseRow(t,e)}pruneExpanded(e){for(let t of[...this.expandedMasterIds])e.has(t)||(this.expandedMasterIds.delete(t),this.clearMasterDetailCache(t))}clearExpanded(){this.expandedMasterIds.clear()}applyDefaultExpanded(e){if(this.active&&this.deps.getOptions().masterDefaultExpanded!==0)for(let t of e)this.isRowMaster(t)&&(this.expandedMasterIds.add(t.id),this.ensureDetailRowData(t.id))}injectDetailRows(e){return!this.active||this.expandedMasterIds.size===0?e.slice():Ny(e,this.expandedMasterIds,e=>this.createDetailRowNode(e))}createDetailRowNode(e){let t=this.deps.getOptions();return By(e,{detailRowHeight:t.detailRowHeight,detailRowAutoHeight:t.detailRowAutoHeight})}setDetailRowData(e,t){if(!this.active)return!1;let n=this.findBaseMasterRow(e);return!n||!this.isRowMaster(n)?!1:(n.__detailRowData=t,delete n.__detailLoading,delete n.__detailLoadError,this.isExpanded(e)&&this.deps.onDetailDataChanged?.(e),!0)}reloadDetailRowData(e){if(!this.active)return!1;let t=this.deps.getOptions().getDetailRowData;if(!t)return!1;let n=this.findBaseMasterRow(e);return!n||!this.isRowMaster(n)?!1:(Py(n,t,{onLoading:()=>this.deps.onDetailDataChanged?.(e),onSettled:()=>this.deps.onDetailDataChanged?.(e)},{force:!0}),!0)}findBaseMasterRow(e){return this.deps.getBaseDisplayRows().find(t=>t.id===e)}clearMasterDetailCache(e){let t=this.findBaseMasterRow(e);t&&(delete t.__detailRowData,delete t.__detailLoading,delete t.__detailLoadError,t.__detailLoadId=(t.__detailLoadId??0)+1)}ensureDetailRowData(e){let t=this.deps.getOptions().getDetailRowData;if(!t)return;let n=this.findBaseMasterRow(e);n&&Py(n,t,{onLoading:()=>this.deps.onDetailDataChanged?.(e),onSettled:()=>this.deps.onDetailDataChanged?.(e)})}emit(e){this.deps.onExpansionChanged?.(e)}};function Hy(e=co){return{id:so,data:{},rowTop:0,rowHeight:e,estimated:!1,rowIndex:-1,sourceIndex:-1,rowKind:`LOAD_MORE`}}function Uy(e,t){return!t.enabled||e.length===0?e.slice():[...e,Hy(t.height)]}var Wy=class{deps;constructor(e){this.deps=e}injectTrailingRow(e){if(!this.deps.isClientSideRowModel())return e.slice();let t=this.deps.getOptions();return Uy(e,{enabled:t.enabled,height:t.height})}},Gy=class{deps;expandedGroupIds=new Set;rowGroupColumns;constructor(e){this.deps=e,this.rowGroupColumns=[...e.getRowGroupColumnsFromDefs()]}get active(){return je(this.deps.getOptions().rowGrouping,this.rowGroupColumns)}getExpandedGroupIds(){return this.expandedGroupIds}getRowGroupColumns(){return this.rowGroupColumns}syncRowGroupColumnsFromDefs(){this.rowGroupColumns=[...this.deps.getRowGroupColumnsFromDefs()]}setRowGroupColumns(e,t){this.deps.getOptions().rowGrouping&&(this.rowGroupColumns=[...e],this.clearExpanded(),this.emitGroupChanged(We(this.rowGroupColumns,t)))}isExpanded(e){return this.expandedGroupIds.has(e)}expandGroup(e,t){if(!this.active||this.expandedGroupIds.has(e))return;let n=ql(this.deps.getGroupedTreeRoots(),e);n?.groupId&&(this.expandedGroupIds.add(e),this.emitGroupOpened(n,!0,t),this.deps.onGroupingStateChanged?.())}collapseGroup(e,t){if(!this.active||!this.expandedGroupIds.has(e))return;let n=ql(this.deps.getGroupedTreeRoots(),e);this.expandedGroupIds.delete(e),n?.groupId&&this.emitGroupOpened(n,!1,t),this.deps.onGroupingStateChanged?.()}toggleGroup(e,t){if(this.isExpanded(e)){this.collapseGroup(e,t);return}this.expandGroup(e,t)}expandAll(e){if(this.active)for(let t of Kl(this.deps.getGroupedTreeRoots()))this.expandedGroupIds.has(t)||this.expandGroup(t,e)}collapseAll(e){if(this.active)for(let t of[...this.expandedGroupIds])this.collapseGroup(t,e)}clearExpanded(){this.expandedGroupIds.clear()}pruneExpanded(e){for(let t of[...this.expandedGroupIds])e.has(t)||this.expandedGroupIds.delete(t)}applyDefaultExpanded(e){if(!this.active)return;let t=this.deps.getOptions().groupDefaultExpanded;t!==0&&Gl(e,e=>{!Jl(e.groupLevel??0,t)||!e.groupId||this.expandedGroupIds.add(e.groupId)})}getLeafGroupPathKey(e){return!z(e)||Be(e)||Ve(e)?null:e.leafGroupPathKey??null}getMapStageOptions(){return{expandedGroupIds:this.expandedGroupIds,showGroupHeader:this.deps.getOptions().showGroupHeader,showGroupFooter:this.deps.getOptions().showGroupFooter}}emitGroupOpened(e,t,n){this.deps.onGroupOpened?.(Ue({groupId:e.groupId,expanded:t,field:e.groupField??``,key:e.groupKey??``,level:e.groupLevel??0,source:n}))}emitGroupChanged(e){this.deps.onGroupChanged?.(e)}};function Ky(e,t){for(let n of e)t(n),Ky(Gr(n),t)}function qy(e,t=e=>e.treeLeaf!==!0){let n=[];return Ky(e,e=>{t(e)&&n.push(e.id)}),n}function Jy(e,t){let n;return Ky(e,e=>{e.id===t&&(n=e)}),n}function Yy(e,t){return t===0?!1:t===-1||e<t}function Xy(e){let t=new Set;return Ky(e,e=>t.add(e.id)),t}var Zy=class{deps;expandedRowIds=new Set;constructor(e){this.deps=e}get active(){let e=this.deps.getOptions();return tt(e.tree,e.getDataPath)}getExpandedRowIds(){return this.expandedRowIds}isExpanded(e){return this.expandedRowIds.has(e)}expandNode(e,t){if(!this.active||this.expandedRowIds.has(e))return;let n=Jy(this.deps.getTreeTreeRoots(),e);!n||!this.isNodeExpandable(n)||(this.expandedRowIds.add(e),this.emitNodeOpened(n,!0,t),this.deps.onTreeStateChanged?.())}collapseNode(e,t){if(!this.active||!this.expandedRowIds.has(e))return;this.deps.getLazyLoadHost?.()?.abortLoad(e);let n=Jy(this.deps.getTreeTreeRoots(),e);this.expandedRowIds.delete(e),n&&this.emitNodeOpened(n,!1,t),this.deps.onTreeStateChanged?.()}toggleNode(e,t){if(this.isExpanded(e)){this.collapseNode(e,t);return}this.expandNode(e,t)}async requestToggleNode(e,t){if(!this.active)return;if(this.isExpanded(e)){this.collapseNode(e,t);return}let n=Jy(this.deps.getTreeTreeRoots(),e);if(!n||!this.isNodeExpandable(n))return;let r=this.deps.getLazyLoadHost?.();if(r?.ensureChildrenLoaded){if(!await r.ensureChildrenLoaded(n,t))return;let i=Jy(this.deps.getTreeTreeRoots(),e)??n;if(!this.isNodeExpandable(i))return}this.expandNode(e,t)}isNodeExpandable(e){let t=this.deps.getLazyLoadHost?.();return t?t.isExpandable(e):e.treeLeaf!==!0}isNodeLoading(e){return this.deps.getLazyLoadHost?.()?.isLoading(e)??!1}expandAll(e){if(!this.active)return;let t=qy(this.deps.getTreeTreeRoots(),e=>this.isNodeExpandable(e)),n=!1;for(let e of t){if(this.expandedRowIds.has(e))continue;let t=Jy(this.deps.getTreeTreeRoots(),e);!t||!this.isNodeExpandable(t)||(this.expandedRowIds.add(e),n=!0)}n&&this.deps.onTreeStateChanged?.()}collapseAll(){if(!this.active)return;let e=[...this.expandedRowIds];if(e.length===0)return;let t=this.deps.getLazyLoadHost?.();for(let n of e)t?.abortLoad(n),this.expandedRowIds.delete(n);this.deps.onTreeStateChanged?.()}isAllExpandableNodesExpanded(){if(!this.active)return!1;let e=qy(this.deps.getTreeTreeRoots(),e=>this.isNodeExpandable(e));return e.length!==0&&e.every(e=>this.expandedRowIds.has(e))}clearExpanded(){this.expandedRowIds.clear()}pruneExpanded(e){for(let t of[...this.expandedRowIds])e.has(t)||this.expandedRowIds.delete(t)}applyDefaultExpanded(e){if(!this.active)return;let t=this.deps.getGroupDefaultExpanded();t!==0&&Ky(e,e=>{let n=e.treeLevel??0;e.treeLeaf!==!0&&Yy(n,t)&&this.expandedRowIds.add(e.id)})}getDataPathForRow(e){let t=Jy(this.deps.getTreeTreeRoots(),e);return t?.dataPath?[...t.dataPath]:void 0}getMapStageOptions(){let e=this.deps.getOptions();return{expandedRowIds:this.expandedRowIds,treeValueGetter:e.treeValueGetter}}getTreeDisplayValue(e){let t=this.deps.getOptions(),n=e.dataPath??[];return t.treeValueGetter?t.treeValueGetter({data:e.data,dataPath:n,treeLevel:e.treeLevel??0}):n[n.length-1]??``}prepareTreeTree(e){let t=Xy(e);this.pruneExpanded(t),this.deps.getLazyLoadHost?.()?.pruneLoaded(t)}applyDefaultExpandedToTree(e){this.applyDefaultExpanded(e)}expandForQuickFilterDisplay(e){if(this.active)for(let t of Kr(e))this.expandedRowIds.add(t)}emitNodeOpened(e,t,n){this.deps.onNodeOpened?.(it(e.id,t,e.treeLevel??0,e.dataPath??[],n))}},Qy=class{deps;loadedParentIds=new Set;emptyLeafParentIds=new Set;loadingParentIds=new Set;inflight=new Map;constructor(e){this.deps=e}get active(){let e=this.deps.getOptions();return e.treeLazyLoad===!0&&typeof e.loadTreeChildren==`function`}isLoading(e){return this.loadingParentIds.has(e)}isLoadedEmptyLeaf(e){return this.emptyLeafParentIds.has(e)}isLoadedParent(e){return this.loadedParentIds.has(e)}resolveExpandable(e){let t=e.childrenAfterTree;if(t&&t.length>0)return!0;if(this.emptyLeafParentIds.has(e.id))return!1;let n=this.deps.getOptions().hasTreeChildren;return n?n({data:e.data,dataPath:e.dataPath??[],treeLevel:e.treeLevel??0}):e.treeLeaf!==!0}isExpandable(e){return this.resolveExpandable(e)}needsLazyLoad(e){return!this.active||this.loadedParentIds.has(e.id)||this.emptyLeafParentIds.has(e.id)||e.childrenAfterTree&&e.childrenAfterTree.length>0?!1:this.resolveExpandable(e)}abortLoad(e){let t=this.inflight.get(e);t&&(t.controller.abort(),this.inflight.delete(e)),this.loadingParentIds.delete(e)}reset(){for(let e of this.inflight.values())e.controller.abort();this.inflight.clear(),this.loadedParentIds.clear(),this.emptyLeafParentIds.clear(),this.loadingParentIds.clear()}prune(e){for(let t of[...this.loadedParentIds])e.has(t)||this.loadedParentIds.delete(t);for(let t of[...this.emptyLeafParentIds])e.has(t)||this.emptyLeafParentIds.delete(t);for(let t of[...this.inflight.keys()])e.has(t)||this.abortLoad(t)}pruneLoaded(e){this.prune(e)}ensureChildrenLoaded(e,t=`ui`){if(!this.needsLazyLoad(e))return Promise.resolve(!0);let n=this.inflight.get(e.id);if(n)return n.promise;let r=new AbortController,i=this.runLoad(e,t,r);return this.inflight.set(e.id,{controller:r,promise:i}),i.finally(()=>{this.inflight.delete(e.id)})}async runLoad(e,t,n){let r=this.deps.getOptions().loadTreeChildren;if(!r)return!1;let i=e.id,a=e.dataPath??[],o=e.treeLevel??0;this.loadingParentIds.add(i),this.deps.onStateChanged?.(),this.deps.onLoading?.({parentRowId:i,dataPath:[...a],treeLevel:o,source:t});try{let s=await r({parentRowId:i,parentData:e.data,dataPath:[...a],treeLevel:o,signal:n.signal});if(n.signal.aborted)return!1;let c=$y(s);return c.length===0?(this.emptyLeafParentIds.add(i),this.deps.onLoaded?.({parentRowId:i,children:[],childCount:0,source:t}),!0):(eb({parentPath:a,children:c,rowKey:this.deps.rowKey,getDataPath:this.deps.getDataPath(),existingRowKeys:this.deps.getExistingRowKeys()}),this.deps.applyTransaction({add:c}),this.loadedParentIds.add(i),this.deps.onLoaded?.({parentRowId:i,children:c,childCount:c.length,source:t}),!0)}catch(e){if(n.signal.aborted)return!1;let t=e instanceof Error?e.message:String(e);return this.deps.onLoadFailed?.({parentRowId:i,reason:t,aborted:!1}),!1}finally{this.loadingParentIds.delete(i),this.deps.onStateChanged?.()}}};function $y(e){return e?[...e]:[]}function eb(e){let t=new Set(e.existingRowKeys);for(let n of e.children){let r=e.getDataPath({data:n});if(!tb(e.parentPath,r))throw Error(`[magic-grid] loadTreeChildren: child path [${r.join(`/`)}] must extend parent [${e.parentPath.join(`/`)}]`);let i=n[e.rowKey];if(i==null||i===``)throw Error(`[magic-grid] loadTreeChildren: child row is missing rowKey value.`);let a=String(i);if(t.has(a))throw Error(`[magic-grid] loadTreeChildren: duplicate rowKey "${a}".`);t.add(a)}}function tb(e,t){if(t.length!==e.length+1)return!1;for(let n=0;n<e.length;n++)if(t[n]!==e[n])return!1;return!0}var nb=!1;function rb(e){let t=e.tree===!0,n=e.rowGrouping===!0;return t?(n&&!nb&&(nb=!0,console.warn(`[magic-grid] tree and rowGrouping are mutually exclusive; rowGrouping ignored.`)),{mode:`tree`,rowGroupingIgnored:n}):n?{mode:`group`,rowGroupingIgnored:!1}:{mode:`flat`,rowGroupingIgnored:!1}}var ib=.2;function ab(e,t,n,r){if(e<t+40){let n=Math.min(1,(t+40-e)/40);return-(n*n*n)*r*ib}if(e>n-40){let t=Math.min(1,(e-(n-40))/40);return t*t*t*r*ib}return 0}function ob(e,t,n,r,i){let a=sb(e,n,r);if(a)return a;let o=t.getBoundingClientRect(),s=i()+(r-o.top),c=e.getRowIndexAtPixel(s),l=e.getRow(c);return l?{rowId:l.id,rowIndex:c}:null}function sb(e,t,n){let r=document.elementFromPoint(t,n)?.closest(`.mg-row`);if(!r)return null;let i=r.dataset.rowId;if(!i)return null;let a=e.getRowIndexById(i);return a<0?null:{rowId:i,rowIndex:a}}function cb(e,t,n){return ab(e,t,n,1)!==0}function lb(e){return e===void 0?{}:{nestUnderRowId:e}}function ub(e){return typeof e==`string`?{nestUnderRowId:e}:{}}function db(e,t){return e.dataPath??t({data:e.data})}function fb(e,t){let n=new Set;for(let r of e){let e=Nl(db(r,t));if(n.has(e))return!0;n.add(e)}return!1}function pb(e,t){if(t.length<e.length)return!1;for(let n=0;n<e.length;n+=1)if(t[n]!==e[n])return!1;return!0}function mb(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function hb(e,t,n){let r=e;for(;r;){if(r.id===t)return!0;let e=r.parentRowId;if(e==null)return!1;r=n(e)}return!1}function gb(e,t,n){let r=[];for(let i of n){let n=e.find(e=>e.id===i);n&&r.push(db(n,t))}if(r.length===0)return[];let i=[],a=new Set;for(let n of e){let e=db(n,t);r.some(t=>mb(e,t)||pb(t,e))&&!a.has(n.id)&&(a.add(n.id),i.push(n.id))}return i}function _b(e){let t=ob(e.rowModel,e.viewportEl,e.clientX,e.clientY,e.getLogicalScrollTop);if(!t||new Set(e.movingRowIds??[]).has(t.rowId))return null;let n=e.rowModel.getRowById(t.rowId);if(!n||!V(n))return null;if(e.altKey)return t.rowId;let r=e.viewportEl.querySelector(`.mg-row[data-row-id="${CSS.escape(t.rowId)}"]`)?.querySelector(`.mg-cell[data-col-id="${Ge}"], .mg-cell--tree-auto`);if(!r)return null;let i=Th((n.treeLevel??0)+1,!1),a=r.getBoundingClientRect().left+i*16;return e.clientX>=a?t.rowId:null}function vb(e,t,n,r={}){if(`nestUnderRowId`in r&&r.nestUnderRowId!==void 0){let i=r.nestUnderRowId,a=Math.max(0,Math.min(t,e.length));if(i==null)return{newParentRowId:null,withinSiblingInsertIndex:gd(e,a,null,n)};if(n.has(i))return null;let o=e.find(e=>e.id===i);return!o||!V(o)?null:{newParentRowId:i,withinSiblingInsertIndex:gd(e,a,i,n)}}let i=Math.max(0,Math.min(t,e.length)),a=i<e.length?e[i]:void 0,o=i>0?e[i-1]:void 0;if(!a&&!o)return{newParentRowId:null,withinSiblingInsertIndex:0};let s=a??o;if(!s||!V(s))return null;let c=a?a.parentRowId??null:o.parentRowId??null;return{newParentRowId:c,withinSiblingInsertIndex:gd(e,i,c,n)}}function yb(e,t,n,r,i,a,o={}){for(let e of r){let t=n(e);if(!t||!V(t))return!1}let s=vb(t,i,new Set(gb(e,a,r)),o);if(!s)return!1;if(s.newParentRowId){let e=n(s.newParentRowId);if(!e||!V(e))return!1;for(let t of r)if(s.newParentRowId===t||hb(e,t,n))return!1}return!0}function bb(e){let t=new Set(gb(e.sourceRows,e.getDataPath,e.rowIds));if(e.treeDragScope===`hierarchy`){let n=vb(e.displayRows,e.insertIndex,t,lb(e.nestUnderRowId));if(!n)return null;let r=n.newParentRowId==null?void 0:e.sourceRows.find(e=>e.id===n.newParentRowId);return{parentRowId:n.newParentRowId,siblingIndex:n.withinSiblingInsertIndex,treeLevel:n.newParentRowId==null?0:(r?.treeLevel??0)+1}}let n=hd(e.sourceRows,e.rowIds);if(n===`mixed`||n===`missing`)return null;let r=n==null?void 0:e.sourceRows.find(e=>e.id===n);return{parentRowId:n,siblingIndex:gd(e.displayRows,e.insertIndex,n,t),treeLevel:n==null?0:(r?.treeLevel??0)+1}}function xb(e,t,n){let r=db(e[t],n),i=t;for(let a=t+1;a<e.length;a+=1){let t=db(e[a],n);if(pb(r,t)&&!mb(r,t)){i=a;continue}break}return i}function Sb(e,t,n,r){let i=[];for(let n=0;n<e.length;n+=1)(e[n].parentRowId??null)===t&&i.push(n);if(i.length===0){if(t==null)return 0;let n=e.findIndex(e=>e.id===t);return n<0?e.length:xb(e,n,r)+1}if(n>=i.length){let t=i[i.length-1];return xb(e,t,r)+1}return i[n]}function Cb(e,t,n){for(let r of e)if(mb(db(r,n),t))return r.id}function wb(e){return e.map(e=>({...e,data:{...e.data},dataPath:e.dataPath?[...e.dataPath]:void 0,childrenAfterTree:e.childrenAfterTree?[...e.childrenAfterTree]:void 0}))}function Tb(e){let t=e.sourceRows.find(t=>t.id===e.rowId),n=e.sourceRows.find(t=>t.id===e.previousSiblingRowId);if(!t||!n||!V(t)||!V(n)||(t.parentRowId??null)!==(n.parentRowId??null))return null;let r=t=>db(t,e.getDataPath),i=r(t),a=r(n),o=a[a.length-1];if(o==null)return null;let s=new Set(gb(e.sourceRows,e.getDataPath,[e.rowId])),c=new Set(gb(e.sourceRows,e.getDataPath,[e.previousSiblingRowId]));for(let e of s)if(c.has(e))return null;let l=wb(e.sourceRows),u=e=>l.find(t=>t.id===e),d=t=>db(t,e.getDataPath),f=[];for(let e of l){if(s.has(e.id))continue;let t=d(e);(mb(t,a)||pb(a,t))&&f.push({rowId:e.id,newPath:[...i,o,...t.slice(a.length)]})}f.sort((e,t)=>e.newPath.length-t.newPath.length);for(let t of f){let n=u(t.rowId);if(!n)return null;let r=d(n);e.setDataPath({data:n.data,dataPath:t.newPath,treeLevel:t.newPath.length-1,previousPath:[...r]}),n.dataPath=t.newPath,n.treeLevel=t.newPath.length-1,n.parentRowId=t.newPath.length>1?Cb(l,t.newPath.slice(0,-1),e.getDataPath):void 0}let p=l.filter(e=>s.has(e.id)),m=l.filter(e=>c.has(e.id)),h=l.filter(e=>!s.has(e.id)&&!c.has(e.id)),g=e.sourceRows.findIndex(t=>t.id===e.previousSiblingRowId),_=0;if(g>=0)for(let t=0;t<g;t+=1){let n=e.sourceRows[t].id;!s.has(n)&&!c.has(n)&&(_+=1)}let v=[...h.slice(0,_),...p,...m,...h.slice(_)];if(fb(v,e.getDataPath))return null;let y=[];for(let t of v){let n=e.sourceRows.findIndex(e=>e.id===t.id),r=v.findIndex(e=>e.id===t.id);n>=0&&r>=0&&n!==r&&y.push(pd(t.id,n,r))}return y.length===0&&f.length===0?null:{rows:v,moves:y}}function Eb(e){if(!yb(e.sourceRows,e.displayRows,t=>e.sourceRows.find(e=>e.id===t),e.rowIds,e.displayInsertIndex,e.getDataPath,lb(e.nestUnderRowId)))return null;let t=gb(e.sourceRows,e.getDataPath,e.rowIds),n=new Set(t),r=hd(e.sourceRows,e.rowIds),i=vb(e.displayRows,e.displayInsertIndex,n,lb(e.nestUnderRowId));if(!i||r===`mixed`||r===`missing`)return null;if((i.newParentRowId??null)===r&&t.length===e.rowIds.length)return Sd({sourceRows:e.sourceRows,displayRows:e.displayRows,rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,parentRowId:r});let a=wb(e.sourceRows),o=e=>a.find(t=>t.id===e),s=t=>db(t,e.getDataPath),c=new Map,l=new Map;for(let t of e.rowIds){let e=o(t);if(!e)return null;let n=s(e);c.set(t,n);let r=e.parentRowId==null?[]:s(o(e.parentRowId)),a=n.slice(r.length),u=i.newParentRowId==null?[]:s(o(i.newParentRowId));l.set(t,[...u,...a])}let u=[...t].sort((e,t)=>{let n=o(e),r=o(t);return s(n).length-s(r).length});for(let t of u){let n=o(t);if(!n)return null;let r=s(n),i=e.rowIds.find(e=>{let t=c.get(e);return t?mb(r,t)||pb(t,r):!1});if(!i)return null;let u=c.get(i),d=l.get(i);if(!u||!d)return null;let f=[...d,...r.slice(u.length)];e.setDataPath({data:n.data,dataPath:f,treeLevel:f.length-1,previousPath:[...r]}),n.dataPath=f,n.treeLevel=f.length-1,n.parentRowId=f.length>1?Cb(a,f.slice(0,-1),e.getDataPath):void 0}let d=a.filter(e=>n.has(e.id)),f=a.filter(e=>!n.has(e.id)),p=Sb(f,i.newParentRowId,i.withinSiblingInsertIndex,e.getDataPath),m=[...f.slice(0,p),...d,...f.slice(p)],h=[];for(let t of d){let n=e.sourceRows.findIndex(e=>e.id===t.id),r=m.findIndex(e=>e.id===t.id);n>=0&&r>=0&&n!==r&&h.push(pd(t.id,n,r))}let g=d.some(t=>{let n=e.sourceRows.find(e=>e.id===t.id);if(!n)return!1;let r=db(n,e.getDataPath),i=s(t);return n.parentRowId!==t.parentRowId||!mb(r,i)});return h.length===0&&!g||fb(m,e.getDataPath)?null:{rows:m,moves:h}}function Db(e,t,n,r,i){let a=ob(e,t,n,r,i);return a?Ob(a,r,t,e,i):-1}function Ob(e,t,n,r,i){let a=r.getRowCount(),o=Ab(e,n,r,i),s=e.rowIndex;return o!=null&&t>o&&(s+=1),Math.max(0,Math.min(s,a))}function kb(e,t){return t<=0?0:Math.max(0,Math.min(e,t-1))}function Ab(e,t,n,r){let i=t.querySelector(`.mg-row[data-row-id="${CSS.escape(e.rowId)}"]`);if(i){let e=i.getBoundingClientRect();return e.top+e.height/2}let a=n.getRowBounds(e.rowIndex);return a?t.getBoundingClientRect().top+a.rowTop+a.rowHeight/2-r():null}function jb(e){return e==null?null:String(e)}function Mb(e,t){return e==null&&t==null?!0:e==null||t==null?!1:e.parentRowId===t.parentRowId&&e.siblingIndex===t.siblingIndex&&e.treeLevel===t.treeLevel}function Nb(e,t){let n=[];for(let r of t){let i=J(e,r.id),a=J(t,r.id);a&&(Mb(i,a)||n.push({rowId:r.id,previousParentRowId:jb(i?.parentRowId),previousSiblingIndex:i?.siblingIndex??0,parentRowId:jb(a.parentRowId),siblingIndex:a.siblingIndex,treeLevel:a.treeLevel}))}return n}function Pb(e,t){let n=new Map;for(let r of t){let t=J(e,r);t&&n.set(r,t)}return n}function Fb(e,t,n){for(let r of e){let e=t.get(r);if(e===void 0)continue;let i=n.findIndex(e=>e.id===r);if(i>=0&&e!==i)return!0}return!1}function Ib(e,t,n){if(!t||t.size===0)return!1;for(let r of e)if(!Mb(t.get(r),J(n,r)))return!0;return!1}function Lb(e,t,n,r,i){return r===i?e<0||kb(t,n)===e:!1}function Rb(e){return Fb(e.rowIds,e.startSourceIndices,e.sourceRows)||Ib(e.rowIds,e.startTreePositions,e.sourceRows)?!0:!e.dropAllowed||e.managed?!1:!Lb(e.startDisplayIndex,e.dropInsertIndex,e.rowCount,e.nestUnderRowId,e.startNestUnderRowId)}function zb(e){return e.fromIndex!==e.toIndex||!Mb(e.startTreePosition,e.currentTreePosition)}function Bb(e,t){let n=e[t];if(!n)return t;let r=n.treeLevel??0,i=t;for(let n=t+1;n<e.length&&!((e[n]?.treeLevel??0)<=r);n+=1)i=n;return i}function Vb(e,t){let n=e[t]?.treeLevel??0;for(let r=t-1;r>=0;--r)if((e[r]?.treeLevel??0)===n)return r;return-1}function Hb(e){let t=e.displayRows.findIndex(t=>t.id===e.rowId);if(t<0)return null;let n=e.displayRows[t];if(e.action===`promote`){let r=n.parentRowId;if(r==null){let n=Vb(e.displayRows,t);if(n<0)return null;let r=e.displayRows[n];return{kind:`wrapPreviousSibling`,movingRowId:e.rowId,previousSiblingRowId:r.id,displayInsertIndex:n}}let i=e.displayRows.findIndex(e=>e.id===r);if(i<0)return null;let a=e.displayRows[i];return{kind:`outdent`,movingRowId:e.rowId,nestUnderRowId:a.parentRowId??null,displayInsertIndex:Bb(e.displayRows,i)+1}}let r=Vb(e.displayRows,t);if(r<0)return null;let i=e.displayRows[r];return{kind:`outdent`,movingRowId:e.rowId,nestUnderRowId:i.id,displayInsertIndex:Bb(e.displayRows,r)+1}}function Ub(e){return yb(e.sourceRows,e.displayRows,e.getRowById,[e.move.movingRowId],e.move.displayInsertIndex,e.getDataPath,{nestUnderRowId:e.move.nestUnderRowId})}function Wb(e){let t=Hb({action:e.action,rowId:e.rowId,displayRows:e.displayRows});return t?t.kind===`wrapPreviousSibling`?Tb({sourceRows:e.sourceRows,rowId:t.movingRowId,previousSiblingRowId:t.previousSiblingRowId,getDataPath:e.getDataPath,setDataPath:e.setDataPath??(()=>{})})!=null:Ub({sourceRows:e.sourceRows,displayRows:e.displayRows,getRowById:e.getRowById,getDataPath:e.getDataPath,move:t}):!1}function Gb(e){return{promote:Wb({...e,action:`promote`}),demote:Wb({...e,action:`demote`})}}function Kb(e){let t=[];return e.promote&&t.push(`promote`),e.demote&&t.push(`demote`),t}function qb(e,t,n){return{displayIndex:n,...J(e,t)??{}}}function Jb(e){let t=new Set([e.leaderRowId]);for(let n of e.moves)t.add(n.rowId);for(let n of e.hierarchyChanges??[])t.add(n.rowId);return[...t]}function Yb(e){let t=Hb({action:e.action,rowId:e.rowId,displayRows:e.displayRows});if(!t)return{ok:!1};let n=Xb(e);return n?{ok:!0,plan:{rowIds:[e.rowId],leaderRowId:e.rowId,rows:n.rows,moves:n.moves,displayIndex:t.displayInsertIndex,treeDrop:qb(n.rows,e.rowId,t.displayInsertIndex),hierarchyChanges:Nb(e.sourceRows,n.rows)}}:{ok:!1}}function Xb(e){let t=Hb({action:e.action,rowId:e.rowId,displayRows:e.displayRows});return t?t.kind===`wrapPreviousSibling`?Tb({sourceRows:e.sourceRows,rowId:t.movingRowId,previousSiblingRowId:t.previousSiblingRowId,getDataPath:e.getDataPath,setDataPath:e.setDataPath}):Eb({sourceRows:e.sourceRows,displayRows:e.displayRows,rowIds:[t.movingRowId],displayInsertIndex:t.displayInsertIndex,getDataPath:e.getDataPath,setDataPath:e.setDataPath,nestUnderRowId:t.nestUnderRowId}):null}function Zb(e,t,n){return md(e,t,n)??{displayIndex:n}}function Qb(e,t,n,r,i){for(let a of t.moves)e(ja(a.rowId,a.fromIndex,a.toIndex,r,i,Zb(t.rows,a.rowId,n)))}function $b(e,t,n){let r=e.findIndex(e=>e.id===t);if(r<0)return null;let i=rd(n,e.length);if(r===i)return null;let a=[...e],[o]=a.splice(r,1);return a.splice(i,0,o),{rows:a,fromIndex:r,toIndex:i}}function ex(e,t,n){let r=new Set(t),i=e.filter(e=>r.has(e.id));if(i.length===0||i.length!==t.length)return null;let a=new Map;for(let t=0;t<e.length;t++){let n=e[t];r.has(n.id)&&a.set(n.id,t)}let o=e.filter(e=>!r.has(e.id)),s=Math.max(0,Math.min(n,o.length)),c=[...o.slice(0,s),...i,...o.slice(s)],l=[];for(let e of i){let t=a.get(e.id),n=c.findIndex(t=>t.id===e.id);t==null||n<0||t===n||l.push(pd(e.id,t,n))}return l.length===0?null:{rows:c,moves:l}}var tx=class{deps;constructor(e){this.deps=e}rejectIfSortOrFilterActive(){return this.deps.isSortOrFilterActive()?{moved:!1,reason:Oa}:null}commitPlan(e){if(this.deps.setSourceRows(e.rows),e.treeDisplayInsertIndex!=null){Qb(this.deps.emitRowMoved,{rows:e.rows,moves:[...e.moves]},e.treeDisplayInsertIndex,e.source,e.finished);return}for(let t of e.moves)this.deps.emitRowMoved(ja(t.rowId,t.fromIndex,t.toIndex,e.source,e.finished))}applyOrDefer(e,t,n){return t?{...n,commitPlan:e}:(this.commitPlan(e),n)}moveRow(e,t=`api`){let n=this.rejectIfSortOrFilterActive();if(n)return n;let r=e.indexMode??`source`,i=ed({sourceRows:this.deps.getSourceRows(),displayRows:this.deps.getDisplayRows(),sortModelLength:this.deps.getSortModelLength(),filterModelKeyCount:this.deps.getFilterModelKeyCount()}),a=this.deps.getSortModelLength()>0,o=id(e.toIndex,r,i,a);if(o==null)return{moved:!1,reason:`invalid move target index`};let s=this.deps.getSourceRows(),c=s.findIndex(t=>t.id===e.rowId);if(c<0)return{moved:!1,reason:`row "${e.rowId}" not found`};let l=fd({active:this.deps.isRowGroupingActive?.()??!1,sourceRows:s,rowIds:[e.rowId],targetSourceIndex:o});if(!l.allowed)return{moved:!1,fromIndex:c,reason:l.reason};let u=vd({active:this.deps.isTreeActive?.()??!1,sourceRows:s,rowIds:[e.rowId],targetSourceIndex:o});if(!u.allowed)return{moved:!1,fromIndex:c,reason:u.reason};let d=ad(s,[e.rowId]);if(typeof d==`string`&&(this.deps.isRowGroupingActive?.()??!1)){if(r===`display`)return this.finishGroupedDisplayMove(s,[e.rowId],e.rowId,e.toIndex,d,t,e.finished??!0,c,e.deferCommit);let n=$b(s,e.rowId,o);if(!n)return{moved:!1,fromIndex:c,toIndex:c};let i=e.finished??!0,a=pd(e.rowId,n.fromIndex,n.toIndex);return this.applyOrDefer({rows:n.rows,moves:[a],source:t,finished:i},e.deferCommit,{moved:!0,fromIndex:n.fromIndex,toIndex:n.toIndex,moves:[a]})}let f=hd(s,[e.rowId]);if((typeof f==`string`||f===null)&&this.deps.isTreeActive?.()){if(r===`display`)return this.finishTreeDisplayMove(s,[e.rowId],e.rowId,e.toIndex,f,t,e.finished??!0,c,e.deferCommit);let n=_d(s,[e.rowId],o,f),i=xd({sourceRows:s,rowIds:[e.rowId],withinSiblingInsertIndex:n,parentRowId:f});if(!i)return{moved:!1,fromIndex:c,toIndex:c};let a=e.finished??!0,l=i.moves[0]??pd(e.rowId,c,c);return this.applyOrDefer({rows:i.rows,moves:i.moves,source:t,finished:a},e.deferCommit,{moved:!0,fromIndex:l.fromIndex,toIndex:l.toIndex,moves:i.moves})}let p=$b(s,e.rowId,o);if(!p)return{moved:!1,fromIndex:c,toIndex:c};let m=e.finished??!0,h=pd(e.rowId,p.fromIndex,p.toIndex);return this.applyOrDefer({rows:p.rows,moves:[h],source:t,finished:m},e.deferCommit,{moved:!0,fromIndex:p.fromIndex,toIndex:p.toIndex,moves:[h]})}moveRows(e,t=`api`){if(e.rowIds.length===0)return{moved:!1,reason:`no rows to move`};let n=this.rejectIfSortOrFilterActive();if(n)return n;if((this.deps.isRowGroupingActive?.()??!1)&&e.displayInsertIndex!=null)return this.moveRowsByGroupedDisplayInsert(e,t);if((this.deps.isTreeActive?.()??!1)&&e.displayInsertIndex!=null)return this.moveRowsByTreeDisplayInsert(e,t);if(e.rowIds.length===1)return this.moveRow({rowId:e.rowIds[0],toIndex:e.toIndex,indexMode:e.indexMode,finished:e.finished,deferCommit:e.deferCommit},t);let r=e.indexMode??`source`,i=ed({sourceRows:this.deps.getSourceRows(),displayRows:this.deps.getDisplayRows(),sortModelLength:this.deps.getSortModelLength(),filterModelKeyCount:this.deps.getFilterModelKeyCount()}),a=this.deps.getSortModelLength()>0,o=id(e.toIndex,r,i,a);if(o==null)return{moved:!1,reason:`invalid move target index`};let s=this.deps.getSourceRows(),c=Fu(s.length,e.rowIds,e.leaderRowId,o),l=fd({active:this.deps.isRowGroupingActive?.()??!1,sourceRows:s,rowIds:e.rowIds,targetSourceIndex:c});if(!l.allowed)return{moved:!1,reason:l.reason};let u=vd({active:this.deps.isTreeActive?.()??!1,sourceRows:s,rowIds:e.rowIds,targetSourceIndex:c});if(!u.allowed)return{moved:!1,reason:u.reason};let d=hd(s,e.rowIds);if((typeof d==`string`||d===null)&&(this.deps.isTreeActive?.()??!1)){let n=_d(s,e.rowIds,c,d),r=xd({sourceRows:s,rowIds:e.rowIds,withinSiblingInsertIndex:n,parentRowId:d});if(!r)return{moved:!1,moves:[]};let i=e.finished??!0,a=r.moves.find(t=>t.rowId===e.leaderRowId);return this.applyOrDefer({rows:r.rows,moves:r.moves,source:t,finished:i},e.deferCommit,{moved:!0,fromIndex:a?.fromIndex,toIndex:a?.toIndex,moves:r.moves})}let f=ex(s,e.rowIds,c);if(!f)return{moved:!1,moves:[]};let p=e.finished??!0,m=f.moves.find(t=>t.rowId===e.leaderRowId);return this.applyOrDefer({rows:f.rows,moves:f.moves,source:t,finished:p},e.deferCommit,{moved:!0,fromIndex:m?.fromIndex,toIndex:m?.toIndex,moves:f.moves})}moveRowsByGroupedDisplayInsert(e,t){let n=this.deps.getSourceRows(),r=ad(n,e.rowIds);if(r===`mixed`)return{moved:!1,reason:`selected rows must belong to the same group`};if(r===`missing`)return{moved:!1,reason:`cannot move non-leaf rows while row grouping is active`};if(r===null)return{moved:!1,reason:`group path missing on source rows`};let i=ld({sourceRows:n,displayRows:this.deps.getDisplayRows(),rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,groupPath:r});if(!i)return{moved:!1,moves:[]};let a=e.finished??!0,o=i.moves.find(t=>t.rowId===e.leaderRowId);return this.applyOrDefer({rows:i.rows,moves:i.moves,source:t,finished:a,treeDisplayInsertIndex:e.displayInsertIndex},e.deferCommit,{moved:!0,fromIndex:o?.fromIndex,toIndex:o?.toIndex,moves:i.moves})}finishGroupedDisplayMove(e,t,n,r,i,a,o,s,c){let l=this.deps.getDisplayRows(),u=l.findIndex(e=>e.id===n),d=rd(r,l.length),f=ld({sourceRows:e,displayRows:l,rowIds:t,displayInsertIndex:u>=0&&u<d?d+1:d,groupPath:i});if(!f)return{moved:!1,fromIndex:s,toIndex:s};let p=f.moves,m=p.find(e=>e.rowId===n);return this.applyOrDefer({rows:f.rows,moves:p,source:a,finished:o},c,{moved:!0,fromIndex:m?.fromIndex??s,toIndex:m?.toIndex??s,moves:p})}moveRowsByTreeDisplayInsert(e,t){let n=this.deps.getSourceRows(),r=hd(n,e.rowIds);if(r===`mixed`)return{moved:!1,reason:`selected rows must belong to the same tree parent`};if(r===`missing`)return{moved:!1,reason:`cannot move non-tree rows while tree mode is active`};if(this.deps.getTreeDragScope?.()===`hierarchy`){let r=this.deps.getDataPath?.(),i=this.deps.setDataPath?.();if(!r||!i)return{moved:!1,reason:`hierarchy tree drag requires getDataPath and setDataPath`};let a=Eb({sourceRows:n,displayRows:this.deps.getDisplayRows(),rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,getDataPath:r,setDataPath:i,nestUnderRowId:e.treeNestUnderRowId});if(!a)return{moved:!1,moves:[]};let o=e.finished??!0,s=a.moves.find(t=>t.rowId===e.leaderRowId);return this.applyOrDefer({rows:a.rows,moves:a.moves,source:t,finished:o,treeDisplayInsertIndex:e.displayInsertIndex},e.deferCommit,{moved:!0,fromIndex:s?.fromIndex,toIndex:s?.toIndex,moves:a.moves})}let i=Sd({sourceRows:n,displayRows:this.deps.getDisplayRows(),rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,parentRowId:r});if(!i)return{moved:!1,moves:[]};let a=e.finished??!0,o=i.moves.find(t=>t.rowId===e.leaderRowId);return this.applyOrDefer({rows:i.rows,moves:i.moves,source:t,finished:a,treeDisplayInsertIndex:e.displayInsertIndex},e.deferCommit,{moved:!0,fromIndex:o?.fromIndex,toIndex:o?.toIndex,moves:i.moves})}finishTreeDisplayMove(e,t,n,r,i,a,o,s,c){let l=this.deps.getDisplayRows(),u=l.findIndex(e=>e.id===n),d=rd(r,l.length),f=Sd({sourceRows:e,displayRows:l,rowIds:t,displayInsertIndex:u>=0&&u<d?d+1:d,parentRowId:i});if(!f)return{moved:!1,fromIndex:s,toIndex:s};let p=f.moves,m=p.find(e=>e.rowId===n);return this.applyOrDefer({rows:f.rows,moves:p,source:a,finished:o},c,{moved:!0,fromIndex:m?.fromIndex??s,toIndex:m?.toIndex??s,moves:p})}};function nx(e,t,n){return{displayIndex:n,...J(e,t)??{}}}function rx(e,t,n){let r=e.isTreeActive?Nb(e.sourceRows,t.rows):void 0;if(t.moves.length===0&&(r?.length??0)===0)return{ok:!1,reason:`no row order or hierarchy change`};let i=n??e.leaderRowId;return{ok:!0,plan:{rowIds:[...e.rowIds],leaderRowId:e.leaderRowId,rows:t.rows,moves:t.moves,displayIndex:e.displayInsertIndex,treeDrop:e.isTreeActive?nx(t.rows,i,e.displayInsertIndex):{displayIndex:e.displayInsertIndex},hierarchyChanges:r}}}function ix(e){let t=ad(e.sourceRows,e.rowIds);if(t===`mixed`)return{ok:!1,reason:`selected rows must belong to the same group`};if(t===`missing`)return{ok:!1,reason:`cannot move non-leaf rows while row grouping is active`};if(t===null)return{ok:!1,reason:`group path missing on source rows`};let n=ld({sourceRows:e.sourceRows,displayRows:e.displayRows,rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,groupPath:t});return n?rx(e,n):{ok:!1,reason:`invalid grouped display drop`}}function ax(e){let t=hd(e.sourceRows,e.rowIds);if(t===`mixed`)return{ok:!1,reason:`selected rows must belong to the same tree parent`};if(t===`missing`)return{ok:!1,reason:`cannot move non-tree rows while tree mode is active`};if(e.treeDragScope===`hierarchy`){let t=e.getDataPath,n=e.setDataPath;if(!t||!n)return{ok:!1,reason:`hierarchy tree drag requires getDataPath and setDataPath`};let r=Eb({sourceRows:e.sourceRows,displayRows:e.displayRows,rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,getDataPath:t,setDataPath:n,nestUnderRowId:e.treeNestUnderRowId});return r?rx(e,r):{ok:!1,reason:`invalid tree hierarchy display drop`}}let n=Sd({sourceRows:e.sourceRows,displayRows:e.displayRows,rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,parentRowId:t});return n?rx(e,n):{ok:!1,reason:`invalid tree sibling display drop`}}function ox(e){let t=e.displayRows.length,n=kb(e.displayInsertIndex,t),r=e.displayRows.findIndex(t=>t.id===e.leaderRowId);if(r>=0&&n===r)return{ok:!1,reason:`no row order change`};let i=e.sortModelLength>0,a=ed({sourceRows:e.sourceRows,displayRows:e.displayRows,sortModelLength:e.sortModelLength,filterModelKeyCount:e.filterModelKeyCount}),o=id(n,a.hasSortOrFilter&&!i?`display`:`source`,a,i);if(o==null)return{ok:!1,reason:`display index mode is not allowed while sort is active`};if(e.rowIds.length===1){let t=$b(e.sourceRows,e.rowIds[0],o);return t?rx(e,{rows:t.rows,moves:[pd(e.rowIds[0],t.fromIndex,t.toIndex)]}):{ok:!1,reason:`no row order change`}}let s=Fu(e.sourceRows.length,e.rowIds,e.leaderRowId,o),c=ex(e.sourceRows,e.rowIds,s);return c?rx(e,c):{ok:!1,reason:`no row order change`}}function sx(e){return e.rowIds.length===0?{ok:!1,reason:`no rows to move`}:e.displayInsertIndex<0?{ok:!1,reason:`invalid display insert index`}:e.isRowGroupingActive?ix(e):e.isTreeActive?ax(e):ox(e)}var cx=class{deps;phase=`idle`;nextCommitId=0;commitController=null;committingTarget=null;constructor(e){this.deps=e}isCommitting(){return this.phase===`committing`}getCommittingTarget(){return this.committingTarget}abort(){this.commitController?.abort(),this.commitController=null,this.phase=`idle`,this.setCommitVisual(null)}destroy(){this.abort()}async commit(t){let n=this.deps.persistMove();if(!n){this.deps.emitFinished(Pa({commitId:-1,leaderRowId:t.plan.leaderRowId,committed:!1,reason:`asyncRowMutation.move is required for deferred row drag commit`}));return}let r=++this.nextCommitId,i=e.s(r,this.commitController);this.commitController=i,this.phase=`committing`,this.setCommitVisual({rowIds:t.rowIds}),this.deps.emitStarted(Na({rowIds:t.rowIds,leaderRowId:t.plan.leaderRowId,displayIndex:t.plan.displayIndex,treeDrop:t.plan.treeDrop}));let a={ok:!1};try{if(a=await n(Fa(t.plan,t.nestUnderRowId,i.context)),i.context.commitId!==r)return}catch(t){if(e.c(t))a={ok:!1,aborted:!0};else throw t}finally{this.commitController===i&&(this.commitController=null),this.phase=`idle`,this.setCommitVisual(null)}i.context.commitId===r&&(this.deps.emitFinished(Pa({commitId:r,leaderRowId:t.plan.leaderRowId,committed:a.ok,aborted:a.ok?void 0:a.aborted,reason:a.ok?void 0:a.reason})),a.ok&&(this.deps.applyPlan(t.plan),this.deps.emitRowDragEnd(Ma(t.plan.leaderRowId,t.plan.displayIndex,!0,t.rowIds,t.treeContext))))}setCommitVisual(e){this.committingTarget=e,this.deps.setCommittingVisual(e)}};function lx(e,n){return e.remove?.length?e.remove.map(e=>{if(typeof e==`string`)return e;let r=e[n];if(r==null)throw new t.p(`Missing rowKey "${n}" in remove item`);return String(r)}):[]}function ux(e,t,n,r){let i=e[t];return i==null?r?.find(t=>t.data===e&&t.isTransient):n(String(i))}function dx(e,t,n){return!e.add?.length||!n?.rows?.length?e:{...e,add:e.add.map((e,r)=>{let i=n.rows?.[r];if(!i)return e;let a={...tu(e,t)},o=i.data?{...a,...i.data}:a;return i.businessId!==void 0&&(o[t]=i.businessId),eu(e,t)?{...e,data:o}:o})}}async function fx(e,n){try{return await n()}catch(n){throw n instanceof t.p?n:new t.p(`${e} persist failed`,n)}}async function px(e,n){let{handlers:r,rowKey:i,getRowById:a,sourceRows:o,signal:s=new AbortController().signal}=n;if(!r?.add&&!r?.update&&!r?.remove)return e;let c=e;if(r.remove&&e.remove?.length){let t=lx(e,i),n=t.map(e=>{let t=a(e);return{rowId:e,data:t?{...t.data}:{}}});await fx(`remove`,()=>r.remove({rowIds:t,rows:n,signal:s}))}if(r.update&&e.update?.length){let n=e.update.map(e=>{let n,r;if(ru(e)?(n=a(e.rowId),r=e.data):(r=e,n=ux(r,i,a,o)),!n)throw new t.p(`Update target row not found for rowKey "${i}"`);return{rowId:n.id,data:r}});await fx(`update`,()=>r.update({rows:n,signal:s}))}if(r.add&&e.add?.length){let t=e.add.map(e=>({data:tu(e,i)})),n=e.add[0],a=n?nu(n,i):void 0,o=n&&eu(n,i)?n.indexMode:void 0,l=await fx(`add`,()=>r.add({rows:t,index:a,indexMode:o,signal:s}));c=dx(c,i,l)}return c}function mx(e,t,n){return{rowIds:e.rowIds,leaderRowId:e.leaderRowId,toIndex:e.toIndex,indexMode:e.indexMode,moves:e.moves,rows:t,source:e.source,signal:n,displayIndex:e.displayIndex,hierarchyChanges:e.hierarchyChanges,parentRowId:e.parentRowId,siblingIndex:e.siblingIndex,treeLevel:e.treeLevel,nestUnderRowId:e.nestUnderRowId}}async function hx(e,t){let{handlers:n,getRowById:r,signal:i=new AbortController().signal}=t;if(!n?.move)return;let a=e.rowIds.map(e=>{let t=r(e);return{rowId:e,data:t?{...t.data}:{}}});await fx(`move`,()=>n.move(mx(e,a,i)))}async function gx(n,r){let i=n.moves.find(e=>e.rowId===n.leaderRowId)?.toIndex??n.displayIndex;try{return await hx({rowIds:n.rowIds,leaderRowId:n.leaderRowId,toIndex:i,indexMode:`source`,moves:n.moves,source:`uiRowDrag`,displayIndex:n.displayIndex,hierarchyChanges:n.hierarchyChanges,parentRowId:n.parentRowId,siblingIndex:n.siblingIndex,treeLevel:n.treeLevel,nestUnderRowId:n.nestUnderRowId},{...r,signal:n.signal}),{ok:!0}}catch(r){if(e.c(r)||n.signal.aborted)return{ok:!1,reason:`aborted`,aborted:!0};if(r instanceof t.p)return{ok:!1,reason:r.message};throw r}}function _x(e,t=6){let n=e;for(;n;){let e=getComputedStyle(n).getPropertyValue(`--mg-cell-comment-indicator-size`).trim();if(e){let t=parseFloat(e);if(Number.isFinite(t))return t}n=n.parentElement}return t}function vx(e,t,n=0){let r=t,i=t,a=e.right-n,o=e.top+n,s=a-r;return{x:s,y:o,left:s,top:o,right:a,bottom:o+i,width:r,height:i,toJSON:()=>({})}}function yx(e,t,n){if(!e.classList.contains(`mg-cell--has-comment`)&&!e.classList.contains(`mg-cell--comment-empty`))return!1;let r=vx(e.getBoundingClientRect(),_x(e));return t>=r.left&&t<=r.right&&n>=r.top&&n<=r.bottom}var bx=`mg-cell-comment-popup__textarea`,xx=`mg-cell-comment-popup__actions`,Sx=`mg-cell-comment-popup__btn--save`,Cx=`mg-cell-comment-popup__btn--delete`,wx=`mg-cell-comment-popup__btn--cancel`;function Tx(e,t=8){let n=e;for(;n;){let e=getComputedStyle(n).getPropertyValue(`--mg-spacing`).trim();if(e){let t=parseFloat(e);if(Number.isFinite(t))return t}n=n.parentElement}return t}function Ex(e){return{viewportPadding:Tx(e)}}function Dx(e,t,n,r=Ex(null),i=6){let{viewportPadding:a}=r,o=e.right,s=e.top;return o+t>window.innerWidth-a&&(o=e.left-t),o=Math.max(a,Math.min(o,window.innerWidth-t-a)),s=Math.max(a,Math.min(s,window.innerHeight-n-a)),{left:o,top:s}}function Ox(e,t){if(!t)return 4;let n=e?e.split(`
4
- `).length:1;return Math.max(1,Math.min(n,12))}var kx=class{getMountEl;rootEl=null;textareaEl=null;anchorEl=null;options=null;committing=!1;textareaReadOnly=!1;saveButton=null;deleteButton=null;cancelButton=null;constructor(e=()=>document.body){this.getMountEl=e}onWindowKeyDown=e=>{if(e.key===`Escape`){if(this.committing){e.preventDefault(),e.stopPropagation();return}e.preventDefault(),e.stopPropagation(),this.close()}};get isOpen(){return this.rootEl!=null}isCommitting(){return this.committing}getAnchorEl(){return this.anchorEl}getRootEl(){return this.rootEl}open(e){this.close(),this.options=e,this.anchorEl=e.anchorEl,this.anchorEl.dataset.commentOpen=`true`;let t=e.readOnly===!0||e.mode===`view`,n=e.mode??(e.comment?.text?`edit`:`create`);this.rootEl=document.createElement(`div`),this.rootEl.className=ko,this.rootEl.classList.toggle(Ao,t),this.rootEl.dataset.mode=n,this.textareaEl=document.createElement(`textarea`),this.textareaEl.className=bx,this.textareaEl.value=e.comment?.text??``,this.textareaReadOnly=t,this.textareaEl.readOnly=t,this.textareaEl.rows=Ox(e.comment?.text,t),this.textareaEl.setAttribute(`aria-label`,t?`单元格批注`:`编辑单元格批注`),this.rootEl.append(this.textareaEl),t?this.rootEl.append(this.createActions(`view`,!!e.comment?.text)):this.rootEl.append(this.createActions(n,!!e.comment?.text)),this.getMountEl().append(this.rootEl),this.reposition(),window.addEventListener(`keydown`,this.onWindowKeyDown,!0),t||(this.textareaEl.focus(),this.textareaEl.setSelectionRange(this.textareaEl.value.length,this.textareaEl.value.length))}updatePosition(){this.reposition()}close(e=!1){if(this.committing&&!e)return;window.removeEventListener(`keydown`,this.onWindowKeyDown,!0),this.anchorEl&&=(delete this.anchorEl.dataset.commentOpen,null),this.rootEl?.remove(),this.rootEl=null,this.textareaEl=null,this.saveButton=null,this.deleteButton=null,this.cancelButton=null,this.committing=!1,this.textareaReadOnly=!1;let t=this.options?.onClose;this.options=null,t?.()}reposition(){if(!this.rootEl||!this.anchorEl)return;let e=Math.max(this.rootEl.offsetWidth,280),t=this.rootEl.offsetHeight,n=Ex(this.anchorEl),r=_x(this.anchorEl),i=Dx(this.anchorEl.getBoundingClientRect(),e,t,n,r);this.rootEl.style.position=`fixed`,this.rootEl.style.left=`${i.left}px`,this.rootEl.style.top=`${i.top}px`,this.rootEl.style.minWidth=`280px`,this.rootEl.style.removeProperty(`min-height`)}createActions(e,t){let n=document.createElement(`div`);if(n.className=xx,e!==`view`){let e=document.createElement(`button`);e.type=`button`,e.className=Sx,e.textContent=`保存`,e.addEventListener(`click`,()=>{this.handleSave()}),n.append(e),this.saveButton=e}if(t&&e===`edit`){let e=document.createElement(`button`);e.type=`button`,e.className=Cx,e.textContent=`删除`,e.addEventListener(`click`,()=>{this.handleDelete()}),n.append(e),this.deleteButton=e}let r=document.createElement(`button`);return r.type=`button`,r.className=wx,r.textContent=e===`view`?`关闭`:`取消`,r.addEventListener(`click`,()=>{this.close()}),n.append(r),this.cancelButton=r,n}async handleSave(){let e=this.textareaEl?.value.trim()??``;if(!e){this.close();return}await this.runAction(`save`,()=>this.options?.onSave?.(e))}async handleDelete(){await this.runAction(`delete`,()=>this.options?.onDelete?.())}async runAction(e,t){if(this.committing||!this.isOpen)return;this.committing=!0,this.setCommittingVisual(!0,e);let n=!1;try{if(await t()===!1)return;n=!0,this.committing=!1,this.close()}catch{}finally{!n&&this.isOpen&&(this.committing=!1,this.setCommittingVisual(!1))}}setCommittingVisual(e,t){if(this.rootEl?.classList.toggle(jo,e),this.textareaEl&&(this.textareaEl.readOnly=e||this.textareaReadOnly),this.saveButton?.toggleAttribute(`disabled`,e),this.deleteButton?.toggleAttribute(`disabled`,e),this.cancelButton?.toggleAttribute(`disabled`,e),e&&t===`save`){this.saveButton.textContent=`保存中...`;return}if(e&&t===`delete`){this.deleteButton.textContent=`删除中...`;return}this.saveButton&&(this.saveButton.textContent=`保存`),this.deleteButton&&(this.deleteButton.textContent=`删除`)}},Ax=class{deps;datasourceInitialized=!1;presenceCache=new Map;popup;constructor(e){this.deps=e,this.popup=new kx(()=>e.getMountEl())}getPopup(){return this.popup}get active(){return Fo(this.deps.getOptions().cellCommentsDataSource)&&!!this.deps.getRowKey()}init(e){let t=this.deps.getOptions().cellCommentsDataSource;Wo(Fo(t),this.deps.getRowKey()),Fo(t)&&(this.datasourceInitialized||=(t?.init?.({api:e}),!0))}destroy(){this.popup.close(!0);let e=this.deps.getOptions().cellCommentsDataSource;this.datasourceInitialized&&=(e?.destroy?.(),!1),this.presenceCache.clear()}resetDatasourceLifecycle(){let e=this.deps.getOptions().cellCommentsDataSource;this.datasourceInitialized&&=(e?.destroy?.(),!1),this.presenceCache.clear()}getComment(e,t){let n=this.resolveCellParams(e,t);if(!n)return;let r=this.deps.getOptions().cellCommentsDataSource?.getComment(n);return jx(r)}hasComment(e,t){let n=Uo(e,t),r=this.presenceCache.get(n);if(r!=null)return r;let i=Vo(this.getComment(e,t));return this.presenceCache.set(n,i),i}getCachedHasComment(e,t){return this.presenceCache.get(Uo(e,t))}resolveInteraction(e,t){let n=this.resolveCellParams(e,t);if(!n)return{canView:!1,canCreate:!1,canEdit:!1,canDelete:!1};let r=this.getComment(e,t);return Bo(zo({gridSuppress:this.deps.getOptions().suppressCellComments,columnSuppress:n.column.suppressCellComments,colId:t,rowId:n.rowId,rowKind:P(n.rowNode.rowKind),data:n.data,hasExistingComment:Vo(r)}),r)}async setComment(e,n,r,i,a){if(!this.active)return!1;let o=this.resolveCellParams(e,n);if(!o)return!1;let s=t.m(e),c=r??void 0,l=c==null;if(i===`ui`&&!a?.bypassSuppress){let e=this.resolveInteraction(s,n);if(l&&!e.canDelete)return!1;if(!l){if(this.getComment(s,n)){if(!e.canEdit)return!1}else if(!e.canCreate)return!1}}i===`api`&&this.deps.getOptions().suppressCellComments&&a?.bypassSuppress;let u=this.deps.getOptions().cellCommentsDataSource;if(!u)return!1;await u.setComment({...o,comment:c}),this.invalidateCache(s,n);let d=Ho(s,n,c??null,i);return this.deps.onCommentChanged?.(d),this.deps.onCommentsRefresh?.({rowIds:[s],colIds:[n]}),!0}refreshPresenceCache(e){for(let t of e){let e=Uo(t.rowId,t.colId);this.presenceCache.set(e,Vo(this.getComment(t.rowId,t.colId)))}}invalidateCache(e,n){if(e==null&&n==null){this.presenceCache.clear();return}if(e!=null&&n!=null){this.presenceCache.delete(Uo(e,n));return}let r=e==null?n==null?null:`::${n}`:`${t.m(e)}::`;if(r)for(let t of[...this.presenceCache.keys()])(e!=null&&t.startsWith(r)||n!=null&&t.endsWith(r))&&this.presenceCache.delete(t)}requestRefresh(e){if(e?.rowIds?.length||e?.colIds?.length){if(e.rowIds?.length&&e.colIds?.length){for(let n of e.rowIds)if(n!=null)for(let r of e.colIds)this.invalidateCache(t.m(n),r)}else if(e.rowIds?.length)for(let n of e.rowIds)n!=null&&this.invalidateCache(t.m(n));else if(e.colIds?.length)for(let t of e.colIds)this.invalidateCache(void 0,t)}else this.invalidateCache();this.deps.onCommentsRefresh?.(e)}createHost(){return{active:()=>this.active,hasComment:(e,t)=>this.hasComment(e,t),canCreateComment:(e,t)=>this.resolveInteraction(e,t).canCreate}}openEditor(e){if(!this.active)return!1;let t=this.resolveCellParams(e.rowId,e.colId);if(!t)return!1;let{rowId:n,colId:r}=t,i=this.getComment(n,r),a=Vo(i),o=this.resolveInteraction(n,r),s=Mx(e.preferredMode,a,o,i?.readOnly===!0);if(!s)return!1;let c=s===`view`||i?.readOnly===!0;return this.popup.open({anchorEl:e.anchorEl,comment:i,readOnly:c,mode:s,onSave:async e=>{let t=this.getComment(n,r);return this.setComment(n,r,{...t,text:e},`ui`)},onDelete:async()=>this.setComment(n,r,null,`ui`),onClose:e.onPopupClose}),!0}closeEditor(){this.popup.close()}getOpenEditorCell(){let e=this.popup.getAnchorEl();if(!e)return null;let t=e.closest(`.mg-row`)?.dataset.rowId,n=e.dataset.colId;return!t||!n?null:{rowId:t,colId:n}}resolveCellParams(e,n){if(!this.active)return;let r=t.m(e),i=this.deps.getRowNode(r),a=this.deps.getColumn(n);if(!(!i||!a))return{rowId:r,colId:n,data:i.data,rowNode:i,column:a}}};function jx(e){if(e!=null)return e}function Mx(e,t,n,r){if(e===`create`){if(n.canCreate)return`create`;if(t){if(n.canEdit&&!r)return`edit`;if(n.canView)return`view`}return null}return e===`edit`?n.canEdit?`edit`:n.canView?`view`:null:e===`view`?n.canView?`view`:null:t?n.canEdit&&!r?`edit`:n.canView?`view`:null:n.canCreate?`create`:null}function Nx(e,t){let n=e.suppressPaste;return n==null||n===!1?!1:n===!0||n(t)}function Px(e){let t=e.formattedValue??String(e.value??``),n=np(e),r={rowId:e.rowId,rowIndex:e.rowIndex,colId:e.colId,value:e.value,data:e.data,formattedValue:t,size:e.gridSize,context:n},i=e.column?Ft(e.column,r):void 0;return{...r,cellEditorParams:i,stopEditing:async()=>null,cancelCommit:()=>{},getEditPhase:()=>`idle`,validate:async()=>({valid:!0})}}function Fx(e,n,r){let i=e.deps.rowModel.getRowKey(),a=np(e.deps),o={rowId:t.T(n,i),rowIndex:n.rowIndex,colId:r.colId,value:W(n,r),data:n.data,formattedValue:tp(n,r),size:e.deps.gridSize,context:a},s=Ft(r,o),c={...o,cellEditorParams:s,stopEditing:(t=!0)=>e.stopEditing(!t),cancelCommit:()=>e.cancelCommit(),getEditPhase:()=>e.getEditSessionPhase()},l=ku(e.deps.cellEditorCacheService,{enableCellEditorCache:e.deps.enableCellEditorCache,rowNode:n,column:r,rowKey:i});return{...c,...l,validate:async t=>{let n=e.deps.rowEditingService.isEditing()?e.deps.rowEditingService.getEditorValue(r.colId):e.deps.editingService.getEditorValue();if(n==null)return{valid:!0};let i={...c,...l,validate:async()=>({valid:!0})},a;try{if(a=hn(n,r,i),sn(a))return{valid:!1,errors:[`Invalid value`]}}catch(e){return{valid:!1,errors:[e instanceof Error?e.message:`Invalid value`]}}return $f(r,i,a,t?.signal)}}}function Ix(e){return e==null?``:Array.isArray(e)?e.join(`, `):String(e)}function Lx(e,t,n){let r=n?.getRowGroupingHost?.();if(r?.active()&&Oe(t,e)){let n=fh(e,r,t);return!n.visible||n.label.length===0?``:n.showCount&&n.count>0?`${n.label}${ph(n.count)}`:n.label}let i=n?.getTreeTableHost?.();if(i?.active()&&yh(t,e)){let t=xh(e,i);return t.visible?t.label:``}return null}function Rx(e,t,n,r){return Lx(e,t,r)??(t.useFormatterForClipboard===!1?Ix(W(e,t)):tp(e,t,n))}function zx(e,t,n,r,i,a){return{rowIndex:e,colId:n.colId,rowNode:t,column:n,value:r,formatValue:e=>Vx(t,n,e),parseValue:e=>Hx(e,n,i)}}function Bx(e,t,n,r,i,a,o){return{...zx(e,t,n,r,a,o),oldValue:i}}function Vx(e,t,n){return t.formatter?t.formatter(e.data,n):Ix(n)}function Hx(e,t,n){return Gx(e,t,n)}function Ux(e,t,n,r,i,a,o){let s=Rx(t,n,r,o);return a?Ix(a(zx(e,t,n,s,i,r))):s}function Wx(e,t,n,r,i,a,o){if(!o)return Gx(e,t,i);let s=o(Bx(n,r,t,e,i.value,i,a));return sn(s)||t.useParserForClipboard===!1?s:hn(Ix(s),t,i)}function Gx(e,t,n){return t.useParserForClipboard===!1?e:hn(e,t,n)}async function Kx(e,t,n,r,i){let a=Wx(n,e,i.rowIndex,i.rowNode,t,i.indexColumnOptions,i.processCellFromClipboard);return sn(a)||await Zf(e,t,a,i.signal??new AbortController().signal)?{status:`blocked`,showBlockedVisual:!0}:Object.is(r,a)?{status:`blocked`,showBlockedVisual:!1}:gn(e,t,a)?{status:`applied`,parsed:a}:{status:`blocked`,showBlockedVisual:!0}}async function qx(e){if(typeof navigator<`u`&&navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}let t=globalThis.document;if(!t?.body)return!1;try{let n=t.createElement(`textarea`);n.value=e,n.setAttribute(`readonly`,``),n.style.position=`fixed`,n.style.left=`-9999px`,n.style.top=`0`,t.body.appendChild(n),n.focus(),n.select();let r=t.execCommand(`copy`);return t.body.removeChild(n),r}catch{return!1}}async function Jx(){if(typeof navigator<`u`&&navigator.clipboard?.readText)return navigator.clipboard.readText();throw Error(`Clipboard read unavailable`)}function Yx(e){return/[\t\n\r"]/.test(e)?`"${e.replace(/"/g,`""`)}"`:e}function Xx(e){return e.map(Yx).join(` `)}function Zx(e){return e.map(e=>e.join(`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./validation-CD6lt5wS.cjs"),t=require("./getRowDragCommitHierarchy-DoMf_SY8.cjs");let n=require("vue");var r={class:`mg-status-bar__panels`},i=(0,n.defineComponent)({__name:`StatusBarDefaultPanels`,props:{context:{}},setup(e){let t=e,i=(0,n.computed)(()=>{let{context:e}=t,n=[];return n.push(`共 ${e.totalRowCount} 行`),e.isFiltered&&n.push(`显示 ${e.displayedRowCount} 行`),e.rowSelectionEnabled&&e.selectedRowCount>0&&n.push(`已选 ${e.selectedRowCount} 行`),n});return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,r,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(i.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:t,class:`mg-status-bar__panel`},(0,n.toDisplayString)(e),1))),128))]))}}),a=2;function o(e){if(typeof e==`number`){let t=s(e);return{average:t,sum:t}}return{average:s(e?.average??2),sum:s(e?.sum??2)}}function s(e){return Number.isFinite(e)?Math.max(0,Math.min(10,Math.trunc(e))):2}function c(e,t,n=2){if(t===`count`)return String(Math.trunc(e));let r=s(n),i=10**r,a=Math.round(e*i)/i;return r===0?String(Math.round(a)):a.toFixed(r).replace(/\.?0+$/,``)}function l(e){return e!=null&&e.count>0}var u={key:0,class:`mg-status-bar__panels mg-status-bar__panels--aggregation`},d=(0,n.defineComponent)({__name:`StatusBarRangeAggregationPanels`,props:{context:{}},setup(e){let t=e,r=(0,n.computed)(()=>l(t.context.cellSelectionAggregation)),i=(0,n.computed)(()=>{let e=t.context.cellSelectionAggregation;if(!l(e))return[];let n=t.context.statusBarRangeAggregationPrecision,r=[];return e.average!=null&&r.push({label:`平均值`,value:c(e.average,`average`,n.average)}),r.push({label:`计数`,value:c(e.count,`count`)}),e.sum!=null&&r.push({label:`求和`,value:c(e.sum,`sum`,n.sum)}),r});return(e,t)=>r.value&&i.value.length?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,u,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(i.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:t,class:`mg-status-bar__panel`},(0,n.toDisplayString)(e.label)+`: `+(0,n.toDisplayString)(e.value),1))),128))])):(0,n.createCommentVNode)(``,!0)}}),f={key:0,class:`mg-status-bar__region mg-status-bar__region--left`},p={key:1,class:`mg-status-bar__separator`,role:`separator`,"aria-orientation":`vertical`},m={key:3,class:`mg-status-bar__separator`,role:`separator`,"aria-orientation":`vertical`},h={key:4,class:`mg-status-bar__separator`,role:`separator`,"aria-orientation":`vertical`},g={key:6,class:`mg-status-bar__separator`,role:`separator`,"aria-orientation":`vertical`},_={key:7,class:`mg-status-bar__region mg-status-bar__region--right`},v=(0,n.defineComponent)({__name:`MagicGridStatusBar`,props:{context:{},barStyle:{},showDefaultPanels:{type:Boolean},showStatusBarRangeAggregation:{type:Boolean},statusBarRangeAggregationPosition:{},hasCustomStatusBarSlot:{type:Boolean},hasLeftSlot:{type:Boolean},hasRightSlot:{type:Boolean}},setup(e,{expose:t}){let r=e,a=(0,n.ref)();t({get statusBarEl(){return a.value}});let o=(0,n.computed)(()=>r.showDefaultPanels||r.hasLeftSlot),s=(0,n.computed)(()=>r.hasRightSlot),c=(0,n.computed)(()=>r.showStatusBarRangeAggregation?l(r.context.cellSelectionAggregation):!1),u=(0,n.computed)(()=>r.statusBarRangeAggregationPosition===`left`&&c.value),v=(0,n.computed)(()=>r.statusBarRangeAggregationPosition===`right`&&c.value),y=(0,n.computed)(()=>o.value),b=(0,n.computed)(()=>u.value),x=(0,n.computed)(()=>v.value||s.value),S=(0,n.computed)(()=>v.value&&s.value);return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`statusBarEl`,ref:a,class:`mg-status-bar`,style:(0,n.normalizeStyle)(e.barStyle),role:`status`,"aria-live":`polite`},[e.hasCustomStatusBarSlot?(0,n.renderSlot)(t.$slots,`status-bar`,(0,n.normalizeProps)((0,n.guardReactiveProps)(e.context)),void 0,void 0,0):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[o.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,f,[e.showDefaultPanels?((0,n.openBlock)(),(0,n.createBlock)(i,{key:0,context:e.context},null,8,[`context`])):(0,n.createCommentVNode)(``,!0),(0,n.renderSlot)(t.$slots,`status-bar-left`,(0,n.normalizeProps)((0,n.guardReactiveProps)(e.context)))])):(0,n.createCommentVNode)(``,!0),y.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,p)):(0,n.createCommentVNode)(``,!0),u.value?((0,n.openBlock)(),(0,n.createBlock)(d,{key:2,context:e.context},null,8,[`context`])):(0,n.createCommentVNode)(``,!0),b.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,m)):(0,n.createCommentVNode)(``,!0),r[0]||=(0,n.createElementVNode)(`div`,{class:`mg-status-bar__stretch`,"aria-hidden":`true`},null,-1),x.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,h)):(0,n.createCommentVNode)(``,!0),v.value?((0,n.openBlock)(),(0,n.createBlock)(d,{key:5,context:e.context},null,8,[`context`])):(0,n.createCommentVNode)(``,!0),S.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,g)):(0,n.createCommentVNode)(``,!0),s.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,_,[(0,n.renderSlot)(t.$slots,`status-bar-right`,(0,n.normalizeProps)((0,n.guardReactiveProps)(e.context)))])):(0,n.createCommentVNode)(``,!0)],64))],4))}}),y={columns:{type:Array,required:!0},data:{type:Array,default:()=>[]},rowModelType:{type:String,default:`clientSide`},infiniteDatasource:{type:Object,default:void 0},blockSize:{type:Number,default:void 0},maxBlocksInCache:{type:Number,default:void 0},infiniteInitialRowCount:{type:Number,default:void 0},infiniteMaxRetries:{type:Number,default:void 0},infiniteLoadingRowVisible:{type:Boolean,default:void 0},cellEditorRegistry:{type:Object,default:void 0},rowKey:{type:String,default:`id`},stripe:{type:Boolean,default:!1},cellColor:{type:Object,default:void 0},border:{type:String,default:`border`},theme:{type:String,default:`light`},size:{type:String,default:`default`},rounded:{type:[Boolean,Number],default:!1},rowHeight:{type:Number,default:void 0},headerHeight:{type:Number,default:void 0},showIndexColumn:{type:Boolean,default:!1},indexColumn:{type:Object,default:void 0},selectionColumn:{type:Object,default:void 0},showSummary:{type:Boolean,default:!1},navigateHeader:{type:Boolean,default:!1},navigateFooter:{type:Boolean,default:!1},summaryScope:{type:String,default:`displayed`},summaryRowHeight:{type:Number,default:void 0},summaryMethod:{type:Function,default:void 0},headerAlign:{type:String,default:void 0},headerValign:{type:String,default:void 0},align:{type:String,default:void 0},valign:{type:String,default:void 0},footerAlign:{type:String,default:void 0},footerValign:{type:String,default:void 0},rowBuffer:{type:Number,default:10},scrollEndFlushMs:{type:Number,default:0},frameBudgetMs:{type:Number,default:void 0},scrollEndFrameBudgetMs:{type:Number,default:void 0},cellRendererDefer:{type:String,default:`always`},deferRowDestroyOnScroll:{type:Boolean,default:!1},rendererFrameBudgetMs:{type:Number,default:void 0},cellRendererPresentation:{type:String,default:`deferred`},rowSelection:{type:[String,Boolean,Object],default:`single`},selectable:{type:Function,default:void 0},isRowDisabled:{type:[Boolean,Function],default:void 0},rowStyle:{type:[Object,Function],default:void 0},editableCellStyle:{type:Object,default:void 0},showEditableCellIcon:{type:Boolean,default:!1},disabledCellStyle:{type:Object,default:void 0},showDisabledCellIcon:{type:Boolean,default:!1},reserveSelection:{type:Boolean,default:!1},preserveScrollOnSetData:{type:Boolean,default:!0},defaultSelectedRows:{type:[Array,Function],default:void 0},editBehavior:{type:String,default:`cell`},editType:{type:String,default:`singleClick`},editorOptions:{type:Object,default:void 0},invalidEditValueMode:{type:String,default:`block`},rowValidator:{type:Function,default:void 0},asyncRowMutation:{type:Object,default:void 0},height:{type:[String,Number],default:`100%`},width:{type:[String,Number],default:`100%`},defaultSort:{type:Array,default:void 0},sortable:{type:Boolean,default:!1},enableHeaderSortClick:{type:Boolean,default:!0},columnMovable:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},colResizeDefault:{type:String,default:void 0},skipHeaderOnAutoSize:{type:Boolean,default:!1},autoSizePadding:{type:Number,default:void 0},autoSizeStrategy:{type:Object,default:void 0},suppressMoveWhenColumnDragging:{type:Boolean,default:!1},suppressColumnMoveAnimation:{type:Boolean,default:!1},allowCrossLaneColumnMove:{type:Boolean,default:!1},showUnsortedSortHintOnHover:{type:Boolean,default:!1},quickFilterText:{type:String,default:``},filterable:{type:Boolean,default:!1},floatingFilter:{type:Boolean,default:!1},filterSetValueMode:{type:String,default:`current`},filterSetDateLayoutMode:{type:String,default:`tree`},showStatusBar:{type:Boolean,default:!0},showDefaultStatusBarPanels:{type:Boolean,default:!0},statusBarHeight:{type:[String,Number],default:`auto`},showStatusBarRangeAggregation:{type:Boolean,default:!0},statusBarRangeAggregationPosition:{type:String,default:`right`},statusBarRangeAggregationPrecision:{type:[Number,Object],default:void 0},rowDragManaged:{type:Boolean,default:!0},getRowHeight:{type:Function,default:void 0},rowHeightMin:{type:Number,default:void 0},rowHeightMax:{type:Number,default:void 0},enableCellSpan:{type:Boolean,default:!1},enableCellEditorCache:{type:Boolean,default:!1},cellEditorCacheMaxEntries:{type:Number,default:void 0},masterDetail:{type:Boolean,default:!1},isRowMaster:{type:Function,default:void 0},masterDefaultExpanded:{type:Number,default:void 0},detailRowHeight:{type:[Number,Function],default:void 0},detailRowAutoHeight:{type:Boolean,default:void 0},embedFullWidthRows:{type:Boolean,default:void 0},showExpandColumn:{type:Boolean,default:void 0},getDetailRowData:{type:Function,default:void 0},detailCellRenderer:{type:Function,default:void 0},loadMoreRow:{type:Object,default:void 0},loadMoreRowRenderer:{type:Function,default:void 0},rowGrouping:{type:Boolean,default:!1},groupDefaultExpanded:{type:Number,default:void 0},showGroupHeader:{type:Boolean,default:!1},showGroupFooter:{type:Boolean,default:!1},groupDisplayType:{type:String,default:void 0},showGroupColumn:{type:Boolean,default:!1},autoGroupColumnDef:{type:Object,default:void 0},groupKeyCreator:{type:Function,default:void 0},groupComparator:{type:Function,default:void 0},groupSortKey:{type:String,default:void 0},groupFooterLabel:{type:String,default:void 0},groupCellRenderer:{type:Function,default:void 0},tree:{type:Boolean,default:!1},getDataPath:{type:Function,default:void 0},showTreeColumn:{type:Boolean,default:void 0},autoTreeColumnDef:{type:Object,default:void 0},treeValueGetter:{type:Function,default:void 0},treeDisplayType:{type:String,default:void 0},treeDragScope:{type:String,default:void 0},treeHierarchyActions:{type:Boolean,default:void 0},setDataPath:{type:Function,default:void 0},treeLazyLoad:{type:Boolean,default:!1},hasTreeChildren:{type:Function,default:void 0},loadTreeChildren:{type:Function,default:void 0},cellCommentsDataSource:{type:Object,default:void 0},suppressCellComments:{type:Boolean,default:!1},cellCommentTrigger:{type:String,default:`click`},cellCommentShowDelay:{type:Number,default:void 0},cellCommentHideDelay:{type:Number,default:void 0},cellSelection:{type:[Boolean,Object],default:!0},enableCellCopy:{type:Boolean,default:void 0},enableCellPaste:{type:Boolean,default:void 0},enableHeaderHighlight:{type:Boolean,default:!0},enableIndexColumnHighlight:{type:Boolean,default:!0},processCellForClipboard:{type:Function,default:void 0},processCellFromClipboard:{type:Function,default:void 0},processDataFromClipboard:{type:Function,default:void 0},enableTooltips:{type:Boolean,default:void 0},tooltipShowMode:{type:String,default:void 0},tooltipShowDelay:{type:Number,default:void 0},tooltipSwitchShowDelay:{type:Number,default:void 0},tooltipHideDelay:{type:Number,default:void 0},tooltipInteraction:{type:Boolean,default:void 0},tooltipMouseTrack:{type:Boolean,default:void 0},tooltipComponent:{type:Function,default:void 0},tooltipComponentParams:{type:Object,default:void 0},loading:{type:Boolean,default:void 0},suppressOverlays:{type:Array,default:void 0},suppressLoadingOverlay:{type:Boolean,default:void 0},suppressNoRowsOverlay:{type:Boolean,default:void 0},suppressNoMatchingRowsOverlay:{type:Boolean,default:void 0},overlayLoadingTemplate:{type:String,default:void 0},overlayNoRowsTemplate:{type:String,default:void 0},overlayNoMatchingRowsTemplate:{type:String,default:void 0},overlayInteraction:{type:Boolean,default:void 0},loadingOverlayComponent:{type:Function,default:void 0},loadingOverlayComponentParams:{type:Object,default:void 0},noRowsOverlayComponent:{type:Function,default:void 0},noRowsOverlayComponentParams:{type:Object,default:void 0},noMatchingRowsOverlayComponent:{type:Function,default:void 0},noMatchingRowsOverlayComponentParams:{type:Object,default:void 0},overlayComponent:{type:Function,default:void 0},overlayComponentParams:{type:Object,default:void 0}},b=`__expand__`,x=`__detail`,S=`mg-cell__row-expand`,C=`mg-cell__row-expand--expanded`,w=`mg-full-width-rows-container`,T=`mg-full-width-row`,E=`mg-full-width-row__content`,D=`mg-full-width-row--last`;function O(e){return!0}function k(e={}){return{masterDetail:e.masterDetail??!1,isRowMaster:e.isRowMaster??O,masterDefaultExpanded:e.masterDefaultExpanded??0,detailRowHeight:e.detailRowHeight??200,detailRowAutoHeight:e.detailRowAutoHeight??!1,embedFullWidthRows:e.embedFullWidthRows??!1,showExpandColumn:e.showExpandColumn??!1,getDetailRowData:e.getDetailRowData,detailCellRenderer:e.detailCellRenderer}}function A(e){return e===b}function j(e){return A(e.colId)||e.rowExpand}function M(e,n){return t.it(n)||t.X(n)||A(n)?!1:e??!1}function N(e,t){return M(e.rowExpand,t)}function P(e){return e??`BUSINESS`}function F(e){return`${e}${x}`}function I(e){return e.endsWith(x)}function ee(e){return I(e)?e.slice(0,-8):null}function L(e){return P(e.rowKind)===`DETAIL`||I(e.id)}function te(e){return P(e.rowKind)===`BUSINESS`&&!I(e.id)}function ne(e,t){let n=typeof e==`function`?e(t):e;return!Number.isFinite(n)||n<1?200:Math.floor(n)}function re(e,t){return{rowId:e,expanded:!0,source:t}}function ie(e,t){return{rowId:e,expanded:!1,source:t}}function ae(e){return e.available!==!1}function oe(e){return e.filter(ae)}var se=`__group__`,ce=`group::`,le=`__header`,ue=`__footer`,de=`(Blanks)`,fe=`mg-cell__group-expand`,pe=`mg-cell__group-expand--expanded`,me=`mg-cell__group-indent-`,he=`mg-row--group-header`,ge=`mg-row--group-footer`,_e=`mg-cell--group-auto`;function ve(e={}){return{rowGrouping:e.rowGrouping??!1,groupDefaultExpanded:e.groupDefaultExpanded??-1,showGroupHeader:e.showGroupHeader??!1,showGroupFooter:e.showGroupFooter??!1,groupDisplayType:e.groupDisplayType??`singleColumn`,showGroupColumn:e.showGroupColumn??!1,autoGroupColumnDef:e.autoGroupColumnDef,groupKeyCreator:e.groupKeyCreator,groupComparator:e.groupComparator,groupSortKey:e.groupSortKey,groupFooterLabel:e.groupFooterLabel??`小计`,groupCellRenderer:e.groupCellRenderer}}function R(e){return e===se}function ye(e){return R(e.colId)}function be(e,n){return t.it(n)||t.X(n)||A(n)||R(n)?!1:e??!1}function xe(e,t){return be(e.rowGroup,t)}function Se(e,t){if(xe(e,t))return e.rowGroupIndex}function Ce(e,n){if(!(t.it(n)||t.X(n)||A(n)||R(n)))return e.groupAgg}function we(e,n){return t.it(n)||t.X(n)||A(n)||R(n)?!1:e.showGroupHeaderCell??!1}function Te(e,n){return t.it(n)||t.X(n)||A(n)||R(n)?!1:e.showGroupFooterCell??!1}function Ee(e,n){if(!(t.it(n)||t.X(n)||A(n)||R(n)))return e.groupFooterLabel}function De(e){return ye(e)||e.showGroupHeaderCell}function Oe(e){return ye(e)||e.showGroupFooterCell}function ke(e,t){return Ue(t)?Ve(t)?De(e):He(t)?Oe(e):!1:!1}function Ae(e){let n=oe(e).map((e,n)=>{let r=t.at(e,n);return{colId:r,rowGroup:xe(e,r),rowGroupIndex:e.rowGroupIndex,index:n}}).filter(e=>e.rowGroup);return n.sort((e,t)=>{let n=e.rowGroupIndex??e.index,r=t.rowGroupIndex??t.index;return n===r?e.index-t.index:n-r}),n.map(e=>e.colId)}function je(e,t){return e&&t}function Me(e,t){return e&&t.length>0}function Ne(e){if(e==null||e===``)return de;if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return String(e);if(e instanceof Date)return Number.isNaN(e.getTime())?de:e.toISOString();try{return JSON.stringify(e)}catch{return de}}function Pe(e,t,n,r){let i=`${ce}L${e}::${encodeURIComponent(t)}::${encodeURIComponent(n)}`;return r?`${r}::${i}`:i}function Fe(e){return e.join(`/`)}function Ie(e){return`${e}${le}`}function Le(e){return`${e}${ue}`}function Re(e){return e.endsWith(le)}function ze(e){return e.endsWith(ue)}function Be(e){return Re(e)||ze(e)?e.slice(0,-8):null}function Ve(e){return e.rowKind===`GROUP_HEADER`||Re(e.id)}function He(e){return e.rowKind===`GROUP_FOOTER`||ze(e.id)}function Ue(e){return e.group===!0||Ve(e)||He(e)}function z(e){return Ue(e)?!1:e.rowKind===void 0||e.rowKind===`BUSINESS`}function We(e){return{groupId:e.groupId,expanded:e.expanded,field:e.field,key:e.key,level:e.level,source:e.source}}function Ge(e,t){return{columns:[...e],source:t}}var Ke=`__tree__`,qe=`mg-cell__tree-expand`,Je=`mg-cell__tree-expand--expanded`,Ye=`mg-cell__tree-expand--loading`,Xe=`mg-cell__tree-indent-`,Ze=`mg-cell__tree-hierarchy-trigger`,Qe=`mg-cell__tree-hierarchy-actions`,$e=`mg-cell--tree-auto`;function et(e){return e||(({data:e,dataPath:t})=>{Array.isArray(e.pathSegments)&&(e.pathSegments=[...t])})}function tt(e={}){let t=e.treeLazyLoad??!1,n=e.loadTreeChildren;return t&&typeof n!=`function`&&console.warn(`[magic-grid] treeLazyLoad: true requires loadTreeChildren callback.`),{tree:e.tree??!1,getDataPath:e.getDataPath,treeDragScope:e.treeDragScope??`siblings`,setDataPath:et(e.setDataPath),treeHierarchyActions:e.treeHierarchyActions??!0,showTreeColumn:e.showTreeColumn??!0,autoTreeColumnDef:e.autoTreeColumnDef,treeValueGetter:e.treeValueGetter,treeDisplayType:e.treeDisplayType??`singleColumn`,treeLazyLoad:t,hasTreeChildren:e.hasTreeChildren,loadTreeChildren:n}}function nt(e){return e===Ke}function rt(e,t){return e===!0&&typeof t==`function`}function it(e,t,n){return rt(e,n)&&t!==!1}function B(e){return e.dataPath!=null&&e.dataPath.length>0}function at(e){e.forEach((e,n)=>{let r=t.at(e,n);(r===`__tree__`||t.it(r)||t.X(r)||A(r)||R(r))&&console.warn(`[magic-grid] Column colId "${r}" is reserved for system columns and will be ignored.`)})}function ot(e,t,n,r,i){return{rowId:e,expanded:t,level:n,dataPath:r,source:i}}function st(e,t){if(e&&typeof t!=`function`)throw Error(`[magic-grid] tree: true requires getDataPath callback.`)}var ct=`__mg_summary__`;function lt(e={}){return{showSummary:e.showSummary??!1,summaryScope:e.summaryScope??`displayed`,summaryRowHeight:e.summaryRowHeight,summaryMethod:e.summaryMethod}}function ut(e,t){return e??t}var dt=`mg-cell--disabled`,ft=`data-disabled`,pt=`mg-cell--disabled-icon-hint`,mt=`mg-cell__disabled-indicator`;function ht(e={}){return{isRowDisabled:e.isRowDisabled}}function gt(e){return t.it(e)||t.X(e)||A(e)||nt(e)||R(e)}function _t(e,t,n,r){return!((t??`BUSINESS`)!==`BUSINESS`||r===`__mg_summary__`||!n||gt(e))}function vt(e,t){return t==null||t===!1?!1:t===!0||t(e)}function yt(e){let{column:t,rowNode:n,isRowDisabled:r}=e;if(!_t(t.colId,n.rowKind,t.prop,n.id))return!1;if(vt({data:n.data,rowId:n.id,rowIndex:n.rowIndex},r)||t.disabled===!0)return!0;let{cellDisabled:i}=t;return i===!0||typeof i==`function`&&i({data:n.data,rowId:n.id,colId:t.colId})}function bt(e={}){return ht(e)}function xt(e,t,n){return yt({column:e,rowNode:t,isRowDisabled:n?.isRowDisabled})}function St(e,t){return{...e,isRowDisabled:t}}var Ct=`data-custom-bg`,wt=`mg-cell--editable`,Tt=`mg-cell--editable-hint`,Et=`mg-cell__editable-indicator`;function Dt(e){return e.backgroundColor===void 0&&e.color===void 0}function Ot(e,t,n){console.warn(`[magic-grid] setCellStyle: ignored (${n}).`,{rowId:e,colId:t})}function kt(e){return t.it(e)||A(e)||nt(e)||R(e)}function At(e,n,r,i){return(n??`BUSINESS`)!==`BUSINESS`||i===`__mg_summary__`?!1:t.X(e)?!0:!(!r||kt(e))}function jt(e,t){return At(e.colId,t.rowKind,e.prop,t.id)}function Mt(e){return typeof e==`function`}function Nt(e){let{cellStyle:t}=e;return t==null||Mt(t)?null:t}function Pt(e){return e.backgroundColor!==void 0&&e.backgroundColor!==``}function Ft(e,t){let n=e.cellEditorParams;if(n!=null)return typeof n==`function`?n(t):n}function It(e,t){let n=e.cellEditorParams;if(n!=null)return typeof n==`function`?t?Ft(e,t):void 0:n}function Lt(e,t){return It(e,t)}function Rt(e){if(!e)return;let{checkedValue:t,uncheckedValue:n}=e;if(t!==void 0||n!==void 0)return{checkedValue:t,uncheckedValue:n}}function zt(e){if(!e)return;let{onValue:t,offValue:n}=e;if(t!==void 0||n!==void 0)return{onValue:t,offValue:n}}function Bt(e,t){return Rt(Lt(e,t))}function Vt(e,t){return zt(Lt(e,t))}function Ht(e){return{rowId:e.rowId,rowIndex:e.rowIndex,colId:e.colId,value:e.value,data:e.data,formattedValue:e.formattedValue,size:e.size,context:e.context,inline:e.inline,autoFocus:e.autoFocus}}function Ut(e,t){let n=Lt(e,Ht(t)),r=n==null?t.cellEditorParams:{...t.cellEditorParams,...n};return{...t,cellEditorParams:r}}var Wt=Symbol(`TOGGLE_EDITOR_RAW_VALUE_REJECTED`);function Gt(e){return e?{onValue:e.checkedValue,offValue:e.uncheckedValue}:null}function Kt(e){return{onValue:e?.onValue??!0,offValue:e?.offValue??!1}}function qt(e){return e?.onValue!==void 0||e?.offValue!==void 0}function Jt(e,t){return Object.is(e,t)}function Yt(e,t){let{onValue:n,offValue:r}=Kt(t);return Jt(e,n)?!0:Jt(e,r)||qt(t)||e==null||e===``||e===!1||e===`false`||e===0||e===`0`?!1:e===!0||e===`true`||e===1||e===`1`||!!e}function Xt(e){return JSON.stringify(e)}function Zt(e,t){let{onValue:n,offValue:r}=Kt(t);return Xt(e?n:r)}function Qt(e,t){return Zt(e.checked,t)}function $t(e,t){let{onValue:n,offValue:r}=Kt(t),i=Xt(n),a=Xt(r);if(e===i)return n;if(e===a)return r;if(!qt(t)){if(e===`true`)return!0;if(e===`false`)return!1}return Wt}var en=Wt;function tn(e){let t=Kt(Gt(e));return{checkedValue:t.onValue,uncheckedValue:t.offValue}}function nn(e,t){return Yt(e,Gt(t))}function rn(e,t){return Zt(e,Gt(t))}function an(e,t){return Qt(e,Gt(t))}function on(e,t){return $t(e,Gt(t))}function sn(e){return e.cellEditor===`checkbox`?Gt(Bt(e)):e.cellEditor===`switch`?Vt(e)??null:null}var cn=Symbol(`CELL_EDIT_REJECTED`);function ln(e){return e===cn}function un(e){return t.it(e.colId)||t.X(e.colId)||j({colId:e.colId,rowExpand:!1})}function dn(e,t){let{editable:n}=e;return n===void 0||n===!1?!1:n===!0||n(t)}function V(e,t,n){return!z(t)||un(e)||!e.prop||xt(e,t,n)?!1:dn(e,t.data)}function fn(e,t=`singleClick`){return e.editType??t}function pn(e){return{editBehavior:e.editBehavior??`cell`,editType:e.editType??`singleClick`}}function mn(e){return e===`row`}function hn(e){let t=e.trim();if(t===``)return cn;let n=Number(t);return Number.isFinite(n)?n:cn}function gn(e,t){let n=on(e,t);return n===en?cn:n}function _n(e,t){let n=$t(e,t);return n===Wt?cn:n}function vn(e,t,n){try{return t.valueParser?t.valueParser(e,n):t.cellEditor===`number`?hn(e):t.cellEditor===`checkbox`?gn(e,Rt(n.cellEditorParams)??Bt(t)):t.cellEditor===`switch`?_n(e,zt(n.cellEditorParams)??Vt(t)):e}catch{return cn}}function yn(e,t,n){if(e.valueSetter){let r=e.valueSetter({...t,newValue:n,signal:new AbortController().signal});if(r instanceof Promise)throw Error(`Async valueSetter requires applyCellEditValue / commitRowEditCells`);return r}let r=e.prop;return r?(t.data[r]=n,!0):!1}async function bn(t,n,r,i){let a=i??new AbortController().signal;if(e.l(a),t.valueSetter)try{let i=await t.valueSetter({...n,newValue:r,signal:a});return e.l(a),i}catch(t){if(e.c(t))throw t;return!1}let o=t.prop;return o?(n.data[o]=r,!0):!1}function xn(e,t){let n=e.suppressTabNavigation;return typeof n==`function`?n(t):n===!0}var Sn=Symbol.for(`magic-grid.vueCellEditor`);function Cn(e){return Object.defineProperty(e,Sn,{value:!0,configurable:!0}),e}function wn(e){return e?Reflect.get(e,Sn)===!0:!1}var Tn=[`text`,`number`,`checkbox`,`switch`];function En(e){return Tn.includes(e)}function Dn(e){let t={};for(let n of[e.row,e.column,e.cell,e.override,e.editable,e.disabled])n&&(n.backgroundColor!==void 0&&(t.backgroundColor=n.backgroundColor),n.color!==void 0&&(t.color=n.color));return t}function On(e,t){return{data:t.data,rowId:t.id,colId:e.colId,rowIndex:t.rowIndex,column:{colId:e.colId,prop:e.prop}}}function kn(e,t){let n=t?.rowStyle;return n==null?null:typeof n==`function`?n({data:e.data,rowId:e.id,rowIndex:e.rowIndex,rowKind:e.rowKind})??null:n}function An(e,t){let{cellStyle:n}=e;return n==null||!Mt(n)?null:n(On(e,t))??null}function jn(e,t,n){return jt(e,t)?V(e,t,n?.getCellDisableContext?.()):!1}function Mn(e,t,n){return jt(e,t)?xt(e,t,n?.getCellDisableContext?.()):!1}function Nn(e,t){return e==null||Dt(e)||!t?null:e}function Pn(e,t,n){return e??t?n:!1}function Fn(e,n,r,i){return!t.V(e)&&Pn(n,r,i)}function In(e,t,n){return Nn(n?.editableCellStyle,jn(e,t,n))}function Ln(e,t,n){return Fn(e,n?.showEditableCellIcon,!1,jn(e,t,n))}function Rn(e,t,n){return Nn(n?.disabledCellStyle,Mn(e,t,n))}function zn(e,t,n){return Fn(e,n?.showDisabledCellIcon,!1,Mn(e,t,n))}function Bn(e,t,n){if(!jt(e,t))return{};let r=n?.getCellStyleOverride?.(t.id,e.colId);return Dn({row:kn(t,n),column:Nt(e),cell:An(e,t),override:r??null,editable:In(e,t,n),disabled:Rn(e,t,n)})}function Vn(){return{key:b,label:``,width:40,minWidth:40,fixed:`left`,sortable:!1,filterable:!1,editable:!1,resizable:!1,headerAlign:`center`,align:`center`,valign:`center`}}function Hn(e={}){return{key:se,label:`分组`,width:200,minWidth:120,fixed:`left`,sortable:!1,filterable:!1,editable:!1,resizable:!0,headerAlign:`left`,align:`left`,valign:`center`,...e}}function Un(e={}){return{key:Ke,label:`树`,width:200,minWidth:120,fixed:`left`,sortable:!1,filterable:!1,editable:!1,resizable:!0,headerAlign:`left`,align:`left`,valign:`center`,...e}}function Wn(e){return{key:t.tt,label:e.label,width:e.width,minWidth:40,fixed:`left`,sortable:!1,filterable:!1,editable:!1,resizable:!1,headerAlign:e.headerAlign,headerValign:e.headerValign,align:e.align,valign:e.valign,footerAlign:e.footerAlign,footerValign:e.footerValign}}function Gn(e){return{key:t.J,label:``,width:e.width,minWidth:40,fixed:`left`,sortable:!1,filterable:!1,editable:!1,resizable:!1,headerAlign:e.headerAlign,headerValign:e.headerValign,align:e.align,valign:e.valign,footerAlign:e.footerAlign,footerValign:e.footerValign}}function Kn(e,n,r=t.Z(),i={}){let a=[];n.showIndexColumn&&a.push(Wn(n.indexColumn)),r.enabled&&a.push(Gn(r.selectionColumn));let o=i.rowExpansion;o?.masterDetail&&o.showExpandColumn&&a.push(Vn());let s=i.treeTable;if(s&&it(s.tree,s.showTreeColumn,s.getDataPath))a.push(Un(s.autoTreeColumnDef??{}));else{let e=i.rowGrouping;e&&je(e.rowGrouping,e.showGroupColumn)&&a.push(Hn(e.autoGroupColumnDef??{}))}return[...a,...e]}function H(e,t){let n=t.prop??t.colId,r=n?e.data[n]:void 0;return t.valueGetter&&(r=t.valueGetter(e.data,r)),r}var qn=`default`,Jn={mini:{spacing:4,fontSize:12,borderRadius:4,rowHeight:20,headerHeight:20,statusBarHeight:20,checkboxSize:12},small:{spacing:8,fontSize:12,borderRadius:8,rowHeight:24,headerHeight:24,statusBarHeight:24,checkboxSize:12},default:{spacing:8,fontSize:12,borderRadius:8,rowHeight:32,headerHeight:32,statusBarHeight:32,checkboxSize:14},large:{spacing:12,fontSize:14,borderRadius:8,rowHeight:40,headerHeight:40,statusBarHeight:40,checkboxSize:14}};function Yn(e){let{rounded:t=!1,sizeBorderRadius:n}=e;return t===!0?n:typeof t==`number`?Math.max(0,t):0}function Xn(e={}){let t=e.size??`default`,n=Jn[t],r=e.rowHeight!=null,i=e.headerHeight!=null;return{size:t,spacing:n.spacing,fontSize:n.fontSize,borderRadius:n.borderRadius,rowHeight:r?e.rowHeight:n.rowHeight,headerHeight:i?e.headerHeight:n.headerHeight,statusBarHeight:n.statusBarHeight,checkboxSize:n.checkboxSize,rowHeightOverridden:r,headerHeightOverridden:i}}function Zn(e,t){return e==null||e===`auto`||!Number.isFinite(e)?t:Math.max(12,Math.trunc(e))}function Qn(e){return Math.max(12,e-6)}function $n(e){return e+16}function er(e){return Math.max(12,e-16)}function tr(e=qn){return $n(Jn[e].statusBarHeight)}function nr(e){return Math.max(12,e-8)}function rr(e){return Jn[e].statusBarHeight}var ir={mini:12,small:14,default:16,large:18};function ar(e){return ir[e]}function or(e=qn){return{"--mg-column-settings-button-size":`${rr(e)}px`,"--mg-column-settings-button-icon-size":`${ar(e)}px`}}function sr(e,t,n){let r=n??e.rowHeight,i=Qn(e.statusBarHeight),a=$n(e.statusBarHeight),o=er(a),s=rr(e.size);return{"--mg-row-height":`${e.rowHeight}px`,"--mg-header-height":`${e.headerHeight}px`,"--mg-summary-row-height":`${r}px`,"--mg-status-bar-height":`${e.statusBarHeight}px`,"--mg-status-bar-control-height":`${i}px`,"--mg-load-more-row-height":`${a}px`,"--mg-load-more-control-height":`${o}px`,"--mg-column-settings-button-size":`${s}px`,"--mg-column-settings-button-icon-size":`${ar(e.size)}px`,"--mg-status-bar-font-size":`${e.fontSize}px`,"--mg-font-size":`${e.fontSize}px`,"--mg-spacing":`${e.spacing}px`,"--mg-cell-padding-x":`${e.spacing}px`,"--mg-border-radius":`${t}px`,"--mg-checkbox-size":`${e.checkboxSize}px`,"--mg-cell-control-size":`${nr(e.rowHeight)}px`}}var cr=Jn.default.rowHeight,lr=Jn.default.headerHeight;function ur(e,t){let n=e.__autoHeights;if(!n)return null;let r=Object.values(n);return r.length===0?null:Math.max(t,...r)}function dr(e,t,n){if(e.rowHeightPinned&&e.rowHeight>0)return{height:e.rowHeight,estimated:!1};if(n){let t=n(e);if(t!=null&&t>0)return{height:t,estimated:!1}}let r=ur(e,t);return r==null?e.rowHeight>0?{height:e.rowHeight,estimated:e.estimated??!1}:{height:t,estimated:!1}:{height:r,estimated:e.estimated??!1}}function fr(e,t){let n=0;for(let r=0;r<e.length;r++){let i=e[r];i.rowIndex=r,i.rowTop=n,i.rowHeight=t,i.estimated=!1,n+=t}}function pr(e,t){let n=0;for(let r=0;r<e.length;r++){let i=e[r],{height:a,estimated:o}=dr(i,t.defaultRowHeight,t.getRowHeight);i.rowIndex=r,i.rowTop=n,i.rowHeight=a,i.estimated=o,n+=a}}function mr(e,t){if(typeof t==`number`){fr(e,t);return}pr(e,t)}function hr(e){if(e.length===0)return 0;let t=e[e.length-1];return t.rowTop+t.rowHeight}var gr=[`group`,`filter`,`sort`,`aggregate`,`map`],_r=[`tree`,`filter`,`sort`,`map`],vr=[`sort`,`filter`,`map`];function yr(e){switch(e){case`tree`:return _r;case`group`:return gr;default:return vr}}function br(e){return`predicate`in e}function xr(e){for(let t=0;t<e.length;t+=1)e[t].sourceIndex=t}function Sr(e,t){let n=e.data[t];if(typeof n==`number`&&Number.isFinite(n))return n;if(typeof n==`string`&&n!==``){let e=Number(n);if(Number.isFinite(e))return e}return 1/0}function Cr(e,t){return[...e].sort((e,n)=>Sr(e,t)-Sr(n,t))}function wr(e,t){let n=0;for(let r of e)z(r)&&(r.data[t]=n,n+=1)}function Tr(e,t){return e===t?0:e===`(Blanks)`?1:t===`(Blanks)`?-1:e.localeCompare(t)}function Er(e){return e?(t,n,r)=>e({valueA:t,valueB:n,colId:r.colId,field:r.field,level:r.level}):(e,t)=>Tr(e,t)}function Dr(e){let{sourceRows:t,rowGroupColumns:n}=e;return n.length===0||t.length===0?[...t]:Or({rows:t,level:0,parentGroupId:void 0,parentPathIds:[],rowGroupColumns:n,getCellValue:e.getCellValue,groupKeyCreator:e.groupKeyCreator,groupComparator:e.groupComparator,groupSortKey:e.groupSortKey,getColumnField:e.getColumnField})}function Or(e){let{rows:t,level:n,parentGroupId:r,parentPathIds:i,rowGroupColumns:a,getCellValue:o,groupKeyCreator:s,groupComparator:c,groupSortKey:l,getColumnField:u}=e;if(t.length===0)return[];if(n>=a.length)return jr(t,Fe(i)),l?Cr(t,l):[...t];let d=a[n],f=u?.(d)??d,p=kr(t,d,f,o,s),m=Er(c),h={colId:d,field:f,level:n};return[...p.keys()].sort((e,t)=>m(e,t,h)).map(e=>{let t=p.get(e),m=Pe(n,f,e,r),h=[...i,m],g=Or({rows:t,level:n+1,parentGroupId:m,parentPathIds:h,rowGroupColumns:a,getCellValue:o,groupKeyCreator:s,groupComparator:c,groupSortKey:l,getColumnField:u});return Mr({colId:d,field:f,key:e,level:n,groupId:m,groupPathKey:Fe(h),children:g})})}function kr(e,t,n,r,i){let a=new Map;for(let o of e){let e=Ar(o,t,n,r,i),s=a.get(e);if(s){s.push(o);continue}a.set(e,[o])}return a}function Ar(e,t,n,r,i){let a=r(e,t);return Ne(i?i({field:n,colId:t,value:a,data:e.data}):a)}function jr(e,t){for(let n of e)n.leafGroupPathKey=t}function Mr(e){let t=Nr(e.children);return{id:e.groupId,data:{},rowTop:0,rowHeight:0,estimated:!1,rowIndex:-1,sourceIndex:-1,group:!0,groupField:e.colId,groupKey:e.key,groupLevel:e.level,groupId:e.groupId,groupPathKey:e.groupPathKey,groupLeafCount:t,childrenAfterGroup:e.children}}function Nr(e){let t=0;for(let n of e){if(n.group){let e=n.childrenAfterSort??n.childrenAfterFilter??n.childrenAfterGroup??[];t+=Nr(e);continue}t+=1}return t}function Pr(e){let t=[];for(let n of e){if(n.group){t.push(...Pr(n.childrenAfterGroup??[]));continue}t.push(n)}return t}function Fr(e){return e.some(e=>e.group===!0)}function Ir(e){return e.childrenAfterGroup??[]}function Lr(e){return e.childrenAfterFilter??e.childrenAfterGroup??[]}function Rr(e){return e.childrenAfterSort??Lr(e)}function zr(e){return Rr(e)}function Br(e){let t=[];for(let n of e){if(n.group){t.push(...Br(Rr(n)));continue}t.push(n)}return t}function Vr(e){for(let t of e){if(!t.group)continue;let e=Vr(Ir(t));t.childrenAfterFilter=e,t.groupLeafCount=Nr(e)}return[...e]}function Hr(e){for(let t of e){if(!t.group)continue;let e=t.childrenAfterSort??Lr(t);Hr(e),t.groupLeafCount=Nr(e)}}function Ur(e){return Wr(e??``)!==``}function Wr(e){return e.trim()}function Gr(e){let t=Wr(e.quickFilterText).toLowerCase();if(t===``)return!0;for(let n of e.filterableColIds){let r=e.getFilterValue(e.row,n,e.getCellValue);if(String(r??``).toLowerCase().includes(t))return!0}return!1}function Kr(e){return e.some(e=>e.dataPath!=null&&e.dataPath.length>0&&e.group!==!0)}function qr(e){return e.childrenAfterFilter??e.childrenAfterTree??[]}function Jr(e){return e.childrenAfterSort??qr(e)}function Yr(e){let t=[];function n(e){for(let r of e){let e=Jr(r);e.length!==0&&(t.push(r.id),n(e))}}return n(e),t}function Xr(e){for(let t of e){let e=t.childrenAfterTree??[];t.childrenAfterFilter=e.length>0?Xr(e):[]}return[...e]}function Zr(e){return e!=null&&e.trim()!==``}function Qr(e){return si(e.type)?!0:e.type===`inRange`?Zr(e.filter)&&Zr(e.filterTo):Zr(e.filter)}function $r(e){return e?e.conditions&&e.conditions.length>0?e.conditions:[{type:e.type,filter:e.filter,filterTo:e.filterTo}]:[]}function ei(e){return e.operator??`AND`}function ti(e){return e?.setValues}function ni(e){return $r(e).some(Qr)}function ri(e){return e.setValues!==void 0}function ii(e){return e??`text`}function ai(e){return{caseSensitive:e?.caseSensitive??!0,locale:e?.locale}}function oi(e){return e!=null&&e.trim()!==``}function si(e){return e===`blank`||e===`notBlank`}function ci(e){return e?br(e)?!0:ni(e)||ri(e):!1}function li(e,t){return ci(t[e])}function ui(e,t){if(oi(t))return!0;for(let t of Object.values(e))if(ci(t))return!0;return!1}var di=`__mg_blank__`,fi=/^\d{4}-\d{2}-\d{2}$/;function pi(e){return!!(e==null||typeof e==`number`&&Number.isNaN(e)||typeof e==`string`&&e.trim()===``)}function mi(e){return e.toISOString().slice(0,10)}function hi(e){if(pi(e))return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:mi(e);if(typeof e==`number`){let t=new Date(e);return Number.isNaN(t.getTime())?null:mi(t)}let t=String(e).trim();if(t===``)return null;if(fi.test(t))return t;let n=Date.parse(t);return Number.isNaN(n)?null:mi(new Date(n))}function gi(e){if(pi(e))return null;let t=Number(e);return Number.isNaN(t)?null:t}function _i(e,t){if(pi(e))return di;switch(t){case`number`:{let t=gi(e);return t===null?di:String(t)}case`date`:return hi(e)??`__mg_blank__`;default:return String(e)}}function vi(e,t){return e===`__mg_blank__`?`(空白)`:e}function yi(e,t){return e===`__mg_blank__`?-1:t===`__mg_blank__`?1:e.localeCompare(t,void 0,{numeric:!0,sensitivity:`base`})}function bi(e){let t=new Map;for(let n of e.rows){let r=_i(e.getFilterValue(n),e.filterType);t.set(r,(t.get(r)??0)+1)}return[...t.keys()].sort(yi).map(t=>({key:t,label:vi(t,e.filterType),blank:t===di}))}var xi=/^\d{4}-\d{2}-\d{2}$/;function Si(e){return!!(e==null||typeof e==`number`&&Number.isNaN(e)||typeof e==`string`&&e.trim()===``)}function Ci(e,t){let n=String(e??``);return t?n:n.toLowerCase()}function wi(e,t){return t?e:e.toLowerCase()}function Ti(e){return e.toISOString().slice(0,10)}function Ei(e){if(Si(e))return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:Ti(e);if(typeof e==`number`){let t=new Date(e);return Number.isNaN(t.getTime())?null:Ti(t)}let t=String(e).trim();if(t===``)return null;if(xi.test(t))return t;let n=Date.parse(t);return Number.isNaN(n)?null:Ti(new Date(n))}function Di(e){if(Si(e))return null;let t=Number(e);return Number.isNaN(t)?null:t}function Oi(e,t,n){let r=n(e);return t===`blank`?r:!r}function ki(e,t,n){if(si(t.type))return Oi(e,t.type,Si);let r=t.filter??``,i=Ci(e,n.caseSensitive),a=wi(r,n.caseSensitive);switch(t.type){case`contains`:return i.includes(a);case`notContains`:return!i.includes(a);case`equals`:return i===a;case`notEqual`:return i!==a;case`startsWith`:return i.startsWith(a);case`endsWith`:return i.endsWith(a);default:return!1}}function Ai(e,t){if(si(t.type))return Oi(e,t.type,e=>Di(e)===null);let n=Di(e),r=Di(t.filter);if(n===null||r===null)return!1;switch(t.type){case`equals`:return n===r;case`notEqual`:return n!==r;case`lessThan`:return n<r;case`lessThanOrEqual`:return n<=r;case`greaterThan`:return n>r;case`greaterThanOrEqual`:return n>=r;default:return ki(e,t,{caseSensitive:!0})}}function ji(e,t){if(si(t.type))return Oi(e,t.type,Si);let n=Ei(e),r=t.filter?.trim()??``;if(r===``)return!1;switch(t.type){case`equals`:return n!==null&&n===r;case`notEqual`:return n===null||n!==r;case`lessThan`:return n!==null&&n<r;case`greaterThan`:return n!==null&&n>r;case`inRange`:{let e=t.filterTo?.trim()??``;return e===``||n===null?!1:n>=r&&n<=e}default:return!1}}function Mi(e,t,n){if(t.length===0)return!1;let r=_i(e,n);return t.includes(r)}function Ni(e,t,n,r){switch(n){case`number`:return Ai(e,t);case`date`:return ji(e,t);default:return ki(e,t,r)}}function Pi(e,t,n,r){let i=ei(t),a=$r(t).filter(Qr);if(a.length===0)return!0;let o=a.map(t=>Ni(e,t,n,r));return i===`OR`?o.some(Boolean):o.every(Boolean)}function Fi(e,t,n,r){let i=ni(t),a=ri(t);return!(i&&!Pi(e,t,n,r)||a&&!Mi(e,ti(t)??[],n))}var Ii=`mg-column-handle-menu`,Li=`mg-column-handle-menu-portal`,Ri=`mg-column-handle-menu__section`,zi=`mg-column-handle-menu__item`,Bi=`mg-column-handle-menu__item-content`,Vi=`mg-column-handle-menu__item-label`,Hi=`mg-column-handle-menu__item--submenu-trigger`,Ui=`mg-column-handle-menu__submenu`,Wi=`mg-column-handle-menu__submenu-panel`,Gi=`mg-column-handle-menu__divider`,Ki=`mg-column-handle-menu__filter-panel`,qi=`mg-column-handle-menu__section--sort`,Ji=`mg-column-handle-menu__section--pin`,Yi=`mg-column-handle-menu__section--filter`,Xi=`mg-column-handle-menu__section--visibility`;function Zi(e){return!t.it(e)&&!t.X(e)}function Qi(e,t=`full`){return Zi(e.colId)?t===`filter-only`?{sort:!1,pin:!1,filter:e.filterable,visibility:!1}:{sort:e.sortable,pin:!0,filter:e.filterable,visibility:!0}:{sort:!1,pin:!1,filter:!1,visibility:!1}}function $i(e){return e.sort||e.pin||e.filter||e.visibility}function ea(e){return e.length===0?[]:[e[0]]}function ta(e={}){return ea(e.defaultSort??[])}function na(e={}){return{defaultSort:ta(e),sortable:e.sortable??!1,enableHeaderSortClick:e.enableHeaderSortClick??!0,showUnsortedSortHintOnHover:e.showUnsortedSortHintOnHover??!1}}function ra(e,n,r){return t.it(r)||t.X(r)?!1:e??n}var ia=`mg-column-dragging`,aa=`mg-column-dragging--drop-forbidden`,oa=5,sa=50;function ca(e={}){return{columnMovable:e.columnMovable??!0,suppressMoveWhenColumnDragging:e.suppressMoveWhenColumnDragging??!1,suppressColumnMoveAnimation:e.suppressColumnMoveAnimation??!1,allowCrossLaneColumnMove:e.allowCrossLaneColumnMove??!1}}function la(e,t){return e!==!1&&t}var ua=`current`,da=`tree`;function fa(e={}){return{filterable:e.filterable??!1,filterSetValueMode:e.filterSetValueMode??`current`,filterSetDateLayoutMode:e.filterSetDateLayoutMode??`tree`}}function pa(e,n,r){return t.it(r)||t.X(r)||A(r)||R(r)?!1:e??n}var ma=Symbol.for(`magic-grid.vueCellRenderer`);function ha(e){return Object.defineProperty(e,ma,{value:!0,configurable:!0}),e}function ga(e){return e?Reflect.get(e,ma)===!0:!1}function _a(e,t,n){return!t||e===`never`?!1:e===`always`||n===`vue`||n!==`sync`&&ga(t)}function va(e,t,n,r){return e!==`immediate`&&_a(t,n,r)}var ya=[`immediate`,`deferred`,`placeholder-then-vue`];function ba(e){return e&&ya.includes(e)?e:`deferred`}function xa(e={}){return{scrollEndFlushMs:Math.max(0,e.scrollEndFlushMs??0),frameBudgetMs:Math.max(1,e.frameBudgetMs??60),scrollEndFrameBudgetMs:e.scrollEndFrameBudgetMs??-1,cellRendererDefer:e.cellRendererDefer??`always`,deferRowDestroyOnScroll:e.deferRowDestroyOnScroll??!1,rendererFrameBudgetMs:Math.max(0,e.rendererFrameBudgetMs??20),cellRendererPresentation:ba(e.cellRendererPresentation)}}var Sa=`mg-cell__row-drag-handle`,Ca=`mg-cell--row-dragging`,wa=`mg-row-drop-indicator`,Ta=`mg-row-drag-ghost`,Ea=`mg-row-dragging--drop-forbidden`,Da=`magic-grid--row-drag-committing`;function Oa(e={}){return{rowDragManaged:e.rowDragManaged??!0}}function ka(e,n){return t.it(n)||t.X(n)?!1:e??!1}function Aa(e,t){return ka(e.rowDrag,t)}var ja=`row move is not allowed while sort or filter is active`;function Ma(e,t){return t&&e}function Na(e,t,n){return e?!Ma(t,n):!1}function Pa(e,t,n,r,i=!0,a){let o={rowId:e,fromIndex:t,toIndex:n,source:r,finished:i};return a?.displayIndex!==void 0&&(o.displayIndex=a.displayIndex),a?.parentRowId!==void 0&&(o.parentRowId=a.parentRowId),a?.siblingIndex!==void 0&&(o.siblingIndex=a.siblingIndex),a?.treeLevel!==void 0&&(o.treeLevel=a.treeLevel),o}function Fa(e,t,n,r,i){return{rowId:e,rowIds:r&&r.length>1?[...r]:void 0,displayIndex:t,finished:n,...i?{parentRowId:i.parentRowId,siblingIndex:i.siblingIndex,treeLevel:i.treeLevel}:{}}}function Ia(e){return{rowId:e.leaderRowId,rowIds:[...e.rowIds],leaderRowId:e.leaderRowId,displayIndex:e.displayIndex,parentRowId:e.treeDrop?.parentRowId,siblingIndex:e.treeDrop?.siblingIndex,treeLevel:e.treeDrop?.treeLevel}}function La(e){return{commitId:e.commitId,rowId:e.leaderRowId,leaderRowId:e.leaderRowId,committed:e.committed,aborted:e.aborted,reason:e.reason}}function Ra(e,t,n){let r=e.hierarchyChanges?[...e.hierarchyChanges]:[],i=r.find(t=>t.rowId===e.leaderRowId),a=e.treeDrop?.parentRowId,o=a===void 0?i?.parentRowId:a===null?null:String(a);return{signal:n.signal,commitId:n.commitId,rowIds:[...e.rowIds],leaderRowId:e.leaderRowId,moves:[...e.moves],hierarchyChanges:r,displayIndex:e.displayIndex,parentRowId:o,siblingIndex:e.treeDrop?.siblingIndex??i?.siblingIndex,treeLevel:e.treeDrop?.treeLevel??i?.treeLevel,nestUnderRowId:t??void 0}}var za=`mg-cell__row-resize-handle`,Ba=`mg-cell--row-resizing`,Va=`mg-cell--auto-height`;function Ha(e={},t){let n=e.rowHeightMin??t,r=e.rowHeightMax??null;return{getRowHeight:e.getRowHeight,rowHeightMin:Math.max(1,n),rowHeightMax:r==null?null:Math.max(n,r)}}function Ua(e,n){return t.it(n)||t.X(n)?!1:e??!1}function Wa(e,t){return Ua(e.autoHeight,t)}function Ga(e,t,n){let r=Math.max(t,e);return n==null?r:Math.min(n,r)}function Ka(e,t,n){return{rows:e.map(e=>({...e})),finished:t,source:n}}var qa=`mg-cell--row-span`,Ja=`mg-cell--row-span-ends-table`,Ya=`mg-row--span-top`,Xa=`mg-row--pinned-span-covered`;function Za(e={}){return{enableCellSpan:e.enableCellSpan??!1}}function Qa(e){return e}function $a(e){return e.fixed===`left`||e.fixed===`right`}function eo(e){return z(e)}function to(e){return!Number.isFinite(e)||e<1?1:Math.floor(e)}function no(e,n){if(!(t.it(n)||t.X(n)))return e}function ro(e,n){if(!(t.it(n)||t.X(n)))return e}function io(e,n){if(!(t.it(n)||t.X(n)))return e}function ao(e,t){return no(e.colSpan,t)}function oo(e,t){return ro(e.rowSpan,t)}function so(e,t){return io(e.spanRows,t)}function co(e,t){return e?`rowSpan`:t===!0||typeof t==`function`?`spanRows`:`none`}function lo(e){return e===!0||typeof e==`function`}var uo=`__MG_LOAD_MORE__`,fo=tr(qn),po=`mg-full-width-row--load-more`,mo=`mg-full-width-row__load-more-anchor`;function ho(e={}){return{loadMore:e.loadMore?.trim()||`加载更多`,loading:e.loading?.trim()||`加载中...`,exhausted:e.exhausted?.trim()||`没有更多`}}function go(e={},t=qn){let n=e.loadMoreRowHeight??tr(t);return{enabled:e.loadMoreRowEnabled===!0,height:Number.isFinite(n)&&n>0?Math.floor(n):fo,loading:e.loadMoreRowLoading===!0,hasMore:e.loadMoreRowHasMore!==!1,labels:ho(e.loadMoreRowLabels),loadMoreRowRenderer:e.loadMoreRowRenderer}}function _o(e){return e===uo}function vo(e){return e.rowKind===`LOAD_MORE`||_o(e.id)}var yo=[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`}]],bo=[[`path`,{d:`M20 6 9 17l-5-5`}]],xo=[[`path`,{d:`m7 6 5 5 5-5`}],[`path`,{d:`m7 13 5 5 5-5`}]];function So(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);n.setAttribute(`class`,e),n.setAttribute(`viewBox`,`0 0 24 24`),n.setAttribute(`fill`,`none`),n.setAttribute(`stroke`,`currentColor`),n.setAttribute(`stroke-width`,`2`),n.setAttribute(`stroke-linecap`,`round`),n.setAttribute(`stroke-linejoin`,`round`),n.setAttribute(`aria-hidden`,`true`);for(let[e,r]of t){let t=document.createElementNS(`http://www.w3.org/2000/svg`,e);for(let[e,n]of Object.entries(r))t.setAttribute(e,String(n));n.appendChild(t)}return n}function Co(){return So(`mg-load-more-row__icon-svg mg-load-more-row__icon-svg--loader-circle`,yo)}function wo(){return So(`mg-load-more-row__icon-svg mg-load-more-row__icon-svg--check`,bo)}function To(){return So(`mg-load-more-row__icon-svg mg-load-more-row__icon-svg--chevrons-down`,xo)}function Eo(e,t,n=!1){let r=document.createElement(`span`);r.className=n?`mg-load-more-row__icon mg-load-more-row__icon--spin`:`mg-load-more-row__icon`,r.setAttribute(`aria-hidden`,`true`),r.append(t),e.append(r)}function Do(e){let t=document.createElement(`button`);t.type=`button`,t.className=`mg-load-more-row__button`;let n=document.createElement(`span`);return n.className=`mg-load-more-row__label`,e.loading?(t.disabled=!0,Eo(t,Co(),!0),n.textContent=e.labels.loading):e.hasMore?(t.disabled=!1,Eo(t,To()),n.textContent=e.labels.loadMore):(t.disabled=!1,Eo(t,wo()),n.textContent=e.labels.exhausted),t.append(n),t.addEventListener(`click`,()=>{e.loading||e.onLoadMore()}),t}function Oo(){return(e,t)=>{t.clear(),t.mountEl.append(Do(e))}}function ko(e,t,n,r={}){let i=()=>{r.onUnmountRenderer?.(e),e.replaceChildren();let i={mountEl:e,clear:()=>{r.onUnmountRenderer?.(e),e.replaceChildren()}},a=(n??Oo())(t,i);if(typeof a==`string`){i.clear(),e.textContent=a;return}a instanceof HTMLElement&&(i.clear(),e.appendChild(a))},a=r.rowIndex??0;if(r.frameService){r.frameService.createTask(i,a,`p2`);return}i()}var Ao=`mg-cell--has-comment`,jo=`mg-cell--comment-empty`,Mo=`mg-cell-comment-popup`,No=`mg-cell-comment-popup--readonly`,Po=`mg-cell-comment-popup--committing`,Fo=`mg-cell-comment-context-menu`,Io=`mg-cell-comment-context-menu--committing`;function Lo(e={}){return{cellCommentsDataSource:e.cellCommentsDataSource,suppressCellComments:e.suppressCellComments??!1,cellCommentTrigger:e.cellCommentTrigger??`click`,cellCommentShowDelay:e.cellCommentShowDelay??180,cellCommentHideDelay:e.cellCommentHideDelay??220}}function Ro(e){return e!=null&&typeof e.getComment==`function`&&typeof e.setComment==`function`}function zo(e){return t.it(e)||t.X(e)||A(e)||nt(e)||R(e)}function Bo(e,t,n){return!(t!==`BUSINESS`||n!=null&&String(n)===`__mg_summary__`||zo(e))}function Vo(e,t){return e==null?!1:typeof e==`function`?e(t):e}function Ho(e){let t={canView:!1,canCreate:!1,canEdit:!1,canDelete:!1};if(!Bo(e.colId,e.rowKind,e.rowId))return t;let n=Vo(e.columnSuppress,{data:e.data,rowId:e.rowId,colId:e.colId});return e.gridSuppress===!0||n?{canView:e.hasExistingComment,canCreate:!1,canEdit:!1,canDelete:!1}:{canView:!0,canCreate:!e.hasExistingComment,canEdit:e.hasExistingComment,canDelete:e.hasExistingComment}}function Uo(e,t){return t?.readOnly?{canView:e.canView,canCreate:!1,canEdit:!1,canDelete:!1}:e}function Wo(e){return typeof e?.text==`string`&&e.text.length>0}function Go(e,t,n,r){return{rowId:e,colId:t,comment:n,source:r}}function Ko(e,t){return`${e}::${t}`}function qo(e,t){e&&(t||console.warn(`[magic-grid] cellCommentsDataSource requires rowKey for stable (rowId, colId) keys; cell comment interactions are disabled.`))}var Jo=`copy`,Yo=`mg-cell--range-selected`,Xo=`mg-cell--range-anchor`,Zo=`mg-cell-range-border`,Qo=`mg-cell-range-border--edge-top`,$o=`mg-cell-range-border--edge-right`,es=`mg-cell-range-border--edge-bottom`,ts=`mg-cell-range-border--edge-left`,ns=`mg-cell-range-border--fill-h`,rs=`mg-cell-range-border--fill-v`,is=`mg-cell-range-overlay`,as=`mg-cell--range-copy-flash`,os=`mg-cell-range-overlay--copy-flash`,ss=`mg-cell--range-paste-flash`,cs=`mg-cell--range-paste-blocked-flash`,ls=`mg-cell-range-paste-overlay`,us=`mg-cell-range-paste-overlay--applied`,ds=`mg-cell-range-paste-overlay--blocked`,fs=`mg-cell-range-paste-flash-layer`,ps=`mg-fill-handle`,ms=`mg-range-handle`,hs=`mg-header-cell--range-highlight`,gs=`mg-cell--index-range-highlight`;function _s(e){return t.it(e)||t.X(e)||A(e)||nt(e)||R(e)}function vs(e){return _s(e)}function ys(e){let t=P(e);return t===`BUSINESS`||t===`GROUP_HEADER`||t===`GROUP_FOOTER`}function bs(e){return P(e)===`BUSINESS`}function xs(e,n){return t.it(e)||t.X(e)||A(e)?!1:ys(n)}function Ss(e,t){return!vs(e)&&bs(t)}function Cs(e={}){let t=e.handleMode??`off`;return t===`off`?null:t===`range`?{mode:`range`}:{mode:`fill`,direction:e.direction??`xy`,fillStrategy:e.fillStrategy??`copy`,fillReverseStrategy:e.fillReverseStrategy??`default`,setFillValue:e.setFillValue}}function ws(e){return!e.enabled||!e.handle?null:e.handle.mode}function Ts(e){return ws(e)===`fill`}function Es(e){return ws(e)===`range`}function Ds(e={}){return{enableHeaderHighlight:e.enableHeaderHighlight??!0,enableIndexColumnHighlight:e.enableIndexColumnHighlight??!0}}function Os(e={}){let t=e.cellSelection;if(t===!1||t==null)return{enabled:!1,suppressMultiRanges:!0,enableColumnSelection:!1,enableCellCopy:!1,enableCellPaste:!1,handle:null};let n=t===!0?{}:t,r=e.enableCellCopy??!0,i=e.enableCellPaste??!1;return{enabled:!0,suppressMultiRanges:n.suppressMultiRanges??!0,enableColumnSelection:n.enableColumnSelection??!1,enableCellCopy:r,enableCellPaste:i,handle:Cs(n)}}function ks(e,t){return{startRowIndex:Math.min(e.rowIndex,t.rowIndex),endRowIndex:Math.max(e.rowIndex,t.rowIndex),startColId:e.colId,endColId:t.colId}}function As(e){return e.serviceRanges.length>0?[...e.serviceRanges]:!e.enableHeaderHighlight&&!e.enableIndexColumnHighlight?[]:e.editingRanges&&e.editingRanges.length>0?[...e.editingRanges]:!e.focus||!e.focusEligible?[]:[ks(e.focus,e.focus)]}function U(e,t){let n=Math.min(e.startRowIndex,e.endRowIndex),r=Math.max(e.startRowIndex,e.endRowIndex),i=t.indexOf(e.startColId),a=t.indexOf(e.endColId);if(i<0||a<0)return null;let o=Math.min(i,a),s=Math.max(i,a);return{top:n,bottom:r,leftColId:t[o],rightColId:t[s]}}function js(e){return{startRowIndex:e.top,endRowIndex:e.bottom,startColId:e.leftColId,endColId:e.rightColId}}function Ms(e,t,n,r){if(e<n.top||e>n.bottom)return!1;let i=r.indexOf(t);if(i<0)return!1;let a=r.indexOf(n.leftColId),o=r.indexOf(n.rightColId);return a<0||o<0?!1:i>=a&&i<=o}function Ns(e,t){return e.startRowIndex===t.startRowIndex&&e.endRowIndex===t.endRowIndex&&e.startColId===t.startColId&&e.endColId===t.endColId}function Ps(e,t){let n=Math.min(e.startRowIndex,e.endRowIndex),r=Math.max(e.startRowIndex,e.endRowIndex);return[{rowIndex:n,colId:e.startColId},{rowIndex:n,colId:e.endColId},{rowIndex:r,colId:e.startColId},{rowIndex:r,colId:e.endColId}].every(e=>xs(e.colId,t(e.rowIndex)))}function Fs(e,t,n){if(_s(e)||t<=0)return null;let r=-1,i=-1;for(let a=0;a<t;a++){let t=n(a);xs(e,t)&&P(t)===`BUSINESS`&&(r<0&&(r=a),i=a)}return r<0||i<0?null:{startRowIndex:r,endRowIndex:i,startColId:e,endColId:e}}function Is(e,t,n){let r=null,i=null;for(let a of e)xs(a,t(n))&&(r??=a,i=a);return r==null||i==null?null:{startColId:r,endColId:i}}function Ls(e){if(e.length===0)return[];let t=[...e].sort((e,t)=>e-t),n=[],r=t[0],i=t[0];for(let e=1;e<t.length;e++){let a=t[e];if(a===i+1){i=a;continue}n.push({top:r,bottom:i}),r=a,i=a}return n.push({top:r,bottom:i}),n}function Rs(e){let{focusedRowIndices:t,displayedColIds:n,rowKindAt:r,suppressMultiRanges:i,currentRowIndex:a}=e,o=[...t].filter(e=>ys(r(e))).sort((e,t)=>e-t);if(o.length===0)return[];let s=Is(n,r,o[0]);if(!s)return[];if(i){if(o.length===1||o.every((e,t)=>t===0||e===o[t-1]+1))return[{startRowIndex:o[0],endRowIndex:o[o.length-1],startColId:s.startColId,endColId:s.endColId}];let e=a??o[o.length-1];return ys(r(e))?[{startRowIndex:e,endRowIndex:e,startColId:s.startColId,endColId:s.endColId}]:[]}return Ls(o).map(({top:e,bottom:t})=>({startRowIndex:e,endRowIndex:t,startColId:s.startColId,endColId:s.endColId}))}function zs(e){let t=new Set(e.rangeRowIndices);for(let n of e.indexFocusedRowIds){let r=e.rowIndexById(n);r>=0&&t.add(r)}for(let n of e.selectedRowIds){let r=e.rowIndexById(n);r>=0&&t.add(r)}return t}function Bs(e,t){console.warn(`[magic-grid] addCellRange: ignored invalid range (${t}).`,e)}function Vs(e){return t.it(e)||t.X(e)||A(e)||nt(e)||R(e)}function Hs(e,t){return!Vs(e)&&t.hidden===!0}function Us(e){return!e.hidden}function Ws(e){return e.filter(e=>Us(e))}function Gs(e){return Ws(e).length}function Ks(e){let t=[];for(let n of e)!n.hidden||Vs(n.colId)||t.push({colId:n.colId,label:n.label??n.prop??n.colId});return t}var qs=`mg-column-settings`,Js=`mg-column-settings__header`,Ys=`mg-column-settings__body`,Xs=`mg-column-settings-button`,Zs=`mg-column-settings-portal`,Qs=`mg-column-settings-popover`,$s=`mg-column-settings-menu`,ec=`mg-column-settings-menu__item`,tc=`mg-column-settings-menu__item-icon`,nc=`mg-column-settings-menu__item-label`,rc=`mg-column-settings-menu__divider`,ic=`mg-column-settings-menu__submenu`,ac=`mg-column-settings-menu__submenu-panel`,oc=`mg-column-settings-menu__item--submenu-trigger`,sc=`mg-column-settings__clear-filters`,cc=`mg-column-settings__group`,lc=`mg-column-settings__group-heading`,uc=`mg-column-settings__row`,dc=`mg-column-settings__row--filtered`,fc=`mg-column-settings__hidden-section`;function pc(e){return!Vs(e)}function mc(e){return e===`left`?`left`:e===`right`?`right`:`center`}function hc(e){return e.label??e.prop??e.colId}function gc(e){let t=new Map,n={left:0,center:0,right:0};for(let r of e){if(r.hidden||!pc(r.colId))continue;let e=mc(r.fixed);t.set(r.colId,n[e]),n[e]++}return t}function _c(e){let t=e.sortModel[0],n=t?.colId,r=t?.sort??null,i=e.includeHidden??!0,a=e.columns.filter(e=>!(!pc(e.colId)||!i&&e.hidden)),o=gc(a);return a.map(t=>{let i=mc(t.fixed),a=t.hidden?-1:o.get(t.colId)??-1;return{colId:t.colId,label:hc(t),movable:t.movable,sortable:t.sortable,filterable:t.filterable,fixed:t.fixed??null,hidden:t.hidden,sortDirection:t.colId===n?r:null,filterActive:e.isColumnFilterActive(t.colId),displayIndex:a,lane:i}})}function vc(e){let t=e.filter(e=>!e.hidden),n=e.filter(e=>e.hidden);return{left:t.filter(e=>e.lane===`left`),center:t.filter(e=>e.lane===`center`),right:t.filter(e=>e.lane===`right`),hidden:n}}var yc=`.mg-cell__text:not([hidden])`,bc=`.mg-cell__renderer:not([hidden])`,xc=`.mg-header-cell__text`,Sc=`.mg-footer-cell__text:not([hidden])`,Cc=[`.mg-status-bar__panel`,`[data-mg-tooltip-anchor]`].join(`, `),wc=[yc,bc,xc,Sc].join(`, `),Tc=`mg-tooltip`;function Ec(e){return t.it(e)||t.X(e)||A(e)||nt(e)||R(e)}function Dc(e,t){return Ec(e)?!0:t.suppressTooltip===!0}function Oc(e={}){let t=e.enableTooltips??!0;return{enableTooltips:t,tooltipShowMode:e.tooltipShowMode??(t?`whenTruncated`:`never`),tooltipShowDelay:e.tooltipShowDelay??500,tooltipSwitchShowDelay:e.tooltipSwitchShowDelay??200,tooltipHideDelay:e.tooltipHideDelay??3e3,tooltipInteraction:e.tooltipInteraction??!1,tooltipMouseTrack:e.tooltipMouseTrack??!1,tooltipComponent:e.tooltipComponent,tooltipComponentParams:e.tooltipComponentParams}}function kc(e){return e.scrollWidth-e.clientWidth>1||e.scrollHeight-e.clientHeight>1}function Ac(e){try{return e.matches(bc)}catch{return!1}}function jc(e){if(e.children.length!==1)return e;let t=e.children[0];if(!(t instanceof HTMLElement))return e;let n=t;for(;n.childElementCount===1;){let e=n.firstElementChild;if(!(e instanceof HTMLElement)||!e.textContent?.trim())break;n=e}return n}function Mc(e,t){if(!e||typeof document>`u`)return 0;if(typeof getComputedStyle==`function`){let n=getComputedStyle(t),r=document.createElement(`canvas`).getContext(`2d`);if(r){r.font=(n.font||`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} ${n.fontFamily}`).trim()||`12px sans-serif`;let t=Number.parseFloat(n.paddingLeft)||0,i=Number.parseFloat(n.paddingRight)||0,a=r.measureText(e).width+t+i;if(a>0)return a}}let n=document.createElement(`span`);if(n.textContent=e,n.style.cssText=`position:fixed;left:-9999px;top:0;visibility:hidden;white-space:nowrap;pointer-events:none;max-width:none;width:max-content;`,typeof getComputedStyle==`function`){let e=getComputedStyle(t);n.style.font=e.font,n.style.letterSpacing=e.letterSpacing,n.style.textTransform=e.textTransform}document.body.appendChild(n);let r=Math.max(n.getBoundingClientRect().width,n.offsetWidth,n.scrollWidth);return document.body.removeChild(n),r}function Nc(e,t,n){let r=Mc(t,jc(e));return r<=0?null:r>n+1}function Pc(e,t){let n=e.clientWidth;if(n<=0)return!1;let r=Fc(e),i=t?.trim(),a=e.textContent?.trim()??``;if(i&&a&&i!==a)return Nc(e,a,n)??r;if(i){let t=Nc(e,i,n);if(t!=null)return t}return r}function Fc(e){let t=e.clientWidth;if(t<=0)return!1;if(e.children.length===0)return e.scrollWidth-t>1;if(e.children.length===1){let n=e.children[0];if(!(n instanceof HTMLElement)||n.hidden)return!1;if(n.scrollWidth-t>1||kc(n))return!0;if(n.clientWidth>=t-1){for(let e of n.children)if(!(!(e instanceof HTMLElement)||e.hidden||!e.textContent?.trim())&&kc(e))return!0}return!1}if(kc(e))return!0;for(let t of e.children)if(!(!(t instanceof HTMLElement)||t.hidden)&&t.textContent?.trim()&&kc(t))return!0;return!1}function Ic(e){return!e.enableTooltips||e.mode===`never`||!e.text?!1:e.mode===`always`?!0:e.isAutoHeight?!1:Ac(e.anchorEl)?Pc(e.anchorEl,e.text):kc(e.anchorEl)}var Lc=`加载中…`,Rc=`暂无数据`,zc=`没有匹配的行`,Bc=`mg-overlay`,Vc=`mg-overlay__wrapper`,Hc=`mg-overlay--masked`,Uc=`mg-overlay__content`,Wc=`mg-overlay__panel--loading`,Gc=`mg-overlay__panel--no-rows`,Kc=`mg-overlay__panel--no-matching-rows`,qc=`mg-overlay__spinner`;function Jc(e){switch(e){case`loading`:return Lc;case`noRows`:return Rc;case`noMatchingRows`:return zc;default:return e}}function Yc(e={}){let t=new Set(e.suppressOverlays??[]);return e.suppressLoadingOverlay&&t.add(`loading`),e.suppressNoRowsOverlay&&t.add(`noRows`),e.suppressNoMatchingRowsOverlay&&t.add(`noMatchingRows`),t}function Xc(e={}){return{loading:e.loading,suppressOverlays:Yc(e),overlayLoadingTemplate:e.overlayLoadingTemplate,overlayNoRowsTemplate:e.overlayNoRowsTemplate,overlayNoMatchingRowsTemplate:e.overlayNoMatchingRowsTemplate,loadingOverlayComponent:e.loadingOverlayComponent,loadingOverlayComponentParams:e.loadingOverlayComponentParams,noRowsOverlayComponent:e.noRowsOverlayComponent,noRowsOverlayComponentParams:e.noRowsOverlayComponentParams,noMatchingRowsOverlayComponent:e.noMatchingRowsOverlayComponent,noMatchingRowsOverlayComponentParams:e.noMatchingRowsOverlayComponentParams,overlayComponent:e.overlayComponent,overlayComponentParams:e.overlayComponentParams,overlayInteraction:e.overlayInteraction??!1}}function Zc(e,t){return t.has(e)}function Qc(e){let{rows:t,filterModel:n,getCellValue:r,columnContext:i,quickFilterText:a,quickFilterColIds:o=[]}=e,s=Object.entries(n).filter(([,e])=>ci(e)),c=Ur(a),l=Fr(t),u=!l&&Kr(t);if(l)return s.length===0&&!c?Vr(t):$c(t,s,c,{getCellValue:r,context:i??nl,quickFilterText:a??``,quickFilterColIds:o});if(u)return s.length===0&&!c?Xr(t):el(t,s,c,{getCellValue:r,context:i??nl,quickFilterText:a??``,quickFilterColIds:o});if(s.length===0&&!c)return[...t];let d=i??nl;return t.filter(e=>tl(e,s,r,d,c,{quickFilterText:a??``,quickFilterColIds:o}))}function $c(e,t,n,r){let i=[];for(let a of e){if(a.group){let e=$c(a.childrenAfterGroup??[],t,n,r);if(e.length===0)continue;a.childrenAfterFilter=e,a.groupLeafCount=Nr(e),i.push(a);continue}tl(a,t,r.getCellValue,r.context,n,{quickFilterText:r.quickFilterText,quickFilterColIds:r.quickFilterColIds})&&i.push(a)}return i}function el(e,t,n,r){let i=[];for(let a of e){let e=el(a.childrenAfterTree??[],t,n,r);!tl(a,t,r.getCellValue,r.context,n,{quickFilterText:r.quickFilterText,quickFilterColIds:r.quickFilterColIds})&&e.length===0||(a.childrenAfterFilter=e,i.push(a))}return i}function tl(e,t,n,r,i,a){return rl(e,t,n,r)&&(!i||Gr({row:e,quickFilterText:a.quickFilterText,filterableColIds:a.quickFilterColIds,getCellValue:n,getFilterValue:(e,t,n)=>r.getFilterValue(e,t,n)}))}var nl={getFilterType:()=>`text`,getFilterParams:()=>({caseSensitive:!0}),getFilterValue:(e,t,n)=>n(e,t)};function rl(e,t,n,r){for(let[i,a]of t){let t=r.getFilterValue(e,i,n);if(br(a)){if(!a.predicate(t,e.data))return!1;continue}if(!Fi(t,a,r.getFilterType(i),r.getFilterParams(i)))return!1}return!0}var il=`合计`;function al(e){return typeof e==`number`&&Number.isFinite(e)}function ol(e,t){let n=[];for(let r of e){let e=H(r,t);al(e)&&n.push(e)}return n}function sl(e,t,n){if(e===`count`)return t.length;let r=ol(t,n);if(r.length===0)return null;switch(e){case`sum`:return r.reduce((e,t)=>e+t,0);case`avg`:return r.reduce((e,t)=>e+t,0)/r.length;case`min`:return Math.min(...r);case`max`:return Math.max(...r);default:return null}}function cl(e,t,n){return typeof e==`function`?e(t,n):sl(e,t,n)}function ll(e){return e.summary===!1?!1:e.summaryAgg!=null||e.summary===!0}function ul(e,t){return t==null?``:e.summaryFormatter?e.summaryFormatter(t):e.formatter?e.formatter({},t):String(t)}function dl(e,t){return{value:t,formattedValue:ul(e,t)}}function fl(e,t,n){if(!n)return null;try{let r=n({columns:e,data:t.map(e=>e.data),rows:t}),i=new Map;for(let[e,t]of Object.entries(r))t!==void 0&&i.set(e,t);return i}catch(e){return console.warn(`[magic-grid] summaryMethod failed:`,e),new Map}}function pl(e){return e.find(e=>!t.it(e.colId)&&!t.X(e.colId))}function ml(e){let{columns:n,rows:r,summaryMethod:i}=e,a=new Map,o=fl(n,r,i);for(let e of n){if(t.it(e.colId)||t.X(e.colId)){a.set(e.colId,dl(e,null));continue}let n=o?.get(e.colId);if(o?.has(e.colId)){a.set(e.colId,dl(e,n??null));continue}if(ll(e)&&e.summaryAgg!=null){let t=cl(e.summaryAgg,r,e);a.set(e.colId,dl(e,t))}}let s=pl(n);return s&&!a.has(s.colId)&&a.set(s.colId,dl(s,il)),a}function hl(e){return Fr(e.rows)&&gl(e.rows,e.columns),[...e.rows]}function gl(e,t){for(let n of e){if(!n.group)continue;let e=Rr(n);gl(e,t),n.__groupAggValues=_l(t,Br(e))}}function _l(e,n){let r={};for(let i of e){if(!i.groupAgg||t.it(i.colId)||t.X(i.colId)||A(i.colId)||R(i.colId))continue;let e=cl(i.groupAgg,n,i);r[i.colId]={value:e,formattedValue:ul(i,e)}}return r}function vl(e,t={}){let n=e.groupId??e.id,r=t.rowHeight??cr;return{id:Ie(n),data:{},rowTop:0,rowHeight:r,estimated:!1,rowIndex:-1,sourceIndex:-1,rowKind:`GROUP_HEADER`,sourceGroupId:n,groupField:e.groupField,groupKey:e.groupKey,groupLevel:e.groupLevel,groupLeafCount:e.groupLeafCount,groupId:n,groupPathKey:e.groupPathKey}}function yl(e,t={}){let n=e.groupId??e.id,r=t.rowHeight??cr;return{id:Le(n),data:{},rowTop:0,rowHeight:r,estimated:!1,rowIndex:-1,sourceIndex:-1,rowKind:`GROUP_FOOTER`,sourceGroupId:n,groupField:e.groupField,groupKey:e.groupKey,groupLevel:e.groupLevel,groupLeafCount:e.groupLeafCount,groupId:n,groupPathKey:e.groupPathKey,__groupAggValues:bl(e.__groupAggValues)}}function bl(e){if(e)return{...e}}function xl(e,t){return Fr(e)?Cl(e,{expandedGroupIds:t?.expandedGroupIds??new Set,showGroupHeader:t?.showGroupHeader??!1,showGroupFooter:t?.showGroupFooter??!1,defaultRowHeight:t?.defaultRowHeight}):Kr(e)?Sl(e,{expandedRowIds:t?.expandedRowIds??new Set}):[...e]}function Sl(e,t){let n=[];function r(e){for(let i of e)n.push(i),t.expandedRowIds.has(i.id)&&r(Jr(i))}return r(e),n}function Cl(e,t){let n=[];for(let r of e){if(!r.group){n.push(r);continue}let e=r.groupId??r.id,i=!t.showGroupHeader||t.expandedGroupIds.has(e);t.showGroupHeader&&n.push(vl(r,{rowHeight:t.defaultRowHeight})),i&&(n.push(...Cl(Rr(r),t)),t.showGroupFooter&&n.push(yl(r,{rowHeight:t.defaultRowHeight})))}return n}function wl(e,t,n){let{colId:r,sort:i}=e;return n?(e,a)=>{let o=n(t(e,r),t(a,r),i,e.data,a.data);return o===0?e.id.localeCompare(a.id):i===`desc`?-o:o}:(e,n)=>{let a=Tl(t(e,r),t(n,r),i);return a===0?e.id.localeCompare(n.id):a}}function Tl(e,t,n){let r=0;return r=e==null&&t==null?0:e==null?-1:t==null?1:typeof e==`number`&&typeof t==`number`?e-t:String(e).localeCompare(String(t)),n===`desc`?-r:r}function El(e,t,n,r){if(t.length<4)return[...r??e].sort(n);let i=new Set(t.map(e=>e.id));return Dl(e.filter(e=>!i.has(e.id)),[...t].sort(n),n)}function Dl(e,t,n){let r=[],i=0,a=0;for(;i<e.length&&a<t.length;)n(e[i],t[a])<=0?(r.push(e[i]),i++):(r.push(t[a]),a++);for(;i<e.length;)r.push(e[i]),i++;for(;a<t.length;)r.push(t[a]),a++;return r}function Ol(e){let t=e.rows??e.sourceRows;if(Fr(t))return kl({rows:t,sortModel:e.sortModel,getCellValue:e.getCellValue,getColumnComparator:e.getColumnComparator,groupComparator:e.groupComparator,groupSortKey:e.groupSortKey});if(Kr(t))return Nl({rows:t,sortModel:e.sortModel,getCellValue:e.getCellValue,getColumnComparator:e.getColumnComparator});let{sourceRows:n,currentDisplayRows:r,sortModel:i,touchedRowIds:a,getCellValue:o,getColumnComparator:s}=e;if(i.length===0)return[...t];let c=i[0],l=wl(c,o,s?.(c.colId));if(a&&a.size>0){let e=n.filter(e=>a.has(e.id));if(e.length>0&&r.length>0)return El(r,e,l,n)}return[...t].sort(l)}function kl(e){let t=Al(e.rows,e);return Hr(t),t}function Al(e,t){if(e.length===0)return[];if(e[0]?.group){let n=Er(t.groupComparator);return e.map(e=>jl(e,t)).sort((e,t)=>{let r=e.groupLevel??t.groupLevel??0,i=e.groupField??t.groupField??``;return n(e.groupKey??``,t.groupKey??``,{colId:i,field:i,level:r})})}return Ml(e,t)}function jl(e,t){return e.childrenAfterSort=Al(e.childrenAfterFilter??e.childrenAfterGroup??[],t),e}function Ml(e,t){if(t.sortModel.length===0)return t.groupSortKey?Cr(e,t.groupSortKey):[...e];let n=t.sortModel[0],r=wl(n,t.getCellValue,t.getColumnComparator?.(n.colId));return[...e].sort(r)}function Nl(e){return Pl(e.rows,e)}function Pl(e,t){let n=Ml(e,t);for(let e of n){let n=qr(e);e.childrenAfterSort=n.length>0?Pl(n,t):[]}return n}var Fl=`\0`;function Il(e){return e.join(Fl)}var Ll=class extends Error{constructor(e){super(e),this.name=`TreeBuildError`}};function Rl(e){let{sourceRows:t,getDataPath:n}=e,r=new Map,i=t.map((e,t)=>({node:e,path:n({data:e.data}),sourceIndex:t})).sort((e,t)=>e.path.length===t.path.length?e.sourceIndex-t.sourceIndex:e.path.length-t.path.length);for(let{path:e}of i)if(!Array.isArray(e)||e.length===0)throw new Ll(`[TreeBuildStage] getDataPath must return a non-empty string[]`);for(let{node:e,path:t}of i){let n=Il(t);if(r.has(n))throw new Ll(`[TreeBuildStage] duplicate dataPath: ${t.join(`/`)}`);e.dataPath=[...t],e.treeLevel=t.length-1,e.treeLeaf=!0,e.childrenAfterTree=[],r.set(n,e)}let a=[];for(let{node:e,path:t}of i){if(t.length===1){e.parentRowId=void 0,a.push(e);continue}let n=t.slice(0,-1),i=r.get(Il(n));if(!i)throw new Ll(`[TreeBuildStage] missing parent path: ${n.join(`/`)}`);e.parentRowId=i.id,i.treeLeaf=!1,i.childrenAfterTree.push(e)}return{roots:a,nodeByPath:r}}function zl(e){function t(e){for(let n of e){let e=n.childrenAfterTree??[];e.length===0?n.treeLeaf=!0:(n.treeLeaf=!1,t(e))}}t(e)}function Bl(e){let{sourceRows:t,getDataPath:n}=e;if(t.length===0)return[];let{roots:r}=Rl({sourceRows:t,getDataPath:n});return zl(r),r}var Vl=[...vr];function Hl(e,t){return e.length===1&&e[0]===`map`&&t!=null&&t.groupedTreeRoots!=null&&t.groupedTreeRoots.length>0&&Fr(t.groupedTreeRoots)}function Ul(e,t){return e.length===1&&e[0]===`map`&&t!=null&&t.treeTreeRoots!=null&&t.treeTreeRoots.length>0&&Kr(t.treeTreeRoots)}function Wl(e,t){if(t)return t.getMapStageOptions?.()??t.mapStageOptions;if(e)return e.getMapStageOptions?.()??e.mapStageOptions}function Gl(e){let t=e.stages??Vl,n=e.grouping,r=e.tree,i=[...e.sourceRows];if(Hl(t,n)&&n?.groupedTreeRoots)i=xl(n.groupedTreeRoots,Wl(n,void 0));else if(Ul(t,r)&&r?.treeTreeRoots)i=xl(r.treeTreeRoots,Wl(void 0,r));else for(let a of t)switch(a){case`tree`:i=r?.getDataPath?Bl({sourceRows:e.sourceRows,getDataPath:r.getDataPath}):[...e.sourceRows];break;case`group`:i=n&&n.rowGroupColumns.length>0?Dr({sourceRows:e.sourceRows,rowGroupColumns:n.rowGroupColumns,getCellValue:e.getCellValue,groupKeyCreator:n.groupKeyCreator,groupComparator:n.groupComparator,groupSortKey:n.groupSortKey,getColumnField:n.getColumnField}):[...e.sourceRows];break;case`filter`:i=Qc({rows:i,filterModel:e.filterModel,getCellValue:e.getCellValue,columnContext:e.filterColumnContext,quickFilterText:e.quickFilterText,quickFilterColIds:e.getQuickFilterColIds?.()??[]}),r&&Kr(i)&&Ur(e.quickFilterText)&&r.applyQuickFilterExpand&&r.applyQuickFilterExpand(i);break;case`sort`:i=Ol({sourceRows:e.sourceRows,rows:i,currentDisplayRows:e.currentDisplayRows,sortModel:e.sortModel,touchedRowIds:e.touchedRowIds,getCellValue:e.getCellValue,getColumnComparator:e.getColumnComparator,groupComparator:n?.groupComparator,groupSortKey:n?.groupSortKey});break;case`aggregate`:n&&Fr(i)&&(i=hl({rows:i,columns:n.columns}));break;case`map`:n?.prepareGroupedTree&&Fr(i)&&n.prepareGroupedTree(i),r?.prepareTreeTree&&Kr(i)&&r.prepareTreeTree(i),i=xl(i,Wl(n,r))}return e.afterMap&&(i=e.afterMap(i)),e.positionRowsOptions?mr(i,e.positionRowsOptions):mr(i,e.rowHeight),i}function Kl(e){return[...yr(e)]}var ql=class{refreshing=!1;pendingRun=null;refresh(e){if(this.refreshing){this.pendingRun=e;return}this.refreshing=!0;try{let t=e;for(;t;){let e=t;t=null,e(),t=this.pendingRun,this.pendingRun=null}}finally{this.refreshing=!1}}reset(){this.refreshing=!1,this.pendingRun=null}};function Jl(e,t){for(let n of e)n.group&&(t(n),Jl(zr(n),t))}function Yl(e){let t=[];return Jl(e,e=>{e.groupId&&t.push(e.groupId)}),t}function Xl(e,t){let n;return Jl(e,e=>{e.groupId===t&&(n=e)}),n}function Zl(e,t){return t===0?!1:t===-1||e<t}var Ql=class extends Error{constructor(e){super(e),this.name=`RowModelError`}};function $l(e,n){let{rowKey:r,rowHeight:i=cr,allowTransient:a=!1}=n;if(!r)throw new Ql(`rowKey is required`);let o=new Set,s=[];for(let n=0;n<e.length;n++){let c=e[n],l=c[r];if(t.A(l)){if(!a)throw new Ql(`Missing rowKey "${r}" at index ${n}`);let e=t.k();if(o.has(e))throw new Ql(`Duplicate transient row id "${e}" at index ${n}`);o.add(e),s.push({id:e,data:c,isTransient:!0,rowTop:0,rowHeight:i,estimated:!1,rowIndex:s.length,sourceIndex:s.length});continue}let u=String(l);o.has(u)||(o.add(u),s.push({id:u,data:c,isTransient:!1,rowTop:0,rowHeight:i,estimated:!1,rowIndex:s.length,sourceIndex:s.length}))}return xr(s),s}function eu(e,t,n){if(t.length===0)return[...e];let r=n??e.length,i=Math.max(0,Math.min(r,e.length));return[...e.slice(0,i),...t,...e.slice(i)]}function tu(e,t){return Math.max(0,Math.min(e,t))}function nu(e,t){if(typeof e==`string`)return e;let n=e[t];if(n==null)throw new Ql(`Missing rowKey "${t}" in remove item`);return String(n)}function ru(e,t){if(typeof e!=`object`||!e||!(`data`in e))return!1;let n=e;return n[t]!==void 0&&n[t]!==null&&n[t]!==``?!1:typeof e.data==`object`&&e.data!==null}function iu(e,t){return ru(e,t)?e.data:e}function au(e,t){if(ru(e,t))return e.index}function ou(e){return typeof e!=`object`||!e||!(`data`in e)||!(`rowId`in e)?!1:typeof e.rowId==`string`}function su(e,t,n){let r=n.rowKey,i=n.rowHeight??cr,a=new Map(e.map(e=>[e.id,e])),o={add:[],remove:[],update:[]},s=new Set;if(t.remove?.length)for(let e of t.remove){let t=nu(e,r),n=a.get(t);n&&(o.remove.push(n),a.delete(t),s.add(t))}if(t.update?.length)for(let e of t.update){let t,n;if(ou(e))n=a.get(e.rowId),t=e.data;else{t=e;let i=t[r];if(i==null){if(n=[...a.values()].find(e=>e.data===t&&e.isTransient),!n)throw new Ql(`Missing rowKey "${r}" in update item`)}else n=a.get(String(i))}n&&(n.data!==t&&Object.assign(n.data,t),o.update.push(n),s.add(n.id))}let c=new Set(o.remove.map(e=>e.id)),l=e.filter(e=>!c.has(e.id));if(t.add?.length)for(let e of t.add){let t=iu(e,r),n=au(e,r),[c]=$l([t],{rowKey:r,rowHeight:i,allowTransient:!0});if(c){if(a.has(c.id))throw new Ql(`Duplicate rowKey on add: "${c.id}"`);a.set(c.id,c),o.add.push(c),s.add(c.id),l=eu(l,[c],n)}}return{sourceRows:l,transaction:o,touchedRowIds:[...s]}}function cu(e,t){if(t<0||t>=e.length)return null;let n=e[t];return{rowTop:n.rowTop,rowHeight:n.rowHeight}}function lu(e,t){let n=e.length;if(n===0||t<=0)return 0;let r=0,i=n-1;for(;r<=i;){let n=r+i>>1,a=e[n],o=a.rowTop+a.rowHeight;if(t<a.rowTop)i=n-1;else if(t>=o)r=n+1;else return n}return n-1}function uu(e,t){return t.rowGroupColumns.length===0||e.length===0?[...e]:Pr(Dr({sourceRows:e,...t}))}function du(e,t,n){return!t||!n||n.rowGroupColumns.length===0?[...e]:uu(e,n)}var fu=class{sourceRows=[];displayRows=[];baseDisplayRows=[];sortModel=[];filterModel={};quickFilterText=``;touchedRowIds=null;rowKey;defaultRowHeight;getCellValue;getColumnComparator;filterColumnContext;getQuickFilterColIds;refreshScheduler=new ql;positionGetRowHeight;rowExpansionService=null;loadMoreRowService=null;rowGroupingDeps=null;treeTableDeps=null;groupedTreeRoots=[];treeTreeRoots=[];constructor(e){this.rowKey=e.rowKey,this.defaultRowHeight=e.rowHeight??cr,this.getCellValue=e.getCellValue??pu,this.getColumnComparator=e.getColumnComparator,this.filterColumnContext=e.filterColumnContext,this.getQuickFilterColIds=e.getQuickFilterColIds,this.quickFilterText=e.quickFilterText??``}get rowsToDisplay(){return this.displayRows}getBaseDisplayRows(){return this.baseDisplayRows}setRowExpansionService(e){this.rowExpansionService=e}getRowExpansionService(){return this.rowExpansionService}setLoadMoreRowService(e){this.loadMoreRowService=e}setRowGroupingDeps(e){this.rowGroupingDeps=e,e?.active()||(this.groupedTreeRoots=[])}setTreeTableDeps(e){this.treeTableDeps=e,e?.active()||(this.treeTreeRoots=[])}getTreeTreeRoots(){return this.treeTreeRoots}getGroupedTreeRoots(){return this.groupedTreeRoots}setPositionGetRowHeight(e){this.positionGetRowHeight=e}resolvePositionRowsOptions(){return{defaultRowHeight:this.defaultRowHeight,getRowHeight:this.positionGetRowHeight}}setData(e){this.sourceRows=$l(e,{rowKey:this.rowKey,rowHeight:this.defaultRowHeight,allowTransient:!0}),this.touchedRowIds=null,this.rowExpansionService?.clearExpanded(),this.rowGroupingDeps?.clearExpanded(),this.treeTableDeps?.clearExpanded(),this.groupedTreeRoots=[],this.treeTreeRoots=[],this.refreshModel({applyDefaultExpanded:!0})}setSortModel(e){this.sortModel=[...e],this.touchedRowIds=null,this.refreshModel()}setFilterModel(e){this.filterModel={...e},this.refreshModel()}getSortModel(){return[...this.sortModel]}getFilterModel(){return{...this.filterModel}}getQuickFilterText(){return this.quickFilterText}setQuickFilterText(e){this.quickFilterText!==e&&(this.quickFilterText=e,this.refreshModel())}markTouchedRowIds(e){this.touchedRowIds=new Set(e)}applyTransaction(e){let{sourceRows:t,transaction:n,touchedRowIds:r}=su(this.sourceRows,e,{rowKey:this.rowKey,rowHeight:this.defaultRowHeight});return this.sourceRows=t,xr(this.sourceRows),this.markTouchedRowIds(r),this.maybeSyncGroupSortKeyOnSourceRows(),this.refreshModel(),n}rebuildDisplayProjection(){if(this.treeTableDeps?.active()){this.rebuildTreeMapProjection();return}if(this.rowGroupingDeps?.active()){this.rebuildGroupedMapProjection();return}this.displayRows=this.buildProjectedDisplayRows(!1),mr(this.displayRows,this.resolvePositionRowsOptions())}rebuildTreeMapProjection(){if(this.treeTableDeps?.active()){if(this.treeTreeRoots.length===0||!Kr(this.treeTreeRoots)){this.refreshModel();return}this.refreshModel({stages:[`map`]})}}rebuildGroupedMapProjection(){if(this.rowGroupingDeps?.active()){if(this.groupedTreeRoots.length===0||!this.groupedTreeRoots.some(e=>e.group)){this.refreshModel();return}this.refreshModel({stages:[`map`]})}}getRowById(e){return this.sourceRows.find(t=>t.id===e)}resolveRowById(e){return this.getRowById(e)??this.getDisplayRowById(e)}getDisplayRowById(e){return this.displayRows.find(t=>t.id===e)}setDefaultRowHeight(e){this.defaultRowHeight=Math.max(1,e)}repositionDisplayRows(e){mr(this.displayRows,{defaultRowHeight:this.defaultRowHeight,getRowHeight:e?.getRowHeight??this.positionGetRowHeight})}getRowIndexById(e){return this.displayRows.findIndex(t=>t.id===e)}refreshModel(e={}){let t=typeof e==`boolean`?{applyDefaultExpanded:e}:e,n=t.applyDefaultExpanded??!1,r=this.rowGroupingDeps?.active()??!1,i=this.treeTableDeps?.active()??!1,a=i?`tree`:r?`group`:`flat`,o=t.stages??Kl(a);(o.length!==1||o[0]!==`map`)&&this.normalizeGroupedSourceRowsIfNeeded(),this.refreshScheduler.refresh(()=>{let e=this.rowGroupingDeps,t=this.treeTableDeps,s=n;this.displayRows=Gl({sourceRows:this.sourceRows,currentDisplayRows:this.displayRows,sortModel:this.sortModel,filterModel:this.filterModel,touchedRowIds:this.touchedRowIds??void 0,getCellValue:this.getCellValue,getColumnComparator:this.getColumnComparator,filterColumnContext:this.filterColumnContext,quickFilterText:this.quickFilterText,getQuickFilterColIds:this.getQuickFilterColIds,rowHeight:this.defaultRowHeight,positionRowsOptions:this.resolvePositionRowsOptions(),stages:o,hierarchyMode:a,grouping:r&&e?{rowGroupColumns:e.getRowGroupColumns(),groupKeyCreator:e.getGroupKeyCreator(),groupComparator:e.getGroupComparator(),groupSortKey:e.getGroupSortKey(),getColumnField:e.getColumnField,columns:e.getColumns(),getMapStageOptions:()=>({...e.getMapStageOptions(),defaultRowHeight:this.defaultRowHeight}),groupedTreeRoots:this.groupedTreeRoots,prepareGroupedTree:t=>{this.groupedTreeRoots=[...t],e.pruneExpanded(new Set(Yl(t))),s&&=(e.applyDefaultExpanded(t),!1)}}:void 0,tree:i&&t?{getDataPath:t.getDataPath(),getMapStageOptions:()=>({...t.getMapStageOptions(),defaultRowHeight:this.defaultRowHeight}),treeTreeRoots:this.treeTreeRoots,prepareTreeTree:e=>{this.treeTreeRoots=[...e],t.prepareTreeTree(e),s&&=(t.applyDefaultExpanded(e),!1)},applyQuickFilterExpand:e=>{t.expandForQuickFilterDisplay(e)}}:void 0,afterMap:e=>this.buildProjectedDisplayRows(n,e)}),this.touchedRowIds=null})}buildProjectedDisplayRows(e,t=this.baseDisplayRows){this.baseDisplayRows=t;let n;return this.rowExpansionService?.active?(e&&this.rowExpansionService.applyDefaultExpanded(t),this.rowExpansionService.pruneExpanded(new Set(this.sourceRows.map(e=>e.id))),n=this.rowExpansionService.injectDetailRows(t)):n=t.slice(),this.loadMoreRowService?.injectTrailingRow(n)??n}getRow(e){return this.displayRows[e]}getRowCount(){return this.displayRows.length}getSourceRowCount(){return this.sourceRows.length}getSourceRows(){return this.sourceRows}getSourceRowIndexById(e){return this.sourceRows.findIndex(t=>t.id===e)}setSourceRows(e){this.sourceRows=e,xr(this.sourceRows),this.maybeSyncGroupSortKeyOnSourceRows(),this.touchedRowIds=null,this.refreshModel()}maybeSyncGroupSortKeyOnSourceRows(){let e=this.rowGroupingDeps;if(!e?.active())return;let t=e.getGroupSortKey();t&&wr(this.sourceRows,t)}normalizeGroupedSourceRowsIfNeeded(){let e=this.rowGroupingDeps;if(!e?.active())return;let t=e.getRowGroupColumns();t.length!==0&&(this.sourceRows=du(this.sourceRows,!0,{rowGroupColumns:t,getCellValue:this.getCellValue,groupKeyCreator:e.getGroupKeyCreator(),groupComparator:e.getGroupComparator(),groupSortKey:e.getGroupSortKey(),getColumnField:e.getColumnField}),xr(this.sourceRows),this.maybeSyncGroupSortKeyOnSourceRows())}getRowKey(){return this.rowKey}promoteRowId(e,n){let r=this.getRowById(e);if(!r)return{ok:!1,reason:`Row "${e}" not found`};if(!r.isTransient)return{ok:!1,reason:`Row "${e}" is not transient`};if(t.A(n))return{ok:!1,reason:`businessId is required`};let i=String(n);return this.sourceRows.some(e=>e!==r&&e.id===i)?{ok:!1,reason:`Duplicate row id "${i}"`}:(r.data[this.rowKey]=n,r.id=i,r.isTransient=!1,this.markTouchedRowIds([i]),this.refreshModel(),{ok:!0,rowId:i})}getRowIndexAtPixel(e){return lu(this.displayRows,e)}getRowBounds(e){return cu(this.displayRows,e)}getTotalHeight(){return hr(this.displayRows)}ensureRowHeightsValid(e,t){return!1}};function pu(e,t){return e.data[t]}var mu=`__MG_INF_STUB__::`;function hu(e){return`${mu}${e}`}function gu(e){return e.startsWith(mu)}function _u(e){let t=e.rowHeight??cr,n=e.index;return{id:hu(n),data:{},rowTop:n*t,rowHeight:t,estimated:!1,rowIndex:n,sourceIndex:n,__infiniteBlockState:e.blockState??`idle`}}function vu(e,n,r){let i=n[e];return t.A(i)?r?.isTransient?{id:r.id,isTransient:!0}:{id:t.k(),isTransient:!0}:{id:String(i),isTransient:!1}}function yu(e){let{index:t,rowHeight:n,rowKey:r,data:i}=e,{id:a,isTransient:o}=vu(r,i);return{id:a,data:i,isTransient:o,rowTop:t*n,rowHeight:n,estimated:!1,rowIndex:t,sourceIndex:t,__infiniteBlockState:e.blockState??`loaded`}}function bu(e){let{index:t,rowHeight:n,rowKey:r,data:i,existing:a}=e,{id:o,isTransient:s}=vu(r,i,a);return a&&a.id===o?(a.data=i,a.isTransient=s,a.rowTop=t*n,a.rowHeight=n,a.rowIndex=t,a.sourceIndex=t,a.__infiniteBlockState=e.blockState??`loaded`,a):yu(e)}var xu=class{displayRows=[];virtualRowCount=0;knownLastRow=null;rowKey;defaultRowHeight;sortModel=[];filterModel={};quickFilterText=``;constructor(e){this.rowKey=e.rowKey,this.defaultRowHeight=e.rowHeight??cr,this.setVirtualRowCount(e.initialRowCount??0,{preserveLoaded:!1})}get rowsToDisplay(){return this.displayRows}getRow(e){return this.displayRows[e]}getRowCount(){return this.virtualRowCount}getRowIndexAtPixel(e){if(this.virtualRowCount===0)return 0;let t=Math.floor(Math.max(0,e)/this.defaultRowHeight);return Math.min(t,this.virtualRowCount-1)}getRowBounds(e){let t=this.displayRows[e];return t?{rowTop:t.rowTop,rowHeight:t.rowHeight}:null}getTotalHeight(){return this.virtualRowCount*this.defaultRowHeight}ensureRowHeightsValid(e,t){return!1}getKnownLastRow(){return this.knownLastRow}getVirtualRowCount(){return this.virtualRowCount}setVirtualRowCount(e,t){let n=Math.max(0,Math.floor(e)),r=t?.preserveLoaded??!0;if(n===this.virtualRowCount&&this.displayRows.length===n)return;let i=this.displayRows;this.virtualRowCount=n,this.displayRows=Array(n);for(let e=0;e<n;e++){let t=r?i[e]:void 0;t&&t.__infiniteBlockState===`loaded`?(t.rowIndex=e,t.sourceIndex=e,t.rowTop=e*this.defaultRowHeight,this.displayRows[e]=t):this.displayRows[e]=_u({index:e,rowHeight:this.defaultRowHeight,blockState:`idle`})}}updateLastRow(e,t,n){if(e!==void 0){this.knownLastRow=Math.max(0,Math.floor(e)),this.setVirtualRowCount(this.knownLastRow,{preserveLoaded:!0});return}this.knownLastRow=null,n>=this.virtualRowCount&&this.setVirtualRowCount(n+t,{preserveLoaded:!0})}applyBlock(e,t){let n=[],r=[],i=this.defaultRowHeight;for(let a=0;a<t.length;a++){let o=e+a;if(o>=this.virtualRowCount)break;let s=this.displayRows[o];s&&gu(s.id)&&r.push(s.id);let c=bu({existing:s,index:o,rowHeight:i,rowKey:this.rowKey,data:t[a],blockState:`loaded`});this.displayRows[o]=c,n.push(c.id)}return{rowIds:n,replacedStubIds:r,virtualRowCount:this.virtualRowCount}}markBlockRange(e,t,n){for(let r=e;r<t&&r<this.virtualRowCount;r++){let e=this.displayRows[r];e&&(n!==`loaded`||e.__infiniteBlockState!==`loaded`)&&(n===`idle`||n===`loading`||n===`failed`?this.displayRows[r]=_u({index:r,rowHeight:this.defaultRowHeight,blockState:n}):e.__infiniteBlockState=n)}}evictBlockRange(e,t){this.markBlockRange(e,t,`idle`)}resetForPurge(e){this.knownLastRow=null,this.setVirtualRowCount(e,{preserveLoaded:!1})}getRowKey(){return this.rowKey}resolveRowById(e){return this.displayRows.find(t=>t.id===e)}getRowById(e){return this.resolveRowById(e)}getRowIndexById(e){return this.displayRows.findIndex(t=>t.id===e)}getBaseDisplayRows(){return this.displayRows}getSourceRows(){return this.displayRows.filter(e=>e.__infiniteBlockState===`loaded`)}getSourceRowCount(){return this.getSourceRows().length}getLoadedRowData(){return this.getSourceRows().map(e=>({...e.data}))}getSortModel(){return[...this.sortModel]}setSortModel(e){this.sortModel=[...e]}getFilterModel(){return{...this.filterModel}}setFilterModel(e){this.filterModel={...e}}getQuickFilterText(){return this.quickFilterText}setQuickFilterText(e){this.quickFilterText=e}setDefaultRowHeight(e){this.defaultRowHeight=Math.max(1,e);for(let e=0;e<this.displayRows.length;e++){let t=this.displayRows[e];t.rowTop=e*this.defaultRowHeight,t.rowHeight=this.defaultRowHeight}}getGroupedTreeRoots(){return[]}getTreeTreeRoots(){return[]}setRowExpansionService(e){}setLoadMoreRowService(e){}setRowGroupingDeps(e){}setTreeTableDeps(e){}setPositionGetRowHeight(e){}repositionDisplayRows(e){}};function Su(e){return e instanceof fu}function W(e){return e instanceof xu}function Cu(e){let n=t.R(e);return t.L({rowModelType:n.rowModelType,infiniteDatasource:e.infiniteDatasource,rowGrouping:{rowGroupColumns:Array(e.rowGroupingColumnCount??0)},treeTable:{getDataPath:e.hasTreeTable?()=>[]:void 0},masterDetail:{detailCellRenderer:e.hasMasterDetail?()=>null:void 0},rowDragManaged:e.rowDragManaged,treeLazyLoad:e.hasTreeLazyLoad},n),n.rowModelType===`infinite`?{rowModel:new xu({rowKey:e.rowKey,rowHeight:e.rowHeight,initialRowCount:n.infiniteInitialRowCount}),resolvedInfinite:n}:{rowModel:new fu({rowKey:e.rowKey,rowHeight:e.rowHeight,getCellValue:e.getCellValue,getColumnComparator:e.getColumnComparator,filterColumnContext:e.filterColumnContext,quickFilterText:e.quickFilterText,getQuickFilterColIds:e.getQuickFilterColIds}),resolvedInfinite:n}}function G(e,t){if(W(e))throw Error(`[MagicGrid] ${t}() is not supported when rowModelType is "infinite"`)}var wu=!1;function Tu(){wu||(wu=!0,console.warn(`[MagicGrid] getData() in infinite mode returns loaded blocks only; use getLoadedRowData() instead.`))}var Eu=e=>{if(e===void 0)return`null`;if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(e=>Eu(e)).join(`,`)}]`;let t=e;return`{${Object.keys(t).sort().map(e=>`${JSON.stringify(e)}:${Eu(t[e])}`).join(`,`)}}`},Du=(e,n)=>{let r=e[n];return t.A(r)?``:String(r)},Ou=(e,n)=>{if(e.isTransient)return``;let r=e.data[n];return t.A(r)?``:String(r)},ku=(e,t)=>{for(let n of Object.keys(e))if(Eu(e[n])!==Eu(t[n]))return!1;return!0},Au=(e,n,r)=>{if(e.length!==n.length)return!1;if(e.length===0)return!0;let i=t.M(n,r);for(let t=0;t<e.length;t++){let a=e[t],o=i[t],s=n[t];if(Du(a,r)!==Ou(s,r)||!ku(a,o))return!1}return!0};function ju(e,t){let n={internalRowId:t.internalRowId,columnCellEditorCache:t.columnCellEditorCache};return{getCellCache:r=>e.get(t.rowId,t.colId,r,n),setCellCache:(r,i)=>e.set(t.rowId,t.colId,r,i,n),clearCellCache:r=>{if(r===void 0){e.clearCell(t.rowId,t.colId,t.internalRowId);return}e.clear(t.rowId,t.colId,r,n)}}}function Mu(e,n){let{enableCellEditorCache:r,rowNode:i,column:a,rowKey:o}=n;if(t.l({enableCellEditorCache:r,colId:a.colId,cellEditorMode:a.cellEditorMode,cellEditor:a.cellEditor,columnCellEditorCache:a.cellEditorCache}))return ju(e,{rowId:t.T(i,o),colId:a.colId,internalRowId:i.isTransient?i.id:void 0,columnCellEditorCache:a.cellEditorCache})}var Nu=class{store=new Map;bucketKeys=new Map;bucketAccessOrder=[];maxEntries;constructor(e={}){this.maxEntries=e.maxEntries}get(e,n,r,i){let a=t.c({userKey:r,columnCellEditorCache:i?.columnCellEditorCache}),o=t.a(e,n,a,{internalRowId:i?.internalRowId});if(this.store.has(o))return this.touchBucket(e,n,i?.internalRowId),this.store.get(o)}set(e,n,r,i,a){let o=t.c({userKey:i,columnCellEditorCache:a?.columnCellEditorCache}),s=t.a(e,n,o,{internalRowId:a?.internalRowId}),c=t.r(e,n,{internalRowId:a?.internalRowId});this.bucketKeys.has(c)||this.bucketKeys.set(c,new Set),this.bucketKeys.get(c).add(s),this.store.set(s,r),this.touchBucket(e,n,a?.internalRowId),this.evictIfNeeded()}clear(e,n,r,i){if(e==null&&n==null&&r==null){this.clearAll();return}if(e!=null&&n==null){let n=t.i(e,i?.internalRowId);for(let e of[...this.bucketKeys.keys()])e.startsWith(`${n}::`)&&this.clearCellByBucketKey(e);return}if(e==null||n==null)return;if(r==null){this.clearCell(e,n,i?.internalRowId);return}let a=t.c({userKey:r,columnCellEditorCache:i?.columnCellEditorCache}),o=t.a(e,n,a,{internalRowId:i?.internalRowId});this.deleteStorageKey(o)}clearCell(e,n,r){let i=t.r(e,n,{internalRowId:r}),a=this.bucketKeys.get(i);if(a){for(let e of[...a])this.store.delete(e);this.bucketKeys.delete(i),this.removeBucketFromAccessOrder(i)}}clearAll(){this.store.clear(),this.bucketKeys.clear(),this.bucketAccessOrder.length=0}removeByRowIds(e,n){let r=new Set;for(let n of e)r.add(t.i(n));for(let e of n?.internalRowIds??[])r.add(t.i(null,e));if(r.size!==0)for(let e of[...this.bucketKeys.keys()]){let t=e.slice(0,e.indexOf(`::`));r.has(t)&&this.clearCellByBucketKey(e)}}promoteRowId(e,n){let r=t.i(null,e),i=String(n),a=`${r}::`,o=[];for(let[e,t]of this.store)e.startsWith(a)&&o.push([e,t]);if(o.length!==0)for(let[e,r]of o){let o=e.slice(a.length),s=`${i}::${o}`,c=o.slice(0,o.indexOf(`::`));this.store.delete(e),this.removeStorageKeyFromBucket(e);let l=t.r(n,c);this.bucketKeys.has(l)||this.bucketKeys.set(l,new Set),this.bucketKeys.get(l).add(s),this.store.set(s,r),this.touchBucket(n,c)}}get size(){return this.store.size}get bucketCount(){return this.bucketKeys.size}deleteStorageKey(e){this.store.delete(e),this.removeStorageKeyFromBucket(e)}removeStorageKeyFromBucket(e){for(let[t,n]of this.bucketKeys)if(n.has(e)){n.delete(e),n.size===0&&(this.bucketKeys.delete(t),this.removeBucketFromAccessOrder(t));return}}clearCellByBucketKey(e){let t=this.bucketKeys.get(e);if(t){for(let e of t)this.store.delete(e);this.bucketKeys.delete(e),this.removeBucketFromAccessOrder(e)}}touchBucket(e,n,r){let i=t.r(e,n,{internalRowId:r});this.bucketKeys.has(i)&&(this.removeBucketFromAccessOrder(i),this.bucketAccessOrder.push(i))}removeBucketFromAccessOrder(e){let t=this.bucketAccessOrder.indexOf(e);t>=0&&this.bucketAccessOrder.splice(t,1)}evictIfNeeded(){if(this.maxEntries!=null)for(;this.bucketKeys.size>this.maxEntries&&this.bucketAccessOrder.length>0;){let e=this.bucketAccessOrder.shift();e&&this.clearCellByBucketKey(e)}}};function Pu(e,n){let r=[],i=[];for(let a of e){if(t.j(a)){i.push(a);continue}let e=t.D(a,n);e===null?i.push(a):r.push(e)}return{businessRowIds:r,transientInternalRowIds:i}}function Fu(e={}){let t=`autoSizeStrategy`in e&&e.autoSizeStrategy!==void 0?e.autoSizeStrategy??null:null;return{skipHeaderOnAutoSize:e.skipHeaderOnAutoSize??!1,autoSizePadding:e.autoSizePadding??16,autoSizeStrategy:t}}function Iu(e,t,n){let r=new Set(n);return r.size<=1||!r.has(t)?[t]:e.filter(e=>r.has(e.id)).map(e=>e.id)}function Lu(e,t){if(t.length===0)return``;let n=new Set(t);for(let t of e)if(n.has(t.id))return t.id;return t[0]}function Ru(e,t,n,r){let i=t.indexOf(n);if(i<0)return Math.max(0,Math.min(r,e-1));let a=r-i,o=Math.max(0,e-t.length);return Math.max(0,Math.min(a,o))}function zu(e,n){let r=t.m(e),i=n.resolveRowById(r);if(i)return i;for(let e of n.displayRows){if(e.isTransient)continue;let i=e.data[n.rowKey];if(i!=null&&t.m(i)===r)return e}}function Bu(e,t){let n=zu(e,t);if(!n)return null;let r=t.displayRows.findIndex(e=>e.id===n.id);return r>=0?r:null}function Vu(e,t){return Gu(e,t.sourceRows,t.rowKey)}function Hu(e,t,n){let r=Vu(e,t);if(r==null)return null;let i=t.sourceRows[r],a=i.leafGroupPathKey;if(!a)return null;let o=n.type===`display`&&n.hasSortOrFilter;return n.type===`display`&&Bu(e,t)==null?null:o?Wu(i.id,a,t):Uu(i.id,a,t)}function Uu(e,t,n){let r=0;for(let i of n.sourceRows)if(i.leafGroupPathKey===t){if(i.id===e)return r;r+=1}return null}function Wu(e,t,n){let r=0;for(let i of n.displayRows)if(z(i)&&n.sourceRows.find(e=>e.id===i.id)?.leafGroupPathKey===t){if(i.id===e)return r;r+=1}return null}function Gu(e,n,r){let i=t.m(e),a=n.findIndex(e=>e.id===i);if(a>=0)return a;for(let e=0;e<n.length;e+=1){let a=n[e];if(a.isTransient)continue;let o=a.data[r];if(o!=null&&t.m(o)===i)return e}return null}function Ku(e,n){let[r]=t.v([e.id],{rowKey:n.rowKey,getRowById:n.resolveRowById});return r}function qu(e,t){let n=zu(e,t);if(!n)return null;let r=t.displayRows.findIndex(e=>e.id===n.id);if(r<0)return null;let i=Ku(n,t);return i?{anchorSnapshot:i,startIndex:r}:null}function Ju(e,t,n){if(!e)return`continue`;let r=!1,i=`stop`;return e({currentRow:t,row:n,next:(e=!0)=>{r||(r=!0,i=e===!1?`stop`:`continue`)}}),i}function Yu(e,t,n,r){let i=n===`prev`?-1:1;for(let n=t.startIndex+i;n>=0&&n<e.displayRows.length;n+=i){let t=e.displayRows[n],i=Ku(t,e);if(i&&r(i)===!1)break}}function Xu(e,t,n){let r=qu(e,n);if(!r)return[];let i=t.length??1,a=t.includeStop??!1,o=[];return Yu(n,r,t.direction,e=>Ju(t.iterator,e,r.anchorSnapshot)===`continue`?(o.push(e),i>=0&&o.length>=i?!1:void 0):(a&&o.push(e),!1)),o}function Zu(e,t,n){let r=qu(e,n);if(!r)return null;let i=null;return Yu(n,r,t.direction,e=>{if(Ju(t.iterator,e,r.anchorSnapshot)===`stop`)return i=e,!1}),i}function Qu(e,t){return!Number.isInteger(e)||e<0||e>=t.displayRows.length?null:Ku(t.displayRows[e],t)??null}function $u(e,t){return Qu(e,t)}function ed(e,t){let n=[];for(let r of e){let e=Qu(r,t);e&&n.push(e)}return n}function td(e,t){if(t==null)return ed(e.displayRows.map((e,t)=>t),e);let n=[];for(let r=0;r<e.displayRows.length;r+=1){let i=Qu(r,e);i!=null&&t(i)&&n.push(i)}return n}function nd(e,n){return td(e,n).map(t.b)}function rd(e){return{sourceRows:e.sourceRows,displayRows:e.displayRows,hasSortOrFilter:e.sortModelLength>0||e.filterModelKeyCount>0}}function id(e,t,n){if(e===void 0)return;if(t===`source`||!n.hasSortOrFilter)return tu(e,n.sourceRows.length);if(n.displayRows.length===0)return 0;let r=tu(e,n.displayRows.length),i=n.displayRows[r];if(!i)return n.sourceRows.length;let a=n.sourceRows.findIndex(e=>e.id===i.id);return a<0?n.sourceRows.length:a}function ad(e,t,n){let r=t===`display`||n.hasSortOrFilter?n.displayRows:n.sourceRows,i=[];for(let t of e){if(r.length===0)continue;let e=r[tu(t,r.length)];e&&i.push(e.id)}return i}function od(e,t){return t<=0?0:Math.max(0,Math.min(e,t-1))}function sd(e,t,n,r){if(t===`display`&&r)return null;if(t===`source`||!n.hasSortOrFilter)return od(e,n.sourceRows.length);let i=od(e,n.displayRows.length),a=n.displayRows[i];if(!a)return od(n.sourceRows.length-1,n.sourceRows.length);let o=n.sourceRows.findIndex(e=>e.id===a.id);return o<0?od(n.sourceRows.length-1,n.sourceRows.length):o}function cd(e,t){let n=null;for(let r of t){let t=e.find(e=>e.id===r);if(!t||Ue(t))return`missing`;let i=t.leafGroupPathKey??null;if(!i)return null;if(n==null){n=i;continue}if(n!==i)return`mixed`}return n}function ld(e,t,n,r){let i=0,a=Math.max(0,Math.min(t,e.length));for(let t=0;t<a;t+=1){let a=e[t];z(a)&&a.leafGroupPathKey===n&&!r.has(a.id)&&(i+=1)}return i}function ud(e,t,n,r){let i=new Set(t),a=0,o=od(n,e.length);for(let t=0;t<o;t+=1){let n=e[t];n.leafGroupPathKey===r&&!i.has(n.id)&&(a+=1)}if(t.length===1){let n=e.findIndex(e=>e.id===t[0]);n>=0&&n<o&&--a}return Math.max(0,a)}function dd(e){let{sourceRows:t,rowIds:n,groupPath:r,withinGroupInsertIndex:i}=e,a=new Set(n);if(cd(t,n)!==r)return null;let o=[],s=[];for(let e=0;e<t.length;e+=1){let n=t[e];n.leafGroupPathKey===r&&(o.push(e),s.push(n))}let c=s.filter(e=>a.has(e.id));if(c.length!==n.length)return null;let l=s.filter(e=>!a.has(e.id)),u=Math.max(0,Math.min(i,l.length)),d=[...l.slice(0,u),...c,...l.slice(u)];if(d.every((e,t)=>e.id===s[t].id))return null;let f=[...t];for(let e=0;e<o.length;e+=1)f[o[e]]=d[e];let p=[];for(let e of c){let n=t.findIndex(t=>t.id===e.id),r=f.findIndex(t=>t.id===e.id);n>=0&&r>=0&&n!==r&&p.push({rowId:e.id,fromIndex:n,toIndex:r})}return p.length===0?null:{rows:f,moves:p}}function fd(e){let{sourceRows:t,displayRows:n,rowIds:r,displayInsertIndex:i,groupPath:a}=e,o=new Set(r);return md(n,e=>t.find(t=>t.id===e),r,i,a)?dd({sourceRows:t,rowIds:r,groupPath:a,withinGroupInsertIndex:ld(n,i,a,o)}):null}function pd(e,t,n,r){let i=new Set(t),a=e.filter(e=>e.leafGroupPathKey===r).length,o=ud(e,t,n,r),s=a-i.size;return o>=0&&o<=s}function md(e,t,n,r,i){let a=[];for(let n=0;n<e.length;n+=1){let r=e[n];z(r)&&(t(r.id)??r).leafGroupPathKey===i&&a.push(n)}if(a.length===0)return!1;let o=Math.min(...a),s=Math.max(...a)+1;return r>=o&&r<=s}function hd(e){if(!e.active)return{allowed:!0};let t=cd(e.sourceRows,e.rowIds);return t===null?{allowed:!0}:t===`missing`?{allowed:!1,reason:`cannot move non-leaf rows while row grouping is active`}:t===`mixed`?{allowed:!1,reason:`selected rows must belong to the same group`}:pd(e.sourceRows,e.rowIds,e.targetSourceIndex,t)?{allowed:!0}:{allowed:!1,reason:`cannot move rows across groups`}}function gd(e,t,n){return{rowId:e,fromIndex:t,toIndex:n}}function _d(e,t,n){let r=K(e,t);if(!(!r&&n===void 0))return{...n===void 0?{}:{displayIndex:n},...r??{}}}function vd(e,t){let n=null;for(let r of t){let t=e.find(e=>e.id===r);if(!t||!B(t))return`missing`;let i=t.parentRowId??null;if(n==null){n=i;continue}if(n!==i)return`mixed`}return n}function yd(e,t,n,r){let i=0,a=Math.max(0,Math.min(t,e.length));for(let t=0;t<a;t+=1){let a=e[t];B(a)&&(a.parentRowId??null)===n&&!r.has(a.id)&&(i+=1)}return i}function K(e,t){let n=e.findIndex(e=>e.id===t);if(n<0)return null;let r=e[n];if(!B(r))return null;let i=r.parentRowId??null,a=0;for(let t=0;t<n;t+=1)(e[t].parentRowId??null)===i&&(a+=1);return{parentRowId:i,siblingIndex:a,treeLevel:r.treeLevel??Math.max(0,(r.dataPath?.length??1)-1)}}function bd(e,t,n,r){let i=new Set(t),a=0,o=od(n,e.length);for(let t=0;t<o;t+=1){let n=e[t];B(n)&&(n.parentRowId??null)===r&&!i.has(n.id)&&(a+=1)}return a}function xd(e){if(!e.active)return{allowed:!0};let t=vd(e.sourceRows,e.rowIds);return t===`mixed`?{allowed:!1,reason:`selected rows must belong to the same tree parent`}:t===`missing`?{allowed:!1,reason:`cannot move non-tree rows while tree mode is active`}:t!=null&&!Sd(e.sourceRows,e.rowIds,e.targetSourceIndex,t)?{allowed:!1,reason:`tree drag target must stay within the same parent siblings`}:{allowed:!0,parentRowId:t}}function Sd(e,t,n,r){let i=new Set(t),a=e.filter(e=>B(e)&&(e.parentRowId??null)===r).length,o=bd(e,t,n,r),s=a-i.size;return o>=0&&o<=s}function Cd(e,t,n,r,i){for(let e of n){let n=t(e);if(!n||!B(n)||(n.parentRowId??null)!==i)return!1}let a=[];for(let t=0;t<e.length;t+=1){let n=e[t];B(n)&&(n.parentRowId??null)===i&&a.push(t)}if(a.length===0)return!1;let o=Math.min(...a),s=Math.max(...a)+1,c=Math.max(0,Math.min(r,e.length));return c>=o&&c<=s}function wd(e){let t=new Set(e.rowIds),n=[],r=[];for(let t=0;t<e.sourceRows.length;t+=1){let i=e.sourceRows[t];!B(i)||(i.parentRowId??null)!==e.parentRowId||(n.push(t),r.push(i))}let i=e.rowIds.map(e=>r.find(t=>t.id===e)).filter(e=>e!=null);if(i.length!==e.rowIds.length)return null;let a=r.filter(e=>!t.has(e.id)),o=Math.max(0,Math.min(e.withinSiblingInsertIndex,a.length)),s=[...a.slice(0,o),...i,...a.slice(o)];if(s.every((e,t)=>e.id===r[t].id))return null;let c=[...e.sourceRows];for(let e=0;e<n.length;e+=1)c[n[e]]=s[e];let l=[];for(let t of i){let n=e.sourceRows.findIndex(e=>e.id===t.id),r=c.findIndex(e=>e.id===t.id);n>=0&&r>=0&&n!==r&&l.push(gd(t.id,n,r))}return l.length===0?null:{rows:c,moves:l}}function Td(e){let t=new Set(e.rowIds);if(!Cd(e.displayRows,t=>e.sourceRows.find(e=>e.id===t),e.rowIds,e.displayInsertIndex,e.parentRowId))return null;let n=yd(e.displayRows,e.displayInsertIndex,e.parentRowId,t);return wd({sourceRows:e.sourceRows,rowIds:e.rowIds,withinSiblingInsertIndex:n,parentRowId:e.parentRowId})}function Ed(e,t,n){return n===`up`?t>0?{indexMode:`source`,toIndex:t-1}:null:t<e.length-1?{indexMode:`source`,toIndex:t+1}:null}function Dd(e,t,n,r){let i=[];for(let t=0;t<e.length;t+=1)r(e[t])&&i.push(t);let a=i.findIndex(n=>e[n].id===t);return a<0?null:n===`up`?a===0?null:{indexMode:`source`,toIndex:i[a-1]}:a===i.length-1?null:{indexMode:`source`,toIndex:i[a+1]}}function Od(e,t,n,r){let i=e.findIndex(e=>e.id===t);if(i<0)return null;let a=n===`up`?-1:1;for(let t=i+a;t>=0&&t<e.length;t+=a){let n=e[t];if(r(n))return{indexMode:`display`,toIndex:t}}return null}function kd(e,t,n){let r=t.map(t=>e.findIndex(e=>e.id===t));if(r.some(e=>e<0))return null;let i=Math.min(...r),a=Math.max(...r);return n===`up`?i>0?{indexMode:`source`,toIndex:i-1}:null:a<e.length-1?{indexMode:`source`,toIndex:i+1}:null}function Ad(e,t,n){let r=[];for(let t=0;t<e.length;t+=1)n(e[t])&&r.push(t);let i=[];for(let n of t){let t=e.findIndex(e=>e.id===n);if(t<0)return null;let a=r.indexOf(t);if(a<0)return null;i.push(a)}return{siblingIndices:r,positions:i}}function jd(e,t,n,r){let i=Ad(e,t,r);if(!i)return null;let{siblingIndices:a,positions:o}=i,s=Math.min(...o),c=Math.max(...o);return n===`up`?s===0?null:{indexMode:`source`,toIndex:a[s-1]}:c===a.length-1?null:{indexMode:`source`,toIndex:a[c+1]}}function Md(e,t,n,r){let i=Ad(e,t,r);if(!i)return null;let{siblingIndices:a,positions:o}=i,s=Math.min(...o),c=Math.max(...o);return n===`up`?s===0?null:{indexMode:`display`,toIndex:a[s-1]}:c===a.length-1?null:{indexMode:`display`,toIndex:a[c+1]}}function Nd(e){let{sourceRows:t,displayRows:n,rowIds:r,direction:i,isRowGroupingActive:a,isTreeActive:o}=e;if(r.length===0)return null;if(r.length===1)return Pd({sourceRows:t,displayRows:n,rowId:r[0],direction:i,isRowGroupingActive:a,isTreeActive:o});if(a){let e=cd(t,r);if(typeof e==`string`)return jd(t,r,i,t=>t.leafGroupPathKey===e);if(e===`missing`)return null}if(o){let e=vd(t,r);if(e===`mixed`||e===`missing`)return null;if(typeof e==`string`||e===null)return Md(n,r,i,t=>B(t)&&(t.parentRowId??null)===e)}return kd(t,r,i)}function Pd(e){let{sourceRows:t,displayRows:n,rowId:r,direction:i,isRowGroupingActive:a,isTreeActive:o}=e,s=t.findIndex(e=>e.id===r);if(s<0)return null;if(a){let e=cd(t,[r]);if(typeof e==`string`)return Dd(t,r,i,t=>t.leafGroupPathKey===e);if(e===`missing`)return null}if(o){let e=vd(t,[r]);if(e===`mixed`||e===`missing`)return null;if(typeof e==`string`||e===null)return Od(n,r,i,t=>B(t)&&(t.parentRowId??null)===e)}return Ed(t,s,i)}function Fd(e,t,n={}){let r=n.type??`source`;return n.group?Hu(e,t,{type:r,hasSortOrFilter:t.hasSortOrFilter??!1}):r===`display`?Bu(e,t):Vu(e,t)}function Id(e,t,n={}){let r={};for(let i of e)r[i]=Fd(i,t,n);return r}function Ld(e){return Ve(e)?`GROUP_HEADER`:He(e)?`GROUP_FOOTER`:L(e)?`DETAIL`:vo(e)?`LOAD_MORE`:P(e.rowKind)}function Rd(e,t){let n=zu(e,t);return n?Ld(n):null}function zd(e){return typeof e==`function`}function Bd(e,n){let r=t.M(e,n);return e.map((e,i)=>{let a=e.data[n],o=e.isTransient||t.A(a)?null:a;return{data:r[i],internalRowId:e.id,businessRowId:o}})}function Vd(e,n,r){return{rows:t.M(e,n),rowKey:n,api:r,targets:Bd(e,n)}}function Hd(e,t){return[...zd(e)?e(t):e]}var Ud=class{requestFrame;cancelFrame;now;frameBudgetMs;rendererFrameBudgetMs;scrollActive=!1;p1=[];p2=[];f1=[];destroyTasks=[];scrollGridIfNeeded=null;scrollGoingDown=!0;ticking=!1;rafId=null;createOrderSeed=0;constructor(e={}){this.requestFrame=e.requestFrame??(e=>requestAnimationFrame(e)),this.cancelFrame=e.cancelFrame??(e=>cancelAnimationFrame(e)),this.now=e.now??(()=>performance.now()),this.frameBudgetMs=Math.max(1,e.frameBudgetMs??60),this.rendererFrameBudgetMs=Math.max(0,e.rendererFrameBudgetMs??20)}setRendererFrameBudgetMs(e){this.rendererFrameBudgetMs=Math.max(0,e)}getRendererFrameBudgetMs(){return this.rendererFrameBudgetMs}setScrollActive(e){this.scrollActive=e}isScrollActive(){return this.scrollActive}setFrameBudgetMs(e){this.frameBudgetMs=Math.max(1,e)}getFrameBudgetMs(){return this.frameBudgetMs}setScrollGridIfNeeded(e){this.scrollGridIfNeeded=e}setScrollDirection(e){this.scrollGoingDown=e}schedule(){this.ticking||(this.ticking=!0,this.rafId=this.requestFrame(()=>{this.ticking=!1,this.rafId=null,this.executeFrame(this.frameBudgetMs)}))}createTask(e,t,n){this.getTaskList(n).push({task:e,index:t,createOrder:this.createOrderSeed++,deferred:!1}),this.schedule()}addDestroyTask(e){this.destroyTasks.push(e),this.schedule()}flushAllFrames(e){this.rafId!=null&&(this.cancelFrame(this.rafId),this.rafId=null,this.ticking=!1);let t=e??-1,n=!0;for(;n||this.hasPendingWork();)n=!1,this.executeFrame(t)}destroy(){this.rafId!=null&&(this.cancelFrame(this.rafId),this.rafId=null),this.ticking=!1,this.p1=[],this.p2=[],this.f1=[],this.destroyTasks=[]}getPendingTaskCount(){return this.p1.length+this.p2.length+this.f1.length+this.destroyTasks.length}getPendingRendererTaskCount(){return this.f1.length}executeFrame(e){let t=this.now(),n=e<0,r=!n&&this.scrollActive&&this.rendererFrameBudgetMs>0&&this.f1.length>0,i=r?Math.max(0,e-this.rendererFrameBudgetMs):e,a=r?this.rendererFrameBudgetMs:e;for(this.runTaskPhase({start:t,budgetMs:i,unlimited:n,queues:r?[`p1`,`p2`]:[`p1`,`p2`,`f1`]}),r&&this.runTaskPhase({start:this.now(),budgetMs:a,unlimited:!1,queues:[`f1`]});n||this.now()-t<e;){let e=this.destroyTasks.shift();if(!e)break;e()}this.hasPendingWork()&&this.schedule()}runTaskPhase(e){for(;e.unlimited||this.now()-e.start<e.budgetMs;){if(this.scrollGridIfNeeded?.())continue;let t=this.popNextTask(e.queues);if(!t)break;t.task()}}hasPendingWork(){return this.p1.length>0||this.p2.length>0||this.f1.length>0||this.destroyTasks.length>0}popNextTask(e=[`p1`,`p2`,`f1`]){for(let t of e){let e=this.getTaskList(t);if(e.length!==0)return this.sortTaskList(e),e.shift()}}sortTaskList(e){e.sort((e,t)=>e.index===t.index?e.createOrder-t.createOrder:this.scrollGoingDown?e.index-t.index:t.index-e.index)}getTaskList(e){switch(e){case`p1`:return this.p1;case`p2`:return this.p2;case`f1`:return this.f1}}},Wd=class{depth=0;beginDeferred(){this.depth++}endDeferred(e){this.depth<=0||(this.depth--,this.depth===0&&e())}isDeferred(){return this.depth>0}reset(){this.depth=0}};function Gd(e){return{setData:t=>e.setData(t),applyTransaction:t=>e.applyTransaction(t),addRows:t=>e.addRows(t),addRowsByArray:(t,n)=>e.addRowsByArray(t,n),addGroupRows:t=>e.addGroupRows(t),addGroupRowsByArray:(t,n)=>e.addGroupRowsByArray(t,n),removeRows:t=>e.removeRows(t),updateRows:t=>e.updateRows(t),patchRow:t=>e.patchRow(t),removeSelectedRows:t=>e.removeSelectedRows(t),getData:t=>e.getData(t),promoteRowId:t=>e.promoteRowId(t),moveRow:(t,n,r)=>e.moveRow(t,n,r),moveRows:t=>e.moveRows(t),moveUp:t=>e.moveUp(t),moveDown:t=>e.moveDown(t),moveUps:t=>e.moveUps(t),moveDowns:t=>e.moveDowns(t),setSortModel:t=>e.setSortModel(t),getSortModel:()=>e.getSortModel(),setFilterModel:t=>e.setFilterModel(t),getFilterModel:()=>e.getFilterModel(),refreshInfiniteCache:()=>e.refreshInfiniteCache(),setInfiniteDatasource:t=>e.setInfiniteDatasource(t),retryInfiniteBlock:t=>e.retryInfiniteBlock(t),getLoadedRowData:()=>e.getLoadedRowData(),getInfiniteRowCount:()=>e.getInfiniteRowCount(),getColumnFilter:t=>e.getColumnFilter(t),isColumnFilterActive:t=>e.isColumnFilterActive(t),isAnyFilterActive:()=>e.isAnyFilterActive(),setQuickFilterText:t=>e.setQuickFilterText(t),getQuickFilterText:()=>e.getQuickFilterText(),clearAllFilters:()=>e.clearAllFilters(),setColumnFilter:(t,n)=>e.setColumnFilter(t,n),refreshCells:t=>e.refreshCells(t),refreshCellSpans:()=>e.refreshCellSpans(),getCellSpan:(t,n)=>e.getCellSpan(t,n),ensureIndexVisible:(t,n)=>e.ensureIndexVisible(t,n),getRowNode:t=>e.getRowNode(t),getSiblingRowsByRowId:(t,n)=>e.getSiblingRowsByRowId(t,n),getSiblingRowByIterator:(t,n)=>e.getSiblingRowByIterator(t,n),getRowKind:t=>e.getRowKind(t),getRowIndex:(t,n)=>e.getRowIndex(t,n),getRowIndexes:(t,n)=>e.getRowIndexes(t,n),getRowByIndex:t=>e.getRowByIndex(t),getRowsByIndexes:t=>e.getRowsByIndexes(t),getRowSnapshots:t=>e.getRowSnapshots(t),getRowIds:t=>e.getRowIds(t),getMetrics:()=>e.getMetrics(),getPendingFrameTaskCount:()=>e.getPendingFrameTaskCount(),getPendingRendererTaskCount:()=>e.getPendingRendererTaskCount(),beginUpdate:()=>e.beginUpdate(),endUpdate:()=>e.endUpdate(),scrollTo:(t,n)=>e.scrollTo(t,n),moveColumn:(t,n)=>e.moveColumn(t,n),resetColumnOrder:()=>e.resetColumnOrder(),resetColumnWidths:()=>e.resetColumnWidths(),setColumnFixed:(t,n)=>e.setColumnFixed(t,n),setColumnsHidden:(t,n)=>e.setColumnsHidden(t,n),isColumnHidden:t=>e.isColumnHidden(t),getDisplayedColumnIds:()=>e.getDisplayedColumnIds(),getColumns:()=>e.getColumns(),getDisplayedColumns:()=>e.getDisplayedColumns(),getColumnDistinctFilterValues:t=>e.getColumnDistinctFilterValues(t),setColumnWidths:(t,n,r)=>e.setColumnWidths(t,n,r),setColumnWidth:(t,n,r,i)=>e.setColumnWidth(t,n,r,i),getColumnWidth:t=>e.getColumnWidth(t),autoSizeColumn:(t,n)=>e.autoSizeColumn(t,n),autoSizeColumns:(t,n)=>e.autoSizeColumns(t,n),sizeColumnsToFit:t=>e.sizeColumnsToFit(t),setRowHeight:(t,n,r)=>e.setRowHeight(t,n,r),setRowHeights:(t,n)=>e.setRowHeights(t,n),getRowHeight:t=>e.getRowHeight(t),resetRowHeights:t=>e.resetRowHeights(t),updateDimensions:t=>e.updateDimensions(t),expandRow:t=>e.expandRow(t),collapseRow:t=>e.collapseRow(t),isRowExpanded:t=>e.isRowExpanded(t),setDetailRowData:(t,n)=>e.setDetailRowData(t,n),reloadDetailRowData:t=>e.reloadDetailRowData(t),expandAll:()=>e.expandAll(),collapseAll:()=>e.collapseAll(),setRowGroupColumns:t=>e.setRowGroupColumns(t),getRowGroupColumns:()=>e.getRowGroupColumns(),expandGroup:t=>e.expandGroup(t),collapseGroup:t=>e.collapseGroup(t),isGroupExpanded:t=>e.isGroupExpanded(t),expandNode:t=>e.expandNode(t),collapseNode:t=>e.collapseNode(t),isNodeExpanded:t=>e.isNodeExpanded(t),getDataPath:t=>e.getDataPath(t),getCellComment:(t,n)=>e.getCellComment(t,n),setCellComment:(t,n,r)=>e.setCellComment(t,n,r),refreshCellComments:t=>e.refreshCellComments(t),getCellRanges:()=>e.getCellRanges(),getCellSelectionAggregation:()=>e.getCellSelectionAggregation(),clearCellSelection:()=>e.clearCellSelection(),addCellRange:t=>e.addCellRange(t),copySelectedRangeToClipboard:()=>e.copySelectedRangeToClipboard(),pasteFromClipboard:()=>e.pasteFromClipboard(),showLoadingOverlay:()=>e.showLoadingOverlay(),showNoRowsOverlay:()=>e.showNoRowsOverlay(),hideOverlay:()=>e.hideOverlay(),isOverlayShowing:()=>e.isOverlayShowing(),getOverlayType:()=>e.getOverlayType(),refreshDisabledState:t=>e.refreshDisabledState(t),setRowStyle:t=>e.setRowStyle(t),setEditableCellStyle:t=>e.setEditableCellStyle(t),setShowEditableCellIcon:t=>e.setShowEditableCellIcon(t),setDisabledCellStyle:t=>e.setDisabledCellStyle(t),setShowDisabledCellIcon:t=>e.setShowDisabledCellIcon(t),setCellStyle:(t,n,r)=>e.setCellStyle(t,n,r),getCellStyle:(t,n)=>e.getCellStyle(t,n),getCellStyleOverride:(t,n)=>e.getCellStyleOverride(t,n),clearCellStyles:t=>e.clearCellStyles(t),refreshCellStyles:t=>e.refreshCellStyles(t),startEditingCell:t=>e.startEditingCell(t),stopEditing:t=>e.stopEditing(t),commit:t=>e.commit(t),isEditing:()=>e.isEditing(),isCommitting:()=>e.isCommitting(),awaitCommitIdle:()=>e.awaitCommitIdle(),cancelCommit:()=>e.cancelCommit(),getEditSessionPhase:()=>e.getEditSessionPhase(),getEditingCell:()=>e.getEditingCell(),getEditingCells:()=>e.getEditingCells(),registerCellEditor:(t,n)=>e.registerCellEditor(t,n),unregisterCellEditor:t=>e.unregisterCellEditor(t),getCellEditorCache:(t,n,r)=>e.getCellEditorCache(t,n,r),setCellEditorCache:(t,n,r,i)=>e.setCellEditorCache(t,n,r,i),clearCellEditorCache:(t,n,r)=>e.clearCellEditorCache(t,n,r),clearAllCellEditorCache:()=>e.clearAllCellEditorCache(),validate:t=>e.validate(t),validateRows:t=>e.validateRows(t),validateCells:t=>e.validateCells(t),clearValidation:t=>e.clearValidation(t),clearRowValidation:t=>e.clearRowValidation(t),clearCellValidation:t=>e.clearCellValidation(t),toggleRowSelection:(t,n,r)=>e.toggleRowSelection(t,n,r),toggleAllSelection:t=>e.toggleAllSelection(t),clearRowSelection:t=>e.clearRowSelection(t),setDefaultSelectedRows:(t,n)=>e.setDefaultSelectedRows(t,n),clearPendingDefaultSelectedRows:()=>e.clearPendingDefaultSelectedRows(),reconcileDefaultSelectedRows:()=>e.reconcileDefaultSelectedRows(),getSelectedRowIds:()=>e.getSelectedRowIds(),getSelectedRows:()=>e.getSelectedRows(),getIndexFocusedRowIds:t=>e.getIndexFocusedRowIds(t),getIndexFocusedRows:t=>e.getIndexFocusedRows(t),setIndexFocus:(t,n)=>e.setIndexFocus(t,n),destroy:()=>e.destroy(),on:(t,n)=>e.on(t,n)}}var Kd=[`.mg-cell-editor-host`],qd=[];function Jd(e){qd.push(...e)}function Yd(){qd.length=0}function Xd(e){return e instanceof Element?e:e instanceof Text?e.parentElement:null}function Zd(){return[...Kd,...qd]}function Qd(e){let t=Xd(e);return t?Zd().some(e=>t.closest(e)!=null):!1}function $d(e=document.activeElement){return Qd(e)}function ef(e){let t=Xd(e);return t?t.closest(`.mg-cell[data-col-id]`)!=null:!1}var tf=[`mg-cell-editor-host--align-h-left`,`mg-cell-editor-host--align-h-center`,`mg-cell-editor-host--align-h-right`];function nf(e,t){for(let t of tf)e.classList.remove(t);e.classList.add(`mg-cell-editor-host--align-h-${t}`)}function rf(e,n,r){nf(e,t.d(n,r))}var af=`mg-inline-checkbox`,of=`mg-inline-switch`,sf=`mg-switch-editor`,cf=[af,of];function lf(e,t){let n=document.createElement(`input`);return n.className=`mg-cell-editor`,n.type=e,n.value=t,n.style.width=`100%`,n.style.height=`100%`,n.style.boxSizing=`border-box`,n}function uf(e,t){let n=document.createElement(`input`);return n.type=`checkbox`,n.className=t.inline?[`mg-cell-editor`,t.inlineClass,t.extraClasses].filter(Boolean).join(` `):[`mg-cell-editor`,t.extraClasses].filter(Boolean).join(` `),n.checked=t.checked,t.role&&n.setAttribute(`role`,t.role),t.params.setGetValue?.(()=>t.readValue(n)),t.inline&&(n.addEventListener(`click`,e=>{e.stopPropagation()}),n.addEventListener(`change`,()=>{t.params.commit?.()})),e.mountEl.appendChild(n),n}var df=(e,t)=>{let n=lf(`text`,e.formattedValue);return t.mountEl.appendChild(n),n},ff=(e,t)=>{let n=lf(`number`,e.value==null||e.value===``?``:String(e.value));return t.mountEl.appendChild(n),n},pf=(e,t)=>{let n=Rt(e.cellEditorParams)??null;return uf(t,{inline:e.inline===!0,inlineClass:af,checked:nn(e.value,n),readValue:e=>an(e,n),params:e})},mf=(e,t)=>{let n=zt(e.cellEditorParams)??null;return uf(t,{inline:e.inline===!0,inlineClass:of,extraClasses:sf,role:`switch`,checked:Yt(e.value,n),readValue:e=>Qt(e,n),params:e})};function hf(e){return e===`checkbox`||e===`switch`}function gf(e){return e instanceof Element&&cf.some(t=>e.closest(`input.${t}`))}function _f(e,t){return e instanceof HTMLInputElement&&e.type===`checkbox`?Qt(e,sn(t??{})):e.value}var vf=new Map;function yf(e,t){if(!e||En(e))throw Error(`Invalid cell editor name "${e}"`);vf.set(e,t)}function bf(e){return vf.delete(e)}function xf(e){return vf.get(e)}function Sf(e){return vf.has(e)}function Cf(){return[...vf.keys()]}function wf(e,t={}){return t[e]??vf.get(e)}function Tf(e,t={}){return e===void 0?df:typeof e==`function`?e:En(e)?e===`number`?ff:e===`checkbox`?pf:e===`switch`?mf:df:wf(e,t.byName)||(console.warn(`[magic-grid] Cell editor "${e}" is not registered; falling back to text editor.`),df)}var Ef=class{onUnmountEditor;instanceEditors;editorOptions;constructor(e={}){this.onUnmountEditor=e.onUnmountEditor,this.instanceEditors={...e.byName??{}},this.editorOptions=e.editorOptions??t.f()}register(e,t){if(!e||En(e))throw Error(`Invalid cell editor name "${e}"`);this.instanceEditors[e]=t}unregister(e){return delete this.instanceEditors[e]}has(e){return e in this.instanceEditors||wf(e,this.instanceEditors)!==void 0}mount(e,t,n,r){let i=e.querySelector(`.mg-cell[data-col-id="${t.colId}"]`),a=i??e,o=document.createElement(`div`);o.className=`mg-cell-editor-host`,rf(o,t.align,this.editorOptions),o.style.position=`absolute`,o.style.top=`0`,o.style.boxSizing=`border-box`,i?(o.style.left=`0`,o.style.width=`100%`,o.style.height=`100%`,i.classList.add(`mg-cell--editing`)):(o.style.left=`${t.left}px`,o.style.width=`${t.width}px`,o.style.height=`100%`),a.appendChild(o);let s=null,c={mountEl:o,clear:()=>{this.onUnmountEditor?.(o),o.replaceChildren()}},l={...Ut(t,n),setGetValue:e=>{s=e}},u=Tf(r,{byName:this.instanceEditors})(l,c);return u instanceof HTMLElement&&!o.contains(u)&&o.appendChild(u),{mountEl:o,getValue:()=>{if(s)return s();let e=o.querySelector(`input:not([type="hidden"]).mg-cell-editor, select.mg-cell-editor, textarea.mg-cell-editor`);if(e)return _f(e,t);let r=o.querySelector(`input:not([type="hidden"]), select, textarea`);return r?_f(r,t):n.formattedValue},getFocusTarget:()=>u instanceof HTMLElement?u:o.querySelector(`input:not([type="hidden"]), select, textarea, [tabindex]`)??o.firstElementChild,destroy:()=>{o.parentElement?.classList.remove(`mg-cell--editing`),c.clear(),o.remove()}}}},Df=class{editing=null;mountedEditor=null;listenerTarget=null;onCommit=null;onCancel=null;onEditingStopped=null;onTab=null;onEditingInput=null;onCommitLifecycle=null;oldValue=void 0;blurCommitAfterClickListener=null;blurCommitFallbackTimer=null;deferBlurCommitUntil=0;pinnedRowIds=new Set;editorHost;keyboardPolicy={};phase=`idle`;commitController=null;inflightCommit=null;nextCommitId=0;handleEditorKeyDown=e=>{if(this.phase===`committing`){e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.cancelCommit());return}if(e.key===`Enter`){if(this.shouldDeferEnterCommit())return;e.preventDefault(),e.stopPropagation(),this.stopEditing(!0)}else if(e.key===`Escape`)e.preventDefault(),e.stopPropagation(),this.stopEditing(!1);else if(e.key===`Tab`){if(xn(this.keyboardPolicy,e))return;e.preventDefault(),e.stopPropagation();let t=this.onTab,n=e.shiftKey;this.stopEditing(!0).then(e=>{e?.committed&&t?.(n)})}else e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&this.onEditingInput?.()};handleEditorFocusOut=e=>{let t=e,n=this.editing;requestAnimationFrame(()=>{this.isEditing()&&this.editing===n&&this.phase!==`committing`&&(this.isFocusWithinEditorSurface(t)||this.isFocusMovingToOtherGridCell(t)||this.isBlurCommitDeferred()||(this.clearPendingBlurCommit(),this.scheduleBlurCommitAfterClick()))})};isFocusMovingToOtherGridCell(e){let t=this.editing;if(!t)return!1;let n=e.relatedTarget;if(!(n instanceof Node)||!ef(n))return!1;let r=(n instanceof Element?n:n.parentElement)?.closest(`.mg-cell[data-col-id]`),i=r?.closest(`.mg-row[data-row-id]`);return!r?.dataset.colId||!i?.dataset.rowId?!1:i.dataset.rowId!==String(t.rowId)||r.dataset.colId!==t.colId}constructor(e){this.editorHost=e??new Ef}getEditingCell(){return this.editing}isEditing(){return this.editing!==null}isCommitting(){return this.phase===`committing`}getEditSessionPhase(){return this.phase}getEditorValue(){return this.mountedEditor?.getValue()??null}getEditorMountEl(){return this.mountedEditor?.mountEl??null}awaitCommitIdle(){return(this.inflightCommit??Promise.resolve()).then(()=>void 0)}isPinnedRow(e){return this.pinnedRowIds.has(e)}getPinnedRowIds(){return this.pinnedRowIds}cancelCommit(){this.phase===`committing`&&(this.commitController?.abort(),this.finishCommittingVisual(),this.phase=`editing`,this.commitController=null,this.onCommitLifecycle?.onAborted?.())}cancelPendingBlurCommit(){this.clearPendingBlurCommit()}deferBlurCommitDuringPointerGesture(e=600){this.deferBlurCommitUntil=performance.now()+e,this.clearPendingBlurCommit()}isBlurCommitDeferred(){return performance.now()<this.deferBlurCommitUntil}startEditing(e,t,n,r,i,a){this.clearPendingBlurCommit(),this.stopEditing(!1),this.editing={rowId:String(t.id),colId:n.colId,rowIndex:t.rowIndex},this.oldValue=i,this.phase=`editing`,this.pinnedRowIds.add(t.id),this.onCommit=a.onCommit,this.onCancel=a.onCancel,this.onEditingStopped=a.onEditingStopped??null,this.onTab=a.onTab??null,this.onEditingInput=a.onEditingInput??null,this.onCommitLifecycle=a.onCommitLifecycle??null;let o={};this.keyboardPolicy=o;let{editorParams:s}=a,c={...s,rowId:t.id,rowIndex:t.rowIndex,colId:n.colId,value:i,data:t.data,formattedValue:r,size:s.size??`default`,stopEditing:(e=!0)=>this.stopEditing(e).then(e=>e?{committed:e.committed}:null),cancelCommit:()=>this.cancelCommit(),getEditPhase:()=>this.phase,validate:s.validate??(async()=>({valid:!0})),setKeyboardPolicy:e=>{Object.assign(o,e),this.keyboardPolicy=o}};this.mountedEditor=this.editorHost.mount(e,n,c,n.cellEditor),this.attachEditorListeners(this.mountedEditor),requestAnimationFrame(()=>{this.mountedEditor&&this.isEditing()&&this.keyboardPolicy.suppressInitialAutoFocus!==!0&&this.focusEditor(this.mountedEditor)})}async stopEditing(e){if(!this.editing||!this.mountedEditor)return null;if(this.phase===`committing`)return e||this.cancelCommit(),this.inflightCommit;if(this.clearPendingBlurCommit(),!e)return this.cancelEditingSession();let t=this.commitEditingSession();this.inflightCommit=t;try{return await t}finally{this.inflightCommit===t&&(this.inflightCommit=null)}}destroy(){this.clearPendingBlurCommit(),this.cancelCommit(),this.mountedEditor&&(this.detachEditorListeners(),this.mountedEditor.destroy()),this.mountedEditor=null,this.editing=null,this.onCommit=null,this.onCancel=null,this.onEditingStopped=null,this.onTab=null,this.onEditingInput=null,this.onCommitLifecycle=null,this.oldValue=void 0,this.keyboardPolicy={},this.phase=`idle`,this.commitController=null,this.inflightCommit=null,this.pinnedRowIds.clear()}async commitEditingSession(){if(!this.editing||!this.mountedEditor)return null;let t=this.editing,n=this.mountedEditor,r=n.getValue(),i=this.onCommit,a=this.oldValue,o=++this.nextCommitId;this.phase=`committing`,this.setCommittingVisual(!0),this.onCommitLifecycle?.onStarted?.();let s=e.s(o,this.commitController);this.commitController=s;let c={ok:!1};try{let e=await i?.(r,s.context);if(s.context.commitId!==o)return null;c=e??{ok:!0}}catch(t){if(e.c(t))c={ok:`aborted`};else throw t}finally{this.commitController===s&&(this.commitController=null),this.finishCommittingVisual()}if(s.context.commitId!==o||this.editing!==t)return null;if(this.onCommitLifecycle?.onFinished?.(c),c.ok===`aborted`)return this.phase=`editing`,this.onCommitLifecycle?.onAborted?.(),null;if(c.ok===!1){if(c.revert){let e=this.onEditingStopped;this.teardownEditorSession(n);let r={committed:!1,oldValue:a,newValue:void 0,rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex};return e?.(r),r}return this.phase=`editing`,this.focusEditor(n),null}let l=c.newValue===void 0?r:c.newValue;return this.finalizeSuccessfulCommit(t,n,a,l)}cancelEditingSession(){if(!this.editing||!this.mountedEditor)return null;let e=this.editing,t=this.mountedEditor,n=this.onCancel,r=this.onEditingStopped,i=this.oldValue;this.teardownEditorSession(t),n?.();let a={committed:!1,oldValue:i,newValue:void 0,rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex};return r?.(a),a}finalizeSuccessfulCommit(e,t,n,r){let i=this.onEditingStopped;this.teardownEditorSession(t);let a={committed:!0,oldValue:n,newValue:r,rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex};return i?.(a),a}teardownEditorSession(e){let t=this.editing;this.detachEditorListeners(),this.mountedEditor=null,this.editing=null,this.onCommit=null,this.onCancel=null,this.onEditingStopped=null,this.onTab=null,this.onEditingInput=null,this.onCommitLifecycle=null,this.oldValue=void 0,this.keyboardPolicy={},this.phase=`idle`,this.commitController=null,t&&this.pinnedRowIds.delete(t.rowId),e.destroy()}setCommittingVisual(e){if(!this.editing||!this.mountedEditor)return;let t=this.mountedEditor.mountEl.parentElement;((t?.classList.contains(`mg-cell`)?t.parentElement:t)?.querySelector(`.mg-cell[data-col-id="${this.editing.colId}"]`))?.classList.toggle(`mg-cell--committing`,e),this.mountedEditor.mountEl.classList.toggle(`mg-cell-editor-host--committing`,e)}finishCommittingVisual(){this.setCommittingVisual(!1)}attachEditorListeners(e){this.listenerTarget=e.mountEl,this.listenerTarget.addEventListener(`keydown`,this.handleEditorKeyDown,!0),this.listenerTarget.addEventListener(`focusout`,this.handleEditorFocusOut)}detachEditorListeners(){this.listenerTarget&&=(this.listenerTarget.removeEventListener(`keydown`,this.handleEditorKeyDown,!0),this.listenerTarget.removeEventListener(`focusout`,this.handleEditorFocusOut),null)}resolveFocusTarget(e){let t=e.getFocusTarget();return t?t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement?t:t.querySelector(`input:not([type="hidden"]), select, textarea`)??t:null}shouldDeferEnterCommit(){return this.keyboardPolicy.deferEnterCommit===!0}isFocusWithinEditorSurface(e){return!!($d()||e?.relatedTarget instanceof Node&&Qd(e.relatedTarget))}focusEditor(e){let t=this.resolveFocusTarget(e);t&&t.focus()}scheduleBlurCommitAfterClick(){if(this.isBlurCommitDeferred())return;let e=this.editing;if(!e)return;let t=()=>{if(this.clearPendingBlurCommit(),!this.isEditing()||this.phase===`committing`)return;let t=this.editing;!t||t.rowId!==e.rowId||t.colId!==e.colId||this.stopEditing(!0).then(e=>{e===null&&this.isEditing()&&this.mountedEditor&&this.focusEditor(this.mountedEditor)})};this.blurCommitAfterClickListener=e=>{if(!Qd(e.target)){if(ef(e.target)){this.clearPendingBlurCommit();return}t()}},window.addEventListener(`click`,this.blurCommitAfterClickListener,!1),this.blurCommitFallbackTimer=window.setTimeout(()=>{t()},300)}clearPendingBlurCommit(){this.blurCommitAfterClickListener&&=(window.removeEventListener(`click`,this.blurCommitAfterClickListener,!1),null),this.blurCommitFallbackTimer!==null&&(clearTimeout(this.blurCommitFallbackTimer),this.blurCommitFallbackTimer=null)}};function Of(e){return[...e.getLeftFixedColumnIndices(),...e.getCenterColumnIndices(),...e.getRightFixedColumnIndices()]}function kf(e,t){let n=t.indexOf(e);return n>=0?n:0}function Af(e,t){return t[e]}function jf(e){return e[0]??0}function Mf(e){return e[e.length-1]??0}var Nf=`__header__`,Pf=`__footer__`;function Ff(e){return e.rowIndex===-1}function If(e){return e.rowIndex===-2}function q(e){return Ff(e)||If(e)}function Lf(e={}){return{headerEnabled:e.headerEnabled??!1,footerEnabled:e.footerEnabled??!1}}function Rf(e,t){return e===-1?Nf:e===-2?Pf:t(e)}var zf=class{focus=null;getFocusedCell(){return this.focus}setFocusedCell(e){this.focus=e}clear(){this.focus=null}move(e,t,n,r,i,a={}){let o=this.focus??Gf(t,n,r,i);if(!o)return null;let s=Bf(o,e,t,n,r,i,a);return this.focus=s,s}moveTab(e,t,n,r,i,a={}){let o=this.focus??Gf(t,n,r,i);if(!o)return null;let s=Vf(o,e,t,n,r,i,a);return this.focus=s,s}moveToEdge(e,t,n,r,i,a={}){let o=this.focus??Gf(t,n,r,i);if(!o)return null;let s=Hf(o,e,t,n,r,i,a);return this.focus=s,s}};function Bf(e,t,n,r,i,a,o={}){let{headerEnabled:s,footerEnabled:c}=Lf(o),l=r.length;if(n<=0||l<=0)return null;let u=e.rowIndex,d=kf(e.colIndex,r);t===`up`?u===-2?u=n-1:u===-1||(u===0?s&&(u=-1):--u):t===`down`?u=s&&u===-1?0:c&&u===n-1?-2:Math.min(n-1,u+1):t===`left`?d=Math.max(0,d-1):t===`right`&&(d=Math.min(l-1,d+1));let f=Af(d,r),p=Rf(u,i),m=f===void 0?void 0:a(f);return f===void 0||!p||!m||u===e.rowIndex&&f===e.colIndex?e:{rowId:p,colId:m,rowIndex:u,colIndex:f}}function Vf(e,t,n,r,i,a,o={}){let{headerEnabled:s,footerEnabled:c}=Lf(o),l=r.length;if(n<=0||l<=0)return null;let u=e.rowIndex,d=kf(e.colIndex,r);t?c&&u===-2&&d===0?(u=n-1,d=l-1):u===-2&&d>0?--d:s&&u===0&&d===0?(u=-1,d=l-1):s&&u===-1?d>0&&--d:d>0?--d:u>0&&(--u,d=l-1):s&&u===-1?d<l-1?d+=1:(u=0,d=0):u===-2?d<l-1&&(d+=1):d<l-1?d+=1:u<n-1?(u+=1,d=0):c&&u===n-1&&(u=-2,d=0);let f=Af(d,r),p=Rf(u,i),m=f===void 0?void 0:a(f);return f===void 0||!p||!m||u===e.rowIndex&&f===e.colIndex?e:{rowId:p,colId:m,rowIndex:u,colIndex:f}}function Hf(e,t,n,r,i,a,o={}){let{headerEnabled:s,footerEnabled:c}=Lf(o),l=r.length;if(n<=0||l<=0)return null;let u=e.rowIndex,d=e.colIndex;t===`up`?u=s?-1:0:t===`down`?u=c?-2:n-1:t===`left`?d=jf(r):t===`right`&&(d=Mf(r));let f=Rf(u,i),p=a(d);return!f||!p||u===e.rowIndex&&d===e.colIndex?e:{rowId:f,colId:p,rowIndex:u,colIndex:d}}function Uf(e,t,n,r,i,a,o,s={}){let c=r.length;if(n<=0||c<=0)return null;let l=e,u=n*c;for(let e=0;e<u;e++){let e=Vf(l,t,n,r,i,a,s);if(!e||e.rowIndex===l.rowIndex&&e.colIndex===l.colIndex)return null;if(l=e,e.rowIndex!==-1&&e.rowIndex!==-2&&o(e.rowIndex,e.colId))return e}return null}function Wf(e,t,n){if(t.length===0)return null;if(t.length===1)return t[0]??null;let r=t.indexOf(e),i=r>=0?r:0;return t[n?(i-1+t.length)%t.length:(i+1)%t.length]??null}function Gf(e,t,n,r){let i=jf(t),a=n(0),o=r(i);return!a||!o||e<=0||t.length===0?null:{rowId:a,colId:o,rowIndex:0,colIndex:i}}var Kf=class{editing=null;onCommitRow=null;onFocusColChange=null;activeColId=null;onCancel=null;onRowEditingStopped=null;onCommitLifecycle=null;blurCommitAfterClickListener=null;blurCommitFallbackTimer=null;attachedListeners=[];pinnedRowIds=new Set;editorHost;phase=`idle`;commitController=null;inflightCommit=null;nextCommitId=0;handleEditorKeyDown=e=>{if(this.phase===`committing`){e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.cancelCommit());return}if(e.key===`Tab`){let t=this.resolveColIdFromEvent(e),n=t?this.editing?.cells.get(t):void 0;if(n&&xn(n.keyboardPolicy,e))return;e.preventDefault(),e.stopPropagation(),this.navigateRowTab(e.shiftKey,t);return}if(e.key===`Enter`){let t=this.resolveColIdFromEvent(e);if((t?this.editing?.cells.get(t):void 0)?.keyboardPolicy.deferEnterCommit)return;e.preventDefault(),e.stopPropagation(),this.stopRowEditing(!0);return}e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.stopRowEditing(!1))};handleEditorBlur=e=>{let t=e,n=this.editing;requestAnimationFrame(()=>{this.isEditing()&&this.editing===n&&this.phase!==`committing`&&(this.isFocusWithinRowEditors(t.relatedTarget)||(this.clearPendingBlurCommit(),this.scheduleBlurCommitAfterClick()))})};constructor(e){this.editorHost=e??new Ef}getEditingRow(){return this.editing?{rowId:this.editing.rowId,rowIndex:this.editing.rowIndex}:null}getActiveColId(){return this.editing?this.activeColId&&this.editing.cells.has(this.activeColId)?this.activeColId:this.editing.focusColId&&this.editing.cells.has(this.editing.focusColId)?this.editing.focusColId:this.editing.cells.keys().next().value??null:null}focusEditingColumn(e){return this.editing?.cells.has(e)?(this.focusRowEditor(e),!0):!1}getEditingCells(){return this.editing?[...this.editing.cells.values()].map(e=>({rowId:this.editing.rowId,rowIndex:this.editing.rowIndex,colId:e.colId})):[]}getEditorValue(e){return this.editing?.cells.get(e)?.mountedEditor.getValue()??null}getEditorMountEl(e){return this.editing?.cells.get(e)?.mountedEditor.mountEl??null}isEditing(){return this.editing!==null}isCommitting(){return this.phase===`committing`}getEditSessionPhase(){return this.phase}awaitCommitIdle(){return(this.inflightCommit??Promise.resolve()).then(()=>void 0)}cancelCommit(){this.phase===`committing`&&(this.commitController?.abort(),this.finishCommittingVisual(),this.phase=`editing`,this.commitController=null,this.onCommitLifecycle?.onAborted?.())}isPinnedRow(e){return this.pinnedRowIds.has(e)}getPinnedRowIds(){return this.pinnedRowIds}startRowEditing(e){if(e.columns.length===0)return!1;this.stopRowEditing(!1);let{rowElement:t,rowNode:n,columns:r,focusColId:i}=e,a=new Map;for(let e of r){let n={},r={...e.params,autoFocus:i==null||e.column.colId===i,stopEditing:(e=!0)=>this.stopRowEditing(e).then(e=>e?{committed:e.committed}:null),cancelCommit:()=>this.cancelCommit(),getEditPhase:()=>this.phase,setKeyboardPolicy:t=>{Object.assign(n,t);let r=a.get(e.column.colId);r&&(r.keyboardPolicy=n)}},o=this.editorHost.mount(t,e.column,r,e.column.cellEditor);a.set(e.column.colId,{colId:e.column.colId,column:e.column,oldValue:e.oldValue,mountedEditor:o,keyboardPolicy:n}),this.attachEditorListeners(o)}return this.editing={rowId:n.id,rowIndex:n.rowIndex,rowElement:t,focusColId:i,cells:a},this.phase=`editing`,this.onCommitRow=e.onCommitRow,this.onFocusColChange=e.onFocusColChange??null,this.onCancel=e.onCancel??null,this.onRowEditingStopped=e.onRowEditingStopped??null,this.onCommitLifecycle=e.onCommitLifecycle??null,this.pinnedRowIds.add(n.id),queueMicrotask(()=>{let e=i??(this.editing?.focusColId&&this.editing.cells.has(this.editing.focusColId)?this.editing.focusColId:this.editing?.cells.keys().next().value);if((e?this.editing?.cells.get(e):void 0)?.keyboardPolicy.suppressInitialAutoFocus===!0){e&&(this.activeColId=e,this.editing.focusColId=e,this.onFocusColChange?.(e));return}this.focusRowEditor(i)}),!0}async stopRowEditing(e){if(!this.editing)return null;if(this.phase===`committing`)return e||this.cancelCommit(),this.inflightCommit;if(this.clearPendingBlurCommit(),!e)return this.cancelRowEditingSession();let t=this.commitRowEditingSession();this.inflightCommit=t;try{return await t}finally{this.inflightCommit===t&&(this.inflightCommit=null)}}destroy(){this.clearPendingBlurCommit(),this.cancelCommit(),this.teardownEditingState(),this.onCommitRow=null,this.onFocusColChange=null,this.activeColId=null,this.onCancel=null,this.onRowEditingStopped=null,this.onCommitLifecycle=null,this.phase=`idle`,this.commitController=null,this.inflightCommit=null,this.pinnedRowIds.clear()}async commitRowEditingSession(){if(!this.editing)return null;let t=this.editing,n=new Map;for(let e of t.cells.values())n.set(e.colId,e.mountedEditor.getValue());let r=this.onCommitRow;if(!r)return null;let i=++this.nextCommitId;this.phase=`committing`,this.setCommittingVisual(!0),this.onCommitLifecycle?.onStarted?.();let a=e.s(i,this.commitController);this.commitController=a;let o={ok:!1,failedColId:``};try{let e=await r(n,a.context);if(a.context.commitId!==i)return null;o=e}catch(t){if(e.c(t))o={ok:`aborted`};else throw t}finally{this.commitController===a&&(this.commitController=null),this.finishCommittingVisual()}return a.context.commitId!==i||this.editing!==t?null:(this.onCommitLifecycle?.onFinished?.(o),o.ok===`aborted`?(this.phase=`editing`,this.onCommitLifecycle?.onAborted?.(),null):o.ok===!1?o.revert?this.revertRowEditingSession(t):(this.phase=`editing`,this.focusRowEditor(o.failedColId),null):this.finalizeSuccessfulCommit(t,o.cells))}revertRowEditingSession(e){let t=this.onRowEditingStopped,n=[];for(let t of e.cells.values())n.push({colId:t.colId,committed:!1,oldValue:t.oldValue,newValue:void 0});this.teardownEditingState(),this.onCommitRow=null,this.onFocusColChange=null,this.activeColId=null,this.onCancel=null,this.onRowEditingStopped=null,this.onCommitLifecycle=null;let r={rowId:e.rowId,rowIndex:e.rowIndex,committed:!1,cells:n};return t?.(r),r}cancelRowEditingSession(){if(!this.editing)return null;let e=this.editing,t=this.onCancel,n=this.onRowEditingStopped,r=[];for(let t of e.cells.values())r.push({colId:t.colId,committed:!1,oldValue:t.oldValue,newValue:void 0});this.teardownEditingState(),t?.(),this.onCommitRow=null,this.onFocusColChange=null,this.activeColId=null,this.onCancel=null,this.onRowEditingStopped=null,this.onCommitLifecycle=null;let i={rowId:e.rowId,rowIndex:e.rowIndex,committed:!1,cells:r};return n?.(i),i}finalizeSuccessfulCommit(e,t){let n=this.onRowEditingStopped;this.teardownEditingState(),this.onCommitRow=null,this.onFocusColChange=null,this.activeColId=null,this.onCancel=null,this.onRowEditingStopped=null,this.onCommitLifecycle=null;let r={rowId:e.rowId,rowIndex:e.rowIndex,committed:!0,cells:t};return n?.(r),r}teardownEditingState(){if(this.editing){for(let e of this.editing.cells.values())e.mountedEditor.destroy();this.detachEditorListeners(),this.editing=null,this.phase=`idle`,this.commitController=null,this.pinnedRowIds.clear()}}setCommittingVisual(e){if(this.editing){this.editing.rowElement.classList.toggle(`mg-row--committing`,e);for(let t of this.editing.cells.values())t.mountedEditor.mountEl.classList.toggle(`mg-cell-editor-host--committing`,e)}}finishCommittingVisual(){this.setCommittingVisual(!1)}attachEditorListeners(e){let t=e.getFocusTarget();if(e.mountEl.addEventListener(`keydown`,this.handleEditorKeyDown,!0),t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement){t.addEventListener(`blur`,this.handleEditorBlur),this.attachedListeners.push({mountEl:e.mountEl,blurTarget:t});return}this.attachedListeners.push({mountEl:e.mountEl,blurTarget:null})}detachEditorListeners(){for(let e of this.attachedListeners)e.mountEl.removeEventListener(`keydown`,this.handleEditorKeyDown,!0),e.blurTarget&&e.blurTarget.removeEventListener(`blur`,this.handleEditorBlur);this.attachedListeners.length=0}focusRowEditor(e){if(!this.editing)return;let t=e&&this.editing.cells.has(e)?e:this.editing.focusColId&&this.editing.cells.has(this.editing.focusColId)?this.editing.focusColId:this.editing.cells.keys().next().value;t&&((this.editing.cells.get(t)?.mountedEditor.getFocusTarget())?.focus(),this.activeColId=t,this.editing.focusColId=t,this.onFocusColChange?.(t))}getOrderedEditableColIds(){return this.editing?[...this.editing.cells.values()].sort((e,t)=>e.column.left-t.column.left).map(e=>e.colId):[]}navigateRowTab(e,t){if(!this.editing)return;let n=this.getOrderedEditableColIds(),r=t??this.activeColId??n[0];if(!r)return;let i=Wf(r,n,e);i&&this.focusRowEditor(i)}resolveColIdFromEvent(e){if(!this.editing)return;let t=e.target;if(t instanceof Node){for(let e of this.editing.cells.values())if(e.mountedEditor.mountEl.contains(t))return e.colId}}isFocusWithinRowEditors(e){if(!this.editing)return!1;if(e instanceof Node){for(let t of this.editing.cells.values())if(t.mountedEditor.mountEl.contains(e))return!0;if(Qd(e))return!0}return $d()}scheduleBlurCommitAfterClick(){let e=()=>{this.clearPendingBlurCommit(),!(!this.isEditing()||this.phase===`committing`)&&this.stopRowEditing(!0).then(e=>{e===null&&this.isEditing()&&this.focusRowEditor()})};this.blurCommitAfterClickListener=t=>{Qd(t.target)||e()},window.addEventListener(`click`,this.blurCommitAfterClickListener,!1),this.blurCommitFallbackTimer=window.setTimeout(()=>{e()},300)}clearPendingBlurCommit(){this.blurCommitAfterClickListener&&=(window.removeEventListener(`click`,this.blurCommitAfterClickListener,!1),null),this.blurCommitFallbackTimer!==null&&(clearTimeout(this.blurCommitFallbackTimer),this.blurCommitFallbackTimer=null)}};function qf(e,t){return`${e}::${t}`}function Jf(e,t){return e?.backgroundColor===t.backgroundColor&&e?.color===t.color}var Yf=class{overrides=new Map;get(e,t){return this.overrides.get(qf(e,t))}hasOverrides(){return this.overrides.size>0}set(e,t,n){let r=qf(e,t);return!Jf(this.overrides.get(r),n)&&(this.overrides.set(r,{...n}),!0)}delete(e,t){return this.overrides.delete(qf(e,t))}clear(e){if(!e?.rowIds?.length&&!e?.colIds?.length){this.overrides.clear();return}let t=e.rowIds?.length?new Set(e.rowIds.map(e=>String(e))):null,n=e.colIds?.length?new Set(e.colIds):null;for(let e of[...this.overrides.keys()]){let r=e.indexOf(`::`);if(r<0){this.overrides.delete(e);continue}let i=e.slice(0,r),a=e.slice(r+2);t&&!t.has(i)||n&&!n.has(a)||this.overrides.delete(e)}}};function Xf(e){if(e==null||!Array.isArray(e))return null;let t=e.filter(e=>typeof e==`string`).map(e=>e.trim()).filter(Boolean);return t.length>0?t:null}function Zf(e){if(e==null)return null;if(Array.isArray(e)){let t=Xf(e);return t?{errors:t}:null}if(typeof e==`object`&&Array.isArray(e.errors)){let t=Xf(e.errors);if(!t)return null;let n=e.colIds?.filter(e=>typeof e==`string`&&e.length>0);return n?.length?{errors:t,colIds:n}:{errors:t}}return null}function Qf(e,t){return e.length===0||t.length===0?[]:t.length===1?e.map(e=>({colId:e,errors:[t[0]]})):t.length===e.length?e.map((e,n)=>({colId:e,errors:[t[n]]})):e.map(e=>({colId:e,errors:[...t]}))}function $f(e,t){if(t?.length)return[...t];let n=new Set(e);return n.has(`min`)&&n.has(`max`)?[`min`,`max`]:e.length>0?[e[0]]:[]}async function ep(t,n,r,i){e.l(i);let a=t.cellValidator;if(!a)return null;try{let t=await a({...n,parsedValue:r,signal:i});return e.l(i),Xf(t)}catch(t){throw e.c(t),t}}async function tp(t,n){if(!t)return null;e.l(n.signal);try{let r=await t(n);return e.l(n.signal),Zf(r)}catch(t){throw e.c(t),t}}async function np(e,t,n,r){let i=await ep(e,t,n,r??new AbortController().signal);return i?{valid:!1,errors:i}:{valid:!0}}function rp(e,t){return t.index?String(t.index(e)):String(e+t.start)}function ip(e,n,r){if(t.it(n.colId))return r?rp(e.rowIndex,r):String(e.rowIndex+1);if(t.X(n.colId)||A(n.colId)||n.rowExpand||R(n.colId))return``;if(He(e)&&n.groupAgg)return e.__groupAggValues?.[n.colId]?.formattedValue??``;let i=n.prop??n.colId,a=i?e.data[i]:void 0;return n.valueGetter&&(a=n.valueGetter(e.data,a)),n.formatter?n.formatter(e.data,a):a==null?``:String(a)}function ap(e){return{api:e.getApi(),size:e.gridSize}}var op=new AbortController().signal;async function sp(t,n,r,i,a){let o=t.cellCommitted;if(!o)return;let s=i.buildRowSnapshot(n);if(!s)return;let c=a.signal??op,l=ip(n,t,i.getIndexColumnOptions?.());try{await o({row:s,colId:t.colId,value:r.newValue,oldValue:r.oldValue,newValue:r.newValue,formattedValue:l,source:a.source,signal:c,context:ap(i)})}catch(n){if(e.c(n))throw n;console.error(`[magic-grid] cellCommitted failed`,{colId:t.colId,rowId:s.rowId,internalRowId:s.internalRowId,source:a.source,error:n})}}async function cp(e,t){e.beginUpdate();try{await t()}finally{e.endUpdate()}}var lp=class{pending=new Map;batchSeq=0;record(e){if(Object.is(e.oldValue,e.newValue))return;let t=this.pending.get(e.rowNode.id);t||(t={rowNode:e.rowNode,changes:new Map,sources:new Set},this.pending.set(e.rowNode.id,t));let n=t.changes.get(e.field);n?t.changes.set(e.field,{field:e.field,colId:n.colId??e.colId,oldValue:n.oldValue,newValue:e.newValue}):t.changes.set(e.field,{field:e.field,colId:e.colId,oldValue:e.oldValue,newValue:e.newValue}),t.sources.add(e.source)}flush(e){if(this.pending.size===0)return;let t=[],n=new Set;for(let r of this.pending.values()){let i=[...r.changes.values()].map(t=>({...t,colId:t.colId??e.resolveColIdByField?.(t.field)}));if(i.length===0)continue;let a=e.buildRowSnapshot(r.rowNode);if(!a)continue;let o=Object.fromEntries(i.map(e=>[e.field,e.newValue])),s=[...r.sources];for(let e of s)n.add(e);let c={rowId:r.rowNode.id,row:a,data:o,changes:i,source:s[0],sources:s.length>1?s:void 0};t.push(c),e.eventBus.emit(`rowDataChanged`,{...c,rowNode:r.rowNode})}t.length>0&&e.eventBus.emit(`rowsDataChanged`,{batchId:++this.batchSeq,rows:t,sources:[...n]}),this.pending.clear()}clear(){this.pending.clear()}peekPendingColIdsByRow(e){let t=new Map;for(let[n,r]of this.pending){let i=new Set;for(let t of r.changes.values()){let n=t.colId??e?.(t.field);n&&i.add(n)}i.size>0&&t.set(n,[...i])}return t}};function up(e,t,n,r,i,a){e({rowNode:t,field:n.prop??n.colId,colId:n.colId,oldValue:r,newValue:i,source:a})}async function dp(t,n,r,i,a,o,s){if(!r.prop)return{ok:!0,newValue:o};try{let e=vn(i,r,a);if(ln(e))return{ok:!1,revert:!0};let c=await ep(r,a,e,s),l=t.invalidEditValueMode;return c&&l!==`keep`?{ok:!1,revert:!0}:o===e?{ok:!0,newValue:e}:await bn(r,a,e,s)?(await cp(t,async()=>{up(t.recordRowDataChange,n,r,o,e,`inlineEdit`),t.applyTransaction({update:[n.data]}),t.eventBus.emit(`cellValueChanged`,{rowId:n.id,colId:r.colId,oldValue:o,newValue:e,rowNode:n}),await sp(r,n,{oldValue:o,newValue:e},t,{source:`inlineEdit`,signal:s}),t.syncPinnedRows()}),{ok:!0,newValue:e}):{ok:!1,revert:!0}}catch(t){if(e.c(t))return{ok:`aborted`};throw t}}var fp=Symbol.for(`magic-grid.vueUserComp`);function pp(e){return e[fp]}function mp(e,t){let n=e;if(t){n[fp]=t;return}delete n[fp]}function hp(e,t){if(t){mp(e,t);return}mp(e,void 0)}function gp(e){mp(e,void 0)}function _p(e,t){let n=pp(e);return n?.refresh?n.refresh(t)!==!1:!1}function vp(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.refresh==`function`)return t;let n=e.exposed;if(n&&typeof n.refresh==`function`)return n;let r=e.$?.exposed;return r&&typeof r.refresh==`function`?r:null}function yp(e){return t=>{hp(e,vp(t))}}function bp(e){return yp(e)}function xp(e){if(!e)return null;let t=e.component;if(t)return(vp(t.exposed)??vp(t.proxy))||xp(t.subTree);let{children:n}=e;if(Array.isArray(n))for(let e of n){if(!e||typeof e!=`object`||!(`type`in e))continue;let t=xp(e);if(t)return t}return null}function Sp(e){let t=e._vnode,n=xp(t??null);if(n){hp(e,n);return}pp(e)&&gp(e)}var Cp=class{onUnmountEditor;instanceEditors;editorOptions;constructor(e={}){this.onUnmountEditor=e.onUnmountEditor,this.instanceEditors={...e.byName??{}},this.editorOptions=e.editorOptions??t.f()}mount(e,t,n,r={}){r.patch||(this.onUnmountEditor?.(e),e.replaceChildren()),rf(e,t.align,this.editorOptions);let i=null,a=null,o={mountEl:e,clear:()=>{this.onUnmountEditor?.(e),e.replaceChildren()}},s={...Ut(t,n),inline:!0,setGetValue:e=>{i=e}},c=Tf(t.cellEditor,{byName:this.instanceEditors})(s,o);return c instanceof HTMLElement&&(a=c,e.contains(c)||e.appendChild(c)),{mountEl:e,getValue:()=>{if(i)return i();let r=e.querySelector(`input:not([type="hidden"]).mg-cell-editor, select.mg-cell-editor, textarea.mg-cell-editor`);if(r)return _f(r,t);let a=e.querySelector(`input:not([type="hidden"]), select, textarea`);return a?_f(a,t):n.formattedValue},getFocusTarget:()=>a||(e.querySelector(`input:not([type="hidden"]), select, textarea, [tabindex]`)??e.firstElementChild),destroy(){o.clear()}}}patch(e,t,n){_p(e,n)||this.mount(e,t,n,{patch:!0})}isVueEditorColumn(e){return wn(Tf(e.cellEditor,{byName:this.instanceEditors}))}},wp=0,Tp=new WeakMap,Ep=new WeakMap;function Dp(e){let t=Tp.get(e);return t===void 0&&(t=++wp,Tp.set(e,t)),t}function Op(e){let t=Ep.get(e);return t===void 0&&(t=++wp,Ep.set(e,t)),t}function kp(e){return e===void 0?`default`:typeof e==`function`?`fn#${Dp(e)}`:e}function Ap(e,t,n,r,i){return`${e}:${t}:${n}:${r}:${kp(i)}`}function jp(e,t,n){return n?`${e}:${t}:fn#${Op(n)}`:`${e}:${t}:none`}var Mp=class{permanent;constructor(e={}){this.permanent=new Cp(e)}mount(e,t,n,r){return this.permanent.mount(e,t,n,r)}patch(e,t,n){this.permanent.patch(e,t,n)}isVueEditorColumn(e){return this.permanent.isVueEditorColumn(e)}},Np=class{host;commits=new Map;inFlight=new Map;deps;constructor(e){this.deps=e,this.host=new Mp({onUnmountEditor:e.onUnmountEditor,byName:e.byName,editorOptions:e.editorOptions})}getRefreshContext(){return{host:this.host,createParams:(e,t)=>this.createParams(e,t),commit:(e,t,n,r)=>this.commit(e,t,n,r)}}isCommitting(){return this.commits.size>0}async awaitCommitIdle(){this.inFlight.size!==0&&await Promise.all([...this.inFlight.values()])}cancelCommit(e,t){if(e&&t){this.abortCommit(`${e}:${t}`,!0);return}for(let e of[...this.commits.keys()])this.abortCommit(e,!0)}createParams(e,t){let n=ap(this.deps),r={rowId:e.id,rowIndex:e.rowIndex,colId:t.colId,value:H(e,t),data:e.data,formattedValue:ip(e,t),size:this.deps.gridSize,context:n,inline:!0},i=Lt(t,r),a={...r,cellEditorParams:i,stopEditing:async()=>null,cancelCommit:()=>this.cancelCommit(e.id,t.colId),getEditPhase:()=>this.isCellCommitting(e.id,t.colId)?`committing`:`idle`};return{...a,validate:async n=>{let r={...a,validate:async()=>({valid:!0})},i;try{if(i=vn(Pp(H(e,t),t),t,r),ln(i))return{valid:!1,errors:[`Invalid value`]}}catch(e){return{valid:!1,errors:[e instanceof Error?e.message:`Invalid value`]}}return np(t,r,i,n?.signal)}}}isCellCommitting(e,t){return this.commits.has(`${e}:${t}`)}abortCommit(t,n){let r=this.commits.get(t);r&&(r.userCancelled=n,r.controller.abort(new e.o))}async commit(e,t,n,r){let i=`${e.id}:${t.colId}`,a=this.runCommit(e,t,n,r,i);this.inFlight.set(i,a);try{return await a}finally{this.inFlight.get(i)===a&&this.inFlight.delete(i)}}async runCommit(e,t,n,r,i){this.abortCommit(i,!1);let a=new AbortController,o={controller:a,rowId:e.id,colId:t.colId,rowIndex:e.rowIndex,userCancelled:!1};this.commits.set(i,o),this.deps.eventBus.emit(`cellCommitStarted`,{rowId:e.id,colId:t.colId,rowIndex:e.rowIndex});let s=this.createParams(e,t),c=await dp(this.deps,e,t,n,s,r,a.signal);return this.commits.get(i)===o&&this.commits.delete(i),c.ok===`aborted`?(o.userCancelled&&this.deps.eventBus.emit(`editCommitAborted`,{rowId:e.id,colId:t.colId,rowIndex:e.rowIndex}),this.deps.eventBus.emit(`cellCommitFinished`,{rowId:e.id,colId:t.colId,rowIndex:e.rowIndex,committed:!1,aborted:o.userCancelled}),!1):(this.deps.eventBus.emit(`cellCommitFinished`,{rowId:e.id,colId:t.colId,rowIndex:e.rowIndex,committed:c.ok===!0,aborted:!1}),c.ok===!0)}};function Pp(e,t){if(t.cellEditor===`checkbox`){let n=Bt(t);return rn(nn(e,n),n)}if(t.cellEditor===`switch`){let n=Vt(t);return Zt(Yt(e,n),n)}return e==null?``:String(e)}var Fp=`mg-selection-checkbox`,Ip=`mg-selection-checkbox--header`;function Lp(e){let t=document.createElement(`input`);return t.type=`checkbox`,t.className=Fp,t.setAttribute(`aria-label`,e.ariaLabel),Rp(t,e),t}function Rp(e,t){e.checked=t.checked,e.indeterminate=!!t.indeterminate,e.disabled=!!t.disabled,e.classList.toggle(`mg-selection-checkbox--disabled`,!!t.disabled),e.setAttribute(`aria-checked`,t.indeterminate?`mixed`:String(t.checked))}function zp(e){return e.querySelector(`input.${Fp}`)}function Bp(e,t){return t.rowLabel?.(e)??`选择第 ${e+1} 行`}function Vp(e,t,n=new Set){let r=e.getRowCount();if(r===0)return{checked:!1,indeterminate:!1};let i=0,a=0;for(let o=0;o<r;o+=1){let r=e.getRow(o);r&&(Ue(r)||L(r)||(i++,t.has(r.id)&&!n.has(r.id)&&a++))}return a===0?{checked:!1,indeterminate:!1}:a===i?{checked:!0,indeterminate:!1}:{checked:!1,indeterminate:!0}}function Hp(e,n){let{selectionColumnOptions:r,selectedIds:i,indeterminateIds:a,rowModel:o}=n;if(!r.enabled||r.mode!==`multiple`)return;let s=e.querySelector(`.mg-header-cell[data-col-id="${t.J}"]`);if(!s)return;let c=zp(s);c&&Rp(c,Vp(o,i,a??new Set))}function Up(e,t){let n=[...e.getLeftFixedColumnIndices()],r=[...e.getRightFixedColumnIndices()],i=[];if(t.lastCol>=t.firstCol)for(let n of e.getCenterColumnIndices())n>=t.firstCol&&n<=t.lastCol&&i.push(n);return{left:n,center:i,right:r}}function Wp(e,t){let n=t.getLeftFixedWidth(),r=t.getLeftFixedColumnIndices(),i=t.getRightFixedColumnIndices(),a=n+t.getCenterTotalWidth(),o=qp(t,e.colId),s=o>=0&&o===t.getColumnCount()-1;if(e.fixed===`left`){let t=r[r.length-1];return{left:e.left,width:e.width,fixed:`left`,isLastLeftFixed:t!==void 0&&t===o,isLastColumn:s}}if(e.fixed===`right`){let t=i[0];return{left:e.left-a,width:e.width,fixed:`right`,isFirstRightFixed:t!==void 0&&t===o,isLastColumn:s}}let c=t.getCenterColumnIndices(),l=c[c.length-1];return{left:e.left,width:e.width,fixed:null,isLastCenter:i.length>0&&l!==void 0&&l===o,isLastColumn:s}}function Gp(e,t,n){e.style.width=`${t.width}px`,e.style.left=`${t.left}px`,e.style.removeProperty(`right`),e.style.removeProperty(`transform`),e.classList.remove(`${n}--fixed-left`,`${n}--fixed-right`,`${n}--fixed-left-last`,`${n}--center-last`,`${n}--column-last`,`${n}--fixed-right-first`),t.fixed===`left`?(e.classList.add(`${n}--fixed-left`),t.isLastLeftFixed&&e.classList.add(`${n}--fixed-left-last`)):t.fixed===`right`?(e.classList.add(`${n}--fixed-right`),t.isFirstRightFixed&&e.classList.add(`${n}--fixed-right-first`)):t.isLastCenter&&e.classList.add(`${n}--center-last`),t.isLastColumn&&e.classList.add(`${n}--column-last`)}function Kp(e,t,n){e.querySelectorAll(`[data-col-id]`).forEach(e=>{if(!(e instanceof HTMLElement))return;let r=e.dataset.colId;if(!r)return;let i=t.getColumnById(r);i&&Gp(e,Wp(i,t),n)})}function qp(e,t){for(let n=0;n<e.getColumnCount();n++)if(e.getColumn(n)?.colId===t)return n;return-1}var Jp={left:`--align-h-left`,center:`--align-h-center`,right:`--align-h-right`},Yp={top:`--align-v-top`,center:`--align-v-center`,bottom:`--align-v-bottom`},Xp=[...Object.values(Jp),...Object.values(Yp)];function Zp(e={}){return{headerAlign:e.headerAlign,headerValign:e.headerValign,align:e.align,valign:e.valign,footerAlign:e.footerAlign,footerValign:e.footerValign}}function Qp(e,t={}){return{headerAlign:e.headerAlign??t.headerAlign??`center`,headerValign:e.headerValign??t.headerValign??`center`,align:e.align??t.align??`center`,valign:e.valign??t.valign??`center`,footerAlign:e.footerAlign??t.footerAlign??`center`,footerValign:e.footerValign??t.footerValign??`center`}}function $p(e,t,n,r){for(let t of Xp)e.classList.remove(`${r}${t}`);e.classList.add(`${r}${Jp[t]}`),e.classList.add(`${r}${Yp[n]}`)}var em=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`12`,cy:`5`,r:`1`}],[`circle`,{cx:`12`,cy:`19`,r:`1`}]],tm=[[`path`,{d:`m5 12 7-7 7 7`}],[`path`,{d:`M12 19V5`}]],nm=[[`path`,{d:`M12 5v14`}],[`path`,{d:`m19 12-7 7-7-7`}]],rm=[[`path`,{d:`M12 2v20`}],[`path`,{d:`m15 19-3 3-3-3`}],[`path`,{d:`m19 9 3 3-3 3`}],[`path`,{d:`M2 12h20`}],[`path`,{d:`m5 9-3 3 3 3`}],[`path`,{d:`m9 5 3-3 3 3`}]],im=[[`path`,{d:`m3 16 4 4 4-4`}],[`path`,{d:`M7 20V4`}],[`path`,{d:`M11 4h10`}],[`path`,{d:`M11 8h7`}],[`path`,{d:`M11 12h4`}]],am=[[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}],[`path`,{d:`M11 12h10`}],[`path`,{d:`M11 16h7`}],[`path`,{d:`M11 20h4`}]],om=[[`path`,{d:`M3 6h18`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M10 18h4`}]],sm=[[`path`,{d:`M12 17v5`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3.76`}]],cm=[[`path`,{d:`M12 17v5`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3.76`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`}]],lm=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}]],um=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}]],dm=[[`path`,{d:`m9 18 6-6-6-6`}]],fm=[[`path`,{d:`M13.5 10.5 22 2`}],[`path`,{d:`M14.734 13.841a2 2 0 0 0-.314-2.42L12.58 9.58a2 2 0 0 0-2.421-.314l-7.657 4.461A1 1 0 0 0 2.3 15.3l6.403 6.403a1 1 0 0 0 1.571-.204z`}],[`path`,{d:`m5 18 2-2`}],[`path`,{d:`m7.699 10.7 5.602 5.601`}]],pm=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]],mm=[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]],hm=[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`}],[`path`,{d:`m2 2 20 20`}]],gm=[[`path`,{d:`M12 2v4`}],[`path`,{d:`m16.2 7.8 2.9-2.9`}],[`path`,{d:`M18 12h4`}],[`path`,{d:`m16.2 16.2 2.9 2.9`}],[`path`,{d:`M12 18v4`}],[`path`,{d:`m7.8 16.2-2.9 2.9`}],[`path`,{d:`M2 12h4`}],[`path`,{d:`m7.8 7.8-2.9-2.9`}]],_m=[[`polyline`,{points:`15 10 20 15 15 20`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`}]],vm=[[`polyline`,{points:`9 14 4 9 9 4`}],[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`}]],ym=[[`path`,{d:`M14 17H5`}],[`path`,{d:`M19 7h-9`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}],[`circle`,{cx:`7`,cy:`7`,r:`3`}]];function J(e,t,n){let r=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);r.setAttribute(`class`,e),n!=null&&(r.setAttribute(`width`,String(n)),r.setAttribute(`height`,String(n))),r.setAttribute(`viewBox`,`0 0 24 24`),r.setAttribute(`fill`,`none`),r.setAttribute(`stroke`,`currentColor`),r.setAttribute(`stroke-width`,`2`),r.setAttribute(`stroke-linecap`,`round`),r.setAttribute(`stroke-linejoin`,`round`),r.setAttribute(`aria-hidden`,`true`);for(let[e,n]of t){let t=document.createElementNS(`http://www.w3.org/2000/svg`,e);for(let[e,r]of Object.entries(n))t.setAttribute(e,String(r));r.appendChild(t)}return r}function bm(){return J(`mg-header-icon mg-header-icon--column-handle`,em,14)}function xm(e){let t=e===`asc`?tm:nm;return J(`mg-sort-icon mg-sort-icon--${e}`,t,14)}function Sm(){return J(`mg-header-indicator-icon mg-header-indicator-icon--filter`,om,14)}function Cm(){return J(`mg-header-indicator-icon mg-header-indicator-icon--sort-filter-asc`,am,14)}function wm(){return J(`mg-header-indicator-icon mg-header-indicator-icon--sort-filter-desc`,im,14)}function Tm(){let e=document.createDocumentFragment();return e.append(xm(`asc`),xm(`desc`)),e}function Em(){return J(`mg-column-drag-ghost__move-icon`,rm,16)}function Dm(){return J(`mg-header-icon mg-header-icon--floating-filter`,om,14)}function Om(){return xm(`asc`)}function km(){return xm(`desc`)}function Am(){return J(`mg-column-handle-menu__icon mg-column-handle-menu__icon--sort-clear`,fm,14)}function jm(){return J(`mg-column-handle-menu__icon mg-column-handle-menu__icon--pin`,sm,14)}function Mm(){return J(`mg-column-handle-menu__icon mg-column-handle-menu__icon--pin-off`,cm,14)}function Nm(){return J(`mg-column-handle-menu__icon mg-column-handle-menu__icon--pin-left`,lm,14)}function Pm(){return J(`mg-column-handle-menu__icon mg-column-handle-menu__icon--pin-right`,um,14)}function Fm(){return J(`mg-column-handle-menu__icon mg-column-handle-menu__icon--chevron`,dm,14)}function Im(){return J(`mg-column-handle-menu__icon mg-column-handle-menu__icon--visibility`,pm,14)}function Lm(){return J(`mg-column-handle-menu__icon mg-column-handle-menu__icon--hide-column`,hm,14)}function Rm(){return J(`mg-column-handle-menu__icon mg-column-handle-menu__icon--show-column`,mm,14)}function zm(){return J(`mg-cell__row-expand__icon`,dm,16)}function Bm(){return J(`mg-cell__tree-expand__loading-icon`,gm,16)}function Vm(){return J(`mg-column-settings-menu__icon-svg`,_m)}function Hm(){return J(`mg-column-settings-menu__icon-svg`,vm)}function Um(){return J(`mg-cell__tree-hierarchy-trigger__icon`,ym,14)}var Wm=[[`path`,{d:`M13 21h8`}],[`path`,{d:`m15 5 4 4`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]];function Gm(){return J(`mg-cell__editable-indicator-icon`,Wm,14)}var Km=[[`path`,{d:`m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982`}],[`path`,{d:`m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353`}],[`path`,{d:`m15 5 4 4`}],[`path`,{d:`m2 2 20 20`}]];function qm(){return J(`mg-cell__disabled-indicator-icon`,Km,14)}function Jm(e){let{current:t,colId:n,sortable:r}=e;if(!r)return ea(t);let i=ea(t).find(e=>e.colId===n);return i?i.sort===`asc`?[{colId:n,sort:`desc`}]:[]:[{colId:n,sort:`asc`}]}function Ym(e,t){return t.find(t=>t.colId===e)?.sort??null}function Xm(e){return e===`asc`?`ascending`:e===`desc`?`descending`:`none`}var Zm=class{deps;constructor(e){this.deps=e}toggleSort(e){if(!this.deps.getColumnById(e)?.sortable)return;let t=Jm({current:this.deps.getSortModel(),colId:e,sortable:!0});this.deps.setSortModel(t)}getSortState(e){return Ym(e,this.deps.getSortModel())}},Qm=`mg-header-cell--filtered`,$m=`.mg-header-cell__column-handle`;function eh(e){return e??`center`}function th(e,t,n,r){let i=t.sortable?Ym(e,n):null,a=t.filterable?li(e,r):!1;return i&&a?i===`asc`?`sort-filter-asc`:`sort-filter-desc`:i?i===`asc`?`sort-asc`:`sort-desc`:a?`filter`:null}function nh(e){switch(e){case`sort-asc`:return xm(`asc`);case`sort-desc`:return xm(`desc`);case`filter`:return Sm();case`sort-filter-asc`:return Cm();case`sort-filter-desc`:return wm()}}function rh(e,t,n){let r=e.querySelector(`.mg-header-cell__sort`);return r||(r=document.createElement(`span`),r.className=`mg-header-cell__sort`,r.setAttribute(`aria-hidden`,`true`),n?e.insertBefore(r,t):e.append(r)),r}function ih(e){e.querySelector(`.mg-header-cell__sort`)?.remove()}function ah(e,t,n,r,i){let a=e.querySelector(`.mg-header-cell__label`);if(!a)return;let o=a.querySelector(`.mg-header-cell__text`);if(!o)return;let s=eh(t.headerAlign)===`right`,c=th(t.colId,t,n,r);if(e.classList.remove(`mg-header-cell--sort-hint`),c){rh(a,o,s).replaceChildren(nh(c));return}if(t.sortable&&i){rh(a,o,s).replaceChildren(Tm()),e.classList.add(`mg-header-cell--sort-hint`);return}ih(a)}function oh(e,t,n){let r=li(t,n);e.classList.toggle(Qm,r);let i=e.querySelector($m);i&&(r?i.setAttribute(`aria-pressed`,`true`):i.removeAttribute(`aria-pressed`))}function sh(e,t,n,r,i){if(oh(e,t.colId,r),!t.sortable)e.classList.remove(`mg-header-cell--sortable`,`mg-header-cell--sorted`,`mg-header-cell--sorted-asc`,`mg-header-cell--sorted-desc`,`mg-header-cell--sort-hint`),e.removeAttribute(`aria-sort`);else{e.classList.toggle(`mg-header-cell--sortable`,i.enableHeaderSortClick),e.setAttribute(`role`,`columnheader`);let r=Ym(t.colId,n);e.setAttribute(`aria-sort`,Xm(r)),e.classList.remove(`mg-header-cell--sorted-asc`,`mg-header-cell--sorted-desc`,`mg-header-cell--sorted`),r===`asc`?e.classList.add(`mg-header-cell--sorted`,`mg-header-cell--sorted-asc`):r===`desc`&&e.classList.add(`mg-header-cell--sorted`,`mg-header-cell--sorted-desc`)}ah(e,t,n,r,t.sortable&&i.showUnsortedSortHintOnHover&&i.enableHeaderSortClick)}function ch(e,t){let n=Array.isArray(e)?e:[e],r={showUnsortedSortHintOnHover:t.showUnsortedSortHintOnHover,enableHeaderSortClick:t.enableHeaderSortClick};for(let e of n){let n=Array.from(e.querySelectorAll(`.mg-header-cell[data-col-id]`));for(let e of n){let n=e.dataset.colId;if(!n)continue;let i=t.getColumnById(n);i&&sh(e,i,t.sortModel,t.filterModel,r)}}}var lh=`mg-cell__group-content`,uh=`mg-cell__group-label`,dh=`mg-cell__group-count`;function fh(e,t,n){let r=n>0?`,${n} 条`:``;return t?`折叠分组 ${e}${r}`:`展开分组 ${e}${r}`}function ph(e,t){return e.groupFooterLabel??t.getGroupFooterLabel?.()??`小计`}function mh(e,t){return He(t)&&e.showGroupFooterCell&&!ye(e)}function hh(e,t,n){let r={visible:!1,showChevron:!1,expanded:!1,indentLevel:0,label:``,showCount:!1,count:0,ariaLabel:``};if(!t.active())return r;if(Ve(e)){if(n&&!De(n))return r;let i=e.sourceGroupId??Be(e.id)??e.groupId??``,a=e.groupKey??``,o=e.groupLeafCount??0,s=i?t.isExpanded(i):!1;return{visible:!0,showChevron:!!i,expanded:s,indentLevel:e.groupLevel??0,label:a,showCount:o>0,count:o,ariaLabel:fh(a,s,o)}}if(He(e)){if(n&&!Oe(n))return r;let i=n?ph(n,t):t.getGroupFooterLabel?.()??`小计`;return{visible:!0,showChevron:!1,expanded:!1,indentLevel:e.groupLevel??0,label:i,showCount:!1,count:0,ariaLabel:i}}return z(e),r}function gh(e){return`(${e})`}function _h(){let e=document.createElement(`button`);return e.type=`button`,e.className=fe,e.setAttribute(`aria-expanded`,`false`),e.appendChild(zm()),e}function vh(e,t){if(!t.showChevron){e.hidden=!0,e.classList.remove(pe),e.setAttribute(`aria-expanded`,`false`);return}e.hidden=!1,e.setAttribute(`aria-label`,t.ariaLabel),e.setAttribute(`aria-expanded`,String(t.expanded)),e.classList.toggle(pe,t.expanded)}function yh(e,t){for(let t=e.classList.length-1;t>=0;--t){let n=e.classList.item(t);n?.startsWith(`mg-cell__group-indent-`)&&e.classList.remove(n)}e.classList.add(`${me}${Math.max(0,t)}`),e.style.paddingLeft=`${Math.max(0,t)*16}px`}function bh(e,t,n,r,i){e.classList.toggle(_e,i.visible),yh(e,i.indentLevel),t&&vh(t,i),n.textContent=i.label,n.hidden=i.label.length===0,i.showCount&&i.count>0?(r.textContent=gh(i.count),r.hidden=!1):(r.textContent=``,r.hidden=!0)}function xh(e,t,n,r){if(r){if(t)return t;let r=_h();return e.insertBefore(r,n),r}return t&&t.remove(),null}function Sh(e,t){return nt(e.colId)&&B(t)}function Ch(e,t){return t?`折叠 ${e}`:`展开 ${e}`}function wh(e,t){let n={visible:!1,showChevron:!1,expanded:!1,indentLevel:0,label:``,showCount:!1,count:0,ariaLabel:``};if(!t.active()||!B(e))return n;let r=t.getTreeValue?.(e)??e.dataPath?.[e.dataPath.length-1]??``,i=t.isExpanded(e.id),a=t.isTreeNodeLoading?.(e.id)??!1;return{visible:!0,showChevron:t.isTreeNodeExpandable?.(e)??e.treeLeaf!==!0,expanded:i,loading:a,indentLevel:e.treeLevel??0,label:r,showCount:!1,count:0,ariaLabel:Ch(r,i),hierarchyActions:t.getTreeHierarchyActions?.(e)}}function Th(){let e=_h();return e.className=qe,e}function Eh(e,t){if(Dh(e,!!t.loading),!t.showChevron){e.hidden=!0,e.classList.remove(Je,Ye),e.disabled=!1,e.setAttribute(`aria-expanded`,`false`),e.setAttribute(`aria-busy`,`false`),e.setAttribute(`aria-hidden`,`true`),e.setAttribute(`tabindex`,`-1`);return}e.hidden=!1,e.removeAttribute(`aria-hidden`),e.removeAttribute(`tabindex`),e.setAttribute(`aria-label`,t.ariaLabel),e.setAttribute(`aria-expanded`,String(t.expanded&&!t.loading)),e.classList.toggle(Je,t.expanded&&!t.loading),e.classList.toggle(Ye,!!t.loading),e.disabled=!!t.loading,e.setAttribute(`aria-busy`,t.loading?`true`:`false`)}function Dh(e,t){let n=e.querySelector(`.mg-cell__row-expand__icon`),r=e.querySelector(`.mg-cell__tree-expand__loading-icon`);if(t){if(n instanceof SVGElement&&n.setAttribute(`hidden`,`hidden`),!(r instanceof SVGElement)){e.appendChild(Bm());return}r.removeAttribute(`hidden`);return}if(r instanceof SVGElement&&r.remove(),n instanceof SVGElement){n.removeAttribute(`hidden`);return}e.appendChild(zm())}function Oh(e,t){let n=Math.max(0,e);return t||n<=1?n:n-1}function kh(e){return Math.max(0,e)>1}function Ah(e,t,n){let r=n?.isExpandable===void 0?t:Oh(t,n.isExpandable);for(let t=e.classList.length-1;t>=0;--t){let n=e.classList.item(t);(n?.startsWith(`mg-cell__tree-indent-`)||n?.startsWith(`mg-cell__group-indent-`))&&e.classList.remove(n)}e.classList.add(`${Xe}${Math.max(0,r)}`),e.style.paddingLeft=`${Math.max(0,r)*16}px`}function jh(){let e=document.createElement(`button`);return e.type=`button`,e.className=Ze,e.setAttribute(`aria-label`,`层级操作`),e.setAttribute(`aria-haspopup`,`menu`),e.title=`层级操作`,e.appendChild(Um()),e}function Mh(e){e.setAttribute(`aria-label`,`层级操作`),e.title=`层级操作`,e.disabled=!1}function Nh(e,t,n){if(!n?.visible)return t?.remove(),null;let r=t;r||(r=document.createElement(`div`),r.className=Qe,r.append(jh()),e.append(r));let i=r.querySelector(`button.${Ze}`);return i&&Mh(i),r}function Ph(e){return e instanceof Element?e.closest(`button.${Ze}`):null}function Fh(e,t,n,r,i){return e.classList.toggle($e,r.visible),e.classList.toggle(_e,r.visible),Ah(e,r.indentLevel,{isExpandable:r.showChevron}),t&&Eh(t,r),n.textContent=r.label,n.hidden=r.label.length===0,Nh(e,i??null,r.hierarchyActions)}function Ih(e,t,n,r,i=0){if(r){if(t)return t;let r=Th();return e.insertBefore(r,n),r}if(!kh(i))return t&&t.remove(),null;if(t)return t.hidden=!0,t.classList.remove(Je,Ye),t.setAttribute(`aria-hidden`,`true`),t.setAttribute(`tabindex`,`-1`),t;let a=Th();return a.hidden=!0,a.setAttribute(`aria-hidden`,`true`),a.setAttribute(`tabindex`,`-1`),e.insertBefore(a,n),a}function Lh(e){return e?`全部收起`:`全部展开`}function Rh(e,t,n=!1){let r=document.createElement(`div`);r.className=`mg-header-cell__label`;let i=Th();zh(i,n);let a=document.createElement(`span`);a.className=`mg-header-cell__text`,a.textContent=t.label??t.prop??`树`,r.append(i,a),e.append(r),e.classList.add(`mg-header-cell--tree`)}function zh(e,t){Eh(e,{showChevron:!0,expanded:t,loading:!1,ariaLabel:Lh(t)})}function Bh(e,t){for(let n of e){let e=n.querySelector(`.mg-header-cell--tree .${qe}`);if(e){zh(e,t);return}}}var Vh=`mg-header-cell__required-mark`,Hh=`mg-header-cell__text-content`;function Uh(){let e=document.createElement(`span`);return e.className=Vh,e.textContent=`*`,e.setAttribute(`aria-hidden`,`true`),e}function Wh(e){if(e.querySelector(`.${Hh}`))return;let t=document.createElement(`span`);t.className=Hh,t.textContent=e.textContent??``,e.textContent=``,e.append(t)}function Gh(e){let t=e.querySelector(`.${Hh}`);t&&(e.textContent=t.textContent??``)}function Kh(e,t){e.classList.toggle(`mg-header-cell--required`,t);let n=e.querySelector(`.mg-header-cell__text`);if(!n)return;let r=n.querySelector(`.${Vh}`);if(!t){r?.remove(),Gh(n);return}Wh(n);let i=r??Uh();(i.parentElement!==n||i!==n.firstElementChild)&&n.insertBefore(i,n.firstChild)}function qh(e){return e??`center`}function Jh(){let e=document.createElement(`div`);return e.className=`mg-header-cell__label`,e}function Yh(e){let n=document.createElement(`span`);return n.className=`mg-header-cell__text`,n.textContent=t.it(e.colId)?e.label??``:e.label??e.prop??e.colId,n}function Xh(e){return t.it(e.colId)||t.X(e.colId)||A(e.colId)||nt(e.colId)?!1:e.sortable||e.movable||e.filterable}function Zh(e){let t=document.createElement(`span`);return t.className=`mg-header-cell__column-handle`,t.title=`列操作`,t.setAttribute(`aria-haspopup`,`menu`),t.setAttribute(`aria-expanded`,`false`),t.tabIndex=-1,t.dataset.columnHandleMovable=e.movable?`true`:`false`,t.dataset.columnHandleSortable=e.sortable?`true`:`false`,t.dataset.columnHandleFilterable=e.filterable?`true`:`false`,t.append(bm()),t}function Qh(e){if(!Xh(e))return null;let t=document.createElement(`div`);return t.className=`mg-header-cell__chrome`,t.append(Zh({movable:e.movable,sortable:e.sortable,filterable:e.filterable})),t}function $h(){let e=document.createElement(`div`);return e.className=`mg-header-cell__resize-handle`,e.setAttribute(`role`,`presentation`),e.dataset.resizable=`true`,e}function eg(e,t){t&&e.append($h())}function tg(e,t){let n=qh(t.headerAlign),r=Jh(),i=Yh(t);r.append(i);let a=Qh(t);n===`right`&&a?e.append(a,r):a?e.append(r,a):e.append(r)}function ng(e,n){let r=Xh(n),i=!t.it(n.colId)&&!t.X(n.colId)&&!A(n.colId)&&!nt(n.colId);e.classList.toggle(`mg-header-cell--has-column-handle`,r),e.classList.toggle(`mg-header-cell--movable`,i&&n.movable),e.classList.toggle(`mg-header-cell--filterable`,i&&n.filterable)}function rg(e,t){e.classList.toggle(`mg-header-cell--resizable`,t.resizable)}function ig(e,n,r){let i=document.createElement(`div`);if(i.className=`mg-header-cell`,i.dataset.colId=e.colId,t.X(e.colId))if(i.classList.add(`mg-header-cell--selection`),r.selectionColumnOptions?.enabled&&r.selectionColumnOptions.mode===`multiple`){let e=Lp({checked:!1,ariaLabel:r.selectionColumnOptions.selectionColumn.selectAllLabel});e.classList.add(Ip),i.append(e)}else{let e=document.createElement(`span`);e.className=`mg-header-cell__text`,e.textContent=``,i.append(e)}else if(t.it(e.colId)){let t=Yh(e);i.append(t),i.classList.add(`mg-header-cell--index`)}else if(A(e.colId)){let e=document.createElement(`span`);e.className=`mg-header-cell__text`,e.textContent=``,i.append(e),i.classList.add(`mg-header-cell--expand`)}else if(R(e.colId)){let t=document.createElement(`span`);t.className=`mg-header-cell__text`,t.textContent=e.label??`分组`,i.append(t),i.classList.add(`mg-header-cell--group`)}else nt(e.colId)?(Rh(i,e,r.getTreeHeaderExpanded?.()??!1),eg(i,e.resizable)):(tg(i,e),eg(i,e.resizable));return sh(i,e,r.sortModel,r.filterModel,{showUnsortedSortHintOnHover:r.showUnsortedSortHintOnHover,enableHeaderSortClick:r.enableHeaderSortClick}),ng(i,e),rg(i,e),Gp(i,Wp(e,n),`mg-header-cell`),$p(i,e.headerAlign,e.headerValign,`mg-header-cell`),Kh(i,e.validationRequired===!0),r.validationFeedback.hasColErrors(e.colId)&&i.classList.add(`mg-header-cell--invalid`),i}function ag(e,t,n,r,i,a,o,s,c={},l){e.replaceChildren();let u={sortModel:r,validationFeedback:i,showUnsortedSortHintOnHover:a,enableHeaderSortClick:o,selectionColumnOptions:s,filterModel:c,getTreeHeaderExpanded:l};for(let r of t){let t=n.getColumn(r);t&&e.appendChild(ig(t,n,u))}}function og(e){let{headerLeftLaneEl:t,headerCenterLaneEl:n,headerRightLaneEl:r,columnModel:i,centerWindow:a,sortModel:o,validationFeedback:s,selectionColumnOptions:c,showUnsortedSortHintOnHover:l=!1,enableHeaderSortClick:u=!0,filterModel:d={},getTreeHeaderExpanded:f}=e,p=Up(i,a);t.style.width=`${i.getLeftFixedWidth()}px`,n.style.width=`${i.getCenterTotalWidth()}px`,r.style.width=`${i.getRightFixedWidth()}px`,ag(t,p.left,i,o,s,l,u,c,d,f),ag(n,p.center,i,o,s,l,u,c,d,f),ag(r,p.right,i,o,s,l,u,c,d,f)}function sg(e,t,n,r){e.style.width=`${r.getLeftFixedWidth()}px`,t.style.width=`${r.getCenterTotalWidth()}px`,n.style.width=`${r.getRightFixedWidth()}px`}function cg(e,t,n,r){Kp(e,r,`mg-header-cell`),Kp(t,r,`mg-header-cell`),Kp(n,r,`mg-header-cell`)}function lg(e){let t=new Map;for(let n of e)for(let e of n.querySelectorAll(`.mg-header-cell[data-col-id]`)){if(!(e instanceof HTMLElement))continue;let n=e.dataset.colId;n&&t.set(n,e)}return t}function ug(e,t,n,r,i){let a=new Set;for(let o of t){let t=n.getColumn(o);if(!t||t.hidden)continue;a.add(t.colId);let s=r.get(t.colId);!s&&i&&(s=ig(t,n,i),r.set(t.colId,s)),s&&e.appendChild(s)}if(i)for(let t of[...e.children]){if(!(t instanceof HTMLElement))continue;let e=t.dataset.colId;e&&!a.has(e)&&t.remove()}}function dg(e){let{headerLeftLaneEl:t,headerCenterLaneEl:n,headerRightLaneEl:r,columnModel:i,centerWindow:a,fillColumnWindowGaps:o=!1,sortModel:s,validationFeedback:c,selectionColumnOptions:l,showUnsortedSortHintOnHover:u=!1,enableHeaderSortClick:d=!0,filterModel:f={},getTreeHeaderExpanded:p}=e,m=Up(i,a),h=o&&s&&c?{sortModel:s,validationFeedback:c,showUnsortedSortHintOnHover:u,enableHeaderSortClick:d,selectionColumnOptions:l,filterModel:f,getTreeHeaderExpanded:p}:void 0;sg(t,n,r,i);let g=lg([t,n,r]);ug(t,m.left,i,g,h),ug(n,m.center,i,g,h),ug(r,m.right,i,g,h)}var fg=class{registry=new Map;invalidColIds=new Set;domStates=[];showCellInvalid(e){this.setRowCellInvalid(e.rowId,e.rowElement,{colId:e.colId,errors:e.errors,editorMountEl:e.editorMountEl})}showCellsInvalid(e){this.setRowInvalid(e.rowId,e.rowElement,e.cells)}setRowInvalid(e,t,n){this.clearRowDom(e,t);let r=new Map;for(let i of n)i.errors.length&&(r.set(i.colId,i.errors),t&&this.applyCellDom(e,t,i));r.size===0?this.registry.delete(e):this.registry.set(e,r),this.rebuildInvalidColIds()}applyGridValidationFeedback(e,t){let n=new Set(t.map(e=>e.rowId));for(let t of[...this.registry.keys()])if(!n.has(t)){let n=this.findRowElement(e,t);this.clearRow(t,n)}for(let n of t){let t=this.findRowElement(e,n.rowId);this.setRowInvalid(n.rowId,t,n.cells)}}applyRowsValidationFeedback(e,t){for(let n of t){let t=this.findRowElement(e,n.rowId);this.setRowInvalid(n.rowId,t,n.cells)}}clearRow(e,t){this.clearRowDom(e,t??null),this.registry.delete(e),this.rebuildInvalidColIds()}clearRowCell(e,t,n){let r=this.registry.get(e);if(r?.delete(n),r?.size===0&&this.registry.delete(e),t){let e=t.querySelector(`.mg-cell[data-col-id="${n}"]`);e?.classList.remove(`mg-cell--invalid`),e?.removeAttribute(`title`)}let i=[];for(let t of this.domStates)(t.rowId!==e||t.colId!==n)&&i.push(t);this.domStates=i,this.rebuildInvalidColIds()}setRowCellInvalid(e,t,n){if(!n.errors.length){this.clearRowCell(e,t,n.colId);return}if(t){for(let r of this.domStates)r.rowId===e&&r.colId===n.colId&&this.removeCellDom(r,t);this.domStates=this.domStates.filter(t=>t.rowId!==e||t.colId!==n.colId)}let r=this.registry.get(e);r||(r=new Map,this.registry.set(e,r)),r.set(n.colId,n.errors),t&&this.applyCellDom(e,t,n),this.rebuildInvalidColIds()}clear(e){e&&this.removeRegistryDom(e),this.domStates=[],this.registry.clear(),this.rebuildInvalidColIds()}syncDom(e){for(let t of e.querySelectorAll(`.mg-cell--invalid`)){let e=t.closest(`.mg-row[data-row-id]`)?.getAttribute(`data-row-id`),n=t.getAttribute(`data-col-id`);(e&&n?this.registry.get(e)?.get(n):void 0)?.length||(t.classList.remove(`mg-cell--invalid`),t.removeAttribute(`title`))}for(let[t,n]of this.registry){let r=this.findRowElement(e,t);if(r)for(let[e,t]of n){if(!t.length)continue;let n=t.join(`
2
+ `),i=r.querySelector(`.mg-cell[data-col-id="${e}"]`);i&&(i.classList.add(`mg-cell--invalid`),i.getAttribute(`title`)!==n&&i.setAttribute(`title`,n))}}this.rebuildDomStatesFromRegistry(e)}hasInvalidCells(){return this.registry.size>0}hasColErrors(e){return this.invalidColIds.has(e)}getInvalidColIds(){return this.invalidColIds}syncHeaderDom(e,t){for(let n of t){let t=e.querySelector(`.mg-header-cell[data-col-id="${n.colId}"]`);t&&(Kh(t,n.validationRequired===!0),t.classList.toggle(`mg-header-cell--invalid`,this.invalidColIds.has(n.colId)))}}getRegistry(){return this.registry}migrateRowId(e,t,n){let r=this.registry.get(e);r&&(this.registry.delete(e),this.registry.set(t,r));for(let n of this.domStates)n.rowId===e&&(n.rowId=t);let i=this.findRowElement(n,e);i&&(i.dataset.rowId=t)}rebuildDomStatesFromRegistry(e){let t=new Map;for(let e of this.domStates)t.set(`${e.rowId}:${e.colId}`,e.editorMountEl);let n=[];for(let[r,i]of this.registry)if(this.findRowElement(e,r))for(let[e,a]of i)a.length&&n.push({rowId:r,colId:e,editorMountEl:t.get(`${r}:${e}`)??null});this.domStates=n}rebuildInvalidColIds(){let e=new Set;for(let t of this.registry.values())for(let n of t.keys())e.add(n);this.invalidColIds=e}findRowElement(e,t){return e.querySelector(`.mg-row[data-row-id="${t}"]`)}clearRowDom(e,t){let n=[];for(let r of this.domStates){if(r.rowId!==e){n.push(r);continue}t&&this.removeCellDom(r,t)}this.domStates=n}applyCellDom(e,t,n){let r=n.errors.join(`
3
+ `),i=t.querySelector(`.mg-cell[data-col-id="${n.colId}"]`);i?.classList.add(`mg-cell--invalid`),i?.setAttribute(`title`,r),this.domStates.push({rowId:e,colId:n.colId,editorMountEl:n.editorMountEl??null})}removeCellDom(e,t){let n=t.querySelector(`.mg-cell[data-col-id="${e.colId}"]`);n?.classList.remove(`mg-cell--invalid`),n?.removeAttribute(`title`)}removeRegistryDom(e){for(let[t,n]of this.registry){let r=this.findRowElement(e,t);if(r)for(let e of n.keys()){let t=r.querySelector(`.mg-cell[data-col-id="${e}"]`);t?.classList.remove(`mg-cell--invalid`),t?.removeAttribute(`title`)}}}};function Y(e,t){return t.fromInternal(e)}function pg(e,t){return t.fromInternalList(e)}function mg(e,n,r){let{rowNode:i,...a}=e;return{...a,rowId:Y(e.rowId,n),data:i?t.N(i,r.rowKey):{}}}function hg(e,n,r){let i=t.S(r);switch(e){case`cellFocused`:{let e=n;return{...e,rowId:Y(e.rowId,i),data:t.N(e.rowNode,r.rowKey)}}case`cellClicked`:{let e=n;return{...e,rowId:Y(e.rowId,i),data:t.N(e.rowNode,r.rowKey)}}case`rowClicked`:case`rowDoubleClicked`:{let e=n;return{...e,rowId:Y(e.rowId,i),data:t.N(e.rowNode,r.rowKey)}}case`selectionChanged`:{let e=n;return{selectedRowIds:pg(e.selectedRowIds,i),selectedRows:t.v(e.selectedRowIds,r),source:e.source}}case`indexFocusChanged`:{let e=n;return{focusedRowIds:pg(e.focusedRowIds,i),focusedRows:t.v(e.focusedRowIds,r)}}case`cellValueChanged`:{let e=n;return{...e,rowId:Y(e.rowId,i),data:t.N(e.rowNode,r.rowKey)}}case`rowDataChanged`:{let e=n,{rowNode:t,...r}=e;return{...r,rowId:Y(e.rowId,i)}}case`rowsDataChanged`:{let e=n;return{batchId:e.batchId,sources:e.sources,rows:e.rows.map(e=>({...e,rowId:Y(e.rowId,i)}))}}case`cellEditingStarted`:{let e=n,{rowNode:a,...o}=e;return{...o,rowId:Y(e.rowId,i),data:t.N(a,r.rowKey)}}case`cellEditingStopped`:{let e=n,{rowNode:a,...o}=e;return{...o,rowId:Y(e.rowId,i),data:a?t.N(a,r.rowKey):{}}}case`rowEditingStarted`:case`rowEditingStopped`:case`rowCommitStarted`:case`rowCommitFinished`:case`rowValidationFailed`:return mg(n,i,r);case`rowValueChanged`:{let e=n,{rowNode:a,...o}=e;return{...o,rowId:Y(e.rowId,i),rowNode:a,data:t.N(a,r.rowKey)}}case`cellCommitStarted`:case`cellCommitFinished`:{let e=n;return{...e,rowId:Y(e.rowId,i)}}case`editCommitAborted`:{let e=n;return{...e,rowId:e.rowId==null?e.rowId:Y(e.rowId,i)}}case`cellValidationFailed`:{let e=n;return{...e,rowId:Y(e.rowId,i)}}case`rowsAdded`:return{rows:n.rows.map(e=>({...e,rowId:t.E(e.data,r.rowKey,String(e.rowId),{isTransient:e.isTransient})}))};case`rowsRemoved`:return{rows:n.rows.map(e=>({...e,rowId:t.E(e.data,r.rowKey,String(e.rowId))}))};case`rowIdPromoted`:{let e=n,r=t.j(e.oldRowId)?null:Y(e.oldRowId,i);return{...e,oldRowId:r,newRowId:Y(e.newRowId,i)}}case`rowMoved`:{let e=n;return{...e,rowId:Y(e.rowId,i),parentRowId:e.parentRowId===void 0?void 0:e.parentRowId===null?null:Y(e.parentRowId,i)}}case`rowDragEnd`:{let e=n;return{...e,rowId:Y(e.rowId,i),rowIds:e.rowIds?pg(e.rowIds,i):void 0,parentRowId:e.parentRowId===void 0?void 0:e.parentRowId===null?null:Y(e.parentRowId,i)}}case`rowDragCommitStarted`:{let e=n;return{...e,rowId:Y(e.rowId,i),rowIds:pg(e.rowIds,i),leaderRowId:Y(e.leaderRowId,i),parentRowId:e.parentRowId===void 0?void 0:e.parentRowId===null?null:Y(e.parentRowId,i)}}case`rowDragCommitFinished`:{let e=n;return{...e,rowId:Y(e.rowId,i),leaderRowId:Y(e.leaderRowId,i)}}case`rowHeightChanged`:{let e=n;return{...e,rows:e.rows.map(e=>({...e,rowId:Y(e.rowId,i)}))}}case`rowExpanded`:case`rowCollapsed`:{let e=n;return{...e,rowId:Y(e.rowId,i)}}case`treeNodeOpened`:{let e=n;return{...e,rowId:Y(e.rowId,i)}}case`treeChildrenLoading`:case`treeChildrenLoaded`:case`treeChildrenLoadFailed`:{let e=n;return{...e,parentRowId:Y(e.parentRowId,i)}}case`cellCommentChanged`:{let e=n;return{...e,rowId:Y(e.rowId,i)}}default:return n}}var gg=class{listeners=new Map;destroyed=!1;projector=null;setProjector(e){this.projector=e}on(e,t){if(this.destroyed)return()=>void 0;let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n));let r=t;return n.add(r),()=>{n?.delete(r)}}emit(e,t){if(this.destroyed)return;let n=this.listeners.get(e);if(!n)return;let r=this.projector?this.projector(e,t):t;for(let e of n)e(r)}destroy(){this.destroyed=!0,this.listeners.clear(),this.projector=null}};function _g(e){return(t,n)=>hg(t,n,e)}var vg=class{mode;selectedIds=new Set;anchorIndex=-1;constructor(e=`single`){this.mode=e===`multiple`?`multiple`:`single`}getSelectedRowIds(){return[...this.selectedIds]}isSelected(e){return this.selectedIds.has(e)}clear(){this.selectedIds.clear(),this.anchorIndex=-1}removeRowIds(e){let t=!1;for(let n of e)this.selectedIds.delete(n)&&(t=!0);return t}migrateRowId(e,t){return this.selectedIds.has(e)?(this.selectedIds.delete(e),this.selectedIds.add(t),!0):!1}getAnchorIndex(){return this.anchorIndex}isMultiple(){return this.mode===`multiple`}setAnchorIndex(e){this.anchorIndex=e}selectRow(e,t,n,r={}){let{ctrlKey:i=!1,shiftKey:a=!1,toggleOnReselect:o=!1}=r;if(this.mode===`multiple`&&a&&this.anchorIndex>=0&&t>=0)return this.selectRangeBetween(this.anchorIndex,t,n,r.rangeSelection);if(this.mode===`multiple`&&i)return this.selectedIds.has(e)?this.selectedIds.delete(e):this.selectedIds.add(e),this.anchorIndex=t,!0;if(o&&this.selectedIds.has(e))return this.selectedIds.delete(e),this.anchorIndex===t&&(this.anchorIndex=-1),!0;if(this.mode===`multiple`&&o){let n=!this.selectedIds.has(e);return this.selectedIds.add(e),this.anchorIndex=t,n}let s=this.selectedIds.size!==1||!this.selectedIds.has(e);return this.selectedIds.clear(),this.selectedIds.add(e),this.anchorIndex=t,s}selectRangeBetween(e,t,n,r){let i=Math.min(e,t),a=Math.max(e,t),o=new Set;if(r){let{rowCount:e,getAllRowIdAt:t}=r;for(let r=0;r<e;r++){let e=t(r);if(!e)continue;let s=n(r),c=r>=i&&r<=a;if(s){c&&o.add(s);continue}this.selectedIds.has(e)&&o.add(e)}}else for(let e=i;e<=a;e++){let t=n(e);t&&o.add(t)}let s=o.size!==this.selectedIds.size||[...o].some(e=>!this.selectedIds.has(e));return this.selectedIds=o,s}addRangeToSelection(e,t,n,r){let i=Math.min(e,t),a=Math.max(e,t),o=new Set(r);for(let e=i;e<=a;e++){let t=n(e);t&&o.add(t)}let s=o.size!==this.selectedIds.size||[...o].some(e=>!this.selectedIds.has(e));return this.selectedIds=o,s}removeRangeFromSelection(e,t,n,r,i){let a=Math.min(e,t),o=Math.max(e,t),s=new Set(r);if(i){let{getAllRowIdAt:e}=i;for(let t=a;t<=o;t++){let r=e(t);if(!r)continue;let i=n(t);i?s.delete(i):s.has(r)&&s.delete(r)}}else for(let e=a;e<=o;e++){let t=n(e);t&&s.delete(t)}let c=s.size!==this.selectedIds.size||[...s].some(e=>!this.selectedIds.has(e));return this.selectedIds=s,c}isAllVisibleRowsSelected(e,t){if(e===0)return!1;for(let n=0;n<e;n++){let e=t(n);if(e&&!this.selectedIds.has(e))return!1}return!0}selectAllVisibleRows(e,t){let n=!1;for(let r=0;r<e;r++){let e=t(r);e&&!this.selectedIds.has(e)&&(this.selectedIds.add(e),n=!0)}return n&&e>0&&(this.anchorIndex=0),n}deselectAllVisibleRows(e,t){let n=!1;for(let r=0;r<e;r++){let e=t(r);e&&this.selectedIds.delete(e)&&(n=!0)}return n}replaceSelectionWithVisibleRows(e,t){return this.selectAllVisibleRows(e,t)}toggleSelectAllVisibleRows(e,t){return this.isAllVisibleRowsSelected(e,t)?this.deselectAllVisibleRows(e,t):this.selectAllVisibleRows(e,t)}replaceWithRowIds(e,t=-1){let n=new Set(e),r=n.size!==this.selectedIds.size||[...n].some(e=>!this.selectedIds.has(e));return this.selectedIds=n,this.anchorIndex=t,r}addRowId(e,t=-1){if(this.mode===`single`){let n=this.selectedIds.size!==1||!this.selectedIds.has(e);return this.selectedIds.clear(),this.selectedIds.add(e),this.anchorIndex=t,n}return!this.selectedIds.has(e)&&(this.selectedIds.add(e),t>=0&&(this.anchorIndex=t),!0)}toggleRowId(e,t){return this.selectedIds.has(e)?this.removeRowIds([e]):this.addRowId(e,t)}},yg=()=>!0;function bg(e){return e??yg}function xg(e,n,r){return e({data:n.data,rowId:t.T(n,r),rowIndex:n.rowIndex,isTransient:n.isTransient??!1})}var Sg=class extends vg{getFocusedRowIds(){return this.getSelectedRowIds()}};function Cg(e){let t=[],n=[],r=[];return e.forEach((e,i)=>{let a=e.fixed??null;a===`left`?t.push(i):a===`right`?r.push(i):n.push(i)}),{left:t,center:n,right:r}}function wg(e){let t=[],n=[],r=[];return e.forEach((e,i)=>{if(e.hidden)return;let a=e.fixed??null;a===`left`?t.push(i):a===`right`?r.push(i):n.push(i)}),{left:t,center:n,right:r}}function Tg(e){return t.it(e)||t.X(e)}function X(e){return e.fixed??null}function Eg(e){for(let t=0;t<e.length;t++){let n=e[t];if(!(!n||X(n)!==`left`)&&!Tg(n.colId))return t}return e.length}function Dg(e){for(let t=0;t<e.length;t++){let n=e[t];if(!n||X(n)!==`left`||!Tg(n.colId))return t}let t=0;for(let n of e){if(X(n)!==`left`)break;t+=1}return t}function Og(e,t,n){let r=e[t];return r?X(r)===n:!1}function kg(e,t,n){if(n!==void 0)return n;if(t>=e.length)return`right`;let r=e[t];return r?X(r):null}function Ag(e,t,n){return n===`left`?Dg(e):n===`right`?e.length:t.center.length>0?t.center[0]:t.left.length>0?t.left[t.left.length-1]+1:Eg(e)}function jg(e,t,n){if(n===`left`)return t.center.length>0?t.center[0]:t.right.length>0?t.right[0]:e.length;if(n===`right`)return e.length;if(t.center.length>0){let n=t.center[t.center.length-1];if(t.right.length>0){let r=t.right[0];return r>n?r:Math.min(n+1,e.length-1)}return e.length}return t.right.length>0?t.right[0]:e.length}function Mg(e){let{columns:t,colId:n,toGlobalIndex:r,toFixed:i}=e;if(r<0||r>t.length)return!1;let a=t.findIndex(e=>e.colId===n);if(a<0||a===r||Tg(n))return!1;let o=t[a];if(!o?.movable)return!1;let s=X(o),c=kg(t,r,i);if(r<t.length){let e=t[r];if(!e||Tg(e.colId))return!1}else if(i===void 0)return!1;if(s===c)return r===t.length||s===`left`&&r<Eg(t)?!1:Og(t,r,s);if(e.allowCrossLaneColumnMove!==!0)return!1;if(c===`left`){let e=s===c?Eg(t):Dg(t);if(r<t.length&&r<e)return!1}return!0}function Ng(e,t,n,r){return e.findIndex(e=>e.colId===t)<0?null:kg(e,n,r)}function Pg(e){if(!Mg(e))return null;let t=e.columns.map(e=>e.colId),n=t.indexOf(e.colId);return n<0?null:e.toGlobalIndex===e.columns.length?(t.splice(n,1),t.push(e.colId),t):(t.splice(n,1),t.splice(e.toGlobalIndex,0,e.colId),t)}function Fg(e){let t=e.columns.findIndex(t=>t.colId===e.colId);if(t<0)return null;let n=e.direction===`right`?t+1:t-1;if(!Mg({...e,toGlobalIndex:n}))return null;let r=e.columns[t],i=e.columns[n];return!r||!i||X(r)!==X(i)?null:n}function Ig(e,t){return e===0?t:e>0?`right`:`left`}function Lg(e,t){for(let n of t)if(e>=n.left&&e<n.left+n.width)return n;return null}function Rg(e,t){return t<=e?e:e+1}function zg(e,t){return t<e?e-1:e}function Bg(e,t,n,r,i){let a=Lg(e,t);if(a)return n===`right`?Rg(a.globalIndex,i):zg(a.globalIndex,i);if(t.length===0)return r;let o=t[0],s=t[t.length-1];if(e<o.left)return n===`right`?zg(o.globalIndex,i):o.globalIndex;if(e>=s.left+s.width)return r;for(let r=0;r<t.length-1;r+=1){let a=t[r],o=t[r+1];if(e>=a.left+a.width&&e<o.left)return n===`right`?Rg(a.globalIndex,i):zg(o.globalIndex,i)}return r}function Vg(e){let t=e.leftFixedWidth+e.centerTotalWidth;return e.laneIndices.map(n=>{let r=e.columns[n];if(!r||Tg(r.colId)||r.colId===e.sourceColId)return null;let i=e.targetFixed===`right`?r.left-t:r.left;return{colId:r.colId,globalIndex:n,left:i,width:r.width}}).filter(e=>e!=null)}function Hg(e){if(e.dragDirection!=null&&e.sourceGlobalIndex!=null&&e.sourceGlobalIndex>=0)return Bg(e.position,e.laneColumns,e.dragDirection,e.endIndex,e.sourceGlobalIndex);for(let t of e.laneColumns){let n=t.left+t.width/2;if(e.position<n)return t.globalIndex}return e.endIndex}function Ug(e){let t=e.laneHeaderCells.filter(t=>{let n=e.columns[t.globalIndex];return n&&t.colId!==e.sourceColId&&!Tg(t.colId)&&X(n)===e.targetFixed});if(t.length===0)return e.clientX<e.laneRectLeft||e.clientX>e.laneRectRight?null:{globalIndex:Ag(e.columns,e.fixedGroups,e.targetFixed),toFixed:e.targetFixed};let n=jg(e.columns,e.fixedGroups,e.targetFixed),r=t.map(e=>({globalIndex:e.globalIndex,left:e.rectLeft,width:e.rectWidth})),i=e.sourceColId?e.columns.findIndex(t=>t.colId===e.sourceColId):-1,a=Hg({position:e.clientX,laneColumns:r,dragDirection:e.dragDirection,endIndex:n,sourceGlobalIndex:i});return e.targetFixed===`right`&&a===e.columns.length&&e.fixedGroups.right.length===0?{globalIndex:a,toFixed:`right`}:{globalIndex:a}}function Wg(e){let t=e.targetFixed===`left`?e.fixedGroups.left:e.targetFixed===`right`?e.fixedGroups.right:e.fixedGroups.center,n=Vg({columns:e.columns,laneIndices:t,targetFixed:e.targetFixed,leftFixedWidth:e.leftFixedWidth,centerTotalWidth:e.centerTotalWidth,sourceColId:e.sourceColId});if(n.length===0)return e.clientX<e.laneRectLeft||e.clientX>e.laneRectRight?null:{globalIndex:Ag(e.columns,e.fixedGroups,e.targetFixed),toFixed:e.targetFixed};let r=jg(e.columns,e.fixedGroups,e.targetFixed),i=e.sourceColId?e.columns.findIndex(t=>t.colId===e.sourceColId):-1,a=Hg({position:e.sectionX,laneColumns:n,dragDirection:e.dragDirection,endIndex:r,sourceGlobalIndex:i});return e.targetFixed===`right`&&a===e.columns.length&&e.fixedGroups.right.length===0?{globalIndex:a,toFixed:`right`}:{globalIndex:a}}function Gg(e){return!t.it(e)&&!t.X(e)}function Kg(e,t){return e.center.length>0?e.center[0]:e.right.length>0?e.right[0]:e.left.length>0?e.left[e.left.length-1]+1:t}function qg(e){if(!Gg(e.colId))return null;let t=e.columns.find(t=>t.colId===e.colId);if(!t)return null;let n=X(t);return n===e.fixed?null:e.fixed===`left`?{toGlobalIndex:jg(e.columns,e.fixedGroups,`left`),toFixed:`left`}:e.fixed===`right`?{toGlobalIndex:e.columns.length,toFixed:`right`}:n===`right`?{toGlobalIndex:e.fixedGroups.right[0]??e.columns.length,toFixed:null}:{toGlobalIndex:Kg(e.fixedGroups,e.columns.length),toFixed:null}}function Jg(e={}){return{resizable:e.resizable??!0,colResizeDefault:e.colResizeDefault??null}}function Yg(e,n,r){return t.it(r)||t.X(r)?!1:e??n}function Xg(e,t){return t===`shift`?!e:e}function Zg(e,t,n,r,i){let a=e.map(e=>({colId:e.colId,width:t.getColumnWidth(e.colId)})),o=i&&i.length>0?i.map(e=>({colId:e,width:t.getColumnWidth(e)})):null;return{columns:a,column:a.length===1?a[0]??null:null,finished:n,flexColumns:o,source:r}}var Qg={left:[],center:[],right:[]};function $g(e,t){return e.key??e.prop??`col_${t}`}function e_(e,t){let n=new Map(t.map(e=>[e.colId,e])),r=[],i=new Set;for(let t of e){let e=n.get(t);e&&(r.push(e),i.add(t))}for(let e of t)i.has(e.colId)||(r.push(e),i.add(e.colId));return r}var t_=class{columns=[];totalWidth=0;fixedGroups=Qg;leftFixedWidth=0;rightFixedWidth=0;centerTotalWidth=0;gridAlignDefaults={};columnMovableDefault=!0;allowCrossLaneColumnMove=!1;gridResizableDefault=!0;gridSortableDefault=!1;gridFilterableDefault=!1;constructor(e=[],t={},n={},r={},i,a,o,s){this.gridAlignDefaults=r;let c=ca(i);this.columnMovableDefault=c.columnMovable,this.allowCrossLaneColumnMove=c.allowCrossLaneColumnMove;let l=Jg(a);this.gridResizableDefault=l.resizable,this.gridSortableDefault=na(o).sortable,this.gridFilterableDefault=fa(s).filterable,this.setColumns(e,t,n)}setColumns(e,t={},n={},r,i,a,o,s){if(r!==void 0&&(this.gridAlignDefaults=r),i!==void 0){let e=ca(i);this.columnMovableDefault=e.columnMovable,this.allowCrossLaneColumnMove=e.allowCrossLaneColumnMove}a!==void 0&&(this.gridResizableDefault=Jg(a).resizable),o!==void 0&&(this.gridSortableDefault=na(o).sortable),s!==void 0&&(this.gridFilterableDefault=fa(s).filterable);let c=oe(e),l=this.columns.map(e=>e.colId),u=new Map(this.columns.map(e=>[e.colId,e])),d=new Set(c.map((e,t)=>$g(e,t))),f=c.map((e,r)=>{let i=this.parseColumn(e,r,t,n),a=u.get(i.colId);return a&&(a.defHidden===i.defHidden&&(i.hidden=a.hidden),a.defWidth===i.defWidth&&a.defFlex===i.defFlex&&(i.width=a.width,i.flex=a.flex),a.defFixed===i.defFixed&&(i.fixed=a.fixed)),i}),p=l.length>0&&(d.size!==l.length||l.some(e=>!d.has(e)));this.columns=l.length===0||p?f:e_(l,f),this.rebuildDisplayedLayout()}setColumnsHidden(e,t){let n=[];for(let r of e){if(Vs(r))continue;let e=this.columns.find(e=>e.colId===r);!e||e.hidden===t||(e.hidden=t,n.push(r))}return n.length>0&&this.rebuildDisplayedLayout(),n}isColumnHidden(e){return this.getColumnById(e)?.hidden}getDisplayedColumnIds(){return Ws(this.columns).map(e=>e.colId)}getDisplayedColumnIdsInLaneOrder(){let e=[],t=new Set,{left:n,center:r,right:i}=this.fixedGroups;for(let a of[...n,...r,...i]){let n=this.columns[a];!n||n.hidden||t.has(n.colId)||(t.add(n.colId),e.push(n.colId))}return e}rebuildDisplayedLayout(){this.fixedGroups=wg(this.columns),this.positionColumns()}setColumnMoveGridOptions(e){this.columnMovableDefault=e.columnMovable,this.allowCrossLaneColumnMove=e.allowCrossLaneColumnMove;for(let e of this.columns){if(t.it(e.colId)||t.X(e.colId)||A(e.colId)){e.movable=!1;continue}e.movable=la(e.defMovable,this.columnMovableDefault)}}setColumnResizeGridOptions(e){this.gridResizableDefault=e.resizable;for(let e of this.columns){if(t.it(e.colId)||t.X(e.colId)||A(e.colId)){e.resizable=!1;continue}e.resizable=Yg(e.defResizable,this.gridResizableDefault,e.colId)}}setColumnSortGridOptions(e){this.gridSortableDefault=e.sortable;for(let e of this.columns){if(t.it(e.colId)||t.X(e.colId)||A(e.colId)||R(e.colId)){e.sortable=!1;continue}e.sortable=ra(e.defSortable,this.gridSortableDefault,e.colId)}}setColumnFilterGridOptions(e){this.gridFilterableDefault=e.filterable;for(let e of this.columns){if(t.it(e.colId)||t.X(e.colId)||A(e.colId)||R(e.colId)){e.filterable=!1;continue}e.filterable=pa(e.defFilterable,this.gridFilterableDefault,e.colId)}}getColumnCount(){return this.columns.length}getColumn(e){return this.columns[e]}getColumnById(e){return this.columns.find(t=>t.colId===e)}getColAfter(e){let t=Ws(this.columns),n=t.findIndex(t=>t.colId===e);if(!(n<0||n>=t.length-1))return t[n+1]}getColumnWidth(e){return this.getColumnById(e)?.width??100}getColumnInitialWidth(e){return this.getColumnById(e)?.initialWidth??100}getTotalWidth(){return this.totalWidth}getColumns(){return this.columns}getDisplayedColumns(){return Ws(this.columns)}getDisplayedColumnCount(){return Gs(this.columns)}getFixedColumnGroups(){return this.fixedGroups}getLeftFixedColumnIndices(){return this.fixedGroups.left}getRightFixedColumnIndices(){return this.fixedGroups.right}getCenterColumnIndices(){return this.fixedGroups.center}getLeftFixedWidth(){return this.leftFixedWidth}getRightFixedWidth(){return this.rightFixedWidth}getCenterTotalWidth(){return this.centerTotalWidth}isFixedColumn(e){let t=this.columns[e];return t?.fixed===`left`||t?.fixed===`right`}setColumnWidth(e,t){this.applyColumnWidthChanges([{colId:e,width:t}])}applyColumnWidthChanges(e,t){let n=!1,r=t?.widthSource!==`flex`;for(let t of e){let e=this.columns.find(e=>e.colId===t.colId);if(!e)continue;r&&e.flex!=null&&(e.flex=null);let i=n_(t.width,e.minWidth,e.maxWidth);e.width!==i&&(e.width=i,n=!0)}return n&&this.positionColumns(),n}hasFlexColumns(){return this.columns.some(e=>!e.hidden&&e.flex!=null&&e.flex>0&&e.fixed!==`left`&&e.fixed!==`right`)}reorderColumns(e){if(e.length!==this.columns.length)return!1;let t=new Map(this.columns.map(e=>[e.colId,e])),n=[];for(let r of e){let e=t.get(r);if(!e)return!1;n.push(e)}return this.columns=n,this.rebuildDisplayedLayout(),!0}resetColumnsOrder(e){return this.reorderColumns(e)}resetColumnsWidth(){let e=[];for(let t of this.columns){if(Vs(t.colId))continue;let n=!1,r=n_(t.defWidth,t.minWidth,t.maxWidth);t.width!==r&&(t.width=r,n=!0),t.flex!==t.defFlex&&(t.flex=t.defFlex,n=!0),n&&e.push(t.colId)}return e.length>0&&this.positionColumns(),e}moveColumn(e,t,n){let r=Ng(this.columns,e,t,n),i=Pg({columns:this.columns,colId:e,toGlobalIndex:t,fixedGroups:this.fixedGroups,toFixed:n,allowCrossLaneColumnMove:this.allowCrossLaneColumnMove});if(!i)return!1;let a=this.columns.find(t=>t.colId===e);return a&&X(a)!==r&&(a.fixed=r),this.reorderColumns(i)}setColumnFixed(e,t){let n=qg({columns:this.columns,fixedGroups:this.fixedGroups,colId:e,fixed:t});if(!n)return!1;let r=this.columns.findIndex(t=>t.colId===e);if(r<0)return!1;let i=this.columns[r];if(r===n.toGlobalIndex)return i.fixed=n.toFixed,this.rebuildDisplayedLayout(),!0;let a=Pg({columns:this.columns,colId:e,toGlobalIndex:n.toGlobalIndex,fixedGroups:this.fixedGroups,toFixed:n.toFixed,allowCrossLaneColumnMove:!0});return a?(i.fixed=Ng(this.columns,e,n.toGlobalIndex,n.toFixed),this.reorderColumns(a)):!1}parseColumn(e,n,r,i){let a=$g(e,n),o=e.minWidth??50,s=n_(e.width??100,o,e.maxWidth),c=Qp(e,this.gridAlignDefaults),l=t.it(a)||t.X(a)||A(a)||R(a),u=e.fixed===`left`||e.fixed===`right`,d=!l&&!u&&e.flex!=null&&e.flex>0?e.flex:null;return e.cellEditorMode,e.cellEditor??i[a],e.cellEditorMode,e.cellEditor??i[a],{colId:a,prop:e.prop,label:e.label,width:s,initialWidth:s,minWidth:o,maxWidth:e.maxWidth,flex:d,suppressSizeToFit:l?!0:e.suppressSizeToFit??!1,left:0,fixed:e.fixed??null,sortable:!l&&ra(e.sortable,this.gridSortableDefault,a),filterable:!l&&pa(e.filterable,this.gridFilterableDefault,a),filterType:ii(l?void 0:e.filterType),filterParams:ai(l?void 0:e.filterParams),filterFormatter:l?void 0:e.filterFormatter,comparator:e.comparator,defMovable:l?void 0:e.movable,movable:!l&&la(e.movable,this.columnMovableDefault),defResizable:l?void 0:e.resizable,defSortable:l?void 0:e.sortable,defFilterable:l?void 0:e.filterable,resizable:Yg(!l&&e.resizable,this.gridResizableDefault,a),suppressAutoSize:l?!0:e.suppressAutoSize??!1,valueGetter:e.valueGetter,formatter:e.formatter,editable:e.editable,cellRenderer:e.cellRenderer??r[a],cellRendererMount:l?void 0:e.cellRendererMount,cellEditor:e.cellEditor??i[a],cellEditorMode:t.U(a,e.cellEditorMode),cellEditorCache:l?void 0:e.cellEditorCache,cellEditorParams:e.cellEditorParams,valueParser:e.valueParser,valueSetter:e.valueSetter,editType:e.editType,cellValidator:e.cellValidator,cellCommitted:e.cellCommitted,suppressPaste:l?!0:e.suppressPaste,useParserForClipboard:e.useParserForClipboard,useFormatterForClipboard:e.useFormatterForClipboard,validationRequired:e.validationRequired,summary:e.summary,summaryAgg:e.summaryAgg,summaryFormatter:e.summaryFormatter,autoHeight:Wa(e,a),rowDrag:Aa(e,a),rowExpand:N(e,a),rowGroup:xe(e,a),rowGroupIndex:Se(e,a),groupAgg:Ce(e,a),showGroupHeaderCell:we(e,a),showGroupFooterCell:Te(e,a),groupFooterLabel:Ee(e,a),suppressCellComments:l?!0:e.suppressCellComments,disabled:!l&&e.disabled,cellDisabled:l?void 0:e.cellDisabled,cellStyle:l?void 0:e.cellStyle,defWidth:s,defFlex:d,defFixed:l?null:e.fixed??null,defHidden:!l&&e.hidden===!0,defOrder:n,hidden:Hs(a,e),tooltipField:l?void 0:e.tooltipField,tooltipValueGetter:l?void 0:e.tooltipValueGetter,headerTooltip:l?void 0:e.headerTooltip,headerTooltipValueGetter:l?void 0:e.headerTooltipValueGetter,suppressTooltip:Dc(a,e),tooltipComponent:l?void 0:e.tooltipComponent,tooltipComponentParams:l?void 0:e.tooltipComponentParams,colSpan:ao(e,a),rowSpan:oo(e,a),spanRows:so(e,a),...c}}hasAutoHeightColumns(){return this.columns.some(e=>e.autoHeight)}isColumnAutoHeight(e){return this.getColumnById(e)?.autoHeight??!1}getAutoHeightColumnIds(){return this.columns.filter(e=>e.autoHeight).map(e=>e.colId)}positionColumns(){this.leftFixedWidth=0,this.centerTotalWidth=0,this.rightFixedWidth=0;for(let e of this.fixedGroups.left){let t=this.columns[e];!t||t.hidden||(t.left=this.leftFixedWidth,t.rightOffset=void 0,this.leftFixedWidth+=t.width)}let e=0;for(let t of this.fixedGroups.center){let n=this.columns[t];!n||n.hidden||(n.left=e,n.rightOffset=void 0,e+=n.width)}this.centerTotalWidth=e;let t=this.leftFixedWidth+this.centerTotalWidth;for(let e of this.fixedGroups.right){let n=this.columns[e];!n||n.hidden||(n.left=t,t+=n.width,this.rightFixedWidth+=n.width)}let n=0;for(let e=this.fixedGroups.right.length-1;e>=0;e--){let t=this.fixedGroups.right[e],r=t===void 0?void 0:this.columns[t];!r||r.hidden||(r.rightOffset=n,n+=r.width)}this.totalWidth=this.leftFixedWidth+this.centerTotalWidth+this.rightFixedWidth}};function n_(e,t,n){let r=Math.max(e,t);return n!==void 0&&(r=Math.min(r,n)),r}function r_(e,t,n){if(e.length===0)return-1;let r=document.createElement(`form`);r.style.position=`fixed`,r.style.visibility=`hidden`,r.style.pointerEvents=`none`,r.style.top=`0`,r.style.left=`0`;for(let t of e)s_(t,r);t.appendChild(r);let i=r.offsetWidth+n;return r.remove(),i}function i_(e,t,n){let r=[];if(!n){let n=e.querySelector(`.mg-header-cell[data-col-id="${a_(t)}"]`);n&&r.push(n)}return e.querySelectorAll(`.mg-cell[data-col-id="${a_(t)}"]`).forEach(e=>{e instanceof HTMLElement&&r.push(e)}),r}function a_(e){return typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function o_(e,t,n,r){let i=e.querySelector(`.mg-viewport`);if(!i)return-1;let a=i_(e,t,n);return a.length===0?-1:r_(a,i,r)}function s_(e,t){let n=e.cloneNode(!0);n.style.width=``,n.style.minWidth=``,n.style.maxWidth=``,n.style.left=``,n.style.right=``,n.style.position=`static`;let r=document.createElement(`div`);c_(e,r),r.append(n),t.append(r)}function c_(e,t){(e.classList.contains(`mg-header-cell`)||e.classList.contains(`mg-cell`)||e.classList.contains(`mg-footer-cell`))&&t.classList.add(`mg-row`);let n=e.parentElement;for(;n;){if(n.classList.contains(`mg-row`)||n.classList.contains(`mg-header-row`)||n.classList.contains(`mg-header-lane`)||n.classList.contains(`mg-body-lane`)){for(let e of n.classList)e!==`mg-row-position-absolute`&&t.classList.add(e);break}n=n.parentElement}}function l_(e){return e.reduce((e,t)=>e+t.width,0)}function u_(e,n,r={}){if(n<=0)return[];let i=Object.fromEntries((r.columnLimits??[]).map(({colId:e,minWidth:t,maxWidth:n})=>[e,{minWidth:t,maxWidth:n}])),a=r.colIds?new Set(r.colIds):null,o=[],s=[];for(let n of e.getColumns()){if(n.hidden){s.push({colId:n.colId,width:n.width,minWidth:n.minWidth,maxWidth:n.maxWidth??2**53-1});continue}if(t.it(n.colId)||t.X(n.colId)){s.push({colId:n.colId,width:n.width,minWidth:n.minWidth,maxWidth:n.maxWidth??2**53-1});continue}let c=i[n.colId]??{},l=Math.max(n.minWidth,c.minWidth??r.defaultMinWidth??n.minWidth),u=Math.min(n.maxWidth??2**53-1,c.maxWidth??r.defaultMaxWidth??n.maxWidth??2**53-1),d={colId:n.colId,width:e.getColumnInitialWidth(n.colId),minWidth:l,maxWidth:u};if(n.suppressSizeToFit){d.width=n.width,s.push(d);continue}if(a&&!a.has(n.colId)){d.width=n.width,s.push(d);continue}o.push(d)}if(o.length===0||r.onlyScaleUp&&l_(o)+l_(s)>=n)return[];let c=new Map(o.map(t=>[t.colId,e.getColumnWidth(t.colId)])),l=o.map(e=>e.colId),u=!1;for(;!u;){u=!0;let e=n-l_(s);if(e<=0){for(let e of o)e.width=e.minWidth;break}let t=l_(o);if(t<=0)break;let r=e/t,i=e;for(let e=o.length-1;e>=0;e--){let t=o[e],n=e===0?i:Math.round(t.width*r);n<t.minWidth?(n=t.minWidth,s.push(t),o.splice(e,1),u=!1):n>t.maxWidth&&(n=t.maxWidth,s.push(t),o.splice(e,1),u=!1),t.width=n,i-=n}}let d=e=>o.find(t=>t.colId===e)?.width??s.find(t=>t.colId===e)?.width,f=[];for(let t of l){let n=d(t);n!=null&&(c.get(t)??e.getColumnWidth(t))!==n&&f.push({colId:t,newWidth:n})}return f}var d_=class{mountEl;columnModel;autosizeOptions;constructor(e,t,n){this.mountEl=e,this.columnModel=t,this.autosizeOptions=n}setAutosizeOptions(e){this.autosizeOptions=e}getAutoSizeStrategy(){return this.autosizeOptions.autoSizeStrategy}autoSizeColumn(e,n){let r=this.columnModel.getColumnById(e);if(!r?.resizable||r.suppressAutoSize||t.it(e)||t.X(e))return null;let i=n??this.autosizeOptions.skipHeaderOnAutoSize,a=o_(this.mountEl,e,i,this.autosizeOptions.autoSizePadding);return a<=0?null:{colId:e,newWidth:f_(r.minWidth,r.maxWidth,a)}}autoSizeColumns(e,t){let n=[];for(let r of e){let e=this.autoSizeColumn(r,t);e&&n.push(e)}return n}autoSizeAllColumns(e){let n=this.columnModel.getColumns().filter(e=>e.resizable&&!e.suppressAutoSize&&!t.it(e.colId)&&!t.X(e.colId)).map(e=>e.colId);return this.autoSizeColumns(n,e)}sizeColumnsToFit(e,t={}){return u_(this.columnModel,e,t)}buildFitWidthStrategyParams(e,t){return{gridWidth:e.type===`fitProvidedWidth`?e.width:t,defaultMinWidth:e.defaultMinWidth,defaultMaxWidth:e.defaultMaxWidth,columnLimits:e.columnLimits}}buildFitCellContentsChanges(e){let n=e.skipHeader??this.autosizeOptions.skipHeaderOnAutoSize,r=e.colIds??this.columnModel.getColumns().filter(e=>e.resizable&&!e.suppressAutoSize&&!t.it(e.colId)&&!t.X(e.colId)).map(e=>e.colId),i=Object.fromEntries((e.columnLimits??[]).map(({colId:e,minWidth:t,maxWidth:n})=>[e,{minWidth:t,maxWidth:n}])),a=[];for(let t of r){let r=this.columnModel.getColumnById(t);if(!r)continue;let o=i[t]??{},s=this.autoSizeColumn(t,n);if(!s)continue;let c=Math.max(r.minWidth,o.minWidth??e.defaultMinWidth??r.minWidth),l=Math.min(r.maxWidth??2**53-1,o.maxWidth??e.defaultMaxWidth??r.maxWidth??2**53-1);a.push({colId:t,newWidth:f_(c,l===2**53-1?void 0:l,s.newWidth)})}return!e.scaleUpToFitGridWidth||a.length===0?{contentChanges:a}:{contentChanges:a,scaleUpParams:{colIds:a.map(e=>e.colId),defaultMinWidth:e.defaultMinWidth,defaultMaxWidth:e.defaultMaxWidth,columnLimits:e.columnLimits,onlyScaleUp:!0}}}};function f_(e,t,n){let r=Math.max(n,e);return t!==void 0&&(r=Math.min(r,t)),r}function p_(e,t){if(e.length===0||t<=0)return 0;let n=e[e.length-1];if(t>=n.left+n.width)return e.length-1;let r=0,i=e.length-1;for(;r<i;){let n=Math.ceil((r+i)/2);e[n].left<=t?r=n:i=n-1}return r}function m_(e,t){if(e.length===0)return 0;let n=0,r=e.length-1;for(;n<r;){let i=Math.floor((n+r)/2),a=e[i];a.left+a.width<=t?n=i+1:r=i}return n}function h_(e,t){return Math.max(0,e-t)}function g_(e,t,n){let r=Math.max(0,t-n);return Math.max(0,Math.min(e,r))}function __(e,t,n){return Math.max(0,e-t-n)}function v_(e,t,n){let r=e-t.getBoundingClientRect().left,i=n.getLeftFixedWidth(),a=n.getRightFixedWidth(),o=n.getCenterTotalWidth(),s=__(t.clientWidth,i,a);return g_(t.scrollLeft,o,s)+(r-i)}function y_(e,t,n){let r=t.getBoundingClientRect(),i=n.getLeftFixedWidth(),a=n.getRightFixedWidth(),o=n.getCenterTotalWidth(),s=__(t.clientWidth,i,a),c=g_(t.scrollLeft,o,s);return r.left+i+(e-c)}function b_(e){let t=e.getCenterColumnIndices(),n=e.getColumns();return{centerIndices:t,centerColumns:t.map(e=>n[e]).filter(e=>e!==void 0)}}function x_(e){let{scrollLeft:t,viewportWidth:n,columnModel:r,margin:i=200}=e,{centerIndices:a,centerColumns:o}=b_(r),s=r.getLeftFixedWidth(),c=r.getRightFixedWidth();if(o.length===0)return{window:{firstCol:0,lastCol:-1},centerScrollLeft:h_(t,s)};let l=r.getCenterTotalWidth(),u=__(n,s,c),d=g_(t,l,u),f=Math.max(0,d-i),p=Math.min(d+u+i,l+i),m=m_(o,f),h=p_(o,p);return h=Math.min(h,o.length-1),h<m?{window:{firstCol:0,lastCol:-1},centerScrollLeft:d}:{window:{firstCol:a[m],lastCol:a[h]},centerScrollLeft:d}}var S_=class{columnModel;flexViewportWidth=0;constructor(e){this.columnModel=e}resolveCenterViewportWidth(e){return __(e,this.columnModel.getLeftFixedWidth(),this.columnModel.getRightFixedWidth())}refreshFlexedColumns(e){let t=e.viewportWidth;this.flexViewportWidth=t;let n=this.getCenterColumns();if(n.length===0||t<=0)return{changed:!1,changedColIds:[],flexColIds:[]};let r=-1;if(e.resizingColIds&&e.resizingColIds.length>0){let t=new Set(e.resizingColIds);for(let e=n.length-1;e>=0;e--){let i=n[e];if(i&&t.has(i.colId)){r=e;break}}}let i=!1,a=n.map((e,t)=>{let n=e.flex??0,a=n>0&&t>r;return i||=a,{colId:e.colId,column:e,isFlex:a,flex:Math.max(0,n),initialSize:e.width,min:e.minWidth,max:e.maxWidth??2**53-1,targetSize:0}});if(!i)return{changed:!1,changedColIds:[],flexColIds:[]};let o=a.length,s=a.reduce((e,t)=>e+t.flex,0),c=t,l=(e,t)=>{e.frozenSize=t,c-=t,s-=e.flex,--o},u=e=>e.frozenSize!=null;for(let e of a)e.isFlex||l(e,e.initialSize);for(;o>0;){let e=Math.round(s<1?c*s:c),t,n=0,r=0;for(let i of a){if(u(i))continue;t=i,r+=e*(i.flex/s);let a=r-n,o=Math.round(a);i.targetSize=o,n+=o}t&&(t.targetSize+=e-n);let i=0;for(let e of a){if(u(e))continue;let t=e.targetSize,n=Math.min(Math.max(t,e.min),e.max);i+=n-t,e.violationType=n===t?void 0:n<t?`max`:`min`,e.targetSize=n}let o=i===0?`all`:i>0?`min`:`max`;for(let e of a)u(e)||(o===`all`||e.violationType===o)&&l(e,e.targetSize)}let d=[],f=[],p=[];for(let e of a){let t=e.frozenSize;t!=null&&t!==e.initialSize&&(d.push({colId:e.colId,width:t}),f.push(e.colId),e.isFlex&&p.push(e.colId))}return d.length===0?{changed:!1,changedColIds:[],flexColIds:[]}:(this.columnModel.applyColumnWidthChanges(d,{widthSource:`flex`}),{changed:!0,changedColIds:f,flexColIds:p})}getStoredViewportWidth(){return this.flexViewportWidth}getCenterColumns(){let e=this.columnModel.getCenterColumnIndices(),t=this.columnModel.getColumns();return e.map(e=>t[e]).filter(e=>e!==void 0)}};function C_(e,t,n,r){let i=Xg(n,r.colResizeDefault),a=[],o=[];for(let n of t){let t=e.getColumnById(n.colId);if(!t?.resizable)continue;let r=D_(t,n.newWidth);if(a.push({width:r,ratios:[1],colIds:[n.colId]}),o.push(n.colId),i){let i=e.getColAfter(n.colId);if(!i?.resizable)continue;let s=t.width-r,c=i.width+s;a.push({width:c,ratios:[1],colIds:[i.colId]}),o.includes(i.colId)||o.push(i.colId)}}return{sets:a,affectedColIds:o}}var w_=class{columnModel;syncLayout;columnFlexService;getCenterViewportWidth;constructor(e,t,n,r){this.columnModel=e,this.syncLayout=t,this.columnFlexService=n,this.getCenterViewportWidth=r}setColumnWidths(e,t,n,r,i){let{sets:a,affectedColIds:o}=C_(this.columnModel,e,t,i);return a.length===0?{changed:!1,affectedColIds:[],flexColIds:[]}:this.resizeColumnSets({resizeSets:a,finished:n,source:r,affectedColIds:o})}resizeColumnSets(e){let{resizeSets:t,affectedColIds:n}=e;if(!t.every(e=>T_(this.columnModel,e)))return{changed:!1,affectedColIds:n,flexColIds:[]};let r=[];for(let e of t){let t=E_(this.columnModel,e);for(let[e,n]of Object.entries(t)){let t=r.find(t=>t.colId===e);t?t.width=n:r.push({colId:e,width:n})}}let i=r.filter(e=>this.columnModel.getColumnById(e.colId)?.resizable),a=this.columnModel.applyColumnWidthChanges(i,{widthSource:`manual`});a&&this.syncLayout();let o=[];if(this.columnFlexService&&this.getCenterViewportWidth&&this.columnModel.hasFlexColumns()){let e=this.columnFlexService.refreshFlexedColumns({viewportWidth:this.getCenterViewportWidth(),resizingColIds:n});o=e.flexColIds,e.changed&&this.syncLayout()}return{changed:a||o.length>0,affectedColIds:n,flexColIds:o}}};function T_(e,t){let n=0,r=0,i=!0;for(let a of t.colIds){let t=e.getColumnById(a);if(!t)return!1;n+=t.minWidth,t.maxWidth===void 0?i=!1:r+=t.maxWidth}return t.width>=n&&(!i||t.width<=r)}function E_(e,t){let{colIds:n,width:r,ratios:i}=t,a=Object.create(null),o=Object.create(null),s=!0,c=0;for(;s&&(c++,!(c>1e3));){s=!1;let t=[],c=0,l=r;n.forEach((e,n)=>{o[e]?l-=a[e]??0:(t.push(e),c+=i[n]??1)});let u=c>0?1/c:1;t.forEach((c,d)=>{let f=e.getColumnById(c);if(!f)return;let p=d===t.length-1,m;if(p)m=l;else{let e=n.indexOf(c),t=i[e]??1;m=Math.round(t*r*u),l-=m}let h=f.minWidth,g=f.maxWidth;m<h?(m=h,o[c]=!0,s=!0):g!==void 0&&m>g&&(m=g,o[c]=!0,s=!0),a[c]=m})}return a}function D_(e,t){let n=Math.max(t,e.minWidth);return e.maxWidth!==void 0&&(n=Math.min(n,e.maxWidth)),n}var O_=class{columnModel;currentWindow={firstCol:0,lastCol:-1};centerScrollLeft=0;windowHash=``;constructor(e){this.columnModel=e}update(e,t){let{window:n,centerScrollLeft:r}=x_({scrollLeft:e,viewportWidth:t,columnModel:this.columnModel}),i=this.computeHash(n),a=i!==this.windowHash;return this.currentWindow=n,this.centerScrollLeft=r,this.windowHash=i,a}getWindow(){return this.currentWindow}getCenterScrollLeft(){return this.centerScrollLeft}getState(){return{centerWindow:this.currentWindow,fixed:this.columnModel.getFixedColumnGroups(),centerScrollLeft:this.centerScrollLeft}}invalidate(){this.windowHash=``,this.currentWindow={firstCol:0,lastCol:-1},this.centerScrollLeft=0}computeHash(e){let t=this.columnModel.getColumns(),n=this.columnModel.getFixedColumnGroups(),r=`fixed:`;for(let e of n.left){let n=t[e];n&&(r+=`L${n.colId}:${n.width};`)}for(let e of n.right){let n=t[e];n&&(r+=`R${n.colId}:${n.width};`)}if(e.lastCol<e.firstCol)return`${r}|empty`;r+=`|${e.firstCol}:${e.lastCol}`;for(let n=e.firstCol;n<=e.lastCol;n++){let e=t[n];e&&(r+=`|${e.colId}:${e.width}:${e.left}`)}return r}},k_=new class{apply(e,t){if(e.replaceChildren(),typeof t==`string`){e.textContent=t;return}e.appendChild(t)}clear(e){e.replaceChildren()}},A_=class{cachedValue=``;cachedRenderKey=``;cacheVersion=-1;refreshSummaryCell(e,t,n,r,i=!1){let a=typeof i==`boolean`?{force:i}:i,o=a.force??!1;if(e.cellRenderer)return this.refreshRendererCell(e,t,n,r,o,a.scheduleRenderer);let s=t.formattedValue;return!o&&this.cacheVersion===r&&this.cachedValue===s?!1:(n.clearRenderer(),this.cachedValue=s,this.cachedRenderKey=``,this.cacheVersion=r,n.setValue(s),!0)}invalidate(){this.cacheVersion=-1,this.cachedRenderKey=``}refreshRendererCell(e,t,n,r,i,a){let o=t.formattedValue,s=`${r}:summary:${e.colId}:${o}`;if(!i&&this.cacheVersion===r&&this.cachedRenderKey===s)return!1;this.cachedValue=o,this.cachedRenderKey=s,this.cacheVersion=r;let c={rowId:ct,rowIndex:-1,colId:e.colId,value:t.value,data:{},formattedValue:o,isSummaryRow:!0},l=()=>{this.applyRenderer(e,n,c)};return a?(a(l),!0):(l(),!0)}applyRenderer(e,t,n){let r=e.cellRenderer;if(!r)return;t.prepareForRenderer();let i=t.getRendererMountEl(),a=r(n,{mountEl:i,clear:()=>{t.clearRenderer()}});a!=null&&(typeof a==`string`||a instanceof HTMLElement)&&k_.apply(i,a)}},j_=class{element;textEl;rendererMount;onUnmountRenderer;usingRenderer=!1;constructor(e,t={}){this.onUnmountRenderer=t.onUnmountRenderer,this.element=document.createElement(`div`),this.element.className=`mg-footer-cell`,this.textEl=document.createElement(`span`),this.textEl.className=`mg-footer-cell__text`,this.rendererMount=document.createElement(`div`),this.rendererMount.className=`mg-footer-cell__renderer`,this.rendererMount.hidden=!0,this.element.append(this.textEl,this.rendererMount),e.appendChild(this.element)}setLayout(e,t){Gp(this.element,{left:e,width:t,fixed:null},`mg-footer-cell`)}setColumnLayout(e){Gp(this.element,e,`mg-footer-cell`)}setValue(e){this.clearRenderer(),this.textEl.hidden=!1,this.textEl.textContent!==e&&(this.textEl.textContent=e)}setRendererResult(e){this.prepareForRenderer(),k_.apply(this.rendererMount,e)}prepareForRenderer(){this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,this.rendererMount.hidden=!1,this.usingRenderer=!0}clearRenderer(){(this.usingRenderer||this.rendererMount.childNodes.length>0)&&this.onUnmountRenderer?.(this.rendererMount),k_.clear(this.rendererMount),this.rendererMount.hidden=!0,this.usingRenderer=!1}hasRenderer(){return this.usingRenderer}getRendererMountEl(){return this.rendererMount}setColId(e){this.element.dataset.colId=e}getColId(){return this.element.dataset.colId}getElement(){return this.element}destroy(){this.clearRenderer(),this.element.remove()}};function M_(e,t){return{rowId:e.id,rowIndex:e.rowIndex,data:e.data,colId:t.colId,isSummaryRow:!1,value:H(e,t)}}function N_(e,t=null){return{rowId:ct,rowIndex:-1,data:null,colId:e.colId,isSummaryRow:!0,value:t}}function P_(e,t){let n=e[0];if(!n)return{left:0,width:0,fixed:null};let r=Wp(n,t);if(r.width=z_(e),e.length>1){let n=e[e.length-1],i=Wp(n,t);r.isLastLeftFixed=i.isLastLeftFixed,r.isLastCenter=i.isLastCenter,r.isLastColumn=i.isLastColumn}return r}function F_(e,t,n=`mg-cell`){let r=t>1;e.classList.toggle(`${n}--spanning`,r),e.classList.toggle(`${n}--col-span`,r),r?e.dataset.colSpan=String(t):delete e.dataset.colSpan}function I_(e){if(!e.enableCellSpan)return 1;let{column:n,params:r}=e;if(t.it(n.colId)||t.X(n.colId))return 1;let i=n.colSpan;return i?to(i(r)):1}function L_(e,n){let r=n.getColAfter(e.colId);if(r&&r.fixed===e.fixed&&!(t.it(r.colId)||t.X(r.colId)))return r}function R_(e,t,n){let r=I_({enableCellSpan:n.enableCellSpan,column:e,params:n.params}),i=[e],a=e;for(let e=1;e<r;e++){let e=L_(a,t);if(!e)break;i.push(e),a=e}return i}function z_(e){let t=0;for(let n of e)t+=n.width;return t}function B_(e){let{enableCellSpan:t,columnModel:n,columnIndices:r,paramsForColumn:i,filterCallback:a}=e,o=[],s=r.length;for(let e=0;e<s;){let s=r[e];if(s===void 0){e++;continue}let c=n.getColumn(s);if(!c){e++;continue}let l=R_(c,n,{enableCellSpan:t,params:i(c)}),u=V_(n,r,e,l),d=!0;if(a){d=!1;for(let t=0;t<u;t++){let i=r[e+t];if(i===void 0)continue;let o=n.getColumn(i);if(o&&a(o,i)){d=!0;break}}}d&&o.push(s),e+=Math.max(1,u)}return o}function V_(e,t,n,r){let i=1;for(let a=1;a<r.length&&n+a<t.length;a++){let o=t[n+a];if(o===void 0)break;let s=e.getColumn(o),c=r[a];if(!s||!c||s.colId!==c.colId)break;i++}return i}function H_(e){let{columnModel:t,centerWindow:n,enableCellSpan:r,paramsForColumn:i}=e;return r?{left:B_({enableCellSpan:!0,columnModel:t,columnIndices:t.getLeftFixedColumnIndices(),paramsForColumn:i}),center:B_({enableCellSpan:!0,columnModel:t,columnIndices:t.getCenterColumnIndices(),paramsForColumn:i,filterCallback:(e,t)=>n.lastCol>=n.firstCol&&t>=n.firstCol&&t<=n.lastCol}),right:B_({enableCellSpan:!0,columnModel:t,columnIndices:t.getRightFixedColumnIndices(),paramsForColumn:i})}:Up(t,n)}function U_(e){if(!e.enableCellSpan||e.params.isSummaryRow)return 1;let{column:n,params:r}=e;if(t.it(n.colId)||t.X(n.colId))return 1;let i=n.rowSpan;return i?to(i(r)):1}function W_(e){let{enableCellSpan:t,column:n,rowNode:r,getRowByIndex:i,rowCount:a}=e;if(!t||!n.rowSpan||!eo(r))return{head:r,rowSpan:1,covered:!1};let o=Math.max(0,r.rowIndex-100);for(let e=r.rowIndex-1;e>=o;e--){let o=i(e);if(!o||!eo(o))continue;let s=Z_(U_({enableCellSpan:t,column:n,params:M_(o,n)}),o.rowIndex,a);if(s>1&&o.rowIndex+s-1>=r.rowIndex)return{head:o,rowSpan:s,covered:!0}}return{head:r,rowSpan:Z_(U_({enableCellSpan:t,column:n,params:M_(r,n)}),r.rowIndex,a),covered:!1}}function G_(e,t,n){if(t<=1)return e.rowHeight;let r=n(e.rowIndex+t-1)??e,i=r.rowTop+r.rowHeight-e.rowTop;return Math.max(e.rowHeight,i)}function K_(e,t,n){return t<=1||n<=0?!1:e+t-1>=n-1}function q_(e,t,n,r){let i=t>1;if(e.classList.toggle(qa,i),e.classList.toggle(Ja,i&&(r?.endsTable??!1)),i){e.classList.add(`mg-cell--spanning`),e.dataset.rowSpan=String(t),n!=null&&(e.style.height=`${n}px`);return}delete e.dataset.rowSpan,e.style.removeProperty(`height`),e.classList.remove(`mg-cell--row-span-highlighted`),e.classList.remove(Ja),e.classList.contains(`mg-cell--col-span`)||e.classList.remove(`mg-cell--spanning`)}function J_(e){let{head:t,rowSpan:n,getRowByIndex:r,isRowHighlighted:i}=e;if(n<=1)return i(t.id);for(let e=0;e<n;e++){let n=r(t.rowIndex+e);if(n&&i(n.id))return!0}return!1}function Y_(e){let{head:t,rowSpan:n,colId:r,getRowByIndex:i,isCellSelected:a}=e;if(n<=1)return a(t.rowIndex,r);for(let e=0;e<n;e++){let n=i(t.rowIndex+e);if(n&&a(n.rowIndex,r))return!0}return!1}function X_(e){let{enableCellSpan:t,rowModel:n,columns:r,firstRow:i,lastRow:a}=e,o=new Set;if(!t||a<i)return o;let s=r.filter(e=>e.rowSpan!=null);if(s.length===0)return o;let c=n.getRowCount(),l=e=>n.getRow(e),u=Math.max(0,i-50);for(let e=u;e<=a;e++){let n=l(e);if(n)for(let e of s){if($a(e))continue;let r=W_({enableCellSpan:t,column:e,rowNode:n,getRowByIndex:l,rowCount:c});r.covered||r.rowSpan<=1||r.head.id!==n.id||r.head.rowIndex+r.rowSpan-1>=i&&r.head.rowIndex<=a&&o.add(r.head.id)}}return o}function Z_(e,t,n){if(n<=0)return 1;let r=n-t;return Math.min(e,r,50)}function Q_(e,t){let n=new Map;if(!lo(e.spanRows)||t.length===0)return n;let r=e.spanRows,i=-1,a,o=r=>{if(i<0||r<i)return;let a=i;for(;a<=r;){let i=Math.min(r,a+50-1),o=[];for(let e=a;e<=i;e++)o.push(t[e].id);let s={colId:e.colId,firstRowId:o[0],lastRowId:o[o.length-1],rowIds:o,rowSpan:o.length};for(let e of o)n.set(e,s);a=i+1}};for(let n=0;n<t.length;n++){let s=t[n];if(!eo(s)){i>=0&&(o(n-1),i=-1);continue}let c=H(s,e);if(i<0){i=n,a=c;continue}let l=t[i];$_(r,l,s,a,c,e.colId)||(o(n-1),i=n,a=c)}return i>=0&&o(t.length-1),n}function $_(e,t,n,r,i,a){return e===!0?Object.is(r,i):typeof e==`function`&&e({nodeA:{rowId:t.id,data:t.data,rowIndex:t.rowIndex},nodeB:{rowId:n.id,data:n.data,rowIndex:n.rowIndex},valueA:r,valueB:i,colId:a})}var ev=class{deps;spanRowsCaches=new Map;warnedBothModes=new Set;constructor(e){this.deps=e}get active(){return this.deps.getEnableCellSpan()}refresh(){if(this.spanRowsCaches.clear(),!this.active)return;let e=this.deps.getDisplayRows(),t=this.deps.getColumnModel().getColumns();for(let n of t)n.rowSpan&&lo(n.spanRows)&&this.warnBothModes(n.colId),co(n.rowSpan,n.spanRows)===`spanRows`&&this.spanRowsCaches.set(n.colId,Q_(n,e))}getColSpan(e,t){let n=this.deps.getColumnModel().getColumnById(t);if(!n||!this.active)return 1;if(e===`__mg_summary__`)return I_({enableCellSpan:!0,column:n,params:N_(n,this.deps.getSummaryValue?.(t)??null)});let r=this.deps.getRowById(e);return r?I_({enableCellSpan:!0,column:n,params:M_(r,n)}):1}getCellSpan(e,t){let n=this.deps.getColumnModel(),r=n.getColumnById(t),i=this.deps.getRowById(e);if(!r||!i||!this.active)return null;let a=this.resolveVerticalSpan(i,r),o=R_(r,n,{enableCellSpan:!0,params:M_(i,r)});if(a.rowSpan<=1&&o.length<=1)return null;let s=this.collectVerticalRowIds(a.head,a.rowSpan);return{colId:r.colId,firstRowId:a.head.id,lastRowId:s[s.length-1]??a.head.id,rowSpan:a.rowSpan,colSpan:o.length,rowIds:s,colIds:o.map(e=>e.colId)}}isCovered(e,t){let n=this.deps.getColumnModel().getColumnById(t),r=this.deps.getRowById(e);return!n||!r||!this.active?!1:this.resolveVerticalSpan(r,n).covered}normalizePosition(e,t){let n=this.deps.getColumnModel().getColumnById(t),r=this.deps.getRowById(e);return!n||!r||!this.active?{rowId:e,colId:t}:{rowId:this.resolveVerticalSpan(r,n).head.id,colId:t}}resolveVerticalSpan(e,t){if(!this.active||!eo(e))return{head:e,rowSpan:1,covered:!1};let n=co(t.rowSpan,t.spanRows);return n===`rowSpan`?W_({enableCellSpan:!0,column:t,rowNode:e,getRowByIndex:this.deps.getRowByIndex,rowCount:this.deps.getRowCount()}):n===`spanRows`?this.resolveFromSpanRowsCache(e,t):{head:e,rowSpan:1,covered:!1}}getVerticalSpanHeight(e,t){let n=this.resolveVerticalSpan(e,t);return n.covered||n.rowSpan<=1?e.rowHeight:G_(n.head,n.rowSpan,this.deps.getRowByIndex)}collectSpannedHeadRowIds(e,t){let n=new Set;if(!this.active||t<e)return n;let r=this.deps.getColumnModel().getColumns().filter(e=>co(e.rowSpan,e.spanRows)!==`none`);if(r.length===0)return n;let i=Math.max(0,e-50);for(let a=i;a<=t;a++){let i=this.deps.getRowByIndex(a);if(i)for(let a of r){if($a(a))continue;let r=this.resolveVerticalSpan(i,a);r.covered||r.rowSpan<=1||r.head.id!==i.id||r.head.rowIndex+r.rowSpan-1>=e&&r.head.rowIndex<=t&&n.add(r.head.id)}}return n}resolveFromSpanRowsCache(e,t){let n=this.spanRowsCaches.get(t.colId)?.get(e.id);return!n||n.rowSpan<=1?{head:e,rowSpan:1,covered:!1}:{head:this.deps.getRowById(n.firstRowId)??e,rowSpan:n.rowSpan,covered:n.firstRowId!==e.id}}collectVerticalRowIds(e,t){let n=[];for(let r=0;r<t;r++){let t=this.deps.getRowByIndex(e.rowIndex+r);t&&n.push(t.id)}return n}warnBothModes(e){this.warnedBothModes.has(e)||(this.warnedBothModes.add(e),console.warn(`[magic-grid] Column "${e}" has both rowSpan and spanRows; rowSpan takes precedence.`))}};function tv(e,t,n,r){if(!r?.active)return!1;if(r.resolveVerticalSpan(e,t).covered)return!0;let i=n.getDisplayedColumns().map(e=>e.colId),a=i.indexOf(t.colId);if(a<=0)return!1;for(let r=0;r<a;r++){let a=n.getColumnById(i[r]);if(!a)continue;let o=R_(a,n,{enableCellSpan:!0,params:M_(e,a)});if(!(o.length<=1)&&o.findIndex(e=>e.colId===t.colId)>0)return!0}return!1}function nv(e,t,n,r){let i=r.indexOf(t);if(i<0)return{leftColId:t,rightColId:t};for(let a=i;a>=0;--a){let i=r[a];if(!i)continue;let o=n.getColumnById(i);if(!o)continue;let s=R_(o,n,{enableCellSpan:!0,params:M_(e,o)});if(!(s.length<=1)&&s.findIndex(e=>e.colId===t)>=0)return{leftColId:s[0].colId,rightColId:s[s.length-1].colId}}return{leftColId:t,rightColId:t}}function rv(e,t,n){let r={top:e,bottom:e,leftColId:t,rightColId:t},i=n.rowModel.getRow(e);if(!i||!n.cellSpanService?.active)return r;let a=n.columnModel.getColumnById(t);if(!a)return r;let o=n.cellSpanService.resolveVerticalSpan(i,a),s=o.head,c=s.rowIndex,l=s.rowIndex;o.rowSpan>1&&(l=o.head.rowIndex+o.rowSpan-1);let u=nv(s,t,n.columnModel,n.displayedColIds);return{top:c,bottom:l,leftColId:u.leftColId,rightColId:u.rightColId}}function iv(e,t,n){if(!n.cellSpanService?.active)return e;let r=e.top,i=e.bottom,a=e.leftColId,o=e.rightColId,s=t.indexOf(a),c=t.indexOf(o);if(s<0||c<0)return e;let l=Math.min(s,c),u=Math.max(s,c),d=!0;for(;d;){d=!1;for(let e=r;e<=i;e+=1)for(let s=l;s<=u;s+=1){let c=t[s];if(!c)continue;let f=rv(e,c,n);f.top<r&&(r=f.top,d=!0),f.bottom>i&&(i=f.bottom,d=!0);let p=t.indexOf(f.leftColId),m=t.indexOf(f.rightColId);p>=0&&p<l&&(l=p,a=t[l],d=!0),m>=0&&m>u&&(u=m,o=t[u],d=!0)}}return{top:r,bottom:i,leftColId:a,rightColId:o}}function av(e,t){if(!t.cellSpanService?.active)return e;let n=U(e,t.displayedColIds);return n?js(iv(n,t.displayedColIds,t)):e}function ov(e,t,n){let r=iv(e,t,{...n,displayedColIds:t,cellSpanService:n.cellSpanService});return{topRowIndex:r.top,bottomRowIndex:r.bottom}}var sv=class{lanes;footerRowEl;frameService;onUnmountRenderer;enableCellSpan;columnModel=null;summaryCells=new Map;constructor(e){this.footerRowEl=e.footerRowEl,this.frameService=e.frameService??null,this.onUnmountRenderer=e.onUnmountRenderer,this.enableCellSpan=e.enableCellSpan??!1,this.lanes={left:this.createLane(e.footerLeftLaneEl),center:this.createLane(e.footerCenterLaneEl),right:this.createLane(e.footerRightLaneEl)}}setEnableCellSpan(e){this.enableCellSpan=e}render(e){this.columnModel=e.columnModel,this.summaryCells=e.summaryCells;let t=H_({columnModel:e.columnModel,centerWindow:e.centerWindow,enableCellSpan:this.enableCellSpan,paramsForColumn:t=>N_(t,e.summaryCells.get(t.colId)?.value??null)});this.syncLaneWidths(e.columnModel),this.syncLaneCells(`left`,t.left),this.syncLaneCells(`center`,t.center),this.syncLaneCells(`right`,t.right),this.syncCellValues(e.summaryCells,e.valueCacheVersion,e.force??!1)}syncRowLayout(e){this.footerRowEl.style.width=`${e.getTotalWidth()}px`,this.syncLaneWidths(e)}syncColumnLayouts(){if(this.columnModel){this.syncRowLayout(this.columnModel);for(let e of[`left`,`center`,`right`]){let t=this.lanes[e];for(let e=0;e<t.indices.length;e++){let n=t.indices[e],r=n===void 0?void 0:this.columnModel.getColumn(n),i=t.cells[e];!r||!i||this.applyCellColumnLayout(i,r)}}}}refreshVisibleColumnStructure(e){if(!this.columnModel)return;let t=H_({columnModel:this.columnModel,centerWindow:e,enableCellSpan:this.enableCellSpan,paramsForColumn:e=>N_(e,this.summaryCells.get(e.colId)?.value??null)});this.syncLaneWidths(this.columnModel),this.syncLaneCells(`left`,t.left),this.syncLaneCells(`center`,t.center),this.syncLaneCells(`right`,t.right),this.syncCellValues(this.summaryCells,0,!0)}destroy(){for(let e of Object.values(this.lanes)){for(let t of e.cells)t.destroy();e.cells.length=0,e.cellCtrls.length=0,e.indices.length=0}}createLane(e){return{element:e,cells:[],cellCtrls:[],indices:[]}}syncLaneWidths(e){this.lanes.left.element.style.width=`${e.getLeftFixedWidth()}px`,this.lanes.center.element.style.width=`${e.getCenterTotalWidth()}px`,this.lanes.right.element.style.width=`${e.getRightFixedWidth()}px`}syncLaneCells(e,n){let r=this.lanes[e];for(r.indices=n;r.cells.length<n.length;)r.cells.push(new j_(r.element,{onUnmountRenderer:this.onUnmountRenderer})),r.cellCtrls.push(new A_);for(;r.cells.length>n.length;)r.cells.pop()?.destroy(),r.cellCtrls.pop();for(let e=0;e<n.length;e++){let i=n[e],a=i===void 0?void 0:this.columnModel.getColumn(i),o=r.cells[e];!a||!o||(this.applyCellColumnLayout(o,a),o.setColId(a.colId),$p(o.getElement(),a.footerAlign,a.footerValign,`mg-footer-cell`),o.getElement().classList.toggle(`mg-footer-cell--index`,t.it(a.colId)),o.getElement().classList.toggle(`mg-footer-cell--selection`,t.X(a.colId)))}}applyCellColumnLayout(e,t){if(!this.columnModel)return;if(!this.enableCellSpan||!t.colSpan){e.setColumnLayout(Wp(t,this.columnModel)),F_(e.getElement(),1,`mg-footer-cell`);return}let n=R_(t,this.columnModel,{enableCellSpan:!0,params:N_(t,this.summaryCells.get(t.colId)?.value??null)});e.setColumnLayout(P_(n,this.columnModel)),F_(e.getElement(),n.length,`mg-footer-cell`)}syncCellValues(e,t,n){if(this.columnModel)for(let r of[`left`,`center`,`right`]){let i=this.lanes[r];for(let r=0;r<i.indices.length;r++){let a=i.indices[r],o=a===void 0?void 0:this.columnModel.getColumn(a),s=i.cells[r],c=i.cellCtrls[r];if(!o||!s||!c)continue;let l=e.get(o.colId)??{value:null,formattedValue:``};c.refreshSummaryCell(o,l,s,t,{force:n,scheduleRenderer:e=>this.scheduleRendererTask(e)})}}}scheduleRendererTask(e){if(this.frameService){this.frameService.createTask(e,-1,`f1`);return}e()}};function cv(e,t,n,r){e.style.width=`${r.getLeftFixedWidth()}px`,t.style.width=`${r.getCenterTotalWidth()}px`,n.style.width=`${r.getRightFixedWidth()}px`}function lv(e,t,n,r){Kp(e,r,`mg-footer-cell`),Kp(t,r,`mg-footer-cell`),Kp(n,r,`mg-footer-cell`)}function uv(e,t){if(t.filterFormatter)return t.filterFormatter(e.data);let n=t.prop??t.colId,r=n?e.data[n]:void 0;return t.formatter?(t.valueGetter&&(r=t.valueGetter(e.data,r)),t.formatter(e.data,r)):t.valueGetter?t.valueGetter(e.data,r):r}function dv(e,t){return{getFilterType:t=>e(t)?.filterType??`text`,getFilterParams:t=>e(t)?.filterParams??{caseSensitive:!0},getFilterValue:(n,r)=>{let i=e(r);return i?uv(n,i):t(n,r)}}}var fv=3;function pv(e,t,n){let r=e.getRowCount();if(r===0)return t;let i=e.getTotalHeight()/r,a=e.getRowIndexAtPixel(n),o=e.getRowBounds(a)?.rowHeight??t;return Math.max(t,i,o)}function mv(e,t,n,r,i){let a=e.getRowCount(),o=t,s=n;for(;o>0;){let t=e.getRowBounds(o);if(!t||t.rowTop<=r)break;o--}for(;s<a-1;){let t=e.getRowBounds(s);if(!t||t.rowTop+t.rowHeight>=i)break;s++}return{firstRow:o,lastRow:s}}function hv(e,t,n){for(let r=t;r<=n;r++)if(e.getRow(r)?.estimated)return!0;return!1}function gv(e,t,n,r){let i=Math.max(n,500);return t-e+1<=i?t:Math.min(e+i-1,r-1)}function _v(e){let{scrollTop:t,viewportHeight:n,rowBuffer:r,rowHeight:i,rowModel:a}=e,o=a.getRowCount();if(o===0)return{firstRow:0,lastRow:-1};let s=0,c=o-1,l=!1;for(let e=0;e<fv&&!l;e++){let e=r*pv(a,i,t),u=Math.max(0,t-e),d=t+n+e;s=a.getRowIndexAtPixel(u),c=Math.min(a.getRowIndexAtPixel(d),o-1);let f=mv(a,s,c,u,d);s=f.firstRow,c=f.lastRow,l=!hv(a,s,c)}return c=gv(s,c,r,o),{firstRow:s,lastRow:c}}var vv=class{blocks=new Map;accessCounter=0;get(e){return this.blocks.get(e)}ensure(e,t,n){let r=this.blocks.get(e);if(r)return r;let i={blockIndex:e,startRow:t,endRow:n,state:`idle`,lastAccess:0,retryCount:0};return this.blocks.set(e,i),i}touch(e){let t=this.blocks.get(e);t&&(this.accessCounter+=1,t.lastAccess=this.accessCounter)}setState(e,t){let n=this.blocks.get(e);n&&(n.state=t,this.touch(e))}incrementRetry(e){let t=this.blocks.get(e);return t?(t.retryCount+=1,t.retryCount):0}resetRetry(e){let t=this.blocks.get(e);t&&(t.retryCount=0)}purge(){this.blocks.clear(),this.accessCounter=0}evictLRU(e,t){let n=[...this.blocks.values()].filter(e=>e.state===`loaded`);if(n.length<=e)return[];let r=n.filter(e=>!t.has(e.blockIndex)).sort((e,t)=>e.lastAccess-t.lastAccess),i=[],a=n.length;for(let t of r){if(a<=e)break;t.state=`idle`,t.retryCount=0,i.push(t.blockIndex),--a}return i}};function yv(e,t){return Math.floor(e/t)}function bv(e,t){return e*t}function xv(e,t,n){let r=bv(e,t);return{startRow:r,endRow:Math.min(r+t,n)}}function Sv(e,t,n){if(t<e)return[];let r=yv(e,n),i=yv(t,n),a=[];for(let e=r;e<=i;e++)a.push(e);return a}var Cv=class{deps;cache=new vv;inflight=new Map;generation=0;destroyed=!1;datasource;constructor(e){this.deps=e,this.datasource=e.datasource}init(){let e=this.deps.getApi();this.datasource.init?.({api:e,getSortModel:this.deps.getSortModel,getFilterModel:this.deps.getFilterModel,getQuickFilterText:()=>this.deps.rowModel.getQuickFilterText()})}setDatasource(e){this.destroyed||(this.datasource.destroy?.(),this.datasource=e,this.purge(`datasource`),this.init(),this.loadInitialBlocks())}destroy(){this.destroyed=!0,this.abortAll(),this.datasource.destroy?.()}loadInitialBlocks(){this.ensureBlocksForViewport(0)}ensurePrefetchOnScrollBottom(){if(this.destroyed||this.deps.rowModel.getKnownLastRow()!==null)return;let e=this.deps.options.blockSize,t=this.deps.rowModel.getRowCount(),n=t+e;this.deps.rowModel.setVirtualRowCount(n,{preserveLoaded:!0});let r=yv(t,e);this.ensureBlockLoaded(r)}ensureBlocksForViewport(e,t){let n=t??0,{firstRow:r,lastRow:i}=_v({scrollTop:e,viewportHeight:n>0?n:this.deps.rowHeight*10,rowBuffer:this.deps.rowBuffer,rowHeight:this.deps.rowHeight,rowModel:this.deps.rowModel});if(i<r){this.ensureBlockLoaded(0);return}let a=this.deps.options.blockSize,o=Math.min(i+a,Math.max(0,this.deps.rowModel.getRowCount()-1));this.ensureBlocksForRange(r,o)}ensureBlocksForRange(e,t){let n=this.deps.options.blockSize,r=Sv(e,t,n);for(let e of r)this.ensureBlockLoaded(e);this.evictIfNeeded(e,t)}retryBlock(e){let t=this.deps.options.blockSize,{startRow:n,endRow:r}=xv(e,t,this.deps.rowModel.getRowCount()),i=this.cache.get(e);i&&(i.state=`idle`,this.cache.resetRetry(e)),this.deps.rowModel.markBlockRange(n,r,`idle`),this.ensureBlockLoaded(e)}refreshCache(e=`api`){this.purge(e),this.loadInitialBlocks()}purge(e){this.generation+=1,this.abortAll(),this.cache.purge(),this.deps.rowModel.resetForPurge(this.deps.options.infiniteInitialRowCount),this.deps.eventBus.emit(`infiniteCachePurged`,{reason:e}),this.deps.onModelChanged()}getLoadedRowData(){return this.deps.rowModel.getLoadedRowData()}getInfiniteRowCount(){return this.deps.rowModel.getKnownLastRow()??this.deps.rowModel.getVirtualRowCount()}ensureBlockLoaded(e){if(this.destroyed)return;let t=this.deps.options.blockSize,{startRow:n,endRow:r}=xv(e,t,this.deps.rowModel.getRowCount());if(n>=r)return;let i=this.cache.ensure(e,n,r);if(i.state===`loaded`||i.state===`loading`||i.state===`failed`){this.cache.touch(e);return}this.inflight.has(e)||this.loadBlock(e,n,r)}loadBlock(e,t,n){let r=new AbortController,i=this.generation;this.inflight.set(e,{controller:r,generation:i}),this.cache.setState(e,`loading`),this.deps.rowModel.markBlockRange(t,n,`loading`),this.deps.onModelChanged();let a={blockIndex:e,startRow:t,endRow:n};this.deps.eventBus.emit(`infiniteBlockLoading`,a);try{this.datasource.getRows({startRow:t,endRow:n,sortModel:this.deps.getSortModel(),filterModel:this.deps.getFilterModel(),quickFilterText:this.deps.rowModel.getQuickFilterText(),signal:r.signal,successCallback:(r,a)=>{this.handleSuccess(e,t,n,r,a,i)},failCallback:r=>{this.handleFailure(e,t,n,r,i)}})}catch(r){this.handleFailure(e,t,n,r,i)}}handleSuccess(e,t,n,r,i,a){if(!this.isCurrentGeneration(a,e))return;this.inflight.delete(e),this.cache.setState(e,`loaded`),this.cache.resetRetry(e);let o=this.deps.rowModel.applyBlock(t,r),s=t+r.length;this.deps.rowModel.updateLastRow(i,this.deps.options.blockSize,s);let c=n-t;r.length<c&&i===void 0&&this.deps.rowModel.markBlockRange(t+r.length,n,`idle`);let l={blockIndex:e,startRow:t,endRow:n,rowCount:r.length,lastRow:i};this.deps.eventBus.emit(`infiniteBlockLoaded`,l),this.deps.onModelChanged({refreshedRowIds:o.rowIds,replacedStubIds:o.replacedStubIds})}handleFailure(e,t,n,r,i){if(!this.isCurrentGeneration(i,e))return;this.inflight.delete(e);let a=this.cache.incrementRetry(e),o=this.deps.options.infiniteMaxRetries;if(o>0&&a<=o){this.cache.setState(e,`idle`),this.deps.rowModel.markBlockRange(t,n,`idle`),this.ensureBlockLoaded(e);return}this.cache.setState(e,`failed`),this.deps.rowModel.markBlockRange(t,n,`failed`);let s={blockIndex:e,startRow:t,endRow:n,error:r};this.deps.eventBus.emit(`infiniteBlockLoadFailed`,s),this.deps.onModelChanged()}isCurrentGeneration(e,t){return this.destroyed||e!==this.generation?!1:this.inflight.get(t)?.generation===e}evictIfNeeded(e,t){let n=this.deps.options.blockSize,r=yv(Math.floor((e+t)/2),n),i=new Set([r-1,r,r+1]),a=this.cache.evictLRU(this.deps.options.maxBlocksInCache,i);for(let e of a){let{startRow:t,endRow:r}=xv(e,n,this.deps.rowModel.getRowCount());this.deps.rowModel.evictBlockRange(t,r)}a.length>0&&(this.deps.eventBus.emit(`infiniteCachePurged`,{reason:`lru`}),this.deps.onModelChanged())}abortAll(){for(let e of this.inflight.values())e.controller.abort();this.inflight.clear()}};function wv(e,t){if(t.length===0)return!1;let n=e.__autoHeights??{};return t.some(e=>n[e]==null)}function Tv(e){if(!e.getRowHeight)return;let t=e.getRowHeight;return e=>t({rowId:e.id,data:e.data,rowIndex:e.rowIndex})}function Ev(e,t,n){if(e.rowHeightPinned&&e.rowHeight>0)return{height:Ga(e.rowHeight,n.rowHeightMin,n.rowHeightMax),estimated:!1};let r=dr(e,t,Tv(n));return{height:Ga(r.height,n.rowHeightMin,n.rowHeightMax),estimated:r.estimated}}function Dv(e,t,n){if(e.rowHeightPinned)return!1;let r=Tv(n)?.(e);return r!=null&&r>0||e.__autoHeights&&Object.keys(e.__autoHeights).length>0?!1:e.rowHeight===t||e.rowHeight===0}function Ov(e,t){return t??(e===`api`||e===`uiRowResized`)}var kv=class{deps;defaultRowHeight;options;gridOptions;constructor(e,t,n={}){this.deps=e,this.defaultRowHeight=t,this.gridOptions=n,this.options=Ha(n,t)}getDefaultRowHeight(){return this.defaultRowHeight}setGridOptions(e={}){this.gridOptions=e,this.options=Ha(e,this.defaultRowHeight)}getOptions(){return this.options}updateDefaultRowHeight(e,t={}){let n=this.defaultRowHeight,r=Math.max(1,e);if(this.gridOptions={...this.gridOptions,...t},this.defaultRowHeight=r,this.options=Ha(this.gridOptions,r),n===r)return this.recalculateDisplayRowHeights(void 0,`dimensions`);for(let e of this.deps.getDisplayRows())Dv(e,n,this.options)&&(e.rowHeight=0,e.estimated=!1);let i=this.recalculateDisplayRowHeights(void 0,`dimensions`);return i.changed||this.deps.repositionDisplayRows(),i}getRowHeight(e){let t=this.deps.getRowById(e);return t?Ev(t,this.defaultRowHeight,this.options).height:null}setRowHeights(e,t){let n=[],r=Ov(t.source,t.pin);for(let t of e){let e=this.deps.getRowById(t.rowId);if(!e)continue;let i=Ga(t.height,this.options.rowHeightMin,this.options.rowHeightMax),a=r;if(e.rowHeight===i&&e.rowHeightPinned===a)continue;let o=e.rowHeight;e.rowHeight=i,e.rowHeightPinned=a,e.estimated=!1,n.push({rowId:e.id,rowHeight:i,previousRowHeight:o})}if(n.length===0)return{changed:!1,rows:[],finished:t.finished,source:t.source};this.deps.repositionDisplayRows();let i=Ka(n,t.finished,t.source);return this.deps.emitRowHeightChanged(i),{changed:!0,rows:n,finished:t.finished,source:t.source}}setRowHeight(e,t,n=!0,r=`api`){return this.setRowHeights([{rowId:e,height:t}],{finished:n,source:r})}resetRowHeights(e){let t=this.resolveResetTargets(e),n=[];for(let e of t){e.rowHeightPinned=!1,delete e.__autoHeights,e.rowHeight=0,e.estimated=!1;let t=Ev(e,this.defaultRowHeight,this.options);e.rowHeight=t.height,e.estimated=t.estimated,n.push({rowId:e.id,height:t.height})}if(n.length===0)return{changed:!1,rows:[],finished:!0,source:`api`};this.deps.repositionDisplayRows();let r=n.map(e=>({rowId:e.rowId,rowHeight:e.height})),i=Ka(r,!0,`api`);return this.deps.emitRowHeightChanged(i),{changed:!0,rows:r,finished:!0,source:`api`}}recalculateDisplayRowHeights(e,t=`autoHeight`){let n=e?new Set(e):null,r=[];for(let e of this.deps.getDisplayRows()){if(n&&!n.has(e.id)||e.rowHeightPinned)continue;let t=Ev(e,this.defaultRowHeight,this.options),i=this.deps.getAutoHeightColumnIds?.()??[],a=t.estimated;!e.rowHeightPinned&&i.length>0&&wv(e,i)&&(a=!0),(e.rowHeight!==t.height||e.estimated!==a)&&(e.rowHeight=t.height,e.estimated=a,r.push({rowId:e.id,rowHeight:t.height}))}if(r.length===0)return{changed:!1,rows:[],finished:!0,source:t};this.deps.repositionDisplayRows();let i=Ka(r,!0,t);return this.deps.emitRowHeightChanged(i),{changed:!0,rows:r,finished:!0,source:t}}getPositionRowHeightFn(){return Tv(this.options)}resolveResetTargets(e){return e&&e.length>0?e.map(e=>this.deps.getRowById(e)).filter(e=>e!=null):[...this.deps.getDisplayRows()]}};function Av(e){return e.classList.contains(`mg-cell--editing`)||e.classList.contains(`mg-cell--inline-editor`)}function jv(e){if(Av(e))return 0;let t=Mv(e);if(!t)return e.offsetHeight;let n=getComputedStyle(e),r=Number.parseFloat(n.paddingTop)||0,i=Number.parseFloat(n.paddingBottom)||0,a=Number.parseFloat(n.borderTopWidth)||0,o=Number.parseFloat(n.borderBottomWidth)||0,s=t.scrollHeight;return Math.ceil(s+r+i+a+o)}function Mv(e){return[e.querySelector(`.mg-cell__text:not([hidden])`),e.querySelector(`.mg-cell__renderer:not([hidden])`),e.querySelector(`.mg-cell__inline-editor:not([hidden])`)].find(e=>e!=null)??null}var Nv=5,Pv=1,Fv=class{deps;active=!1;wasEverActive=!1;debounceTimer=null;pendingRowIds=new Set;constructor(e){this.deps=e}isActive(){return this.active}setCellHeight(e,t,n){if(!this.deps.isColumnAutoHeight(t))return;let r=this.deps.getRowById(e);if(!r)return;if(r.__autoHeights??={},n==null){r.__autoHeights[t]!=null&&(delete r.__autoHeights[t],Object.keys(r.__autoHeights).length===0&&delete r.__autoHeights,r.rowHeightPinned||this.requestCheckAutoHeight(e));return}if(r.rowHeightPinned)return;let i=r.__autoHeights[t];r.__autoHeights[t]=n,this.active=!0,this.wasEverActive=!0,i!==n&&this.requestCheckAutoHeight(e)}setupCellAutoHeight(e){if(!this.deps.isColumnAutoHeight(e.colId))return null;this.active=!0,this.wasEverActive=!0;let{rowId:t,colId:n,cellEl:r}=e;r.classList.add(Va);let i=(e=0)=>{if(r.classList.contains(`mg-cell--editing`))return;let a=jv(r);if(a<=0&&e<Nv){window.setTimeout(()=>i(e+1),0);return}a>0&&this.setCellHeight(t,n,a)};i();let a=Mv(r),o=a&&typeof ResizeObserver<`u`?new ResizeObserver(()=>{r.classList.contains(`mg-cell--editing`)||i()}):null;o?.observe(a??r);let s=typeof MutationObserver<`u`?new MutationObserver(()=>{r.classList.contains(`mg-cell--editing`)||i()}):null;return s?.observe(r,{attributes:!0,attributeFilter:[`class`]}),()=>{o?.disconnect(),s?.disconnect(),r.classList.remove(Va),this.setCellHeight(t,n,void 0)}}requestCheckAutoHeight(e){this.wasEverActive&&(this.pendingRowIds.add(e),this.scheduleRecalculate())}flushPendingRecalculate(){if(this.pendingRowIds.size===0)return;let e=[...this.pendingRowIds];this.pendingRowIds.clear(),this.deps.rowHeightService.recalculateDisplayRowHeights(e)}destroy(){this.debounceTimer!=null&&(clearTimeout(this.debounceTimer),this.debounceTimer=null),this.pendingRowIds.clear(),this.active=!1}scheduleRecalculate(){this.debounceTimer??=window.setTimeout(()=>{this.debounceTimer=null,this.flushPendingRecalculate()},Pv)}};function Iv(e){let t=new Set;if(e.lastRow<e.firstRow)return t;for(let n=e.firstRow;n<=e.lastRow;n++)t.add(n);return t}function Lv(e,t){let n=Iv(t),r=[],i=[],a=[];for(let t of n)e.has(t)?i.push(t):r.push(t);for(let t of e)n.has(t)||a.push(t);return{toCreate:r,toUpdate:i,toDestroy:a}}function Rv(e,t){return e.lastRow<e.firstRow?!1:e.firstRow===t.firstRow&&e.lastRow===t.lastRow}var zv=`mg-cell__index-loading-spinner`,Bv=`mg-cell--index-focused`;function Vv(e,n){if(e.classList.toggle(t.nt,n),n){if(e.classList.remove(Bv,gs),!e.querySelector(`.mg-cell__index-loading-spinner`)){let t=document.createElement(`span`);t.className=zv,t.setAttribute(`aria-hidden`,`true`),e.append(t)}e.setAttribute(`aria-busy`,`true`);return}e.querySelector(`.${zv}`)?.remove(),e.removeAttribute(`aria-busy`)}var Hv=class{pool=new Map;acquire(e,t){let n=this.pool.get(e);if(n)return n;let r=t();return this.pool.set(e,r),r}get(e){return this.pool.get(e)}release(e){let t=this.pool.get(e);t&&(t.destroy(),this.pool.delete(e))}migrateId(e,t){if(e===t)return;let n=this.pool.get(e);n&&(this.pool.delete(e),this.pool.set(t,n))}clear(){for(let e of this.pool.values())e.destroy();this.pool.clear()}getActiveCount(){return this.pool.size}getActiveIds(){return[...this.pool.keys()]}};function Uv(e){let{indices:t,enableCellSpan:n,spannedRowOnly:r,rowNode:i,columnModel:a,cellSpanService:o,getRowByIndex:s,getRowCount:c}=e;if(!n||!eo(i))return t;let l=e=>{if(o)return o.resolveVerticalSpan(i,e);if(!e.rowSpan||!s)return{head:i,rowSpan:1,covered:!1};let t=c?.()??i.rowIndex+1;return W_({enableCellSpan:!0,column:e,rowNode:i,getRowByIndex:s,rowCount:t})};return t.filter(e=>{let t=a.getColumn(e);if(!t)return!0;let n=l(t);if(n.covered)return!1;let o=n.rowSpan>1&&n.head.id===i.id,s=$a(t);return r?!s&&o:!(o&&!s)})}function Wv(e,t,n){let r=t.getElement();if(!e.enableCellSpan||!n.colSpan)t.setColumnLayout(Wp(n,e.columnModel)),F_(r,1);else{let i=R_(n,e.columnModel,{enableCellSpan:!0,params:M_(e.rowNode,n)});t.setColumnLayout(P_(i,e.columnModel)),F_(r,i.length)}Gv(e,r,n)}function Gv(e,t,n){if(!e.enableCellSpan){q_(t,1,null);return}let r=e.getRowCount?.()??e.rowNode.rowIndex+1,i=(e,t)=>K_(e,t,r);if(e.cellSpanService){let r=e.cellSpanService.resolveVerticalSpan(e.rowNode,n);if(r.covered||r.rowSpan<=1){q_(t,1,null);return}let a=e.cellSpanService.getVerticalSpanHeight(e.rowNode,n);q_(t,r.rowSpan,a,{endsTable:i(r.head.rowIndex,r.rowSpan)}),e.applyRowSpanCoverHighlight(t,r.head,r.rowSpan);return}if(!n.rowSpan||!e.getRowByIndex){q_(t,1,null);return}let a=W_({enableCellSpan:!0,column:n,rowNode:e.rowNode,getRowByIndex:e.getRowByIndex,rowCount:r});if(a.covered||a.rowSpan<=1){q_(t,1,null);return}let o=G_(a.head,a.rowSpan,e.getRowByIndex);q_(t,a.rowSpan,o,{endsTable:i(a.head.rowIndex,a.rowSpan)}),e.applyRowSpanCoverHighlight(t,a.head,a.rowSpan)}function Kv(e,t,n,r){if(!e.getRowByIndex||r<=1){t.classList.remove(`mg-cell--row-span-highlighted`);return}let i=J_({head:n,rowSpan:r,getRowByIndex:e.getRowByIndex,isRowHighlighted:t=>e.isRowCoverHighlighted?e.isRowCoverHighlighted(t):t===n.id&&(e.selected||e.indexFocused)});t.classList.toggle(`mg-cell--row-span-highlighted`,i)}function qv(e,t){if(!(!e.enableCellSpan||!e.rowNode||!e.getRowByIndex))for(let n of t)for(let t of n.cells){let n=t.getElement();if(!n.classList.contains(`mg-cell--row-span`))continue;let r=Number(n.dataset.rowSpan??1);r<=1||Kv(e,n,e.rowNode,r)}}function Jv(e,t){if(e.spannedRowOnly||!e.enableCellSpan||!e.rowNode||!e.columnModel||!e.cellSpanService){t.classList.remove(Xa);return}let n=!1;for(let t of e.columnModel.getColumns())if($a(t)&&co(t.rowSpan,t.spanRows)!==`none`&&e.cellSpanService.resolveVerticalSpan(e.rowNode,t).covered){n=!0;break}t.classList.toggle(Xa,n)}function Yv(e,t){let n=e.masterRowId;if(!n)return null;let r=t?.(n);return{rowId:e.id,masterRowId:n,data:e.data,detailRowData:r?.__detailRowData,loading:r?.__detailLoading??!1,loadFailed:r?.__detailLoadError!==void 0,loadError:r?.__detailLoadError}}function Xv(e,t,n,r={}){let i=()=>{if(r.onUnmountRenderer?.(e),e.replaceChildren(),!n){t.loading?e.textContent=`Loading…`:t.loadFailed&&(e.textContent=`Failed to load detail`),r.onAfterRender?.();return}let i={mountEl:e,clear:()=>{r.onUnmountRenderer?.(e),e.replaceChildren()}},a=n(t,i);if(typeof a==`string`){i.clear(),e.textContent=a;return}a instanceof HTMLElement&&(i.clear(),e.appendChild(a)),r.onAfterRender?.()},a=r.rowIndex??0;if(r.frameService){r.frameService.createTask(i,a,`f1`);return}i()}var Zv=class{isActive=!1;contentEl=null;get active(){return this.isActive}activate(e,t,n){this.isActive=!0,n.rowElement.classList.add(`mg-row--full-width-embed`,`mg-row--detail`),n.rowElement.dataset.rowKind=`DETAIL`,e.masterRowId&&(n.rowElement.dataset.masterRowId=e.masterRowId),this.refreshPinnedLanes(n),this.contentEl||(this.contentEl=document.createElement(`div`),this.contentEl.className=E,n.lanes.center.element.appendChild(this.contentEl)),this.refreshContent(n),n.syncStripeClass(),n.syncLastRowClass(t)}refreshPinnedLanes(e){let{left:t,right:n}=e.buildEmbedPinnedLaneIndices();e.syncEmbedLaneCells(t,n),this.syncSpacerCells(e)}refreshContent(e){if(!this.contentEl)return;let t=Yv(e.rowNode,e.getMasterRowById);t&&Xv(this.contentEl,t,e.getDetailCellRenderer?.(),{frameService:e.frameService,onUnmountRenderer:e.onUnmountRenderer,rowIndex:e.rowNode.rowIndex,onAfterRender:()=>{e.detailRowAutoHeightService?.setupContentObserver(e.rowNode.id,this.contentEl)}})}deactivate(e){e.rowNode&&e.detailRowAutoHeightService?.teardownContentObserver(e.rowNode.id),this.isActive=!1,e.rowElement.classList.remove(`mg-row--full-width-embed`,`mg-row--detail`),delete e.rowElement.dataset.rowKind,delete e.rowElement.dataset.masterRowId,this.contentEl&&=(e.onUnmountRenderer?.(this.contentEl),this.contentEl.replaceChildren(),this.contentEl.remove(),null);for(let t of[`left`,`right`])for(let n of e.lanes[t].cells)n.getElement().classList.remove(`mg-cell--embed-spacer`),n.getElement().removeAttribute(`aria-hidden`)}syncSpacerCells(e){for(let t of[`left`,`right`])for(let n of e.lanes[t].cells){let e=n.getElement();e.classList.add(`mg-cell--embed-spacer`),e.setAttribute(`aria-hidden`,`true`),n.clearSelectionCheckbox(),n.clearRowExpandButton(),n.setValue(``)}}};function Qv(e){return e==null?`none`:typeof e==`string`?e:typeof e==`function`?e.name||`fn`:`obj`}function $v(e,n,r={}){let i=[e.autoHeight?`ah1`:`ah0`,e.rowDrag?`rd1`:`rd0`,e.rowExpand?`re1`:`re0`,e.cellEditorMode??`overlay`,e.cellRenderer?`cr:${Qv(e.cellRenderer)}`:`cr:none`];if(t.V(e)&&i.push(`ed:${Qv(e.cellEditor)}`),t.X(e.colId)&&i.push(`selection`),t.it(e.colId)){let t=z(n)&&(r.rowDragHandleEnabled?.(e.colId)??!1);i.push(t?`idxDrag1`:`idxDrag0`),i.push(r.indexRowResizerEnabled?`idxRsz1`:`idxRsz0`)}return t.V(e)&&i.push(`inlineHost`),i.join(`|`)}function ey(e,t){return e!==``&&e!==t}function ty(e,t){return t?`折叠第 ${e+1} 行详情`:`展开第 ${e+1} 行详情`}function ny(){let e=document.createElement(`button`);return e.type=`button`,e.className=S,e.setAttribute(`aria-expanded`,`false`),e.appendChild(zm()),e}function ry(e,t){if(!t.visible){e.hidden=!0,e.classList.remove(C),e.setAttribute(`aria-expanded`,`false`);return}e.hidden=!1,e.setAttribute(`aria-label`,t.ariaLabel),e.setAttribute(`aria-expanded`,String(t.expanded)),e.classList.toggle(C,t.expanded)}function iy(e,t){return e===t}function ay(e,t,n){return n?.length?n.some(n=>n.rowId===e&&n.colId===t):!1}var oy=class{cachedValue=``;cachedRenderKey=``;cachedCompIdentityKey=``;cacheVersion=-1;inlineSession=null;activeResolveBusinessRowId;pendingVueRendererContext=null;cachedStructuralSignature=``;refreshCell(e,n,r,i,a=!1){let o=typeof a==`boolean`?{force:a}:a,s=o.force??!1,c=o.newData??!1;this.activeResolveBusinessRowId=o.resolveBusinessRowId;let l=o.cellDisableContext??o.getCellDisableContext?.(),u=o.cellStyleContext??o.getCellStyleContext?.(),d=o.indexColumnOptions,f=o.selectionColumnOptions;_t(n.colId,e.rowKind,n.prop,e.id)&&this.syncCellDisabledVisual(e,n,r,l),this.syncCellEditableRoleVisual(e,n,r,u),this.syncCellStyleVisual(e,n,r,u),this.syncCellEditableIndicatorVisual(e,n,r,u),this.syncCellDisabledIndicatorVisual(e,n,r,u);let p=$v(n,e,o.structuralContext??o.getCellStructuralContext?.()??{indexRowResizerEnabled:d?.enableRowResizer});if(ey(this.cachedStructuralSignature,p)&&this.recreateCellState(r),this.cachedStructuralSignature=p,ay(e.id,n.colId,o.overlayEditingTargets))return!1;if(t.X(n.colId))return this.clearInlineSession(r),this.refreshSelectionCell(e,n,r,i,s,f,o.selectionChecked??!1,o.selectionDisabled??!1,o.selectionIndeterminate??!1);if(j(n)&&o.rowExpansionHost?.active())return this.clearInlineSession(r),this.refreshExpandCell(e,n,r,i,s,o.rowExpansionHost);if(ke(n,e)&&o.rowGroupingHost?.active())return this.clearInlineSession(r),this.refreshGroupCell(e,n,r,i,s,o.rowGroupingHost);if(Sh(n,e)&&o.treeTableHost?.active())return this.clearInlineSession(r),this.refreshTreeCell(e,r,i,s,o.treeTableHost);if(!t.it(n.colId)&&t.V(n)&&o.inlineEditor&&z(e))return this.refreshInlineEditorCell(e,n,r,i,s,c,o.inlineEditor,o,o.scheduleInlineEditor);if(this.clearInlineSession(r),!t.it(n.colId)&&n.cellRenderer)return this.refreshRendererCell(e,n,r,i,s,c,o.scheduleRenderer,o.cellRendererDefer,o.cellRendererPresentation,o.scrollActive,d);let m=ip(e,n,d);return!s&&!c&&this.cacheVersion===i&&iy(this.cachedValue,m)?!1:(r.clearRenderer(),this.cachedValue=m,this.cachedRenderKey=``,this.cacheVersion=i,r.setValue(m),!0)}syncCellDisabledVisual(e,t,n,r){let i=xt(t,e,r);n.setCellDisabled(i)}syncCellEditableRoleVisual(e,t,n,r){let i=jn(t,e,r);n.setCellEditableRole(i)}syncCellStyleVisual(e,t,n,r){let i=Bn(t,e,r);n.setCellStyle(i)}syncCellEditableIndicatorVisual(e,t,n,r){let i=Ln(t,e,r);n.setCellEditableIndicator(i)}syncCellDisabledIndicatorVisual(e,t,n,r){let i=zn(t,e,r);n.setCellDisabledIndicator(i)}invalidate(){this.cacheVersion=-1,this.cachedRenderKey=``,this.cachedCompIdentityKey=``,this.cachedStructuralSignature=``,this.inlineSession=null,this.pendingVueRendererContext=null}recreateCellState(e){this.clearInlineSession(e),e.clearRenderer(),this.invalidate()}hasPendingVueRenderer(){return this.pendingVueRendererContext!==null}promoteVueRenderer(e,t,n={}){let r=this.pendingVueRendererContext;if(!r)return!1;this.pendingVueRendererContext=null,this.cachedRenderKey.endsWith(`:placeholder`)&&(this.cachedRenderKey=this.cachedRenderKey.slice(0,-12));let i=()=>{this.applyRenderer(r.column,t,r.params,!0)};return n.scheduleRenderer&&va(r.cellRendererPresentation,r.cellRendererDefer,r.column.cellRenderer,r.column.cellRendererMount)&&n.scheduleRenderer?(n.scheduleRenderer(i),!0):(i(),!0)}clearInlineSession(e){this.inlineSession&&(this.inlineSession.mounted.destroy(),this.inlineSession=null,e.clearInlineEditor())}refreshInlineEditorCell(e,t,n,r,i,a,o,s,c){let l=H(e,t),u=s.cellDisableContext??s.getCellDisableContext?.(),d=V(t,e,u),f=xt(t,e,u),p=!d,m=Ap(e.id,t.colId,d,f,t.cellEditor);if(a&&this.inlineSession&&this.clearInlineSession(n),this.inlineSession&&this.cachedCompIdentityKey===m){let i=String(l)!==this.cachedValue;if(sy(this.inlineSession.mounted,l,p,t),n.setInlineEditorDisabledVisual(f),i&&o.host.isVueEditorColumn(t)){let r=n,i=this.buildInlineEditorParams(e,t,n,o,p);o.host.patch(r.getInlineEditorMountEl(),t,i)}return this.cachedValue=String(l),this.cacheVersion=r,!1}this.cachedCompIdentityKey=m,this.cachedRenderKey=m,this.cachedValue=String(l),this.cacheVersion=r;let h=()=>{this.mountInlineEditor(e,t,n,o,p,f)};return c?(c(h),!0):(h(),!0)}buildInlineEditorParams(e,t,n,r,i){return{...r.createParams(e,t),commit:async()=>{let a=this.inlineSession?.mounted;if(!a)return;let o=n;o.setInlineEditorCommitting(!0);let s=a.getFocusTarget();s instanceof HTMLInputElement&&(s.disabled=!0);try{let n=H(e,t);await r.commit(e,t,a.getValue(),n)||sy(a,H(e,t),i,t)}finally{o.setInlineEditorCommitting(!1),s instanceof HTMLInputElement&&(s.disabled=i)}}}}mountInlineEditor(e,t,n,r,i,a){this.clearInlineSession(n);let o=n,s=r.host.isVueEditorColumn(t),c=s&&o.canPatchVueInlineEditor(t.colId);c?o.prepareForInlineEditorPatch(a):o.prepareForInlineEditor(a);let l=o.getInlineEditorMountEl(),u=this.buildInlineEditorParams(e,t,n,r,i),d=r.host.mount(l,t,u,{patch:c});s&&o.markVueInlineEditorMounted(t.colId),this.inlineSession={identityKey:this.cachedCompIdentityKey,mounted:d},sy(d,u.value,i,t);let f=d.getFocusTarget();f instanceof HTMLInputElement&&(f.disabled=i)}refreshSelectionCell(e,t,n,r,i,a,o,s,c){let l=n;if(Ue(e)){let e=`group-row:no-selection`;return!i&&this.cacheVersion===r&&this.cachedValue===e?!1:(this.cachedValue=e,this.cachedRenderKey=``,this.cacheVersion=r,l.clearSelectionCheckbox(),l.setValue(``),!0)}let u=a?Bp(e.rowIndex,a.selectionColumn):`选择第 ${e.rowIndex+1} 行`,d=`${o}:${s}:${c}:${u}`;return!i&&this.cacheVersion===r&&this.cachedValue===d?!1:(this.cachedValue=d,this.cachedRenderKey=``,this.cacheVersion=r,l.setSelectionCheckbox({checked:o,disabled:s,indeterminate:c,ariaLabel:u}),!0)}refreshExpandCell(e,t,n,r,i,a){let o=!L(e)&&a.isRowMaster(e),s=o&&a.isExpanded(e.id),c=ty(e.rowIndex,s),l=`${o}:${s}:${c}`;if(!i&&this.cacheVersion===r&&this.cachedValue===l)return!1;this.cachedValue=l,this.cachedRenderKey=``,this.cacheVersion=r;let u=n;return o?(u.setRowExpandButton({visible:!0,expanded:s,ariaLabel:c}),!0):(u.clearRowExpandButton(),u.setValue(``),!0)}refreshGroupCell(e,t,n,r,i,a){if(mh(t,e)){let e=ph(t,a);return!i&&this.cacheVersion===r&&this.cachedValue===e?!1:(this.cachedValue=e,this.cachedRenderKey=``,this.cacheVersion=r,n.setValue(e),!0)}let o=hh(e,a,t),s=[o.visible,o.showChevron,o.expanded,o.indentLevel,o.label,o.showCount,o.count,o.ariaLabel].join(`:`);if(!i&&this.cacheVersion===r&&this.cachedValue===s)return!1;this.cachedValue=s,this.cachedRenderKey=``,this.cacheVersion=r;let c=n;return o.visible?(c.setGroupCell(o),!0):(c.clearGroupCell(),c.setValue(``),!0)}refreshTreeCell(e,t,n,r,i){let a=wh(e,i),o=[`tree`,a.visible,a.showChevron,a.expanded,a.loading,a.indentLevel,a.label,a.ariaLabel,a.hierarchyActions?.visible??!1].join(`:`);if(!r&&this.cacheVersion===n&&this.cachedValue===o)return!1;this.cachedValue=o,this.cachedRenderKey=``,this.cacheVersion=n;let s=t;return a.visible?(s.setTreeCell(a),!0):(s.clearGroupCell(),s.setValue(``),!0)}refreshRendererCell(e,t,n,r,i,a,o,s=`always`,c=`deferred`,l=!1,u){let d=ip(e,t,u),f=`${r}:${e.id}:${t.colId}:${d}`,p=jp(e.id,t.colId,t.cellRenderer),m=ga(t.cellRenderer),h=this.cachedValue!==d,g=this.cachedCompIdentityKey!==p,_=g||a;if(!i&&!a&&this.cacheVersion===r&&this.cachedRenderKey===`${f}:placeholder`&&this.pendingVueRendererContext&&l||!i&&!a&&!h&&!g&&this.cacheVersion===r&&!this.pendingVueRendererContext)return!1;if(i&&!a&&!h&&!g&&!this.pendingVueRendererContext)return this.cacheVersion=r,!1;this.cachedValue=d,this.cacheVersion=r;let v={rowId:this.activeResolveBusinessRowId?.(e)??e.id,rowIndex:e.rowIndex,colId:t.colId,value:H(e,t),data:e.data,formattedValue:d};if(c===`placeholder-then-vue`&&m&&l)return this.cachedRenderKey=`${f}:placeholder`,this.pendingVueRendererContext={column:t,params:v,cellRendererDefer:s,cellRendererPresentation:c,indexColumnOptions:u},n.setRendererPlaceholder(d),!0;this.pendingVueRendererContext=null,this.cachedRenderKey=f,this.cachedCompIdentityKey=p;let y=()=>{this.applyRenderer(t,n,v,_)};return o&&va(c,s,t.cellRenderer,t.cellRendererMount)&&o?(o(y),!0):(y(),!0)}applyRenderer(e,t,n,r=!1){let i=e.cellRenderer;if(!i)return;let a=t,o=t.getRendererMountEl(),s=ga(i);if(!r&&s&&a.canPatchVueRenderer(e.colId)){if(_p(o,n)){a.markVueRendererMounted(e.colId);return}a.prepareForRendererPatch()}else a.prepareForRenderer();let c=i(n,{mountEl:o,clear:()=>{t.clearRenderer()}});s&&c==null&&a.markVueRendererMounted(e.colId),c!=null&&(typeof c==`string`||c instanceof HTMLElement)&&k_.apply(o,c)}};function sy(e,t,n,r){let i=e.getFocusTarget();!(i instanceof HTMLInputElement)||i.type!==`checkbox`||(i.checked=Yt(t,sn(r)),i.disabled=n)}function cy(e,t){e.classList.toggle(Ao,t===`filled`),e.classList.toggle(jo,t===`empty`),e.removeAttribute(`data-has-comment`),e.removeAttribute(`data-comment-empty`),t===`filled`?e.dataset.hasComment=`true`:t===`empty`&&(e.dataset.commentEmpty=`true`)}var ly=class{element;textEl;rendererMount;inlineEditorMount;onUnmountRenderer;onUnmountEditor;selectionCheckbox=null;rowExpandButton=null;groupContentEl=null;groupExpandButton=null;groupLabelEl=null;groupCountEl=null;treeHierarchyActionsEl=null;rowResizeHandle=null;rowDragHandle=null;editableIndicatorEl=null;disabledIndicatorEl=null;usingRenderer=!1;usingInlineEditor=!1;vueRendererActive=!1;vueRendererColId;vueInlineEditorActive=!1;vueInlineEditorColId;rendererPlaceholderActive=!1;lastCellStyle={};constructor(e,t={}){this.onUnmountRenderer=t.onUnmountRenderer,this.onUnmountEditor=t.onUnmountEditor,this.element=document.createElement(`div`),this.element.className=`mg-cell`,this.textEl=document.createElement(`span`),this.textEl.className=`mg-cell__text`,this.rendererMount=document.createElement(`div`),this.rendererMount.className=`mg-cell__renderer`,this.rendererMount.hidden=!0,this.inlineEditorMount=document.createElement(`div`),this.inlineEditorMount.className=`mg-cell__inline-editor`,this.inlineEditorMount.hidden=!0,this.element.append(this.textEl,this.rendererMount,this.inlineEditorMount),e.appendChild(this.element)}setLayout(e,t){Gp(this.element,{left:e,width:t,fixed:null},`mg-cell`)}setColumnLayout(e){Gp(this.element,e,`mg-cell`)}setValue(e){this.clearSelectionCheckbox(),this.clearRowExpandButton(),this.clearGroupCell(),this.clearInlineEditor(),this.clearRenderer(),this.textEl.hidden=!1,this.textEl.textContent!==e&&(this.textEl.textContent=e)}setSelectionCheckbox(e){if(this.clearInlineEditor(),this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,this.element.classList.toggle(`mg-cell--selection-disabled`,!!e.disabled),!this.selectionCheckbox){this.selectionCheckbox=Lp(e),this.element.append(this.selectionCheckbox);return}Rp(this.selectionCheckbox,e),this.selectionCheckbox.getAttribute(`aria-label`)!==e.ariaLabel&&this.selectionCheckbox.setAttribute(`aria-label`,e.ariaLabel)}clearSelectionCheckbox(){this.selectionCheckbox&&=(this.selectionCheckbox.remove(),null)}getSelectionCheckbox(){return this.selectionCheckbox}setRowExpandButton(e){if(this.clearInlineEditor(),this.clearRenderer(),this.clearGroupCell(),this.textEl.hidden=!0,this.textEl.textContent=``,!e.visible){this.clearRowExpandButton();return}this.rowExpandButton||(this.rowExpandButton=ny(),this.element.append(this.rowExpandButton)),ry(this.rowExpandButton,e)}clearRowExpandButton(){this.rowExpandButton&&=(this.rowExpandButton.remove(),null)}getRowExpandButton(){return this.rowExpandButton}setGroupCell(e){if(this.clearInlineEditor(),this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,!e.visible){this.clearGroupCell();return}this.groupContentEl||(this.groupContentEl=document.createElement(`div`),this.groupContentEl.className=lh,this.groupLabelEl=document.createElement(`span`),this.groupLabelEl.className=uh,this.groupCountEl=document.createElement(`span`),this.groupCountEl.className=dh,this.groupContentEl.append(this.groupLabelEl,this.groupCountEl),this.element.append(this.groupContentEl)),this.groupExpandButton=xh(this.groupContentEl,this.groupExpandButton,this.groupLabelEl,e.showChevron),bh(this.groupContentEl,this.groupExpandButton,this.groupLabelEl,this.groupCountEl,e)}setTreeCell(e){if(this.clearInlineEditor(),this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,!e.visible){this.clearGroupCell();return}this.groupContentEl||(this.groupContentEl=document.createElement(`div`),this.groupContentEl.className=lh,this.groupLabelEl=document.createElement(`span`),this.groupLabelEl.className=uh,this.groupCountEl=document.createElement(`span`),this.groupCountEl.className=dh,this.groupCountEl.hidden=!0,this.groupContentEl.append(this.groupLabelEl,this.groupCountEl),this.element.append(this.groupContentEl)),this.groupExpandButton=Ih(this.groupContentEl,this.groupExpandButton,this.groupLabelEl,e.showChevron,e.indentLevel),this.treeHierarchyActionsEl=Fh(this.groupContentEl,this.groupExpandButton,this.groupLabelEl,e,this.treeHierarchyActionsEl)}clearGroupCell(){this.groupContentEl&&(this.groupContentEl.remove(),this.groupContentEl=null,this.groupExpandButton=null,this.groupLabelEl=null,this.groupCountEl=null,this.treeHierarchyActionsEl=null)}getGroupExpandButton(){return this.groupExpandButton}setRendererResult(e){this.prepareForRenderer(),k_.apply(this.rendererMount,e)}prepareForRenderer(){this.clearInlineEditor(),this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,this.rendererMount.hidden=!1,this.usingRenderer=!0}prepareForRendererPatch(){this.clearInlineEditor(),this.textEl.hidden=!0,this.textEl.textContent=``,this.rendererMount.hidden=!1,this.usingRenderer=!0}canPatchVueRenderer(e){return this.usingRenderer&&this.vueRendererActive&&this.vueRendererColId===e}markVueRendererMounted(e){this.vueRendererActive=!0,this.vueRendererColId=e,this.rendererPlaceholderActive=!1}setRendererPlaceholder(e){this.clearInlineEditor(),this.clearRenderer(),this.textEl.hidden=!1,this.textEl.textContent!==e&&(this.textEl.textContent=e),this.rendererMount.hidden=!0,this.usingRenderer=!1,this.rendererPlaceholderActive=!0}isRendererPlaceholderActive(){return this.rendererPlaceholderActive}prepareForInlineEditor(e){this.clearSelectionCheckbox(),this.clearRowExpandButton(),this.clearGroupCell(),this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,this.inlineEditorMount.hidden=!1,this.usingInlineEditor=!0,this.element.classList.add(`mg-cell--inline-editor`),this.setInlineEditorDisabledVisual(e)}prepareForInlineEditorPatch(e){this.clearSelectionCheckbox(),this.clearRowExpandButton(),this.clearGroupCell(),this.clearRenderer(),this.textEl.hidden=!0,this.textEl.textContent=``,this.inlineEditorMount.hidden=!1,this.usingInlineEditor=!0,this.element.classList.add(`mg-cell--inline-editor`),this.setInlineEditorDisabledVisual(e)}canPatchVueInlineEditor(e){return this.usingInlineEditor&&this.vueInlineEditorActive&&this.vueInlineEditorColId===e}markVueInlineEditorMounted(e){this.vueInlineEditorActive=!0,this.vueInlineEditorColId=e}clearInlineEditor(){(this.usingInlineEditor||this.inlineEditorMount.childNodes.length>0)&&this.onUnmountEditor?.(this.inlineEditorMount),this.inlineEditorMount.replaceChildren(),this.inlineEditorMount.hidden=!0,this.usingInlineEditor=!1,this.vueInlineEditorActive=!1,this.vueInlineEditorColId=void 0,this.element.classList.remove(`mg-cell--inline-editor`,`mg-cell--inline-disabled`,`mg-cell--committing`)}getInlineEditorMountEl(){return this.inlineEditorMount}setInlineEditorDisabledVisual(e){this.element.classList.toggle(`mg-cell--inline-disabled`,e),this.setCellDisabled(e)}setInlineEditorCommitting(e){this.setCommittingVisual(e)}setCommittingVisual(e){this.element.classList.toggle(`mg-cell--committing`,e)}setIndexLoadingVisual(e){Vv(this.element,e)}clearRenderer(){(this.usingRenderer||this.rendererMount.childNodes.length>0)&&this.onUnmountRenderer?.(this.rendererMount),k_.clear(this.rendererMount),this.rendererMount.hidden=!0,this.usingRenderer=!1,this.vueRendererActive=!1,this.vueRendererColId=void 0,this.rendererPlaceholderActive=!1}hasRenderer(){return this.usingRenderer}getRendererMountEl(){return this.rendererMount}setColId(e){this.element.dataset.colId=e}setFocused(e){this.element.classList.toggle(`mg-cell--focused`,e)}setRangeSelected(e){this.element.classList.toggle(Yo,e)}setRangeAnchor(e){this.element.classList.toggle(Xo,e)}setIndexRangeHighlight(e){this.element.classList.toggle(gs,e)}playRangeCopyFlash(){this.element.classList.remove(as),this.element.offsetWidth,this.element.classList.add(as);let e=()=>{this.element.classList.remove(as),this.element.removeEventListener(`animationend`,e)};this.element.addEventListener(`animationend`,e)}playRangePasteFlash(e){this.element.classList.remove(ss,cs),this.element.offsetWidth,this.element.classList.add(e?cs:ss);let t=()=>{this.element.classList.remove(ss,cs),this.element.removeEventListener(`animationend`,t)};this.element.addEventListener(`animationend`,t)}setCellEditableIndicator(e){if(!e){this.clearCellEditableIndicator();return}this.editableIndicatorEl||(this.editableIndicatorEl=document.createElement(`span`),this.editableIndicatorEl.className=Et,this.editableIndicatorEl.setAttribute(`aria-hidden`,`true`),this.editableIndicatorEl.append(Gm()),this.element.prepend(this.editableIndicatorEl)),this.element.classList.add(Tt)}clearCellEditableIndicator(){this.editableIndicatorEl?.remove(),this.editableIndicatorEl=null,this.element.classList.remove(Tt)}setCellDisabledIndicator(e){if(!e){this.clearCellDisabledIndicator();return}this.disabledIndicatorEl||(this.disabledIndicatorEl=document.createElement(`span`),this.disabledIndicatorEl.className=mt,this.disabledIndicatorEl.setAttribute(`aria-hidden`,`true`),this.disabledIndicatorEl.append(qm()),this.element.prepend(this.disabledIndicatorEl)),this.element.classList.add(pt)}clearCellDisabledIndicator(){this.disabledIndicatorEl?.remove(),this.disabledIndicatorEl=null,this.element.classList.remove(pt)}setCellEditableRole(e){this.element.classList.toggle(wt,e)}setCellDisabled(e){if(this.element.classList.toggle(dt,e),e){this.element.setAttribute(`aria-disabled`,`true`),this.element.setAttribute(ft,`true`);return}this.element.removeAttribute(`aria-disabled`),this.element.removeAttribute(ft)}setCellStyle(e){let t=this.lastCellStyle,n=e.backgroundColor,r=e.color;t.backgroundColor!==n&&(n===void 0||n===``?this.element.style.removeProperty(`background-color`):this.element.style.backgroundColor=n),t.color!==r&&(r===void 0||r===``?this.element.style.removeProperty(`color`):this.element.style.color=r),this.lastCellStyle={backgroundColor:n,color:r},Pt({backgroundColor:n})?this.element.setAttribute(Ct,`true`):this.element.removeAttribute(Ct)}setCommentIndicator(e){cy(this.element,e)}setRowDragHandle(e){if(e){this.rowDragHandle||(this.rowDragHandle=document.createElement(`div`),this.rowDragHandle.className=Sa,this.rowDragHandle.setAttribute(`role`,`button`),this.rowDragHandle.setAttribute(`aria-label`,`拖拽行`),this.rowDragHandle.append(bm()),this.element.prepend(this.rowDragHandle)),this.element.classList.add(`mg-cell--row-draggable`);return}this.clearRowDragHandle()}clearRowDragHandle(){this.rowDragHandle?.remove(),this.rowDragHandle=null,this.element.classList.remove(`mg-cell--row-draggable`)}setRowResizeHandle(e){if(e){this.rowResizeHandle||(this.rowResizeHandle=document.createElement(`div`),this.rowResizeHandle.className=za,this.rowResizeHandle.setAttribute(`role`,`separator`),this.rowResizeHandle.setAttribute(`aria-orientation`,`horizontal`),this.element.append(this.rowResizeHandle)),this.element.classList.add(`mg-cell--row-resizable`);return}this.clearRowResizeHandle()}clearRowResizeHandle(){this.rowResizeHandle?.remove(),this.rowResizeHandle=null,this.element.classList.remove(`mg-cell--row-resizable`)}getColId(){return this.element.dataset.colId}getElement(){return this.element}destroy(){this.clearSelectionCheckbox(),this.clearRowExpandButton(),this.clearCellEditableIndicator(),this.clearRowDragHandle(),this.clearRowResizeHandle(),this.clearInlineEditor(),this.clearRenderer(),this.element.remove()}};function uy(e){let t=document.createElement(`div`);return t.className=`mg-row__lane mg-row__lane--${e}`,{element:t,cells:[],cellCtrls:[],indices:[],mountedColIds:[],changedSlotIndices:new Set}}function dy(e){return e.left.indices.length>0||e.center.indices.length>0||e.right.indices.length>0}function fy(e,t){e.left.element.style.width=`${t.getLeftFixedWidth()}px`,e.center.element.style.width=`${t.getCenterTotalWidth()}px`,e.right.element.style.width=`${t.getRightFixedWidth()}px`}function py(e,n,r,i,a,o,s){let c=i.colId;s!==c&&(o.changedSlotIndices.add(a),s&&r.invalidate(),n.setFocused(!1),n.getElement().classList.remove(`mg-cell--invalid`),n.getElement().removeAttribute(`title`)),e.applyCellSpanLayout(n,i),n.setColId(c),n.getElement().toggleAttribute(`data-auto-height`,i.autoHeight),$p(n.getElement(),i.align,i.valign,`mg-cell`),n.getElement().classList.toggle(`mg-cell--index`,t.it(i.colId)),n.getElement().classList.toggle(`mg-cell--selection`,t.X(i.colId)),n.getElement().classList.toggle(`mg-cell--expand`,A(i.colId)||i.rowExpand),n.getElement().classList.toggle(`mg-cell--group`,R(i.colId));let l=e.rowNode!=null&&z(e.rowNode)&&(e.isRowDragHandleEnabled?.(i.colId)??!1);t.it(i.colId)?(n.getElement().classList.toggle(`mg-cell--index-focused`,e.indexFocused),n.setIndexRangeHighlight(e.indexColumnRangeHighlighted),n.setRowResizeHandle(e.indexColumnOptions?.enableRowResizer??!1),n.setRowDragHandle(l)):(n.clearRowResizeHandle(),n.setRowDragHandle(i.rowDrag?l:!1))}function my(e){let t=new Map;for(let n of[`left`,`center`,`right`]){let r=e[n];for(let e=0;e<r.cells.length;e++){let n=r.mountedColIds[e];n&&t.set(n,{cell:r.cells[e],ctrl:r.cellCtrls[e]})}}return t}function hy(e,t){for(let{cell:n}of e.values())t(n.getElement()),n.destroy();e.clear()}function gy(e,t,n,r){if(t.indices=n,t.changedSlotIndices.clear(),!e.columnModel)return;let i=[],a=[],o=[];for(let s=0;s<n.length;s++){let c=n[s],l=c===void 0?void 0:e.columnModel.getColumn(c);if(!l)continue;let u=r.get(l.colId),d,f,p=``;u?(d=u.cell,f=u.ctrl,p=l.colId,r.delete(l.colId)):(d=new ly(t.element,{onUnmountRenderer:e.onUnmountRenderer,onUnmountEditor:e.onUnmountEditor}),f=new oy),t.element.appendChild(d.getElement()),py(e.bindDeps,d,f,l,s,t,p),i.push(d),a.push(f),o.push(l.colId)}t.cells=i,t.cellCtrls=a,t.mountedColIds=o}function _y(e,t,n,r){gy(e,e.lanes[t],n,r)}function vy(e,t){return Uv({...e,indices:t})}function yy(e){let t=H_({columnModel:e.columnModel,centerWindow:e.columnWindow,enableCellSpan:e.spanFilter.enableCellSpan,paramsForColumn:t=>M_(e.rowNode,t)}),n=my(e.laneSyncDeps.lanes);for(let r of[`left`,`center`,`right`])_y(e.laneSyncDeps,r,vy(e.spanFilter,t[r]),n);hy(n,e.laneSyncDeps.cleanupAutoHeightCell)}function by(e){let t=H_({columnModel:e.columnModel,centerWindow:e.columnWindow,enableCellSpan:!1,paramsForColumn:t=>M_(e.rowNode,t)});return{left:vy(e.spanFilter,t.left),right:vy(e.spanFilter,t.right)}}var xy=class{element;lanes;frameService;onUnmountRenderer;onUnmountEditor;inlineEditor;indexColumnOptions;selectionColumnOptions;rowAutoHeightService;isRowDragHandleEnabled;isAsyncMutationLoadingRow;infiniteLoadingRowVisible;enableCellSpan;cellSpanService;getRowByIndex;getRowCount;isRowCoverHighlighted;spannedRowOnly;embedFullWidthRows;getDetailCellRenderer;getMasterRowById;rowExpansionHost;rowGroupingHost;treeTableHost;getCellCommentHost;detailRowAutoHeightService;resolveBusinessRowId;getCellDisableContext;getCellStyleContext;cellRendererDefer;isScrollActive;cellRendererPresentation;fullWidthEmbed=new Zv;autoHeightCleanups=new Map;columnModel=null;columnWindow={firstCol:0,lastCol:-1};rowNode=null;stripe=!1;valueCacheVersion=0;selected=!1;selectionIndeterminate=!1;indexFocused=!1;indexColumnRangeHighlighted=!1;selectionDisabled=!1;lastRowTop=null;pendingRendererTasks=[];rendererBatchDepth=0;lastCellValueSyncRowId=null;lastCellValueSyncRowIndex=-1;lastCellValueSyncData=null;lastCellValueSyncValueCacheVersion=-1;constructor(e,t={}){this.stripe=t.stripe??!1,this.frameService=t.frameService??null,this.onUnmountRenderer=t.onUnmountRenderer,this.onUnmountEditor=t.onUnmountEditor,this.inlineEditor=t.inlineEditor,this.indexColumnOptions=t.indexColumnOptions,this.selectionColumnOptions=t.selectionColumnOptions,this.rowAutoHeightService=t.rowAutoHeightService??null,this.isRowDragHandleEnabled=t.isRowDragHandleEnabled,this.isAsyncMutationLoadingRow=t.isAsyncMutationLoadingRow,this.infiniteLoadingRowVisible=t.infiniteLoadingRowVisible??!0,this.enableCellSpan=t.enableCellSpan??!1,this.cellSpanService=t.cellSpanService??null,this.getRowByIndex=t.getRowByIndex,this.getRowCount=t.getRowCount,this.isRowCoverHighlighted=t.isRowCoverHighlighted,this.spannedRowOnly=t.spannedRowOnly??!1,this.embedFullWidthRows=t.embedFullWidthRows??!1,this.getDetailCellRenderer=t.getDetailCellRenderer,this.getMasterRowById=t.getMasterRowById,this.rowExpansionHost=t.rowExpansionHost,this.rowGroupingHost=t.rowGroupingHost,this.treeTableHost=t.treeTableHost,this.getCellCommentHost=t.getCellCommentHost,this.detailRowAutoHeightService=t.detailRowAutoHeightService??null,this.resolveBusinessRowId=t.resolveBusinessRowId,this.getCellDisableContext=t.getCellDisableContext,this.getCellStyleContext=t.getCellStyleContext,this.cellRendererDefer=t.cellRendererDefer??`always`,this.isScrollActive=t.isScrollActive,this.cellRendererPresentation=t.cellRendererPresentation??`deferred`,this.element=document.createElement(`div`),this.element.className=`mg-row`,this.spannedRowOnly&&this.element.classList.add(`mg-row--spanned`),this.syncTopPositioningClass(),this.lanes={left:uy(`left`),center:uy(`center`),right:uy(`right`)},this.element.append(this.lanes.left.element,this.lanes.center.element,this.lanes.right.element),e.appendChild(this.element)}setSelected(e,t=!1){this.selected=e,this.selectionIndeterminate=t,this.element.classList.toggle(`mg-row--selected`,e),this.syncSelectionColumnCheckbox(),this.syncRowSpanHighlights()}setSelectionDisabled(e){this.selectionDisabled=e,this.syncSelectionColumnCheckbox()}setIndexFocused(e){this.indexFocused=e,this.element.classList.toggle(`mg-row--index-focused`,e),this.syncIndexFocusedVisual(),this.syncRowSpanHighlights()}setIndexColumnRangeHighlight(e){this.indexColumnRangeHighlighted!==e&&(this.indexColumnRangeHighlighted=e,this.syncIndexColumnRangeHighlightVisual())}setFocusedColId(e){for(let t of Object.values(this.lanes))for(let n of t.cells){let t=n.getColId();n.setFocused(e!==null&&t===e)}}setCellRangeSelection(e,t,n){for(let r of Object.values(this.lanes))for(let i of r.cells){let r=i.getColId()??``,a=i.getElement(),o=Number(a.dataset.rowSpan??1),s=o>1&&this.rowNode&&this.getRowByIndex&&n?Y_({head:this.rowNode,rowSpan:o,colId:r,getRowByIndex:this.getRowByIndex,isCellSelected:n}):e(r);i.setRangeSelected(s),i.setRangeAnchor(t!==null&&r===t)}}flashCellRangeSelection(e,t){for(let n of Object.values(this.lanes))for(let r of n.cells){let n=r.getColId()??``,i=r.getElement(),a=Number(i.dataset.rowSpan??1);(a>1&&this.rowNode&&this.getRowByIndex&&t?Y_({head:this.rowNode,rowSpan:a,colId:n,getRowByIndex:this.getRowByIndex,isCellSelected:t}):e(n))&&r.playRangeCopyFlash()}}flashCellRangePaste(e){for(let t of Object.values(this.lanes))for(let n of t.cells){let t=n.getColId(),r=e.find(e=>e.colId===t);r&&n.playRangePasteFlash(!r.applied)}}setRowTop(e){this.lastRowTop=e,this.applyRowTop(e)}syncRowLayout(e){if(this.rowNode=e,this.spannedRowOnly){this.syncSpannedRowHeight();return}this.syncRowHeight(e.rowHeight),this.syncInfiniteLoadingVisual()}syncRowExpansionDisplayChrome(e,t){this.syncExpandedMasterClass(),!(e.length===0||!this.rowNode)&&this.refreshCells({...t,colIds:[...e],force:!0})}setIndexLoadingVisual(e){for(let t of Object.values(this.lanes))for(let n of t.cells)n.getElement().classList.contains(`mg-cell--index`)&&n.setIndexLoadingVisual(e);e||(this.syncIndexFocusedVisual(),this.syncIndexColumnRangeHighlightVisual())}setData(e,t,n,r=0,i=!1,a){if(this.rowNode=e,this.columnModel=t,this.columnWindow=n,this.valueCacheVersion=r,this.element.dataset.rowId=e.id,this.spannedRowOnly?this.syncSpannedRowHeight():this.syncRowHeight(e.rowHeight),this.element.style.width=`${t.getTotalWidth()}px`,this.syncLaneWidths(),this.embedFullWidthRows&&L(e)){this.fullWidthEmbed.activate(e,i,this.buildFullWidthEmbedDeps());return}if(this.fullWidthEmbed.active&&this.fullWidthEmbed.deactivate(this.buildFullWidthEmbedDeps()),this.syncCells(),this.syncPinnedSpanRowClasses(),this.syncIndexLoadingVisual(),this.syncInfiniteLoadingVisual(),this.syncStripeClass(),this.syncLastRowClass(i),this.syncExpandedMasterClass(),this.syncGroupRowClasses(),a?.columnStructureChanged===!0||this.lastCellValueSyncRowId!==e.id||this.lastCellValueSyncRowIndex!==e.rowIndex||this.lastCellValueSyncData!==e.data||this.lastCellValueSyncValueCacheVersion!==r){let t=a?.overlayEditingTargets;a?.columnStructureChanged?this.syncCellValues(`structure-changed`,t):this.syncCellValues(`all`,t),this.lastCellValueSyncRowId=e.id,this.lastCellValueSyncRowIndex=e.rowIndex,this.lastCellValueSyncData=e.data,this.lastCellValueSyncValueCacheVersion=r}this.syncAutoHeightCells(),this.syncCellCommentIndicators()}setEnableCellSpan(e){this.enableCellSpan!==e&&(this.enableCellSpan=e,this.syncTopPositioningClass(),this.lastRowTop!==null&&this.applyRowTop(this.lastRowTop))}setCellSpanService(e){this.cellSpanService=e}setRowSpanAccessors(e){this.getRowByIndex=e.getRowByIndex,this.getRowCount=e.getRowCount}refreshCells(e){if(!this.rowNode)return 0;if(this.columnModel=e.columnModel,this.columnWindow=e.columnWindow,this.valueCacheVersion=e.valueCacheVersion,e.inlineEditor&&(this.inlineEditor=e.inlineEditor),this.syncLaneWidths(),this.fullWidthEmbed.active){let e=this.buildFullWidthEmbedDeps();return this.fullWidthEmbed.refreshPinnedLanes(e),this.fullWidthEmbed.refreshContent(e),1}this.enableCellSpan&&this.syncCells();let t=e.indexColumnOptions??this.indexColumnOptions,n=e.selectionColumnOptions??this.selectionColumnOptions,r=e.colIds?new Set(e.colIds):null;if(!dy(this.lanes)||!this.columnModel)return 0;let i=e.force??!1,a=e.newData??!1,o=e.overlayEditingTargets,s=this.withRendererBatch(()=>{let e=0;for(let s of[`left`,`center`,`right`]){let c=this.lanes[s];for(let l=0;l<c.indices.length;l++)this.refreshCellAtLaneIndex(s,l,r,i,a,t,n,o)&&e++}return e});return this.syncAutoHeightCells(r,i),this.syncCellCommentIndicators(r),s}promoteRendererPlaceholders(){return!this.rowNode||!this.columnModel||this.fullWidthEmbed.active?0:this.withRendererBatch(()=>{let e=0;for(let t of[`left`,`center`,`right`]){let n=this.lanes[t];for(let r=0;r<n.indices.length;r++)this.promoteRendererPlaceholderAtLaneIndex(t,r)&&e++}return e})}syncCellCommentIndicators(e=null){let t=this.getCellCommentHost?.();if(!t?.active()||!this.rowNode||!this.columnModel||this.fullWidthEmbed.active)return;let n=this.rowNode,r=P(n.rowKind);for(let i of[`left`,`center`,`right`]){let a=this.lanes[i];for(let i=0;i<a.indices.length;i++){let o=a.indices[i],s=o===void 0?void 0:this.columnModel.getColumn(o),c=a.cells[i];if(!s||!c)continue;let{colId:l}=s;if(e&&!e.has(l))continue;if(!Bo(l,r,n.id)){c.setCommentIndicator(`none`);continue}let u=t.hasComment(n.id,l),d=t.canCreateComment(n.id,l);c.setCommentIndicator(u?`filled`:d?`empty`:`none`)}}}getElement(){return this.element}destroy(){this.fullWidthEmbed.deactivate(this.buildFullWidthEmbedDeps()),this.clearAutoHeightCleanups();for(let e of Object.values(this.lanes)){for(let t of e.cells)t.destroy();e.cells.length=0,e.cellCtrls.length=0}this.lastCellValueSyncRowId=null,this.lastCellValueSyncRowIndex=-1,this.lastCellValueSyncData=null,this.lastCellValueSyncValueCacheVersion=-1,this.element.remove()}applyRowTop(e){if(Qa(this.enableCellSpan)){this.element.style.top=`${e}px`,this.element.style.transform=``;return}this.element.style.top=`0px`,this.element.style.transform=`translateY(${e}px)`}syncTopPositioningClass(){this.element.classList.toggle(Ya,Qa(this.enableCellSpan))}syncIndexLoadingVisual(){this.rowNode&&this.setIndexLoadingVisual(this.isAsyncMutationLoadingRow?.(this.rowNode.id)??!1)}syncInfiniteLoadingVisual(){if(!this.rowNode||!this.infiniteLoadingRowVisible){this.element.classList.remove(`mg-row--infinite-loading`,`mg-row--infinite-stub`);return}let e=this.rowNode.__infiniteBlockState,t=e==null||e===`loaded`,n=e===`loading`,r=!t;this.element.classList.toggle(`mg-row--infinite-loading`,n),this.element.classList.toggle(`mg-row--infinite-stub`,r)}syncRowHeight(e){let t=`${e}px`;this.element.style.height=t,this.element.style.setProperty(`--mg-row-height`,t)}syncSpannedRowHeight(){this.element.style.height=`0px`,this.element.style.setProperty(`--mg-row-height`,`0px`)}syncPinnedSpanRowClasses(){Jv({spannedRowOnly:this.spannedRowOnly,enableCellSpan:this.enableCellSpan,rowNode:this.rowNode,columnModel:this.columnModel,cellSpanService:this.cellSpanService},this.element)}syncLaneWidths(){this.columnModel&&fy(this.lanes,this.columnModel)}syncColumnLayouts(){if(!this.columnModel)return;if(this.element.style.width=`${this.columnModel.getTotalWidth()}px`,this.syncLaneWidths(),this.fullWidthEmbed.active){this.fullWidthEmbed.refreshPinnedLanes(this.buildFullWidthEmbedDeps());return}let e=this.buildCellSpanLayoutContext();for(let t of[`left`,`center`,`right`]){let n=this.lanes[t];for(let t=0;t<n.indices.length;t++){let r=n.indices[t],i=r===void 0?void 0:this.columnModel.getColumn(r),a=n.cells[t];!i||!a||Wv(e,a,i)}}}syncLanesWithCrossLanePool(e){let t=this.buildLaneSyncDeps(),n=my(t.lanes);for(let r of[`left`,`center`,`right`])_y(t,r,e[r],n);hy(n,t.cleanupAutoHeightCell)}syncCells(){!this.columnModel||!this.rowNode||yy({rowNode:this.rowNode,columnModel:this.columnModel,columnWindow:this.columnWindow,spanFilter:this.buildSpanFilterParams(),laneSyncDeps:this.buildLaneSyncDeps()})}buildLaneSyncDeps(){return{lanes:this.lanes,columnModel:this.columnModel,bindDeps:this.buildBindCellDeps(),onUnmountRenderer:this.onUnmountRenderer,onUnmountEditor:this.onUnmountEditor,cleanupAutoHeightCell:e=>this.cleanupAutoHeightCell(e)}}buildBindCellDeps(){let e=this.buildCellSpanLayoutContext();return{rowNode:this.rowNode,indexFocused:this.indexFocused,indexColumnRangeHighlighted:this.indexColumnRangeHighlighted,indexColumnOptions:this.indexColumnOptions,isRowDragHandleEnabled:this.isRowDragHandleEnabled,applyCellSpanLayout:(t,n)=>Wv(e,t,n)}}buildCellSpanLayoutContext(){return{enableCellSpan:this.enableCellSpan,rowNode:this.rowNode,columnModel:this.columnModel,cellSpanService:this.cellSpanService,getRowByIndex:this.getRowByIndex,getRowCount:this.getRowCount,applyRowSpanCoverHighlight:(e,t,n)=>Kv(this.buildRowSpanHighlightContext(),e,t,n)}}buildRowSpanHighlightContext(){return{getRowByIndex:this.getRowByIndex,isRowCoverHighlighted:this.isRowCoverHighlighted,selected:this.selected,indexFocused:this.indexFocused}}buildSpanFilterParams(){return{enableCellSpan:this.enableCellSpan,spannedRowOnly:this.spannedRowOnly,rowNode:this.rowNode,columnModel:this.columnModel,cellSpanService:this.cellSpanService,getRowByIndex:this.getRowByIndex,getRowCount:this.getRowCount}}buildFullWidthEmbedDeps(){return{rowElement:this.element,lanes:this.lanes,rowNode:this.rowNode,columnModel:this.columnModel,frameService:this.frameService,onUnmountRenderer:this.onUnmountRenderer,getDetailCellRenderer:this.getDetailCellRenderer,getMasterRowById:this.getMasterRowById,detailRowAutoHeightService:this.detailRowAutoHeightService,syncEmbedLaneCells:(e,t)=>this.syncLanesWithCrossLanePool({left:e,center:[],right:t}),buildEmbedPinnedLaneIndices:()=>by({columnModel:this.columnModel,columnWindow:this.columnWindow,rowNode:this.rowNode,spanFilter:this.buildSpanFilterParams()}),syncStripeClass:()=>this.syncStripeClass(),syncLastRowClass:e=>this.syncLastRowClass(e)}}syncRowSpanHighlights(){qv({...this.buildRowSpanHighlightContext(),enableCellSpan:this.enableCellSpan,rowNode:this.rowNode},Object.values(this.lanes))}syncIndexFocusedVisual(){if(this.columnModel)for(let e of[`left`,`center`,`right`]){let n=this.lanes[e];for(let e=0;e<n.indices.length;e++){let r=n.indices[e],i=r===void 0?void 0:this.columnModel.getColumn(r),a=n.cells[e];!i||!a||!t.it(i.colId)||a.getElement().classList.toggle(`mg-cell--index-focused`,this.indexFocused)}}}syncIndexColumnRangeHighlightVisual(){if(this.columnModel)for(let e of[`left`,`center`,`right`]){let n=this.lanes[e];for(let e=0;e<n.indices.length;e++){let r=n.indices[e],i=r===void 0?void 0:this.columnModel.getColumn(r),a=n.cells[e];!i||!a||!t.it(i.colId)||a.setIndexRangeHighlight(this.indexColumnRangeHighlighted)}}}refreshCellAtLaneIndex(e,t,n,r,i,a,o,s){let c=this.lanes[e],l=c.indices[t],u=l===void 0?void 0:this.columnModel.getColumn(l),d=c.cells[t],f=c.cellCtrls[t];return!u||!d||!f||!this.rowNode||n&&!n.has(u.colId)?!1:f.refreshCell(this.rowNode,u,d,this.valueCacheVersion,{force:r,newData:i,scheduleRenderer:e=>this.scheduleRendererTask(e),scheduleInlineEditor:e=>this.scheduleInlineEditorTask(e),inlineEditor:this.inlineEditor,indexColumnOptions:a??this.indexColumnOptions,selectionColumnOptions:o??this.selectionColumnOptions,selectionChecked:this.selected,selectionDisabled:this.selectionDisabled,selectionIndeterminate:this.selectionIndeterminate,rowExpansionHost:this.rowExpansionHost,rowGroupingHost:this.rowGroupingHost,treeTableHost:this.treeTableHost,resolveBusinessRowId:this.resolveBusinessRowId,getCellDisableContext:this.getCellDisableContext,getCellStyleContext:this.getCellStyleContext,cellRendererDefer:this.cellRendererDefer,cellRendererPresentation:this.cellRendererPresentation,scrollActive:this.isScrollActive?.()??!1,overlayEditingTargets:s,getCellStructuralContext:()=>({rowDragHandleEnabled:this.isRowDragHandleEnabled,indexRowResizerEnabled:this.indexColumnOptions?.enableRowResizer})})}promoteRendererPlaceholderAtLaneIndex(e,t){let n=this.lanes[e],r=n.indices[t],i=r===void 0?void 0:this.columnModel.getColumn(r),a=n.cells[t],o=n.cellCtrls[t];return!i||!a||!o||!this.rowNode||!o.hasPendingVueRenderer()?!1:o.promoteVueRenderer(this.rowNode,a,{scheduleRenderer:e=>this.scheduleRendererTask(e),cellRendererDefer:this.cellRendererDefer,cellRendererPresentation:this.cellRendererPresentation})}syncGroupRowClasses(){this.rowNode&&(this.element.classList.toggle(he,this.rowNode.rowKind===`GROUP_HEADER`),this.element.classList.toggle(ge,this.rowNode.rowKind===`GROUP_FOOTER`))}syncStripeClass(){this.rowNode&&this.element.classList.toggle(`mg-row--stripe`,this.stripe&&this.rowNode.rowIndex%2==1)}syncLastRowClass(e){this.element.classList.toggle(`mg-row--last`,e)}setBeforeLoadMoreRow(e){this.element.classList.toggle(`mg-row--before-load-more`,e)}syncExpandedMasterClass(){if(!this.rowNode||L(this.rowNode)){this.element.classList.remove(`mg-row--expanded-master`);return}let e=this.rowExpansionHost?.active()===!0&&this.rowExpansionHost.isExpanded(this.rowNode.id);this.element.classList.toggle(`mg-row--expanded-master`,e)}syncSelectionColumnCheckbox(){if(!(!this.columnModel||!this.rowNode||this.fullWidthEmbed.active))for(let e of[`left`,`center`,`right`]){let n=this.lanes[e];for(let e=0;e<n.indices.length;e++){let r=n.indices[e],i=r===void 0?void 0:this.columnModel.getColumn(r),a=n.cells[e];if(!i||!a||!t.X(i.colId))continue;if(Ue(this.rowNode)){a.clearSelectionCheckbox();continue}let o=this.selectionColumnOptions?Bp(this.rowNode.rowIndex,this.selectionColumnOptions.selectionColumn):`选择第 ${this.rowNode.rowIndex+1} 行`;a.setSelectionCheckbox({checked:this.selected,disabled:this.selectionDisabled,indeterminate:this.selectionIndeterminate,ariaLabel:o})}}}syncCellValues(e=`all`,t){return!this.rowNode||!this.columnModel||!dy(this.lanes)?0:this.withRendererBatch(()=>{let n=0;for(let r of[`left`,`center`,`right`]){let i=this.lanes[r];for(let a=0;a<i.indices.length;a++){let o=e===`all`||i.changedSlotIndices.has(a);this.refreshCellAtLaneIndex(r,a,null,o,!1,this.indexColumnOptions,this.selectionColumnOptions,t)&&n++}}return n})}syncAutoHeightCells(e=null,t=!1){if(!(!this.rowAutoHeightService||!this.rowNode||!this.columnModel))for(let n of[`left`,`center`,`right`]){let r=this.lanes[n];for(let n=0;n<r.indices.length;n++){let i=r.indices[n],a=i===void 0?void 0:this.columnModel.getColumn(i),o=r.cells[n];if(!a||!o)continue;let s=o.getElement(),{colId:c}=a;if(e&&!e.has(c))continue;if(!a.autoHeight){o.getElement().removeAttribute(`data-auto-height`),this.cleanupAutoHeightCell(s);continue}if(this.autoHeightCleanups.has(s)&&!t)continue;t&&this.cleanupAutoHeightCell(s);let l=this.rowNode.id;this.scheduleRendererTask(()=>{if(!this.rowNode||this.rowNode.id!==l)return;let e=this.rowAutoHeightService.setupCellAutoHeight({rowId:l,colId:c,cellEl:s});e&&this.autoHeightCleanups.set(s,e)})}}}cleanupAutoHeightCell(e){let t=this.autoHeightCleanups.get(e);t&&(t(),this.autoHeightCleanups.delete(e))}clearAutoHeightCleanups(){for(let e of this.autoHeightCleanups.values())e();this.autoHeightCleanups.clear()}withRendererBatch(e){this.rendererBatchDepth++;try{return e()}finally{this.rendererBatchDepth--,this.flushRowRendererBatch()}}scheduleRendererTask(e){if(this.rendererBatchDepth>0){this.pendingRendererTasks.push(e);return}this.enqueueRendererTask(e)}flushRowRendererBatch(){if(this.rendererBatchDepth>0||this.pendingRendererTasks.length===0)return;let e=this.pendingRendererTasks.splice(0);this.enqueueRendererTask(()=>{for(let t of e)t()})}enqueueRendererTask(e){let t=this.rowNode?.rowIndex??0;if(this.frameService){this.frameService.createTask(e,t,`f1`);return}e()}scheduleInlineEditorTask(e){let t=this.rowNode?.rowIndex??0;if(this.frameService){this.frameService.createTask(e,t,`p2`);return}e()}},Sy=class{container;rowModel;columnModel;stripe;rowPool=new Hv;frameService;onUnmountRenderer;onUnmountEditor;inlineCellEditor;indexColumnOptions;selectionColumnOptions;rowAutoHeightService;isRowDragHandleEnabled;enableCellSpan;cellSpanService;valueCacheVersion=0;selectedRowIds=new Set;indexFocusedRowIds=new Set;focusedCell=null;cellRangeIsSelected=null;cellRangeAnchor=null;columnWindow={firstCol:0,lastCol:-1};activeHeadIds=new Set;compressedScroll=!1;scrollTop=0;resolveOverlayEditingTargets=()=>[];constructor(e){this.container=e.container,this.rowModel=e.rowModel,this.columnModel=e.columnModel,this.stripe=e.stripe??!1,this.frameService=e.frameService??null,this.onUnmountRenderer=e.onUnmountRenderer,this.onUnmountEditor=e.onUnmountEditor,this.indexColumnOptions=e.indexColumnOptions,this.selectionColumnOptions=e.selectionColumnOptions,this.rowAutoHeightService=e.rowAutoHeightService??null,this.isRowDragHandleEnabled=e.isRowDragHandleEnabled,this.enableCellSpan=e.enableCellSpan??!1,this.cellSpanService=e.cellSpanService??null}setEnableCellSpan(e){this.enableCellSpan=e,e||this.clear()}setCellSpanService(e){this.cellSpanService=e}setRowAutoHeightService(e){this.rowAutoHeightService=e}setInlineCellEditorContext(e){this.inlineCellEditor=e}setOverlayEditingTargetsResolver(e){this.resolveOverlayEditingTargets=e}setCompressedScroll(e){this.compressedScroll=e}setValueCacheVersion(e){this.valueCacheVersion=e}refreshSelection(e){this.selectedRowIds=new Set(e);for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.setSelected?.(e.has(t))}refreshIndexFocus(e){this.indexFocusedRowIds=new Set(e);for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.setIndexFocused?.(e.has(t))}setFocusedCell(e){this.focusedCell=e,this.refreshFocus()}refreshFocus(){let e=this.focusedCell;for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.setFocusedColId?.(e?.rowId===t?e.colId:null)}setCellRangeVisualState(e,t){this.cellRangeIsSelected=e,this.cellRangeAnchor=t,this.refreshCellRangeSelection()}refreshCellRangeSelection(){let e=this.cellRangeIsSelected,t=this.cellRangeAnchor;for(let n of this.rowPool.getActiveIds()){let r=this.findRowIndexById(n),i=this.rowPool.get(n);!i?.setCellRangeSelection||r<0||i.setCellRangeSelection(e?t=>e(r,t):()=>!1,t?.rowIndex===r?t.colId:null,e??void 0)}}playCellRangeCopyFlash(){let e=this.cellRangeIsSelected;if(e)for(let t of this.rowPool.getActiveIds()){let n=this.findRowIndexById(t),r=this.rowPool.get(t);!r?.flashCellRangeSelection||n<0||r.flashCellRangeSelection(t=>e(n,t),e)}}playCellRangePasteFlash(e){if(e.length===0)return;let t=new Map;for(let n of e){let e=t.get(n.rowIndex);e?e.push(n):t.set(n.rowIndex,[n])}for(let e of this.rowPool.getActiveIds()){let n=this.findRowIndexById(e),r=this.rowPool.get(e),i=t.get(n);!r?.flashCellRangePaste||!i?.length||n<0||r.flashCellRangePaste(i)}}syncColumnLayouts(){for(let e of this.rowPool.getActiveIds())this.rowPool.get(e)?.syncColumnLayouts?.()}refreshVisibleColumnStructure(e){if(!this.enableCellSpan)return;this.columnWindow=e;let t={columnStructureChanged:!0};for(let e of this.activeHeadIds)this.updateHeadRow(e,t)}migrateRowId(e,t){if(e===t)return;this.rowPool.migrateId(e,t);let n=this.rowPool.get(t);n&&(n.getElement().dataset.rowId=t),this.selectedRowIds.has(e)&&(this.selectedRowIds.delete(e),this.selectedRowIds.add(t)),this.indexFocusedRowIds.has(e)&&(this.indexFocusedRowIds.delete(e),this.indexFocusedRowIds.add(t)),this.focusedCell?.rowId===e&&(this.focusedCell={rowId:t,colId:this.focusedCell.colId}),this.activeHeadIds.has(e)&&(this.activeHeadIds.delete(e),this.activeHeadIds.add(t))}refreshRows(e){let t=e.rowIds?new Set(e.rowIds):null,n=0;for(let r of this.rowPool.getActiveIds()){if(t&&!this.includesRefreshTarget(r,t))continue;let i=this.rowPool.get(r);i?.refreshCells&&(n+=i.refreshCells({columnModel:this.columnModel,columnWindow:this.columnWindow,valueCacheVersion:this.valueCacheVersion,colIds:e.colIds,force:e.force,newData:e.newData,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,inlineEditor:this.inlineCellEditor,overlayEditingTargets:this.resolveOverlayEditingTargets()}))}return n}syncVisibleRowLayouts(e){let t=e?new Set(e):null;for(let e of this.rowPool.getActiveIds()){if(t&&!this.includesRefreshTarget(e,t))continue;let n=this.findRowNodeById(e);if(!n)continue;let r=this.rowPool.get(e);r?.syncRowLayout?.(n),r?.setRowTop(this.compressedScroll?n.rowTop-this.scrollTop:n.rowTop)}}redraw(e,t,n,r=!1){if(!this.enableCellSpan){this.clear();return}this.scrollTop=e,this.columnWindow=n;let i=this.collectHeadRowIds(t.firstRow,t.lastRow),a=[...this.activeHeadIds].filter(e=>!i.has(e)),o=[...i];for(let e of a)this.frameService&&!this.compressedScroll?this.frameService.addDestroyTask(()=>{this.rowPool.release(e)}):this.rowPool.release(e);for(let e of o)(!this.activeHeadIds.has(e)||r)&&this.updateHeadRow(e,r?{columnStructureChanged:!0}:void 0);this.activeHeadIds=i,this.container.style.display=i.size>0?``:`none`,this.container.parentElement&&this.container.parentElement.appendChild(this.container)}invalidate(){this.frameService&&this.frameService.flushAllFrames(),this.clear()}destroy(){this.clear()}getActiveHeadCount(){return this.rowPool.getActiveCount()}clear(){this.rowPool.clear(),this.activeHeadIds.clear(),this.container.style.display=`none`}collectHeadRowIds(e,t){return this.cellSpanService?this.cellSpanService.collectSpannedHeadRowIds(e,t):X_({enableCellSpan:this.enableCellSpan,rowModel:this.rowModel,columns:this.columnModel.getColumns(),firstRow:e,lastRow:t})}updateHeadRow(e,t){let n=this.findRowNodeById(e);if(!n)return;let r=this.rowPool.acquire(e,()=>this.createSpannedRowComp()),i=this.rowModel.getRowCount();r.setData(n,this.columnModel,this.columnWindow,this.valueCacheVersion,i>0&&n.rowIndex===i-1,t),r.setRowTop(this.compressedScroll?n.rowTop-this.scrollTop:n.rowTop),r.setSelected?.(this.selectedRowIds.has(e)),r.setIndexFocused?.(this.indexFocusedRowIds.has(e)),r.setFocusedColId?.(this.focusedCell?.rowId===e?this.focusedCell.colId:null),this.applyCellRangeSelectionToHead(e,n.rowIndex)}applyCellRangeSelectionToHead(e,t){let n=this.rowPool.get(e),r=this.cellRangeIsSelected,i=this.cellRangeAnchor;!n?.setCellRangeSelection||t<0||n.setCellRangeSelection(r?e=>r(t,e):()=>!1,i?.rowIndex===t?i.colId:null,r??void 0)}createSpannedRowComp(){return new xy(this.container,{stripe:this.stripe,frameService:this.frameService??void 0,onUnmountRenderer:this.onUnmountRenderer,onUnmountEditor:this.onUnmountEditor,inlineEditor:this.inlineCellEditor,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,rowAutoHeightService:this.rowAutoHeightService,isRowDragHandleEnabled:this.isRowDragHandleEnabled,enableCellSpan:!0,cellSpanService:this.cellSpanService,getRowByIndex:e=>this.rowModel.getRow(e),getRowCount:()=>this.rowModel.getRowCount(),spannedRowOnly:!0,isRowCoverHighlighted:e=>this.selectedRowIds.has(e)||this.indexFocusedRowIds.has(e)})}includesRefreshTarget(e,t){if(t.has(e))return!0;if(!this.cellSpanService)return!1;for(let n of this.columnModel.getColumns().map(e=>e.colId)){let r=this.cellSpanService.getCellSpan(e,n);if(r&&r.rowIds.some(e=>t.has(e)))return!0}return!1}findRowIndexById(e){for(let t=0;t<this.rowModel.getRowCount();t++)if(this.rowModel.getRow(t)?.id===e)return t;return-1}findRowNodeById(e){for(let t=0;t<this.rowModel.getRowCount();t++){let n=this.rowModel.getRow(t);if(n?.id===e)return n}}},Cy=class{element;contentEl;frameService;onUnmountRenderer;detailRowAutoHeightService;detailCellRenderer;rowNode=null;renderParams=null;constructor(e,t={}){this.frameService=t.frameService??null,this.onUnmountRenderer=t.onUnmountRenderer,this.detailRowAutoHeightService=t.detailRowAutoHeightService??null,this.element=document.createElement(`div`),this.element.className=T,this.element.dataset.rowKind=`DETAIL`,this.contentEl=document.createElement(`div`),this.contentEl.className=E,this.element.appendChild(this.contentEl),e.appendChild(this.element)}getElement(){return this.element}setDetailCellRenderer(e){this.detailCellRenderer=e,this.renderParams&&this.renderContent(this.renderParams)}setData(e,t,n,r=!1){this.rowNode=e,this.renderParams=t,this.detailCellRenderer=n??this.detailCellRenderer,this.element.dataset.rowId=e.id,this.element.dataset.masterRowId=t.masterRowId==null?``:String(t.masterRowId),this.element.style.height=`${e.rowHeight}px`,this.element.classList.toggle(D,r),this.renderContent(t)}syncRowLayout(e){this.rowNode=e,this.element.style.height=`${e.rowHeight}px`}syncBodyWidth(e){this.element.style.width=`${e}px`}setRowTop(e){this.element.style.transform=`translateY(${e}px)`}destroy(){this.rowNode&&this.detailRowAutoHeightService?.teardownContentObserver(this.rowNode.id),this.onUnmountRenderer?.(this.contentEl),this.contentEl.replaceChildren(),this.element.remove(),this.rowNode=null,this.renderParams=null}renderContent(e){let t=this.rowNode?.id;Xv(this.contentEl,e,this.detailCellRenderer,{frameService:this.frameService,onUnmountRenderer:this.onUnmountRenderer,rowIndex:this.rowNode?.rowIndex??0,onAfterRender:()=>{t&&this.detailRowAutoHeightService?.setupContentObserver(t,this.contentEl)}})}},wy=class{pool=new Map;acquire(e,t){let n=this.pool.get(e);if(n)return n;let r=t();return this.pool.set(e,r),r}get(e){return this.pool.get(e)}release(e){let t=this.pool.get(e);t&&(t.destroy(),this.pool.delete(e))}clear(){for(let e of this.pool.values())e.destroy();this.pool.clear()}getActiveCount(){return this.pool.size}getActiveIds(){return[...this.pool.keys()]}},Ty=class{container;rowModel;columnModel;rowPool=new wy;frameService;onUnmountRenderer;getDetailCellRenderer;getMasterRowById;masterDetail;embedFullWidthRows;detailRowAutoHeightService;pinnedRowIds=new Set;activeDetailIds=new Set;compressedScroll=!1;scrollTop=0;constructor(e){this.container=e.container,this.container.classList.add(w),this.rowModel=e.rowModel,this.columnModel=e.columnModel,this.frameService=e.frameService??null,this.onUnmountRenderer=e.onUnmountRenderer,this.getDetailCellRenderer=e.getDetailCellRenderer,this.getMasterRowById=e.getMasterRowById,this.masterDetail=e.masterDetail??!1,this.embedFullWidthRows=e.embedFullWidthRows??!1,this.detailRowAutoHeightService=e.detailRowAutoHeightService??null,this.container.style.display=`none`}setDetailRowAutoHeightService(e){this.detailRowAutoHeightService=e}setEmbedFullWidthRows(e){this.embedFullWidthRows=e,e&&this.clear()}setMasterDetail(e){this.masterDetail=e,e||this.clear()}setCompressedScroll(e){this.compressedScroll=e}setPinnedRowIds(e){this.pinnedRowIds=new Set(e)}redraw(e,t){if(!this.masterDetail||this.embedFullWidthRows){this.clear();return}this.scrollTop=e;let n=this.collectDetailRowIds(t.firstRow,t.lastRow),r=[...this.activeDetailIds].filter(e=>!n.has(e)),i=[...n];for(let e of r)this.frameService&&!this.compressedScroll?this.frameService.addDestroyTask(()=>{this.rowPool.release(e)}):this.rowPool.release(e);for(let e of i)this.activeDetailIds.has(e)?this.syncDetailRowLayout(e):this.updateDetailRow(e);this.activeDetailIds=n}syncVisibleRowLayouts(e){let t=e?new Set(e):null;for(let e of this.rowPool.getActiveIds())t&&!t.has(e)||this.syncDetailRowLayout(e)}syncColumnLayouts(){let e=this.columnModel.getTotalWidth();for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.syncBodyWidth(e)}invalidate(){this.frameService&&this.frameService.flushAllFrames(),this.clear()}destroy(){this.clear()}getActiveDetailCount(){return this.rowPool.getActiveCount()}refreshDetailRowContent(e){let t=this.findRowNodeById(e),n=this.rowPool.get(e);if(!t||!n||!L(t))return;let r=this.buildRendererParams(t);r&&(n.syncBodyWidth(this.columnModel.getTotalWidth()),n.setData(t,r,this.getDetailCellRenderer?.(),this.isLastDisplayRow(e)))}clear(){this.rowPool.clear(),this.activeDetailIds.clear()}collectDetailRowIds(e,t){let n=new Set;if(t>=e)for(let r=e;r<=t;r++){let e=this.rowModel.getRow(r);e&&L(e)&&n.add(e.id)}for(let e of this.pinnedRowIds)I(e)&&n.add(e);return n}updateDetailRow(e){let t=this.findRowNodeById(e);if(!t||!L(t)||!t.masterRowId)return;let n=this.buildRendererParams(t);if(!n)return;let r=this.rowPool.acquire(e,()=>new Cy(this.container,{frameService:this.frameService??void 0,onUnmountRenderer:this.onUnmountRenderer,detailRowAutoHeightService:this.detailRowAutoHeightService}));r.syncBodyWidth(this.columnModel.getTotalWidth()),r.setData(t,n,this.getDetailCellRenderer?.(),this.isLastDisplayRow(e)),r.setRowTop(this.compressedScroll?t.rowTop-this.scrollTop:t.rowTop)}syncDetailRowLayout(e){let t=this.findRowNodeById(e),n=this.rowPool.get(e);!t||!n||(n.syncRowLayout(t),n.syncBodyWidth(this.columnModel.getTotalWidth()),n.setRowTop(this.compressedScroll?t.rowTop-this.scrollTop:t.rowTop))}buildRendererParams(e){return Yv(e,e=>this.getMasterRowById?.(e)??this.findRowNodeById(e))}findRowNodeById(e){for(let t=0;t<this.rowModel.getRowCount();t++){let n=this.rowModel.getRow(t);if(n?.id===e)return n}}isLastDisplayRow(e){let t=this.rowModel.getRowCount();return t!==0&&this.rowModel.getRow(t-1)?.id===e}};function Ey(e,t){return e.loading===t.loading&&e.hasMore===t.hasMore&&e.size===t.size&&e.labels.loadMore===t.labels.loadMore&&e.labels.loading===t.labels.loading&&e.labels.exhausted===t.labels.exhausted}var Dy=class{element;contentEl;onUnmountRenderer;loadMoreRowRenderer;rowNode=null;renderParams=null;layoutTop=NaN;constructor(e,t={}){this.onUnmountRenderer=t.onUnmountRenderer,this.element=document.createElement(`div`),this.element.className=`${T} ${po}`,this.element.dataset.rowKind=`LOAD_MORE`;let n=document.createElement(`div`);n.className=mo,this.contentEl=document.createElement(`div`),this.contentEl.className=E,n.appendChild(this.contentEl),this.element.appendChild(n),e.appendChild(this.element)}setLoadMoreRowRenderer(e){this.loadMoreRowRenderer=e,this.renderParams&&this.renderContent(this.renderParams)}setData(e,t,n){this.rowNode=e,this.element.dataset.rowId=e.id,this.element.style.height=`${e.rowHeight}px`;let r=this.renderParams,i=n??this.loadMoreRowRenderer;if(r&&Ey(r,t)&&this.loadMoreRowRenderer===i){this.renderParams=t;return}this.renderParams=t,this.loadMoreRowRenderer=i,this.renderContent(t)}syncRowLayout(e){this.rowNode=e,this.element.style.height=`${e.rowHeight}px`}setRowTop(e){let t=Math.round(e);t!==this.layoutTop&&(this.layoutTop=t,this.element.style.transform=`translate3d(0, ${t}px, 0)`)}destroy(){this.onUnmountRenderer?.(this.contentEl),this.contentEl.replaceChildren(),this.element.remove(),this.rowNode=null,this.renderParams=null}renderContent(e){ko(this.contentEl,e,this.loadMoreRowRenderer,{onUnmountRenderer:this.onUnmountRenderer,rowIndex:this.rowNode?.rowIndex??0})}},Oy=class{comp=null;acquire(e){return this.comp||=e(),this.comp}get(){return this.comp??void 0}release(){this.comp?.destroy(),this.comp=null}clear(){this.release()}},ky=class{container;rowModel;rowPool=new Oy;onUnmountRenderer;getLoadMoreRowEnabled;getLoadMoreRowRenderer;getLoadMoreRowLoading;getLoadMoreRowHasMore;getLoadMoreRowGridSize;getLoadMoreRowLabels;onLoadMore;getApi;compressedScroll=!1;scrollTop=0;invokeLoadMore=()=>{this.onLoadMore?.()};constructor(e){this.container=e.container,this.rowModel=e.rowModel,this.onUnmountRenderer=e.onUnmountRenderer,this.getLoadMoreRowEnabled=e.getLoadMoreRowEnabled,this.getLoadMoreRowRenderer=e.getLoadMoreRowRenderer,this.getLoadMoreRowLoading=e.getLoadMoreRowLoading,this.getLoadMoreRowHasMore=e.getLoadMoreRowHasMore,this.getLoadMoreRowGridSize=e.getLoadMoreRowGridSize,this.getLoadMoreRowLabels=e.getLoadMoreRowLabels,this.onLoadMore=e.onLoadMore,this.getApi=e.getApi}setCompressedScroll(e){this.compressedScroll=e}redraw(e,t){if(this.scrollTop=e,!(this.getLoadMoreRowEnabled?.()??!1)){this.clear();return}let n=this.rowModel.getRowCount();if(n===0){this.clear();return}let r=n-1,i=this.rowModel.getRow(r);if(!i||!vo(i)){this.clear();return}if(!(r>=t.firstRow&&r<=t.lastRow)){this.clear();return}if(this.rowPool.get()){this.applyLoadMoreRowLayout(i);return}this.updateLoadMoreRow(i)}refreshLoadMoreRowContent(){let e=this.rowModel.getRowCount();if(e===0)return;let t=this.rowModel.getRow(e-1);!t||t.rowKind!==`LOAD_MORE`||this.updateLoadMoreRow(t)}syncColumnLayouts(){this.syncVisibleRowLayouts()}syncVisibleRowLayouts(){let e=this.rowModel.getRowCount();if(e===0)return;let t=this.rowModel.getRow(e-1);!t||!vo(t)||!this.rowPool.get()||this.applyLoadMoreRowLayout(t)}applyLoadMoreRowLayout(e){let t=this.rowPool.get();if(!t)return;t.syncRowLayout(e);let n=this.compressedScroll?e.rowTop-this.scrollTop:e.rowTop;t.setRowTop(n)}invalidate(){this.clear()}destroy(){this.clear()}updateLoadMoreRow(e){let t=this.getApi?.();if(!t||!this.onLoadMore)return;let n=this.rowPool.acquire(()=>new Dy(this.container,{onUnmountRenderer:this.onUnmountRenderer})),r={loading:this.getLoadMoreRowLoading?.()??!1,hasMore:this.getLoadMoreRowHasMore?.()??!0,size:this.getLoadMoreRowGridSize?.()??`default`,labels:this.getLoadMoreRowLabels?.()??ho(),onLoadMore:this.invokeLoadMore,api:t};n.setData(e,r,this.getLoadMoreRowRenderer?.()),this.applyLoadMoreRowLayout(e)}clear(){this.rowPool.clear()}},Ay=class{rowModel;columnModel;rowHeight;rowBuffer;stripe;rowPool=new Hv;rowCompFactory;rowsContainer;frameService;onUnmountRenderer;onUnmountEditor;inlineCellEditor;indexColumnOptions;selectionColumnOptions;rowAutoHeightService;isRowDragHandleEnabled;rowDragCommittingRowIds=null;asyncMutationLoadingCounts=new Map;enableCellSpan;cellSpanService;spannedRowRenderer;fullWidthRowRenderer;loadMoreRowRenderer;fullWidthRowsContainerEl;embedFullWidthRows;rowExpansionHost;rowGroupingHost;treeTableHost;cellCommentHost;getCellDisableContext=()=>({});getCellStyleContext=()=>({});detailRowAutoHeightService=null;resolveBusinessRowId;valueCacheVersion=0;pinnedRowIds=new Set;selectedRowIds=new Set;indeterminateRowIds=new Set;indexFocusedRowIds=new Set;isRowNodeSelectable=()=>!0;focusedCell=null;cellRangeIsSelected=null;cellRangeAnchor=null;indexColumnHighlightChecker=null;activeIndices=new Set;columnWindow={firstCol:0,lastCol:-1};currentWindow={firstRow:0,lastRow:-1,firstCol:0,lastCol:-1};compressedScroll=!1;scrollTop=0;cellRendererDefer=`always`;deferRowDestroyOnScroll=!1;cellRendererPresentation=`deferred`;infiniteLoadingRowVisible;scrollActive=!1;pendingDestroyTasks=new Map;resolveOverlayEditingTargets=()=>[];constructor(e,t){this.rowsContainer=e,this.rowModel=t.rowModel,this.columnModel=t.columnModel,this.rowHeight=t.rowHeight??cr,this.rowBuffer=t.rowBuffer??10,this.stripe=t.stripe??!1,this.frameService=t.frameService??null,this.onUnmountRenderer=t.onUnmountRenderer,this.onUnmountEditor=t.onUnmountEditor,this.indexColumnOptions=t.indexColumnOptions,this.selectionColumnOptions=t.selectionColumnOptions,this.rowAutoHeightService=t.rowAutoHeightService??null,this.isRowDragHandleEnabled=t.isRowDragHandleEnabled,this.enableCellSpan=t.enableCellSpan??!1,this.cellSpanService=t.cellSpanService??null,this.embedFullWidthRows=t.embedFullWidthRows??!1,this.rowExpansionHost=t.rowExpansionHost,this.rowGroupingHost=t.rowGroupingHost,this.treeTableHost=t.treeTableHost,this.cellCommentHost=t.cellCommentHost,this.resolveBusinessRowId=t.resolveBusinessRowId,this.getCellDisableContext=t.getCellDisableContext??this.getCellDisableContext,this.getCellStyleContext=t.getCellStyleContext??this.getCellStyleContext,this.cellRendererDefer=t.cellRendererDefer??`always`,this.deferRowDestroyOnScroll=t.deferRowDestroyOnScroll??!1,this.cellRendererPresentation=t.cellRendererPresentation??`deferred`,this.infiniteLoadingRowVisible=t.infiniteLoadingRowVisible??!0,this.rowCompFactory=t.rowCompFactory??{create:()=>new xy(this.rowsContainer,{stripe:this.stripe,frameService:this.frameService??void 0,onUnmountRenderer:this.onUnmountRenderer,onUnmountEditor:this.onUnmountEditor,inlineEditor:this.inlineCellEditor,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,rowAutoHeightService:this.rowAutoHeightService,isRowDragHandleEnabled:this.isRowDragHandleEnabled,isAsyncMutationLoadingRow:e=>this.isAsyncMutationLoadingRowAt(e),enableCellSpan:this.enableCellSpan,cellSpanService:this.cellSpanService,getRowByIndex:e=>this.rowModel.getRow(e),getRowCount:()=>this.rowModel.getRowCount(),embedFullWidthRows:this.embedFullWidthRows,getDetailCellRenderer:t.getDetailCellRenderer,getMasterRowById:t.getMasterRowById,rowExpansionHost:this.rowExpansionHost,rowGroupingHost:this.rowGroupingHost,treeTableHost:this.treeTableHost,getCellCommentHost:()=>this.cellCommentHost,detailRowAutoHeightService:this.detailRowAutoHeightService,resolveBusinessRowId:this.resolveBusinessRowId,getCellDisableContext:()=>this.getCellDisableContext(),getCellStyleContext:()=>this.getCellStyleContext(),cellRendererDefer:this.cellRendererDefer,isScrollActive:()=>this.scrollActive,cellRendererPresentation:this.cellRendererPresentation,infiniteLoadingRowVisible:this.infiniteLoadingRowVisible})},this.spannedRowRenderer=t.spannedRowsContainerEl?new Sy({container:t.spannedRowsContainerEl,rowModel:this.rowModel,columnModel:this.columnModel,stripe:this.stripe,frameService:this.frameService??void 0,onUnmountRenderer:this.onUnmountRenderer,onUnmountEditor:this.onUnmountEditor,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,rowAutoHeightService:this.rowAutoHeightService,isRowDragHandleEnabled:this.isRowDragHandleEnabled,enableCellSpan:this.enableCellSpan,cellSpanService:this.cellSpanService}):null,this.fullWidthRowsContainerEl=t.fullWidthRowsContainerEl??null,this.fullWidthRowRenderer=t.fullWidthRowsContainerEl?new Ty({container:t.fullWidthRowsContainerEl,rowModel:this.rowModel,columnModel:this.columnModel,frameService:this.frameService??void 0,onUnmountRenderer:this.onUnmountRenderer,masterDetail:t.masterDetail??!1,embedFullWidthRows:t.embedFullWidthRows??!1,getDetailCellRenderer:t.getDetailCellRenderer,getMasterRowById:t.getMasterRowById}):null,this.loadMoreRowRenderer=t.fullWidthRowsContainerEl?new ky({container:t.fullWidthRowsContainerEl,rowModel:this.rowModel,onUnmountRenderer:this.onUnmountRenderer,getLoadMoreRowEnabled:t.getLoadMoreRowEnabled,getLoadMoreRowRenderer:t.getLoadMoreRowRenderer,getLoadMoreRowLoading:t.getLoadMoreRowLoading,getLoadMoreRowHasMore:t.getLoadMoreRowHasMore,getLoadMoreRowGridSize:t.getLoadMoreRowGridSize,getLoadMoreRowLabels:t.getLoadMoreRowLabels,onLoadMore:t.onLoadMore,getApi:t.getApi}):null}setEmbedFullWidthRows(e){this.embedFullWidthRows!==e&&(this.embedFullWidthRows=e,this.fullWidthRowRenderer?.setEmbedFullWidthRows(e),this.invalidate())}setMasterDetail(e){this.fullWidthRowRenderer?.setMasterDetail(e)}setRowDragHandleEnabled(e){this.isRowDragHandleEnabled=e}setRowDragCommittingRows(e){let t=this.rowDragCommittingRowIds,n=e&&e.length>0?new Set(e):null;if(!(t===n||t&&n&&t.size===n.size&&[...t].every(e=>n.has(e)))){if(t){let e=[...t].filter(e=>!n?.has(e));e.length>0&&this.setAsyncMutationLoading(e,!1)}if(this.rowDragCommittingRowIds=n,n){let e=[...n].filter(e=>!t?.has(e));e.length>0&&this.setAsyncMutationLoading(e,!0)}}}setAsyncMutationLoading(e,t){if(e.length!==0)for(let n of e){let e=this.asyncMutationLoadingCounts.get(n)??0,r=t?e+1:Math.max(0,e-1);r===0?(this.asyncMutationLoadingCounts.delete(n),e>0&&this.applyIndexLoadingVisual(n,!1)):(this.asyncMutationLoadingCounts.set(n,r),e===0&&t&&this.applyIndexLoadingVisual(n,!0))}}setEnableCellSpan(e){this.enableCellSpan=e;for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.setEnableCellSpan?.(e);this.spannedRowRenderer?.setEnableCellSpan(e)}setCellSpanService(e){this.cellSpanService=e,this.spannedRowRenderer?.setCellSpanService(e)}setRowAutoHeightService(e){this.rowAutoHeightService=e,this.spannedRowRenderer?.setRowAutoHeightService(e)}setDetailRowAutoHeightService(e){this.detailRowAutoHeightService=e,this.fullWidthRowRenderer?.setDetailRowAutoHeightService(e)}setInlineCellEditorContext(e){this.inlineCellEditor=e,this.spannedRowRenderer?.setInlineCellEditorContext(e)}setOverlayEditingTargetsResolver(e){this.resolveOverlayEditingTargets=e,this.spannedRowRenderer?.setOverlayEditingTargetsResolver(e)}setCellCommentHost(e){this.cellCommentHost=e}setGetCellDisableContext(e){this.getCellDisableContext=e}setGetCellStyleContext(e){this.getCellStyleContext=e}setDefaultRowHeight(e){this.rowHeight=Math.max(1,e)}setCompressedScroll(e){this.compressedScroll=e,this.spannedRowRenderer?.setCompressedScroll(e),this.fullWidthRowRenderer?.setCompressedScroll(e)}getScrollTop(){return this.scrollTop}isCompressedScroll(){return this.compressedScroll}setScrollActive(e){this.scrollActive=e}setScrollRenderBehavior(e){e.cellRendererDefer!==void 0&&(this.cellRendererDefer=e.cellRendererDefer),e.deferRowDestroyOnScroll!==void 0&&(this.deferRowDestroyOnScroll=e.deferRowDestroyOnScroll),e.cellRendererPresentation!==void 0&&(this.cellRendererPresentation=e.cellRendererPresentation)}promoteRendererPlaceholders(){let e=0;for(let t of this.rowPool.getActiveIds()){let n=this.rowPool.get(t);e+=n?.promoteRendererPlaceholders()??0}return e}flushDeferredDestroys(){if(this.pendingDestroyTasks.size===0)return;let e=[...this.pendingDestroyTasks.values()];if(this.pendingDestroyTasks.clear(),this.frameService&&!this.compressedScroll){for(let t of e)this.frameService.addDestroyTask(t);return}for(let t of e)t()}cancelPendingDestroy(e){this.pendingDestroyTasks.delete(e)}resetRowRenderWindowCache(){this.activeIndices.clear(),this.currentWindow={firstRow:0,lastRow:-1,firstCol:this.columnWindow.firstCol,lastCol:this.columnWindow.lastCol}}redraw(e,t,n,r=!1){this.scrollTop=e,this.columnWindow=n;let i={..._v({scrollTop:e,viewportHeight:t,rowBuffer:this.rowBuffer,rowHeight:this.rowHeight,rowModel:this.rowModel}),firstCol:n.firstCol,lastCol:n.lastCol};return Rv(this.currentWindow,i)&&!r?(this.scrollTop=e,this.columnWindow=n,this.currentWindow=i,this.syncVisibleRowLayout(),this.syncVisibleCellCommentIndicators(),this.refreshIndexColumnHighlight(),this.spannedRowRenderer?.redraw(e,i,n,!1),this.fullWidthRowRenderer?.redraw(e,i),this.loadMoreRowRenderer?.redraw(e,i),this.syncFullWidthContainerDisplay(),this.refreshCellRangeSelection(),i):(this.recycleRows(i,r),this.syncVisibleCellCommentIndicators(),this.refreshIndexColumnHighlight(),this.spannedRowRenderer?.redraw(e,i,n,r),this.fullWidthRowRenderer?.redraw(e,i),this.loadMoreRowRenderer?.redraw(e,i),this.syncFullWidthContainerDisplay(),this.refreshCellRangeSelection(),this.currentWindow=i,i)}getActiveRowCount(){return this.rowPool.getActiveCount()}getCurrentWindow(){return this.currentWindow}destroy(){this.rowPool.clear(),this.spannedRowRenderer?.destroy(),this.fullWidthRowRenderer?.destroy(),this.loadMoreRowRenderer?.destroy(),this.activeIndices.clear()}syncRowExpansionDisplay(e,t,n){this.scrollTop=e,this.columnWindow=n;let r={..._v({scrollTop:e,viewportHeight:t,rowBuffer:this.rowBuffer,rowHeight:this.rowHeight,rowModel:this.rowModel}),firstCol:n.firstCol,lastCol:n.lastCol};this.fullWidthRowRenderer?.redraw(e,r),this.loadMoreRowRenderer?.redraw(e,r),this.syncFullWidthContainerDisplay();let i=this.collectExpandColumnIds(),a={columnModel:this.columnModel,columnWindow:this.columnWindow,valueCacheVersion:this.valueCacheVersion,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,inlineEditor:this.inlineCellEditor,overlayEditingTargets:this.resolveOverlayEditingTargets()},o=t=>{let n=this.rowModel.getRow(t);if(!n||vo(n)||L(n)&&!this.embedFullWidthRows)return;let r=this.rowModel.getRowCount(),o=t+1<r?this.rowModel.getRow(t+1):void 0,s=this.compressedScroll?n.rowTop-e:n.rowTop,c=this.rowPool.get(n.id);if(c){c.syncRowLayout?.(n),c.setRowTop(s),c.setBeforeLoadMoreRow?.(o!=null&&vo(o)),c.syncRowExpansionDisplayChrome?.(i,a);return}this.updateRowAtIndex(t),this.rowPool.get(n.id)?.setRowTop(s)};if(r.lastRow>=r.firstRow)for(let e=r.firstRow;e<=r.lastRow;e++)o(e);for(let e of this.pinnedRowIds){let t=this.findRowIndexById(e);t>=0&&o(t)}return this.spannedRowRenderer?.syncVisibleRowLayouts(),this.refreshCellRangeSelection(),this.syncVisibleCellCommentIndicators(),this.refreshIndexColumnHighlight(),this.activeIndices=jy(r),this.currentWindow=r,this.pruneInactiveRowComps(r),r}pruneInactiveRowComps(e){let t=new Set;if(e.lastRow>=e.firstRow)for(let n=e.firstRow;n<=e.lastRow;n++){let e=this.rowModel.getRow(n);!e||vo(e)||L(e)&&!this.embedFullWidthRows||t.add(e.id)}for(let e of this.pinnedRowIds)t.add(e);for(let e of this.rowPool.getActiveIds())t.has(e)||(this.pendingDestroyTasks.delete(e),this.rowPool.release(e))}collectExpandColumnIds(){let e=[];for(let t of this.columnModel.getColumns())(A(t.colId)||t.rowExpand)&&e.push(t.colId);return e}invalidate(){this.frameService&&this.frameService.flushAllFrames(),this.pendingDestroyTasks.clear(),this.rowPool.clear(),this.spannedRowRenderer?.invalidate(),this.fullWidthRowRenderer?.invalidate(),this.loadMoreRowRenderer?.invalidate(),this.activeIndices.clear(),this.currentWindow={firstRow:0,lastRow:-1,firstCol:0,lastCol:-1}}setValueCacheVersion(e){this.valueCacheVersion=e,this.spannedRowRenderer?.setValueCacheVersion(e)}setPinnedRowIds(e){this.pinnedRowIds=new Set(e),this.fullWidthRowRenderer?.setPinnedRowIds(e)}setIsRowNodeSelectable(e){this.isRowNodeSelectable=e}refreshSelection(e,t=new Set){this.selectedRowIds=new Set(e),this.indeterminateRowIds=new Set(t);for(let n of this.rowPool.getActiveIds()){let r=this.rowPool.get(n);r?.setSelected?.(e.has(n),t.has(n)),this.syncRowSelectionDisabled(n,r)}this.spannedRowRenderer?.refreshSelection(e)}refreshDetailRows(e){for(let t of e){let e=F(t);this.fullWidthRowRenderer?.refreshDetailRowContent(e);let n=this.rowPool.get(e);n?.refreshCells&&n.refreshCells({columnModel:this.columnModel,columnWindow:this.columnWindow,valueCacheVersion:this.valueCacheVersion,force:!0})}}syncRowSelectionDisabled(e,t=this.rowPool.get(e)){let n=this.findRowIndexById(e),r=n>=0?this.rowModel.getRow(n):null,i=r?!this.isRowNodeSelectable(r):!1;t?.setSelectionDisabled?.(i)}refreshIndexFocus(e){this.indexFocusedRowIds=new Set(e);for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.setIndexFocused?.(e.has(t));this.spannedRowRenderer?.refreshIndexFocus(e)}setFocusedCell(e){this.focusedCell=e,this.refreshFocus()}refreshFocus(){let e=this.focusedCell;for(let t of this.rowPool.getActiveIds())this.rowPool.get(t)?.setFocusedColId?.(e?.rowId===t?e.colId:null);this.spannedRowRenderer?.setFocusedCell(e)}setCellRangeVisualState(e,t){this.cellRangeIsSelected=e,this.cellRangeAnchor=t,this.refreshCellRangeSelection()}setIndexColumnHighlight(e){this.indexColumnHighlightChecker=e,this.refreshIndexColumnHighlight()}refreshCellRangeSelection(){let e=this.cellRangeIsSelected,t=this.cellRangeAnchor;for(let n of this.rowPool.getActiveIds()){let r=this.findRowIndexById(n),i=this.rowPool.get(n);!i?.setCellRangeSelection||r<0||i.setCellRangeSelection(e?t=>e(r,t):()=>!1,t?.rowIndex===r?t.colId:null,e??void 0)}this.spannedRowRenderer?.setCellRangeVisualState(e,t)}refreshIndexColumnHighlight(){let e=this.indexColumnHighlightChecker;for(let t of this.rowPool.getActiveIds()){let n=this.findRowIndexById(t),r=this.rowPool.get(t);!r?.setIndexColumnRangeHighlight||n<0||r.setIndexColumnRangeHighlight(e?e(n):!1)}}playCellRangeCopyFlash(){let e=this.cellRangeIsSelected;if(e){for(let t of this.rowPool.getActiveIds()){let n=this.findRowIndexById(t),r=this.rowPool.get(t);!r?.flashCellRangeSelection||n<0||r.flashCellRangeSelection(t=>e(n,t),e)}this.spannedRowRenderer?.playCellRangeCopyFlash()}}playCellRangePasteFlash(e){if(e.length===0)return;let t=new Map;for(let n of e){let e=t.get(n.rowIndex);e?e.push(n):t.set(n.rowIndex,[n])}for(let e of this.rowPool.getActiveIds()){let n=this.findRowIndexById(e),r=this.rowPool.get(e),i=t.get(n);!r?.flashCellRangePaste||!i?.length||n<0||r.flashCellRangePaste(i)}this.spannedRowRenderer?.playCellRangePasteFlash(e)}syncColumnLayouts(){for(let e of this.rowPool.getActiveIds())this.rowPool.get(e)?.syncColumnLayouts?.();this.spannedRowRenderer?.syncColumnLayouts(),this.fullWidthRowRenderer?.syncColumnLayouts(),this.loadMoreRowRenderer?.syncColumnLayouts()}refreshLoadMoreRowContent(){this.loadMoreRowRenderer?.refreshLoadMoreRowContent(),this.syncFullWidthContainerDisplay()}refreshVisibleColumnStructure(e){this.columnWindow=e;let t={columnStructureChanged:!0};for(let e of this.activeIndices)this.updateRowAtIndex(e,t);for(let e of this.pinnedRowIds){let n=this.findRowIndexById(e);n>=0&&!this.activeIndices.has(n)&&this.updateRowAtIndex(n,t)}this.spannedRowRenderer?.refreshVisibleColumnStructure(e),this.refreshCellRangeSelection(),this.syncVisibleCellCommentIndicators(),this.refreshIndexColumnHighlight()}migrateRowId(e,t){if(e===t)return;this.rowPool.migrateId(e,t);let n=this.rowPool.get(t);n&&(n.getElement().dataset.rowId=t),this.selectedRowIds.has(e)&&(this.selectedRowIds.delete(e),this.selectedRowIds.add(t)),this.indexFocusedRowIds.has(e)&&(this.indexFocusedRowIds.delete(e),this.indexFocusedRowIds.add(t)),this.focusedCell?.rowId===e&&(this.focusedCell={rowId:t,colId:this.focusedCell.colId}),this.pinnedRowIds.has(e)&&(this.pinnedRowIds.delete(e),this.pinnedRowIds.add(t)),this.spannedRowRenderer?.migrateRowId(e,t)}releaseRow(e){this.pendingDestroyTasks.delete(e),this.rowPool.release(e)}releaseRows(e){for(let t of e)this.releaseRow(t)}releaseRowsExcept(e){for(let t of this.rowPool.getActiveIds())e.has(t)||this.releaseRow(t)}reconcileRowPoolAfterModelChange(e,t){if(t){this.invalidate();return}this.releaseRowsExcept(e)}refreshRows(e){let t=e.rowIds?new Set(e.rowIds):null,{firstRow:n,lastRow:r}=this.currentWindow;if(r<n)return 0;let i=0;for(let a=n;a<=r;a++){let n=this.rowModel.getRow(a);if(!n||t&&!t.has(n.id))continue;let r=this.rowPool.get(n.id);r?.refreshCells&&(i+=r.refreshCells({columnModel:this.columnModel,columnWindow:this.columnWindow,valueCacheVersion:this.valueCacheVersion,colIds:e.colIds,force:e.force,newData:e.newData,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,inlineEditor:this.inlineCellEditor,overlayEditingTargets:this.resolveOverlayEditingTargets()}))}return i+=this.spannedRowRenderer?.refreshRows(e)??0,this.syncVisibleCellCommentIndicators({rowIds:e.rowIds,colIds:e.colIds}),i}syncVisibleCellCommentIndicators(e){if(!this.cellCommentHost?.active())return;let t=e?.rowIds?new Set(e.rowIds):null,n=e?.colIds?new Set(e.colIds):null,{firstRow:r,lastRow:i}=this.currentWindow;if(!(i<r)){for(let e=r;e<=i;e++){let r=this.rowModel.getRow(e);r&&(t&&!t.has(r.id)||this.rowPool.get(r.id)?.syncCellCommentIndicators?.(n))}for(let e of this.pinnedRowIds)t&&!t.has(e)||this.rowPool.get(e)?.syncCellCommentIndicators?.(n)}}syncVisibleRowLayouts(e){let t=e?new Set(e):null,n=e=>{let n=this.rowModel.getRow(e);if(!n||t&&!t.has(n.id))return;let r=this.rowPool.get(n.id);if(!r){this.updateRowAtIndex(e);return}r.syncRowLayout?.(n),r.setRowTop(this.compressedScroll?n.rowTop-this.scrollTop:n.rowTop)};for(let e of this.activeIndices)n(e);for(let e of this.pinnedRowIds){if(t&&!t.has(e))continue;let r=this.findRowIndexById(e);r>=0&&n(r)}this.spannedRowRenderer?.syncVisibleRowLayouts(e),this.fullWidthRowRenderer?.syncVisibleRowLayouts(e),this.loadMoreRowRenderer?.syncVisibleRowLayouts(),t||this.syncVisibleRowDomOrder()}syncVisibleRowDomOrder(){let{firstRow:e,lastRow:t}=this.currentWindow;if(!(t<e))for(let n=e;n<=t;n++){let e=this.rowModel.getRow(n),t=e?this.rowPool.get(e.id):void 0;t&&this.rowsContainer.appendChild(t.getElement())}}syncFullWidthContainerDisplay(){if(!this.fullWidthRowsContainerEl)return;let e=this.fullWidthRowsContainerEl.querySelector(`.mg-full-width-row`)!=null;this.fullWidthRowsContainerEl.style.display=e?``:`none`}recycleRows(e,t){let n=Lv(this.activeIndices,e);if(t)for(let e of this.activeIndices)n.toUpdate.includes(e)||n.toUpdate.push(e);for(let e of n.toDestroy){let t=this.rowModel.getRow(e);if(!t||!this.rowPool.get(t.id)||this.pinnedRowIds.has(t.id))continue;let n=t.id,r=()=>{this.rowPool.release(n)};this.frameService&&!this.compressedScroll?this.deferRowDestroyOnScroll&&this.scrollActive?this.pendingDestroyTasks.set(n,r):this.frameService.addDestroyTask(r):r()}for(let e of n.toUpdate)this.updateRowAtIndex(e,t?{columnStructureChanged:!0}:void 0);for(let e of n.toCreate){let n=t?{columnStructureChanged:!0}:void 0;this.frameService&&!this.compressedScroll?this.frameService.createTask(()=>{this.updateRowAtIndex(e,n)},e,`p1`):this.updateRowAtIndex(e,n)}this.activeIndices=jy(e);for(let e of this.pinnedRowIds){let r=this.findRowIndexById(e);r>=0&&(this.activeIndices.add(r),!n.toUpdate.includes(r)&&!n.toCreate.includes(r)&&this.updateRowAtIndex(r,t?{columnStructureChanged:!0}:void 0))}this.pruneInactiveRowComps(e)}syncVisibleRowLayout(){let{firstRow:e,lastRow:t}=this.currentWindow;if(!(t<e)){for(let n=e;n<=t;n++)this.projectRowVisualsAtIndex(n);for(let e of this.pinnedRowIds){let t=this.findRowIndexById(e);t>=0&&this.projectRowVisualsAtIndex(t)}}}updateRowAtIndex(e,t){let n=this.rowModel.getRow(e);if(!n||L(n)&&!this.embedFullWidthRows||vo(n))return;this.cancelPendingDestroy(n.id);let r=this.rowPool.acquire(n.id,()=>this.rowCompFactory.create()),i=this.rowModel.getRowCount(),a=e+1<i?this.rowModel.getRow(e+1):void 0;r.setData(n,this.columnModel,this.columnWindow,this.valueCacheVersion,i>0&&e===i-1,{...t,overlayEditingTargets:this.resolveOverlayEditingTargets()}),r.setBeforeLoadMoreRow?.(a!=null&&vo(a)),this.projectRowVisualsAtIndex(e,r,n)}projectRowVisualsAtIndex(e,t=this.rowPool.get(this.rowModel.getRow(e)?.id??``),n=this.rowModel.getRow(e)){n&&(t||=(this.updateRowAtIndex(e),this.rowPool.get(n.id)),t&&(L(n)&&!this.embedFullWidthRows||vo(n)||(t.setRowTop(this.compressedScroll?n.rowTop-this.scrollTop:n.rowTop),t.setSelected?.(this.selectedRowIds.has(n.id)),t.setSelectionDisabled?.(!this.isRowNodeSelectable(n)),t.setIndexFocused?.(this.indexFocusedRowIds.has(n.id)),t.setIndexColumnRangeHighlight?.(this.indexColumnHighlightChecker?.(e)??!1),t.setFocusedColId?.(this.focusedCell?.rowId===n.id?this.focusedCell.colId:null))))}findRowIndexById(e){let{firstRow:t,lastRow:n}=this.currentWindow;if(n<t)return-1;for(let r=t;r<=n;r++)if(this.rowModel.getRow(r)?.id===e)return r;for(let t=0;t<this.rowModel.getRowCount();t++)if(this.rowModel.getRow(t)?.id===e)return t;return-1}isAsyncMutationLoadingRowAt(e){return(this.asyncMutationLoadingCounts.get(e)??0)>0}applyIndexLoadingVisual(e,t){if(this.rowPool.get(e)?.setIndexLoadingVisual?.(t),this.rowsContainer.querySelectorAll(`.mg-row[data-row-id="${CSS.escape(e)}"] .mg-cell--index`).forEach(e=>{e instanceof HTMLElement&&Vv(e,t)}),!t){let t=this.indexFocusedRowIds.has(e);this.rowPool.get(e)?.setIndexFocused?.(t)}}};function jy(e){let t=new Set;if(e.lastRow<e.firstRow)return t;for(let n=e.firstRow;n<=e.lastRow;n++)t.add(n);return t}var My=class{scrollTop=0;nextScrollTop=0;notifyScroll(e){this.nextScrollTop=e}isScrollGoingDown(){return this.nextScrollTop>=this.scrollTop}scrollGridIfNeeded(e){return this.scrollTop!==this.nextScrollTop&&(this.scrollTop=this.nextScrollTop,e(this.scrollTop),!0)}syncScrollTop(e){this.scrollTop=e,this.nextScrollTop=e}getScrollTop(){return this.scrollTop}getNextScrollTop(){return this.nextScrollTop}},Ny=class{version=0;getVersion(){return this.version}bump(){this.version++}reset(){this.version=0}};function Py(e={}){return{navigateHeader:e.navigateHeader??!1,navigateFooter:e.navigateFooter??!1}}function Fy(e,t,n){if(t.size===0)return e.slice();let r=[];for(let i of e)te(i)&&(r.push(i),t.has(i.id)&&r.push(n(i)));return r}function Iy(e,t,n,r){if(r?.force)delete e.__detailRowData,delete e.__detailLoadError,e.__detailLoading=!1;else if(e.__detailLoading||e.__detailRowData!==void 0)return;let i=(e.__detailLoadId??0)+1;e.__detailLoadId=i,e.__detailLoading=!0,delete e.__detailLoadError,n.onLoading();let a=!1,o=t=>{a||(a=!0,e.__detailLoadId===i&&(t(),n.onSettled()))},s={rowId:e.id,data:e.data,successCallback:t=>{o(()=>{e.__detailRowData=t,e.__detailLoading=!1})},failCallback:t=>{o(()=>{e.__detailLoading=!1,e.__detailLoadError=t??!0})}};try{let e=t(s);Ly(e)&&e.catch(e=>{s.failCallback?.(e)})}catch(e){s.failCallback?.(e)}}function Ly(e){return typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`}function Ry(e){let t=e.style.height,n=e.style.minHeight,r=e.style.overflow;e.style.height=`auto`,e.style.minHeight=`0`,e.style.overflow=`visible`;let i=e.scrollHeight;return e.style.height=t,e.style.minHeight=n,e.style.overflow=r,Math.ceil(i)}var zy=1,By=5,Vy=class{deps;debounceTimer=null;pendingHeights=new Map;contentCleanups=new Map;constructor(e){this.deps=e}setupContentObserver(e,t){if(!this.deps.isEnabled())return;this.teardownContentObserver(e);let n=(r=0)=>{let i=this.deps.getRowById(e);if(!i||!L(i))return;let a=Ry(t);if(a<=0&&r<By){window.setTimeout(()=>n(r+1),0);return}a>0&&this.queueMeasuredHeight(e,a,i)};n();let r=typeof ResizeObserver<`u`?new ResizeObserver(()=>{n()}):null;r?.observe(t),this.contentCleanups.set(e,()=>{r?.disconnect()})}teardownContentObserver(e){this.contentCleanups.get(e)?.(),this.contentCleanups.delete(e)}destroy(){this.debounceTimer!=null&&(clearTimeout(this.debounceTimer),this.debounceTimer=null);for(let e of this.contentCleanups.values())e();this.contentCleanups.clear(),this.pendingHeights.clear()}queueMeasuredHeight(e,t,n){let r=this.deps.getMinDetailRowHeight(n),i=Math.max(r,t);n.rowHeight===i&&!n.estimated||(this.pendingHeights.set(e,i),this.scheduleApply())}scheduleApply(){this.debounceTimer??=window.setTimeout(()=>{this.debounceTimer=null,this.flushPendingHeights()},zy)}flushPendingHeights(){if(this.pendingHeights.size!==0){for(let[e,t]of this.pendingHeights.entries()){let n=this.deps.getRowById(e);!n||n.rowHeight===t&&!n.estimated||this.deps.rowHeightService.setRowHeight(e,t,!0,`autoHeight`)}this.pendingHeights.clear()}}};function Hy(e,t){let n=ne(t.detailRowHeight,{rowId:e.id,data:e.data,masterRowId:e.id});return{id:F(e.id),data:e.data,rowKind:`DETAIL`,masterRowId:e.id,rowTop:0,rowHeight:n,estimated:t.detailRowAutoHeight,rowIndex:0,sourceIndex:-1}}var Uy=class{deps;expandedMasterIds=new Set;constructor(e){this.deps=e}get active(){return this.deps.getOptions().masterDetail}isExpanded(e){return this.expandedMasterIds.has(e)}getExpandedMasterIds(){return this.expandedMasterIds}getPinnedRowIds(){let e=[];for(let t of this.expandedMasterIds)e.push(t,F(t));return e}isRowMaster(e){return!this.active||L(e)?!1:this.deps.getOptions().isRowMaster({rowId:e.id,data:e.data,rowIndex:e.rowIndex})}expandRow(e,t){if(!this.active||this.expandedMasterIds.has(e))return!1;let n=this.findBaseMasterRow(e);return!n||!this.isRowMaster(n)?!1:(this.expandedMasterIds.add(e),this.ensureDetailRowData(e),this.emit(re(e,t)),!0)}collapseRow(e,t){return!this.active||!this.expandedMasterIds.has(e)?!1:(this.expandedMasterIds.delete(e),this.clearMasterDetailCache(e),this.emit(ie(e,t)),!0)}toggleRow(e,t){return this.isExpanded(e)?this.collapseRow(e,t):this.expandRow(e,t)}expandAll(e){if(this.active)for(let t of this.deps.getBaseDisplayRows())this.isRowMaster(t)&&this.expandRow(t.id,e)}collapseAll(e){if(this.active)for(let t of[...this.expandedMasterIds])this.collapseRow(t,e)}pruneExpanded(e){for(let t of[...this.expandedMasterIds])e.has(t)||(this.expandedMasterIds.delete(t),this.clearMasterDetailCache(t))}clearExpanded(){this.expandedMasterIds.clear()}applyDefaultExpanded(e){if(this.active&&this.deps.getOptions().masterDefaultExpanded!==0)for(let t of e)this.isRowMaster(t)&&(this.expandedMasterIds.add(t.id),this.ensureDetailRowData(t.id))}injectDetailRows(e){return!this.active||this.expandedMasterIds.size===0?e.slice():Fy(e,this.expandedMasterIds,e=>this.createDetailRowNode(e))}createDetailRowNode(e){let t=this.deps.getOptions();return Hy(e,{detailRowHeight:t.detailRowHeight,detailRowAutoHeight:t.detailRowAutoHeight})}setDetailRowData(e,t){if(!this.active)return!1;let n=this.findBaseMasterRow(e);return!n||!this.isRowMaster(n)?!1:(n.__detailRowData=t,delete n.__detailLoading,delete n.__detailLoadError,this.isExpanded(e)&&this.deps.onDetailDataChanged?.(e),!0)}reloadDetailRowData(e){if(!this.active)return!1;let t=this.deps.getOptions().getDetailRowData;if(!t)return!1;let n=this.findBaseMasterRow(e);return!n||!this.isRowMaster(n)?!1:(Iy(n,t,{onLoading:()=>this.deps.onDetailDataChanged?.(e),onSettled:()=>this.deps.onDetailDataChanged?.(e)},{force:!0}),!0)}findBaseMasterRow(e){return this.deps.getBaseDisplayRows().find(t=>t.id===e)}clearMasterDetailCache(e){let t=this.findBaseMasterRow(e);t&&(delete t.__detailRowData,delete t.__detailLoading,delete t.__detailLoadError,t.__detailLoadId=(t.__detailLoadId??0)+1)}ensureDetailRowData(e){let t=this.deps.getOptions().getDetailRowData;if(!t)return;let n=this.findBaseMasterRow(e);n&&Iy(n,t,{onLoading:()=>this.deps.onDetailDataChanged?.(e),onSettled:()=>this.deps.onDetailDataChanged?.(e)})}emit(e){this.deps.onExpansionChanged?.(e)}};function Wy(e=fo){return{id:uo,data:{},rowTop:0,rowHeight:e,estimated:!1,rowIndex:-1,sourceIndex:-1,rowKind:`LOAD_MORE`}}function Gy(e,t){return!t.enabled||e.length===0?e.slice():[...e,Wy(t.height)]}var Ky=class{deps;constructor(e){this.deps=e}injectTrailingRow(e){if(!this.deps.isClientSideRowModel())return e.slice();let t=this.deps.getOptions();return Gy(e,{enabled:t.enabled,height:t.height})}},qy=class{deps;expandedGroupIds=new Set;rowGroupColumns;constructor(e){this.deps=e,this.rowGroupColumns=[...e.getRowGroupColumnsFromDefs()]}get active(){return Me(this.deps.getOptions().rowGrouping,this.rowGroupColumns)}getExpandedGroupIds(){return this.expandedGroupIds}getRowGroupColumns(){return this.rowGroupColumns}syncRowGroupColumnsFromDefs(){this.rowGroupColumns=[...this.deps.getRowGroupColumnsFromDefs()]}setRowGroupColumns(e,t){this.deps.getOptions().rowGrouping&&(this.rowGroupColumns=[...e],this.clearExpanded(),this.emitGroupChanged(Ge(this.rowGroupColumns,t)))}isExpanded(e){return this.expandedGroupIds.has(e)}expandGroup(e,t){if(!this.active||this.expandedGroupIds.has(e))return;let n=Xl(this.deps.getGroupedTreeRoots(),e);n?.groupId&&(this.expandedGroupIds.add(e),this.emitGroupOpened(n,!0,t),this.deps.onGroupingStateChanged?.())}collapseGroup(e,t){if(!this.active||!this.expandedGroupIds.has(e))return;let n=Xl(this.deps.getGroupedTreeRoots(),e);this.expandedGroupIds.delete(e),n?.groupId&&this.emitGroupOpened(n,!1,t),this.deps.onGroupingStateChanged?.()}toggleGroup(e,t){if(this.isExpanded(e)){this.collapseGroup(e,t);return}this.expandGroup(e,t)}expandAll(e){if(this.active)for(let t of Yl(this.deps.getGroupedTreeRoots()))this.expandedGroupIds.has(t)||this.expandGroup(t,e)}collapseAll(e){if(this.active)for(let t of[...this.expandedGroupIds])this.collapseGroup(t,e)}clearExpanded(){this.expandedGroupIds.clear()}pruneExpanded(e){for(let t of[...this.expandedGroupIds])e.has(t)||this.expandedGroupIds.delete(t)}applyDefaultExpanded(e){if(!this.active)return;let t=this.deps.getOptions().groupDefaultExpanded;t!==0&&Jl(e,e=>{!Zl(e.groupLevel??0,t)||!e.groupId||this.expandedGroupIds.add(e.groupId)})}getLeafGroupPathKey(e){return!z(e)||Ve(e)||He(e)?null:e.leafGroupPathKey??null}getMapStageOptions(){return{expandedGroupIds:this.expandedGroupIds,showGroupHeader:this.deps.getOptions().showGroupHeader,showGroupFooter:this.deps.getOptions().showGroupFooter}}emitGroupOpened(e,t,n){this.deps.onGroupOpened?.(We({groupId:e.groupId,expanded:t,field:e.groupField??``,key:e.groupKey??``,level:e.groupLevel??0,source:n}))}emitGroupChanged(e){this.deps.onGroupChanged?.(e)}};function Jy(e,t){for(let n of e)t(n),Jy(Jr(n),t)}function Yy(e,t=e=>e.treeLeaf!==!0){let n=[];return Jy(e,e=>{t(e)&&n.push(e.id)}),n}function Xy(e,t){let n;return Jy(e,e=>{e.id===t&&(n=e)}),n}function Zy(e,t){return t===0?!1:t===-1||e<t}function Qy(e){let t=new Set;return Jy(e,e=>t.add(e.id)),t}var $y=class{deps;expandedRowIds=new Set;constructor(e){this.deps=e}get active(){let e=this.deps.getOptions();return rt(e.tree,e.getDataPath)}getExpandedRowIds(){return this.expandedRowIds}isExpanded(e){return this.expandedRowIds.has(e)}expandNode(e,t){if(!this.active||this.expandedRowIds.has(e))return;let n=Xy(this.deps.getTreeTreeRoots(),e);!n||!this.isNodeExpandable(n)||(this.expandedRowIds.add(e),this.emitNodeOpened(n,!0,t),this.deps.onTreeStateChanged?.())}collapseNode(e,t){if(!this.active||!this.expandedRowIds.has(e))return;this.deps.getLazyLoadHost?.()?.abortLoad(e);let n=Xy(this.deps.getTreeTreeRoots(),e);this.expandedRowIds.delete(e),n&&this.emitNodeOpened(n,!1,t),this.deps.onTreeStateChanged?.()}toggleNode(e,t){if(this.isExpanded(e)){this.collapseNode(e,t);return}this.expandNode(e,t)}async requestToggleNode(e,t){if(!this.active)return;if(this.isExpanded(e)){this.collapseNode(e,t);return}let n=Xy(this.deps.getTreeTreeRoots(),e);if(!n||!this.isNodeExpandable(n))return;let r=this.deps.getLazyLoadHost?.();if(r?.ensureChildrenLoaded){if(!await r.ensureChildrenLoaded(n,t))return;let i=Xy(this.deps.getTreeTreeRoots(),e)??n;if(!this.isNodeExpandable(i))return}this.expandNode(e,t)}isNodeExpandable(e){let t=this.deps.getLazyLoadHost?.();return t?t.isExpandable(e):e.treeLeaf!==!0}isNodeLoading(e){return this.deps.getLazyLoadHost?.()?.isLoading(e)??!1}expandAll(e){if(!this.active)return;let t=Yy(this.deps.getTreeTreeRoots(),e=>this.isNodeExpandable(e)),n=!1;for(let e of t){if(this.expandedRowIds.has(e))continue;let t=Xy(this.deps.getTreeTreeRoots(),e);!t||!this.isNodeExpandable(t)||(this.expandedRowIds.add(e),n=!0)}n&&this.deps.onTreeStateChanged?.()}collapseAll(){if(!this.active)return;let e=[...this.expandedRowIds];if(e.length===0)return;let t=this.deps.getLazyLoadHost?.();for(let n of e)t?.abortLoad(n),this.expandedRowIds.delete(n);this.deps.onTreeStateChanged?.()}isAllExpandableNodesExpanded(){if(!this.active)return!1;let e=Yy(this.deps.getTreeTreeRoots(),e=>this.isNodeExpandable(e));return e.length!==0&&e.every(e=>this.expandedRowIds.has(e))}clearExpanded(){this.expandedRowIds.clear()}pruneExpanded(e){for(let t of[...this.expandedRowIds])e.has(t)||this.expandedRowIds.delete(t)}applyDefaultExpanded(e){if(!this.active)return;let t=this.deps.getGroupDefaultExpanded();t!==0&&Jy(e,e=>{let n=e.treeLevel??0;e.treeLeaf!==!0&&Zy(n,t)&&this.expandedRowIds.add(e.id)})}getDataPathForRow(e){let t=Xy(this.deps.getTreeTreeRoots(),e);return t?.dataPath?[...t.dataPath]:void 0}getMapStageOptions(){let e=this.deps.getOptions();return{expandedRowIds:this.expandedRowIds,treeValueGetter:e.treeValueGetter}}getTreeDisplayValue(e){let t=this.deps.getOptions(),n=e.dataPath??[];return t.treeValueGetter?t.treeValueGetter({data:e.data,dataPath:n,treeLevel:e.treeLevel??0}):n[n.length-1]??``}prepareTreeTree(e){let t=Qy(e);this.pruneExpanded(t),this.deps.getLazyLoadHost?.()?.pruneLoaded(t)}applyDefaultExpandedToTree(e){this.applyDefaultExpanded(e)}expandForQuickFilterDisplay(e){if(this.active)for(let t of Yr(e))this.expandedRowIds.add(t)}emitNodeOpened(e,t,n){this.deps.onNodeOpened?.(ot(e.id,t,e.treeLevel??0,e.dataPath??[],n))}},eb=class{deps;loadedParentIds=new Set;emptyLeafParentIds=new Set;loadingParentIds=new Set;inflight=new Map;constructor(e){this.deps=e}get active(){let e=this.deps.getOptions();return e.treeLazyLoad===!0&&typeof e.loadTreeChildren==`function`}isLoading(e){return this.loadingParentIds.has(e)}isLoadedEmptyLeaf(e){return this.emptyLeafParentIds.has(e)}isLoadedParent(e){return this.loadedParentIds.has(e)}resolveExpandable(e){let t=e.childrenAfterTree;if(t&&t.length>0)return!0;if(this.emptyLeafParentIds.has(e.id))return!1;let n=this.deps.getOptions().hasTreeChildren;return n?n({data:e.data,dataPath:e.dataPath??[],treeLevel:e.treeLevel??0}):e.treeLeaf!==!0}isExpandable(e){return this.resolveExpandable(e)}needsLazyLoad(e){return!this.active||this.loadedParentIds.has(e.id)||this.emptyLeafParentIds.has(e.id)||e.childrenAfterTree&&e.childrenAfterTree.length>0?!1:this.resolveExpandable(e)}abortLoad(e){let t=this.inflight.get(e);t&&(t.controller.abort(),this.inflight.delete(e)),this.loadingParentIds.delete(e)}reset(){for(let e of this.inflight.values())e.controller.abort();this.inflight.clear(),this.loadedParentIds.clear(),this.emptyLeafParentIds.clear(),this.loadingParentIds.clear()}prune(e){for(let t of[...this.loadedParentIds])e.has(t)||this.loadedParentIds.delete(t);for(let t of[...this.emptyLeafParentIds])e.has(t)||this.emptyLeafParentIds.delete(t);for(let t of[...this.inflight.keys()])e.has(t)||this.abortLoad(t)}pruneLoaded(e){this.prune(e)}ensureChildrenLoaded(e,t=`ui`){if(!this.needsLazyLoad(e))return Promise.resolve(!0);let n=this.inflight.get(e.id);if(n)return n.promise;let r=new AbortController,i=this.runLoad(e,t,r);return this.inflight.set(e.id,{controller:r,promise:i}),i.finally(()=>{this.inflight.delete(e.id)})}async runLoad(e,t,n){let r=this.deps.getOptions().loadTreeChildren;if(!r)return!1;let i=e.id,a=e.dataPath??[],o=e.treeLevel??0;this.loadingParentIds.add(i),this.deps.onStateChanged?.(),this.deps.onLoading?.({parentRowId:i,dataPath:[...a],treeLevel:o,source:t});try{let s=await r({parentRowId:i,parentData:e.data,dataPath:[...a],treeLevel:o,signal:n.signal});if(n.signal.aborted)return!1;let c=tb(s);return c.length===0?(this.emptyLeafParentIds.add(i),this.deps.onLoaded?.({parentRowId:i,children:[],childCount:0,source:t}),!0):(nb({parentPath:a,children:c,rowKey:this.deps.rowKey,getDataPath:this.deps.getDataPath(),existingRowKeys:this.deps.getExistingRowKeys()}),this.deps.applyTransaction({add:c}),this.loadedParentIds.add(i),this.deps.onLoaded?.({parentRowId:i,children:c,childCount:c.length,source:t}),!0)}catch(e){if(n.signal.aborted)return!1;let t=e instanceof Error?e.message:String(e);return this.deps.onLoadFailed?.({parentRowId:i,reason:t,aborted:!1}),!1}finally{this.loadingParentIds.delete(i),this.deps.onStateChanged?.()}}};function tb(e){return e?[...e]:[]}function nb(e){let t=new Set(e.existingRowKeys);for(let n of e.children){let r=e.getDataPath({data:n});if(!rb(e.parentPath,r))throw Error(`[magic-grid] loadTreeChildren: child path [${r.join(`/`)}] must extend parent [${e.parentPath.join(`/`)}]`);let i=n[e.rowKey];if(i==null||i===``)throw Error(`[magic-grid] loadTreeChildren: child row is missing rowKey value.`);let a=String(i);if(t.has(a))throw Error(`[magic-grid] loadTreeChildren: duplicate rowKey "${a}".`);t.add(a)}}function rb(e,t){if(t.length!==e.length+1)return!1;for(let n=0;n<e.length;n++)if(t[n]!==e[n])return!1;return!0}var ib=!1;function ab(e){let t=e.tree===!0,n=e.rowGrouping===!0;return t?(n&&!ib&&(ib=!0,console.warn(`[magic-grid] tree and rowGrouping are mutually exclusive; rowGrouping ignored.`)),{mode:`tree`,rowGroupingIgnored:n}):n?{mode:`group`,rowGroupingIgnored:!1}:{mode:`flat`,rowGroupingIgnored:!1}}var ob=.2;function sb(e,t,n,r){if(e<t+40){let n=Math.min(1,(t+40-e)/40);return-(n*n*n)*r*ob}if(e>n-40){let t=Math.min(1,(e-(n-40))/40);return t*t*t*r*ob}return 0}function cb(e,t,n,r,i){let a=lb(e,n,r);if(a)return a;let o=t.getBoundingClientRect(),s=i()+(r-o.top),c=e.getRowIndexAtPixel(s),l=e.getRow(c);return l?{rowId:l.id,rowIndex:c}:null}function lb(e,t,n){let r=document.elementFromPoint(t,n)?.closest(`.mg-row`);if(!r)return null;let i=r.dataset.rowId;if(!i)return null;let a=e.getRowIndexById(i);return a<0?null:{rowId:i,rowIndex:a}}function ub(e,t,n){return sb(e,t,n,1)!==0}function db(e){return e===void 0?{}:{nestUnderRowId:e}}function fb(e){return typeof e==`string`?{nestUnderRowId:e}:{}}function pb(e,t){return e.dataPath??t({data:e.data})}function mb(e,t){let n=new Set;for(let r of e){let e=Il(pb(r,t));if(n.has(e))return!0;n.add(e)}return!1}function hb(e,t){if(t.length<e.length)return!1;for(let n=0;n<e.length;n+=1)if(t[n]!==e[n])return!1;return!0}function gb(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function _b(e,t,n){let r=e;for(;r;){if(r.id===t)return!0;let e=r.parentRowId;if(e==null)return!1;r=n(e)}return!1}function vb(e,t,n){let r=[];for(let i of n){let n=e.find(e=>e.id===i);n&&r.push(pb(n,t))}if(r.length===0)return[];let i=[],a=new Set;for(let n of e){let e=pb(n,t);r.some(t=>gb(e,t)||hb(t,e))&&!a.has(n.id)&&(a.add(n.id),i.push(n.id))}return i}function yb(e){let t=cb(e.rowModel,e.viewportEl,e.clientX,e.clientY,e.getLogicalScrollTop);if(!t||new Set(e.movingRowIds??[]).has(t.rowId))return null;let n=e.rowModel.getRowById(t.rowId);if(!n||!B(n))return null;if(e.altKey)return t.rowId;let r=e.viewportEl.querySelector(`.mg-row[data-row-id="${CSS.escape(t.rowId)}"]`)?.querySelector(`.mg-cell[data-col-id="${Ke}"], .mg-cell--tree-auto`);if(!r)return null;let i=Oh((n.treeLevel??0)+1,!1),a=r.getBoundingClientRect().left+i*16;return e.clientX>=a?t.rowId:null}function bb(e,t,n,r={}){if(`nestUnderRowId`in r&&r.nestUnderRowId!==void 0){let i=r.nestUnderRowId,a=Math.max(0,Math.min(t,e.length));if(i==null)return{newParentRowId:null,withinSiblingInsertIndex:yd(e,a,null,n)};if(n.has(i))return null;let o=e.find(e=>e.id===i);return!o||!B(o)?null:{newParentRowId:i,withinSiblingInsertIndex:yd(e,a,i,n)}}let i=Math.max(0,Math.min(t,e.length)),a=i<e.length?e[i]:void 0,o=i>0?e[i-1]:void 0;if(!a&&!o)return{newParentRowId:null,withinSiblingInsertIndex:0};let s=a??o;if(!s||!B(s))return null;let c=a?a.parentRowId??null:o.parentRowId??null;return{newParentRowId:c,withinSiblingInsertIndex:yd(e,i,c,n)}}function xb(e,t,n,r,i,a,o={}){for(let e of r){let t=n(e);if(!t||!B(t))return!1}let s=bb(t,i,new Set(vb(e,a,r)),o);if(!s)return!1;if(s.newParentRowId){let e=n(s.newParentRowId);if(!e||!B(e))return!1;for(let t of r)if(s.newParentRowId===t||_b(e,t,n))return!1}return!0}function Sb(e){let t=new Set(vb(e.sourceRows,e.getDataPath,e.rowIds));if(e.treeDragScope===`hierarchy`){let n=bb(e.displayRows,e.insertIndex,t,db(e.nestUnderRowId));if(!n)return null;let r=n.newParentRowId==null?void 0:e.sourceRows.find(e=>e.id===n.newParentRowId);return{parentRowId:n.newParentRowId,siblingIndex:n.withinSiblingInsertIndex,treeLevel:n.newParentRowId==null?0:(r?.treeLevel??0)+1}}let n=vd(e.sourceRows,e.rowIds);if(n===`mixed`||n===`missing`)return null;let r=n==null?void 0:e.sourceRows.find(e=>e.id===n);return{parentRowId:n,siblingIndex:yd(e.displayRows,e.insertIndex,n,t),treeLevel:n==null?0:(r?.treeLevel??0)+1}}function Cb(e,t,n){let r=pb(e[t],n),i=t;for(let a=t+1;a<e.length;a+=1){let t=pb(e[a],n);if(hb(r,t)&&!gb(r,t)){i=a;continue}break}return i}function wb(e,t,n,r){let i=[];for(let n=0;n<e.length;n+=1)(e[n].parentRowId??null)===t&&i.push(n);if(i.length===0){if(t==null)return 0;let n=e.findIndex(e=>e.id===t);return n<0?e.length:Cb(e,n,r)+1}if(n>=i.length){let t=i[i.length-1];return Cb(e,t,r)+1}return i[n]}function Tb(e,t,n){for(let r of e)if(gb(pb(r,n),t))return r.id}function Eb(e){return e.map(e=>({...e,data:{...e.data},dataPath:e.dataPath?[...e.dataPath]:void 0,childrenAfterTree:e.childrenAfterTree?[...e.childrenAfterTree]:void 0}))}function Db(e){let t=e.sourceRows.find(t=>t.id===e.rowId),n=e.sourceRows.find(t=>t.id===e.previousSiblingRowId);if(!t||!n||!B(t)||!B(n)||(t.parentRowId??null)!==(n.parentRowId??null))return null;let r=t=>pb(t,e.getDataPath),i=r(t),a=r(n),o=a[a.length-1];if(o==null)return null;let s=new Set(vb(e.sourceRows,e.getDataPath,[e.rowId])),c=new Set(vb(e.sourceRows,e.getDataPath,[e.previousSiblingRowId]));for(let e of s)if(c.has(e))return null;let l=Eb(e.sourceRows),u=e=>l.find(t=>t.id===e),d=t=>pb(t,e.getDataPath),f=[];for(let e of l){if(s.has(e.id))continue;let t=d(e);(gb(t,a)||hb(a,t))&&f.push({rowId:e.id,newPath:[...i,o,...t.slice(a.length)]})}f.sort((e,t)=>e.newPath.length-t.newPath.length);for(let t of f){let n=u(t.rowId);if(!n)return null;let r=d(n);e.setDataPath({data:n.data,dataPath:t.newPath,treeLevel:t.newPath.length-1,previousPath:[...r]}),n.dataPath=t.newPath,n.treeLevel=t.newPath.length-1,n.parentRowId=t.newPath.length>1?Tb(l,t.newPath.slice(0,-1),e.getDataPath):void 0}let p=l.filter(e=>s.has(e.id)),m=l.filter(e=>c.has(e.id)),h=l.filter(e=>!s.has(e.id)&&!c.has(e.id)),g=e.sourceRows.findIndex(t=>t.id===e.previousSiblingRowId),_=0;if(g>=0)for(let t=0;t<g;t+=1){let n=e.sourceRows[t].id;!s.has(n)&&!c.has(n)&&(_+=1)}let v=[...h.slice(0,_),...p,...m,...h.slice(_)];if(mb(v,e.getDataPath))return null;let y=[];for(let t of v){let n=e.sourceRows.findIndex(e=>e.id===t.id),r=v.findIndex(e=>e.id===t.id);n>=0&&r>=0&&n!==r&&y.push(gd(t.id,n,r))}return y.length===0&&f.length===0?null:{rows:v,moves:y}}function Ob(e){if(!xb(e.sourceRows,e.displayRows,t=>e.sourceRows.find(e=>e.id===t),e.rowIds,e.displayInsertIndex,e.getDataPath,db(e.nestUnderRowId)))return null;let t=vb(e.sourceRows,e.getDataPath,e.rowIds),n=new Set(t),r=vd(e.sourceRows,e.rowIds),i=bb(e.displayRows,e.displayInsertIndex,n,db(e.nestUnderRowId));if(!i||r===`mixed`||r===`missing`)return null;if((i.newParentRowId??null)===r&&t.length===e.rowIds.length)return Td({sourceRows:e.sourceRows,displayRows:e.displayRows,rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,parentRowId:r});let a=Eb(e.sourceRows),o=e=>a.find(t=>t.id===e),s=t=>pb(t,e.getDataPath),c=new Map,l=new Map;for(let t of e.rowIds){let e=o(t);if(!e)return null;let n=s(e);c.set(t,n);let r=e.parentRowId==null?[]:s(o(e.parentRowId)),a=n.slice(r.length),u=i.newParentRowId==null?[]:s(o(i.newParentRowId));l.set(t,[...u,...a])}let u=[...t].sort((e,t)=>{let n=o(e),r=o(t);return s(n).length-s(r).length});for(let t of u){let n=o(t);if(!n)return null;let r=s(n),i=e.rowIds.find(e=>{let t=c.get(e);return t?gb(r,t)||hb(t,r):!1});if(!i)return null;let u=c.get(i),d=l.get(i);if(!u||!d)return null;let f=[...d,...r.slice(u.length)];e.setDataPath({data:n.data,dataPath:f,treeLevel:f.length-1,previousPath:[...r]}),n.dataPath=f,n.treeLevel=f.length-1,n.parentRowId=f.length>1?Tb(a,f.slice(0,-1),e.getDataPath):void 0}let d=a.filter(e=>n.has(e.id)),f=a.filter(e=>!n.has(e.id)),p=wb(f,i.newParentRowId,i.withinSiblingInsertIndex,e.getDataPath),m=[...f.slice(0,p),...d,...f.slice(p)],h=[];for(let t of d){let n=e.sourceRows.findIndex(e=>e.id===t.id),r=m.findIndex(e=>e.id===t.id);n>=0&&r>=0&&n!==r&&h.push(gd(t.id,n,r))}let g=d.some(t=>{let n=e.sourceRows.find(e=>e.id===t.id);if(!n)return!1;let r=pb(n,e.getDataPath),i=s(t);return n.parentRowId!==t.parentRowId||!gb(r,i)});return h.length===0&&!g||mb(m,e.getDataPath)?null:{rows:m,moves:h}}function kb(e,t,n,r,i){let a=cb(e,t,n,r,i);return a?Ab(a,r,t,e,i):-1}function Ab(e,t,n,r,i){let a=r.getRowCount(),o=Mb(e,n,r,i),s=e.rowIndex;return o!=null&&t>o&&(s+=1),Math.max(0,Math.min(s,a))}function jb(e,t){return t<=0?0:Math.max(0,Math.min(e,t-1))}function Mb(e,t,n,r){let i=t.querySelector(`.mg-row[data-row-id="${CSS.escape(e.rowId)}"]`);if(i){let e=i.getBoundingClientRect();return e.top+e.height/2}let a=n.getRowBounds(e.rowIndex);return a?t.getBoundingClientRect().top+a.rowTop+a.rowHeight/2-r():null}function Nb(e){return e==null?null:String(e)}function Pb(e,t){return e==null&&t==null?!0:e==null||t==null?!1:e.parentRowId===t.parentRowId&&e.siblingIndex===t.siblingIndex&&e.treeLevel===t.treeLevel}function Fb(e,t){let n=[];for(let r of t){let i=K(e,r.id),a=K(t,r.id);a&&(Pb(i,a)||n.push({rowId:r.id,previousParentRowId:Nb(i?.parentRowId),previousSiblingIndex:i?.siblingIndex??0,parentRowId:Nb(a.parentRowId),siblingIndex:a.siblingIndex,treeLevel:a.treeLevel}))}return n}function Ib(e,t){let n=new Map;for(let r of t){let t=K(e,r);t&&n.set(r,t)}return n}function Lb(e,t,n){for(let r of e){let e=t.get(r);if(e===void 0)continue;let i=n.findIndex(e=>e.id===r);if(i>=0&&e!==i)return!0}return!1}function Rb(e,t,n){if(!t||t.size===0)return!1;for(let r of e)if(!Pb(t.get(r),K(n,r)))return!0;return!1}function zb(e,t,n,r,i){return r===i?e<0||jb(t,n)===e:!1}function Bb(e){return Lb(e.rowIds,e.startSourceIndices,e.sourceRows)||Rb(e.rowIds,e.startTreePositions,e.sourceRows)?!0:!e.dropAllowed||e.managed?!1:!zb(e.startDisplayIndex,e.dropInsertIndex,e.rowCount,e.nestUnderRowId,e.startNestUnderRowId)}function Vb(e){return e.fromIndex!==e.toIndex||!Pb(e.startTreePosition,e.currentTreePosition)}function Hb(e,t){let n=e[t];if(!n)return t;let r=n.treeLevel??0,i=t;for(let n=t+1;n<e.length&&!((e[n]?.treeLevel??0)<=r);n+=1)i=n;return i}function Ub(e,t){let n=e[t]?.treeLevel??0;for(let r=t-1;r>=0;--r)if((e[r]?.treeLevel??0)===n)return r;return-1}function Wb(e){let t=e.displayRows.findIndex(t=>t.id===e.rowId);if(t<0)return null;let n=e.displayRows[t];if(e.action===`promote`){let r=n.parentRowId;if(r==null){let n=Ub(e.displayRows,t);if(n<0)return null;let r=e.displayRows[n];return{kind:`wrapPreviousSibling`,movingRowId:e.rowId,previousSiblingRowId:r.id,displayInsertIndex:n}}let i=e.displayRows.findIndex(e=>e.id===r);if(i<0)return null;let a=e.displayRows[i];return{kind:`outdent`,movingRowId:e.rowId,nestUnderRowId:a.parentRowId??null,displayInsertIndex:Hb(e.displayRows,i)+1}}let r=Ub(e.displayRows,t);if(r<0)return null;let i=e.displayRows[r];return{kind:`outdent`,movingRowId:e.rowId,nestUnderRowId:i.id,displayInsertIndex:Hb(e.displayRows,r)+1}}function Gb(e){return xb(e.sourceRows,e.displayRows,e.getRowById,[e.move.movingRowId],e.move.displayInsertIndex,e.getDataPath,{nestUnderRowId:e.move.nestUnderRowId})}function Kb(e){let t=Wb({action:e.action,rowId:e.rowId,displayRows:e.displayRows});return t?t.kind===`wrapPreviousSibling`?Db({sourceRows:e.sourceRows,rowId:t.movingRowId,previousSiblingRowId:t.previousSiblingRowId,getDataPath:e.getDataPath,setDataPath:e.setDataPath??(()=>{})})!=null:Gb({sourceRows:e.sourceRows,displayRows:e.displayRows,getRowById:e.getRowById,getDataPath:e.getDataPath,move:t}):!1}function qb(e){return{promote:Kb({...e,action:`promote`}),demote:Kb({...e,action:`demote`})}}function Jb(e){let t=[];return e.promote&&t.push(`promote`),e.demote&&t.push(`demote`),t}function Yb(e,t,n){return{displayIndex:n,...K(e,t)??{}}}function Xb(e){let t=new Set([e.leaderRowId]);for(let n of e.moves)t.add(n.rowId);for(let n of e.hierarchyChanges??[])t.add(n.rowId);return[...t]}function Zb(e){let t=Wb({action:e.action,rowId:e.rowId,displayRows:e.displayRows});if(!t)return{ok:!1};let n=Qb(e);return n?{ok:!0,plan:{rowIds:[e.rowId],leaderRowId:e.rowId,rows:n.rows,moves:n.moves,displayIndex:t.displayInsertIndex,treeDrop:Yb(n.rows,e.rowId,t.displayInsertIndex),hierarchyChanges:Fb(e.sourceRows,n.rows)}}:{ok:!1}}function Qb(e){let t=Wb({action:e.action,rowId:e.rowId,displayRows:e.displayRows});return t?t.kind===`wrapPreviousSibling`?Db({sourceRows:e.sourceRows,rowId:t.movingRowId,previousSiblingRowId:t.previousSiblingRowId,getDataPath:e.getDataPath,setDataPath:e.setDataPath}):Ob({sourceRows:e.sourceRows,displayRows:e.displayRows,rowIds:[t.movingRowId],displayInsertIndex:t.displayInsertIndex,getDataPath:e.getDataPath,setDataPath:e.setDataPath,nestUnderRowId:t.nestUnderRowId}):null}function $b(e,t,n){return _d(e,t,n)??{displayIndex:n}}function ex(e,t,n,r,i){for(let a of t.moves)e(Pa(a.rowId,a.fromIndex,a.toIndex,r,i,$b(t.rows,a.rowId,n)))}function tx(e,t,n){let r=e.findIndex(e=>e.id===t);if(r<0)return null;let i=od(n,e.length);if(r===i)return null;let a=[...e],[o]=a.splice(r,1);return a.splice(i,0,o),{rows:a,fromIndex:r,toIndex:i}}function nx(e,t,n){let r=new Set(t),i=e.filter(e=>r.has(e.id));if(i.length===0||i.length!==t.length)return null;let a=new Map;for(let t=0;t<e.length;t++){let n=e[t];r.has(n.id)&&a.set(n.id,t)}let o=e.filter(e=>!r.has(e.id)),s=Math.max(0,Math.min(n,o.length)),c=[...o.slice(0,s),...i,...o.slice(s)],l=[];for(let e of i){let t=a.get(e.id),n=c.findIndex(t=>t.id===e.id);t==null||n<0||t===n||l.push(gd(e.id,t,n))}return l.length===0?null:{rows:c,moves:l}}var rx=class{deps;constructor(e){this.deps=e}rejectIfSortOrFilterActive(){return this.deps.isSortOrFilterActive()?{moved:!1,reason:ja}:null}commitPlan(e){if(this.deps.setSourceRows(e.rows),e.treeDisplayInsertIndex!=null){ex(this.deps.emitRowMoved,{rows:e.rows,moves:[...e.moves]},e.treeDisplayInsertIndex,e.source,e.finished);return}for(let t of e.moves)this.deps.emitRowMoved(Pa(t.rowId,t.fromIndex,t.toIndex,e.source,e.finished))}applyOrDefer(e,t,n){return t?{...n,commitPlan:e}:(this.commitPlan(e),n)}moveRow(e,t=`api`){let n=this.rejectIfSortOrFilterActive();if(n)return n;let r=e.indexMode??`source`,i=rd({sourceRows:this.deps.getSourceRows(),displayRows:this.deps.getDisplayRows(),sortModelLength:this.deps.getSortModelLength(),filterModelKeyCount:this.deps.getFilterModelKeyCount()}),a=this.deps.getSortModelLength()>0,o=sd(e.toIndex,r,i,a);if(o==null)return{moved:!1,reason:`invalid move target index`};let s=this.deps.getSourceRows(),c=s.findIndex(t=>t.id===e.rowId);if(c<0)return{moved:!1,reason:`row "${e.rowId}" not found`};let l=hd({active:this.deps.isRowGroupingActive?.()??!1,sourceRows:s,rowIds:[e.rowId],targetSourceIndex:o});if(!l.allowed)return{moved:!1,fromIndex:c,reason:l.reason};let u=xd({active:this.deps.isTreeActive?.()??!1,sourceRows:s,rowIds:[e.rowId],targetSourceIndex:o});if(!u.allowed)return{moved:!1,fromIndex:c,reason:u.reason};let d=cd(s,[e.rowId]);if(typeof d==`string`&&(this.deps.isRowGroupingActive?.()??!1)){if(r===`display`)return this.finishGroupedDisplayMove(s,[e.rowId],e.rowId,e.toIndex,d,t,e.finished??!0,c,e.deferCommit);let n=tx(s,e.rowId,o);if(!n)return{moved:!1,fromIndex:c,toIndex:c};let i=e.finished??!0,a=gd(e.rowId,n.fromIndex,n.toIndex);return this.applyOrDefer({rows:n.rows,moves:[a],source:t,finished:i},e.deferCommit,{moved:!0,fromIndex:n.fromIndex,toIndex:n.toIndex,moves:[a]})}let f=vd(s,[e.rowId]);if((typeof f==`string`||f===null)&&this.deps.isTreeActive?.()){if(r===`display`)return this.finishTreeDisplayMove(s,[e.rowId],e.rowId,e.toIndex,f,t,e.finished??!0,c,e.deferCommit);let n=bd(s,[e.rowId],o,f),i=wd({sourceRows:s,rowIds:[e.rowId],withinSiblingInsertIndex:n,parentRowId:f});if(!i)return{moved:!1,fromIndex:c,toIndex:c};let a=e.finished??!0,l=i.moves[0]??gd(e.rowId,c,c);return this.applyOrDefer({rows:i.rows,moves:i.moves,source:t,finished:a},e.deferCommit,{moved:!0,fromIndex:l.fromIndex,toIndex:l.toIndex,moves:i.moves})}let p=tx(s,e.rowId,o);if(!p)return{moved:!1,fromIndex:c,toIndex:c};let m=e.finished??!0,h=gd(e.rowId,p.fromIndex,p.toIndex);return this.applyOrDefer({rows:p.rows,moves:[h],source:t,finished:m},e.deferCommit,{moved:!0,fromIndex:p.fromIndex,toIndex:p.toIndex,moves:[h]})}moveRows(e,t=`api`){if(e.rowIds.length===0)return{moved:!1,reason:`no rows to move`};let n=this.rejectIfSortOrFilterActive();if(n)return n;if((this.deps.isRowGroupingActive?.()??!1)&&e.displayInsertIndex!=null)return this.moveRowsByGroupedDisplayInsert(e,t);if((this.deps.isTreeActive?.()??!1)&&e.displayInsertIndex!=null)return this.moveRowsByTreeDisplayInsert(e,t);if(e.rowIds.length===1)return this.moveRow({rowId:e.rowIds[0],toIndex:e.toIndex,indexMode:e.indexMode,finished:e.finished,deferCommit:e.deferCommit},t);let r=e.indexMode??`source`,i=rd({sourceRows:this.deps.getSourceRows(),displayRows:this.deps.getDisplayRows(),sortModelLength:this.deps.getSortModelLength(),filterModelKeyCount:this.deps.getFilterModelKeyCount()}),a=this.deps.getSortModelLength()>0,o=sd(e.toIndex,r,i,a);if(o==null)return{moved:!1,reason:`invalid move target index`};let s=this.deps.getSourceRows(),c=Ru(s.length,e.rowIds,e.leaderRowId,o),l=hd({active:this.deps.isRowGroupingActive?.()??!1,sourceRows:s,rowIds:e.rowIds,targetSourceIndex:c});if(!l.allowed)return{moved:!1,reason:l.reason};let u=xd({active:this.deps.isTreeActive?.()??!1,sourceRows:s,rowIds:e.rowIds,targetSourceIndex:c});if(!u.allowed)return{moved:!1,reason:u.reason};let d=vd(s,e.rowIds);if((typeof d==`string`||d===null)&&(this.deps.isTreeActive?.()??!1)){let n=bd(s,e.rowIds,c,d),r=wd({sourceRows:s,rowIds:e.rowIds,withinSiblingInsertIndex:n,parentRowId:d});if(!r)return{moved:!1,moves:[]};let i=e.finished??!0,a=r.moves.find(t=>t.rowId===e.leaderRowId);return this.applyOrDefer({rows:r.rows,moves:r.moves,source:t,finished:i},e.deferCommit,{moved:!0,fromIndex:a?.fromIndex,toIndex:a?.toIndex,moves:r.moves})}let f=nx(s,e.rowIds,c);if(!f)return{moved:!1,moves:[]};let p=e.finished??!0,m=f.moves.find(t=>t.rowId===e.leaderRowId);return this.applyOrDefer({rows:f.rows,moves:f.moves,source:t,finished:p},e.deferCommit,{moved:!0,fromIndex:m?.fromIndex,toIndex:m?.toIndex,moves:f.moves})}moveRowsByGroupedDisplayInsert(e,t){let n=this.deps.getSourceRows(),r=cd(n,e.rowIds);if(r===`mixed`)return{moved:!1,reason:`selected rows must belong to the same group`};if(r===`missing`)return{moved:!1,reason:`cannot move non-leaf rows while row grouping is active`};if(r===null)return{moved:!1,reason:`group path missing on source rows`};let i=fd({sourceRows:n,displayRows:this.deps.getDisplayRows(),rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,groupPath:r});if(!i)return{moved:!1,moves:[]};let a=e.finished??!0,o=i.moves.find(t=>t.rowId===e.leaderRowId);return this.applyOrDefer({rows:i.rows,moves:i.moves,source:t,finished:a,treeDisplayInsertIndex:e.displayInsertIndex},e.deferCommit,{moved:!0,fromIndex:o?.fromIndex,toIndex:o?.toIndex,moves:i.moves})}finishGroupedDisplayMove(e,t,n,r,i,a,o,s,c){let l=this.deps.getDisplayRows(),u=l.findIndex(e=>e.id===n),d=od(r,l.length),f=fd({sourceRows:e,displayRows:l,rowIds:t,displayInsertIndex:u>=0&&u<d?d+1:d,groupPath:i});if(!f)return{moved:!1,fromIndex:s,toIndex:s};let p=f.moves,m=p.find(e=>e.rowId===n);return this.applyOrDefer({rows:f.rows,moves:p,source:a,finished:o},c,{moved:!0,fromIndex:m?.fromIndex??s,toIndex:m?.toIndex??s,moves:p})}moveRowsByTreeDisplayInsert(e,t){let n=this.deps.getSourceRows(),r=vd(n,e.rowIds);if(r===`mixed`)return{moved:!1,reason:`selected rows must belong to the same tree parent`};if(r===`missing`)return{moved:!1,reason:`cannot move non-tree rows while tree mode is active`};if(this.deps.getTreeDragScope?.()===`hierarchy`){let r=this.deps.getDataPath?.(),i=this.deps.setDataPath?.();if(!r||!i)return{moved:!1,reason:`hierarchy tree drag requires getDataPath and setDataPath`};let a=Ob({sourceRows:n,displayRows:this.deps.getDisplayRows(),rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,getDataPath:r,setDataPath:i,nestUnderRowId:e.treeNestUnderRowId});if(!a)return{moved:!1,moves:[]};let o=e.finished??!0,s=a.moves.find(t=>t.rowId===e.leaderRowId);return this.applyOrDefer({rows:a.rows,moves:a.moves,source:t,finished:o,treeDisplayInsertIndex:e.displayInsertIndex},e.deferCommit,{moved:!0,fromIndex:s?.fromIndex,toIndex:s?.toIndex,moves:a.moves})}let i=Td({sourceRows:n,displayRows:this.deps.getDisplayRows(),rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,parentRowId:r});if(!i)return{moved:!1,moves:[]};let a=e.finished??!0,o=i.moves.find(t=>t.rowId===e.leaderRowId);return this.applyOrDefer({rows:i.rows,moves:i.moves,source:t,finished:a,treeDisplayInsertIndex:e.displayInsertIndex},e.deferCommit,{moved:!0,fromIndex:o?.fromIndex,toIndex:o?.toIndex,moves:i.moves})}finishTreeDisplayMove(e,t,n,r,i,a,o,s,c){let l=this.deps.getDisplayRows(),u=l.findIndex(e=>e.id===n),d=od(r,l.length),f=Td({sourceRows:e,displayRows:l,rowIds:t,displayInsertIndex:u>=0&&u<d?d+1:d,parentRowId:i});if(!f)return{moved:!1,fromIndex:s,toIndex:s};let p=f.moves,m=p.find(e=>e.rowId===n);return this.applyOrDefer({rows:f.rows,moves:p,source:a,finished:o},c,{moved:!0,fromIndex:m?.fromIndex??s,toIndex:m?.toIndex??s,moves:p})}};function ix(e,t,n){return{displayIndex:n,...K(e,t)??{}}}function ax(e,t,n){let r=e.isTreeActive?Fb(e.sourceRows,t.rows):void 0;if(t.moves.length===0&&(r?.length??0)===0)return{ok:!1,reason:`no row order or hierarchy change`};let i=n??e.leaderRowId;return{ok:!0,plan:{rowIds:[...e.rowIds],leaderRowId:e.leaderRowId,rows:t.rows,moves:t.moves,displayIndex:e.displayInsertIndex,treeDrop:e.isTreeActive?ix(t.rows,i,e.displayInsertIndex):{displayIndex:e.displayInsertIndex},hierarchyChanges:r}}}function ox(e){let t=cd(e.sourceRows,e.rowIds);if(t===`mixed`)return{ok:!1,reason:`selected rows must belong to the same group`};if(t===`missing`)return{ok:!1,reason:`cannot move non-leaf rows while row grouping is active`};if(t===null)return{ok:!1,reason:`group path missing on source rows`};let n=fd({sourceRows:e.sourceRows,displayRows:e.displayRows,rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,groupPath:t});return n?ax(e,n):{ok:!1,reason:`invalid grouped display drop`}}function sx(e){let t=vd(e.sourceRows,e.rowIds);if(t===`mixed`)return{ok:!1,reason:`selected rows must belong to the same tree parent`};if(t===`missing`)return{ok:!1,reason:`cannot move non-tree rows while tree mode is active`};if(e.treeDragScope===`hierarchy`){let t=e.getDataPath,n=e.setDataPath;if(!t||!n)return{ok:!1,reason:`hierarchy tree drag requires getDataPath and setDataPath`};let r=Ob({sourceRows:e.sourceRows,displayRows:e.displayRows,rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,getDataPath:t,setDataPath:n,nestUnderRowId:e.treeNestUnderRowId});return r?ax(e,r):{ok:!1,reason:`invalid tree hierarchy display drop`}}let n=Td({sourceRows:e.sourceRows,displayRows:e.displayRows,rowIds:e.rowIds,displayInsertIndex:e.displayInsertIndex,parentRowId:t});return n?ax(e,n):{ok:!1,reason:`invalid tree sibling display drop`}}function cx(e){let t=e.displayRows.length,n=jb(e.displayInsertIndex,t),r=e.displayRows.findIndex(t=>t.id===e.leaderRowId);if(r>=0&&n===r)return{ok:!1,reason:`no row order change`};let i=e.sortModelLength>0,a=rd({sourceRows:e.sourceRows,displayRows:e.displayRows,sortModelLength:e.sortModelLength,filterModelKeyCount:e.filterModelKeyCount}),o=sd(n,a.hasSortOrFilter&&!i?`display`:`source`,a,i);if(o==null)return{ok:!1,reason:`display index mode is not allowed while sort is active`};if(e.rowIds.length===1){let t=tx(e.sourceRows,e.rowIds[0],o);return t?ax(e,{rows:t.rows,moves:[gd(e.rowIds[0],t.fromIndex,t.toIndex)]}):{ok:!1,reason:`no row order change`}}let s=Ru(e.sourceRows.length,e.rowIds,e.leaderRowId,o),c=nx(e.sourceRows,e.rowIds,s);return c?ax(e,c):{ok:!1,reason:`no row order change`}}function lx(e){return e.rowIds.length===0?{ok:!1,reason:`no rows to move`}:e.displayInsertIndex<0?{ok:!1,reason:`invalid display insert index`}:e.isRowGroupingActive?ox(e):e.isTreeActive?sx(e):cx(e)}var ux=class{deps;phase=`idle`;nextCommitId=0;commitController=null;committingTarget=null;constructor(e){this.deps=e}isCommitting(){return this.phase===`committing`}getCommittingTarget(){return this.committingTarget}abort(){this.commitController?.abort(),this.commitController=null,this.phase=`idle`,this.setCommitVisual(null)}destroy(){this.abort()}async commit(t){let n=this.deps.persistMove();if(!n){this.deps.emitFinished(La({commitId:-1,leaderRowId:t.plan.leaderRowId,committed:!1,reason:`asyncRowMutation.move is required for deferred row drag commit`}));return}let r=++this.nextCommitId,i=e.s(r,this.commitController);this.commitController=i,this.phase=`committing`,this.setCommitVisual({rowIds:t.rowIds}),this.deps.emitStarted(Ia({rowIds:t.rowIds,leaderRowId:t.plan.leaderRowId,displayIndex:t.plan.displayIndex,treeDrop:t.plan.treeDrop}));let a={ok:!1};try{if(a=await n(Ra(t.plan,t.nestUnderRowId,i.context)),i.context.commitId!==r)return}catch(t){if(e.c(t))a={ok:!1,aborted:!0};else throw t}finally{this.commitController===i&&(this.commitController=null),this.phase=`idle`,this.setCommitVisual(null)}i.context.commitId===r&&(this.deps.emitFinished(La({commitId:r,leaderRowId:t.plan.leaderRowId,committed:a.ok,aborted:a.ok?void 0:a.aborted,reason:a.ok?void 0:a.reason})),a.ok&&(this.deps.applyPlan(t.plan),this.deps.emitRowDragEnd(Fa(t.plan.leaderRowId,t.plan.displayIndex,!0,t.rowIds,t.treeContext))))}setCommitVisual(e){this.committingTarget=e,this.deps.setCommittingVisual(e)}};function dx(e,n){return e.remove?.length?e.remove.map(e=>{if(typeof e==`string`)return e;let r=e[n];if(r==null)throw new t.p(`Missing rowKey "${n}" in remove item`);return String(r)}):[]}function fx(e,t,n,r){let i=e[t];return i==null?r?.find(t=>t.data===e&&t.isTransient):n(String(i))}function px(e,t,n){return!e.add?.length||!n?.rows?.length?e:{...e,add:e.add.map((e,r)=>{let i=n.rows?.[r];if(!i)return e;let a={...iu(e,t)},o=i.data?{...a,...i.data}:a;return i.businessId!==void 0&&(o[t]=i.businessId),ru(e,t)?{...e,data:o}:o})}}async function mx(e,n){try{return await n()}catch(n){throw n instanceof t.p?n:new t.p(`${e} persist failed`,n)}}async function hx(e,n){let{handlers:r,rowKey:i,getRowById:a,sourceRows:o,signal:s=new AbortController().signal}=n;if(!r?.add&&!r?.update&&!r?.remove)return e;let c=e;if(r.remove&&e.remove?.length){let t=dx(e,i),n=t.map(e=>{let t=a(e);return{rowId:e,data:t?{...t.data}:{}}});await mx(`remove`,()=>r.remove({rowIds:t,rows:n,signal:s}))}if(r.update&&e.update?.length){let n=e.update.map(e=>{let n,r;if(ou(e)?(n=a(e.rowId),r=e.data):(r=e,n=fx(r,i,a,o)),!n)throw new t.p(`Update target row not found for rowKey "${i}"`);return{rowId:n.id,data:r}});await mx(`update`,()=>r.update({rows:n,signal:s}))}if(r.add&&e.add?.length){let t=e.add.map(e=>({data:iu(e,i)})),n=e.add[0],a=n?au(n,i):void 0,o=n&&ru(n,i)?n.indexMode:void 0,l=await mx(`add`,()=>r.add({rows:t,index:a,indexMode:o,signal:s}));c=px(c,i,l)}return c}function gx(e,t,n){return{rowIds:e.rowIds,leaderRowId:e.leaderRowId,toIndex:e.toIndex,indexMode:e.indexMode,moves:e.moves,rows:t,source:e.source,signal:n,displayIndex:e.displayIndex,hierarchyChanges:e.hierarchyChanges,parentRowId:e.parentRowId,siblingIndex:e.siblingIndex,treeLevel:e.treeLevel,nestUnderRowId:e.nestUnderRowId}}async function _x(e,t){let{handlers:n,getRowById:r,signal:i=new AbortController().signal}=t;if(!n?.move)return;let a=e.rowIds.map(e=>{let t=r(e);return{rowId:e,data:t?{...t.data}:{}}});await mx(`move`,()=>n.move(gx(e,a,i)))}async function vx(n,r){let i=n.moves.find(e=>e.rowId===n.leaderRowId)?.toIndex??n.displayIndex;try{return await _x({rowIds:n.rowIds,leaderRowId:n.leaderRowId,toIndex:i,indexMode:`source`,moves:n.moves,source:`uiRowDrag`,displayIndex:n.displayIndex,hierarchyChanges:n.hierarchyChanges,parentRowId:n.parentRowId,siblingIndex:n.siblingIndex,treeLevel:n.treeLevel,nestUnderRowId:n.nestUnderRowId},{...r,signal:n.signal}),{ok:!0}}catch(r){if(e.c(r)||n.signal.aborted)return{ok:!1,reason:`aborted`,aborted:!0};if(r instanceof t.p)return{ok:!1,reason:r.message};throw r}}function yx(e,t=6){let n=e;for(;n;){let e=getComputedStyle(n).getPropertyValue(`--mg-cell-comment-indicator-size`).trim();if(e){let t=parseFloat(e);if(Number.isFinite(t))return t}n=n.parentElement}return t}function bx(e,t,n=0){let r=t,i=t,a=e.right-n,o=e.top+n,s=a-r;return{x:s,y:o,left:s,top:o,right:a,bottom:o+i,width:r,height:i,toJSON:()=>({})}}function xx(e,t,n){if(!e.classList.contains(`mg-cell--has-comment`)&&!e.classList.contains(`mg-cell--comment-empty`))return!1;let r=bx(e.getBoundingClientRect(),yx(e));return t>=r.left&&t<=r.right&&n>=r.top&&n<=r.bottom}var Sx=`mg-cell-comment-popup__textarea`,Cx=`mg-cell-comment-popup__actions`,wx=`mg-cell-comment-popup__btn--save`,Tx=`mg-cell-comment-popup__btn--delete`,Ex=`mg-cell-comment-popup__btn--cancel`;function Dx(e,t=8){let n=e;for(;n;){let e=getComputedStyle(n).getPropertyValue(`--mg-spacing`).trim();if(e){let t=parseFloat(e);if(Number.isFinite(t))return t}n=n.parentElement}return t}function Ox(e){return{viewportPadding:Dx(e)}}function kx(e,t,n,r=Ox(null),i=6){let{viewportPadding:a}=r,o=e.right,s=e.top;return o+t>window.innerWidth-a&&(o=e.left-t),o=Math.max(a,Math.min(o,window.innerWidth-t-a)),s=Math.max(a,Math.min(s,window.innerHeight-n-a)),{left:o,top:s}}function Ax(e,t){if(!t)return 4;let n=e?e.split(`
4
+ `).length:1;return Math.max(1,Math.min(n,12))}var jx=class{getMountEl;rootEl=null;textareaEl=null;anchorEl=null;options=null;committing=!1;textareaReadOnly=!1;saveButton=null;deleteButton=null;cancelButton=null;constructor(e=()=>document.body){this.getMountEl=e}onWindowKeyDown=e=>{if(e.key===`Escape`){if(this.committing){e.preventDefault(),e.stopPropagation();return}e.preventDefault(),e.stopPropagation(),this.close()}};get isOpen(){return this.rootEl!=null}isCommitting(){return this.committing}getAnchorEl(){return this.anchorEl}getRootEl(){return this.rootEl}open(e){this.close(),this.options=e,this.anchorEl=e.anchorEl,this.anchorEl.dataset.commentOpen=`true`;let t=e.readOnly===!0||e.mode===`view`,n=e.mode??(e.comment?.text?`edit`:`create`);this.rootEl=document.createElement(`div`),this.rootEl.className=Mo,this.rootEl.classList.toggle(No,t),this.rootEl.dataset.mode=n,this.textareaEl=document.createElement(`textarea`),this.textareaEl.className=Sx,this.textareaEl.value=e.comment?.text??``,this.textareaReadOnly=t,this.textareaEl.readOnly=t,this.textareaEl.rows=Ax(e.comment?.text,t),this.textareaEl.setAttribute(`aria-label`,t?`单元格批注`:`编辑单元格批注`),this.rootEl.append(this.textareaEl),t?this.rootEl.append(this.createActions(`view`,!!e.comment?.text)):this.rootEl.append(this.createActions(n,!!e.comment?.text)),this.getMountEl().append(this.rootEl),this.reposition(),window.addEventListener(`keydown`,this.onWindowKeyDown,!0),t||(this.textareaEl.focus(),this.textareaEl.setSelectionRange(this.textareaEl.value.length,this.textareaEl.value.length))}updatePosition(){this.reposition()}close(e=!1){if(this.committing&&!e)return;window.removeEventListener(`keydown`,this.onWindowKeyDown,!0),this.anchorEl&&=(delete this.anchorEl.dataset.commentOpen,null),this.rootEl?.remove(),this.rootEl=null,this.textareaEl=null,this.saveButton=null,this.deleteButton=null,this.cancelButton=null,this.committing=!1,this.textareaReadOnly=!1;let t=this.options?.onClose;this.options=null,t?.()}reposition(){if(!this.rootEl||!this.anchorEl)return;let e=Math.max(this.rootEl.offsetWidth,280),t=this.rootEl.offsetHeight,n=Ox(this.anchorEl),r=yx(this.anchorEl),i=kx(this.anchorEl.getBoundingClientRect(),e,t,n,r);this.rootEl.style.position=`fixed`,this.rootEl.style.left=`${i.left}px`,this.rootEl.style.top=`${i.top}px`,this.rootEl.style.minWidth=`280px`,this.rootEl.style.removeProperty(`min-height`)}createActions(e,t){let n=document.createElement(`div`);if(n.className=Cx,e!==`view`){let e=document.createElement(`button`);e.type=`button`,e.className=wx,e.textContent=`保存`,e.addEventListener(`click`,()=>{this.handleSave()}),n.append(e),this.saveButton=e}if(t&&e===`edit`){let e=document.createElement(`button`);e.type=`button`,e.className=Tx,e.textContent=`删除`,e.addEventListener(`click`,()=>{this.handleDelete()}),n.append(e),this.deleteButton=e}let r=document.createElement(`button`);return r.type=`button`,r.className=Ex,r.textContent=e===`view`?`关闭`:`取消`,r.addEventListener(`click`,()=>{this.close()}),n.append(r),this.cancelButton=r,n}async handleSave(){let e=this.textareaEl?.value.trim()??``;if(!e){this.close();return}await this.runAction(`save`,()=>this.options?.onSave?.(e))}async handleDelete(){await this.runAction(`delete`,()=>this.options?.onDelete?.())}async runAction(e,t){if(this.committing||!this.isOpen)return;this.committing=!0,this.setCommittingVisual(!0,e);let n=!1;try{if(await t()===!1)return;n=!0,this.committing=!1,this.close()}catch{}finally{!n&&this.isOpen&&(this.committing=!1,this.setCommittingVisual(!1))}}setCommittingVisual(e,t){if(this.rootEl?.classList.toggle(Po,e),this.textareaEl&&(this.textareaEl.readOnly=e||this.textareaReadOnly),this.saveButton?.toggleAttribute(`disabled`,e),this.deleteButton?.toggleAttribute(`disabled`,e),this.cancelButton?.toggleAttribute(`disabled`,e),e&&t===`save`){this.saveButton.textContent=`保存中...`;return}if(e&&t===`delete`){this.deleteButton.textContent=`删除中...`;return}this.saveButton&&(this.saveButton.textContent=`保存`),this.deleteButton&&(this.deleteButton.textContent=`删除`)}},Mx=class{deps;datasourceInitialized=!1;presenceCache=new Map;popup;constructor(e){this.deps=e,this.popup=new jx(()=>e.getMountEl())}getPopup(){return this.popup}get active(){return Ro(this.deps.getOptions().cellCommentsDataSource)&&!!this.deps.getRowKey()}init(e){let t=this.deps.getOptions().cellCommentsDataSource;qo(Ro(t),this.deps.getRowKey()),Ro(t)&&(this.datasourceInitialized||=(t?.init?.({api:e}),!0))}destroy(){this.popup.close(!0);let e=this.deps.getOptions().cellCommentsDataSource;this.datasourceInitialized&&=(e?.destroy?.(),!1),this.presenceCache.clear()}resetDatasourceLifecycle(){let e=this.deps.getOptions().cellCommentsDataSource;this.datasourceInitialized&&=(e?.destroy?.(),!1),this.presenceCache.clear()}getComment(e,t){let n=this.resolveCellParams(e,t);if(!n)return;let r=this.deps.getOptions().cellCommentsDataSource?.getComment(n);return Nx(r)}hasComment(e,t){let n=Ko(e,t),r=this.presenceCache.get(n);if(r!=null)return r;let i=Wo(this.getComment(e,t));return this.presenceCache.set(n,i),i}getCachedHasComment(e,t){return this.presenceCache.get(Ko(e,t))}resolveInteraction(e,t){let n=this.resolveCellParams(e,t);if(!n)return{canView:!1,canCreate:!1,canEdit:!1,canDelete:!1};let r=this.getComment(e,t);return Uo(Ho({gridSuppress:this.deps.getOptions().suppressCellComments,columnSuppress:n.column.suppressCellComments,colId:t,rowId:n.rowId,rowKind:P(n.rowNode.rowKind),data:n.data,hasExistingComment:Wo(r)}),r)}async setComment(e,n,r,i,a){if(!this.active)return!1;let o=this.resolveCellParams(e,n);if(!o)return!1;let s=t.m(e),c=r??void 0,l=c==null;if(i===`ui`&&!a?.bypassSuppress){let e=this.resolveInteraction(s,n);if(l&&!e.canDelete)return!1;if(!l){if(this.getComment(s,n)){if(!e.canEdit)return!1}else if(!e.canCreate)return!1}}i===`api`&&this.deps.getOptions().suppressCellComments&&a?.bypassSuppress;let u=this.deps.getOptions().cellCommentsDataSource;if(!u)return!1;await u.setComment({...o,comment:c}),this.invalidateCache(s,n);let d=Go(s,n,c??null,i);return this.deps.onCommentChanged?.(d),this.deps.onCommentsRefresh?.({rowIds:[s],colIds:[n]}),!0}refreshPresenceCache(e){for(let t of e){let e=Ko(t.rowId,t.colId);this.presenceCache.set(e,Wo(this.getComment(t.rowId,t.colId)))}}invalidateCache(e,n){if(e==null&&n==null){this.presenceCache.clear();return}if(e!=null&&n!=null){this.presenceCache.delete(Ko(e,n));return}let r=e==null?n==null?null:`::${n}`:`${t.m(e)}::`;if(r)for(let t of[...this.presenceCache.keys()])(e!=null&&t.startsWith(r)||n!=null&&t.endsWith(r))&&this.presenceCache.delete(t)}requestRefresh(e){if(e?.rowIds?.length||e?.colIds?.length){if(e.rowIds?.length&&e.colIds?.length){for(let n of e.rowIds)if(n!=null)for(let r of e.colIds)this.invalidateCache(t.m(n),r)}else if(e.rowIds?.length)for(let n of e.rowIds)n!=null&&this.invalidateCache(t.m(n));else if(e.colIds?.length)for(let t of e.colIds)this.invalidateCache(void 0,t)}else this.invalidateCache();this.deps.onCommentsRefresh?.(e)}createHost(){return{active:()=>this.active,hasComment:(e,t)=>this.hasComment(e,t),canCreateComment:(e,t)=>this.resolveInteraction(e,t).canCreate}}openEditor(e){if(!this.active)return!1;let t=this.resolveCellParams(e.rowId,e.colId);if(!t)return!1;let{rowId:n,colId:r}=t,i=this.getComment(n,r),a=Wo(i),o=this.resolveInteraction(n,r),s=Px(e.preferredMode,a,o,i?.readOnly===!0);if(!s)return!1;let c=s===`view`||i?.readOnly===!0;return this.popup.open({anchorEl:e.anchorEl,comment:i,readOnly:c,mode:s,onSave:async e=>{let t=this.getComment(n,r);return this.setComment(n,r,{...t,text:e},`ui`)},onDelete:async()=>this.setComment(n,r,null,`ui`),onClose:e.onPopupClose}),!0}closeEditor(){this.popup.close()}getOpenEditorCell(){let e=this.popup.getAnchorEl();if(!e)return null;let t=e.closest(`.mg-row`)?.dataset.rowId,n=e.dataset.colId;return!t||!n?null:{rowId:t,colId:n}}resolveCellParams(e,n){if(!this.active)return;let r=t.m(e),i=this.deps.getRowNode(r),a=this.deps.getColumn(n);if(!(!i||!a))return{rowId:r,colId:n,data:i.data,rowNode:i,column:a}}};function Nx(e){if(e!=null)return e}function Px(e,t,n,r){if(e===`create`){if(n.canCreate)return`create`;if(t){if(n.canEdit&&!r)return`edit`;if(n.canView)return`view`}return null}return e===`edit`?n.canEdit?`edit`:n.canView?`view`:null:e===`view`?n.canView?`view`:null:t?n.canEdit&&!r?`edit`:n.canView?`view`:null:n.canCreate?`create`:null}function Fx(e,t){let n=e.suppressPaste;return n==null||n===!1?!1:n===!0||n(t)}function Ix(e){let t=e.formattedValue??String(e.value??``),n=ap(e),r={rowId:e.rowId,rowIndex:e.rowIndex,colId:e.colId,value:e.value,data:e.data,formattedValue:t,size:e.gridSize,context:n},i=e.column?Lt(e.column,r):void 0;return{...r,cellEditorParams:i,stopEditing:async()=>null,cancelCommit:()=>{},getEditPhase:()=>`idle`,validate:async()=>({valid:!0})}}function Lx(e,n,r){let i=e.deps.rowModel.getRowKey(),a=ap(e.deps),o={rowId:t.T(n,i),rowIndex:n.rowIndex,colId:r.colId,value:H(n,r),data:n.data,formattedValue:ip(n,r),size:e.deps.gridSize,context:a},s=Lt(r,o),c={...o,cellEditorParams:s,stopEditing:(t=!0)=>e.stopEditing(!t),cancelCommit:()=>e.cancelCommit(),getEditPhase:()=>e.getEditSessionPhase()},l=Mu(e.deps.cellEditorCacheService,{enableCellEditorCache:e.deps.enableCellEditorCache,rowNode:n,column:r,rowKey:i});return{...c,...l,validate:async t=>{let n=e.deps.rowEditingService.isEditing()?e.deps.rowEditingService.getEditorValue(r.colId):e.deps.editingService.getEditorValue();if(n==null)return{valid:!0};let i={...c,...l,validate:async()=>({valid:!0})},a;try{if(a=vn(n,r,i),ln(a))return{valid:!1,errors:[`Invalid value`]}}catch(e){return{valid:!1,errors:[e instanceof Error?e.message:`Invalid value`]}}return np(r,i,a,t?.signal)}}}function Rx(e){return e==null?``:Array.isArray(e)?e.join(`, `):String(e)}function zx(e,t,n){let r=n?.getRowGroupingHost?.();if(r?.active()&&ke(t,e)){let n=hh(e,r,t);return!n.visible||n.label.length===0?``:n.showCount&&n.count>0?`${n.label}${gh(n.count)}`:n.label}let i=n?.getTreeTableHost?.();if(i?.active()&&Sh(t,e)){let t=wh(e,i);return t.visible?t.label:``}return null}function Bx(e,t,n,r){return zx(e,t,r)??(t.useFormatterForClipboard===!1?Rx(H(e,t)):ip(e,t,n))}function Vx(e,t,n,r,i,a){return{rowIndex:e,colId:n.colId,rowNode:t,column:n,value:r,formatValue:e=>Ux(t,n,e),parseValue:e=>Wx(e,n,i)}}function Hx(e,t,n,r,i,a,o){return{...Vx(e,t,n,r,a,o),oldValue:i}}function Ux(e,t,n){return t.formatter?t.formatter(e.data,n):Rx(n)}function Wx(e,t,n){return qx(e,t,n)}function Gx(e,t,n,r,i,a,o){let s=Bx(t,n,r,o);return a?Rx(a(Vx(e,t,n,s,i,r))):s}function Kx(e,t,n,r,i,a,o){if(!o)return qx(e,t,i);let s=o(Hx(n,r,t,e,i.value,i,a));return ln(s)||t.useParserForClipboard===!1?s:vn(Rx(s),t,i)}function qx(e,t,n){return t.useParserForClipboard===!1?e:vn(e,t,n)}async function Jx(e,t,n,r,i){let a=Kx(n,e,i.rowIndex,i.rowNode,t,i.indexColumnOptions,i.processCellFromClipboard);return ln(a)||await ep(e,t,a,i.signal??new AbortController().signal)?{status:`blocked`,showBlockedVisual:!0}:Object.is(r,a)?{status:`blocked`,showBlockedVisual:!1}:yn(e,t,a)?{status:`applied`,parsed:a}:{status:`blocked`,showBlockedVisual:!0}}async function Yx(e){if(typeof navigator<`u`&&navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}let t=globalThis.document;if(!t?.body)return!1;try{let n=t.createElement(`textarea`);n.value=e,n.setAttribute(`readonly`,``),n.style.position=`fixed`,n.style.left=`-9999px`,n.style.top=`0`,t.body.appendChild(n),n.focus(),n.select();let r=t.execCommand(`copy`);return t.body.removeChild(n),r}catch{return!1}}async function Xx(){if(typeof navigator<`u`&&navigator.clipboard?.readText)return navigator.clipboard.readText();throw Error(`Clipboard read unavailable`)}function Zx(e){return/[\t\n\r"]/.test(e)?`"${e.replace(/"/g,`""`)}"`:e}function Qx(e){return e.map(Zx).join(` `)}function $x(e){return e.map(e=>e.join(`
5
5
  `)).filter(e=>e.length>0).join(`
6
6
 
7
- `)}function Qx(e){if(e.length===0)return[];let t=[],n=[],r=``,i=!1,a=0;for(;a<e.length;){let o=e[a];if(i){if(o===`"`){if(e[a+1]===`"`){r+=`"`,a+=2;continue}i=!1,a+=1;continue}r+=o,a+=1;continue}if(o===`"`){i=!0,a+=1;continue}if(o===` `){n.push(r),r=``,a+=1;continue}if(o===`
7
+ `)}function eS(e){if(e.length===0)return[];let t=[],n=[],r=``,i=!1,a=0;for(;a<e.length;){let o=e[a];if(i){if(o===`"`){if(e[a+1]===`"`){r+=`"`,a+=2;continue}i=!1,a+=1;continue}r+=o,a+=1;continue}if(o===`"`){i=!0,a+=1;continue}if(o===` `){n.push(r),r=``,a+=1;continue}if(o===`
8
8
  `){n.push(r),t.push(n),n=[],r=``,a+=1;continue}if(o===`\r`){if(e[a+1]===`
9
- `){n.push(r),t.push(n),n=[],r=``,a+=2;continue}n.push(r),t.push(n),n=[],r=``,a+=1;continue}r+=o,a+=1}return(r.length>0||n.length>0||i)&&(n.push(r),t.push(n)),t}function $x(e){return e.length===1&&(e[0]?.length??0)===1}var eS=class{deps;constructor(e){this.deps=e}isCopyEnabled(){let e=this.deps.getCellSelectionOptions();return e.enabled&&e.enableCellCopy}isPasteEnabled(){let e=this.deps.getCellSelectionOptions();return e.enabled&&e.enableCellPaste}copySelectedRanges(){if(!this.isCopyEnabled())return!1;let e=this.deps.getCellRangeService();if(!e?.hasRanges())return!1;let t=this.deps.getCellRangeOperationContext(),n=e.getRanges(),r=this.serializeRanges(n,t);return r!==``&&(this.writeClipboard(r),this.deps.onCopyVisualFeedback?.(),!0)}async pasteFromClipboard(){if(!this.isPasteEnabled())return 0;this.deps.isEditing()&&await this.deps.stopEditing(!1);let e=this.resolvePasteAnchor();if(!e)return 0;let t;try{t=await this.readClipboard()}catch{return 0}let n=Qx(t);if(n.length===0)return 0;let r=this.deps.getCellRangeOperationContext(),i=this.deps.getCellClipboardOptions().processDataFromClipboard?.({data:n,anchor:e});if(i===null)return 0;let a=i??n,o=this.deps.getCellRangeService()?.getRanges()??[];return $x(a)&&this.shouldPasteSingleCellToRanges(o,r)?await this.applySingleCellPasteToRanges(o,a[0][0]):await this.applyPasteMatrix(e,a)}serializeRanges(e,t){let n=t.displayedColIds,r=this.resolveIndexColumnDisplayOptions(),i=this.deps.getCellClipboardOptions(),a=this.deps.getCellSpanService?.()??null,o=[];for(let t of e){let e=G(t,n);if(!e)continue;let s=n.indexOf(e.leftColId),c=n.indexOf(e.rightColId);if(s<0||c<0)continue;let l=n.slice(s,c+1),u=[];for(let t=e.top;t<=e.bottom;t+=1){let e=this.deps.rowModel.getRow(t);if(!e)continue;let n=[];for(let o of l){if(!vs(o,e.rowKind)){n.push(``);continue}let s=this.deps.columnModel.getColumnById(o);if(!s){n.push(``);continue}if($_(e,s,this.deps.columnModel,a)){n.push(``);continue}let c=Px({rowId:e.id,rowIndex:t,colId:o,value:W(e,s),data:e.data,formattedValue:``,column:s,getApi:this.deps.getApi,gridSize:this.deps.gridSize});n.push(Ux(t,e,s,r,c,i.processCellForClipboard,this.deps.getCellClipboardDisplayContext?.()))}u.push(Xx(n))}u.length>0&&o.push(u)}return Zx(o)}resolvePasteAnchor(){let e=this.deps.getCellRangeOperationContext().displayedColIds,t=this.deps.getCellRangeService(),n=t?.getRanges()??[],r=this.deps.cellFocusService.getFocusedCell();if(r&&!Y(r)){let t=this.deps.rowModel.getRow(r.rowIndex);if(vs(r.colId,t?.rowKind)){let t={rowIndex:r.rowIndex,colId:r.colId};if(n.length===0||n.some(t=>{let n=G(t,e);return n!=null&&ks(r.rowIndex,r.colId,n,e)}))return t}}if(n.length===0)return null;let i=G(n[0],e);if(!i)return null;let a=t?.getAnchor();return a&&ks(a.rowIndex,a.colId,i,e)?{rowIndex:a.rowIndex,colId:a.colId}:{rowIndex:i.top,colId:i.leftColId}}shouldPasteSingleCellToRanges(e,t){if(e.length===0)return!1;let n=0,r=t.displayedColIds;for(let t of e){let e=G(t,r);if(!e)continue;let i=r.indexOf(e.leftColId),a=r.indexOf(e.rightColId);if(i<0||a<0)continue;let o=e.bottom-e.top+1,s=Math.abs(a-i)+1;if(n+=o*s,n>1)return!0}return!1}async applySingleCellPasteToRanges(e,t){let n=this.deps.getCellRangeOperationContext().displayedColIds,r=0,i=new Set,a=new Set,o=[];for(let s of e){let e=G(s,n);if(!e)continue;let c=n.indexOf(e.leftColId),l=n.indexOf(e.rightColId);if(c<0||l<0)continue;let u=Math.min(c,l),d=Math.max(c,l);for(let s=e.top;s<=e.bottom;s+=1){let e=this.deps.rowModel.getRow(s);if(e)for(let c=u;c<=d;c+=1){let l=n[c],u=await this.pasteCell(s,l,e.id,e,t);u.status===`applied`?(r+=1,i.add(e.id),a.add(l),o.push({rowIndex:s,colId:l,applied:!0})):u.showBlockedVisual&&o.push({rowIndex:s,colId:l,applied:!1})}}}return r>0&&this.deps.refreshCells({rowIds:[...i],colIds:[...a]}),o.length>0&&this.deps.onPasteVisualFeedback?.(o),r}async applyPasteMatrix(e,t){let n=this.deps.getCellRangeOperationContext().displayedColIds,r=n.indexOf(e.colId);if(r<0)return 0;let i=this.deps.rowModel.getRowCount(),a=0,o=new Set,s=new Set,c=[];for(let l=0;l<t.length;l+=1){let u=t[l],d=e.rowIndex+l;if(d>=i)break;let f=this.deps.rowModel.getRow(d);if(f)for(let e=0;e<u.length;e+=1){let t=r+e;if(t>=n.length)break;let i=n[t],l=await this.pasteCell(d,i,f.id,f,u[e]);l.status===`applied`?(a+=1,o.add(f.id),s.add(i),c.push({rowIndex:d,colId:i,applied:!0})):l.showBlockedVisual&&c.push({rowIndex:d,colId:i,applied:!1})}}return a>0&&this.deps.refreshCells({rowIds:[...o],colIds:[...s]}),c.length>0&&this.deps.onPasteVisualFeedback?.(c),a}async pasteCell(e,t,n,r,i){if(!ys(t,r.rowKind))return{status:`blocked`,showBlockedVisual:!0};let a=this.deps.columnModel.getColumnById(t);if(!a||!H(a,r,this.deps.getCellDisableContext())||Nx(a,r.data))return{status:`blocked`,showBlockedVisual:!0};let o=W(r,a),s=await Kx(a,Px({rowId:n,rowIndex:e,colId:t,value:o,data:r.data,formattedValue:String(o??``),column:a,getApi:this.deps.getApi,gridSize:this.deps.gridSize}),i,o,{rowIndex:e,rowNode:r,indexColumnOptions:this.resolveIndexColumnDisplayOptions(),processCellFromClipboard:this.deps.getCellClipboardOptions().processCellFromClipboard});return s.status===`blocked`?s:(await ap(this.deps,async()=>{sp(this.deps.recordRowDataChange,r,a,o,s.parsed,`paste`),this.deps.applyTransaction({update:[r.data]}),this.deps.eventBus.emit(`cellValueChanged`,{rowId:n,colId:t,oldValue:o,newValue:s.parsed,rowNode:r}),await ip(a,r,{oldValue:o,newValue:s.parsed},{gridSize:this.deps.gridSize,getApi:this.deps.getApi,buildRowSnapshot:this.deps.buildRowSnapshot,getIndexColumnOptions:()=>this.resolveIndexColumnDisplayOptions()},{source:`paste`})}),{status:`applied`})}resolveIndexColumnDisplayOptions(){let e=this.deps.getIndexColumnOptions();return e.showIndexColumn?e.indexColumn:void 0}async writeClipboard(e){if(this.deps.writeToClipboard){await this.deps.writeToClipboard(e);return}await qx(e)}async readClipboard(){return this.deps.readFromClipboard?this.deps.readFromClipboard():Jx()}};function tS(e){return typeof e==`number`&&Number.isFinite(e)}function nS(e,t){return`${e}:${t}`}function rS(e,t,n){let r=t.indexOf(e.leftColId),i=t.indexOf(e.rightColId);if(r<0||i<0)return;let a=Math.min(r,i),o=Math.max(r,i);for(let r=e.top;r<=e.bottom;r+=1)for(let e=a;e<=o;e+=1){let i=t[e];i&&n(r,i)}}function iS(e,t){let n=new Set;return rS(e,t,(e,t)=>{n.add(nS(e,t))}),n}function aS(e){let{fixedAnchor:t,pointer:n,sourceRange:r,direction:i,displayedColIds:a}=e;if(a.indexOf(n.colId)<0)return null;let o=G(Es(t,n),a);return o?i===`y`?{top:o.top,bottom:o.bottom,leftColId:r.leftColId,rightColId:r.rightColId}:i===`x`?{top:r.top,bottom:r.bottom,leftColId:o.leftColId,rightColId:o.rightColId}:o:null}function oS(e,t,n,r){let i=[];for(let n=e.top;n<=e.bottom;n+=1)i.push(r(n,t));return i}function sS(e,t,n,r){let i=n.indexOf(e.leftColId),a=n.indexOf(e.rightColId);if(i<0||a<0)return[];let o=[],s=Math.min(i,a),c=Math.max(i,a);for(let e=s;e<=c;e+=1){let i=n[e];i&&o.push(r(t,i))}return o}function cS(e,t){return e>t.bottom?e-t.bottom:e<t.top?e-t.top:null}function lS(e,t,n){let r=n.indexOf(t.leftColId),i=n.indexOf(t.rightColId);if(r<0||i<0)return null;let a=Math.min(r,i),o=Math.max(r,i);return e>o?e-o:e<a?e-a:null}function uS(e){let{rowIndex:t,colId:n,sourceRange:r,displayedColIds:i,getSourceValue:a,setFillValue:o,fillStrategy:s=Go,rowNode:c,column:l,allowedDirection:u}=e,d=i.indexOf(n);if(d<0)return null;let f=cS(t,r),p=lS(d,r,i),m=null,h=0,g=[];if(f!=null&&f!==0&&(u===`y`||u===`xy`)?(m=`y`,h=f,g=oS(r,n,i,a)):p!=null&&p!==0&&(u===`x`||u===`xy`)&&(m=`x`,h=p,g=sS(r,Math.min(Math.max(t,r.top),r.bottom),i,a)),!m||g.length===0)return null;let _=g[g.length-1];return o?o({rowNode:c,column:l,baseValue:_,step:h,direction:m}):fS(g,h,s)}function dS(e,t){return t>0?e[e.length-1]:e[0]}function fS(e,t,n){if(e.length===0)return null;if(n===`copy`)return dS(e,t);if(e.every(tS)){let n=e,r=n.length===1?1:(n[n.length-1]-n[0])/(n.length-1);return(t>0?n[n.length-1]:n[0])+r*t}return dS(e,t)}function pS(e,t,n){let r=iS(t,n),i=e?iS(e,n):new Set,a=[];for(let e of r)if(!i.has(e)){let[t,n]=e.split(`:`);a.push({rowIndex:Number(t),colId:n})}return a}function mS(e,t,n){return pS(t,e,n)}var hS=class{deps;constructor(e){this.deps=e}async commitFillRange(e){let t=0,n=new Set,r=new Set;for(let i of e.removed)if(await this.writeClearCell(i)){t+=1;let e=this.deps.rowModel.getRow(i.rowIndex);e&&(n.add(e.id),r.add(i.colId))}for(let i of e.added)if(await this.writeFillCell(i,e.sourceRange,e.displayedColIds,e.fillOptions)){t+=1;let e=this.deps.rowModel.getRow(i.rowIndex);e&&(n.add(e.id),r.add(i.colId))}return t>0&&this.deps.refreshCells({rowIds:[...n],colIds:[...r]}),t}async applyFillDiff(e){return this.commitFillRange({...e,removed:[]})}async writeClearCell(e){let t=this.deps.rowModel.getRow(e.rowIndex),n=this.deps.columnModel.getColumnById(e.colId);return!t||!n||!ys(e.colId,t.rowKind)||!H(n,t,this.deps.getCellDisableContext())?!1:this.writeCellValue(t.id,e.rowIndex,n,t,``)}async writeFillCell(e,t,n,r){let i=this.deps.rowModel.getRow(e.rowIndex),a=this.deps.columnModel.getColumnById(e.colId);if(!i||!a||!ys(e.colId,i.rowKind)||!H(a,i,this.deps.getCellDisableContext()))return!1;let o=uS({rowIndex:e.rowIndex,colId:e.colId,sourceRange:t,displayedColIds:n,getSourceValue:(e,t)=>{let n=this.deps.rowModel.getRow(e),r=this.deps.columnModel.getColumnById(t);if(!(!n||!r))return W(n,r)},setFillValue:r.setFillValue,fillStrategy:r.fillStrategy,rowNode:i,column:a,allowedDirection:r.direction});return o!==null&&this.writeCellValue(i.id,e.rowIndex,a,i,o)}async writeCellValue(e,t,n,r,i){let a=W(r,n);return Object.is(a,i)||!gn(n,Px({rowId:e,rowIndex:t,colId:n.colId,value:a,data:r.data,formattedValue:String(a??``),column:n,getApi:this.deps.getApi,gridSize:this.deps.gridSize}),i)?!1:(await ap(this.deps,async()=>{sp(this.deps.recordRowDataChange,r,n,a,i,`fill`),this.deps.applyTransaction({update:[r.data]}),this.deps.eventBus.emit(`cellValueChanged`,{rowId:e,colId:n.colId,oldValue:a,newValue:i,rowNode:r}),await ip(n,r,{oldValue:a,newValue:i},this.deps,{source:`fill`})}),!0)}},gS=class{deps;constructor(e){this.deps=e}async clearRanges(e,t){let n=t.displayedColIds,r=0,i=new Set,a=new Set;for(let t of e){let e=G(t,n);if(e)for(let t=e.top;t<=e.bottom;t+=1){let o=this.deps.rowModel.getRow(t);if(o)for(let s of n)ks(t,s,e,n)&&await this.writeClearCell(t,s,o.id,o)&&(r+=1,i.add(o.id),a.add(s))}}return r>0&&this.deps.refreshCells({rowIds:[...i],colIds:[...a]}),r}async writeClearCell(e,t,n,r){if(!ys(t,r.rowKind))return!1;let i=this.deps.columnModel.getColumnById(t);if(!i||!H(i,r,this.deps.getCellDisableContext()))return!1;let a=W(r,i);return Object.is(a,``)||!gn(i,Px({rowId:n,rowIndex:e,colId:t,value:a,data:r.data,formattedValue:String(a??``),column:i,getApi:this.deps.getApi,gridSize:this.deps.gridSize}),``)?!1:(await ap(this.deps,async()=>{sp(this.deps.recordRowDataChange,r,i,a,``,`delete`),this.deps.applyTransaction({update:[r.data]}),this.deps.eventBus.emit(`cellValueChanged`,{rowId:n,colId:t,oldValue:a,newValue:``,rowNode:r}),await ip(i,r,{oldValue:a,newValue:``},this.deps,{source:`delete`})}),!0)}};function _S(e){let t=e.textContent?.trim()??``;return t===``?null:t}function vS(e){let t=e.column.prop??e.column.colId,n=t?e.rowNode.data[t]:void 0;e.column.valueGetter&&(n=e.column.valueGetter(e.rowNode.data,n));let r=tp(e.rowNode,e.column,e.indexColumnOptions);return{rowId:e.rowNode.id,colId:e.column.colId,data:e.rowNode.data,value:n,valueFormatted:r,column:e.column,location:e.location??`cell`}}function yS(e){let t=vS(e);if(e.tooltipValueGetter)try{let n=e.tooltipValueGetter(t);return n==null||n===``?null:n}catch(e){return console.warn(`[magic-grid] tooltipValueGetter failed:`,e),null}if(e.tooltipField){let t=e.rowNode.data[e.tooltipField];if(t!=null&&t!==``)return String(t)}return t.valueFormatted===``?e.anchorEl&&Dc(e.anchorEl)?_S(e.anchorEl):null:t.valueFormatted}function bS(e){let t=e.column.label??e.column.prop??e.column.colId;try{let n=e.headerTooltipValueGetter?.({colId:e.column.colId,column:e.column,headerLabel:t});if(n!=null&&n!==``)return n}catch(e){return console.warn(`[magic-grid] headerTooltipValueGetter failed:`,e),null}return e.headerTooltip!=null&&e.headerTooltip!==``?e.headerTooltip:t===``?null:t}function xS(e){let t={rowId:``,colId:e.column.colId,data:void 0,value:e.displayText,valueFormatted:e.displayText,column:e.column,location:`footer`};try{let n=e.tooltipValueGetter?.(t);if(n!=null&&n!==``)return n}catch(e){return console.warn(`[magic-grid] tooltipValueGetter failed:`,e),null}return e.tooltipField||e.displayText===``?null:e.displayText}function SS(e){let t=e.dataset.mgTooltip;if(t!=null&&t!==``)return t;let n=e.textContent?.trim()??``;return n===``?null:n}function Q(e){return e instanceof Element?e:e instanceof Text?e.parentElement:null}function CS(e,t){return e.getColumns().findIndex(e=>e.colId===t)}function wS(e,t){let n=Q(t);if(!n)return null;let r=n.closest(`.mg-footer-cell[data-col-id]`);return r?.dataset.colId?{colId:r.dataset.colId,colIndex:CS(e,r.dataset.colId)}:null}function TS(e){return Q(e)?.closest(`.mg-header-cell__column-handle`)??null}function ES(e){return Q(e)?.closest(`.mg-header-cell--tree .mg-cell__tree-expand`)??null}function DS(e){return Q(e)?.closest(`.mg-floating-filter-button`)??null}function OS(e,t){let n=Q(t);if(!n)return null;let r=n.closest(`.mg-header-cell[data-col-id]`);return r?.dataset.colId?{colId:r.dataset.colId,colIndex:CS(e,r.dataset.colId)}:null}function kS(e,t){let n=Q(t);if(!n)return null;let r=n.closest(`.mg-cell`),i=n.closest(`.mg-row`);if(!r||!i)return null;let a=i.dataset.rowId,o=r.dataset.colId;if(!a||!o)return null;let s=e.getRowIndexById(a),c=e.getRow(s);return!c||s<0?null:{rowId:a,colId:o,rowIndex:s,rowNode:c,rowElement:i}}function AS(e){return Q(e)?.closest(`.mg-header-cell[data-col-id]`)??null}function jS(e){return e.querySelector(`.mg-root`)??e}function MS(e){return e.ownerDocument}function NS(e){let t=[];if(!e)return t;let n=null;try{n=e.parent}catch{return t}for(;n&&n!==e;){t.push(n);try{if(n.parent===n)break;n=n.parent}catch{break}}return t}function PS(e,t){let n=MS(e),r={capture:!0};n.addEventListener(`mousemove`,t.mousemove),n.addEventListener(`mouseup`,t.mouseup);let i=NS(n.defaultView);for(let e of i)e.addEventListener(`mousemove`,t.mousemove,r),e.addEventListener(`mouseup`,t.mouseup,r);return{unbind:()=>{n.removeEventListener(`mousemove`,t.mousemove),n.removeEventListener(`mouseup`,t.mouseup);for(let e of i)e.removeEventListener(`mousemove`,t.mousemove,r),e.removeEventListener(`mouseup`,t.mouseup,r)}}}function FS(e){let t=Q(e);return t?t.closest(xc):null}function IS(e){return e.matches(`.mg-cell__text:not([hidden])`)||e.matches(`.mg-cell__renderer:not([hidden])`)?`cell`:e.matches(`.mg-header-cell__text`)?`header`:e.matches(`.mg-footer-cell__text:not([hidden])`)?`footer`:null}function LS(e){let t=Q(e);return t?t.closest(bc):null}function RS(e,t,n){let r=IS(e);if(!r)return null;if(r===`header`){let t=e.closest(`.mg-header-cell[data-col-id]`)?.dataset.colId;return t?{anchorEl:e,location:r,colId:t}:null}if(r===`footer`){let t=e.closest(`.mg-footer-cell[data-col-id]`)?.dataset.colId;return t?{anchorEl:e,location:r,colId:t}:null}let i=e.closest(`.mg-cell[data-col-id]`),a=e.closest(`.mg-row[data-row-id]`),o=i?.dataset.colId,s=a?.dataset.rowId;return!o||!s||!t.getColumnById(o)||!n.getRowById(s)?null:{anchorEl:e,location:r,colId:o,rowId:s}}var zS=class{deps;showTimer=null;activeAnchor=null;pendingAnchor=null;lastPointer=null;bound=!1;statusBarEl=null;statusBarBound=!1;constructor(e){this.deps=e}setStatusBarElement(e){this.statusBarEl!==e&&(this.unbindStatusBarListeners(),this.statusBarEl=e,e&&this.bound&&this.bindStatusBarListeners())}bindListeners(){this.bound||(this.bound=!0,this.deps.mountEl.addEventListener(`pointerover`,this.handlePointerOver,!0),this.deps.mountEl.addEventListener(`pointerout`,this.handlePointerOut,!0),this.deps.viewportEl.addEventListener(`scroll`,this.handleScroll,!0),this.deps.headerViewportEl.addEventListener(`scroll`,this.handleScroll,!0),this.deps.footerViewportEl?.addEventListener(`scroll`,this.handleScroll,!0),this.bindStatusBarListeners())}unbindListeners(){this.bound&&(this.bound=!1,this.deps.mountEl.removeEventListener(`pointerover`,this.handlePointerOver,!0),this.deps.mountEl.removeEventListener(`pointerout`,this.handlePointerOut,!0),this.deps.viewportEl.removeEventListener(`scroll`,this.handleScroll,!0),this.deps.headerViewportEl.removeEventListener(`scroll`,this.handleScroll,!0),this.deps.footerViewportEl?.removeEventListener(`scroll`,this.handleScroll,!0),this.unbindStatusBarListeners(),this.close())}destroy(){this.unbindListeners(),this.deps.tooltipService.destroy()}close(){this.clearShowTimer(),this.activeAnchor=null,this.pendingAnchor=null,this.lastPointer=null,this.deps.tooltipService.hide(!0)}refreshActiveTooltip(){if(!this.activeAnchor)return;let e=this.deps.getOptions(),t=this.resolveTooltipText(this.activeAnchor);if(!this.shouldShowForContext(this.activeAnchor,e,t)||!t){this.close();return}this.presentTooltip(this.activeAnchor,e,t),this.deps.tooltipService.refreshPosition()}bindStatusBarListeners(){!this.statusBarEl||this.statusBarBound||(this.statusBarBound=!0,this.statusBarEl.addEventListener(`pointerover`,this.handleStatusBarPointerOver,!0),this.statusBarEl.addEventListener(`pointerout`,this.handleStatusBarPointerOut,!0))}unbindStatusBarListeners(){!this.statusBarEl||!this.statusBarBound||(this.statusBarBound=!1,this.statusBarEl.removeEventListener(`pointerover`,this.handleStatusBarPointerOver,!0),this.statusBarEl.removeEventListener(`pointerout`,this.handleStatusBarPointerOut,!0))}handlePointerOver=e=>{if(e.pointerType===`touch`)return;let t=FS(e.target);if(!t)return;let n=RS(t,this.deps.columnModel,this.deps.rowModel);!n||!this.canShowTooltip(n)||this.queueShow(e,n)};handleStatusBarPointerOver=e=>{if(e.pointerType===`touch`)return;let t=LS(e.target);if(!t)return;let n={anchorEl:t,location:`statusBar`};this.canShowTooltip(n)&&this.queueShow(e,n)};queueShow(e,t){let n=this.deps.getOptions();if(!n.enableTooltips||n.tooltipShowMode===`never`)return;this.lastPointer={clientX:e.clientX,clientY:e.clientY};let r=this.activeAnchor?.anchorEl===t.anchorEl||this.pendingAnchor?.anchorEl===t.anchorEl;this.deps.tooltipService.isVisible()&&!r&&(this.deps.tooltipService.hide(!0),this.activeAnchor=null),this.pendingAnchor=t,this.scheduleShow(t,n)}handlePointerOut=e=>{this.handleAnchorPointerOut(e,FS(e.target))};handleStatusBarPointerOut=e=>{this.handleAnchorPointerOut(e,LS(e.target))};handleAnchorPointerOut(e,t){if(!t)return;let n=FS(e.relatedTarget),r=LS(e.relatedTarget),i=this.deps.getOptions();if(this.pendingAnchor?.anchorEl===t&&n!==t&&(this.clearShowTimer(),this.pendingAnchor=null),this.activeAnchor?.anchorEl===t&&n!==t&&r!==t){if(i.tooltipInteraction){let t=this.deps.tooltipService.getPopupEl();if(e.relatedTarget instanceof Node&&t?.contains(e.relatedTarget))return;this.activeAnchor=null,this.deps.tooltipService.scheduleHide(i.tooltipHideDelay);return}this.activeAnchor=null,this.deps.tooltipService.scheduleHide(i.tooltipHideDelay)}}handleScroll=()=>{this.close()};scheduleShow(e,t){this.clearShowTimer();let n=this.deps.tooltipService.isVisible()||this.activeAnchor?t.tooltipSwitchShowDelay:t.tooltipShowDelay;this.showTimer=setTimeout(()=>{this.showTimer=null,this.pendingAnchor?.anchorEl===e.anchorEl&&this.showTooltip(e,t)},n)}showTooltip(e,t){if(!this.canShowTooltip(e))return;let n=this.resolveTooltipText(e);!this.shouldShowForContext(e,t,n)||!n||(this.activeAnchor=e,this.pendingAnchor=null,this.presentTooltip(e,t,n))}shouldShowForContext(e,t,n){if(!n)return!1;let r=e.colId==null?void 0:this.deps.columnModel.getColumnById(e.colId);return Nc({mode:t.tooltipShowMode,text:n,anchorEl:e.anchorEl,isAutoHeight:e.location===`cell`&&r?r.autoHeight:!1,enableTooltips:t.enableTooltips})}presentTooltip(e,t,n){let r=e.colId==null?void 0:this.deps.columnModel.getColumnById(e.colId),i=this.resolveTooltipComponent(e,r),a=t.tooltipMouseTrack?this.lastPointer??void 0:void 0;if(i){this.deps.tooltipService.show({anchorEl:e.anchorEl,location:e.location,tooltipComponent:i,tooltipParams:this.buildTooltipParams(e,n,r),mouseTrack:t.tooltipMouseTrack,pointer:a,interaction:t.tooltipInteraction});return}this.deps.tooltipService.show({anchorEl:e.anchorEl,text:n,location:e.location,mouseTrack:t.tooltipMouseTrack,pointer:a,interaction:t.tooltipInteraction})}resolveTooltipComponent(e,t){let n=this.deps.getOptions().tooltipComponent;return e.location===`statusBar`?n:t?.tooltipComponent??n}buildTooltipParams(e,t,n){let r=e.rowId==null?void 0:this.deps.rowModel.getRowById(e.rowId);return{location:e.location,value:r?.data&&n?.prop?r.data[n.prop]:t,valueFormatted:t,colId:e.colId,rowId:e.rowId,data:r?.data,hideTooltipCallback:()=>this.close(),api:this.deps.getApi()}}canShowTooltip(e){if(this.deps.cellCommentService()?.getOpenEditorCell())return!1;if(e.location===`statusBar`)return!0;if(!e.colId)return!1;let t=this.deps.columnModel.getColumnById(e.colId);return!(!t||t.hidden||t.suppressTooltip||e.location===`cell`&&e.rowId&&(this.isEditingCell(e.rowId,e.colId)||this.hasValidationTooltip(e.rowId,e.colId)))}isEditingCell(e,t){if(!this.deps.isEditing())return!1;let n=this.deps.getEditingCell();return n?.rowId===e&&n?.colId===t}hasValidationTooltip(e,t){return!!this.deps.validationFeedback.getRegistry().get(e)?.get(t)?.length}resolveTooltipText(e){if(e.location===`statusBar`)return SS(e.anchorEl);if(!e.colId)return null;let t=this.deps.columnModel.getColumnById(e.colId);if(!t)return null;if(e.location===`header`)return bS({column:t,headerTooltip:t.headerTooltip,headerTooltipValueGetter:t.headerTooltipValueGetter});if(e.location===`footer`)return xS({column:t,displayText:e.anchorEl.textContent?.trim()??``,tooltipField:t.tooltipField,tooltipValueGetter:t.tooltipValueGetter});if(!e.rowId)return null;let n=this.deps.rowModel.getRowById(e.rowId);return n?yS({rowNode:n,column:t,tooltipField:t.tooltipField,tooltipValueGetter:t.tooltipValueGetter,indexColumnOptions:this.deps.getIndexColumnOptions(),location:`cell`,anchorEl:e.anchorEl}):null}clearShowTimer(){this.showTimer!=null&&(clearTimeout(this.showTimer),this.showTimer=null)}},BS=class{activeComp=null;activeMountEl=null;mount(e,t,n){this.destroy(),e.replaceChildren();let r=n(t,e);if(r&&typeof r.getGui==`function`){let n=r.getGui();n!==e&&!e.contains(n)&&e.replaceChildren(n),r.init?.(t),this.activeComp=r,this.activeMountEl=e;return}this.activeMountEl=e}refresh(e){return this.activeComp?.refresh?.(e)??!1}destroy(){this.activeComp?.destroy?.(),this.activeMountEl?.replaceChildren(),this.activeComp=null,this.activeMountEl=null}};function VS(e){let{viewportPadding:t}=Ex(e.anchorEl??null);if(e.mouseTrack&&e.pointer){let n=e.pointer.clientX+16,r=e.pointer.clientY+16;return n=Math.max(t,Math.min(n,window.innerWidth-e.popupWidth-t)),r=Math.max(t,Math.min(r,window.innerHeight-e.popupHeight-t)),{left:n,top:r}}let n=e.anchorRect,r=n.left+n.width/2-e.popupWidth/2,i=n.bottom+8;return i+e.popupHeight>window.innerHeight-t&&(i=n.top-e.popupHeight-8),r=Math.max(t,Math.min(r,window.innerWidth-e.popupWidth-t)),i=Math.max(t,Math.min(i,window.innerHeight-e.popupHeight-t)),{left:r,top:i}}var HS=`mg-tooltip__text`,US=`mg-tooltip__content`,WS=class{popupEl=null;textEl=null;contentEl=null;componentHost=new BS;anchorEl=null;hideTimer=null;mouseTrackListener=null;interactionCleanup=null;visible=!1;mouseTrack=!1;interaction=!1;lastPointer=null;show(e){this.cancelHide(),this.anchorEl=e.anchorEl,this.mouseTrack=e.mouseTrack===!0,this.interaction=e.interaction===!0,this.lastPointer=e.pointer??null;let t=this.ensurePopup();t.classList.toggle(`${Sc}--interactive`,this.interaction),this.syncThemeFromAnchor(e.anchorEl),e.tooltipComponent&&e.tooltipParams?(this.textEl.hidden=!0,this.contentEl.hidden=!1,this.componentHost.mount(this.contentEl,e.tooltipParams,e.tooltipComponent)):(this.componentHost.destroy(),this.textEl.hidden=!1,this.contentEl.hidden=!0,this.textEl.textContent=e.text??``),t.hidden=!1,this.visible=!0,this.updatePosition(),this.syncMouseTrackListener(),this.syncInteractionListeners(t)}hide(e=!0){e&&this.cancelHide(),this.detachMouseTrackListener(),this.detachInteractionListeners(),this.componentHost.destroy(),this.popupEl&&(this.popupEl.hidden=!0,this.popupEl.dataset.theme=``),this.visible=!1,this.anchorEl=null,this.lastPointer=null}scheduleHide(e){this.cancelHide(),this.hideTimer=setTimeout(()=>{this.hideTimer=null,this.hide(!0)},e)}cancelHide(){this.hideTimer!=null&&(clearTimeout(this.hideTimer),this.hideTimer=null)}isVisible(){return this.visible}getAnchorEl(){return this.anchorEl}getPopupEl(){return this.popupEl}updatePointer(e){!this.visible||!this.mouseTrack||(this.lastPointer=e,this.updatePosition())}refreshPosition(){this.visible&&this.updatePosition()}destroy(){this.cancelHide(),this.detachMouseTrackListener(),this.detachInteractionListeners(),this.componentHost.destroy(),this.popupEl?.remove(),this.popupEl=null,this.textEl=null,this.contentEl=null,this.anchorEl=null,this.visible=!1}ensurePopup(){if(this.popupEl)return this.popupEl;let e=document.createElement(`div`);e.className=Sc,e.hidden=!0,e.setAttribute(`role`,`tooltip`);let t=document.createElement(`div`);t.className=HS;let n=document.createElement(`div`);return n.className=US,n.hidden=!0,e.append(t,n),document.body.append(e),this.popupEl=e,this.textEl=t,this.contentEl=n,e}syncThemeFromAnchor(e){let t=(e.closest(`.magic-grid[data-theme], .mg-root[data-theme]`)??e.closest(`.magic-grid, .mg-root`))?.getAttribute(`data-theme`)??`light`;this.popupEl.dataset.theme=t}updatePosition(){if(!this.popupEl||!this.anchorEl)return;let e=this.anchorEl.getBoundingClientRect(),t=this.popupEl.getBoundingClientRect(),n=VS({anchorRect:e,popupWidth:Math.min(t.width||420,420),popupHeight:t.height||this.popupEl.offsetHeight,anchorEl:this.anchorEl,mouseTrack:this.mouseTrack,pointer:this.lastPointer??void 0});this.popupEl.style.left=`${n.left}px`,this.popupEl.style.top=`${n.top}px`,this.popupEl.style.maxWidth=`420px`}syncMouseTrackListener(){if(!this.mouseTrack){this.detachMouseTrackListener();return}this.mouseTrackListener||(this.mouseTrackListener=e=>{this.updatePointer({clientX:e.clientX,clientY:e.clientY})},document.addEventListener(`mousemove`,this.mouseTrackListener))}detachMouseTrackListener(){this.mouseTrackListener&&=(document.removeEventListener(`mousemove`,this.mouseTrackListener),null)}syncInteractionListeners(e){if(this.detachInteractionListeners(),!this.interaction)return;let t=()=>{this.cancelHide()},n=()=>{this.hide(!0)};e.addEventListener(`pointerenter`,t),e.addEventListener(`pointerleave`,n),this.interactionCleanup=()=>{e.removeEventListener(`pointerenter`,t),e.removeEventListener(`pointerleave`,n)}}detachInteractionListeners(){this.interactionCleanup?.(),this.interactionCleanup=null}},GS=class{activeComp=null;activeMountEl=null;mount(e,t,n){this.destroy(),e.replaceChildren();let r=n(t,e);if(r&&typeof r.getGui==`function`){let n=r.getGui();n!==e&&!e.contains(n)&&e.replaceChildren(n),r.init?.(t),this.activeComp=r,this.activeMountEl=e;return}this.activeMountEl=e}refresh(e){return this.activeComp?.refresh?.(e)??!1}destroy(){this.activeComp?.destroy?.(),this.activeMountEl?.replaceChildren(),this.activeComp=null,this.activeMountEl=null}};function KS(e){return e.overlayType===`loading`?{blockEvents:!0,masked:!0}:e.overlayInteraction?{blockEvents:!0,masked:!1}:{blockEvents:!1,masked:!1}}function qS(e,t,n){let{blockEvents:r,masked:i}=KS(n),a=`${Lc}--interactive`;e.classList.toggle(a,r&&!i),e.classList.toggle(zc,i);let o=r?`auto`:`none`;e.style.pointerEvents=o,t.style.pointerEvents=o}function JS(){let e=document.createElement(`div`);e.className=Lc,e.hidden=!0,e.setAttribute(`aria-hidden`,`true`);let t=document.createElement(`div`);t.className=Rc;let n=document.createElement(`div`);return n.className=`mg-overlay__mount`,t.appendChild(n),e.appendChild(t),{overlayEl:e,wrapperEl:t,contentEl:n}}var YS=new Set([`span`,`div`,`p`,`svg`,`strong`,`em`,`b`,`i`]);function XS(e){let t=e.trim();if(!t)return``;if(!t.includes(`<`))return t;let n=new DOMParser().parseFromString(t,`text/html`),r=n.body.firstElementChild;if(!r||n.body.children.length!==1)return n.body.textContent?.trim()??t;let i=r.tagName.toLowerCase();return YS.has(i)?r.cloneNode(!0):r.textContent?.trim()??t}function ZS(e){switch(e){case`loading`:return Vc;case`noRows`:return Hc;case`noMatchingRows`:return Uc;default:return e}}function QS(e,t={}){let n=document.createElement(`div`);n.className=`${Bc} ${ZS(e)}`;let r=t.overlayText??Gc(e);if(t.template){let e=XS(t.template);return typeof e==`string`?n.textContent=e:n.appendChild(e),n}if(e===`loading`){let e=document.createElement(`span`);e.className=Wc,e.setAttribute(`aria-hidden`,`true`);let t=document.createElement(`span`);return t.className=`mg-overlay__text`,t.textContent=r,n.append(e,t),n}return n.textContent=r,n}var $S=class{deps;visibleType=null;componentHost=new GS;constructor(e){this.deps=e}sync(e,t){if(!e||!t){this.hide();return}if(this.visibleType===e){this.syncLayout(e),this.renderContent(e,t);return}this.visibleType=e,this.deps.overlayEl.hidden=!1,this.deps.overlayEl.setAttribute(`aria-hidden`,`false`),this.deps.overlayEl.dataset.overlayType=e,this.syncLayout(e),this.renderContent(e,t)}hide(){this.componentHost.destroy(),this.deps.contentEl.replaceChildren(),this.visibleType=null,this.deps.overlayEl.hidden=!0,this.deps.overlayEl.setAttribute(`aria-hidden`,`true`),delete this.deps.overlayEl.dataset.overlayType,this.syncLayout(null)}destroy(){this.hide()}getVisibleType(){return this.visibleType}syncLayout(e=this.visibleType){qS(this.deps.overlayEl,this.deps.wrapperEl,{overlayType:e,overlayInteraction:this.deps.getOverlayInteraction()})}renderContent(e,t){let n={overlayType:e,api:this.deps.getApi(),overlayText:Gc(e)};if(t.component){this.componentHost.mount(this.deps.contentEl,n,t.component);return}this.componentHost.destroy(),this.deps.contentEl.replaceChildren(QS(e,{template:t.template,overlayText:n.overlayText}))}};function eC(e){return e.filter(e=>P(e.rowKind)===`BUSINESS`).length}function tC(e){let t=t=>Jc(t,e.suppressOverlays);return e.userForcedNoRows&&!t(`noRows`)?`noRows`:e.loading===!0&&!t(`loading`)||e.loading===void 0&&!e.rowDataReady&&!t(`loading`)?`loading`:e.sourceRowCount===0&&!t(`noRows`)?(e.infiniteVirtualRowCount??0)>0?null:`noRows`:e.sourceRowCount>0&&e.displayDataRowCount===0&&e.isAnyFilterActive&&!t(`noMatchingRows`)?`noMatchingRows`:null}function nC(e,t){switch(e){case`loading`:return{overlayType:e,component:t.loadingOverlayComponent,componentParams:t.loadingOverlayComponentParams,template:t.overlayLoadingTemplate};case`noRows`:return{overlayType:e,component:t.noRowsOverlayComponent,componentParams:t.noRowsOverlayComponentParams,template:t.overlayNoRowsTemplate};case`noMatchingRows`:return{overlayType:e,component:t.noMatchingRowsOverlayComponent,componentParams:t.noMatchingRowsOverlayComponentParams,template:t.overlayNoMatchingRowsTemplate};default:return e}}function rC(e,t){let n=nC(e,t);return n.component?n:t.overlayComponent?{overlayType:e,component:t.overlayComponent,componentParams:t.overlayComponentParams}:n}var iC=class{deps;userForcedNoRows=!1;rowDataReady=!1;currentType=null;destroyed=!1;constructor(e){this.deps=e}markRowDataReady(){this.rowDataReady=!0}isRowDataReady(){return this.rowDataReady}isUserForcedNoRows(){return this.userForcedNoRows}getOverlayType(){return this.currentType}isOverlayShowing(){return this.currentType!=null}getOverlayPresentation(){return this.currentType?rC(this.currentType,this.deps.getResolvedOptions()):null}buildResolveInput(){let e=this.deps.getResolvedOptions();return{loading:e.loading,suppressOverlays:e.suppressOverlays,sourceRowCount:this.deps.getSourceRowCount(),displayDataRowCount:eC(this.deps.getDisplayRows()),isAnyFilterActive:this.deps.isAnyFilterActive(),rowDataReady:this.rowDataReady,userForcedNoRows:this.userForcedNoRows,infiniteVirtualRowCount:this.deps.getInfiniteVirtualRowCount?.()??0}}updateOverlay(){if(this.destroyed)return;let e=tC(this.buildResolveInput());this.setCurrentType(e)}showNoRowsOverlay(){this.destroyed||(this.userForcedNoRows=!0,this.updateOverlay())}hideOverlay(){if(this.destroyed)return!1;if(this.deps.getResolvedOptions().loading===!0)return this.deps.warn?.(`[MagicGrid] hideOverlay() ignored while loading=true`),!1;if(this.currentType===`noMatchingRows`)return this.deps.warn?.(`[MagicGrid] hideOverlay() does not hide noMatchingRows overlay; clear filters instead`),!1;let e=this.userForcedNoRows;return this.userForcedNoRows=!1,(e||this.currentType!=null)&&this.updateOverlay(),!0}destroy(){this.destroyed||(this.destroyed=!0,this.setCurrentType(null),this.userForcedNoRows=!1)}setCurrentType(e){if(this.currentType===e)return;let t=this.currentType;this.currentType=e,this.deps.onOverlayChanged?.(e,t)}};async function aC(n,r,i={}){let a=i.signal??new AbortController().signal,o=i.invalidEditValueMode??`block`;e.l(a);let s={...n.data},c=[];for(let e of r){let t=hn(e.rawValue,e.column,e.editorParams);if(sn(t))return{ok:!1,failedColId:e.column.colId,revert:o===`revert`};c.push({column:e.column,editorParams:e.editorParams,oldValue:e.oldValue,parsedValue:t})}let l=[];try{let e=await Promise.all(c.map(async e=>{let t=await Zf(e.column,e.editorParams,e.parsedValue,a);return{colId:e.column.colId,errors:t}}));for(let t of e)t.errors&&l.push({colId:t.colId,errors:t.errors})}catch(t){throw e.c(t),t}let u;if(l.length>0)if(o===`keep`)u={cellErrors:l};else{let e=l[0];return{ok:!1,failedColId:e.colId,errors:e.errors,cellErrors:l,revert:o===`revert`}}let d=new Map(c.map(e=>[e.column.colId,e.parsedValue]));try{let e=await Qf(i.rowValidator,{rowId:i.rowKey?t.T(n,i.rowKey):n.id,rowIndex:n.rowIndex,data:n.data,draftValues:d,signal:a});if(e){let t=Xf(c.map(e=>e.column.colId),e.colIds);if(o===`keep`)u={...u,rowErrors:e.errors,rowErrorColIds:t};else return{ok:!1,failedColId:t[0]??c[0]?.column.colId??``,rowErrors:e.errors,rowErrorColIds:t,revert:o===`revert`}}}catch(t){throw e.c(t),t}let f=[];try{for(let t of c){e.l(a);let{column:r,editorParams:i,oldValue:c,parsedValue:l}=t;if(c!==l){if(!await _n(r,i,l,a))return Object.assign(n.data,s),{ok:!1,failedColId:r.colId,revert:o===`revert`};f.push({colId:r.colId,oldValue:c,newValue:l})}}}catch(t){throw Object.assign(n.data,s),e.c(t),t}return u?{ok:!0,changes:f,validationWarnings:u}:{ok:!0,changes:f}}async function oC(t,n,r,i,a){try{let e=await aC(n,r.map(e=>({column:e.column,editorParams:{...e.params,value:e.oldValue,data:n.data,stopEditing:(e=!0)=>t.stopEditing(!e),cancelCommit:()=>t.cancelCommit(),getEditPhase:()=>t.getEditSessionPhase()},rawValue:i.get(e.column.colId)??``,oldValue:e.oldValue})),{signal:a.signal,rowValidator:t.deps.rowValidator,invalidEditValueMode:t.getInvalidEditValueMode(),rowKey:t.deps.rowModel.getRowKey()});return e.ok?(e.changes.length>0&&await ap(t.deps,async()=>{for(let i of e.changes){let e=r.find(e=>e.column.colId===i.colId)?.column;e&&sp(t.deps.recordRowDataChange,n,e,i.oldValue,i.newValue,`rowEdit`)}t.deps.applyTransaction({update:[n.data]});for(let r of e.changes)t.deps.eventBus.emit(`cellValueChanged`,{rowId:n.id,colId:r.colId,oldValue:r.oldValue,newValue:r.newValue,rowNode:n});let i=new Map(e.changes.map(e=>[e.colId,e]));for(let e of r){let r=i.get(e.column.colId);r&&await ip(e.column,n,{oldValue:r.oldValue,newValue:r.newValue},t.deps,{source:`rowEdit`,signal:a.signal})}t.deps.syncPinnedRows()}),{ok:!0,cells:r.map(t=>{let n=e.changes.find(e=>e.colId===t.column.colId);return{colId:t.column.colId,committed:!0,oldValue:t.oldValue,newValue:n?.newValue??t.oldValue}}),validationWarnings:e.validationWarnings}):e}catch(t){if(e.c(t))return{ok:`aborted`};throw t}}async function sC(t,n,r,i,a,o){if(!r.prop)return{ok:!0};try{let e=hn(i,r,a);if(sn(e))return{ok:!1};let s=a.value,c=await Zf(r,a,e,o.signal),l=t.getInvalidEditValueMode();return c&&l!==`keep`?{ok:!1,errors:c,revert:l===`revert`}:s===e?c?{ok:!0,newValue:e,validationErrors:c}:{ok:!0,newValue:e}:await _n(r,a,e,o.signal)?(await ap(t.deps,async()=>{sp(t.deps.recordRowDataChange,n,r,s,e,`cellEdit`),t.deps.applyTransaction({update:[n.data]}),t.deps.eventBus.emit(`cellValueChanged`,{rowId:n.id,colId:r.colId,oldValue:s,newValue:e,rowNode:n}),await ip(r,n,{oldValue:s,newValue:e},t.deps,{source:`cellEdit`,signal:o.signal}),t.deps.syncPinnedRows()}),c?{ok:!0,newValue:e,validationErrors:c}:{ok:!0,newValue:e}):{ok:!1}}catch(t){if(e.c(t))return{ok:`aborted`};throw t}}function cC(e,t,n){for(let{colId:r,errors:i}of Yf(t,n)){let t=e.find(e=>e.colId===r);t?t.errors=[...new Set([...t.errors,...i])]:e.push({colId:r,errors:[...i]})}}async function lC(e,n,r={}){let i=r.signal??new AbortController().signal,a=[];for(let t of n){if(!t.column.cellValidator)continue;let n=W(e,t.column),r=await Zf(t.column,t.editorParams,n,i);r&&a.push({colId:t.column.colId,errors:r})}if(r.rowValidator&&n.length>0){let o=new Map(n.map(t=>[t.column.colId,W(e,t.column)])),s=await Qf(r.rowValidator,{rowId:r.rowKey?t.T(e,r.rowKey):e.id,rowIndex:e.rowIndex,data:e.data,draftValues:o,signal:i});s&&cC(a,Xf(n.map(e=>e.column.colId),s.colIds),s.errors)}return a}async function uC(e,t={}){let n=t.signal??new AbortController().signal,r=t.showFeedback!==!1,i=pC(e.rowModel,t.rowIds),a=[],o=await Promise.all(i.map(async t=>({rowNode:t,invalidCells:await lC(t,mC(e,t),{rowValidator:e.rowValidator,signal:n,rowKey:e.rowModel.getRowKey()})}))),s=[];for(let{rowNode:e,invalidCells:t}of o){for(let n of t)a.push({rowId:e.id,rowIndex:e.rowIndex,colId:n.colId,errors:n.errors});s.push({rowId:e.id,cells:t})}return r&&(t.rowIds?e.validationFeedback.applyRowsValidationFeedback(e.mountEl,s):e.validationFeedback.applyGridValidationFeedback(e.mountEl,s)),{valid:a.length===0,cellErrors:a}}async function dC(e,n){let r=n.signal??new AbortController().signal,i=n.showFeedback!==!1,a=[];for(let{rowId:o,colId:s}of n.cells){let n=t.m(o),c=e.rowModel.getRowById(n),l=i?fC(e.mountEl,n):null;if(!c){i&&e.validationFeedback.clearRowCell(n,l,s);continue}let u=e.columnModel.getColumnById(s);if(!u||!H(u,c,e.getCellDisableContext?.())||!u.cellValidator){i&&e.validationFeedback.clearRowCell(n,l,s);continue}let d=await Zf(u,e.createEditorParams(c,u),W(c,u),r);d?(a.push({rowId:n,rowIndex:c.rowIndex,colId:s,errors:d}),i&&e.validationFeedback.setRowCellInvalid(n,l,{colId:s,errors:d})):i&&e.validationFeedback.clearRowCell(n,l,s)}return{valid:a.length===0,cellErrors:a}}function fC(e,t){return e.querySelector(`.mg-row[data-row-id="${t}"]`)}function pC(e,n){let r=t.g(n);if(r)return r.map(t=>e.getRowById(t)).filter(e=>e!=null);let i=[],a=e.getRowCount();for(let t=0;t<a;t++){let n=e.getRow(t);n&&i.push(n)}return i}function mC(e,t){let n=e.getCellDisableContext?.();return e.columnModel.getColumns().filter(e=>H(e,t,n)).map(n=>({column:n,editorParams:e.createEditorParams(t,n)}))}function hC(e,t){for(let[n,r]of t){let t=e.get(n);t||(t=new Set,e.set(n,t));for(let e of r)t.add(e)}}var gC=class{getCtx;isCommitIdle;awaitCommitIdle;pendingSeeds=new Map;flushScheduled=!1;flushing=!1;idleWaitScheduled=!1;constructor(e,t,n){this.getCtx=e,this.isCommitIdle=t,this.awaitCommitIdle=n}notifyEditSessionIdle(){if(this.pendingSeeds.size===0){this.idleWaitScheduled=!1;return}this.isCommitIdle()&&(this.idleWaitScheduled=!1,this.scheduleFlush())}enqueue(e){e.size!==0&&(hC(this.pendingSeeds,e),this.scheduleFlush())}scheduleFlush(){this.flushScheduled||this.flushing||(this.flushScheduled=!0,queueMicrotask(()=>{this.flushScheduled=!1,this.flush()}))}takePendingSnapshot(){let e=new Map;for(let[t,n]of this.pendingSeeds)e.set(t,[...n]);return this.pendingSeeds.clear(),e}restorePending(e){hC(this.pendingSeeds,e)}deferFlushUntilIdle(){this.idleWaitScheduled||this.pendingSeeds.size===0||(this.idleWaitScheduled=!0,window.setTimeout(()=>{if(!this.idleWaitScheduled||this.pendingSeeds.size===0){this.idleWaitScheduled=!1;return}if(this.getCtx().deps.isDestroyed()){this.pendingSeeds.clear(),this.idleWaitScheduled=!1;return}this.isCommitIdle()&&(this.idleWaitScheduled=!1,this.scheduleFlush())},0))}async flush(){if(!(this.flushing||this.pendingSeeds.size===0)){this.flushing=!0;try{let e=this.getCtx();if(e.deps.isDestroyed()){this.pendingSeeds.clear();return}if(this.isCommitIdle()||await this.awaitCommitIdle(),e.deps.isDestroyed()){this.pendingSeeds.clear();return}if(!this.isCommitIdle()){this.deferFlushUntilIdle();return}let t=this.takePendingSnapshot();if(t.size===0)return;for(let[n,r]of t){if(e.deps.isDestroyed()){this.restorePending(t);return}if(!this.isCommitIdle()){this.restorePending(t),this.deferFlushUntilIdle();return}await kC(e,n,[...r])}}finally{this.flushing=!1,this.pendingSeeds.size>0&&(this.isCommitIdle()?this.scheduleFlush():this.deferFlushUntilIdle())}}}};function _C(e){return e.invalidEditValueMode??`block`}function $(e){let t=e.mountEl.querySelector(`.mg-header-row`);t&&e.validationFeedback.syncHeaderDom(t,e.columnModel.getColumns())}function vC(e){e.deps.validationFeedback.syncDom(e.deps.mountEl),$(e.deps)}function yC(e,n){let r=n?.rowIds;if(r?.length){for(let n of r){let r=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${n}"]`);e.deps.validationFeedback.clearRow(t.m(n),r)}$(e.deps);return}e.deps.validationFeedback.clear(e.deps.mountEl),$(e.deps)}function bC(e,t){yC(e,{rowIds:t.rowIds})}function xC(e,n){for(let{rowId:r,colId:i}of n.cells){let n=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${r}"]`);e.deps.validationFeedback.clearRowCell(t.m(r),n,i)}$(e.deps)}async function SC(e,t){let n=await uC({mountEl:e.deps.mountEl,rowModel:e.deps.rowModel,columnModel:e.deps.columnModel,rowValidator:e.deps.rowValidator,validationFeedback:e.deps.validationFeedback,createEditorParams:(t,n)=>e.createCellEditorParams(t,n),getCellDisableContext:e.deps.getCellDisableContext},t);return e.deps.redrawImmediately(),vC(e),n}async function CC(e,t){return SC(e,{rowIds:t.rowIds,signal:t.signal,showFeedback:t.showFeedback})}async function wC(e,t){let n=await dC({mountEl:e.deps.mountEl,rowModel:e.deps.rowModel,columnModel:e.deps.columnModel,rowValidator:e.deps.rowValidator,validationFeedback:e.deps.validationFeedback,createEditorParams:(t,n)=>e.createCellEditorParams(t,n),getCellDisableContext:e.deps.getCellDisableContext},t);return e.deps.redrawImmediately(),vC(e),n}function TC(e,t){return e.columnModel.getColumns().filter(n=>H(n,t,e.getCellDisableContext())).map(e=>e.colId)}function EC(e,t,n){return e.rowValidator&&U(e.editBehavior)?TC(e,t):n}function DC(e,t,n){OC(e,new Map([[t,n]]))}function OC(e,t){e.persistedValidationScheduler.enqueue(t)}async function kC(e,n,r){if(e.deps.isDestroyed()||e.isEditing())return;let i=e.deps.rowModel.getRowById(n);if(!i)return;let a=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${n}"]`),o=EC(e.deps,i,r);if(o.length===0){e.deps.validationFeedback.clearRow(n,a),$(e.deps);return}let s=o.map(t=>{let n=e.deps.columnModel.getColumnById(t);return n?{column:n,editorParams:e.createCellEditorParams(i,n)}:null}).filter(e=>e!=null),c=[];try{c=await lC(i,s,{rowValidator:e.deps.rowValidator,rowKey:e.deps.rowModel.getRowKey()})}catch{return}if(U(e.deps.editBehavior)){c.length>0?e.deps.validationFeedback.setRowInvalid(n,a,c):e.deps.validationFeedback.clearRow(t.m(n),a),$(e.deps);return}let l=new Set(o);for(let e of c)l.add(e.colId);for(let r of l){let i=c.find(e=>e.colId===r);i?e.deps.validationFeedback.setRowCellInvalid(n,a,i):e.deps.validationFeedback.clearRowCell(t.m(n),a,r)}$(e.deps)}function AC(e,t,n){e.eventBus.emit(`cellValidationFailed`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,errors:n,mode:`keep`})}function jC(e,t,n){let r=n.cellErrors?.[0]?.colId??t.colId;e.eventBus.emit(`rowValidationFailed`,{rowId:t.rowId,rowIndex:t.rowIndex,failedColId:r,cellErrors:n.cellErrors,rowErrors:n.rowErrors,mode:`keep`,rowNode:t.rowNode})}function MC(e,t,n,r){let i=e.getInvalidEditValueMode();e.deps.eventBus.emit(`cellValidationFailed`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,errors:n,mode:i}),r?(e.deps.validationFeedback.clearRow(t.rowId,t.rowElement),$(e.deps)):(e.deps.validationFeedback.showCellInvalid({rowId:t.rowId,rowElement:t.rowElement,colId:t.colId,errors:n,editorMountEl:e.deps.editingService.getEditorMountEl()}),$(e.deps))}function NC(e,t,n){let r=e.getInvalidEditValueMode();if(e.deps.eventBus.emit(`rowValidationFailed`,{rowId:t.rowId,rowIndex:t.rowIndex,failedColId:n.failedColId,cellErrors:n.cellErrors,rowErrors:n.rowErrors,mode:r,rowNode:t.rowNode}),n.revert)e.deps.validationFeedback.clearRow(t.rowId,t.rowElement),$(e.deps);else{let r=n.cellErrors&&n.cellErrors.length>0?n.cellErrors.map(t=>({colId:t.colId,errors:t.errors,editorMountEl:e.deps.rowEditingService.getEditorMountEl(t.colId)})):Yf(n.rowErrorColIds?.length?n.rowErrorColIds:[n.failedColId],n.rowErrors??n.errors??[`Validation failed`]).map(t=>({colId:t.colId,errors:t.errors,editorMountEl:e.deps.rowEditingService.getEditorMountEl(t.colId)}));e.deps.validationFeedback.showCellsInvalid({rowId:t.rowId,rowElement:t.rowElement,cells:r}),$(e.deps)}}function PC(e,t){let n=e.deps.rowModel.getRowById(t.rowId);for(let r of t.cells)e.deps.eventBus.emit(`cellEditingStopped`,{rowId:t.rowId,colId:r.colId,rowIndex:t.rowIndex,committed:r.committed,oldValue:r.oldValue,newValue:r.newValue,rowNode:n});let r=t.committed?t.cells.filter(e=>e.committed&&e.oldValue!==e.newValue).map(e=>({colId:e.colId,oldValue:e.oldValue,newValue:e.newValue})):void 0;if(e.deps.eventBus.emit(`rowEditingStopped`,{rowId:t.rowId,rowIndex:t.rowIndex,committed:t.committed,changes:r,rowNode:n}),t.committed&&r&&r.length>0&&n&&e.deps.eventBus.emit(`rowValueChanged`,{rowId:t.rowId,rowIndex:t.rowIndex,rowNode:n,changes:r}),e.deps.syncPinnedRows(),t.committed){let n=t.cells.filter(e=>e.committed&&e.oldValue!==e.newValue).map(e=>e.colId);n.length>0&&e.deps.refreshCells({rowIds:[t.rowId],colIds:n})}else e.deps.refreshCells({rowIds:[t.rowId],force:!0});e.deps.applyFocusVisuals(),queueMicrotask(()=>{!e.deps.isDestroyed()&&!e.isEditing()&&e.deps.viewportEl.focus({preventScroll:!0})}),DC(e.validationCtx(),t.rowId,t.cells.map(e=>e.colId)),e.validationCtx().persistedValidationScheduler.notifyEditSessionIdle()}function FC(e,t){let n=e.deps.rowModel.getRowById(t.rowId);e.deps.eventBus.emit(`cellEditingStopped`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,committed:t.committed,oldValue:t.oldValue,newValue:t.newValue,rowNode:n}),e.deps.syncPinnedRows();let r=()=>{t.committed?t.oldValue!==t.newValue&&e.deps.refreshCells({rowIds:[t.rowId],colIds:[t.colId]}):e.deps.refreshCells({rowIds:[t.rowId],colIds:[t.colId],force:!0})};e.isEditing()?requestAnimationFrame(()=>{e.deps.isDestroyed()||r()}):r(),e.deps.applyFocusVisuals(),queueMicrotask(()=>{!e.deps.isDestroyed()&&!e.isEditing()&&e.deps.viewportEl.focus({preventScroll:!0})}),DC(e.validationCtx(),t.rowId,[t.colId]),e.validationCtx().persistedValidationScheduler.notifyEditSessionIdle()}function IC(e,n){if(e.deps.isDestroyed())return;let r=e.deps.rowModel.getRow(n.rowIndex);if(!r)return;let i=e.deps.columnModel.getColumnById(n.colKey);if(!i||t.it(i.colId)||t.X(i.colId)||t.V(i)||!H(i,r,e.deps.getCellDisableContext()))return;let a=e.deps.getColIndex(i.colId);e.deps.cellFocusService.setFocusedCell({rowId:r.id,colId:i.colId,rowIndex:n.rowIndex,colIndex:a}),e.deps.applyFocusVisuals(),e.deps.ensureIndexVisible(n.rowIndex),e.deps.ensureColumnVisible(a),e.deps.redrawImmediately();let o=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${r.id}"]`);o&&LC(e,{rowId:r.id,colId:i.colId,rowIndex:n.rowIndex,rowNode:r,rowElement:o})}function LC(e,t){if(U(e.deps.editBehavior)){RC(e,t);return}zC(e,t)}function RC(e,n){if(e.deps.rowEditingService.isCommitting()){e.deps.rowEditingService.awaitCommitIdle().then(()=>{e.deps.rowEditingService.isCommitting()||RC(e,n)});return}if(e.deps.editingService.isEditing()){e.deps.editingService.stopEditing(!0).then(()=>{e.deps.editingService.isEditing()||RC(e,n)});return}if(e.deps.rowEditingService.isEditing()){if(e.deps.rowEditingService.getEditingRow()?.rowId===n.rowId)return;e.deps.rowEditingService.stopRowEditing(!0).then(t=>{t?.committed&&!e.deps.rowEditingService.isEditing()&&RC(e,n)});return}let r=e.deps.columnModel.getColumns().filter(r=>H(r,n.rowNode,e.deps.getCellDisableContext())&&!t.V(r)).map(t=>{let r=e.createCellEditorParams(n.rowNode,t),{stopEditing:i,setKeyboardPolicy:a,cancelCommit:o,getEditPhase:s,...c}=r;return{column:t,params:c,oldValue:r.value}});if(r.length===0)return;let i=e.validationCtx();if(e.deps.rowEditingService.startRowEditing({rowElement:n.rowElement,rowNode:n.rowNode,columns:r,focusColId:n.colId,onCommitRow:(t,i)=>oC(e.commitCtx(),n.rowNode,r,t,i),onFocusColChange:t=>{let r=e.deps.getColIndex(t);e.deps.cellFocusService.setFocusedCell({rowId:n.rowId,colId:t,rowIndex:n.rowIndex,colIndex:r}),e.deps.applyFocusVisuals()},onRowEditingStopped:t=>{PC(e.lifecycleCtx(),t)},onCommitLifecycle:{onStarted:()=>{e.deps.eventBus.emit(`rowCommitStarted`,{rowId:n.rowId,rowIndex:n.rowIndex,editableColIds:r.map(e=>e.column.colId),rowNode:n.rowNode})},onFinished:t=>{e.deps.eventBus.emit(`rowCommitFinished`,{rowId:n.rowId,rowIndex:n.rowIndex,committed:t.ok===!0,aborted:t.ok===`aborted`,rowNode:n.rowNode}),t.ok===!1&&t.failedColId?NC(i,n,t):t.ok===!0&&t.validationWarnings&&jC(e.deps,n,t.validationWarnings)},onAborted:()=>{e.deps.eventBus.emit(`editCommitAborted`,{rowId:n.rowId,rowIndex:n.rowIndex})}}})){e.deps.eventBus.emit(`rowEditingStarted`,{rowId:n.rowId,rowIndex:n.rowIndex,editableColIds:r.map(e=>e.column.colId),rowNode:n.rowNode});for(let t of r)e.deps.eventBus.emit(`cellEditingStarted`,{rowId:n.rowId,colId:t.column.colId,rowIndex:n.rowIndex,value:t.oldValue,rowNode:n.rowNode});e.deps.applyFocusVisuals(),e.deps.syncPinnedRows()}}function zC(e,n){if(e.deps.rowEditingService.isCommitting()){e.deps.rowEditingService.awaitCommitIdle().then(()=>{e.deps.rowEditingService.isCommitting()||zC(e,n)});return}if(e.deps.editingService.isCommitting()){e.deps.editingService.awaitCommitIdle().then(()=>{e.deps.editingService.isCommitting()||zC(e,n)});return}if(e.deps.rowEditingService.isEditing()){e.deps.rowEditingService.stopRowEditing(!0).then(t=>{t?.committed&&!e.deps.rowEditingService.isEditing()&&zC(e,n)});return}let r=e.deps.columnModel.getColumnById(n.colId);if(!r||!H(r,n.rowNode,e.deps.getCellDisableContext())||t.V(r))return;let i=e.createCellEditorParams(n.rowNode,r),a=i.formattedValue,o=i.value,s=()=>{e.deps.validationFeedback.clearRowCell(n.rowId,n.rowElement??null,n.colId),$(e.deps)},c=e.validationCtx();e.deps.editingService.startEditing(n.rowElement,n.rowNode,r,a,o,{editorParams:i,onCommit:(t,a)=>sC(e.commitCtx(),n.rowNode,r,t,i,a),onCancel:()=>void 0,onEditingInput:s,onEditingStopped:t=>{FC(e.lifecycleCtx(),t)},onTab:t=>{e.deps.onTabChainEdit(t)},onCommitLifecycle:{onStarted:()=>{s(),e.deps.eventBus.emit(`cellCommitStarted`,{rowId:n.rowId,colId:n.colId,rowIndex:n.rowIndex})},onFinished:t=>{e.deps.eventBus.emit(`cellCommitFinished`,{rowId:n.rowId,colId:n.colId,rowIndex:n.rowIndex,committed:t.ok===!0,aborted:t.ok===`aborted`}),t.ok===!1&&t.errors?MC(c,n,t.errors,t.revert):t.ok===!0&&t.validationErrors?.length&&AC(e.deps,n,t.validationErrors)},onAborted:()=>{e.deps.eventBus.emit(`editCommitAborted`,{rowId:n.rowId,colId:n.colId,rowIndex:n.rowIndex})}}}),e.deps.eventBus.emit(`cellEditingStarted`,{rowId:n.rowId,colId:n.colId,rowIndex:n.rowIndex,value:o,rowNode:n.rowNode}),e.deps.applyFocusVisuals(),e.deps.syncPinnedRows()}var BC=class{deps;persistedValidationScheduler;constructor(e){this.deps=e,this.persistedValidationScheduler=new gC(()=>this.validationCtx(),()=>!this.isEditing()&&!this.isCommitting(),()=>this.awaitCommitIdle())}validate(e){return SC(this.validationCtx(),e)}validateRows(e){return CC(this.validationCtx(),e)}validateCells(e){return wC(this.validationCtx(),e)}clearValidation(e){yC(this.validationCtx(),e)}clearRowValidation(e){bC(this.validationCtx(),e)}clearCellValidation(e){xC(this.validationCtx(),e)}syncValidationDom(){vC(this.validationCtx())}syncValidationHeaderDom(){$(this.deps)}schedulePersistedValidationRefreshForRows(e){OC(this.validationCtx(),e)}startEditingCell(e){IC(this.startCtx(),e)}stopEditing(e=!1){return this.deps.rowEditingService.isEditing()?this.deps.rowEditingService.stopRowEditing(!e).then(e=>e?{committed:e.committed}:null):this.deps.editingService.isEditing()?this.deps.editingService.stopEditing(!e).then(e=>e?{committed:e.committed}:null):Promise.resolve(null)}async commit(e=!1){let t=await this.stopEditing(e);return t===null?!this.isEditing():e?!0:t.committed===!0}isCommitting(){return this.deps.editingService.isCommitting()||this.deps.rowEditingService.isCommitting()}awaitCommitIdle(){return Promise.all([this.deps.editingService.awaitCommitIdle(),this.deps.rowEditingService.awaitCommitIdle()]).then(()=>void 0)}cancelCommit(){if(this.deps.rowEditingService.isCommitting()){this.deps.rowEditingService.cancelCommit();return}this.deps.editingService.isEditing()&&this.deps.editingService.cancelCommit()}cancelPendingBlurCommit(){this.deps.editingService.cancelPendingBlurCommit()}deferBlurCommitDuringPointerGesture(e){this.deps.editingService.deferBlurCommitDuringPointerGesture(e)}isBlurCommitDeferred(){return this.deps.editingService.isBlurCommitDeferred()}getEditSessionPhase(){return this.deps.rowEditingService.isEditing()?this.deps.rowEditingService.getEditSessionPhase():this.deps.editingService.getEditSessionPhase()}isEditing(){return this.deps.editingService.isEditing()||this.deps.rowEditingService.isEditing()}getEditingCell(){if(this.deps.rowEditingService.isEditing()){let e=this.deps.rowEditingService.getEditingRow(),t=this.deps.rowEditingService.getActiveColId();if(e&&t)return{rowId:e.rowId,colId:t};let n=this.deps.rowEditingService.getEditingCells()[0];return n?{rowId:n.rowId,colId:n.colId}:null}let e=this.deps.editingService.getEditingCell();return e?{rowId:e.rowId,colId:e.colId}:null}getEditingCells(){if(this.deps.rowEditingService.isEditing())return this.deps.rowEditingService.getEditingCells();let e=this.deps.editingService.getEditingCell();return e?[{rowId:e.rowId,rowIndex:e.rowIndex,colId:e.colId}]:[]}getEditingRowId(){return this.deps.rowEditingService.isEditing()?this.deps.rowEditingService.getEditingRow()?.rowId??null:this.deps.editingService.getEditingCell()?.rowId??null}focusRowEditingColumn(e){return this.deps.rowEditingService.focusEditingColumn(e)}cancelEditingForRemovedRows(e){let t=this.getEditingRowId();!t||!e.has(t)||this.stopEditing(!0)}registerCellEditor(e,t){this.deps.editorHost.register(e,t)}unregisterCellEditor(e){return this.deps.editorHost.unregister(e)}cancelEditingOnDestroy(){this.deps.editingService.cancelCommit(),this.deps.rowEditingService.cancelCommit(),this.deps.rowEditingService.isEditing()&&this.deps.rowEditingService.stopRowEditing(!1),this.deps.editingService.isEditing()&&this.deps.editingService.stopEditing(!1)}destroy(){this.deps.rowEditingService.destroy(),this.deps.editingService.destroy()}tryStartRowEditing(e){RC(this.startCtx(),e)}tryStartCellEditing(e){zC(this.startCtx(),e)}createCellEditorParams(e,t){return Fx(this.editorParamsCtx(),e,t)}validationCtx(){return{deps:this.deps,isEditing:()=>this.isEditing(),persistedValidationScheduler:this.persistedValidationScheduler,createCellEditorParams:(e,t)=>this.createCellEditorParams(e,t),getInvalidEditValueMode:()=>_C(this.deps)}}editorParamsCtx(){return{deps:this.deps,stopEditing:e=>this.stopEditing(e),cancelCommit:()=>this.cancelCommit(),getEditSessionPhase:()=>this.getEditSessionPhase()}}commitCtx(){return{deps:this.deps,stopEditing:e=>this.stopEditing(e),cancelCommit:()=>this.cancelCommit(),getEditSessionPhase:()=>this.getEditSessionPhase(),getInvalidEditValueMode:()=>_C(this.deps)}}lifecycleCtx(){return{deps:this.deps,isEditing:()=>this.isEditing(),validationCtx:()=>this.validationCtx()}}startCtx(){return{deps:this.deps,isEditing:()=>this.isEditing(),stopEditing:e=>this.stopEditing(e),cancelCommit:()=>this.cancelCommit(),getEditSessionPhase:()=>this.getEditSessionPhase(),editorParamsCtx:()=>this.editorParamsCtx(),commitCtx:()=>this.commitCtx(),validationCtx:()=>this.validationCtx(),lifecycleCtx:()=>this.lifecycleCtx(),createCellEditorParams:(e,t)=>this.createCellEditorParams(e,t)}}},VC=`mg-column-drag-ghost`,HC=`mg-column-drag-ghost__icon`,UC=`mg-column-drag-ghost__label`,WC=`mg-column-drop-indicator`,GC=class{ghostEl=null;indicatorEl=null;movingColId=null;lastMovingChangedAt=-1/0;isColumnMoving(e){return this.movingColId?!e||this.movingColId===e:!1}shouldSuppressSortClick(){return this.movingColId?!0:performance.now()-this.lastMovingChangedAt<50}setColumnMoving(e){this.movingColId=e,this.lastMovingChangedAt=performance.now()}startGhost(e){this.removeGhost();let t=document.createElement(`div`);t.className=VC,t.style.width=`${e.width}px`,t.style.height=`${e.height}px`,t.style.left=`${e.left}px`,t.style.top=`${e.top}px`;let n=document.createElement(`span`);n.className=HC,n.setAttribute(`aria-hidden`,`true`),n.append(Cm());let r=document.createElement(`span`);r.className=UC,r.textContent=e.label,t.append(n,r),(e.mountEl??document.body).appendChild(t),this.ghostEl=t}moveGhost(e,t){this.ghostEl&&(this.ghostEl.style.left=`${e}px`,this.ghostEl.style.top=`${t}px`)}showDropIndicator(e,t,n){if(!this.indicatorEl){let e=document.createElement(`div`);e.className=WC,document.body.appendChild(e),this.indicatorEl=e}this.indicatorEl.style.left=`${e}px`,this.indicatorEl.style.top=`${t}px`,this.indicatorEl.style.height=`${n}px`,this.indicatorEl.style.display=`block`}hideDropIndicator(){this.indicatorEl&&(this.indicatorEl.style.display=`none`)}setSourceHeaderDragging(e,t){e&&e.classList.toggle(`mg-header-cell--dragging`,t)}setHeaderViewportDragging(e,t){e&&e.classList.toggle(`mg-header-viewport--column-dragging`,t)}cleanup(e,t){this.setSourceHeaderDragging(e,!1),this.setHeaderViewportDragging(t,!1),this.removeGhost(),this.removeIndicator(),this.setColumnMoving(null)}destroy(){this.removeGhost(),this.removeIndicator(),this.movingColId=null}removeGhost(){this.ghostEl?.remove(),this.ghostEl=null}removeIndicator(){this.indicatorEl?.remove(),this.indicatorEl=null}};function KC(e,t){return[{colId:e,sort:`asc`}]}function qC(e,t){return[{colId:e,sort:`desc`}]}function JC(e,t){return Zi(t.filter(t=>t.colId!==e))}function YC(e,t){return t.find(t=>t.colId===e)?.sort??null}function XC(e,t){return YC(e,t)!==null}var ZC=[{value:`contains`,label:`包含`},{value:`notContains`,label:`不包含`},{value:`equals`,label:`等于`},{value:`notEqual`,label:`不等于`},{value:`startsWith`,label:`开头是`},{value:`endsWith`,label:`结尾是`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`非空白`}],QC=[{value:`equals`,label:`等于`},{value:`notEqual`,label:`不等于`},{value:`lessThan`,label:`小于`},{value:`lessThanOrEqual`,label:`小于等于`},{value:`greaterThan`,label:`大于`},{value:`greaterThanOrEqual`,label:`大于等于`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`非空白`}],$C=[{value:`equals`,label:`等于`},{value:`notEqual`,label:`不等于`},{value:`lessThan`,label:`早于`},{value:`greaterThan`,label:`晚于`},{value:`inRange`,label:`范围内`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`非空白`}];function ew(e){switch(e){case`number`:return QC;case`date`:return $C;default:return ZC}}function tw(e){switch(e){case`number`:return`equals`;case`date`:return`equals`;default:return`contains`}}function nw(e){return{type:tw(e),value:``,valueTo:``}}function rw(e){return!ii(e)}function iw(e){return e===`inRange`}function aw(e){return e===`number`?`number`:`text`}function ow(e,t){return`过滤条件`}function sw(e){return`过滤条件`}function cw(e,t){return ew(t).some(t=>t.value===e)}function lw(e,t){let n=Qr(e);return n===void 0?{setAllSelected:!0,selectedValues:[...t]}:n.length===0?{setAllSelected:!1,selectedValues:[]}:t.length>0&&n.length===t.length&&t.every(e=>n.includes(e))?{setAllSelected:!0,selectedValues:[...t]}:{setAllSelected:!1,selectedValues:n}}function uw(e,t,n){if(ii(e))return{type:e};if(e===`inRange`){let r=t.trim(),i=n?.trim()??``;return r===``||i===``?null:{type:e,filter:r,filterTo:i}}let r=t.trim();return r===``?null:{type:e,filter:r}}function dw(e,t){return e?null:{setValues:t.filter(e=>e!==``)}}function fw(e,t,n){let r=Xr(e).map(e=>({type:cw(e.type,t)?e.type:n,value:e.filter??``,valueTo:e.filterTo??``}));return r.length>0?r:[nw(t)]}function pw(e,t,n){let r=t.map(e=>uw(e.type,e.value,e.valueTo)).filter(e=>e!==null);if(r.length===0)return null;if(r.length===1){let e=r[0];return{type:e.type,...e.filter===void 0?{}:{filter:e.filter},...e.filterTo===void 0?{}:{filterTo:e.filterTo}}}return{type:r[0]?.type??n,operator:e,conditions:r.map(e=>({type:e.type,...e.filter===void 0?{}:{filter:e.filter},...e.filterTo===void 0?{}:{filterTo:e.filterTo}}))}}function mw(e,t,n=`text`,r=[]){let i=t[e],a=tw(n),o=lw(void 0,r),s={operatorLogic:`AND`,operatorConditions:[nw(n)]};if(!i)return{customPredicate:!1,...s,...o};if(_r(i))return{customPredicate:!0,...s,...o};let c=lw(i,r);return{customPredicate:!1,operatorLogic:Zr(i),operatorConditions:fw(i,n,a),...c}}function hw(e,t,n,r,i){let a=pw(e,t,i),o=dw(n,r);return!a&&!o?null:{...a,type:a?.type??i,...o??{}}}function gw(e,t,n,r){let i={...n},a=tw(r),o=hw(t.operatorLogic,t.operatorConditions,t.setAllSelected,t.selectedValues,a);return o&&($r(o)||ei(o))?i[e]=o:delete i[e],i}function _w(e,t,n,r,i,a,o=!0,s=[]){return gw(e,{operatorLogic:`AND`,operatorConditions:[{type:t,value:n,valueTo:a??``}],setAllSelected:o,selectedValues:s},r,i)}function vw(e,t){if(!(e in t))return t;let n={...t};return delete n[e],n}function yw(e){return ii(e.type)?!1:e.type===`inRange`?e.value.trim()!==``||e.valueTo.trim()!==``:e.value.trim()!==``}function bw(e){let t=e[0];return t?yw(t):!1}function xw(e){let{columnFilterType:t,abortSignal:n,onInput:r,onStopPropagation:i}=e,a=ew(t),o=`mg-filter-logic-${Math.random().toString(36).slice(2)}`,s=document.createElement(`div`);s.className=`mg-column-handle-menu__filter-operator-panel`;let c=document.createElement(`fieldset`);c.className=`mg-column-handle-menu__filter-operator-logic`,c.setAttribute(`aria-label`,`条件组合方式`),c.hidden=!0;let l=document.createElement(`label`);l.className=`mg-column-handle-menu__filter-operator-logic-option`;let u=document.createElement(`input`);u.type=`radio`,u.name=o,u.value=`AND`,u.checked=!0,l.append(u,document.createTextNode(`并且`));let d=document.createElement(`label`);d.className=`mg-column-handle-menu__filter-operator-logic-option`;let f=document.createElement(`input`);f.type=`radio`,f.name=o,f.value=`OR`,d.append(f,document.createTextNode(`或者`)),c.append(l,d);let p=null,m=null,h=`AND`,g=null,_=e=>({type:e.typeSelect.value,value:e.input.value,valueTo:e.inputTo.value}),v=()=>f.checked?`OR`:`AND`,y=e=>{u.checked=e!==`OR`,f.checked=e===`OR`},b=e=>{let n=e.typeSelect.value;e.input.type=aw(t),e.input.placeholder=ow(t,n),e.input.hidden=!rw(n),e.inputTo.type=aw(t),e.inputTo.placeholder=sw(t),e.inputTo.hidden=!iw(n)},x=()=>{let e=p?yw(_(p)):!1;c.hidden=!e,e&&!m&&p&&(m=C(g??nw(t),!0),m.rowEl.hidden=!1,s.append(m.rowEl)),m&&(m.rowEl.hidden=!e),!e&&m&&(yw(_(m))&&(g=_(m)),m.rowEl.remove(),m=null,c.hidden=!0)},S=()=>{x(),r()},C=(e,t=!1)=>{let r=document.createElement(`div`);r.className=`mg-column-handle-menu__filter-condition-row`,t&&r.classList.add(`mg-column-handle-menu__filter-condition-row--secondary`);let o=document.createElement(`select`);o.className=`mg-column-handle-menu__filter-type`,o.setAttribute(`aria-label`,t?`第二个筛选算子`:`筛选算子`);for(let e of a){let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,o.append(t)}o.value=e.type;let s=document.createElement(`input`);s.className=`mg-column-handle-menu__filter-input`,s.setAttribute(`aria-label`,t?`第二个筛选值`:`筛选值`),s.value=e.value;let c=document.createElement(`input`);c.className=`mg-column-handle-menu__filter-input-to`,c.setAttribute(`aria-label`,t?`第二个筛选结束值`:`筛选结束值`),c.value=e.valueTo,r.append(o,s,c);let l={rowEl:r,typeSelect:o,input:s,inputTo:c};b(l);let u=e=>{i?.(e)};o.addEventListener(`change`,()=>{b(l),S()},{signal:n}),s.addEventListener(`input`,S,{signal:n}),c.addEventListener(`input`,S,{signal:n});for(let e of[o,s,c])e.addEventListener(`mousedown`,u,{signal:n}),e.addEventListener(`click`,u,{signal:n});return l},w=e=>{s.replaceChildren();let n=e.operatorConditions.length>0?e.operatorConditions:[nw(t)];h=e.operatorLogic,g=n[1]??null,y(h),p=C(n[0]??nw(t)),m=null,s.append(p.rowEl,c),bw(n)?(m=C(n[1]??g??nw(t),!0),s.append(m.rowEl),c.hidden=!1):c.hidden=!0};w(e.initialState);for(let e of[u,f])e.addEventListener(`change`,()=>{h=v(),r()},{signal:n}),e.addEventListener(`mousedown`,e=>i?.(e),{signal:n}),e.addEventListener(`click`,e=>i?.(e),{signal:n});return c.addEventListener(`mousedown`,e=>i?.(e),{signal:n}),c.addEventListener(`click`,e=>i?.(e),{signal:n}),{element:s,readState:()=>{let e=p?[_(p)]:[];return p&&!c.hidden&&m&&e.push(_(m)),{operatorLogic:v(),operatorConditions:e}},syncState:e=>{w(e)}}}function Sw(e,t){let n=t.trim().toLowerCase();return n===``?[...e]:e.filter(e=>e.label.toLowerCase().includes(n)||e.key.toLowerCase().includes(n))}var Cw=class{allKeys;setAllSelected;selectedKeys;constructor(e,t){this.allKeys=e,this.setAllSelected=t.setAllSelected,this.selectedKeys=new Set(t.setAllSelected?[]:t.selectedValues)}isChecked(e){return this.setAllSelected||this.selectedKeys.has(e)}setSelectAll(e){this.setAllSelected=e,this.selectedKeys.clear()}toggleKey(e,t){this.setAllSelected&&(this.setAllSelected=!1,this.selectedKeys=new Set(this.allKeys)),t?this.selectedKeys.add(e):this.selectedKeys.delete(e),this.selectedKeys.size===this.allKeys.length&&(this.setAllSelected=!0,this.selectedKeys.clear())}getSelectAllState(){return this.getSelectAllStateForKeys(this.allKeys)}getSelectAllStateForKeys(e){if(e.length===0)return{checked:!1,indeterminate:!1};let t=e.filter(e=>this.isChecked(e)).length;return t===0?{checked:!1,indeterminate:!1}:t===e.length?{checked:!0,indeterminate:!1}:{checked:!1,indeterminate:!0}}setKeysChecked(e,t){for(let n of e)this.setKeyChecked(n,t)}setKeyChecked(e,t){this.isChecked(e)!==t&&(this.setAllSelected&&(this.setAllSelected=!1,this.selectedKeys=new Set(this.allKeys)),t?this.selectedKeys.add(e):this.selectedKeys.delete(e),this.selectedKeys.size===this.allKeys.length&&(this.setAllSelected=!0,this.selectedKeys.clear()))}snapshot(){return this.setAllSelected?{setAllSelected:!0,selectedValues:[...this.allKeys]}:{setAllSelected:!1,selectedValues:[...this.selectedKeys]}}applySnapshot(e){this.setAllSelected=e.setAllSelected,this.selectedKeys=new Set(e.setAllSelected?[]:e.selectedValues)}};function ww(e,t,n,r){if(t===`reserve`||!r)return e;if(n.length===0)return null;let i=new Set(n);if(e.setAllSelected)return{setAllSelected:!1,selectedValues:[...n]};let a=e.selectedValues.filter(e=>i.has(e));return a.length===0?{setAllSelected:!1,selectedValues:[]}:{setAllSelected:!1,selectedValues:a}}var Tw=/^(\d{4})-(\d{2})-(\d{2})$/;function Ew(e){let t=Tw.exec(e),n=t?Number(t[3]):0;return{id:`d:${e}`,type:`day`,label:`${n}日`,key:e,children:[],leafKeys:[e]}}function Dw(e,t){return e.id.localeCompare(t.id,void 0,{numeric:!0})}function Ow(e,t){return(e.key??``).localeCompare(t.key??``,void 0,{numeric:!0})}function kw(e){let t=[],n=e.find(e=>e.blank);n&&t.push({id:`blank`,type:`blank`,label:n.label,key:n.key,children:[],leafKeys:[n.key]});let r=new Map;for(let t of e){if(t.blank)continue;let e=Tw.exec(t.key);if(!e)continue;let n=Number(e[1]),i=Number(e[2]),a=r.get(n)??new Map,o=a.get(i)??[];o.push(Ew(t.key)),a.set(i,o),r.set(n,a)}let i=[...r.keys()].sort((e,t)=>t-e);for(let e of i){let n=r.get(e),i=[];for(let t of[...n.keys()].sort((e,t)=>e-t)){let r=n.get(t).sort(Ow);i.push({id:`y:${e}:m:${t}`,type:`month`,label:`${t}月`,children:r,leafKeys:r.map(e=>e.key)})}i.sort(Dw),t.push({id:`y:${e}`,type:`year`,label:String(e),children:i,leafKeys:i.flatMap(e=>e.leafKeys)})}return t}function Aw(e){let t=new Set;for(let n of e)n.type===`year`&&t.add(n.id);return t}function jw(e,t){let n=[],r=(e,i)=>{for(let a of e){let e=a.children.length>0,o=e&&t.has(a.id);n.push({node:a,depth:i,hasChildren:e,expanded:o}),o&&r(a.children,i+1)}};return r(e,0),n}function Mw(e,t){let n=[];for(let r of e){let e=r.label.toLowerCase().includes(t)||(r.key?.toLowerCase().includes(t)??!1),i=r.children.length>0?Mw(r.children,t):[];if(!e&&i.length===0)continue;let a=i.length>0?i:e?[...r.children]:[];n.push({...r,children:a,leafKeys:a.length>0?a.flatMap(e=>e.leafKeys):r.leafKeys})}return n}function Nw(e){let t=new Set,n=e=>{for(let r of e)r.children.length>0&&(t.add(r.id),n(r.children))};return n(e),t}function Pw(e,t,n){let r=t.trim().toLowerCase(),i=kw(e);if(r===``){let e=jw(i,n);return{roots:i,expandedIds:new Set(n),rows:e,leafKeys:i.flatMap(e=>e.leafKeys)}}let a=Mw(i,r),o=Nw(a);return{roots:a,expandedIds:o,rows:jw(a,o),leafKeys:a.flatMap(e=>e.leafKeys)}}function Fw(e,t){return Pw(e,t,new Set).leafKeys}function Iw(e,t){for(let n of e){if(n.id===t)return n;let e=Iw(n.children,t);if(e)return e}}var Lw=4;function Rw(e,t,n,r=28,i=Lw){if(n<=0)return{start:0,end:0};let a=Math.ceil(t/r),o=Math.max(0,n-a-i),s=Math.min(o,Math.max(0,Math.floor(e/r)-i));return{start:s,end:Math.min(n,s+a+i*2)}}var zw=class{options;element;spacerEl;windowEl;emptyEl;rowEls=new Map;filteredOptions;constructor(e){this.options=e,this.filteredOptions=e.options,this.element=document.createElement(`div`),this.element.className=`mg-column-handle-menu__filter-set-list`,this.spacerEl=document.createElement(`div`),this.spacerEl.className=`mg-column-handle-menu__filter-set-list-spacer`,this.windowEl=document.createElement(`div`),this.windowEl.className=`mg-column-handle-menu__filter-set-list-window`,this.emptyEl=document.createElement(`div`),this.emptyEl.className=`mg-column-handle-menu__filter-set-empty`,this.emptyEl.hidden=!0,this.spacerEl.append(this.windowEl),this.element.append(this.spacerEl,this.emptyEl),this.element.addEventListener(`scroll`,()=>this.render(),{signal:e.abortSignal}),this.element.addEventListener(`change`,e=>{let t=e.target;!(t instanceof HTMLInputElement)||t.type!==`checkbox`||t.closest(`.mg-column-handle-menu__filter-set-option`)&&(this.options.selection.toggleKey(t.value,t.checked),this.options.onSelectionChange(),this.render())},{signal:e.abortSignal}),this.render()}setOptions(e){this.filteredOptions=e,this.scrollToTop(),this.render()}scrollToTop(){this.element.scrollTop=0}refresh(){this.render()}getVisibleRange(){return Rw(this.element.scrollTop,this.element.clientHeight||160,this.filteredOptions.length)}render(){let{selection:e}=this.options,t=this.filteredOptions.length;if(this.spacerEl.hidden=t===0,this.spacerEl.style.height=`${t*28}px`,t===0){this.emptyEl.textContent=this.options.emptySearchLabel??`暂无可选值`,this.emptyEl.hidden=!1,this.clearRows();return}this.emptyEl.hidden=!0;let{start:n,end:r}=this.getVisibleRange();this.windowEl.style.transform=`translateY(${n*28}px)`;for(let[e,t]of this.rowEls)(e<n||e>=r)&&(t.remove(),this.rowEls.delete(e));for(let t=n;t<r;t+=1){let n=this.filteredOptions[t];if(!n)continue;let r=this.rowEls.get(t);r?this.updateRow(r,n,e.isChecked(n.key)):(r=this.createRow(n),this.rowEls.set(t,r)),this.windowEl.append(r)}}clearRows(){for(let e of this.rowEls.values())e.remove();this.rowEls.clear()}createRow(e){let t=document.createElement(`label`);t.className=`mg-column-handle-menu__filter-set-option`;let n=document.createElement(`input`);n.type=`checkbox`,n.value=e.key,n.checked=this.options.selection.isChecked(e.key);let r=document.createElement(`span`);return r.textContent=e.label,t.append(n,r),t}updateRow(e,t,n){let r=e.querySelector(`input`),i=e.querySelector(`span`);r instanceof HTMLInputElement&&(r.value=t.key,r.checked=n),i&&(i.textContent=t.label)}},Bw=class{viewOptions;element;scrollEl;spacerEl;windowEl;emptyEl;rowEls=new Map;expandedIds;rows=[];searchQuery=``;constructor(e){this.viewOptions=e,this.searchQuery=e.searchQuery??``,this.expandedIds=Aw(Pw(e.options,``,new Set).roots),this.element=document.createElement(`div`),this.element.className=`mg-column-handle-menu__filter-set-tree`,this.scrollEl=document.createElement(`div`),this.scrollEl.className=`mg-column-handle-menu__filter-set-list`,this.spacerEl=document.createElement(`div`),this.spacerEl.className=`mg-column-handle-menu__filter-set-list-spacer`,this.windowEl=document.createElement(`div`),this.windowEl.className=`mg-column-handle-menu__filter-set-list-window`,this.emptyEl=document.createElement(`div`),this.emptyEl.className=`mg-column-handle-menu__filter-set-empty`,this.emptyEl.hidden=!0,this.spacerEl.append(this.windowEl),this.scrollEl.append(this.spacerEl,this.emptyEl),this.element.append(this.scrollEl),this.scrollEl.addEventListener(`scroll`,()=>this.renderRows(),{signal:e.abortSignal}),this.scrollEl.addEventListener(`click`,e=>this.handleClick(e),{signal:e.abortSignal}),this.scrollEl.addEventListener(`change`,e=>this.handleChange(e),{signal:e.abortSignal}),this.syncViewState()}setSearchQuery(e){this.searchQuery=e,this.scrollEl.scrollTop=0,this.syncViewState()}refresh(){this.renderRows()}getVisibleLeafKeys(){return Pw(this.viewOptions.options,this.searchQuery,this.expandedIds).leafKeys}syncViewState(){let e=Pw(this.viewOptions.options,this.searchQuery,this.expandedIds);this.searchQuery.trim()!==``&&(this.expandedIds=e.expandedIds),this.rows=e.rows,this.renderRows()}renderRows(){let e=this.rows.length;if(this.spacerEl.hidden=e===0,this.spacerEl.style.height=`${e*28}px`,e===0){this.emptyEl.textContent=this.viewOptions.emptySearchLabel??`暂无可选值`,this.emptyEl.hidden=!1,this.clearRows();return}this.emptyEl.hidden=!0;let{start:t,end:n}=Rw(this.scrollEl.scrollTop,this.scrollEl.clientHeight||160,e);this.windowEl.style.transform=`translateY(${t*28}px)`;for(let[e,r]of this.rowEls)(e<t||e>=n)&&(r.remove(),this.rowEls.delete(e));for(let e=t;e<n;e+=1){let t=this.rows[e];if(!t)continue;let n=this.rowEls.get(e);n?this.updateRowElement(n,t):(n=this.createRowElement(t),this.rowEls.set(e,n)),this.windowEl.append(n)}}clearRows(){for(let e of this.rowEls.values())e.remove();this.rowEls.clear()}createRowElement(e){let t=document.createElement(`div`);return t.className=`mg-column-handle-menu__filter-set-tree-row`,t.style.height=`28px`,t.dataset.nodeId=e.node.id,this.populateRowElement(t,e),t}updateRowElement(e,t){e.dataset.nodeId=t.node.id,this.populateRowElement(e,t)}populateRowElement(e,t){if(e.replaceChildren(),e.style.paddingLeft=`${8+t.depth*16}px`,t.hasChildren){let n=document.createElement(`button`);n.type=`button`,n.className=`mg-column-handle-menu__filter-set-tree-toggle`,n.dataset.action=`toggle`,n.dataset.nodeId=t.node.id,n.setAttribute(`aria-label`,t.expanded?`收起`:`展开`),n.textContent=t.expanded?`−`:`+`,e.append(n)}else{let t=document.createElement(`span`);t.className=`mg-column-handle-menu__filter-set-tree-toggle-spacer`,e.append(t)}let n=document.createElement(`label`);n.className=`mg-column-handle-menu__filter-set-tree-option`;let r=document.createElement(`input`);r.type=`checkbox`,r.dataset.nodeId=t.node.id,r.checked=this.isNodeChecked(t.node);let i=document.createElement(`span`);i.textContent=t.node.label,n.append(r,i),e.append(n),this.applyNodeCheckboxState(r,t.node)}isNodeChecked(e){return this.viewOptions.selection.getSelectAllStateForKeys(e.leafKeys).checked}applyNodeCheckboxState(e,t){let n=this.viewOptions.selection.getSelectAllStateForKeys(t.leafKeys);e.checked=n.checked,e.indeterminate=n.indeterminate}handleClick(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-action="toggle"]`);if(!n?.dataset.nodeId)return;e.preventDefault(),e.stopPropagation();let r=n.dataset.nodeId;this.expandedIds.has(r)?this.expandedIds.delete(r):this.expandedIds.add(r),this.syncViewState()}handleChange(e){let t=e.target;if(!(t instanceof HTMLInputElement)||t.type!==`checkbox`)return;let n=t.dataset.nodeId;if(!n)return;let r=Iw(Pw(this.viewOptions.options,this.searchQuery,this.expandedIds).roots,n);r&&(this.viewOptions.selection.setKeysChecked(r.leafKeys,t.checked),this.viewOptions.onSelectionChange(),this.renderRows())}},Vw=new WeakMap,Hw=new WeakMap;function Uw(e,t){let n=Vw.get(e);n&&(n.selection.applySnapshot(t),n.searchInput&&(n.searchInput.value=``),n.mountOptionsView(),n.dateTreeView?.setSearchQuery(``),n.syncSelectAllUi(),n.virtualList?.refresh(),n.dateTreeView?.refresh())}function Ww(e){let t=document.createElement(`div`);return t.className=`mg-column-handle-menu__filter-group-heading`,t.textContent=e,t}function Gw(e,t){let n=document.createElement(`button`);return n.type=`button`,n.className=`mg-column-handle-menu__filter-reset`,n.textContent=`重置`,e?(n.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e()},{signal:t}),n):(n.dataset.action=`filter-clear`,n.setAttribute(`role`,`menuitem`),n)}function Kw(e){let{colId:t,filterModel:n,columnFilterType:r,distinctFilterValues:i,filterSetValueMode:a,filterSetDateLayoutMode:o,onFilterInput:s,onFilterClear:c,abortSignal:l}=e,u=i.map(e=>e.key),d=mw(t,n,r,u);if(d.customPredicate){let e=document.createElement(`div`);return e.className=`mg-column-handle-menu__filter-notice`,e.textContent=`该列使用自定义筛选,请在 API 中管理`,{root:e,panelRoot:null,customPredicate:!0,syncState:()=>{}}}let f=document.createElement(`div`);f.className=Ui;let p=document.createElement(`div`);p.className=`mg-column-handle-menu__filter-group`,p.append(Ww(`过滤器`));let m=e=>{e.stopPropagation()},h=document.createElement(`div`);h.className=`mg-column-handle-menu__filter-set-panel`,h.setAttribute(`role`,`group`),h.setAttribute(`aria-label`,`值选择`),h.append(Ww(`值选择`));let g=document.createElement(`input`);g.className=`mg-column-handle-menu__filter-set-search`,g.type=`search`,g.placeholder=`搜索列值`,g.setAttribute(`aria-label`,`搜索列值`),h.append(g);let _=r===`date`,v=new Cw(u,{setAllSelected:d.setAllSelected,selectedValues:d.selectedValues}),y=()=>Sw(i,g.value),b=()=>o,x=()=>_&&b()===`tree`?k?.getVisibleLeafKeys()??Fw(i,g.value):y().map(e=>e.key),S=()=>g.value.trim()!==``,C=()=>a,w=document.createElement(`label`);w.className=`mg-column-handle-menu__filter-set-option mg-column-handle-menu__filter-set-select-all`;let T=document.createElement(`input`);T.type=`checkbox`;let E=document.createElement(`span`);E.textContent=`全选`,w.append(T,E),h.append(w);let D=()=>{let e=x();if(S()){T.disabled=e.length===0;let t=v.getSelectAllStateForKeys(e);T.checked=t.checked,T.indeterminate=t.indeterminate;return}T.disabled=!1;let t=v.getSelectAllState();T.checked=t.checked,T.indeterminate=t.indeterminate},O=null,k=null,A=document.createElement(`div`);A.className=`mg-column-handle-menu__filter-set-list-host`;let j=()=>{if(A.replaceChildren(),O=null,k=null,i.length===0){let e=document.createElement(`div`);e.className=`mg-column-handle-menu__filter-set-empty`,e.textContent=`暂无可选值`,A.append(e),M();return}if(_&&b()===`tree`){k=new Bw({options:i,selection:v,searchQuery:g.value,onSelectionChange:()=>{D(),N(`set`)},emptySearchLabel:`无匹配项`,abortSignal:l}),A.append(k.element),M();return}O=new zw({options:y(),selection:v,onSelectionChange:()=>{D(),N(`set`)},emptySearchLabel:`无匹配项`,abortSignal:l}),A.append(O.element),M()},M=()=>{let e=Vw.get(h);e&&(e.virtualList=O,e.dateTreeView=k)},N=e=>{let t=v.snapshot(),n=ww(t,C(),x(),S());if(e===`set`&&n===null)return;let r=n??t,i=I.readState();s({source:e,operatorLogic:i.operatorLogic,operatorConditions:i.operatorConditions,setAllSelected:r.setAllSelected,selectedValues:r.selectedValues})},P=()=>{N(`operator`)},F=()=>{N(`set`)},I=xw({columnFilterType:r,initialState:{operatorLogic:d.operatorLogic,operatorConditions:d.operatorConditions},abortSignal:l,onInput:P,onStopPropagation:m});p.append(I.element),Hw.set(f,I),i.length===0&&(g.disabled=!0,T.disabled=!0),h.append(A),j(),Vw.set(h,{allOptions:i,searchInput:g,selection:v,virtualList:O,dateTreeView:k,mountOptionsView:j,getFilteredKeys:x,isSearchActive:S,getValueMode:C,syncSelectAllUi:D}),D(),g.addEventListener(`input`,()=>{_&&b()===`tree`?k?.setSearchQuery(g.value):O?.setOptions(y()),D(),C()===`current`&&F()},{signal:l}),g.addEventListener(`mousedown`,m,{signal:l}),g.addEventListener(`click`,m,{signal:l}),h.addEventListener(`mousedown`,m,{signal:l}),h.addEventListener(`click`,m,{signal:l}),h.addEventListener(`change`,e=>{let t=e.target;if(!(!(t instanceof HTMLInputElement)||t.type!==`checkbox`)&&t===T){let e=x();S()?v.setKeysChecked(e,T.checked):v.setSelectAll(T.checked),D(),O?.refresh(),k?.refresh(),F()}},{signal:l});let L=document.createElement(`div`);L.className=`mg-column-handle-menu__filter-actions`;let ee=Gw(c,l);return L.append(ee),f.append(p,h,L),{root:f,panelRoot:f,customPredicate:!1,syncState:e=>{qw(f,e)}}}function qw(e,t){let n=e.querySelector(`.mg-column-handle-menu__filter-set-panel`);Hw.get(e)?.syncState({operatorLogic:t.operatorLogic,operatorConditions:t.operatorConditions}),n&&Uw(n,t)}var Jw=8,Yw=4;function Xw(e,t,n){let r=e.left,i=e.bottom+Yw;return i+n>window.innerHeight-Jw&&(i=e.top-n-Yw),r=Math.max(Jw,Math.min(r,window.innerWidth-t-Jw)),i=Math.max(Jw,Math.min(i,window.innerHeight-n-Jw)),{left:r,top:i}}function Zw(e,t){let n=document.createElement(`span`);n.className=Li,e&&n.append(e);let r=document.createElement(`span`);return r.className=Ri,r.textContent=t,n.append(r),n}function Qw(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=Ii,r.dataset.action=t,n?.targetColId&&(r.dataset.targetColId=n.targetColId),r.append(Zw(n?.icon??null,e)),r.setAttribute(`role`,n?.role??`menuitem`),n?.role===`menuitemradio`&&r.setAttribute(`aria-checked`,n.checked?`true`:`false`),n?.checked&&r.classList.add(`mg-column-handle-menu__item--checked`),r}function $w(){let e=document.createElement(`div`);return e.className=Hi,e.setAttribute(`role`,`separator`),e}function eT(e,t){let n=document.createElement(`div`);n.className=`${Fi} ${Wi}`;let r=YC(e,t);return n.append(Qw(`升序`,`sort-asc`,{checked:r===`asc`,icon:Tm()}),Qw(`降序`,`sort-desc`,{checked:r===`desc`,icon:Em()})),XC(e,t)&&n.append(Qw(`清除排序`,`sort-clear`,{icon:Dm()})),n}function tT(e,t){t.classList.remove(`mg-column-handle-menu__submenu-panel--flip`);let n=e.getBoundingClientRect(),r=t.offsetWidth;n.right+r>window.innerWidth-Jw&&t.classList.add(`mg-column-handle-menu__submenu-panel--flip`)}function nT(e){let t=document.createElement(`div`);t.className=`${Fi} ${Gi}`;let n=document.createElement(`div`);n.className=Bi;let r=document.createElement(`button`);r.type=`button`,r.className=`${Ii} ${zi}`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,`false`),r.append(Zw(Om(),`固定列`)),r.append(Mm());let i=document.createElement(`div`);i.className=Vi,i.setAttribute(`role`,`menu`),i.hidden=!0,i.append(Qw(`不固定`,`pin-none`,{role:`menuitemradio`,checked:e===null,icon:km()}),Qw(`固定左侧`,`pin-left`,{role:`menuitemradio`,checked:e===`left`,icon:Am()}),Qw(`固定右侧`,`pin-right`,{role:`menuitemradio`,checked:e===`right`,icon:jm()}));let a=()=>{i.hidden=!1,r.setAttribute(`aria-expanded`,`true`),n.classList.add(`mg-column-handle-menu__submenu--open`),tT(r,i)},o=()=>{i.hidden=!0,r.setAttribute(`aria-expanded`,`false`),n.classList.remove(`mg-column-handle-menu__submenu--open`)};return n.addEventListener(`mouseenter`,a),n.addEventListener(`mouseleave`,o),n.addEventListener(`focusin`,a),n.addEventListener(`focusout`,e=>{let t=e.relatedTarget;t instanceof Node&&n.contains(t)||o()}),n.append(r,i),t.append(n),t}function rT(e,t,n){let r=()=>{n.hidden=!1,t.setAttribute(`aria-expanded`,`true`),e.classList.add(`mg-column-handle-menu__submenu--open`),tT(t,n)},i=()=>{n.hidden=!0,t.setAttribute(`aria-expanded`,`false`),e.classList.remove(`mg-column-handle-menu__submenu--open`)};e.addEventListener(`mouseenter`,r),e.addEventListener(`mouseleave`,i),e.addEventListener(`focusin`,r),e.addEventListener(`focusout`,t=>{let n=t.relatedTarget;n instanceof Node&&e.contains(n)||i()})}function iT(e){let t=document.createElement(`div`);t.className=`${Fi} ${qi}`;let n=document.createElement(`div`);n.className=Bi;let r=document.createElement(`button`);r.type=`button`,r.className=`${Ii} ${zi}`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,`false`),r.append(Zw(Nm(),`列显隐`)),r.append(Mm());let i=document.createElement(`div`);i.className=Vi,i.setAttribute(`role`,`menu`),i.hidden=!0,i.append(Qw(`隐藏此列`,`hide-column`,{icon:Pm()})),e.length>0&&i.append($w());for(let t of e)i.append(Qw(t.label,`show-column`,{targetColId:t.colId,icon:Fm()}));return rT(n,r,i),n.append(r,i),t.append(n),t}function aT(e,t,n,r,i,a,o,s){let c=document.createElement(`div`);c.className=`${Fi} ${Ki}`;let l=Kw({colId:e,filterModel:t,columnFilterType:n,distinctFilterValues:r,filterSetValueMode:i,filterSetDateLayoutMode:a,onFilterInput:o,abortSignal:s});return c.append(l.root),c}var oT=class{portalEl=null;menuEl=null;triggerHandle=null;onClose=null;handleDocumentClick=e=>{e.button===0&&(this.shouldIgnoreOutsideMenuClose(e.target)||this.onClose?.())};shouldIgnoreOutsideMenuClose(e){if(!(e instanceof Node)||this.menuEl?.contains(e)||this.triggerHandle?.contains(e))return!0;let t=document.activeElement;return!!(t instanceof HTMLSelectElement&&this.menuEl?.contains(t))}handleDocumentKeyDown=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.onClose?.(),this.triggerHandle?.focus())};handleMenuClick=e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-action]`),r=n?.dataset.action;!r||!this.menuEl?.contains(n)||(e.preventDefault(),e.stopPropagation(),this.context?.onAction(r,n?.dataset.targetColId))};context=null;filterAbortController=null;open(e){this.close(),this.context=e,this.triggerHandle=e.triggerHandle,this.onClose=e.onClose,this.filterAbortController=new AbortController;let t=document.createElement(`div`);t.className=Pi;let n=document.createElement(`div`);n.className=Ni,n.setAttribute(`role`,`menu`),n.dataset.colId=e.colId;let r=[];e.sections.sort&&r.push(eT(e.colId,e.sortModel)),e.sections.pin&&r.push(nT(e.fixed)),e.sections.visibility&&r.push(iT(e.hiddenUserColumns)),e.sections.filter&&r.push(aT(e.colId,e.filterModel,e.columnFilterType,e.distinctFilterValues,e.filterSetValueMode,e.filterSetDateLayoutMode,e.onFilterInput,this.filterAbortController.signal)),r.forEach((e,t)=>{t>0&&n.append($w()),n.append(e)}),n.addEventListener(`click`,this.handleMenuClick),t.append(n),e.mountEl.appendChild(t),this.portalEl=t,this.menuEl=n,this.positionMenu(n,e.anchorRect),this.syncHandleAria(e.triggerHandle,!0),document.addEventListener(`click`,this.handleDocumentClick,!0),document.addEventListener(`keydown`,this.handleDocumentKeyDown,!0)}close(){document.removeEventListener(`click`,this.handleDocumentClick,!0),document.removeEventListener(`keydown`,this.handleDocumentKeyDown,!0),this.filterAbortController?.abort(),this.filterAbortController=null,this.triggerHandle&&this.syncHandleAria(this.triggerHandle,!1),this.menuEl?.removeEventListener(`click`,this.handleMenuClick),this.portalEl?.remove(),this.portalEl=null,this.menuEl=null,this.triggerHandle=null,this.onClose=null,this.context=null}isOpen(){return this.menuEl!=null}getOpenColId(){return this.menuEl?.dataset.colId??null}syncFilterPanel(e){let t=this.menuEl?.querySelector(`.${Ui}`);t&&qw(t,e)}positionMenu(e,t){e.style.visibility=`hidden`,e.style.position=`fixed`,e.style.left=`0`,e.style.top=`0`;let n=e.getBoundingClientRect(),{left:r,top:i}=Xw(t,n.width,n.height);e.style.left=`${r}px`,e.style.top=`${i}px`,e.style.visibility=``}syncHandleAria(e,t){e.setAttribute(`aria-expanded`,t?`true`:`false`)}},sT=new Set([`sort-asc`,`sort-desc`,`sort-clear`]),cT={"pin-none":null,"pin-left":`left`,"pin-right":`right`},lT=class{deps;view=new oT;openColId=null;filterDebounceTimer=null;constructor(e){this.deps=e}toggle(e){if(this.openColId===e.colId&&this.view.isOpen()){this.close();return}this.open(e)}open(e){let t=this.deps.columnModel.getColumnById(e.colId);if(!t)return;let n=Yi({colId:e.colId,sortable:t.sortable,filterable:t.filterable},e.mode??`full`);if(!Xi(n))return;this.close();let r=e.handleEl.getBoundingClientRect();this.openColId=e.colId,this.view.open({mountEl:this.deps.mountEl,colId:e.colId,anchorRect:r,sections:n,sortModel:this.deps.getSortModel(),fixed:t.fixed??null,filterModel:this.deps.getFilterModel(),columnFilterType:t.filterType,distinctFilterValues:this.deps.getColumnDistinctFilterValues(e.colId),filterSetValueMode:this.deps.filterSetValueMode,filterSetDateLayoutMode:this.deps.filterSetDateLayoutMode,triggerHandle:e.handleEl,hiddenUserColumns:Us(this.deps.columnModel.getColumns()),onAction:(t,n)=>this.handleAction(t,e.colId,n),onFilterInput:n=>this.scheduleFilterUpdate(e.colId,n,t.filterType),onClose:()=>this.close()})}close(){this.clearFilterDebounce(),this.view.close(),this.openColId=null}isOpenFor(e){return this.openColId===e&&this.view.isOpen()}destroy(){this.close()}onHeaderRefresh(){this.view.isOpen()&&this.close()}handleAction(e,t,n){if(sT.has(e)){this.applySortAction(e,t);return}let r=cT[e];if(r!==void 0){this.deps.setColumnFixed(t,r,`menu`);return}if(e===`filter-clear`){this.applyFilterClear(t);return}if(e===`hide-column`){this.deps.setColumnsHidden([t],!0,`menu`);return}e===`show-column`&&n&&this.deps.setColumnsHidden([n],!1,`menu`)}applySortAction(e,t){if(!this.deps.columnModel.getColumnById(t)?.sortable)return;let n=this.deps.getSortModel(),r;switch(e){case`sort-asc`:r=KC(t,n);break;case`sort-desc`:r=qC(t,n);break;case`sort-clear`:r=JC(t,n);break;default:return}this.deps.setSortModel(r)}scheduleFilterUpdate(e,t,n){if(!this.deps.columnModel.getColumnById(e)?.filterable)return;let r=this.deps.getFilterModel()[e];if(r&&_r(r))return;this.clearFilterDebounce();let i=()=>{let r=gw(e,{operatorLogic:t.operatorLogic,operatorConditions:t.operatorConditions,setAllSelected:t.setAllSelected,selectedValues:t.selectedValues},this.deps.getFilterModel(),n);this.deps.setFilterModel(r)};if(t.source===`set`){i();return}this.filterDebounceTimer=setTimeout(()=>{this.filterDebounceTimer=null,i()},300)}applyFilterClear(e){let t=this.deps.columnModel.getColumnById(e);if(!t?.filterable)return;this.clearFilterDebounce();let n=vw(e,this.deps.getFilterModel());this.deps.setFilterModel(n),this.view.syncFilterPanel(mw(e,n,t.filterType,this.deps.getColumnDistinctFilterValues(e).map(e=>e.key)))}clearFilterDebounce(){this.filterDebounceTimer!=null&&(clearTimeout(this.filterDebounceTimer),this.filterDebounceTimer=null)}},uT=8,dT=4,fT=320,pT=400,mT=168;function hT(e,t,n){let r=Math.min(pT,Math.max(fT,t)),i=e.right-r,a=e.bottom+dT;return a+n>window.innerHeight-uT&&(a=e.top-n-dT),i=Math.max(uT,Math.min(i,window.innerWidth-r-uT)),a=Math.max(uT,Math.min(a,window.innerHeight-n-uT)),{left:i,top:a}}function gT(e,t,n){let r=Math.max(mT,t),i=e.left,a=e.bottom+dT;return a+n>window.innerHeight-uT&&(a=e.top-n-dT),i=Math.max(uT,Math.min(i,window.innerWidth-r-uT)),a=Math.max(uT,Math.min(a,window.innerHeight-n-uT)),{left:i,top:a}}var _T=[{action:`promote`,label:`上移一级`,createIcon:zm},{action:`demote`,label:`下移一级`,createIcon:Rm}];function vT(e){if(e.availableActions.length===0)return{close:()=>e.onClose?.()};let t=e.mountEl??document.body,n=document.createElement(`div`);n.className=Js;let r=document.createElement(`div`);r.className=Ys;let i=document.createElement(`div`);i.className=Xs,i.setAttribute(`role`,`menu`);let a=new Set(e.availableActions);for(let t of _T){if(!a.has(t.action))continue;let n=document.createElement(`button`);n.type=`button`,n.className=Zs,n.dataset.action=t.action,n.setAttribute(`role`,`menuitem`);let r=document.createElement(`span`);r.className=Qs,r.append(t.createIcon());let o=document.createElement(`span`);o.className=$s,o.textContent=t.label,n.append(r,o),n.addEventListener(`mousedown`,n=>{n.preventDefault(),n.stopPropagation(),e.onSelect(t.action),d()}),i.append(n)}if(i.childElementCount===0)return{close:()=>e.onClose?.()};r.append(i),n.append(r),t.append(n),r.style.visibility=`hidden`,r.style.position=`fixed`,r.style.left=`0`,r.style.top=`0`;let o=e.anchorEl.getBoundingClientRect(),s=i.getBoundingClientRect(),c=gT(o,s.width,s.height);r.style.left=`${c.left}px`,r.style.top=`${c.top}px`,r.style.visibility=``;let l=t=>{let r=t.target;r instanceof Node&&(n.contains(r)||e.anchorEl.contains(r))||d()},u=e=>{e.key===`Escape`&&d()};document.addEventListener(`mousedown`,l,!0),document.addEventListener(`keydown`,u,!0);function d(){document.removeEventListener(`mousedown`,l,!0),document.removeEventListener(`keydown`,u,!0),n.remove(),e.onClose?.()}return{close:d}}var yT=class{deps;openRowId=null;anchorEl=null;menuHandle=null;constructor(e){this.deps=e}isOpenForRow(e){return this.openRowId===e&&this.menuHandle!=null}toggle(e,t,n){if(n.length!==0){if(this.openRowId===e&&this.menuHandle){this.close();return}this.close(),this.openRowId=e,this.anchorEl=t,t.setAttribute(`aria-expanded`,`true`),this.menuHandle=vT({anchorEl:t,mountEl:this.deps.mountEl,availableActions:n,onSelect:t=>{this.deps.applyAction(e,t)},onClose:()=>{this.resetAnchorExpanded(),this.openRowId=null,this.menuHandle=null}})}}close(){this.menuHandle?.close(),this.resetAnchorExpanded(),this.openRowId=null,this.menuHandle=null}destroy(){this.close(),this.deps.mountEl.querySelectorAll(`button.${Xe}[aria-expanded="true"]`).forEach(e=>{e.setAttribute(`aria-expanded`,`false`)})}resetAnchorExpanded(){this.anchorEl?.setAttribute(`aria-expanded`,`false`),this.anchorEl=null}};function bT(e){let t=document.createElement(`div`);return t.className=`mg-header-row__lane mg-header-row__lane--${e}`,t}function xT(e){let t=document.createElement(`div`);return t.className=`mg-footer-row__lane mg-footer-row__lane--${e}`,t}function ST(e){let t=document.createElement(`div`);return t.className=`mg-floating-filter-row__lane mg-floating-filter-row__lane--${e}`,t}function CT(e,t={}){e.replaceChildren();let n=document.createElement(`div`);n.className=`mg-root`;let r=document.createElement(`div`);r.className=`mg-header-viewport`;let i=document.createElement(`div`);i.className=`mg-header-scroll`;let a=document.createElement(`div`);a.className=`mg-header-gutter`,a.setAttribute(`aria-hidden`,`true`);let o=document.createElement(`div`);o.className=`mg-header-row`;let s=bT(`left`),c=bT(`center`),l=bT(`right`);o.append(s,c,l);let u=document.createElement(`div`);u.className=`mg-header-span`,u.setAttribute(`aria-hidden`,`true`),i.append(o,u),r.append(i,a);let d=document.createElement(`div`);d.className=`mg-body`;let f=document.createElement(`div`);f.className=`mg-viewport`,f.tabIndex=0;let p=document.createElement(`div`);p.className=`mg-spacer`;let m=document.createElement(`div`);m.className=`mg-rows-layer`;let h=document.createElement(`div`);h.className=`mg-index-column-fill-host`,h.setAttribute(`aria-hidden`,`true`),h.hidden=!0;let g=document.createElement(`div`);g.className=`mg-index-column-fill`,h.appendChild(g);let _=document.createElement(`div`);_.className=`mg-rows-container`,m.append(h,_);let v=document.createElement(`div`);v.className=`mg-spanned-rows-container`,v.style.display=`none`,_.appendChild(v);let y=document.createElement(`div`);y.className=`mg-full-width-rows-container`,y.style.display=`none`,m.appendChild(y);let b=document.createElement(`div`);b.className=`mg-scroll-phantom`,b.setAttribute(`aria-hidden`,`true`),p.appendChild(m),p.appendChild(b),f.appendChild(p),d.appendChild(f);let{overlayEl:x,wrapperEl:S,contentEl:C}=JS();d.appendChild(x),n.appendChild(r);let w,T,E,D,O,k,A;if(t.floatingFilter){w=document.createElement(`div`),w.className=`mg-floating-filter-viewport`,T=document.createElement(`div`),T.className=`mg-floating-filter-scroll`,E=document.createElement(`div`),E.className=`mg-floating-filter-gutter`,E.setAttribute(`aria-hidden`,`true`),D=document.createElement(`div`),D.className=`mg-floating-filter-row`,O=ST(`left`),k=ST(`center`),A=ST(`right`),D.append(O,k,A);let e=document.createElement(`div`);e.className=`mg-floating-filter-span`,e.setAttribute(`aria-hidden`,`true`),T.append(D,e),w.append(T,E),n.appendChild(w)}n.appendChild(d);let j,M,N,P,F,I,L;if(t.showSummary){j=document.createElement(`div`),j.className=`mg-footer-viewport`,M=document.createElement(`div`),M.className=`mg-footer-scroll`,N=document.createElement(`div`),N.className=`mg-footer-gutter`,N.setAttribute(`aria-hidden`,`true`),P=document.createElement(`div`),P.className=`mg-footer-row`,F=xT(`left`),I=xT(`center`),L=xT(`right`),P.append(F,I,L);let e=document.createElement(`div`);e.className=`mg-footer-span`,e.setAttribute(`aria-hidden`,`true`),M.append(P,e),j.append(M,N),n.appendChild(j)}return e.appendChild(n),{rootEl:n,headerViewportEl:r,headerScrollEl:i,headerGutterEl:a,headerRowEl:o,headerLeftLaneEl:s,headerCenterLaneEl:c,headerRightLaneEl:l,viewportEl:f,spacerEl:p,scrollPhantomEl:b,rowsLayerEl:m,indexColumnFillHostEl:h,indexColumnFillEl:g,rowsContainerEl:_,spannedRowsContainerEl:v,fullWidthRowsContainerEl:y,footerViewportEl:j,footerScrollEl:M,footerGutterEl:N,footerRowEl:P,footerLeftLaneEl:F,footerCenterLaneEl:I,footerRightLaneEl:L,floatingFilterViewportEl:w,floatingFilterScrollEl:T,floatingFilterGutterEl:E,floatingFilterRowEl:D,floatingFilterLeftLaneEl:O,floatingFilterCenterLaneEl:k,floatingFilterRightLaneEl:A,overlayEl:x,overlayWrapperEl:S,overlayContentEl:C}}var wT=`mg-floating-filter-cell`,TT=`mg-floating-filter-cell--active`,ET=`mg-floating-filter-cell__inner`,DT=`mg-floating-filter-control`,OT=`mg-floating-filter-control--readonly`,kT=`mg-floating-filter-input`,AT=`mg-floating-filter-input--readonly`,jT=`mg-floating-filter-button`,MT=`mg-floating-filter-button--active`,NT=`contains`,PT={blank:`空白`,notBlank:`非空白`};function FT(e){return e===`OR`?`或者`:`并且`}function IT(e){if(ii(e.type))return PT[e.type];if(e.type===`inRange`){let t=e.filter?.trim()??``,n=e.filterTo?.trim()??``;return t!==``&&n!==``?`${t} - ${n}`:t||n}return e.filter?.trim()??``}function LT(e){return!e||_r(e)?!1:Xr(e).filter(Yr).length>=2}function RT(e){if(!e||_r(e))return``;let t=Xr(e),n=t.filter(Yr);if(n.length>=2){let[t,r]=n,i=FT(Zr(e));return`${IT(t)} ${i} ${IT(r)}`}let[r]=n.length>0?n:t;return r?(r.type,r.filter??``):``}function zT(e,t){return!(!e||t&&_r(t))}function BT(e,t){return zT(e,t)?!LT(t):!1}function VT(e,t,n){let r=oi(t,n);e.classList.toggle(TT,r);let i=e.querySelector(`.${jT}`);i&&(i.classList.toggle(MT,r),r?i.setAttribute(`aria-pressed`,`true`):i.removeAttribute(`aria-pressed`))}function HT(e,t){let n=Array.isArray(e)?e:[e];for(let e of n){let n=Array.from(e.querySelectorAll(`.${wT}[data-col-id]`));for(let e of n){let n=e.dataset.colId;n&&VT(e,n,t)}}}var UT=class{lanes;floatingRowEl;inputBindings=[];focusedColId=null;constructor(e){this.floatingRowEl=e.floatingRowEl,this.lanes={left:e.floatingLeftLaneEl,center:e.floatingCenterLaneEl,right:e.floatingRightLaneEl}}render(e){this.clearBindings();let t=Bp(e.columnModel,e.centerWindow);this.syncLaneWidths(e.columnModel),this.renderLane(`left`,t.left,e),this.renderLane(`center`,t.center,e),this.renderLane(`right`,t.right,e),this.floatingRowEl.style.width=`${e.columnModel.getTotalWidth()}px`}syncFromFilterModel(e,t){for(let n of this.inputBindings){if(n.colId===this.focusedColId)continue;let r=t.getColumnById(n.colId),i=e[n.colId],a=BT(r?.filterable??!1,i);n.input.readOnly=!a,n.input.classList.toggle(AT,!a),n.input.tabIndex=a?0:-1,n.control.classList.toggle(OT,!a),n.input.value=RT(i)}HT([this.lanes.left,this.lanes.center,this.lanes.right],e)}syncRowLayout(e){this.floatingRowEl.style.width=`${e.getTotalWidth()}px`,this.syncLaneWidths(e)}setFocusedColId(e){this.focusedColId=e}destroy(){this.inputBindings.length=0,this.focusedColId=null;for(let e of Object.values(this.lanes))e.replaceChildren()}clearBindings(){this.inputBindings.length=0}syncLaneWidths(e){this.lanes.left.style.width=`${e.getLeftFixedWidth()}px`,this.lanes.center.style.width=`${e.getCenterTotalWidth()}px`,this.lanes.right.style.width=`${e.getRightFixedWidth()}px`}renderLane(e,n,r){let i=this.lanes[e];i.replaceChildren();for(let e of n){let n=r.columnModel.getColumn(e);if(!n)continue;let a=document.createElement(`div`);a.className=wT,a.dataset.colId=n.colId,t.it(n.colId)?a.classList.add(`mg-floating-filter-cell--index`):t.X(n.colId)&&a.classList.add(`mg-floating-filter-cell--selection`);let o=r.filterModel[n.colId],s=zT(n.filterable,o),c=BT(n.filterable,o);if(n.filterable){let e=document.createElement(`div`);e.className=ET;let t=document.createElement(`div`);if(t.className=DT,s){let e=document.createElement(`input`);e.type=`text`,e.className=kT,e.setAttribute(`aria-label`,`${n.label??n.prop??n.colId} 筛选`),e.value=RT(o),e.readOnly=!c,c||(e.classList.add(AT),t.classList.add(OT),e.tabIndex=-1),c&&e.addEventListener(`input`,()=>{r.onInput(n.colId,e.value)}),e.addEventListener(`focus`,()=>{this.focusedColId=n.colId,r.onFocus?.(n.colId)}),e.addEventListener(`blur`,()=>{this.focusedColId===n.colId&&(this.focusedColId=null),r.onBlur?.(n.colId)}),t.append(e),this.inputBindings.push({colId:n.colId,input:e,control:t})}else{let e=document.createElement(`span`);e.className=`mg-floating-filter-cell__spacer`,e.setAttribute(`aria-hidden`,`true`),t.append(e)}let i=document.createElement(`button`);i.type=`button`,i.className=jT,i.title=`列筛选`,i.setAttribute(`aria-label`,`${n.label??n.prop??n.colId} 列筛选`),i.setAttribute(`aria-haspopup`,`menu`),i.setAttribute(`aria-expanded`,`false`),i.append(wm()),t.append(i),e.append(t),a.append(e)}VT(a,n.colId,r.filterModel),Hp(a,Vp(n,r.columnModel),wT),i.appendChild(a)}}};function WT(e,t,n,r){e.style.width=`${r.getLeftFixedWidth()}px`,t.style.width=`${r.getCenterTotalWidth()}px`,n.style.width=`${r.getRightFixedWidth()}px`}function GT(e,t,n,r){Up(e,r,wT),Up(t,r,wT),Up(n,r,wT)}function KT(e,t,n,r=`text`){let i=n[e],a=!0,o=[];if(i&&!_r(i)){let e=Qr(i);e!==void 0&&(a=!1,o=e)}return _w(e,NT,t,n,r,void 0,a,o)}var qT=class{deps;debounceTimers=new Map;constructor(e){this.deps=e}render(e){this.deps.renderer.render({columnModel:this.deps.columnModel,centerWindow:e,filterModel:this.deps.getFilterModel(),onInput:(e,t)=>this.scheduleUpdate(e,t),onFocus:e=>this.deps.renderer.setFocusedColId(e),onBlur:()=>{this.deps.renderer.setFocusedColId(null)}})}syncFromFilterModel(){this.deps.renderer.syncFromFilterModel(this.deps.getFilterModel(),this.deps.columnModel)}syncRowLayout(){this.deps.renderer.syncRowLayout(this.deps.columnModel)}destroy(){this.clearAllDebounce(),this.deps.renderer.destroy()}scheduleUpdate(e,t){let n=this.deps.columnModel.getColumnById(e);if(!n?.filterable)return;let r=this.deps.getFilterModel()[e];if(r&&_r(r))return;let i=this.debounceTimers.get(e);i!=null&&clearTimeout(i),this.debounceTimers.set(e,setTimeout(()=>{this.debounceTimers.delete(e);let r=KT(e,t,this.deps.getFilterModel(),n.filterType??`text`);this.deps.setFilterModel(r)},300))}clearAllDebounce(){for(let e of this.debounceTimers.values())clearTimeout(e);this.debounceTimers.clear()}};function JT(e,t){return Math.max(0,e-t)}function YT(e,t){let n=JT(e,t);return n<=2?0:n}function XT(e,t){return e>t+2}function ZT(e,t){return e>t+2}function QT(e,t,n,r){let i=t.getColumn(e);if(!i||i.fixed===`left`||i.fixed===`right`)return null;let a=t.getLeftFixedWidth(),o=t.getRightFixedWidth(),s=a,c=r-o,l=a+i.left-n,u=l+i.width;return l>=s&&u<=c?null:l<s?i.left:a+i.left+i.width-c}function $T(e,t){return Math.max(0,e.getTotalWidth()-t)}function eE(e,t,n=2){return t<=n||e>=t-n}function tE(e,t,n){let r=$T(e,n);return Math.max(0,Math.min(t,r))}function nE(e,t,n,r,i){let a=tE(e,n,r);if(!i)return a===n?null:a;let o=e.getColumnById(t);if(!o||o.fixed!==null)return a===n?null:a;let s=rE(e,t);if(s<0)return a===n?null:a;let c=QT(s,e,a,r);return c!==null&&(a=tE(e,c,r)),a===n?null:a}function rE(e,t){for(let n=0;n<e.getColumnCount();n++)if(e.getColumn(n)?.colId===t)return n;return-1}function iE(e,t){return Math.abs(t-e)>=1}function aE(e,t,n){return e<t+40?-Math.min(1,(t+40-e)/40)*80:e>n-40?Math.min(1,(e-(n-40))/40)*80:0}function oE(e,t,n){return aE(e,t,n)!==0}function sE(e,t,n,r){return[e+n,t-r]}function cE(e){return e.scrollWidth>e.clientWidth+1}function lE(e,t,n){return n===0?!1:n>0?e+1<=t:e>=1}function uE(e,t){let n=Math.max(0,e.scrollWidth-e.clientWidth);if(t){let e=Math.max(0,t());return n<=0&&e>0?e:Math.min(e,n)}return n}function dE(e,t,n,r,i){let a=aE(e,t,n);return a!==0&&!lE(r,i,a)}function fE(e,t,n,r,i){if(r<=0&&i<=0||n<=t)return null;let[a,o]=sE(t,n,r,i);return e<a?`left`:e>o?`right`:null}function pE(e){return!e.allowCrossLaneColumnMove&&e.pointerFixed!==e.sourceFixed?!1:e.hasDropTarget?e.canMoveToDropTarget:e.pointerFixed===e.sourceFixed}var mE=class{deps;host;drag=null;scrollRaf=null;pointerListeners=null;constructor(e,t){this.deps=e,this.host=t}get rootDoc(){return MS(this.deps.viewportEl)}isActive(){return this.drag!=null}canStart(e,n,r){if(r||!e?.movable||e.hidden||t.it(e.colId)||t.X(e.colId))return!1;let i=Q(n);return!(i?.closest(`.mg-selection-checkbox--header`)||!i?.closest(`.mg-header-cell__column-handle`))}begin(e){this.end(!1);let t=this.deps.columnModel.getColumnById(e.colId);t&&(this.drag={colId:e.colId,sourceCell:e.sourceCell,laneEl:this.resolveHeaderLaneEl(t.fixed??null),dropLaneEl:this.resolveHeaderLaneEl(t.fixed??null),startX:e.clientX,startY:e.clientY,pointerX:e.clientX,active:!1,didMove:!1,lastDropTarget:null,lastLiveMovePointerX:null,ghostOffsetX:0,ghostTop:0,dragDirection:`right`},this.pointerListeners=PS(this.deps.viewportEl,{mousemove:this.handleMove,mouseup:this.handleEnd}))}end(e){let t=this.drag;if(t){this.unbindPointerListeners();try{let n=this.resolveSourceCell(t);this.deps.columnDragController.cleanup(n?.isConnected?n:null,this.deps.headerViewportEl),this.deps.setColumnMoveLiveDragging(!1),this.rootDoc.body.classList.remove(ta,na),e&&(this.host.setSuppressColumnClick(!0),this.host.setSuppressColumnHandleClick(!0),window.setTimeout(()=>{this.host.setSuppressColumnClick(!1),this.host.setSuppressColumnHandleClick(!1)},0))}finally{this.drag=null,this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null)}}}unbindPointerListeners(){this.pointerListeners?.unbind(),this.pointerListeners=null}handleMove=e=>{let t=this.drag;if(!t)return;let n=e.clientX-t.startX,r=e.clientY-t.startY;if(!t.active){if(Math.abs(n)<=5||Math.abs(n)<Math.abs(r))return;t.active=!0,t.didMove=!0,this.rootDoc.body.classList.add(ta),this.deps.suppressMoveWhenColumnDragging()||this.deps.setColumnMoveLiveDragging(!0),this.refreshSourceCell(t);let i=this.resolveSourceCellRect(t),a=this.deps.columnModel.getColumnById(t.colId);t.ghostOffsetX=e.clientX-i.left,t.ghostTop=i.bottom;let o=this.resolveGhostPositionAtPointer(e.clientX,t);this.deps.columnDragController.setColumnMoving(t.colId);let s=this.resolveSourceCell(t);s?.isConnected&&(t.sourceCell=s,this.deps.columnDragController.setSourceHeaderDragging(s,!0)),this.deps.columnDragController.setHeaderViewportDragging(this.deps.headerViewportEl,!0),this.deps.columnDragController.startGhost({label:a?.label??a?.prop??t.colId,width:i.width,height:i.height,left:o.left,top:o.top,mountEl:this.deps.mountEl})}this.updateDragDirection(e.clientX,t);let i=this.resolveGhostPositionAtPointer(e.clientX,t);this.deps.columnDragController.moveGhost(i.left,i.top),t.pointerX=e.clientX,this.shouldSkipRenderAtPointerAtScrollBoundary(e.clientX,t)||this.renderAtPointer(t,e.clientX);let a=this.resolveScrollHost(t),[o,s]=this.getScrollBounds(t),c=aE(t.pointerX,o,s);c!==0&&this.canHostScrollBy(a,c)&&oE(t.pointerX,o,s)&&this.ensureEdgeScrollLoop()};handleEnd=e=>{let t=this.drag;if(t){if(t.active)if(this.deps.suppressMoveWhenColumnDragging()){let n=this.resolveDropAtClientX(e.clientX,t,this.resolveHitLane(e.clientX,t));n&&this.deps.moveColumn(t.colId,n.globalIndex,!0,n.toFixed)}else this.commitLiveDragOnMouseup(e.clientX,t);this.end(t.didMove)}};commitLiveDragOnMouseup(e,t){if(!t.lastDropTarget){let n=this.resolveDropAtClientX(e,t,this.resolveHitLane(e,t));n?this.deps.moveColumn(t.colId,n.globalIndex,!0,n.toFixed):this.deps.finishColumnMove(t.colId);return}let n=this.resolveDropAtClientX(e,t,this.resolveHitLane(e,t));if((t.lastLiveMovePointerX==null||Math.abs(e-t.lastLiveMovePointerX)>=5)&&n&&!this.isSameDropTarget(n,t.lastDropTarget)){this.deps.moveColumn(t.colId,n.globalIndex,!0,n.toFixed);return}this.deps.finishColumnMove(t.colId)}renderAtPointer(e,t){let n=this.resolveHitLane(t,e),r=this.resolveDropAtClientX(t,e,n),i=this.isColumnDropAllowed(e,r,t);this.setColumnDropForbidden(!i),e.dropLaneEl=this.resolveDropLaneEl(t,r,e.colId,n),this.updateDropIndicator(e,i?r:null),this.deps.suppressMoveWhenColumnDragging()||this.applyLiveMove(e,i?r:null)}resolvePointerLaneFixed(e){let t=this.deps.viewportEl.getBoundingClientRect();return fE(e,t.left,t.right,this.deps.columnModel.getLeftFixedWidth(),this.deps.columnModel.getRightFixedWidth())}isColumnDropAllowed(e,t,n){let r=this.deps.columnModel.getColumnById(e.colId)?.fixed??null,i=this.resolvePointerLaneFixed(n);return pE({allowCrossLaneColumnMove:this.deps.allowCrossLaneColumnMove(),sourceFixed:r,pointerFixed:i,hasDropTarget:t!=null,canMoveToDropTarget:t?Ag({columns:this.deps.columnModel.getColumns(),colId:e.colId,toGlobalIndex:t.globalIndex,fixedGroups:this.deps.columnModel.getFixedColumnGroups(),toFixed:t.toFixed,allowCrossLaneColumnMove:this.deps.allowCrossLaneColumnMove()}):!1})}setColumnDropForbidden(e){this.rootDoc.body.classList.toggle(na,e)}getHeaderLaneElements(){return[{fixed:`left`,el:this.deps.headerLeftLaneEl},{fixed:null,el:this.deps.headerCenterLaneEl},{fixed:`right`,el:this.deps.headerRightLaneEl}]}resolveDropLaneEl(e,t,n,r){if(!this.deps.allowCrossLaneColumnMove()&&n){let e=this.deps.columnModel.getColumnById(n);return this.resolveHeaderLaneEl(e?.fixed??null)}if(t?.toFixed!==void 0)return this.resolveHeaderLaneEl(t.toFixed);if(t){let e=this.deps.columnModel.getColumn(t.globalIndex);if(e)return this.resolveHeaderLaneEl(e.fixed??null)}let i=this.getHeaderLaneElements();return r?r.el:i.find(({el:t})=>{let n=t.getBoundingClientRect();return e>=n.left&&e<=n.right})?.el??this.deps.headerCenterLaneEl}resolveHeaderLaneEl(e){return e===`left`?this.deps.headerLeftLaneEl:e===`right`?this.deps.headerRightLaneEl:this.deps.headerCenterLaneEl}resolveGhostPositionAtPointer(e,t){return{left:e-t.ghostOffsetX,top:t.ghostTop}}updateDragDirection(e,t){let n=Pg(e-t.pointerX,t.dragDirection);n!==t.dragDirection&&(t.lastLiveMovePointerX=null),t.dragDirection=n}constrainDropTargetByDragDirection(e,t){if(!e)return null;let n=this.deps.columnModel.getColumns().findIndex(e=>e.colId===t.colId);return n<0?e:t.dragDirection===`left`&&e.globalIndex>=n||t.dragDirection===`right`&&e.globalIndex<=n?null:e}isSameDropTarget(e,t){return!e||!t?e===t:e.globalIndex===t.globalIndex&&e.toFixed===t.toFixed}getScrollBounds(e){let t=this.resolveScrollHost(e);if(t===this.deps.viewportEl){let e=t.getBoundingClientRect();return sE(e.left,e.right,this.deps.columnModel.getLeftFixedWidth(),this.deps.columnModel.getRightFixedWidth())}let n=t.getBoundingClientRect();return[n.left,n.right]}resolveScrollHost(e){let t=this.deps.columnModel.getColumnById(e.colId);return t?.fixed===`left`?this.deps.headerLeftLaneEl:t?.fixed===`right`?this.deps.headerRightLaneEl:this.deps.viewportEl}resolveHostMaxScrollLeft(e){return uE(e,e===this.deps.viewportEl?()=>$T(this.deps.columnModel,e.clientWidth):void 0)}canHostScrollBy(e,t){return lE(e.scrollLeft,this.resolveHostMaxScrollLeft(e),t)}shouldSkipRenderAtPointerAtScrollBoundary(e,t){let n=this.resolveScrollHost(t),[r,i]=this.getScrollBounds(t);return dE(e,r,i,n.scrollLeft,this.resolveHostMaxScrollLeft(n))}ensureEdgeScrollLoop(){this.scrollRaf??=requestAnimationFrame(this.tickEdgeScroll)}tickEdgeScroll=()=>{let e=this.drag;if(!e?.active){this.scrollRaf=null;return}let t=this.resolveScrollHost(e);if(t!==this.deps.viewportEl&&!cE(t)){this.scrollRaf=null;return}let[n,r]=this.getScrollBounds(e),i=aE(e.pointerX,n,r),a=this.canHostScrollBy(t,i),o=!1;if(i!==0&&a){let n=t.scrollLeft;t===this.deps.viewportEl?this.deps.scrollByHorizontalDelta(i):t.scrollLeft=Math.max(0,Math.min(t.scrollLeft+i,t.scrollWidth-t.clientWidth)),o=iE(n,t.scrollLeft),o&&(e.lastLiveMovePointerX=null,this.renderAtPointer(e,e.pointerX))}if(oE(e.pointerX,n,r)&&a&&o){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null};updateDropIndicator(e,t){if(!t){this.deps.columnDragController.hideDropIndicator();return}let n=e.dropLaneEl,r=n.getBoundingClientRect(),i=(n.closest(`.mg-header-row`)??n.parentElement)?.getBoundingClientRect().top??r.top,a=r.height>0?r.height:32,o=this.deps.columnModel.getColumn(t.globalIndex);if(o){let e=Vp(o,this.deps.columnModel),t=o.fixed??null,n=Math.round(t===null?__(e.left,this.deps.viewportEl,this.deps.columnModel):r.left+e.left);this.deps.columnDragController.showDropIndicator(n,i,a);return}this.deps.columnDragController.showDropIndicator(Math.max(r.left,r.right-2),i,a)}applyLiveMove(e,t){!t||this.isSameDropTarget(t,e.lastDropTarget)||e.lastLiveMovePointerX!=null&&Math.abs(e.pointerX-e.lastLiveMovePointerX)<5||this.deps.moveColumn(e.colId,t.globalIndex,!1,t.toFixed)&&(e.laneEl=this.resolveHeaderLaneEl(this.deps.columnModel.getColumnById(e.colId)?.fixed??null),this.refreshSourceCell(e),e.lastDropTarget=t,e.lastLiveMovePointerX=e.pointerX)}resolveSourceCell(e){let t=this.deps.columnModel.getColumnById(e.colId)?.fixed??null;return this.resolveHeaderLaneEl(t).querySelector(`.mg-header-cell[data-col-id="${e.colId}"]`)}resolveSourceCellRect(e){if(e.sourceCell.isConnected)return e.sourceCell.getBoundingClientRect();let t=this.resolveSourceCell(e);return t?.isConnected?(e.sourceCell=t,t.getBoundingClientRect()):this.resolveSourceCellRectFromModel(e.colId)}resolveSourceCellRectFromModel(e){let t=this.deps.columnModel.getColumnById(e);if(!t)return new DOMRect(0,0,0,0);let n=t.fixed??null,r=this.resolveHeaderLaneEl(n),i=r.getBoundingClientRect(),a=Vp(t,this.deps.columnModel),o=Math.round(n===null?__(a.left,this.deps.viewportEl,this.deps.columnModel):i.left+a.left),s=(r.closest(`.mg-header-row`)??r.parentElement)?.getBoundingClientRect().top??i.top,c=i.height>0?i.height:32;return new DOMRect(o,s,t.width,c)}refreshSourceCell(e){let t=this.resolveSourceCell(e);t&&(e.active&&(e.sourceCell.isConnected&&this.deps.columnDragController.setSourceHeaderDragging(e.sourceCell,!1),this.deps.columnDragController.setSourceHeaderDragging(t,!0)),e.sourceCell=t)}resolvePhysicalHitLane(e){let t=this.getHeaderLaneElements().find(({el:t})=>{let n=t.getBoundingClientRect();return e>=n.left&&e<=n.right});if(t)return t;let n=this.resolvePointerLaneFixed(e);return n===`left`?{fixed:`left`,el:this.deps.headerLeftLaneEl}:n===`right`?{fixed:`right`,el:this.deps.headerRightLaneEl}:{fixed:null,el:this.deps.headerCenterLaneEl}}resolveHitLane(e,t){if(!this.deps.allowCrossLaneColumnMove()){let e=this.deps.columnModel.getColumnById(t.colId)?.fixed??null;return this.getHeaderLaneElements().find(({fixed:t})=>t===e)||{fixed:e,el:t.laneEl}}return this.resolvePhysicalHitLane(e)}resolveLaneSectionX(e,t){if(t.fixed===null)return g_(e,this.deps.viewportEl,this.deps.columnModel);let n=t.el.getBoundingClientRect(),r=t.el.querySelector(`.mg-header-cell[data-col-id]`),i=r?.getAttribute(`data-col-id`),a=i?this.deps.columnModel.getColumnById(i):null;if(r&&a){let t=Vp(a,this.deps.columnModel);return e-r.getBoundingClientRect().left+t.left}return e-n.left}resolveDropAtClientX(e,t,n){let r=this.deps.columnModel.getColumns(),i=this.deps.columnModel.getFixedColumnGroups(),a=n.el.getBoundingClientRect(),o=Hg({columns:r,fixedGroups:i,sectionX:this.resolveLaneSectionX(e,n),clientX:e,laneRectLeft:a.left,laneRectRight:a.right,targetFixed:n.fixed,sourceColId:t.colId,dragDirection:t.dragDirection,leftFixedWidth:this.deps.columnModel.getLeftFixedWidth(),centerTotalWidth:this.deps.columnModel.getCenterTotalWidth()}),s=[...n.el.querySelectorAll(`.mg-header-cell[data-col-id]`)].flatMap(e=>{let t=e.getAttribute(`data-col-id`);if(!t)return[];let n=this.host.getColIndex(t);if(n<0)return[];let r=e.getBoundingClientRect();return[{colId:t,globalIndex:n,rectLeft:r.left,rectWidth:r.width}]}),c=Vg({columns:r,fixedGroups:i,clientX:e,laneRectLeft:a.left,laneRectRight:a.right,targetFixed:n.fixed,sourceColId:t.colId,dragDirection:t.dragDirection,laneHeaderCells:s});if(n.fixed===null&&this.deps.viewportEl.scrollLeft>0&&o)return this.constrainDropTargetByDragDirection(o,t);let l=r.findIndex(e=>e.colId===t.colId);return o&&c&&l>=0&&c.globalIndex===l&&o.globalIndex!==l&&Ag({columns:r,colId:t.colId,toGlobalIndex:o.globalIndex,fixedGroups:i,toFixed:o.toFixed,allowCrossLaneColumnMove:this.deps.allowCrossLaneColumnMove()})?this.constrainDropTargetByDragDirection(o,t):this.constrainDropTargetByDragDirection(c??o,t)}};function hE(e,t){let n=t.clientX,r=0,i=!1,a=e.rootEl.ownerDocument,o=t=>{if(e.rootEl.classList.toggle(`mg-root--column-resizing`,t),t){a.body.style.cursor=`col-resize`,a.body.style.userSelect=`none`;return}a.body.style.removeProperty(`cursor`),a.body.style.removeProperty(`user-select`)},s=null,c=t=>{i||(i=!0,s?.unbind(),s=null,o(!1),t&&e.onResizeEnd(r))};return o(!0),e.onResizeStart(t.shiftKey),s=PS(e.rootEl,{mousemove:t=>{if(t.buttons===0){c(!0);return}r=t.clientX-n,e.onResizing(r)},mouseup:()=>{c(!0)}}),()=>c(!1)}function gE(e,t){return e}var _E=class{deps;columnResize=null;columnResizeFrame=null;pendingColumnResizeAmount=null;keyboardColumnResize=null;keyboardColumnResizeClearTimeout=null;constructor(e){this.deps=e}isActive(){return this.columnResize!=null}refreshVisualState(){let e=this.columnResize;if(!e)return;let t=jS(this.deps.mountEl).querySelector(`.mg-header-cell[data-col-id="${CSS.escape(e.colId)}"]`);t&&(e.sourceCell=t,this.markActiveCell(t))}canStart(e,t,n){return n||this.columnResize||!e?.resizable?!1:(t instanceof Element?t:t instanceof Text?t.parentElement:null)?.closest(`.mg-header-cell__resize-handle`)!=null}begin(e){this.end(!1);let t=this.deps.columnModel.getColumnById(e.colId);t?.resizable&&(this.deps.columnHandleMenuController.close(),this.columnResize={colId:e.colId,sourceCell:e.sourceCell,startWidth:t.width,shiftKey:e.event.shiftKey,endSession:hE({rootEl:jS(this.deps.mountEl),onResizeStart:()=>{},onResizing:e=>{this.scheduleResize(e)},onResizeEnd:e=>{this.applyResize(e,!0),this.end(!0)}},e.event)},this.markActiveCell(e.sourceCell))}end(e){let t=this.columnResize;t&&(this.columnResizeFrame!=null&&(cancelAnimationFrame(this.columnResizeFrame),this.columnResizeFrame=null),this.pendingColumnResizeAmount=null,this.clearActiveCell(),!e&&t.endSession&&t.endSession(),this.columnResize=null)}tryKeyboardResize(e,n){if(this.columnResize)return!1;let r=this.deps.cellFocusService.getFocusedCell();if(!r||!Mf(r))return!1;let i=r.colId;if(t.it(i)||t.X(i)||!this.deps.columnModel.getColumnById(i)?.resizable)return!1;(!this.keyboardColumnResize||this.keyboardColumnResize.colId!==i)&&(this.keyboardColumnResize={colId:i,multiplier:0}),this.keyboardColumnResize.multiplier+=1;let a=(e===`left`?-1:1)*this.keyboardColumnResize.multiplier,o=this.deps.mountEl.querySelector(`.mg-header-cell[data-col-id="${i}"]`);return o&&this.markActiveCell(o),this.deps.resizeHeaderColumn(i,a,n),!0}handleKeyUp(e){this.keyboardColumnResize&&(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&(this.keyboardColumnResize=null,this.keyboardColumnResizeClearTimeout!=null&&window.clearTimeout(this.keyboardColumnResizeClearTimeout),this.keyboardColumnResizeClearTimeout=window.setTimeout(()=>{this.clearActiveCell(),this.keyboardColumnResizeClearTimeout=null},150))}markActiveCell(e){this.clearActiveCell(),e.setAttribute(`data-column-resize-active`,``),e.classList.add(`mg-header-cell--resizing`)}clearActiveCell(){jS(this.deps.mountEl).querySelectorAll(`.mg-header-cell[data-column-resize-active]`).forEach(e=>{e instanceof HTMLElement&&(e.removeAttribute(`data-column-resize-active`),e.classList.remove(`mg-header-cell--resizing`))})}scheduleResize(e){this.pendingColumnResizeAmount=e,this.columnResizeFrame??=requestAnimationFrame(()=>{this.columnResizeFrame=null;let e=this.pendingColumnResizeAmount;e==null||!this.columnResize||this.applyResize(e,!1)})}applyResize(e,t){let n=this.columnResize;if(!n)return;let r=this.deps.columnModel.getColumnById(n.colId);if(!r)return;let i=gE(e,r.fixed??null),a=n.startWidth+i;this.deps.setColumnWidths([{colId:n.colId,newWidth:a}],n.shiftKey,t)}},vE=class{deps;host;constructor(e,t){this.deps=e,this.host=t}syncSingleCellRangeToFocus(){this.deps.isCellSelectionEnabled?.()&&this.deps.selectFocusedCellRange?.()}applyFocusVisuals(){let e=this.deps.cellFocusService.getFocusedCell();this.syncHeaderFocusVisual(e&&Mf(e)?e.colId:null),this.syncFooterFocusVisual(e&&Nf(e)?e.colId:null),!e||Y(e)?this.deps.rowRenderer.setFocusedCell(null):this.deps.rowRenderer.setFocusedCell({rowId:e.rowId,colId:e.colId}),this.deps.syncCellRangeHighlightVisuals?.()}navigateEditableTab(e){let t=this.deps.cellFocusService.getFocusedCell();if(!t)return;let n=this.deps.rowModel.getRowCount(),r=Tf(this.deps.columnModel);if(n===0||r.length===0)return;let i=Bf(t,e,n,r,e=>this.deps.rowModel.getRow(e)?.id,e=>this.deps.columnModel.getColumn(e)?.colId,(e,t)=>{let n=this.deps.rowModel.getRow(e),r=this.deps.columnModel.getColumnById(t);return!!(n&&r&&H(r,n,this.deps.getCellDisableContext()))},this.getFocusChromeNavigation());if(!i){this.navigateTab(e);return}this.deps.ensureIndexVisible(i.rowIndex,`middle`),this.deps.ensureColumnVisible(i.colIndex),this.setFocusedCell(i),this.syncSingleCellRangeToFocus(),this.deps.redrawImmediately(),this.startEditingFocusedCell()}keyToFocusDirection(e){switch(e){case`ArrowUp`:return`up`;case`ArrowDown`:return`down`;case`ArrowLeft`:return`left`;case`ArrowRight`:return`right`;default:return null}}navigateFocus(e){let t=this.deps.rowModel.getRowCount(),n=Tf(this.deps.columnModel);if(t===0||n.length===0)return;let r=this.deps.cellFocusService.move(e,t,n,e=>this.deps.rowModel.getRow(e)?.id,e=>this.deps.columnModel.getColumn(e)?.colId,this.getFocusChromeNavigation());r&&(Y(r)||this.deps.ensureIndexVisible(r.rowIndex,`middle`),this.deps.ensureColumnVisible(r.colIndex),this.setFocusedCell(r))}navigateFocusToEdge(e){let t=this.deps.rowModel.getRowCount(),n=Tf(this.deps.columnModel);if(t===0||n.length===0)return;let r=this.deps.cellFocusService.moveToEdge(e,t,n,e=>this.deps.rowModel.getRow(e)?.id,e=>this.deps.columnModel.getColumn(e)?.colId,this.getFocusChromeNavigation());r&&(Y(r)||(e===`up`?this.deps.ensureIndexVisible(r.rowIndex,`top`):e===`down`?this.deps.ensureIndexVisible(r.rowIndex,`bottom`):this.deps.ensureIndexVisible(r.rowIndex,`middle`)),this.deps.ensureColumnVisible(r.colIndex),this.setFocusedCell(r))}navigateTab(e){let t=this.deps.rowModel.getRowCount(),n=Tf(this.deps.columnModel);if(t===0||n.length===0)return;let r=this.deps.cellFocusService.moveTab(e,t,n,e=>this.deps.rowModel.getRow(e)?.id,e=>this.deps.columnModel.getColumn(e)?.colId,this.getFocusChromeNavigation());r&&(Y(r)||this.deps.ensureIndexVisible(r.rowIndex,`middle`),this.deps.ensureColumnVisible(r.colIndex),this.setFocusedCell(r),this.syncSingleCellRangeToFocus())}setFocusedCell(e){let t=this.normalizeSpanFocus(e);if(this.deps.cellFocusService.setFocusedCell(t),this.applyFocusVisuals(),Y(t)){let e=this.deps.rowModel.getRow(0);e&&this.emitCellFocused({rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:e});return}let n=this.deps.rowModel.getRow(t.rowIndex);n&&this.emitCellFocused({rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:n})}buildCellFocusedPayload(e){let t=this.deps.columnModel.getColumnById(e.colId),n=t?W(e.rowNode,t):e.rowNode.data[e.colId];return{...e,value:n}}emitCellFocused(e){this.deps.eventBus.emit(`cellFocused`,this.buildCellFocusedPayload(e))}normalizeSpanFocus(e){let t=this.deps.cellSpanService();if(!t?.active||Y(e))return e;let n=t.normalizePosition(e.rowId,e.colId);if(n.rowId===e.rowId)return e;let r=this.deps.rowModel.getRowIndexById(n.rowId);return r<0?e:{rowId:n.rowId,colId:n.colId,rowIndex:r,colIndex:CS(this.deps.columnModel,n.colId)}}focusCellTarget(e){this.setFocusedCell({rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,colIndex:CS(this.deps.columnModel,e.colId)})}toggleIndexFocusFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||Y(e)||!this.host.isIndexColumnEntry(e.colId)?!1:(this.host.applyIndexFocus(e.rowId,e.rowIndex,e.colId,{toggleOnReselect:!0}),!0)}toggleInlineEditorFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||Y(e)?!1:this.toggleInlineToggleAtCell(e.rowId,e.colId,e.rowIndex)}toggleRowSelectionFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||Y(e)||!this.host.isSelectionColumnEntry(e.colId)?!1:(this.host.applyRowSelection(e.rowId,e.rowIndex,e.colId,{toggleOnReselect:!0}),!0)}toggleRowExpandFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||Y(e)||!this.host.isExpandColumnEntry(e.colId)?!1:(this.host.applyRowExpansionToggle(e.rowId,e.rowIndex,e.colId),!0)}toggleRowGroupFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||Y(e)||!this.host.isGroupColumnEntry(e.colId)?!1:(this.host.applyRowGroupingToggle(e.rowId,e.rowIndex,e.colId),!0)}toggleTreeTableFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||Y(e)||!this.host.isTreeColumnEntry(e.colId)?!1:(this.host.applyTreeTableToggle(e.rowId,e.rowIndex,e.colId),!0)}tryMoveFocusedHeaderColumn(e){if(!this.isHeaderNavigationEnabled())return!1;let n=this.deps.cellFocusService.getFocusedCell();if(!n||!Mf(n))return!1;let r=n.colId;if(t.it(r)||t.X(r))return!1;let i=Ng({columns:this.deps.columnModel.getColumns(),colId:r,toGlobalIndex:-1,fixedGroups:this.deps.columnModel.getFixedColumnGroups(),direction:e});return i==null||!this.deps.moveColumn(r,i,!0)?!1:(this.setFocusedCell({rowId:n.rowId,colId:r,rowIndex:n.rowIndex,colIndex:i}),!0)}toggleHeaderSortFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||!Mf(e)||!this.host.canToggleHeaderSort(e.colId)?!1:(this.deps.toggleHeaderSort(e.colId),!0)}toggleHeaderSelectionFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||!Mf(e)||!this.host.isSelectionColumnEntry(e.colId)||!this.host.isSelectionHeaderMultiple()?!1:(this.host.toggleSelectAllVisibleRows(),!0)}startEditingFocusedCell(){let e=this.deps.cellFocusService.getFocusedCell();if(!e||Y(e))return;let n=this.deps.rowModel.getRow(e.rowIndex);if(!n)return;let r=this.deps.mountEl.querySelector(`.mg-row[data-row-id="${e.rowId}"]`);if(!r)return;if(U(this.deps.editBehavior)){this.deps.tryStartRowEditing({rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,rowNode:n,rowElement:r});return}let i=this.deps.columnModel.getColumnById(e.colId);!i||!H(i,n,this.deps.getCellDisableContext())||t.V(i)||this.deps.tryStartCellEditing({rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,rowNode:n,rowElement:r})}isHeaderNavigationEnabled(){return this.deps.navigateHeader()}isFooterNavigationEnabled(){return this.deps.showSummary()&&this.deps.navigateFooter()}isInlineToggleClickTarget(e){return pf(e)}toggleInlineToggleAtCell(e,n,r){let i=this.deps.columnModel.getColumnById(n);if(!i||!t.V(i)||!ff(i.cellEditor))return!1;let a=this.deps.rowModel.getRow(r);if(!a||!H(i,a,this.deps.getCellDisableContext()))return!1;let o=this.deps.mountEl.querySelector(`.mg-row[data-row-id="${e}"] .mg-cell[data-col-id="${n}"]`);if(!o)return!1;let s=i.cellEditor===`switch`?nf:tf,c=o.querySelector(`input.${s}`);return!c||c.disabled?!1:(c.checked=!c.checked,c.dispatchEvent(new Event(`change`,{bubbles:!0})),!0)}isGroupOrTreeExpandClickTarget(e){return e instanceof Element?e.closest(`button.mg-cell__group-expand`)!=null||e.closest(`button.mg-cell__tree-expand`)!=null:!1}syncFooterFocusVisual(e){this.deps.mountEl.querySelectorAll(`.mg-footer-cell[data-col-id]`).forEach(t=>{t instanceof HTMLElement&&t.classList.toggle(`mg-footer-cell--focused`,e!==null&&t.dataset.colId===e)})}syncHeaderFocusVisual(e){this.deps.mountEl.querySelectorAll(`.mg-header-cell[data-col-id]`).forEach(t=>{t instanceof HTMLElement&&t.classList.toggle(`mg-header-cell--focused`,e!==null&&t.dataset.colId===e)})}getFocusChromeNavigation(){return{headerEnabled:this.isHeaderNavigationEnabled(),footerEnabled:this.isFooterNavigationEnabled()}}},yE=class{deps;host;drag=null;scrollRaf=null;constructor(e,t){this.deps=e,this.host=t}get rootDoc(){return MS(this.deps.viewportEl)}isActive(){return this.drag!=null}begin(e){this.end();let t=e.kind===`index`?this.deps.indexFocusService:this.deps.selectionService,n=null,r=null;e.ctrlKey&&t?.isMultiple()&&(n=t.isSelected(e.anchorRowId)?`remove`:`add`,r=new Set(t.getSelectedRowIds())),t?.setAnchorIndex(e.rowIndex),this.drag={kind:e.kind,anchorRowIndex:e.rowIndex,anchorRowId:e.anchorRowId,colId:e.colId,startY:e.clientY,moved:!1,pointerY:e.clientY,ctrlRangeMode:n,baselineRowIds:r},e.kind===`selection`&&this.host.clearCellRangesOnRowSelectionInteraction(),this.rootDoc.body.classList.add(`mg-row-drag-selecting`),this.host.setFocusedCell({rowId:e.anchorRowId,colId:e.colId,rowIndex:e.rowIndex,colIndex:this.host.getColIndex(e.colId)}),this.deps.viewportEl.focus(),this.rootDoc.addEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.addEventListener(`mouseup`,this.handleUp,!0)}end(){this.rootDoc.removeEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.removeEventListener(`mouseup`,this.handleUp,!0),this.rootDoc.body.classList.remove(`mg-row-drag-selecting`),this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null),this.drag=null}handleMove=e=>{if(!this.drag)return;if(e.buttons===0){this.handleUp();return}this.drag.pointerY=e.clientY,this.updateFromPointer(e.clientX,e.clientY);let t=this.deps.viewportEl.getBoundingClientRect();cb(e.clientY,t.top,t.bottom)&&this.ensureEdgeScrollLoop()};handleUp=()=>{if(!this.drag)return;let e=this.drag;e.moved?this.host.setSuppressColumnClick(!0):e.kind===`index`?this.host.applyIndexFocus(e.anchorRowId,e.anchorRowIndex,e.colId,{toggleOnReselect:!0}):this.host.applyRowSelection(e.anchorRowId,e.anchorRowIndex,e.colId,{toggleOnReselect:!0}),this.end()};updateFromPointer(e,t){if(!this.drag)return;let n=ob(this.deps.rowModel,this.deps.viewportEl,e,t,()=>this.deps.getLogicalScrollTop());n&&(Math.abs(t-this.drag.startY)>3||n.rowIndex!==this.drag.anchorRowIndex)&&(this.drag.moved=!0,this.applyRange(n.rowIndex),this.deps.ensureIndexVisible(n.rowIndex,`middle`))}ensureEdgeScrollLoop(){this.scrollRaf??=requestAnimationFrame(this.tickEdgeScroll)}tickEdgeScroll=()=>{if(!this.drag){this.scrollRaf=null;return}let e=this.drag,t=this.deps.viewportEl.getBoundingClientRect(),n=ab(e.pointerY,t.top,t.bottom,this.deps.getRowHeight());if(n!==0&&this.deps.scrollByDelta(n),this.updateFromPointer(t.left+this.deps.viewportEl.clientWidth/2,e.pointerY),cb(e.pointerY,t.top,t.bottom)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null};applyRange(e){if(!this.drag)return;let t=e=>this.deps.rowModel.getRow(e)?.id,n=e=>this.deps.getSelectableRowIdAt(e),r=this.drag,i={rowCount:this.deps.rowModel.getRowCount(),getAllRowIdAt:t};if(r.kind===`index`){if(!this.deps.indexFocusService)return;r.ctrlRangeMode&&r.baselineRowIds?r.ctrlRangeMode===`add`?this.deps.indexFocusService.addRangeToSelection(r.anchorRowIndex,e,t,r.baselineRowIds):this.deps.indexFocusService.removeRangeFromSelection(r.anchorRowIndex,e,t,r.baselineRowIds):this.deps.indexFocusService.selectRangeBetween(r.anchorRowIndex,e,t),this.deps.applyIndexFocusVisuals(),this.deps.emitIndexFocusChanged(this.deps.indexFocusService.getFocusedRowIds()),this.host.syncCellRangeFromIndexFocus?.(e);return}this.deps.selectionService&&(r.ctrlRangeMode&&r.baselineRowIds?r.ctrlRangeMode===`add`?this.deps.selectionService.addRangeToSelection(r.anchorRowIndex,e,n,r.baselineRowIds):this.deps.selectionService.removeRangeFromSelection(r.anchorRowIndex,e,n,r.baselineRowIds,i):this.deps.selectionService.selectRangeBetween(r.anchorRowIndex,e,n,i),this.deps.applySelectionVisuals(),this.deps.emitSelectionChanged(this.deps.selectionService.getSelectedRowIds()))}};function bE(e,t,n,r){if(!n?.active)return r;let i=n.normalizePosition(r.rowId,r.colId);if(i.rowId===r.rowId)return r;let a=e.getRowIndexById(i.rowId);return a<0||t.getColumnById(i.colId)==null?r:{rowId:i.rowId,rowIndex:a,colId:i.colId}}function xE(e,t,n,r){return ab(e,t,n,r)}function SE(e,t,n){return aE(e,t,n)}function CE(e,t,n){return cb(e,t,n)}function wE(e,t,n){return oE(e,t,n)}function TE(e,t,n){return CE(t,n.top,n.bottom)||wE(e,n.left,n.right)}function EE(e){return e.fixed??`center`}function DE(e,t,n){if(!n)return!1;let r=EE(e);return r===`right`||r===t}function OE(e,t,n,r){let i=e-t.left,a=n.getLeftFixedWidth(),o=n.getRightFixedWidth(),s=Math.max(0,r-a-o);return i<a?`left`:i>=a+s?`right`:`center`}function kE(e,t,n){let r=n.getBoundingClientRect();return e>=r.left&&e<r.right&&t>=r.top&&t<r.bottom}var AE={left:[`left`,`center`,`right`],center:[`center`,`left`,`right`],right:[`right`,`center`,`left`]};function jE(e,t){let n=e.querySelectorAll?.(`.mg-row[data-row-id]`);if(!n)return null;for(let e of n)if(e instanceof HTMLElement&&e.dataset.rowId===t)return e;return null}function ME(e,t,n,r,i,a){let o=OE(t,a,r,i.clientWidth);for(let i of AE[o]){let a=e.querySelector(`.mg-row__lane--${i}`);if(a instanceof HTMLElement)for(let e of a.querySelectorAll(`.mg-cell[data-col-id]`)){if(!(e instanceof HTMLElement))continue;let i=e.dataset.colId;if(!i||!kE(t,n,e))continue;let a=r.getColumnById(i);if(!(!a||a.hidden)&&DE(a,o,!0))return i}}return null}function NE(e,t,n,r,i){let a=document.elementFromPoint(e,t)?.closest(`.mg-cell`),o=a?.dataset.colId;if(!o||!a)return null;let s=n.getColumnById(o);if(!s||s.hidden)return null;let c=OE(e,i,n,r.clientWidth),l=EE(s);if(DE(s,c,kE(e,t,a)))return o;if(l!==c)return null;if(c===`center`){let t=n.getLeftFixedWidth(),a=n.getRightFixedWidth(),o=n.getCenterTotalWidth(),s=Math.max(0,r.clientWidth-t-a),c=m_(r.scrollLeft,o,s);if(FE(e-i.left,t,o,c))return null}return o}function PE(e,t){return e.filter(e=>EE(e)===t)}function FE(e,t,n,r){return r+(e-t)>=n}function IE(e,t,n,r){let i=e.getDisplayedColumns();if(i.length===0)return null;let a=t.getBoundingClientRect(),o=n-a.left,s=e.getLeftFixedWidth(),c=e.getRightFixedWidth(),l=e.getCenterTotalWidth(),u=Math.max(0,t.clientWidth-s-c),d=OE(n,a,e,t.clientWidth);if(d===`left`){let e=PE(i,`left`);return e.length===0?null:e[d_(e,o)]?.colId??null}if(d===`right`){let e=PE(i,`right`);if(e.length===0)return null;let t=s+l,n=o-s-u;return e[d_(e.map(e=>({...e,left:e.left-t})),n)]?.colId??null}let f=PE(i,`center`);if(f.length===0)return null;let p=m_(r,l,u);return FE(o,s,l,p)?null:f[d_(f,p+(o-s))]?.colId??null}function LE(e,t,n,r,i,a,o){let s=ob(e,n,r,i,a);if(!s)return null;let c=n.getBoundingClientRect(),l=o(),u=jE(n,s.rowId),d=(u==null?null:ME(u,r,i,t,n,c))??NE(r,i,t,n,c)??IE(t,n,r,l);return d?{rowIndex:s.rowIndex,colId:d}:null}var RE=class{deps;host;drag=null;scrollRaf=null;constructor(e,t){this.deps=e,this.host=t}get rootDoc(){return MS(this.deps.viewportEl)}isActive(){return this.drag!=null}canStart(e,t,n=`replace`){if(!this.deps.isCellSelectionEnabled()||!this.deps.getCellRangeService()||this.deps.isEditing()||this.deps.isCommitting())return!1;if(n===`replace`){if(t.shiftKey||t.ctrlKey||t.metaKey)return!1}else if(t.shiftKey||!t.ctrlKey&&!t.metaKey)return!1;else if(this.deps.getCellRangeService()?.isSuppressMultiRanges())return!1;if(this.deps.isInlineToggleClickTarget(t.target)||this.deps.isGroupOrTreeExpandClickTarget?.(t.target))return!1;let r=t.target?.closest(`.mg-cell`);if(r&&this.deps.isPointerOverCellCommentIndicator(r,t.clientX,t.clientY)||(t.target instanceof Element?t.target:null)?.closest(`.mg-cell__row-resize-handle, .mg-cell__row-drag-handle`))return!1;let i=e.rowNode.rowKind;return vs(e.colId,i)}begin(e){this.end();let t=e.mode??`replace`,n=this.deps.getCellRangeService(),r=t===`append`&&n?n.getRanges():[],i=bE(this.deps.rowModel,this.deps.columnModel,this.deps.getCellSpanService?.()??null,{rowId:e.anchorRowId,rowIndex:e.anchorRowIndex,colId:e.anchorColId});this.drag={mode:t,baseRanges:r,anchorRowIndex:i.rowIndex,anchorColId:i.colId,anchorRowId:i.rowId,startX:e.clientX,startY:e.clientY,moved:!1,pointerX:e.clientX,pointerY:e.clientY},this.rootDoc.body.classList.add(`mg-cell-range-dragging`),this.host.setFocusedCell({rowId:i.rowId,colId:i.colId,rowIndex:i.rowIndex,colIndex:this.host.getColIndex(i.colId)}),this.deps.viewportEl.focus(),this.rootDoc.addEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.addEventListener(`mouseup`,this.handleUp,!0)}end(){this.rootDoc.removeEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.removeEventListener(`mouseup`,this.handleUp,!0),this.rootDoc.body.classList.remove(`mg-cell-range-dragging`),this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null),this.drag=null}handleMove=e=>{if(!this.drag)return;if(e.buttons===0){this.handleUp();return}this.drag.pointerX=e.clientX,this.drag.pointerY=e.clientY,this.updateFromPointer(e.clientX,e.clientY);let t=this.deps.viewportEl.getBoundingClientRect();TE(e.clientX,e.clientY,t)&&this.ensureEdgeScrollLoop()};handleUp=()=>{if(!this.drag)return;let e=this.drag;e.moved?this.host.setSuppressColumnClick(!0):e.mode===`append`?this.appendSingleCellRange(e.anchorRowIndex,e.anchorColId):this.applyRange(e.anchorRowIndex,e.anchorColId),this.end()};updateFromPointer(e,t){if(!this.drag)return;let n=LE(this.deps.rowModel,this.deps.columnModel,this.deps.viewportEl,e,t,()=>this.deps.getLogicalScrollTop(),()=>this.deps.getScrollLeft());if(!n)return;let r=this.deps.rowModel.getRow(n.rowIndex),i=r?.rowKind;if(!r||!vs(n.colId,i))return;let a=bE(this.deps.rowModel,this.deps.columnModel,this.deps.getCellSpanService?.()??null,{rowId:r.id,rowIndex:n.rowIndex,colId:n.colId});(Math.abs(e-this.drag.startX)>4||Math.abs(t-this.drag.startY)>4||a.rowIndex!==this.drag.anchorRowIndex||a.colId!==this.drag.anchorColId)&&(this.drag.moved=!0,this.applyRange(a.rowIndex,a.colId))}ensureEdgeScrollLoop(){this.scrollRaf??=requestAnimationFrame(this.tickEdgeScroll)}tickEdgeScroll=()=>{if(!this.drag){this.scrollRaf=null;return}let e=this.drag,t=this.deps.viewportEl.getBoundingClientRect(),n=xE(e.pointerY,t.top,t.bottom,this.deps.getRowHeight()),r=SE(e.pointerX,t.left,t.right);if(n!==0&&this.deps.scrollByDelta(n),r!==0&&this.deps.scrollByHorizontalDelta(r),this.updateFromPointer(e.pointerX,e.pointerY),TE(e.pointerX,e.pointerY,t)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null};applyRange(e,t){let n=this.deps.getCellRangeService();if(!this.drag||!n)return;let r=Es({rowIndex:this.drag.anchorRowIndex,colId:this.drag.anchorColId},{rowIndex:e,colId:t}),i=this.deps.getCellRangeOperationContext(),a={rowIndex:this.drag.anchorRowIndex,colId:this.drag.anchorColId};(this.drag.mode===`append`?this.commitAppendRange(r,a,i):n.setRanges([r],i,a))&&(this.deps.applyCellRangeVisuals(),this.deps.emitCellSelectionChanged(`ui`))}commitAppendRange(e,t,n){let r=this.deps.getCellRangeService(),i=this.drag;return!r||!i?!1:r.setRanges([...i.baseRanges,e],n,t)}appendSingleCellRange(e,t){let n=this.deps.getCellRangeService(),r=this.drag;if(!n||!r)return;let i={rowIndex:e,colId:t},a=Es(i,i),o=this.deps.getCellRangeOperationContext();n.addRange(a,o,i)&&(this.deps.applyCellRangeVisuals(),this.deps.emitCellSelectionChanged(`ui`))}},zE=class{deps;drag=null;scrollRaf=null;get rootDoc(){return MS(this.deps.viewportEl)}constructor(e){this.deps=e}isActive(){return this.drag!=null}canStart(){if(this.deps.isCommitting()||!Ss(this.deps.getCellSelectionOptions()))return!1;let e=this.deps.getCellRangeService();return!(!e||e.getRanges().length!==1)}begin(e,t){if(!this.canStart())return!1;let n=this.deps.getCellRangeService(),r=this.deps.getCellRangeOperationContext(),i=n.getRanges()[0],a=G(i,r.displayedColIds);return a?(this.end(),this.drag={fixedAnchor:{rowIndex:a.top,colId:a.leftColId},sourceRange:a,previewRange:a,pointerX:e,pointerY:t},this.rootDoc.body.classList.add(`mg-fill-handle-dragging`),this.rootDoc.addEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.addEventListener(`mouseup`,this.handleUp,!0),!0):!1}end(){this.rootDoc.removeEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.removeEventListener(`mouseup`,this.handleUp,!0),this.rootDoc.body.classList.remove(`mg-fill-handle-dragging`),this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null),this.drag=null}handleMove=e=>{if(!this.drag)return;if(e.buttons===0){this.handleUp();return}this.drag.pointerX=e.clientX,this.drag.pointerY=e.clientY,this.updateFromPointer(e.clientX,e.clientY);let t=this.deps.viewportEl.getBoundingClientRect();TE(e.clientX,e.clientY,t)&&this.ensureEdgeScrollLoop()};handleUp=()=>{this.drag&&(this.commitFill(),this.deps.emitCellSelectionChanged(`ui`),this.end())};commitFill(){let e=this.drag;if(!e)return;let t=this.getFillOptions();if(!t)return;let n=this.deps.getCellRangeOperationContext(),r=this.deps.getFillWriteService();if(!r)return;let i=pS(e.sourceRange,e.previewRange,n.displayedColIds),a=t.fillReverseStrategy===`clear`?mS(e.sourceRange,e.previewRange,n.displayedColIds):[];(i.length!==0||a.length!==0)&&r.commitFillRange({sourceRange:e.sourceRange,displayedColIds:n.displayedColIds,fillOptions:t,added:i,removed:a})}updateFromPointer(e,t){if(!this.drag)return;let n=LE(this.deps.rowModel,this.deps.columnModel,this.deps.viewportEl,e,t,()=>this.deps.getLogicalScrollTop(),()=>this.deps.getScrollLeft());if(!n)return;let r=this.deps.rowModel.getRow(n.rowIndex);if(!r)return;let i=bE(this.deps.rowModel,this.deps.columnModel,this.deps.getCellSpanService?.()??null,{rowId:r.id,rowIndex:n.rowIndex,colId:n.colId}),a=this.getFillOptions();if(!a)return;let o=this.deps.getCellRangeOperationContext(),s=aS({fixedAnchor:this.drag.fixedAnchor,pointer:i,sourceRange:this.drag.sourceRange,direction:a.direction,displayedColIds:o.displayedColIds});if(!s)return;let c=this.deps.getCellRangeService();c&&(c.setRanges([Os(s)],o,c.getAnchor())&&this.deps.applyCellRangeVisuals(),this.drag.previewRange=s)}getFillOptions(){let e=this.deps.getCellSelectionOptions().handle;return!e||e.mode!==`fill`?null:e}ensureEdgeScrollLoop(){this.scrollRaf??=requestAnimationFrame(this.tickEdgeScroll)}tickEdgeScroll=()=>{let e=this.drag;if(!e){this.scrollRaf=null;return}let t=this.deps.viewportEl.getBoundingClientRect(),n=xE(e.pointerY,t.top,t.bottom,this.deps.getRowHeight()),r=SE(e.pointerX,t.left,t.right);if(n!==0&&this.deps.scrollByDelta(n),r!==0&&this.deps.scrollByHorizontalDelta(r),this.updateFromPointer(e.pointerX,e.pointerY),TE(e.pointerX,e.pointerY,t)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null}},BE=class{deps;drag=null;scrollRaf=null;get rootDoc(){return MS(this.deps.viewportEl)}constructor(e){this.deps=e}isActive(){return this.drag!=null}canStart(){if(this.deps.isCommitting()||!Cs(this.deps.getCellSelectionOptions()))return!1;let e=this.deps.getCellRangeService();return!(!e||e.getRanges().length!==1)}begin(e,t){if(!this.canStart())return!1;let n=this.deps.getCellRangeService(),r=this.deps.getCellRangeOperationContext(),i=n.getRanges()[0],a=G(i,r.displayedColIds);if(!a)return!1;let o=n.getAnchor(),s=o??{rowIndex:a.top,colId:a.leftColId};return o||n.setAnchor(s),this.end(),this.drag={fixedAnchor:s,sourceRange:a,pointerX:e,pointerY:t},this.rootDoc.body.classList.add(`mg-range-handle-dragging`),this.rootDoc.addEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.addEventListener(`mouseup`,this.handleUp,!0),!0}end(){this.rootDoc.removeEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.removeEventListener(`mouseup`,this.handleUp,!0),this.rootDoc.body.classList.remove(`mg-range-handle-dragging`),this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null),this.drag=null}handleMove=e=>{if(!this.drag)return;if(e.buttons===0){this.handleUp();return}this.drag.pointerX=e.clientX,this.drag.pointerY=e.clientY,this.updateFromPointer(e.clientX,e.clientY);let t=this.deps.viewportEl.getBoundingClientRect();TE(e.clientX,e.clientY,t)&&this.ensureEdgeScrollLoop()};handleUp=()=>{this.drag&&(this.deps.emitCellSelectionChanged(`ui`),this.end())};updateFromPointer(e,t){if(!this.drag)return;let n=LE(this.deps.rowModel,this.deps.columnModel,this.deps.viewportEl,e,t,()=>this.deps.getLogicalScrollTop(),()=>this.deps.getScrollLeft());if(!n)return;let r=this.deps.rowModel.getRow(n.rowIndex);if(!r)return;let i=bE(this.deps.rowModel,this.deps.columnModel,this.deps.getCellSpanService?.()??null,{rowId:r.id,rowIndex:n.rowIndex,colId:n.colId}),a=this.deps.getCellRangeService();if(!a)return;let o=this.deps.getCellRangeOperationContext();a.extendFromAnchor({rowIndex:i.rowIndex,colId:i.colId},o)&&this.deps.applyCellRangeVisuals()}ensureEdgeScrollLoop(){this.scrollRaf??=requestAnimationFrame(this.tickEdgeScroll)}tickEdgeScroll=()=>{let e=this.drag;if(!e){this.scrollRaf=null;return}let t=this.deps.viewportEl.getBoundingClientRect(),n=xE(e.pointerY,t.top,t.bottom,this.deps.getRowHeight()),r=SE(e.pointerX,t.left,t.right);if(n!==0&&this.deps.scrollByDelta(n),r!==0&&this.deps.scrollByHorizontalDelta(r),this.updateFromPointer(e.pointerX,e.pointerY),TE(e.pointerX,e.pointerY,t)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null}},VE=class{deps;constructor(e){this.deps=e}isEligibleDataCell(e,t){return vs(e,t)}normalizeTarget(e){let t=bE(this.deps.rowModel,this.deps.columnModel,this.deps.getCellSpanService?.()??null,{rowId:e.rowId,rowIndex:e.rowIndex,colId:e.colId});if(t.rowId===e.rowId&&t.rowIndex===e.rowIndex&&t.colId===e.colId)return e;let n=this.deps.rowModel.getRow(t.rowIndex)??e.rowNode;return{rowId:t.rowId,rowIndex:t.rowIndex,colId:t.colId,rowNode:n,rowElement:e.rowElement}}normalizePosition(e,t,n){return bE(this.deps.rowModel,this.deps.columnModel,this.deps.getCellSpanService?.()??null,{rowId:e,rowIndex:t,colId:n})}isActive(){return this.deps.isCellSelectionEnabled()&&this.deps.getCellRangeService()!=null}commitRangeChange(e=`ui`){this.deps.applyCellRangeVisuals(),this.deps.emitCellSelectionChanged(e)}clearAllRanges(e=`ui`){return this.deps.getCellRangeService()?.clear()?(this.commitRangeChange(e),!0):!1}tryHeaderColumnSelection(e){if(!this.deps.getCellSelectionOptions?.().enableColumnSelection||!this.isActive()||this.deps.isEditing()||this.deps.isCommitting()||ms(e))return!1;let t=this.deps.rowModel.getRowCount();if(t===0)return!1;let n=this.deps.getCellRangeService();if(!n)return!1;let r=this.deps.getCellRangeOperationContext(),i=Ms(e,t,r.rowKindAt??(()=>void 0));if(!i)return!1;let a={rowIndex:i.startRowIndex,colId:i.startColId};return!n.setRanges([i],r,a)||!n.hasRanges()?!1:(this.commitRangeChange(),!0)}tryClearOnBlankViewportClick(){return this.isActive()?this.clearAllRanges():!1}tryClearOnPlainClick(e){return this.isActive()?this.setSingleCellRange(e):!1}tryClearOnNonRangeTargetClick(){return!this.isActive()||!this.deps.getCellRangeService()?.hasRanges()?!1:this.clearAllRanges()}selectFocusedCellRange(){if(!this.isActive())return!1;let e=this.deps.cellFocusService.getFocusedCell();if(!e||Y(e))return!1;let t=this.deps.rowModel.getRow(e.rowIndex);return t?this.isEligibleDataCell(e.colId,t.rowKind)?this.setSingleCellRange({rowId:t.id,rowIndex:e.rowIndex,colId:e.colId,rowNode:t}):this.tryClearOnNonRangeTargetClick():!1}setSingleCellRange(e,t=`ui`){let n=this.deps.getCellRangeService();if(!n)return!1;let r=this.normalizeTarget(e);if(!this.isEligibleDataCell(r.colId,r.rowNode.rowKind))return!1;let i={rowIndex:r.rowIndex,colId:r.colId},a=Es(i,i);return n.setRanges([a],this.deps.getCellRangeOperationContext(),i)&&this.commitRangeChange(t),!0}tryHandleModifierMouseDown(e,t){if(!t.shiftKey&&!t.ctrlKey&&!t.metaKey||!this.isActive()||this.deps.isEditing()||this.deps.isCommitting()||!this.isEligibleDataCell(e.colId,e.rowNode.rowKind))return!1;t.preventDefault();let n=this.normalizeTarget(e);return t.shiftKey&&!t.ctrlKey&&!t.metaKey?this.handleShiftClick(n):this.handleCtrlClick(n),!0}handleShiftClick(e){let t=this.deps.getCellRangeService(),n=this.deps.getCellRangeOperationContext(),r=this.deps.cellFocusService.getFocusedCell(),i={rowIndex:e.rowIndex,colId:e.colId};r&&!Y(r)?t.extendFocusedRange({rowIndex:r.rowIndex,colId:r.colId},i,n):t.setRanges([Es(i,i)],n,i),this.commitRangeChange()}handleCtrlClick(e){let t=this.deps.getCellRangeService(),n=this.deps.getCellRangeOperationContext(),r={rowIndex:e.rowIndex,colId:e.colId},i=Es(r,r);t.isSuppressMultiRanges()?t.setRanges([i],n,r):t.addRange(i,n,r),this.commitRangeChange()}onArrowKey(e,t){if(!this.isActive())return!1;if(!t)return!0;let n=this.deps.cellFocusService.getFocusedCell();if(!n||Y(n)||!this.isEligibleDataCell(n.colId,this.deps.rowModel.getRow(n.rowIndex)?.rowKind))return!0;let r=Lf(n,e,this.deps.rowModel.getRowCount(),Tf(this.deps.columnModel),e=>this.deps.rowModel.getRow(e)?.id,e=>this.deps.columnModel.getColumn(e)?.colId,this.deps.getFocusChromeNavigation());if(!r||Y(r))return!0;let i=this.deps.rowModel.getRow(r.rowIndex)?.id;if(!i)return!0;let a=this.normalizePosition(i,r.rowIndex,r.colId);return a.rowIndex===n.rowIndex&&a.colId===n.colId||(this.deps.getCellRangeService().extendFocusedRange({rowIndex:n.rowIndex,colId:n.colId},{rowIndex:a.rowIndex,colId:a.colId},this.deps.getCellRangeOperationContext()),this.commitRangeChange(),!0)}handleDeleteKey(){return!this.isActive()||!this.deps.getCellRangeService()?.hasRanges()||this.deps.isCommitting()?!1:(this.deps.handleCellSelectionDeleteKey?.(),!0)}syncFromIndexFocus(e){if(!this.deps.showIndexColumn?.()||!this.isActive())return!1;let t=this.deps.getCellRangeOperationContext(),n=t.rowKindAt??(()=>void 0),r=Fs({focusedRowIndices:(this.deps.getIndexFocusedRowIds?.()??[]).map(e=>this.deps.rowModel.getRowIndexById(e)).filter(e=>e>=0),displayedColIds:t.displayedColIds,rowKindAt:n,suppressMultiRanges:this.deps.getCellSelectionOptions?.().suppressMultiRanges??!0,currentRowIndex:e}),i=this.deps.getCellRangeService();if(!i)return!1;if(r.length===0)return i.hasRanges()?(i.clear(),this.commitRangeChange(),!0):!1;let a={rowIndex:r[0].startRowIndex,colId:r[0].startColId},o=i.setRanges(r,t,a);return o&&this.commitRangeChange(),o}};function HE(e,t){let n=t.clientY,r=0,i=!1,a=t=>{if(e.rootEl.classList.toggle(`mg-root--row-resizing`,t),t){document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`;return}document.body.style.removeProperty(`cursor`),document.body.style.removeProperty(`user-select`)},o=t=>{i||(i=!0,document.removeEventListener(`mousemove`,s,!0),document.removeEventListener(`mouseup`,c,!0),a(!1),t&&e.onResizeEnd(r))},s=t=>{if(t.buttons===0){o(!0);return}r=t.clientY-n,e.onResizing(r)},c=()=>{o(!0)};return a(!0),e.onResizeStart(t.shiftKey),document.addEventListener(`mousemove`,s,!0),document.addEventListener(`mouseup`,c,!0),()=>o(!1)}var UE=class{deps;rowResize=null;rowResizeFrame=null;pendingRowResizeAmount=null;constructor(e){this.deps=e}isActive(){return this.rowResize!=null}refreshVisualState(){let e=this.rowResize;if(!e)return;let n=jS(this.deps.mountEl).querySelector(`.mg-row[data-row-id="${CSS.escape(e.rowId)}"] .mg-cell[data-col-id="${CSS.escape(t.tt)}"]`);n&&(e.sourceCell=n,this.markActiveCell(n))}canStart(e,n,r){return r||this.rowResize||!this.deps.indexColumnOptions.showIndexColumn||!this.deps.indexColumnOptions.indexColumn.enableRowResizer||!t.it(e)?!1:Q(n)?.closest(`.${Ia}`)!=null}begin(e){this.end(!1);let t=this.deps.rowModel.getRowById(e.rowId);t&&(this.rowResize={rowId:e.rowId,sourceCell:e.sourceCell,startHeight:t.rowHeight,endSession:HE({rootEl:jS(this.deps.mountEl),onResizeStart:()=>{},onResizing:e=>{this.scheduleResize(e)},onResizeEnd:e=>{this.applyResize(e,!0),this.end(!0)}},e.event)},this.markActiveCell(e.sourceCell))}end(e){let t=this.rowResize;t&&(this.rowResizeFrame!=null&&(cancelAnimationFrame(this.rowResizeFrame),this.rowResizeFrame=null),this.pendingRowResizeAmount=null,this.clearActiveCell(),!e&&t.endSession&&t.endSession(),this.rowResize=null)}markActiveCell(e){this.clearActiveCell(),e.setAttribute(`data-row-resize-active`,``),e.classList.add(La)}clearActiveCell(){jS(this.deps.mountEl).querySelectorAll(`.mg-cell[data-row-resize-active]`).forEach(e=>{e instanceof HTMLElement&&(e.removeAttribute(`data-row-resize-active`),e.classList.remove(La))})}scheduleResize(e){this.pendingRowResizeAmount=e,this.rowResizeFrame??=requestAnimationFrame(()=>{this.rowResizeFrame=null;let e=this.pendingRowResizeAmount;e==null||!this.rowResize||this.applyResize(e,!1)})}applyResize(e,t){let n=this.rowResize;if(!n)return;let r=n.startHeight+e;this.deps.setRowHeights([{rowId:n.rowId,height:r}],t)}},WE=[`--mg-color-row-drop-indicator`,`--mg-row-drop-indicator-height`,`--mg-row-drop-indicator-z-index`],GE=class{ghostEl=null;indicatorEl=null;sourceCellEl=null;ghostMountEl=document.body;themeSourceEl=null;startGhost(e){this.removeGhost(),e.mountEl&&(this.ghostMountEl=e.mountEl,this.themeSourceEl=e.mountEl.closest(`.magic-grid`)??e.mountEl.closest(`.mg-root`)??e.mountEl);let t=document.createElement(`div`);t.className=`${Sa} ${Sa}--cell`,t.style.width=`${e.width}px`,t.style.height=`${e.height}px`,t.style.left=`${e.left}px`,t.style.top=`${e.top}px`;let n=document.createElement(`span`);n.className=`${Sa}__label`,n.textContent=e.label,t.append(n),this.ghostMountEl.appendChild(t),this.ghostEl=t}moveGhost(e,t){this.ghostEl&&(this.ghostEl.style.left=`${e}px`,this.ghostEl.style.top=`${t}px`)}showDropIndicator(e,t,n){if(!this.indicatorEl){let e=document.createElement(`div`);e.className=xa,this.syncIndicatorTheme(e),document.body.appendChild(e),this.indicatorEl=e}let r=t-this.resolveIndicatorHeight()/2;this.indicatorEl.style.left=`${e}px`,this.indicatorEl.style.top=`${r}px`,this.indicatorEl.style.width=`${Math.max(0,n)}px`,this.indicatorEl.style.display=`block`}hideDropIndicator(){this.indicatorEl&&(this.indicatorEl.style.display=`none`)}setSourceCellDragging(e,t){this.sourceCellEl&&this.sourceCellEl!==e&&this.sourceCellEl.classList.remove(ba),this.sourceCellEl=e,e?.classList.toggle(ba,t)}cleanup(){this.setSourceCellDragging(this.sourceCellEl,!1),this.removeGhost(),this.removeIndicator(),this.themeSourceEl=null,this.ghostMountEl=document.body}destroy(){this.cleanup()}resolveIndicatorHeight(){if(!this.indicatorEl)return 2;let e=this.indicatorEl.style.getPropertyValue(`--mg-row-drop-indicator-height`),t=getComputedStyle(this.indicatorEl).height,n=e||t,r=Number.parseFloat(n);return Number.isFinite(r)&&r>0?r:2}syncIndicatorTheme(e){let t=this.themeSourceEl??this.ghostMountEl.closest(`.magic-grid`)??this.ghostMountEl.closest(`.mg-root`);if(!t)return;let n=getComputedStyle(t);for(let t of WE){let r=n.getPropertyValue(t).trim();r&&e.style.setProperty(t,r)}let r=n.getPropertyValue(`--mg-color-primary`).trim();r&&!e.style.getPropertyValue(`--mg-color-row-drop-indicator`)&&e.style.setProperty(`--mg-color-row-drop-indicator`,r)}removeGhost(){this.ghostEl?.remove(),this.ghostEl=null}removeIndicator(){this.indicatorEl?.remove(),this.indicatorEl=null}},KE=class{deps;drag=null;scrollRaf=null;dragController=new GE;constructor(e){this.deps=e}get rootDoc(){return MS(this.deps.viewportEl)}isActive(){return this.drag!=null}canStart(e,t,n){if(n||this.drag||this.deps.isRowDragCommitting?.()||!this.deps.isRowDragHandleEnabled(e))return!1;let r=Q(t);return r?.closest(`.mg-cell__row-drag-handle`)!=null&&qE(r)}begin(e){this.end(!1);let t=e.sourceCell.closest(`.mg-row`),n=e.sourceCell.dataset.colId;if(!t||!n)return;let r=this.resolveDragRowIds(e.rowId);if(this.deps.isRowGroupingActive?.()&&ad(this.deps.rowModel.getSourceRows(),r)===`mixed`)return;let i=new Map,a=this.deps.rowModel.getSourceRows();for(let e of r){let t=a.findIndex(t=>t.id===e);t>=0&&i.set(e,t)}this.drag={rowId:e.rowId,rowIds:r,sourceRowEl:t,sourceCell:e.sourceCell,sourceColId:n,startX:e.clientX,startY:e.clientY,pointerX:e.clientX,pointerY:e.clientY,ghostOffsetX:0,ghostOffsetY:0,active:!1,didMove:!1,overIndex:-1,lastDropInsertIndex:null,lastNestUnderRowId:null,nestUnderRowId:null,altKey:!1,startSourceIndices:i,startDisplayIndex:this.deps.rowModel.getRowIndexById(e.rowId),startTreePositions:Pb(a,r),startNestUnderRowId:null},this.rootDoc.addEventListener(`mousemove`,this.handleMove),this.rootDoc.addEventListener(`mouseup`,this.handleEnd)}end(e){let t=this.drag;t&&(this.rootDoc.removeEventListener(`mousemove`,this.handleMove),this.rootDoc.removeEventListener(`mouseup`,this.handleEnd),this.dragController.cleanup(),this.deps.setRowMoveLiveDragging(!1),this.rootDoc.body.classList.remove(`mg-row-dragging`,Ca),this.rootDoc.body.style.removeProperty(`cursor`),this.rootDoc.body.style.removeProperty(`user-select`),this.drag=null,this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null),!e&&t.didMove&&this.hasDragResultChanged(t,t.nestUnderRowId,!1)&&this.deps.emitRowDragEnd(Ma(t.rowId,t.overIndex,!1,t.rowIds)))}handleMove=e=>{let t=this.drag;if(!t)return;let n=e.clientX-t.startX,r=e.clientY-t.startY;if(!t.active){if(Math.abs(r)<=5||Math.abs(r)<Math.abs(n))return;t.active=!0,t.didMove=!0,this.rootDoc.body.classList.add(`mg-row-dragging`),this.rootDoc.body.style.userSelect=`none`,this.canLiveReorder()&&this.deps.setRowMoveLiveDragging(!0);let e=t.sourceCell.getBoundingClientRect();t.ghostOffsetX=t.startX-e.left,t.ghostOffsetY=t.startY-e.top,this.dragController.setSourceCellDragging(t.sourceCell,!0),this.dragController.startGhost({label:JE(t.sourceCell,t.rowId,t.rowIds.length),width:e.width,height:e.height,left:e.left,top:e.top,mountEl:jS(this.deps.mountEl)})}this.dragController.moveGhost(e.clientX-t.ghostOffsetX,e.clientY-t.ghostOffsetY),t.pointerY=e.clientY,t.pointerX=e.clientX,t.altKey=e.altKey,this.renderAtPointer(e.clientX,e.clientY,e.altKey);let i=this.deps.viewportEl.getBoundingClientRect();cb(t.pointerY,i.top,i.bottom)&&this.ensureEdgeScrollLoop()};handleEnd=e=>{let t=this.drag;if(t){if(t.active){let n=this.resolveTreeNestUnderRowId(t.pointerX,t.pointerY,e.altKey,t.rowIds);t.nestUnderRowId=n;let r=t.overIndex>=0&&this.isDropAllowed(t,t.overIndex,n);if(this.isDeferredManagedCommit()){if(r){let e=this.deps.planRowDragMove(this.deps.buildPlanRowDragMoveOptions({rowIds:t.rowIds,leaderRowId:t.rowId,displayInsertIndex:t.overIndex,treeNestUnderRowId:n}));if(e.ok){let i=this.deps.resolveTreeRowDragEndContext?.(t.rowId,t.overIndex,n,r);this.deps.commitDeferredRowDrag({plan:e.plan,rowIds:t.rowIds,sourceColId:t.sourceColId,nestUnderRowId:n,treeContext:i})}}}else{let e=this.hasDragResultChanged(t,n,r);if(e&&this.canLiveReorder()&&t.overIndex>=0&&r&&this.deps.finishRowMoves(t.rowIds,t.startSourceIndices,t.overIndex,t.startTreePositions),e){let e=this.deps.resolveTreeRowDragEndContext?.(t.rowId,t.overIndex,n,r);this.deps.emitRowDragEnd(Ma(t.rowId,t.overIndex,!0,t.rowIds,e))}}}this.end(!0)}};renderAtPointer(e,t,n=!1){let r=this.drag;if(!r)return;let i=Db(this.deps.rowModel,this.deps.viewportEl,e,t,this.deps.getLogicalScrollTop);r.overIndex=i;let a=this.resolveTreeNestUnderRowId(e,t,n,r.rowIds);if(r.nestUnderRowId=a,i<0){this.dragController.hideDropIndicator();return}if(!this.isDropAllowed(r,i,a)){this.dragController.hideDropIndicator(),this.setDropForbidden(!0);return}this.setDropForbidden(!1),this.updateDropIndicator(i),this.canLiveReorder()&&this.applyLiveMove(r,i,a)}resolveTreeNestUnderRowId(e,t,n,r){return!this.deps.isTreeActive?.()||this.deps.getTreeDragScope?.()!==`hierarchy`?null:_b({rowModel:this.deps.rowModel,viewportEl:this.deps.viewportEl,clientX:e,clientY:t,getLogicalScrollTop:this.deps.getLogicalScrollTop,altKey:n,movingRowIds:r})}setDropForbidden(e){this.rootDoc.body.classList.toggle(Ca,e)}isDropAllowed(e,t,n){return this.deps.isTreeActive?.()?this.deps.validateTreeDisplayDrop?.(e.rowIds,t,{nestUnderRowId:n})??!1:this.deps.isRowGroupingActive?.()?this.deps.validateGroupedDisplayDrop?.(e.rowIds,t)??!1:!0}updateDropIndicator(e){let t=this.deps.rowModel.getRowCount(),n=this.deps.viewportEl.getBoundingClientRect(),r=Math.min(e,Math.max(0,t-1)),i=e>=t?this.deps.rowModel.getRow(t-1):this.deps.rowModel.getRow(r);if(!i){this.dragController.hideDropIndicator();return}let a=this.deps.viewportEl.querySelector(`.mg-row[data-row-id="${CSS.escape(i.id)}"]`);if(a){let r=a.getBoundingClientRect(),i=e>=t?r.bottom:r.top,o=Math.max(r.left,n.left),s=Math.min(r.right,n.right);this.dragController.showDropIndicator(o,i,s-o);return}let o=this.deps.rowModel.getRowBounds(r);if(!o){this.dragController.hideDropIndicator();return}let s=n.top+o.rowTop-this.deps.getLogicalScrollTop()+(e>=t?o.rowHeight:0);this.dragController.showDropIndicator(n.left,s,n.width)}applyLiveMove(e,t,n){if(t===e.lastDropInsertIndex&&n===e.lastNestUnderRowId)return;let r=kb(t,this.deps.rowModel.getRowCount()),i=this.deps.rowModel.getRowIndexById(e.rowId);if(i>=0&&r===i){e.lastDropInsertIndex=t;return}this.commitRowsMove(e,t,!1,n)&&(e.lastDropInsertIndex=t,e.lastNestUnderRowId=n,this.refreshSourceElements(e))}commitRowsMove(e,t,n,r=null){if(this.deps.isTreeActive?.())return this.deps.moveRows({rowIds:e.rowIds,leaderRowId:e.rowId,toIndex:0,displayInsertIndex:t,treeNestUnderRowId:typeof r==`string`?r:void 0,finished:n},`uiRowDrag`).moved;if(this.deps.isRowGroupingActive?.())return this.deps.moveRows({rowIds:e.rowIds,leaderRowId:e.rowId,toIndex:0,displayInsertIndex:t,finished:n},`uiRowDrag`).moved;let i=this.deps.rowModel.getSortModel().length>0,a=kb(t,this.deps.rowModel.getRowCount()),o=this.deps.rowModel.getRowIndexById(e.rowId);if(o>=0&&a===o)return!1;let s=ed({sourceRows:this.deps.rowModel.getSourceRows(),displayRows:this.deps.rowModel.rowsToDisplay,sortModelLength:+!!i,filterModelKeyCount:Object.keys(this.deps.rowModel.getFilterModel()).length}),c=id(a,s.hasSortOrFilter&&!i?`display`:`source`,s,i);return c!=null&&this.deps.moveRows({rowIds:e.rowIds,leaderRowId:e.rowId,toIndex:c,indexMode:`source`,finished:n},`uiRowDrag`).moved}resolveDragRowIds(e){return this.deps.isIndexFocusMultiple()?Nu(this.deps.rowModel.getSourceRows(),e,this.deps.getIndexFocusedRowIds()):[e]}refreshSourceElements(e){let t=this.deps.viewportEl.querySelector(`.mg-row[data-row-id="${CSS.escape(e.rowId)}"]`);if(!t)return;let n=t.querySelector(`.mg-cell[data-col-id="${CSS.escape(e.sourceColId)}"]`);n&&(e.active&&(this.dragController.setSourceCellDragging(e.sourceCell,!1),this.dragController.setSourceCellDragging(n,!0)),e.sourceRowEl=t,e.sourceCell=n)}hasDragResultChanged(e,t,n){return Rb({rowIds:e.rowIds,leaderRowId:e.rowId,startSourceIndices:e.startSourceIndices,sourceRows:this.deps.rowModel.getSourceRows(),startTreePositions:e.startTreePositions,managed:this.isManagedRowDragEnabled(),dropInsertIndex:e.overIndex,dropAllowed:n,startDisplayIndex:e.startDisplayIndex,nestUnderRowId:t,startNestUnderRowId:e.startNestUnderRowId,rowCount:this.deps.rowModel.getRowCount()})}isManagedRowDragEnabled(){return this.deps.rowDragManaged&&!ka(this.deps.hasSortOrFilterActive(),this.deps.rowDragManaged)}isDeferredManagedCommit(){return this.isManagedRowDragEnabled()&&this.deps.deferRowDragCommit}canLiveReorder(){return this.isManagedRowDragEnabled()&&!this.deps.deferRowDragCommit}ensureEdgeScrollLoop(){this.scrollRaf??=requestAnimationFrame(this.tickEdgeScroll)}tickEdgeScroll=()=>{let e=this.drag;if(!e?.active){this.scrollRaf=null;return}let t=this.deps.viewportEl.getBoundingClientRect(),n=ab(e.pointerY,t.top,t.bottom,this.deps.getRowHeight());if(n!==0&&(this.deps.scrollByDelta(n),this.renderAtPointer(e.pointerX,e.pointerY,e.altKey)),cb(e.pointerY,t.top,t.bottom)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null}};function qE(e){let t=e?.closest(`.mg-row`);return t?!t.classList.contains(`mg-row--group-header`)&&!t.classList.contains(`mg-row--group-footer`):!1}function JE(e,t,n){return n>1?`${n} rows`:YE(e,t)}function YE(e,t){return e.querySelector(`.mg-cell__text:not([hidden])`)?.textContent?.trim()||e.querySelector(`.mg-cell__renderer:not([hidden])`)?.textContent?.trim()||t}var XE=`mg-cell-comment-context-menu__items`,ZE=`mg-cell-comment-context-menu__item`,QE=`mg-cell-comment-context-menu__item-label`,$E=`mg-cell-comment-context-menu__item--committing`,eD=`mg-cell-comment-context-menu__loading-icon`,tD={remove:`删除中...`};function nD(e,t,n){let r=Tx(e.mountEl??e.anchorEl??null);if(e.anchorEl){let r=Ex(e.anchorEl),i=_x(e.anchorEl);return Dx(e.anchorEl.getBoundingClientRect(),t,n,r,i)}let i=e.clientX,a=e.clientY;return i+t>window.innerWidth-r&&(i=Math.max(r,window.innerWidth-t-r)),a+n>window.innerHeight-r&&(a=Math.max(r,window.innerHeight-n-r)),{left:i,top:a}}function rD(e){let t=document.createElement(`div`);t.className=Mo,t.setAttribute(`role`,`menu`);let n=document.createElement(`div`);n.className=XE;let r=[],i=new Map;for(let t of e.items){let e=document.createElement(`button`);e.type=`button`,e.className=ZE,e.dataset.action=t.id,e.disabled=t.disabled===!0,e.setAttribute(`role`,`menuitem`);let a=document.createElement(`span`);a.className=QE,a.textContent=t.label,e.append(a),i.set(t.id,t.label),e.addEventListener(`click`,n=>{n.preventDefault(),n.stopPropagation(),!(e.disabled||s)&&p(t.id,e)}),r.push(e),n.append(e)}t.append(n),(e.mountEl??document.body).append(t);let a=t.getBoundingClientRect(),o=nD(e,a.width,a.height);t.style.position=`fixed`,t.style.left=`${o.left}px`,t.style.top=`${o.top}px`;let s=!1,c=!1,l=e=>{if(s)return;let n=e.target;n instanceof Node&&t.contains(n)||d()},u=e=>{if(e.key===`Escape`){if(s){e.preventDefault();return}e.preventDefault(),d()}};document.addEventListener(`mousedown`,l,!0),document.addEventListener(`keydown`,u,!0);function d(n=!1){c||s&&!n||(c=!0,document.removeEventListener(`mousedown`,l,!0),document.removeEventListener(`keydown`,u,!0),t.remove(),e.onClose?.())}function f(e,n,a){t.classList.toggle(No,a),n.classList.toggle($E,a);for(let e of r)e.disabled=a||e.dataset.disabledInitially===`true`;if(a){h(n),m(n).textContent=tD[e],n.setAttribute(`aria-busy`,`true`);return}for(let e of r){g(e),e.removeAttribute(`aria-busy`);let t=e.dataset.action;t&&(m(e).textContent=i.get(t)??``)}}async function p(t,n){let r=t===`remove`;r&&(s=!0,f(t,n,!0));let i=!1;try{if(await e.onSelect(t)===!1)return;i=!0,s=!1,d()}catch{}finally{!i&&!c&&r&&(s=!1,f(t,n,!1))}}function m(e){return e.querySelector(`.${QE}`)}function h(e){if(e.querySelector(`.mg-cell-comment-context-menu__loading-icon`))return;let t=document.createElement(`span`);t.className=eD,t.setAttribute(`aria-hidden`,`true`),e.prepend(t)}function g(e){e.querySelector(`.${eD}`)?.remove()}for(let e of r)e.disabled&&(e.dataset.disabledInitially=`true`);return{close:d}}function iD(e,t,n,r){return t?r||!e.canView?null:e.canEdit&&!n?`edit`:`view`:e.canCreate?`create`:null}var aD=class{deps;showTimer=null;hideTimer=null;hoverCell=null;contextMenuClose=null;popupHoverListeners=null;bound=!1;constructor(e){this.deps=e}bindListeners(){this.bound||(this.bound=!0,this.deps.viewportEl.addEventListener(`mousemove`,this.handleViewportMouseMove),this.deps.viewportEl.addEventListener(`mouseleave`,this.handleViewportMouseLeave),this.deps.viewportEl.addEventListener(`scroll`,this.handleViewportScroll,!0),this.deps.viewportEl.addEventListener(`contextmenu`,this.handleContextMenu))}unbindListeners(){this.bound&&(this.bound=!1,this.deps.viewportEl.removeEventListener(`mousemove`,this.handleViewportMouseMove),this.deps.viewportEl.removeEventListener(`mouseleave`,this.handleViewportMouseLeave),this.deps.viewportEl.removeEventListener(`scroll`,this.handleViewportScroll,!0),this.deps.viewportEl.removeEventListener(`contextmenu`,this.handleContextMenu),this.closeAll())}destroy(){this.unbindListeners()}closeAll(){this.clearHoverTimers(),this.hoverCell=null,this.contextMenuClose?.(),this.contextMenuClose=null,this.detachPopupHoverListeners(),this.deps.cellCommentService()?.closeEditor()}handleShiftF2(){if(this.isShortcutBlocked())return!1;let e=this.deps.cellCommentService();if(!e?.active)return!1;let t=this.deps.cellFocusService.getFocusedCell();if(!t)return!1;let n=this.resolveCellElement(t.rowId,t.colId);if(!n)return!1;let r=e.hasComment(t.rowId,t.colId),i=e.resolveInteraction(t.rowId,t.colId),a=e.getComment(t.rowId,t.colId),o=this.deps.getOptions(),s=iD(i,r,a?.readOnly===!0,o.suppressCellComments);return s?(this.closeAll(),e.openEditor({rowId:t.rowId,colId:t.colId,anchorEl:n,preferredMode:s,onPopupClose:()=>this.detachPopupHoverListeners()})):!1}handleCellClick(e,t){if(this.deps.getOptions().cellCommentTrigger!==`click`)return!1;let n=this.deps.cellCommentService();if(!n?.active)return!1;let r=this.resolveCellElement(t.rowId,t.colId);if(!r||!yx(r,e.clientX,e.clientY))return!1;let i=n.hasComment(t.rowId,t.colId),a=n.resolveInteraction(t.rowId,t.colId);if(!i)return a.canCreate?(this.closeAll(),n.openEditor({rowId:t.rowId,colId:t.colId,anchorEl:r,preferredMode:`create`,onPopupClose:()=>this.detachPopupHoverListeners()})):!1;if(!a.canView)return!1;let o=n.getOpenEditorCell();if(o?.rowId===t.rowId&&o.colId===t.colId&&n.getPopup().isOpen)return n.closeEditor(),!0;let s=n.getComment(t.rowId,t.colId),c=a.canEdit&&s?.readOnly!==!0?`edit`:`view`;return this.closeAll(),n.openEditor({rowId:t.rowId,colId:t.colId,anchorEl:r,preferredMode:c,onPopupClose:()=>this.detachPopupHoverListeners()})}handleContextMenu=e=>{if(this.isShortcutBlocked())return;let t=this.deps.cellCommentService();if(!t?.active)return;let n=kS(this.deps.rowModel,e.target);if(!n)return;let r=oD(t.resolveInteraction(n.rowId,n.colId),t.hasComment(n.rowId,n.colId));if(r.length===0)return;e.preventDefault(),e.stopPropagation(),this.closeAll();let i=this.resolveCellElement(n.rowId,n.colId);if(!i)return;let a=rD({clientX:e.clientX,clientY:e.clientY,items:r,mountEl:this.deps.mountEl,anchorEl:i,onSelect:e=>this.handleContextMenuAction(e,n.rowId,n.colId,i,t),onClose:()=>{this.contextMenuClose===a.close&&(this.contextMenuClose=null)}});this.contextMenuClose=a.close};async handleContextMenuAction(e,t,n,r,i){let a=e===`add`?`create`:e===`edit`?`edit`:e===`view`?`view`:null;return e===`remove`?i.setComment(t,n,null,`ui`):a?(i.openEditor({rowId:t,colId:n,anchorEl:r,preferredMode:a,onPopupClose:()=>this.detachPopupHoverListeners()}),!0):!1}handleViewportMouseMove=e=>{let t=this.deps.getOptions();if(Q(e.target)?.closest(`.mg-cell-comment-popup`)){this.clearHideTimer();return}let n=kS(this.deps.rowModel,e.target),r=this.deps.cellCommentService();if(!n||!r?.active){this.leaveCellHover();return}let i=this.resolveCellElement(n.rowId,n.colId);if(!i||!r.hasComment(n.rowId,n.colId)){this.leaveCellHover();return}if(!r.resolveInteraction(n.rowId,n.colId).canView){this.leaveCellHover();return}this.clearHideTimer();let a=this.hoverCell?.rowId===n.rowId&&this.hoverCell?.colId===n.colId,o=r.getOpenEditorCell(),s=r.getPopup().isOpen;if(!(a&&s&&o?.rowId===n.rowId&&o.colId===n.colId)){if(!a){this.clearHoverTimers();let e=s&&o!=null&&(o.rowId!==n.rowId||o.colId!==n.colId);if(e&&(r.closeEditor(),this.detachPopupHoverListeners()),this.hoverCell={rowId:n.rowId,colId:n.colId,anchorEl:i},e){this.openHoverPopup(n.rowId,n.colId,i,r);return}}this.showTimer??=setTimeout(()=>{this.openHoverPopup(n.rowId,n.colId,i,r)},t.cellCommentShowDelay)}};handleViewportMouseLeave=()=>{this.leaveCellHover()};leaveCellHover(){this.scheduleHide(),this.hoverCell=null}clearHideTimer(){this.hideTimer!=null&&(clearTimeout(this.hideTimer),this.hideTimer=null)}handleViewportScroll=()=>{this.syncAfterScroll()};syncAfterScroll(){let e=this.deps.cellCommentService();if(!e?.getPopup().isOpen){this.clearHoverTimers(),this.hoverCell=null;return}let t=e.getOpenEditorCell();if(!t){e.closeEditor();return}let n=this.resolveCellElement(t.rowId,t.colId);if(!n||!this.deps.viewportEl.contains(n)){this.closeAll();return}e.getPopup().updatePosition()}openHoverPopup(e,t,n,r){let i=r.getComment(e,t),a=r.resolveInteraction(e,t),o=this.deps.getOptions().cellCommentTrigger===`click`||i?.readOnly===!0||!a.canEdit?`view`:`edit`;r.openEditor({rowId:e,colId:t,anchorEl:n,preferredMode:o,onPopupClose:()=>{this.detachPopupHoverListeners(),this.scheduleHide()}}),this.attachPopupHoverListeners(r)}attachPopupHoverListeners(e){this.detachPopupHoverListeners();let t=e.getPopup().getRootEl();if(!t)return;let n=()=>{this.clearHoverTimers()},r=()=>{this.scheduleHide()};t.addEventListener(`mouseenter`,n),t.addEventListener(`mouseleave`,r),this.popupHoverListeners=()=>{t.removeEventListener(`mouseenter`,n),t.removeEventListener(`mouseleave`,r)}}detachPopupHoverListeners(){this.popupHoverListeners?.(),this.popupHoverListeners=null}scheduleHide(){this.clearHoverTimers();let e=this.deps.getOptions();this.hideTimer=setTimeout(()=>{let e=this.deps.cellCommentService();if(!e?.getPopup().isOpen){this.hoverCell=null;return}e.closeEditor(),this.hoverCell=null},e.cellCommentHideDelay)}clearHoverTimers(){this.showTimer!=null&&(clearTimeout(this.showTimer),this.showTimer=null),this.hideTimer!=null&&(clearTimeout(this.hideTimer),this.hideTimer=null)}isShortcutBlocked(){return this.deps.isEditing()}resolveCellElement(e,t){let n=this.deps.viewportEl.querySelector(`.mg-row[data-row-id="${CSS.escape(e)}"]`);return n?n.querySelector(`.mg-cell[data-col-id="${CSS.escape(t)}"]`):null}};function oD(e,t){let n=[];return!t&&e.canCreate&&n.push({id:`add`,label:`添加批注`}),t&&e.canView&&n.push({id:e.canEdit?`edit`:`view`,label:e.canEdit?`编辑批注`:`查看批注`}),t&&e.canDelete&&n.push({id:`remove`,label:`删除批注`}),n}var sD=class{ctx;focusController=null;constructor(e){this.ctx=e}bindFocusController(e){this.focusController=e}get deps(){return this.ctx.deps}getColIndex(e){return CS(this.deps.columnModel,e)}resolveRootEl(){return jS(this.deps.mountEl)}setFocusedCell(e){this.focusController?.setFocusedCell(e)}isIndexColumnEntry(e){return t.it(e)&&this.deps.columnModel.getColumnById(e)!=null}isSelectionColumnEntry(e){return t.X(e)&&this.deps.columnModel.getColumnById(e)!=null&&this.deps.selectionService!=null}isExpandColumnEntry(e){let t=this.deps.columnModel.getColumnById(e);return!t||!this.deps.rowExpansionService?.active?!1:j(t)}isGroupColumnEntry(e){let t=this.deps.columnModel.getColumnById(e);return!t||!this.deps.rowGroupingService?.active?!1:Ee(t)}isTreeColumnEntry(e){let t=this.deps.columnModel.getColumnById(e);return!t||!this.deps.treeTableService?.active?!1:B(t.colId)}isSelectionHeaderMultiple(){return this.deps.selectionService?.isMultiple()??!1}canToggleHeaderSort(e){return this.ctx.isColumnResizing()||this.deps.columnDragController.shouldSuppressSortClick()||t.it(e)||t.X(e)||this.isExpandColumnEntry(e)||this.isGroupColumnEntry(e)||this.isTreeColumnEntry(e)||!this.deps.enableHeaderSortClick()?!1:this.deps.columnModel.getColumnById(e)?.sortable??!1}applyIndexFocus(e,t,n,r={}){!this.deps.indexFocusService||!this.isIndexColumnEntry(n)||(this.deps.indexFocusService.selectRow(e,t,e=>this.deps.rowModel.getRow(e)?.id,r),this.deps.applyIndexFocusVisuals(),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()}),this.syncCellRangeFromIndexFocus(t))}syncCellRangeFromIndexFocus(e){this.ctx.cellRangeInteraction.syncFromIndexFocus(e)}clearCellRangesOnRowSelectionInteraction(){this.ctx.cellRangeInteraction.tryClearOnNonRangeTargetClick()}applyRowSelection(e,t,n,r={}){if(!this.deps.selectionService||!this.isSelectionColumnEntry(n))return;this.clearCellRangesOnRowSelectionInteraction();let i=this.deps.rowModel.getRow(t);!i||!this.deps.isRowNodeSelectable(i)||(this.deps.selectionService.selectRow(e,t,e=>this.deps.getSelectableRowIdAt(e),{...r,rangeSelection:r.shiftKey?this.buildSelectionRangeOptions():void 0}),this.deps.handleInteractiveRowSelection?.(e,t),this.deps.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`ui`}))}applyRowExpansionToggle(e,t,n){if(!this.deps.rowExpansionService?.active||!this.isExpandColumnEntry(n))return;let r=this.deps.rowModel.getRow(t);!r||L(r)||!this.deps.rowExpansionService.isRowMaster(r)||this.deps.rowExpansionService.toggleRow(e,`ui`)}applyRowGroupingToggle(e,t,n){if(!this.deps.rowGroupingService?.active||!this.isGroupColumnEntry(n))return;let r=this.deps.rowModel.getRow(t);if(!r||!Be(r))return;let i=r.sourceGroupId??ze(r.id)??r.groupId;i&&this.deps.rowGroupingService.toggleGroup(i,`ui`)}applyTreeTableToggle(e,t,n){if(!this.deps.treeTableService?.active||!this.isTreeColumnEntry(n))return;let r=this.deps.rowModel.getRow(t),i=this.deps.isTreeNodeExpandable?.(r)??(r!=null&&r.treeLeaf!==!0);if(!(!r||!V(r)||!i)){if(this.deps.requestTreeNodeToggle){this.deps.requestTreeNodeToggle(e,`ui`);return}this.deps.treeTableService.toggleNode(e,`ui`)}}applyTreeHeaderToggle(){let e=this.deps.treeTableService;if(e?.active){if(e.isAllExpandableNodesExpanded()){e.collapseAll();return}e.expandAll(`ui`)}}applyTreeHierarchyShortcut(e,t){this.deps.applyTreeHierarchyShortcut(e,t)}toggleTreeHierarchyMenu(e,t){this.deps.toggleTreeHierarchyMenu(e,t)}closeTreeHierarchyMenu(){this.deps.closeTreeHierarchyMenu()}buildSelectionRangeOptions(){return{rowCount:this.deps.rowModel.getRowCount(),getAllRowIdAt:e=>this.deps.rowModel.getRow(e)?.id}}toggleSelectAllVisibleRows(){if(!this.deps.selectionService)return;let e=this.deps.rowModel.getRowCount();this.deps.selectionService.toggleSelectAllVisibleRows(e,e=>this.deps.getSelectableRowIdAt(e))&&(this.clearCellRangesOnRowSelectionInteraction(),this.deps.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`ui`}))}clearIndexFocusState(){this.deps.indexFocusService&&this.deps.indexFocusService.getFocusedRowIds().length!==0&&(this.deps.indexFocusService.clear(),this.deps.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()}),this.syncCellRangeFromIndexFocus())}clearIndexFocusIfNeeded(e){this.isIndexColumnEntry(e)||this.clearIndexFocusState()}};function cD(e){let t=Q(e);return!t||!!t.closest([`.mg-header-cell__resize-handle`,`.mg-header-cell__column-handle`,`.mg-header-cell__sort`,`.mg-floating-filter-button`,`.${Np}`].join(`, `))}var lD=class{ctx;suppressHeaderSortClick=!1;constructor(e){this.ctx=e}handleHeaderMouseDown=e=>{if(e.button!==0)return;let t=OS(this.ctx.deps.columnModel,e.target);if(!t)return;if(ES(e.target)){e.preventDefault(),e.stopPropagation();return}this.ctx.host.clearIndexFocusState();let n=this.ctx.host.isSelectionColumnEntry(t.colId)&&this.ctx.deps.selectionService?.isMultiple(),r=AS(e.target),i=this.ctx.deps.columnModel.getColumnById(t.colId);if(this.ctx.focusController.isHeaderNavigationEnabled()?(e.preventDefault(),e.stopPropagation(),this.ctx.host.canToggleHeaderSort(t.colId)||this.ctx.host.setFocusedCell({rowId:Af,colId:t.colId,rowIndex:-1,colIndex:t.colIndex}),n&&this.ctx.host.toggleSelectAllVisibleRows(),this.ctx.deps.viewportEl.focus()):n&&(e.preventDefault(),e.stopPropagation(),this.ctx.host.toggleSelectAllVisibleRows()),this.ctx.columnHeaderDragSession.isActive()&&this.ctx.columnHeaderDragSession.end(!1),this.ctx.columnHeaderDragSession.canStart(i,e.target,this.ctx.indexSelectionDragSession.isActive()||this.ctx.columnResizeSession.isActive()||this.ctx.rowResizeSession.isActive())&&r){e.preventDefault(),e.stopPropagation(),this.ctx.deps.clearCellSelection?.(),this.ctx.columnHeaderDragSession.begin({colId:t.colId,sourceCell:r,clientX:e.clientX,clientY:e.clientY});return}if(this.ctx.columnResizeSession.canStart(i,e.target,this.ctx.indexSelectionDragSession.isActive()||this.ctx.columnHeaderDragSession.isActive()||this.ctx.rowResizeSession.isActive())&&r){e.preventDefault(),e.stopPropagation(),this.ctx.columnResizeSession.begin({colId:t.colId,sourceCell:r,event:e});return}if(!this.shouldHeaderClickSortAndSelectColumn(t.colId)&&!cD(e.target)&&this.tryApplyHeaderColumnSelection(t.colId,t.colIndex)){e.preventDefault(),e.stopPropagation(),this.suppressHeaderSortClick=!0;return}};handleHeaderDblClick=e=>{if(e.button!==0||!Q(e.target)?.closest(`.mg-header-cell__resize-handle`))return;let t=OS(this.ctx.deps.columnModel,e.target);if(!t)return;let n=this.ctx.deps.columnModel.getColumnById(t.colId);!n?.resizable||n.suppressAutoSize||(e.preventDefault(),e.stopPropagation(),this.ctx.deps.autoSizeColumn(t.colId,`uiColumnResized`))};handleHeaderClick=e=>{if(e.button!==0)return;if(this.ctx.columnResizeSession.isActive()){e.preventDefault(),e.stopPropagation();return}if(this.suppressHeaderSortClick){this.suppressHeaderSortClick=!1,e.preventDefault(),e.stopPropagation();return}if(Q(e.target)?.closest(`.mg-selection-checkbox--header`))return;let t=OS(this.ctx.deps.columnModel,e.target);if(!t)return;if(ES(e.target)){e.preventDefault(),e.stopPropagation(),this.ctx.host.applyTreeHeaderToggle();return}let n=TS(e.target);if(n){if(this.ctx.getSuppressColumnHandleClick()){this.ctx.setSuppressColumnHandleClick(!1),e.preventDefault(),e.stopPropagation();return}e.preventDefault(),e.stopPropagation(),this.ctx.deps.columnHandleMenuController.toggle({colId:t.colId,handleEl:n});return}if(!this.ctx.host.canToggleHeaderSort(t.colId)){this.ctx.deps.columnDragController.shouldSuppressSortClick()&&(e.preventDefault(),e.stopPropagation());return}e.preventDefault(),e.stopPropagation(),this.ctx.deps.toggleHeaderSort(t.colId),this.shouldHeaderClickSortAndSelectColumn(t.colId)&&this.tryApplyHeaderColumnSelection(t.colId,t.colIndex)};handleFloatingFilterClick=e=>{let t=DS(e.target);if(!t)return;let n=t.closest(`.mg-floating-filter-cell[data-col-id]`)?.dataset.colId;n&&(e.preventDefault(),e.stopPropagation(),this.ctx.deps.columnHandleMenuController.toggle({colId:n,handleEl:t,mode:`filter-only`}))};handleFooterMouseDown=e=>{if(e.button!==0)return;let t=wS(this.ctx.deps.columnModel,e.target);t&&(this.ctx.host.clearIndexFocusState(),this.ctx.focusController.isFooterNavigationEnabled()&&(e.preventDefault(),e.stopPropagation(),this.ctx.host.setFocusedCell({rowId:jf,colId:t.colId,rowIndex:-2,colIndex:t.colIndex}),this.ctx.deps.viewportEl.focus()))};bind(e){e.addEventListener(`mousedown`,this.handleHeaderMouseDown,!0),e.addEventListener(`dblclick`,this.handleHeaderDblClick,!0),e.addEventListener(`click`,this.handleHeaderClick,!0),e.addEventListener(`click`,this.handleFloatingFilterClick,!0),e.addEventListener(`mousedown`,this.handleFooterMouseDown,!0)}unbind(e){e.removeEventListener(`mousedown`,this.handleHeaderMouseDown,!0),e.removeEventListener(`dblclick`,this.handleHeaderDblClick,!0),e.removeEventListener(`click`,this.handleHeaderClick,!0),e.removeEventListener(`click`,this.handleFloatingFilterClick,!0),e.removeEventListener(`mousedown`,this.handleFooterMouseDown,!0)}shouldHeaderClickSortAndSelectColumn(e){return!this.ctx.deps.isCellSelectionEnabled?.()||!this.ctx.deps.getCellSelectionOptions?.().enableColumnSelection?!1:this.ctx.host.canToggleHeaderSort(e)}tryApplyHeaderColumnSelection(e,t){if(!this.ctx.cellRangeInteraction.tryHeaderColumnSelection(e))return!1;let n=this.ctx.deps.rowModel.getRow(0);return n&&this.ctx.host.setFocusedCell({rowId:n.id,colId:e,rowIndex:0,colIndex:t}),!0}},uD=class{ctx;pendingSingleClickGesture=null;clearPendingSingleClickGesture=null;consumedPointerUpCellAction=null;constructor(e){this.ctx=e}handleCellMouseDown=async e=>{if(e.button!==0)return;if(this.clearPendingSingleClickGesture?.(),this.clearPendingSingleClickGesture=null,this.pendingSingleClickGesture=null,this.consumedPointerUpCellAction=null,e.target instanceof Element&&e.target.closest(`.mg-range-handle`)){if(e.preventDefault(),e.stopPropagation(),this.ctx.deps.isCommitting()&&await this.ctx.deps.awaitCommitIdle(),this.ctx.deps.isEditing()&&(await this.ctx.deps.commitEditing(),this.ctx.deps.isEditing()))return;this.ctx.rangeHandleSession.begin(e.clientX,e.clientY);return}if(e.target instanceof Element&&e.target.closest(`.mg-fill-handle`)){if(e.preventDefault(),e.stopPropagation(),this.ctx.deps.isCommitting()&&await this.ctx.deps.awaitCommitIdle(),this.ctx.deps.isEditing()&&(await this.ctx.deps.commitEditing(),this.ctx.deps.isEditing()))return;this.ctx.fillHandleSession.begin(e.clientX,e.clientY);return}if(this.ctx.fillHandleSession.isActive()||this.ctx.rangeHandleSession.isActive()||this.ctx.columnHeaderDragSession.isActive()||this.ctx.columnResizeSession.isActive()||this.ctx.rowResizeSession.isActive()||this.ctx.rowDragSession.isActive())return;let t=kS(this.ctx.deps.rowModel,e.target);if(t&&jh(e.target)){if(this.ctx.deps.isRowDragCommitting?.())return;if(e.preventDefault(),e.stopPropagation(),this.ctx.host.isTreeColumnEntry(t.colId)){let n=jh(e.target);n&&this.ctx.host.toggleTreeHierarchyMenu(t.rowId,n)}this.ctx.host.setFocusedCell({rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,colIndex:this.ctx.host.getColIndex(t.colId)}),this.ctx.deps.viewportEl.focus({preventScroll:!0});return}if(e.target instanceof Element&&e.target.closest(`.mg-column-settings-menu`)){e.preventDefault(),e.stopPropagation();return}if(t&&!this.ctx.host.isIndexColumnEntry(t.colId)&&this.ctx.host.clearIndexFocusState(),t&&this.ctx.focusController.isGroupOrTreeExpandClickTarget(e.target)){e.preventDefault(),e.stopPropagation(),this.ctx.host.isGroupColumnEntry(t.colId)?this.ctx.host.applyRowGroupingToggle(t.rowId,t.rowIndex,t.colId):this.ctx.host.isTreeColumnEntry(t.colId)&&this.ctx.host.applyTreeTableToggle(t.rowId,t.rowIndex,t.colId),this.ctx.host.setFocusedCell({rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,colIndex:this.ctx.host.getColIndex(t.colId)}),this.ctx.deps.viewportEl.focus({preventScroll:!0});return}if(t&&this.ctx.rowResizeSession.canStart(t.colId,e.target,this.ctx.indexSelectionDragSession.isActive()||this.ctx.rowDragSession.isActive())){let n=Q(e.target)?.closest(`.mg-cell`);if(n){e.preventDefault(),e.stopPropagation(),this.ctx.rowResizeSession.begin({rowId:t.rowId,sourceCell:n,event:e});return}}if(t&&this.ctx.rowDragSession.canStart(t.colId,e.target,this.ctx.indexSelectionDragSession.isActive()||this.ctx.columnHeaderDragSession.isActive()||this.ctx.columnResizeSession.isActive())){let n=Q(e.target)?.closest(`.mg-cell`);if(n){e.preventDefault(),e.stopPropagation(),this.ctx.rowDragSession.begin({rowId:t.rowId,sourceCell:n,clientX:e.clientX,clientY:e.clientY});return}}let n=t?this.resolveColumnDragKind(t.colId,e):null;if(t!=null&&n!=null&&!this.ctx.deps.isCommitting()&&!this.ctx.deps.isEditing()&&t&&n){e.preventDefault(),this.emitCellClicked(t),this.ctx.indexSelectionDragSession.begin({kind:n,anchorRowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,clientY:e.clientY,ctrlKey:e.ctrlKey||e.metaKey});return}let r=!1;if(t&&this.ctx.deps.isCellSelectionEnabled?.()&&!U(this.ctx.deps.editBehavior)&&this.ctx.deps.isEditing()&&(!this.isSameEditingTarget(t)&&this.shouldSchedulePointerUpWhileEditingSwitch(t,e)&&(this.scheduleSingleClickEditingAfterPointerDown(t),r=!0),!await this.commitEditingForCellRangeInteraction(t,e))||t&&this.tryBeginCellRangeDragFromMouseDown(t,e,`replace`,r)||t&&this.tryBeginCellRangeDragFromMouseDown(t,e,`append`,r))return;if(t&&this.ctx.cellRangeInteraction.tryHandleModifierMouseDown(t,e)){this.emitCellClicked(t),this.ctx.host.clearIndexFocusIfNeeded(t.colId),this.ctx.host.setFocusedCell({rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,colIndex:this.ctx.host.getColIndex(t.colId)}),this.ctx.deps.viewportEl.focus({preventScroll:!0});return}this.ctx.deps.isCommitting()&&(e.preventDefault(),await this.ctx.deps.awaitCommitIdle());let i=kS(this.ctx.deps.rowModel,e.target);if(this.ctx.deps.isEditing()){this.ctx.deps.cancelPendingBlurCommit();let t=i,n=this.resolveCellTargetUnderPointer(e);if(t&&!this.isSameEditingTarget(t)?i=t:n&&(i=n),i&&this.isSameEditingTarget(i)&&Yd(e.target)||Yd(e.target)&&!i)return}if(this.ctx.deps.isEditing()&&(i&&this.isSameEditingTarget(i)||(i&&(this.scheduleSingleClickEditingAfterPointerDown(i),r=!0),await this.ctx.deps.commitEditing(),this.ctx.deps.isEditing())))return;if(!i){this.ctx.host.clearIndexFocusState(),this.ctx.cellRangeInteraction.tryClearOnBlankViewportClick();return}let{rowId:a,colId:o,rowIndex:s}=i;(this.ctx.host.isExpandColumnEntry(o)||this.ctx.host.isGroupColumnEntry(o)||this.ctx.host.isTreeColumnEntry(o)||this.ctx.host.isSelectionColumnEntry(o)||e.shiftKey||e.ctrlKey||e.metaKey)&&e.preventDefault(),this.emitCellClicked(i),this.ctx.host.isIndexColumnEntry(o)?this.ctx.host.applyIndexFocus(a,s,o,{ctrlKey:e.ctrlKey||e.metaKey,shiftKey:e.shiftKey,toggleOnReselect:!0}):(this.ctx.host.clearIndexFocusIfNeeded(o),this.ctx.host.isExpandColumnEntry(o)?this.ctx.host.applyRowExpansionToggle(a,s,o):this.ctx.host.isSelectionColumnEntry(o)&&this.ctx.host.applyRowSelection(a,s,o,{ctrlKey:e.ctrlKey||e.metaKey,shiftKey:e.shiftKey,toggleOnReselect:!0})),this.ctx.host.setFocusedCell({rowId:a,colId:o,rowIndex:s,colIndex:this.ctx.host.getColIndex(o)}),this.shouldDeferViewportChromeFocus(i,r)||this.ctx.deps.viewportEl.focus({preventScroll:!0}),!r&&this.isOverlaySingleClickEditableColumn(i)&&this.scheduleSingleClickEditingAfterPointerDown(i)};handleCellClick=async e=>{if(e.button!==0||(this.ctx.deps.isCommitting()&&(e.preventDefault(),await this.ctx.deps.awaitCommitIdle()),e.ctrlKey||e.metaKey||e.shiftKey))return;if(this.ctx.getSuppressColumnClick()){this.ctx.setSuppressColumnClick(!1);return}let t=kS(this.ctx.deps.rowModel,e.target);if(t&&(this.emitRowPointerEvent(`rowClicked`,t),this.ctx.cellRangeInteraction.tryClearOnPlainClick(t),!this.consumePointerUpCellActionIfMatched(t))){if(this.ctx.deps.isEditing()){if(e.target instanceof Element&&Yd(e.target))return this.ctx.cellCommentSession?.handleCellClick(e,t),void 0;if(this.ctx.deps.isBlurCommitDeferred()||U(this.ctx.deps.editBehavior)&&this.isSameRowId(this.ctx.deps.getEditingRowId(),t.rowId)&&t.colId!==this.ctx.deps.getEditingCell()?.colId&&this.ctx.deps.focusRowEditingColumn?.(t.colId))return;if(this.isSameEditingTarget(t))return this.ctx.cellCommentSession?.handleCellClick(e,t),void 0;if(await this.ctx.deps.commitEditing(),this.ctx.deps.isEditing())return}this.ctx.focusController.focusCellTarget(t),!this.ctx.cellCommentSession?.handleCellClick(e,t)&&this.maybeStartSingleClickEditing(e,t)}};handleCellDoubleClick=async e=>{if(e.button!==0||(this.ctx.deps.isCommitting()&&(e.preventDefault(),await this.ctx.deps.awaitCommitIdle()),e.ctrlKey||e.metaKey||e.shiftKey))return;let n=kS(this.ctx.deps.rowModel,e.target);if(!n||(this.emitRowPointerEvent(`rowDoubleClicked`,n),this.ctx.deps.isEditing()&&(this.isSameEditingTarget(n)||(await this.ctx.deps.commitEditing(),this.ctx.deps.isEditing()))))return;this.ctx.focusController.focusCellTarget(n);let r=this.ctx.deps.columnModel.getColumnById(n.colId);if(U(this.ctx.deps.editBehavior)){if(!r||un(r,this.ctx.deps.editType)!==`doubleClick`)return;this.ctx.cellCommentSession?.closeAll(),this.ctx.deps.tryStartRowEditing(n);return}!r||un(r,this.ctx.deps.editType)!==`doubleClick`||t.V(r)||(this.ctx.cellCommentSession?.closeAll(),this.ctx.deps.tryStartCellEditing(n))};bind(e){e.addEventListener(`mousedown`,this.handleCellMouseDown,!0),e.addEventListener(`click`,this.handleCellClick),e.addEventListener(`dblclick`,this.handleCellDoubleClick)}unbind(e){e.removeEventListener(`mousedown`,this.handleCellMouseDown,!0),e.removeEventListener(`click`,this.handleCellClick),e.removeEventListener(`dblclick`,this.handleCellDoubleClick)}tryBeginCellRangeDragFromMouseDown(e,t,n,r){return r||this.shouldSkipCellRangeDragForInlineToggleWhileEditing(e,t)||!this.ctx.cellRangeDragSession.canStart(e,t,n)?!1:(t.preventDefault(),this.ctx.host.clearIndexFocusIfNeeded(e.colId),this.emitCellClicked(e),this.ctx.cellRangeDragSession.begin({anchorRowId:e.rowId,anchorColId:e.colId,anchorRowIndex:e.rowIndex,clientX:t.clientX,clientY:t.clientY,mode:n}),!0)}async commitEditingForCellRangeInteraction(e,t){if(!this.ctx.deps.isEditing()||this.isSameEditingTarget(e))return!0;let n=kS(this.ctx.deps.rowModel,t.target);return n&&this.isSameEditingTarget(n)&&t.target instanceof Element&&Yd(t.target)?!0:(this.ctx.deps.isCommitting()&&await this.ctx.deps.awaitCommitIdle(),await this.ctx.deps.commitEditing(),!this.ctx.deps.isEditing())}resolveCellTargetUnderPointer(e){if(typeof document.elementsFromPoint!=`function`)return null;for(let t of document.elementsFromPoint(e.clientX,e.clientY)){let e=kS(this.ctx.deps.rowModel,t);if(e&&!(this.ctx.deps.isEditing()&&this.isSameEditingTarget(e)))return e}return null}resolveCellTargetByIds(e,t){let n=this.ctx.deps.mountEl.querySelector(`.mg-row[data-row-id="${this.escapeCssAttr(String(e))}"]`);if(!n)return null;let r=n.querySelector(`.mg-cell[data-col-id="${this.escapeCssAttr(t)}"]`);return r?kS(this.ctx.deps.rowModel,r):null}escapeCssAttr(e){return typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}async completeSingleClickEditingGesture(e,n,r){if(e.button!==0)return;this.ctx.deps.isCommitting()&&await this.ctx.deps.awaitCommitIdle();let i=this.resolveAnchoredCellTargetAtPointer(e,n,r)??this.resolveCellTargetByIds(n,r);if(!i)return;this.ctx.deps.isEditing()&&!this.isSameEditingTarget(i)&&await this.ctx.deps.commitEditing();let a=this.ctx.deps.columnModel.getColumnById(i.colId);if(a&&t.V(a)&&ff(a.cellEditor)&&H(a,i.rowNode)){this.ctx.focusController.focusCellTarget(i),this.ctx.focusController.isInlineToggleClickTarget(e.target)||this.ctx.focusController.toggleInlineToggleAtCell(i.rowId,i.colId,i.rowIndex),this.markPointerUpCellActionConsumed(i);return}this.ctx.focusController.focusCellTarget(i),this.maybeStartSingleClickEditing(e,i),this.markPointerUpCellActionConsumedWhenEditing(i)}resolveAnchoredCellTargetAtPointer(e,t,n){let r=String(t);if(typeof document.elementsFromPoint==`function`)for(let t of document.elementsFromPoint(e.clientX,e.clientY)){let e=kS(this.ctx.deps.rowModel,t);if(e&&String(e.rowId)===r&&e.colId===n)return e}let i=kS(this.ctx.deps.rowModel,e.target);return i&&String(i.rowId)===r&&i.colId===n?i:null}scheduleSingleClickEditingAfterPointerDown(e){this.clearPendingSingleClickGesture?.(),this.ctx.deps.deferBlurCommitDuringPointerGesture();let t=Symbol(`single-click-edit`);this.pendingSingleClickGesture=t;let n=e.rowId,r=e.colId,i=MS(this.ctx.deps.viewportEl),a=e=>{this.pendingSingleClickGesture===t&&e.button===0&&(this.pendingSingleClickGesture=null,this.clearPendingSingleClickGesture=null,i.removeEventListener(`mouseup`,a,!0),i.removeEventListener(`pointerup`,a,!0),this.completeSingleClickEditingGesture(e,n,r))};i.addEventListener(`mouseup`,a,{capture:!0}),i.addEventListener(`pointerup`,a,{capture:!0}),this.clearPendingSingleClickGesture=()=>{i.removeEventListener(`mouseup`,a,!0),i.removeEventListener(`pointerup`,a,!0)}}shouldSchedulePointerUpWhileEditingSwitch(e,t){return this.isOverlaySingleClickEditableColumn(e)||this.shouldSkipCellRangeDragForInlineToggleWhileEditing(e,t)}shouldDeferViewportChromeFocus(e,t){return t||this.isOverlaySingleClickEditableColumn(e)}isOverlaySingleClickEditableColumn(e){if(U(this.ctx.deps.editBehavior))return!1;let n=this.ctx.deps.columnModel.getColumnById(e.colId);return!n||t.V(n)||un(n,this.ctx.deps.editType)!==`singleClick`?!1:H(n,e.rowNode)}shouldSkipCellRangeDragForInlineToggleWhileEditing(e,n){if(!this.ctx.deps.isEditing()||n.shiftKey||n.ctrlKey||n.metaKey||this.ctx.focusController.isInlineToggleClickTarget(n.target))return!1;let r=this.ctx.deps.columnModel.getColumnById(e.colId);return!r||!t.V(r)||!ff(r.cellEditor)?!1:H(r,e.rowNode)}markPointerUpCellActionConsumed(e){this.consumedPointerUpCellAction={rowId:String(e.rowId),colId:e.colId}}markPointerUpCellActionConsumedWhenEditing(e){let t=()=>{this.ctx.deps.isEditing()&&this.isSameEditingTarget(e)&&this.markPointerUpCellActionConsumed(e)};t(),this.consumedPointerUpCellAction||requestAnimationFrame(t)}consumePointerUpCellActionIfMatched(e){let t=this.consumedPointerUpCellAction;return!t||String(e.rowId)!==t.rowId||e.colId!==t.colId?!1:(this.consumedPointerUpCellAction=null,!0)}maybeStartSingleClickEditing(e,n){if(e.ctrlKey||e.metaKey||e.shiftKey||this.ctx.deps.isEditing()&&(U(this.ctx.deps.editBehavior)&&this.isSameRowId(this.ctx.deps.getEditingRowId(),n.rowId)&&n.colId!==this.ctx.deps.getEditingCell()?.colId&&this.ctx.deps.focusRowEditingColumn?.(n.colId)||this.isSameEditingTarget(n)))return;if(U(this.ctx.deps.editBehavior)){let e=this.ctx.deps.columnModel.getColumnById(n.colId);if(!e||un(e,this.ctx.deps.editType)!==`singleClick`)return;this.ctx.cellCommentSession?.closeAll(),this.ctx.deps.tryStartRowEditing(n);return}let r=this.ctx.deps.columnModel.getColumnById(n.colId);if(r){if(t.V(r)){(r.cellEditor===`checkbox`||r.cellEditor===`switch`)&&!this.ctx.focusController.isInlineToggleClickTarget(e.target)&&this.ctx.focusController.toggleInlineToggleAtCell(n.rowId,n.colId,n.rowIndex);return}un(r,this.ctx.deps.editType)===`singleClick`&&(this.ctx.cellCommentSession?.closeAll(),this.ctx.deps.tryStartCellEditing(n))}}isSameRowId(e,t){return e==null||t==null?!1:String(e)===String(t)}isSameEditingTarget(e){if(!this.ctx.deps.isEditing())return!1;if(U(this.ctx.deps.editBehavior))return this.isSameRowId(this.ctx.deps.getEditingRowId(),e.rowId);let t=this.ctx.deps.getEditingCell();return t?this.isSameRowId(t.rowId,e.rowId)&&t.colId===e.colId:!1}buildCellClickedPayload(e){let t=this.ctx.deps.columnModel.getColumnById(e.colId),n=t?W(e.rowNode,t):e.rowNode.data[e.colId];return{rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,rowNode:e.rowNode,value:n}}emitCellClicked(e){this.ctx.deps.eventBus.emit(`cellClicked`,this.buildCellClickedPayload(e))}emitRowPointerEvent(e,t){z(t.rowNode)&&this.ctx.deps.eventBus.emit(e,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:t.rowNode})}resolveColumnDragKind(e,t){if(t.shiftKey)return null;let n=Q(t.target);return n?.closest(`.mg-cell__row-resize-handle`)||n?.closest(`.mg-cell__row-drag-handle`)?null:this.ctx.host.isIndexColumnEntry(e)&&this.ctx.deps.indexFocusService?.isMultiple()?`index`:this.ctx.host.isSelectionColumnEntry(e)&&this.ctx.deps.selectionService?.isMultiple()?`selection`:null}},dD=class{ctx;constructor(e){this.ctx=e}handleViewportKeyDown=e=>{if(e.key===`Escape`&&this.ctx.deps.isCommitting()){e.preventDefault(),this.ctx.deps.cancelCommit();return}if(this.ctx.deps.isEditing())return;if(e.key===`F2`&&e.shiftKey){this.ctx.cellCommentSession?.handleShiftF2()&&e.preventDefault();return}let t=this.ctx.focusController.keyToFocusDirection(e.key);if(t){if(e.preventDefault(),e.altKey&&(t===`left`||t===`right`)&&this.ctx.columnResizeSession.tryKeyboardResize(t,e.shiftKey)||e.shiftKey&&(t===`left`||t===`right`)&&this.ctx.focusController.tryMoveFocusedHeaderColumn(t))return;let n=this.ctx.cellRangeInteraction.onArrowKey(t,e.shiftKey);e.ctrlKey||e.metaKey?this.ctx.focusController.navigateFocusToEdge(t):this.ctx.focusController.navigateFocus(t),n&&!e.shiftKey&&this.ctx.cellRangeInteraction.selectFocusedCellRange();return}if(e.key===`Delete`||e.key===`Backspace`){this.ctx.cellRangeInteraction.handleDeleteKey()&&e.preventDefault();return}if((e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&e.key.toLowerCase()===`c`){this.ctx.deps.copyCellSelectionToClipboard?.()&&e.preventDefault();return}if((e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&e.key.toLowerCase()===`v`){this.ctx.deps.isCellSelectionEnabled?.()&&this.ctx.deps.getCellSelectionOptions?.().enableCellPaste&&(e.preventDefault(),this.ctx.deps.pasteCellSelectionFromClipboard?.());return}if(e.key===`Enter`){if(e.preventDefault(),this.ctx.focusController.toggleHeaderSortFromFocus()||this.ctx.focusController.toggleHeaderSelectionFromFocus()||this.ctx.focusController.toggleIndexFocusFromFocus()||this.ctx.focusController.toggleRowExpandFromFocus()||this.ctx.focusController.toggleRowGroupFromFocus()||this.ctx.focusController.toggleTreeTableFromFocus()||this.ctx.focusController.toggleRowSelectionFromFocus())return;this.ctx.cellCommentSession?.closeAll(),this.ctx.focusController.startEditingFocusedCell();return}if(e.key===` `||e.code===`Space`){if(e.preventDefault(),this.ctx.focusController.toggleHeaderSortFromFocus()||this.ctx.focusController.toggleHeaderSelectionFromFocus()||this.ctx.focusController.toggleIndexFocusFromFocus()||this.ctx.focusController.toggleInlineEditorFromFocus()||this.ctx.focusController.toggleRowExpandFromFocus()||this.ctx.focusController.toggleRowGroupFromFocus()||this.ctx.focusController.toggleTreeTableFromFocus())return;this.ctx.focusController.toggleRowSelectionFromFocus();return}e.key===`Tab`&&(e.preventDefault(),this.ctx.focusController.navigateEditableTab(e.shiftKey))};handleViewportKeyUp=e=>{this.ctx.columnResizeSession.handleKeyUp(e)};handleMountWheel=e=>{(e.ctrlKey||e.metaKey)&&e.preventDefault()};bind(e,t){e.addEventListener(`wheel`,this.handleMountWheel,{passive:!1,capture:!0}),t.addEventListener(`keydown`,this.handleViewportKeyDown),t.addEventListener(`keyup`,this.handleViewportKeyUp)}unbind(e,t){e.removeEventListener(`wheel`,this.handleMountWheel,!0),t.removeEventListener(`keydown`,this.handleViewportKeyDown),t.removeEventListener(`keyup`,this.handleViewportKeyUp)}};function fD(e){return e.getCellRangeOperationContext??(()=>({displayedColIds:e.columnModel.getDisplayedColumnIdsInLaneOrder()}))}function pD(e){return e.getCellSelectionOptions??(()=>({enabled:!1,suppressMultiRanges:!0,enableColumnSelection:!1,enableCellCopy:!1,enableCellPaste:!1,handle:null}))}function mD(e,t){return{getColIndex:t=>e.getColIndex(t),resolveRootEl:()=>e.resolveRootEl(),setFocusedCell:t=>e.setFocusedCell(t),setSuppressColumnClick:e=>t.setSuppressColumnClick(e),setSuppressColumnHandleClick:e=>t.setSuppressColumnHandleClick(e),isIndexColumnEntry:t=>e.isIndexColumnEntry(t),isSelectionColumnEntry:t=>e.isSelectionColumnEntry(t),applyIndexFocus:(t,n,r,i)=>e.applyIndexFocus(t,n,r,i),applyRowSelection:(t,n,r,i)=>e.applyRowSelection(t,n,r,i),clearCellRangesOnRowSelectionInteraction:()=>e.clearCellRangesOnRowSelectionInteraction(),applyRowExpansionToggle:(t,n,r)=>e.applyRowExpansionToggle(t,n,r),applyRowGroupingToggle:(t,n,r)=>e.applyRowGroupingToggle(t,n,r),applyTreeTableToggle:(t,n,r)=>e.applyTreeTableToggle(t,n,r),applyTreeHierarchyShortcut:(t,n)=>e.applyTreeHierarchyShortcut(t,n),toggleTreeHierarchyMenu:(t,n)=>e.toggleTreeHierarchyMenu(t,n),closeTreeHierarchyMenu:()=>e.closeTreeHierarchyMenu(),syncCellRangeFromIndexFocus:t=>e.syncCellRangeFromIndexFocus(t),isExpandColumnEntry:t=>e.isExpandColumnEntry(t),isGroupColumnEntry:t=>e.isGroupColumnEntry(t),isTreeColumnEntry:t=>e.isTreeColumnEntry(t),buildSelectionRangeOptions:()=>e.buildSelectionRangeOptions()}}var hD=class{deps;suppressColumnClick=!1;suppressColumnHandleClick=!1;sessionHost;hostActions;focusController;columnResizeSession;columnHeaderDragSession;indexSelectionDragSession;cellRangeDragSession;fillHandleSession;rangeHandleSession;cellRangeInteraction;rowResizeSession;rowDragSession;cellCommentSession;overflowTooltipSession;headerHandlers;cellBodyHandlers;keyboardHandlers;constructor(e){this.deps=e,this.columnResizeSession=new _E({mountEl:e.mountEl,columnModel:e.columnModel,columnHandleMenuController:e.columnHandleMenuController,cellFocusService:e.cellFocusService,setColumnWidths:e.setColumnWidths,resizeHeaderColumn:e.resizeHeaderColumn});let t=fD(e),n=pD(e);this.cellRangeInteraction=new VE({getCellRangeService:e.getCellRangeService??(()=>null),cellFocusService:e.cellFocusService,columnModel:e.columnModel,rowModel:e.rowModel,getCellSpanService:()=>e.cellSpanService,isCellSelectionEnabled:e.isCellSelectionEnabled??(()=>!1),getCellSelectionOptions:e.getCellSelectionOptions,getCellRangeOperationContext:t,applyCellRangeVisuals:e.applyCellRangeVisuals??(()=>{}),emitCellSelectionChanged:e.emitCellSelectionChanged??(()=>{}),handleCellSelectionDeleteKey:e.handleCellSelectionDeleteKey,getFocusChromeNavigation:()=>({headerEnabled:e.navigateHeader(),footerEnabled:e.navigateFooter()&&e.showSummary()}),isEditing:e.isEditing,isCommitting:e.isCommitting,showIndexColumn:()=>e.indexColumnOptions.showIndexColumn,getIndexFocusedRowIds:()=>e.indexFocusService?.getFocusedRowIds()??[]}),this.hostActions=new sD({deps:e,cellRangeInteraction:this.cellRangeInteraction,isColumnResizing:()=>this.columnResizeSession.isActive()}),this.focusController=new vE({mountEl:e.mountEl,rowModel:e.rowModel,columnModel:e.columnModel,rowRenderer:e.rowRenderer,eventBus:e.eventBus,cellFocusService:e.cellFocusService,editBehavior:e.editBehavior,editType:e.editType,ensureIndexVisible:e.ensureIndexVisible,ensureColumnVisible:e.ensureColumnVisible,redrawImmediately:e.redrawImmediately,tryStartCellEditing:e.tryStartCellEditing,tryStartRowEditing:e.tryStartRowEditing,navigateHeader:e.navigateHeader,navigateFooter:e.navigateFooter,showSummary:e.showSummary,cellSpanService:()=>e.cellSpanService,getCellDisableContext:e.getCellDisableContext,toggleHeaderSort:e.toggleHeaderSort,moveColumn:e.moveColumn,syncCellRangeHighlightVisuals:e.applyCellRangeVisuals??(()=>{}),isCellSelectionEnabled:e.isCellSelectionEnabled??(()=>!1),selectFocusedCellRange:()=>this.cellRangeInteraction.selectFocusedCellRange()},this.hostActions),this.hostActions.bindFocusController(this.focusController),this.sessionHost=mD(this.hostActions,{getSuppressColumnClick:()=>this.suppressColumnClick,setSuppressColumnClick:e=>{this.suppressColumnClick=e},getSuppressColumnHandleClick:()=>this.suppressColumnHandleClick,setSuppressColumnHandleClick:e=>{this.suppressColumnHandleClick=e}}),this.columnHeaderDragSession=new mE({mountEl:e.mountEl,viewportEl:e.viewportEl,headerViewportEl:e.headerViewportEl,headerLeftLaneEl:e.headerLeftLaneEl,headerCenterLaneEl:e.headerCenterLaneEl,headerRightLaneEl:e.headerRightLaneEl,columnModel:e.columnModel,columnDragController:e.columnDragController,moveColumn:e.moveColumn,finishColumnMove:e.finishColumnMove,suppressMoveWhenColumnDragging:e.suppressMoveWhenColumnDragging,setColumnMoveLiveDragging:e.setColumnMoveLiveDragging,allowCrossLaneColumnMove:e.allowCrossLaneColumnMove,scrollByHorizontalDelta:e.scrollByHorizontalDelta},this.sessionHost),this.indexSelectionDragSession=new yE({viewportEl:e.viewportEl,rowModel:e.rowModel,indexFocusService:e.indexFocusService,selectionService:e.selectionService,getLogicalScrollTop:e.getLogicalScrollTop,getRowHeight:e.getRowHeight,scrollByDelta:e.scrollByDelta,ensureIndexVisible:e.ensureIndexVisible,getSelectableRowIdAt:e.getSelectableRowIdAt,applyIndexFocusVisuals:e.applyIndexFocusVisuals,applySelectionVisuals:e.applySelectionVisuals,emitIndexFocusChanged:t=>{e.eventBus.emit(`indexFocusChanged`,{focusedRowIds:t})},emitSelectionChanged:t=>{e.eventBus.emit(`selectionChanged`,{selectedRowIds:t,source:`ui`})}},this.sessionHost),this.cellRangeDragSession=new RE({viewportEl:e.viewportEl,rowModel:e.rowModel,columnModel:e.columnModel,getCellRangeService:e.getCellRangeService??(()=>null),getCellSpanService:()=>e.cellSpanService,isCellSelectionEnabled:e.isCellSelectionEnabled??(()=>!1),getCellRangeOperationContext:t,getLogicalScrollTop:e.getLogicalScrollTop,getScrollLeft:()=>e.viewportEl.scrollLeft,getRowHeight:e.getRowHeight,scrollByDelta:e.scrollByDelta,scrollByHorizontalDelta:e.scrollByHorizontalDelta,ensureIndexVisible:e.ensureIndexVisible,ensureColumnVisible:e.ensureColumnVisible,applyCellRangeVisuals:e.applyCellRangeVisuals??(()=>{}),emitCellSelectionChanged:e.emitCellSelectionChanged??(()=>{}),isEditing:e.isEditing,isCommitting:e.isCommitting,isInlineToggleClickTarget:e=>this.focusController.isInlineToggleClickTarget(e),isGroupOrTreeExpandClickTarget:e=>this.focusController.isGroupOrTreeExpandClickTarget(e),isPointerOverCellCommentIndicator:e.isPointerOverCellCommentIndicator??(()=>!1)},this.sessionHost),this.fillHandleSession=new zE({viewportEl:e.viewportEl,rowModel:e.rowModel,columnModel:e.columnModel,getCellRangeService:e.getCellRangeService??(()=>null),getCellSpanService:()=>e.cellSpanService,getCellSelectionOptions:n,getCellRangeOperationContext:t,getLogicalScrollTop:e.getLogicalScrollTop,getScrollLeft:()=>e.viewportEl.scrollLeft,getRowHeight:e.getRowHeight,scrollByDelta:e.scrollByDelta,scrollByHorizontalDelta:e.scrollByHorizontalDelta,applyCellRangeVisuals:e.applyCellRangeVisuals??(()=>{}),emitCellSelectionChanged:e.emitCellSelectionChanged??(()=>{}),getFillWriteService:e.getFillWriteService??(()=>null),isEditing:e.isEditing,isCommitting:e.isCommitting}),this.rangeHandleSession=new BE({viewportEl:e.viewportEl,rowModel:e.rowModel,columnModel:e.columnModel,getCellRangeService:e.getCellRangeService??(()=>null),getCellSpanService:()=>e.cellSpanService,getCellSelectionOptions:n,getCellRangeOperationContext:t,getLogicalScrollTop:e.getLogicalScrollTop,getScrollLeft:()=>e.viewportEl.scrollLeft,getRowHeight:e.getRowHeight,scrollByDelta:e.scrollByDelta,scrollByHorizontalDelta:e.scrollByHorizontalDelta,applyCellRangeVisuals:e.applyCellRangeVisuals??(()=>{}),emitCellSelectionChanged:e.emitCellSelectionChanged??(()=>{}),isEditing:e.isEditing,isCommitting:e.isCommitting}),this.rowResizeSession=new UE({mountEl:e.mountEl,rowModel:e.rowModel,indexColumnOptions:e.indexColumnOptions,setRowHeights:e.setRowHeights}),this.rowDragSession=new KE({mountEl:e.mountEl,viewportEl:e.viewportEl,rowModel:e.rowModel,rowDragManaged:e.rowDragManaged,deferRowDragCommit:e.deferRowDragCommit,hasSortOrFilterActive:e.hasSortOrFilterActive,isRowDragHandleEnabled:e.isRowDragHandleEnabled,getLogicalScrollTop:e.getLogicalScrollTop,getRowHeight:e.getRowHeight,scrollByDelta:e.scrollByDelta,moveRows:e.moveRows,finishRowMoves:e.finishRowMoves,setRowMoveLiveDragging:e.setRowMoveLiveDragging,emitRowDragEnd:e.emitRowDragEnd,isRowDragCommitting:e.isRowDragCommitting,buildPlanRowDragMoveOptions:e.buildPlanRowDragMoveOptions,planRowDragMove:e.planRowDragMove,commitDeferredRowDrag:e.commitDeferredRowDrag,isIndexFocusMultiple:e.isIndexFocusMultiple,getIndexFocusedRowIds:e.getIndexFocusedRowIds,isRowGroupingActive:e.isRowGroupingActive,validateGroupedDisplayDrop:e.validateGroupedDisplayDrop,isTreeActive:e.isTreeActive,getTreeDragScope:e.getTreeDragScope,validateTreeDisplayDrop:e.validateTreeDisplayDrop,resolveTreeRowDragEndContext:e.resolveTreeRowDragEndContext}),this.cellCommentSession=e.cellCommentService&&e.getCellCommentOptions?new aD({viewportEl:e.viewportEl,mountEl:e.mountEl,rowModel:e.rowModel,cellFocusService:e.cellFocusService,cellCommentService:e.cellCommentService,getOptions:e.getCellCommentOptions,isEditing:e.isEditing}):null,this.overflowTooltipSession=e.overflowTooltipSession??null,this.headerHandlers=new lD({deps:e,host:this.hostActions,focusController:this.focusController,cellRangeInteraction:this.cellRangeInteraction,columnResizeSession:this.columnResizeSession,columnHeaderDragSession:this.columnHeaderDragSession,indexSelectionDragSession:this.indexSelectionDragSession,rowResizeSession:this.rowResizeSession,getSuppressColumnHandleClick:()=>this.suppressColumnHandleClick,setSuppressColumnHandleClick:e=>{this.suppressColumnHandleClick=e}}),this.cellBodyHandlers=new uD({deps:e,host:this.hostActions,focusController:this.focusController,cellRangeInteraction:this.cellRangeInteraction,columnResizeSession:this.columnResizeSession,columnHeaderDragSession:this.columnHeaderDragSession,indexSelectionDragSession:this.indexSelectionDragSession,cellRangeDragSession:this.cellRangeDragSession,fillHandleSession:this.fillHandleSession,rangeHandleSession:this.rangeHandleSession,rowResizeSession:this.rowResizeSession,rowDragSession:this.rowDragSession,cellCommentSession:this.cellCommentSession,getSuppressColumnClick:()=>this.suppressColumnClick,setSuppressColumnClick:e=>{this.suppressColumnClick=e}}),this.keyboardHandlers=new dD({deps:e,focusController:this.focusController,columnResizeSession:this.columnResizeSession,cellRangeInteraction:this.cellRangeInteraction,cellCommentSession:this.cellCommentSession})}isColumnResizing(){return this.columnResizeSession.isActive()}isRowResizing(){return this.rowResizeSession.isActive()}isRowDragging(){return this.rowDragSession.isActive()}refreshColumnResizeVisualState(){this.columnResizeSession.refreshVisualState()}refreshRowResizeVisualState(){this.rowResizeSession.refreshVisualState()}bindListeners(){this.headerHandlers.bind(this.deps.mountEl),this.cellBodyHandlers.bind(this.deps.viewportEl),this.keyboardHandlers.bind(this.deps.mountEl,this.deps.viewportEl),this.cellCommentSession?.bindListeners(),this.overflowTooltipSession?.bindListeners()}unbindListeners(){this.headerHandlers.unbind(this.deps.mountEl),this.cellBodyHandlers.unbind(this.deps.viewportEl),this.keyboardHandlers.unbind(this.deps.mountEl,this.deps.viewportEl),this.cellCommentSession?.unbindListeners(),this.overflowTooltipSession?.unbindListeners(),this.indexSelectionDragSession.end(),this.cellRangeDragSession.end(),this.fillHandleSession.end(),this.rangeHandleSession.end(),this.columnHeaderDragSession.end(!1),this.columnResizeSession.end(!1),this.rowResizeSession.end(!1),this.rowDragSession.end(!1),this.deps.columnHandleMenuController.close()}applyFocusVisuals(){this.focusController.applyFocusVisuals()}navigateEditableTab(e){this.focusController.navigateEditableTab(e)}syncCellRangeFromIndexFocus(e){this.hostActions.syncCellRangeFromIndexFocus(e)}};function gD(e){return t.$(e).mode}function _D(e){return t.$(e)}function vD(e){let t=e.getRowCount();if(t===0)return 0;let n=e.getRow(t-1);return n&&ho(n)?n.rowTop:e.getTotalHeight()}function yD(e,t,n){let r=vD(e);return Math.max(0,Math.floor(t+n-r))}function bD(e){let t=YT(e.totalHeight,e.clientHeight),n=XT(e.scrollHeight,e.clientHeight),r=ZT(e.scrollWidth,e.clientWidth),i=e.totalWidth>e.clientWidth+2,a=n&&t>0,o=r&&i,s=e.totalHeight<e.clientHeight-.5,c=e.totalWidth<e.clientWidth-.5,l=e.scrollTop+e.clientHeight>=e.scrollHeight-1;return{hasVScrollbar:a,hasHScrollbar:o,innerRightClosesTable:a||c,innerBottomClosesTable:!(!s&&!o&&l)}}function xD(e){return e.parentElement?.parentElement??null}function SD(e,t){e.classList.toggle(`mg-grid--has-v-scrollbar`,t.hasVScrollbar),e.classList.toggle(`mg-grid--has-h-scrollbar`,t.hasHScrollbar),e.classList.toggle(`mg-grid--inner-right-closes`,t.innerRightClosesTable),e.classList.toggle(`mg-grid--inner-bottom-closes`,t.innerBottomClosesTable)}function CD(e){let{anchorScrollTop:t,atScrollBottom:n,detailRowTop:r,heightDelta:i,logicalMaxScroll:a}=e;return i===0?wD(t,a):n?a:wD(t>r?t+i:t,a)}function wD(e,t){return Math.max(0,Math.min(e,t))}function TD(e,t,n,r){return n>0&&e>0&&r<=2?Math.floor(t):e}function ED(e,t,n,r){let i=YT(e,t);if(r===0||e<=16777216)return{totalHeight:e,viewportHeight:t,rowHeight:n,rowCount:r,compressed:!1,physicalSpacerHeight:TD(e,t,r,i),physicalMaxScroll:i,logicalMaxScroll:i};let a=Math.max(0,Math.ceil(i/n));return{totalHeight:e,viewportHeight:t,rowHeight:n,rowCount:r,compressed:!0,physicalSpacerHeight:a+t+1,physicalMaxScroll:a,logicalMaxScroll:i}}function DD(e,t){return t.compressed?e>=t.physicalMaxScroll?t.logicalMaxScroll:jD(e*t.rowHeight,0,t.logicalMaxScroll):jD(e,0,t.logicalMaxScroll)}function OD(e,t){return t.compressed?e>=t.logicalMaxScroll?t.physicalMaxScroll:jD(e/t.rowHeight,0,t.physicalMaxScroll):jD(e,0,t.physicalMaxScroll)}function kD(e,t,n=1){return e>=t.logicalMaxScroll-n}function AD(e,t=1){return e<=t}function jD(e,t,n){return Math.max(t,Math.min(e,n))}var MD=null;function ND(e=document){if(MD!==null)return MD;let t=e.createElement(`div`);t.style.cssText=`visibility:hidden;overflow:scroll;width:100px;height:100px;position:absolute;top:-9999px`,e.body.appendChild(t);let n=Math.max(0,t.offsetWidth-t.clientWidth);return t.remove(),n===0&&FD(e)?(MD=8,MD):(MD=n,MD)}function PD(){MD=null}function FD(e=document){let t=e.createElement(`div`);t.style.cssText=`width:100px;height:100px;overflow:scroll;visibility:hidden;position:absolute;top:-9999px`;let n=e.createElement(`div`);n.style.height=`200px`,t.appendChild(n),e.body.appendChild(t);let r=t.offsetWidth===t.clientWidth;return t.remove(),r}function ID(e,t){return e.hasVScrollbar?!0:!t&&e.liveGutterWidth>0}function LD(e){let t=e.overlayScrollbars??FD(),n=e.measuredWidth??ND();if(!ID(e,t))return{layout:0,visual:0};if(t)return{layout:0,visual:n};let r=e.liveGutterWidth>0?e.liveGutterWidth:n;return{layout:r,visual:r}}function RD(e,t,n){let r=Math.max(0,t.offsetWidth-t.clientWidth),i=XT(t.scrollHeight,t.clientHeight),a=e.magicGridEl,o=a?.classList.contains(`mg-grid--has-v-scrollbar`)??!1,s=LD({hasVScrollbar:a?o:i,liveGutterWidth:a?o?r:0:r,overlayScrollbars:n});e.rootEl.style.setProperty(`--mg-v-scrollbar-layout`,`${s.layout}px`),e.rootEl.style.setProperty(`--mg-v-scrollbar-visual`,`${s.visual}px`);let c=s.layout>0?0:s.visual;return e.rootEl.style.setProperty(`--mg-v-scrollbar-visual-overlay`,`${c}px`),e.headerViewportEl.style.removeProperty(`padding-right`),e.footerViewportEl?.style.removeProperty(`padding-right`),e.floatingFilterViewportEl?.style.removeProperty(`padding-right`),e.magicGridEl&&e.magicGridEl.classList.toggle(`magic-grid--overlay-scrollbar`,n),s}var zD=class{deps;lastScrollLeft=0;onAfterRedraw=null;resizeObserver=null;overlayScrollbars=null;scrollEndTimer=null;scrollSessionEndTimer=null;scrollSessionActive=!1;atScrollTop=!0;atScrollBottom=!1;programmaticScrollDepth=0;constructor(e){this.deps=e}setOnAfterRedraw(e){this.onAfterRedraw=e}get viewportEl(){return this.deps.viewportEl}bindScrollListener(){this.deps.viewportEl.addEventListener(`scroll`,this.handleScroll,{passive:!0}),this.resizeObserver=new ResizeObserver(()=>{this.handleViewportResize()}),this.resizeObserver.observe(this.deps.viewportEl)}unbindScrollListener(){this.deps.viewportEl.removeEventListener(`scroll`,this.handleScroll),this.clearScrollEndTimer(),this.clearScrollSessionEndTimer(),this.scrollSessionActive=!1,this.resizeObserver?.disconnect(),this.resizeObserver=null}clearScrollEndTimer(){this.scrollEndTimer!=null&&(clearTimeout(this.scrollEndTimer),this.scrollEndTimer=null)}clearScrollSessionEndTimer(){this.scrollSessionEndTimer!=null&&(clearTimeout(this.scrollSessionEndTimer),this.scrollSessionEndTimer=null)}getScrollSessionEndDebounceMs(){let{scrollEndFlushMs:e}=this.deps.scrollRenderOptions;return e>0?e:150}scheduleScrollEndIdle(){this.clearScrollEndTimer();let{scrollEndFlushMs:e,deferRowDestroyOnScroll:t,cellRendererPresentation:n}=this.deps.scrollRenderOptions,r=e>0?e:t||n===`placeholder-then-vue`?150:0;r<=0||(this.scrollEndTimer=setTimeout(()=>{this.scrollEndTimer=null,!this.deps.isDestroyed()&&this.deps.onScrollEndIdle?.()},r))}getLogicalScrollTop(){return DD(this.deps.viewportEl.scrollTop,this.getScrollRange())}getRenderViewportHeight(){return this.getRenderViewportHeightInternal()}scrollTo(e,t){let n=this.getScrollRange(),r=Math.max(0,Math.min(e,n.logicalMaxScroll));this.applyPhysicalScrollFromLogical(r),this.deps.scrollBridge.syncScrollTop(r),this.deps.frameService.setScrollDirection(this.deps.scrollBridge.isScrollGoingDown()),t!==void 0&&(this.deps.viewportEl.scrollLeft=t,this.lastScrollLeft=t),this.deps.headerScrollEl.scrollLeft=this.deps.viewportEl.scrollLeft,this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft(),this.redrawImmediately(),this.emitScrollPositionEvents(r,this.deps.viewportEl.scrollLeft),this.deps.onScroll?.()}scrollByDelta(e){e===0||!Number.isFinite(e)||this.scrollTo(this.getLogicalScrollTop()+e)}scrollByHorizontalDelta(e){if(e===0)return;let t=this.deps.viewportEl.clientWidth,n=$T(this.deps.columnModel,t),r=Math.max(0,Math.min(this.deps.viewportEl.scrollLeft+e,n));Math.abs(r-this.deps.viewportEl.scrollLeft)<1||this.scrollTo(this.getLogicalScrollTop(),r)}ensureIndexVisible(e,t=`middle`){let n=this.deps.rowModel.getRowBounds(e);if(!n)return;let r=this.getRenderViewportHeightInternal(),i=this.getScrollRange(),a=this.getLogicalScrollTop();a=t===`top`?n.rowTop:t===`bottom`?n.rowTop+n.rowHeight-r:n.rowTop-(r-n.rowHeight)/2,a=Math.max(0,Math.min(a,i.logicalMaxScroll)),this.scrollTo(a,this.deps.viewportEl.scrollLeft)}ensureColumnVisible(e){let t=this.deps.viewportEl.clientWidth,n=this.deps.viewportEl.scrollLeft,r=QT(e,this.deps.columnModel,n,t);if(r===null)return;let i=$T(this.deps.columnModel,t),a=Math.max(0,Math.min(r,i));a!==n&&this.scrollTo(this.deps.scrollBridge.getScrollTop(),a)}syncHorizontalScrollLeft(e){this.deps.viewportEl.scrollLeft=e,this.lastScrollLeft=e,this.deps.headerScrollEl.scrollLeft=e,this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft()}applyColumnStructureVisuals(){this.deps.applySelectionVisuals(),this.deps.applyFocusVisuals(),this.syncBorderClosureState(),this.deps.applyCellRangeVisuals?.()}syncHorizontalLayout(){let e=this.deps.columnModel.getTotalWidth();this.syncHeaderFooterRowWidth(),this.deps.spacerEl.style.minWidth=`${e}px`,this.deps.rowsContainerEl.style.width=`${e}px`,ig(this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl,this.deps.columnModel),this.syncFooterHorizontalLayout(),this.syncFloatingFilterHorizontalLayout(),this.syncScrollChrome(),this.syncIndexColumnFill()}syncColumnCellLayouts(){ag(this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl,this.deps.columnModel),this.deps.footerLeftLaneEl&&this.deps.footerCenterLaneEl&&this.deps.footerRightLaneEl&&sv(this.deps.footerLeftLaneEl,this.deps.footerCenterLaneEl,this.deps.footerRightLaneEl,this.deps.columnModel),this.deps.floatingFilterLeftLaneEl&&this.deps.floatingFilterCenterLaneEl&&this.deps.floatingFilterRightLaneEl&&GT(this.deps.floatingFilterLeftLaneEl,this.deps.floatingFilterCenterLaneEl,this.deps.floatingFilterRightLaneEl,this.deps.columnModel)}syncBorderClosureState(){let e=xD(this.deps.rootEl);if(!e)return;let t=this.deps.viewportEl;SD(e,bD({scrollTop:t.scrollTop,scrollHeight:t.scrollHeight,scrollWidth:t.scrollWidth,clientHeight:t.clientHeight,clientWidth:t.clientWidth,totalHeight:this.deps.rowModel.getTotalHeight(),totalWidth:this.deps.columnModel.getTotalWidth()})),this.syncHorizontalScrollEndState(e,t)}syncHorizontalScrollEndState(e,t=this.deps.viewportEl){let n=e??xD(this.deps.rootEl);if(!n)return;let r=$T(this.deps.columnModel,t.clientWidth),i=eE(t.scrollLeft,r);n.classList.toggle(`mg-grid--at-h-scroll-end`,i)}captureScrollAnchor(){let e=this.resolveLogicalScrollTopForSync();return{logicalScrollTop:e,atScrollBottom:kD(e,this.getScrollRange())}}syncViewportHeightWithDetailCompensation(e){let t=this.getViewportHeight(),n=this.getScrollRange(t);this.applySpacerLayoutFromRange(t,n),this.syncScrollMode(t);let r=this.getScrollRange(t),i=CD({anchorScrollTop:e.anchor.logicalScrollTop,atScrollBottom:e.anchor.atScrollBottom,detailRowTop:e.detailRowTop,heightDelta:e.heightDelta,logicalMaxScroll:r.logicalMaxScroll});this.deps.scrollBridge.syncScrollTop(i),this.applyPhysicalScrollFromLogical(i),this.syncAtScrollTopState(i),this.syncAtScrollBottomState(i),this.syncHeaderFooterRowWidth(),this.syncScrollChrome(),this.syncIndexColumnFill()}syncViewportHeight(){let e=this.captureScrollAnchor();this.syncViewportHeightWithDetailCompensation({anchor:e,detailRowTop:0,heightDelta:0})}scrollGridIfNeeded(){let e=this.deps.viewportEl.scrollLeft,t=!1;return t=this.deps.scrollBridge.scrollGridIfNeeded(t=>{this.redrawViewport(t,e)})||t,e!==this.lastScrollLeft&&(t||this.redrawViewport(this.deps.scrollBridge.getScrollTop(),e),t=!0),this.lastScrollLeft=this.deps.viewportEl.scrollLeft,t}redrawImmediately(){if(this.deps.isDestroyed())return;let e=this.getLogicalScrollTop();this.deps.scrollBridge.syncScrollTop(e),this.deps.frameService.flushAllFrames(),this.redrawViewport(e,this.deps.viewportEl.scrollLeft),this.lastScrollLeft=this.deps.viewportEl.scrollLeft,this.deps.frameService.flushAllFrames(),this.deps.applySelectionVisuals(),this.deps.applyFocusVisuals(),this.syncBorderClosureState()}redrawRowExpansionIncremental(){if(this.deps.isDestroyed())return;let e=this.resolveLogicalScrollTopForSync();this.deps.scrollBridge.syncScrollTop(e),this.applyPhysicalScrollFromLogical(Math.min(e,this.getScrollRange().logicalMaxScroll)),this.deps.frameService.flushAllFrames(),this.syncPinnedRows();let t=this.deps.viewportEl.scrollLeft,n=this.deps.viewportEl.clientWidth;this.deps.columnViewport.update(t,n);let r=this.deps.columnViewport.getWindow(),i=this.getRenderViewportHeightInternal();this.deps.rowRenderer.syncRowExpansionDisplay(e,i,r),this.deps.applySelectionVisuals(),this.deps.applyFocusVisuals(),this.syncBorderClosureState(),this.deps.applyCellRangeVisuals?.(),this.syncIndexColumnFill(),this.deps.frameService.flushAllFrames()}resetScrollOnSetData(){this.atScrollTop=!0,this.atScrollBottom=!1,this.scrollSessionActive=!1,this.clearScrollSessionEndTimer(),this.deps.scrollBridge.syncScrollTop(0),this.applyPhysicalScrollFromLogical(0),this.deps.viewportEl.scrollTop=0,this.deps.viewportEl.scrollLeft=0,this.lastScrollLeft=0,this.deps.headerScrollEl.scrollLeft=0,this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft()}scheduleCompressedSetDataRedraw(e){this.getScrollRange().compressed&&requestAnimationFrame(()=>{this.deps.isDestroyed()||e()})}syncPinnedRows(){this.deps.rowRenderer.setPinnedRowIds(this.deps.getPinnedRowIds())}handleScroll=()=>{let e=this.getLogicalScrollTop(),t=this.deps.viewportEl.scrollLeft;if(this.deps.scrollBridge.notifyScroll(e),this.deps.frameService.setScrollDirection(this.deps.scrollBridge.isScrollGoingDown()),this.deps.onScrollActivity?.(),this.deps.headerScrollEl.scrollLeft=t,this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft(),this.syncBorderClosureState(),this.syncPinnedRows(),!(this.programmaticScrollDepth>0)){if(this.trackUserScrollSession(e,t),this.getScrollRange().compressed){this.deps.scrollBridge.syncScrollTop(e),this.redrawViewport(e,this.deps.viewportEl.scrollLeft),this.deps.frameService.flushAllFrames(),this.emitScrollPositionEvents(e,t);return}this.deps.frameService.schedule(),this.scheduleScrollEndIdle(),this.emitScrollPositionEvents(e,t),this.deps.applyCellRangeScrollVisuals?.()}};emitScrollPositionEvents(e,t){this.maybeEmitScrollTop(e,t),this.maybeEmitScrollBottom(e,t),this.emitScrollEvent(`scroll`,e,t)}emitScrollEvent(e,t,n){this.deps.onEmitScrollEvent?.(e,{scrollTop:t,scrollLeft:n})}trackUserScrollSession(e,t){this.scrollSessionActive||(this.scrollSessionActive=!0,this.emitScrollEvent(`scrollStart`,e,t)),this.scheduleScrollSessionEnd()}scheduleScrollSessionEnd(){this.clearScrollSessionEndTimer(),this.scrollSessionEndTimer=setTimeout(()=>{this.scrollSessionEndTimer=null,!(this.deps.isDestroyed()||!this.scrollSessionActive)&&(this.scrollSessionActive=!1,this.emitScrollEvent(`scrollEnd`,this.getLogicalScrollTop(),this.deps.viewportEl.scrollLeft))},this.getScrollSessionEndDebounceMs())}maybeEmitScrollTop(e,t){let n=AD(e),r=this.atScrollTop;this.atScrollTop=n,n&&!r&&this.emitScrollEvent(`scrollTop`,e,t)}maybeEmitScrollBottom(e,t){let n=kD(e,this.getScrollRange()),r=this.atScrollBottom;this.atScrollBottom=n,n&&!r&&this.emitScrollEvent(`scrollBottom`,e,t)}syncAtScrollTopState(e){let t=e??this.getLogicalScrollTop();this.atScrollTop=AD(t)}syncAtScrollBottomState(e){let t=this.getScrollRange(),n=e??this.getLogicalScrollTop();this.atScrollBottom=kD(n,t)}isColumnMoveLiveDragging(){return this.deps.rootEl.classList.contains(`magic-grid--column-move-live`)}redrawViewport(e,t){let n=this.getViewportHeight();this.syncCompressedLayerHeight(n);let r=e??this.getLogicalScrollTop(),i=t??this.deps.viewportEl.scrollLeft,a=this.deps.viewportEl.clientWidth;this.syncViewportInlineSize(a);let o=tE(this.deps.columnModel,i,a);o!==i&&(this.deps.viewportEl.scrollLeft=o,this.lastScrollLeft=o,this.deps.headerScrollEl.scrollLeft=o,this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft());let s=this.getRenderViewportHeightInternal(),c=this.deps.columnViewport.update(o,a),l=this.deps.columnViewport.getWindow();c&&(this.reorderHeaderCells(!0),this.isColumnMoveLiveDragging()?this.syncColumnCellLayouts():(this.deps.refreshFooter?.(),this.deps.refreshFloatingFilter?.()),this.deps.applyFocusVisuals()),this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft(),this.syncPinnedRows(),this.deps.ensureInfiniteRowsLoaded?.(r,s),this.deps.rowRenderer.redraw(r,s,l,c),this.deps.applyCellRangeVisuals?.(),this.syncIndexColumnFill(),this.onAfterRedraw?.()}syncScrollbarGutter(){RD({rootEl:this.deps.rootEl,headerViewportEl:this.deps.headerViewportEl,footerViewportEl:this.deps.footerViewportEl,floatingFilterViewportEl:this.deps.floatingFilterViewportEl,magicGridEl:xD(this.deps.rootEl)},this.deps.viewportEl,this.getOverlayScrollbars())}getOverlayScrollbars(){return this.overlayScrollbars===null&&(this.overlayScrollbars=FD()),this.overlayScrollbars}handleViewportResize(){if(this.deps.isDestroyed())return;PD(),this.overlayScrollbars=null;let e=this.getViewportHeight(),t=this.getScrollRange(e);this.applySpacerLayoutFromRange(e,t),this.syncHeaderFooterRowWidth(),this.syncScrollChrome(),this.syncIndexColumnFill()}syncScrollChrome(){this.syncBorderClosureState(),this.stabilizeShortContentSpacer(),this.syncScrollbarGutter()}stabilizeShortContentSpacer(){let e=this.getScrollRange();if(e.compressed||e.logicalMaxScroll>0)return;let t=this.deps.viewportEl.clientHeight;if(t<=0)return;let n=this.deps.rowModel.getTotalHeight(),r=Math.max(n,Math.floor(t)),i=Number.parseFloat(this.deps.spacerEl.style.height);(!Number.isFinite(i)||Math.abs(i-r)>2)&&(this.deps.spacerEl.style.height=`${r}px`)}applySpacerLayoutFromRange(e,t){if(t.compressed){this.deps.spacerEl.style.height=``,this.deps.scrollPhantomEl.style.height=`${t.physicalMaxScroll+1}px`,this.syncCompressedLayerHeight(e);return}this.deps.spacerEl.style.height=`${t.physicalSpacerHeight}px`,this.deps.scrollPhantomEl.style.height=`0px`,this.deps.viewportEl.style.removeProperty(`--mg-viewport-px`)}syncHeaderFooterRowWidth(){let e=this.deps.columnModel.getTotalWidth();this.deps.headerRowEl.style.width=`${e}px`,this.deps.footerRowEl&&(this.deps.footerRowEl.style.width=`${e}px`),this.deps.floatingFilterRowEl&&(this.deps.floatingFilterRowEl.style.width=`${e}px`)}syncFooterHorizontalLayout(){!this.deps.footerRowEl||!this.deps.footerLeftLaneEl||!this.deps.footerCenterLaneEl||!this.deps.footerRightLaneEl||(ov(this.deps.footerLeftLaneEl,this.deps.footerCenterLaneEl,this.deps.footerRightLaneEl,this.deps.columnModel),this.syncFooterScrollLeft())}refreshFloatingFilterActiveState(){this.deps.isDestroyed()||!this.deps.floatingFilterLeftLaneEl||!this.deps.floatingFilterCenterLaneEl||!this.deps.floatingFilterRightLaneEl||HT([this.deps.floatingFilterLeftLaneEl,this.deps.floatingFilterCenterLaneEl,this.deps.floatingFilterRightLaneEl],this.deps.rowModel.getFilterModel())}syncFloatingFilterHorizontalLayout(){!this.deps.floatingFilterRowEl||!this.deps.floatingFilterLeftLaneEl||!this.deps.floatingFilterCenterLaneEl||!this.deps.floatingFilterRightLaneEl||(WT(this.deps.floatingFilterLeftLaneEl,this.deps.floatingFilterCenterLaneEl,this.deps.floatingFilterRightLaneEl,this.deps.columnModel),this.syncFloatingFilterScrollLeft())}syncFloatingFilterScrollLeft(){if(!this.deps.floatingFilterScrollEl)return;let e=this.deps.viewportEl.scrollLeft;this.deps.floatingFilterScrollEl.scrollLeft!==e&&(this.deps.floatingFilterScrollEl.scrollLeft=e)}syncFooterScrollLeft(){if(!this.deps.footerScrollEl)return;let e=this.deps.viewportEl.scrollLeft;this.deps.footerScrollEl.scrollLeft!==e&&(this.deps.footerScrollEl.scrollLeft=e)}renderHeader(e){rg({headerLeftLaneEl:this.deps.headerLeftLaneEl,headerCenterLaneEl:this.deps.headerCenterLaneEl,headerRightLaneEl:this.deps.headerRightLaneEl,columnModel:this.deps.columnModel,centerWindow:e,sortModel:this.deps.rowModel.getSortModel(),filterModel:this.deps.rowModel.getFilterModel(),validationFeedback:this.deps.validationFeedback,selectionColumnOptions:this.deps.selectionColumnOptions,showUnsortedSortHintOnHover:this.deps.showUnsortedSortHintOnHover(),enableHeaderSortClick:this.deps.enableHeaderSortClick(),getTreeHeaderExpanded:this.deps.getTreeHeaderExpanded})}syncTreeHeaderExpandState(){this.deps.isDestroyed()||Lh([this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl],this.deps.getTreeHeaderExpanded?.()??!1)}refreshHeader(){this.deps.isDestroyed()||(this.deps.onHeaderRefresh?.(),this.renderHeader(this.deps.columnViewport.getWindow()))}reorderHeaderCells(e=!1){this.deps.isDestroyed()||cg({headerLeftLaneEl:this.deps.headerLeftLaneEl,headerCenterLaneEl:this.deps.headerCenterLaneEl,headerRightLaneEl:this.deps.headerRightLaneEl,columnModel:this.deps.columnModel,centerWindow:this.deps.columnViewport.getWindow(),fillColumnWindowGaps:e,sortModel:this.deps.rowModel.getSortModel(),filterModel:this.deps.rowModel.getFilterModel(),validationFeedback:this.deps.validationFeedback,selectionColumnOptions:this.deps.selectionColumnOptions,showUnsortedSortHintOnHover:this.deps.showUnsortedSortHintOnHover(),enableHeaderSortClick:this.deps.enableHeaderSortClick(),getTreeHeaderExpanded:this.deps.getTreeHeaderExpanded})}refreshHeaderIndicatorState(){this.deps.isDestroyed()||ah([this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl],{sortModel:this.deps.rowModel.getSortModel(),filterModel:this.deps.rowModel.getFilterModel(),getColumnById:e=>{let t=this.deps.columnModel.getColumnById(e);if(t)return{colId:t.colId,sortable:t.sortable,filterable:t.filterable,headerAlign:t.headerAlign}},showUnsortedSortHintOnHover:this.deps.showUnsortedSortHintOnHover(),enableHeaderSortClick:this.deps.enableHeaderSortClick()})}getViewportHeight(){let e=this.deps.viewportEl.clientHeight;return e>0?e:this.deps.viewportEl.getBoundingClientRect().height}getRenderViewportHeightInternal(){if(this.deps.rowsLayerEl.classList.contains(`mg-rows-layer--compressed`)){let e=this.deps.rowsLayerEl.clientHeight;if(e>0)return e}return this.getViewportHeight()}syncCompressedLayerHeight(e){this.getScrollRange(e).compressed&&(this.deps.rowsLayerEl.style.height=`${e}px`,this.deps.viewportEl.style.setProperty(`--mg-viewport-px`,`${e}px`))}syncViewportInlineSize(e){e>0&&this.deps.viewportEl.style.setProperty(`--mg-viewport-inline-size`,`${e}px`)}syncIndexColumnFill(){let{indexColumnFillHostEl:e,indexColumnFillEl:n}=this.deps;if(!this.deps.showIndexColumn){e.hidden=!0;return}let r=this.deps.columnModel.getColumnById(t.tt);if(!r||r.hidden){e.hidden=!0;return}let i=this.deps.rowModel.getRowCount(),a=this.getViewportHeight(),o=Math.floor(a),s=this.getLogicalScrollTop(),c=yD(this.deps.rowModel,s,o);if(i===0||c<=0){e.hidden=!0;return}let l=this.getScrollRange(a).compressed,u=vD(this.deps.rowModel),d=l?u-s:u;e.hidden=!1,n.style.top=`${d}px`,n.style.left=`${r.left}px`,n.style.width=`${r.width}px`,n.style.height=`${c}px`}getScrollRange(e){let t=e??this.getViewportHeight();return ED(this.deps.rowModel.getTotalHeight(),t,this.deps.getDefaultRowHeight(),this.deps.rowModel.getRowCount())}resolveLogicalScrollTopForSync(){return Math.max(this.getLogicalScrollTop(),this.deps.scrollBridge.getNextScrollTop(),this.deps.scrollBridge.getScrollTop())}applyPhysicalScrollFromLogical(e){this.programmaticScrollDepth++;try{let t=this.getScrollRange();this.deps.viewportEl.scrollTop=OD(e,t)}finally{this.programmaticScrollDepth--}}syncScrollMode(e){let t=e??this.getViewportHeight(),n=this.getScrollRange(t).compressed;this.deps.rowsLayerEl.parentElement!==this.deps.spacerEl&&this.deps.spacerEl.prepend(this.deps.rowsLayerEl),this.deps.rowsContainerEl.style.transform=``,this.deps.spacerEl.classList.toggle(`mg-spacer--compressed`,n),this.deps.scrollPhantomEl.classList.toggle(`mg-scroll-phantom--active`,n),this.deps.rowsLayerEl.classList.toggle(`mg-rows-layer--compressed`,n),this.deps.rowRenderer.setCompressedScroll(n)}};function BD(e){let t=[`left`,`center`,`right`],n=[];for(let r of t){let t=r===`center`?null:r,i=e.filter(e=>(e.fixed??null)===t),a=i.filter(e=>!uc(e.colId)),o=i.filter(e=>uc(e.colId)).sort((e,t)=>e.defOrder-t.defOrder);n.push(...a.map(e=>e.colId),...o.map(e=>e.colId))}return n}function VD(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function HD(e,t){for(let n=0;n<t.length;n+=1){let r=t[n];if(!(!r||e[n]===r))return{fromColId:r,toIndex:n}}return null}var UD=class{deps;columnMoveOptions;columnResizeOptions;pendingColumnResizeColIds=[];pendingColumnResizeFinished=!1;constructor(e,t,n){this.deps=e,this.columnMoveOptions=t,this.columnResizeOptions=n}setColumnMoveOptions(e){let t=this.columnMoveOptions;this.columnMoveOptions=aa({...t,...e});let n=e.columnMovable!==void 0&&e.columnMovable!==t.columnMovable,r=e.allowCrossLaneColumnMove!==void 0&&e.allowCrossLaneColumnMove!==t.allowCrossLaneColumnMove;(n||r)&&(this.deps.columnModel.setColumnMoveGridOptions(this.columnMoveOptions),n&&this.deps.viewport.refreshHeader()),this.syncColumnMovePresentationClasses()}setColumnResizeOptions(e){let t=this.columnResizeOptions;this.columnResizeOptions=Kg({...t,...e}),e.resizable!==void 0&&e.resizable!==t.resizable&&(this.deps.columnModel.setColumnResizeGridOptions(this.columnResizeOptions),this.deps.viewport.refreshHeader())}syncColumnLayoutAfterResize(){this.deps.isDestroyed()||(this.deps.viewport.syncHorizontalLayout(),this.applyHorizontalScrollAfterColumnLayout(),this.deps.viewport.syncColumnCellLayouts(),this.deps.rowRenderer.syncColumnLayouts(),this.deps.footerRenderer?.syncColumnLayouts(),this.deps.columnViewport.invalidate(),this.pendingColumnResizeFinished&&this.deps.viewport.redrawImmediately(),this.deps.refreshColumnResizeVisualState(),this.deps.applyCellRangeVisuals?.())}applyHorizontalScrollAfterColumnLayout(){let e=this.deps.mountEl.querySelector(`.mg-viewport`);if(!e)return;let t=e.scrollLeft,n=e.clientWidth,r=this.pendingColumnResizeFinished;for(let e of this.pendingColumnResizeColIds){let i=nE(this.deps.columnModel,e,t,n,r);i!==null&&(t=i)}let i=tE(this.deps.columnModel,t,n);i!==e.scrollLeft&&this.deps.viewport.scrollTo(this.deps.viewport.getLogicalScrollTop(),i)}setColumnWidths(e,t=!0,n=`api`){let r=e.map(e=>({colId:e.colId,newWidth:e.width}));this.applyColumnWidths(r,!1,t,n)}setColumnWidth(e,t,n=!0,r=`api`){this.setColumnWidths([{colId:e,width:t}],n,r)}getColumnWidth(e){return this.deps.columnModel.getColumnWidth(e)}refreshFlexedColumns(e){if(!this.deps.columnModel.hasFlexColumns())return!1;let t=this.deps.mountEl.querySelector(`.mg-viewport`)?.clientWidth??0,n=t>0?t:this.deps.mountEl.clientWidth,r=this.deps.columnFlexService.resolveCenterViewportWidth(n),i=this.deps.columnFlexService.refreshFlexedColumns({viewportWidth:r,resizingColIds:e?.resizingColIds});if(!i.changed)return!1;if(this.syncColumnLayoutAfterResize(),e?.fireResizedEvent){let e=[...new Set(i.changedColIds)];this.deps.eventBus.emit(`columnResized`,Yg(e.map(e=>({colId:e})),this.deps.columnModel,!0,`flex`,i.flexColIds))}return!0}autoSizeColumn(e,t,n=`autosizeColumns`){this.autoSizeColumns([e],t,n)}autoSizeColumns(e,t,n=`autosizeColumns`){let r=this.deps.columnAutosizeService.autoSizeColumns(e,t);r.length!==0&&this.applyColumnWidths(r,!1,!0,n)}sizeColumnsToFit(e){let t=this.resolveViewportWidth(),n=e?.gridWidth??t,r=this.deps.columnAutosizeService.sizeColumnsToFit(n,e);r.length!==0&&this.applyColumnWidths(r,!1,!0,`sizeColumnsToFit`)}applyAutoSizeFitWidthStrategy(e){let t=this.resolveViewportWidth(),n=this.deps.columnAutosizeService.buildFitWidthStrategyParams(e,t);this.sizeColumnsToFit(n)}applyAutoSizeFitCellContentsStrategy(e){let{contentChanges:t,scaleUpParams:n}=this.deps.columnAutosizeService.buildFitCellContentsChanges(e);if(t.length>0&&this.applyColumnWidths(t,!1,!0,`autosizeColumns`),n){let e=this.resolveViewportWidth(),t=this.deps.columnAutosizeService.sizeColumnsToFit(e,n);t.length>0&&this.applyColumnWidths(t,!1,!0,`sizeColumnsToFit`)}}resolveViewportWidth(){let e=this.deps.mountEl.querySelector(`.mg-viewport`)?.clientWidth??0;return e>0?e:this.deps.mountEl.clientWidth}resizeHeaderColumn(e,t,n){let r=this.deps.columnModel.getColumnById(e);r?.resizable&&this.applyColumnWidths([{colId:e,newWidth:r.width+t}],n,!0,`uiColumnResized`)}applyColumnWidths(e,t,n,r){if(e.length===0)return;let{affectedColIds:i}=x_(this.deps.columnModel,e,t,this.columnResizeOptions);this.pendingColumnResizeColIds=i,this.pendingColumnResizeFinished=n;let a=this.deps.columnResizeService.setColumnWidths(e,t,n,r,this.columnResizeOptions);this.pendingColumnResizeColIds=[],this.pendingColumnResizeFinished=!1;let o=[...new Set([...a.affectedColIds.length>0?a.affectedColIds:e.map(e=>e.colId),...a.flexColIds])];(a.changed||n)&&this.deps.eventBus.emit(`columnResized`,Yg(o.map(e=>({colId:e})),this.deps.columnModel,n,r,a.flexColIds.length>0?a.flexColIds:void 0))}moveColumn(e,t,n=!0,r){let i=this.deps.columnModel.getColumnById(e)?.fixed??null;if(!this.deps.columnModel.moveColumn(e,t,r))return!1;let a=this.deps.columnModel.getColumns().map(e=>e.colId),o=this.deps.columnModel.getColumnById(e)?.fixed??null,s=a.indexOf(e);this.syncColumnLayoutAfterOrderChange(n);let c={columnOrder:a,fromColId:e,toIndex:s>=0?s:t,finished:n};return i!==o&&(c.toFixed=o),this.deps.eventBus.emit(`columnMoved`,c),n&&(this.deps.clearCellSelection?.(),this.deps.syncColumnOrderVisuals?.()),!0}syncColumnLayoutAfterOrderChange(e){this.deps.columnViewport.invalidate(),this.deps.viewport.syncHorizontalLayout();let t=this.deps.mountEl.querySelector(`.mg-viewport`);if(t){let e=t.clientWidth,n=tE(this.deps.columnModel,t.scrollLeft,e);this.deps.columnViewport.update(n,e)}e?this.deps.rootEl.classList.contains(`magic-grid--column-move-live`)&&!this.columnMoveOptions.suppressMoveWhenColumnDragging?(this.deps.viewport.reorderHeaderCells(),this.deps.viewport.syncColumnCellLayouts(),this.syncVisibleStructureAfterColumnOrderChange(),this.refreshFlexedColumns()):(this.deps.viewport.refreshHeader(),this.deps.viewport.syncColumnCellLayouts(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns(),this.deps.viewport.redrawImmediately()):(this.deps.viewport.reorderHeaderCells(),this.deps.viewport.syncColumnCellLayouts(),this.syncVisibleStructureAfterColumnOrderChange(),this.refreshFlexedColumns()),!e&&!this.deps.rootEl.classList.contains(`magic-grid--column-move-live`)&&this.deps.syncColumnOrderVisuals?.()}syncVisibleStructureAfterColumnOrderChange(){let e=this.deps.columnViewport.getWindow();this.deps.rowRenderer.refreshVisibleColumnStructure(e),this.deps.footerRenderer?.refreshVisibleColumnStructure(e)}resetColumnOrder(){let e=this.deps.columnModel.getColumns(),t=e.map(e=>e.colId),n=BD(e);if(VD(t,n)||!this.deps.columnModel.resetColumnsOrder(n))return!1;this.deps.columnViewport.invalidate(),this.deps.viewport.syncHorizontalLayout(),this.deps.viewport.refreshHeader(),this.deps.viewport.redrawImmediately(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns();let r=HD(t,n);return this.deps.eventBus.emit(`columnMoved`,{columnOrder:n,fromColId:r?.fromColId??n[0]??``,toIndex:r?.toIndex??0,finished:!0}),this.deps.clearCellSelection?.(),!0}setColumnFixed(e,t,n=`api`){let r=this.deps.columnModel.getColumnById(e),i=r?.fixed??null;return!r||i===t||!this.deps.columnModel.setColumnFixed(e,t)?!1:(this.deps.columnViewport.invalidate(),this.deps.viewport.syncHorizontalLayout(),this.deps.viewport.refreshHeader(),this.deps.viewport.redrawImmediately(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns(),this.deps.eventBus.emit(`columnPinned`,{colId:e,fixed:t,fromFixed:i,source:n}),this.deps.clearCellSelection?.(),!0)}setColumnsHidden(e,t,n=`api`){let r=this.deps.columnModel.setColumnsHidden(e,t);return r.length!==0&&(this.syncAfterColumnStructureChange(),this.deps.eventBus.emit(`columnHiddenChanged`,{colIds:r,hidden:t,source:n}),this.deps.clearCellSelection?.(),!0)}syncAfterColumnStructureChange(){this.deps.columnViewport.invalidate(),this.deps.viewport.syncHorizontalLayout();let e=this.deps.mountEl.querySelector(`.mg-viewport`),t=this.resolveViewportWidth(),n=this.deps.columnViewport.getWindow(),r=e?.scrollLeft??0;r=tE(this.deps.columnModel,r,t),e&&r!==e.scrollLeft&&this.deps.viewport.syncHorizontalScrollLeft(r),this.deps.columnViewport.update(r,t),n=this.deps.columnViewport.getWindow(),this.deps.viewport.refreshHeader(),this.deps.viewport.syncColumnCellLayouts(),this.deps.rowRenderer.refreshVisibleColumnStructure(n),this.deps.footerRenderer?.syncColumnLayouts(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns(),this.deps.syncColumnOrderVisuals?.()}resetColumnWidths(){let e=this.deps.columnModel.resetColumnsWidth();return e.length!==0&&(this.syncColumnLayoutAfterResize(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns(),this.deps.eventBus.emit(`columnResized`,Yg(e.map(e=>({colId:e})),this.deps.columnModel,!0,`api`)),this.deps.clearCellSelection?.(),!0)}finishColumnMove(e){let t=this.deps.columnModel.getColumns(),n=t.findIndex(t=>t.colId===e);n<0||(this.deps.clearCellSelection?.(),this.deps.syncColumnOrderVisuals?.(),this.deps.eventBus.emit(`columnMoved`,{columnOrder:t.map(e=>e.colId),fromColId:e,toIndex:n,finished:!0}))}setColumnMoveLiveDragging(e){this.deps.rootEl.classList.toggle(`magic-grid--column-move-live`,e)}syncColumnMovePresentationClasses(){this.deps.rootEl.classList.toggle(`magic-grid--suppress-column-move-animation`,this.columnMoveOptions.suppressColumnMoveAnimation)}},WD=class{deps;constructor(e){this.deps=e}setFilterModel(e){this.deps.rowModel.setFilterModel(e),this.afterFilterPipelineChange()}getFilterModel(){return this.deps.rowModel.getFilterModel()}getColumnFilter(e){return this.deps.rowModel.getFilterModel()[e]??null}getColumnDistinctFilterValues(e){let t=this.deps.columnModel.getColumnById(e);return t?.filterable?_i({rows:this.deps.rowModel.getSourceRows(),colId:e,filterType:t.filterType,getFilterValue:t=>this.getColumnFilterValue(t,e)}):[]}isColumnFilterActive(e){return oi(e,this.deps.rowModel.getFilterModel())}isAnyFilterActive(){return si(this.deps.rowModel.getFilterModel(),this.deps.rowModel.getQuickFilterText())}getQuickFilterText(){return this.deps.rowModel.getQuickFilterText()}setQuickFilterText(e){this.deps.rowModel.getQuickFilterText()!==e&&(this.deps.rowModel.setQuickFilterText(e),this.afterFilterPipelineChange())}clearAllFilters(){this.isAnyFilterActive()&&(this.deps.rowModel.setFilterModel({}),this.deps.rowModel.setQuickFilterText(``),this.afterFilterPipelineChange())}setColumnFilter(e,t){let n={...this.deps.rowModel.getFilterModel()};t===null?delete n[e]:n[e]=t,this.setFilterModel(n)}refreshFloatingFilter(){this.renderFloatingFilter(()=>this.deps.columnViewport.getWindow())}renderFloatingFilter(e){let t=this.deps.getFloatingFilterController();t&&(t.syncRowLayout(),t.render(e()))}syncFloatingFilterFromFilterModel(){this.deps.getFloatingFilterController()?.syncFromFilterModel()}getColumnFilterValue(e,t){let n=this.deps.columnModel.getColumnById(t);return n?cv(e,n):e.data[t]}afterFilterPipelineChange(){this.deps.rowModel.repositionDisplayRows();let e=this.deps.getViewport();e.syncViewportHeight(),this.deps.valueCache.bump(),this.deps.refreshCellSpans(),this.deps.reconcileRowPoolAfterDisplayChange(),e.redrawImmediately(),this.deps.refreshHierarchyCellVisuals?.(),e.refreshHeaderIndicatorState(),this.syncFloatingFilterFromFilterModel(),this.deps.applySelectionVisuals(),this.deps.clearCellSelection?.(),this.deps.refreshOverlay?.(),this.emitFilterChanged(),this.deps.refreshFooter()}emitFilterChanged(){this.deps.eventBus.emit(`filterChanged`,{filterModel:this.deps.rowModel.getFilterModel(),quickFilterText:this.deps.rowModel.getQuickFilterText()})}};function GD(e,t){return e===t}function KD(e,t,n){return e.length===0||!GD(t,n)?[]:[...e]}function qD(e){return e.rowKind==null||e.rowKind===`BUSINESS`}function JD(e,t){let n=e[t];if(!n||!V(n))return[];let r=n.treeLevel??0,i=[];for(let n=t+1;n<e.length;n+=1){let t=e[n];if((t.treeLevel??0)<=r)break;qD(t)&&i.push(t.id)}return i}function YD(e,t){let n=e.findIndex(e=>e.id===t);if(n<0)return[];let r=e[n].treeLevel??0,i=[];for(let t=n+1;t<e.length;t+=1){let n=e[t],a=n.treeLevel??0;if(a<=r)break;a===r+1&&qD(n)&&i.push(n.id)}return i}function XD(e,t){let n=new Set;for(let r=0;r<e.length;r+=1){let i=e[r];if(!V(i)||i.treeLeaf===!0)continue;let a=YD(e,i.id);if(a.length===0)continue;let o=a.filter(e=>t.has(e)).length;o!==0&&(o<a.length||!t.has(i.id))&&n.add(i.id)}return n}function ZD(e){if(!e.groupSelectsChildren)return!1;let t=e.displayRows.findIndex(t=>t.id===e.rowId);if(t<0)return!1;let n=!1,r=JD(e.displayRows,t);for(let t of r){if(e.selected){e.selectedIds.has(t)||(e.selectedIds.add(t),n=!0);continue}e.selectedIds.delete(t)&&(n=!0)}return n}function QD(e,t){let n=!1;for(let r=e.length-1;r>=0;--r){let i=e[r];if(!V(i)||i.treeLeaf===!0)continue;let a=YD(e,i.id);if(a.length===0)continue;let o=a.filter(e=>t.has(e)).length,s=o===a.length,c=t.has(i.id);if(s&&!c){t.add(i.id),n=!0;continue}!s&&c&&o>0||!s&&c&&o===0&&(t.delete(i.id),n=!0)}return n}var $D=class{deps;getDefaultSelectedRowsRuntime;selectableFn;reserveSelection;pendingDefaultSelection=null;presetSelectionEmitQueued=!1;presetSelectionEmitRevision=0;presetTransientNotifyPending=!1;constructor(e,t,n,r){this.deps=e,this.getDefaultSelectedRowsRuntime=r,this.selectableFn=t,this.reserveSelection=n}clearPendingDefaultSelectedRows(){this.presetSelectionEmitRevision+=1,this.presetTransientNotifyPending=!1,this.pendingDefaultSelection=null}flushPendingPresetTransientSelectionNotify(){!this.presetTransientNotifyPending||!this.pendingDefaultSelection||(this.presetTransientNotifyPending=!1,this.queuePresetSelectionChangedEmit())}queuePresetSelectionChangedEmit(){if(!this.pendingDefaultSelection||!this.deps.selectionService||this.presetSelectionEmitQueued)return;let e=this.presetSelectionEmitRevision;this.presetSelectionEmitQueued=!0,queueMicrotask(()=>{this.presetSelectionEmitQueued=!1,!(e!==this.presetSelectionEmitRevision||!this.pendingDefaultSelection||!this.deps.selectionService)&&(this.presetTransientNotifyPending=!1,this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`preset`}))})}setSelectable(e){this.selectableFn=_g(e),this.deps.rowRenderer.setIsRowNodeSelectable(e=>this.isRowNodeSelectable(e)),this.applySelectionVisuals()}setReserveSelection(e){this.reserveSelection=e}setDefaultSelectedRows(e,t={},n){let r=n??this.getDefaultSelectedRowsRuntime(),i=t.mode??`cover`;!r.rowSelectionEnabled||!this.deps.selectionService||(this.pendingDefaultSelection={input:e,mode:i},this.reconcilePendingDefaultSelectedRows(r))}reconcilePendingDefaultSelectedRows(e){let t=e??this.getDefaultSelectedRowsRuntime();if(!this.pendingDefaultSelection||!t.rowSelectionEnabled||!this.deps.selectionService)return;let{input:n,mode:r}=this.pendingDefaultSelection,i=zd(n,t.getResolveContext()),a=this.resolvePresetTargetRowIds(i);if(a.length===0&&r===`merge`)return;this.deps.selectionService.isMultiple()||(i.length,a=a.slice(0,1));let o;if(r===`merge`){if(o=new Set([...this.deps.selectionService.getSelectedRowIds(),...a]),!this.deps.selectionService.isMultiple()&&o.size>1){let e=a[0]??[...o][0];o=new Set(e==null?[]:[e])}}else o=new Set(a);let s=[...o],c=this.deps.selectionService.getSelectedRowIds();if(!(s.length!==c.length||s.some(e=>!c.includes(e))))return;let l=s.length>0?this.deps.rowModel.getRowIndexById(s[0]):-1;this.deps.selectionService.replaceWithRowIds(s,l),this.syncTreeSelectionCascade(),this.applySelectionVisuals(),this.shouldDeferPresetSelectionChangedEmit(s)?this.presetTransientNotifyPending=!0:(this.presetTransientNotifyPending=!1,this.queuePresetSelectionChangedEmit())}shouldDeferPresetSelectionChangedEmit(e){if(e.length===0)return!1;for(let t of e){let e=this.deps.rowModel.getRowById(t);if(!e)return!1;let n=e.data[this.deps.rowKey];if(n==null||n===``)return!0}return!1}resolvePresetTargetRowIds(e){let n=[],r=new Set;for(let i of e){let e=t.m(i);if(r.has(e))continue;r.add(e);let a=this.deps.rowModel.getRowById(e)??this.deps.rowModel.resolveRowById(e);!a||!this.isRowNodeSelectable(a)||n.push(a.id)}return n}toggleRowSelection(e,n,r){if(!this.deps.selectionService)return;let i=t.h(e),a=!1,o=this.deps.selectionService.isMultiple(),s=[];for(let e of i){let t=this.deps.rowModel.getRowById(e);if(!t)continue;let i=this.deps.selectionService.isSelected(e),c=r===!0||this.isRowNodeSelectable(t),l=!1;if(n===void 0)if(i){if(!c)continue;this.deps.selectionService.removeRowIds([e])&&(l=!0)}else c&&(o?this.deps.selectionService.addRowId(e,t.rowIndex)&&(l=!0):this.deps.selectionService.replaceWithRowIds([e],t.rowIndex)&&(l=!0));else if(n){if(i||!c)continue;o?this.deps.selectionService.addRowId(e,t.rowIndex)&&(l=!0):this.deps.selectionService.replaceWithRowIds([e],t.rowIndex)&&(l=!0)}else if(i){if(!c)continue;this.deps.selectionService.removeRowIds([e])&&(l=!0)}l&&(a=!0,s.push({rowId:e,rowIndex:t.rowIndex}))}a&&(this.syncTreeSelectionCascade(s),this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`api`}))}handleInteractiveRowSelection(e,t){this.deps.selectionService&&this.syncTreeSelectionCascade({rowId:e,rowIndex:t})}syncTreeSelectionCascade(e){if(!this.deps.selectionService||!this.deps.isTreeActive?.()||!this.deps.groupSelectsChildren?.())return;let t=this.deps.rowModel.rowsToDisplay,n=new Set(this.deps.selectionService.getSelectedRowIds()),r=e==null?[]:Array.isArray(e)?[...e]:[e];for(let{rowId:e}of r)ZD({displayRows:t,rowId:e,selected:n.has(e),groupSelectsChildren:!0,selectedIds:n});QD(t,n),this.deps.selectionService.replaceWithRowIds([...n],r.length>0?r[r.length-1].rowIndex:-1)}setIndexFocus(e,n={}){if(!this.deps.indexFocusService)return;let r=t.h(e).map(e=>{let t=this.deps.rowModel.getRowIndexById(e);return t>=0?{id:e,rowIndex:t}:null}).filter(e=>e!=null),i=!1;if(r.length===0?(i=this.deps.indexFocusService.getFocusedRowIds().length>0,i&&this.deps.indexFocusService.clear()):i=this.deps.indexFocusService.isMultiple()?this.deps.indexFocusService.replaceWithRowIds(r.map(e=>e.id),r[0].rowIndex):this.deps.indexFocusService.replaceWithRowIds([r[0].id],r[0].rowIndex),!i)return;let a=(n.mode??`default`)===`manual`?{syncToSelectionColumn:n.syncToSelectionColumn??!1}:{};this.applyIndexFocusVisuals(a),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()})}toggleAllSelection(e){if(!this.deps.selectionService)return;let t=this.deps.rowModel.getRowCount(),n=e=>this.getSelectableRowIdAt(e),r=!1;r=e===void 0?this.deps.selectionService.toggleSelectAllVisibleRows(t,n):e?this.deps.selectionService.selectAllVisibleRows(t,n):this.deps.selectionService.deselectAllVisibleRows(t,n),r&&(this.syncTreeSelectionCascade(),this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`api`}))}clearRowSelection(e={}){if(!this.deps.selectionService)return;let t=e.scope??`all`,n=!1;if(t===`all`)n=this.deps.selectionService.getSelectedRowIds().length>0,n&&this.deps.selectionService.clear();else{let e=new Set(this.deps.rowModel.rowsToDisplay.map(e=>e.id)),t=this.deps.selectionService.getSelectedRowIds().filter(t=>e.has(t));t.length>0&&(n=this.deps.selectionService.removeRowIds(t))}n&&(this.syncTreeSelectionCascade(),this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`api`}))}isRowNodeSelectable(e){return L(e)||He(e)||e.__infiniteBlockState!=null&&e.__infiniteBlockState!==`loaded`?!1:vg(this.selectableFn,e,this.deps.rowKey)}getSelectableRowIdAt(e){let t=this.deps.rowModel.getRow(e);if(!(!t||!this.isRowNodeSelectable(t)))return t.id}applySelectionVisuals(){if(!this.deps.selectionService)return;let e=new Set(this.deps.selectionService.getSelectedRowIds()),t=this.deps.isTreeActive?.()?XD(this.deps.rowModel.rowsToDisplay,e):new Set;this.deps.rowRenderer.refreshSelection(e,t),zp(this.deps.mountEl,{selectionColumnOptions:this.deps.selectionColumnOptions,selectedIds:e,indeterminateIds:t,rowModel:this.deps.rowModel}),this.deps.applyCellRangeVisuals?.()}refreshSelectionAfterDataChange(){this.reconcilePendingDefaultSelectedRows(),this.applySelectionVisuals()}applyIndexFocusVisuals(e={}){if(!this.deps.indexFocusService)return;let t=new Set(this.deps.indexFocusService.getFocusedRowIds());this.deps.rowRenderer.refreshIndexFocus(t),this.shouldSyncIndexFocusToSelection(e)&&this.syncIndexFocusToSelection()}onRowsRemoved(e){this.deps.selectionService?.removeRowIds(e)&&(this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`api`})),this.deps.indexFocusService?.removeRowIds(e)&&(this.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()}))}finalizePromoteRowId(e,t){let n=this.pendingDefaultSelection!=null,r=!1;this.deps.selectionService?.migrateRowId(e,t)&&(r=!0,this.applySelectionVisuals(),n||this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`api`})),this.deps.indexFocusService?.migrateRowId(e,t)&&(this.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()})),this.reconcilePendingDefaultSelectedRows(),n&&r&&this.queuePresetSelectionChangedEmit()}reconcileSelectionAfterSetData(e,t){let n=!this.reserveSelection&&t;if(e&&this.deps.selectionService){let t=e.filter(e=>this.deps.rowModel.getRowById(e));n||=this.deps.selectionService.replaceWithRowIds(t)}return n}shouldSyncIndexFocusToSelection(e){return e.syncToSelectionColumn===!1?!1:e.syncToSelectionColumn===!0||this.deps.indexColumnOptions.indexColumn.syncToSelectionColumn}syncIndexFocusToSelection(){if(!this.deps.indexFocusService||!this.deps.selectionService)return;let e=this.deps.indexColumnOptions.indexColumn.focusMode,t=this.deps.selectionColumnOptions.mode;if(!GD(e,t))return;let n=this.deps.indexFocusService.getFocusedRowIds();if(n.length===0){if(!this.deps.selectionService.replaceWithRowIds([],-1))return;this.applySelectionVisuals(),this.deps.applyCellRangeVisuals?.(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`ui`});return}let r=KD(n,e,t).filter(e=>{let t=this.deps.rowModel.getRowIndexById(e);if(t<0)return!1;let n=this.deps.rowModel.getRow(t);return n?this.isRowNodeSelectable(n):!1});r.length!==0&&this.deps.selectionService.replaceWithRowIds(r,this.deps.indexFocusService.getAnchorIndex())&&(this.applySelectionVisuals(),this.deps.applyCellRangeVisuals?.(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`ui`}))}};function eO(e){return{id:e,data:{},rowHeight:0,rowTop:0,rowIndex:0,sourceIndex:0,estimated:!1,isTransient:!0}}function tO(e,t){return e===`display`||t.hasSortOrFilter?t.displayRows.length:t.sourceRows.length}function nO(e,t,n){let r=tO(t,n),i=r;return e.map(e=>{if(e.index===void 0){let t={...e,index:i};return i+=1,t}let t=e.index;return t>r&&(t=r),i=Math.max(i,t+1),{...e,index:t}})}function rO(e){return e.map((e,t)=>({item:e,sortIndex:e.index,originalOrder:t}))}function iO(e){return[...e].sort((e,t)=>t.sortIndex===e.sortIndex?t.originalOrder-e.originalOrder:t.sortIndex-e.sortIndex).map(({item:e,sortIndex:t})=>({data:e.row,index:t}))}function aO(e,t,n){let r=[...e].sort((e,t)=>e.sortIndex===t.sortIndex?e.originalOrder-t.originalOrder:e.sortIndex-t.sortIndex),i=[...n.sourceRows],a=[...n.displayRows],o=[];for(let{item:e}of r){let r=ed({sourceRows:i,displayRows:a,sortModelLength:+!!n.hasSortOrFilter,filterModelKeyCount:+!!n.hasSortOrFilter}),s=td(e.index,t,r);if(s===void 0)continue;o.push({data:e.row,index:s});let c=eO(`__mg_add_rows_by_array_${o.length}`);if(i=Zl(i,[c],s),t===`display`&&n.hasSortOrFilter){let t=td(e.index,`display`,r);t!==void 0&&(a=Zl(a,[c],t))}else a=Zl(a,[c],s)}return o}function oO(e,t,n,r=`desc`){if(e.length===0)return{};let i=rO(nO(e,t,n));return{add:r===`asc`?aO(i,t,n):iO(i)}}function sO(e){let t=[],n=e;for(;n.includes(se);){let e=n.lastIndexOf(se),r=(e===0?n:n.slice(e)).match(/^group::L(\d+)::([^:]+)::(.+)$/);if(!r)break;t.unshift({level:Number.parseInt(r[1],10),field:decodeURIComponent(r[2]),key:decodeURIComponent(r[3])}),n=e===0?``:n.slice(0,e-2)}return t}function cO(e,t){for(let n of e){let e=n.leafGroupPathKey;if(e&&(e===t||e.endsWith(`/${t}`)))return e}return null}function lO(e,t,n){if(e.length===0||e.length>t.length)return null;let r=[],i=[],a;for(let o=0;o<e.length;o+=1){let s=e[o],c=t[o];if(!c)return null;let l=n(c)??s.field,u=Me(s.key),d=Ne(o,l,u,a);r.push(d),i.push({field:l,key:u}),a=d}return{leafGroupId:r[r.length-1],groupPathKey:Pe(r),groupPath:i,groupIds:r}}function uO(e,t){return lO(e.map((e,t)=>({level:t,field:e.field,key:e.key})),t.rowGroupColumns,t.getColumnField)}function dO(e,t,n){let r=t.getGroupedTreeRoots?ql(t.getGroupedTreeRoots(),e):void 0;if(r?.groupId){let e=lO(sO(r.groupId),t.rowGroupColumns,t.getColumnField);if(e)return e}let i=cO(n,e),a=lO(sO(e),t.rowGroupColumns,t.getColumnField);return!a||i&&a.groupPathKey!==i?null:a}function fO(e,t,n=[]){return`groupPath`in e?uO(e.groupPath,t):dO(e.groupId,t,n)}function pO(e){return e===`(Blanks)`?null:e}function mO(e,t){let n={...e};for(let e of t)n[e.field]=pO(e.key);return n}function hO(e,t,n){let{sourceRows:r,displayRows:i,hasSortOrFilter:a}=n;if(t===`display`||a){let t=0;for(let n of i)z(n)&&r.find(e=>e.id===n.id)?.leafGroupPathKey===e&&(t+=1);return t}return r.filter(t=>t.leafGroupPathKey===e).length}function gO(e){let{sourceRows:t,displayRows:n,groupPathKey:r,withinGroupIndex:i,indexMode:a,hasSortOrFilter:o}=e,s=[];for(let e=0;e<t.length;e+=1)t[e]?.leafGroupPathKey===r&&s.push(e);if(a===`display`&&o){let e=[];for(let i=0;i<n.length;i+=1){let a=n[i];z(a)&&t.find(e=>e.id===a.id)?.leafGroupPathKey===r&&e.push(i)}let a=Math.max(0,Math.min(i,e.length));if(e.length===0)return t.length;if(a===e.length){let r=n[e[e.length-1]],i=t.findIndex(e=>e.id===r?.id);return i>=0?i+1:t.length}let o=n[e[a]],s=t.findIndex(e=>e.id===o?.id);return s>=0?s:t.length}let c=Math.max(0,Math.min(i,s.length));return s.length===0?t.length:c===s.length?s[s.length-1]+1:s[c]}function _O(e,t,n){if(e.rows.length===0)return{transaction:{},expandGroupIds:[]};let r=fO(e.target,n,t.sourceRows);if(!r)return{transaction:{},expandGroupIds:[]};let i=e.indexMode??`source`,a=hO(r.groupPathKey,i,t),o=e.index??a,s=gO({sourceRows:t.sourceRows,displayRows:t.displayRows,groupPathKey:r.groupPathKey,withinGroupIndex:o,indexMode:i,hasSortOrFilter:t.hasSortOrFilter});return{transaction:{add:e.rows.map((e,t)=>({data:mO(e.data,r.groupPath),index:s+t}))},expandGroupIds:r.groupIds}}function vO(e){return{id:e,data:{},rowHeight:0,rowTop:0,rowIndex:0,sourceIndex:0,estimated:!1,isTransient:!0}}function yO(e,t,n,r){let i=new Map,a=[];return e.forEach((e,o)=>{let s=fO(e.target,r,n.sourceRows);if(!s)return;let c=hO(s.groupPathKey,t,n),l=i.get(s.groupPathKey)??c,u=e.index;u===void 0?(u=l,l+=1):(u>c&&(u=c),l=Math.max(l,u+1)),i.set(s.groupPathKey,l),a.push({item:{...e,index:u},resolved:s,globalInsertIndex:gO({sourceRows:n.sourceRows,displayRows:n.displayRows,groupPathKey:s.groupPathKey,withinGroupIndex:u,indexMode:t,hasSortOrFilter:n.hasSortOrFilter}),originalOrder:o})}),a}function bO(e){let t=new Set;for(let n of e)for(let e of n.resolved.groupIds)t.add(e);return[...t]}function xO(e){return[...e].sort((e,t)=>t.globalInsertIndex===e.globalInsertIndex?t.originalOrder-e.originalOrder:t.globalInsertIndex-e.globalInsertIndex).map(({item:e,resolved:t,globalInsertIndex:n})=>({data:mO(e.row,t.groupPath),index:n}))}function SO(e,t,n){let r=[...e].sort((e,t)=>e.globalInsertIndex===t.globalInsertIndex?e.originalOrder-t.originalOrder:e.globalInsertIndex-t.globalInsertIndex),i=[...t.sourceRows],a=[...t.displayRows],o=[];for(let{item:e,resolved:s}of r){let r=ed({sourceRows:i,displayRows:a,sortModelLength:+!!t.hasSortOrFilter,filterModelKeyCount:+!!t.hasSortOrFilter}),c=gO({sourceRows:r.sourceRows,displayRows:r.displayRows,groupPathKey:s.groupPathKey,withinGroupIndex:e.index,indexMode:n,hasSortOrFilter:t.hasSortOrFilter});o.push({data:mO(e.row,s.groupPath),index:c});let l=vO(`__mg_add_group_rows_by_array_${o.length}`);i=Zl(i,[l],c),a=Zl(a,[l],c)}return o}function CO(e,t,n,r){if(e.length===0)return{transaction:{},expandGroupIds:[]};let i=t?.indexMode??`source`,a=t?.order??`desc`,o=yO(e,i,n,r);return o.length===0?{transaction:{},expandGroupIds:[]}:{transaction:{add:a===`asc`?SO(o,n,i):xO(o)},expandGroupIds:bO(o)}}function wO(e,t){let n=e.indexMode??`source`,r=td(e.index,n,t);return{add:e.rows.map((e,t)=>({data:e.data,index:r===void 0?void 0:r+t}))}}function TO(e,n){let r=new Set(t.g(e.rowIds)??[]);if(e.indexes?.length){let t=e.indexMode??`source`;for(let i of nd(e.indexes,t,n))r.add(i)}return r.size===0?{}:{remove:[...r]}}function EO(e){return e.rows.length===0?{}:{update:e.rows.map(e=>e.rowId!==void 0&&e.rowId!==null?{data:{...e.data},rowId:String(e.rowId)}:{...e.data})}}function DO(e){return e.remove?.length?e.remove.filter(e=>typeof e==`string`):[]}function OO(e,n,r){return{rows:e.map(e=>({rowId:e.id,rowIndex:r(e.id),data:t.N(e,n),isTransient:e.isTransient??!1}))}}function kO(e,n){return{rows:e.map(e=>({rowId:e.id,data:t.N(e,n)}))}}function AO(e,n,r){return{oldRowId:e,newRowId:n.id,data:t.N(n,r)}}var jO=class{deps;pendingTransaction=null;pendingUpdateRefreshNewData=!1;rowMoveService;constructor(e){this.deps=e,this.rowMoveService=new tx({getSourceRows:()=>this.deps.rowModel.getSourceRows(),getDisplayRows:()=>this.deps.rowModel.rowsToDisplay,getSortModelLength:()=>this.deps.rowModel.getSortModel().length,getFilterModelKeyCount:()=>Object.keys(this.deps.rowModel.getFilterModel()).length,isSortOrFilterActive:()=>this.deps.rowModel.getSortModel().length>0||this.deps.filterOps.isAnyFilterActive(),setSourceRows:e=>this.deps.rowModel.setSourceRows(e),emitRowMoved:e=>this.deps.eventBus.emit(`rowMoved`,e),isRowGroupingActive:()=>this.deps.isRowGroupingActive?.()??!1,isTreeActive:()=>this.deps.isTreeActive?.()??!1,getTreeDragScope:()=>this.deps.getTreeDragScope?.()??`siblings`,getDataPath:()=>this.deps.getDataPath?.(),setDataPath:()=>this.deps.setDataPath?.()})}async applyTransaction(e){e.newData&&(this.pendingUpdateRefreshNewData=!0);let t=this.collectAsyncMutationLoadingRowIds(e),n=async()=>{let t=await px(e,{rowKey:this.deps.rowKey,handlers:this.deps.asyncRowMutation,getRowById:e=>this.deps.rowModel.getRowById(e),sourceRows:this.deps.rowModel.getSourceRows()}),n=DO(t);if(n.length>0){this.prepareRemoveRows(new Set(n));let e=this.commitTransaction(t);return this.finalizeRemoveRows(new Set(n)),e}return this.commitTransaction(t)};return t.length===0?n():this.withAsyncMutationLoading(t,n)}commitTransaction(e){e.newData&&(this.pendingUpdateRefreshNewData=!0),this.recordMutationChannelChanges(e);let t=this.deps.rowModel.applyTransaction(e);return this.deps.viewport.syncViewportHeight(),this.queueTransactionFlush(t),t}recordRowDataChange=e=>{this.deps.rowDataChangeTracker.record(e)};async addRows(e){let t=wO(e,this.createRowIndexContext());return this.applyTransaction(t)}async addRowsByArray(e,t){if(e.length===0)return{add:[],remove:[],update:[]};let n=t?.indexMode??`source`,r=t?.order??`desc`,i=oO(e,n,this.createRowIndexContext(),r);return this.applyTransaction(i)}async addGroupRows(e){let t=this.requireGroupInsertDeps(`addGroupRows`),{transaction:n,expandGroupIds:r}=_O(e,this.createRowIndexContext(),t);if(!n.add?.length)return{add:[],remove:[],update:[]};let i=await this.applyTransaction(n);return this.expandTargetGroups(r),i}async addGroupRowsByArray(e,t){if(e.length===0)return{add:[],remove:[],update:[]};let n=this.requireGroupInsertDeps(`addGroupRowsByArray`),{transaction:r,expandGroupIds:i}=CO(e,t,this.createRowIndexContext(),n);if(!r.add?.length)return{add:[],remove:[],update:[]};let a=await this.applyTransaction(r);return this.expandTargetGroups(i),a}async removeRows(e){let n=TO(e.rowIds?{...e,rowIds:t.g(e.rowIds)}:e,this.createRowIndexContext());return DO(n).length===0?{add:[],remove:[],update:[]}:this.applyTransaction(n)}async updateRows(e){if(e.rows.length===0)return{add:[],remove:[],update:[]};e.newData&&(this.pendingUpdateRefreshNewData=!0);let t=EO(e);return this.applyTransaction(t)}moveRowSync(e,t=`api`){this.deps.beginRowOrderVisualCapture?.();let n=this.rowMoveService.moveRow(e,t);return n.moved&&this.afterRowOrderChanged(),n}moveRowsSync(e,t=`api`){this.deps.beginRowOrderVisualCapture?.();let n=this.rowMoveService.moveRows(e,t);return n.moved&&this.afterRowOrderChanged(),n}async moveRow(e,t=`api`){if(!(t===`api`&&this.deps.asyncRowMutation?.move))return this.moveRowSync(e,t);this.deps.beginRowOrderVisualCapture?.();let n=this.rowMoveService.moveRow({...e,deferCommit:!0},t);if(!n.moved||!n.commitPlan)return n;let r=n.moves??n.commitPlan.moves;await this.withAsyncMutationLoading([e.rowId],()=>hx({rowIds:[e.rowId],leaderRowId:e.rowId,toIndex:e.toIndex,indexMode:e.indexMode,moves:r,source:t},{handlers:this.deps.asyncRowMutation,getRowById:e=>this.deps.rowModel.getRowById(e)})),this.rowMoveService.commitPlan(n.commitPlan),this.afterRowOrderChanged();let{commitPlan:i,...a}=n;return a}async moveRows(e,t=`api`){if(!(t===`api`&&this.deps.asyncRowMutation?.move))return this.moveRowsSync(e,t);this.deps.beginRowOrderVisualCapture?.();let n=this.rowMoveService.moveRows({...e,deferCommit:!0},t);if(!n.moved||!n.commitPlan)return n;let r=n.moves??n.commitPlan.moves;await this.withAsyncMutationLoading(e.rowIds,()=>hx({rowIds:e.rowIds,leaderRowId:e.leaderRowId,toIndex:e.toIndex,indexMode:e.indexMode,moves:r,source:t},{handlers:this.deps.asyncRowMutation,getRowById:e=>this.deps.rowModel.getRowById(e)})),this.rowMoveService.commitPlan(n.commitPlan),this.afterRowOrderChanged();let{commitPlan:i,...a}=n;return a}finishRowMove(e,t=`uiRowDrag`){this.finishRowMoves([e],t)}finishRowMoves(e,t=`uiRowDrag`,n){let r=this.deps.rowModel.getSourceRows();for(let i of e){let e=r.findIndex(e=>e.id===i);if(e<0)continue;let a=n?.startSourceIndices?.get(i)??e,o=n?.resolveTreeDrop?.(i),s=o?.siblingIndex!==void 0&&o.treeLevel!==void 0?{parentRowId:o.parentRowId??null,siblingIndex:o.siblingIndex,treeLevel:o.treeLevel}:J(r,i)??void 0;if(!zb({fromIndex:a,toIndex:e,startTreePosition:n?.startTreePositions?.get(i),currentTreePosition:s}))continue;let c=n?.displayIndex!==void 0||o?{displayIndex:n?.displayIndex,...o}:void 0;this.deps.eventBus.emit(`rowMoved`,ja(i,a,e,t,!0,c))}}applyRowDragPlan(e,t=`uiRowDrag`){this.deps.beginRowOrderVisualCapture?.(),this.deps.rowModel.setSourceRows([...e.rows]),this.afterRowOrderChanged();for(let n of e.moves)this.deps.eventBus.emit(`rowMoved`,ja(n.rowId,n.fromIndex,n.toIndex,t,!0,md(e.rows,n.rowId,e.treeDrop?.displayIndex)??e.treeDrop))}afterRowOrderChanged(){this.deps.viewport.syncViewportHeight(),this.deps.refreshCellSpans(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),this.deps.reconcileRowPoolAfterDisplayChange(),this.deps.viewport.redrawImmediately(),this.deps.selectionOps.refreshSelectionAfterDataChange(),this.deps.finishRowOrderVisualSync?.(),this.deps.refreshFooter()}getData(e){let n=e?.sourceOrder===!1?this.deps.rowModel.rowsToDisplay:this.deps.rowModel.getSourceRows();return t.M(n,this.deps.rowModel.getRowKey())}promoteRowId(e){let n=t.m(e.rowId),{businessId:r}=e;if(this.deps.isEditingTargetRow(n))return{ok:!1,reason:`Row is being edited`};let i=this.deps.rowModel.promoteRowId(n,r);if(!i.ok)return i;this.finalizePromoteRowId(n,i.rowId,r);let a=this.deps.rowModel.getRowById(i.rowId);return a&&this.deps.eventBus.emit(`rowIdPromoted`,AO(n,a,this.deps.rowModel.getRowKey())),{ok:!0,rowId:t.D(i.rowId,{rowKey:this.deps.rowModel.getRowKey(),getRowById:e=>this.deps.rowModel.resolveRowById(e)})}}beginUpdate(){this.deps.changeDetection.beginDeferred()}endUpdate(){this.deps.changeDetection.endDeferred(()=>{this.flushPendingTransaction()})}createRowIndexContext(){return ed({sourceRows:this.deps.rowModel.getSourceRows(),displayRows:this.deps.rowModel.rowsToDisplay,sortModelLength:this.deps.rowModel.getSortModel().length,filterModelKeyCount:Object.keys(this.deps.rowModel.getFilterModel()).length})}requireGroupInsertDeps(e){if(!this.deps.isRowGroupingActive?.())throw Error(`${e} requires rowGrouping to be enabled`);let t=this.deps.getGroupInsertDeps?.();if(!t)throw Error(`${e} requires rowGrouping to be enabled`);return t}expandTargetGroups(e){e.length!==0&&this.deps.expandGroups?.(e)}prepareRemoveRows(e){this.deps.cellEditing.cancelEditingForRemovedRows(e),this.deps.cellEditing.clearRowValidation({rowIds:[...e]})}finalizeRemoveRows(e){let t=this.deps.cellFocusService.getFocusedCell();t&&e.has(t.rowId)&&(this.deps.cellFocusService.clear(),this.deps.applyFocusVisuals()),this.deps.selectionOps.onRowsRemoved(e)}finalizePromoteRowId(e,t,n){this.deps.rowRenderer.migrateRowId(e,t),this.deps.validationFeedback.migrateRowId(e,t,this.deps.mountEl),this.deps.migrateCellEditorCacheOnPromoteRowId(e,n);let r=this.deps.cellFocusService.getFocusedCell();r?.rowId===e&&(this.deps.cellFocusService.setFocusedCell({...r,rowId:t}),this.deps.applyFocusVisuals()),this.deps.selectionOps.finalizePromoteRowId(e,t);let i=this.deps.rowModel.getSortModel().length>0||this.deps.filterOps.isAnyFilterActive();if(this.deps.refreshCellSpans(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),i){this.deps.reconcileRowPoolAfterDisplayChange(),this.deps.viewport.redrawImmediately();return}this.deps.rowRenderer.refreshRows({rowIds:[t],newData:!0}),this.deps.frameService.flushAllFrames()}queueTransactionFlush(e){this.pendingTransaction||={add:[],remove:[],update:[]},this.pendingTransaction.add.push(...e.add),this.pendingTransaction.remove.push(...e.remove),this.pendingTransaction.update.push(...e.update),this.deps.changeDetection.isDeferred()||this.flushPendingTransaction()}flushPendingTransaction(){if(!this.pendingTransaction)return;let e=this.pendingTransaction;this.pendingTransaction=null,this.flushAfterTransaction(e)}flushAfterTransaction(e){let t=this.deps.rowDataChangeTracker.peekPendingColIdsByRow(this.deps.resolveColIdByField),n=e.remove.length>0?e.remove.map(e=>e.id):[];n.length>0&&(this.deps.clearCellEditorCacheForRemovedRows(n),this.deps.clearCellStyleOverridesForRemovedRows(n),this.deps.rowRenderer.releaseRows(n)),this.emitRowMutationEvents(e),this.flushRowDataChangedEvents();let r=e.add.length>0||e.remove.length>0||this.deps.rowModel.getSortModel().length>0||this.deps.filterOps.isAnyFilterActive();if(this.deps.refreshCellSpans(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),e.update.length>0&&this.deps.isCellSpanActive())this.pendingUpdateRefreshNewData=!1,this.deps.rowRenderer.invalidate(),this.deps.viewport.redrawImmediately();else if(r)this.pendingUpdateRefreshNewData=!1,this.deps.rowRenderer.resetRowRenderWindowCache(),this.deps.viewport.redrawImmediately();else if(e.update.length>0){let t=this.pendingUpdateRefreshNewData;this.pendingUpdateRefreshNewData=!1,this.deps.rowRenderer.refreshRows({rowIds:e.update.map(e=>e.id),newData:t||void 0}),this.deps.frameService.flushAllFrames()}else this.pendingUpdateRefreshNewData=!1;e.add.length>0&&this.scrollAddedRowsIntoView(e.add),this.deps.selectionOps.refreshSelectionAfterDataChange(),this.deps.refreshFooter(),this.deps.refreshOverlay?.(),t.size>0&&this.deps.cellEditing.schedulePersistedValidationRefreshForRows(t)}scrollAddedRowsIntoView(e){let t=e[0];if(!t)return;let n=this.deps.rowModel.getRowIndexById(t.id);n<0||this.deps.ensureIndexVisible(n,`middle`)}flushRowDataChangedEvents(){this.deps.rowDataChangeTracker.flush({eventBus:this.deps.eventBus,buildRowSnapshot:this.deps.buildRowSnapshot,resolveColIdByField:this.deps.resolveColIdByField})}recordMutationChannelChanges(e){if(!e.update?.length)return;let t=this.deps.rowKey;for(let n of e.update){let e,r;if(ru(n))r=this.deps.rowModel.getRowById(n.rowId),e=n.data;else{e=n;let i=e[t];r=i==null?this.deps.rowModel.getSourceRows().find(t=>t.data===e):this.deps.rowModel.getRowById(String(i))}if(!(!r||r.data===e))for(let t of Object.keys(e)){let n=r.data[t],i=e[t];Object.is(n,i)||this.deps.rowDataChangeTracker.record({rowNode:r,field:t,colId:this.deps.resolveColIdByField?.(t),oldValue:n,newValue:i,source:`api`})}}}emitRowMutationEvents(e){let t=this.deps.rowModel.getRowKey();e.add.length>0&&this.deps.eventBus.emit(`rowsAdded`,OO(e.add,t,e=>this.deps.rowModel.getSourceRowIndexById(e))),e.remove.length>0&&this.deps.eventBus.emit(`rowsRemoved`,kO(e.remove,t))}async withAsyncMutationLoading(e,t){let n=this.deps.setAsyncMutationLoading;if(!n||e.length===0)return t();n(e,!0);try{return await t()}finally{n(e,!1)}}collectAsyncMutationLoadingRowIds(e){let t=this.deps.asyncRowMutation;if(!t)return[];let n=new Set;if(t.remove&&e.remove?.length)for(let t of DO(e))n.add(t);if(t.update&&e.update?.length)for(let t of e.update){if(ru(t)){let e=this.deps.rowModel.getRowById(t.rowId);e&&n.add(e.id);continue}let e=t[this.deps.rowKey];if(e==null)continue;let r=this.deps.rowModel.getRowById(String(e));r&&n.add(r.id)}return[...n]}};function MO(e){return e==null||e===``||typeof e==`string`&&e.trim()===``}function NO(e){if(typeof e==`number`)return Number.isFinite(e)?e:null;if(typeof e==`string`){let t=e.trim();if(t===``)return null;let n=Number(t);return Number.isFinite(n)?n:null}return null}var PO={count:0,numericCount:0,sum:null,average:null};function FO(e){let{ranges:t,displayedColIds:n,rowKindAt:r,getCellValue:i,normalizePosition:a=(e,t)=>({rowIndex:e,colId:t})}=e;if(t.length===0)return{...PO};let o=new Set,s=0,c=0,l=0;for(let e of t){let t=G(e,n);t&&IO(t,n,(e,t)=>{if(!ys(t,r(e)))return;let n=a(e,t),u=`${n.rowIndex}:${n.colId}`;if(o.has(u))return;o.add(u);let d=i(n.rowIndex,n.colId);if(MO(d))return;s+=1;let f=NO(d);f!=null&&(c+=1,l+=f)})}return{count:s,numericCount:c,sum:c>0?l:null,average:c>0?l/c:null}}function IO(e,t,n){let r=t.indexOf(e.leftColId),i=t.indexOf(e.rightColId);if(!(r<0||i<0))for(let a=e.top;a<=e.bottom;a++)for(let e=r;e<=i;e++)n(a,t[e])}var LO=[`left`,`center`,`right`];function RO(e,t){let n=LO.filter(t=>e.includes(t)),r=n.indexOf(t);return r<0?{top:!0,right:!0,bottom:!0,left:!0}:{top:!0,bottom:!0,left:r===0,right:r===n.length-1}}function zO(e){return{top:e.top,height:e.height}}function BO(e){return e.fixed??`center`}function VO(e,t,n,r,i=0){let a=t.indexOf(e.leftColId),o=t.indexOf(e.rightColId);if(a<0||o<0)return null;let s=Math.min(a,o),c=Math.max(a,o),l=null,u=null;for(let e=s;e<=c;e++){let i=t[e];if(!i)continue;let a=n.find(e=>e.colId===i);!a||a.hidden||BO(a)===r&&(l||=a,u=a)}return!l||!u?null:{left:l.left-i,width:u.left+u.width-l.left}}function HO(e,t){return e===`right`?t.getLeftFixedWidth()+t.getCenterTotalWidth():0}function UO(e,t){if(t<=0)return null;let n=e.top+e.height,r=Math.max(0,e.top),i=Math.min(t,n)-r;return i<=0?null:{top:r,height:i,lanes:e.lanes}}function WO(e,t,n,r,i,a){let{topRowIndex:o,bottomRowIndex:s}=iv(e,t,a??{rowModel:r,columnModel:n,cellSpanService:null}),c=r.getRow(o),l=r.getRow(s);if(!c||!l)return null;let u=n.getColumns(),d={};for(let r of[`left`,`center`,`right`]){let i=VO(e,t,u,r,HO(r,n));i&&(d[r]=i)}if(Object.keys(d).length===0)return null;let f=c.rowTop,p=l.rowTop+l.rowHeight-c.rowTop,m={top:i.compressedScroll?f-i.scrollTop:f,height:p,lanes:d};return!i.compressedScroll||i.viewportHeight==null?m:UO(m,i.viewportHeight)}function GO(e,t){let n=new Set;for(let r of e){let e=t.indexOf(r.leftColId),i=t.indexOf(r.rightColId);if(e<0||i<0)continue;let a=Math.min(e,i),o=Math.max(e,i);for(let e=a;e<=o;e++){let r=t[e];r&&n.add(r)}}return n}function KO(e){let t=new Set;for(let n of e)for(let e=n.top;e<=n.bottom;e+=1)t.add(e);return t}function qO(e,t){if(t<=0)return{rect:{...e,left:0,width:0},clippedLeft:!0,clippedRight:!0};let n=e.left,r=e.width,i=!1,a=!1;n<0&&(r+=n,n=0,i=!0);let o=n+r-t;return o>0&&(r-=o,a=!0),r<=0?{rect:{...e,left:n,width:0},clippedLeft:i,clippedRight:a}:{rect:{...e,left:n,width:r},clippedLeft:i,clippedRight:a}}function JO(e,t,n){if(n<=0)return{rect:{...e,left:0,width:0},clippedLeft:!0,clippedRight:!0};let r=t,i=t+n;e.left+e.width;let a=e.left,o=e.width,s=!1,c=!1;return a<r&&(o-=r-a,a=r,s=!0),a+o>i&&(o-=a+o-i,c=!0),o<=0?{rect:{...e,left:a,width:0},clippedLeft:s,clippedRight:c}:{rect:{...e,left:a,width:o},clippedLeft:s,clippedRight:c}}function YO(e,t){return{top:e.top,bottom:e.bottom,left:e.left&&!t.clippedLeft,right:e.right&&!t.clippedRight}}function XO(e,t,n){return h_(e,t,n)}function ZO(e){return e===`right`}function QO(e,t,n,r,i,a){let o=a??WO(e,t,n,r,i);if(!o)return null;let s=e.rightColId,c=n.getColumnById(s);if(!c||c.hidden)return null;let l=BO(c),u=o.lanes[l];if(!u)return null;let d=u.left+u.width-6/2,{top:f,height:p}=zO(o);return{lane:l,left:d,top:f+p-6/2}}var $O=class{deps;overlayEl=null;overlayLanes=null;pasteFlashOverlayEl=null;pasteFlashLanes=null;pasteFlashCleanupTimer=null;fillHandleEl=null;rangeHandleEl=null;normalizedRanges=[];anchor=null;displayedColIds=[];constructor(e){this.deps=e}refresh(e){this.displayedColIds=e.displayedColIds,this.anchor=e.anchor,this.normalizedRanges=e.ranges.map(t=>G(t,e.displayedColIds)).filter(e=>e!=null),this.syncRangeSelectionVisuals(),this.syncHeaderHighlight(),this.syncIndexColumnHighlight()}clear(){this.normalizedRanges=[],this.anchor=null,this.displayedColIds=[],this.syncRangeSelectionVisuals(),this.syncHeaderHighlight(),this.syncIndexColumnHighlight()}syncRangeSelectionVisuals(){if(!this.deps.isCellSelectionVisualEnabled?.()){this.deps.rowRenderer.setCellRangeVisualState(null,null),this.clearBorderOverlays(),this.clearSelectionHandles();return}this.syncCellClasses(),this.syncBorderOverlays(),this.syncSelectionHandle()}syncCellClasses(){let e=this.displayedColIds,t=this.normalizedRanges,n=this.anchor;if(t.length===0){this.deps.rowRenderer.setCellRangeVisualState(null,null);return}this.deps.rowRenderer.setCellRangeVisualState((n,r)=>t.some(t=>ks(n,r,t,e)),n)}ensureOverlay(){if(this.overlayEl&&this.overlayLanes)return this.overlayLanes;this.deps.mountEl.querySelectorAll(`.${ts}`).forEach(e=>{e.remove()});let e=document.createElement(`div`);e.className=ts;let t=t=>{let n=document.createElement(`div`);return n.className=`mg-cell-range-overlay__lane mg-cell-range-overlay__lane--${t}`,e.appendChild(n),n},n={left:t(`left`),center:t(`center`),right:t(`right`)};return this.deps.rowsLayerEl.appendChild(e),this.overlayEl=e,this.overlayLanes=n,n}resolveBandOptions(){let e=this.deps.isCompressedScroll();return{scrollTop:this.deps.getScrollTop(),scrollLeft:this.deps.getScrollLeft(),compressedScroll:e,viewportHeight:e?this.deps.getViewportHeight():void 0}}findCellElement(e,t){let n=this.deps.rowModel.getRow(e);if(!n)return null;let r=ek(n.id),i=ek(t),a=this.deps.mountEl.querySelector(`.mg-row[data-row-id="${r}"] .mg-cell[data-col-id="${i}"]`);return a instanceof HTMLElement?a:null}syncOverlayLaneLayoutFor(e,t){let{leftFixedWidth:n,centerTotalWidth:r,rightFixedWidth:i}=t;e.left.style.width=`${n}px`,e.center.style.width=`${r}px`,e.right.style.width=`${i}px`,e.center.style.position=`relative`,e.center.style.left=``,e.center.style.transform=``}resolveOverlayLaneLayoutParams(){return{leftFixedWidth:this.deps.columnModel.getLeftFixedWidth(),centerTotalWidth:this.deps.columnModel.getCenterTotalWidth(),rightFixedWidth:this.deps.columnModel.getRightFixedWidth()}}syncOverlayRootWidth(e){let t=this.deps.columnModel.getTotalWidth();e.style.left=`0`,e.style.right=`auto`,e.style.width=`${t}px`,e.style.minWidth=`${t}px`}syncOverlayLaneLayout(e){let t=this.overlayLanes;t&&(this.overlayEl&&this.syncOverlayRootWidth(this.overlayEl),this.syncOverlayLaneLayoutFor(t,e))}findRowLaneElement(e,t){let n=this.deps.rowModel.getRow(e);if(!n)return null;let r=this.deps.mountEl.querySelector(`.mg-row[data-row-id="${ek(n.id)}"]`);if(!(r instanceof HTMLElement))return null;let i=r.querySelector(`.mg-row__lane--${t}`);return i instanceof HTMLElement?i:null}resolveLaneContentRectForRange(e,t){return VO(e,this.displayedColIds,this.deps.columnModel.getColumns(),t,HO(t,this.deps.columnModel))}resolveRangeBand(e,t){let n={rowModel:this.deps.rowModel,columnModel:this.deps.columnModel,cellSpanService:this.deps.getCellSpanService?.()??null};return{band:WO(e,this.displayedColIds,this.deps.columnModel,this.deps.rowModel,t,n),domMeasuredLanes:new Set}}syncBorderOverlays(){if(this.normalizedRanges.length===0){this.clearBorderOverlays();return}let e=this.ensureOverlay(),t=this.resolveBandOptions(),{scrollLeft:n}=t,r=this.deps.columnModel.getLeftFixedWidth(),i=this.deps.columnModel.getCenterTotalWidth(),a=this.deps.columnModel.getRightFixedWidth(),o=this.deps.getViewportWidth(),s=XO(o,r,a),c=o>0&&s>0&&s<i;e.left.replaceChildren(),e.center.replaceChildren(),e.right.replaceChildren(),this.syncOverlayLaneLayout({leftFixedWidth:r,centerTotalWidth:i,rightFixedWidth:a}),e.center.offsetWidth,e.right.offsetWidth;for(let r of this.normalizedRanges){let{band:o}=this.resolveRangeBand(r,t);if(!o)continue;let l=[`left`,`center`,`right`].filter(e=>this.resolveLaneContentRectForRange(r,e)!=null);for(let t of l){let u=this.resolveLaneContentRectForRange(r,t),d=u,f;if(f=t===`center`&&c?JO(u,m_(n,i,s),s):t===`center`||t===`right`?qO(d,t===`center`?i:a):{rect:d,clippedLeft:!1,clippedRight:!1},f.rect.width<=0)continue;let p=YO(RO(l,t),f);t===`center`&&!l.includes(`left`)&&f.clippedLeft&&(p={...p,left:!1});let{top:m,height:h}=zO(o);if(t===`center`){this.appendSegmentedBorder(e[t],p,m,h,f.rect.left,f.rect.width);continue}ZO(t)?this.appendSegmentedBorder(e[t],p,m,h,f.rect.left,f.rect.width):this.appendEnvelopeBorder(e[t],p,m,h,f.rect.left,f.rect.width)}}this.ensureOverlayOnTop()}ensureOverlayOnTop(){this.overlayEl?.parentElement===this.deps.rowsLayerEl&&this.deps.rowsLayerEl.appendChild(this.overlayEl)}appendEnvelopeBorder(e,t,n,r,i,a){let o=document.createElement(`div`);o.className=Jo,t.top&&o.classList.add(Yo),t.right&&o.classList.add(Xo),t.bottom&&o.classList.add(Zo),t.left&&o.classList.add(Qo),o.style.top=`${n}px`,o.style.height=`${r}px`,o.style.left=`${i}px`,o.style.width=`${a}px`,e.appendChild(o)}appendSegmentedBorder(e,t,n,r,i,a){let o=(t,n)=>{let r=document.createElement(`div`);r.className=`${Jo} ${t}`;for(let[e,t]of Object.entries(n))r.style.setProperty(e,t);e.appendChild(r)};t.top&&o($o,{top:`${n}px`,left:`${i}px`,width:`${a}px`,height:`2px`}),t.bottom&&o($o,{top:`${n+r-2}px`,left:`${i}px`,width:`${a}px`,height:`2px`}),t.left&&o(es,{top:`${n}px`,left:`${i}px`,width:`2px`,height:`${r}px`}),t.right&&o(es,{top:`${n}px`,left:`${i+a-2}px`,width:`2px`,height:`${r}px`})}playCopyFlash(){if(this.normalizedRanges.length===0)return;this.deps.rowRenderer.playCellRangeCopyFlash(),this.ensureOverlay();let e=this.overlayEl;if(!e)return;e.classList.remove(rs),e.offsetWidth,e.classList.add(rs);let t=()=>{e.classList.remove(rs),e.removeEventListener(`animationend`,t)};e.addEventListener(`animationend`,t)}playPasteFlash(e){e.length!==0&&(this.deps.rowRenderer.playCellRangePasteFlash(e),this.playPasteTargetOverlayFlash(e))}measurePasteTargetCellOverlayRect(e,t,n){let r=this.findCellElement(e,t);if(!r)return null;let i=this.deps.columnModel.getColumnById(t);if(!i)return null;let a=i.fixed??`center`,o=n[a],s=r.getBoundingClientRect(),c=o.getBoundingClientRect(),l=s.top-c.top,u=s.left-c.left,d=s.width,f=s.height;return d<=0||f<=0?null:{lane:a,top:l,left:u,width:d,height:f}}playPasteTargetOverlayFlash(e){this.clearPasteFlashOverlay();let t=this.ensurePasteFlashOverlay();this.syncPasteFlashOverlayLayout();let n=[];for(let r of e){let e=this.measurePasteTargetCellOverlayRect(r.rowIndex,r.colId,t);if(!e)continue;let i=document.createElement(`div`);i.className=`${os} ${r.applied?ss:cs}`,i.style.top=`${e.top}px`,i.style.left=`${e.left}px`,i.style.width=`${e.width}px`,i.style.height=`${e.height}px`,t[e.lane].appendChild(i),n.push(i)}n.length!==0&&(this.pasteFlashCleanupTimer=window.setTimeout(()=>{this.pasteFlashCleanupTimer=null;for(let e of n)e.remove()},520))}syncOverlayPosition(){if(this.normalizedRanges.length===0){this.syncPasteFlashOverlayLayout();return}this.syncBorderOverlays(),this.syncSelectionHandle(),this.syncPasteFlashOverlayLayout()}clearPasteFlashOverlay(){this.pasteFlashCleanupTimer!=null&&(window.clearTimeout(this.pasteFlashCleanupTimer),this.pasteFlashCleanupTimer=null),this.pasteFlashLanes?.left.replaceChildren(),this.pasteFlashLanes?.center.replaceChildren(),this.pasteFlashLanes?.right.replaceChildren()}ensurePasteFlashOverlay(){if(this.pasteFlashOverlayEl&&this.pasteFlashLanes)return this.pasteFlashLanes;let e=document.createElement(`div`);e.className=ls;let t=t=>{let n=document.createElement(`div`);return n.className=`mg-cell-range-overlay__lane mg-cell-range-overlay__lane--${t}`,e.appendChild(n),n},n={left:t(`left`),center:t(`center`),right:t(`right`)};return this.deps.rowsLayerEl.appendChild(e),this.pasteFlashOverlayEl=e,this.pasteFlashLanes=n,n}syncPasteFlashOverlayLayout(){let e=this.pasteFlashLanes;e&&(e.left.childElementCount>0||e.center.childElementCount>0||e.right.childElementCount>0)&&(this.syncOverlayLaneLayoutFor(e,this.resolveOverlayLaneLayoutParams()),this.pasteFlashOverlayEl&&this.syncOverlayRootWidth(this.pasteFlashOverlayEl),this.pasteFlashOverlayEl?.parentElement===this.deps.rowsLayerEl&&this.deps.rowsLayerEl.appendChild(this.pasteFlashOverlayEl))}clearBorderOverlays(){this.overlayLanes?.left.replaceChildren(),this.overlayLanes?.center.replaceChildren(),this.overlayLanes?.right.replaceChildren()}ensureFillHandle(){if(this.fillHandleEl)return this.fillHandleEl;let e=document.createElement(`div`);return e.className=us,e.style.width=`6px`,e.style.height=`6px`,this.fillHandleEl=e,e}clearSelectionHandles(){this.fillHandleEl?.remove(),this.fillHandleEl=null,this.rangeHandleEl?.remove(),this.rangeHandleEl=null}syncSelectionHandle(){let e=this.deps.getCellSelectionOptions?.();if(!e||this.normalizedRanges.length!==1){this.clearSelectionHandles();return}let t=this.normalizedRanges[0],n=this.resolveBandOptions(),{band:r}=this.resolveRangeBand(t,n),i=QO(t,this.displayedColIds,this.deps.columnModel,this.deps.rowModel,{...n,viewportWidth:this.deps.getViewportWidth()},null);if(!i){this.clearSelectionHandles();return}if(Ss(e)){this.rangeHandleEl?.remove(),this.rangeHandleEl=null,this.mountHandle(this.ensureFillHandle(),i);return}if(Cs(e)){this.fillHandleEl?.remove(),this.fillHandleEl=null,this.mountHandle(this.ensureRangeHandle(),i);return}this.clearSelectionHandles()}mountHandle(e,t){let n=this.ensureOverlay()[t.lane],r=t.lane===`left`?this.deps.columnModel.getLeftFixedWidth():t.lane===`center`?this.deps.columnModel.getCenterTotalWidth():this.deps.columnModel.getRightFixedWidth(),i=Math.max(0,r-6),a=Math.min(Math.max(t.left,0),i);if(r<=0){e.remove();return}e.parentElement!==n&&(e.remove(),n.appendChild(e)),e.style.left=`${a}px`,e.style.top=`${t.top}px`}ensureRangeHandle(){if(this.rangeHandleEl)return this.rangeHandleEl;let e=document.createElement(`div`);return e.className=ds,e.style.width=`6px`,e.style.height=`6px`,this.rangeHandleEl=e,e}syncHeaderHighlight(){let e=this.deps.isHeaderHighlightEnabled()?GO(this.normalizedRanges,this.displayedColIds):new Set;this.deps.mountEl.querySelectorAll(`.mg-header-cell[data-col-id]`).forEach(t=>{if(!(t instanceof HTMLElement))return;let n=t.dataset.colId;t.classList.toggle(fs,n!=null&&e.has(n))})}syncIndexColumnHighlight(){if(!this.deps.isIndexColumnHighlightEnabled()){this.deps.rowRenderer.setIndexColumnHighlight(null);return}let e=Is({rangeRowIndices:KO(this.normalizedRanges),indexFocusedRowIds:this.deps.getIndexFocusedRowIds?.()??[],selectedRowIds:this.deps.getSelectedRowIds?.()??[],rowIndexById:e=>this.deps.rowModel.getRowIndexById(e)});this.deps.rowRenderer.setIndexColumnHighlight(t=>e.has(t))}destroy(){this.clear(),this.clearPasteFlashOverlay(),this.overlayEl?.remove(),this.overlayEl=null,this.overlayLanes=null,this.pasteFlashOverlayEl?.remove(),this.pasteFlashOverlayEl=null,this.pasteFlashLanes=null,this.fillHandleEl=null,this.rangeHandleEl=null}};function ek(e){return typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function tk(e){return{startRowIndex:e.startRowIndex,endRowIndex:e.endRowIndex,startColId:e.startColId,endColId:e.endColId}}function nk(e){return{rowIndex:e.rowIndex,colId:e.colId}}function rk(e,t){return e.length===t.length&&e.every((e,n)=>As(e,t[n]))}function ik(e,t){let n=t.expandRangeForCellSpans?.(e)??e,r=G(n,t.displayedColIds);return!r||t.rowKindAt&&!js(n,t.rowKindAt)?null:Os(r)}function ak(e,t){let n=[];for(let r of e){let e=ik(r,t);e&&n.push(e)}return n}function ok(e,t,n){for(let r=0;r<t.length;r++){let i=G(t[r],n);if(i&&ks(e.rowIndex,e.colId,i,n))return r}return-1}var sk=class{suppressMultiRanges;ranges=[];anchor=null;constructor(e=!0){this.suppressMultiRanges=e}getRanges(){return this.ranges.map(tk)}getAnchor(){return this.anchor?nk(this.anchor):null}hasRanges(){return this.ranges.length>0}isSuppressMultiRanges(){return this.suppressMultiRanges}setSuppressMultiRanges(e){this.suppressMultiRanges=e,e&&this.ranges.length>1&&(this.ranges=this.ranges.slice(0,1))}setAnchor(e){this.anchor=e?nk(e):null}clear(){return this.ranges.length===0&&this.anchor===null?!1:(this.ranges=[],this.anchor=null,!0)}setRanges(e,t,n){let r=ak(e,t);this.suppressMultiRanges&&r.length>1&&(r=r.slice(0,1));let i=!rk(this.ranges,r);return!i&&n==null?!1:(this.ranges=r,n===null?this.anchor=null:n===void 0?r.length===0&&(this.anchor=null):this.anchor=nk(n),i||n!==void 0)}addRange(e,t,n){let r=ik(e,t);return r?this.suppressMultiRanges?this.setRanges([r],t,n??this.anchor):!this.ranges.some(e=>As(e,r))&&(this.ranges=[...this.ranges,r],n&&(this.anchor=nk(n)),!0):!1}extendFromAnchor(e,t){if(!this.anchor)return!1;let n=ik(Es(this.anchor,e),t);if(!n)return!1;let r=ok(this.anchor,this.ranges,t.displayedColIds);if(r>=0){let e=[...this.ranges];return e[r]=n,this.setRanges(e,t,this.anchor)}return this.setRanges([n],t,this.anchor)}extendFocusedRange(e,t,n){if(this.anchor)return this.extendFromAnchor(t,n);let r=ik(Es(e,t),n);if(!r)return!1;let i=ok(e,this.ranges,n.displayedColIds);if(i>=0){let t=[...this.ranges];return t[i]=r,this.setRanges(t,n,e)}return this.ranges.length===0||this.suppressMultiRanges?this.setRanges([r],n,e):this.addRange(r,n,e)}isCellInAnyRange(e,t,n){return ok({rowIndex:e,colId:t},this.ranges,n)>=0}},ck=class{deps;cellSelectionGridOptions;cellSelectionOptions;cellRangeVisualGridOptions;cellRangeVisualOptions;cellClipboardGridOptions;cellRangeService;cellRangeVisualController;rowOrderRangeIndexSnapshot=null;constructor(e,t){this.deps=e,this.cellSelectionGridOptions={cellSelection:t.cellSelection,enableCellCopy:t.enableCellCopy,enableCellPaste:t.enableCellPaste},this.cellSelectionOptions=Ts(this.cellSelectionGridOptions),this.cellRangeVisualGridOptions={enableHeaderHighlight:t.enableHeaderHighlight,enableIndexColumnHighlight:t.enableIndexColumnHighlight},this.cellRangeVisualOptions=ws(this.cellRangeVisualGridOptions),this.cellClipboardGridOptions={processCellForClipboard:t.processCellForClipboard,processCellFromClipboard:t.processCellFromClipboard,processDataFromClipboard:t.processDataFromClipboard},this.cellRangeService=new sk(this.cellSelectionOptions.suppressMultiRanges),this.cellRangeVisualController=this.createCellRangeVisualController()}getCellRangeService(){return this.cellRangeService}getCellSelectionOptions(){return this.cellSelectionOptions}getCellClipboardOptions(){return this.cellClipboardGridOptions}isCellSelectionEnabled(){return this.cellSelectionOptions.enabled}clearCellSelectionOnStructuralChange(){this.cellRangeService.hasRanges()&&this.clearCellSelection()}getCellRanges(){return[...this.cellRangeService.getRanges()]}getCellSelectionAggregation(){if(!this.cellSelectionOptions.enabled||!this.cellRangeService.hasRanges())return null;let e=this.getCellRangeOperationContext(),t=FO({ranges:this.cellRangeService.getRanges(),displayedColIds:e.displayedColIds,rowKindAt:e.rowKindAt??(()=>void 0),getCellValue:(e,t)=>{let n=this.deps.rowModel.getRow(e),r=this.deps.columnModel.getColumnById(t);if(!(!n||!r))return W(n,r)},normalizePosition:(e,t)=>{let n=this.deps.rowModel.getRow(e);if(!n)return{rowIndex:e,colId:t};let r=bE(this.deps.rowModel,this.deps.columnModel,this.deps.cellSpanService,{rowId:n.id,rowIndex:e,colId:t});return{rowIndex:r.rowIndex,colId:r.colId}}});return t.count>0?t:null}clearCellSelection(){this.cellRangeService.clear()&&(this.applyCellRangeVisuals(),this.emitCellSelectionChanged(`api`))}addCellRange(e){if(!this.cellSelectionOptions.enabled){Ls(e,`cellSelection is disabled`);return}let t=this.getCellRangeOperationContext(),n=t.rowKindAt??(()=>void 0);if(!G(e,t.displayedColIds)){Ls(e,`column ids not in displayed columns`);return}if(!js(e,n)){Ls(e,`range includes ineligible cells`);return}this.cellRangeService.addRange(e,t)&&(this.applyCellRangeVisuals(),this.emitCellSelectionChanged(`api`))}copySelectedRangeToClipboard(){return this.deps.getCellClipboardService()?.copySelectedRanges()??!1}async pasteFromClipboard(){await this.deps.getCellClipboardService()?.pasteFromClipboard()}updateCellRangeVisualOptions(e){this.cellRangeVisualGridOptions={...this.cellRangeVisualGridOptions,...e},this.cellRangeVisualOptions=ws(this.cellRangeVisualGridOptions),this.applyCellRangeVisuals()}updateCellSelectionOptions(e){let t=this.cellSelectionOptions.enabled,n=t?[...this.getCellRanges()]:[];this.cellSelectionGridOptions={...this.cellSelectionGridOptions,...e},this.cellSelectionOptions=Ts(this.cellSelectionGridOptions),this.syncCellRangeSelectionRuntime(t),t&&!this.cellSelectionOptions.enabled&&n.length>0&&this.deps.eventBus.emit(`cellSelectionChanged`,{ranges:[],source:`api`})}updateCellClipboardOptions(e){this.cellClipboardGridOptions={...this.cellClipboardGridOptions,...e}}playCellRangeCopyFlash(){this.cellRangeVisualController.playCopyFlash()}playCellRangePasteFlash(e){requestAnimationFrame(()=>{this.cellRangeVisualController.playPasteFlash(e)})}getCellRangeOperationContext(){let e=this.deps.columnModel.getDisplayedColumnIdsInLaneOrder();return{displayedColIds:e,rowKindAt:e=>this.deps.rowModel.getRow(e)?.rowKind,expandRangeForCellSpans:t=>rv(t,{rowModel:this.deps.rowModel,columnModel:this.deps.columnModel,cellSpanService:this.deps.cellSpanService,displayedColIds:e})}}applyCellRangeVisuals(){let e=this.deps.columnModel.getDisplayedColumnIdsInLaneOrder(),t=this.cellRangeService.getRanges(),n=Ds({serviceRanges:t,enableHeaderHighlight:this.cellRangeVisualOptions.enableHeaderHighlight,enableIndexColumnHighlight:this.cellRangeVisualOptions.enableIndexColumnHighlight,editingRanges:this.resolveRowEditingHighlightRanges(),focus:this.resolveHighlightProjectionCell(),focusEligible:this.isHighlightProjectionCellEligible()});if(n.length===0){this.cellRangeVisualController.clear();return}let r=t.length>0?this.cellRangeService.getAnchor():this.resolveHighlightProjectionCell();this.cellRangeVisualController.refresh({ranges:n,anchor:r,displayedColIds:e})}applyCellRangeScrollVisuals(){this.cellRangeService.hasRanges()&&this.cellRangeVisualController.syncOverlayPosition()}emitCellSelectionChanged(e){this.deps.eventBus.emit(`cellSelectionChanged`,{ranges:[...this.cellRangeService.getRanges()],source:e})}async handleCellSelectionDeleteKey(){if(!this.cellSelectionOptions.enabled||!this.cellRangeService.hasRanges())return;this.deps.cellEditing.isEditing()&&await this.deps.cellEditing.stopEditing(!0);let e=[...this.cellRangeService.getRanges()];this.deps.eventBus.emit(`cellSelectionDeleteStart`,{ranges:e});let t=await this.deps.getCellRangeDeleteWriteService()?.clearRanges(e,this.getCellRangeOperationContext())??0;this.deps.eventBus.emit(`cellSelectionDeleteEnd`,{ranges:e,changedCellCount:t})}beginRowOrderVisualCapture(){this.rowOrderRangeIndexSnapshot=this.captureCellRangeRowIndexSnapshot()}finishRowOrderVisualSync(){this.remapCellFocusAfterRowOrderChanged(),this.remapCellRangeSelectionAfterRowOrderChanged(this.rowOrderRangeIndexSnapshot),this.rowOrderRangeIndexSnapshot=null,this.deps.applyIndexFocusVisuals(),this.deps.syncCellRangeFromIndexFocus(),this.deps.applyFocusVisuals(),this.applyCellRangeVisuals()}destroy(){this.cellRangeService.clear(),this.cellRangeVisualController.destroy()}createCellRangeVisualController(){return new $O({mountEl:this.deps.mountEl,rowsLayerEl:this.deps.rowsLayerEl,rowModel:this.deps.rowModel,columnModel:this.deps.columnModel,rowRenderer:this.deps.rowRenderer,getScrollTop:()=>this.deps.viewport.getLogicalScrollTop(),getScrollLeft:()=>this.deps.viewport.viewportEl.scrollLeft,getViewportWidth:()=>this.deps.viewport.viewportEl.clientWidth,isCompressedScroll:()=>this.deps.rowsLayerEl.classList.contains(`mg-rows-layer--compressed`),getViewportHeight:()=>this.deps.viewport.getRenderViewportHeight(),isHeaderHighlightEnabled:()=>this.cellRangeVisualOptions.enableHeaderHighlight,isIndexColumnHighlightEnabled:()=>this.cellRangeVisualOptions.enableIndexColumnHighlight&&this.deps.indexColumnOptions.showIndexColumn,getIndexFocusedRowIds:()=>this.deps.indexFocusService?.getFocusedRowIds()??[],getSelectedRowIds:()=>this.deps.selectionService?.getSelectedRowIds()??[],isSyncToSelectionColumnEnabled:()=>this.deps.indexColumnOptions.indexColumn.syncToSelectionColumn?GD(this.deps.indexColumnOptions.indexColumn.focusMode,this.deps.selectionColumnOptions.mode):!1,isCellSelectionVisualEnabled:()=>this.cellSelectionOptions.enabled,getCellSelectionOptions:()=>this.cellSelectionOptions,getCellSpanService:()=>this.deps.cellSpanService})}syncCellRangeSelectionRuntime(e){if(e&&!this.cellSelectionOptions.enabled){this.cellRangeService.clear(),this.applyCellRangeVisuals();return}this.cellRangeService.setSuppressMultiRanges(this.cellSelectionOptions.suppressMultiRanges),this.applyCellRangeVisuals()}resolveRowEditingHighlightRanges(){if(!this.deps.cellEditing.isEditing())return[];let e=this.deps.cellEditing.getEditingCells();if(e.length<=1)return[];let t=e[0].rowIndex,n=this.deps.rowModel.getRow(t)?.rowKind,r=this.deps.columnModel.getDisplayedColumnIdsInLaneOrder(),i=e.map(e=>e.colId).filter(e=>vs(e,n)).map(e=>r.indexOf(e)).filter(e=>e>=0).sort((e,t)=>e-t);if(i.length===0)return[];let a=r[i[0]],o=r[i[i.length-1]];return[Es({rowIndex:t,colId:a},{rowIndex:t,colId:o})]}captureCellRangeRowIndexSnapshot(){if(!this.cellRangeService.hasRanges())return null;let e=new Set;for(let t of this.cellRangeService.getRanges()){let n=Math.min(t.startRowIndex,t.endRowIndex),r=Math.max(t.startRowIndex,t.endRowIndex);for(let t=n;t<=r;t+=1)e.add(t)}let t=this.cellRangeService.getAnchor();if(t&&e.add(t.rowIndex),e.size===0)return null;let n=new Map;for(let t of e){let e=this.deps.rowModel.getRow(t);e&&n.set(t,e.id)}return n.size>0?n:null}remapCellFocusAfterRowOrderChanged(){let e=this.deps.cellFocusService.getFocusedCell();if(!e||Y(e))return;let t=this.deps.rowModel.getRowIndexById(e.rowId);if(t<0){this.deps.cellFocusService.clear();return}t!==e.rowIndex&&this.deps.cellFocusService.setFocusedCell({...e,rowIndex:t})}remapCellRangeSelectionAfterRowOrderChanged(e){if(!e||!this.cellRangeService.hasRanges())return;let t=this.getCellRangeOperationContext(),n=t=>{let n=e.get(t);if(!n)return t;let r=this.deps.rowModel.getRowIndexById(n);return r>=0?r:t},r=this.cellRangeService.getRanges().map(e=>({startRowIndex:n(e.startRowIndex),endRowIndex:n(e.endRowIndex),startColId:e.startColId,endColId:e.endColId})),i=this.cellRangeService.getAnchor(),a=i?{rowIndex:n(i.rowIndex),colId:i.colId}:null;this.cellRangeService.setRanges(r,t,a)}resolveHighlightProjectionCell(){if(this.deps.cellEditing.isEditing()){let e=this.deps.cellEditing.getEditingCell();if(e){let t=this.deps.rowModel.getRowIndexById(String(e.rowId));if(t>=0)return{rowIndex:t,colId:e.colId}}}let e=this.deps.cellFocusService.getFocusedCell();return!e||Y(e)?null:{rowIndex:e.rowIndex,colId:e.colId}}isHighlightProjectionCellEligible(){let e=this.resolveHighlightProjectionCell();if(!e)return!1;let t=this.deps.rowModel.getRow(e.rowIndex)?.rowKind;return vs(e.colId,t)}},lk=class{deps;constructor(e){this.deps=e}reconcileOrInvalidateRowPool(){if(this.deps.isCellSpanActive()){this.deps.rowRenderer.invalidate();return}this.deps.reconcileRowPoolAfterDisplayChange()}expandRow(e){return this.deps.rowExpansionOptions.masterDetail?this.deps.rowExpansionService.expandRow(t.m(e),`api`):!1}collapseRow(e){return this.deps.rowExpansionOptions.masterDetail?this.deps.rowExpansionService.collapseRow(t.m(e),`api`):!1}isRowExpanded(e){return this.deps.rowExpansionOptions.masterDetail?this.deps.rowExpansionService.isExpanded(t.m(e)):!1}setDetailRowData(e,n){return this.deps.rowExpansionOptions.masterDetail?this.deps.rowExpansionService.setDetailRowData(t.m(e),n):!1}reloadDetailRowData(e){return this.deps.rowExpansionOptions.masterDetail?this.deps.rowExpansionService.reloadDetailRowData(t.m(e)):!1}expandAll(){this.deps.treeTableService.active?this.deps.treeTableService.expandAll(`api`):this.deps.rowGroupingService.active&&this.deps.rowGroupingService.expandAll(`api`),this.deps.rowExpansionOptions.masterDetail&&this.deps.rowExpansionService.expandAll(`api`)}collapseAll(){this.deps.treeTableService.active?this.deps.treeTableService.collapseAll():this.deps.rowGroupingService.active&&this.deps.rowGroupingService.collapseAll(`api`),this.deps.rowExpansionOptions.masterDetail&&this.deps.rowExpansionService.collapseAll(`api`)}setRowGroupColumns(e){this.deps.rowGroupingOptions.rowGrouping&&(this.deps.rowGroupingService.setRowGroupColumns(e,`api`),this.deps.rowModel.refreshModel({applyDefaultExpanded:!0}))}getRowGroupColumns(){return this.deps.rowGroupingService.getRowGroupColumns()}expandGroup(e){return this.deps.rowGroupingService.active?this.deps.rowGroupingService.isExpanded(e)?!0:(this.deps.rowGroupingService.expandGroup(e,`api`),this.deps.rowGroupingService.isExpanded(e)):!1}expandGroupsInPath(e){if(this.deps.rowGroupingService.active)for(let t of e)this.expandGroup(t)}collapseGroup(e){return this.deps.rowGroupingService.active?!this.deps.rowGroupingService.isExpanded(e)||(this.deps.rowGroupingService.collapseGroup(e,`api`),!this.deps.rowGroupingService.isExpanded(e)):!1}isGroupExpanded(e){return this.deps.rowGroupingService.active?this.deps.rowGroupingService.isExpanded(e):!1}expandNode(e){if(!this.deps.treeTableService.active)return!1;let n=t.m(e);return this.deps.treeTableService.isExpanded(n)?!0:(this.deps.treeTableService.requestToggleNode(n,`api`),this.deps.treeTableService.isExpanded(n))}collapseNode(e){if(!this.deps.treeTableService.active)return!1;let n=t.m(e);return!this.deps.treeTableService.isExpanded(n)||(this.deps.treeTableService.collapseNode(n,`api`),!this.deps.treeTableService.isExpanded(n))}isNodeExpanded(e){return this.deps.treeTableService.active?this.deps.treeTableService.isExpanded(t.m(e)):!1}getDataPath(e){if(this.deps.treeTableService.active)return this.deps.treeTableService.getDataPathForRow(t.m(e))}resolveTreeHierarchyActions(e){if(!V(e))return{visible:!1};let t=this.queryTreeHierarchyAvailableActions(e.id);return!t||!t.promote&&!t.demote?{visible:!1}:{visible:!0}}resolveTreeHierarchyMenuActions(e){let t=this.queryTreeHierarchyAvailableActions(e);return t?Kb(t):[]}applyTreeHierarchyShortcut(e,t){if(!this.isTreeHierarchyActionsEnabled()||this.deps.getRowDragCommitService()?.isCommitting())return;let n=this.deps.rowModel.rowsToDisplay,r=Yb({sourceRows:this.deps.rowModel.getSourceRows(),displayRows:n,getDataPath:this.deps.treeTableOptions.getDataPath,setDataPath:this.deps.treeTableOptions.setDataPath,action:t,rowId:e});if(!r.ok)return;let{plan:i}=r;if(this.deps.asyncRowMutation?.move){let r=Hb({action:t,rowId:e,displayRows:n}),a=r?.kind===`outdent`?r.nestUnderRowId:void 0,o=J(i.rows,i.leaderRowId)??void 0;this.deps.getRowDragCommitService()?.commit({plan:i,rowIds:Jb(i),sourceColId:Ge,nestUnderRowId:a,treeContext:o});return}this.deps.applyRowDragPlan(i,`api`)}syncRowExpansionDisplay(e){if(!this.deps.rowExpansionOptions.masterDetail)return;let n=this.deps.viewport.captureScrollAnchor(),r=0,i=0;if(e?.rowId!=null){let n=t.m(e.rowId);if(e.expanded){let e=this.deps.rowModel.getDisplayRowById(n);e&&(r=e.rowTop+e.rowHeight)}else{let e=this.deps.rowModel.getDisplayRowById(F(n));e&&(r=e.rowTop,i=-e.rowHeight)}}if(this.deps.rowModel.rebuildDisplayProjection(),e?.expanded&&e.rowId!=null){let n=this.deps.rowModel.getDisplayRowById(F(t.m(e.rowId)));n&&(r=n.rowTop,i=n.rowHeight)}if(this.deps.viewport.syncViewportHeightWithDetailCompensation({anchor:n,detailRowTop:r,heightDelta:i}),this.deps.rowExpansionOptions.embedFullWidthRows){this.deps.rowRenderer.invalidate(),this.deps.viewport.redrawImmediately();return}this.deps.viewport.redrawRowExpansionIncremental()}syncRowGroupingDisplay(){this.deps.rowGroupingService.active&&(this.deps.rowModel.rebuildGroupedMapProjection(),this.deps.viewport.syncViewportHeight(),this.deps.refreshCellSpanCache(),this.reconcileOrInvalidateRowPool(),this.deps.rowRenderer.resetRowRenderWindowCache(),this.deps.viewport.redrawImmediately(),this.refreshGroupedHierarchyVisuals())}syncTreeTableDisplay(){this.deps.treeTableService.active&&(this.deps.rowModel.rebuildTreeMapProjection(),this.deps.viewport.syncViewportHeight(),this.deps.viewport.syncTreeHeaderExpandState(),this.deps.refreshCellSpanCache(),this.reconcileOrInvalidateRowPool(),this.deps.rowRenderer.resetRowRenderWindowCache(),this.deps.viewport.redrawImmediately(),this.refreshTreeHierarchyVisuals(),this.deps.selectionOps.refreshSelectionAfterDataChange())}refreshHierarchyCellVisuals(){this.deps.treeTableService.active?(this.deps.viewport.syncTreeHeaderExpandState(),this.refreshTreeHierarchyVisuals()):this.deps.rowGroupingService.active&&this.refreshGroupedHierarchyVisuals()}refreshTreeHierarchyVisuals(e){this.deps.treeTableService.active&&this.refreshHierarchyChrome([Ge,t.tt],e)}refreshGroupedHierarchyVisuals(e){this.deps.rowGroupingService.active&&this.refreshHierarchyChrome([oe,t.tt],e)}refreshHierarchyChrome(e,t){let n={force:!0,colIds:[...e]};t&&(n.rowIds=[t]),this.deps.rowRenderer.refreshRows(n)}refreshDetailRowContent(e){!this.deps.rowExpansionOptions.masterDetail||e.length===0||this.deps.rowRenderer.refreshDetailRows(e)}isTreeHierarchyActionsEnabled(){return this.deps.treeTableService.active&&this.deps.treeTableOptions.treeDragScope===`hierarchy`&&this.deps.treeTableOptions.treeHierarchyActions&&typeof this.deps.treeTableOptions.getDataPath==`function`&&typeof this.deps.treeTableOptions.setDataPath==`function`}queryTreeHierarchyAvailableActions(e){return this.isTreeHierarchyActionsEnabled()?Gb({sourceRows:this.deps.rowModel.getSourceRows(),displayRows:this.deps.rowModel.rowsToDisplay,getRowById:e=>this.deps.rowModel.getRowById(e),getDataPath:this.deps.treeTableOptions.getDataPath,setDataPath:this.deps.treeTableOptions.setDataPath,rowId:e}):null}},uk=class{deps;constructor(e){this.deps=e}refresh(){let e=this.deps.getFooterRenderer();if(!e)return;let t=this.deps.summaryOptions.summaryScope===`all`?this.deps.rowModel.getSourceRows():this.deps.rowModel.rowsToDisplay,n=dl({columns:this.deps.columnModel.getColumns(),rows:t,summaryMethod:this.deps.summaryOptions.summaryMethod});e.syncRowLayout(this.deps.columnModel),e.render({columnModel:this.deps.columnModel,centerWindow:this.deps.columnViewport.getWindow(),summaryCells:n,valueCacheVersion:this.deps.valueCache.getVersion()}),this.deps.frameService.flushAllFrames()}};function dk(e){return{rowKey:e.rowKey,displayRows:e.rowModel.rowsToDisplay,resolveRowById:t=>e.rowModel.resolveRowById(t)}}function fk(e){return{gridSize:e.gridSize,getApi:e.getApi,buildRowSnapshot:t=>Uu(t,e.getDisplayRowContext()),getIndexColumnOptions:()=>e.indexColumnOptions.showIndexColumn?e.indexColumnOptions.indexColumn:void 0}}function pk(e,t){return fk({gridSize:e.gridSize,getApi:()=>t.getApi(),getDisplayRowContext:()=>dk(e),indexColumnOptions:e.indexColumnOptions})}function mk(e,n,r){let i={};i.valueCache=new jy,i.changeDetection=new Vd,i.eventBus=new pg,i.cellFocusService=new If,i.validationFeedback=new lg,i.columnDragController=new GC,i.rowDataChangeTracker=new op,i.destroyed=!1,i.centerViewportWidth=0,i.autoSizeCellContentsPending=!1,i.suppressRowLayoutViewportSync=!1,i.preserveScrollOnSetData=n.preserveScrollOnSetData??!0,i.mountEl=e,i.scrollRenderOptions=va(n),i.cellRenderersByColId=n.cellRenderers?.byColId??{},i.cellEditorsByColId=n.cellEditors?.byColId??{},i.onUnmountRenderer=n.onUnmountRenderer,i.onUnmountEditor=n.onUnmountEditor,i.summaryOptions=st(n),i.chromeNavigationOptions=My(n),i.indexColumnOptions=t.ot(n),i.selectionColumnOptions=t.Z(n);let a=t.z(n)===`infinite`;a&&n.rowDragManaged===!0&&console.warn(`[MagicGrid] rowModelType "infinite" does not support rowDragManaged; it has been disabled.`),i.rowDragOptions=Ta({...n,rowDragManaged:!a&&n.rowDragManaged}),i.cellSpanOptions=Ja(n),i.cellEditorCacheOptions=t.s(n),i.editorOptions=t.f(n),i.cellEditorCacheService=new Au({maxEntries:i.cellEditorCacheOptions.cellEditorCacheMaxEntries}),i.rowExpansionOptions=k(n),i.gridSize=n.size??`default`,i.loadMoreRowOptionsRaw={loadMoreRowEnabled:n.loadMoreRowEnabled,loadMoreRowHeight:n.loadMoreRowHeight,loadMoreRowLoading:n.loadMoreRowLoading,loadMoreRowHasMore:n.loadMoreRowHasMore,loadMoreRowLabels:n.loadMoreRowLabels,loadMoreRowRenderer:n.loadMoreRowRenderer},i.loadMoreRowGridOptions=po(i.loadMoreRowOptionsRaw,i.gridSize);let o=rb({tree:n.tree,rowGrouping:n.rowGrouping});i.treeTableOptions=et(n),o.mode===`tree`&&at(!0,i.treeTableOptions.getDataPath),i.rowGroupingOptions=_e({...n,rowGrouping:o.mode===`group`&&n.rowGrouping}),i.rowSelectionOptions=_D(n.rowSelection),i.userColumns=[...n.columns],i.userColumns,rt(i.userColumns);let s=aa(n),c=Kg(n),l=Mu(n);i.filterGridOptions=la(n);let u=$i(n);i.columnSortOptions=u,i.showUnsortedSortHintOnHover=u.showUnsortedSortHintOnHover,i.columnModel=new $g(Un(i.userColumns,i.indexColumnOptions,i.selectionColumnOptions,{rowExpansion:i.rowExpansionOptions,rowGrouping:o.mode===`group`?i.rowGroupingOptions:void 0,treeTable:o.mode===`tree`?i.treeTableOptions:void 0}),i.cellRenderersByColId,i.cellEditorsByColId,Jp(n),s,c,u,i.filterGridOptions),i.columnViewport=new E_(i.columnModel);let d=n.rowHeight??ar;i.resolvedSummaryRowHeight=ct(i.summaryOptions.summaryRowHeight,d);let f=n.stripe??!1,{editBehavior:p,editType:m}=dn(n);i.cellDisableContext=vt({isRowDisabled:n.isRowDisabled}),i.cellStyleOverrideService=new Kf,i.cellStyleContext={rowStyle:n.rowStyle,editableCellStyle:n.editableCellStyle,showEditableCellIcon:n.showEditableCellIcon??!1,disabledCellStyle:n.disabledCellStyle,showDisabledCellIcon:n.showDisabledCellIcon??!1,getCellStyleOverride:(e,t)=>i.cellStyleOverrideService.get(e,t),getCellDisableContext:()=>i.cellDisableContext},i.invalidEditValueMode=n.invalidEditValueMode??`block`,i.rowValidator=n.rowValidator,i.asyncRowMutation=n.asyncRowMutation,i.editorHost=new Cf({onUnmountEditor:n.onUnmountEditor,byName:n.cellEditors?.byName,editorOptions:i.editorOptions}),i.editingService=new wf(i.editorHost),i.rowEditingService=new Uf(i.editorHost),i.selectionService=gD(n.rowSelection)===!1||!i.selectionColumnOptions.enabled?null:new hg(gD(n.rowSelection)),i.indexFocusService=i.indexColumnOptions.showIndexColumn?new yg(i.indexColumnOptions.indexColumn.focusMode):null,i.frameService=new Bd({frameBudgetMs:i.scrollRenderOptions.frameBudgetMs,rendererFrameBudgetMs:i.scrollRenderOptions.rendererFrameBudgetMs}),i.scrollBridge=new Ay;let h=(e,t)=>{let n=i.columnModel.getColumnById(t);return n?W(e,n):e.data[t]},g=ke(i.userColumns).length,{rowModel:_,resolvedInfinite:v}=bu({rowModelType:n.rowModelType,infiniteDatasource:n.infiniteDatasource,blockSize:n.blockSize,maxBlocksInCache:n.maxBlocksInCache,infiniteInitialRowCount:n.infiniteInitialRowCount,infiniteMaxRetries:n.infiniteMaxRetries,infiniteLoadingRowVisible:n.infiniteLoadingRowVisible,rowKey:n.rowKey,rowHeight:d,getCellValue:h,getColumnComparator:e=>i.columnModel.getColumnById(e)?.comparator,filterColumnContext:lv(e=>i.columnModel.getColumnById(e),h),quickFilterText:n.quickFilterText,getQuickFilterColIds:()=>i.columnModel.getColumns().filter(e=>e.filterable).map(e=>e.colId),rowGroupingColumnCount:g,hasTreeTable:typeof n.getDataPath==`function`,hasMasterDetail:typeof n.detailCellRenderer==`function`,rowDragManaged:!a&&n.rowDragManaged===!0,hasTreeLazyLoad:typeof n.loadTreeChildren==`function`});i.rowModel=_,i.resolvedInfiniteOptions=v,i.rowKey=n.rowKey,i.businessRowIdCtx={rowKey:n.rowKey,getRowById:e=>i.rowModel.resolveRowById(e)},i.eventBus.setProjector(mg(i.businessRowIdCtx)),i.cellSpanService=new Q_({getEnableCellSpan:()=>i.cellSpanOptions.enableCellSpan,getColumnModel:()=>i.columnModel,getDisplayRows:()=>i.rowModel.rowsToDisplay,getRowById:e=>{let t=i.rowModel.getRowIndexById(e);return t>=0?i.rowModel.getRow(t):void 0},getRowByIndex:e=>i.rowModel.getRow(e),getRowCount:()=>i.rowModel.getRowCount()}),i.rowExpansionService=new Vy({getOptions:()=>i.rowExpansionOptions,getBaseDisplayRows:()=>i.rowModel.getBaseDisplayRows(),onExpansionChanged:e=>{i.eventBus.emit(e.expanded?`rowExpanded`:`rowCollapsed`,e),i.hierarchyOps.syncRowExpansionDisplay(e)},onDetailDataChanged:e=>{i.hierarchyOps.refreshDetailRowContent([e])}}),yu(i.rowModel)&&i.rowModel.setRowExpansionService(i.rowExpansionService),i.loadMoreRowService=new Wy({getOptions:()=>i.loadMoreRowGridOptions,isClientSideRowModel:()=>yu(i.rowModel)}),yu(i.rowModel)&&i.rowModel.setLoadMoreRowService(i.loadMoreRowService),i.rowGroupingService=new Gy({getOptions:()=>i.rowGroupingOptions,getRowGroupColumnsFromDefs:()=>ke(i.userColumns),getGroupedTreeRoots:()=>i.rowModel.getGroupedTreeRoots(),onGroupOpened:e=>{i.eventBus.emit(`rowGroupOpened`,e),i.hierarchyOps.syncRowGroupingDisplay()},onGroupChanged:e=>{i.eventBus.emit(`rowGroupChanged`,e)},onGroupingStateChanged:()=>{i.hierarchyOps.syncRowGroupingDisplay()}}),yu(i.rowModel)&&i.rowModel.setRowGroupingDeps({active:()=>i.rowGroupingService.active,getRowGroupColumns:()=>i.rowGroupingService.getRowGroupColumns(),getGroupKeyCreator:()=>i.rowGroupingOptions.groupKeyCreator,getGroupComparator:()=>i.rowGroupingOptions.groupComparator,getGroupSortKey:()=>i.rowGroupingOptions.groupSortKey,getColumns:()=>i.columnModel.getColumns(),getColumnField:e=>i.columnModel.getColumnById(e)?.prop??e,getMapStageOptions:()=>i.rowGroupingService.getMapStageOptions(),pruneExpanded:e=>i.rowGroupingService.pruneExpanded(e),applyDefaultExpanded:e=>i.rowGroupingService.applyDefaultExpanded(e),clearExpanded:()=>i.rowGroupingService.clearExpanded()}),i.treeTableService=new Zy({getOptions:()=>i.treeTableOptions,getGroupDefaultExpanded:()=>i.rowGroupingOptions.groupDefaultExpanded,getTreeTreeRoots:()=>i.rowModel.getTreeTreeRoots(),getLazyLoadHost:()=>i.treeLazyLoadService,onNodeOpened:e=>{i.eventBus.emit(`treeNodeOpened`,e)},onTreeStateChanged:()=>{i.hierarchyOps.syncTreeTableDisplay()}}),yu(i.rowModel)&&i.rowModel.setTreeTableDeps({active:()=>i.treeTableService.active,getDataPath:()=>i.treeTableOptions.getDataPath,getMapStageOptions:()=>i.treeTableService.getMapStageOptions(),prepareTreeTree:e=>i.treeTableService.prepareTreeTree(e),applyDefaultExpanded:e=>i.treeTableService.applyDefaultExpandedToTree(e),clearExpanded:()=>i.treeTableService.clearExpanded(),expandForQuickFilterDisplay:e=>i.treeTableService.expandForQuickFilterDisplay(e)}),i.headerSortService=new Jm({getSortModel:()=>i.rowModel.getSortModel(),setSortModel:e=>r.setSortModel(e),getColumnById:e=>i.columnModel.getColumnById(e)}),i.columnHandleMenuController=new lT({mountEl:i.mountEl,columnModel:i.columnModel,getSortModel:()=>i.rowModel.getSortModel(),setSortModel:e=>r.setSortModel(e),getFilterModel:()=>r.getFilterModel(),setFilterModel:e=>r.setFilterModel(e),setColumnFixed:(e,t,n)=>r.setColumnFixed(e,t,n),setColumnsHidden:(e,t,n)=>i.columnLayout.setColumnsHidden(e,t,n),getColumnDistinctFilterValues:e=>r.getColumnDistinctFilterValues(e),filterSetValueMode:i.filterGridOptions.filterSetValueMode,filterSetDateLayoutMode:i.filterGridOptions.filterSetDateLayoutMode}),i.treeHierarchyMenuController=new yT({mountEl:i.mountEl,applyAction:(e,t)=>r.applyTreeHierarchyShortcut(e,t)});let y=Qi(n);y.length>0&&i.rowModel.setSortModel(y);let b=CT(e,{showSummary:i.summaryOptions.showSummary,floatingFilter:n.floatingFilter??!1});if(i.rootEl=b.rootEl,i.rowsLayerEl=b.rowsLayerEl,b.footerViewportEl&&b.footerRowEl&&b.footerLeftLaneEl&&b.footerCenterLaneEl&&b.footerRightLaneEl&&(i.footerRenderer=new av({footerLeftLaneEl:b.footerLeftLaneEl,footerCenterLaneEl:b.footerCenterLaneEl,footerRightLaneEl:b.footerRightLaneEl,footerRowEl:b.footerRowEl,frameService:i.frameService,onUnmountRenderer:i.onUnmountRenderer,enableCellSpan:i.cellSpanOptions.enableCellSpan})),b.floatingFilterRowEl&&b.floatingFilterLeftLaneEl&&b.floatingFilterCenterLaneEl&&b.floatingFilterRightLaneEl){let e=new UT({floatingLeftLaneEl:b.floatingFilterLeftLaneEl,floatingCenterLaneEl:b.floatingFilterCenterLaneEl,floatingRightLaneEl:b.floatingFilterRightLaneEl,floatingRowEl:b.floatingFilterRowEl});i.floatingFilterController=new qT({columnModel:i.columnModel,getFilterModel:()=>r.getFilterModel(),setFilterModel:e=>r.setFilterModel(e),renderer:e})}i.rowRenderer=new Oy(b.rowsContainerEl,{rowModel:i.rowModel,columnModel:i.columnModel,rowHeight:d,rowBuffer:n.rowBuffer??10,stripe:f,frameService:i.frameService,onUnmountRenderer:i.onUnmountRenderer,onUnmountEditor:i.onUnmountEditor,indexColumnOptions:i.indexColumnOptions.showIndexColumn?i.indexColumnOptions.indexColumn:void 0,selectionColumnOptions:i.selectionColumnOptions.enabled?i.selectionColumnOptions:void 0,isRowDragHandleEnabled:e=>r.isRowDragHandleEnabled(e),enableCellSpan:i.cellSpanOptions.enableCellSpan,cellSpanService:i.cellSpanService,spannedRowsContainerEl:b.spannedRowsContainerEl,fullWidthRowsContainerEl:b.fullWidthRowsContainerEl,masterDetail:i.rowExpansionOptions.masterDetail,embedFullWidthRows:i.rowExpansionOptions.embedFullWidthRows,getDetailCellRenderer:()=>i.rowExpansionOptions.detailCellRenderer,getMasterRowById:e=>i.rowModel.getRowById(e),rowExpansionHost:{active:()=>i.rowExpansionOptions.masterDetail,isRowMaster:e=>i.rowExpansionService.isRowMaster(e),isExpanded:e=>i.rowExpansionService.isExpanded(e)},rowGroupingHost:{active:()=>i.rowGroupingService.active,isExpanded:e=>i.rowGroupingService.isExpanded(e),getGroupFooterLabel:()=>i.rowGroupingOptions.groupFooterLabel},treeTableHost:{active:()=>i.treeTableService.active,isExpanded:e=>i.treeTableService.isExpanded(e),getTreeValue:e=>i.treeTableService.getTreeDisplayValue(e),isTreeNodeExpandable:e=>i.treeTableService.isNodeExpandable(e),isTreeNodeLoading:e=>i.treeTableService.isNodeLoading(e),getTreeHierarchyActions:e=>i.hierarchyOps.resolveTreeHierarchyActions(e)},resolveBusinessRowId:e=>t.T(e,n.rowKey),getCellDisableContext:()=>r.getCellDisableContext(),getCellStyleContext:()=>r.getCellStyleContext(),cellRendererDefer:i.scrollRenderOptions.cellRendererDefer,deferRowDestroyOnScroll:i.scrollRenderOptions.deferRowDestroyOnScroll,cellRendererPresentation:i.scrollRenderOptions.cellRendererPresentation,infiniteLoadingRowVisible:K(i.rowModel)?i.resolvedInfiniteOptions.infiniteLoadingRowVisible:void 0,getLoadMoreRowEnabled:()=>i.loadMoreRowGridOptions.enabled,getLoadMoreRowRenderer:()=>i.loadMoreRowGridOptions.loadMoreRowRenderer,getLoadMoreRowLoading:()=>i.loadMoreRowGridOptions.loading,getLoadMoreRowHasMore:()=>i.loadMoreRowGridOptions.hasMore,getLoadMoreRowGridSize:()=>i.gridSize,getLoadMoreRowLabels:()=>i.loadMoreRowGridOptions.labels,onLoadMore:()=>{i.eventBus.emit(`loadMore`,{})},getApi:()=>r.getApi()}),i.selectionOps=new $D({mountEl:i.mountEl,rowModel:i.rowModel,rowRenderer:i.rowRenderer,eventBus:i.eventBus,selectionService:i.selectionService,indexFocusService:i.indexFocusService,indexColumnOptions:i.indexColumnOptions,selectionColumnOptions:i.selectionColumnOptions,rowKey:n.rowKey,isTreeActive:()=>i.treeTableService.active,groupSelectsChildren:()=>i.rowSelectionOptions.groupSelectsChildren,applyCellRangeVisuals:()=>i.cellRangeOps.applyCellRangeVisuals()},_g(n.selectable),n.reserveSelection??!1,()=>({rowKey:n.rowKey,rowSelectionEnabled:i.selectionColumnOptions.enabled,getResolveContext:()=>Rd(i.rowModel.getSourceRows(),n.rowKey,r.getApi())})),i.rowRenderer.setIsRowNodeSelectable(e=>i.selectionOps.isRowNodeSelectable(e)),i.rowHeightGridOptions={getRowHeight:n.getRowHeight,rowHeightMin:n.rowHeightMin,rowHeightMax:n.rowHeightMax},i.rowHeightService=new Dv({getDisplayRows:()=>i.rowModel.rowsToDisplay,getRowById:e=>i.rowModel.resolveRowById(e),getAutoHeightColumnIds:()=>i.columnModel.getAutoHeightColumnIds(),repositionDisplayRows:()=>{i.rowModel.repositionDisplayRows({getRowHeight:i.rowHeightService.getPositionRowHeightFn()})},emitRowHeightChanged:e=>{i.eventBus.emit(`rowHeightChanged`,e),r.syncRowLayoutAfterRowHeightChange(e.rows)}},d,i.rowHeightGridOptions),i.rowModel.setPositionGetRowHeight(i.rowHeightService.getPositionRowHeightFn()),i.rowAutoHeightService=new Nv({rowHeightService:i.rowHeightService,getRowById:e=>i.rowModel.getRowById(e),isColumnAutoHeight:e=>i.columnModel.isColumnAutoHeight(e),getAutoHeightColumnIds:()=>i.columnModel.getAutoHeightColumnIds()}),i.rowRenderer.setRowAutoHeightService(i.rowAutoHeightService),i.detailRowAutoHeightService=i.rowExpansionOptions.detailRowAutoHeight?new zy({rowHeightService:i.rowHeightService,getRowById:e=>i.rowModel.resolveRowById(e),isEnabled:()=>i.rowExpansionOptions.detailRowAutoHeight,getMinDetailRowHeight:e=>te(i.rowExpansionOptions.detailRowHeight,{rowId:e.id,data:e.data,masterRowId:e.masterRowId??e.id})}):null,i.rowRenderer.setDetailRowAutoHeightService(i.detailRowAutoHeightService),i.gridFooter=new uk({columnModel:i.columnModel,columnViewport:i.columnViewport,rowModel:i.rowModel,frameService:i.frameService,valueCache:i.valueCache,summaryOptions:i.summaryOptions,getFooterRenderer:()=>i.footerRenderer}),i.filterOps=new WD({rowModel:i.rowModel,columnModel:i.columnModel,columnViewport:i.columnViewport,getViewport:()=>i.viewport,rowRenderer:i.rowRenderer,valueCache:i.valueCache,eventBus:i.eventBus,getFloatingFilterController:()=>i.floatingFilterController,applySelectionVisuals:()=>i.selectionOps.applySelectionVisuals(),refreshFooter:()=>i.gridFooter.refresh(),refreshCellSpans:()=>r.refreshCellSpanCache(),reconcileRowPoolAfterDisplayChange:()=>r.reconcileRowPoolAfterDisplayChange(),clearCellSelection:()=>i.cellRangeOps.clearCellSelectionOnStructuralChange(),refreshOverlay:()=>r.syncEmptyStateOverlay(),refreshHierarchyCellVisuals:()=>i.hierarchyOps.refreshHierarchyCellVisuals()});let x={};i.viewport=new zD({rootEl:b.rootEl,headerViewportEl:b.headerViewportEl,headerScrollEl:b.headerScrollEl,headerRowEl:b.headerRowEl,headerLeftLaneEl:b.headerLeftLaneEl,headerCenterLaneEl:b.headerCenterLaneEl,headerRightLaneEl:b.headerRightLaneEl,viewportEl:b.viewportEl,spacerEl:b.spacerEl,scrollPhantomEl:b.scrollPhantomEl,rowsLayerEl:b.rowsLayerEl,indexColumnFillHostEl:b.indexColumnFillHostEl,indexColumnFillEl:b.indexColumnFillEl,rowsContainerEl:b.rowsContainerEl,footerViewportEl:b.footerViewportEl,footerScrollEl:b.footerScrollEl,footerRowEl:b.footerRowEl,footerLeftLaneEl:b.footerLeftLaneEl,footerCenterLaneEl:b.footerCenterLaneEl,footerRightLaneEl:b.footerRightLaneEl,floatingFilterViewportEl:b.floatingFilterViewportEl,floatingFilterScrollEl:b.floatingFilterScrollEl,floatingFilterRowEl:b.floatingFilterRowEl,floatingFilterLeftLaneEl:b.floatingFilterLeftLaneEl,floatingFilterCenterLaneEl:b.floatingFilterCenterLaneEl,floatingFilterRightLaneEl:b.floatingFilterRightLaneEl,refreshFooter:()=>i.gridFooter.refresh(),refreshFloatingFilter:()=>i.filterOps.refreshFloatingFilter(),rowModel:i.rowModel,columnModel:i.columnModel,columnViewport:i.columnViewport,validationFeedback:i.validationFeedback,rowRenderer:i.rowRenderer,scrollBridge:i.scrollBridge,frameService:i.frameService,scrollRenderOptions:i.scrollRenderOptions,onScrollActivity:()=>{i.frameService.setScrollActive(!0),i.rowRenderer.setScrollActive(!0)},onScrollEndIdle:()=>{i.frameService.setScrollActive(!1),i.scrollRenderOptions.deferRowDestroyOnScroll&&i.rowRenderer.flushDeferredDestroys(),i.scrollRenderOptions.cellRendererPresentation===`placeholder-then-vue`&&i.rowRenderer.promoteRendererPlaceholders(),i.scrollRenderOptions.scrollEndFlushMs>0&&i.frameService.flushAllFrames(i.scrollRenderOptions.scrollEndFrameBudgetMs),i.rowRenderer.setScrollActive(!1)},getPinnedRowIds:()=>r.getPinnedRowIds(),selectionColumnOptions:i.selectionColumnOptions,showIndexColumn:i.indexColumnOptions.showIndexColumn,showUnsortedSortHintOnHover:()=>r.getShowUnsortedSortHintOnHover(),enableHeaderSortClick:()=>r.getEnableHeaderSortClick(),getDefaultRowHeight:()=>i.rowHeightService.getDefaultRowHeight(),headerHeight:n.headerHeight??or,isDestroyed:()=>i.destroyed,onEmitScrollEvent:(e,t)=>{i.eventBus.emit(e,t),e===`scrollBottom`&&i.infiniteDatasourceService&&i.infiniteDatasourceService.ensurePrefetchOnScrollBottom()},applySelectionVisuals:()=>i.selectionOps.applySelectionVisuals(),applyFocusVisuals:()=>r.applyFocusVisuals(),applyCellRangeVisuals:()=>i.cellRangeOps.applyCellRangeVisuals(),applyCellRangeScrollVisuals:()=>i.cellRangeOps.applyCellRangeScrollVisuals(),onHeaderRefresh:()=>i.columnHandleMenuController.onHeaderRefresh(),getTreeHeaderExpanded:()=>i.treeTableService.isAllExpandableNodesExpanded(),ensureInfiniteRowsLoaded:(e,t)=>{x.ensure?.(e,t)}}),K(i.rowModel)&&n.infiniteDatasource&&(i.infiniteDatasourceService=new xv({rowModel:i.rowModel,datasource:n.infiniteDatasource,options:i.resolvedInfiniteOptions,rowBuffer:n.rowBuffer??10,rowHeight:d,eventBus:i.eventBus,getApi:()=>i.api,getSortModel:()=>i.rowModel.getSortModel(),getFilterModel:()=>i.rowModel.getFilterModel(),onModelChanged:e=>{if(i.viewport.syncViewportHeight(),e?.replacedStubIds?.length)for(let t of e.replacedStubIds)i.rowRenderer.releaseRow(t);e?.refreshedRowIds?.length?i.rowRenderer.refreshRows({rowIds:[...e.refreshedRowIds],force:!0}):i.rowRenderer.invalidate(),i.viewport.redrawImmediately(),i.gridFooter.refresh(),r.syncEmptyStateOverlay()}}),x.ensure=(e,t)=>{i.infiniteDatasourceService.ensureBlocksForViewport(e,t)}),i.hierarchyOps=new lk({rowModel:i.rowModel,viewport:i.viewport,rowRenderer:i.rowRenderer,rowExpansionService:i.rowExpansionService,rowGroupingService:i.rowGroupingService,treeTableService:i.treeTableService,rowExpansionOptions:i.rowExpansionOptions,rowGroupingOptions:i.rowGroupingOptions,treeTableOptions:i.treeTableOptions,selectionOps:i.selectionOps,refreshCellSpanCache:()=>r.refreshCellSpanCache(),reconcileRowPoolAfterDisplayChange:()=>r.reconcileRowPoolAfterDisplayChange(),isCellSpanActive:()=>i.cellSpanService.active,applyRowDragPlan:(e,t)=>i.rowMutation.applyRowDragPlan(e,t),getRowDragCommitService:()=>i.rowDragCommitService,asyncRowMutation:i.asyncRowMutation});let S=e=>i.rowDataChangeTracker.record(e),C={beginUpdate:()=>r.beginUpdate(),endUpdate:()=>r.endUpdate()};i.cellEditing=new BC({mountEl:i.mountEl,viewportEl:b.viewportEl,rowModel:i.rowModel,columnModel:i.columnModel,editingService:i.editingService,rowEditingService:i.rowEditingService,editBehavior:p,editType:m,invalidEditValueMode:i.invalidEditValueMode,rowValidator:i.rowValidator,validationFeedback:i.validationFeedback,editorHost:i.editorHost,eventBus:i.eventBus,cellFocusService:i.cellFocusService,isDestroyed:()=>i.destroyed,getColIndex:e=>r.getColIndex(e),ensureIndexVisible:(e,t)=>r.ensureIndexVisible(e,t),ensureColumnVisible:e=>r.ensureColumnVisible(e),redrawImmediately:()=>i.viewport.redrawImmediately(),applyFocusVisuals:()=>r.applyFocusVisuals(),syncPinnedRows:()=>i.viewport.syncPinnedRows(),refreshCells:e=>r.refreshCells(e),applyTransaction:e=>r.commitTransaction(e),onTabChainEdit:e=>i.interaction.navigateEditableTab(e),getCellDisableContext:()=>r.getCellDisableContext(),cellEditorCacheService:i.cellEditorCacheService,enableCellEditorCache:i.cellEditorCacheOptions.enableCellEditorCache,recordRowDataChange:e=>i.rowDataChangeTracker.record(e),...C,...pk(i,r)});let w=new Ap({...pk(i,r),...C,eventBus:i.eventBus,applyTransaction:e=>r.commitTransaction(e),syncPinnedRows:()=>i.viewport.syncPinnedRows(),invalidEditValueMode:i.invalidEditValueMode,recordRowDataChange:S,onUnmountEditor:i.onUnmountEditor,byName:n.cellEditors?.byName,editorOptions:i.editorOptions});if(i.inlineCellEditorService=w,i.rowRenderer.setInlineCellEditorContext(w.getRefreshContext()),i.rowRenderer.setOverlayEditingTargetsResolver(()=>i.cellEditing.getEditingCells().map(e=>({rowId:e.rowId,colId:e.colId}))),i.columnFlexService=new b_(i.columnModel),i.columnResizeService=new S_(i.columnModel,()=>{i.columnLayout.syncColumnLayoutAfterResize()},i.columnFlexService,()=>r.getCenterViewportWidth()),i.columnAutosizeService=new l_(i.mountEl,i.columnModel,l),i.columnLayout=new UD({mountEl:i.mountEl,rootEl:i.rootEl,columnModel:i.columnModel,columnViewport:i.columnViewport,columnResizeService:i.columnResizeService,columnAutosizeService:i.columnAutosizeService,columnFlexService:i.columnFlexService,viewport:i.viewport,rowRenderer:i.rowRenderer,footerRenderer:i.footerRenderer,eventBus:i.eventBus,isDestroyed:()=>i.destroyed,refreshColumnResizeVisualState:()=>i.interaction.refreshColumnResizeVisualState(),refreshFooter:()=>i.gridFooter.refresh(),refreshFloatingFilter:()=>i.filterOps.refreshFloatingFilter(),applyCellRangeVisuals:()=>i.cellRangeOps.applyCellRangeVisuals(),clearCellSelection:()=>i.cellRangeOps.clearCellSelectionOnStructuralChange(),syncColumnOrderVisuals:()=>{let e=i.cellFocusService.getFocusedCell();if(e&&!Y(e)){let t=r.getColIndex(e.colId);t>=0&&t!==e.colIndex&&i.cellFocusService.setFocusedCell({...e,colIndex:t})}i.viewport.applyColumnStructureVisuals()}},s,c),i.columnLayout.syncColumnMovePresentationClasses(),i.viewport.setOnAfterRedraw(()=>{!i.destroyed&&!i.cellEditing.isEditing()&&i.cellEditing.syncValidationDom()}),i.cellCommentOptions=Po(n),i.cellCommentService=new Ax({getOptions:()=>r.getCellCommentOptions(),getRowKey:()=>n.rowKey,getRowNode:e=>i.rowModel.getRowById(e),getColumn:e=>i.columnModel.getColumnById(e)??void 0,getMountEl:()=>i.mountEl,onCommentChanged:e=>i.eventBus.emit(`cellCommentChanged`,e),onCommentsRefresh:e=>i.rowRenderer.syncVisibleCellCommentIndicators({rowIds:e?.rowIds?.map(e=>String(e)),colIds:e?.colIds})}),i.rowRenderer.setCellCommentHost(i.cellCommentService.createHost()),i.overflowTooltipOptions=Tc(n),i.cellRangeOps=new ck({mountEl:i.mountEl,rowsLayerEl:i.rowsLayerEl,rowModel:i.rowModel,columnModel:i.columnModel,rowRenderer:i.rowRenderer,cellSpanService:i.cellSpanService,eventBus:i.eventBus,viewport:i.viewport,cellEditing:i.cellEditing,cellFocusService:i.cellFocusService,indexFocusService:i.indexFocusService,selectionService:i.selectionService,indexColumnOptions:i.indexColumnOptions,selectionColumnOptions:i.selectionColumnOptions,getCellRangeDeleteWriteService:()=>i.cellRangeDeleteWriteService,getCellClipboardService:()=>i.cellClipboardService,applyFocusVisuals:()=>r.applyFocusVisuals(),applyIndexFocusVisuals:()=>i.selectionOps.applyIndexFocusVisuals({syncToSelectionColumn:!1}),syncCellRangeFromIndexFocus:()=>i.interaction.syncCellRangeFromIndexFocus()},{cellSelection:n.cellSelection,enableCellCopy:n.enableCellCopy,enableCellPaste:n.enableCellPaste,enableHeaderHighlight:n.enableHeaderHighlight,enableIndexColumnHighlight:n.enableIndexColumnHighlight,processCellForClipboard:n.processCellForClipboard,processCellFromClipboard:n.processCellFromClipboard,processDataFromClipboard:n.processDataFromClipboard}),i.tooltipService=new WS,i.overflowTooltipSession=new zS({mountEl:i.mountEl,viewportEl:b.viewportEl,headerViewportEl:b.headerViewportEl,footerViewportEl:b.footerViewportEl??null,columnModel:i.columnModel,rowModel:i.rowModel,tooltipService:i.tooltipService,validationFeedback:i.validationFeedback,cellCommentService:()=>i.cellCommentService,getOptions:()=>r.getOverflowTooltipOptions(),getIndexColumnOptions:()=>i.indexColumnOptions,getApi:()=>r.getApi(),isEditing:()=>i.cellEditing.isEditing(),getEditingCell:()=>i.cellEditing.getEditingCell()}),i.emptyStateOptionsRaw={loading:n.loading,suppressOverlays:n.suppressOverlays,suppressLoadingOverlay:n.suppressLoadingOverlay,suppressNoRowsOverlay:n.suppressNoRowsOverlay,suppressNoMatchingRowsOverlay:n.suppressNoMatchingRowsOverlay,overlayLoadingTemplate:n.overlayLoadingTemplate,overlayNoRowsTemplate:n.overlayNoRowsTemplate,overlayNoMatchingRowsTemplate:n.overlayNoMatchingRowsTemplate,loadingOverlayComponent:n.loadingOverlayComponent,loadingOverlayComponentParams:n.loadingOverlayComponentParams,noRowsOverlayComponent:n.noRowsOverlayComponent,noRowsOverlayComponentParams:n.noRowsOverlayComponentParams,noMatchingRowsOverlayComponent:n.noMatchingRowsOverlayComponent,noMatchingRowsOverlayComponentParams:n.noMatchingRowsOverlayComponentParams,overlayComponent:n.overlayComponent,overlayComponentParams:n.overlayComponentParams,overlayInteraction:n.overlayInteraction},i.emptyStateGridOptions=qc(i.emptyStateOptionsRaw),i.overlayService=new iC({getResolvedOptions:()=>r.getEmptyStateGridOptions(),getSourceRowCount:()=>i.rowModel.getSourceRows().length,getDisplayRows:()=>i.rowModel.rowsToDisplay,isAnyFilterActive:()=>i.filterOps.isAnyFilterActive(),getInfiniteVirtualRowCount:()=>K(i.rowModel)?i.rowModel.getRowCount():0,onOverlayChanged:(e,t)=>r.handleOverlayChanged(e,t),warn:e=>console.warn(e)}),i.overlayRenderer=new $S({overlayEl:b.overlayEl,wrapperEl:b.overlayWrapperEl,contentEl:b.overlayContentEl,getApi:()=>r.getApi(),getOverlayInteraction:()=>r.getEmptyStateGridOptions().overlayInteraction}),i.interaction=new hD({mountEl:i.mountEl,viewportEl:b.viewportEl,headerViewportEl:b.headerViewportEl,headerLeftLaneEl:b.headerLeftLaneEl,headerCenterLaneEl:b.headerCenterLaneEl,headerRightLaneEl:b.headerRightLaneEl,rowModel:i.rowModel,columnModel:i.columnModel,rowRenderer:i.rowRenderer,eventBus:i.eventBus,cellFocusService:i.cellFocusService,selectionService:i.selectionService,indexFocusService:i.indexFocusService,indexColumnOptions:i.indexColumnOptions,columnDragController:i.columnDragController,columnHandleMenuController:i.columnHandleMenuController,editBehavior:p,editType:m,isEditing:()=>i.cellEditing.isEditing(),getEditingCell:()=>i.cellEditing.getEditingCell(),getEditingRowId:()=>i.cellEditing.getEditingRowId(),focusRowEditingColumn:e=>i.cellEditing.focusRowEditingColumn(e),isCommitting:()=>r.isCommitting(),awaitCommitIdle:()=>r.awaitCommitIdle(),commitEditing:()=>i.cellEditing.stopEditing(!1).then(()=>void 0),cancelCommit:()=>r.cancelCommit(),cancelPendingBlurCommit:()=>i.cellEditing.cancelPendingBlurCommit(),deferBlurCommitDuringPointerGesture:e=>i.cellEditing.deferBlurCommitDuringPointerGesture(e),isBlurCommitDeferred:()=>i.cellEditing.isBlurCommitDeferred(),ensureIndexVisible:(e,t)=>r.ensureIndexVisible(e,t),ensureColumnVisible:e=>r.ensureColumnVisible(e),getLogicalScrollTop:()=>i.viewport.getLogicalScrollTop(),scrollByDelta:e=>i.viewport.scrollByDelta(e),scrollByHorizontalDelta:e=>i.viewport.scrollByHorizontalDelta(e),getRowHeight:()=>i.rowHeightService.getDefaultRowHeight(),redrawImmediately:()=>i.viewport.redrawImmediately(),tryStartCellEditing:e=>i.cellEditing.tryStartCellEditing(e),tryStartRowEditing:e=>i.cellEditing.tryStartRowEditing(e),applyIndexFocusVisuals:e=>i.selectionOps.applyIndexFocusVisuals(e),applySelectionVisuals:()=>i.selectionOps.applySelectionVisuals(),handleInteractiveRowSelection:(e,t)=>i.selectionOps.handleInteractiveRowSelection(e,t),isRowNodeSelectable:e=>i.selectionOps.isRowNodeSelectable(e),getSelectableRowIdAt:e=>i.selectionOps.getSelectableRowIdAt(e),showSummary:()=>i.summaryOptions.showSummary,navigateHeader:()=>i.chromeNavigationOptions.navigateHeader,navigateFooter:()=>i.chromeNavigationOptions.navigateFooter,toggleHeaderSort:e=>i.headerSortService.toggleSort(e),enableHeaderSortClick:()=>r.getEnableHeaderSortClick(),moveColumn:(e,t,n,i)=>r.moveColumn(e,t,n,i),finishColumnMove:e=>r.finishColumnMove(e),suppressMoveWhenColumnDragging:()=>i.columnLayout.columnMoveOptions.suppressMoveWhenColumnDragging,setColumnMoveLiveDragging:e=>r.setColumnMoveLiveDragging(e),allowCrossLaneColumnMove:()=>i.columnLayout.columnMoveOptions.allowCrossLaneColumnMove,setColumnWidths:(e,t,n)=>i.columnLayout.applyColumnWidths(e,t,n,`uiColumnResized`),autoSizeColumn:(e,t)=>i.columnLayout.autoSizeColumn(e,void 0,t??`uiColumnResized`),resizeHeaderColumn:(e,t,n)=>i.columnLayout.resizeHeaderColumn(e,t,n),setRowHeights:(e,t)=>i.rowHeightService.setRowHeights(e,{finished:t,source:`uiRowResized`}),rowDragManaged:i.rowDragOptions.rowDragManaged,deferRowDragCommit:!!i.asyncRowMutation?.move,cellSpanService:i.cellSpanService,hasSortOrFilterActive:()=>i.rowModel.getSortModel().length>0||r.isAnyFilterActive(),isRowDragHandleEnabled:e=>r.isRowDragHandleEnabled(e),moveRow:(e,t)=>i.rowMutation.moveRowSync(e,t),moveRows:(e,t)=>i.rowMutation.moveRowsSync(e,t),finishRowMove:e=>i.rowMutation.finishRowMove(e),finishRowMoves:(e,t,n,r)=>i.rowMutation.finishRowMoves(e,`uiRowDrag`,{startSourceIndices:t,startTreePositions:r,displayIndex:n,resolveTreeDrop:i.treeTableService.active?e=>J(i.rowModel.getSourceRows(),e)??void 0:void 0}),isIndexFocusMultiple:()=>i.indexFocusService?.isMultiple()??!1,getIndexFocusedRowIds:()=>i.indexFocusService?.getFocusedRowIds()??[],setRowMoveLiveDragging:e=>r.setRowMoveLiveDragging(e),emitRowDragEnd:e=>{i.eventBus.emit(`rowDragEnd`,e)},isRowDragCommitting:()=>i.rowDragCommitService?.isCommitting()??!1,buildPlanRowDragMoveOptions:e=>r.buildPlanRowDragMoveOptions(e),planRowDragMove:e=>sx(e),commitDeferredRowDrag:e=>i.rowDragCommitService.commit(e),rowExpansionService:i.rowExpansionOptions.masterDetail?i.rowExpansionService:null,rowGroupingService:i.rowGroupingOptions.rowGrouping?i.rowGroupingService:null,treeTableService:i.treeTableService.active?i.treeTableService:null,requestTreeNodeToggle:(e,t)=>i.treeTableService.requestToggleNode(e,t),isTreeNodeExpandable:e=>i.treeTableService.isNodeExpandable(e),isRowGroupingActive:()=>i.rowGroupingService.active,isTreeActive:()=>i.treeTableService.active,getTreeDragScope:()=>i.treeTableOptions.treeDragScope,validateGroupedDisplayDrop:(e,t)=>{if(!i.rowGroupingService.active)return!0;let n=ad(i.rowModel.getSourceRows(),e);return n===`mixed`||n===`missing`?!1:n===null||dd(i.rowModel.rowsToDisplay,e=>i.rowModel.getRowById(e),e,t,n)},validateTreeDisplayDrop:(e,t,n)=>{if(!i.treeTableService.active)return!0;let r=i.rowModel.getSourceRows(),a=e=>i.rowModel.getRowById(e);if(i.treeTableOptions.treeDragScope===`hierarchy`){let o=i.treeTableOptions.getDataPath;return o?yb(r,i.rowModel.rowsToDisplay,a,e,t,o,ub(n?.nestUnderRowId)):!1}let o=hd(r,e);return o===`mixed`||o===`missing`?!1:bd(i.rowModel.rowsToDisplay,a,e,t,o)},resolveTreeRowDragEndContext:(e,t,n,r)=>{if(!i.treeTableService.active||!r||t<0)return;if(i.rowDragOptions.rowDragManaged)return J(i.rowModel.getSourceRows(),e)??void 0;let a=i.treeTableOptions.getDataPath;if(a)return bb({sourceRows:i.rowModel.getSourceRows(),displayRows:i.rowModel.rowsToDisplay,rowIds:[e],insertIndex:t,nestUnderRowId:n,treeDragScope:i.treeTableOptions.treeDragScope,getDataPath:a})??void 0},cellCommentService:()=>i.cellCommentService,getCellCommentOptions:()=>r.getCellCommentOptions(),overflowTooltipSession:i.overflowTooltipSession,getCellDisableContext:()=>r.getCellDisableContext(),getCellRangeService:()=>i.cellRangeOps.getCellRangeService(),isCellSelectionEnabled:()=>i.cellRangeOps.isCellSelectionEnabled(),getCellSelectionOptions:()=>i.cellRangeOps.getCellSelectionOptions(),getFillWriteService:()=>i.cellRangeFillWriteService,getCellRangeOperationContext:()=>i.cellRangeOps.getCellRangeOperationContext(),applyCellRangeVisuals:()=>i.cellRangeOps.applyCellRangeVisuals(),clearCellSelection:()=>i.cellRangeOps.clearCellSelection(),emitCellSelectionChanged:e=>i.cellRangeOps.emitCellSelectionChanged(e),handleCellSelectionDeleteKey:()=>void i.cellRangeOps.handleCellSelectionDeleteKey(),copyCellSelectionToClipboard:()=>i.cellRangeOps.copySelectedRangeToClipboard(),pasteCellSelectionFromClipboard:()=>i.cellRangeOps.pasteFromClipboard(),isPointerOverCellCommentIndicator:(e,t,n)=>yx(e,t,n),applyTreeHierarchyShortcut:(e,t)=>r.applyTreeHierarchyShortcut(e,t),toggleTreeHierarchyMenu:(e,t)=>{let n=i.hierarchyOps.resolveTreeHierarchyMenuActions(e);i.treeHierarchyMenuController.toggle(e,t,n)},closeTreeHierarchyMenu:()=>i.treeHierarchyMenuController.close()}),i.rowMutation=new jO({rowKey:n.rowKey,asyncRowMutation:i.asyncRowMutation,rowModel:i.rowModel,rowRenderer:i.rowRenderer,viewport:i.viewport,valueCache:i.valueCache,frameService:i.frameService,changeDetection:i.changeDetection,eventBus:i.eventBus,cellFocusService:i.cellFocusService,validationFeedback:i.validationFeedback,mountEl:i.mountEl,cellEditing:i.cellEditing,filterOps:i.filterOps,selectionOps:i.selectionOps,ensureIndexVisible:(e,t)=>r.ensureIndexVisible(e,t),applyFocusVisuals:()=>r.applyFocusVisuals(),refreshFooter:()=>i.gridFooter.refresh(),refreshCellSpans:()=>r.refreshCellSpanCache(),reconcileRowPoolAfterDisplayChange:()=>r.reconcileRowPoolAfterDisplayChange(),refreshOverlay:()=>r.syncEmptyStateOverlay(),beginRowOrderVisualCapture:()=>i.cellRangeOps.beginRowOrderVisualCapture(),finishRowOrderVisualSync:()=>i.cellRangeOps.finishRowOrderVisualSync(),setAsyncMutationLoading:(e,t)=>i.rowRenderer.setAsyncMutationLoading(e,t),isCellSpanActive:()=>i.cellSpanService.active,isEditingTargetRow:e=>r.isEditingTargetRow(e),clearCellEditorCacheForRemovedRows:e=>r.clearCellEditorCacheForRemovedRows(e),clearCellStyleOverridesForRemovedRows:e=>r.clearCellStyleOverridesForRemovedRows(e),migrateCellEditorCacheOnPromoteRowId:(e,t)=>i.cellEditorCacheService.promoteRowId(e,t),isRowGroupingActive:()=>i.rowGroupingService.active,getGroupInsertDeps:()=>i.rowGroupingService.active?{rowGroupColumns:i.rowGroupingService.getRowGroupColumns(),getColumnField:e=>i.columnModel.getColumnById(e)?.prop??e,getGroupedTreeRoots:()=>i.rowModel.getGroupedTreeRoots()}:null,expandGroups:e=>i.hierarchyOps.expandGroupsInPath(e),isTreeActive:()=>i.treeTableService.active,getTreeDragScope:()=>i.treeTableOptions.treeDragScope,getDataPath:()=>i.treeTableOptions.getDataPath,setDataPath:()=>i.treeTableOptions.setDataPath,rowDataChangeTracker:i.rowDataChangeTracker,buildRowSnapshot:e=>Uu(e,dk(i)),resolveColIdByField:e=>i.columnModel.getColumns().find(t=>t.prop===e)?.colId}),i.cellRangeFillWriteService=new hS({...pk(i,r),rowModel:i.rowModel,columnModel:i.columnModel,eventBus:i.eventBus,getCellDisableContext:()=>r.getCellDisableContext(),applyTransaction:e=>r.commitTransaction(e),refreshCells:e=>r.refreshCells(e),recordRowDataChange:S,...C}),i.cellRangeDeleteWriteService=new gS({...pk(i,r),rowModel:i.rowModel,columnModel:i.columnModel,eventBus:i.eventBus,getCellDisableContext:()=>r.getCellDisableContext(),applyTransaction:e=>r.commitTransaction(e),refreshCells:e=>r.refreshCells(e),recordRowDataChange:S,...C}),i.cellClipboardService=new eS({...pk(i,r),rowModel:i.rowModel,columnModel:i.columnModel,eventBus:i.eventBus,cellFocusService:i.cellFocusService,getCellRangeService:()=>i.cellRangeOps.getCellRangeService(),getCellRangeOperationContext:()=>i.cellRangeOps.getCellRangeOperationContext(),getCellSelectionOptions:()=>i.cellRangeOps.getCellSelectionOptions(),getIndexColumnOptions:()=>i.indexColumnOptions,getCellDisableContext:()=>r.getCellDisableContext(),applyTransaction:e=>r.commitTransaction(e),refreshCells:e=>r.refreshCells(e),recordRowDataChange:S,...C,isEditing:()=>i.cellEditing.isEditing(),stopEditing:e=>i.cellEditing.stopEditing(e).then(()=>void 0),onCopyVisualFeedback:()=>i.cellRangeOps.playCellRangeCopyFlash(),onPasteVisualFeedback:e=>i.cellRangeOps.playCellRangePasteFlash(e),getCellClipboardOptions:()=>i.cellRangeOps.getCellClipboardOptions(),getCellSpanService:()=>i.cellSpanService,getCellClipboardDisplayContext:()=>({getRowGroupingHost:()=>({active:()=>i.rowGroupingService.active,isExpanded:e=>i.rowGroupingService.isExpanded(e),getGroupFooterLabel:()=>i.rowGroupingOptions.groupFooterLabel}),getTreeTableHost:()=>({active:()=>i.treeTableService.active,isExpanded:e=>i.treeTableService.isExpanded(e),getTreeValue:e=>i.treeTableService.getTreeDisplayValue(e),isTreeNodeExpandable:e=>i.treeTableService.isNodeExpandable(e),isTreeNodeLoading:e=>i.treeTableService.isNodeLoading(e),getTreeHierarchyActions:e=>i.hierarchyOps.resolveTreeHierarchyActions(e)})})}),i.treeTableOptions.treeLazyLoad&&typeof i.treeTableOptions.loadTreeChildren==`function`){let e=e=>{e!=null&&i.hierarchyOps.refreshTreeHierarchyVisuals(String(e))};i.treeLazyLoadService=new Qy({getOptions:()=>i.treeTableOptions,rowKey:n.rowKey,getDataPath:()=>i.treeTableOptions.getDataPath,getNodeById:e=>i.rowModel.getRowById(e),getExistingRowKeys:()=>{let e=new Set;for(let t of i.rowModel.getSourceRows()){e.add(t.id);let r=t.data[n.rowKey];r!=null&&r!==``&&e.add(String(r))}return e},applyTransaction:e=>{r.commitTransaction(e)},onLoading:t=>{i.eventBus.emit(`treeChildrenLoading`,t),e(t.parentRowId)},onLoaded:t=>{i.eventBus.emit(`treeChildrenLoaded`,t),e(t.parentRowId)},onLoadFailed:t=>{i.eventBus.emit(`treeChildrenLoadFailed`,t),e(t.parentRowId)},onStateChanged:()=>{i.hierarchyOps.refreshTreeHierarchyVisuals()}})}return i.rowDragCommitService=new cx({persistMove:()=>{if(i.asyncRowMutation?.move)return e=>gx(e,{handlers:i.asyncRowMutation,getRowById:e=>i.rowModel.getRowById(e)})},applyPlan:e=>i.rowMutation.applyRowDragPlan(e),emitStarted:e=>{i.eventBus.emit(`rowDragCommitStarted`,e)},emitFinished:e=>{i.eventBus.emit(`rowDragCommitFinished`,e)},emitRowDragEnd:e=>{i.eventBus.emit(`rowDragEnd`,e)},setCommittingVisual:e=>r.setRowDragCommittingVisual(e)}),{ctx:i,dom:b,finalize:(e,t)=>{i.viewport.syncHorizontalLayout(),t.refreshFlexedColumnsOnViewportChange(!1),t.scheduleAutoSizeStrategy(),i.frameService.setScrollGridIfNeeded(()=>i.viewport.scrollGridIfNeeded()),t.refreshCellSpanCache(),i.rowRenderer.setValueCacheVersion(i.valueCache.getVersion()),i.viewport.redrawImmediately(),i.floatingFilterController&&i.filterOps.refreshFloatingFilter(),i.api=Hd(e),i.cellCommentService.init(i.api),i.viewport.bindScrollListener(),i.interaction.bindListeners(),i.resizeObserver=new ResizeObserver(()=>{i.viewport.syncViewportHeight(),t.refreshFlexedColumnsOnViewportChange(!0),i.viewport.redrawImmediately(),t.syncEmptyStateOverlay()}),i.resizeObserver.observe(b.viewportEl),t.syncEmptyStateOverlay(),i.infiniteDatasourceService&&(i.infiniteDatasourceService.init(),i.infiniteDatasourceService.loadInitialBlocks())}}}function hk(e){return e?.rowIds?{...e,rowIds:t.g(e.rowIds)}:e}function gk(e){return{...e,rowIds:t.g(e.rowIds)}}function _k(e){return{...e,cells:e.cells.map(e=>({...e,rowId:t.m(e.rowId)}))}}function vk(e){return e?.rowIds?{...e,rowIds:t.g(e.rowIds)}:e}function yk(e){return{...e,rowIds:t.g(e.rowIds)}}function bk(e){return{...e,cells:e.cells.map(e=>({...e,rowId:t.m(e.rowId)}))}}function xk(e){return e>=1e6?2e3:e>=1e5?500:e>=1e4?200:e>=1e3?100:50}function Sk(e){return{maxDomRows:80,maxSetDataMs:xk(e)}}function Ck(e,t){let n=Sk(t),r=e.activeDomRowCount<=n.maxDomRows,i=e.lastSetDataMs<=n.maxSetDataMs;return{domRowsPass:r,setDataPass:i,allPass:r&&i}}var wk=class{mountEl;rowModel;rowRenderer;frameService;columnViewport;rootEl;columnModel;valueCache;changeDetection;eventBus;rowKey;businessRowIdCtx;selectionService;indexFocusService;editingService;rowEditingService;cellFocusService;api;viewport;columnDragController;columnHandleMenuController;treeHierarchyMenuController;interaction;cellEditing;inlineCellEditorService;validationFeedback;cellRenderersByColId;cellEditorsByColId;summaryOptions;indexColumnOptions;selectionColumnOptions;filterGridOptions;showUnsortedSortHintOnHover;columnSortOptions;resolvedSummaryRowHeight;footerRenderer=null;floatingFilterController=null;lastSetDataMs=0;columnAutosizeService;columnFlexService;columnLayout;rowHeightService;rowAutoHeightService;rowDragOptions;rowDragCommitService;cellEditorCacheService;cellSpanService;rowExpansionOptions;rowExpansionService;rowGroupingOptions;rowGroupingService;treeTableOptions;treeTableService;treeLazyLoadService=null;infiniteDatasourceService=null;userColumns;detailRowAutoHeightService;cellCommentOptions;cellCommentService;overflowTooltipOptions;overflowTooltipSession;emptyStateGridOptions;emptyStateOptionsRaw={};loadMoreRowGridOptions;loadMoreRowOptionsRaw={};gridSize;overlayService;overlayRenderer;cellRangeOps;hierarchyOps;cellDisableContext;cellStyleContext;cellStyleOverrideService;rowHeightGridOptions;filterOps;selectionOps;rowMutation;gridFooter;resizeObserver=null;centerViewportWidth;autoSizeCellContentsPending;destroyed;suppressRowLayoutViewportSync;preserveScrollOnSetData;constructor(e,t){let n=this.createBootstrapHost(),r=mk(e,t,n);Object.assign(this,r.ctx),r.finalize(this,n),Object.assign(this,r.ctx)}createBootstrapHost(){let e=this;return{setSortModel:t=>e.setSortModel(t),getFilterModel:()=>e.getFilterModel(),setFilterModel:t=>e.setFilterModel(t),setColumnFixed:(t,n,r)=>e.setColumnFixed(t,n,r),getColumnDistinctFilterValues:t=>e.getColumnDistinctFilterValues(t),applyTreeHierarchyShortcut:(t,n)=>e.applyTreeHierarchyShortcut(t,n),beginUpdate:()=>e.beginUpdate(),endUpdate:()=>e.endUpdate(),commitTransaction:t=>e.commitTransaction(t),ensureIndexVisible:(t,n)=>e.ensureIndexVisible(t,n),ensureColumnVisible:t=>e.ensureColumnVisible(t),applyFocusVisuals:()=>e.applyFocusVisuals(),refreshCells:t=>e.refreshCells(t),getApi:()=>e.getApi(),getCellDisableContext:()=>e.getCellDisableContext(),getCellStyleContext:()=>e.getCellStyleContext(),getColIndex:t=>e.getColIndex(t),getPinnedRowIds:()=>e.getPinnedRowIds(),getCenterViewportWidth:()=>e.getCenterViewportWidth(),moveColumn:(t,n,r,i)=>e.moveColumn(t,n,r,i),finishColumnMove:t=>e.finishColumnMove(t),setColumnMoveLiveDragging:t=>e.setColumnMoveLiveDragging(t),setRowMoveLiveDragging:t=>e.setRowMoveLiveDragging(t),isAnyFilterActive:()=>e.isAnyFilterActive(),isCommitting:()=>e.isCommitting(),awaitCommitIdle:()=>e.awaitCommitIdle(),cancelCommit:()=>e.cancelCommit(),isEditingTargetRow:t=>e.isEditingTargetRow(t),clearCellEditorCacheForRemovedRows:t=>e.clearCellEditorCacheForRemovedRows(t),clearCellStyleOverridesForRemovedRows:t=>e.clearCellStyleOverridesForRemovedRows(t),refreshCellSpanCache:()=>e.refreshCellSpanCache(),reconcileRowPoolAfterDisplayChange:()=>e.reconcileRowPoolAfterDisplayChange(),syncEmptyStateOverlay:()=>e.syncEmptyStateOverlay(),handleOverlayChanged:(t,n)=>e.handleOverlayChanged(t,n),refreshFlexedColumnsOnViewportChange:t=>e.refreshFlexedColumnsOnViewportChange(t),scheduleAutoSizeStrategy:()=>e.scheduleAutoSizeStrategy(),setRowDragCommittingVisual:t=>e.setRowDragCommittingVisual(t),buildPlanRowDragMoveOptions:t=>e.buildPlanRowDragMoveOptions(t),isRowDragHandleEnabled:t=>e.isRowDragHandleEnabled(t),syncRowLayoutAfterRowHeightChange:t=>e.syncRowLayoutAfterRowHeightChange(t),getResolveDisplayRowContext:()=>e.getResolveDisplayRowContext(),getShowUnsortedSortHintOnHover:()=>e.showUnsortedSortHintOnHover,getEnableHeaderSortClick:()=>e.getEnableHeaderSortClick(),getEmptyStateGridOptions:()=>e.emptyStateGridOptions,getCellCommentOptions:()=>e.cellCommentOptions,getOverflowTooltipOptions:()=>e.overflowTooltipOptions}}getApi(){return this.api}setSelectable(e){this.selectionOps.setSelectable(e)}getCellDisableContext(){return this.cellDisableContext}getCellStyleContext(){return this.cellStyleContext}setIsRowDisabled(e){this.cellDisableContext=bt(this.cellDisableContext,e),this.rowRenderer.setGetCellDisableContext(()=>this.getCellDisableContext()),this.refreshDisabledState()}setRowStyle(e){this.cellStyleContext={...this.cellStyleContext,rowStyle:e},this.rowRenderer.setGetCellStyleContext(()=>this.getCellStyleContext()),this.refreshCellStyles()}setEditableCellStyle(e){this.cellStyleContext={...this.cellStyleContext,editableCellStyle:e},this.rowRenderer.setGetCellStyleContext(()=>this.getCellStyleContext()),this.refreshCellStyles()}setShowEditableCellIcon(e){this.cellStyleContext={...this.cellStyleContext,showEditableCellIcon:e},this.rowRenderer.setGetCellStyleContext(()=>this.getCellStyleContext()),this.refreshCellStyles()}setDisabledCellStyle(e){this.cellStyleContext={...this.cellStyleContext,disabledCellStyle:e},this.rowRenderer.setGetCellStyleContext(()=>this.getCellStyleContext()),this.refreshCellStyles()}setShowDisabledCellIcon(e){this.cellStyleContext={...this.cellStyleContext,showDisabledCellIcon:e},this.rowRenderer.setGetCellStyleContext(()=>this.getCellStyleContext()),this.refreshCellStyles()}refreshDisabledState(e){this.refreshCells({rowIds:e?.rowIds?.map(e=>String(e)),colIds:e?.colIds?[...e.colIds]:void 0,force:!0})}refreshCellStyles(e){this.refreshCells({rowIds:e?.rowIds?.map(e=>String(e)),colIds:e?.colIds?[...e.colIds]:void 0,force:!0})}setCellStyle(e,n,r){let i=t.m(e),a=this.rowModel.getRowById(i),o=this.columnModel.getColumnById(n);if(!a){Et(i,n,`row not found`);return}if(!o){Et(i,n,`column not found`);return}if(!kt(o,a)){Et(i,n,`cell is not style-eligible`);return}let s=!1;if(r===null)s=this.cellStyleOverrideService.delete(i,n);else if(Tt(r)){Et(i,n,`style must include backgroundColor or color`);return}else s=this.cellStyleOverrideService.set(i,n,r);s&&this.refreshCellStyles({rowIds:[i],colIds:[n]})}getCellStyle(e,n){let r=t.m(e),i=this.rowModel.getRowById(r),a=this.columnModel.getColumnById(n);return!i||!a?{}:Ln(a,i,this.getCellStyleContext())}getCellStyleOverride(e,n){return this.cellStyleOverrideService.get(t.m(e),n)}clearCellStyles(e){this.cellStyleOverrideService.clear(e),this.refreshCellStyles(e)}setReserveSelection(e){this.selectionOps.setReserveSelection(e)}setPreserveScrollOnSetData(e){this.preserveScrollOnSetData=e}setColumnMoveOptions(e){this.columnLayout.setColumnMoveOptions(e)}setColumnResizeOptions(e){this.columnLayout.setColumnResizeOptions(e)}setColumnSortOptions(e){if(e.sortable===void 0&&e.enableHeaderSortClick===void 0)return;let t=this.columnSortOptions.sortable,n=this.columnSortOptions.enableHeaderSortClick;this.columnSortOptions=$i({...this.columnSortOptions,...e});let r=e.sortable!==void 0&&e.sortable!==t,i=e.enableHeaderSortClick!==void 0&&e.enableHeaderSortClick!==n;r&&this.columnModel.setColumnSortGridOptions(this.columnSortOptions),(r||i)&&this.viewport.refreshHeader()}getEnableHeaderSortClick(){return this.columnSortOptions.enableHeaderSortClick}setColumnFilterOptions(e){if(e.filterable===void 0)return;let t=this.filterGridOptions.filterable;this.filterGridOptions=la({...this.filterGridOptions,filterable:e.filterable}),e.filterable!==t&&(this.columnModel.setColumnFilterGridOptions(this.filterGridOptions),this.viewport.refreshHeader(),this.filterOps.refreshFloatingFilter())}setColumnAutosizeOptions(e){let t=Mu(e);this.columnAutosizeService.setAutosizeOptions(t)}autoSizeColumn(e,t){this.columnLayout.autoSizeColumn(e,t,`autosizeColumns`)}autoSizeColumns(e,t){this.columnLayout.autoSizeColumns(e,t,`autosizeColumns`)}sizeColumnsToFit(e){this.columnLayout.sizeColumnsToFit(e)}setColumnWidths(e,t=!0,n=`api`){this.columnLayout.setColumnWidths(e,t,n)}setColumnWidth(e,t,n=!0,r=`api`){this.columnLayout.setColumnWidth(e,t,n,r)}getColumnWidth(e){return this.columnLayout.getColumnWidth(e)}setShowUnsortedSortHintOnHover(e){this.showUnsortedSortHintOnHover=e,this.viewport.refreshHeader()}toggleRowSelection(e,t,n){this.selectionOps.toggleRowSelection(e,t,n)}setIndexFocus(e,t){this.selectionOps.setIndexFocus(e,t),this.cellRangeOps.isCellSelectionEnabled()&&this.indexColumnOptions.showIndexColumn&&this.interaction.syncCellRangeFromIndexFocus()}toggleAllSelection(e){this.selectionOps.toggleAllSelection(e)}clearRowSelection(e){this.selectionOps.clearRowSelection(e)}setDefaultSelectedRows(e,t){this.selectionOps.setDefaultSelectedRows(e,t??{})}clearPendingDefaultSelectedRows(){this.selectionOps.clearPendingDefaultSelectedRows()}reconcileDefaultSelectedRows(){this.selectionOps.reconcilePendingDefaultSelectedRows(),this.selectionOps.flushPendingPresetTransientSelectionNotify()}getSelectedRowIds(){return this.selectionService?t.O(this.selectionService.getSelectedRowIds(),this.businessRowIdCtx):[]}getSelectedRows(){return this.selectionService?t.v(this.selectionService.getSelectedRowIds(),this.businessRowIdCtx):[]}async removeSelectedRows(e={}){if(!this.selectionService)return{add:[],remove:[],update:[]};let t=(e.scope??`all`)===`all`?[...this.selectionService.getSelectedRowIds()]:this.selectionService.getSelectedRowIds().filter(e=>this.rowModel.rowsToDisplay.some(t=>t.id===e));return t.length===0?{add:[],remove:[],update:[]}:(q(this.rowModel,`removeSelectedRows`),this.rowMutation.removeRows({rowIds:t}))}getIndexFocusedRowIds(e){return this.indexFocusService?t.x(this.getIndexFocusedRows(e),{mode:`all`}):[]}getIndexFocusedRows(e){return this.indexFocusService?t._(this.indexFocusService.getFocusedRowIds(),this.businessRowIdCtx,e):[]}isRowNodeSelectable(e){return this.selectionOps.isRowNodeSelectable(e)}getSelectableRowIdAt(e){return this.selectionOps.getSelectableRowIdAt(e)}getSummaryOptions(){return{...this.summaryOptions,summaryRowHeight:this.resolvedSummaryRowHeight}}getIndexColumnOptions(){return this.indexColumnOptions}getSelectionColumnOptions(){return this.selectionColumnOptions}on(e,t){return this.eventBus.on(e,t)}emitGridLifecycleEvent(e,t){this.destroyed||this.eventBus.emit(e,t)}getRowNode(e){return this.rowModel.getRowById(t.m(e))}getSiblingRowsByRowId(e,t){return qu(e,t,this.getResolveDisplayRowContext())}getSiblingRowByIterator(e,t){return Ju(e,t,this.getResolveDisplayRowContext())}getRowKind(e){return Fd(e,this.getResolveDisplayRowContext())}getRowIndex(e,t){return Md(e,this.getResolveRowIndexContext(),t)}getRowIndexes(e,t){return Nd(e,this.getResolveRowIndexContext(),t)}getRowByIndex(e){return Xu(e,this.getResolveDisplayRowContext())}getRowsByIndexes(e){return Zu(e,this.getResolveDisplayRowContext())}getRowSnapshots(e){return Qu(this.getResolveDisplayRowContext(),e)}getRowIds(e){return $u(this.getResolveDisplayRowContext(),e)}getResolveDisplayRowContext(){return dk({rowKey:this.rowKey,rowModel:this.rowModel})}getResolveRowIndexContext(){return{...this.getResolveDisplayRowContext(),sourceRows:this.rowModel.getSourceRows(),hasSortOrFilter:this.rowModel.getSortModel().length>0||Object.keys(this.rowModel.getFilterModel()).length>0}}ensureIndexVisible(e,t=`middle`){K(this.rowModel)&&this.infiniteDatasourceService?.ensureBlocksForRange(e,e),this.viewport.ensureIndexVisible(e,t)}ensureColumnVisible(e){this.viewport.ensureColumnVisible(e)}setData(e){if(q(this.rowModel,`setData`),yu(this.rowModel)){let t=this.rowModel.getRowKey();if(Du(e,this.rowModel.getSourceRows(),t))return}let t=this.preserveScrollOnSetData,n=t?this.viewport.getLogicalScrollTop():0,r=t?this.viewport.viewportEl.scrollLeft:0,i=performance.now(),a=this.selectionOps.reserveSelection&&this.selectionService?this.selectionService.getSelectedRowIds():null,o=(this.selectionService?.getSelectedRowIds().length??0)>0;this.selectionOps.reserveSelection||this.selectionService?.clear(),this.indexFocusService?.clear(),this.cellFocusService.clear(),this.validationFeedback.clear(this.mountEl),this.cellEditing.syncValidationHeaderDom(),this.treeLazyLoadService?.reset(),this.cellStyleOverrideService.clear();let s=new Set(this.rowModel.getSourceRows().map(e=>e.id));this.rowModel.setData(e);let c=new Set(this.rowModel.getSourceRows().map(e=>e.id)),l=[...s].filter(e=>!c.has(e));l.length>0&&(this.clearCellEditorCacheForRemovedRows(l),this.clearCellStyleOverridesForRemovedRows(l));let u=this.selectionOps.reconcileSelectionAfterSetData(a,o);t||this.viewport.resetScrollOnSetData(),this.viewport.syncViewportHeight(),this.valueCache.bump(),this.refreshCellSpanCache(),this.reconcileRowPoolAfterDisplayChange(c),this.rowRenderer.setValueCacheVersion(this.valueCache.getVersion()),this.rowRenderer.resetRowRenderWindowCache(),t?this.viewport.scrollTo(n,r):this.viewport.scrollTo(0,0),this.selectionOps.applySelectionVisuals(),this.selectionOps.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.selectionOps.reconcilePendingDefaultSelectedRows(),this.applyFocusVisuals(),this.lastSetDataMs=performance.now()-i,this.viewport.scheduleCompressedSetDataRedraw(()=>{this.viewport.syncViewportHeight(),this.viewport.redrawImmediately(),t&&this.viewport.scrollTo(n,r),this.gridFooter.refresh()}),this.gridFooter.refresh(),this.maybeApplyFitCellContentsStrategy(e.length),u&&this.selectionService&&this.eventBus.emit(`selectionChanged`,{selectedRowIds:this.selectionService.getSelectedRowIds(),source:`api`}),this.overlayService.markRowDataReady(),this.syncEmptyStateOverlay()}setColumns(e){this.userColumns=[...e],this.userColumns,rt(this.userColumns),this.rowGroupingService.syncRowGroupColumnsFromDefs(),this.columnModel.setColumns(Un(this.userColumns,this.indexColumnOptions,this.selectionColumnOptions,{rowExpansion:this.rowExpansionOptions,rowGrouping:this.rowGroupingService.active?this.rowGroupingOptions:void 0,treeTable:this.treeTableService.active?this.treeTableOptions:void 0}),this.cellRenderersByColId,this.cellEditorsByColId,void 0,this.columnLayout.columnMoveOptions,this.columnLayout.columnResizeOptions,this.columnSortOptions,this.filterGridOptions),this.overflowTooltipSession.close(),this.refreshCellSpanCache(),this.columnLayout.syncAfterColumnStructureChange(),this.syncEmptyStateOverlay()}getCenterViewportWidth(){let e=this.mountEl.querySelector(`.mg-viewport`)?.clientWidth??0,t=e>0?e:this.mountEl.clientWidth;return this.columnFlexService.resolveCenterViewportWidth(t)}refreshFlexedColumnsOnViewportChange(e){let t=this.getCenterViewportWidth();t===this.centerViewportWidth&&e||(this.centerViewportWidth=t,this.columnLayout.refreshFlexedColumns({fireResizedEvent:e}))}scheduleAutoSizeStrategy(){let e=this.columnAutosizeService.getAutoSizeStrategy();if(e){if(e.type===`fitGridWidth`||e.type===`fitProvidedWidth`){window.setTimeout(()=>{this.destroyed||this.columnLayout.applyAutoSizeFitWidthStrategy(e)},0);return}e.type===`fitCellContents`&&(this.autoSizeCellContentsPending=!0)}}maybeApplyFitCellContentsStrategy(e){if(!this.autoSizeCellContentsPending||e===0)return;let t=this.columnAutosizeService.getAutoSizeStrategy();!t||t.type!==`fitCellContents`||(this.autoSizeCellContentsPending=!1,window.setTimeout(()=>{this.destroyed||this.columnLayout.applyAutoSizeFitCellContentsStrategy(t)},0))}setSortModel(e){let t=Zi(e);if(K(this.rowModel)){this.rowModel.setSortModel(t),this.viewport.scrollTo(0,0),this.infiniteDatasourceService?.refreshCache(`sort`),this.viewport.refreshHeader(),this.eventBus.emit(`sortChanged`,{sortModel:this.rowModel.getSortModel()}),this.cellRangeOps.clearCellSelectionOnStructuralChange(),this.gridFooter.refresh();return}this.rowModel.setSortModel(t),this.viewport.syncViewportHeight(),this.valueCache.bump(),this.refreshCellSpanCache(),this.reconcileRowPoolAfterDisplayChange(),this.viewport.redrawImmediately(),this.viewport.refreshHeader(),this.eventBus.emit(`sortChanged`,{sortModel:this.rowModel.getSortModel()}),this.cellRangeOps.clearCellSelectionOnStructuralChange(),this.gridFooter.refresh()}getSortModel(){return this.rowModel.getSortModel()}setFilterModel(e){if(K(this.rowModel)){this.rowModel.setFilterModel(e),this.afterInfiniteFilterChange();return}this.filterOps.setFilterModel(e)}afterInfiniteFilterChange(){this.viewport.scrollTo(0,0),this.infiniteDatasourceService?.refreshCache(`filter`),this.viewport.refreshHeaderIndicatorState(),this.emitInfiniteFilterChanged()}emitInfiniteFilterChanged(){this.eventBus.emit(`filterChanged`,{filterModel:this.rowModel.getFilterModel(),quickFilterText:this.rowModel.getQuickFilterText()}),this.cellRangeOps.clearCellSelectionOnStructuralChange(),this.gridFooter.refresh()}refreshInfiniteCache(){this.infiniteDatasourceService?.refreshCache(`api`)}setInfiniteDatasource(e){if(!K(this.rowModel))throw Error(`[MagicGrid] setInfiniteDatasource() requires rowModelType "infinite"`);if(!this.infiniteDatasourceService)throw Error(`[MagicGrid] infinite datasource service is not initialized`);this.infiniteDatasourceService.setDatasource(e)}retryInfiniteBlock(e){this.infiniteDatasourceService?.retryBlock(e)}getLoadedRowData(){return this.infiniteDatasourceService?.getLoadedRowData()??[]}getInfiniteRowCount(){return this.infiniteDatasourceService?.getInfiniteRowCount()??this.rowModel.getRowCount()}getFilterModel(){return this.filterOps.getFilterModel()}getColumnFilter(e){return this.filterOps.getColumnFilter(e)}getColumnDistinctFilterValues(e){return K(this.rowModel)?[]:this.filterOps.getColumnDistinctFilterValues(e)}isColumnFilterActive(e){return this.filterOps.isColumnFilterActive(e)}isAnyFilterActive(){return this.filterOps.isAnyFilterActive()}getQuickFilterText(){return this.filterOps.getQuickFilterText()}setQuickFilterText(e){if(K(this.rowModel)){if(this.rowModel.getQuickFilterText()===e)return;this.rowModel.setQuickFilterText(e),this.afterInfiniteFilterChange();return}this.filterOps.setQuickFilterText(e)}clearAllFilters(){if(K(this.rowModel)){if(!this.isAnyFilterActive())return;this.rowModel.setFilterModel({}),this.rowModel.setQuickFilterText(``),this.afterInfiniteFilterChange();return}this.filterOps.clearAllFilters()}setColumnFilter(e,t){if(K(this.rowModel)){let n={...this.rowModel.getFilterModel()};t===null?delete n[e]:n[e]=t,this.setFilterModel(n);return}this.filterOps.setColumnFilter(e,t)}moveColumn(e,t,n=!0,r){return this.columnLayout.moveColumn(e,t,n,r)}resetColumnOrder(){return this.columnLayout.resetColumnOrder()}resetColumnWidths(){return this.columnLayout.resetColumnWidths()}setColumnFixed(e,t,n=`api`){return this.columnLayout.setColumnFixed(e,t,n)}setColumnsHidden(e,t){return this.columnLayout.setColumnsHidden(e,t,`api`)}isColumnHidden(e){return this.columnModel.isColumnHidden(e)}getDisplayedColumnIds(){return this.columnModel.getDisplayedColumnIds()}getColumns(){return this.columnModel.getColumns()}getDisplayedColumns(){return this.columnModel.getDisplayedColumns()}finishColumnMove(e){this.columnLayout.finishColumnMove(e)}setColumnMoveLiveDragging(e){this.columnLayout.setColumnMoveLiveDragging(e)}setRowMoveLiveDragging(e){this.rootEl.classList.toggle(`magic-grid--row-move-live`,e)}buildPlanRowDragMoveOptions(e){return{sourceRows:this.rowModel.getSourceRows(),displayRows:this.rowModel.rowsToDisplay,rowIds:e.rowIds,leaderRowId:e.leaderRowId,displayInsertIndex:e.displayInsertIndex,sortModelLength:this.rowModel.getSortModel().length,filterModelKeyCount:Object.keys(this.rowModel.getFilterModel()).length,isRowGroupingActive:this.rowGroupingService.active,isTreeActive:this.treeTableService.active,treeDragScope:this.treeTableOptions.treeDragScope,getDataPath:this.treeTableOptions.getDataPath,setDataPath:this.treeTableOptions.setDataPath,treeNestUnderRowId:typeof e.treeNestUnderRowId==`string`?e.treeNestUnderRowId:void 0}}setRowDragCommittingVisual(e){this.rootEl.classList.toggle(wa,e!=null),this.rowRenderer.setRowDragCommittingRows(e?.rowIds??null)}finishRowMove(e){this.rowMutation.finishRowMove(t.m(e))}applyTransaction(e){return q(this.rowModel,`applyTransaction`),this.rowMutation.applyTransaction(e)}commitTransaction(e){return q(this.rowModel,`commitTransaction`),this.rowMutation.commitTransaction(e)}addRows(e){return q(this.rowModel,`addRows`),this.rowMutation.addRows(e)}addRowsByArray(e,t){return q(this.rowModel,`addRowsByArray`),this.rowMutation.addRowsByArray(e,t)}addGroupRows(e){return q(this.rowModel,`addGroupRows`),this.rowMutation.addGroupRows(e)}addGroupRowsByArray(e,t){return q(this.rowModel,`addGroupRowsByArray`),this.rowMutation.addGroupRowsByArray(e,t)}removeRows(e){return q(this.rowModel,`removeRows`),this.rowMutation.removeRows(e)}updateRows(e){return q(this.rowModel,`updateRows`),this.rowMutation.updateRows(e)}patchRow(e){return this.updateRows({rows:[{rowId:t.b(e.row),data:e.data}]})}moveRow(e,n,r=`source`){return q(this.rowModel,`moveRow`),this.rowMutation.moveRow({rowId:t.m(e),toIndex:n,indexMode:r})}moveRows(e){q(this.rowModel,`moveRows`);let n=t.g(e.rowIds)??[];if(n.length===0)return Promise.resolve({moved:!1,reason:`no rows to move`});let r=this.rowModel.getSourceRows(),i=e.leaderRowId==null?Pu(r,n):t.m(e.leaderRowId);return this.rowMutation.moveRows({rowIds:n,leaderRowId:i,toIndex:e.toIndex,indexMode:e.indexMode},`api`)}moveUp(e){return this.moveRowByStep(e,`up`)}moveDown(e){return this.moveRowByStep(e,`down`)}moveUps(e){return this.moveRowsByStep(e,`up`)}moveDowns(e){return this.moveRowsByStep(e,`down`)}async moveRowsByStep(e,n){let r=t.g(e)??[];if(r.length===0)return[];let i=this.getResolveRowIndexContext(),a=new Set;for(let e of r){let t=Ru(e,i);if(t==null)return[];a.add(i.sourceRows[t].id)}let o=i.sourceRows.filter(e=>a.has(e.id)).map(e=>e.id),s=Ad({sourceRows:i.sourceRows,displayRows:i.displayRows,rowIds:o,direction:n,isRowGroupingActive:this.rowGroupingService.active,isTreeActive:this.treeTableService.active});if(s==null||!(await this.moveRows({rowIds:o,toIndex:s.toIndex,indexMode:s.indexMode})).moved)return[];let c=this.getResolveDisplayRowContext(),l=[];for(let e of o){let t=this.rowModel.getRowById(e);if(!t)continue;let n=Uu(t,c);n&&l.push(n)}return l}async moveRowByStep(e,n){let r=this.getResolveRowIndexContext(),i=Ru(t.m(e),r);if(i==null)return null;let a=r.sourceRows[i].id,o=jd({sourceRows:r.sourceRows,displayRows:r.displayRows,rowId:a,direction:n,isRowGroupingActive:this.rowGroupingService.active,isTreeActive:this.treeTableService.active});if(o==null||!(await this.moveRow(a,o.toIndex,o.indexMode)).moved)return null;let s=this.rowModel.getRowById(a);return s?Uu(s,this.getResolveDisplayRowContext())??null:null}setRowHeight(e,n,r=!0){this.rowHeightService.setRowHeight(t.m(e),n,r,`api`)}setRowHeights(e,n=!0){this.rowHeightService.setRowHeights(e.map(e=>({rowId:t.m(e.rowId),height:e.height})),{finished:n,source:`api`})}getRowHeight(e){return this.rowHeightService.getRowHeight(t.m(e))}resetRowHeights(e){this.rowHeightService.resetRowHeights(e?.map(e=>t.m(e)))}expandRow(e){return this.hierarchyOps.expandRow(e)}collapseRow(e){return this.hierarchyOps.collapseRow(e)}isRowExpanded(e){return this.hierarchyOps.isRowExpanded(e)}setDetailRowData(e,t){return this.hierarchyOps.setDetailRowData(e,t)}reloadDetailRowData(e){return this.hierarchyOps.reloadDetailRowData(e)}expandAll(){this.hierarchyOps.expandAll()}collapseAll(){this.hierarchyOps.collapseAll()}setRowGroupColumns(e){this.hierarchyOps.setRowGroupColumns(e)}getRowGroupColumns(){return this.hierarchyOps.getRowGroupColumns()}expandGroup(e){return this.hierarchyOps.expandGroup(e)}collapseGroup(e){return this.hierarchyOps.collapseGroup(e)}isGroupExpanded(e){return this.hierarchyOps.isGroupExpanded(e)}expandNode(e){return this.hierarchyOps.expandNode(e)}collapseNode(e){return this.hierarchyOps.collapseNode(e)}isNodeExpanded(e){return this.hierarchyOps.isNodeExpanded(e)}getDataPath(e){return this.hierarchyOps.getDataPath(e)}applyTreeHierarchyShortcut(e,t){this.hierarchyOps.applyTreeHierarchyShortcut(e,t)}getCellComment(e,n){return this.cellCommentService.getComment(t.m(e),n)}async setCellComment(e,n,r){await this.cellCommentService.setComment(t.m(e),n,r??null,`api`)}refreshCellComments(e){this.cellCommentService.requestRefresh(e),this.closeCellCommentPopupIfAnchorNotVisible()}getCellRanges(){return this.cellRangeOps.getCellRanges()}getCellSelectionAggregation(){return this.cellRangeOps.getCellSelectionAggregation()}clearCellSelection(){this.cellRangeOps.clearCellSelection()}addCellRange(e){this.cellRangeOps.addCellRange(e)}copySelectedRangeToClipboard(){this.cellRangeOps.copySelectedRangeToClipboard()}async pasteFromClipboard(){await this.cellRangeOps.pasteFromClipboard()}showLoadingOverlay(){this.updateEmptyStateOptions({loading:!0})}showNoRowsOverlay(){this.overlayService.showNoRowsOverlay()}hideOverlay(){this.overlayService.hideOverlay()}isOverlayShowing(){return this.overlayService.isOverlayShowing()}getOverlayType(){return this.overlayService.getOverlayType()}updateEmptyStateOptions(e){this.emptyStateOptionsRaw={...this.emptyStateOptionsRaw,...e},this.emptyStateGridOptions=qc(this.emptyStateOptionsRaw),this.syncEmptyStateOverlay(),this.refreshOverlayPresentation()}updateLoadMoreRowOptions(e){let t=this.loadMoreRowGridOptions.enabled,n=this.loadMoreRowGridOptions.height;if(this.loadMoreRowOptionsRaw={...this.loadMoreRowOptionsRaw,...e},Object.assign(this.loadMoreRowGridOptions,po(this.loadMoreRowOptionsRaw,this.gridSize)),t!==this.loadMoreRowGridOptions.enabled||n!==this.loadMoreRowGridOptions.height){this.syncLoadMoreRowDisplay();return}this.rowRenderer.refreshLoadMoreRowContent(),this.viewport.redrawImmediately()}syncLoadMoreRowDisplay(){yu(this.rowModel)&&(this.rowModel.rebuildDisplayProjection(),this.viewport.syncViewportHeight(),this.rowRenderer.invalidate(),this.viewport.redrawImmediately())}refreshOverlayPresentation(){let e=this.overlayService.getOverlayType();e!=null&&this.overlayRenderer.sync(e,this.overlayService.getOverlayPresentation())}handleOverlayChanged(e,t){t!=null&&this.eventBus.emit(`overlayHidden`,{overlayType:t}),this.overlayRenderer.sync(e,e==null?null:this.overlayService.getOverlayPresentation()),e!=null&&this.eventBus.emit(`overlayShown`,{overlayType:e})}syncEmptyStateOverlay(){this.destroyed||(K(this.rowModel)&&this.rowModel.getSourceRowCount()>0&&!this.overlayService.isRowDataReady()&&this.overlayService.markRowDataReady(),this.overlayRenderer.syncLayout(),this.overlayService.updateOverlay())}updateCellRangeVisualOptions(e){this.cellRangeOps.updateCellRangeVisualOptions(e)}updateCellSelectionOptions(e){this.cellRangeOps.updateCellSelectionOptions(e)}updateCellClipboardOptions(e){this.cellRangeOps.updateCellClipboardOptions(e)}applyFocusVisuals(){this.interaction.applyFocusVisuals()}updateCellCommentOptions(e){let t=this.cellCommentOptions.cellCommentsDataSource;this.cellCommentOptions=Po({...this.cellCommentOptions,...e}),t!==this.cellCommentOptions.cellCommentsDataSource&&(this.cellCommentService.resetDatasourceLifecycle(),this.destroyed||this.cellCommentService.init(this.api)),this.rowRenderer.setCellCommentHost(this.cellCommentService.createHost()),this.refreshCellComments()}updateOverflowTooltipOptions(e){this.overflowTooltipOptions=Tc({...this.overflowTooltipOptions,...e}),this.overflowTooltipSession.close()}setStatusBarElement(e){this.overflowTooltipSession.setStatusBarElement(e)}closeCellCommentPopupIfAnchorNotVisible(){let e=this.cellCommentService.getOpenEditorCell();if(!e)return;let t=this.rowModel.getRowIndexById(e.rowId);if(t<0){this.cellCommentService.closeEditor();return}let{firstRow:n,lastRow:r}=this.rowRenderer.getCurrentWindow();(t<n||t>r)&&this.cellCommentService.closeEditor()}updateDimensions(e){if(this.destroyed)return;let t=this.viewport.getLogicalScrollTop(),n=this.viewport.viewportEl.scrollLeft,r={...this.rowHeightGridOptions,rowHeightMin:e.rowHeightMin??this.rowHeightGridOptions.rowHeightMin,rowHeightMax:e.rowHeightMax??this.rowHeightGridOptions.rowHeightMax};this.rowHeightGridOptions=r;let i=e.rowHeight??this.rowHeightService.getDefaultRowHeight();this.rowModel.setDefaultRowHeight(i),this.rowRenderer.setDefaultRowHeight(i),this.suppressRowLayoutViewportSync=!0;try{this.rowHeightService.updateDefaultRowHeight(i,r)}finally{this.suppressRowLayoutViewportSync=!1}this.viewport.syncViewportHeight(),this.viewport.redrawImmediately(),this.viewport.scrollTo(t,n)}isRowDragHandleEnabled(e){if(this.rowDragCommitService?.isCommitting())return!1;let n=this.isSortOrFilterActive(),{rowDragManaged:r}=this.rowDragOptions;return t.it(e)?Aa(this.indexColumnOptions.indexColumn.showRowDragHandle,n,r):this.columnModel.getColumnById(e)?.rowDrag?Aa(!0,n,r):!1}isSortOrFilterActive(){return this.rowModel.getSortModel().length>0||this.isAnyFilterActive()}getData(e){return K(this.rowModel)?(Su(),this.getLoadedRowData()):this.rowMutation.getData(e)}promoteRowId(e){return q(this.rowModel,`promoteRowId`),this.rowMutation.promoteRowId(e)}beginUpdate(){this.rowMutation.beginUpdate()}endUpdate(){this.rowMutation.endUpdate()}refreshCells(e){this.rowRenderer.setValueCacheVersion(this.valueCache.getVersion()),this.frameService.flushAllFrames();let t=this.rowRenderer.refreshRows(e??{});return this.frameService.flushAllFrames(),t}refreshCellSpans(){this.refreshCellSpanCache(),this.valueCache.bump(),this.rowRenderer.setValueCacheVersion(this.valueCache.getVersion()),this.rowRenderer.invalidate(),this.viewport.redrawImmediately(),this.gridFooter.refresh()}getCellSpan(e,n){return this.cellSpanService.getCellSpan(t.m(e),n)}getColumnModel(){return this.columnModel}getRowModel(){return this.rowModel}getActiveDomRowCount(){return this.rowRenderer.getActiveRowCount()}getRenderedRowWindow(){return this.rowRenderer.getCurrentWindow()}getMetrics(){let e=this.rowRenderer.getCurrentWindow(),t=this.viewport.getLogicalScrollTop();return{rowCount:this.rowModel.getRowCount(),sourceRowCount:this.rowModel.getSourceRowCount(),columnCount:this.columnModel.getColumnCount(),activeDomRowCount:this.rowRenderer.getActiveRowCount(),domCellCount:this.mountEl.querySelectorAll(`.mg-cell`).length,scrollTop:t,scrollLeft:this.viewport.viewportEl.scrollLeft,totalHeight:this.rowModel.getTotalHeight(),totalWidth:this.columnModel.getTotalWidth(),renderedFirstRow:e.firstRow,renderedLastRow:e.lastRow,renderedFirstCol:e.firstCol,renderedLastCol:e.lastCol,lastSetDataMs:this.lastSetDataMs}}refreshCellSpanCache(){this.cellSpanService.refresh()}reconcileRowPoolAfterDisplayChange(e=this.collectSourceRowIds()){this.rowRenderer.reconcileRowPoolAfterModelChange(e,this.cellSpanService.active)}collectSourceRowIds(){return new Set(this.rowModel.getSourceRows().map(e=>e.id))}syncRowLayoutAfterRowHeightChange(e){let t=e.map(e=>e.rowId);if(this.suppressRowLayoutViewportSync){this.rowRenderer.syncVisibleRowLayouts(t);return}let n=this.viewport.captureScrollAnchor(),r=0,i=0;if(yu(this.rowModel))for(let t of e){if(!I(t.rowId))continue;let e=t.previousRowHeight;if(e==null||e===t.rowHeight)continue;let n=this.rowModel.getDisplayRowById(t.rowId);n&&(r=n.rowTop,i+=t.rowHeight-e)}this.viewport.syncViewportHeightWithDetailCompensation({anchor:n,detailRowTop:r,heightDelta:i}),this.rowRenderer.syncVisibleRowLayouts(),this.viewport.syncBorderClosureState()}scrollTo(e,t){this.viewport.scrollTo(e,t)}flushFrames(){this.frameService.flushAllFrames()}getPendingFrameTaskCount(){return this.frameService.getPendingTaskCount()}getPendingRendererTaskCount(){return this.frameService.getPendingRendererTaskCount()}startEditingCell(e){this.cellEditing.startEditingCell(e)}stopEditing(e=!1){return this.cellEditing.stopEditing(e).then(()=>void 0)}async commit(e=!1){let t=await this.cellEditing.commit(e);return e||await this.awaitCommitIdle(),e?t:t&&!this.cellEditing.isEditing()}isCommitting(){return this.cellEditing.isCommitting()||this.inlineCellEditorService.isCommitting()}cancelCommit(){this.cellEditing.cancelCommit(),this.inlineCellEditorService.cancelCommit()}async awaitCommitIdle(){await this.cellEditing.awaitCommitIdle(),await this.inlineCellEditorService.awaitCommitIdle()}isEditing(){return this.cellEditing.isEditing()}getEditSessionPhase(){return this.cellEditing.getEditSessionPhase()}getEditingCell(){let e=this.cellEditing.getEditingCell();return e?{colId:e.colId,rowId:t.D(e.rowId,this.businessRowIdCtx)}:null}getEditingCells(){return this.cellEditing.getEditingCells().map(e=>{let n=this.rowModel.getRowById(e.rowId),r=this.columnModel.getColumnById(e.colId),i=n&&r?W(n,r):n?.data[e.colId];return{rowId:t.D(e.rowId,this.businessRowIdCtx),rowIndex:e.rowIndex,colId:e.colId,data:n?t.N(n,this.rowKey):{},value:i}})}validate(e){return this.cellEditing.validate(hk(e)).then(e=>t.w(e,this.businessRowIdCtx))}validateRows(e){return this.cellEditing.validateRows(gk(e)).then(e=>t.w(e,this.businessRowIdCtx))}validateCells(e){return this.cellEditing.validateCells(_k(e)).then(e=>t.w(e,this.businessRowIdCtx))}clearValidation(e){this.cellEditing.clearValidation(vk(e))}clearRowValidation(e){this.cellEditing.clearRowValidation(yk(e))}clearCellValidation(e){this.cellEditing.clearCellValidation(bk(e))}registerCellEditor(e,t){this.cellEditing.registerCellEditor(e,t)}unregisterCellEditor(e){return this.cellEditing.unregisterCellEditor(e)}resolveCellEditorCacheAccess(e){return t.o(e,{rowKey:this.rowKey,resolveRowById:e=>this.rowModel.resolveRowById(e),getSourceRows:()=>this.rowModel.getSourceRows()})}getCellEditorCache(e,t,n){let r=this.resolveCellEditorCacheAccess(e);return this.cellEditorCacheService.get(r.rowId,t,n,{internalRowId:r.internalRowId})}setCellEditorCache(e,t,n,r){let i=this.resolveCellEditorCacheAccess(e);this.cellEditorCacheService.set(i.rowId,t,n,r,{internalRowId:i.internalRowId})}clearCellEditorCache(e,t,n){if(e==null){this.cellEditorCacheService.clear(void 0,t,n);return}let r=this.resolveCellEditorCacheAccess(e);this.cellEditorCacheService.clear(r.rowId,t,n,{internalRowId:r.internalRowId})}clearAllCellEditorCache(){this.cellEditorCacheService.clearAll()}clearCellStyleOverridesForRemovedRows(e){e.length!==0&&this.cellStyleOverrideService.clear({rowIds:e})}clearCellEditorCacheForRemovedRows(e){let{businessRowIds:t,transientInternalRowIds:n}=ju(e,{rowKey:this.rowModel.getRowKey(),getRowById:e=>this.rowModel.getRowById(e)});this.cellEditorCacheService.removeByRowIds(t,{internalRowIds:n})}destroy(){this.destroyed||(this.destroyed=!0,this.infiniteDatasourceService?.destroy(),this.infiniteDatasourceService=null,this.rowDragCommitService?.destroy(),this.cellCommentService.destroy(),this.cellStyleOverrideService.clear(),this.cellRangeOps.destroy(),this.overflowTooltipSession.destroy(),this.overlayRenderer?.destroy(),this.overlayService?.destroy(),this.rowRenderer.setCellCommentHost(void 0),this.cellEditing.cancelEditingOnDestroy(),this.cellEditorCacheService.clearAll(),this.changeDetection.reset(),this.eventBus.destroy(),this.cellEditing.destroy(),this.resizeObserver?.disconnect(),this.resizeObserver=null,this.viewport.unbindScrollListener(),this.interaction.unbindListeners(),this.columnHandleMenuController.destroy(),this.treeHierarchyMenuController.destroy(),this.columnDragController.destroy(),this.frameService.flushAllFrames(),this.frameService.destroy(),this.rowAutoHeightService.destroy(),this.detailRowAutoHeightService?.destroy(),this.rowRenderer.destroy(),this.footerRenderer?.destroy(),this.footerRenderer=null,this.floatingFilterController?.destroy(),this.floatingFilterController=null,this.rootEl.remove())}getColIndex(e){return this.columnModel.getColumns().findIndex(t=>t.colId===e)}getPinnedRowIds(){let e=new Set;for(let t of this.editingService.getPinnedRowIds())e.add(t);for(let t of this.rowEditingService.getPinnedRowIds())e.add(t);if(this.rowExpansionOptions.masterDetail)for(let t of this.rowExpansionService.getPinnedRowIds())e.add(t);return e}isEditingTargetRow(e){return this.cellEditing.getEditingCell()?.rowId===e||this.cellEditing.getEditingCells().some(t=>t.rowId===e)}},Tk=`--mg-color-bg-cell`,Ek=`--mg-color-text-regular`,Dk=`--mg-color-text-primary`,Ok=[Tk,Ek,Dk];function kk(e){if(e==null)return;let t=e.trim();return t===``?void 0:t}function Ak(e){let t=kk(e?.backgroundColor),n=kk(e?.color);return t===void 0&&n===void 0?{}:{...t===void 0?{}:{backgroundColor:t},...n===void 0?{}:{color:n}}}function jk(e){let t=Ak(e),n={};return t.backgroundColor!==void 0&&(n[Tk]=t.backgroundColor),t.color!==void 0&&(n[Ek]=t.color,n[Dk]=t.color),n}function Mk(e){return e??`light`}function Nk(e){return`magic-grid--theme-${e}`}function Pk(e,t){return e===`dark`?jk(t):{}}function Fk(e,t,n){if(!e)return;for(let t of Ok)e.style.removeProperty(t);let r=Pk(t,n);for(let[t,n]of Object.entries(r))e.style.setProperty(t,n)}function Ik(e){if(e===!1)return!1;let t=e===!0||e==null?{}:e,n=typeof e==`object`&&!!e&&`handleMode`in e,r={...t,enableColumnSelection:t.enableColumnSelection??!0};if(n){let e=t.handleMode??`off`;r.handleMode=e,e===`fill`&&(r.fillStrategy=t.fillStrategy??`copy`)}return r}function Lk(e){return{...e,syncToSelectionColumn:e?.syncToSelectionColumn??!0}}function Rk(e){return Ts({cellSelection:e}).enabled}function zk(e){let r=(0,n.ref)(0),i=(0,n.ref)(0),a=()=>{r.value+=1};return{statusBarContext:(0,n.computed)(()=>{r.value;let n=e.api.value,a=n?.getMetrics(),s=t.$(e.rowSelection.value).mode!==!1,c=Rk(e.cellSelection.value),l=e.rowModelType.value===`infinite`;return{api:n,totalRowCount:l?n?.getInfiniteRowCount()??a?.rowCount??0:a?.sourceRowCount??0,displayedRowCount:a?.rowCount??0,isFiltered:l?n?.isAnyFilterActive()??!1:n?.isAnyFilterActive()??(a!=null&&a.sourceRowCount!==a.rowCount),selectedRowCount:i.value,rowSelectionEnabled:s,cellSelectionEnabled:c,cellSelectionAggregation:c?n?.getCellSelectionAggregation()??null:null,statusBarRangeAggregationPrecision:o(e.statusBarRangeAggregationPrecision.value),metrics:a}}),bumpRefresh:a,onSelectionChanged:e=>{i.value=e.length,a()},resetSelectionCount:()=>{i.value=0}}}var Bk=new WeakMap;function Vk(e){try{(0,n.render)(null,e)}catch{e.replaceChildren()}}function Hk(e){let t=(Bk.get(e)??0)+1;Bk.set(e,t),Vk(e)}function Uk(e,t){t?.();let n=Bk.get(e)??0;queueMicrotask(()=>{(Bk.get(e)??0)===n&&Vk(e)})}function Wk(e,t){Hk(e),(0,n.render)(t,e)}var Gk=class{appContext=null;setAppContext(e){this.appContext=e}getAppContext(){return this.appContext}render(e,t){this.appContext&&(t.appContext=this.appContext),Wk(e,t)}unmount(e){Uk(e,()=>pp(e))}};function Kk(e,t){return fa((n,r)=>{e.render(r.mountEl,t(n)),yp(r.mountEl)})}function qk(e,t){return Kk(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var Jk=class{render(e,t){Wk(e,t)}unmount(e){Uk(e)}};function Yk(e,t){return(n,r)=>{e.render(r.mountEl,t(n))}}function Xk(e,t){return Yk(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var Zk=class{render(e,t){Wk(e,t)}unmount(e){Uk(e)}};function Qk(e,t){return(n,r)=>{e.render(r.mountEl,t(n))}}function $k(e,t){return Qk(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var eA=new Zk,tA=class{render(e,t){Wk(e,t)}unmount(e){Uk(e,()=>pp(e))}};function nA(e){return{params:e,...e.cellEditorParams??{}}}function rA(e){return typeof e==`function`}function iA(e,t,r,i){let a=rA(r)?r(i):(0,n.h)(r,nA(i));e.render(t,a),yp(t)}function aA(e,t){return bn((n,r)=>{iA(e,r.mountEl,t,n)})}function oA(e,t){return aA(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var sA=class{mountEl=null;render(e,t){this.unmount(),this.mountEl=e,Wk(e,t)}unmount(){this.mountEl&&=(Uk(this.mountEl),null)}};function cA(e,t){return(n,r)=>{let i=t(n),a=Array.isArray(i)?i[0]:i;return e.render(r,a),{getGui:()=>r,destroy:()=>e.unmount()}}}var lA=class{mountEl=null;render(e,t){this.unmount(),this.mountEl=e,Wk(e,t)}unmount(){this.mountEl&&=(Uk(this.mountEl),null)}};function uA(e,t){return(n,r)=>{let i=t(n),a=Array.isArray(i)?i[0]:i;return e.render(r,a),{getGui:()=>r,destroy:()=>e.unmount()}}}var dA=new Gk,fA=new Jk,pA=new tA,mA=new sA,hA=new lA;function gA(e,t){return e.key??e.prop??`col_${t}`}function _A(){dA.setAppContext((0,n.getCurrentInstance)()?.appContext??null)}function vA(e,t){let n={};return e.forEach((e,r)=>{let i=gA(e,r);e.cellRenderer&&(n[i]=e.cellRenderer);let a=t[`cell-${i}`];a&&(n[i]=qk(dA,e=>a({row:e.data,value:e.value,formattedValue:e.formattedValue,rowIndex:e.rowIndex,rowId:e.rowId,colId:e.colId,isSummaryRow:e.isSummaryRow??!1})))}),n}function yA(e,t){let n={};return e.forEach((e,r)=>{let i=gA(e,r);e.cellEditor&&typeof e.cellEditor==`function`&&(n[i]=e.cellEditor);let a=t[`cell-editor-${i}`];a&&(n[i]=oA(pA,e=>a({params:e,row:e.data,value:e.value,formattedValue:e.formattedValue,rowIndex:e.rowIndex,rowId:e.rowId,colId:e.colId,stopEditing:e.stopEditing})))}),n}function bA(e,t){let n=t.tooltip;return n?cA(mA,e=>n(e)):e}function xA(e,t,n){let r=t[e];return r?uA(hA,e=>r({overlayType:e.overlayType,api:e.api,overlayText:e.overlayText})):n}function SA(e,t){return{loading:e.loading,suppressOverlays:e.suppressOverlays,suppressLoadingOverlay:e.suppressLoadingOverlay,suppressNoRowsOverlay:e.suppressNoRowsOverlay,suppressNoMatchingRowsOverlay:e.suppressNoMatchingRowsOverlay,overlayLoadingTemplate:e.overlayLoadingTemplate,overlayNoRowsTemplate:e.overlayNoRowsTemplate,overlayNoMatchingRowsTemplate:e.overlayNoMatchingRowsTemplate,overlayInteraction:e.overlayInteraction,overlayComponent:e.overlayComponent,overlayComponentParams:e.overlayComponentParams,loadingOverlayComponent:xA(`loading`,t,e.loadingOverlayComponent),loadingOverlayComponentParams:e.loadingOverlayComponentParams,noRowsOverlayComponent:xA(`no-rows`,t,e.noRowsOverlayComponent),noRowsOverlayComponentParams:e.noRowsOverlayComponentParams,noMatchingRowsOverlayComponent:xA(`no-matching-rows`,t,e.noMatchingRowsOverlayComponent),noMatchingRowsOverlayComponentParams:e.noMatchingRowsOverlayComponentParams}}function CA(e,t){let n=t[`load-more-row`];return n?$k(eA,e=>n({...e})):e}function wA(e,t){let n=t[`detail-row`];return n?Xk(fA,e=>n({row:e.data,rowId:e.rowId,masterRowId:e.masterRowId,detailRowData:e.detailRowData,loading:e.loading,loadFailed:e.loadFailed,loadError:e.loadError})):e}function TA(e){dA.unmount(e),fA.unmount(e),eA.unmount(e)}function EA(e){pA.unmount(e)}function DA(){mA.unmount(),hA.unmount()}function OA(e){if(typeof e==`number`)return Number.isFinite(e)?`${e}px`:`100%`;let t=e.trim();return t.length===0?`100%`:/^\d+(\.\d+)?$/.test(t)?`${t}px`:t}function kA(e,t){e===`infinite`&&t.length>0&&console.warn(`[MagicGrid] row-model-type="infinite" ignores the data prop; use infinite-datasource instead.`)}function AA(e,t){return e===`infinite`?(t&&console.warn(`[MagicGrid] row-model-type="infinite" does not support row-drag-managed; it has been disabled.`),!1):t}function jA(t,r,i){let a=(0,n.ref)(),o=(0,n.ref)(),s=(0,n.ref)(),c=(0,n.shallowRef)(),l=(0,n.shallowRef)(),u=!1,d=[];function f(e,t,n){let i={api:t,reason:n};e.emitGridLifecycleEvent(`gridDestroyed`,i),r(`grid-destroyed`,i)}function p(e){let t={api:e};r(`grid-ready`,t),queueMicrotask(()=>{c.value&&l.value===e&&c.value.emitGridLifecycleEvent(`gridReady`,t)})}let{statusBarContext:m,bumpRefresh:h,onSelectionChanged:g,resetSelectionCount:_}=zk({api:l,rowModelType:(0,n.computed)(()=>t.rowModelType),rowSelection:(0,n.computed)(()=>t.rowSelection),cellSelection:(0,n.computed)(()=>t.cellSelection),statusBarRangeAggregationPrecision:(0,n.computed)(()=>t.statusBarRangeAggregationPrecision)}),v=(0,n.computed)(()=>!!i.toolbar),y=(0,n.computed)(()=>qn({size:t.size,rowHeight:t.rowHeight,headerHeight:t.headerHeight})),b=(0,n.computed)(()=>Kn({rounded:t.rounded,sizeBorderRadius:y.value.borderRadius})),x=(0,n.computed)(()=>Mk(t.theme)),S=(0,n.computed)(()=>Ik(t.cellSelection)),C=(0,n.computed)(()=>Lk(t.indexColumn)),w=(0,n.computed)(()=>Jn(t.statusBarHeight,y.value.statusBarHeight)),T=(0,n.computed)(()=>({api:l.value,size:y.value.size,portalEl:o.value??void 0})),E=(0,n.computed)(()=>({height:OA(t.height),width:OA(t.width),...ir({...y.value,statusBarHeight:w.value},b.value,t.summaryRowHeight),...jk(t.cellColor)})),D=(0,n.computed)(()=>{let e=w.value,{fontSize:t,spacing:n}=y.value,r=Yn(e);return{height:`${e}px`,minHeight:`${e}px`,maxHeight:`${e}px`,fontSize:`${t}px`,paddingLeft:`${n}px`,paddingRight:`${n}px`,gap:`${n}px`,"--mg-status-bar-height":`${e}px`,"--mg-status-bar-font-size":`${t}px`,"--mg-status-bar-control-height":`${r}px`}}),O=(0,n.computed)(()=>[`magic-grid`,`magic-grid--border-${t.border}`,`magic-grid--size-${y.value.size}`,Nk(x.value),t.showSummary&&`magic-grid--has-footer`,t.showStatusBar&&`magic-grid--has-status-bar`,v.value&&`magic-grid--has-toolbar`]),k=()=>{if(!c.value)return;let e=c.value.getMetrics();r(`data-rendered`,e);let t=l.value;if(!u&&t){u=!0;let n={api:t,metrics:e};c.value.emitGridLifecycleEvent(`firstRendered`,n),r(`first-rendered`,n)}h(),l.value?.reconcileDefaultSelectedRows()},A=()=>{if(t.rowModelType===`infinite`)return;let e=l.value;if(!e)return;let n=t.defaultSelectedRows;if(n==null){e.clearPendingDefaultSelectedRows();return}e.setDefaultSelectedRows(n,{mode:`cover`})},j=()=>{requestAnimationFrame(()=>{k()})},M=e=>{let t=e.setData.bind(e);e.setData=e=>{t(e),j()}},N=e=>{for(let e of d)e();d.length=0,d.push(e.on(`cellClicked`,e=>r(`cell-clicked`,e)),e.on(`rowClicked`,e=>r(`row-click`,e)),e.on(`rowDoubleClicked`,e=>r(`row-dblclick`,e)),e.on(`selectionChanged`,e=>{g(e.selectedRowIds),r(`selection-changed`,e)}),e.on(`indexFocusChanged`,e=>r(`index-focus-changed`,e)),e.on(`cellValueChanged`,e=>{r(`cell-value-changed`,e),h()}),e.on(`rowDataChanged`,e=>r(`row-data-changed`,e)),e.on(`rowsDataChanged`,e=>r(`rows-data-changed`,e)),e.on(`cellEditingStarted`,e=>r(`cell-editing-started`,e)),e.on(`cellEditingStopped`,e=>r(`cell-editing-stopped`,e)),e.on(`cellCommitStarted`,e=>r(`cell-commit-started`,e)),e.on(`cellCommitFinished`,e=>r(`cell-commit-finished`,e)),e.on(`editCommitAborted`,e=>r(`edit-commit-aborted`,e)),e.on(`rowCommitStarted`,e=>r(`row-commit-started`,e)),e.on(`rowCommitFinished`,e=>r(`row-commit-finished`,e)),e.on(`rowEditingStarted`,e=>r(`row-editing-started`,e)),e.on(`rowEditingStopped`,e=>r(`row-editing-stopped`,e)),e.on(`rowValueChanged`,e=>r(`row-value-changed`,e)),e.on(`cellValidationFailed`,e=>r(`cell-validation-failed`,e)),e.on(`rowValidationFailed`,e=>r(`row-validation-failed`,e)),e.on(`sortChanged`,e=>r(`sort-changed`,e.sortModel)),e.on(`columnMoved`,e=>r(`column-moved`,e)),e.on(`columnResized`,e=>r(`column-resized`,e)),e.on(`columnPinned`,e=>r(`column-pinned`,e)),e.on(`columnHiddenChanged`,e=>r(`column-hidden-changed`,e)),e.on(`filterChanged`,e=>{r(`filter-changed`,e.filterModel),h()}),e.on(`rowsAdded`,e=>{r(`rows-added`,e),h(),j()}),e.on(`rowsRemoved`,e=>{r(`rows-removed`,e),h()}),e.on(`rowIdPromoted`,e=>{r(`row-id-promoted`,e),j()}),e.on(`rowMoved`,e=>r(`row-moved`,e)),e.on(`rowDragEnd`,e=>r(`row-drag-end`,e)),e.on(`rowDragCommitStarted`,e=>r(`row-drag-commit-started`,e)),e.on(`rowDragCommitFinished`,e=>r(`row-drag-commit-finished`,e)),e.on(`rowHeightChanged`,e=>r(`row-height-changed`,e)),e.on(`rowExpanded`,e=>r(`row-expanded`,e)),e.on(`rowCollapsed`,e=>r(`row-collapsed`,e)),e.on(`rowGroupOpened`,e=>r(`row-group-opened`,e)),e.on(`treeNodeOpened`,e=>r(`tree-node-opened`,e)),e.on(`treeChildrenLoading`,e=>r(`tree-children-loading`,e)),e.on(`treeChildrenLoaded`,e=>r(`tree-children-loaded`,e)),e.on(`treeChildrenLoadFailed`,e=>r(`tree-children-load-failed`,e)),e.on(`rowGroupChanged`,e=>r(`row-group-changed`,e)),e.on(`cellCommentChanged`,e=>r(`cell-comment-changed`,e)),e.on(`cellSelectionChanged`,e=>{r(`cell-selection-changed`,e),h()}),e.on(`cellSelectionDeleteStart`,e=>r(`cell-selection-delete-start`,e)),e.on(`cellSelectionDeleteEnd`,e=>r(`cell-selection-delete-end`,e)),e.on(`overlayShown`,e=>r(`overlay-shown`,e)),e.on(`overlayHidden`,e=>r(`overlay-hidden`,e)),e.on(`scroll`,e=>r(`scroll`,e)),e.on(`scrollStart`,e=>r(`scroll-start`,e)),e.on(`scrollEnd`,e=>r(`scroll-end`,e)),e.on(`scrollTop`,e=>r(`scroll-top`,e)),e.on(`scrollBottom`,e=>r(`scroll-bottom`,e)),e.on(`loadMore`,e=>r(`load-more`,e)),e.on(`infiniteBlockLoading`,e=>r(`infinite-block-loading`,e)),e.on(`infiniteBlockLoaded`,e=>r(`infinite-block-loaded`,e)),e.on(`infiniteBlockLoadFailed`,e=>r(`infinite-block-load-failed`,e)),e.on(`infiniteCachePurged`,e=>r(`infinite-cache-purged`,e)))},P=()=>{Fk(a.value?.querySelector(`.mg-body`),x.value,t.cellColor)};function F(){c.value?.setStatusBarElement(t.showStatusBar?s.value?.statusBarEl??null:null)}let I=()=>{if(!a.value)return;_A();for(let e of d)e();d.length=0;let r=c.value,o=l.value;r&&o&&f(r,o,`reinit`),r?.destroy(),_(),t.columns,t.columns,t.columns,rt(t.columns),kA(t.rowModelType,t.data),rb({tree:t.tree,rowGrouping:t.rowGrouping}),c.value=new wk(a.value,{columns:e.r(t.columns),rowKey:t.rowKey,rowModelType:t.rowModelType,infiniteDatasource:t.infiniteDatasource,blockSize:t.blockSize,maxBlocksInCache:t.maxBlocksInCache,infiniteInitialRowCount:t.infiniteInitialRowCount,infiniteMaxRetries:t.infiniteMaxRetries,infiniteLoadingRowVisible:t.infiniteLoadingRowVisible,rowHeight:y.value.rowHeight,headerHeight:y.value.headerHeight,size:y.value.size,rowBuffer:t.rowBuffer,scrollEndFlushMs:t.scrollEndFlushMs,frameBudgetMs:t.frameBudgetMs,scrollEndFrameBudgetMs:t.scrollEndFrameBudgetMs,cellRendererDefer:t.cellRendererDefer,deferRowDestroyOnScroll:t.deferRowDestroyOnScroll,rendererFrameBudgetMs:t.rendererFrameBudgetMs,cellRendererPresentation:t.cellRendererPresentation,stripe:t.stripe,rowSelection:t.rowSelection,selectable:t.selectable,isRowDisabled:t.isRowDisabled,rowStyle:t.rowStyle,editableCellStyle:t.editableCellStyle,showEditableCellIcon:t.showEditableCellIcon,disabledCellStyle:t.disabledCellStyle,showDisabledCellIcon:t.showDisabledCellIcon,reserveSelection:t.reserveSelection,preserveScrollOnSetData:t.preserveScrollOnSetData,editType:t.editType,editBehavior:t.editBehavior,editorOptions:t.editorOptions,invalidEditValueMode:t.invalidEditValueMode,rowValidator:t.rowValidator,asyncRowMutation:t.asyncRowMutation,showIndexColumn:t.showIndexColumn,indexColumn:C.value,selectionColumn:t.selectionColumn,showSummary:t.showSummary,navigateHeader:t.navigateHeader,navigateFooter:t.navigateFooter,summaryScope:t.summaryScope,summaryRowHeight:t.summaryRowHeight,summaryMethod:t.summaryMethod,headerAlign:t.headerAlign,headerValign:t.headerValign,align:t.align,valign:t.valign,footerAlign:t.footerAlign,footerValign:t.footerValign,defaultSort:t.defaultSort,sortable:t.sortable,enableHeaderSortClick:t.enableHeaderSortClick,columnMovable:t.columnMovable,resizable:t.resizable,colResizeDefault:t.colResizeDefault,skipHeaderOnAutoSize:t.skipHeaderOnAutoSize,autoSizePadding:t.autoSizePadding,autoSizeStrategy:t.autoSizeStrategy,suppressMoveWhenColumnDragging:t.suppressMoveWhenColumnDragging,suppressColumnMoveAnimation:t.suppressColumnMoveAnimation,allowCrossLaneColumnMove:t.allowCrossLaneColumnMove,showUnsortedSortHintOnHover:t.showUnsortedSortHintOnHover,quickFilterText:t.quickFilterText,filterable:t.filterable,floatingFilter:t.floatingFilter,filterSetValueMode:t.filterSetValueMode,filterSetDateLayoutMode:t.filterSetDateLayoutMode,rowDragManaged:AA(t.rowModelType,t.rowDragManaged),getRowHeight:t.getRowHeight,rowHeightMin:t.rowHeightMin,rowHeightMax:t.rowHeightMax,enableCellSpan:t.enableCellSpan,enableCellEditorCache:t.enableCellEditorCache,cellEditorCacheMaxEntries:t.cellEditorCacheMaxEntries,masterDetail:t.masterDetail,isRowMaster:t.isRowMaster,masterDefaultExpanded:t.masterDefaultExpanded,detailRowHeight:t.detailRowHeight,detailRowAutoHeight:t.detailRowAutoHeight,embedFullWidthRows:t.embedFullWidthRows,showExpandColumn:t.showExpandColumn,getDetailRowData:t.getDetailRowData,detailCellRenderer:wA(t.detailCellRenderer,i),loadMoreRowEnabled:t.loadMoreRow?.enabled??!1,loadMoreRowHeight:t.loadMoreRow?.height,loadMoreRowLoading:t.loadMoreRow?.loading??!1,loadMoreRowHasMore:t.loadMoreRow?.hasMore,loadMoreRowLabels:t.loadMoreRow?.labels,loadMoreRowRenderer:CA(t.loadMoreRowRenderer,i),rowGrouping:t.rowGrouping,groupDefaultExpanded:t.groupDefaultExpanded,showGroupHeader:t.showGroupHeader,showGroupFooter:t.showGroupFooter,groupDisplayType:t.groupDisplayType,showGroupColumn:t.showGroupColumn,autoGroupColumnDef:t.autoGroupColumnDef,groupKeyCreator:t.groupKeyCreator,groupComparator:t.groupComparator,groupSortKey:t.groupSortKey,groupFooterLabel:t.groupFooterLabel,groupCellRenderer:t.groupCellRenderer,tree:t.tree,getDataPath:t.getDataPath,showTreeColumn:t.showTreeColumn,autoTreeColumnDef:t.autoTreeColumnDef,treeValueGetter:t.treeValueGetter,treeDisplayType:t.treeDisplayType,treeDragScope:t.treeDragScope,treeHierarchyActions:t.treeHierarchyActions,setDataPath:t.setDataPath,treeLazyLoad:t.treeLazyLoad,hasTreeChildren:t.hasTreeChildren,loadTreeChildren:t.loadTreeChildren,cellCommentsDataSource:t.cellCommentsDataSource,suppressCellComments:t.suppressCellComments,cellCommentTrigger:t.cellCommentTrigger,cellCommentShowDelay:t.cellCommentShowDelay,cellCommentHideDelay:t.cellCommentHideDelay,cellSelection:S.value,enableCellCopy:t.enableCellCopy,enableCellPaste:t.enableCellPaste,enableHeaderHighlight:t.enableHeaderHighlight,enableIndexColumnHighlight:t.enableIndexColumnHighlight,processCellForClipboard:t.processCellForClipboard,processCellFromClipboard:t.processCellFromClipboard,processDataFromClipboard:t.processDataFromClipboard,enableTooltips:t.enableTooltips,tooltipShowMode:t.tooltipShowMode,tooltipShowDelay:t.tooltipShowDelay,tooltipSwitchShowDelay:t.tooltipSwitchShowDelay,tooltipHideDelay:t.tooltipHideDelay,tooltipInteraction:t.tooltipInteraction,tooltipMouseTrack:t.tooltipMouseTrack,tooltipComponent:bA(t.tooltipComponent,i),tooltipComponentParams:t.tooltipComponentParams,...SA(t,i),cellRenderers:{byColId:vA(t.columns,i)},cellEditors:{byColId:yA(t.columns,i),byName:t.cellEditorRegistry},onUnmountRenderer:e=>{TA(e)},onUnmountEditor:e=>{EA(e)}}),l.value=c.value.getApi();let s=l.value;s&&M(s),A(),N(c.value),t.rowModelType!==`infinite`&&c.value.setData(t.data),u=!1,s&&p(s),j(),P(),(0,n.nextTick)(()=>F())};return(0,n.onMounted)(()=>{I()}),(0,n.watch)(x,P),(0,n.watch)(()=>t.cellColor,P,{deep:!0}),(0,n.watch)(()=>t.quickFilterText,e=>{let t=c.value?.getApi();!t||t.getQuickFilterText()===e||t.setQuickFilterText(e)}),(0,n.watch)(()=>[t.cellCommentsDataSource,t.suppressCellComments,t.cellCommentTrigger,t.cellCommentShowDelay,t.cellCommentHideDelay],()=>{c.value?.updateCellCommentOptions({cellCommentsDataSource:t.cellCommentsDataSource,suppressCellComments:t.suppressCellComments,cellCommentTrigger:t.cellCommentTrigger,cellCommentShowDelay:t.cellCommentShowDelay,cellCommentHideDelay:t.cellCommentHideDelay})}),(0,n.watch)(()=>[S.value,t.enableCellCopy,t.enableCellPaste],()=>{c.value?.updateCellSelectionOptions({cellSelection:S.value,enableCellCopy:t.enableCellCopy,enableCellPaste:t.enableCellPaste})}),(0,n.watch)(()=>[t.enableHeaderHighlight,t.enableIndexColumnHighlight],()=>{c.value?.updateCellRangeVisualOptions({enableHeaderHighlight:t.enableHeaderHighlight,enableIndexColumnHighlight:t.enableIndexColumnHighlight})}),(0,n.watch)(()=>[t.processCellForClipboard,t.processCellFromClipboard,t.processDataFromClipboard],()=>{c.value?.updateCellClipboardOptions({processCellForClipboard:t.processCellForClipboard,processCellFromClipboard:t.processCellFromClipboard,processDataFromClipboard:t.processDataFromClipboard})}),(0,n.watch)(()=>[t.enableTooltips,t.tooltipShowMode,t.tooltipShowDelay,t.tooltipSwitchShowDelay,t.tooltipHideDelay,t.tooltipInteraction,t.tooltipMouseTrack,t.tooltipComponent,t.tooltipComponentParams,i.tooltip],()=>{c.value?.updateOverflowTooltipOptions({enableTooltips:t.enableTooltips,tooltipShowMode:t.tooltipShowMode,tooltipShowDelay:t.tooltipShowDelay,tooltipSwitchShowDelay:t.tooltipSwitchShowDelay,tooltipHideDelay:t.tooltipHideDelay,tooltipInteraction:t.tooltipInteraction,tooltipMouseTrack:t.tooltipMouseTrack,tooltipComponent:bA(t.tooltipComponent,i),tooltipComponentParams:t.tooltipComponentParams})}),(0,n.watch)(()=>[t.loadMoreRow?.enabled,t.loadMoreRow?.height,t.loadMoreRow?.loading,t.loadMoreRow?.hasMore,t.loadMoreRow?.labels,t.loadMoreRowRenderer,i[`load-more-row`]],()=>{c.value?.updateLoadMoreRowOptions({loadMoreRowEnabled:t.loadMoreRow?.enabled??!1,loadMoreRowHeight:t.loadMoreRow?.height,loadMoreRowLoading:t.loadMoreRow?.loading??!1,loadMoreRowHasMore:t.loadMoreRow?.hasMore,loadMoreRowLabels:t.loadMoreRow?.labels,loadMoreRowRenderer:CA(t.loadMoreRowRenderer,i)})}),(0,n.watch)(()=>[t.loading,t.suppressOverlays,t.suppressLoadingOverlay,t.suppressNoRowsOverlay,t.suppressNoMatchingRowsOverlay,t.overlayLoadingTemplate,t.overlayNoRowsTemplate,t.overlayNoMatchingRowsTemplate,t.overlayInteraction,t.loadingOverlayComponent,t.loadingOverlayComponentParams,t.noRowsOverlayComponent,t.noRowsOverlayComponentParams,t.noMatchingRowsOverlayComponent,t.noMatchingRowsOverlayComponentParams,t.overlayComponent,t.overlayComponentParams,i.loading,i[`no-rows`],i[`no-matching-rows`]],()=>{c.value?.updateEmptyStateOptions(SA(t,i))}),(0,n.watch)(()=>[t.showStatusBar,s.value],()=>{(0,n.nextTick)(()=>F())}),(0,n.watch)(()=>t.data,e=>{t.rowModelType!==`infinite`&&(c.value?.setData(e),j())}),(0,n.watch)(()=>t.defaultSelectedRows,()=>{A()}),(0,n.watch)(()=>t.selectable,e=>{c.value?.setSelectable(e)}),(0,n.watch)(()=>t.isRowDisabled,e=>{c.value?.setIsRowDisabled(e)}),(0,n.watch)(()=>t.rowStyle,e=>{c.value?.setRowStyle(e)}),(0,n.watch)(()=>t.editableCellStyle,e=>{c.value?.setEditableCellStyle(e)}),(0,n.watch)(()=>t.showEditableCellIcon,e=>{c.value?.setShowEditableCellIcon(e)}),(0,n.watch)(()=>t.disabledCellStyle,e=>{c.value?.setDisabledCellStyle(e)}),(0,n.watch)(()=>t.showDisabledCellIcon,e=>{c.value?.setShowDisabledCellIcon(e)}),(0,n.watch)(()=>t.reserveSelection,e=>{c.value?.setReserveSelection(e)}),(0,n.watch)(()=>t.preserveScrollOnSetData,e=>{c.value?.setPreserveScrollOnSetData(e)}),(0,n.watch)(()=>t.showUnsortedSortHintOnHover,e=>{c.value?.setShowUnsortedSortHintOnHover(e)}),(0,n.watch)(()=>t.sortable,e=>{c.value?.setColumnSortOptions({sortable:e})}),(0,n.watch)(()=>t.enableHeaderSortClick,e=>{c.value?.setColumnSortOptions({enableHeaderSortClick:e})}),(0,n.watch)(()=>t.filterable,e=>{c.value?.setColumnFilterOptions({filterable:e})}),(0,n.watch)(()=>t.resizable,e=>{c.value?.setColumnResizeOptions({resizable:e})}),(0,n.watch)(()=>[t.columnMovable,t.suppressMoveWhenColumnDragging,t.suppressColumnMoveAnimation,t.allowCrossLaneColumnMove],([e,t,n,r])=>{c.value?.setColumnMoveOptions({columnMovable:e,suppressMoveWhenColumnDragging:t,suppressColumnMoveAnimation:n,allowCrossLaneColumnMove:r})}),(0,n.watch)(()=>({rowHeight:y.value.rowHeight,rowHeightMin:t.rowHeightMin,rowHeightMax:t.rowHeightMax}),(e,t)=>{if(!c.value||!t)return;let r=c.value.getMetrics()?.scrollTop??0,i=c.value.getMetrics()?.scrollLeft??0;c.value.updateDimensions(e),(0,n.nextTick)(()=>{c.value?.scrollTo(r,i),requestAnimationFrame(()=>{c.value?.scrollTo(r,i)})})}),(0,n.watch)(()=>t.columns,()=>{c.value&&(c.value.setColumns(e.r(t.columns)),c.value.getApi().refreshCellStyles(),j())}),(0,n.watch)(()=>[t.size,t.headerHeight,t.rowBuffer,t.rowModelType,t.infiniteDatasource,t.blockSize,t.maxBlocksInCache,t.infiniteInitialRowCount,t.infiniteMaxRetries,t.infiniteLoadingRowVisible,t.scrollEndFlushMs,t.frameBudgetMs,t.scrollEndFrameBudgetMs,t.cellRendererDefer,t.deferRowDestroyOnScroll,t.rowKey,t.stripe,t.rowSelection,t.editType,t.editBehavior,t.editorOptions,t.invalidEditValueMode,t.rowValidator,t.asyncRowMutation,t.showIndexColumn,t.indexColumn,t.selectionColumn,t.showSummary,t.floatingFilter,t.navigateHeader,t.navigateFooter,t.summaryScope,t.summaryRowHeight,t.summaryMethod,t.headerAlign,t.headerValign,t.align,t.valign,t.footerAlign,t.footerValign,t.cellEditorRegistry,t.rowDragManaged,t.getRowHeight,t.enableCellSpan,t.enableCellEditorCache,t.cellEditorCacheMaxEntries,t.masterDetail,t.isRowMaster,t.masterDefaultExpanded,t.detailRowHeight,t.detailRowAutoHeight,t.embedFullWidthRows,t.showExpandColumn,t.getDetailRowData,t.detailCellRenderer,t.rowGrouping,t.groupDefaultExpanded,t.showGroupHeader,t.showGroupFooter,t.groupDisplayType,t.showGroupColumn,t.autoGroupColumnDef,t.groupKeyCreator,t.groupComparator,t.groupSortKey,t.groupFooterLabel,t.groupCellRenderer,t.tree,t.getDataPath,t.showTreeColumn,t.autoTreeColumnDef,t.treeValueGetter,t.treeDisplayType,t.treeDragScope,t.treeHierarchyActions,t.setDataPath,t.treeLazyLoad,t.hasTreeChildren,t.loadTreeChildren,i[`detail-row`]],()=>{I()}),(0,n.onUnmounted)(()=>{for(let e of d)e();d.length=0;let e=l.value,t=c.value;t&&e&&f(t,e,`unmount`),c.value?.destroy(),DA(),c.value=void 0,l.value=void 0}),{mountRef:a,portalRef:o,statusBarComponentRef:s,rootClass:O,rootStyle:E,statusBarContext:m,statusBarBindings:(0,n.computed)(()=>({context:m.value,barStyle:D.value,showDefaultPanels:t.showDefaultStatusBarPanels,showStatusBarRangeAggregation:t.showStatusBarRangeAggregation,statusBarRangeAggregationPosition:t.statusBarRangeAggregationPosition})),hasToolbarSlot:v,toolbarContext:T,exposeApi:{get api(){return l.value},getMetrics:()=>c.value?.getMetrics(),scrollTo:(e,t)=>{c.value?.scrollTo(e,t)},setSortModel:e=>{c.value?.setSortModel(e),j()},getSortModel:()=>c.value?.getSortModel()??[],setFilterModel:e=>{c.value?.setFilterModel(e),j()},getData:e=>c.value?.getData(e)??[],applyTransaction:async e=>{let t=await c.value?.applyTransaction(e);return j(),t},beginUpdate:()=>{c.value?.beginUpdate()},endUpdate:()=>{c.value?.endUpdate(),j()},ensureIndexVisible:(e,t)=>{c.value?.ensureIndexVisible(e,t)},flushFrames:()=>{c.value?.flushFrames()},getPendingFrameTaskCount:()=>c.value?.getPendingFrameTaskCount()??0,getPendingRendererTaskCount:()=>c.value?.getPendingRendererTaskCount()??0,setDefaultSelectedRows:(e,t)=>{l.value?.setDefaultSelectedRows(e,t)}}}}var MA=[`data-status-bar`,`data-toolbar`],NA={key:0,class:`magic-grid__toolbar`},PA=(0,n.defineComponent)({inheritAttrs:!1,__name:`MagicGrid`,props:y,emits:`scroll.scroll-start.scroll-end.scroll-top.scroll-bottom.load-more.data-rendered.grid-ready.grid-destroyed.first-rendered.cell-clicked.row-click.row-dblclick.selection-changed.index-focus-changed.cell-value-changed.row-data-changed.rows-data-changed.cell-editing-started.cell-editing-stopped.cell-commit-started.cell-commit-finished.edit-commit-aborted.row-commit-started.row-commit-finished.row-editing-started.row-editing-stopped.row-value-changed.cell-validation-failed.row-validation-failed.sort-changed.column-moved.column-resized.column-pinned.column-hidden-changed.filter-changed.rows-added.rows-removed.row-id-promoted.row-moved.row-drag-end.row-drag-commit-started.row-drag-commit-finished.row-height-changed.row-expanded.row-collapsed.row-group-opened.row-group-changed.tree-node-opened.tree-children-loading.tree-children-loaded.tree-children-load-failed.cell-comment-changed.cell-selection-changed.cell-selection-delete-start.cell-selection-delete-end.overlay-shown.overlay-hidden.infinite-block-loading.infinite-block-loaded.infinite-block-load-failed.infinite-cache-purged`.split(`.`),setup(e,{expose:t,emit:r}){let i=e,a=r,o=(0,n.useSlots)(),{mountRef:s,portalRef:c,statusBarComponentRef:l,exposeApi:u,rootClass:d,rootStyle:f,statusBarContext:p,statusBarBindings:m,hasToolbarSlot:h,toolbarContext:g}=jA(i,a,o);return t(u),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)((0,n.unref)(d)),style:(0,n.normalizeStyle)((0,n.unref)(f)),"data-status-bar":i.showStatusBar?`true`:`false`,"data-toolbar":(0,n.unref)(h)?`true`:`false`},[(0,n.unref)(h)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,NA,[(0,n.renderSlot)(e.$slots,`toolbar`,(0,n.normalizeProps)((0,n.guardReactiveProps)((0,n.unref)(g))))])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,{ref_key:`mountRef`,ref:s,class:`magic-grid__mount`},null,512),(0,n.createElementVNode)(`div`,{ref_key:`portalRef`,ref:c,class:`magic-grid__portal`,"aria-hidden":`true`},null,512),i.showStatusBar?((0,n.openBlock)(),(0,n.createBlock)(v,(0,n.mergeProps)({key:1,ref_key:`statusBarComponentRef`,ref:l},(0,n.unref)(m),{"has-custom-status-bar-slot":!!(0,n.unref)(o)[`status-bar`],"has-left-slot":!!(0,n.unref)(o)[`status-bar-left`],"has-right-slot":!!(0,n.unref)(o)[`status-bar-right`]}),(0,n.createSlots)({"status-bar-left":(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`status-bar-left`,(0,n.normalizeProps)((0,n.guardReactiveProps)((0,n.unref)(p))))]),"status-bar-right":(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`status-bar-right`,(0,n.normalizeProps)((0,n.guardReactiveProps)((0,n.unref)(p))))]),_:2},[(0,n.unref)(o)[`status-bar`]?{name:`status-bar`,fn:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`status-bar`,(0,n.normalizeProps)((0,n.guardReactiveProps)((0,n.unref)(p))))]),key:`0`}:void 0]),1040,[`has-custom-status-bar-slot`,`has-left-slot`,`has-right-slot`])):(0,n.createCommentVNode)(``,!0)],14,MA))}}),FA={"sliders-vertical":[[`path`,{d:`M10 8h4`}],[`path`,{d:`M12 21v-9`}],[`path`,{d:`M12 8V3`}],[`path`,{d:`M17 16h4`}],[`path`,{d:`M19 12V3`}],[`path`,{d:`M19 21v-5`}],[`path`,{d:`M3 14h4`}],[`path`,{d:`M5 10V3`}],[`path`,{d:`M5 21v-7`}]],"list-restart":[[`path`,{d:`M21 6H3`}],[`path`,{d:`M7 12H3`}],[`path`,{d:`M7 18H3`}],[`path`,{d:`M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14`}],[`path`,{d:`M11 10v4h4`}]],sort:[[`path`,{d:`m21 16-4 4-4-4`}],[`path`,{d:`M17 20V4`}],[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}]],filter:[[`path`,{d:`M3 6h18`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M10 18h4`}]],width:[[`path`,{d:`m18 8 4 4-4 4`}],[`path`,{d:`m6 8-4 4 4 4`}],[`path`,{d:`M2 12h20`}]],order:[[`path`,{d:`M8 3 4 7 8 11`}],[`path`,{d:`M4 7h16`}],[`path`,{d:`m16 21 4-4-4-4`}],[`path`,{d:`M20 17H4`}]],pin:[[`path`,{d:`M12 17v5`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3.76`}]],all:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]]},IA={class:`mg-column-settings-menu__icon-svg`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},LA=(0,n.defineComponent)({__name:`ColumnSettingsMenuIcon`,props:{name:{}},setup(e){let t=e,r=(0,n.computed)(()=>FA[t.name]);return(t,i)=>((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,IA,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(r.value,([t,r],i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.resolveDynamicComponent)(t),(0,n.mergeProps)({key:`${e.name}-${t}-${i}`},{ref_for:!0},r),null,16))),128))]))}}),RA={key:0,class:`mg-column-settings-menu__item-icon`},zA={class:`mg-column-settings-menu__item-label`},BA=(0,n.defineComponent)({__name:`ColumnSettingsMenuItem`,props:{label:{}},setup(e){return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{type:`button`,class:(0,n.normalizeClass)((0,n.unref)(Zs)),role:`menuitem`},[t.$slots.icon?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,RA,[(0,n.renderSlot)(t.$slots,`icon`)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`span`,zA,[(0,n.renderSlot)(t.$slots,`default`,{},()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.label),1)])])],2))}}),VA=[`aria-expanded`],HA={class:`mg-column-settings-menu__item-leading`},UA={class:`mg-column-settings-menu__item-icon`},WA=(0,n.defineComponent)({__name:`ColumnSettingsMenu`,props:{showDivider:{type:Boolean}},emits:[`column-settings`,`custom-action`,`reset`],setup(e,{emit:t}){let r=t,i=[{scope:`sort`,label:`排序`,icon:`sort`},{scope:`filter`,label:`筛选`,icon:`filter`},{scope:`width`,label:`列宽`,icon:`width`},{scope:`order`,label:`列顺序`,icon:`order`},{scope:`pin`,label:`固定列`,icon:`pin`},{scope:`all`,label:`全部`,icon:`all`}],a=(0,n.ref)(!1),o=(0,n.ref)(!1),s=(0,n.ref)(null),c=(0,n.ref)(null);function l(){r(`column-settings`)}function u(){let e=s.value?.querySelector(`.${rc}`),t=c.value;if(!e||!t)return;o.value=!1;let n=e.getBoundingClientRect(),r=t.offsetWidth;n.right+r>window.innerWidth-8&&(o.value=!0)}async function d(){a.value=!0,await(0,n.nextTick)(),u()}function f(){a.value=!1}function p(e){let t=e.relatedTarget,n=s.value;t instanceof Node&&n?.contains(t)||f()}function m(e){r(`reset`,e)}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)((0,n.unref)(Xs)),role:`menu`},[(0,n.createVNode)(BA,{label:`列设置`,onClick:l},{icon:(0,n.withCtx)(()=>[(0,n.createVNode)(LA,{name:`sliders-vertical`})]),_:1}),(0,n.createElementVNode)(`div`,{ref_key:`resetSubmenuRef`,ref:s,class:(0,n.normalizeClass)([(0,n.unref)(tc),{"mg-column-settings-menu__submenu--open":a.value}]),onMouseenter:d,onMouseleave:f,onFocusin:d,onFocusout:p},[(0,n.createElementVNode)(`button`,{type:`button`,class:(0,n.normalizeClass)([(0,n.unref)(Zs),(0,n.unref)(rc)]),role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":a.value},[(0,n.createElementVNode)(`span`,HA,[(0,n.createElementVNode)(`span`,UA,[(0,n.createVNode)(LA,{name:`list-restart`})]),r[1]||=(0,n.createElementVNode)(`span`,{class:`mg-column-settings-menu__item-label`},`重置`,-1)]),r[2]||=(0,n.createElementVNode)(`svg`,{class:`mg-column-settings-menu__item-chevron`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,n.createElementVNode)(`path`,{d:`m9 18 6-6-6-6`})],-1)],10,VA),(0,n.withDirectives)((0,n.createElementVNode)(`div`,{ref_key:`resetSubmenuPanelRef`,ref:c,class:(0,n.normalizeClass)([(0,n.unref)(nc),{"mg-column-settings-menu__submenu-panel--flip":o.value}]),role:`menu`},[((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(i,e=>(0,n.createVNode)(BA,{key:e.scope,label:e.label,onClick:t=>m(e.scope)},{icon:(0,n.withCtx)(()=>[(0,n.createVNode)(LA,{name:e.icon},null,8,[`name`])]),_:2},1032,[`label`,`onClick`])),64))],2),[[n.vShow,a.value]])],34),e.showDivider?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:(0,n.normalizeClass)((0,n.unref)(ec)),role:`separator`,"aria-orientation":`horizontal`},null,2)):(0,n.createCommentVNode)(``,!0),e.showDivider?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:1,class:`mg-column-settings-menu__custom`,onClick:r[0]||=e=>t.$emit(`custom-action`)},[(0,n.renderSlot)(t.$slots,`default`)])):(0,n.createCommentVNode)(``,!0)],2))}}),GA=[`disabled`,`aria-disabled`,`title`],KA=(0,n.defineComponent)({__name:`ColumnSettingsClearFiltersBar`,props:{gridApi:{},canClearAllFilters:{type:Boolean}},emits:[`change`],setup(e,{emit:t}){let r=e,i=t;function a(){r.gridApi.clearAllFilters(),i(`change`)}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{type:`button`,class:(0,n.normalizeClass)((0,n.unref)(ic)),disabled:!e.canClearAllFilters,"aria-disabled":!e.canClearAllFilters,title:e.canClearAllFilters?void 0:`当前无筛选`,onClick:a},` 清除全部筛选 `,10,GA))}});function qA(e){let t=null,n=()=>{t!=null&&(clearTimeout(t),t=null)};return{applyInput(r,i){n();let a=e.getColumnFilterType(r),o=()=>{let t=gw(r,{operatorLogic:i.operatorLogic,operatorConditions:i.operatorConditions,setAllSelected:i.setAllSelected,selectedValues:i.selectedValues},e.getFilterModel(),a);e.setFilterModel(t)};if(i.source===`set`){o();return}t=setTimeout(()=>{t=null,o()},300)},clearColumn(t){n();let r=e.getColumnFilterType(t),i=vw(t,e.getFilterModel());return e.setFilterModel(i),mw(t,i,r,e.getColumnDistinctKeys(t))},destroy(){n()}}}var JA=(0,n.defineComponent)({__name:`ColumnFilterPanelEmbed`,props:{colId:{},gridApi:{},filterSetValueMode:{default:sa},filterSetDateLayoutMode:{default:ca}},emits:[`change`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(null),o=null,s=null,c=qA({getFilterModel:()=>r.gridApi.getFilterModel(),setFilterModel:e=>{r.gridApi.setFilterModel(e),i(`change`)},getColumnFilterType:e=>r.gridApi.getColumns().find(t=>t.colId===e)?.filterType??`text`,getColumnDistinctKeys:e=>r.gridApi.getColumnDistinctFilterValues(e).map(e=>e.key)});function l(){let e=r.gridApi.getColumns().find(e=>e.colId===r.colId)?.filterType??`text`,t=r.gridApi.getColumnDistinctFilterValues(r.colId).map(e=>e.key);return mw(r.colId,r.gridApi.getFilterModel(),e,t)}function u(){d();let e=a.value;if(!e)return;let t=r.gridApi.getColumns().find(e=>e.colId===r.colId);t?.filterable&&(s=new AbortController,o=Kw({colId:r.colId,filterModel:r.gridApi.getFilterModel(),columnFilterType:t.filterType,distinctFilterValues:r.gridApi.getColumnDistinctFilterValues(r.colId),filterSetValueMode:r.filterSetValueMode,filterSetDateLayoutMode:r.filterSetDateLayoutMode,abortSignal:s.signal,onFilterInput:e=>{c.applyInput(r.colId,e)},onFilterClear:()=>{let e=c.clearColumn(r.colId);e&&o?.panelRoot&&o.syncState(e),i(`change`)}}),e.append(o.root))}function d(){s?.abort(),s=null,o=null,a.value?.replaceChildren()}function f(){o?.panelRoot&&o.syncState(l())}return(0,n.onMounted)(()=>{u()}),(0,n.onBeforeUnmount)(()=>{c.destroy(),d()}),(0,n.watch)(()=>r.colId,()=>{u()}),(0,n.watch)(()=>r.gridApi.getFilterModel(),()=>{f()},{deep:!0}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`hostRef`,ref:a,class:`mg-column-settings__filter-embed`},null,512))}});function YA(e){return e===null?`asc`:e===`asc`?`desc`:null}function XA(e,t,n){return t===null?JC(e,n):t===`asc`?KC(e,n):qC(e,n)}function ZA(e,t,n){e.setSortModel(XA(t,n,e.getSortModel()))}function QA(e,t,n){let r=YA(n);return ZA(e,t,r),r}function $A(e,t,n){return e.setColumnFixed(t,n)}function ej(e){return e===`asc`?`升序`:e===`desc`?`降序`:`无排序`}function tj(e){return e===`left`?`固定左侧`:e===`right`?`固定右侧`:`不固定`}var nj=`[magic-grid] ColumnSettings: at least one user column must remain visible.`;function rj(e){return e.filter(e=>uc(e.colId)&&Bs(e)).length}function ij(e){return e.filter(e=>uc(e.colId)&&e.hidden).map(e=>e.colId)}function aj(e,t){if(!uc(e))return!1;let n=t.find(t=>t.colId===e);return!n||n.hidden?!1:rj(t)>1}function oj(e,t,n,r={}){let i=r.warn??(e=>console.warn(e));return!n&&!aj(t,e.getColumns())?(i(nj),!1):e.setColumnsHidden([t],!n)}function sj(e){let t=ij(e.getColumns());return t.length!==0&&e.setColumnsHidden(t,!1)}var cj=[`data-col-id`],lj={class:`mg-column-settings__row-main`},uj=[`draggable`,`aria-disabled`,`title`],dj=[`title`],fj={key:1,class:`mg-column-settings__row-actions`},pj=[`aria-label`,`title`],mj=[`aria-expanded`,`aria-label`],hj=[`aria-label`],gj=[`aria-checked`,`aria-label`,`title`,`onClick`],_j=[`title`],vj=[`checked`,`aria-label`],yj=(0,n.defineComponent)({__name:`ColumnSettingsRow`,props:{row:{},gridApi:{},draggable:{type:Boolean},dragOver:{type:Boolean},dragging:{type:Boolean},showSort:{type:Boolean,default:!0},showPin:{type:Boolean,default:!0},showFilter:{type:Boolean,default:!0},showVisibility:{type:Boolean,default:!0},showDragHandle:{type:Boolean,default:!0},filterSetValueMode:{default:sa},filterSetDateLayoutMode:{default:ca}},emits:[`dragstart`,`dragend`,`change`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(!1),o=[null,`left`,`right`];function s(){!r.gridApi||!r.row.sortable||(QA(r.gridApi,r.row.colId,r.row.sortDirection),i(`change`))}function c(e){!r.gridApi||r.row.fixed===e||$A(r.gridApi,r.row.colId,e)&&i(`change`)}function l(){a.value=!a.value}function u(e){if(!r.gridApi)return;let t=e.target,n=t.checked;if(!oj(r.gridApi,r.row.colId,n)){t.checked=!n;return}i(`change`)}function d(e){if(!r.draggable){e.preventDefault();return}i(`dragstart`,e)}function f(e){r.draggable&&i(`dragend`,e)}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)([(0,n.unref)(sc),{[(0,n.unref)(cc)]:e.row.filterActive,"mg-column-settings__row--drag-over":e.dragOver,"mg-column-settings__row--dragging":e.dragging}]),"data-col-id":e.row.colId},[(0,n.createElementVNode)(`div`,lj,[e.showDragHandle?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:0,class:(0,n.normalizeClass)([`mg-column-settings__drag-handle`,{"mg-column-settings__drag-handle--disabled":!e.draggable}]),draggable:e.draggable===!0,"aria-disabled":e.draggable?void 0:`true`,title:e.draggable?`拖拽调整列顺序`:`此列不可拖拽`,onDragstart:d,onDragend:f},` ≡ `,42,uj)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`span`,{class:`mg-column-settings__row-label`,title:e.row.label},(0,n.toDisplayString)(e.row.label),9,dj),e.gridApi?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,fj,[e.showSort&&e.row.sortable?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,type:`button`,class:(0,n.normalizeClass)([`mg-column-settings__sort-button`,{"mg-column-settings__sort-button--asc":e.row.sortDirection===`asc`,"mg-column-settings__sort-button--desc":e.row.sortDirection===`desc`}]),"aria-label":`${e.row.label} 排序:${(0,n.unref)(ej)(e.row.sortDirection)}`,title:(0,n.unref)(ej)(e.row.sortDirection),onClick:s},(0,n.toDisplayString)(e.row.sortDirection===`asc`?`↑`:e.row.sortDirection===`desc`?`↓`:`↕`),11,pj)):(0,n.createCommentVNode)(``,!0),e.showFilter&&e.row.filterable?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,type:`button`,class:(0,n.normalizeClass)([`mg-column-settings__filter-button`,{"mg-column-settings__filter-button--active":e.row.filterActive||a.value}]),"aria-expanded":a.value,"aria-label":`${e.row.label} 筛选`,title:`筛选`,onClick:l},[...r[1]||=[(0,n.createElementVNode)(`svg`,{class:`mg-column-settings__filter-icon`,xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,n.createElementVNode)(`path`,{d:`M3 6h18`}),(0,n.createElementVNode)(`path`,{d:`M7 12h10`}),(0,n.createElementVNode)(`path`,{d:`M10 18h4`})],-1)]],10,mj)):(0,n.createCommentVNode)(``,!0),e.showPin?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:2,class:`mg-column-settings__pin-group`,role:`radiogroup`,"aria-label":`${e.row.label} 固定列`},[((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(o,t=>(0,n.createElementVNode)(`button`,{key:t??`none`,type:`button`,class:(0,n.normalizeClass)([`mg-column-settings__pin-button`,{"mg-column-settings__pin-button--active":e.row.fixed===t}]),role:`radio`,"aria-checked":e.row.fixed===t,"aria-label":(0,n.unref)(tj)(t),title:(0,n.unref)(tj)(t),onClick:e=>c(t)},(0,n.toDisplayString)(t===`left`?`左`:t===`right`?`右`:`中`),11,gj)),64))],8,hj)):(0,n.createCommentVNode)(``,!0),e.showVisibility?((0,n.openBlock)(),(0,n.createElementBlock)(`label`,{key:3,class:`mg-column-settings__visibility`,title:e.row.hidden?`显示列`:`隐藏列`},[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`mg-column-settings__visibility-input`,checked:!e.row.hidden,"aria-label":`${e.row.label} 显示列`,onChange:u},null,40,vj),r[2]||=(0,n.createElementVNode)(`span`,{class:`mg-column-settings__visibility-label`,"aria-hidden":`true`},`显示`,-1)],8,_j)):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0)]),a.value&&e.gridApi&&e.row.filterable?((0,n.openBlock)(),(0,n.createBlock)(JA,{key:0,class:`mg-column-settings__filter-panel`,"col-id":e.row.colId,"grid-api":e.gridApi,"filter-set-value-mode":e.filterSetValueMode,"filter-set-date-layout-mode":e.filterSetDateLayoutMode,onChange:r[0]||=e=>i(`change`)},null,8,[`col-id`,`grid-api`,`filter-set-value-mode`,`filter-set-date-layout-mode`])):(0,n.createCommentVNode)(``,!0)],10,cj))}});function bj(e,t){return uc(e.colId)&&!e.hidden&&dc(e.fixed)===t}function xj(e,t){return e.filter(e=>bj(e,t))}function Sj(e,t,n,r){let i=xj(e,t),a=i.findIndex(e=>e.colId===n);if(a<0||!e.find(e=>e.colId===n)?.movable)return null;let o=Math.max(0,Math.min(r,i.length-1));if(a===o)return null;let s=i.map(e=>e.colId);s.splice(a,1),s.splice(o,0,n),e.map(e=>e.colId);let c=[],l=0;for(let n of e){if(bj(n,t)){let e=s[l];if(!e)return null;c.push(e),l+=1;continue}c.push(n.colId)}return c}function Cj(e){let t=Sj(e.columns,e.lane,e.colId,e.toDisplayIndex);if(!t)return null;let n=e.columns.findIndex(t=>t.colId===e.colId);if(n<0)return null;let r=t.indexOf(e.colId);if(r<0||n===r)return null;let i=bg(e.columns),a=e.columns;return!Ag({columns:a,colId:e.colId,toGlobalIndex:r,fixedGroups:i,allowCrossLaneColumnMove:!1})||!Mg({columns:a,colId:e.colId,toGlobalIndex:r,fixedGroups:i,allowCrossLaneColumnMove:!1})?null:r}function wj(e,t,n,r){let i=Cj({columns:e.getColumns(),lane:t,colId:n,toDisplayIndex:r});return i!=null&&(e.moveColumn(n,i),!0)}var Tj=[`aria-label`],Ej={class:`mg-column-settings__rows`},Dj=[`onDragover`,`onDrop`],Oj=(0,n.defineComponent)({__name:`ColumnSettingsList`,props:{lane:{},rows:{},gridApi:{},showFilter:{type:Boolean},showVisibility:{type:Boolean}},emits:[`reorder`,`change`],setup(e,{emit:t}){let r={left:`固定左侧列`,center:`中间列`,right:`固定右侧列`},i=e,a=t,o=(0,n.ref)(null),s=(0,n.ref)(null);function c(e,t){if(!i.rows.find(t=>t.colId===e)?.movable){t.preventDefault();return}o.value=e,s.value=i.rows.findIndex(t=>t.colId===e),t.dataTransfer?.setData(`text/plain`,e),t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)}function l(e,t){t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=`move`),s.value=e}function u(e,t){t.preventDefault();let n=o.value??t.dataTransfer?.getData(`text/plain`);if(!n){d();return}wj(i.gridApi,i.lane,n,e)&&(a(`reorder`),a(`change`)),d()}function d(){o.value=null,s.value=null}return(t,i)=>e.rows.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`section`,{key:0,class:(0,n.normalizeClass)([(0,n.unref)(ac),`mg-column-settings__group--${e.lane}`]),"aria-label":r[e.lane]},[(0,n.createElementVNode)(`div`,Ej,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.rows,(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t.colId,class:`mg-column-settings__row-host`,onDragover:e=>l(r,e),onDrop:e=>u(r,e)},[(0,n.createVNode)(yj,{row:t,"grid-api":e.gridApi,draggable:t.movable,"drag-over":s.value===r&&o.value!==t.colId,dragging:o.value===t.colId,"show-filter":e.showFilter,"show-visibility":e.showVisibility,onDragstart:e=>c(t.colId,e),onDragend:d,onChange:i[0]||=e=>a(`change`)},null,8,[`row`,`grid-api`,`draggable`,`drag-over`,`dragging`,`show-filter`,`show-visibility`,`onDragstart`])],40,Dj))),128))])],10,Tj)):(0,n.createCommentVNode)(``,!0)}}),kj={class:`mg-column-settings__groups`},Aj={class:`mg-column-settings__visible-lanes`},jj={class:`mg-column-settings__hidden-divider`},Mj={class:`mg-column-settings__hidden-divider-center`},Nj=[`aria-expanded`],Pj={key:0,class:`mg-column-settings__hidden-toggle-icon`,xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},Fj={key:1,class:`mg-column-settings__hidden-toggle-icon`,xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},Ij={class:`mg-column-settings__hidden-rows`},Lj={class:`mg-column-settings__rows`},Rj=(0,n.defineComponent)({__name:`ColumnSettingsGroupedLists`,props:{grouped:{},gridApi:{},showFilter:{type:Boolean},showVisibility:{type:Boolean,default:!0}},emits:[`reorder`,`change`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(!0);function o(){sj(r.gridApi)&&i(`change`)}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,kj,[(0,n.createElementVNode)(`div`,Aj,[(0,n.createVNode)(Oj,{lane:`left`,rows:e.grouped.left,"grid-api":e.gridApi,"show-filter":e.showFilter,"show-visibility":e.showVisibility,onReorder:r[0]||=e=>i(`reorder`),onChange:r[1]||=e=>i(`change`)},null,8,[`rows`,`grid-api`,`show-filter`,`show-visibility`]),(0,n.createVNode)(Oj,{lane:`center`,rows:e.grouped.center,"grid-api":e.gridApi,"show-filter":e.showFilter,"show-visibility":e.showVisibility,onReorder:r[2]||=e=>i(`reorder`),onChange:r[3]||=e=>i(`change`)},null,8,[`rows`,`grid-api`,`show-filter`,`show-visibility`]),(0,n.createVNode)(Oj,{lane:`right`,rows:e.grouped.right,"grid-api":e.gridApi,"show-filter":e.showFilter,"show-visibility":e.showVisibility,onReorder:r[4]||=e=>i(`reorder`),onChange:r[5]||=e=>i(`change`)},null,8,[`rows`,`grid-api`,`show-filter`,`show-visibility`])]),e.grouped.hidden.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`section`,{key:0,class:(0,n.normalizeClass)((0,n.unref)(lc))},[(0,n.createElementVNode)(`div`,jj,[r[10]||=(0,n.createElementVNode)(`span`,{class:`mg-column-settings__hidden-divider-line`,"aria-hidden":`true`},null,-1),(0,n.createElementVNode)(`div`,Mj,[(0,n.createElementVNode)(`button`,{type:`button`,class:`mg-column-settings__hidden-toggle`,"aria-expanded":a.value,onClick:r[6]||=e=>a.value=!a.value},[(0,n.createTextVNode)(` 隐藏 (`+(0,n.toDisplayString)(e.grouped.hidden.length)+`) `,1),a.value?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Pj,[...r[8]||=[(0,n.createStaticVNode)(`<path d="m3 8 4-4 4 4"></path><path d="M7 4v16"></path><path d="M11 12h10"></path><path d="M11 16h7"></path><path d="M11 20h4"></path>`,5)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Fj,[...r[9]||=[(0,n.createStaticVNode)(`<path d="m3 16 4 4 4-4"></path><path d="M7 20V4"></path><path d="M11 4h10"></path><path d="M11 8h7"></path><path d="M11 12h4"></path>`,5)]]))],8,Nj),(0,n.createElementVNode)(`button`,{type:`button`,class:`mg-column-settings__hidden-show-all`,onClick:o},` 显示全部 `)]),r[11]||=(0,n.createElementVNode)(`span`,{class:`mg-column-settings__hidden-divider-line`,"aria-hidden":`true`},null,-1)]),(0,n.withDirectives)((0,n.createElementVNode)(`div`,Ij,[(0,n.createElementVNode)(`h4`,{class:(0,n.normalizeClass)([(0,n.unref)(oc),`mg-column-settings__sr-only`])},` 已隐藏列 `,2),(0,n.createElementVNode)(`div`,Lj,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.grouped.hidden,t=>((0,n.openBlock)(),(0,n.createBlock)(yj,{key:t.colId,row:t,"grid-api":e.gridApi,"show-sort":!1,"show-pin":!1,"show-filter":!1,"show-visibility":e.showVisibility,"show-drag-handle":!1,onChange:r[7]||=e=>i(`change`)},null,8,[`row`,`grid-api`,`show-visibility`]))),128))])],512),[[n.vShow,a.value]])],2)):(0,n.createCommentVNode)(``,!0)]))}});function zj(e){return{colId:e.colId,label:e.label,prop:e.prop,movable:e.movable,sortable:e.sortable,filterable:e.filterable,fixed:e.fixed??null,hidden:e.hidden}}function Bj(e){return e.map(zj)}function Vj(e,t={}){return mc({columns:Bj(e.getColumns()),sortModel:e.getSortModel(),filterModel:e.getFilterModel(),isColumnFilterActive:t=>e.isColumnFilterActive(t),includeHidden:t.includeHidden})}function Hj(e,t={}){let n=Vj(e,t);return{rows:n,grouped:hc(n),canClearAllFilters:e.isAnyFilterActive()}}var Uj=[`sortChanged`,`filterChanged`,`columnMoved`,`columnPinned`,`columnHiddenChanged`];function Wj(e,t){let n=Uj.map(n=>e.on(n,t));return()=>{for(let e of n)e()}}var Gj={class:`mg-column-settings__header-leading`},Kj=(0,n.defineComponent)({__name:`ColumnSettingsPanel`,props:{gridApi:{},open:{type:Boolean,default:!0},showVisibility:{type:Boolean,default:!0},showFilter:{type:Boolean,default:!0}},emits:[`close`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.shallowRef)(Hj(r.gridApi)),o=null;function s(){a.value=Hj(r.gridApi)}function c(){l(),s(),o=Wj(r.gridApi,s)}function l(){o?.(),o=null}(0,n.watch)(()=>r.open,e=>{if(e){c();return}l()},{immediate:!0}),(0,n.watch)(()=>r.gridApi,()=>{r.open&&s()}),(0,n.onBeforeUnmount)(()=>{l()});function u(){s()}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)((0,n.unref)(Ws)),role:`document`,"aria-label":`列设置`},[(0,n.createElementVNode)(`header`,{class:(0,n.normalizeClass)((0,n.unref)(Gs))},[(0,n.createElementVNode)(`div`,Gj,[r[1]||=(0,n.createStaticVNode)(`<div class="mg-column-settings__title-group"><svg class="mg-column-settings__title-icon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 8h4"></path><path d="M12 21v-9"></path><path d="M12 8V3"></path><path d="M17 16h4"></path><path d="M19 12V3"></path><path d="M19 21v-5"></path><path d="M3 14h4"></path><path d="M5 10V3"></path><path d="M5 21v-7"></path></svg><h3 class="mg-column-settings__title">列设置</h3></div>`,1),(0,n.createVNode)(KA,{"grid-api":e.gridApi,"can-clear-all-filters":a.value.canClearAllFilters,onChange:u},null,8,[`grid-api`,`can-clear-all-filters`])]),(0,n.createElementVNode)(`button`,{type:`button`,class:`mg-column-settings__close`,"aria-label":`关闭列设置`,onClick:r[0]||=e=>i(`close`)},` × `)],2),(0,n.createElementVNode)(`div`,{class:(0,n.normalizeClass)((0,n.unref)(Ks))},[(0,n.createVNode)(Rj,{grouped:a.value.grouped,"grid-api":e.gridApi,"show-filter":e.showFilter,"show-visibility":e.showVisibility,onChange:u,onReorder:u},null,8,[`grouped`,`grid-api`,`show-filter`,`show-visibility`])],2)],2))}});function qj(e){e.getSortModel().length!==0&&e.setSortModel([])}function Jj(e){e.clearAllFilters()}function Yj(e){e.resetColumnWidths()}function Xj(e){let t=e.getColumns(),n=BD(t);VD(t.map(e=>e.colId),n)||e.resetColumnOrder()}function Zj(e){for(let t of e.getColumns())!uc(t.colId)||t.fixed===null||e.setColumnFixed(t.colId,null)}function Qj(e,t){switch(t){case`sort`:qj(e);break;case`filter`:Jj(e);break;case`width`:Yj(e);break;case`order`:Xj(e);break;case`pin`:Zj(e);break;case`all`:qj(e),Jj(e),Yj(e),Xj(e),Zj(e)}}var $j=[`disabled`,`aria-expanded`,`aria-label`,`title`],eM=(0,n.defineComponent)({__name:`ColumnSettingsButton`,props:{gridApi:{},portalEl:{},label:{},disabled:{type:Boolean},size:{},open:{type:Boolean},defaultOpen:{type:Boolean},showVisibility:{type:Boolean,default:!0},showFilter:{type:Boolean,default:!0}},emits:[`update:open`,`open`,`close`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.useSlots)(),o=(0,n.ref)(null),s=(0,n.ref)(null),c=(0,n.ref)(null),l=(0,n.ref)(!1),u=(0,n.ref)(r.open??r.defaultOpen??!1),d=(0,n.ref)(0),f=!1;function p(){let e=r.portalEl;return e instanceof HTMLElement&&e.isConnected?e:`body`}let m=(0,n.computed)(()=>p()),h=(0,n.computed)(()=>{let e=a.menu;return e?e().some(e=>e.type!==n.Comment):!1}),g=(0,n.computed)(()=>l.value||u.value),_=(0,n.computed)(()=>r.size?rr(r.size):void 0);(0,n.watch)(()=>r.open,e=>{e!==void 0&&(u.value=e,e&&(l.value=!1))});function v(e){if(r.disabled&&e)return;let t=u.value;u.value=e,i(`update:open`,e),e?(l.value=!1,i(`open`),f=!0,queueMicrotask(()=>{f=!1})):t&&i(`close`)}function y(e){r.disabled&&e||(l.value=e,e&&(f=!0,queueMicrotask(()=>{f=!1})))}function b(){if(!r.disabled){if(u.value){v(!1);return}y(!l.value)}}function x(){v(!0)}function S(e){Qj(r.gridApi,e),w()}function C(){u.value&&v(!1)}function w(){l.value&&=!1}function T(){w(),C()}function E(e,t){let n=o.value;if(!n||!e)return;e.style.visibility=`hidden`,e.style.position=`fixed`,e.style.left=`0`,e.style.top=`0`;let r=n.getBoundingClientRect(),i=e.getBoundingClientRect(),{left:a,top:s}=t(r,i.width,i.height);e.style.left=`${a}px`,e.style.top=`${s}px`,e.style.visibility=``}function D(){E(s.value,gT)}function O(){E(c.value,hT)}function k(){l.value&&D(),u.value&&O()}(0,n.watch)(l,async e=>{e&&(await(0,n.nextTick)(),D())}),(0,n.watch)(u,async e=>{e&&(await(0,n.nextTick)(),O())}),(0,n.watch)(()=>[r.portalEl,r.size],()=>{T(),d.value+=1});function A(){let e=r.portalEl;if(!e)return;if(l.value||u.value){e.removeAttribute(`aria-hidden`);return}e.setAttribute(`aria-hidden`,`true`);let t=document.activeElement;t instanceof HTMLElement&&e.contains(t)&&(t.blur(),o.value?.focus())}(0,n.watch)([l,u],()=>{A()});function j(e){if(e.key===`Escape`){if(u.value){e.preventDefault(),e.stopPropagation(),C();return}l.value&&(e.preventDefault(),e.stopPropagation(),w())}}function M(e){if(!l.value&&!u.value||f||e.button!==0)return;let t=e.target;t instanceof Node&&(o.value?.contains(t)||s.value?.contains(t)||c.value?.contains(t)||T())}return(0,n.onMounted)(()=>{A(),document.addEventListener(`keydown`,j,!0),document.addEventListener(`pointerdown`,M,!0),window.addEventListener(`resize`,k),window.addEventListener(`scroll`,k,!0)}),(0,n.onBeforeUnmount)(()=>{l.value=!1,u.value=!1,A(),document.removeEventListener(`keydown`,j,!0),document.removeEventListener(`pointerdown`,M,!0),window.removeEventListener(`resize`,k),window.removeEventListener(`scroll`,k,!0)}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)((0,n.unref)(qs)),style:(0,n.normalizeStyle)(_.value)},[(0,n.createElementVNode)(`button`,{ref_key:`triggerRef`,ref:o,type:`button`,class:`mg-column-settings-button__trigger`,disabled:e.disabled,"aria-haspopup":`menu`,"aria-expanded":g.value,"aria-label":e.label??`表格设置`,title:e.label??`表格设置`,onClick:b},[...r[0]||=[(0,n.createElementVNode)(`svg`,{class:`mg-column-settings-button__icon`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,n.createElementVNode)(`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`}),(0,n.createElementVNode)(`circle`,{cx:`12`,cy:`12`,r:`3`})],-1)]],8,$j),((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{key:d.value,to:m.value},[l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:(0,n.normalizeClass)((0,n.unref)(Js))},[(0,n.createElementVNode)(`div`,{ref_key:`menuRef`,ref:s,class:(0,n.normalizeClass)((0,n.unref)(Ys))},[(0,n.createVNode)(WA,{"show-divider":h.value,onColumnSettings:x,onCustomAction:w,onReset:S},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`menu`)]),_:3},8,[`show-divider`])],2)],2)):(0,n.createCommentVNode)(``,!0),u.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:1,class:(0,n.normalizeClass)((0,n.unref)(Js))},[(0,n.createElementVNode)(`div`,{ref_key:`panelRef`,ref:c,class:(0,n.normalizeClass)((0,n.unref)(Ys)),role:`dialog`,"aria-modal":`false`,"aria-label":`列设置面板`},[(0,n.createVNode)(Kj,{"grid-api":e.gridApi,open:u.value,"show-visibility":e.showVisibility,"show-filter":e.showFilter,onClose:C},null,8,[`grid-api`,`open`,`show-visibility`,`show-filter`])],2)],2)):(0,n.createCommentVNode)(``,!0)],8,[`to`]))],6))}}),tM={input:{deferEnterCommit:!1,commitOnChange:!1},overlay:{deferEnterCommit:!0,commitOnChange:!0}};async function nM(e){e&&await e()}function rM(e,t){let r=tM[t.strategy??`input`],i=t.formatValue??(e=>String(e??``)),a=t.commitOnChange??r.commitOnChange,o=t.autoFocus!==!1;e.setGetValue?.(()=>i(t.getValue())),e.setKeyboardPolicy?.({deferEnterCommit:r.deferEnterCommit,suppressInitialAutoFocus:!o||void 0}),(0,n.onMounted)(()=>{(async()=>{await nM(t.onMount),e.autoFocus!==!1&&await nM(t.onStart)})()}),(0,n.onUnmounted)(()=>{nM(t.onDestroy)});function s(){(async()=>{await nM(t.onBeforeCommit);let n=await e.stopEditing(!0);n!=null&&n.committed===!0&&await nM(t.onAfterCommit)})()}function c(){(async()=>{await nM(t.onBeforeCancel),await e.stopEditing(!1)!=null&&await nM(t.onAfterCancel)})()}function l(){a&&s()}function u(e){if(e instanceof KeyboardEvent){if(e.key===`Enter`){r.deferEnterCommit&&(0,n.nextTick)(s);return}e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),c())}}return{onKeydown:u,onChange:l,commit:s,cancel:c}}function iM(e){return new Promise(t=>{requestAnimationFrame(()=>{let n=e.value;typeof n?.focus==`function`&&n.focus(),t()})})}function aM(e){return(0,n.computed)(()=>e.value?.api)}function oM(e){let t={};return e.onReady&&(t[`onGrid-ready`]=e.onReady),e.onDestroyed&&(t[`onGrid-destroyed`]=e.onDestroyed),e.onFirstRendered&&(t[`onFirst-rendered`]=e.onFirstRendered),t}function sM(e,t){return e.getRowNode(t)!=null}function cM(e){let t=new Set,n=[],r=e=>{if(e==null||e===``)return;let r=String(e);t.has(r)||(t.add(r),n.push(e))};for(let t of e.selectedRowIds)r(t);for(let t of e.selectedRows)(t.rowId==null||t.rowId===``)&&r(t.internalRowId);return n}function lM(e){let{currentIntent:t,materializedIds:n,isInModel:r}=e,i=[...t].filter(e=>!r(e));return[...new Set([...n,...i])]}function uM(e,t){let n=[],r=[];for(let i of e)t(i)?n.push(i):r.push(i);return{onModel:n,offModel:r}}function dM(e){return[...new Set(e)]}function fM(e){return dM((0,n.toValue)(e))}function pM(e,t){let r=t.syncPendingOnInteraction!==!1,i=(0,n.shallowRef)(fM(t.initialIntent));(0,n.watch)(()=>fM(t.initialIntent),e=>{i.value=e});let a=(0,n.computed)(()=>new Set(i.value));function o(t){let r=(0,n.toValue)(e);return r!=null&&sM(r,t)}let s=(0,n.computed)(()=>uM(a.value,o)),c=(0,n.computed)(()=>s.value.offModel),l=(0,n.computed)(()=>s.value.onModel);function u(e){i.value=dM(e)}function d(e){i.value=dM([...i.value,...e])}function f(){i.value=fM(t.initialIntent)}function p(){let t=(0,n.toValue)(e);t&&t.setDefaultSelectedRows([...i.value],{mode:`cover`})}function m(e){u(e),p()}function h(t){d(t);let r=(0,n.toValue)(e);r&&r.setDefaultSelectedRows([...t],{mode:`merge`})}function g(t){let r=(0,n.toValue)(e);if(!r)return;let o=cM(t);i.value=lM({currentIntent:a.value,materializedIds:o,isInModel:e=>sM(r,e)})}function _(e){return g(e),r&&(e.source===`ui`||e.source===`api`)&&p(),{materializedIds:cM(e),intentIds:[...i.value],offModelIds:s.value.offModel,source:e.source}}return{intentIds:(0,n.shallowReadonly)(i),offModelIds:c,onModelIds:l,replaceIntent:u,mergeIntent:d,resetIntent:f,applyIntentCover:p,coverIntent:m,mergeIntentToPending:h,handleSelectionChanged:_}}exports.BUILTIN_CELL_EDITOR_NAMES=Sn,exports.COLUMN_DRAG_THRESHOLD_PX=ra,exports.ColumnSettingsButton=eM,exports.ColumnSettingsMenuIcon=LA,exports.ColumnSettingsMenuItem=BA,exports.ColumnSettingsPanel=Kj,exports.DEFAULT_CELL_EDITOR_MODE=t.B,exports.DEFAULT_INDEX_COLUMN_START=t.et,exports.DEFAULT_SELECTION_SELECT_ALL_LABEL=t.K,exports.DEFAULT_STATUS_BAR_RANGE_AGGREGATION_PRECISION=a,exports.INDEX_COLUMN_ID=t.tt,exports.INDEX_COLUMN_MIN_WIDTH=t.rt,exports.INLINE_CHECKBOX_CLASS=tf,exports.INLINE_SWITCH_CLASS=nf,exports.MagicGrid=PA,exports.RowMutationPersistError=t.p,exports.SELECTION_COLUMN_DEFAULT_WIDTH=t.q,exports.SELECTION_COLUMN_ID=t.J,exports.SELECTION_COLUMN_MIN_WIDTH=t.Y,exports.SORT_AFTER_MOVE_GUARD_MS=ia,exports.SWITCH_EDITOR_CLASS=rf,exports.VueCellEditorHost=tA,exports.checkboxCellEditor=uf,exports.coerceCheckboxEditorValue=en,exports.coerceSwitchEditorValue=qt,exports.coerceToggleEditorValue=qt,exports.createSlotCellEditor=oA,exports.createVueCellEditor=aA,exports.evaluateGridAcceptance=Ck,exports.executeFocus=iM,exports.formatCheckboxEditorRawValue=tn,exports.formatSwitchEditorRawValue=Yt,exports.generateFocusedRowIds=t.y,exports.generateRowId=t.b,exports.generateSelectedRowIds=t.x,exports.getCellEditor=vf,exports.getGridAcceptanceThresholds=Sk,exports.getGridSetDataLimit=xk,exports.getMaterializedSelectionIdsFromEvent=cM,exports.getRegisteredCellEditorNames=bf,exports.getRowDragCommitHierarchy=t.t,exports.hasCellEditor=yf,exports.isBuiltInCellEditor=Cn,exports.isInlineEditorColumn=t.V,exports.isRowIdInGridModel=sM,exports.isSyntheticRow=t.C,exports.magicGridVueCellRef=_p,exports.numberCellEditor=lf,exports.parseCheckboxEditorRawValue=rn,exports.parseSwitchEditorRawValue=Zt,exports.partitionDefaultSelectedRowsIntentByModel=uM,exports.readCheckboxControlValue=nn,exports.readSwitchControlValue=Xt,exports.recomputeDefaultSelectedRowsIntent=lM,exports.registerCellEditor=gf,exports.registerEditorSurfaceSelectors=Gd,exports.resetEditorSurfaceSelectors=Kd,exports.resolveCellEditorMode=t.H,exports.resolveCheckboxEditorValues=$t,exports.resolveColumnCellEditorMode=t.U,exports.resolveSwitchEditorValues=Wt,exports.switchCellEditor=df,exports.textCellEditor=cf,exports.toBusinessRowId=t.T,exports.toBusinessRowIdFromInternal=t.D,exports.toBusinessRowIdsFromInternal=t.O,exports.toggleHeaderSort=Gm,exports.unregisterCellEditor=_f,exports.useCellEditor=rM,exports.useDefaultSelectedRowsIntent=pM,exports.useGridApi=aM,exports.useGridLifecycle=oM,exports.vueCellEditorProps=nA;
9
+ `){n.push(r),t.push(n),n=[],r=``,a+=2;continue}n.push(r),t.push(n),n=[],r=``,a+=1;continue}r+=o,a+=1}return(r.length>0||n.length>0||i)&&(n.push(r),t.push(n)),t}function tS(e){return e.length===1&&(e[0]?.length??0)===1}var nS=class{deps;constructor(e){this.deps=e}isCopyEnabled(){let e=this.deps.getCellSelectionOptions();return e.enabled&&e.enableCellCopy}isPasteEnabled(){let e=this.deps.getCellSelectionOptions();return e.enabled&&e.enableCellPaste}copySelectedRanges(){if(!this.isCopyEnabled())return!1;let e=this.deps.getCellRangeService();if(!e?.hasRanges())return!1;let t=this.deps.getCellRangeOperationContext(),n=e.getRanges(),r=this.serializeRanges(n,t);return r!==``&&(this.writeClipboard(r),this.deps.onCopyVisualFeedback?.(),!0)}async pasteFromClipboard(){if(!this.isPasteEnabled())return 0;this.deps.isEditing()&&await this.deps.stopEditing(!1);let e=this.resolvePasteAnchor();if(!e)return 0;let t;try{t=await this.readClipboard()}catch{return 0}let n=eS(t);if(n.length===0)return 0;let r=this.deps.getCellRangeOperationContext(),i=this.deps.getCellClipboardOptions().processDataFromClipboard?.({data:n,anchor:e});if(i===null)return 0;let a=i??n,o=this.deps.getCellRangeService()?.getRanges()??[];return tS(a)&&this.shouldPasteSingleCellToRanges(o,r)?await this.applySingleCellPasteToRanges(o,a[0][0]):await this.applyPasteMatrix(e,a)}serializeRanges(e,t){let n=t.displayedColIds,r=this.resolveIndexColumnDisplayOptions(),i=this.deps.getCellClipboardOptions(),a=this.deps.getCellSpanService?.()??null,o=[];for(let t of e){let e=U(t,n);if(!e)continue;let s=n.indexOf(e.leftColId),c=n.indexOf(e.rightColId);if(s<0||c<0)continue;let l=n.slice(s,c+1),u=[];for(let t=e.top;t<=e.bottom;t+=1){let e=this.deps.rowModel.getRow(t);if(!e)continue;let n=[];for(let o of l){if(!xs(o,e.rowKind)){n.push(``);continue}let s=this.deps.columnModel.getColumnById(o);if(!s){n.push(``);continue}if(tv(e,s,this.deps.columnModel,a)){n.push(``);continue}let c=Ix({rowId:e.id,rowIndex:t,colId:o,value:H(e,s),data:e.data,formattedValue:``,column:s,getApi:this.deps.getApi,gridSize:this.deps.gridSize});n.push(Gx(t,e,s,r,c,i.processCellForClipboard,this.deps.getCellClipboardDisplayContext?.()))}u.push(Qx(n))}u.length>0&&o.push(u)}return $x(o)}resolvePasteAnchor(){let e=this.deps.getCellRangeOperationContext().displayedColIds,t=this.deps.getCellRangeService(),n=t?.getRanges()??[],r=this.deps.cellFocusService.getFocusedCell();if(r&&!q(r)){let t=this.deps.rowModel.getRow(r.rowIndex);if(xs(r.colId,t?.rowKind)){let t={rowIndex:r.rowIndex,colId:r.colId};if(n.length===0||n.some(t=>{let n=U(t,e);return n!=null&&Ms(r.rowIndex,r.colId,n,e)}))return t}}if(n.length===0)return null;let i=U(n[0],e);if(!i)return null;let a=t?.getAnchor();return a&&Ms(a.rowIndex,a.colId,i,e)?{rowIndex:a.rowIndex,colId:a.colId}:{rowIndex:i.top,colId:i.leftColId}}shouldPasteSingleCellToRanges(e,t){if(e.length===0)return!1;let n=0,r=t.displayedColIds;for(let t of e){let e=U(t,r);if(!e)continue;let i=r.indexOf(e.leftColId),a=r.indexOf(e.rightColId);if(i<0||a<0)continue;let o=e.bottom-e.top+1,s=Math.abs(a-i)+1;if(n+=o*s,n>1)return!0}return!1}async applySingleCellPasteToRanges(e,t){let n=this.deps.getCellRangeOperationContext().displayedColIds,r=0,i=new Set,a=new Set,o=[];for(let s of e){let e=U(s,n);if(!e)continue;let c=n.indexOf(e.leftColId),l=n.indexOf(e.rightColId);if(c<0||l<0)continue;let u=Math.min(c,l),d=Math.max(c,l);for(let s=e.top;s<=e.bottom;s+=1){let e=this.deps.rowModel.getRow(s);if(e)for(let c=u;c<=d;c+=1){let l=n[c],u=await this.pasteCell(s,l,e.id,e,t);u.status===`applied`?(r+=1,i.add(e.id),a.add(l),o.push({rowIndex:s,colId:l,applied:!0})):u.showBlockedVisual&&o.push({rowIndex:s,colId:l,applied:!1})}}}return r>0&&this.deps.refreshCells({rowIds:[...i],colIds:[...a]}),o.length>0&&this.deps.onPasteVisualFeedback?.(o),r}async applyPasteMatrix(e,t){let n=this.deps.getCellRangeOperationContext().displayedColIds,r=n.indexOf(e.colId);if(r<0)return 0;let i=this.deps.rowModel.getRowCount(),a=0,o=new Set,s=new Set,c=[];for(let l=0;l<t.length;l+=1){let u=t[l],d=e.rowIndex+l;if(d>=i)break;let f=this.deps.rowModel.getRow(d);if(f)for(let e=0;e<u.length;e+=1){let t=r+e;if(t>=n.length)break;let i=n[t],l=await this.pasteCell(d,i,f.id,f,u[e]);l.status===`applied`?(a+=1,o.add(f.id),s.add(i),c.push({rowIndex:d,colId:i,applied:!0})):l.showBlockedVisual&&c.push({rowIndex:d,colId:i,applied:!1})}}return a>0&&this.deps.refreshCells({rowIds:[...o],colIds:[...s]}),c.length>0&&this.deps.onPasteVisualFeedback?.(c),a}async pasteCell(e,t,n,r,i){if(!Ss(t,r.rowKind))return{status:`blocked`,showBlockedVisual:!0};let a=this.deps.columnModel.getColumnById(t);if(!a||!V(a,r,this.deps.getCellDisableContext())||Fx(a,r.data))return{status:`blocked`,showBlockedVisual:!0};let o=H(r,a),s=await Jx(a,Ix({rowId:n,rowIndex:e,colId:t,value:o,data:r.data,formattedValue:String(o??``),column:a,getApi:this.deps.getApi,gridSize:this.deps.gridSize}),i,o,{rowIndex:e,rowNode:r,indexColumnOptions:this.resolveIndexColumnDisplayOptions(),processCellFromClipboard:this.deps.getCellClipboardOptions().processCellFromClipboard});return s.status===`blocked`?s:(await cp(this.deps,async()=>{up(this.deps.recordRowDataChange,r,a,o,s.parsed,`paste`),this.deps.applyTransaction({update:[r.data]}),this.deps.eventBus.emit(`cellValueChanged`,{rowId:n,colId:t,oldValue:o,newValue:s.parsed,rowNode:r}),await sp(a,r,{oldValue:o,newValue:s.parsed},{gridSize:this.deps.gridSize,getApi:this.deps.getApi,buildRowSnapshot:this.deps.buildRowSnapshot,getIndexColumnOptions:()=>this.resolveIndexColumnDisplayOptions()},{source:`paste`})}),{status:`applied`})}resolveIndexColumnDisplayOptions(){let e=this.deps.getIndexColumnOptions();return e.showIndexColumn?e.indexColumn:void 0}async writeClipboard(e){if(this.deps.writeToClipboard){await this.deps.writeToClipboard(e);return}await Yx(e)}async readClipboard(){return this.deps.readFromClipboard?this.deps.readFromClipboard():Xx()}};function rS(e){return typeof e==`number`&&Number.isFinite(e)}function iS(e,t){return`${e}:${t}`}function aS(e,t,n){let r=t.indexOf(e.leftColId),i=t.indexOf(e.rightColId);if(r<0||i<0)return;let a=Math.min(r,i),o=Math.max(r,i);for(let r=e.top;r<=e.bottom;r+=1)for(let e=a;e<=o;e+=1){let i=t[e];i&&n(r,i)}}function oS(e,t){let n=new Set;return aS(e,t,(e,t)=>{n.add(iS(e,t))}),n}function sS(e){let{fixedAnchor:t,pointer:n,sourceRange:r,direction:i,displayedColIds:a}=e;if(a.indexOf(n.colId)<0)return null;let o=U(ks(t,n),a);return o?i===`y`?{top:o.top,bottom:o.bottom,leftColId:r.leftColId,rightColId:r.rightColId}:i===`x`?{top:r.top,bottom:r.bottom,leftColId:o.leftColId,rightColId:o.rightColId}:o:null}function cS(e,t,n,r){let i=[];for(let n=e.top;n<=e.bottom;n+=1)i.push(r(n,t));return i}function lS(e,t,n,r){let i=n.indexOf(e.leftColId),a=n.indexOf(e.rightColId);if(i<0||a<0)return[];let o=[],s=Math.min(i,a),c=Math.max(i,a);for(let e=s;e<=c;e+=1){let i=n[e];i&&o.push(r(t,i))}return o}function uS(e,t){return e>t.bottom?e-t.bottom:e<t.top?e-t.top:null}function dS(e,t,n){let r=n.indexOf(t.leftColId),i=n.indexOf(t.rightColId);if(r<0||i<0)return null;let a=Math.min(r,i),o=Math.max(r,i);return e>o?e-o:e<a?e-a:null}function fS(e){let{rowIndex:t,colId:n,sourceRange:r,displayedColIds:i,getSourceValue:a,setFillValue:o,fillStrategy:s=Jo,rowNode:c,column:l,allowedDirection:u}=e,d=i.indexOf(n);if(d<0)return null;let f=uS(t,r),p=dS(d,r,i),m=null,h=0,g=[];if(f!=null&&f!==0&&(u===`y`||u===`xy`)?(m=`y`,h=f,g=cS(r,n,i,a)):p!=null&&p!==0&&(u===`x`||u===`xy`)&&(m=`x`,h=p,g=lS(r,Math.min(Math.max(t,r.top),r.bottom),i,a)),!m||g.length===0)return null;let _=g[g.length-1];return o?o({rowNode:c,column:l,baseValue:_,step:h,direction:m}):mS(g,h,s)}function pS(e,t){return t>0?e[e.length-1]:e[0]}function mS(e,t,n){if(e.length===0)return null;if(n===`copy`)return pS(e,t);if(e.every(rS)){let n=e,r=n.length===1?1:(n[n.length-1]-n[0])/(n.length-1);return(t>0?n[n.length-1]:n[0])+r*t}return pS(e,t)}function hS(e,t,n){let r=oS(t,n),i=e?oS(e,n):new Set,a=[];for(let e of r)if(!i.has(e)){let[t,n]=e.split(`:`);a.push({rowIndex:Number(t),colId:n})}return a}function gS(e,t,n){return hS(t,e,n)}var _S=class{deps;constructor(e){this.deps=e}async commitFillRange(e){let t=0,n=new Set,r=new Set;for(let i of e.removed)if(await this.writeClearCell(i)){t+=1;let e=this.deps.rowModel.getRow(i.rowIndex);e&&(n.add(e.id),r.add(i.colId))}for(let i of e.added)if(await this.writeFillCell(i,e.sourceRange,e.displayedColIds,e.fillOptions)){t+=1;let e=this.deps.rowModel.getRow(i.rowIndex);e&&(n.add(e.id),r.add(i.colId))}return t>0&&this.deps.refreshCells({rowIds:[...n],colIds:[...r]}),t}async applyFillDiff(e){return this.commitFillRange({...e,removed:[]})}async writeClearCell(e){let t=this.deps.rowModel.getRow(e.rowIndex),n=this.deps.columnModel.getColumnById(e.colId);return!t||!n||!Ss(e.colId,t.rowKind)||!V(n,t,this.deps.getCellDisableContext())?!1:this.writeCellValue(t.id,e.rowIndex,n,t,``)}async writeFillCell(e,t,n,r){let i=this.deps.rowModel.getRow(e.rowIndex),a=this.deps.columnModel.getColumnById(e.colId);if(!i||!a||!Ss(e.colId,i.rowKind)||!V(a,i,this.deps.getCellDisableContext()))return!1;let o=fS({rowIndex:e.rowIndex,colId:e.colId,sourceRange:t,displayedColIds:n,getSourceValue:(e,t)=>{let n=this.deps.rowModel.getRow(e),r=this.deps.columnModel.getColumnById(t);if(!(!n||!r))return H(n,r)},setFillValue:r.setFillValue,fillStrategy:r.fillStrategy,rowNode:i,column:a,allowedDirection:r.direction});return o!==null&&this.writeCellValue(i.id,e.rowIndex,a,i,o)}async writeCellValue(e,t,n,r,i){let a=H(r,n);return Object.is(a,i)||!yn(n,Ix({rowId:e,rowIndex:t,colId:n.colId,value:a,data:r.data,formattedValue:String(a??``),column:n,getApi:this.deps.getApi,gridSize:this.deps.gridSize}),i)?!1:(await cp(this.deps,async()=>{up(this.deps.recordRowDataChange,r,n,a,i,`fill`),this.deps.applyTransaction({update:[r.data]}),this.deps.eventBus.emit(`cellValueChanged`,{rowId:e,colId:n.colId,oldValue:a,newValue:i,rowNode:r}),await sp(n,r,{oldValue:a,newValue:i},this.deps,{source:`fill`})}),!0)}},vS=class{deps;constructor(e){this.deps=e}async clearRanges(e,t){let n=t.displayedColIds,r=0,i=new Set,a=new Set;for(let t of e){let e=U(t,n);if(e)for(let t=e.top;t<=e.bottom;t+=1){let o=this.deps.rowModel.getRow(t);if(o)for(let s of n)Ms(t,s,e,n)&&await this.writeClearCell(t,s,o.id,o)&&(r+=1,i.add(o.id),a.add(s))}}return r>0&&this.deps.refreshCells({rowIds:[...i],colIds:[...a]}),r}async writeClearCell(e,t,n,r){if(!Ss(t,r.rowKind))return!1;let i=this.deps.columnModel.getColumnById(t);if(!i||!V(i,r,this.deps.getCellDisableContext()))return!1;let a=H(r,i);return Object.is(a,``)||!yn(i,Ix({rowId:n,rowIndex:e,colId:t,value:a,data:r.data,formattedValue:String(a??``),column:i,getApi:this.deps.getApi,gridSize:this.deps.gridSize}),``)?!1:(await cp(this.deps,async()=>{up(this.deps.recordRowDataChange,r,i,a,``,`delete`),this.deps.applyTransaction({update:[r.data]}),this.deps.eventBus.emit(`cellValueChanged`,{rowId:n,colId:t,oldValue:a,newValue:``,rowNode:r}),await sp(i,r,{oldValue:a,newValue:``},this.deps,{source:`delete`})}),!0)}};function yS(e){let t=e.textContent?.trim()??``;return t===``?null:t}function bS(e){let t=e.column.prop??e.column.colId,n=t?e.rowNode.data[t]:void 0;e.column.valueGetter&&(n=e.column.valueGetter(e.rowNode.data,n));let r=ip(e.rowNode,e.column,e.indexColumnOptions);return{rowId:e.rowNode.id,colId:e.column.colId,data:e.rowNode.data,value:n,valueFormatted:r,column:e.column,location:e.location??`cell`}}function xS(e){let t=bS(e);if(e.tooltipValueGetter)try{let n=e.tooltipValueGetter(t);return n==null||n===``?null:n}catch(e){return console.warn(`[magic-grid] tooltipValueGetter failed:`,e),null}if(e.tooltipField){let t=e.rowNode.data[e.tooltipField];if(t!=null&&t!==``)return String(t)}return t.valueFormatted===``?e.anchorEl&&Ac(e.anchorEl)?yS(e.anchorEl):null:t.valueFormatted}function SS(e){let t=e.column.label??e.column.prop??e.column.colId;try{let n=e.headerTooltipValueGetter?.({colId:e.column.colId,column:e.column,headerLabel:t});if(n!=null&&n!==``)return n}catch(e){return console.warn(`[magic-grid] headerTooltipValueGetter failed:`,e),null}return e.headerTooltip!=null&&e.headerTooltip!==``?e.headerTooltip:t===``?null:t}function CS(e){let t={rowId:``,colId:e.column.colId,data:void 0,value:e.displayText,valueFormatted:e.displayText,column:e.column,location:`footer`};try{let n=e.tooltipValueGetter?.(t);if(n!=null&&n!==``)return n}catch(e){return console.warn(`[magic-grid] tooltipValueGetter failed:`,e),null}return e.tooltipField||e.displayText===``?null:e.displayText}function wS(e){let t=e.dataset.mgTooltip;if(t!=null&&t!==``)return t;let n=e.textContent?.trim()??``;return n===``?null:n}function Z(e){return e instanceof Element?e:e instanceof Text?e.parentElement:null}function TS(e,t){return e.getColumns().findIndex(e=>e.colId===t)}function ES(e,t){let n=Z(t);if(!n)return null;let r=n.closest(`.mg-footer-cell[data-col-id]`);return r?.dataset.colId?{colId:r.dataset.colId,colIndex:TS(e,r.dataset.colId)}:null}function DS(e){return Z(e)?.closest(`.mg-header-cell__column-handle`)??null}function OS(e){return Z(e)?.closest(`.mg-header-cell--tree .mg-cell__tree-expand`)??null}function kS(e){return Z(e)?.closest(`.mg-floating-filter-button`)??null}function AS(e,t){let n=Z(t);if(!n)return null;let r=n.closest(`.mg-header-cell[data-col-id]`);return r?.dataset.colId?{colId:r.dataset.colId,colIndex:TS(e,r.dataset.colId)}:null}function Q(e,t){let n=Z(t);if(!n)return null;let r=n.closest(`.mg-cell`),i=n.closest(`.mg-row`);if(!r||!i)return null;let a=i.dataset.rowId,o=r.dataset.colId;if(!a||!o)return null;let s=e.getRowIndexById(a),c=e.getRow(s);return!c||s<0?null:{rowId:a,colId:o,rowIndex:s,rowNode:c,rowElement:i}}function jS(e){return Z(e)?.closest(`.mg-header-cell[data-col-id]`)??null}function MS(e){return e.querySelector(`.mg-root`)??e}function NS(e){return e.ownerDocument}function PS(e){let t=[];if(!e)return t;let n=null;try{n=e.parent}catch{return t}for(;n&&n!==e;){t.push(n);try{if(n.parent===n)break;n=n.parent}catch{break}}return t}function FS(e,t){let n=NS(e),r={capture:!0};n.addEventListener(`mousemove`,t.mousemove),n.addEventListener(`mouseup`,t.mouseup);let i=PS(n.defaultView);for(let e of i)e.addEventListener(`mousemove`,t.mousemove,r),e.addEventListener(`mouseup`,t.mouseup,r);return{unbind:()=>{n.removeEventListener(`mousemove`,t.mousemove),n.removeEventListener(`mouseup`,t.mouseup);for(let e of i)e.removeEventListener(`mousemove`,t.mousemove,r),e.removeEventListener(`mouseup`,t.mouseup,r)}}}function IS(e){let t=Z(e);return t?t.closest(wc):null}function LS(e){return e.matches(`.mg-cell__text:not([hidden])`)||e.matches(`.mg-cell__renderer:not([hidden])`)?`cell`:e.matches(`.mg-header-cell__text`)?`header`:e.matches(`.mg-footer-cell__text:not([hidden])`)?`footer`:null}function RS(e){let t=Z(e);return t?t.closest(Cc):null}function zS(e,t,n){let r=LS(e);if(!r)return null;if(r===`header`){let t=e.closest(`.mg-header-cell[data-col-id]`)?.dataset.colId;return t?{anchorEl:e,location:r,colId:t}:null}if(r===`footer`){let t=e.closest(`.mg-footer-cell[data-col-id]`)?.dataset.colId;return t?{anchorEl:e,location:r,colId:t}:null}let i=e.closest(`.mg-cell[data-col-id]`),a=e.closest(`.mg-row[data-row-id]`),o=i?.dataset.colId,s=a?.dataset.rowId;return!o||!s||!t.getColumnById(o)||!n.getRowById(s)?null:{anchorEl:e,location:r,colId:o,rowId:s}}var BS=class{deps;showTimer=null;activeAnchor=null;pendingAnchor=null;lastPointer=null;bound=!1;statusBarEl=null;statusBarBound=!1;constructor(e){this.deps=e}setStatusBarElement(e){this.statusBarEl!==e&&(this.unbindStatusBarListeners(),this.statusBarEl=e,e&&this.bound&&this.bindStatusBarListeners())}bindListeners(){this.bound||(this.bound=!0,this.deps.mountEl.addEventListener(`pointerover`,this.handlePointerOver,!0),this.deps.mountEl.addEventListener(`pointerout`,this.handlePointerOut,!0),this.deps.viewportEl.addEventListener(`scroll`,this.handleScroll,!0),this.deps.headerViewportEl.addEventListener(`scroll`,this.handleScroll,!0),this.deps.footerViewportEl?.addEventListener(`scroll`,this.handleScroll,!0),this.bindStatusBarListeners())}unbindListeners(){this.bound&&(this.bound=!1,this.deps.mountEl.removeEventListener(`pointerover`,this.handlePointerOver,!0),this.deps.mountEl.removeEventListener(`pointerout`,this.handlePointerOut,!0),this.deps.viewportEl.removeEventListener(`scroll`,this.handleScroll,!0),this.deps.headerViewportEl.removeEventListener(`scroll`,this.handleScroll,!0),this.deps.footerViewportEl?.removeEventListener(`scroll`,this.handleScroll,!0),this.unbindStatusBarListeners(),this.close())}destroy(){this.unbindListeners(),this.deps.tooltipService.destroy()}close(){this.clearShowTimer(),this.activeAnchor=null,this.pendingAnchor=null,this.lastPointer=null,this.deps.tooltipService.hide(!0)}refreshActiveTooltip(){if(!this.activeAnchor)return;let e=this.deps.getOptions(),t=this.resolveTooltipText(this.activeAnchor);if(!this.shouldShowForContext(this.activeAnchor,e,t)||!t){this.close();return}this.presentTooltip(this.activeAnchor,e,t),this.deps.tooltipService.refreshPosition()}bindStatusBarListeners(){!this.statusBarEl||this.statusBarBound||(this.statusBarBound=!0,this.statusBarEl.addEventListener(`pointerover`,this.handleStatusBarPointerOver,!0),this.statusBarEl.addEventListener(`pointerout`,this.handleStatusBarPointerOut,!0))}unbindStatusBarListeners(){!this.statusBarEl||!this.statusBarBound||(this.statusBarBound=!1,this.statusBarEl.removeEventListener(`pointerover`,this.handleStatusBarPointerOver,!0),this.statusBarEl.removeEventListener(`pointerout`,this.handleStatusBarPointerOut,!0))}handlePointerOver=e=>{if(e.pointerType===`touch`)return;let t=IS(e.target);if(!t)return;let n=zS(t,this.deps.columnModel,this.deps.rowModel);!n||!this.canShowTooltip(n)||this.queueShow(e,n)};handleStatusBarPointerOver=e=>{if(e.pointerType===`touch`)return;let t=RS(e.target);if(!t)return;let n={anchorEl:t,location:`statusBar`};this.canShowTooltip(n)&&this.queueShow(e,n)};queueShow(e,t){let n=this.deps.getOptions();if(!n.enableTooltips||n.tooltipShowMode===`never`)return;this.lastPointer={clientX:e.clientX,clientY:e.clientY};let r=this.activeAnchor?.anchorEl===t.anchorEl||this.pendingAnchor?.anchorEl===t.anchorEl;this.deps.tooltipService.isVisible()&&!r&&(this.deps.tooltipService.hide(!0),this.activeAnchor=null),this.pendingAnchor=t,this.scheduleShow(t,n)}handlePointerOut=e=>{this.handleAnchorPointerOut(e,IS(e.target))};handleStatusBarPointerOut=e=>{this.handleAnchorPointerOut(e,RS(e.target))};handleAnchorPointerOut(e,t){if(!t)return;let n=IS(e.relatedTarget),r=RS(e.relatedTarget),i=this.deps.getOptions();if(this.pendingAnchor?.anchorEl===t&&n!==t&&(this.clearShowTimer(),this.pendingAnchor=null),this.activeAnchor?.anchorEl===t&&n!==t&&r!==t){if(i.tooltipInteraction){let t=this.deps.tooltipService.getPopupEl();if(e.relatedTarget instanceof Node&&t?.contains(e.relatedTarget))return;this.activeAnchor=null,this.deps.tooltipService.scheduleHide(i.tooltipHideDelay);return}this.activeAnchor=null,this.deps.tooltipService.scheduleHide(i.tooltipHideDelay)}}handleScroll=()=>{this.close()};scheduleShow(e,t){this.clearShowTimer();let n=this.deps.tooltipService.isVisible()||this.activeAnchor?t.tooltipSwitchShowDelay:t.tooltipShowDelay;this.showTimer=setTimeout(()=>{this.showTimer=null,this.pendingAnchor?.anchorEl===e.anchorEl&&this.showTooltip(e,t)},n)}showTooltip(e,t){if(!this.canShowTooltip(e))return;let n=this.resolveTooltipText(e);!this.shouldShowForContext(e,t,n)||!n||(this.activeAnchor=e,this.pendingAnchor=null,this.presentTooltip(e,t,n))}shouldShowForContext(e,t,n){if(!n)return!1;let r=e.colId==null?void 0:this.deps.columnModel.getColumnById(e.colId);return Ic({mode:t.tooltipShowMode,text:n,anchorEl:e.anchorEl,isAutoHeight:e.location===`cell`&&r?r.autoHeight:!1,enableTooltips:t.enableTooltips})}presentTooltip(e,t,n){let r=e.colId==null?void 0:this.deps.columnModel.getColumnById(e.colId),i=this.resolveTooltipComponent(e,r),a=t.tooltipMouseTrack?this.lastPointer??void 0:void 0;if(i){this.deps.tooltipService.show({anchorEl:e.anchorEl,location:e.location,tooltipComponent:i,tooltipParams:this.buildTooltipParams(e,n,r),mouseTrack:t.tooltipMouseTrack,pointer:a,interaction:t.tooltipInteraction});return}this.deps.tooltipService.show({anchorEl:e.anchorEl,text:n,location:e.location,mouseTrack:t.tooltipMouseTrack,pointer:a,interaction:t.tooltipInteraction})}resolveTooltipComponent(e,t){let n=this.deps.getOptions().tooltipComponent;return e.location===`statusBar`?n:t?.tooltipComponent??n}buildTooltipParams(e,t,n){let r=e.rowId==null?void 0:this.deps.rowModel.getRowById(e.rowId);return{location:e.location,value:r?.data&&n?.prop?r.data[n.prop]:t,valueFormatted:t,colId:e.colId,rowId:e.rowId,data:r?.data,hideTooltipCallback:()=>this.close(),api:this.deps.getApi()}}canShowTooltip(e){if(this.deps.cellCommentService()?.getOpenEditorCell())return!1;if(e.location===`statusBar`)return!0;if(!e.colId)return!1;let t=this.deps.columnModel.getColumnById(e.colId);return!(!t||t.hidden||t.suppressTooltip||e.location===`cell`&&e.rowId&&(this.isEditingCell(e.rowId,e.colId)||this.hasValidationTooltip(e.rowId,e.colId)))}isEditingCell(e,t){if(!this.deps.isEditing())return!1;let n=this.deps.getEditingCell();return n?.rowId===e&&n?.colId===t}hasValidationTooltip(e,t){return!!this.deps.validationFeedback.getRegistry().get(e)?.get(t)?.length}resolveTooltipText(e){if(e.location===`statusBar`)return wS(e.anchorEl);if(!e.colId)return null;let t=this.deps.columnModel.getColumnById(e.colId);if(!t)return null;if(e.location===`header`)return SS({column:t,headerTooltip:t.headerTooltip,headerTooltipValueGetter:t.headerTooltipValueGetter});if(e.location===`footer`)return CS({column:t,displayText:e.anchorEl.textContent?.trim()??``,tooltipField:t.tooltipField,tooltipValueGetter:t.tooltipValueGetter});if(!e.rowId)return null;let n=this.deps.rowModel.getRowById(e.rowId);return n?xS({rowNode:n,column:t,tooltipField:t.tooltipField,tooltipValueGetter:t.tooltipValueGetter,indexColumnOptions:this.deps.getIndexColumnOptions(),location:`cell`,anchorEl:e.anchorEl}):null}clearShowTimer(){this.showTimer!=null&&(clearTimeout(this.showTimer),this.showTimer=null)}},VS=class{activeComp=null;activeMountEl=null;mount(e,t,n){this.destroy(),e.replaceChildren();let r=n(t,e);if(r&&typeof r.getGui==`function`){let n=r.getGui();n!==e&&!e.contains(n)&&e.replaceChildren(n),r.init?.(t),this.activeComp=r,this.activeMountEl=e;return}this.activeMountEl=e}refresh(e){return this.activeComp?.refresh?.(e)??!1}destroy(){this.activeComp?.destroy?.(),this.activeMountEl?.replaceChildren(),this.activeComp=null,this.activeMountEl=null}};function HS(e){let{viewportPadding:t}=Ox(e.anchorEl??null);if(e.mouseTrack&&e.pointer){let n=e.pointer.clientX+16,r=e.pointer.clientY+16;return n=Math.max(t,Math.min(n,window.innerWidth-e.popupWidth-t)),r=Math.max(t,Math.min(r,window.innerHeight-e.popupHeight-t)),{left:n,top:r}}let n=e.anchorRect,r=n.left+n.width/2-e.popupWidth/2,i=n.bottom+8;return i+e.popupHeight>window.innerHeight-t&&(i=n.top-e.popupHeight-8),r=Math.max(t,Math.min(r,window.innerWidth-e.popupWidth-t)),i=Math.max(t,Math.min(i,window.innerHeight-e.popupHeight-t)),{left:r,top:i}}var US=`mg-tooltip__text`,WS=`mg-tooltip__content`,GS=class{popupEl=null;textEl=null;contentEl=null;componentHost=new VS;anchorEl=null;hideTimer=null;mouseTrackListener=null;interactionCleanup=null;visible=!1;mouseTrack=!1;interaction=!1;lastPointer=null;show(e){this.cancelHide(),this.anchorEl=e.anchorEl,this.mouseTrack=e.mouseTrack===!0,this.interaction=e.interaction===!0,this.lastPointer=e.pointer??null;let t=this.ensurePopup();t.classList.toggle(`${Tc}--interactive`,this.interaction),this.syncThemeFromAnchor(e.anchorEl),e.tooltipComponent&&e.tooltipParams?(this.textEl.hidden=!0,this.contentEl.hidden=!1,this.componentHost.mount(this.contentEl,e.tooltipParams,e.tooltipComponent)):(this.componentHost.destroy(),this.textEl.hidden=!1,this.contentEl.hidden=!0,this.textEl.textContent=e.text??``),t.hidden=!1,this.visible=!0,this.updatePosition(),this.syncMouseTrackListener(),this.syncInteractionListeners(t)}hide(e=!0){e&&this.cancelHide(),this.detachMouseTrackListener(),this.detachInteractionListeners(),this.componentHost.destroy(),this.popupEl&&(this.popupEl.hidden=!0,this.popupEl.dataset.theme=``),this.visible=!1,this.anchorEl=null,this.lastPointer=null}scheduleHide(e){this.cancelHide(),this.hideTimer=setTimeout(()=>{this.hideTimer=null,this.hide(!0)},e)}cancelHide(){this.hideTimer!=null&&(clearTimeout(this.hideTimer),this.hideTimer=null)}isVisible(){return this.visible}getAnchorEl(){return this.anchorEl}getPopupEl(){return this.popupEl}updatePointer(e){!this.visible||!this.mouseTrack||(this.lastPointer=e,this.updatePosition())}refreshPosition(){this.visible&&this.updatePosition()}destroy(){this.cancelHide(),this.detachMouseTrackListener(),this.detachInteractionListeners(),this.componentHost.destroy(),this.popupEl?.remove(),this.popupEl=null,this.textEl=null,this.contentEl=null,this.anchorEl=null,this.visible=!1}ensurePopup(){if(this.popupEl)return this.popupEl;let e=document.createElement(`div`);e.className=Tc,e.hidden=!0,e.setAttribute(`role`,`tooltip`);let t=document.createElement(`div`);t.className=US;let n=document.createElement(`div`);return n.className=WS,n.hidden=!0,e.append(t,n),document.body.append(e),this.popupEl=e,this.textEl=t,this.contentEl=n,e}syncThemeFromAnchor(e){let t=(e.closest(`.magic-grid[data-theme], .mg-root[data-theme]`)??e.closest(`.magic-grid, .mg-root`))?.getAttribute(`data-theme`)??`light`;this.popupEl.dataset.theme=t}updatePosition(){if(!this.popupEl||!this.anchorEl)return;let e=this.anchorEl.getBoundingClientRect(),t=this.popupEl.getBoundingClientRect(),n=HS({anchorRect:e,popupWidth:Math.min(t.width||420,420),popupHeight:t.height||this.popupEl.offsetHeight,anchorEl:this.anchorEl,mouseTrack:this.mouseTrack,pointer:this.lastPointer??void 0});this.popupEl.style.left=`${n.left}px`,this.popupEl.style.top=`${n.top}px`,this.popupEl.style.maxWidth=`420px`}syncMouseTrackListener(){if(!this.mouseTrack){this.detachMouseTrackListener();return}this.mouseTrackListener||(this.mouseTrackListener=e=>{this.updatePointer({clientX:e.clientX,clientY:e.clientY})},document.addEventListener(`mousemove`,this.mouseTrackListener))}detachMouseTrackListener(){this.mouseTrackListener&&=(document.removeEventListener(`mousemove`,this.mouseTrackListener),null)}syncInteractionListeners(e){if(this.detachInteractionListeners(),!this.interaction)return;let t=()=>{this.cancelHide()},n=()=>{this.hide(!0)};e.addEventListener(`pointerenter`,t),e.addEventListener(`pointerleave`,n),this.interactionCleanup=()=>{e.removeEventListener(`pointerenter`,t),e.removeEventListener(`pointerleave`,n)}}detachInteractionListeners(){this.interactionCleanup?.(),this.interactionCleanup=null}},KS=class{activeComp=null;activeMountEl=null;mount(e,t,n){this.destroy(),e.replaceChildren();let r=n(t,e);if(r&&typeof r.getGui==`function`){let n=r.getGui();n!==e&&!e.contains(n)&&e.replaceChildren(n),r.init?.(t),this.activeComp=r,this.activeMountEl=e;return}this.activeMountEl=e}refresh(e){return this.activeComp?.refresh?.(e)??!1}destroy(){this.activeComp?.destroy?.(),this.activeMountEl?.replaceChildren(),this.activeComp=null,this.activeMountEl=null}};function qS(e){return e.overlayType===`loading`?{blockEvents:!0,masked:!0}:e.overlayInteraction?{blockEvents:!0,masked:!1}:{blockEvents:!1,masked:!1}}function JS(e,t,n){let{blockEvents:r,masked:i}=qS(n),a=`${Bc}--interactive`;e.classList.toggle(a,r&&!i),e.classList.toggle(Hc,i);let o=r?`auto`:`none`;e.style.pointerEvents=o,t.style.pointerEvents=o}function YS(){let e=document.createElement(`div`);e.className=Bc,e.hidden=!0,e.setAttribute(`aria-hidden`,`true`);let t=document.createElement(`div`);t.className=Vc;let n=document.createElement(`div`);return n.className=`mg-overlay__mount`,t.appendChild(n),e.appendChild(t),{overlayEl:e,wrapperEl:t,contentEl:n}}var XS=new Set([`span`,`div`,`p`,`svg`,`strong`,`em`,`b`,`i`]);function ZS(e){let t=e.trim();if(!t)return``;if(!t.includes(`<`))return t;let n=new DOMParser().parseFromString(t,`text/html`),r=n.body.firstElementChild;if(!r||n.body.children.length!==1)return n.body.textContent?.trim()??t;let i=r.tagName.toLowerCase();return XS.has(i)?r.cloneNode(!0):r.textContent?.trim()??t}function QS(e){switch(e){case`loading`:return Wc;case`noRows`:return Gc;case`noMatchingRows`:return Kc;default:return e}}function $S(e,t={}){let n=document.createElement(`div`);n.className=`${Uc} ${QS(e)}`;let r=t.overlayText??Jc(e);if(t.template){let e=ZS(t.template);return typeof e==`string`?n.textContent=e:n.appendChild(e),n}if(e===`loading`){let e=document.createElement(`span`);e.className=qc,e.setAttribute(`aria-hidden`,`true`);let t=document.createElement(`span`);return t.className=`mg-overlay__text`,t.textContent=r,n.append(e,t),n}return n.textContent=r,n}var eC=class{deps;visibleType=null;componentHost=new KS;constructor(e){this.deps=e}sync(e,t){if(!e||!t){this.hide();return}if(this.visibleType===e){this.syncLayout(e),this.renderContent(e,t);return}this.visibleType=e,this.deps.overlayEl.hidden=!1,this.deps.overlayEl.setAttribute(`aria-hidden`,`false`),this.deps.overlayEl.dataset.overlayType=e,this.syncLayout(e),this.renderContent(e,t)}hide(){this.componentHost.destroy(),this.deps.contentEl.replaceChildren(),this.visibleType=null,this.deps.overlayEl.hidden=!0,this.deps.overlayEl.setAttribute(`aria-hidden`,`true`),delete this.deps.overlayEl.dataset.overlayType,this.syncLayout(null)}destroy(){this.hide()}getVisibleType(){return this.visibleType}syncLayout(e=this.visibleType){JS(this.deps.overlayEl,this.deps.wrapperEl,{overlayType:e,overlayInteraction:this.deps.getOverlayInteraction()})}renderContent(e,t){let n={overlayType:e,api:this.deps.getApi(),overlayText:Jc(e)};if(t.component){this.componentHost.mount(this.deps.contentEl,n,t.component);return}this.componentHost.destroy(),this.deps.contentEl.replaceChildren($S(e,{template:t.template,overlayText:n.overlayText}))}};function tC(e){return e.filter(e=>P(e.rowKind)===`BUSINESS`).length}function nC(e){let t=t=>Zc(t,e.suppressOverlays);return e.userForcedNoRows&&!t(`noRows`)?`noRows`:e.loading===!0&&!t(`loading`)||e.loading===void 0&&!e.rowDataReady&&!t(`loading`)?`loading`:e.sourceRowCount===0&&!t(`noRows`)?(e.infiniteVirtualRowCount??0)>0?null:`noRows`:e.sourceRowCount>0&&e.displayDataRowCount===0&&e.isAnyFilterActive&&!t(`noMatchingRows`)?`noMatchingRows`:null}function rC(e,t){switch(e){case`loading`:return{overlayType:e,component:t.loadingOverlayComponent,componentParams:t.loadingOverlayComponentParams,template:t.overlayLoadingTemplate};case`noRows`:return{overlayType:e,component:t.noRowsOverlayComponent,componentParams:t.noRowsOverlayComponentParams,template:t.overlayNoRowsTemplate};case`noMatchingRows`:return{overlayType:e,component:t.noMatchingRowsOverlayComponent,componentParams:t.noMatchingRowsOverlayComponentParams,template:t.overlayNoMatchingRowsTemplate};default:return e}}function iC(e,t){let n=rC(e,t);return n.component?n:t.overlayComponent?{overlayType:e,component:t.overlayComponent,componentParams:t.overlayComponentParams}:n}var aC=class{deps;userForcedNoRows=!1;rowDataReady=!1;currentType=null;destroyed=!1;constructor(e){this.deps=e}markRowDataReady(){this.rowDataReady=!0}isRowDataReady(){return this.rowDataReady}isUserForcedNoRows(){return this.userForcedNoRows}getOverlayType(){return this.currentType}isOverlayShowing(){return this.currentType!=null}getOverlayPresentation(){return this.currentType?iC(this.currentType,this.deps.getResolvedOptions()):null}buildResolveInput(){let e=this.deps.getResolvedOptions();return{loading:e.loading,suppressOverlays:e.suppressOverlays,sourceRowCount:this.deps.getSourceRowCount(),displayDataRowCount:tC(this.deps.getDisplayRows()),isAnyFilterActive:this.deps.isAnyFilterActive(),rowDataReady:this.rowDataReady,userForcedNoRows:this.userForcedNoRows,infiniteVirtualRowCount:this.deps.getInfiniteVirtualRowCount?.()??0}}updateOverlay(){if(this.destroyed)return;let e=nC(this.buildResolveInput());this.setCurrentType(e)}showNoRowsOverlay(){this.destroyed||(this.userForcedNoRows=!0,this.updateOverlay())}hideOverlay(){if(this.destroyed)return!1;if(this.deps.getResolvedOptions().loading===!0)return this.deps.warn?.(`[MagicGrid] hideOverlay() ignored while loading=true`),!1;if(this.currentType===`noMatchingRows`)return this.deps.warn?.(`[MagicGrid] hideOverlay() does not hide noMatchingRows overlay; clear filters instead`),!1;let e=this.userForcedNoRows;return this.userForcedNoRows=!1,(e||this.currentType!=null)&&this.updateOverlay(),!0}destroy(){this.destroyed||(this.destroyed=!0,this.setCurrentType(null),this.userForcedNoRows=!1)}setCurrentType(e){if(this.currentType===e)return;let t=this.currentType;this.currentType=e,this.deps.onOverlayChanged?.(e,t)}};async function oC(n,r,i={}){let a=i.signal??new AbortController().signal,o=i.invalidEditValueMode??`block`;e.l(a);let s={...n.data},c=[];for(let e of r){let t=vn(e.rawValue,e.column,e.editorParams);if(ln(t))return{ok:!1,failedColId:e.column.colId,revert:o===`revert`};c.push({column:e.column,editorParams:e.editorParams,oldValue:e.oldValue,parsedValue:t})}let l=[];try{let e=await Promise.all(c.map(async e=>{let t=await ep(e.column,e.editorParams,e.parsedValue,a);return{colId:e.column.colId,errors:t}}));for(let t of e)t.errors&&l.push({colId:t.colId,errors:t.errors})}catch(t){throw e.c(t),t}let u;if(l.length>0)if(o===`keep`)u={cellErrors:l};else{let e=l[0];return{ok:!1,failedColId:e.colId,errors:e.errors,cellErrors:l,revert:o===`revert`}}let d=new Map(c.map(e=>[e.column.colId,e.parsedValue]));try{let e=await tp(i.rowValidator,{rowId:i.rowKey?t.T(n,i.rowKey):n.id,rowIndex:n.rowIndex,data:n.data,draftValues:d,signal:a});if(e){let t=$f(c.map(e=>e.column.colId),e.colIds);if(o===`keep`)u={...u,rowErrors:e.errors,rowErrorColIds:t};else return{ok:!1,failedColId:t[0]??c[0]?.column.colId??``,rowErrors:e.errors,rowErrorColIds:t,revert:o===`revert`}}}catch(t){throw e.c(t),t}let f=[];try{for(let t of c){e.l(a);let{column:r,editorParams:i,oldValue:c,parsedValue:l}=t;if(c!==l){if(!await bn(r,i,l,a))return Object.assign(n.data,s),{ok:!1,failedColId:r.colId,revert:o===`revert`};f.push({colId:r.colId,oldValue:c,newValue:l})}}}catch(t){throw Object.assign(n.data,s),e.c(t),t}return u?{ok:!0,changes:f,validationWarnings:u}:{ok:!0,changes:f}}async function sC(t,n,r,i,a){try{let e=await oC(n,r.map(e=>({column:e.column,editorParams:{...e.params,value:e.oldValue,data:n.data,stopEditing:(e=!0)=>t.stopEditing(!e),cancelCommit:()=>t.cancelCommit(),getEditPhase:()=>t.getEditSessionPhase()},rawValue:i.get(e.column.colId)??``,oldValue:e.oldValue})),{signal:a.signal,rowValidator:t.deps.rowValidator,invalidEditValueMode:t.getInvalidEditValueMode(),rowKey:t.deps.rowModel.getRowKey()});return e.ok?(e.changes.length>0&&await cp(t.deps,async()=>{for(let i of e.changes){let e=r.find(e=>e.column.colId===i.colId)?.column;e&&up(t.deps.recordRowDataChange,n,e,i.oldValue,i.newValue,`rowEdit`)}t.deps.applyTransaction({update:[n.data]});for(let r of e.changes)t.deps.eventBus.emit(`cellValueChanged`,{rowId:n.id,colId:r.colId,oldValue:r.oldValue,newValue:r.newValue,rowNode:n});let i=new Map(e.changes.map(e=>[e.colId,e]));for(let e of r){let r=i.get(e.column.colId);r&&await sp(e.column,n,{oldValue:r.oldValue,newValue:r.newValue},t.deps,{source:`rowEdit`,signal:a.signal})}t.deps.syncPinnedRows()}),{ok:!0,cells:r.map(t=>{let n=e.changes.find(e=>e.colId===t.column.colId);return{colId:t.column.colId,committed:!0,oldValue:t.oldValue,newValue:n?.newValue??t.oldValue}}),validationWarnings:e.validationWarnings}):e}catch(t){if(e.c(t))return{ok:`aborted`};throw t}}async function cC(t,n,r,i,a,o){if(!r.prop)return{ok:!0};try{let e=vn(i,r,a);if(ln(e))return{ok:!1};let s=a.value,c=await ep(r,a,e,o.signal),l=t.getInvalidEditValueMode();return c&&l!==`keep`?{ok:!1,errors:c,revert:l===`revert`}:s===e?c?{ok:!0,newValue:e,validationErrors:c}:{ok:!0,newValue:e}:await bn(r,a,e,o.signal)?(await cp(t.deps,async()=>{up(t.deps.recordRowDataChange,n,r,s,e,`cellEdit`),t.deps.applyTransaction({update:[n.data]}),t.deps.eventBus.emit(`cellValueChanged`,{rowId:n.id,colId:r.colId,oldValue:s,newValue:e,rowNode:n}),await sp(r,n,{oldValue:s,newValue:e},t.deps,{source:`cellEdit`,signal:o.signal}),t.deps.syncPinnedRows()}),c?{ok:!0,newValue:e,validationErrors:c}:{ok:!0,newValue:e}):{ok:!1}}catch(t){if(e.c(t))return{ok:`aborted`};throw t}}function lC(e,t,n){for(let{colId:r,errors:i}of Qf(t,n)){let t=e.find(e=>e.colId===r);t?t.errors=[...new Set([...t.errors,...i])]:e.push({colId:r,errors:[...i]})}}async function uC(e,n,r={}){let i=r.signal??new AbortController().signal,a=[];for(let t of n){if(!t.column.cellValidator)continue;let n=H(e,t.column),r=await ep(t.column,t.editorParams,n,i);r&&a.push({colId:t.column.colId,errors:r})}if(r.rowValidator&&n.length>0){let o=new Map(n.map(t=>[t.column.colId,H(e,t.column)])),s=await tp(r.rowValidator,{rowId:r.rowKey?t.T(e,r.rowKey):e.id,rowIndex:e.rowIndex,data:e.data,draftValues:o,signal:i});s&&lC(a,$f(n.map(e=>e.column.colId),s.colIds),s.errors)}return a}async function dC(e,t={}){let n=t.signal??new AbortController().signal,r=t.showFeedback!==!1,i=mC(e.rowModel,t.rowIds),a=[],o=await Promise.all(i.map(async t=>({rowNode:t,invalidCells:await uC(t,hC(e,t),{rowValidator:e.rowValidator,signal:n,rowKey:e.rowModel.getRowKey()})}))),s=[];for(let{rowNode:e,invalidCells:t}of o){for(let n of t)a.push({rowId:e.id,rowIndex:e.rowIndex,colId:n.colId,errors:n.errors});s.push({rowId:e.id,cells:t})}return r&&(t.rowIds?e.validationFeedback.applyRowsValidationFeedback(e.mountEl,s):e.validationFeedback.applyGridValidationFeedback(e.mountEl,s)),{valid:a.length===0,cellErrors:a}}async function fC(e,n){let r=n.signal??new AbortController().signal,i=n.showFeedback!==!1,a=[];for(let{rowId:o,colId:s}of n.cells){let n=t.m(o),c=e.rowModel.getRowById(n),l=i?pC(e.mountEl,n):null;if(!c){i&&e.validationFeedback.clearRowCell(n,l,s);continue}let u=e.columnModel.getColumnById(s);if(!u||!V(u,c,e.getCellDisableContext?.())||!u.cellValidator){i&&e.validationFeedback.clearRowCell(n,l,s);continue}let d=await ep(u,e.createEditorParams(c,u),H(c,u),r);d?(a.push({rowId:n,rowIndex:c.rowIndex,colId:s,errors:d}),i&&e.validationFeedback.setRowCellInvalid(n,l,{colId:s,errors:d})):i&&e.validationFeedback.clearRowCell(n,l,s)}return{valid:a.length===0,cellErrors:a}}function pC(e,t){return e.querySelector(`.mg-row[data-row-id="${t}"]`)}function mC(e,n){let r=t.g(n);if(r)return r.map(t=>e.getRowById(t)).filter(e=>e!=null);let i=[],a=e.getRowCount();for(let t=0;t<a;t++){let n=e.getRow(t);n&&i.push(n)}return i}function hC(e,t){let n=e.getCellDisableContext?.();return e.columnModel.getColumns().filter(e=>V(e,t,n)).map(n=>({column:n,editorParams:e.createEditorParams(t,n)}))}function gC(e,t){for(let[n,r]of t){let t=e.get(n);t||(t=new Set,e.set(n,t));for(let e of r)t.add(e)}}var _C=class{getCtx;isCommitIdle;awaitCommitIdle;pendingSeeds=new Map;flushScheduled=!1;flushing=!1;idleWaitScheduled=!1;constructor(e,t,n){this.getCtx=e,this.isCommitIdle=t,this.awaitCommitIdle=n}notifyEditSessionIdle(){if(this.pendingSeeds.size===0){this.idleWaitScheduled=!1;return}this.isCommitIdle()&&(this.idleWaitScheduled=!1,this.scheduleFlush())}enqueue(e){e.size!==0&&(gC(this.pendingSeeds,e),this.scheduleFlush())}scheduleFlush(){this.flushScheduled||this.flushing||(this.flushScheduled=!0,queueMicrotask(()=>{this.flushScheduled=!1,this.flush()}))}takePendingSnapshot(){let e=new Map;for(let[t,n]of this.pendingSeeds)e.set(t,[...n]);return this.pendingSeeds.clear(),e}restorePending(e){gC(this.pendingSeeds,e)}deferFlushUntilIdle(){this.idleWaitScheduled||this.pendingSeeds.size===0||(this.idleWaitScheduled=!0,window.setTimeout(()=>{if(!this.idleWaitScheduled||this.pendingSeeds.size===0){this.idleWaitScheduled=!1;return}if(this.getCtx().deps.isDestroyed()){this.pendingSeeds.clear(),this.idleWaitScheduled=!1;return}this.isCommitIdle()&&(this.idleWaitScheduled=!1,this.scheduleFlush())},0))}async flush(){if(!(this.flushing||this.pendingSeeds.size===0)){this.flushing=!0;try{let e=this.getCtx();if(e.deps.isDestroyed()){this.pendingSeeds.clear();return}if(this.isCommitIdle()||await this.awaitCommitIdle(),e.deps.isDestroyed()){this.pendingSeeds.clear();return}if(!this.isCommitIdle()){this.deferFlushUntilIdle();return}let t=this.takePendingSnapshot();if(t.size===0)return;for(let[n,r]of t){if(e.deps.isDestroyed()){this.restorePending(t);return}if(!this.isCommitIdle()){this.restorePending(t),this.deferFlushUntilIdle();return}await AC(e,n,[...r])}}finally{this.flushing=!1,this.pendingSeeds.size>0&&(this.isCommitIdle()?this.scheduleFlush():this.deferFlushUntilIdle())}}}};function vC(e){return e.invalidEditValueMode??`block`}function $(e){let t=e.mountEl.querySelector(`.mg-header-row`);t&&e.validationFeedback.syncHeaderDom(t,e.columnModel.getColumns())}function yC(e){e.deps.validationFeedback.syncDom(e.deps.mountEl),$(e.deps)}function bC(e,n){let r=n?.rowIds;if(r?.length){for(let n of r){let r=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${n}"]`);e.deps.validationFeedback.clearRow(t.m(n),r)}$(e.deps);return}e.deps.validationFeedback.clear(e.deps.mountEl),$(e.deps)}function xC(e,t){bC(e,{rowIds:t.rowIds})}function SC(e,n){for(let{rowId:r,colId:i}of n.cells){let n=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${r}"]`);e.deps.validationFeedback.clearRowCell(t.m(r),n,i)}$(e.deps)}async function CC(e,t){let n=await dC({mountEl:e.deps.mountEl,rowModel:e.deps.rowModel,columnModel:e.deps.columnModel,rowValidator:e.deps.rowValidator,validationFeedback:e.deps.validationFeedback,createEditorParams:(t,n)=>e.createCellEditorParams(t,n),getCellDisableContext:e.deps.getCellDisableContext},t);return e.deps.redrawImmediately(),yC(e),n}async function wC(e,t){return CC(e,{rowIds:t.rowIds,signal:t.signal,showFeedback:t.showFeedback})}async function TC(e,t){let n=await fC({mountEl:e.deps.mountEl,rowModel:e.deps.rowModel,columnModel:e.deps.columnModel,rowValidator:e.deps.rowValidator,validationFeedback:e.deps.validationFeedback,createEditorParams:(t,n)=>e.createCellEditorParams(t,n),getCellDisableContext:e.deps.getCellDisableContext},t);return e.deps.redrawImmediately(),yC(e),n}function EC(e,t){return e.columnModel.getColumns().filter(n=>V(n,t,e.getCellDisableContext())).map(e=>e.colId)}function DC(e,t,n){return e.rowValidator&&mn(e.editBehavior)?EC(e,t):n}function OC(e,t,n){kC(e,new Map([[t,n]]))}function kC(e,t){e.persistedValidationScheduler.enqueue(t)}async function AC(e,n,r){if(e.deps.isDestroyed()||e.isEditing())return;let i=e.deps.rowModel.getRowById(n);if(!i)return;let a=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${n}"]`),o=DC(e.deps,i,r);if(o.length===0){e.deps.validationFeedback.clearRow(n,a),$(e.deps);return}let s=o.map(t=>{let n=e.deps.columnModel.getColumnById(t);return n?{column:n,editorParams:e.createCellEditorParams(i,n)}:null}).filter(e=>e!=null),c=[];try{c=await uC(i,s,{rowValidator:e.deps.rowValidator,rowKey:e.deps.rowModel.getRowKey()})}catch{return}if(mn(e.deps.editBehavior)){c.length>0?e.deps.validationFeedback.setRowInvalid(n,a,c):e.deps.validationFeedback.clearRow(t.m(n),a),$(e.deps);return}let l=new Set(o);for(let e of c)l.add(e.colId);for(let r of l){let i=c.find(e=>e.colId===r);i?e.deps.validationFeedback.setRowCellInvalid(n,a,i):e.deps.validationFeedback.clearRowCell(t.m(n),a,r)}$(e.deps)}function jC(e,t,n){e.eventBus.emit(`cellValidationFailed`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,errors:n,mode:`keep`})}function MC(e,t,n){let r=n.cellErrors?.[0]?.colId??t.colId;e.eventBus.emit(`rowValidationFailed`,{rowId:t.rowId,rowIndex:t.rowIndex,failedColId:r,cellErrors:n.cellErrors,rowErrors:n.rowErrors,mode:`keep`,rowNode:t.rowNode})}function NC(e,t,n,r){let i=e.getInvalidEditValueMode();e.deps.eventBus.emit(`cellValidationFailed`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,errors:n,mode:i}),r?(e.deps.validationFeedback.clearRow(t.rowId,t.rowElement),$(e.deps)):(e.deps.validationFeedback.showCellInvalid({rowId:t.rowId,rowElement:t.rowElement,colId:t.colId,errors:n,editorMountEl:e.deps.editingService.getEditorMountEl()}),$(e.deps))}function PC(e,t,n){let r=e.getInvalidEditValueMode();if(e.deps.eventBus.emit(`rowValidationFailed`,{rowId:t.rowId,rowIndex:t.rowIndex,failedColId:n.failedColId,cellErrors:n.cellErrors,rowErrors:n.rowErrors,mode:r,rowNode:t.rowNode}),n.revert)e.deps.validationFeedback.clearRow(t.rowId,t.rowElement),$(e.deps);else{let r=n.cellErrors&&n.cellErrors.length>0?n.cellErrors.map(t=>({colId:t.colId,errors:t.errors,editorMountEl:e.deps.rowEditingService.getEditorMountEl(t.colId)})):Qf(n.rowErrorColIds?.length?n.rowErrorColIds:[n.failedColId],n.rowErrors??n.errors??[`Validation failed`]).map(t=>({colId:t.colId,errors:t.errors,editorMountEl:e.deps.rowEditingService.getEditorMountEl(t.colId)}));e.deps.validationFeedback.showCellsInvalid({rowId:t.rowId,rowElement:t.rowElement,cells:r}),$(e.deps)}}function FC(e,t){let n=e.deps.rowModel.getRowById(t.rowId);for(let r of t.cells)e.deps.eventBus.emit(`cellEditingStopped`,{rowId:t.rowId,colId:r.colId,rowIndex:t.rowIndex,committed:r.committed,oldValue:r.oldValue,newValue:r.newValue,rowNode:n});let r=t.committed?t.cells.filter(e=>e.committed&&e.oldValue!==e.newValue).map(e=>({colId:e.colId,oldValue:e.oldValue,newValue:e.newValue})):void 0;if(e.deps.eventBus.emit(`rowEditingStopped`,{rowId:t.rowId,rowIndex:t.rowIndex,committed:t.committed,changes:r,rowNode:n}),t.committed&&r&&r.length>0&&n&&e.deps.eventBus.emit(`rowValueChanged`,{rowId:t.rowId,rowIndex:t.rowIndex,rowNode:n,changes:r}),e.deps.syncPinnedRows(),t.committed){let n=t.cells.filter(e=>e.committed&&e.oldValue!==e.newValue).map(e=>e.colId);n.length>0&&e.deps.refreshCells({rowIds:[t.rowId],colIds:n})}else e.deps.refreshCells({rowIds:[t.rowId],force:!0});e.deps.applyFocusVisuals(),queueMicrotask(()=>{!e.deps.isDestroyed()&&!e.isEditing()&&e.deps.viewportEl.focus({preventScroll:!0})}),OC(e.validationCtx(),t.rowId,t.cells.map(e=>e.colId)),e.validationCtx().persistedValidationScheduler.notifyEditSessionIdle()}function IC(e,t){let n=e.deps.rowModel.getRowById(t.rowId);e.deps.eventBus.emit(`cellEditingStopped`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,committed:t.committed,oldValue:t.oldValue,newValue:t.newValue,rowNode:n}),e.deps.syncPinnedRows();let r=()=>{t.committed?t.oldValue!==t.newValue&&e.deps.refreshCells({rowIds:[t.rowId],colIds:[t.colId]}):e.deps.refreshCells({rowIds:[t.rowId],colIds:[t.colId],force:!0})};e.isEditing()?requestAnimationFrame(()=>{e.deps.isDestroyed()||r()}):r(),e.deps.applyFocusVisuals(),queueMicrotask(()=>{!e.deps.isDestroyed()&&!e.isEditing()&&e.deps.viewportEl.focus({preventScroll:!0})}),OC(e.validationCtx(),t.rowId,[t.colId]),e.validationCtx().persistedValidationScheduler.notifyEditSessionIdle()}function LC(e,n){if(e.deps.isDestroyed())return;let r=e.deps.rowModel.getRow(n.rowIndex);if(!r)return;let i=e.deps.columnModel.getColumnById(n.colKey);if(!i||t.it(i.colId)||t.X(i.colId)||t.V(i)||!V(i,r,e.deps.getCellDisableContext()))return;let a=e.deps.getColIndex(i.colId);e.deps.cellFocusService.setFocusedCell({rowId:r.id,colId:i.colId,rowIndex:n.rowIndex,colIndex:a}),e.deps.applyFocusVisuals(),e.deps.ensureIndexVisible(n.rowIndex),e.deps.ensureColumnVisible(a),e.deps.redrawImmediately();let o=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${r.id}"]`);o&&RC(e,{rowId:r.id,colId:i.colId,rowIndex:n.rowIndex,rowNode:r,rowElement:o})}function RC(e,t){if(mn(e.deps.editBehavior)){zC(e,t);return}BC(e,t)}function zC(e,n){if(e.deps.rowEditingService.isCommitting()){e.deps.rowEditingService.awaitCommitIdle().then(()=>{e.deps.rowEditingService.isCommitting()||zC(e,n)});return}if(e.deps.editingService.isEditing()){e.deps.editingService.stopEditing(!0).then(()=>{e.deps.editingService.isEditing()||zC(e,n)});return}if(e.deps.rowEditingService.isEditing()){if(e.deps.rowEditingService.getEditingRow()?.rowId===n.rowId)return;e.deps.rowEditingService.stopRowEditing(!0).then(t=>{t?.committed&&!e.deps.rowEditingService.isEditing()&&zC(e,n)});return}let r=e.deps.columnModel.getColumns().filter(r=>V(r,n.rowNode,e.deps.getCellDisableContext())&&!t.V(r)).map(t=>{let r=e.createCellEditorParams(n.rowNode,t),{stopEditing:i,setKeyboardPolicy:a,cancelCommit:o,getEditPhase:s,...c}=r;return{column:t,params:c,oldValue:r.value}});if(r.length===0)return;let i=e.validationCtx();if(e.deps.rowEditingService.startRowEditing({rowElement:n.rowElement,rowNode:n.rowNode,columns:r,focusColId:n.colId,onCommitRow:(t,i)=>sC(e.commitCtx(),n.rowNode,r,t,i),onFocusColChange:t=>{let r=e.deps.getColIndex(t);e.deps.cellFocusService.setFocusedCell({rowId:n.rowId,colId:t,rowIndex:n.rowIndex,colIndex:r}),e.deps.applyFocusVisuals()},onRowEditingStopped:t=>{FC(e.lifecycleCtx(),t)},onCommitLifecycle:{onStarted:()=>{e.deps.eventBus.emit(`rowCommitStarted`,{rowId:n.rowId,rowIndex:n.rowIndex,editableColIds:r.map(e=>e.column.colId),rowNode:n.rowNode})},onFinished:t=>{e.deps.eventBus.emit(`rowCommitFinished`,{rowId:n.rowId,rowIndex:n.rowIndex,committed:t.ok===!0,aborted:t.ok===`aborted`,rowNode:n.rowNode}),t.ok===!1&&t.failedColId?PC(i,n,t):t.ok===!0&&t.validationWarnings&&MC(e.deps,n,t.validationWarnings)},onAborted:()=>{e.deps.eventBus.emit(`editCommitAborted`,{rowId:n.rowId,rowIndex:n.rowIndex})}}})){e.deps.eventBus.emit(`rowEditingStarted`,{rowId:n.rowId,rowIndex:n.rowIndex,editableColIds:r.map(e=>e.column.colId),rowNode:n.rowNode});for(let t of r)e.deps.eventBus.emit(`cellEditingStarted`,{rowId:n.rowId,colId:t.column.colId,rowIndex:n.rowIndex,value:t.oldValue,rowNode:n.rowNode});e.deps.applyFocusVisuals(),e.deps.syncPinnedRows()}}function BC(e,n){if(e.deps.rowEditingService.isCommitting()){e.deps.rowEditingService.awaitCommitIdle().then(()=>{e.deps.rowEditingService.isCommitting()||BC(e,n)});return}if(e.deps.editingService.isCommitting()){e.deps.editingService.awaitCommitIdle().then(()=>{e.deps.editingService.isCommitting()||BC(e,n)});return}if(e.deps.rowEditingService.isEditing()){e.deps.rowEditingService.stopRowEditing(!0).then(t=>{t?.committed&&!e.deps.rowEditingService.isEditing()&&BC(e,n)});return}let r=e.deps.columnModel.getColumnById(n.colId);if(!r||!V(r,n.rowNode,e.deps.getCellDisableContext())||t.V(r))return;let i=e.createCellEditorParams(n.rowNode,r),a=i.formattedValue,o=i.value,s=()=>{e.deps.validationFeedback.clearRowCell(n.rowId,n.rowElement??null,n.colId),$(e.deps)},c=e.validationCtx();e.deps.editingService.startEditing(n.rowElement,n.rowNode,r,a,o,{editorParams:i,onCommit:(t,a)=>cC(e.commitCtx(),n.rowNode,r,t,i,a),onCancel:()=>void 0,onEditingInput:s,onEditingStopped:t=>{IC(e.lifecycleCtx(),t)},onTab:t=>{e.deps.onTabChainEdit(t)},onCommitLifecycle:{onStarted:()=>{s(),e.deps.eventBus.emit(`cellCommitStarted`,{rowId:n.rowId,colId:n.colId,rowIndex:n.rowIndex})},onFinished:t=>{e.deps.eventBus.emit(`cellCommitFinished`,{rowId:n.rowId,colId:n.colId,rowIndex:n.rowIndex,committed:t.ok===!0,aborted:t.ok===`aborted`}),t.ok===!1&&t.errors?NC(c,n,t.errors,t.revert):t.ok===!0&&t.validationErrors?.length&&jC(e.deps,n,t.validationErrors)},onAborted:()=>{e.deps.eventBus.emit(`editCommitAborted`,{rowId:n.rowId,colId:n.colId,rowIndex:n.rowIndex})}}}),e.deps.eventBus.emit(`cellEditingStarted`,{rowId:n.rowId,colId:n.colId,rowIndex:n.rowIndex,value:o,rowNode:n.rowNode}),e.deps.applyFocusVisuals(),e.deps.syncPinnedRows()}var VC=class{deps;persistedValidationScheduler;constructor(e){this.deps=e,this.persistedValidationScheduler=new _C(()=>this.validationCtx(),()=>!this.isEditing()&&!this.isCommitting(),()=>this.awaitCommitIdle())}validate(e){return CC(this.validationCtx(),e)}validateRows(e){return wC(this.validationCtx(),e)}validateCells(e){return TC(this.validationCtx(),e)}clearValidation(e){bC(this.validationCtx(),e)}clearRowValidation(e){xC(this.validationCtx(),e)}clearCellValidation(e){SC(this.validationCtx(),e)}syncValidationDom(){yC(this.validationCtx())}syncValidationHeaderDom(){$(this.deps)}schedulePersistedValidationRefreshForRows(e){kC(this.validationCtx(),e)}startEditingCell(e){LC(this.startCtx(),e)}stopEditing(e=!1){return this.deps.rowEditingService.isEditing()?this.deps.rowEditingService.stopRowEditing(!e).then(e=>e?{committed:e.committed}:null):this.deps.editingService.isEditing()?this.deps.editingService.stopEditing(!e).then(e=>e?{committed:e.committed}:null):Promise.resolve(null)}async commit(e=!1){let t=await this.stopEditing(e);return t===null?!this.isEditing():e?!0:t.committed===!0}isCommitting(){return this.deps.editingService.isCommitting()||this.deps.rowEditingService.isCommitting()}awaitCommitIdle(){return Promise.all([this.deps.editingService.awaitCommitIdle(),this.deps.rowEditingService.awaitCommitIdle()]).then(()=>void 0)}cancelCommit(){if(this.deps.rowEditingService.isCommitting()){this.deps.rowEditingService.cancelCommit();return}this.deps.editingService.isEditing()&&this.deps.editingService.cancelCommit()}cancelPendingBlurCommit(){this.deps.editingService.cancelPendingBlurCommit()}deferBlurCommitDuringPointerGesture(e){this.deps.editingService.deferBlurCommitDuringPointerGesture(e)}isBlurCommitDeferred(){return this.deps.editingService.isBlurCommitDeferred()}getEditSessionPhase(){return this.deps.rowEditingService.isEditing()?this.deps.rowEditingService.getEditSessionPhase():this.deps.editingService.getEditSessionPhase()}isEditing(){return this.deps.editingService.isEditing()||this.deps.rowEditingService.isEditing()}getEditingCell(){if(this.deps.rowEditingService.isEditing()){let e=this.deps.rowEditingService.getEditingRow(),t=this.deps.rowEditingService.getActiveColId();if(e&&t)return{rowId:e.rowId,colId:t};let n=this.deps.rowEditingService.getEditingCells()[0];return n?{rowId:n.rowId,colId:n.colId}:null}let e=this.deps.editingService.getEditingCell();return e?{rowId:e.rowId,colId:e.colId}:null}getEditingCells(){if(this.deps.rowEditingService.isEditing())return this.deps.rowEditingService.getEditingCells();let e=this.deps.editingService.getEditingCell();return e?[{rowId:e.rowId,rowIndex:e.rowIndex,colId:e.colId}]:[]}getEditingRowId(){return this.deps.rowEditingService.isEditing()?this.deps.rowEditingService.getEditingRow()?.rowId??null:this.deps.editingService.getEditingCell()?.rowId??null}focusRowEditingColumn(e){return this.deps.rowEditingService.focusEditingColumn(e)}cancelEditingForRemovedRows(e){let t=this.getEditingRowId();!t||!e.has(t)||this.stopEditing(!0)}registerCellEditor(e,t){this.deps.editorHost.register(e,t)}unregisterCellEditor(e){return this.deps.editorHost.unregister(e)}cancelEditingOnDestroy(){this.deps.editingService.cancelCommit(),this.deps.rowEditingService.cancelCommit(),this.deps.rowEditingService.isEditing()&&this.deps.rowEditingService.stopRowEditing(!1),this.deps.editingService.isEditing()&&this.deps.editingService.stopEditing(!1)}destroy(){this.deps.rowEditingService.destroy(),this.deps.editingService.destroy()}tryStartRowEditing(e){zC(this.startCtx(),e)}tryStartCellEditing(e){BC(this.startCtx(),e)}createCellEditorParams(e,t){return Lx(this.editorParamsCtx(),e,t)}validationCtx(){return{deps:this.deps,isEditing:()=>this.isEditing(),persistedValidationScheduler:this.persistedValidationScheduler,createCellEditorParams:(e,t)=>this.createCellEditorParams(e,t),getInvalidEditValueMode:()=>vC(this.deps)}}editorParamsCtx(){return{deps:this.deps,stopEditing:e=>this.stopEditing(e),cancelCommit:()=>this.cancelCommit(),getEditSessionPhase:()=>this.getEditSessionPhase()}}commitCtx(){return{deps:this.deps,stopEditing:e=>this.stopEditing(e),cancelCommit:()=>this.cancelCommit(),getEditSessionPhase:()=>this.getEditSessionPhase(),getInvalidEditValueMode:()=>vC(this.deps)}}lifecycleCtx(){return{deps:this.deps,isEditing:()=>this.isEditing(),validationCtx:()=>this.validationCtx()}}startCtx(){return{deps:this.deps,isEditing:()=>this.isEditing(),stopEditing:e=>this.stopEditing(e),cancelCommit:()=>this.cancelCommit(),getEditSessionPhase:()=>this.getEditSessionPhase(),editorParamsCtx:()=>this.editorParamsCtx(),commitCtx:()=>this.commitCtx(),validationCtx:()=>this.validationCtx(),lifecycleCtx:()=>this.lifecycleCtx(),createCellEditorParams:(e,t)=>this.createCellEditorParams(e,t)}}},HC=`mg-column-drag-ghost`,UC=`mg-column-drag-ghost__icon`,WC=`mg-column-drag-ghost__label`,GC=`mg-column-drop-indicator`,KC=class{ghostEl=null;indicatorEl=null;movingColId=null;lastMovingChangedAt=-1/0;isColumnMoving(e){return this.movingColId?!e||this.movingColId===e:!1}shouldSuppressSortClick(){return this.movingColId?!0:performance.now()-this.lastMovingChangedAt<50}setColumnMoving(e){this.movingColId=e,this.lastMovingChangedAt=performance.now()}startGhost(e){this.removeGhost();let t=document.createElement(`div`);t.className=HC,t.style.width=`${e.width}px`,t.style.height=`${e.height}px`,t.style.left=`${e.left}px`,t.style.top=`${e.top}px`;let n=document.createElement(`span`);n.className=UC,n.setAttribute(`aria-hidden`,`true`),n.append(Em());let r=document.createElement(`span`);r.className=WC,r.textContent=e.label,t.append(n,r),(e.mountEl??document.body).appendChild(t),this.ghostEl=t}moveGhost(e,t){this.ghostEl&&(this.ghostEl.style.left=`${e}px`,this.ghostEl.style.top=`${t}px`)}showDropIndicator(e,t,n){if(!this.indicatorEl){let e=document.createElement(`div`);e.className=GC,document.body.appendChild(e),this.indicatorEl=e}this.indicatorEl.style.left=`${e}px`,this.indicatorEl.style.top=`${t}px`,this.indicatorEl.style.height=`${n}px`,this.indicatorEl.style.display=`block`}hideDropIndicator(){this.indicatorEl&&(this.indicatorEl.style.display=`none`)}setSourceHeaderDragging(e,t){e&&e.classList.toggle(`mg-header-cell--dragging`,t)}setHeaderViewportDragging(e,t){e&&e.classList.toggle(`mg-header-viewport--column-dragging`,t)}cleanup(e,t){this.setSourceHeaderDragging(e,!1),this.setHeaderViewportDragging(t,!1),this.removeGhost(),this.removeIndicator(),this.setColumnMoving(null)}destroy(){this.removeGhost(),this.removeIndicator(),this.movingColId=null}removeGhost(){this.ghostEl?.remove(),this.ghostEl=null}removeIndicator(){this.indicatorEl?.remove(),this.indicatorEl=null}};function qC(e,t){return[{colId:e,sort:`asc`}]}function JC(e,t){return[{colId:e,sort:`desc`}]}function YC(e,t){return ea(t.filter(t=>t.colId!==e))}function XC(e,t){return t.find(t=>t.colId===e)?.sort??null}function ZC(e,t){return XC(e,t)!==null}var QC=[{value:`contains`,label:`包含`},{value:`notContains`,label:`不包含`},{value:`equals`,label:`等于`},{value:`notEqual`,label:`不等于`},{value:`startsWith`,label:`开头是`},{value:`endsWith`,label:`结尾是`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`非空白`}],$C=[{value:`equals`,label:`等于`},{value:`notEqual`,label:`不等于`},{value:`lessThan`,label:`小于`},{value:`lessThanOrEqual`,label:`小于等于`},{value:`greaterThan`,label:`大于`},{value:`greaterThanOrEqual`,label:`大于等于`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`非空白`}],ew=[{value:`equals`,label:`等于`},{value:`notEqual`,label:`不等于`},{value:`lessThan`,label:`早于`},{value:`greaterThan`,label:`晚于`},{value:`inRange`,label:`范围内`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`非空白`}];function tw(e){switch(e){case`number`:return $C;case`date`:return ew;default:return QC}}function nw(e){switch(e){case`number`:return`equals`;case`date`:return`equals`;default:return`contains`}}function rw(e){return{type:nw(e),value:``,valueTo:``}}function iw(e){return!si(e)}function aw(e){return e===`inRange`}function ow(e){return e===`number`?`number`:`text`}function sw(e,t){return`过滤条件`}function cw(e){return`过滤条件`}function lw(e,t){return tw(t).some(t=>t.value===e)}function uw(e,t){let n=ti(e);return n===void 0?{setAllSelected:!0,selectedValues:[...t]}:n.length===0?{setAllSelected:!1,selectedValues:[]}:t.length>0&&n.length===t.length&&t.every(e=>n.includes(e))?{setAllSelected:!0,selectedValues:[...t]}:{setAllSelected:!1,selectedValues:n}}function dw(e,t,n){if(si(e))return{type:e};if(e===`inRange`){let r=t.trim(),i=n?.trim()??``;return r===``||i===``?null:{type:e,filter:r,filterTo:i}}let r=t.trim();return r===``?null:{type:e,filter:r}}function fw(e,t){return e?null:{setValues:t.filter(e=>e!==``)}}function pw(e,t,n){let r=$r(e).map(e=>({type:lw(e.type,t)?e.type:n,value:e.filter??``,valueTo:e.filterTo??``}));return r.length>0?r:[rw(t)]}function mw(e,t,n){let r=t.map(e=>dw(e.type,e.value,e.valueTo)).filter(e=>e!==null);if(r.length===0)return null;if(r.length===1){let e=r[0];return{type:e.type,...e.filter===void 0?{}:{filter:e.filter},...e.filterTo===void 0?{}:{filterTo:e.filterTo}}}return{type:r[0]?.type??n,operator:e,conditions:r.map(e=>({type:e.type,...e.filter===void 0?{}:{filter:e.filter},...e.filterTo===void 0?{}:{filterTo:e.filterTo}}))}}function hw(e,t,n=`text`,r=[]){let i=t[e],a=nw(n),o=uw(void 0,r),s={operatorLogic:`AND`,operatorConditions:[rw(n)]};if(!i)return{customPredicate:!1,...s,...o};if(br(i))return{customPredicate:!0,...s,...o};let c=uw(i,r);return{customPredicate:!1,operatorLogic:ei(i),operatorConditions:pw(i,n,a),...c}}function gw(e,t,n,r,i){let a=mw(e,t,i),o=fw(n,r);return!a&&!o?null:{...a,type:a?.type??i,...o??{}}}function _w(e,t,n,r){let i={...n},a=nw(r),o=gw(t.operatorLogic,t.operatorConditions,t.setAllSelected,t.selectedValues,a);return o&&(ni(o)||ri(o))?i[e]=o:delete i[e],i}function vw(e,t,n,r,i,a,o=!0,s=[]){return _w(e,{operatorLogic:`AND`,operatorConditions:[{type:t,value:n,valueTo:a??``}],setAllSelected:o,selectedValues:s},r,i)}function yw(e,t){if(!(e in t))return t;let n={...t};return delete n[e],n}function bw(e){return si(e.type)?!1:e.type===`inRange`?e.value.trim()!==``||e.valueTo.trim()!==``:e.value.trim()!==``}function xw(e){let t=e[0];return t?bw(t):!1}function Sw(e){let{columnFilterType:t,abortSignal:n,onInput:r,onStopPropagation:i}=e,a=tw(t),o=`mg-filter-logic-${Math.random().toString(36).slice(2)}`,s=document.createElement(`div`);s.className=`mg-column-handle-menu__filter-operator-panel`;let c=document.createElement(`fieldset`);c.className=`mg-column-handle-menu__filter-operator-logic`,c.setAttribute(`aria-label`,`条件组合方式`),c.hidden=!0;let l=document.createElement(`label`);l.className=`mg-column-handle-menu__filter-operator-logic-option`;let u=document.createElement(`input`);u.type=`radio`,u.name=o,u.value=`AND`,u.checked=!0,l.append(u,document.createTextNode(`并且`));let d=document.createElement(`label`);d.className=`mg-column-handle-menu__filter-operator-logic-option`;let f=document.createElement(`input`);f.type=`radio`,f.name=o,f.value=`OR`,d.append(f,document.createTextNode(`或者`)),c.append(l,d);let p=null,m=null,h=`AND`,g=null,_=e=>({type:e.typeSelect.value,value:e.input.value,valueTo:e.inputTo.value}),v=()=>f.checked?`OR`:`AND`,y=e=>{u.checked=e!==`OR`,f.checked=e===`OR`},b=e=>{let n=e.typeSelect.value;e.input.type=ow(t),e.input.placeholder=sw(t,n),e.input.hidden=!iw(n),e.inputTo.type=ow(t),e.inputTo.placeholder=cw(t),e.inputTo.hidden=!aw(n)},x=()=>{let e=p?bw(_(p)):!1;c.hidden=!e,e&&!m&&p&&(m=C(g??rw(t),!0),m.rowEl.hidden=!1,s.append(m.rowEl)),m&&(m.rowEl.hidden=!e),!e&&m&&(bw(_(m))&&(g=_(m)),m.rowEl.remove(),m=null,c.hidden=!0)},S=()=>{x(),r()},C=(e,t=!1)=>{let r=document.createElement(`div`);r.className=`mg-column-handle-menu__filter-condition-row`,t&&r.classList.add(`mg-column-handle-menu__filter-condition-row--secondary`);let o=document.createElement(`select`);o.className=`mg-column-handle-menu__filter-type`,o.setAttribute(`aria-label`,t?`第二个筛选算子`:`筛选算子`);for(let e of a){let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,o.append(t)}o.value=e.type;let s=document.createElement(`input`);s.className=`mg-column-handle-menu__filter-input`,s.setAttribute(`aria-label`,t?`第二个筛选值`:`筛选值`),s.value=e.value;let c=document.createElement(`input`);c.className=`mg-column-handle-menu__filter-input-to`,c.setAttribute(`aria-label`,t?`第二个筛选结束值`:`筛选结束值`),c.value=e.valueTo,r.append(o,s,c);let l={rowEl:r,typeSelect:o,input:s,inputTo:c};b(l);let u=e=>{i?.(e)};o.addEventListener(`change`,()=>{b(l),S()},{signal:n}),s.addEventListener(`input`,S,{signal:n}),c.addEventListener(`input`,S,{signal:n});for(let e of[o,s,c])e.addEventListener(`mousedown`,u,{signal:n}),e.addEventListener(`click`,u,{signal:n});return l},w=e=>{s.replaceChildren();let n=e.operatorConditions.length>0?e.operatorConditions:[rw(t)];h=e.operatorLogic,g=n[1]??null,y(h),p=C(n[0]??rw(t)),m=null,s.append(p.rowEl,c),xw(n)?(m=C(n[1]??g??rw(t),!0),s.append(m.rowEl),c.hidden=!1):c.hidden=!0};w(e.initialState);for(let e of[u,f])e.addEventListener(`change`,()=>{h=v(),r()},{signal:n}),e.addEventListener(`mousedown`,e=>i?.(e),{signal:n}),e.addEventListener(`click`,e=>i?.(e),{signal:n});return c.addEventListener(`mousedown`,e=>i?.(e),{signal:n}),c.addEventListener(`click`,e=>i?.(e),{signal:n}),{element:s,readState:()=>{let e=p?[_(p)]:[];return p&&!c.hidden&&m&&e.push(_(m)),{operatorLogic:v(),operatorConditions:e}},syncState:e=>{w(e)}}}function Cw(e,t){let n=t.trim().toLowerCase();return n===``?[...e]:e.filter(e=>e.label.toLowerCase().includes(n)||e.key.toLowerCase().includes(n))}var ww=class{allKeys;setAllSelected;selectedKeys;constructor(e,t){this.allKeys=e,this.setAllSelected=t.setAllSelected,this.selectedKeys=new Set(t.setAllSelected?[]:t.selectedValues)}isChecked(e){return this.setAllSelected||this.selectedKeys.has(e)}setSelectAll(e){this.setAllSelected=e,this.selectedKeys.clear()}toggleKey(e,t){this.setAllSelected&&(this.setAllSelected=!1,this.selectedKeys=new Set(this.allKeys)),t?this.selectedKeys.add(e):this.selectedKeys.delete(e),this.selectedKeys.size===this.allKeys.length&&(this.setAllSelected=!0,this.selectedKeys.clear())}getSelectAllState(){return this.getSelectAllStateForKeys(this.allKeys)}getSelectAllStateForKeys(e){if(e.length===0)return{checked:!1,indeterminate:!1};let t=e.filter(e=>this.isChecked(e)).length;return t===0?{checked:!1,indeterminate:!1}:t===e.length?{checked:!0,indeterminate:!1}:{checked:!1,indeterminate:!0}}setKeysChecked(e,t){for(let n of e)this.setKeyChecked(n,t)}setKeyChecked(e,t){this.isChecked(e)!==t&&(this.setAllSelected&&(this.setAllSelected=!1,this.selectedKeys=new Set(this.allKeys)),t?this.selectedKeys.add(e):this.selectedKeys.delete(e),this.selectedKeys.size===this.allKeys.length&&(this.setAllSelected=!0,this.selectedKeys.clear()))}snapshot(){return this.setAllSelected?{setAllSelected:!0,selectedValues:[...this.allKeys]}:{setAllSelected:!1,selectedValues:[...this.selectedKeys]}}applySnapshot(e){this.setAllSelected=e.setAllSelected,this.selectedKeys=new Set(e.setAllSelected?[]:e.selectedValues)}};function Tw(e,t,n,r){if(t===`reserve`||!r)return e;if(n.length===0)return null;let i=new Set(n);if(e.setAllSelected)return{setAllSelected:!1,selectedValues:[...n]};let a=e.selectedValues.filter(e=>i.has(e));return a.length===0?{setAllSelected:!1,selectedValues:[]}:{setAllSelected:!1,selectedValues:a}}var Ew=/^(\d{4})-(\d{2})-(\d{2})$/;function Dw(e){let t=Ew.exec(e),n=t?Number(t[3]):0;return{id:`d:${e}`,type:`day`,label:`${n}日`,key:e,children:[],leafKeys:[e]}}function Ow(e,t){return e.id.localeCompare(t.id,void 0,{numeric:!0})}function kw(e,t){return(e.key??``).localeCompare(t.key??``,void 0,{numeric:!0})}function Aw(e){let t=[],n=e.find(e=>e.blank);n&&t.push({id:`blank`,type:`blank`,label:n.label,key:n.key,children:[],leafKeys:[n.key]});let r=new Map;for(let t of e){if(t.blank)continue;let e=Ew.exec(t.key);if(!e)continue;let n=Number(e[1]),i=Number(e[2]),a=r.get(n)??new Map,o=a.get(i)??[];o.push(Dw(t.key)),a.set(i,o),r.set(n,a)}let i=[...r.keys()].sort((e,t)=>t-e);for(let e of i){let n=r.get(e),i=[];for(let t of[...n.keys()].sort((e,t)=>e-t)){let r=n.get(t).sort(kw);i.push({id:`y:${e}:m:${t}`,type:`month`,label:`${t}月`,children:r,leafKeys:r.map(e=>e.key)})}i.sort(Ow),t.push({id:`y:${e}`,type:`year`,label:String(e),children:i,leafKeys:i.flatMap(e=>e.leafKeys)})}return t}function jw(e){let t=new Set;for(let n of e)n.type===`year`&&t.add(n.id);return t}function Mw(e,t){let n=[],r=(e,i)=>{for(let a of e){let e=a.children.length>0,o=e&&t.has(a.id);n.push({node:a,depth:i,hasChildren:e,expanded:o}),o&&r(a.children,i+1)}};return r(e,0),n}function Nw(e,t){let n=[];for(let r of e){let e=r.label.toLowerCase().includes(t)||(r.key?.toLowerCase().includes(t)??!1),i=r.children.length>0?Nw(r.children,t):[];if(!e&&i.length===0)continue;let a=i.length>0?i:e?[...r.children]:[];n.push({...r,children:a,leafKeys:a.length>0?a.flatMap(e=>e.leafKeys):r.leafKeys})}return n}function Pw(e){let t=new Set,n=e=>{for(let r of e)r.children.length>0&&(t.add(r.id),n(r.children))};return n(e),t}function Fw(e,t,n){let r=t.trim().toLowerCase(),i=Aw(e);if(r===``){let e=Mw(i,n);return{roots:i,expandedIds:new Set(n),rows:e,leafKeys:i.flatMap(e=>e.leafKeys)}}let a=Nw(i,r),o=Pw(a);return{roots:a,expandedIds:o,rows:Mw(a,o),leafKeys:a.flatMap(e=>e.leafKeys)}}function Iw(e,t){return Fw(e,t,new Set).leafKeys}function Lw(e,t){for(let n of e){if(n.id===t)return n;let e=Lw(n.children,t);if(e)return e}}var Rw=4;function zw(e,t,n,r=28,i=Rw){if(n<=0)return{start:0,end:0};let a=Math.ceil(t/r),o=Math.max(0,n-a-i),s=Math.min(o,Math.max(0,Math.floor(e/r)-i));return{start:s,end:Math.min(n,s+a+i*2)}}var Bw=class{options;element;spacerEl;windowEl;emptyEl;rowEls=new Map;filteredOptions;constructor(e){this.options=e,this.filteredOptions=e.options,this.element=document.createElement(`div`),this.element.className=`mg-column-handle-menu__filter-set-list`,this.spacerEl=document.createElement(`div`),this.spacerEl.className=`mg-column-handle-menu__filter-set-list-spacer`,this.windowEl=document.createElement(`div`),this.windowEl.className=`mg-column-handle-menu__filter-set-list-window`,this.emptyEl=document.createElement(`div`),this.emptyEl.className=`mg-column-handle-menu__filter-set-empty`,this.emptyEl.hidden=!0,this.spacerEl.append(this.windowEl),this.element.append(this.spacerEl,this.emptyEl),this.element.addEventListener(`scroll`,()=>this.render(),{signal:e.abortSignal}),this.element.addEventListener(`change`,e=>{let t=e.target;!(t instanceof HTMLInputElement)||t.type!==`checkbox`||t.closest(`.mg-column-handle-menu__filter-set-option`)&&(this.options.selection.toggleKey(t.value,t.checked),this.options.onSelectionChange(),this.render())},{signal:e.abortSignal}),this.render()}setOptions(e){this.filteredOptions=e,this.scrollToTop(),this.render()}scrollToTop(){this.element.scrollTop=0}refresh(){this.render()}getVisibleRange(){return zw(this.element.scrollTop,this.element.clientHeight||160,this.filteredOptions.length)}render(){let{selection:e}=this.options,t=this.filteredOptions.length;if(this.spacerEl.hidden=t===0,this.spacerEl.style.height=`${t*28}px`,t===0){this.emptyEl.textContent=this.options.emptySearchLabel??`暂无可选值`,this.emptyEl.hidden=!1,this.clearRows();return}this.emptyEl.hidden=!0;let{start:n,end:r}=this.getVisibleRange();this.windowEl.style.transform=`translateY(${n*28}px)`;for(let[e,t]of this.rowEls)(e<n||e>=r)&&(t.remove(),this.rowEls.delete(e));for(let t=n;t<r;t+=1){let n=this.filteredOptions[t];if(!n)continue;let r=this.rowEls.get(t);r?this.updateRow(r,n,e.isChecked(n.key)):(r=this.createRow(n),this.rowEls.set(t,r)),this.windowEl.append(r)}}clearRows(){for(let e of this.rowEls.values())e.remove();this.rowEls.clear()}createRow(e){let t=document.createElement(`label`);t.className=`mg-column-handle-menu__filter-set-option`;let n=document.createElement(`input`);n.type=`checkbox`,n.value=e.key,n.checked=this.options.selection.isChecked(e.key);let r=document.createElement(`span`);return r.textContent=e.label,t.append(n,r),t}updateRow(e,t,n){let r=e.querySelector(`input`),i=e.querySelector(`span`);r instanceof HTMLInputElement&&(r.value=t.key,r.checked=n),i&&(i.textContent=t.label)}},Vw=class{viewOptions;element;scrollEl;spacerEl;windowEl;emptyEl;rowEls=new Map;expandedIds;rows=[];searchQuery=``;constructor(e){this.viewOptions=e,this.searchQuery=e.searchQuery??``,this.expandedIds=jw(Fw(e.options,``,new Set).roots),this.element=document.createElement(`div`),this.element.className=`mg-column-handle-menu__filter-set-tree`,this.scrollEl=document.createElement(`div`),this.scrollEl.className=`mg-column-handle-menu__filter-set-list`,this.spacerEl=document.createElement(`div`),this.spacerEl.className=`mg-column-handle-menu__filter-set-list-spacer`,this.windowEl=document.createElement(`div`),this.windowEl.className=`mg-column-handle-menu__filter-set-list-window`,this.emptyEl=document.createElement(`div`),this.emptyEl.className=`mg-column-handle-menu__filter-set-empty`,this.emptyEl.hidden=!0,this.spacerEl.append(this.windowEl),this.scrollEl.append(this.spacerEl,this.emptyEl),this.element.append(this.scrollEl),this.scrollEl.addEventListener(`scroll`,()=>this.renderRows(),{signal:e.abortSignal}),this.scrollEl.addEventListener(`click`,e=>this.handleClick(e),{signal:e.abortSignal}),this.scrollEl.addEventListener(`change`,e=>this.handleChange(e),{signal:e.abortSignal}),this.syncViewState()}setSearchQuery(e){this.searchQuery=e,this.scrollEl.scrollTop=0,this.syncViewState()}refresh(){this.renderRows()}getVisibleLeafKeys(){return Fw(this.viewOptions.options,this.searchQuery,this.expandedIds).leafKeys}syncViewState(){let e=Fw(this.viewOptions.options,this.searchQuery,this.expandedIds);this.searchQuery.trim()!==``&&(this.expandedIds=e.expandedIds),this.rows=e.rows,this.renderRows()}renderRows(){let e=this.rows.length;if(this.spacerEl.hidden=e===0,this.spacerEl.style.height=`${e*28}px`,e===0){this.emptyEl.textContent=this.viewOptions.emptySearchLabel??`暂无可选值`,this.emptyEl.hidden=!1,this.clearRows();return}this.emptyEl.hidden=!0;let{start:t,end:n}=zw(this.scrollEl.scrollTop,this.scrollEl.clientHeight||160,e);this.windowEl.style.transform=`translateY(${t*28}px)`;for(let[e,r]of this.rowEls)(e<t||e>=n)&&(r.remove(),this.rowEls.delete(e));for(let e=t;e<n;e+=1){let t=this.rows[e];if(!t)continue;let n=this.rowEls.get(e);n?this.updateRowElement(n,t):(n=this.createRowElement(t),this.rowEls.set(e,n)),this.windowEl.append(n)}}clearRows(){for(let e of this.rowEls.values())e.remove();this.rowEls.clear()}createRowElement(e){let t=document.createElement(`div`);return t.className=`mg-column-handle-menu__filter-set-tree-row`,t.style.height=`28px`,t.dataset.nodeId=e.node.id,this.populateRowElement(t,e),t}updateRowElement(e,t){e.dataset.nodeId=t.node.id,this.populateRowElement(e,t)}populateRowElement(e,t){if(e.replaceChildren(),e.style.paddingLeft=`${8+t.depth*16}px`,t.hasChildren){let n=document.createElement(`button`);n.type=`button`,n.className=`mg-column-handle-menu__filter-set-tree-toggle`,n.dataset.action=`toggle`,n.dataset.nodeId=t.node.id,n.setAttribute(`aria-label`,t.expanded?`收起`:`展开`),n.textContent=t.expanded?`−`:`+`,e.append(n)}else{let t=document.createElement(`span`);t.className=`mg-column-handle-menu__filter-set-tree-toggle-spacer`,e.append(t)}let n=document.createElement(`label`);n.className=`mg-column-handle-menu__filter-set-tree-option`;let r=document.createElement(`input`);r.type=`checkbox`,r.dataset.nodeId=t.node.id,r.checked=this.isNodeChecked(t.node);let i=document.createElement(`span`);i.textContent=t.node.label,n.append(r,i),e.append(n),this.applyNodeCheckboxState(r,t.node)}isNodeChecked(e){return this.viewOptions.selection.getSelectAllStateForKeys(e.leafKeys).checked}applyNodeCheckboxState(e,t){let n=this.viewOptions.selection.getSelectAllStateForKeys(t.leafKeys);e.checked=n.checked,e.indeterminate=n.indeterminate}handleClick(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-action="toggle"]`);if(!n?.dataset.nodeId)return;e.preventDefault(),e.stopPropagation();let r=n.dataset.nodeId;this.expandedIds.has(r)?this.expandedIds.delete(r):this.expandedIds.add(r),this.syncViewState()}handleChange(e){let t=e.target;if(!(t instanceof HTMLInputElement)||t.type!==`checkbox`)return;let n=t.dataset.nodeId;if(!n)return;let r=Lw(Fw(this.viewOptions.options,this.searchQuery,this.expandedIds).roots,n);r&&(this.viewOptions.selection.setKeysChecked(r.leafKeys,t.checked),this.viewOptions.onSelectionChange(),this.renderRows())}},Hw=new WeakMap,Uw=new WeakMap;function Ww(e,t){let n=Hw.get(e);n&&(n.selection.applySnapshot(t),n.searchInput&&(n.searchInput.value=``),n.mountOptionsView(),n.dateTreeView?.setSearchQuery(``),n.syncSelectAllUi(),n.virtualList?.refresh(),n.dateTreeView?.refresh())}function Gw(e){let t=document.createElement(`div`);return t.className=`mg-column-handle-menu__filter-group-heading`,t.textContent=e,t}function Kw(e,t){let n=document.createElement(`button`);return n.type=`button`,n.className=`mg-column-handle-menu__filter-reset`,n.textContent=`重置`,e?(n.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e()},{signal:t}),n):(n.dataset.action=`filter-clear`,n.setAttribute(`role`,`menuitem`),n)}function qw(e){let{colId:t,filterModel:n,columnFilterType:r,distinctFilterValues:i,filterSetValueMode:a,filterSetDateLayoutMode:o,onFilterInput:s,onFilterClear:c,abortSignal:l}=e,u=i.map(e=>e.key),d=hw(t,n,r,u);if(d.customPredicate){let e=document.createElement(`div`);return e.className=`mg-column-handle-menu__filter-notice`,e.textContent=`该列使用自定义筛选,请在 API 中管理`,{root:e,panelRoot:null,customPredicate:!0,syncState:()=>{}}}let f=document.createElement(`div`);f.className=Ki;let p=document.createElement(`div`);p.className=`mg-column-handle-menu__filter-group`,p.append(Gw(`过滤器`));let m=e=>{e.stopPropagation()},h=document.createElement(`div`);h.className=`mg-column-handle-menu__filter-set-panel`,h.setAttribute(`role`,`group`),h.setAttribute(`aria-label`,`值选择`),h.append(Gw(`值选择`));let g=document.createElement(`input`);g.className=`mg-column-handle-menu__filter-set-search`,g.type=`search`,g.placeholder=`搜索列值`,g.setAttribute(`aria-label`,`搜索列值`),h.append(g);let _=r===`date`,v=new ww(u,{setAllSelected:d.setAllSelected,selectedValues:d.selectedValues}),y=()=>Cw(i,g.value),b=()=>o,x=()=>_&&b()===`tree`?k?.getVisibleLeafKeys()??Iw(i,g.value):y().map(e=>e.key),S=()=>g.value.trim()!==``,C=()=>a,w=document.createElement(`label`);w.className=`mg-column-handle-menu__filter-set-option mg-column-handle-menu__filter-set-select-all`;let T=document.createElement(`input`);T.type=`checkbox`;let E=document.createElement(`span`);E.textContent=`全选`,w.append(T,E),h.append(w);let D=()=>{let e=x();if(S()){T.disabled=e.length===0;let t=v.getSelectAllStateForKeys(e);T.checked=t.checked,T.indeterminate=t.indeterminate;return}T.disabled=!1;let t=v.getSelectAllState();T.checked=t.checked,T.indeterminate=t.indeterminate},O=null,k=null,A=document.createElement(`div`);A.className=`mg-column-handle-menu__filter-set-list-host`;let j=()=>{if(A.replaceChildren(),O=null,k=null,i.length===0){let e=document.createElement(`div`);e.className=`mg-column-handle-menu__filter-set-empty`,e.textContent=`暂无可选值`,A.append(e),M();return}if(_&&b()===`tree`){k=new Vw({options:i,selection:v,searchQuery:g.value,onSelectionChange:()=>{D(),N(`set`)},emptySearchLabel:`无匹配项`,abortSignal:l}),A.append(k.element),M();return}O=new Bw({options:y(),selection:v,onSelectionChange:()=>{D(),N(`set`)},emptySearchLabel:`无匹配项`,abortSignal:l}),A.append(O.element),M()},M=()=>{let e=Hw.get(h);e&&(e.virtualList=O,e.dateTreeView=k)},N=e=>{let t=v.snapshot(),n=Tw(t,C(),x(),S());if(e===`set`&&n===null)return;let r=n??t,i=I.readState();s({source:e,operatorLogic:i.operatorLogic,operatorConditions:i.operatorConditions,setAllSelected:r.setAllSelected,selectedValues:r.selectedValues})},P=()=>{N(`operator`)},F=()=>{N(`set`)},I=Sw({columnFilterType:r,initialState:{operatorLogic:d.operatorLogic,operatorConditions:d.operatorConditions},abortSignal:l,onInput:P,onStopPropagation:m});p.append(I.element),Uw.set(f,I),i.length===0&&(g.disabled=!0,T.disabled=!0),h.append(A),j(),Hw.set(h,{allOptions:i,searchInput:g,selection:v,virtualList:O,dateTreeView:k,mountOptionsView:j,getFilteredKeys:x,isSearchActive:S,getValueMode:C,syncSelectAllUi:D}),D(),g.addEventListener(`input`,()=>{_&&b()===`tree`?k?.setSearchQuery(g.value):O?.setOptions(y()),D(),C()===`current`&&F()},{signal:l}),g.addEventListener(`mousedown`,m,{signal:l}),g.addEventListener(`click`,m,{signal:l}),h.addEventListener(`mousedown`,m,{signal:l}),h.addEventListener(`click`,m,{signal:l}),h.addEventListener(`change`,e=>{let t=e.target;if(!(!(t instanceof HTMLInputElement)||t.type!==`checkbox`)&&t===T){let e=x();S()?v.setKeysChecked(e,T.checked):v.setSelectAll(T.checked),D(),O?.refresh(),k?.refresh(),F()}},{signal:l});let ee=document.createElement(`div`);ee.className=`mg-column-handle-menu__filter-actions`;let L=Kw(c,l);return ee.append(L),f.append(p,h,ee),{root:f,panelRoot:f,customPredicate:!1,syncState:e=>{Jw(f,e)}}}function Jw(e,t){let n=e.querySelector(`.mg-column-handle-menu__filter-set-panel`);Uw.get(e)?.syncState({operatorLogic:t.operatorLogic,operatorConditions:t.operatorConditions}),n&&Ww(n,t)}var Yw=8,Xw=4;function Zw(e,t,n){let r=e.left,i=e.bottom+Xw;return i+n>window.innerHeight-Yw&&(i=e.top-n-Xw),r=Math.max(Yw,Math.min(r,window.innerWidth-t-Yw)),i=Math.max(Yw,Math.min(i,window.innerHeight-n-Yw)),{left:r,top:i}}function Qw(e,t){let n=document.createElement(`span`);n.className=Bi,e&&n.append(e);let r=document.createElement(`span`);return r.className=Vi,r.textContent=t,n.append(r),n}function $w(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=zi,r.dataset.action=t,n?.targetColId&&(r.dataset.targetColId=n.targetColId),r.append(Qw(n?.icon??null,e)),r.setAttribute(`role`,n?.role??`menuitem`),n?.role===`menuitemradio`&&r.setAttribute(`aria-checked`,n.checked?`true`:`false`),n?.checked&&r.classList.add(`mg-column-handle-menu__item--checked`),r}function eT(){let e=document.createElement(`div`);return e.className=Gi,e.setAttribute(`role`,`separator`),e}function tT(e,t){let n=document.createElement(`div`);n.className=`${Ri} ${qi}`;let r=XC(e,t);return n.append($w(`升序`,`sort-asc`,{checked:r===`asc`,icon:Om()}),$w(`降序`,`sort-desc`,{checked:r===`desc`,icon:km()})),ZC(e,t)&&n.append($w(`清除排序`,`sort-clear`,{icon:Am()})),n}function nT(e,t){t.classList.remove(`mg-column-handle-menu__submenu-panel--flip`);let n=e.getBoundingClientRect(),r=t.offsetWidth;n.right+r>window.innerWidth-Yw&&t.classList.add(`mg-column-handle-menu__submenu-panel--flip`)}function rT(e){let t=document.createElement(`div`);t.className=`${Ri} ${Ji}`;let n=document.createElement(`div`);n.className=Ui;let r=document.createElement(`button`);r.type=`button`,r.className=`${zi} ${Hi}`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,`false`),r.append(Qw(jm(),`固定列`)),r.append(Fm());let i=document.createElement(`div`);i.className=Wi,i.setAttribute(`role`,`menu`),i.hidden=!0,i.append($w(`不固定`,`pin-none`,{role:`menuitemradio`,checked:e===null,icon:Mm()}),$w(`固定左侧`,`pin-left`,{role:`menuitemradio`,checked:e===`left`,icon:Nm()}),$w(`固定右侧`,`pin-right`,{role:`menuitemradio`,checked:e===`right`,icon:Pm()}));let a=()=>{i.hidden=!1,r.setAttribute(`aria-expanded`,`true`),n.classList.add(`mg-column-handle-menu__submenu--open`),nT(r,i)},o=()=>{i.hidden=!0,r.setAttribute(`aria-expanded`,`false`),n.classList.remove(`mg-column-handle-menu__submenu--open`)};return n.addEventListener(`mouseenter`,a),n.addEventListener(`mouseleave`,o),n.addEventListener(`focusin`,a),n.addEventListener(`focusout`,e=>{let t=e.relatedTarget;t instanceof Node&&n.contains(t)||o()}),n.append(r,i),t.append(n),t}function iT(e,t,n){let r=()=>{n.hidden=!1,t.setAttribute(`aria-expanded`,`true`),e.classList.add(`mg-column-handle-menu__submenu--open`),nT(t,n)},i=()=>{n.hidden=!0,t.setAttribute(`aria-expanded`,`false`),e.classList.remove(`mg-column-handle-menu__submenu--open`)};e.addEventListener(`mouseenter`,r),e.addEventListener(`mouseleave`,i),e.addEventListener(`focusin`,r),e.addEventListener(`focusout`,t=>{let n=t.relatedTarget;n instanceof Node&&e.contains(n)||i()})}function aT(e){let t=document.createElement(`div`);t.className=`${Ri} ${Xi}`;let n=document.createElement(`div`);n.className=Ui;let r=document.createElement(`button`);r.type=`button`,r.className=`${zi} ${Hi}`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,`false`),r.append(Qw(Im(),`列显隐`)),r.append(Fm());let i=document.createElement(`div`);i.className=Wi,i.setAttribute(`role`,`menu`),i.hidden=!0,i.append($w(`隐藏此列`,`hide-column`,{icon:Lm()})),e.length>0&&i.append(eT());for(let t of e)i.append($w(t.label,`show-column`,{targetColId:t.colId,icon:Rm()}));return iT(n,r,i),n.append(r,i),t.append(n),t}function oT(e,t,n,r,i,a,o,s){let c=document.createElement(`div`);c.className=`${Ri} ${Yi}`;let l=qw({colId:e,filterModel:t,columnFilterType:n,distinctFilterValues:r,filterSetValueMode:i,filterSetDateLayoutMode:a,onFilterInput:o,abortSignal:s});return c.append(l.root),c}var sT=class{portalEl=null;menuEl=null;triggerHandle=null;onClose=null;handleDocumentClick=e=>{e.button===0&&(this.shouldIgnoreOutsideMenuClose(e.target)||this.onClose?.())};shouldIgnoreOutsideMenuClose(e){if(!(e instanceof Node)||this.menuEl?.contains(e)||this.triggerHandle?.contains(e))return!0;let t=document.activeElement;return!!(t instanceof HTMLSelectElement&&this.menuEl?.contains(t))}handleDocumentKeyDown=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.onClose?.(),this.triggerHandle?.focus())};handleMenuClick=e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-action]`),r=n?.dataset.action;!r||!this.menuEl?.contains(n)||(e.preventDefault(),e.stopPropagation(),this.context?.onAction(r,n?.dataset.targetColId))};context=null;filterAbortController=null;open(e){this.close(),this.context=e,this.triggerHandle=e.triggerHandle,this.onClose=e.onClose,this.filterAbortController=new AbortController;let t=document.createElement(`div`);t.className=Li;let n=document.createElement(`div`);n.className=Ii,n.setAttribute(`role`,`menu`),n.dataset.colId=e.colId;let r=[];e.sections.sort&&r.push(tT(e.colId,e.sortModel)),e.sections.pin&&r.push(rT(e.fixed)),e.sections.visibility&&r.push(aT(e.hiddenUserColumns)),e.sections.filter&&r.push(oT(e.colId,e.filterModel,e.columnFilterType,e.distinctFilterValues,e.filterSetValueMode,e.filterSetDateLayoutMode,e.onFilterInput,this.filterAbortController.signal)),r.forEach((e,t)=>{t>0&&n.append(eT()),n.append(e)}),n.addEventListener(`click`,this.handleMenuClick),t.append(n),e.mountEl.appendChild(t),this.portalEl=t,this.menuEl=n,this.positionMenu(n,e.anchorRect),this.syncHandleAria(e.triggerHandle,!0),document.addEventListener(`click`,this.handleDocumentClick,!0),document.addEventListener(`keydown`,this.handleDocumentKeyDown,!0)}close(){document.removeEventListener(`click`,this.handleDocumentClick,!0),document.removeEventListener(`keydown`,this.handleDocumentKeyDown,!0),this.filterAbortController?.abort(),this.filterAbortController=null,this.triggerHandle&&this.syncHandleAria(this.triggerHandle,!1),this.menuEl?.removeEventListener(`click`,this.handleMenuClick),this.portalEl?.remove(),this.portalEl=null,this.menuEl=null,this.triggerHandle=null,this.onClose=null,this.context=null}isOpen(){return this.menuEl!=null}getOpenColId(){return this.menuEl?.dataset.colId??null}syncFilterPanel(e){let t=this.menuEl?.querySelector(`.${Ki}`);t&&Jw(t,e)}positionMenu(e,t){e.style.visibility=`hidden`,e.style.position=`fixed`,e.style.left=`0`,e.style.top=`0`;let n=e.getBoundingClientRect(),{left:r,top:i}=Zw(t,n.width,n.height);e.style.left=`${r}px`,e.style.top=`${i}px`,e.style.visibility=``}syncHandleAria(e,t){e.setAttribute(`aria-expanded`,t?`true`:`false`)}},cT=new Set([`sort-asc`,`sort-desc`,`sort-clear`]),lT={"pin-none":null,"pin-left":`left`,"pin-right":`right`},uT=class{deps;view=new sT;openColId=null;filterDebounceTimer=null;constructor(e){this.deps=e}toggle(e){if(this.openColId===e.colId&&this.view.isOpen()){this.close();return}this.open(e)}open(e){let t=this.deps.columnModel.getColumnById(e.colId);if(!t)return;let n=Qi({colId:e.colId,sortable:t.sortable,filterable:t.filterable},e.mode??`full`);if(!$i(n))return;this.close();let r=e.handleEl.getBoundingClientRect();this.openColId=e.colId,this.view.open({mountEl:this.deps.mountEl,colId:e.colId,anchorRect:r,sections:n,sortModel:this.deps.getSortModel(),fixed:t.fixed??null,filterModel:this.deps.getFilterModel(),columnFilterType:t.filterType,distinctFilterValues:this.deps.getColumnDistinctFilterValues(e.colId),filterSetValueMode:this.deps.filterSetValueMode,filterSetDateLayoutMode:this.deps.filterSetDateLayoutMode,triggerHandle:e.handleEl,hiddenUserColumns:Ks(this.deps.columnModel.getColumns()),onAction:(t,n)=>this.handleAction(t,e.colId,n),onFilterInput:n=>this.scheduleFilterUpdate(e.colId,n,t.filterType),onClose:()=>this.close()})}close(){this.clearFilterDebounce(),this.view.close(),this.openColId=null}isOpenFor(e){return this.openColId===e&&this.view.isOpen()}destroy(){this.close()}onHeaderRefresh(){this.view.isOpen()&&this.close()}handleAction(e,t,n){if(cT.has(e)){this.applySortAction(e,t);return}let r=lT[e];if(r!==void 0){this.deps.setColumnFixed(t,r,`menu`);return}if(e===`filter-clear`){this.applyFilterClear(t);return}if(e===`hide-column`){this.deps.setColumnsHidden([t],!0,`menu`);return}e===`show-column`&&n&&this.deps.setColumnsHidden([n],!1,`menu`)}applySortAction(e,t){if(!this.deps.columnModel.getColumnById(t)?.sortable)return;let n=this.deps.getSortModel(),r;switch(e){case`sort-asc`:r=qC(t,n);break;case`sort-desc`:r=JC(t,n);break;case`sort-clear`:r=YC(t,n);break;default:return}this.deps.setSortModel(r)}scheduleFilterUpdate(e,t,n){if(!this.deps.columnModel.getColumnById(e)?.filterable)return;let r=this.deps.getFilterModel()[e];if(r&&br(r))return;this.clearFilterDebounce();let i=()=>{let r=_w(e,{operatorLogic:t.operatorLogic,operatorConditions:t.operatorConditions,setAllSelected:t.setAllSelected,selectedValues:t.selectedValues},this.deps.getFilterModel(),n);this.deps.setFilterModel(r)};if(t.source===`set`){i();return}this.filterDebounceTimer=setTimeout(()=>{this.filterDebounceTimer=null,i()},300)}applyFilterClear(e){let t=this.deps.columnModel.getColumnById(e);if(!t?.filterable)return;this.clearFilterDebounce();let n=yw(e,this.deps.getFilterModel());this.deps.setFilterModel(n),this.view.syncFilterPanel(hw(e,n,t.filterType,this.deps.getColumnDistinctFilterValues(e).map(e=>e.key)))}clearFilterDebounce(){this.filterDebounceTimer!=null&&(clearTimeout(this.filterDebounceTimer),this.filterDebounceTimer=null)}},dT=8,fT=4,pT=320,mT=400,hT=168;function gT(e,t,n){let r=Math.min(mT,Math.max(pT,t)),i=e.right-r,a=e.bottom+fT;return a+n>window.innerHeight-dT&&(a=e.top-n-fT),i=Math.max(dT,Math.min(i,window.innerWidth-r-dT)),a=Math.max(dT,Math.min(a,window.innerHeight-n-dT)),{left:i,top:a}}function _T(e,t,n){let r=Math.max(hT,t),i=e.left,a=e.bottom+fT;return a+n>window.innerHeight-dT&&(a=e.top-n-fT),i=Math.max(dT,Math.min(i,window.innerWidth-r-dT)),a=Math.max(dT,Math.min(a,window.innerHeight-n-dT)),{left:i,top:a}}var vT=[{action:`promote`,label:`上移一级`,createIcon:Hm},{action:`demote`,label:`下移一级`,createIcon:Vm}];function yT(e){if(e.availableActions.length===0)return{close:()=>e.onClose?.()};let t=e.mountEl??document.body,n=document.createElement(`div`);n.className=Zs;let r=document.createElement(`div`);r.className=Qs;let i=document.createElement(`div`);i.className=$s,i.setAttribute(`role`,`menu`);let a=new Set(e.availableActions);for(let t of vT){if(!a.has(t.action))continue;let n=document.createElement(`button`);n.type=`button`,n.className=ec,n.dataset.action=t.action,n.setAttribute(`role`,`menuitem`);let r=document.createElement(`span`);r.className=tc,r.append(t.createIcon());let o=document.createElement(`span`);o.className=nc,o.textContent=t.label,n.append(r,o),n.addEventListener(`mousedown`,n=>{n.preventDefault(),n.stopPropagation(),e.onSelect(t.action),d()}),i.append(n)}if(i.childElementCount===0)return{close:()=>e.onClose?.()};r.append(i),n.append(r),t.append(n),r.style.visibility=`hidden`,r.style.position=`fixed`,r.style.left=`0`,r.style.top=`0`;let o=e.anchorEl.getBoundingClientRect(),s=i.getBoundingClientRect(),c=_T(o,s.width,s.height);r.style.left=`${c.left}px`,r.style.top=`${c.top}px`,r.style.visibility=``;let l=t=>{let r=t.target;r instanceof Node&&(n.contains(r)||e.anchorEl.contains(r))||d()},u=e=>{e.key===`Escape`&&d()};document.addEventListener(`mousedown`,l,!0),document.addEventListener(`keydown`,u,!0);function d(){document.removeEventListener(`mousedown`,l,!0),document.removeEventListener(`keydown`,u,!0),n.remove(),e.onClose?.()}return{close:d}}var bT=class{deps;openRowId=null;anchorEl=null;menuHandle=null;constructor(e){this.deps=e}isOpenForRow(e){return this.openRowId===e&&this.menuHandle!=null}toggle(e,t,n){if(n.length!==0){if(this.openRowId===e&&this.menuHandle){this.close();return}this.close(),this.openRowId=e,this.anchorEl=t,t.setAttribute(`aria-expanded`,`true`),this.menuHandle=yT({anchorEl:t,mountEl:this.deps.mountEl,availableActions:n,onSelect:t=>{this.deps.applyAction(e,t)},onClose:()=>{this.resetAnchorExpanded(),this.openRowId=null,this.menuHandle=null}})}}close(){this.menuHandle?.close(),this.resetAnchorExpanded(),this.openRowId=null,this.menuHandle=null}destroy(){this.close(),this.deps.mountEl.querySelectorAll(`button.${Ze}[aria-expanded="true"]`).forEach(e=>{e.setAttribute(`aria-expanded`,`false`)})}resetAnchorExpanded(){this.anchorEl?.setAttribute(`aria-expanded`,`false`),this.anchorEl=null}};function xT(e){let t=document.createElement(`div`);return t.className=`mg-header-row__lane mg-header-row__lane--${e}`,t}function ST(e){let t=document.createElement(`div`);return t.className=`mg-footer-row__lane mg-footer-row__lane--${e}`,t}function CT(e){let t=document.createElement(`div`);return t.className=`mg-floating-filter-row__lane mg-floating-filter-row__lane--${e}`,t}function wT(e,t={}){e.replaceChildren();let n=document.createElement(`div`);n.className=`mg-root`;let r=document.createElement(`div`);r.className=`mg-header-viewport`;let i=document.createElement(`div`);i.className=`mg-header-scroll`;let a=document.createElement(`div`);a.className=`mg-header-gutter`,a.setAttribute(`aria-hidden`,`true`);let o=document.createElement(`div`);o.className=`mg-header-row`;let s=xT(`left`),c=xT(`center`),l=xT(`right`);o.append(s,c,l);let u=document.createElement(`div`);u.className=`mg-header-span`,u.setAttribute(`aria-hidden`,`true`),i.append(o,u),r.append(i,a);let d=document.createElement(`div`);d.className=`mg-body`;let f=document.createElement(`div`);f.className=`mg-viewport`,f.tabIndex=0;let p=document.createElement(`div`);p.className=`mg-spacer`;let m=document.createElement(`div`);m.className=`mg-rows-layer`;let h=document.createElement(`div`);h.className=`mg-index-column-fill-host`,h.setAttribute(`aria-hidden`,`true`),h.hidden=!0;let g=document.createElement(`div`);g.className=`mg-index-column-fill`,h.appendChild(g);let _=document.createElement(`div`);_.className=`mg-rows-container`,m.append(h,_);let v=document.createElement(`div`);v.className=`mg-spanned-rows-container`,v.style.display=`none`,_.appendChild(v);let y=document.createElement(`div`);y.className=`mg-full-width-rows-container`,y.style.display=`none`,m.appendChild(y);let b=document.createElement(`div`);b.className=`mg-scroll-phantom`,b.setAttribute(`aria-hidden`,`true`),p.appendChild(m),p.appendChild(b),f.appendChild(p),d.appendChild(f);let{overlayEl:x,wrapperEl:S,contentEl:C}=YS();d.appendChild(x),n.appendChild(r);let w,T,E,D,O,k,A;if(t.floatingFilter){w=document.createElement(`div`),w.className=`mg-floating-filter-viewport`,T=document.createElement(`div`),T.className=`mg-floating-filter-scroll`,E=document.createElement(`div`),E.className=`mg-floating-filter-gutter`,E.setAttribute(`aria-hidden`,`true`),D=document.createElement(`div`),D.className=`mg-floating-filter-row`,O=CT(`left`),k=CT(`center`),A=CT(`right`),D.append(O,k,A);let e=document.createElement(`div`);e.className=`mg-floating-filter-span`,e.setAttribute(`aria-hidden`,`true`),T.append(D,e),w.append(T,E),n.appendChild(w)}n.appendChild(d);let j,M,N,P,F,I,ee;if(t.showSummary){j=document.createElement(`div`),j.className=`mg-footer-viewport`,M=document.createElement(`div`),M.className=`mg-footer-scroll`,N=document.createElement(`div`),N.className=`mg-footer-gutter`,N.setAttribute(`aria-hidden`,`true`),P=document.createElement(`div`),P.className=`mg-footer-row`,F=ST(`left`),I=ST(`center`),ee=ST(`right`),P.append(F,I,ee);let e=document.createElement(`div`);e.className=`mg-footer-span`,e.setAttribute(`aria-hidden`,`true`),M.append(P,e),j.append(M,N),n.appendChild(j)}return e.appendChild(n),{rootEl:n,headerViewportEl:r,headerScrollEl:i,headerGutterEl:a,headerRowEl:o,headerLeftLaneEl:s,headerCenterLaneEl:c,headerRightLaneEl:l,viewportEl:f,spacerEl:p,scrollPhantomEl:b,rowsLayerEl:m,indexColumnFillHostEl:h,indexColumnFillEl:g,rowsContainerEl:_,spannedRowsContainerEl:v,fullWidthRowsContainerEl:y,footerViewportEl:j,footerScrollEl:M,footerGutterEl:N,footerRowEl:P,footerLeftLaneEl:F,footerCenterLaneEl:I,footerRightLaneEl:ee,floatingFilterViewportEl:w,floatingFilterScrollEl:T,floatingFilterGutterEl:E,floatingFilterRowEl:D,floatingFilterLeftLaneEl:O,floatingFilterCenterLaneEl:k,floatingFilterRightLaneEl:A,overlayEl:x,overlayWrapperEl:S,overlayContentEl:C}}var TT=`mg-floating-filter-cell`,ET=`mg-floating-filter-cell--active`,DT=`mg-floating-filter-cell__inner`,OT=`mg-floating-filter-control`,kT=`mg-floating-filter-control--readonly`,AT=`mg-floating-filter-input`,jT=`mg-floating-filter-input--readonly`,MT=`mg-floating-filter-button`,NT=`mg-floating-filter-button--active`,PT=`contains`,FT={blank:`空白`,notBlank:`非空白`};function IT(e){return e===`OR`?`或者`:`并且`}function LT(e){if(si(e.type))return FT[e.type];if(e.type===`inRange`){let t=e.filter?.trim()??``,n=e.filterTo?.trim()??``;return t!==``&&n!==``?`${t} - ${n}`:t||n}return e.filter?.trim()??``}function RT(e){return!e||br(e)?!1:$r(e).filter(Qr).length>=2}function zT(e){if(!e||br(e))return``;let t=$r(e),n=t.filter(Qr);if(n.length>=2){let[t,r]=n,i=IT(ei(e));return`${LT(t)} ${i} ${LT(r)}`}let[r]=n.length>0?n:t;return r?(r.type,r.filter??``):``}function BT(e,t){return!(!e||t&&br(t))}function VT(e,t){return BT(e,t)?!RT(t):!1}function HT(e,t,n){let r=li(t,n);e.classList.toggle(ET,r);let i=e.querySelector(`.${MT}`);i&&(i.classList.toggle(NT,r),r?i.setAttribute(`aria-pressed`,`true`):i.removeAttribute(`aria-pressed`))}function UT(e,t){let n=Array.isArray(e)?e:[e];for(let e of n){let n=Array.from(e.querySelectorAll(`.${TT}[data-col-id]`));for(let e of n){let n=e.dataset.colId;n&&HT(e,n,t)}}}var WT=class{lanes;floatingRowEl;inputBindings=[];focusedColId=null;constructor(e){this.floatingRowEl=e.floatingRowEl,this.lanes={left:e.floatingLeftLaneEl,center:e.floatingCenterLaneEl,right:e.floatingRightLaneEl}}render(e){this.clearBindings();let t=Up(e.columnModel,e.centerWindow);this.syncLaneWidths(e.columnModel),this.renderLane(`left`,t.left,e),this.renderLane(`center`,t.center,e),this.renderLane(`right`,t.right,e),this.floatingRowEl.style.width=`${e.columnModel.getTotalWidth()}px`}syncFromFilterModel(e,t){for(let n of this.inputBindings){if(n.colId===this.focusedColId)continue;let r=t.getColumnById(n.colId),i=e[n.colId],a=VT(r?.filterable??!1,i);n.input.readOnly=!a,n.input.classList.toggle(jT,!a),n.input.tabIndex=a?0:-1,n.control.classList.toggle(kT,!a),n.input.value=zT(i)}UT([this.lanes.left,this.lanes.center,this.lanes.right],e)}syncRowLayout(e){this.floatingRowEl.style.width=`${e.getTotalWidth()}px`,this.syncLaneWidths(e)}setFocusedColId(e){this.focusedColId=e}destroy(){this.inputBindings.length=0,this.focusedColId=null;for(let e of Object.values(this.lanes))e.replaceChildren()}clearBindings(){this.inputBindings.length=0}syncLaneWidths(e){this.lanes.left.style.width=`${e.getLeftFixedWidth()}px`,this.lanes.center.style.width=`${e.getCenterTotalWidth()}px`,this.lanes.right.style.width=`${e.getRightFixedWidth()}px`}renderLane(e,n,r){let i=this.lanes[e];i.replaceChildren();for(let e of n){let n=r.columnModel.getColumn(e);if(!n)continue;let a=document.createElement(`div`);a.className=TT,a.dataset.colId=n.colId,t.it(n.colId)?a.classList.add(`mg-floating-filter-cell--index`):t.X(n.colId)&&a.classList.add(`mg-floating-filter-cell--selection`);let o=r.filterModel[n.colId],s=BT(n.filterable,o),c=VT(n.filterable,o);if(n.filterable){let e=document.createElement(`div`);e.className=DT;let t=document.createElement(`div`);if(t.className=OT,s){let e=document.createElement(`input`);e.type=`text`,e.className=AT,e.setAttribute(`aria-label`,`${n.label??n.prop??n.colId} 筛选`),e.value=zT(o),e.readOnly=!c,c||(e.classList.add(jT),t.classList.add(kT),e.tabIndex=-1),c&&e.addEventListener(`input`,()=>{r.onInput(n.colId,e.value)}),e.addEventListener(`focus`,()=>{this.focusedColId=n.colId,r.onFocus?.(n.colId)}),e.addEventListener(`blur`,()=>{this.focusedColId===n.colId&&(this.focusedColId=null),r.onBlur?.(n.colId)}),t.append(e),this.inputBindings.push({colId:n.colId,input:e,control:t})}else{let e=document.createElement(`span`);e.className=`mg-floating-filter-cell__spacer`,e.setAttribute(`aria-hidden`,`true`),t.append(e)}let i=document.createElement(`button`);i.type=`button`,i.className=MT,i.title=`列筛选`,i.setAttribute(`aria-label`,`${n.label??n.prop??n.colId} 列筛选`),i.setAttribute(`aria-haspopup`,`menu`),i.setAttribute(`aria-expanded`,`false`),i.append(Dm()),t.append(i),e.append(t),a.append(e)}HT(a,n.colId,r.filterModel),Gp(a,Wp(n,r.columnModel),TT),i.appendChild(a)}}};function GT(e,t,n,r){e.style.width=`${r.getLeftFixedWidth()}px`,t.style.width=`${r.getCenterTotalWidth()}px`,n.style.width=`${r.getRightFixedWidth()}px`}function KT(e,t,n,r){Kp(e,r,TT),Kp(t,r,TT),Kp(n,r,TT)}function qT(e,t,n,r=`text`){let i=n[e],a=!0,o=[];if(i&&!br(i)){let e=ti(i);e!==void 0&&(a=!1,o=e)}return vw(e,PT,t,n,r,void 0,a,o)}var JT=class{deps;debounceTimers=new Map;constructor(e){this.deps=e}render(e){this.deps.renderer.render({columnModel:this.deps.columnModel,centerWindow:e,filterModel:this.deps.getFilterModel(),onInput:(e,t)=>this.scheduleUpdate(e,t),onFocus:e=>this.deps.renderer.setFocusedColId(e),onBlur:()=>{this.deps.renderer.setFocusedColId(null)}})}syncFromFilterModel(){this.deps.renderer.syncFromFilterModel(this.deps.getFilterModel(),this.deps.columnModel)}syncRowLayout(){this.deps.renderer.syncRowLayout(this.deps.columnModel)}destroy(){this.clearAllDebounce(),this.deps.renderer.destroy()}scheduleUpdate(e,t){let n=this.deps.columnModel.getColumnById(e);if(!n?.filterable)return;let r=this.deps.getFilterModel()[e];if(r&&br(r))return;let i=this.debounceTimers.get(e);i!=null&&clearTimeout(i),this.debounceTimers.set(e,setTimeout(()=>{this.debounceTimers.delete(e);let r=qT(e,t,this.deps.getFilterModel(),n.filterType??`text`);this.deps.setFilterModel(r)},300))}clearAllDebounce(){for(let e of this.debounceTimers.values())clearTimeout(e);this.debounceTimers.clear()}};function YT(e,t){return Math.max(0,e-t)}function XT(e,t){let n=YT(e,t);return n<=2?0:n}function ZT(e,t){return e>t+2}function QT(e,t){return e>t+2}function $T(e,t,n,r){let i=t.getColumn(e);if(!i||i.fixed===`left`||i.fixed===`right`)return null;let a=t.getLeftFixedWidth(),o=t.getRightFixedWidth(),s=a,c=r-o,l=a+i.left-n,u=l+i.width;return l>=s&&u<=c?null:l<s?i.left:a+i.left+i.width-c}function eE(e,t){return Math.max(0,e.getTotalWidth()-t)}function tE(e,t,n=2){return t<=n||e>=t-n}function nE(e,t,n){let r=eE(e,n);return Math.max(0,Math.min(t,r))}function rE(e,t,n,r,i){let a=nE(e,n,r);if(!i)return a===n?null:a;let o=e.getColumnById(t);if(!o||o.fixed!==null)return a===n?null:a;let s=iE(e,t);if(s<0)return a===n?null:a;let c=$T(s,e,a,r);return c!==null&&(a=nE(e,c,r)),a===n?null:a}function iE(e,t){for(let n=0;n<e.getColumnCount();n++)if(e.getColumn(n)?.colId===t)return n;return-1}function aE(e,t){return Math.abs(t-e)>=1}function oE(e,t,n){return e<t+40?-Math.min(1,(t+40-e)/40)*80:e>n-40?Math.min(1,(e-(n-40))/40)*80:0}function sE(e,t,n){return oE(e,t,n)!==0}function cE(e,t,n,r){return[e+n,t-r]}function lE(e){return e.scrollWidth>e.clientWidth+1}function uE(e,t,n){return n===0?!1:n>0?e+1<=t:e>=1}function dE(e,t){let n=Math.max(0,e.scrollWidth-e.clientWidth);if(t){let e=Math.max(0,t());return n<=0&&e>0?e:Math.min(e,n)}return n}function fE(e,t,n,r,i){let a=oE(e,t,n);return a!==0&&!uE(r,i,a)}function pE(e,t,n,r,i){if(r<=0&&i<=0||n<=t)return null;let[a,o]=cE(t,n,r,i);return e<a?`left`:e>o?`right`:null}function mE(e){return!e.allowCrossLaneColumnMove&&e.pointerFixed!==e.sourceFixed?!1:e.hasDropTarget?e.canMoveToDropTarget:e.pointerFixed===e.sourceFixed}var hE=class{deps;host;drag=null;scrollRaf=null;pointerListeners=null;constructor(e,t){this.deps=e,this.host=t}get rootDoc(){return NS(this.deps.viewportEl)}isActive(){return this.drag!=null}canStart(e,n,r){if(r||!e?.movable||e.hidden||t.it(e.colId)||t.X(e.colId))return!1;let i=Z(n);return!(i?.closest(`.mg-selection-checkbox--header`)||!i?.closest(`.mg-header-cell__column-handle`))}begin(e){this.end(!1);let t=this.deps.columnModel.getColumnById(e.colId);t&&(this.drag={colId:e.colId,sourceCell:e.sourceCell,laneEl:this.resolveHeaderLaneEl(t.fixed??null),dropLaneEl:this.resolveHeaderLaneEl(t.fixed??null),startX:e.clientX,startY:e.clientY,pointerX:e.clientX,active:!1,didMove:!1,lastDropTarget:null,lastLiveMovePointerX:null,ghostOffsetX:0,ghostTop:0,dragDirection:`right`},this.pointerListeners=FS(this.deps.viewportEl,{mousemove:this.handleMove,mouseup:this.handleEnd}))}end(e){let t=this.drag;if(t){this.unbindPointerListeners();try{let n=this.resolveSourceCell(t);this.deps.columnDragController.cleanup(n?.isConnected?n:null,this.deps.headerViewportEl),this.deps.setColumnMoveLiveDragging(!1),this.rootDoc.body.classList.remove(ia,aa),e&&(this.host.setSuppressColumnClick(!0),this.host.setSuppressColumnHandleClick(!0),window.setTimeout(()=>{this.host.setSuppressColumnClick(!1),this.host.setSuppressColumnHandleClick(!1)},0))}finally{this.drag=null,this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null)}}}unbindPointerListeners(){this.pointerListeners?.unbind(),this.pointerListeners=null}handleMove=e=>{let t=this.drag;if(!t)return;let n=e.clientX-t.startX,r=e.clientY-t.startY;if(!t.active){if(Math.abs(n)<=5||Math.abs(n)<Math.abs(r))return;t.active=!0,t.didMove=!0,this.rootDoc.body.classList.add(ia),this.deps.suppressMoveWhenColumnDragging()||this.deps.setColumnMoveLiveDragging(!0),this.refreshSourceCell(t);let i=this.resolveSourceCellRect(t),a=this.deps.columnModel.getColumnById(t.colId);t.ghostOffsetX=e.clientX-i.left,t.ghostTop=i.bottom;let o=this.resolveGhostPositionAtPointer(e.clientX,t);this.deps.columnDragController.setColumnMoving(t.colId);let s=this.resolveSourceCell(t);s?.isConnected&&(t.sourceCell=s,this.deps.columnDragController.setSourceHeaderDragging(s,!0)),this.deps.columnDragController.setHeaderViewportDragging(this.deps.headerViewportEl,!0),this.deps.columnDragController.startGhost({label:a?.label??a?.prop??t.colId,width:i.width,height:i.height,left:o.left,top:o.top,mountEl:this.deps.mountEl})}this.updateDragDirection(e.clientX,t);let i=this.resolveGhostPositionAtPointer(e.clientX,t);this.deps.columnDragController.moveGhost(i.left,i.top),t.pointerX=e.clientX,this.shouldSkipRenderAtPointerAtScrollBoundary(e.clientX,t)||this.renderAtPointer(t,e.clientX);let a=this.resolveScrollHost(t),[o,s]=this.getScrollBounds(t),c=oE(t.pointerX,o,s);c!==0&&this.canHostScrollBy(a,c)&&sE(t.pointerX,o,s)&&this.ensureEdgeScrollLoop()};handleEnd=e=>{let t=this.drag;if(t){if(t.active)if(this.deps.suppressMoveWhenColumnDragging()){let n=this.resolveDropAtClientX(e.clientX,t,this.resolveHitLane(e.clientX,t));n&&this.deps.moveColumn(t.colId,n.globalIndex,!0,n.toFixed)}else this.commitLiveDragOnMouseup(e.clientX,t);this.end(t.didMove)}};commitLiveDragOnMouseup(e,t){if(!t.lastDropTarget){let n=this.resolveDropAtClientX(e,t,this.resolveHitLane(e,t));n?this.deps.moveColumn(t.colId,n.globalIndex,!0,n.toFixed):this.deps.finishColumnMove(t.colId);return}let n=this.resolveDropAtClientX(e,t,this.resolveHitLane(e,t));if((t.lastLiveMovePointerX==null||Math.abs(e-t.lastLiveMovePointerX)>=5)&&n&&!this.isSameDropTarget(n,t.lastDropTarget)){this.deps.moveColumn(t.colId,n.globalIndex,!0,n.toFixed);return}this.deps.finishColumnMove(t.colId)}renderAtPointer(e,t){let n=this.resolveHitLane(t,e),r=this.resolveDropAtClientX(t,e,n),i=this.isColumnDropAllowed(e,r,t);this.setColumnDropForbidden(!i),e.dropLaneEl=this.resolveDropLaneEl(t,r,e.colId,n),this.updateDropIndicator(e,i?r:null),this.deps.suppressMoveWhenColumnDragging()||this.applyLiveMove(e,i?r:null)}resolvePointerLaneFixed(e){let t=this.deps.viewportEl.getBoundingClientRect();return pE(e,t.left,t.right,this.deps.columnModel.getLeftFixedWidth(),this.deps.columnModel.getRightFixedWidth())}isColumnDropAllowed(e,t,n){let r=this.deps.columnModel.getColumnById(e.colId)?.fixed??null,i=this.resolvePointerLaneFixed(n);return mE({allowCrossLaneColumnMove:this.deps.allowCrossLaneColumnMove(),sourceFixed:r,pointerFixed:i,hasDropTarget:t!=null,canMoveToDropTarget:t?Mg({columns:this.deps.columnModel.getColumns(),colId:e.colId,toGlobalIndex:t.globalIndex,fixedGroups:this.deps.columnModel.getFixedColumnGroups(),toFixed:t.toFixed,allowCrossLaneColumnMove:this.deps.allowCrossLaneColumnMove()}):!1})}setColumnDropForbidden(e){this.rootDoc.body.classList.toggle(aa,e)}getHeaderLaneElements(){return[{fixed:`left`,el:this.deps.headerLeftLaneEl},{fixed:null,el:this.deps.headerCenterLaneEl},{fixed:`right`,el:this.deps.headerRightLaneEl}]}resolveDropLaneEl(e,t,n,r){if(!this.deps.allowCrossLaneColumnMove()&&n){let e=this.deps.columnModel.getColumnById(n);return this.resolveHeaderLaneEl(e?.fixed??null)}if(t?.toFixed!==void 0)return this.resolveHeaderLaneEl(t.toFixed);if(t){let e=this.deps.columnModel.getColumn(t.globalIndex);if(e)return this.resolveHeaderLaneEl(e.fixed??null)}let i=this.getHeaderLaneElements();return r?r.el:i.find(({el:t})=>{let n=t.getBoundingClientRect();return e>=n.left&&e<=n.right})?.el??this.deps.headerCenterLaneEl}resolveHeaderLaneEl(e){return e===`left`?this.deps.headerLeftLaneEl:e===`right`?this.deps.headerRightLaneEl:this.deps.headerCenterLaneEl}resolveGhostPositionAtPointer(e,t){return{left:e-t.ghostOffsetX,top:t.ghostTop}}updateDragDirection(e,t){let n=Ig(e-t.pointerX,t.dragDirection);n!==t.dragDirection&&(t.lastLiveMovePointerX=null),t.dragDirection=n}constrainDropTargetByDragDirection(e,t){if(!e)return null;let n=this.deps.columnModel.getColumns().findIndex(e=>e.colId===t.colId);return n<0?e:t.dragDirection===`left`&&e.globalIndex>=n||t.dragDirection===`right`&&e.globalIndex<=n?null:e}isSameDropTarget(e,t){return!e||!t?e===t:e.globalIndex===t.globalIndex&&e.toFixed===t.toFixed}getScrollBounds(e){let t=this.resolveScrollHost(e);if(t===this.deps.viewportEl){let e=t.getBoundingClientRect();return cE(e.left,e.right,this.deps.columnModel.getLeftFixedWidth(),this.deps.columnModel.getRightFixedWidth())}let n=t.getBoundingClientRect();return[n.left,n.right]}resolveScrollHost(e){let t=this.deps.columnModel.getColumnById(e.colId);return t?.fixed===`left`?this.deps.headerLeftLaneEl:t?.fixed===`right`?this.deps.headerRightLaneEl:this.deps.viewportEl}resolveHostMaxScrollLeft(e){return dE(e,e===this.deps.viewportEl?()=>eE(this.deps.columnModel,e.clientWidth):void 0)}canHostScrollBy(e,t){return uE(e.scrollLeft,this.resolveHostMaxScrollLeft(e),t)}shouldSkipRenderAtPointerAtScrollBoundary(e,t){let n=this.resolveScrollHost(t),[r,i]=this.getScrollBounds(t);return fE(e,r,i,n.scrollLeft,this.resolveHostMaxScrollLeft(n))}ensureEdgeScrollLoop(){this.scrollRaf??=requestAnimationFrame(this.tickEdgeScroll)}tickEdgeScroll=()=>{let e=this.drag;if(!e?.active){this.scrollRaf=null;return}let t=this.resolveScrollHost(e);if(t!==this.deps.viewportEl&&!lE(t)){this.scrollRaf=null;return}let[n,r]=this.getScrollBounds(e),i=oE(e.pointerX,n,r),a=this.canHostScrollBy(t,i),o=!1;if(i!==0&&a){let n=t.scrollLeft;t===this.deps.viewportEl?this.deps.scrollByHorizontalDelta(i):t.scrollLeft=Math.max(0,Math.min(t.scrollLeft+i,t.scrollWidth-t.clientWidth)),o=aE(n,t.scrollLeft),o&&(e.lastLiveMovePointerX=null,this.renderAtPointer(e,e.pointerX))}if(sE(e.pointerX,n,r)&&a&&o){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null};updateDropIndicator(e,t){if(!t){this.deps.columnDragController.hideDropIndicator();return}let n=e.dropLaneEl,r=n.getBoundingClientRect(),i=(n.closest(`.mg-header-row`)??n.parentElement)?.getBoundingClientRect().top??r.top,a=r.height>0?r.height:32,o=this.deps.columnModel.getColumn(t.globalIndex);if(o){let e=Wp(o,this.deps.columnModel),t=o.fixed??null,n=Math.round(t===null?y_(e.left,this.deps.viewportEl,this.deps.columnModel):r.left+e.left);this.deps.columnDragController.showDropIndicator(n,i,a);return}this.deps.columnDragController.showDropIndicator(Math.max(r.left,r.right-2),i,a)}applyLiveMove(e,t){!t||this.isSameDropTarget(t,e.lastDropTarget)||e.lastLiveMovePointerX!=null&&Math.abs(e.pointerX-e.lastLiveMovePointerX)<5||this.deps.moveColumn(e.colId,t.globalIndex,!1,t.toFixed)&&(e.laneEl=this.resolveHeaderLaneEl(this.deps.columnModel.getColumnById(e.colId)?.fixed??null),this.refreshSourceCell(e),e.lastDropTarget=t,e.lastLiveMovePointerX=e.pointerX)}resolveSourceCell(e){let t=this.deps.columnModel.getColumnById(e.colId)?.fixed??null;return this.resolveHeaderLaneEl(t).querySelector(`.mg-header-cell[data-col-id="${e.colId}"]`)}resolveSourceCellRect(e){if(e.sourceCell.isConnected)return e.sourceCell.getBoundingClientRect();let t=this.resolveSourceCell(e);return t?.isConnected?(e.sourceCell=t,t.getBoundingClientRect()):this.resolveSourceCellRectFromModel(e.colId)}resolveSourceCellRectFromModel(e){let t=this.deps.columnModel.getColumnById(e);if(!t)return new DOMRect(0,0,0,0);let n=t.fixed??null,r=this.resolveHeaderLaneEl(n),i=r.getBoundingClientRect(),a=Wp(t,this.deps.columnModel),o=Math.round(n===null?y_(a.left,this.deps.viewportEl,this.deps.columnModel):i.left+a.left),s=(r.closest(`.mg-header-row`)??r.parentElement)?.getBoundingClientRect().top??i.top,c=i.height>0?i.height:32;return new DOMRect(o,s,t.width,c)}refreshSourceCell(e){let t=this.resolveSourceCell(e);t&&(e.active&&(e.sourceCell.isConnected&&this.deps.columnDragController.setSourceHeaderDragging(e.sourceCell,!1),this.deps.columnDragController.setSourceHeaderDragging(t,!0)),e.sourceCell=t)}resolvePhysicalHitLane(e){let t=this.getHeaderLaneElements().find(({el:t})=>{let n=t.getBoundingClientRect();return e>=n.left&&e<=n.right});if(t)return t;let n=this.resolvePointerLaneFixed(e);return n===`left`?{fixed:`left`,el:this.deps.headerLeftLaneEl}:n===`right`?{fixed:`right`,el:this.deps.headerRightLaneEl}:{fixed:null,el:this.deps.headerCenterLaneEl}}resolveHitLane(e,t){if(!this.deps.allowCrossLaneColumnMove()){let e=this.deps.columnModel.getColumnById(t.colId)?.fixed??null;return this.getHeaderLaneElements().find(({fixed:t})=>t===e)||{fixed:e,el:t.laneEl}}return this.resolvePhysicalHitLane(e)}resolveLaneSectionX(e,t){if(t.fixed===null)return v_(e,this.deps.viewportEl,this.deps.columnModel);let n=t.el.getBoundingClientRect(),r=t.el.querySelector(`.mg-header-cell[data-col-id]`),i=r?.getAttribute(`data-col-id`),a=i?this.deps.columnModel.getColumnById(i):null;if(r&&a){let t=Wp(a,this.deps.columnModel);return e-r.getBoundingClientRect().left+t.left}return e-n.left}resolveDropAtClientX(e,t,n){let r=this.deps.columnModel.getColumns(),i=this.deps.columnModel.getFixedColumnGroups(),a=n.el.getBoundingClientRect(),o=Wg({columns:r,fixedGroups:i,sectionX:this.resolveLaneSectionX(e,n),clientX:e,laneRectLeft:a.left,laneRectRight:a.right,targetFixed:n.fixed,sourceColId:t.colId,dragDirection:t.dragDirection,leftFixedWidth:this.deps.columnModel.getLeftFixedWidth(),centerTotalWidth:this.deps.columnModel.getCenterTotalWidth()}),s=[...n.el.querySelectorAll(`.mg-header-cell[data-col-id]`)].flatMap(e=>{let t=e.getAttribute(`data-col-id`);if(!t)return[];let n=this.host.getColIndex(t);if(n<0)return[];let r=e.getBoundingClientRect();return[{colId:t,globalIndex:n,rectLeft:r.left,rectWidth:r.width}]}),c=Ug({columns:r,fixedGroups:i,clientX:e,laneRectLeft:a.left,laneRectRight:a.right,targetFixed:n.fixed,sourceColId:t.colId,dragDirection:t.dragDirection,laneHeaderCells:s});if(n.fixed===null&&this.deps.viewportEl.scrollLeft>0&&o)return this.constrainDropTargetByDragDirection(o,t);let l=r.findIndex(e=>e.colId===t.colId);return o&&c&&l>=0&&c.globalIndex===l&&o.globalIndex!==l&&Mg({columns:r,colId:t.colId,toGlobalIndex:o.globalIndex,fixedGroups:i,toFixed:o.toFixed,allowCrossLaneColumnMove:this.deps.allowCrossLaneColumnMove()})?this.constrainDropTargetByDragDirection(o,t):this.constrainDropTargetByDragDirection(c??o,t)}};function gE(e,t){let n=t.clientX,r=0,i=!1,a=e.rootEl.ownerDocument,o=t=>{if(e.rootEl.classList.toggle(`mg-root--column-resizing`,t),t){a.body.style.cursor=`col-resize`,a.body.style.userSelect=`none`;return}a.body.style.removeProperty(`cursor`),a.body.style.removeProperty(`user-select`)},s=null,c=t=>{i||(i=!0,s?.unbind(),s=null,o(!1),t&&e.onResizeEnd(r))};return o(!0),e.onResizeStart(t.shiftKey),s=FS(e.rootEl,{mousemove:t=>{if(t.buttons===0){c(!0);return}r=t.clientX-n,e.onResizing(r)},mouseup:()=>{c(!0)}}),()=>c(!1)}function _E(e,t){return e}var vE=class{deps;columnResize=null;columnResizeFrame=null;pendingColumnResizeAmount=null;keyboardColumnResize=null;keyboardColumnResizeClearTimeout=null;constructor(e){this.deps=e}isActive(){return this.columnResize!=null}refreshVisualState(){let e=this.columnResize;if(!e)return;let t=MS(this.deps.mountEl).querySelector(`.mg-header-cell[data-col-id="${CSS.escape(e.colId)}"]`);t&&(e.sourceCell=t,this.markActiveCell(t))}canStart(e,t,n){return n||this.columnResize||!e?.resizable?!1:(t instanceof Element?t:t instanceof Text?t.parentElement:null)?.closest(`.mg-header-cell__resize-handle`)!=null}begin(e){this.end(!1);let t=this.deps.columnModel.getColumnById(e.colId);t?.resizable&&(this.deps.columnHandleMenuController.close(),this.columnResize={colId:e.colId,sourceCell:e.sourceCell,startWidth:t.width,shiftKey:e.event.shiftKey,endSession:gE({rootEl:MS(this.deps.mountEl),onResizeStart:()=>{},onResizing:e=>{this.scheduleResize(e)},onResizeEnd:e=>{this.applyResize(e,!0),this.end(!0)}},e.event)},this.markActiveCell(e.sourceCell))}end(e){let t=this.columnResize;t&&(this.columnResizeFrame!=null&&(cancelAnimationFrame(this.columnResizeFrame),this.columnResizeFrame=null),this.pendingColumnResizeAmount=null,this.clearActiveCell(),!e&&t.endSession&&t.endSession(),this.columnResize=null)}tryKeyboardResize(e,n){if(this.columnResize)return!1;let r=this.deps.cellFocusService.getFocusedCell();if(!r||!Ff(r))return!1;let i=r.colId;if(t.it(i)||t.X(i)||!this.deps.columnModel.getColumnById(i)?.resizable)return!1;(!this.keyboardColumnResize||this.keyboardColumnResize.colId!==i)&&(this.keyboardColumnResize={colId:i,multiplier:0}),this.keyboardColumnResize.multiplier+=1;let a=(e===`left`?-1:1)*this.keyboardColumnResize.multiplier,o=this.deps.mountEl.querySelector(`.mg-header-cell[data-col-id="${i}"]`);return o&&this.markActiveCell(o),this.deps.resizeHeaderColumn(i,a,n),!0}handleKeyUp(e){this.keyboardColumnResize&&(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&(this.keyboardColumnResize=null,this.keyboardColumnResizeClearTimeout!=null&&(window.clearTimeout(this.keyboardColumnResizeClearTimeout),this.keyboardColumnResizeClearTimeout=null),this.clearActiveCell())}markActiveCell(e){this.clearActiveCell(),e.setAttribute(`data-column-resize-active`,``),e.classList.add(`mg-header-cell--resizing`)}clearActiveCell(){MS(this.deps.mountEl).querySelectorAll(`.mg-header-cell[data-column-resize-active]`).forEach(e=>{e instanceof HTMLElement&&(e.removeAttribute(`data-column-resize-active`),e.classList.remove(`mg-header-cell--resizing`))})}scheduleResize(e){this.pendingColumnResizeAmount=e,this.columnResizeFrame??=requestAnimationFrame(()=>{this.columnResizeFrame=null;let e=this.pendingColumnResizeAmount;e==null||!this.columnResize||this.applyResize(e,!1)})}applyResize(e,t){let n=this.columnResize;if(!n)return;let r=this.deps.columnModel.getColumnById(n.colId);if(!r)return;let i=_E(e,r.fixed??null),a=n.startWidth+i;this.deps.setColumnWidths([{colId:n.colId,newWidth:a}],n.shiftKey,t)}},yE=class{deps;host;constructor(e,t){this.deps=e,this.host=t}syncSingleCellRangeToFocus(){this.deps.isCellSelectionEnabled?.()&&this.deps.selectFocusedCellRange?.()}applyFocusVisuals(){let e=this.deps.cellFocusService.getFocusedCell();this.syncHeaderFocusVisual(e&&Ff(e)?e.colId:null),this.syncFooterFocusVisual(e&&If(e)?e.colId:null),!e||q(e)?this.deps.rowRenderer.setFocusedCell(null):this.deps.rowRenderer.setFocusedCell({rowId:e.rowId,colId:e.colId}),this.deps.syncCellRangeHighlightVisuals?.()}navigateEditableTab(e){let t=this.deps.cellFocusService.getFocusedCell();if(!t)return;let n=this.deps.rowModel.getRowCount(),r=Of(this.deps.columnModel);if(n===0||r.length===0)return;let i=Uf(t,e,n,r,e=>this.deps.rowModel.getRow(e)?.id,e=>this.deps.columnModel.getColumn(e)?.colId,(e,t)=>{let n=this.deps.rowModel.getRow(e),r=this.deps.columnModel.getColumnById(t);return!!(n&&r&&V(r,n,this.deps.getCellDisableContext()))},this.getFocusChromeNavigation());if(!i){this.navigateTab(e);return}this.deps.ensureIndexVisible(i.rowIndex,`middle`),this.deps.ensureColumnVisible(i.colIndex),this.setFocusedCell(i),this.syncSingleCellRangeToFocus(),this.deps.redrawImmediately(),this.startEditingFocusedCell()}keyToFocusDirection(e){switch(e){case`ArrowUp`:return`up`;case`ArrowDown`:return`down`;case`ArrowLeft`:return`left`;case`ArrowRight`:return`right`;default:return null}}navigateFocus(e){let t=this.deps.rowModel.getRowCount(),n=Of(this.deps.columnModel);if(t===0||n.length===0)return;let r=this.deps.cellFocusService.move(e,t,n,e=>this.deps.rowModel.getRow(e)?.id,e=>this.deps.columnModel.getColumn(e)?.colId,this.getFocusChromeNavigation());r&&(q(r)||this.deps.ensureIndexVisible(r.rowIndex,`middle`),this.deps.ensureColumnVisible(r.colIndex),this.setFocusedCell(r))}navigateFocusToEdge(e){let t=this.deps.rowModel.getRowCount(),n=Of(this.deps.columnModel);if(t===0||n.length===0)return;let r=this.deps.cellFocusService.moveToEdge(e,t,n,e=>this.deps.rowModel.getRow(e)?.id,e=>this.deps.columnModel.getColumn(e)?.colId,this.getFocusChromeNavigation());r&&(q(r)||(e===`up`?this.deps.ensureIndexVisible(r.rowIndex,`top`):e===`down`?this.deps.ensureIndexVisible(r.rowIndex,`bottom`):this.deps.ensureIndexVisible(r.rowIndex,`middle`)),this.deps.ensureColumnVisible(r.colIndex),this.setFocusedCell(r))}navigateTab(e){let t=this.deps.rowModel.getRowCount(),n=Of(this.deps.columnModel);if(t===0||n.length===0)return;let r=this.deps.cellFocusService.moveTab(e,t,n,e=>this.deps.rowModel.getRow(e)?.id,e=>this.deps.columnModel.getColumn(e)?.colId,this.getFocusChromeNavigation());r&&(q(r)||this.deps.ensureIndexVisible(r.rowIndex,`middle`),this.deps.ensureColumnVisible(r.colIndex),this.setFocusedCell(r),this.syncSingleCellRangeToFocus())}setFocusedCell(e){let t=this.normalizeSpanFocus(e);if(this.deps.cellFocusService.setFocusedCell(t),this.applyFocusVisuals(),q(t)){let e=this.deps.rowModel.getRow(0);e&&this.emitCellFocused({rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:e});return}let n=this.deps.rowModel.getRow(t.rowIndex);n&&this.emitCellFocused({rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:n})}buildCellFocusedPayload(e){let t=this.deps.columnModel.getColumnById(e.colId),n=t?H(e.rowNode,t):e.rowNode.data[e.colId];return{...e,value:n}}emitCellFocused(e){this.deps.eventBus.emit(`cellFocused`,this.buildCellFocusedPayload(e))}normalizeSpanFocus(e){let t=this.deps.cellSpanService();if(!t?.active||q(e))return e;let n=t.normalizePosition(e.rowId,e.colId);if(n.rowId===e.rowId)return e;let r=this.deps.rowModel.getRowIndexById(n.rowId);return r<0?e:{rowId:n.rowId,colId:n.colId,rowIndex:r,colIndex:TS(this.deps.columnModel,n.colId)}}focusCellTarget(e){this.setFocusedCell({rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,colIndex:TS(this.deps.columnModel,e.colId)})}toggleIndexFocusFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||q(e)||!this.host.isIndexColumnEntry(e.colId)?!1:(this.host.applyIndexFocus(e.rowId,e.rowIndex,e.colId,{toggleOnReselect:!0}),!0)}toggleInlineEditorFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||q(e)?!1:this.toggleInlineToggleAtCell(e.rowId,e.colId,e.rowIndex)}toggleRowSelectionFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||q(e)||!this.host.isSelectionColumnEntry(e.colId)?!1:(this.host.applyRowSelection(e.rowId,e.rowIndex,e.colId,{toggleOnReselect:!0}),!0)}toggleRowExpandFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||q(e)||!this.host.isExpandColumnEntry(e.colId)?!1:(this.host.applyRowExpansionToggle(e.rowId,e.rowIndex,e.colId),!0)}toggleRowGroupFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||q(e)||!this.host.isGroupColumnEntry(e.colId)?!1:(this.host.applyRowGroupingToggle(e.rowId,e.rowIndex,e.colId),!0)}toggleTreeTableFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||q(e)||!this.host.isTreeColumnEntry(e.colId)?!1:(this.host.applyTreeTableToggle(e.rowId,e.rowIndex,e.colId),!0)}tryMoveFocusedHeaderColumn(e){if(!this.isHeaderNavigationEnabled())return!1;let n=this.deps.cellFocusService.getFocusedCell();if(!n||!Ff(n))return!1;let r=n.colId;if(t.it(r)||t.X(r))return!1;let i=Fg({columns:this.deps.columnModel.getColumns(),colId:r,toGlobalIndex:-1,fixedGroups:this.deps.columnModel.getFixedColumnGroups(),direction:e});return i==null||!this.deps.moveColumn(r,i,!0)?!1:(this.setFocusedCell({rowId:n.rowId,colId:r,rowIndex:n.rowIndex,colIndex:i}),!0)}toggleHeaderSortFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||!Ff(e)||!this.host.canToggleHeaderSort(e.colId)?!1:(this.deps.toggleHeaderSort(e.colId),!0)}toggleHeaderSelectionFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||!Ff(e)||!this.host.isSelectionColumnEntry(e.colId)||!this.host.isSelectionHeaderMultiple()?!1:(this.host.toggleSelectAllVisibleRows(),!0)}startEditingFocusedCell(){let e=this.deps.cellFocusService.getFocusedCell();if(!e||q(e))return;let n=this.deps.rowModel.getRow(e.rowIndex);if(!n)return;let r=this.deps.mountEl.querySelector(`.mg-row[data-row-id="${e.rowId}"]`);if(!r)return;if(mn(this.deps.editBehavior)){this.deps.tryStartRowEditing({rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,rowNode:n,rowElement:r});return}let i=this.deps.columnModel.getColumnById(e.colId);!i||!V(i,n,this.deps.getCellDisableContext())||t.V(i)||this.deps.tryStartCellEditing({rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,rowNode:n,rowElement:r})}isHeaderNavigationEnabled(){return this.deps.navigateHeader()}isFooterNavigationEnabled(){return this.deps.showSummary()&&this.deps.navigateFooter()}isInlineToggleClickTarget(e){return gf(e)}toggleInlineToggleAtCell(e,n,r){let i=this.deps.columnModel.getColumnById(n);if(!i||!t.V(i)||!hf(i.cellEditor))return!1;let a=this.deps.rowModel.getRow(r);if(!a||!V(i,a,this.deps.getCellDisableContext()))return!1;let o=this.deps.mountEl.querySelector(`.mg-row[data-row-id="${e}"] .mg-cell[data-col-id="${n}"]`);if(!o)return!1;let s=i.cellEditor===`switch`?of:af,c=o.querySelector(`input.${s}`);return!c||c.disabled?!1:(c.checked=!c.checked,c.dispatchEvent(new Event(`change`,{bubbles:!0})),!0)}isGroupOrTreeExpandClickTarget(e){return e instanceof Element?e.closest(`button.mg-cell__group-expand`)!=null||e.closest(`button.mg-cell__tree-expand`)!=null:!1}syncFooterFocusVisual(e){this.deps.mountEl.querySelectorAll(`.mg-footer-cell[data-col-id]`).forEach(t=>{t instanceof HTMLElement&&t.classList.toggle(`mg-footer-cell--focused`,e!==null&&t.dataset.colId===e)})}syncHeaderFocusVisual(e){this.deps.mountEl.querySelectorAll(`.mg-header-cell[data-col-id]`).forEach(t=>{t instanceof HTMLElement&&t.classList.toggle(`mg-header-cell--focused`,e!==null&&t.dataset.colId===e)})}getFocusChromeNavigation(){return{headerEnabled:this.isHeaderNavigationEnabled(),footerEnabled:this.isFooterNavigationEnabled()}}},bE=class{deps;host;drag=null;scrollRaf=null;constructor(e,t){this.deps=e,this.host=t}get rootDoc(){return NS(this.deps.viewportEl)}isActive(){return this.drag!=null}begin(e){this.end();let t=e.kind===`index`?this.deps.indexFocusService:this.deps.selectionService,n=null,r=null;e.ctrlKey&&t?.isMultiple()&&(n=t.isSelected(e.anchorRowId)?`remove`:`add`,r=new Set(t.getSelectedRowIds())),t?.setAnchorIndex(e.rowIndex),this.drag={kind:e.kind,anchorRowIndex:e.rowIndex,anchorRowId:e.anchorRowId,colId:e.colId,startY:e.clientY,moved:!1,pointerY:e.clientY,ctrlRangeMode:n,baselineRowIds:r},e.kind===`selection`&&this.host.clearCellRangesOnRowSelectionInteraction(),this.rootDoc.body.classList.add(`mg-row-drag-selecting`),this.host.setFocusedCell({rowId:e.anchorRowId,colId:e.colId,rowIndex:e.rowIndex,colIndex:this.host.getColIndex(e.colId)}),this.deps.viewportEl.focus(),this.rootDoc.addEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.addEventListener(`mouseup`,this.handleUp,!0)}end(){this.rootDoc.removeEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.removeEventListener(`mouseup`,this.handleUp,!0),this.rootDoc.body.classList.remove(`mg-row-drag-selecting`),this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null),this.drag=null}handleMove=e=>{if(!this.drag)return;if(e.buttons===0){this.handleUp();return}this.drag.pointerY=e.clientY,this.updateFromPointer(e.clientX,e.clientY);let t=this.deps.viewportEl.getBoundingClientRect();ub(e.clientY,t.top,t.bottom)&&this.ensureEdgeScrollLoop()};handleUp=()=>{if(!this.drag)return;let e=this.drag;e.moved?this.host.setSuppressColumnClick(!0):e.kind===`index`?this.host.applyIndexFocus(e.anchorRowId,e.anchorRowIndex,e.colId,{toggleOnReselect:!0}):this.host.applyRowSelection(e.anchorRowId,e.anchorRowIndex,e.colId,{toggleOnReselect:!0}),this.end()};updateFromPointer(e,t){if(!this.drag)return;let n=cb(this.deps.rowModel,this.deps.viewportEl,e,t,()=>this.deps.getLogicalScrollTop());n&&(Math.abs(t-this.drag.startY)>3||n.rowIndex!==this.drag.anchorRowIndex)&&(this.drag.moved=!0,this.applyRange(n.rowIndex),this.deps.ensureIndexVisible(n.rowIndex,`middle`))}ensureEdgeScrollLoop(){this.scrollRaf??=requestAnimationFrame(this.tickEdgeScroll)}tickEdgeScroll=()=>{if(!this.drag){this.scrollRaf=null;return}let e=this.drag,t=this.deps.viewportEl.getBoundingClientRect(),n=sb(e.pointerY,t.top,t.bottom,this.deps.getRowHeight());if(n!==0&&this.deps.scrollByDelta(n),this.updateFromPointer(t.left+this.deps.viewportEl.clientWidth/2,e.pointerY),ub(e.pointerY,t.top,t.bottom)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null};applyRange(e){if(!this.drag)return;let t=e=>this.deps.rowModel.getRow(e)?.id,n=e=>this.deps.getSelectableRowIdAt(e),r=this.drag,i={rowCount:this.deps.rowModel.getRowCount(),getAllRowIdAt:t};if(r.kind===`index`){if(!this.deps.indexFocusService)return;r.ctrlRangeMode&&r.baselineRowIds?r.ctrlRangeMode===`add`?this.deps.indexFocusService.addRangeToSelection(r.anchorRowIndex,e,t,r.baselineRowIds):this.deps.indexFocusService.removeRangeFromSelection(r.anchorRowIndex,e,t,r.baselineRowIds):this.deps.indexFocusService.selectRangeBetween(r.anchorRowIndex,e,t),this.deps.applyIndexFocusVisuals(),this.deps.emitIndexFocusChanged(this.deps.indexFocusService.getFocusedRowIds()),this.host.syncCellRangeFromIndexFocus?.(e);return}this.deps.selectionService&&(r.ctrlRangeMode&&r.baselineRowIds?r.ctrlRangeMode===`add`?this.deps.selectionService.addRangeToSelection(r.anchorRowIndex,e,n,r.baselineRowIds):this.deps.selectionService.removeRangeFromSelection(r.anchorRowIndex,e,n,r.baselineRowIds,i):this.deps.selectionService.selectRangeBetween(r.anchorRowIndex,e,n,i),this.deps.applySelectionVisuals(),this.deps.emitSelectionChanged(this.deps.selectionService.getSelectedRowIds()))}};function xE(e,t,n,r){if(!n?.active)return r;let i=n.normalizePosition(r.rowId,r.colId);if(i.rowId===r.rowId)return r;let a=e.getRowIndexById(i.rowId);return a<0||t.getColumnById(i.colId)==null?r:{rowId:i.rowId,rowIndex:a,colId:i.colId}}function SE(e,t,n,r){return sb(e,t,n,r)}function CE(e,t,n){return oE(e,t,n)}function wE(e,t,n){return ub(e,t,n)}function TE(e,t,n){return sE(e,t,n)}function EE(e,t,n){return wE(t,n.top,n.bottom)||TE(e,n.left,n.right)}function DE(e){return e.fixed??`center`}function OE(e,t,n){if(!n)return!1;let r=DE(e);return r===`right`||r===t}function kE(e,t,n,r){let i=e-t.left,a=n.getLeftFixedWidth(),o=n.getRightFixedWidth(),s=Math.max(0,r-a-o);return i<a?`left`:i>=a+s?`right`:`center`}function AE(e,t,n){let r=n.getBoundingClientRect();return e>=r.left&&e<r.right&&t>=r.top&&t<r.bottom}var jE={left:[`left`,`center`,`right`],center:[`center`,`left`,`right`],right:[`right`,`center`,`left`]};function ME(e,t){let n=e.querySelectorAll?.(`.mg-row[data-row-id]`);if(!n)return null;for(let e of n)if(e instanceof HTMLElement&&e.dataset.rowId===t)return e;return null}function NE(e,t,n,r,i,a){let o=kE(t,a,r,i.clientWidth);for(let i of jE[o]){let a=e.querySelector(`.mg-row__lane--${i}`);if(a instanceof HTMLElement)for(let e of a.querySelectorAll(`.mg-cell[data-col-id]`)){if(!(e instanceof HTMLElement))continue;let i=e.dataset.colId;if(!i||!AE(t,n,e))continue;let a=r.getColumnById(i);if(!(!a||a.hidden)&&OE(a,o,!0))return i}}return null}function PE(e,t,n,r,i){let a=document.elementFromPoint(e,t)?.closest(`.mg-cell`),o=a?.dataset.colId;if(!o||!a)return null;let s=n.getColumnById(o);if(!s||s.hidden)return null;let c=kE(e,i,n,r.clientWidth),l=DE(s);if(OE(s,c,AE(e,t,a)))return o;if(l!==c)return null;if(c===`center`){let t=n.getLeftFixedWidth(),a=n.getRightFixedWidth(),o=n.getCenterTotalWidth(),s=Math.max(0,r.clientWidth-t-a),c=g_(r.scrollLeft,o,s);if(IE(e-i.left,t,o,c))return null}return o}function FE(e,t){return e.filter(e=>DE(e)===t)}function IE(e,t,n,r){return r+(e-t)>=n}function LE(e,t,n,r){let i=e.getDisplayedColumns();if(i.length===0)return null;let a=t.getBoundingClientRect(),o=n-a.left,s=e.getLeftFixedWidth(),c=e.getRightFixedWidth(),l=e.getCenterTotalWidth(),u=Math.max(0,t.clientWidth-s-c),d=kE(n,a,e,t.clientWidth);if(d===`left`){let e=FE(i,`left`);return e.length===0?null:e[p_(e,o)]?.colId??null}if(d===`right`){let e=FE(i,`right`);if(e.length===0)return null;let t=s+l,n=o-s-u;return e[p_(e.map(e=>({...e,left:e.left-t})),n)]?.colId??null}let f=FE(i,`center`);if(f.length===0)return null;let p=g_(r,l,u);return IE(o,s,l,p)?null:f[p_(f,p+(o-s))]?.colId??null}function RE(e,t,n,r,i,a,o){let s=cb(e,n,r,i,a);if(!s)return null;let c=n.getBoundingClientRect(),l=o(),u=ME(n,s.rowId),d=(u==null?null:NE(u,r,i,t,n,c))??PE(r,i,t,n,c)??LE(t,n,r,l);return d?{rowIndex:s.rowIndex,colId:d}:null}var zE=class{deps;host;drag=null;scrollRaf=null;constructor(e,t){this.deps=e,this.host=t}get rootDoc(){return NS(this.deps.viewportEl)}isActive(){return this.drag!=null}canStart(e,t,n=`replace`){if(!this.deps.isCellSelectionEnabled()||!this.deps.getCellRangeService()||this.deps.isEditing()||this.deps.isCommitting())return!1;if(n===`replace`){if(t.shiftKey||t.ctrlKey||t.metaKey)return!1}else if(t.shiftKey||!t.ctrlKey&&!t.metaKey)return!1;else if(this.deps.getCellRangeService()?.isSuppressMultiRanges())return!1;if(this.deps.isInlineToggleClickTarget(t.target)||this.deps.isGroupOrTreeExpandClickTarget?.(t.target))return!1;let r=t.target?.closest(`.mg-cell`);if(r&&this.deps.isPointerOverCellCommentIndicator(r,t.clientX,t.clientY)||(t.target instanceof Element?t.target:null)?.closest(`.mg-cell__row-resize-handle, .mg-cell__row-drag-handle`))return!1;let i=e.rowNode.rowKind;return xs(e.colId,i)}begin(e){this.end();let t=e.mode??`replace`,n=this.deps.getCellRangeService(),r=t===`append`&&n?n.getRanges():[],i=xE(this.deps.rowModel,this.deps.columnModel,this.deps.getCellSpanService?.()??null,{rowId:e.anchorRowId,rowIndex:e.anchorRowIndex,colId:e.anchorColId});this.drag={mode:t,baseRanges:r,anchorRowIndex:i.rowIndex,anchorColId:i.colId,anchorRowId:i.rowId,startX:e.clientX,startY:e.clientY,moved:!1,pointerX:e.clientX,pointerY:e.clientY},this.rootDoc.body.classList.add(`mg-cell-range-dragging`),this.host.setFocusedCell({rowId:i.rowId,colId:i.colId,rowIndex:i.rowIndex,colIndex:this.host.getColIndex(i.colId)}),this.deps.viewportEl.focus(),this.rootDoc.addEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.addEventListener(`mouseup`,this.handleUp,!0)}end(){this.rootDoc.removeEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.removeEventListener(`mouseup`,this.handleUp,!0),this.rootDoc.body.classList.remove(`mg-cell-range-dragging`),this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null),this.drag=null}handleMove=e=>{if(!this.drag)return;if(e.buttons===0){this.handleUp();return}this.drag.pointerX=e.clientX,this.drag.pointerY=e.clientY,this.updateFromPointer(e.clientX,e.clientY);let t=this.deps.viewportEl.getBoundingClientRect();EE(e.clientX,e.clientY,t)&&this.ensureEdgeScrollLoop()};handleUp=()=>{if(!this.drag)return;let e=this.drag;e.moved?this.host.setSuppressColumnClick(!0):e.mode===`append`?this.appendSingleCellRange(e.anchorRowIndex,e.anchorColId):this.applyRange(e.anchorRowIndex,e.anchorColId),this.end()};updateFromPointer(e,t){if(!this.drag)return;let n=RE(this.deps.rowModel,this.deps.columnModel,this.deps.viewportEl,e,t,()=>this.deps.getLogicalScrollTop(),()=>this.deps.getScrollLeft());if(!n)return;let r=this.deps.rowModel.getRow(n.rowIndex),i=r?.rowKind;if(!r||!xs(n.colId,i))return;let a=xE(this.deps.rowModel,this.deps.columnModel,this.deps.getCellSpanService?.()??null,{rowId:r.id,rowIndex:n.rowIndex,colId:n.colId});(Math.abs(e-this.drag.startX)>4||Math.abs(t-this.drag.startY)>4||a.rowIndex!==this.drag.anchorRowIndex||a.colId!==this.drag.anchorColId)&&(this.drag.moved=!0,this.applyRange(a.rowIndex,a.colId))}ensureEdgeScrollLoop(){this.scrollRaf??=requestAnimationFrame(this.tickEdgeScroll)}tickEdgeScroll=()=>{if(!this.drag){this.scrollRaf=null;return}let e=this.drag,t=this.deps.viewportEl.getBoundingClientRect(),n=SE(e.pointerY,t.top,t.bottom,this.deps.getRowHeight()),r=CE(e.pointerX,t.left,t.right);if(n!==0&&this.deps.scrollByDelta(n),r!==0&&this.deps.scrollByHorizontalDelta(r),this.updateFromPointer(e.pointerX,e.pointerY),EE(e.pointerX,e.pointerY,t)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null};applyRange(e,t){let n=this.deps.getCellRangeService();if(!this.drag||!n)return;let r=ks({rowIndex:this.drag.anchorRowIndex,colId:this.drag.anchorColId},{rowIndex:e,colId:t}),i=this.deps.getCellRangeOperationContext(),a={rowIndex:this.drag.anchorRowIndex,colId:this.drag.anchorColId};(this.drag.mode===`append`?this.commitAppendRange(r,a,i):n.setRanges([r],i,a))&&(this.deps.applyCellRangeVisuals(),this.deps.emitCellSelectionChanged(`ui`))}commitAppendRange(e,t,n){let r=this.deps.getCellRangeService(),i=this.drag;return!r||!i?!1:r.setRanges([...i.baseRanges,e],n,t)}appendSingleCellRange(e,t){let n=this.deps.getCellRangeService(),r=this.drag;if(!n||!r)return;let i={rowIndex:e,colId:t},a=ks(i,i),o=this.deps.getCellRangeOperationContext();n.addRange(a,o,i)&&(this.deps.applyCellRangeVisuals(),this.deps.emitCellSelectionChanged(`ui`))}},BE=class{deps;drag=null;scrollRaf=null;get rootDoc(){return NS(this.deps.viewportEl)}constructor(e){this.deps=e}isActive(){return this.drag!=null}canStart(){if(this.deps.isCommitting()||!Ts(this.deps.getCellSelectionOptions()))return!1;let e=this.deps.getCellRangeService();return!(!e||e.getRanges().length!==1)}begin(e,t){if(!this.canStart())return!1;let n=this.deps.getCellRangeService(),r=this.deps.getCellRangeOperationContext(),i=n.getRanges()[0],a=U(i,r.displayedColIds);return a?(this.end(),this.drag={fixedAnchor:{rowIndex:a.top,colId:a.leftColId},sourceRange:a,previewRange:a,pointerX:e,pointerY:t},this.rootDoc.body.classList.add(`mg-fill-handle-dragging`),this.rootDoc.addEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.addEventListener(`mouseup`,this.handleUp,!0),!0):!1}end(){this.rootDoc.removeEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.removeEventListener(`mouseup`,this.handleUp,!0),this.rootDoc.body.classList.remove(`mg-fill-handle-dragging`),this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null),this.drag=null}handleMove=e=>{if(!this.drag)return;if(e.buttons===0){this.handleUp();return}this.drag.pointerX=e.clientX,this.drag.pointerY=e.clientY,this.updateFromPointer(e.clientX,e.clientY);let t=this.deps.viewportEl.getBoundingClientRect();EE(e.clientX,e.clientY,t)&&this.ensureEdgeScrollLoop()};handleUp=()=>{this.drag&&(this.commitFill(),this.deps.emitCellSelectionChanged(`ui`),this.end())};commitFill(){let e=this.drag;if(!e)return;let t=this.getFillOptions();if(!t)return;let n=this.deps.getCellRangeOperationContext(),r=this.deps.getFillWriteService();if(!r)return;let i=hS(e.sourceRange,e.previewRange,n.displayedColIds),a=t.fillReverseStrategy===`clear`?gS(e.sourceRange,e.previewRange,n.displayedColIds):[];(i.length!==0||a.length!==0)&&r.commitFillRange({sourceRange:e.sourceRange,displayedColIds:n.displayedColIds,fillOptions:t,added:i,removed:a})}updateFromPointer(e,t){if(!this.drag)return;let n=RE(this.deps.rowModel,this.deps.columnModel,this.deps.viewportEl,e,t,()=>this.deps.getLogicalScrollTop(),()=>this.deps.getScrollLeft());if(!n)return;let r=this.deps.rowModel.getRow(n.rowIndex);if(!r)return;let i=xE(this.deps.rowModel,this.deps.columnModel,this.deps.getCellSpanService?.()??null,{rowId:r.id,rowIndex:n.rowIndex,colId:n.colId}),a=this.getFillOptions();if(!a)return;let o=this.deps.getCellRangeOperationContext(),s=sS({fixedAnchor:this.drag.fixedAnchor,pointer:i,sourceRange:this.drag.sourceRange,direction:a.direction,displayedColIds:o.displayedColIds});if(!s)return;let c=this.deps.getCellRangeService();c&&(c.setRanges([js(s)],o,c.getAnchor())&&this.deps.applyCellRangeVisuals(),this.drag.previewRange=s)}getFillOptions(){let e=this.deps.getCellSelectionOptions().handle;return!e||e.mode!==`fill`?null:e}ensureEdgeScrollLoop(){this.scrollRaf??=requestAnimationFrame(this.tickEdgeScroll)}tickEdgeScroll=()=>{let e=this.drag;if(!e){this.scrollRaf=null;return}let t=this.deps.viewportEl.getBoundingClientRect(),n=SE(e.pointerY,t.top,t.bottom,this.deps.getRowHeight()),r=CE(e.pointerX,t.left,t.right);if(n!==0&&this.deps.scrollByDelta(n),r!==0&&this.deps.scrollByHorizontalDelta(r),this.updateFromPointer(e.pointerX,e.pointerY),EE(e.pointerX,e.pointerY,t)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null}},VE=class{deps;drag=null;scrollRaf=null;get rootDoc(){return NS(this.deps.viewportEl)}constructor(e){this.deps=e}isActive(){return this.drag!=null}canStart(){if(this.deps.isCommitting()||!Es(this.deps.getCellSelectionOptions()))return!1;let e=this.deps.getCellRangeService();return!(!e||e.getRanges().length!==1)}begin(e,t){if(!this.canStart())return!1;let n=this.deps.getCellRangeService(),r=this.deps.getCellRangeOperationContext(),i=n.getRanges()[0],a=U(i,r.displayedColIds);if(!a)return!1;let o=n.getAnchor(),s=o??{rowIndex:a.top,colId:a.leftColId};return o||n.setAnchor(s),this.end(),this.drag={fixedAnchor:s,sourceRange:a,pointerX:e,pointerY:t},this.rootDoc.body.classList.add(`mg-range-handle-dragging`),this.rootDoc.addEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.addEventListener(`mouseup`,this.handleUp,!0),!0}end(){this.rootDoc.removeEventListener(`mousemove`,this.handleMove,!0),this.rootDoc.removeEventListener(`mouseup`,this.handleUp,!0),this.rootDoc.body.classList.remove(`mg-range-handle-dragging`),this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null),this.drag=null}handleMove=e=>{if(!this.drag)return;if(e.buttons===0){this.handleUp();return}this.drag.pointerX=e.clientX,this.drag.pointerY=e.clientY,this.updateFromPointer(e.clientX,e.clientY);let t=this.deps.viewportEl.getBoundingClientRect();EE(e.clientX,e.clientY,t)&&this.ensureEdgeScrollLoop()};handleUp=()=>{this.drag&&(this.deps.emitCellSelectionChanged(`ui`),this.end())};updateFromPointer(e,t){if(!this.drag)return;let n=RE(this.deps.rowModel,this.deps.columnModel,this.deps.viewportEl,e,t,()=>this.deps.getLogicalScrollTop(),()=>this.deps.getScrollLeft());if(!n)return;let r=this.deps.rowModel.getRow(n.rowIndex);if(!r)return;let i=xE(this.deps.rowModel,this.deps.columnModel,this.deps.getCellSpanService?.()??null,{rowId:r.id,rowIndex:n.rowIndex,colId:n.colId}),a=this.deps.getCellRangeService();if(!a)return;let o=this.deps.getCellRangeOperationContext();a.extendFromAnchor({rowIndex:i.rowIndex,colId:i.colId},o)&&this.deps.applyCellRangeVisuals()}ensureEdgeScrollLoop(){this.scrollRaf??=requestAnimationFrame(this.tickEdgeScroll)}tickEdgeScroll=()=>{let e=this.drag;if(!e){this.scrollRaf=null;return}let t=this.deps.viewportEl.getBoundingClientRect(),n=SE(e.pointerY,t.top,t.bottom,this.deps.getRowHeight()),r=CE(e.pointerX,t.left,t.right);if(n!==0&&this.deps.scrollByDelta(n),r!==0&&this.deps.scrollByHorizontalDelta(r),this.updateFromPointer(e.pointerX,e.pointerY),EE(e.pointerX,e.pointerY,t)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null}},HE=class{deps;constructor(e){this.deps=e}isEligibleDataCell(e,t){return xs(e,t)}normalizeTarget(e){let t=xE(this.deps.rowModel,this.deps.columnModel,this.deps.getCellSpanService?.()??null,{rowId:e.rowId,rowIndex:e.rowIndex,colId:e.colId});if(t.rowId===e.rowId&&t.rowIndex===e.rowIndex&&t.colId===e.colId)return e;let n=this.deps.rowModel.getRow(t.rowIndex)??e.rowNode;return{rowId:t.rowId,rowIndex:t.rowIndex,colId:t.colId,rowNode:n,rowElement:e.rowElement}}normalizePosition(e,t,n){return xE(this.deps.rowModel,this.deps.columnModel,this.deps.getCellSpanService?.()??null,{rowId:e,rowIndex:t,colId:n})}isActive(){return this.deps.isCellSelectionEnabled()&&this.deps.getCellRangeService()!=null}commitRangeChange(e=`ui`){this.deps.applyCellRangeVisuals(),this.deps.emitCellSelectionChanged(e)}clearAllRanges(e=`ui`){return this.deps.getCellRangeService()?.clear()?(this.commitRangeChange(e),!0):!1}tryHeaderColumnSelection(e){if(!this.deps.getCellSelectionOptions?.().enableColumnSelection||!this.isActive()||this.deps.isEditing()||this.deps.isCommitting()||_s(e))return!1;let t=this.deps.rowModel.getRowCount();if(t===0)return!1;let n=this.deps.getCellRangeService();if(!n)return!1;let r=this.deps.getCellRangeOperationContext(),i=Fs(e,t,r.rowKindAt??(()=>void 0));if(!i)return!1;let a={rowIndex:i.startRowIndex,colId:i.startColId};return!n.setRanges([i],r,a)||!n.hasRanges()?!1:(this.commitRangeChange(),!0)}tryClearOnBlankViewportClick(){return this.isActive()?this.clearAllRanges():!1}tryClearOnPlainClick(e){return this.isActive()?this.setSingleCellRange(e):!1}tryClearOnNonRangeTargetClick(){return!this.isActive()||!this.deps.getCellRangeService()?.hasRanges()?!1:this.clearAllRanges()}selectFocusedCellRange(){if(!this.isActive())return!1;let e=this.deps.cellFocusService.getFocusedCell();if(!e||q(e))return!1;let t=this.deps.rowModel.getRow(e.rowIndex);return t?this.isEligibleDataCell(e.colId,t.rowKind)?this.setSingleCellRange({rowId:t.id,rowIndex:e.rowIndex,colId:e.colId,rowNode:t}):this.tryClearOnNonRangeTargetClick():!1}setSingleCellRange(e,t=`ui`){let n=this.deps.getCellRangeService();if(!n)return!1;let r=this.normalizeTarget(e);if(!this.isEligibleDataCell(r.colId,r.rowNode.rowKind))return!1;let i={rowIndex:r.rowIndex,colId:r.colId},a=ks(i,i);return n.setRanges([a],this.deps.getCellRangeOperationContext(),i)&&this.commitRangeChange(t),!0}tryHandleModifierMouseDown(e,t){if(!t.shiftKey&&!t.ctrlKey&&!t.metaKey||!this.isActive()||this.deps.isEditing()||this.deps.isCommitting()||!this.isEligibleDataCell(e.colId,e.rowNode.rowKind))return!1;t.preventDefault();let n=this.normalizeTarget(e);return t.shiftKey&&!t.ctrlKey&&!t.metaKey?this.handleShiftClick(n):this.handleCtrlClick(n),!0}handleShiftClick(e){let t=this.deps.getCellRangeService(),n=this.deps.getCellRangeOperationContext(),r=this.deps.cellFocusService.getFocusedCell(),i={rowIndex:e.rowIndex,colId:e.colId};r&&!q(r)?t.extendFocusedRange({rowIndex:r.rowIndex,colId:r.colId},i,n):t.setRanges([ks(i,i)],n,i),this.commitRangeChange()}handleCtrlClick(e){let t=this.deps.getCellRangeService(),n=this.deps.getCellRangeOperationContext(),r={rowIndex:e.rowIndex,colId:e.colId},i=ks(r,r);t.isSuppressMultiRanges()?t.setRanges([i],n,r):t.addRange(i,n,r),this.commitRangeChange()}onArrowKey(e,t){if(!this.isActive())return!1;if(!t)return!0;let n=this.deps.cellFocusService.getFocusedCell();if(!n||q(n)||!this.isEligibleDataCell(n.colId,this.deps.rowModel.getRow(n.rowIndex)?.rowKind))return!0;let r=Bf(n,e,this.deps.rowModel.getRowCount(),Of(this.deps.columnModel),e=>this.deps.rowModel.getRow(e)?.id,e=>this.deps.columnModel.getColumn(e)?.colId,this.deps.getFocusChromeNavigation());if(!r||q(r))return!0;let i=this.deps.rowModel.getRow(r.rowIndex)?.id;if(!i)return!0;let a=this.normalizePosition(i,r.rowIndex,r.colId);return a.rowIndex===n.rowIndex&&a.colId===n.colId||(this.deps.getCellRangeService().extendFocusedRange({rowIndex:n.rowIndex,colId:n.colId},{rowIndex:a.rowIndex,colId:a.colId},this.deps.getCellRangeOperationContext()),this.commitRangeChange(),!0)}handleDeleteKey(){return!this.isActive()||!this.deps.getCellRangeService()?.hasRanges()||this.deps.isCommitting()?!1:(this.deps.handleCellSelectionDeleteKey?.(),!0)}syncFromIndexFocus(e){if(!this.deps.showIndexColumn?.()||!this.isActive())return!1;let t=this.deps.getCellRangeOperationContext(),n=t.rowKindAt??(()=>void 0),r=Rs({focusedRowIndices:(this.deps.getIndexFocusedRowIds?.()??[]).map(e=>this.deps.rowModel.getRowIndexById(e)).filter(e=>e>=0),displayedColIds:t.displayedColIds,rowKindAt:n,suppressMultiRanges:this.deps.getCellSelectionOptions?.().suppressMultiRanges??!0,currentRowIndex:e}),i=this.deps.getCellRangeService();if(!i)return!1;if(r.length===0)return i.hasRanges()?(i.clear(),this.commitRangeChange(),!0):!1;let a={rowIndex:r[0].startRowIndex,colId:r[0].startColId},o=i.setRanges(r,t,a);return o&&this.commitRangeChange(),o}};function UE(e,t){let n=t.clientY,r=0,i=!1,a=t=>{if(e.rootEl.classList.toggle(`mg-root--row-resizing`,t),t){document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`;return}document.body.style.removeProperty(`cursor`),document.body.style.removeProperty(`user-select`)},o=t=>{i||(i=!0,document.removeEventListener(`mousemove`,s,!0),document.removeEventListener(`mouseup`,c,!0),a(!1),t&&e.onResizeEnd(r))},s=t=>{if(t.buttons===0){o(!0);return}r=t.clientY-n,e.onResizing(r)},c=()=>{o(!0)};return a(!0),e.onResizeStart(t.shiftKey),document.addEventListener(`mousemove`,s,!0),document.addEventListener(`mouseup`,c,!0),()=>o(!1)}var WE=class{deps;rowResize=null;rowResizeFrame=null;pendingRowResizeAmount=null;constructor(e){this.deps=e}isActive(){return this.rowResize!=null}refreshVisualState(){let e=this.rowResize;if(!e)return;let n=MS(this.deps.mountEl).querySelector(`.mg-row[data-row-id="${CSS.escape(e.rowId)}"] .mg-cell[data-col-id="${CSS.escape(t.tt)}"]`);n&&(e.sourceCell=n,this.markActiveCell(n))}canStart(e,n,r){return r||this.rowResize||!this.deps.indexColumnOptions.showIndexColumn||!this.deps.indexColumnOptions.indexColumn.enableRowResizer||!t.it(e)?!1:Z(n)?.closest(`.${za}`)!=null}begin(e){this.end(!1);let t=this.deps.rowModel.getRowById(e.rowId);t&&(this.rowResize={rowId:e.rowId,sourceCell:e.sourceCell,startHeight:t.rowHeight,endSession:UE({rootEl:MS(this.deps.mountEl),onResizeStart:()=>{},onResizing:e=>{this.scheduleResize(e)},onResizeEnd:e=>{this.applyResize(e,!0),this.end(!0)}},e.event)},this.markActiveCell(e.sourceCell))}end(e){let t=this.rowResize;t&&(this.rowResizeFrame!=null&&(cancelAnimationFrame(this.rowResizeFrame),this.rowResizeFrame=null),this.pendingRowResizeAmount=null,this.clearActiveCell(),!e&&t.endSession&&t.endSession(),this.rowResize=null)}markActiveCell(e){this.clearActiveCell(),e.setAttribute(`data-row-resize-active`,``),e.classList.add(Ba)}clearActiveCell(){MS(this.deps.mountEl).querySelectorAll(`.mg-cell[data-row-resize-active]`).forEach(e=>{e instanceof HTMLElement&&(e.removeAttribute(`data-row-resize-active`),e.classList.remove(Ba))})}scheduleResize(e){this.pendingRowResizeAmount=e,this.rowResizeFrame??=requestAnimationFrame(()=>{this.rowResizeFrame=null;let e=this.pendingRowResizeAmount;e==null||!this.rowResize||this.applyResize(e,!1)})}applyResize(e,t){let n=this.rowResize;if(!n)return;let r=n.startHeight+e;this.deps.setRowHeights([{rowId:n.rowId,height:r}],t)}},GE=[`--mg-color-row-drop-indicator`,`--mg-row-drop-indicator-height`,`--mg-row-drop-indicator-z-index`],KE=class{ghostEl=null;indicatorEl=null;sourceCellEl=null;ghostMountEl=document.body;themeSourceEl=null;startGhost(e){this.removeGhost(),e.mountEl&&(this.ghostMountEl=e.mountEl,this.themeSourceEl=e.mountEl.closest(`.magic-grid`)??e.mountEl.closest(`.mg-root`)??e.mountEl);let t=document.createElement(`div`);t.className=`${Ta} ${Ta}--cell`,t.style.width=`${e.width}px`,t.style.height=`${e.height}px`,t.style.left=`${e.left}px`,t.style.top=`${e.top}px`;let n=document.createElement(`span`);n.className=`${Ta}__label`,n.textContent=e.label,t.append(n),this.ghostMountEl.appendChild(t),this.ghostEl=t}moveGhost(e,t){this.ghostEl&&(this.ghostEl.style.left=`${e}px`,this.ghostEl.style.top=`${t}px`)}showDropIndicator(e,t,n){if(!this.indicatorEl){let e=document.createElement(`div`);e.className=wa,this.syncIndicatorTheme(e),document.body.appendChild(e),this.indicatorEl=e}let r=t-this.resolveIndicatorHeight()/2;this.indicatorEl.style.left=`${e}px`,this.indicatorEl.style.top=`${r}px`,this.indicatorEl.style.width=`${Math.max(0,n)}px`,this.indicatorEl.style.display=`block`}hideDropIndicator(){this.indicatorEl&&(this.indicatorEl.style.display=`none`)}setSourceCellDragging(e,t){this.sourceCellEl&&this.sourceCellEl!==e&&this.sourceCellEl.classList.remove(Ca),this.sourceCellEl=e,e?.classList.toggle(Ca,t)}cleanup(){this.setSourceCellDragging(this.sourceCellEl,!1),this.removeGhost(),this.removeIndicator(),this.themeSourceEl=null,this.ghostMountEl=document.body}destroy(){this.cleanup()}resolveIndicatorHeight(){if(!this.indicatorEl)return 2;let e=this.indicatorEl.style.getPropertyValue(`--mg-row-drop-indicator-height`),t=getComputedStyle(this.indicatorEl).height,n=e||t,r=Number.parseFloat(n);return Number.isFinite(r)&&r>0?r:2}syncIndicatorTheme(e){let t=this.themeSourceEl??this.ghostMountEl.closest(`.magic-grid`)??this.ghostMountEl.closest(`.mg-root`);if(!t)return;let n=getComputedStyle(t);for(let t of GE){let r=n.getPropertyValue(t).trim();r&&e.style.setProperty(t,r)}let r=n.getPropertyValue(`--mg-color-primary`).trim();r&&!e.style.getPropertyValue(`--mg-color-row-drop-indicator`)&&e.style.setProperty(`--mg-color-row-drop-indicator`,r)}removeGhost(){this.ghostEl?.remove(),this.ghostEl=null}removeIndicator(){this.indicatorEl?.remove(),this.indicatorEl=null}},qE=class{deps;drag=null;scrollRaf=null;dragController=new KE;constructor(e){this.deps=e}get rootDoc(){return NS(this.deps.viewportEl)}isActive(){return this.drag!=null}canStart(e,t,n){if(n||this.drag||this.deps.isRowDragCommitting?.()||!this.deps.isRowDragHandleEnabled(e))return!1;let r=Z(t);return r?.closest(`.mg-cell__row-drag-handle`)!=null&&JE(r)}begin(e){this.end(!1);let t=e.sourceCell.closest(`.mg-row`),n=e.sourceCell.dataset.colId;if(!t||!n)return;let r=this.resolveDragRowIds(e.rowId);if(this.deps.isRowGroupingActive?.()&&cd(this.deps.rowModel.getSourceRows(),r)===`mixed`)return;let i=new Map,a=this.deps.rowModel.getSourceRows();for(let e of r){let t=a.findIndex(t=>t.id===e);t>=0&&i.set(e,t)}this.drag={rowId:e.rowId,rowIds:r,sourceRowEl:t,sourceCell:e.sourceCell,sourceColId:n,startX:e.clientX,startY:e.clientY,pointerX:e.clientX,pointerY:e.clientY,ghostOffsetX:0,ghostOffsetY:0,active:!1,didMove:!1,overIndex:-1,lastDropInsertIndex:null,lastNestUnderRowId:null,nestUnderRowId:null,altKey:!1,startSourceIndices:i,startDisplayIndex:this.deps.rowModel.getRowIndexById(e.rowId),startTreePositions:Ib(a,r),startNestUnderRowId:null},this.rootDoc.addEventListener(`mousemove`,this.handleMove),this.rootDoc.addEventListener(`mouseup`,this.handleEnd)}end(e){let t=this.drag;t&&(this.rootDoc.removeEventListener(`mousemove`,this.handleMove),this.rootDoc.removeEventListener(`mouseup`,this.handleEnd),this.dragController.cleanup(),this.deps.setRowMoveLiveDragging(!1),this.rootDoc.body.classList.remove(`mg-row-dragging`,Ea),this.rootDoc.body.style.removeProperty(`cursor`),this.rootDoc.body.style.removeProperty(`user-select`),this.drag=null,this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null),!e&&t.didMove&&this.hasDragResultChanged(t,t.nestUnderRowId,!1)&&this.deps.emitRowDragEnd(Fa(t.rowId,t.overIndex,!1,t.rowIds)))}handleMove=e=>{let t=this.drag;if(!t)return;let n=e.clientX-t.startX,r=e.clientY-t.startY;if(!t.active){if(Math.abs(r)<=5||Math.abs(r)<Math.abs(n))return;t.active=!0,t.didMove=!0,this.rootDoc.body.classList.add(`mg-row-dragging`),this.rootDoc.body.style.userSelect=`none`,this.canLiveReorder()&&this.deps.setRowMoveLiveDragging(!0);let e=t.sourceCell.getBoundingClientRect();t.ghostOffsetX=t.startX-e.left,t.ghostOffsetY=t.startY-e.top,this.dragController.setSourceCellDragging(t.sourceCell,!0),this.dragController.startGhost({label:YE(t.sourceCell,t.rowId,t.rowIds.length),width:e.width,height:e.height,left:e.left,top:e.top,mountEl:MS(this.deps.mountEl)})}this.dragController.moveGhost(e.clientX-t.ghostOffsetX,e.clientY-t.ghostOffsetY),t.pointerY=e.clientY,t.pointerX=e.clientX,t.altKey=e.altKey,this.renderAtPointer(e.clientX,e.clientY,e.altKey);let i=this.deps.viewportEl.getBoundingClientRect();ub(t.pointerY,i.top,i.bottom)&&this.ensureEdgeScrollLoop()};handleEnd=e=>{let t=this.drag;if(t){if(t.active){let n=this.resolveTreeNestUnderRowId(t.pointerX,t.pointerY,e.altKey,t.rowIds);t.nestUnderRowId=n;let r=t.overIndex>=0&&this.isDropAllowed(t,t.overIndex,n);if(this.isDeferredManagedCommit()){if(r){let e=this.deps.planRowDragMove(this.deps.buildPlanRowDragMoveOptions({rowIds:t.rowIds,leaderRowId:t.rowId,displayInsertIndex:t.overIndex,treeNestUnderRowId:n}));if(e.ok){let i=this.deps.resolveTreeRowDragEndContext?.(t.rowId,t.overIndex,n,r);this.deps.commitDeferredRowDrag({plan:e.plan,rowIds:t.rowIds,sourceColId:t.sourceColId,nestUnderRowId:n,treeContext:i})}}}else{let e=this.hasDragResultChanged(t,n,r);if(e&&this.canLiveReorder()&&t.overIndex>=0&&r&&this.deps.finishRowMoves(t.rowIds,t.startSourceIndices,t.overIndex,t.startTreePositions),e){let e=this.deps.resolveTreeRowDragEndContext?.(t.rowId,t.overIndex,n,r);this.deps.emitRowDragEnd(Fa(t.rowId,t.overIndex,!0,t.rowIds,e))}}}this.end(!0)}};renderAtPointer(e,t,n=!1){let r=this.drag;if(!r)return;let i=kb(this.deps.rowModel,this.deps.viewportEl,e,t,this.deps.getLogicalScrollTop);r.overIndex=i;let a=this.resolveTreeNestUnderRowId(e,t,n,r.rowIds);if(r.nestUnderRowId=a,i<0){this.dragController.hideDropIndicator();return}if(!this.isDropAllowed(r,i,a)){this.dragController.hideDropIndicator(),this.setDropForbidden(!0);return}this.setDropForbidden(!1),this.updateDropIndicator(i),this.canLiveReorder()&&this.applyLiveMove(r,i,a)}resolveTreeNestUnderRowId(e,t,n,r){return!this.deps.isTreeActive?.()||this.deps.getTreeDragScope?.()!==`hierarchy`?null:yb({rowModel:this.deps.rowModel,viewportEl:this.deps.viewportEl,clientX:e,clientY:t,getLogicalScrollTop:this.deps.getLogicalScrollTop,altKey:n,movingRowIds:r})}setDropForbidden(e){this.rootDoc.body.classList.toggle(Ea,e)}isDropAllowed(e,t,n){return this.deps.isTreeActive?.()?this.deps.validateTreeDisplayDrop?.(e.rowIds,t,{nestUnderRowId:n})??!1:this.deps.isRowGroupingActive?.()?this.deps.validateGroupedDisplayDrop?.(e.rowIds,t)??!1:!0}updateDropIndicator(e){let t=this.deps.rowModel.getRowCount(),n=this.deps.viewportEl.getBoundingClientRect(),r=Math.min(e,Math.max(0,t-1)),i=e>=t?this.deps.rowModel.getRow(t-1):this.deps.rowModel.getRow(r);if(!i){this.dragController.hideDropIndicator();return}let a=this.deps.viewportEl.querySelector(`.mg-row[data-row-id="${CSS.escape(i.id)}"]`);if(a){let r=a.getBoundingClientRect(),i=e>=t?r.bottom:r.top,o=Math.max(r.left,n.left),s=Math.min(r.right,n.right);this.dragController.showDropIndicator(o,i,s-o);return}let o=this.deps.rowModel.getRowBounds(r);if(!o){this.dragController.hideDropIndicator();return}let s=n.top+o.rowTop-this.deps.getLogicalScrollTop()+(e>=t?o.rowHeight:0);this.dragController.showDropIndicator(n.left,s,n.width)}applyLiveMove(e,t,n){if(t===e.lastDropInsertIndex&&n===e.lastNestUnderRowId)return;let r=jb(t,this.deps.rowModel.getRowCount()),i=this.deps.rowModel.getRowIndexById(e.rowId);if(i>=0&&r===i){e.lastDropInsertIndex=t;return}this.commitRowsMove(e,t,!1,n)&&(e.lastDropInsertIndex=t,e.lastNestUnderRowId=n,this.refreshSourceElements(e))}commitRowsMove(e,t,n,r=null){if(this.deps.isTreeActive?.())return this.deps.moveRows({rowIds:e.rowIds,leaderRowId:e.rowId,toIndex:0,displayInsertIndex:t,treeNestUnderRowId:typeof r==`string`?r:void 0,finished:n},`uiRowDrag`).moved;if(this.deps.isRowGroupingActive?.())return this.deps.moveRows({rowIds:e.rowIds,leaderRowId:e.rowId,toIndex:0,displayInsertIndex:t,finished:n},`uiRowDrag`).moved;let i=this.deps.rowModel.getSortModel().length>0,a=jb(t,this.deps.rowModel.getRowCount()),o=this.deps.rowModel.getRowIndexById(e.rowId);if(o>=0&&a===o)return!1;let s=rd({sourceRows:this.deps.rowModel.getSourceRows(),displayRows:this.deps.rowModel.rowsToDisplay,sortModelLength:+!!i,filterModelKeyCount:Object.keys(this.deps.rowModel.getFilterModel()).length}),c=sd(a,s.hasSortOrFilter&&!i?`display`:`source`,s,i);return c!=null&&this.deps.moveRows({rowIds:e.rowIds,leaderRowId:e.rowId,toIndex:c,indexMode:`source`,finished:n},`uiRowDrag`).moved}resolveDragRowIds(e){return this.deps.isIndexFocusMultiple()?Iu(this.deps.rowModel.getSourceRows(),e,this.deps.getIndexFocusedRowIds()):[e]}refreshSourceElements(e){let t=this.deps.viewportEl.querySelector(`.mg-row[data-row-id="${CSS.escape(e.rowId)}"]`);if(!t)return;let n=t.querySelector(`.mg-cell[data-col-id="${CSS.escape(e.sourceColId)}"]`);n&&(e.active&&(this.dragController.setSourceCellDragging(e.sourceCell,!1),this.dragController.setSourceCellDragging(n,!0)),e.sourceRowEl=t,e.sourceCell=n)}hasDragResultChanged(e,t,n){return Bb({rowIds:e.rowIds,leaderRowId:e.rowId,startSourceIndices:e.startSourceIndices,sourceRows:this.deps.rowModel.getSourceRows(),startTreePositions:e.startTreePositions,managed:this.isManagedRowDragEnabled(),dropInsertIndex:e.overIndex,dropAllowed:n,startDisplayIndex:e.startDisplayIndex,nestUnderRowId:t,startNestUnderRowId:e.startNestUnderRowId,rowCount:this.deps.rowModel.getRowCount()})}isManagedRowDragEnabled(){return this.deps.rowDragManaged&&!Ma(this.deps.hasSortOrFilterActive(),this.deps.rowDragManaged)}isDeferredManagedCommit(){return this.isManagedRowDragEnabled()&&this.deps.deferRowDragCommit}canLiveReorder(){return this.isManagedRowDragEnabled()&&!this.deps.deferRowDragCommit}ensureEdgeScrollLoop(){this.scrollRaf??=requestAnimationFrame(this.tickEdgeScroll)}tickEdgeScroll=()=>{let e=this.drag;if(!e?.active){this.scrollRaf=null;return}let t=this.deps.viewportEl.getBoundingClientRect(),n=sb(e.pointerY,t.top,t.bottom,this.deps.getRowHeight());if(n!==0&&(this.deps.scrollByDelta(n),this.renderAtPointer(e.pointerX,e.pointerY,e.altKey)),ub(e.pointerY,t.top,t.bottom)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null}};function JE(e){let t=e?.closest(`.mg-row`);return t?!t.classList.contains(`mg-row--group-header`)&&!t.classList.contains(`mg-row--group-footer`):!1}function YE(e,t,n){return n>1?`${n} rows`:XE(e,t)}function XE(e,t){return e.querySelector(`.mg-cell__text:not([hidden])`)?.textContent?.trim()||e.querySelector(`.mg-cell__renderer:not([hidden])`)?.textContent?.trim()||t}var ZE=`mg-cell-comment-context-menu__items`,QE=`mg-cell-comment-context-menu__item`,$E=`mg-cell-comment-context-menu__item-label`,eD=`mg-cell-comment-context-menu__item--committing`,tD=`mg-cell-comment-context-menu__loading-icon`,nD={remove:`删除中...`};function rD(e,t,n){let r=Dx(e.mountEl??e.anchorEl??null);if(e.anchorEl){let r=Ox(e.anchorEl),i=yx(e.anchorEl);return kx(e.anchorEl.getBoundingClientRect(),t,n,r,i)}let i=e.clientX,a=e.clientY;return i+t>window.innerWidth-r&&(i=Math.max(r,window.innerWidth-t-r)),a+n>window.innerHeight-r&&(a=Math.max(r,window.innerHeight-n-r)),{left:i,top:a}}function iD(e){let t=document.createElement(`div`);t.className=Fo,t.setAttribute(`role`,`menu`);let n=document.createElement(`div`);n.className=ZE;let r=[],i=new Map;for(let t of e.items){let e=document.createElement(`button`);e.type=`button`,e.className=QE,e.dataset.action=t.id,e.disabled=t.disabled===!0,e.setAttribute(`role`,`menuitem`);let a=document.createElement(`span`);a.className=$E,a.textContent=t.label,e.append(a),i.set(t.id,t.label),e.addEventListener(`click`,n=>{n.preventDefault(),n.stopPropagation(),!(e.disabled||s)&&p(t.id,e)}),r.push(e),n.append(e)}t.append(n),(e.mountEl??document.body).append(t);let a=t.getBoundingClientRect(),o=rD(e,a.width,a.height);t.style.position=`fixed`,t.style.left=`${o.left}px`,t.style.top=`${o.top}px`;let s=!1,c=!1,l=e=>{if(s)return;let n=e.target;n instanceof Node&&t.contains(n)||d()},u=e=>{if(e.key===`Escape`){if(s){e.preventDefault();return}e.preventDefault(),d()}};document.addEventListener(`mousedown`,l,!0),document.addEventListener(`keydown`,u,!0);function d(n=!1){c||s&&!n||(c=!0,document.removeEventListener(`mousedown`,l,!0),document.removeEventListener(`keydown`,u,!0),t.remove(),e.onClose?.())}function f(e,n,a){t.classList.toggle(Io,a),n.classList.toggle(eD,a);for(let e of r)e.disabled=a||e.dataset.disabledInitially===`true`;if(a){h(n),m(n).textContent=nD[e],n.setAttribute(`aria-busy`,`true`);return}for(let e of r){g(e),e.removeAttribute(`aria-busy`);let t=e.dataset.action;t&&(m(e).textContent=i.get(t)??``)}}async function p(t,n){let r=t===`remove`;r&&(s=!0,f(t,n,!0));let i=!1;try{if(await e.onSelect(t)===!1)return;i=!0,s=!1,d()}catch{}finally{!i&&!c&&r&&(s=!1,f(t,n,!1))}}function m(e){return e.querySelector(`.${$E}`)}function h(e){if(e.querySelector(`.mg-cell-comment-context-menu__loading-icon`))return;let t=document.createElement(`span`);t.className=tD,t.setAttribute(`aria-hidden`,`true`),e.prepend(t)}function g(e){e.querySelector(`.${tD}`)?.remove()}for(let e of r)e.disabled&&(e.dataset.disabledInitially=`true`);return{close:d}}function aD(e,t,n,r){return t?r||!e.canView?null:e.canEdit&&!n?`edit`:`view`:e.canCreate?`create`:null}var oD=class{deps;showTimer=null;hideTimer=null;hoverCell=null;contextMenuClose=null;popupHoverListeners=null;bound=!1;constructor(e){this.deps=e}bindListeners(){this.bound||(this.bound=!0,this.deps.viewportEl.addEventListener(`mousemove`,this.handleViewportMouseMove),this.deps.viewportEl.addEventListener(`mouseleave`,this.handleViewportMouseLeave),this.deps.viewportEl.addEventListener(`scroll`,this.handleViewportScroll,!0),this.deps.viewportEl.addEventListener(`contextmenu`,this.handleContextMenu))}unbindListeners(){this.bound&&(this.bound=!1,this.deps.viewportEl.removeEventListener(`mousemove`,this.handleViewportMouseMove),this.deps.viewportEl.removeEventListener(`mouseleave`,this.handleViewportMouseLeave),this.deps.viewportEl.removeEventListener(`scroll`,this.handleViewportScroll,!0),this.deps.viewportEl.removeEventListener(`contextmenu`,this.handleContextMenu),this.closeAll())}destroy(){this.unbindListeners()}closeAll(){this.clearHoverTimers(),this.hoverCell=null,this.contextMenuClose?.(),this.contextMenuClose=null,this.detachPopupHoverListeners(),this.deps.cellCommentService()?.closeEditor()}handleShiftF2(){if(this.isShortcutBlocked())return!1;let e=this.deps.cellCommentService();if(!e?.active)return!1;let t=this.deps.cellFocusService.getFocusedCell();if(!t)return!1;let n=this.resolveCellElement(t.rowId,t.colId);if(!n)return!1;let r=e.hasComment(t.rowId,t.colId),i=e.resolveInteraction(t.rowId,t.colId),a=e.getComment(t.rowId,t.colId),o=this.deps.getOptions(),s=aD(i,r,a?.readOnly===!0,o.suppressCellComments);return s?(this.closeAll(),e.openEditor({rowId:t.rowId,colId:t.colId,anchorEl:n,preferredMode:s,onPopupClose:()=>this.detachPopupHoverListeners()})):!1}handleCellClick(e,t){if(this.deps.getOptions().cellCommentTrigger!==`click`)return!1;let n=this.deps.cellCommentService();if(!n?.active)return!1;let r=this.resolveCellElement(t.rowId,t.colId);if(!r||!xx(r,e.clientX,e.clientY))return!1;let i=n.hasComment(t.rowId,t.colId),a=n.resolveInteraction(t.rowId,t.colId);if(!i)return a.canCreate?(this.closeAll(),n.openEditor({rowId:t.rowId,colId:t.colId,anchorEl:r,preferredMode:`create`,onPopupClose:()=>this.detachPopupHoverListeners()})):!1;if(!a.canView)return!1;let o=n.getOpenEditorCell();if(o?.rowId===t.rowId&&o.colId===t.colId&&n.getPopup().isOpen)return n.closeEditor(),!0;let s=n.getComment(t.rowId,t.colId),c=a.canEdit&&s?.readOnly!==!0?`edit`:`view`;return this.closeAll(),n.openEditor({rowId:t.rowId,colId:t.colId,anchorEl:r,preferredMode:c,onPopupClose:()=>this.detachPopupHoverListeners()})}handleContextMenu=e=>{if(this.isShortcutBlocked())return;let t=this.deps.cellCommentService();if(!t?.active)return;let n=Q(this.deps.rowModel,e.target);if(!n)return;let r=sD(t.resolveInteraction(n.rowId,n.colId),t.hasComment(n.rowId,n.colId));if(r.length===0)return;e.preventDefault(),e.stopPropagation(),this.closeAll();let i=this.resolveCellElement(n.rowId,n.colId);if(!i)return;let a=iD({clientX:e.clientX,clientY:e.clientY,items:r,mountEl:this.deps.mountEl,anchorEl:i,onSelect:e=>this.handleContextMenuAction(e,n.rowId,n.colId,i,t),onClose:()=>{this.contextMenuClose===a.close&&(this.contextMenuClose=null)}});this.contextMenuClose=a.close};async handleContextMenuAction(e,t,n,r,i){let a=e===`add`?`create`:e===`edit`?`edit`:e===`view`?`view`:null;return e===`remove`?i.setComment(t,n,null,`ui`):a?(i.openEditor({rowId:t,colId:n,anchorEl:r,preferredMode:a,onPopupClose:()=>this.detachPopupHoverListeners()}),!0):!1}handleViewportMouseMove=e=>{let t=this.deps.getOptions();if(Z(e.target)?.closest(`.mg-cell-comment-popup`)){this.clearHideTimer();return}let n=Q(this.deps.rowModel,e.target),r=this.deps.cellCommentService();if(!n||!r?.active){this.leaveCellHover();return}let i=this.resolveCellElement(n.rowId,n.colId);if(!i||!r.hasComment(n.rowId,n.colId)){this.leaveCellHover();return}if(!r.resolveInteraction(n.rowId,n.colId).canView){this.leaveCellHover();return}this.clearHideTimer();let a=this.hoverCell?.rowId===n.rowId&&this.hoverCell?.colId===n.colId,o=r.getOpenEditorCell(),s=r.getPopup().isOpen;if(!(a&&s&&o?.rowId===n.rowId&&o.colId===n.colId)){if(!a){this.clearHoverTimers();let e=s&&o!=null&&(o.rowId!==n.rowId||o.colId!==n.colId);if(e&&(r.closeEditor(),this.detachPopupHoverListeners()),this.hoverCell={rowId:n.rowId,colId:n.colId,anchorEl:i},e){this.openHoverPopup(n.rowId,n.colId,i,r);return}}this.showTimer??=setTimeout(()=>{this.openHoverPopup(n.rowId,n.colId,i,r)},t.cellCommentShowDelay)}};handleViewportMouseLeave=()=>{this.leaveCellHover()};leaveCellHover(){this.scheduleHide(),this.hoverCell=null}clearHideTimer(){this.hideTimer!=null&&(clearTimeout(this.hideTimer),this.hideTimer=null)}handleViewportScroll=()=>{this.syncAfterScroll()};syncAfterScroll(){let e=this.deps.cellCommentService();if(!e?.getPopup().isOpen){this.clearHoverTimers(),this.hoverCell=null;return}let t=e.getOpenEditorCell();if(!t){e.closeEditor();return}let n=this.resolveCellElement(t.rowId,t.colId);if(!n||!this.deps.viewportEl.contains(n)){this.closeAll();return}e.getPopup().updatePosition()}openHoverPopup(e,t,n,r){let i=r.getComment(e,t),a=r.resolveInteraction(e,t),o=this.deps.getOptions().cellCommentTrigger===`click`||i?.readOnly===!0||!a.canEdit?`view`:`edit`;r.openEditor({rowId:e,colId:t,anchorEl:n,preferredMode:o,onPopupClose:()=>{this.detachPopupHoverListeners(),this.scheduleHide()}}),this.attachPopupHoverListeners(r)}attachPopupHoverListeners(e){this.detachPopupHoverListeners();let t=e.getPopup().getRootEl();if(!t)return;let n=()=>{this.clearHoverTimers()},r=()=>{this.scheduleHide()};t.addEventListener(`mouseenter`,n),t.addEventListener(`mouseleave`,r),this.popupHoverListeners=()=>{t.removeEventListener(`mouseenter`,n),t.removeEventListener(`mouseleave`,r)}}detachPopupHoverListeners(){this.popupHoverListeners?.(),this.popupHoverListeners=null}scheduleHide(){this.clearHoverTimers();let e=this.deps.getOptions();this.hideTimer=setTimeout(()=>{let e=this.deps.cellCommentService();if(!e?.getPopup().isOpen){this.hoverCell=null;return}e.closeEditor(),this.hoverCell=null},e.cellCommentHideDelay)}clearHoverTimers(){this.showTimer!=null&&(clearTimeout(this.showTimer),this.showTimer=null),this.hideTimer!=null&&(clearTimeout(this.hideTimer),this.hideTimer=null)}isShortcutBlocked(){return this.deps.isEditing()}resolveCellElement(e,t){let n=this.deps.viewportEl.querySelector(`.mg-row[data-row-id="${CSS.escape(e)}"]`);return n?n.querySelector(`.mg-cell[data-col-id="${CSS.escape(t)}"]`):null}};function sD(e,t){let n=[];return!t&&e.canCreate&&n.push({id:`add`,label:`添加批注`}),t&&e.canView&&n.push({id:e.canEdit?`edit`:`view`,label:e.canEdit?`编辑批注`:`查看批注`}),t&&e.canDelete&&n.push({id:`remove`,label:`删除批注`}),n}var cD=class{ctx;focusController=null;constructor(e){this.ctx=e}bindFocusController(e){this.focusController=e}get deps(){return this.ctx.deps}getColIndex(e){return TS(this.deps.columnModel,e)}resolveRootEl(){return MS(this.deps.mountEl)}setFocusedCell(e){this.focusController?.setFocusedCell(e)}isIndexColumnEntry(e){return t.it(e)&&this.deps.columnModel.getColumnById(e)!=null}isSelectionColumnEntry(e){return t.X(e)&&this.deps.columnModel.getColumnById(e)!=null&&this.deps.selectionService!=null}isExpandColumnEntry(e){let t=this.deps.columnModel.getColumnById(e);return!t||!this.deps.rowExpansionService?.active?!1:j(t)}isGroupColumnEntry(e){let t=this.deps.columnModel.getColumnById(e);return!t||!this.deps.rowGroupingService?.active?!1:De(t)}isTreeColumnEntry(e){let t=this.deps.columnModel.getColumnById(e);return!t||!this.deps.treeTableService?.active?!1:nt(t.colId)}isSelectionHeaderMultiple(){return this.deps.selectionService?.isMultiple()??!1}canToggleHeaderSort(e){return this.ctx.isColumnResizing()||this.deps.columnDragController.shouldSuppressSortClick()||t.it(e)||t.X(e)||this.isExpandColumnEntry(e)||this.isGroupColumnEntry(e)||this.isTreeColumnEntry(e)||!this.deps.enableHeaderSortClick()?!1:this.deps.columnModel.getColumnById(e)?.sortable??!1}applyIndexFocus(e,t,n,r={}){!this.deps.indexFocusService||!this.isIndexColumnEntry(n)||(this.deps.indexFocusService.selectRow(e,t,e=>this.deps.rowModel.getRow(e)?.id,r),this.deps.applyIndexFocusVisuals(),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()}),this.syncCellRangeFromIndexFocus(t))}syncCellRangeFromIndexFocus(e){this.ctx.cellRangeInteraction.syncFromIndexFocus(e)}clearCellRangesOnRowSelectionInteraction(){this.ctx.cellRangeInteraction.tryClearOnNonRangeTargetClick()}applyRowSelection(e,t,n,r={}){if(!this.deps.selectionService||!this.isSelectionColumnEntry(n))return;this.clearCellRangesOnRowSelectionInteraction();let i=this.deps.rowModel.getRow(t);!i||!this.deps.isRowNodeSelectable(i)||(this.deps.selectionService.selectRow(e,t,e=>this.deps.getSelectableRowIdAt(e),{...r,rangeSelection:r.shiftKey?this.buildSelectionRangeOptions():void 0}),this.deps.handleInteractiveRowSelection?.(e,t),this.deps.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`ui`}))}applyRowExpansionToggle(e,t,n){if(!this.deps.rowExpansionService?.active||!this.isExpandColumnEntry(n))return;let r=this.deps.rowModel.getRow(t);!r||L(r)||!this.deps.rowExpansionService.isRowMaster(r)||this.deps.rowExpansionService.toggleRow(e,`ui`)}applyRowGroupingToggle(e,t,n){if(!this.deps.rowGroupingService?.active||!this.isGroupColumnEntry(n))return;let r=this.deps.rowModel.getRow(t);if(!r||!Ve(r))return;let i=r.sourceGroupId??Be(r.id)??r.groupId;i&&this.deps.rowGroupingService.toggleGroup(i,`ui`)}applyTreeTableToggle(e,t,n){if(!this.deps.treeTableService?.active||!this.isTreeColumnEntry(n))return;let r=this.deps.rowModel.getRow(t),i=this.deps.isTreeNodeExpandable?.(r)??(r!=null&&r.treeLeaf!==!0);if(!(!r||!B(r)||!i)){if(this.deps.requestTreeNodeToggle){this.deps.requestTreeNodeToggle(e,`ui`);return}this.deps.treeTableService.toggleNode(e,`ui`)}}applyTreeHeaderToggle(){let e=this.deps.treeTableService;if(e?.active){if(e.isAllExpandableNodesExpanded()){e.collapseAll();return}e.expandAll(`ui`)}}applyTreeHierarchyShortcut(e,t){this.deps.applyTreeHierarchyShortcut(e,t)}toggleTreeHierarchyMenu(e,t){this.deps.toggleTreeHierarchyMenu(e,t)}closeTreeHierarchyMenu(){this.deps.closeTreeHierarchyMenu()}buildSelectionRangeOptions(){return{rowCount:this.deps.rowModel.getRowCount(),getAllRowIdAt:e=>this.deps.rowModel.getRow(e)?.id}}toggleSelectAllVisibleRows(){if(!this.deps.selectionService)return;let e=this.deps.rowModel.getRowCount();this.deps.selectionService.toggleSelectAllVisibleRows(e,e=>this.deps.getSelectableRowIdAt(e))&&(this.clearCellRangesOnRowSelectionInteraction(),this.deps.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`ui`}))}clearIndexFocusState(){this.deps.indexFocusService&&this.deps.indexFocusService.getFocusedRowIds().length!==0&&(this.deps.indexFocusService.clear(),this.deps.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()}),this.syncCellRangeFromIndexFocus())}clearIndexFocusIfNeeded(e){this.isIndexColumnEntry(e)||this.clearIndexFocusState()}};function lD(e){let t=Z(e);return!t||!!t.closest([`.mg-header-cell__resize-handle`,`.mg-header-cell__column-handle`,`.mg-header-cell__sort`,`.mg-floating-filter-button`,`.${Ip}`].join(`, `))}var uD=class{ctx;suppressHeaderSortClick=!1;constructor(e){this.ctx=e}handleHeaderMouseDown=e=>{if(e.button!==0)return;let t=AS(this.ctx.deps.columnModel,e.target);if(!t)return;if(OS(e.target)){e.preventDefault(),e.stopPropagation();return}this.ctx.host.clearIndexFocusState();let n=this.ctx.host.isSelectionColumnEntry(t.colId)&&this.ctx.deps.selectionService?.isMultiple(),r=jS(e.target),i=this.ctx.deps.columnModel.getColumnById(t.colId);if(this.ctx.focusController.isHeaderNavigationEnabled()?(e.preventDefault(),e.stopPropagation(),this.ctx.host.canToggleHeaderSort(t.colId)||this.ctx.host.setFocusedCell({rowId:Nf,colId:t.colId,rowIndex:-1,colIndex:t.colIndex}),n&&this.ctx.host.toggleSelectAllVisibleRows(),this.ctx.deps.viewportEl.focus()):n&&(e.preventDefault(),e.stopPropagation(),this.ctx.host.toggleSelectAllVisibleRows()),this.ctx.columnHeaderDragSession.isActive()&&this.ctx.columnHeaderDragSession.end(!1),this.ctx.columnHeaderDragSession.canStart(i,e.target,this.ctx.indexSelectionDragSession.isActive()||this.ctx.columnResizeSession.isActive()||this.ctx.rowResizeSession.isActive())&&r){e.preventDefault(),e.stopPropagation(),this.ctx.deps.clearCellSelection?.(),this.ctx.columnHeaderDragSession.begin({colId:t.colId,sourceCell:r,clientX:e.clientX,clientY:e.clientY});return}if(this.ctx.columnResizeSession.canStart(i,e.target,this.ctx.indexSelectionDragSession.isActive()||this.ctx.columnHeaderDragSession.isActive()||this.ctx.rowResizeSession.isActive())&&r){e.preventDefault(),e.stopPropagation(),this.ctx.columnResizeSession.begin({colId:t.colId,sourceCell:r,event:e});return}if(!this.shouldHeaderClickSortAndSelectColumn(t.colId)&&!lD(e.target)&&this.tryApplyHeaderColumnSelection(t.colId,t.colIndex)){e.preventDefault(),e.stopPropagation(),this.suppressHeaderSortClick=!0;return}};handleHeaderDblClick=e=>{if(e.button!==0||!Z(e.target)?.closest(`.mg-header-cell__resize-handle`))return;let t=AS(this.ctx.deps.columnModel,e.target);if(!t)return;let n=this.ctx.deps.columnModel.getColumnById(t.colId);!n?.resizable||n.suppressAutoSize||(e.preventDefault(),e.stopPropagation(),this.ctx.deps.autoSizeColumn(t.colId,`uiColumnResized`))};handleHeaderClick=e=>{if(e.button!==0)return;if(this.ctx.columnResizeSession.isActive()){e.preventDefault(),e.stopPropagation();return}if(this.suppressHeaderSortClick){this.suppressHeaderSortClick=!1,e.preventDefault(),e.stopPropagation();return}if(Z(e.target)?.closest(`.mg-selection-checkbox--header`))return;let t=AS(this.ctx.deps.columnModel,e.target);if(!t)return;if(OS(e.target)){e.preventDefault(),e.stopPropagation(),this.ctx.host.applyTreeHeaderToggle();return}let n=DS(e.target);if(n){if(this.ctx.getSuppressColumnHandleClick()){this.ctx.setSuppressColumnHandleClick(!1),e.preventDefault(),e.stopPropagation();return}e.preventDefault(),e.stopPropagation(),this.ctx.deps.columnHandleMenuController.toggle({colId:t.colId,handleEl:n});return}if(!this.ctx.host.canToggleHeaderSort(t.colId)){this.ctx.deps.columnDragController.shouldSuppressSortClick()&&(e.preventDefault(),e.stopPropagation());return}e.preventDefault(),e.stopPropagation(),this.ctx.deps.toggleHeaderSort(t.colId),this.shouldHeaderClickSortAndSelectColumn(t.colId)&&this.tryApplyHeaderColumnSelection(t.colId,t.colIndex)};handleFloatingFilterClick=e=>{let t=kS(e.target);if(!t)return;let n=t.closest(`.mg-floating-filter-cell[data-col-id]`)?.dataset.colId;n&&(e.preventDefault(),e.stopPropagation(),this.ctx.deps.columnHandleMenuController.toggle({colId:n,handleEl:t,mode:`filter-only`}))};handleFooterMouseDown=e=>{if(e.button!==0)return;let t=ES(this.ctx.deps.columnModel,e.target);t&&(this.ctx.host.clearIndexFocusState(),this.ctx.focusController.isFooterNavigationEnabled()&&(e.preventDefault(),e.stopPropagation(),this.ctx.host.setFocusedCell({rowId:Pf,colId:t.colId,rowIndex:-2,colIndex:t.colIndex}),this.ctx.deps.viewportEl.focus()))};bind(e){e.addEventListener(`mousedown`,this.handleHeaderMouseDown,!0),e.addEventListener(`dblclick`,this.handleHeaderDblClick,!0),e.addEventListener(`click`,this.handleHeaderClick,!0),e.addEventListener(`click`,this.handleFloatingFilterClick,!0),e.addEventListener(`mousedown`,this.handleFooterMouseDown,!0)}unbind(e){e.removeEventListener(`mousedown`,this.handleHeaderMouseDown,!0),e.removeEventListener(`dblclick`,this.handleHeaderDblClick,!0),e.removeEventListener(`click`,this.handleHeaderClick,!0),e.removeEventListener(`click`,this.handleFloatingFilterClick,!0),e.removeEventListener(`mousedown`,this.handleFooterMouseDown,!0)}shouldHeaderClickSortAndSelectColumn(e){return!this.ctx.deps.isCellSelectionEnabled?.()||!this.ctx.deps.getCellSelectionOptions?.().enableColumnSelection?!1:this.ctx.host.canToggleHeaderSort(e)}tryApplyHeaderColumnSelection(e,t){if(!this.ctx.cellRangeInteraction.tryHeaderColumnSelection(e))return!1;let n=this.ctx.deps.rowModel.getRow(0);return n&&this.ctx.host.setFocusedCell({rowId:n.id,colId:e,rowIndex:0,colIndex:t}),!0}},dD=class{ctx;pendingSingleClickGesture=null;clearPendingSingleClickGesture=null;consumedPointerUpCellAction=null;constructor(e){this.ctx=e}handleCellMouseDown=async e=>{if(e.button!==0)return;if(this.clearPendingSingleClickGesture?.(),this.clearPendingSingleClickGesture=null,this.pendingSingleClickGesture=null,this.consumedPointerUpCellAction=null,e.target instanceof Element&&e.target.closest(`.mg-range-handle`)){if(e.preventDefault(),e.stopPropagation(),this.ctx.deps.isCommitting()&&await this.ctx.deps.awaitCommitIdle(),this.ctx.deps.isEditing()&&(await this.ctx.deps.commitEditing(),this.ctx.deps.isEditing()))return;this.ctx.rangeHandleSession.begin(e.clientX,e.clientY);return}if(e.target instanceof Element&&e.target.closest(`.mg-fill-handle`)){if(e.preventDefault(),e.stopPropagation(),this.ctx.deps.isCommitting()&&await this.ctx.deps.awaitCommitIdle(),this.ctx.deps.isEditing()&&(await this.ctx.deps.commitEditing(),this.ctx.deps.isEditing()))return;this.ctx.fillHandleSession.begin(e.clientX,e.clientY);return}if(this.ctx.fillHandleSession.isActive()||this.ctx.rangeHandleSession.isActive()||this.ctx.columnHeaderDragSession.isActive()||this.ctx.columnResizeSession.isActive()||this.ctx.rowResizeSession.isActive()||this.ctx.rowDragSession.isActive())return;let t=Q(this.ctx.deps.rowModel,e.target);if(t&&Ph(e.target)){if(this.ctx.deps.isRowDragCommitting?.())return;if(e.preventDefault(),e.stopPropagation(),this.ctx.host.isTreeColumnEntry(t.colId)){let n=Ph(e.target);n&&this.ctx.host.toggleTreeHierarchyMenu(t.rowId,n)}this.ctx.host.setFocusedCell({rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,colIndex:this.ctx.host.getColIndex(t.colId)}),this.ctx.deps.viewportEl.focus({preventScroll:!0});return}if(e.target instanceof Element&&e.target.closest(`.mg-column-settings-menu`)){e.preventDefault(),e.stopPropagation();return}if(t&&!this.ctx.host.isIndexColumnEntry(t.colId)&&this.ctx.host.clearIndexFocusState(),t&&this.ctx.focusController.isGroupOrTreeExpandClickTarget(e.target)){e.preventDefault(),e.stopPropagation(),this.ctx.host.isGroupColumnEntry(t.colId)?this.ctx.host.applyRowGroupingToggle(t.rowId,t.rowIndex,t.colId):this.ctx.host.isTreeColumnEntry(t.colId)&&this.ctx.host.applyTreeTableToggle(t.rowId,t.rowIndex,t.colId),this.ctx.host.setFocusedCell({rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,colIndex:this.ctx.host.getColIndex(t.colId)}),this.ctx.deps.viewportEl.focus({preventScroll:!0});return}if(t&&this.ctx.rowResizeSession.canStart(t.colId,e.target,this.ctx.indexSelectionDragSession.isActive()||this.ctx.rowDragSession.isActive())){let n=Z(e.target)?.closest(`.mg-cell`);if(n){e.preventDefault(),e.stopPropagation(),this.ctx.rowResizeSession.begin({rowId:t.rowId,sourceCell:n,event:e});return}}if(t&&this.ctx.rowDragSession.canStart(t.colId,e.target,this.ctx.indexSelectionDragSession.isActive()||this.ctx.columnHeaderDragSession.isActive()||this.ctx.columnResizeSession.isActive())){let n=Z(e.target)?.closest(`.mg-cell`);if(n){e.preventDefault(),e.stopPropagation(),this.ctx.rowDragSession.begin({rowId:t.rowId,sourceCell:n,clientX:e.clientX,clientY:e.clientY});return}}let n=t?this.resolveColumnDragKind(t.colId,e):null;if(t!=null&&n!=null&&!this.ctx.deps.isCommitting()&&!this.ctx.deps.isEditing()&&t&&n){e.preventDefault(),this.emitCellClicked(t),this.ctx.indexSelectionDragSession.begin({kind:n,anchorRowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,clientY:e.clientY,ctrlKey:e.ctrlKey||e.metaKey});return}let r=!1;if(t&&this.ctx.deps.isCellSelectionEnabled?.()&&!mn(this.ctx.deps.editBehavior)&&this.ctx.deps.isEditing()&&(!this.isSameEditingTarget(t)&&this.shouldSchedulePointerUpWhileEditingSwitch(t,e)&&(this.scheduleSingleClickEditingAfterPointerDown(t),r=!0),!await this.commitEditingForCellRangeInteraction(t,e))||t&&this.tryBeginCellRangeDragFromMouseDown(t,e,`replace`,r)||t&&this.tryBeginCellRangeDragFromMouseDown(t,e,`append`,r))return;if(t&&this.ctx.cellRangeInteraction.tryHandleModifierMouseDown(t,e)){this.emitCellClicked(t),this.ctx.host.clearIndexFocusIfNeeded(t.colId),this.ctx.host.setFocusedCell({rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,colIndex:this.ctx.host.getColIndex(t.colId)}),this.ctx.deps.viewportEl.focus({preventScroll:!0});return}this.ctx.deps.isCommitting()&&(e.preventDefault(),await this.ctx.deps.awaitCommitIdle());let i=Q(this.ctx.deps.rowModel,e.target);if(this.ctx.deps.isEditing()){this.ctx.deps.cancelPendingBlurCommit();let t=i,n=this.resolveCellTargetUnderPointer(e);if(t&&!this.isSameEditingTarget(t)?i=t:n&&(i=n),i&&this.isSameEditingTarget(i)&&Qd(e.target)||Qd(e.target)&&!i)return}if(this.ctx.deps.isEditing()&&(i&&this.isSameEditingTarget(i)||(i&&(this.scheduleSingleClickEditingAfterPointerDown(i),r=!0),await this.ctx.deps.commitEditing(),this.ctx.deps.isEditing())))return;if(!i){this.ctx.host.clearIndexFocusState(),this.ctx.cellRangeInteraction.tryClearOnBlankViewportClick();return}let{rowId:a,colId:o,rowIndex:s}=i;(this.ctx.host.isExpandColumnEntry(o)||this.ctx.host.isGroupColumnEntry(o)||this.ctx.host.isTreeColumnEntry(o)||this.ctx.host.isSelectionColumnEntry(o)||e.shiftKey||e.ctrlKey||e.metaKey)&&e.preventDefault(),this.emitCellClicked(i),this.ctx.host.isIndexColumnEntry(o)?this.ctx.host.applyIndexFocus(a,s,o,{ctrlKey:e.ctrlKey||e.metaKey,shiftKey:e.shiftKey,toggleOnReselect:!0}):(this.ctx.host.clearIndexFocusIfNeeded(o),this.ctx.host.isExpandColumnEntry(o)?this.ctx.host.applyRowExpansionToggle(a,s,o):this.ctx.host.isSelectionColumnEntry(o)&&this.ctx.host.applyRowSelection(a,s,o,{ctrlKey:e.ctrlKey||e.metaKey,shiftKey:e.shiftKey,toggleOnReselect:!0})),this.ctx.host.setFocusedCell({rowId:a,colId:o,rowIndex:s,colIndex:this.ctx.host.getColIndex(o)}),this.shouldDeferViewportChromeFocus(i,r)||this.ctx.deps.viewportEl.focus({preventScroll:!0}),!r&&this.isOverlaySingleClickEditableColumn(i)&&this.scheduleSingleClickEditingAfterPointerDown(i)};handleCellClick=async e=>{if(e.button!==0||(this.ctx.deps.isCommitting()&&(e.preventDefault(),await this.ctx.deps.awaitCommitIdle()),e.ctrlKey||e.metaKey||e.shiftKey))return;if(this.ctx.getSuppressColumnClick()){this.ctx.setSuppressColumnClick(!1);return}let t=Q(this.ctx.deps.rowModel,e.target);if(t&&(this.emitRowPointerEvent(`rowClicked`,t),this.ctx.cellRangeInteraction.tryClearOnPlainClick(t),!this.consumePointerUpCellActionIfMatched(t))){if(this.ctx.deps.isEditing()){if(e.target instanceof Element&&Qd(e.target))return this.ctx.cellCommentSession?.handleCellClick(e,t),void 0;if(this.ctx.deps.isBlurCommitDeferred()||mn(this.ctx.deps.editBehavior)&&this.isSameRowId(this.ctx.deps.getEditingRowId(),t.rowId)&&t.colId!==this.ctx.deps.getEditingCell()?.colId&&this.ctx.deps.focusRowEditingColumn?.(t.colId))return;if(this.isSameEditingTarget(t))return this.ctx.cellCommentSession?.handleCellClick(e,t),void 0;if(await this.ctx.deps.commitEditing(),this.ctx.deps.isEditing())return}this.ctx.focusController.focusCellTarget(t),!this.ctx.cellCommentSession?.handleCellClick(e,t)&&this.maybeStartSingleClickEditing(e,t)}};handleCellDoubleClick=async e=>{if(e.button!==0||(this.ctx.deps.isCommitting()&&(e.preventDefault(),await this.ctx.deps.awaitCommitIdle()),e.ctrlKey||e.metaKey||e.shiftKey))return;let n=Q(this.ctx.deps.rowModel,e.target);if(!n||(this.emitRowPointerEvent(`rowDoubleClicked`,n),this.ctx.deps.isEditing()&&(this.isSameEditingTarget(n)||(await this.ctx.deps.commitEditing(),this.ctx.deps.isEditing()))))return;this.ctx.focusController.focusCellTarget(n);let r=this.ctx.deps.columnModel.getColumnById(n.colId);if(mn(this.ctx.deps.editBehavior)){if(!r||fn(r,this.ctx.deps.editType)!==`doubleClick`)return;this.ctx.cellCommentSession?.closeAll(),this.ctx.deps.tryStartRowEditing(n);return}!r||fn(r,this.ctx.deps.editType)!==`doubleClick`||t.V(r)||(this.ctx.cellCommentSession?.closeAll(),this.ctx.deps.tryStartCellEditing(n))};bind(e){e.addEventListener(`mousedown`,this.handleCellMouseDown,!0),e.addEventListener(`click`,this.handleCellClick),e.addEventListener(`dblclick`,this.handleCellDoubleClick)}unbind(e){e.removeEventListener(`mousedown`,this.handleCellMouseDown,!0),e.removeEventListener(`click`,this.handleCellClick),e.removeEventListener(`dblclick`,this.handleCellDoubleClick)}tryBeginCellRangeDragFromMouseDown(e,t,n,r){return r||this.shouldSkipCellRangeDragForInlineToggleWhileEditing(e,t)||!this.ctx.cellRangeDragSession.canStart(e,t,n)?!1:(t.preventDefault(),this.ctx.host.clearIndexFocusIfNeeded(e.colId),this.emitCellClicked(e),this.ctx.cellRangeDragSession.begin({anchorRowId:e.rowId,anchorColId:e.colId,anchorRowIndex:e.rowIndex,clientX:t.clientX,clientY:t.clientY,mode:n}),!0)}async commitEditingForCellRangeInteraction(e,t){if(!this.ctx.deps.isEditing()||this.isSameEditingTarget(e))return!0;let n=Q(this.ctx.deps.rowModel,t.target);return n&&this.isSameEditingTarget(n)&&t.target instanceof Element&&Qd(t.target)?!0:(this.ctx.deps.isCommitting()&&await this.ctx.deps.awaitCommitIdle(),await this.ctx.deps.commitEditing(),!this.ctx.deps.isEditing())}resolveCellTargetUnderPointer(e){if(typeof document.elementsFromPoint!=`function`)return null;for(let t of document.elementsFromPoint(e.clientX,e.clientY)){let e=Q(this.ctx.deps.rowModel,t);if(e&&!(this.ctx.deps.isEditing()&&this.isSameEditingTarget(e)))return e}return null}resolveCellTargetByIds(e,t){let n=this.ctx.deps.mountEl.querySelector(`.mg-row[data-row-id="${this.escapeCssAttr(String(e))}"]`);if(!n)return null;let r=n.querySelector(`.mg-cell[data-col-id="${this.escapeCssAttr(t)}"]`);return r?Q(this.ctx.deps.rowModel,r):null}escapeCssAttr(e){return typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}async completeSingleClickEditingGesture(e,n,r){if(e.button!==0)return;this.ctx.deps.isCommitting()&&await this.ctx.deps.awaitCommitIdle();let i=this.resolveAnchoredCellTargetAtPointer(e,n,r)??this.resolveCellTargetByIds(n,r);if(!i)return;this.ctx.deps.isEditing()&&!this.isSameEditingTarget(i)&&await this.ctx.deps.commitEditing();let a=this.ctx.deps.columnModel.getColumnById(i.colId);if(a&&t.V(a)&&hf(a.cellEditor)&&V(a,i.rowNode)){this.ctx.focusController.focusCellTarget(i),this.ctx.focusController.isInlineToggleClickTarget(e.target)||this.ctx.focusController.toggleInlineToggleAtCell(i.rowId,i.colId,i.rowIndex),this.markPointerUpCellActionConsumed(i);return}this.ctx.focusController.focusCellTarget(i),this.maybeStartSingleClickEditing(e,i),this.markPointerUpCellActionConsumedWhenEditing(i)}resolveAnchoredCellTargetAtPointer(e,t,n){let r=String(t);if(typeof document.elementsFromPoint==`function`)for(let t of document.elementsFromPoint(e.clientX,e.clientY)){let e=Q(this.ctx.deps.rowModel,t);if(e&&String(e.rowId)===r&&e.colId===n)return e}let i=Q(this.ctx.deps.rowModel,e.target);return i&&String(i.rowId)===r&&i.colId===n?i:null}scheduleSingleClickEditingAfterPointerDown(e){this.clearPendingSingleClickGesture?.(),this.ctx.deps.deferBlurCommitDuringPointerGesture();let t=Symbol(`single-click-edit`);this.pendingSingleClickGesture=t;let n=e.rowId,r=e.colId,i=NS(this.ctx.deps.viewportEl),a=e=>{this.pendingSingleClickGesture===t&&e.button===0&&(this.pendingSingleClickGesture=null,this.clearPendingSingleClickGesture=null,i.removeEventListener(`mouseup`,a,!0),i.removeEventListener(`pointerup`,a,!0),this.completeSingleClickEditingGesture(e,n,r))};i.addEventListener(`mouseup`,a,{capture:!0}),i.addEventListener(`pointerup`,a,{capture:!0}),this.clearPendingSingleClickGesture=()=>{i.removeEventListener(`mouseup`,a,!0),i.removeEventListener(`pointerup`,a,!0)}}shouldSchedulePointerUpWhileEditingSwitch(e,t){return this.isOverlaySingleClickEditableColumn(e)||this.shouldSkipCellRangeDragForInlineToggleWhileEditing(e,t)}shouldDeferViewportChromeFocus(e,t){return t||this.isOverlaySingleClickEditableColumn(e)}isOverlaySingleClickEditableColumn(e){if(mn(this.ctx.deps.editBehavior))return!1;let n=this.ctx.deps.columnModel.getColumnById(e.colId);return!n||t.V(n)||fn(n,this.ctx.deps.editType)!==`singleClick`?!1:V(n,e.rowNode)}shouldSkipCellRangeDragForInlineToggleWhileEditing(e,n){if(!this.ctx.deps.isEditing()||n.shiftKey||n.ctrlKey||n.metaKey||this.ctx.focusController.isInlineToggleClickTarget(n.target))return!1;let r=this.ctx.deps.columnModel.getColumnById(e.colId);return!r||!t.V(r)||!hf(r.cellEditor)?!1:V(r,e.rowNode)}markPointerUpCellActionConsumed(e){this.consumedPointerUpCellAction={rowId:String(e.rowId),colId:e.colId}}markPointerUpCellActionConsumedWhenEditing(e){let t=()=>{this.ctx.deps.isEditing()&&this.isSameEditingTarget(e)&&this.markPointerUpCellActionConsumed(e)};t(),this.consumedPointerUpCellAction||requestAnimationFrame(t)}consumePointerUpCellActionIfMatched(e){let t=this.consumedPointerUpCellAction;return!t||String(e.rowId)!==t.rowId||e.colId!==t.colId?!1:(this.consumedPointerUpCellAction=null,!0)}maybeStartSingleClickEditing(e,n){if(e.ctrlKey||e.metaKey||e.shiftKey||this.ctx.deps.isEditing()&&(mn(this.ctx.deps.editBehavior)&&this.isSameRowId(this.ctx.deps.getEditingRowId(),n.rowId)&&n.colId!==this.ctx.deps.getEditingCell()?.colId&&this.ctx.deps.focusRowEditingColumn?.(n.colId)||this.isSameEditingTarget(n)))return;if(mn(this.ctx.deps.editBehavior)){let e=this.ctx.deps.columnModel.getColumnById(n.colId);if(!e||fn(e,this.ctx.deps.editType)!==`singleClick`)return;this.ctx.cellCommentSession?.closeAll(),this.ctx.deps.tryStartRowEditing(n);return}let r=this.ctx.deps.columnModel.getColumnById(n.colId);if(r){if(t.V(r)){(r.cellEditor===`checkbox`||r.cellEditor===`switch`)&&!this.ctx.focusController.isInlineToggleClickTarget(e.target)&&this.ctx.focusController.toggleInlineToggleAtCell(n.rowId,n.colId,n.rowIndex);return}fn(r,this.ctx.deps.editType)===`singleClick`&&(this.ctx.cellCommentSession?.closeAll(),this.ctx.deps.tryStartCellEditing(n))}}isSameRowId(e,t){return e==null||t==null?!1:String(e)===String(t)}isSameEditingTarget(e){if(!this.ctx.deps.isEditing())return!1;if(mn(this.ctx.deps.editBehavior))return this.isSameRowId(this.ctx.deps.getEditingRowId(),e.rowId);let t=this.ctx.deps.getEditingCell();return t?this.isSameRowId(t.rowId,e.rowId)&&t.colId===e.colId:!1}buildCellClickedPayload(e){let t=this.ctx.deps.columnModel.getColumnById(e.colId),n=t?H(e.rowNode,t):e.rowNode.data[e.colId];return{rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,rowNode:e.rowNode,value:n}}emitCellClicked(e){this.ctx.deps.eventBus.emit(`cellClicked`,this.buildCellClickedPayload(e))}emitRowPointerEvent(e,t){z(t.rowNode)&&this.ctx.deps.eventBus.emit(e,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:t.rowNode})}resolveColumnDragKind(e,t){if(t.shiftKey)return null;let n=Z(t.target);return n?.closest(`.mg-cell__row-resize-handle`)||n?.closest(`.mg-cell__row-drag-handle`)?null:this.ctx.host.isIndexColumnEntry(e)&&this.ctx.deps.indexFocusService?.isMultiple()?`index`:this.ctx.host.isSelectionColumnEntry(e)&&this.ctx.deps.selectionService?.isMultiple()?`selection`:null}},fD=class{ctx;constructor(e){this.ctx=e}handleViewportKeyDown=e=>{if(e.key===`Escape`&&this.ctx.deps.isCommitting()){e.preventDefault(),this.ctx.deps.cancelCommit();return}if(this.ctx.deps.isEditing())return;if(e.key===`F2`&&e.shiftKey){this.ctx.cellCommentSession?.handleShiftF2()&&e.preventDefault();return}let t=this.ctx.focusController.keyToFocusDirection(e.key);if(t){if(e.preventDefault(),e.altKey&&(t===`left`||t===`right`)&&this.ctx.columnResizeSession.tryKeyboardResize(t,e.shiftKey)||e.shiftKey&&(t===`left`||t===`right`)&&this.ctx.focusController.tryMoveFocusedHeaderColumn(t))return;let n=this.ctx.cellRangeInteraction.onArrowKey(t,e.shiftKey);e.ctrlKey||e.metaKey?this.ctx.focusController.navigateFocusToEdge(t):this.ctx.focusController.navigateFocus(t),n&&!e.shiftKey&&this.ctx.cellRangeInteraction.selectFocusedCellRange();return}if(e.key===`Delete`||e.key===`Backspace`){this.ctx.cellRangeInteraction.handleDeleteKey()&&e.preventDefault();return}if((e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&e.key.toLowerCase()===`c`){this.ctx.deps.copyCellSelectionToClipboard?.()&&e.preventDefault();return}if((e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&e.key.toLowerCase()===`v`){this.ctx.deps.isCellSelectionEnabled?.()&&this.ctx.deps.getCellSelectionOptions?.().enableCellPaste&&(e.preventDefault(),this.ctx.deps.pasteCellSelectionFromClipboard?.());return}if(e.key===`Enter`){if(e.preventDefault(),this.ctx.focusController.toggleHeaderSortFromFocus()||this.ctx.focusController.toggleHeaderSelectionFromFocus()||this.ctx.focusController.toggleIndexFocusFromFocus()||this.ctx.focusController.toggleRowExpandFromFocus()||this.ctx.focusController.toggleRowGroupFromFocus()||this.ctx.focusController.toggleTreeTableFromFocus()||this.ctx.focusController.toggleRowSelectionFromFocus())return;this.ctx.cellCommentSession?.closeAll(),this.ctx.focusController.startEditingFocusedCell();return}if(e.key===` `||e.code===`Space`){if(e.preventDefault(),this.ctx.focusController.toggleHeaderSortFromFocus()||this.ctx.focusController.toggleHeaderSelectionFromFocus()||this.ctx.focusController.toggleIndexFocusFromFocus()||this.ctx.focusController.toggleInlineEditorFromFocus()||this.ctx.focusController.toggleRowExpandFromFocus()||this.ctx.focusController.toggleRowGroupFromFocus()||this.ctx.focusController.toggleTreeTableFromFocus())return;this.ctx.focusController.toggleRowSelectionFromFocus();return}e.key===`Tab`&&(e.preventDefault(),this.ctx.focusController.navigateEditableTab(e.shiftKey))};handleViewportKeyUp=e=>{this.ctx.columnResizeSession.handleKeyUp(e)};handleMountWheel=e=>{(e.ctrlKey||e.metaKey)&&e.preventDefault()};bind(e,t){e.addEventListener(`wheel`,this.handleMountWheel,{passive:!1,capture:!0}),t.addEventListener(`keydown`,this.handleViewportKeyDown),t.addEventListener(`keyup`,this.handleViewportKeyUp)}unbind(e,t){e.removeEventListener(`wheel`,this.handleMountWheel,!0),t.removeEventListener(`keydown`,this.handleViewportKeyDown),t.removeEventListener(`keyup`,this.handleViewportKeyUp)}};function pD(e){return e.getCellRangeOperationContext??(()=>({displayedColIds:e.columnModel.getDisplayedColumnIdsInLaneOrder()}))}function mD(e){return e.getCellSelectionOptions??(()=>({enabled:!1,suppressMultiRanges:!0,enableColumnSelection:!1,enableCellCopy:!1,enableCellPaste:!1,handle:null}))}function hD(e,t){return{getColIndex:t=>e.getColIndex(t),resolveRootEl:()=>e.resolveRootEl(),setFocusedCell:t=>e.setFocusedCell(t),setSuppressColumnClick:e=>t.setSuppressColumnClick(e),setSuppressColumnHandleClick:e=>t.setSuppressColumnHandleClick(e),isIndexColumnEntry:t=>e.isIndexColumnEntry(t),isSelectionColumnEntry:t=>e.isSelectionColumnEntry(t),applyIndexFocus:(t,n,r,i)=>e.applyIndexFocus(t,n,r,i),applyRowSelection:(t,n,r,i)=>e.applyRowSelection(t,n,r,i),clearCellRangesOnRowSelectionInteraction:()=>e.clearCellRangesOnRowSelectionInteraction(),applyRowExpansionToggle:(t,n,r)=>e.applyRowExpansionToggle(t,n,r),applyRowGroupingToggle:(t,n,r)=>e.applyRowGroupingToggle(t,n,r),applyTreeTableToggle:(t,n,r)=>e.applyTreeTableToggle(t,n,r),applyTreeHierarchyShortcut:(t,n)=>e.applyTreeHierarchyShortcut(t,n),toggleTreeHierarchyMenu:(t,n)=>e.toggleTreeHierarchyMenu(t,n),closeTreeHierarchyMenu:()=>e.closeTreeHierarchyMenu(),syncCellRangeFromIndexFocus:t=>e.syncCellRangeFromIndexFocus(t),isExpandColumnEntry:t=>e.isExpandColumnEntry(t),isGroupColumnEntry:t=>e.isGroupColumnEntry(t),isTreeColumnEntry:t=>e.isTreeColumnEntry(t),buildSelectionRangeOptions:()=>e.buildSelectionRangeOptions()}}var gD=class{deps;suppressColumnClick=!1;suppressColumnHandleClick=!1;sessionHost;hostActions;focusController;columnResizeSession;columnHeaderDragSession;indexSelectionDragSession;cellRangeDragSession;fillHandleSession;rangeHandleSession;cellRangeInteraction;rowResizeSession;rowDragSession;cellCommentSession;overflowTooltipSession;headerHandlers;cellBodyHandlers;keyboardHandlers;constructor(e){this.deps=e,this.columnResizeSession=new vE({mountEl:e.mountEl,columnModel:e.columnModel,columnHandleMenuController:e.columnHandleMenuController,cellFocusService:e.cellFocusService,setColumnWidths:e.setColumnWidths,resizeHeaderColumn:e.resizeHeaderColumn});let t=pD(e),n=mD(e);this.cellRangeInteraction=new HE({getCellRangeService:e.getCellRangeService??(()=>null),cellFocusService:e.cellFocusService,columnModel:e.columnModel,rowModel:e.rowModel,getCellSpanService:()=>e.cellSpanService,isCellSelectionEnabled:e.isCellSelectionEnabled??(()=>!1),getCellSelectionOptions:e.getCellSelectionOptions,getCellRangeOperationContext:t,applyCellRangeVisuals:e.applyCellRangeVisuals??(()=>{}),emitCellSelectionChanged:e.emitCellSelectionChanged??(()=>{}),handleCellSelectionDeleteKey:e.handleCellSelectionDeleteKey,getFocusChromeNavigation:()=>({headerEnabled:e.navigateHeader(),footerEnabled:e.navigateFooter()&&e.showSummary()}),isEditing:e.isEditing,isCommitting:e.isCommitting,showIndexColumn:()=>e.indexColumnOptions.showIndexColumn,getIndexFocusedRowIds:()=>e.indexFocusService?.getFocusedRowIds()??[]}),this.hostActions=new cD({deps:e,cellRangeInteraction:this.cellRangeInteraction,isColumnResizing:()=>this.columnResizeSession.isActive()}),this.focusController=new yE({mountEl:e.mountEl,rowModel:e.rowModel,columnModel:e.columnModel,rowRenderer:e.rowRenderer,eventBus:e.eventBus,cellFocusService:e.cellFocusService,editBehavior:e.editBehavior,editType:e.editType,ensureIndexVisible:e.ensureIndexVisible,ensureColumnVisible:e.ensureColumnVisible,redrawImmediately:e.redrawImmediately,tryStartCellEditing:e.tryStartCellEditing,tryStartRowEditing:e.tryStartRowEditing,navigateHeader:e.navigateHeader,navigateFooter:e.navigateFooter,showSummary:e.showSummary,cellSpanService:()=>e.cellSpanService,getCellDisableContext:e.getCellDisableContext,toggleHeaderSort:e.toggleHeaderSort,moveColumn:e.moveColumn,syncCellRangeHighlightVisuals:e.applyCellRangeVisuals??(()=>{}),isCellSelectionEnabled:e.isCellSelectionEnabled??(()=>!1),selectFocusedCellRange:()=>this.cellRangeInteraction.selectFocusedCellRange()},this.hostActions),this.hostActions.bindFocusController(this.focusController),this.sessionHost=hD(this.hostActions,{getSuppressColumnClick:()=>this.suppressColumnClick,setSuppressColumnClick:e=>{this.suppressColumnClick=e},getSuppressColumnHandleClick:()=>this.suppressColumnHandleClick,setSuppressColumnHandleClick:e=>{this.suppressColumnHandleClick=e}}),this.columnHeaderDragSession=new hE({mountEl:e.mountEl,viewportEl:e.viewportEl,headerViewportEl:e.headerViewportEl,headerLeftLaneEl:e.headerLeftLaneEl,headerCenterLaneEl:e.headerCenterLaneEl,headerRightLaneEl:e.headerRightLaneEl,columnModel:e.columnModel,columnDragController:e.columnDragController,moveColumn:e.moveColumn,finishColumnMove:e.finishColumnMove,suppressMoveWhenColumnDragging:e.suppressMoveWhenColumnDragging,setColumnMoveLiveDragging:e.setColumnMoveLiveDragging,allowCrossLaneColumnMove:e.allowCrossLaneColumnMove,scrollByHorizontalDelta:e.scrollByHorizontalDelta},this.sessionHost),this.indexSelectionDragSession=new bE({viewportEl:e.viewportEl,rowModel:e.rowModel,indexFocusService:e.indexFocusService,selectionService:e.selectionService,getLogicalScrollTop:e.getLogicalScrollTop,getRowHeight:e.getRowHeight,scrollByDelta:e.scrollByDelta,ensureIndexVisible:e.ensureIndexVisible,getSelectableRowIdAt:e.getSelectableRowIdAt,applyIndexFocusVisuals:e.applyIndexFocusVisuals,applySelectionVisuals:e.applySelectionVisuals,emitIndexFocusChanged:t=>{e.eventBus.emit(`indexFocusChanged`,{focusedRowIds:t})},emitSelectionChanged:t=>{e.eventBus.emit(`selectionChanged`,{selectedRowIds:t,source:`ui`})}},this.sessionHost),this.cellRangeDragSession=new zE({viewportEl:e.viewportEl,rowModel:e.rowModel,columnModel:e.columnModel,getCellRangeService:e.getCellRangeService??(()=>null),getCellSpanService:()=>e.cellSpanService,isCellSelectionEnabled:e.isCellSelectionEnabled??(()=>!1),getCellRangeOperationContext:t,getLogicalScrollTop:e.getLogicalScrollTop,getScrollLeft:()=>e.viewportEl.scrollLeft,getRowHeight:e.getRowHeight,scrollByDelta:e.scrollByDelta,scrollByHorizontalDelta:e.scrollByHorizontalDelta,ensureIndexVisible:e.ensureIndexVisible,ensureColumnVisible:e.ensureColumnVisible,applyCellRangeVisuals:e.applyCellRangeVisuals??(()=>{}),emitCellSelectionChanged:e.emitCellSelectionChanged??(()=>{}),isEditing:e.isEditing,isCommitting:e.isCommitting,isInlineToggleClickTarget:e=>this.focusController.isInlineToggleClickTarget(e),isGroupOrTreeExpandClickTarget:e=>this.focusController.isGroupOrTreeExpandClickTarget(e),isPointerOverCellCommentIndicator:e.isPointerOverCellCommentIndicator??(()=>!1)},this.sessionHost),this.fillHandleSession=new BE({viewportEl:e.viewportEl,rowModel:e.rowModel,columnModel:e.columnModel,getCellRangeService:e.getCellRangeService??(()=>null),getCellSpanService:()=>e.cellSpanService,getCellSelectionOptions:n,getCellRangeOperationContext:t,getLogicalScrollTop:e.getLogicalScrollTop,getScrollLeft:()=>e.viewportEl.scrollLeft,getRowHeight:e.getRowHeight,scrollByDelta:e.scrollByDelta,scrollByHorizontalDelta:e.scrollByHorizontalDelta,applyCellRangeVisuals:e.applyCellRangeVisuals??(()=>{}),emitCellSelectionChanged:e.emitCellSelectionChanged??(()=>{}),getFillWriteService:e.getFillWriteService??(()=>null),isEditing:e.isEditing,isCommitting:e.isCommitting}),this.rangeHandleSession=new VE({viewportEl:e.viewportEl,rowModel:e.rowModel,columnModel:e.columnModel,getCellRangeService:e.getCellRangeService??(()=>null),getCellSpanService:()=>e.cellSpanService,getCellSelectionOptions:n,getCellRangeOperationContext:t,getLogicalScrollTop:e.getLogicalScrollTop,getScrollLeft:()=>e.viewportEl.scrollLeft,getRowHeight:e.getRowHeight,scrollByDelta:e.scrollByDelta,scrollByHorizontalDelta:e.scrollByHorizontalDelta,applyCellRangeVisuals:e.applyCellRangeVisuals??(()=>{}),emitCellSelectionChanged:e.emitCellSelectionChanged??(()=>{}),isEditing:e.isEditing,isCommitting:e.isCommitting}),this.rowResizeSession=new WE({mountEl:e.mountEl,rowModel:e.rowModel,indexColumnOptions:e.indexColumnOptions,setRowHeights:e.setRowHeights}),this.rowDragSession=new qE({mountEl:e.mountEl,viewportEl:e.viewportEl,rowModel:e.rowModel,rowDragManaged:e.rowDragManaged,deferRowDragCommit:e.deferRowDragCommit,hasSortOrFilterActive:e.hasSortOrFilterActive,isRowDragHandleEnabled:e.isRowDragHandleEnabled,getLogicalScrollTop:e.getLogicalScrollTop,getRowHeight:e.getRowHeight,scrollByDelta:e.scrollByDelta,moveRows:e.moveRows,finishRowMoves:e.finishRowMoves,setRowMoveLiveDragging:e.setRowMoveLiveDragging,emitRowDragEnd:e.emitRowDragEnd,isRowDragCommitting:e.isRowDragCommitting,buildPlanRowDragMoveOptions:e.buildPlanRowDragMoveOptions,planRowDragMove:e.planRowDragMove,commitDeferredRowDrag:e.commitDeferredRowDrag,isIndexFocusMultiple:e.isIndexFocusMultiple,getIndexFocusedRowIds:e.getIndexFocusedRowIds,isRowGroupingActive:e.isRowGroupingActive,validateGroupedDisplayDrop:e.validateGroupedDisplayDrop,isTreeActive:e.isTreeActive,getTreeDragScope:e.getTreeDragScope,validateTreeDisplayDrop:e.validateTreeDisplayDrop,resolveTreeRowDragEndContext:e.resolveTreeRowDragEndContext}),this.cellCommentSession=e.cellCommentService&&e.getCellCommentOptions?new oD({viewportEl:e.viewportEl,mountEl:e.mountEl,rowModel:e.rowModel,cellFocusService:e.cellFocusService,cellCommentService:e.cellCommentService,getOptions:e.getCellCommentOptions,isEditing:e.isEditing}):null,this.overflowTooltipSession=e.overflowTooltipSession??null,this.headerHandlers=new uD({deps:e,host:this.hostActions,focusController:this.focusController,cellRangeInteraction:this.cellRangeInteraction,columnResizeSession:this.columnResizeSession,columnHeaderDragSession:this.columnHeaderDragSession,indexSelectionDragSession:this.indexSelectionDragSession,rowResizeSession:this.rowResizeSession,getSuppressColumnHandleClick:()=>this.suppressColumnHandleClick,setSuppressColumnHandleClick:e=>{this.suppressColumnHandleClick=e}}),this.cellBodyHandlers=new dD({deps:e,host:this.hostActions,focusController:this.focusController,cellRangeInteraction:this.cellRangeInteraction,columnResizeSession:this.columnResizeSession,columnHeaderDragSession:this.columnHeaderDragSession,indexSelectionDragSession:this.indexSelectionDragSession,cellRangeDragSession:this.cellRangeDragSession,fillHandleSession:this.fillHandleSession,rangeHandleSession:this.rangeHandleSession,rowResizeSession:this.rowResizeSession,rowDragSession:this.rowDragSession,cellCommentSession:this.cellCommentSession,getSuppressColumnClick:()=>this.suppressColumnClick,setSuppressColumnClick:e=>{this.suppressColumnClick=e}}),this.keyboardHandlers=new fD({deps:e,focusController:this.focusController,columnResizeSession:this.columnResizeSession,cellRangeInteraction:this.cellRangeInteraction,cellCommentSession:this.cellCommentSession})}isColumnResizing(){return this.columnResizeSession.isActive()}isRowResizing(){return this.rowResizeSession.isActive()}isRowDragging(){return this.rowDragSession.isActive()}refreshColumnResizeVisualState(){this.columnResizeSession.refreshVisualState()}refreshRowResizeVisualState(){this.rowResizeSession.refreshVisualState()}bindListeners(){this.headerHandlers.bind(this.deps.mountEl),this.cellBodyHandlers.bind(this.deps.viewportEl),this.keyboardHandlers.bind(this.deps.mountEl,this.deps.viewportEl),this.cellCommentSession?.bindListeners(),this.overflowTooltipSession?.bindListeners()}unbindListeners(){this.headerHandlers.unbind(this.deps.mountEl),this.cellBodyHandlers.unbind(this.deps.viewportEl),this.keyboardHandlers.unbind(this.deps.mountEl,this.deps.viewportEl),this.cellCommentSession?.unbindListeners(),this.overflowTooltipSession?.unbindListeners(),this.indexSelectionDragSession.end(),this.cellRangeDragSession.end(),this.fillHandleSession.end(),this.rangeHandleSession.end(),this.columnHeaderDragSession.end(!1),this.columnResizeSession.end(!1),this.rowResizeSession.end(!1),this.rowDragSession.end(!1),this.deps.columnHandleMenuController.close()}applyFocusVisuals(){this.focusController.applyFocusVisuals()}navigateEditableTab(e){this.focusController.navigateEditableTab(e)}syncCellRangeFromIndexFocus(e){this.hostActions.syncCellRangeFromIndexFocus(e)}};function _D(e){return t.$(e).mode}function vD(e){return t.$(e)}function yD(e){let t=e.getRowCount();if(t===0)return 0;let n=e.getRow(t-1);return n&&vo(n)?n.rowTop:e.getTotalHeight()}function bD(e,t,n){let r=yD(e);return Math.max(0,Math.floor(t+n-r))}function xD(e){let t=XT(e.totalHeight,e.clientHeight),n=ZT(e.scrollHeight,e.clientHeight),r=QT(e.scrollWidth,e.clientWidth),i=e.totalWidth>e.clientWidth+2,a=n&&t>0,o=r&&i,s=e.totalHeight<e.clientHeight-.5,c=e.totalWidth<e.clientWidth-.5,l=e.scrollTop+e.clientHeight>=e.scrollHeight-1;return{hasVScrollbar:a,hasHScrollbar:o,innerRightClosesTable:a||c,innerBottomClosesTable:!(!s&&!o&&l)}}function SD(e){return e.parentElement?.parentElement??null}function CD(e,t){e.classList.toggle(`mg-grid--has-v-scrollbar`,t.hasVScrollbar),e.classList.toggle(`mg-grid--has-h-scrollbar`,t.hasHScrollbar),e.classList.toggle(`mg-grid--inner-right-closes`,t.innerRightClosesTable),e.classList.toggle(`mg-grid--inner-bottom-closes`,t.innerBottomClosesTable)}function wD(e){let{anchorScrollTop:t,atScrollBottom:n,detailRowTop:r,heightDelta:i,logicalMaxScroll:a}=e;return i===0?TD(t,a):n?a:TD(t>r?t+i:t,a)}function TD(e,t){return Math.max(0,Math.min(e,t))}function ED(e,t,n,r){return n>0&&e>0&&r<=2?Math.floor(t):e}function DD(e,t,n,r){let i=XT(e,t);if(r===0||e<=16777216)return{totalHeight:e,viewportHeight:t,rowHeight:n,rowCount:r,compressed:!1,physicalSpacerHeight:ED(e,t,r,i),physicalMaxScroll:i,logicalMaxScroll:i};let a=Math.max(0,Math.ceil(i/n));return{totalHeight:e,viewportHeight:t,rowHeight:n,rowCount:r,compressed:!0,physicalSpacerHeight:a+t+1,physicalMaxScroll:a,logicalMaxScroll:i}}function OD(e,t){return t.compressed?e>=t.physicalMaxScroll?t.logicalMaxScroll:MD(e*t.rowHeight,0,t.logicalMaxScroll):MD(e,0,t.logicalMaxScroll)}function kD(e,t){return t.compressed?e>=t.logicalMaxScroll?t.physicalMaxScroll:MD(e/t.rowHeight,0,t.physicalMaxScroll):MD(e,0,t.physicalMaxScroll)}function AD(e,t,n=1){return e>=t.logicalMaxScroll-n}function jD(e,t=1){return e<=t}function MD(e,t,n){return Math.max(t,Math.min(e,n))}var ND=null;function PD(e=document){if(ND!==null)return ND;let t=e.createElement(`div`);t.style.cssText=`visibility:hidden;overflow:scroll;width:100px;height:100px;position:absolute;top:-9999px`,e.body.appendChild(t);let n=Math.max(0,t.offsetWidth-t.clientWidth);return t.remove(),n===0&&ID(e)?(ND=8,ND):(ND=n,ND)}function FD(){ND=null}function ID(e=document){let t=e.createElement(`div`);t.style.cssText=`width:100px;height:100px;overflow:scroll;visibility:hidden;position:absolute;top:-9999px`;let n=e.createElement(`div`);n.style.height=`200px`,t.appendChild(n),e.body.appendChild(t);let r=t.offsetWidth===t.clientWidth;return t.remove(),r}function LD(e,t){return e.hasVScrollbar?!0:!t&&e.liveGutterWidth>0}function RD(e){let t=e.overlayScrollbars??ID(),n=e.measuredWidth??PD();if(!LD(e,t))return{layout:0,visual:0};if(t)return{layout:0,visual:n};let r=e.liveGutterWidth>0?e.liveGutterWidth:n;return{layout:r,visual:r}}function zD(e,t,n){let r=Math.max(0,t.offsetWidth-t.clientWidth),i=ZT(t.scrollHeight,t.clientHeight),a=e.magicGridEl,o=a?.classList.contains(`mg-grid--has-v-scrollbar`)??!1,s=RD({hasVScrollbar:a?o:i,liveGutterWidth:a?o?r:0:r,overlayScrollbars:n});e.rootEl.style.setProperty(`--mg-v-scrollbar-layout`,`${s.layout}px`),e.rootEl.style.setProperty(`--mg-v-scrollbar-visual`,`${s.visual}px`);let c=s.layout>0?0:s.visual;return e.rootEl.style.setProperty(`--mg-v-scrollbar-visual-overlay`,`${c}px`),e.headerViewportEl.style.removeProperty(`padding-right`),e.footerViewportEl?.style.removeProperty(`padding-right`),e.floatingFilterViewportEl?.style.removeProperty(`padding-right`),e.magicGridEl&&e.magicGridEl.classList.toggle(`magic-grid--overlay-scrollbar`,n),s}var BD=class{deps;lastScrollLeft=0;onAfterRedraw=null;resizeObserver=null;overlayScrollbars=null;scrollEndTimer=null;scrollSessionEndTimer=null;scrollSessionActive=!1;atScrollTop=!0;atScrollBottom=!1;programmaticScrollDepth=0;constructor(e){this.deps=e}setOnAfterRedraw(e){this.onAfterRedraw=e}get viewportEl(){return this.deps.viewportEl}bindScrollListener(){this.deps.viewportEl.addEventListener(`scroll`,this.handleScroll,{passive:!0}),this.resizeObserver=new ResizeObserver(()=>{this.handleViewportResize()}),this.resizeObserver.observe(this.deps.viewportEl)}unbindScrollListener(){this.deps.viewportEl.removeEventListener(`scroll`,this.handleScroll),this.clearScrollEndTimer(),this.clearScrollSessionEndTimer(),this.scrollSessionActive=!1,this.resizeObserver?.disconnect(),this.resizeObserver=null}clearScrollEndTimer(){this.scrollEndTimer!=null&&(clearTimeout(this.scrollEndTimer),this.scrollEndTimer=null)}clearScrollSessionEndTimer(){this.scrollSessionEndTimer!=null&&(clearTimeout(this.scrollSessionEndTimer),this.scrollSessionEndTimer=null)}getScrollSessionEndDebounceMs(){let{scrollEndFlushMs:e}=this.deps.scrollRenderOptions;return e>0?e:150}scheduleScrollEndIdle(){this.clearScrollEndTimer();let{scrollEndFlushMs:e,deferRowDestroyOnScroll:t,cellRendererPresentation:n}=this.deps.scrollRenderOptions,r=e>0?e:t||n===`placeholder-then-vue`?150:0;r<=0||(this.scrollEndTimer=setTimeout(()=>{this.scrollEndTimer=null,!this.deps.isDestroyed()&&this.deps.onScrollEndIdle?.()},r))}getLogicalScrollTop(){return OD(this.deps.viewportEl.scrollTop,this.getScrollRange())}getRenderViewportHeight(){return this.getRenderViewportHeightInternal()}scrollTo(e,t){let n=this.getScrollRange(),r=Math.max(0,Math.min(e,n.logicalMaxScroll));this.applyPhysicalScrollFromLogical(r),this.deps.scrollBridge.syncScrollTop(r),this.deps.frameService.setScrollDirection(this.deps.scrollBridge.isScrollGoingDown()),t!==void 0&&(this.deps.viewportEl.scrollLeft=t,this.lastScrollLeft=t),this.deps.headerScrollEl.scrollLeft=this.deps.viewportEl.scrollLeft,this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft(),this.redrawImmediately(),this.emitScrollPositionEvents(r,this.deps.viewportEl.scrollLeft),this.deps.onScroll?.()}scrollByDelta(e){e===0||!Number.isFinite(e)||this.scrollTo(this.getLogicalScrollTop()+e)}scrollByHorizontalDelta(e){if(e===0)return;let t=this.deps.viewportEl.clientWidth,n=eE(this.deps.columnModel,t),r=Math.max(0,Math.min(this.deps.viewportEl.scrollLeft+e,n));Math.abs(r-this.deps.viewportEl.scrollLeft)<1||this.scrollTo(this.getLogicalScrollTop(),r)}ensureIndexVisible(e,t=`middle`){let n=this.deps.rowModel.getRowBounds(e);if(!n)return;let r=this.getRenderViewportHeightInternal(),i=this.getScrollRange(),a=this.getLogicalScrollTop();a=t===`top`?n.rowTop:t===`bottom`?n.rowTop+n.rowHeight-r:n.rowTop-(r-n.rowHeight)/2,a=Math.max(0,Math.min(a,i.logicalMaxScroll)),this.scrollTo(a,this.deps.viewportEl.scrollLeft)}ensureColumnVisible(e){let t=this.deps.viewportEl.clientWidth,n=this.deps.viewportEl.scrollLeft,r=$T(e,this.deps.columnModel,n,t);if(r===null)return;let i=eE(this.deps.columnModel,t),a=Math.max(0,Math.min(r,i));a!==n&&this.scrollTo(this.deps.scrollBridge.getScrollTop(),a)}syncHorizontalScrollLeft(e){this.deps.viewportEl.scrollLeft=e,this.lastScrollLeft=e,this.deps.headerScrollEl.scrollLeft=e,this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft()}applyColumnStructureVisuals(){this.deps.applySelectionVisuals(),this.deps.applyFocusVisuals(),this.syncBorderClosureState(),this.deps.applyCellRangeVisuals?.()}syncHorizontalLayout(){let e=this.deps.columnModel.getTotalWidth();this.syncHeaderFooterRowWidth(),this.deps.spacerEl.style.minWidth=`${e}px`,this.deps.rowsContainerEl.style.width=`${e}px`,sg(this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl,this.deps.columnModel),this.syncFooterHorizontalLayout(),this.syncFloatingFilterHorizontalLayout(),this.syncScrollChrome(),this.syncIndexColumnFill()}syncColumnCellLayouts(){cg(this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl,this.deps.columnModel),this.deps.footerLeftLaneEl&&this.deps.footerCenterLaneEl&&this.deps.footerRightLaneEl&&lv(this.deps.footerLeftLaneEl,this.deps.footerCenterLaneEl,this.deps.footerRightLaneEl,this.deps.columnModel),this.deps.floatingFilterLeftLaneEl&&this.deps.floatingFilterCenterLaneEl&&this.deps.floatingFilterRightLaneEl&&KT(this.deps.floatingFilterLeftLaneEl,this.deps.floatingFilterCenterLaneEl,this.deps.floatingFilterRightLaneEl,this.deps.columnModel)}syncBorderClosureState(){let e=SD(this.deps.rootEl);if(!e)return;let t=this.deps.viewportEl;CD(e,xD({scrollTop:t.scrollTop,scrollHeight:t.scrollHeight,scrollWidth:t.scrollWidth,clientHeight:t.clientHeight,clientWidth:t.clientWidth,totalHeight:this.deps.rowModel.getTotalHeight(),totalWidth:this.deps.columnModel.getTotalWidth()})),this.syncHorizontalScrollEndState(e,t)}syncHorizontalScrollEndState(e,t=this.deps.viewportEl){let n=e??SD(this.deps.rootEl);if(!n)return;let r=eE(this.deps.columnModel,t.clientWidth),i=tE(t.scrollLeft,r);n.classList.toggle(`mg-grid--at-h-scroll-end`,i)}captureScrollAnchor(){let e=this.resolveLogicalScrollTopForSync();return{logicalScrollTop:e,atScrollBottom:AD(e,this.getScrollRange())}}syncViewportHeightWithDetailCompensation(e){let t=this.getViewportHeight(),n=this.getScrollRange(t);this.applySpacerLayoutFromRange(t,n),this.syncScrollMode(t);let r=this.getScrollRange(t),i=wD({anchorScrollTop:e.anchor.logicalScrollTop,atScrollBottom:e.anchor.atScrollBottom,detailRowTop:e.detailRowTop,heightDelta:e.heightDelta,logicalMaxScroll:r.logicalMaxScroll});this.deps.scrollBridge.syncScrollTop(i),this.applyPhysicalScrollFromLogical(i),this.syncAtScrollTopState(i),this.syncAtScrollBottomState(i),this.syncHeaderFooterRowWidth(),this.syncScrollChrome(),this.syncIndexColumnFill()}syncViewportHeight(){let e=this.captureScrollAnchor();this.syncViewportHeightWithDetailCompensation({anchor:e,detailRowTop:0,heightDelta:0})}scrollGridIfNeeded(){let e=this.deps.viewportEl.scrollLeft,t=!1;return t=this.deps.scrollBridge.scrollGridIfNeeded(t=>{this.redrawViewport(t,e)})||t,e!==this.lastScrollLeft&&(t||this.redrawViewport(this.deps.scrollBridge.getScrollTop(),e),t=!0),this.lastScrollLeft=this.deps.viewportEl.scrollLeft,t}redrawImmediately(){if(this.deps.isDestroyed())return;let e=this.getLogicalScrollTop();this.deps.scrollBridge.syncScrollTop(e),this.deps.frameService.flushAllFrames(),this.redrawViewport(e,this.deps.viewportEl.scrollLeft),this.lastScrollLeft=this.deps.viewportEl.scrollLeft,this.deps.frameService.flushAllFrames(),this.deps.applySelectionVisuals(),this.deps.applyFocusVisuals(),this.syncBorderClosureState()}redrawRowExpansionIncremental(){if(this.deps.isDestroyed())return;let e=this.resolveLogicalScrollTopForSync();this.deps.scrollBridge.syncScrollTop(e),this.applyPhysicalScrollFromLogical(Math.min(e,this.getScrollRange().logicalMaxScroll)),this.deps.frameService.flushAllFrames(),this.syncPinnedRows();let t=this.deps.viewportEl.scrollLeft,n=this.deps.viewportEl.clientWidth;this.deps.columnViewport.update(t,n);let r=this.deps.columnViewport.getWindow(),i=this.getRenderViewportHeightInternal();this.deps.rowRenderer.syncRowExpansionDisplay(e,i,r),this.deps.applySelectionVisuals(),this.deps.applyFocusVisuals(),this.syncBorderClosureState(),this.deps.applyCellRangeVisuals?.(),this.syncIndexColumnFill(),this.deps.frameService.flushAllFrames()}resetScrollOnSetData(){this.atScrollTop=!0,this.atScrollBottom=!1,this.scrollSessionActive=!1,this.clearScrollSessionEndTimer(),this.deps.scrollBridge.syncScrollTop(0),this.applyPhysicalScrollFromLogical(0),this.deps.viewportEl.scrollTop=0,this.deps.viewportEl.scrollLeft=0,this.lastScrollLeft=0,this.deps.headerScrollEl.scrollLeft=0,this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft()}scheduleCompressedSetDataRedraw(e){this.getScrollRange().compressed&&requestAnimationFrame(()=>{this.deps.isDestroyed()||e()})}syncPinnedRows(){this.deps.rowRenderer.setPinnedRowIds(this.deps.getPinnedRowIds())}handleScroll=()=>{let e=this.getLogicalScrollTop(),t=this.deps.viewportEl.scrollLeft;if(this.deps.scrollBridge.notifyScroll(e),this.deps.frameService.setScrollDirection(this.deps.scrollBridge.isScrollGoingDown()),this.deps.onScrollActivity?.(),this.deps.headerScrollEl.scrollLeft=t,this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft(),this.syncBorderClosureState(),this.syncPinnedRows(),!(this.programmaticScrollDepth>0)){if(this.trackUserScrollSession(e,t),this.getScrollRange().compressed){this.deps.scrollBridge.syncScrollTop(e),this.redrawViewport(e,this.deps.viewportEl.scrollLeft),this.deps.frameService.flushAllFrames(),this.emitScrollPositionEvents(e,t);return}this.deps.frameService.schedule(),this.scheduleScrollEndIdle(),this.emitScrollPositionEvents(e,t),this.deps.applyCellRangeScrollVisuals?.()}};emitScrollPositionEvents(e,t){this.maybeEmitScrollTop(e,t),this.maybeEmitScrollBottom(e,t),this.emitScrollEvent(`scroll`,e,t)}emitScrollEvent(e,t,n){this.deps.onEmitScrollEvent?.(e,{scrollTop:t,scrollLeft:n})}trackUserScrollSession(e,t){this.scrollSessionActive||(this.scrollSessionActive=!0,this.emitScrollEvent(`scrollStart`,e,t)),this.scheduleScrollSessionEnd()}scheduleScrollSessionEnd(){this.clearScrollSessionEndTimer(),this.scrollSessionEndTimer=setTimeout(()=>{this.scrollSessionEndTimer=null,!(this.deps.isDestroyed()||!this.scrollSessionActive)&&(this.scrollSessionActive=!1,this.emitScrollEvent(`scrollEnd`,this.getLogicalScrollTop(),this.deps.viewportEl.scrollLeft))},this.getScrollSessionEndDebounceMs())}maybeEmitScrollTop(e,t){let n=jD(e),r=this.atScrollTop;this.atScrollTop=n,n&&!r&&this.emitScrollEvent(`scrollTop`,e,t)}maybeEmitScrollBottom(e,t){let n=AD(e,this.getScrollRange()),r=this.atScrollBottom;this.atScrollBottom=n,n&&!r&&this.emitScrollEvent(`scrollBottom`,e,t)}syncAtScrollTopState(e){let t=e??this.getLogicalScrollTop();this.atScrollTop=jD(t)}syncAtScrollBottomState(e){let t=this.getScrollRange(),n=e??this.getLogicalScrollTop();this.atScrollBottom=AD(n,t)}isColumnMoveLiveDragging(){return this.deps.rootEl.classList.contains(`magic-grid--column-move-live`)}redrawViewport(e,t){let n=this.getViewportHeight();this.syncCompressedLayerHeight(n);let r=e??this.getLogicalScrollTop(),i=t??this.deps.viewportEl.scrollLeft,a=this.deps.viewportEl.clientWidth;this.syncViewportInlineSize(a);let o=nE(this.deps.columnModel,i,a);o!==i&&(this.deps.viewportEl.scrollLeft=o,this.lastScrollLeft=o,this.deps.headerScrollEl.scrollLeft=o,this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft());let s=this.getRenderViewportHeightInternal(),c=this.deps.columnViewport.update(o,a),l=this.deps.columnViewport.getWindow();c&&(this.reorderHeaderCells(!0),this.isColumnMoveLiveDragging()?this.syncColumnCellLayouts():(this.deps.refreshFooter?.(),this.deps.refreshFloatingFilter?.()),this.deps.applyFocusVisuals()),this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft(),this.syncPinnedRows(),this.deps.ensureInfiniteRowsLoaded?.(r,s),this.deps.rowRenderer.redraw(r,s,l,c),this.deps.applyCellRangeVisuals?.(),this.syncIndexColumnFill(),this.onAfterRedraw?.()}syncScrollbarGutter(){zD({rootEl:this.deps.rootEl,headerViewportEl:this.deps.headerViewportEl,footerViewportEl:this.deps.footerViewportEl,floatingFilterViewportEl:this.deps.floatingFilterViewportEl,magicGridEl:SD(this.deps.rootEl)},this.deps.viewportEl,this.getOverlayScrollbars())}getOverlayScrollbars(){return this.overlayScrollbars===null&&(this.overlayScrollbars=ID()),this.overlayScrollbars}handleViewportResize(){if(this.deps.isDestroyed())return;FD(),this.overlayScrollbars=null;let e=this.getViewportHeight(),t=this.getScrollRange(e);this.applySpacerLayoutFromRange(e,t),this.syncHeaderFooterRowWidth(),this.syncScrollChrome(),this.syncIndexColumnFill()}syncScrollChrome(){this.syncBorderClosureState(),this.stabilizeShortContentSpacer(),this.syncScrollbarGutter()}stabilizeShortContentSpacer(){let e=this.getScrollRange();if(e.compressed||e.logicalMaxScroll>0)return;let t=this.deps.viewportEl.clientHeight;if(t<=0)return;let n=this.deps.rowModel.getTotalHeight(),r=Math.max(n,Math.floor(t)),i=Number.parseFloat(this.deps.spacerEl.style.height);(!Number.isFinite(i)||Math.abs(i-r)>2)&&(this.deps.spacerEl.style.height=`${r}px`)}applySpacerLayoutFromRange(e,t){if(t.compressed){this.deps.spacerEl.style.height=``,this.deps.scrollPhantomEl.style.height=`${t.physicalMaxScroll+1}px`,this.syncCompressedLayerHeight(e);return}this.deps.spacerEl.style.height=`${t.physicalSpacerHeight}px`,this.deps.scrollPhantomEl.style.height=`0px`,this.deps.viewportEl.style.removeProperty(`--mg-viewport-px`)}syncHeaderFooterRowWidth(){let e=this.deps.columnModel.getTotalWidth();this.deps.headerRowEl.style.width=`${e}px`,this.deps.footerRowEl&&(this.deps.footerRowEl.style.width=`${e}px`),this.deps.floatingFilterRowEl&&(this.deps.floatingFilterRowEl.style.width=`${e}px`)}syncFooterHorizontalLayout(){!this.deps.footerRowEl||!this.deps.footerLeftLaneEl||!this.deps.footerCenterLaneEl||!this.deps.footerRightLaneEl||(cv(this.deps.footerLeftLaneEl,this.deps.footerCenterLaneEl,this.deps.footerRightLaneEl,this.deps.columnModel),this.syncFooterScrollLeft())}refreshFloatingFilterActiveState(){this.deps.isDestroyed()||!this.deps.floatingFilterLeftLaneEl||!this.deps.floatingFilterCenterLaneEl||!this.deps.floatingFilterRightLaneEl||UT([this.deps.floatingFilterLeftLaneEl,this.deps.floatingFilterCenterLaneEl,this.deps.floatingFilterRightLaneEl],this.deps.rowModel.getFilterModel())}syncFloatingFilterHorizontalLayout(){!this.deps.floatingFilterRowEl||!this.deps.floatingFilterLeftLaneEl||!this.deps.floatingFilterCenterLaneEl||!this.deps.floatingFilterRightLaneEl||(GT(this.deps.floatingFilterLeftLaneEl,this.deps.floatingFilterCenterLaneEl,this.deps.floatingFilterRightLaneEl,this.deps.columnModel),this.syncFloatingFilterScrollLeft())}syncFloatingFilterScrollLeft(){if(!this.deps.floatingFilterScrollEl)return;let e=this.deps.viewportEl.scrollLeft;this.deps.floatingFilterScrollEl.scrollLeft!==e&&(this.deps.floatingFilterScrollEl.scrollLeft=e)}syncFooterScrollLeft(){if(!this.deps.footerScrollEl)return;let e=this.deps.viewportEl.scrollLeft;this.deps.footerScrollEl.scrollLeft!==e&&(this.deps.footerScrollEl.scrollLeft=e)}renderHeader(e){og({headerLeftLaneEl:this.deps.headerLeftLaneEl,headerCenterLaneEl:this.deps.headerCenterLaneEl,headerRightLaneEl:this.deps.headerRightLaneEl,columnModel:this.deps.columnModel,centerWindow:e,sortModel:this.deps.rowModel.getSortModel(),filterModel:this.deps.rowModel.getFilterModel(),validationFeedback:this.deps.validationFeedback,selectionColumnOptions:this.deps.selectionColumnOptions,showUnsortedSortHintOnHover:this.deps.showUnsortedSortHintOnHover(),enableHeaderSortClick:this.deps.enableHeaderSortClick(),getTreeHeaderExpanded:this.deps.getTreeHeaderExpanded})}syncTreeHeaderExpandState(){this.deps.isDestroyed()||Bh([this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl],this.deps.getTreeHeaderExpanded?.()??!1)}refreshHeader(){this.deps.isDestroyed()||(this.deps.onHeaderRefresh?.(),this.renderHeader(this.deps.columnViewport.getWindow()))}reorderHeaderCells(e=!1){this.deps.isDestroyed()||dg({headerLeftLaneEl:this.deps.headerLeftLaneEl,headerCenterLaneEl:this.deps.headerCenterLaneEl,headerRightLaneEl:this.deps.headerRightLaneEl,columnModel:this.deps.columnModel,centerWindow:this.deps.columnViewport.getWindow(),fillColumnWindowGaps:e,sortModel:this.deps.rowModel.getSortModel(),filterModel:this.deps.rowModel.getFilterModel(),validationFeedback:this.deps.validationFeedback,selectionColumnOptions:this.deps.selectionColumnOptions,showUnsortedSortHintOnHover:this.deps.showUnsortedSortHintOnHover(),enableHeaderSortClick:this.deps.enableHeaderSortClick(),getTreeHeaderExpanded:this.deps.getTreeHeaderExpanded})}refreshHeaderIndicatorState(){this.deps.isDestroyed()||ch([this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl],{sortModel:this.deps.rowModel.getSortModel(),filterModel:this.deps.rowModel.getFilterModel(),getColumnById:e=>{let t=this.deps.columnModel.getColumnById(e);if(t)return{colId:t.colId,sortable:t.sortable,filterable:t.filterable,headerAlign:t.headerAlign}},showUnsortedSortHintOnHover:this.deps.showUnsortedSortHintOnHover(),enableHeaderSortClick:this.deps.enableHeaderSortClick()})}getViewportHeight(){let e=this.deps.viewportEl.clientHeight;if(e>0)return e;let t=this.deps.viewportEl.getBoundingClientRect().height;if(t>0)return t;let n=this.deps.rootEl.clientHeight;if(n>0)return n;let r=this.deps.rootEl.parentElement?.clientHeight??0;return r>0?r:0}getRenderViewportHeightInternal(){if(this.deps.rowsLayerEl.classList.contains(`mg-rows-layer--compressed`)){let e=this.deps.rowsLayerEl.clientHeight;if(e>0)return e}return this.getViewportHeight()}syncCompressedLayerHeight(e){this.getScrollRange(e).compressed&&(this.deps.rowsLayerEl.style.height=`${e}px`,this.deps.viewportEl.style.setProperty(`--mg-viewport-px`,`${e}px`))}syncViewportInlineSize(e){e>0&&this.deps.viewportEl.style.setProperty(`--mg-viewport-inline-size`,`${e}px`)}syncIndexColumnFill(){let{indexColumnFillHostEl:e,indexColumnFillEl:n}=this.deps;if(!this.deps.showIndexColumn){e.hidden=!0;return}let r=this.deps.columnModel.getColumnById(t.tt);if(!r||r.hidden){e.hidden=!0;return}let i=this.deps.rowModel.getRowCount(),a=this.getViewportHeight(),o=Math.floor(a),s=this.getLogicalScrollTop(),c=bD(this.deps.rowModel,s,o);if(i===0||c<=0){e.hidden=!0;return}let l=this.getScrollRange(a).compressed,u=yD(this.deps.rowModel),d=l?u-s:u;e.hidden=!1,n.style.top=`${d}px`,n.style.left=`${r.left}px`,n.style.width=`${r.width}px`,n.style.height=`${c}px`}getScrollRange(e){let t=e??this.getViewportHeight();return DD(this.deps.rowModel.getTotalHeight(),t,this.deps.getDefaultRowHeight(),this.deps.rowModel.getRowCount())}resolveLogicalScrollTopForSync(){return Math.max(this.getLogicalScrollTop(),this.deps.scrollBridge.getNextScrollTop(),this.deps.scrollBridge.getScrollTop())}applyPhysicalScrollFromLogical(e){this.programmaticScrollDepth++;try{let t=this.getScrollRange();this.deps.viewportEl.scrollTop=kD(e,t)}finally{this.programmaticScrollDepth--}}syncScrollMode(e){let t=e??this.getViewportHeight(),n=this.getScrollRange(t).compressed;this.deps.rowsLayerEl.parentElement!==this.deps.spacerEl&&this.deps.spacerEl.prepend(this.deps.rowsLayerEl),this.deps.rowsContainerEl.style.transform=``,this.deps.spacerEl.classList.toggle(`mg-spacer--compressed`,n),this.deps.scrollPhantomEl.classList.toggle(`mg-scroll-phantom--active`,n),this.deps.rowsLayerEl.classList.toggle(`mg-rows-layer--compressed`,n),this.deps.rowRenderer.setCompressedScroll(n)}};function VD(e){let t=[`left`,`center`,`right`],n=[];for(let r of t){let t=r===`center`?null:r,i=e.filter(e=>(e.fixed??null)===t),a=i.filter(e=>!pc(e.colId)),o=i.filter(e=>pc(e.colId)).sort((e,t)=>e.defOrder-t.defOrder);n.push(...a.map(e=>e.colId),...o.map(e=>e.colId))}return n}function HD(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function UD(e,t){for(let n=0;n<t.length;n+=1){let r=t[n];if(!(!r||e[n]===r))return{fromColId:r,toIndex:n}}return null}var WD=class{deps;columnMoveOptions;columnResizeOptions;pendingColumnResizeColIds=[];pendingColumnResizeFinished=!1;constructor(e,t,n){this.deps=e,this.columnMoveOptions=t,this.columnResizeOptions=n}setColumnMoveOptions(e){let t=this.columnMoveOptions;this.columnMoveOptions=ca({...t,...e});let n=e.columnMovable!==void 0&&e.columnMovable!==t.columnMovable,r=e.allowCrossLaneColumnMove!==void 0&&e.allowCrossLaneColumnMove!==t.allowCrossLaneColumnMove;(n||r)&&(this.deps.columnModel.setColumnMoveGridOptions(this.columnMoveOptions),n&&this.deps.viewport.refreshHeader()),this.syncColumnMovePresentationClasses()}setColumnResizeOptions(e){let t=this.columnResizeOptions;this.columnResizeOptions=Jg({...t,...e}),e.resizable!==void 0&&e.resizable!==t.resizable&&(this.deps.columnModel.setColumnResizeGridOptions(this.columnResizeOptions),this.deps.viewport.refreshHeader())}syncColumnLayoutAfterResize(){this.deps.isDestroyed()||(this.deps.viewport.syncHorizontalLayout(),this.applyHorizontalScrollAfterColumnLayout(),this.deps.viewport.syncColumnCellLayouts(),this.deps.rowRenderer.syncColumnLayouts(),this.deps.footerRenderer?.syncColumnLayouts(),this.deps.columnViewport.invalidate(),this.pendingColumnResizeFinished&&this.deps.viewport.redrawImmediately(),this.deps.refreshColumnResizeVisualState(),this.deps.applyCellRangeVisuals?.())}applyHorizontalScrollAfterColumnLayout(){let e=this.deps.mountEl.querySelector(`.mg-viewport`);if(!e)return;let t=e.scrollLeft,n=e.clientWidth,r=this.pendingColumnResizeFinished;for(let e of this.pendingColumnResizeColIds){let i=rE(this.deps.columnModel,e,t,n,r);i!==null&&(t=i)}let i=nE(this.deps.columnModel,t,n);i!==e.scrollLeft&&this.deps.viewport.scrollTo(this.deps.viewport.getLogicalScrollTop(),i)}setColumnWidths(e,t=!0,n=`api`){let r=e.map(e=>({colId:e.colId,newWidth:e.width}));this.applyColumnWidths(r,!1,t,n)}setColumnWidth(e,t,n=!0,r=`api`){this.setColumnWidths([{colId:e,width:t}],n,r)}getColumnWidth(e){return this.deps.columnModel.getColumnWidth(e)}refreshFlexedColumns(e){if(!this.deps.columnModel.hasFlexColumns())return!1;let t=this.deps.mountEl.querySelector(`.mg-viewport`)?.clientWidth??0,n=t>0?t:this.deps.mountEl.clientWidth,r=this.deps.columnFlexService.resolveCenterViewportWidth(n),i=this.deps.columnFlexService.refreshFlexedColumns({viewportWidth:r,resizingColIds:e?.resizingColIds});if(!i.changed)return!1;if(this.syncColumnLayoutAfterResize(),e?.fireResizedEvent){let e=[...new Set(i.changedColIds)];this.deps.eventBus.emit(`columnResized`,Zg(e.map(e=>({colId:e})),this.deps.columnModel,!0,`flex`,i.flexColIds))}return!0}autoSizeColumn(e,t,n=`autosizeColumns`){this.autoSizeColumns([e],t,n)}autoSizeColumns(e,t,n=`autosizeColumns`){let r=this.deps.columnAutosizeService.autoSizeColumns(e,t);r.length!==0&&this.applyColumnWidths(r,!1,!0,n)}sizeColumnsToFit(e){let t=this.resolveViewportWidth(),n=e?.gridWidth??t,r=this.deps.columnAutosizeService.sizeColumnsToFit(n,e);r.length!==0&&this.applyColumnWidths(r,!1,!0,`sizeColumnsToFit`)}applyAutoSizeFitWidthStrategy(e){let t=this.resolveViewportWidth(),n=this.deps.columnAutosizeService.buildFitWidthStrategyParams(e,t);this.sizeColumnsToFit(n)}applyAutoSizeFitCellContentsStrategy(e){let{contentChanges:t,scaleUpParams:n}=this.deps.columnAutosizeService.buildFitCellContentsChanges(e);if(t.length>0&&this.applyColumnWidths(t,!1,!0,`autosizeColumns`),n){let e=this.resolveViewportWidth(),t=this.deps.columnAutosizeService.sizeColumnsToFit(e,n);t.length>0&&this.applyColumnWidths(t,!1,!0,`sizeColumnsToFit`)}}resolveViewportWidth(){let e=this.deps.mountEl.querySelector(`.mg-viewport`)?.clientWidth??0;return e>0?e:this.deps.mountEl.clientWidth}resizeHeaderColumn(e,t,n){let r=this.deps.columnModel.getColumnById(e);r?.resizable&&this.applyColumnWidths([{colId:e,newWidth:r.width+t}],n,!0,`uiColumnResized`)}applyColumnWidths(e,t,n,r){if(e.length===0)return;let{affectedColIds:i}=C_(this.deps.columnModel,e,t,this.columnResizeOptions);this.pendingColumnResizeColIds=i,this.pendingColumnResizeFinished=n;let a=this.deps.columnResizeService.setColumnWidths(e,t,n,r,this.columnResizeOptions);this.pendingColumnResizeColIds=[],this.pendingColumnResizeFinished=!1;let o=[...new Set([...a.affectedColIds.length>0?a.affectedColIds:e.map(e=>e.colId),...a.flexColIds])];(a.changed||n)&&this.deps.eventBus.emit(`columnResized`,Zg(o.map(e=>({colId:e})),this.deps.columnModel,n,r,a.flexColIds.length>0?a.flexColIds:void 0))}moveColumn(e,t,n=!0,r){let i=this.deps.columnModel.getColumnById(e)?.fixed??null;if(!this.deps.columnModel.moveColumn(e,t,r))return!1;let a=this.deps.columnModel.getColumns().map(e=>e.colId),o=this.deps.columnModel.getColumnById(e)?.fixed??null,s=a.indexOf(e);this.syncColumnLayoutAfterOrderChange(n);let c={columnOrder:a,fromColId:e,toIndex:s>=0?s:t,finished:n};return i!==o&&(c.toFixed=o),this.deps.eventBus.emit(`columnMoved`,c),n&&(this.deps.clearCellSelection?.(),this.deps.syncColumnOrderVisuals?.()),!0}syncColumnLayoutAfterOrderChange(e){this.deps.columnViewport.invalidate(),this.deps.viewport.syncHorizontalLayout();let t=this.deps.mountEl.querySelector(`.mg-viewport`);if(t){let e=t.clientWidth,n=nE(this.deps.columnModel,t.scrollLeft,e);this.deps.columnViewport.update(n,e)}e?this.deps.rootEl.classList.contains(`magic-grid--column-move-live`)&&!this.columnMoveOptions.suppressMoveWhenColumnDragging?(this.deps.viewport.reorderHeaderCells(),this.deps.viewport.syncColumnCellLayouts(),this.syncVisibleStructureAfterColumnOrderChange(),this.refreshFlexedColumns()):(this.deps.viewport.refreshHeader(),this.deps.viewport.syncColumnCellLayouts(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns(),this.deps.viewport.redrawImmediately(),this.syncVisibleStructureAfterColumnOrderChange()):(this.deps.viewport.reorderHeaderCells(),this.deps.viewport.syncColumnCellLayouts(),this.syncVisibleStructureAfterColumnOrderChange(),this.refreshFlexedColumns()),!e&&!this.deps.rootEl.classList.contains(`magic-grid--column-move-live`)&&this.deps.syncColumnOrderVisuals?.()}syncVisibleStructureAfterColumnOrderChange(){let e=this.deps.columnViewport.getWindow();this.deps.rowRenderer.refreshVisibleColumnStructure(e),this.deps.footerRenderer?.refreshVisibleColumnStructure(e)}resetColumnOrder(){let e=this.deps.columnModel.getColumns(),t=e.map(e=>e.colId),n=VD(e);if(HD(t,n)||!this.deps.columnModel.resetColumnsOrder(n))return!1;this.deps.columnViewport.invalidate(),this.deps.viewport.syncHorizontalLayout(),this.deps.viewport.refreshHeader(),this.deps.viewport.redrawImmediately(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns();let r=UD(t,n);return this.deps.eventBus.emit(`columnMoved`,{columnOrder:n,fromColId:r?.fromColId??n[0]??``,toIndex:r?.toIndex??0,finished:!0}),this.deps.clearCellSelection?.(),!0}setColumnFixed(e,t,n=`api`){let r=this.deps.columnModel.getColumnById(e),i=r?.fixed??null;return!r||i===t||!this.deps.columnModel.setColumnFixed(e,t)?!1:(this.deps.columnViewport.invalidate(),this.deps.viewport.syncHorizontalLayout(),this.deps.viewport.refreshHeader(),this.deps.viewport.redrawImmediately(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns(),this.deps.eventBus.emit(`columnPinned`,{colId:e,fixed:t,fromFixed:i,source:n}),this.deps.clearCellSelection?.(),!0)}setColumnsHidden(e,t,n=`api`){let r=this.deps.columnModel.setColumnsHidden(e,t);return r.length!==0&&(this.syncAfterColumnStructureChange(),this.deps.eventBus.emit(`columnHiddenChanged`,{colIds:r,hidden:t,source:n}),this.deps.clearCellSelection?.(),!0)}syncAfterColumnStructureChange(){this.deps.columnViewport.invalidate(),this.deps.viewport.syncHorizontalLayout();let e=this.deps.mountEl.querySelector(`.mg-viewport`),t=this.resolveViewportWidth(),n=this.deps.columnViewport.getWindow(),r=e?.scrollLeft??0;r=nE(this.deps.columnModel,r,t),e&&r!==e.scrollLeft&&this.deps.viewport.syncHorizontalScrollLeft(r),this.deps.columnViewport.update(r,t),n=this.deps.columnViewport.getWindow(),this.deps.viewport.refreshHeader(),this.deps.viewport.syncColumnCellLayouts(),this.deps.rowRenderer.refreshVisibleColumnStructure(n),this.deps.footerRenderer?.syncColumnLayouts(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns(),this.deps.syncColumnOrderVisuals?.()}resetColumnWidths(){let e=this.deps.columnModel.resetColumnsWidth();return e.length!==0&&(this.syncColumnLayoutAfterResize(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns(),this.deps.eventBus.emit(`columnResized`,Zg(e.map(e=>({colId:e})),this.deps.columnModel,!0,`api`)),this.deps.clearCellSelection?.(),!0)}finishColumnMove(e){let t=this.deps.columnModel.getColumns(),n=t.findIndex(t=>t.colId===e);n<0||(this.deps.clearCellSelection?.(),this.deps.syncColumnOrderVisuals?.(),this.deps.eventBus.emit(`columnMoved`,{columnOrder:t.map(e=>e.colId),fromColId:e,toIndex:n,finished:!0}))}setColumnMoveLiveDragging(e){this.deps.rootEl.classList.toggle(`magic-grid--column-move-live`,e)}syncColumnMovePresentationClasses(){this.deps.rootEl.classList.toggle(`magic-grid--suppress-column-move-animation`,this.columnMoveOptions.suppressColumnMoveAnimation)}},GD=class{deps;constructor(e){this.deps=e}setFilterModel(e){this.deps.rowModel.setFilterModel(e),this.afterFilterPipelineChange()}getFilterModel(){return this.deps.rowModel.getFilterModel()}getColumnFilter(e){return this.deps.rowModel.getFilterModel()[e]??null}getColumnDistinctFilterValues(e){let t=this.deps.columnModel.getColumnById(e);return t?.filterable?bi({rows:this.deps.rowModel.getSourceRows(),colId:e,filterType:t.filterType,getFilterValue:t=>this.getColumnFilterValue(t,e)}):[]}isColumnFilterActive(e){return li(e,this.deps.rowModel.getFilterModel())}isAnyFilterActive(){return ui(this.deps.rowModel.getFilterModel(),this.deps.rowModel.getQuickFilterText())}getQuickFilterText(){return this.deps.rowModel.getQuickFilterText()}setQuickFilterText(e){this.deps.rowModel.getQuickFilterText()!==e&&(this.deps.rowModel.setQuickFilterText(e),this.afterFilterPipelineChange())}clearAllFilters(){this.isAnyFilterActive()&&(this.deps.rowModel.setFilterModel({}),this.deps.rowModel.setQuickFilterText(``),this.afterFilterPipelineChange())}setColumnFilter(e,t){let n={...this.deps.rowModel.getFilterModel()};t===null?delete n[e]:n[e]=t,this.setFilterModel(n)}refreshFloatingFilter(){this.renderFloatingFilter(()=>this.deps.columnViewport.getWindow())}renderFloatingFilter(e){let t=this.deps.getFloatingFilterController();t&&(t.syncRowLayout(),t.render(e()))}syncFloatingFilterFromFilterModel(){this.deps.getFloatingFilterController()?.syncFromFilterModel()}getColumnFilterValue(e,t){let n=this.deps.columnModel.getColumnById(t);return n?uv(e,n):e.data[t]}afterFilterPipelineChange(){this.deps.rowModel.repositionDisplayRows();let e=this.deps.getViewport();e.syncViewportHeight(),this.deps.valueCache.bump(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),this.deps.refreshCellSpans(),this.deps.reconcileRowPoolAfterDisplayChange(),e.redrawImmediately(),this.deps.rowRenderer.refreshRows({force:!0}),this.deps.refreshHierarchyCellVisuals?.(),e.refreshHeaderIndicatorState(),this.syncFloatingFilterFromFilterModel(),this.deps.applySelectionVisuals(),this.deps.clearCellSelection?.(),this.deps.refreshOverlay?.(),this.emitFilterChanged(),this.deps.refreshFooter()}emitFilterChanged(){this.deps.eventBus.emit(`filterChanged`,{filterModel:this.deps.rowModel.getFilterModel(),quickFilterText:this.deps.rowModel.getQuickFilterText()})}};function KD(e,t){return e===t}function qD(e,t,n){return e.length===0||!KD(t,n)?[]:[...e]}function JD(e){return e.rowKind==null||e.rowKind===`BUSINESS`}function YD(e,t){let n=e[t];if(!n||!B(n))return[];let r=n.treeLevel??0,i=[];for(let n=t+1;n<e.length;n+=1){let t=e[n];if((t.treeLevel??0)<=r)break;JD(t)&&i.push(t.id)}return i}function XD(e,t){let n=e.findIndex(e=>e.id===t);if(n<0)return[];let r=e[n].treeLevel??0,i=[];for(let t=n+1;t<e.length;t+=1){let n=e[t],a=n.treeLevel??0;if(a<=r)break;a===r+1&&JD(n)&&i.push(n.id)}return i}function ZD(e,t){let n=new Set;for(let r=0;r<e.length;r+=1){let i=e[r];if(!B(i)||i.treeLeaf===!0)continue;let a=XD(e,i.id);if(a.length===0)continue;let o=a.filter(e=>t.has(e)).length;o!==0&&(o<a.length||!t.has(i.id))&&n.add(i.id)}return n}function QD(e){if(!e.groupSelectsChildren)return!1;let t=e.displayRows.findIndex(t=>t.id===e.rowId);if(t<0)return!1;let n=!1,r=YD(e.displayRows,t);for(let t of r){if(e.selected){e.selectedIds.has(t)||(e.selectedIds.add(t),n=!0);continue}e.selectedIds.delete(t)&&(n=!0)}return n}function $D(e,t){let n=!1;for(let r=e.length-1;r>=0;--r){let i=e[r];if(!B(i)||i.treeLeaf===!0)continue;let a=XD(e,i.id);if(a.length===0)continue;let o=a.filter(e=>t.has(e)).length,s=o===a.length,c=t.has(i.id);if(s&&!c){t.add(i.id),n=!0;continue}!s&&c&&o>0||!s&&c&&o===0&&(t.delete(i.id),n=!0)}return n}var eO=class{deps;getDefaultSelectedRowsRuntime;selectableFn;reserveSelection;pendingDefaultSelection=null;presetSelectionEmitQueued=!1;presetSelectionEmitRevision=0;presetTransientNotifyPending=!1;constructor(e,t,n,r){this.deps=e,this.getDefaultSelectedRowsRuntime=r,this.selectableFn=t,this.reserveSelection=n}clearPendingDefaultSelectedRows(){this.presetSelectionEmitRevision+=1,this.presetTransientNotifyPending=!1,this.pendingDefaultSelection=null}flushPendingPresetTransientSelectionNotify(){!this.presetTransientNotifyPending||!this.pendingDefaultSelection||(this.presetTransientNotifyPending=!1,this.queuePresetSelectionChangedEmit())}queuePresetSelectionChangedEmit(){if(!this.pendingDefaultSelection||!this.deps.selectionService||this.presetSelectionEmitQueued)return;let e=this.presetSelectionEmitRevision;this.presetSelectionEmitQueued=!0,queueMicrotask(()=>{this.presetSelectionEmitQueued=!1,!(e!==this.presetSelectionEmitRevision||!this.pendingDefaultSelection||!this.deps.selectionService)&&(this.presetTransientNotifyPending=!1,this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`preset`}))})}setSelectable(e){this.selectableFn=bg(e),this.deps.rowRenderer.setIsRowNodeSelectable(e=>this.isRowNodeSelectable(e)),this.applySelectionVisuals()}setReserveSelection(e){this.reserveSelection=e}setDefaultSelectedRows(e,t={},n){let r=n??this.getDefaultSelectedRowsRuntime(),i=t.mode??`cover`;!r.rowSelectionEnabled||!this.deps.selectionService||(this.pendingDefaultSelection={input:e,mode:i},this.reconcilePendingDefaultSelectedRows(r))}reconcilePendingDefaultSelectedRows(e){let t=e??this.getDefaultSelectedRowsRuntime();if(!this.pendingDefaultSelection||!t.rowSelectionEnabled||!this.deps.selectionService)return;let{input:n,mode:r}=this.pendingDefaultSelection,i=Hd(n,t.getResolveContext()),a=this.resolvePresetTargetRowIds(i);if(a.length===0&&r===`merge`)return;this.deps.selectionService.isMultiple()||(i.length,a=a.slice(0,1));let o;if(r===`merge`){if(o=new Set([...this.deps.selectionService.getSelectedRowIds(),...a]),!this.deps.selectionService.isMultiple()&&o.size>1){let e=a[0]??[...o][0];o=new Set(e==null?[]:[e])}}else o=new Set(a);let s=[...o],c=this.deps.selectionService.getSelectedRowIds();if(!(s.length!==c.length||s.some(e=>!c.includes(e))))return;let l=s.length>0?this.deps.rowModel.getRowIndexById(s[0]):-1;this.deps.selectionService.replaceWithRowIds(s,l),this.syncTreeSelectionCascade(),this.applySelectionVisuals(),this.shouldDeferPresetSelectionChangedEmit(s)?this.presetTransientNotifyPending=!0:(this.presetTransientNotifyPending=!1,this.queuePresetSelectionChangedEmit())}shouldDeferPresetSelectionChangedEmit(e){if(e.length===0)return!1;for(let t of e){let e=this.deps.rowModel.getRowById(t);if(!e)return!1;let n=e.data[this.deps.rowKey];if(n==null||n===``)return!0}return!1}resolvePresetTargetRowIds(e){let n=[],r=new Set;for(let i of e){let e=t.m(i);if(r.has(e))continue;r.add(e);let a=this.deps.rowModel.getRowById(e)??this.deps.rowModel.resolveRowById(e);!a||!this.isRowNodeSelectable(a)||n.push(a.id)}return n}toggleRowSelection(e,n,r){if(!this.deps.selectionService)return;let i=t.h(e),a=!1,o=this.deps.selectionService.isMultiple(),s=[];for(let e of i){let t=this.deps.rowModel.getRowById(e);if(!t)continue;let i=this.deps.selectionService.isSelected(e),c=r===!0||this.isRowNodeSelectable(t),l=!1;if(n===void 0)if(i){if(!c)continue;this.deps.selectionService.removeRowIds([e])&&(l=!0)}else c&&(o?this.deps.selectionService.addRowId(e,t.rowIndex)&&(l=!0):this.deps.selectionService.replaceWithRowIds([e],t.rowIndex)&&(l=!0));else if(n){if(i||!c)continue;o?this.deps.selectionService.addRowId(e,t.rowIndex)&&(l=!0):this.deps.selectionService.replaceWithRowIds([e],t.rowIndex)&&(l=!0)}else if(i){if(!c)continue;this.deps.selectionService.removeRowIds([e])&&(l=!0)}l&&(a=!0,s.push({rowId:e,rowIndex:t.rowIndex}))}a&&(this.syncTreeSelectionCascade(s),this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`api`}))}handleInteractiveRowSelection(e,t){this.deps.selectionService&&this.syncTreeSelectionCascade({rowId:e,rowIndex:t})}syncTreeSelectionCascade(e){if(!this.deps.selectionService||!this.deps.isTreeActive?.()||!this.deps.groupSelectsChildren?.())return;let t=this.deps.rowModel.rowsToDisplay,n=new Set(this.deps.selectionService.getSelectedRowIds()),r=e==null?[]:Array.isArray(e)?[...e]:[e];for(let{rowId:e}of r)QD({displayRows:t,rowId:e,selected:n.has(e),groupSelectsChildren:!0,selectedIds:n});$D(t,n),this.deps.selectionService.replaceWithRowIds([...n],r.length>0?r[r.length-1].rowIndex:-1)}setIndexFocus(e,n={}){if(!this.deps.indexFocusService)return;let r=t.h(e).map(e=>{let t=this.deps.rowModel.getRowIndexById(e);return t>=0?{id:e,rowIndex:t}:null}).filter(e=>e!=null),i=!1;if(r.length===0?(i=this.deps.indexFocusService.getFocusedRowIds().length>0,i&&this.deps.indexFocusService.clear()):i=this.deps.indexFocusService.isMultiple()?this.deps.indexFocusService.replaceWithRowIds(r.map(e=>e.id),r[0].rowIndex):this.deps.indexFocusService.replaceWithRowIds([r[0].id],r[0].rowIndex),!i)return;let a=(n.mode??`default`)===`manual`?{syncToSelectionColumn:n.syncToSelectionColumn??!1}:{};this.applyIndexFocusVisuals(a),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()})}toggleAllSelection(e){if(!this.deps.selectionService)return;let t=this.deps.rowModel.getRowCount(),n=e=>this.getSelectableRowIdAt(e),r=!1;r=e===void 0?this.deps.selectionService.toggleSelectAllVisibleRows(t,n):e?this.deps.selectionService.selectAllVisibleRows(t,n):this.deps.selectionService.deselectAllVisibleRows(t,n),r&&(this.syncTreeSelectionCascade(),this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`api`}))}clearRowSelection(e={}){if(!this.deps.selectionService)return;let t=e.scope??`all`,n=!1;if(t===`all`)n=this.deps.selectionService.getSelectedRowIds().length>0,n&&this.deps.selectionService.clear();else{let e=new Set(this.deps.rowModel.rowsToDisplay.map(e=>e.id)),t=this.deps.selectionService.getSelectedRowIds().filter(t=>e.has(t));t.length>0&&(n=this.deps.selectionService.removeRowIds(t))}n&&(this.syncTreeSelectionCascade(),this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`api`}))}isRowNodeSelectable(e){return L(e)||Ue(e)||e.__infiniteBlockState!=null&&e.__infiniteBlockState!==`loaded`?!1:xg(this.selectableFn,e,this.deps.rowKey)}getSelectableRowIdAt(e){let t=this.deps.rowModel.getRow(e);if(!(!t||!this.isRowNodeSelectable(t)))return t.id}applySelectionVisuals(){if(!this.deps.selectionService)return;let e=new Set(this.deps.selectionService.getSelectedRowIds()),t=this.deps.isTreeActive?.()?ZD(this.deps.rowModel.rowsToDisplay,e):new Set;this.deps.rowRenderer.refreshSelection(e,t),Hp(this.deps.mountEl,{selectionColumnOptions:this.deps.selectionColumnOptions,selectedIds:e,indeterminateIds:t,rowModel:this.deps.rowModel}),this.deps.applyCellRangeVisuals?.()}refreshSelectionAfterDataChange(){this.reconcilePendingDefaultSelectedRows(),this.applySelectionVisuals()}applyIndexFocusVisuals(e={}){if(!this.deps.indexFocusService)return;let t=new Set(this.deps.indexFocusService.getFocusedRowIds());this.deps.rowRenderer.refreshIndexFocus(t),this.shouldSyncIndexFocusToSelection(e)&&this.syncIndexFocusToSelection()}onRowsRemoved(e){this.deps.selectionService?.removeRowIds(e)&&(this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`api`})),this.deps.indexFocusService?.removeRowIds(e)&&(this.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()}))}finalizePromoteRowId(e,t){let n=this.pendingDefaultSelection!=null,r=!1;this.deps.selectionService?.migrateRowId(e,t)&&(r=!0,this.applySelectionVisuals(),n||this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`api`})),this.deps.indexFocusService?.migrateRowId(e,t)&&(this.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()})),this.reconcilePendingDefaultSelectedRows(),n&&r&&this.queuePresetSelectionChangedEmit()}reconcileSelectionAfterSetData(e,t){let n=!this.reserveSelection&&t;if(e&&this.deps.selectionService){let t=e.filter(e=>this.deps.rowModel.getRowById(e));n||=this.deps.selectionService.replaceWithRowIds(t)}return n}shouldSyncIndexFocusToSelection(e){return e.syncToSelectionColumn===!1?!1:e.syncToSelectionColumn===!0||this.deps.indexColumnOptions.indexColumn.syncToSelectionColumn}syncIndexFocusToSelection(){if(!this.deps.indexFocusService||!this.deps.selectionService)return;let e=this.deps.indexColumnOptions.indexColumn.focusMode,t=this.deps.selectionColumnOptions.mode;if(!KD(e,t))return;let n=this.deps.indexFocusService.getFocusedRowIds();if(n.length===0){if(!this.deps.selectionService.replaceWithRowIds([],-1))return;this.applySelectionVisuals(),this.deps.applyCellRangeVisuals?.(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`ui`});return}let r=qD(n,e,t).filter(e=>{let t=this.deps.rowModel.getRowIndexById(e);if(t<0)return!1;let n=this.deps.rowModel.getRow(t);return n?this.isRowNodeSelectable(n):!1});r.length!==0&&this.deps.selectionService.replaceWithRowIds(r,this.deps.indexFocusService.getAnchorIndex())&&(this.applySelectionVisuals(),this.deps.applyCellRangeVisuals?.(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds(),source:`ui`}))}};function tO(e){return{id:e,data:{},rowHeight:0,rowTop:0,rowIndex:0,sourceIndex:0,estimated:!1,isTransient:!0}}function nO(e,t){return e===`display`||t.hasSortOrFilter?t.displayRows.length:t.sourceRows.length}function rO(e,t,n){let r=nO(t,n),i=r;return e.map(e=>{if(e.index===void 0){let t={...e,index:i};return i+=1,t}let t=e.index;return t>r&&(t=r),i=Math.max(i,t+1),{...e,index:t}})}function iO(e){return e.map((e,t)=>({item:e,sortIndex:e.index,originalOrder:t}))}function aO(e){return[...e].sort((e,t)=>t.sortIndex===e.sortIndex?t.originalOrder-e.originalOrder:t.sortIndex-e.sortIndex).map(({item:e,sortIndex:t})=>({data:e.row,index:t}))}function oO(e,t,n){let r=[...e].sort((e,t)=>e.sortIndex===t.sortIndex?e.originalOrder-t.originalOrder:e.sortIndex-t.sortIndex),i=[...n.sourceRows],a=[...n.displayRows],o=[];for(let{item:e}of r){let r=rd({sourceRows:i,displayRows:a,sortModelLength:+!!n.hasSortOrFilter,filterModelKeyCount:+!!n.hasSortOrFilter}),s=id(e.index,t,r);if(s===void 0)continue;o.push({data:e.row,index:s});let c=tO(`__mg_add_rows_by_array_${o.length}`);if(i=eu(i,[c],s),t===`display`&&n.hasSortOrFilter){let t=id(e.index,`display`,r);t!==void 0&&(a=eu(a,[c],t))}else a=eu(a,[c],s)}return o}function sO(e,t,n,r=`desc`){if(e.length===0)return{};let i=iO(rO(e,t,n));return{add:r===`asc`?oO(i,t,n):aO(i)}}function cO(e){let t=[],n=e;for(;n.includes(ce);){let e=n.lastIndexOf(ce),r=(e===0?n:n.slice(e)).match(/^group::L(\d+)::([^:]+)::(.+)$/);if(!r)break;t.unshift({level:Number.parseInt(r[1],10),field:decodeURIComponent(r[2]),key:decodeURIComponent(r[3])}),n=e===0?``:n.slice(0,e-2)}return t}function lO(e,t){for(let n of e){let e=n.leafGroupPathKey;if(e&&(e===t||e.endsWith(`/${t}`)))return e}return null}function uO(e,t,n){if(e.length===0||e.length>t.length)return null;let r=[],i=[],a;for(let o=0;o<e.length;o+=1){let s=e[o],c=t[o];if(!c)return null;let l=n(c)??s.field,u=Ne(s.key),d=Pe(o,l,u,a);r.push(d),i.push({field:l,key:u}),a=d}return{leafGroupId:r[r.length-1],groupPathKey:Fe(r),groupPath:i,groupIds:r}}function dO(e,t){return uO(e.map((e,t)=>({level:t,field:e.field,key:e.key})),t.rowGroupColumns,t.getColumnField)}function fO(e,t,n){let r=t.getGroupedTreeRoots?Xl(t.getGroupedTreeRoots(),e):void 0;if(r?.groupId){let e=uO(cO(r.groupId),t.rowGroupColumns,t.getColumnField);if(e)return e}let i=lO(n,e),a=uO(cO(e),t.rowGroupColumns,t.getColumnField);return!a||i&&a.groupPathKey!==i?null:a}function pO(e,t,n=[]){return`groupPath`in e?dO(e.groupPath,t):fO(e.groupId,t,n)}function mO(e){return e===`(Blanks)`?null:e}function hO(e,t){let n={...e};for(let e of t)n[e.field]=mO(e.key);return n}function gO(e,t,n){let{sourceRows:r,displayRows:i,hasSortOrFilter:a}=n;if(t===`display`||a){let t=0;for(let n of i)z(n)&&r.find(e=>e.id===n.id)?.leafGroupPathKey===e&&(t+=1);return t}return r.filter(t=>t.leafGroupPathKey===e).length}function _O(e){let{sourceRows:t,displayRows:n,groupPathKey:r,withinGroupIndex:i,indexMode:a,hasSortOrFilter:o}=e,s=[];for(let e=0;e<t.length;e+=1)t[e]?.leafGroupPathKey===r&&s.push(e);if(a===`display`&&o){let e=[];for(let i=0;i<n.length;i+=1){let a=n[i];z(a)&&t.find(e=>e.id===a.id)?.leafGroupPathKey===r&&e.push(i)}let a=Math.max(0,Math.min(i,e.length));if(e.length===0)return t.length;if(a===e.length){let r=n[e[e.length-1]],i=t.findIndex(e=>e.id===r?.id);return i>=0?i+1:t.length}let o=n[e[a]],s=t.findIndex(e=>e.id===o?.id);return s>=0?s:t.length}let c=Math.max(0,Math.min(i,s.length));return s.length===0?t.length:c===s.length?s[s.length-1]+1:s[c]}function vO(e,t,n){if(e.rows.length===0)return{transaction:{},expandGroupIds:[]};let r=pO(e.target,n,t.sourceRows);if(!r)return{transaction:{},expandGroupIds:[]};let i=e.indexMode??`source`,a=gO(r.groupPathKey,i,t),o=e.index??a,s=_O({sourceRows:t.sourceRows,displayRows:t.displayRows,groupPathKey:r.groupPathKey,withinGroupIndex:o,indexMode:i,hasSortOrFilter:t.hasSortOrFilter});return{transaction:{add:e.rows.map((e,t)=>({data:hO(e.data,r.groupPath),index:s+t}))},expandGroupIds:r.groupIds}}function yO(e){return{id:e,data:{},rowHeight:0,rowTop:0,rowIndex:0,sourceIndex:0,estimated:!1,isTransient:!0}}function bO(e,t,n,r){let i=new Map,a=[];return e.forEach((e,o)=>{let s=pO(e.target,r,n.sourceRows);if(!s)return;let c=gO(s.groupPathKey,t,n),l=i.get(s.groupPathKey)??c,u=e.index;u===void 0?(u=l,l+=1):(u>c&&(u=c),l=Math.max(l,u+1)),i.set(s.groupPathKey,l),a.push({item:{...e,index:u},resolved:s,globalInsertIndex:_O({sourceRows:n.sourceRows,displayRows:n.displayRows,groupPathKey:s.groupPathKey,withinGroupIndex:u,indexMode:t,hasSortOrFilter:n.hasSortOrFilter}),originalOrder:o})}),a}function xO(e){let t=new Set;for(let n of e)for(let e of n.resolved.groupIds)t.add(e);return[...t]}function SO(e){return[...e].sort((e,t)=>t.globalInsertIndex===e.globalInsertIndex?t.originalOrder-e.originalOrder:t.globalInsertIndex-e.globalInsertIndex).map(({item:e,resolved:t,globalInsertIndex:n})=>({data:hO(e.row,t.groupPath),index:n}))}function CO(e,t,n){let r=[...e].sort((e,t)=>e.globalInsertIndex===t.globalInsertIndex?e.originalOrder-t.originalOrder:e.globalInsertIndex-t.globalInsertIndex),i=[...t.sourceRows],a=[...t.displayRows],o=[];for(let{item:e,resolved:s}of r){let r=rd({sourceRows:i,displayRows:a,sortModelLength:+!!t.hasSortOrFilter,filterModelKeyCount:+!!t.hasSortOrFilter}),c=_O({sourceRows:r.sourceRows,displayRows:r.displayRows,groupPathKey:s.groupPathKey,withinGroupIndex:e.index,indexMode:n,hasSortOrFilter:t.hasSortOrFilter});o.push({data:hO(e.row,s.groupPath),index:c});let l=yO(`__mg_add_group_rows_by_array_${o.length}`);i=eu(i,[l],c),a=eu(a,[l],c)}return o}function wO(e,t,n,r){if(e.length===0)return{transaction:{},expandGroupIds:[]};let i=t?.indexMode??`source`,a=t?.order??`desc`,o=bO(e,i,n,r);return o.length===0?{transaction:{},expandGroupIds:[]}:{transaction:{add:a===`asc`?CO(o,n,i):SO(o)},expandGroupIds:xO(o)}}function TO(e,t){let n=e.indexMode??`source`,r=id(e.index,n,t);return{add:e.rows.map((e,t)=>({data:e.data,index:r===void 0?void 0:r+t}))}}function EO(e,n){let r=new Set(t.g(e.rowIds)??[]);if(e.indexes?.length){let t=e.indexMode??`source`;for(let i of ad(e.indexes,t,n))r.add(i)}return r.size===0?{}:{remove:[...r]}}function DO(e){return e.rows.length===0?{}:{update:e.rows.map(e=>e.rowId!==void 0&&e.rowId!==null?{data:{...e.data},rowId:String(e.rowId)}:{...e.data})}}function OO(e){return e.remove?.length?e.remove.filter(e=>typeof e==`string`):[]}function kO(e,n,r){return{rows:e.map(e=>({rowId:e.id,rowIndex:r(e.id),data:t.N(e,n),isTransient:e.isTransient??!1}))}}function AO(e,n){return{rows:e.map(e=>({rowId:e.id,data:t.N(e,n)}))}}function jO(e,n,r){return{oldRowId:e,newRowId:n.id,data:t.N(n,r)}}var MO=class{deps;pendingTransaction=null;pendingUpdateRefreshNewData=!1;rowMoveService;constructor(e){this.deps=e,this.rowMoveService=new rx({getSourceRows:()=>this.deps.rowModel.getSourceRows(),getDisplayRows:()=>this.deps.rowModel.rowsToDisplay,getSortModelLength:()=>this.deps.rowModel.getSortModel().length,getFilterModelKeyCount:()=>Object.keys(this.deps.rowModel.getFilterModel()).length,isSortOrFilterActive:()=>this.deps.rowModel.getSortModel().length>0||this.deps.filterOps.isAnyFilterActive(),setSourceRows:e=>this.deps.rowModel.setSourceRows(e),emitRowMoved:e=>this.deps.eventBus.emit(`rowMoved`,e),isRowGroupingActive:()=>this.deps.isRowGroupingActive?.()??!1,isTreeActive:()=>this.deps.isTreeActive?.()??!1,getTreeDragScope:()=>this.deps.getTreeDragScope?.()??`siblings`,getDataPath:()=>this.deps.getDataPath?.(),setDataPath:()=>this.deps.setDataPath?.()})}async applyTransaction(e){e.newData&&(this.pendingUpdateRefreshNewData=!0);let t=this.collectAsyncMutationLoadingRowIds(e),n=async()=>{let t=await hx(e,{rowKey:this.deps.rowKey,handlers:this.deps.asyncRowMutation,getRowById:e=>this.deps.rowModel.getRowById(e),sourceRows:this.deps.rowModel.getSourceRows()}),n=OO(t);if(n.length>0){this.prepareRemoveRows(new Set(n));let e=this.commitTransaction(t);return this.finalizeRemoveRows(new Set(n)),e}return this.commitTransaction(t)};return t.length===0?n():this.withAsyncMutationLoading(t,n)}commitTransaction(e){e.newData&&(this.pendingUpdateRefreshNewData=!0),this.recordMutationChannelChanges(e);let t=this.deps.rowModel.applyTransaction(e);return this.deps.viewport.syncViewportHeight(),this.queueTransactionFlush(t),t}recordRowDataChange=e=>{this.deps.rowDataChangeTracker.record(e)};async addRows(e){let t=TO(e,this.createRowIndexContext());return this.applyTransaction(t)}async addRowsByArray(e,t){if(e.length===0)return{add:[],remove:[],update:[]};let n=t?.indexMode??`source`,r=t?.order??`desc`,i=sO(e,n,this.createRowIndexContext(),r);return this.applyTransaction(i)}async addGroupRows(e){let t=this.requireGroupInsertDeps(`addGroupRows`),{transaction:n,expandGroupIds:r}=vO(e,this.createRowIndexContext(),t);if(!n.add?.length)return{add:[],remove:[],update:[]};let i=await this.applyTransaction(n);return this.expandTargetGroups(r),i}async addGroupRowsByArray(e,t){if(e.length===0)return{add:[],remove:[],update:[]};let n=this.requireGroupInsertDeps(`addGroupRowsByArray`),{transaction:r,expandGroupIds:i}=wO(e,t,this.createRowIndexContext(),n);if(!r.add?.length)return{add:[],remove:[],update:[]};let a=await this.applyTransaction(r);return this.expandTargetGroups(i),a}async removeRows(e){let n=EO(e.rowIds?{...e,rowIds:t.g(e.rowIds)}:e,this.createRowIndexContext());return OO(n).length===0?{add:[],remove:[],update:[]}:this.applyTransaction(n)}async updateRows(e){if(e.rows.length===0)return{add:[],remove:[],update:[]};e.newData&&(this.pendingUpdateRefreshNewData=!0);let t=DO(e);return this.applyTransaction(t)}moveRowSync(e,t=`api`){this.deps.beginRowOrderVisualCapture?.();let n=this.rowMoveService.moveRow(e,t);return n.moved&&this.afterRowOrderChanged(),n}moveRowsSync(e,t=`api`){this.deps.beginRowOrderVisualCapture?.();let n=this.rowMoveService.moveRows(e,t);return n.moved&&this.afterRowOrderChanged(),n}async moveRow(e,t=`api`){if(!(t===`api`&&this.deps.asyncRowMutation?.move))return this.moveRowSync(e,t);this.deps.beginRowOrderVisualCapture?.();let n=this.rowMoveService.moveRow({...e,deferCommit:!0},t);if(!n.moved||!n.commitPlan)return n;let r=n.moves??n.commitPlan.moves;await this.withAsyncMutationLoading([e.rowId],()=>_x({rowIds:[e.rowId],leaderRowId:e.rowId,toIndex:e.toIndex,indexMode:e.indexMode,moves:r,source:t},{handlers:this.deps.asyncRowMutation,getRowById:e=>this.deps.rowModel.getRowById(e)})),this.rowMoveService.commitPlan(n.commitPlan),this.afterRowOrderChanged();let{commitPlan:i,...a}=n;return a}async moveRows(e,t=`api`){if(!(t===`api`&&this.deps.asyncRowMutation?.move))return this.moveRowsSync(e,t);this.deps.beginRowOrderVisualCapture?.();let n=this.rowMoveService.moveRows({...e,deferCommit:!0},t);if(!n.moved||!n.commitPlan)return n;let r=n.moves??n.commitPlan.moves;await this.withAsyncMutationLoading(e.rowIds,()=>_x({rowIds:e.rowIds,leaderRowId:e.leaderRowId,toIndex:e.toIndex,indexMode:e.indexMode,moves:r,source:t},{handlers:this.deps.asyncRowMutation,getRowById:e=>this.deps.rowModel.getRowById(e)})),this.rowMoveService.commitPlan(n.commitPlan),this.afterRowOrderChanged();let{commitPlan:i,...a}=n;return a}finishRowMove(e,t=`uiRowDrag`){this.finishRowMoves([e],t)}finishRowMoves(e,t=`uiRowDrag`,n){let r=this.deps.rowModel.getSourceRows();for(let i of e){let e=r.findIndex(e=>e.id===i);if(e<0)continue;let a=n?.startSourceIndices?.get(i)??e,o=n?.resolveTreeDrop?.(i),s=o?.siblingIndex!==void 0&&o.treeLevel!==void 0?{parentRowId:o.parentRowId??null,siblingIndex:o.siblingIndex,treeLevel:o.treeLevel}:K(r,i)??void 0;if(!Vb({fromIndex:a,toIndex:e,startTreePosition:n?.startTreePositions?.get(i),currentTreePosition:s}))continue;let c=n?.displayIndex!==void 0||o?{displayIndex:n?.displayIndex,...o}:void 0;this.deps.eventBus.emit(`rowMoved`,Pa(i,a,e,t,!0,c))}}applyRowDragPlan(e,t=`uiRowDrag`){this.deps.beginRowOrderVisualCapture?.(),this.deps.rowModel.setSourceRows([...e.rows]),this.afterRowOrderChanged();for(let n of e.moves)this.deps.eventBus.emit(`rowMoved`,Pa(n.rowId,n.fromIndex,n.toIndex,t,!0,_d(e.rows,n.rowId,e.treeDrop?.displayIndex)??e.treeDrop))}afterRowOrderChanged(){this.deps.viewport.syncViewportHeight(),this.deps.refreshCellSpans(),this.deps.valueCache.bump(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),this.deps.reconcileRowPoolAfterDisplayChange(),this.deps.rowRenderer.resetRowRenderWindowCache(),this.deps.viewport.redrawImmediately(),this.deps.rowRenderer.syncVisibleRowLayouts(),this.deps.rowRenderer.refreshRows({force:!0}),this.deps.selectionOps.refreshSelectionAfterDataChange(),this.deps.finishRowOrderVisualSync?.(),this.deps.refreshFooter()}getData(e){let n=e?.sourceOrder===!1?this.deps.rowModel.rowsToDisplay:this.deps.rowModel.getSourceRows();return t.M(n,this.deps.rowModel.getRowKey())}promoteRowId(e){let n=t.m(e.rowId),{businessId:r}=e;if(this.deps.isEditingTargetRow(n))return{ok:!1,reason:`Row is being edited`};let i=this.deps.rowModel.promoteRowId(n,r);if(!i.ok)return i;this.finalizePromoteRowId(n,i.rowId,r);let a=this.deps.rowModel.getRowById(i.rowId);return a&&this.deps.eventBus.emit(`rowIdPromoted`,jO(n,a,this.deps.rowModel.getRowKey())),{ok:!0,rowId:t.D(i.rowId,{rowKey:this.deps.rowModel.getRowKey(),getRowById:e=>this.deps.rowModel.resolveRowById(e)})}}beginUpdate(){this.deps.changeDetection.beginDeferred()}endUpdate(){this.deps.changeDetection.endDeferred(()=>{this.flushPendingTransaction()})}createRowIndexContext(){return rd({sourceRows:this.deps.rowModel.getSourceRows(),displayRows:this.deps.rowModel.rowsToDisplay,sortModelLength:this.deps.rowModel.getSortModel().length,filterModelKeyCount:Object.keys(this.deps.rowModel.getFilterModel()).length})}requireGroupInsertDeps(e){if(!this.deps.isRowGroupingActive?.())throw Error(`${e} requires rowGrouping to be enabled`);let t=this.deps.getGroupInsertDeps?.();if(!t)throw Error(`${e} requires rowGrouping to be enabled`);return t}expandTargetGroups(e){e.length!==0&&this.deps.expandGroups?.(e)}prepareRemoveRows(e){this.deps.cellEditing.cancelEditingForRemovedRows(e),this.deps.cellEditing.clearRowValidation({rowIds:[...e]})}finalizeRemoveRows(e){let t=this.deps.cellFocusService.getFocusedCell();t&&e.has(t.rowId)&&(this.deps.cellFocusService.clear(),this.deps.applyFocusVisuals()),this.deps.selectionOps.onRowsRemoved(e)}finalizePromoteRowId(e,t,n){this.deps.rowRenderer.migrateRowId(e,t),this.deps.validationFeedback.migrateRowId(e,t,this.deps.mountEl),this.deps.migrateCellEditorCacheOnPromoteRowId(e,n);let r=this.deps.cellFocusService.getFocusedCell();r?.rowId===e&&(this.deps.cellFocusService.setFocusedCell({...r,rowId:t}),this.deps.applyFocusVisuals()),this.deps.selectionOps.finalizePromoteRowId(e,t);let i=this.deps.rowModel.getSortModel().length>0||this.deps.filterOps.isAnyFilterActive();if(this.deps.refreshCellSpans(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),i){this.deps.reconcileRowPoolAfterDisplayChange(),this.deps.viewport.redrawImmediately();return}this.deps.rowRenderer.refreshRows({rowIds:[t],newData:!0}),this.deps.frameService.flushAllFrames()}queueTransactionFlush(e){this.pendingTransaction||={add:[],remove:[],update:[]},this.pendingTransaction.add.push(...e.add),this.pendingTransaction.remove.push(...e.remove),this.pendingTransaction.update.push(...e.update),this.deps.changeDetection.isDeferred()||this.flushPendingTransaction()}flushPendingTransaction(){if(!this.pendingTransaction)return;let e=this.pendingTransaction;this.pendingTransaction=null,this.flushAfterTransaction(e)}flushAfterTransaction(e){let t=this.deps.rowDataChangeTracker.peekPendingColIdsByRow(this.deps.resolveColIdByField),n=e.remove.length>0?e.remove.map(e=>e.id):[];n.length>0&&(this.deps.clearCellEditorCacheForRemovedRows(n),this.deps.clearCellStyleOverridesForRemovedRows(n),this.deps.rowRenderer.releaseRows(n)),this.emitRowMutationEvents(e),this.flushRowDataChangedEvents();let r=e.add.length>0||e.remove.length>0||this.deps.rowModel.getSortModel().length>0||this.deps.filterOps.isAnyFilterActive();if(this.deps.refreshCellSpans(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),e.update.length>0&&this.deps.isCellSpanActive())this.pendingUpdateRefreshNewData=!1,this.deps.rowRenderer.invalidate(),this.deps.viewport.redrawImmediately();else if(r)this.pendingUpdateRefreshNewData=!1,this.deps.rowRenderer.resetRowRenderWindowCache(),this.deps.viewport.redrawImmediately();else if(e.update.length>0){let t=this.pendingUpdateRefreshNewData;this.pendingUpdateRefreshNewData=!1,this.deps.rowRenderer.refreshRows({rowIds:e.update.map(e=>e.id),newData:t||void 0}),this.deps.frameService.flushAllFrames()}else this.pendingUpdateRefreshNewData=!1;e.add.length>0&&this.scrollAddedRowsIntoView(e.add),this.deps.selectionOps.refreshSelectionAfterDataChange(),this.deps.refreshFooter(),this.deps.refreshOverlay?.(),t.size>0&&this.deps.cellEditing.schedulePersistedValidationRefreshForRows(t)}scrollAddedRowsIntoView(e){let t=e[0];if(!t)return;let n=this.deps.rowModel.getRowIndexById(t.id);n<0||this.deps.ensureIndexVisible(n,`middle`)}flushRowDataChangedEvents(){this.deps.rowDataChangeTracker.flush({eventBus:this.deps.eventBus,buildRowSnapshot:this.deps.buildRowSnapshot,resolveColIdByField:this.deps.resolveColIdByField})}recordMutationChannelChanges(e){if(!e.update?.length)return;let t=this.deps.rowKey;for(let n of e.update){let e,r;if(ou(n))r=this.deps.rowModel.getRowById(n.rowId),e=n.data;else{e=n;let i=e[t];r=i==null?this.deps.rowModel.getSourceRows().find(t=>t.data===e):this.deps.rowModel.getRowById(String(i))}if(!(!r||r.data===e))for(let t of Object.keys(e)){let n=r.data[t],i=e[t];Object.is(n,i)||this.deps.rowDataChangeTracker.record({rowNode:r,field:t,colId:this.deps.resolveColIdByField?.(t),oldValue:n,newValue:i,source:`api`})}}}emitRowMutationEvents(e){let t=this.deps.rowModel.getRowKey();e.add.length>0&&this.deps.eventBus.emit(`rowsAdded`,kO(e.add,t,e=>this.deps.rowModel.getSourceRowIndexById(e))),e.remove.length>0&&this.deps.eventBus.emit(`rowsRemoved`,AO(e.remove,t))}async withAsyncMutationLoading(e,t){let n=this.deps.setAsyncMutationLoading;if(!n||e.length===0)return t();n(e,!0);try{return await t()}finally{n(e,!1)}}collectAsyncMutationLoadingRowIds(e){let t=this.deps.asyncRowMutation;if(!t)return[];let n=new Set;if(t.remove&&e.remove?.length)for(let t of OO(e))n.add(t);if(t.update&&e.update?.length)for(let t of e.update){if(ou(t)){let e=this.deps.rowModel.getRowById(t.rowId);e&&n.add(e.id);continue}let e=t[this.deps.rowKey];if(e==null)continue;let r=this.deps.rowModel.getRowById(String(e));r&&n.add(r.id)}return[...n]}};function NO(e){return e==null||e===``||typeof e==`string`&&e.trim()===``}function PO(e){if(typeof e==`number`)return Number.isFinite(e)?e:null;if(typeof e==`string`){let t=e.trim();if(t===``)return null;let n=Number(t);return Number.isFinite(n)?n:null}return null}var FO={count:0,numericCount:0,sum:null,average:null};function IO(e){let{ranges:t,displayedColIds:n,rowKindAt:r,getCellValue:i,normalizePosition:a=(e,t)=>({rowIndex:e,colId:t})}=e;if(t.length===0)return{...FO};let o=new Set,s=0,c=0,l=0;for(let e of t){let t=U(e,n);t&&LO(t,n,(e,t)=>{if(!Ss(t,r(e)))return;let n=a(e,t),u=`${n.rowIndex}:${n.colId}`;if(o.has(u))return;o.add(u);let d=i(n.rowIndex,n.colId);if(NO(d))return;s+=1;let f=PO(d);f!=null&&(c+=1,l+=f)})}return{count:s,numericCount:c,sum:c>0?l:null,average:c>0?l/c:null}}function LO(e,t,n){let r=t.indexOf(e.leftColId),i=t.indexOf(e.rightColId);if(!(r<0||i<0))for(let a=e.top;a<=e.bottom;a++)for(let e=r;e<=i;e++)n(a,t[e])}var RO=[`left`,`center`,`right`];function zO(e,t){let n=RO.filter(t=>e.includes(t)),r=n.indexOf(t);return r<0?{top:!0,right:!0,bottom:!0,left:!0}:{top:!0,bottom:!0,left:r===0,right:r===n.length-1}}function BO(e){return{top:e.top,height:e.height}}function VO(e){return e.fixed??`center`}function HO(e,t,n,r,i=0){let a=t.indexOf(e.leftColId),o=t.indexOf(e.rightColId);if(a<0||o<0)return null;let s=Math.min(a,o),c=Math.max(a,o),l=null,u=null;for(let e=s;e<=c;e++){let i=t[e];if(!i)continue;let a=n.find(e=>e.colId===i);!a||a.hidden||VO(a)===r&&(l||=a,u=a)}return!l||!u?null:{left:l.left-i,width:u.left+u.width-l.left}}function UO(e,t){return e===`right`?t.getLeftFixedWidth()+t.getCenterTotalWidth():0}function WO(e,t){if(t<=0)return null;let n=e.top+e.height,r=Math.max(0,e.top),i=Math.min(t,n)-r;return i<=0?null:{top:r,height:i,lanes:e.lanes}}function GO(e,t,n,r,i,a){let{topRowIndex:o,bottomRowIndex:s}=ov(e,t,a??{rowModel:r,columnModel:n,cellSpanService:null}),c=r.getRow(o),l=r.getRow(s);if(!c||!l)return null;let u=n.getColumns(),d={};for(let r of[`left`,`center`,`right`]){let i=HO(e,t,u,r,UO(r,n));i&&(d[r]=i)}if(Object.keys(d).length===0)return null;let f=c.rowTop,p=l.rowTop+l.rowHeight-c.rowTop,m={top:i.compressedScroll?f-i.scrollTop:f,height:p,lanes:d};return!i.compressedScroll||i.viewportHeight==null?m:WO(m,i.viewportHeight)}function KO(e,t){let n=new Set;for(let r of e){let e=t.indexOf(r.leftColId),i=t.indexOf(r.rightColId);if(e<0||i<0)continue;let a=Math.min(e,i),o=Math.max(e,i);for(let e=a;e<=o;e++){let r=t[e];r&&n.add(r)}}return n}function qO(e){let t=new Set;for(let n of e)for(let e=n.top;e<=n.bottom;e+=1)t.add(e);return t}function JO(e,t){if(t<=0)return{rect:{...e,left:0,width:0},clippedLeft:!0,clippedRight:!0};let n=e.left,r=e.width,i=!1,a=!1;n<0&&(r+=n,n=0,i=!0);let o=n+r-t;return o>0&&(r-=o,a=!0),r<=0?{rect:{...e,left:n,width:0},clippedLeft:i,clippedRight:a}:{rect:{...e,left:n,width:r},clippedLeft:i,clippedRight:a}}function YO(e,t,n){if(n<=0)return{rect:{...e,left:0,width:0},clippedLeft:!0,clippedRight:!0};let r=t,i=t+n;e.left+e.width;let a=e.left,o=e.width,s=!1,c=!1;return a<r&&(o-=r-a,a=r,s=!0),a+o>i&&(o-=a+o-i,c=!0),o<=0?{rect:{...e,left:a,width:0},clippedLeft:s,clippedRight:c}:{rect:{...e,left:a,width:o},clippedLeft:s,clippedRight:c}}function XO(e,t){return{top:e.top,bottom:e.bottom,left:e.left&&!t.clippedLeft,right:e.right&&!t.clippedRight}}function ZO(e,t,n){return __(e,t,n)}function QO(e){return e===`right`}function $O(e,t,n,r,i,a){let o=a??GO(e,t,n,r,i);if(!o)return null;let s=e.rightColId,c=n.getColumnById(s);if(!c||c.hidden)return null;let l=VO(c),u=o.lanes[l];if(!u)return null;let d=u.left+u.width-6/2,{top:f,height:p}=BO(o);return{lane:l,left:d,top:f+p-6/2}}var ek=class{deps;overlayEl=null;overlayLanes=null;pasteFlashOverlayEl=null;pasteFlashLanes=null;pasteFlashCleanupTimer=null;fillHandleEl=null;rangeHandleEl=null;normalizedRanges=[];anchor=null;displayedColIds=[];constructor(e){this.deps=e}refresh(e){this.displayedColIds=e.displayedColIds,this.anchor=e.anchor,this.normalizedRanges=e.ranges.map(t=>U(t,e.displayedColIds)).filter(e=>e!=null),this.syncRangeSelectionVisuals(),this.syncHeaderHighlight(),this.syncIndexColumnHighlight()}clear(){this.normalizedRanges=[],this.anchor=null,this.displayedColIds=[],this.syncRangeSelectionVisuals(),this.syncHeaderHighlight(),this.syncIndexColumnHighlight()}syncRangeSelectionVisuals(){if(!this.deps.isCellSelectionVisualEnabled?.()){this.deps.rowRenderer.setCellRangeVisualState(null,null),this.clearBorderOverlays(),this.clearSelectionHandles();return}this.syncCellClasses(),this.syncBorderOverlays(),this.syncSelectionHandle()}syncCellClasses(){let e=this.displayedColIds,t=this.normalizedRanges,n=this.anchor;if(t.length===0){this.deps.rowRenderer.setCellRangeVisualState(null,null);return}this.deps.rowRenderer.setCellRangeVisualState((n,r)=>t.some(t=>Ms(n,r,t,e)),n)}ensureOverlay(){if(this.overlayEl&&this.overlayLanes)return this.overlayLanes;this.deps.mountEl.querySelectorAll(`.${is}`).forEach(e=>{e.remove()});let e=document.createElement(`div`);e.className=is;let t=t=>{let n=document.createElement(`div`);return n.className=`mg-cell-range-overlay__lane mg-cell-range-overlay__lane--${t}`,e.appendChild(n),n},n={left:t(`left`),center:t(`center`),right:t(`right`)};return this.deps.rowsLayerEl.appendChild(e),this.overlayEl=e,this.overlayLanes=n,n}resolveBandOptions(){let e=this.deps.isCompressedScroll();return{scrollTop:this.deps.getScrollTop(),scrollLeft:this.deps.getScrollLeft(),compressedScroll:e,viewportHeight:e?this.deps.getViewportHeight():void 0}}findCellElement(e,t){let n=this.deps.rowModel.getRow(e);if(!n)return null;let r=tk(n.id),i=tk(t),a=this.deps.mountEl.querySelector(`.mg-row[data-row-id="${r}"] .mg-cell[data-col-id="${i}"]`);return a instanceof HTMLElement?a:null}syncOverlayLaneLayoutFor(e,t){let{leftFixedWidth:n,centerTotalWidth:r,rightFixedWidth:i}=t;e.left.style.width=`${n}px`,e.center.style.width=`${r}px`,e.right.style.width=`${i}px`,e.center.style.position=`relative`,e.center.style.left=``,e.center.style.transform=``}resolveOverlayLaneLayoutParams(){return{leftFixedWidth:this.deps.columnModel.getLeftFixedWidth(),centerTotalWidth:this.deps.columnModel.getCenterTotalWidth(),rightFixedWidth:this.deps.columnModel.getRightFixedWidth()}}syncOverlayRootWidth(e){let t=this.deps.columnModel.getTotalWidth();e.style.left=`0`,e.style.right=`auto`,e.style.width=`${t}px`,e.style.minWidth=`${t}px`}syncOverlayLaneLayout(e){let t=this.overlayLanes;t&&(this.overlayEl&&this.syncOverlayRootWidth(this.overlayEl),this.syncOverlayLaneLayoutFor(t,e))}findRowLaneElement(e,t){let n=this.deps.rowModel.getRow(e);if(!n)return null;let r=this.deps.mountEl.querySelector(`.mg-row[data-row-id="${tk(n.id)}"]`);if(!(r instanceof HTMLElement))return null;let i=r.querySelector(`.mg-row__lane--${t}`);return i instanceof HTMLElement?i:null}resolveLaneContentRectForRange(e,t){return HO(e,this.displayedColIds,this.deps.columnModel.getColumns(),t,UO(t,this.deps.columnModel))}resolveRangeBand(e,t){let n={rowModel:this.deps.rowModel,columnModel:this.deps.columnModel,cellSpanService:this.deps.getCellSpanService?.()??null};return{band:GO(e,this.displayedColIds,this.deps.columnModel,this.deps.rowModel,t,n),domMeasuredLanes:new Set}}syncBorderOverlays(){if(this.normalizedRanges.length===0){this.clearBorderOverlays();return}let e=this.ensureOverlay(),t=this.resolveBandOptions(),{scrollLeft:n}=t,r=this.deps.columnModel.getLeftFixedWidth(),i=this.deps.columnModel.getCenterTotalWidth(),a=this.deps.columnModel.getRightFixedWidth(),o=this.deps.getViewportWidth(),s=ZO(o,r,a),c=o>0&&s>0&&s<i;e.left.replaceChildren(),e.center.replaceChildren(),e.right.replaceChildren(),this.syncOverlayLaneLayout({leftFixedWidth:r,centerTotalWidth:i,rightFixedWidth:a}),e.center.offsetWidth,e.right.offsetWidth;for(let r of this.normalizedRanges){let{band:o}=this.resolveRangeBand(r,t);if(!o)continue;let l=[`left`,`center`,`right`].filter(e=>this.resolveLaneContentRectForRange(r,e)!=null);for(let t of l){let u=this.resolveLaneContentRectForRange(r,t),d=u,f;if(f=t===`center`&&c?YO(u,g_(n,i,s),s):t===`center`||t===`right`?JO(d,t===`center`?i:a):{rect:d,clippedLeft:!1,clippedRight:!1},f.rect.width<=0)continue;let p=XO(zO(l,t),f);t===`center`&&!l.includes(`left`)&&f.clippedLeft&&(p={...p,left:!1});let{top:m,height:h}=BO(o);if(t===`center`){this.appendSegmentedBorder(e[t],p,m,h,f.rect.left,f.rect.width);continue}QO(t)?this.appendSegmentedBorder(e[t],p,m,h,f.rect.left,f.rect.width):this.appendEnvelopeBorder(e[t],p,m,h,f.rect.left,f.rect.width)}}this.ensureOverlayOnTop()}ensureOverlayOnTop(){this.overlayEl?.parentElement===this.deps.rowsLayerEl&&this.deps.rowsLayerEl.appendChild(this.overlayEl)}appendEnvelopeBorder(e,t,n,r,i,a){let o=document.createElement(`div`);o.className=Zo,t.top&&o.classList.add(Qo),t.right&&o.classList.add($o),t.bottom&&o.classList.add(es),t.left&&o.classList.add(ts),o.style.top=`${n}px`,o.style.height=`${r}px`,o.style.left=`${i}px`,o.style.width=`${a}px`,e.appendChild(o)}appendSegmentedBorder(e,t,n,r,i,a){let o=(t,n)=>{let r=document.createElement(`div`);r.className=`${Zo} ${t}`;for(let[e,t]of Object.entries(n))r.style.setProperty(e,t);e.appendChild(r)};t.top&&o(ns,{top:`${n}px`,left:`${i}px`,width:`${a}px`,height:`2px`}),t.bottom&&o(ns,{top:`${n+r-2}px`,left:`${i}px`,width:`${a}px`,height:`2px`}),t.left&&o(rs,{top:`${n}px`,left:`${i}px`,width:`2px`,height:`${r}px`}),t.right&&o(rs,{top:`${n}px`,left:`${i+a-2}px`,width:`2px`,height:`${r}px`})}playCopyFlash(){if(this.normalizedRanges.length===0)return;this.deps.rowRenderer.playCellRangeCopyFlash(),this.ensureOverlay();let e=this.overlayEl;if(!e)return;e.classList.remove(os),e.offsetWidth,e.classList.add(os);let t=()=>{e.classList.remove(os),e.removeEventListener(`animationend`,t)};e.addEventListener(`animationend`,t)}playPasteFlash(e){e.length!==0&&(this.deps.rowRenderer.playCellRangePasteFlash(e),this.playPasteTargetOverlayFlash(e))}measurePasteTargetCellOverlayRect(e,t,n){let r=this.findCellElement(e,t);if(!r)return null;let i=this.deps.columnModel.getColumnById(t);if(!i)return null;let a=i.fixed??`center`,o=n[a],s=r.getBoundingClientRect(),c=o.getBoundingClientRect(),l=s.top-c.top,u=s.left-c.left,d=s.width,f=s.height;return d<=0||f<=0?null:{lane:a,top:l,left:u,width:d,height:f}}playPasteTargetOverlayFlash(e){this.clearPasteFlashOverlay();let t=this.ensurePasteFlashOverlay();this.syncPasteFlashOverlayLayout();let n=[];for(let r of e){let e=this.measurePasteTargetCellOverlayRect(r.rowIndex,r.colId,t);if(!e)continue;let i=document.createElement(`div`);i.className=`${ls} ${r.applied?us:ds}`,i.style.top=`${e.top}px`,i.style.left=`${e.left}px`,i.style.width=`${e.width}px`,i.style.height=`${e.height}px`,t[e.lane].appendChild(i),n.push(i)}n.length!==0&&(this.pasteFlashCleanupTimer=window.setTimeout(()=>{this.pasteFlashCleanupTimer=null;for(let e of n)e.remove()},520))}syncOverlayPosition(){if(this.normalizedRanges.length===0){this.syncPasteFlashOverlayLayout();return}this.syncBorderOverlays(),this.syncSelectionHandle(),this.syncPasteFlashOverlayLayout()}clearPasteFlashOverlay(){this.pasteFlashCleanupTimer!=null&&(window.clearTimeout(this.pasteFlashCleanupTimer),this.pasteFlashCleanupTimer=null),this.pasteFlashLanes?.left.replaceChildren(),this.pasteFlashLanes?.center.replaceChildren(),this.pasteFlashLanes?.right.replaceChildren()}ensurePasteFlashOverlay(){if(this.pasteFlashOverlayEl&&this.pasteFlashLanes)return this.pasteFlashLanes;let e=document.createElement(`div`);e.className=fs;let t=t=>{let n=document.createElement(`div`);return n.className=`mg-cell-range-overlay__lane mg-cell-range-overlay__lane--${t}`,e.appendChild(n),n},n={left:t(`left`),center:t(`center`),right:t(`right`)};return this.deps.rowsLayerEl.appendChild(e),this.pasteFlashOverlayEl=e,this.pasteFlashLanes=n,n}syncPasteFlashOverlayLayout(){let e=this.pasteFlashLanes;e&&(e.left.childElementCount>0||e.center.childElementCount>0||e.right.childElementCount>0)&&(this.syncOverlayLaneLayoutFor(e,this.resolveOverlayLaneLayoutParams()),this.pasteFlashOverlayEl&&this.syncOverlayRootWidth(this.pasteFlashOverlayEl),this.pasteFlashOverlayEl?.parentElement===this.deps.rowsLayerEl&&this.deps.rowsLayerEl.appendChild(this.pasteFlashOverlayEl))}clearBorderOverlays(){this.overlayLanes?.left.replaceChildren(),this.overlayLanes?.center.replaceChildren(),this.overlayLanes?.right.replaceChildren()}ensureFillHandle(){if(this.fillHandleEl)return this.fillHandleEl;let e=document.createElement(`div`);return e.className=ps,e.style.width=`6px`,e.style.height=`6px`,this.fillHandleEl=e,e}clearSelectionHandles(){this.fillHandleEl?.remove(),this.fillHandleEl=null,this.rangeHandleEl?.remove(),this.rangeHandleEl=null}syncSelectionHandle(){let e=this.deps.getCellSelectionOptions?.();if(!e||this.normalizedRanges.length!==1){this.clearSelectionHandles();return}let t=this.normalizedRanges[0],n=this.resolveBandOptions(),{band:r}=this.resolveRangeBand(t,n),i=$O(t,this.displayedColIds,this.deps.columnModel,this.deps.rowModel,{...n,viewportWidth:this.deps.getViewportWidth()},null);if(!i){this.clearSelectionHandles();return}if(Ts(e)){this.rangeHandleEl?.remove(),this.rangeHandleEl=null,this.mountHandle(this.ensureFillHandle(),i);return}if(Es(e)){this.fillHandleEl?.remove(),this.fillHandleEl=null,this.mountHandle(this.ensureRangeHandle(),i);return}this.clearSelectionHandles()}mountHandle(e,t){let n=this.ensureOverlay()[t.lane],r=t.lane===`left`?this.deps.columnModel.getLeftFixedWidth():t.lane===`center`?this.deps.columnModel.getCenterTotalWidth():this.deps.columnModel.getRightFixedWidth(),i=Math.max(0,r-6),a=Math.min(Math.max(t.left,0),i);if(r<=0){e.remove();return}e.parentElement!==n&&(e.remove(),n.appendChild(e)),e.style.left=`${a}px`,e.style.top=`${t.top}px`}ensureRangeHandle(){if(this.rangeHandleEl)return this.rangeHandleEl;let e=document.createElement(`div`);return e.className=ms,e.style.width=`6px`,e.style.height=`6px`,this.rangeHandleEl=e,e}syncHeaderHighlight(){let e=this.deps.isHeaderHighlightEnabled()?KO(this.normalizedRanges,this.displayedColIds):new Set;this.deps.mountEl.querySelectorAll(`.mg-header-cell[data-col-id]`).forEach(t=>{if(!(t instanceof HTMLElement))return;let n=t.dataset.colId;t.classList.toggle(hs,n!=null&&e.has(n))})}syncIndexColumnHighlight(){if(!this.deps.isIndexColumnHighlightEnabled()){this.deps.rowRenderer.setIndexColumnHighlight(null);return}let e=zs({rangeRowIndices:qO(this.normalizedRanges),indexFocusedRowIds:this.deps.getIndexFocusedRowIds?.()??[],selectedRowIds:this.deps.getSelectedRowIds?.()??[],rowIndexById:e=>this.deps.rowModel.getRowIndexById(e)});this.deps.rowRenderer.setIndexColumnHighlight(t=>e.has(t))}destroy(){this.clear(),this.clearPasteFlashOverlay(),this.overlayEl?.remove(),this.overlayEl=null,this.overlayLanes=null,this.pasteFlashOverlayEl?.remove(),this.pasteFlashOverlayEl=null,this.pasteFlashLanes=null,this.fillHandleEl=null,this.rangeHandleEl=null}};function tk(e){return typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function nk(e){return{startRowIndex:e.startRowIndex,endRowIndex:e.endRowIndex,startColId:e.startColId,endColId:e.endColId}}function rk(e){return{rowIndex:e.rowIndex,colId:e.colId}}function ik(e,t){return e.length===t.length&&e.every((e,n)=>Ns(e,t[n]))}function ak(e,t){let n=t.expandRangeForCellSpans?.(e)??e,r=U(n,t.displayedColIds);return!r||t.rowKindAt&&!Ps(n,t.rowKindAt)?null:js(r)}function ok(e,t){let n=[];for(let r of e){let e=ak(r,t);e&&n.push(e)}return n}function sk(e,t,n){for(let r=0;r<t.length;r++){let i=U(t[r],n);if(i&&Ms(e.rowIndex,e.colId,i,n))return r}return-1}var ck=class{suppressMultiRanges;ranges=[];anchor=null;constructor(e=!0){this.suppressMultiRanges=e}getRanges(){return this.ranges.map(nk)}getAnchor(){return this.anchor?rk(this.anchor):null}hasRanges(){return this.ranges.length>0}isSuppressMultiRanges(){return this.suppressMultiRanges}setSuppressMultiRanges(e){this.suppressMultiRanges=e,e&&this.ranges.length>1&&(this.ranges=this.ranges.slice(0,1))}setAnchor(e){this.anchor=e?rk(e):null}clear(){return this.ranges.length===0&&this.anchor===null?!1:(this.ranges=[],this.anchor=null,!0)}setRanges(e,t,n){let r=ok(e,t);this.suppressMultiRanges&&r.length>1&&(r=r.slice(0,1));let i=!ik(this.ranges,r);return!i&&n==null?!1:(this.ranges=r,n===null?this.anchor=null:n===void 0?r.length===0&&(this.anchor=null):this.anchor=rk(n),i||n!==void 0)}addRange(e,t,n){let r=ak(e,t);return r?this.suppressMultiRanges?this.setRanges([r],t,n??this.anchor):!this.ranges.some(e=>Ns(e,r))&&(this.ranges=[...this.ranges,r],n&&(this.anchor=rk(n)),!0):!1}extendFromAnchor(e,t){if(!this.anchor)return!1;let n=ak(ks(this.anchor,e),t);if(!n)return!1;let r=sk(this.anchor,this.ranges,t.displayedColIds);if(r>=0){let e=[...this.ranges];return e[r]=n,this.setRanges(e,t,this.anchor)}return this.setRanges([n],t,this.anchor)}extendFocusedRange(e,t,n){if(this.anchor)return this.extendFromAnchor(t,n);let r=ak(ks(e,t),n);if(!r)return!1;let i=sk(e,this.ranges,n.displayedColIds);if(i>=0){let t=[...this.ranges];return t[i]=r,this.setRanges(t,n,e)}return this.ranges.length===0||this.suppressMultiRanges?this.setRanges([r],n,e):this.addRange(r,n,e)}isCellInAnyRange(e,t,n){return sk({rowIndex:e,colId:t},this.ranges,n)>=0}},lk=class{deps;cellSelectionGridOptions;cellSelectionOptions;cellRangeVisualGridOptions;cellRangeVisualOptions;cellClipboardGridOptions;cellRangeService;cellRangeVisualController;rowOrderRangeIndexSnapshot=null;constructor(e,t){this.deps=e,this.cellSelectionGridOptions={cellSelection:t.cellSelection,enableCellCopy:t.enableCellCopy,enableCellPaste:t.enableCellPaste},this.cellSelectionOptions=Os(this.cellSelectionGridOptions),this.cellRangeVisualGridOptions={enableHeaderHighlight:t.enableHeaderHighlight,enableIndexColumnHighlight:t.enableIndexColumnHighlight},this.cellRangeVisualOptions=Ds(this.cellRangeVisualGridOptions),this.cellClipboardGridOptions={processCellForClipboard:t.processCellForClipboard,processCellFromClipboard:t.processCellFromClipboard,processDataFromClipboard:t.processDataFromClipboard},this.cellRangeService=new ck(this.cellSelectionOptions.suppressMultiRanges),this.cellRangeVisualController=this.createCellRangeVisualController()}getCellRangeService(){return this.cellRangeService}getCellSelectionOptions(){return this.cellSelectionOptions}getCellClipboardOptions(){return this.cellClipboardGridOptions}isCellSelectionEnabled(){return this.cellSelectionOptions.enabled}clearCellSelectionOnStructuralChange(){this.cellRangeService.hasRanges()&&this.clearCellSelection()}getCellRanges(){return[...this.cellRangeService.getRanges()]}getCellSelectionAggregation(){if(!this.cellSelectionOptions.enabled||!this.cellRangeService.hasRanges())return null;let e=this.getCellRangeOperationContext(),t=IO({ranges:this.cellRangeService.getRanges(),displayedColIds:e.displayedColIds,rowKindAt:e.rowKindAt??(()=>void 0),getCellValue:(e,t)=>{let n=this.deps.rowModel.getRow(e),r=this.deps.columnModel.getColumnById(t);if(!(!n||!r))return H(n,r)},normalizePosition:(e,t)=>{let n=this.deps.rowModel.getRow(e);if(!n)return{rowIndex:e,colId:t};let r=xE(this.deps.rowModel,this.deps.columnModel,this.deps.cellSpanService,{rowId:n.id,rowIndex:e,colId:t});return{rowIndex:r.rowIndex,colId:r.colId}}});return t.count>0?t:null}clearCellSelection(){this.cellRangeService.clear()&&(this.applyCellRangeVisuals(),this.emitCellSelectionChanged(`api`))}addCellRange(e){if(!this.cellSelectionOptions.enabled){Bs(e,`cellSelection is disabled`);return}let t=this.getCellRangeOperationContext(),n=t.rowKindAt??(()=>void 0);if(!U(e,t.displayedColIds)){Bs(e,`column ids not in displayed columns`);return}if(!Ps(e,n)){Bs(e,`range includes ineligible cells`);return}this.cellRangeService.addRange(e,t)&&(this.applyCellRangeVisuals(),this.emitCellSelectionChanged(`api`))}copySelectedRangeToClipboard(){return this.deps.getCellClipboardService()?.copySelectedRanges()??!1}async pasteFromClipboard(){await this.deps.getCellClipboardService()?.pasteFromClipboard()}updateCellRangeVisualOptions(e){this.cellRangeVisualGridOptions={...this.cellRangeVisualGridOptions,...e},this.cellRangeVisualOptions=Ds(this.cellRangeVisualGridOptions),this.applyCellRangeVisuals()}updateCellSelectionOptions(e){let t=this.cellSelectionOptions.enabled,n=t?[...this.getCellRanges()]:[];this.cellSelectionGridOptions={...this.cellSelectionGridOptions,...e},this.cellSelectionOptions=Os(this.cellSelectionGridOptions),this.syncCellRangeSelectionRuntime(t),t&&!this.cellSelectionOptions.enabled&&n.length>0&&this.deps.eventBus.emit(`cellSelectionChanged`,{ranges:[],source:`api`})}updateCellClipboardOptions(e){this.cellClipboardGridOptions={...this.cellClipboardGridOptions,...e}}playCellRangeCopyFlash(){this.cellRangeVisualController.playCopyFlash()}playCellRangePasteFlash(e){requestAnimationFrame(()=>{this.cellRangeVisualController.playPasteFlash(e)})}getCellRangeOperationContext(){let e=this.deps.columnModel.getDisplayedColumnIdsInLaneOrder();return{displayedColIds:e,rowKindAt:e=>this.deps.rowModel.getRow(e)?.rowKind,expandRangeForCellSpans:t=>av(t,{rowModel:this.deps.rowModel,columnModel:this.deps.columnModel,cellSpanService:this.deps.cellSpanService,displayedColIds:e})}}applyCellRangeVisuals(){let e=this.deps.columnModel.getDisplayedColumnIdsInLaneOrder(),t=this.cellRangeService.getRanges(),n=As({serviceRanges:t,enableHeaderHighlight:this.cellRangeVisualOptions.enableHeaderHighlight,enableIndexColumnHighlight:this.cellRangeVisualOptions.enableIndexColumnHighlight,editingRanges:this.resolveRowEditingHighlightRanges(),focus:this.resolveHighlightProjectionCell(),focusEligible:this.isHighlightProjectionCellEligible()});if(n.length===0){this.cellRangeVisualController.clear();return}let r=t.length>0?this.cellRangeService.getAnchor():this.resolveHighlightProjectionCell();this.cellRangeVisualController.refresh({ranges:n,anchor:r,displayedColIds:e})}applyCellRangeScrollVisuals(){this.cellRangeService.hasRanges()&&this.cellRangeVisualController.syncOverlayPosition()}emitCellSelectionChanged(e){this.deps.eventBus.emit(`cellSelectionChanged`,{ranges:[...this.cellRangeService.getRanges()],source:e})}async handleCellSelectionDeleteKey(){if(!this.cellSelectionOptions.enabled||!this.cellRangeService.hasRanges())return;this.deps.cellEditing.isEditing()&&await this.deps.cellEditing.stopEditing(!0);let e=[...this.cellRangeService.getRanges()];this.deps.eventBus.emit(`cellSelectionDeleteStart`,{ranges:e});let t=await this.deps.getCellRangeDeleteWriteService()?.clearRanges(e,this.getCellRangeOperationContext())??0;this.deps.eventBus.emit(`cellSelectionDeleteEnd`,{ranges:e,changedCellCount:t})}beginRowOrderVisualCapture(){this.rowOrderRangeIndexSnapshot=this.captureCellRangeRowIndexSnapshot()}finishRowOrderVisualSync(){this.remapCellFocusAfterRowOrderChanged(),this.remapCellRangeSelectionAfterRowOrderChanged(this.rowOrderRangeIndexSnapshot),this.rowOrderRangeIndexSnapshot=null,this.deps.applyIndexFocusVisuals(),this.deps.syncCellRangeFromIndexFocus(),this.deps.applyFocusVisuals(),this.applyCellRangeVisuals()}destroy(){this.cellRangeService.clear(),this.cellRangeVisualController.destroy()}createCellRangeVisualController(){return new ek({mountEl:this.deps.mountEl,rowsLayerEl:this.deps.rowsLayerEl,rowModel:this.deps.rowModel,columnModel:this.deps.columnModel,rowRenderer:this.deps.rowRenderer,getScrollTop:()=>this.deps.viewport.getLogicalScrollTop(),getScrollLeft:()=>this.deps.viewport.viewportEl.scrollLeft,getViewportWidth:()=>this.deps.viewport.viewportEl.clientWidth,isCompressedScroll:()=>this.deps.rowsLayerEl.classList.contains(`mg-rows-layer--compressed`),getViewportHeight:()=>this.deps.viewport.getRenderViewportHeight(),isHeaderHighlightEnabled:()=>this.cellRangeVisualOptions.enableHeaderHighlight,isIndexColumnHighlightEnabled:()=>this.cellRangeVisualOptions.enableIndexColumnHighlight&&this.deps.indexColumnOptions.showIndexColumn,getIndexFocusedRowIds:()=>this.deps.indexFocusService?.getFocusedRowIds()??[],getSelectedRowIds:()=>this.deps.selectionService?.getSelectedRowIds()??[],isSyncToSelectionColumnEnabled:()=>this.deps.indexColumnOptions.indexColumn.syncToSelectionColumn?KD(this.deps.indexColumnOptions.indexColumn.focusMode,this.deps.selectionColumnOptions.mode):!1,isCellSelectionVisualEnabled:()=>this.cellSelectionOptions.enabled,getCellSelectionOptions:()=>this.cellSelectionOptions,getCellSpanService:()=>this.deps.cellSpanService})}syncCellRangeSelectionRuntime(e){if(e&&!this.cellSelectionOptions.enabled){this.cellRangeService.clear(),this.applyCellRangeVisuals();return}this.cellRangeService.setSuppressMultiRanges(this.cellSelectionOptions.suppressMultiRanges),this.applyCellRangeVisuals()}resolveRowEditingHighlightRanges(){if(!this.deps.cellEditing.isEditing())return[];let e=this.deps.cellEditing.getEditingCells();if(e.length<=1)return[];let t=e[0].rowIndex,n=this.deps.rowModel.getRow(t)?.rowKind,r=this.deps.columnModel.getDisplayedColumnIdsInLaneOrder(),i=e.map(e=>e.colId).filter(e=>xs(e,n)).map(e=>r.indexOf(e)).filter(e=>e>=0).sort((e,t)=>e-t);if(i.length===0)return[];let a=r[i[0]],o=r[i[i.length-1]];return[ks({rowIndex:t,colId:a},{rowIndex:t,colId:o})]}captureCellRangeRowIndexSnapshot(){if(!this.cellRangeService.hasRanges())return null;let e=new Set;for(let t of this.cellRangeService.getRanges()){let n=Math.min(t.startRowIndex,t.endRowIndex),r=Math.max(t.startRowIndex,t.endRowIndex);for(let t=n;t<=r;t+=1)e.add(t)}let t=this.cellRangeService.getAnchor();if(t&&e.add(t.rowIndex),e.size===0)return null;let n=new Map;for(let t of e){let e=this.deps.rowModel.getRow(t);e&&n.set(t,e.id)}return n.size>0?n:null}remapCellFocusAfterRowOrderChanged(){let e=this.deps.cellFocusService.getFocusedCell();if(!e||q(e))return;let t=this.deps.rowModel.getRowIndexById(e.rowId);if(t<0){this.deps.cellFocusService.clear();return}t!==e.rowIndex&&this.deps.cellFocusService.setFocusedCell({...e,rowIndex:t})}remapCellRangeSelectionAfterRowOrderChanged(e){if(!e||!this.cellRangeService.hasRanges())return;let t=this.getCellRangeOperationContext(),n=t=>{let n=e.get(t);if(!n)return t;let r=this.deps.rowModel.getRowIndexById(n);return r>=0?r:t},r=this.cellRangeService.getRanges().map(e=>({startRowIndex:n(e.startRowIndex),endRowIndex:n(e.endRowIndex),startColId:e.startColId,endColId:e.endColId})),i=this.cellRangeService.getAnchor(),a=i?{rowIndex:n(i.rowIndex),colId:i.colId}:null;this.cellRangeService.setRanges(r,t,a)}resolveHighlightProjectionCell(){if(this.deps.cellEditing.isEditing()){let e=this.deps.cellEditing.getEditingCell();if(e){let t=this.deps.rowModel.getRowIndexById(String(e.rowId));if(t>=0)return{rowIndex:t,colId:e.colId}}}let e=this.deps.cellFocusService.getFocusedCell();return!e||q(e)?null:{rowIndex:e.rowIndex,colId:e.colId}}isHighlightProjectionCellEligible(){let e=this.resolveHighlightProjectionCell();if(!e)return!1;let t=this.deps.rowModel.getRow(e.rowIndex)?.rowKind;return xs(e.colId,t)}},uk=class{deps;constructor(e){this.deps=e}reconcileOrInvalidateRowPool(){if(this.deps.isCellSpanActive()){this.deps.rowRenderer.invalidate();return}this.deps.reconcileRowPoolAfterDisplayChange()}expandRow(e){return this.deps.rowExpansionOptions.masterDetail?this.deps.rowExpansionService.expandRow(t.m(e),`api`):!1}collapseRow(e){return this.deps.rowExpansionOptions.masterDetail?this.deps.rowExpansionService.collapseRow(t.m(e),`api`):!1}isRowExpanded(e){return this.deps.rowExpansionOptions.masterDetail?this.deps.rowExpansionService.isExpanded(t.m(e)):!1}setDetailRowData(e,n){return this.deps.rowExpansionOptions.masterDetail?this.deps.rowExpansionService.setDetailRowData(t.m(e),n):!1}reloadDetailRowData(e){return this.deps.rowExpansionOptions.masterDetail?this.deps.rowExpansionService.reloadDetailRowData(t.m(e)):!1}expandAll(){this.deps.treeTableService.active?this.deps.treeTableService.expandAll(`api`):this.deps.rowGroupingService.active&&this.deps.rowGroupingService.expandAll(`api`),this.deps.rowExpansionOptions.masterDetail&&this.deps.rowExpansionService.expandAll(`api`)}collapseAll(){this.deps.treeTableService.active?this.deps.treeTableService.collapseAll():this.deps.rowGroupingService.active&&this.deps.rowGroupingService.collapseAll(`api`),this.deps.rowExpansionOptions.masterDetail&&this.deps.rowExpansionService.collapseAll(`api`)}setRowGroupColumns(e){this.deps.rowGroupingOptions.rowGrouping&&(this.deps.rowGroupingService.setRowGroupColumns(e,`api`),this.deps.rowModel.refreshModel({applyDefaultExpanded:!0}))}getRowGroupColumns(){return this.deps.rowGroupingService.getRowGroupColumns()}expandGroup(e){return this.deps.rowGroupingService.active?this.deps.rowGroupingService.isExpanded(e)?!0:(this.deps.rowGroupingService.expandGroup(e,`api`),this.deps.rowGroupingService.isExpanded(e)):!1}expandGroupsInPath(e){if(this.deps.rowGroupingService.active)for(let t of e)this.expandGroup(t)}collapseGroup(e){return this.deps.rowGroupingService.active?!this.deps.rowGroupingService.isExpanded(e)||(this.deps.rowGroupingService.collapseGroup(e,`api`),!this.deps.rowGroupingService.isExpanded(e)):!1}isGroupExpanded(e){return this.deps.rowGroupingService.active?this.deps.rowGroupingService.isExpanded(e):!1}expandNode(e){if(!this.deps.treeTableService.active)return!1;let n=t.m(e);return this.deps.treeTableService.isExpanded(n)?!0:(this.deps.treeTableService.requestToggleNode(n,`api`),this.deps.treeTableService.isExpanded(n))}collapseNode(e){if(!this.deps.treeTableService.active)return!1;let n=t.m(e);return!this.deps.treeTableService.isExpanded(n)||(this.deps.treeTableService.collapseNode(n,`api`),!this.deps.treeTableService.isExpanded(n))}isNodeExpanded(e){return this.deps.treeTableService.active?this.deps.treeTableService.isExpanded(t.m(e)):!1}getDataPath(e){if(this.deps.treeTableService.active)return this.deps.treeTableService.getDataPathForRow(t.m(e))}resolveTreeHierarchyActions(e){if(!B(e))return{visible:!1};let t=this.queryTreeHierarchyAvailableActions(e.id);return!t||!t.promote&&!t.demote?{visible:!1}:{visible:!0}}resolveTreeHierarchyMenuActions(e){let t=this.queryTreeHierarchyAvailableActions(e);return t?Jb(t):[]}applyTreeHierarchyShortcut(e,t){if(!this.isTreeHierarchyActionsEnabled()||this.deps.getRowDragCommitService()?.isCommitting())return;let n=this.deps.rowModel.rowsToDisplay,r=Zb({sourceRows:this.deps.rowModel.getSourceRows(),displayRows:n,getDataPath:this.deps.treeTableOptions.getDataPath,setDataPath:this.deps.treeTableOptions.setDataPath,action:t,rowId:e});if(!r.ok)return;let{plan:i}=r;if(this.deps.asyncRowMutation?.move){let r=Wb({action:t,rowId:e,displayRows:n}),a=r?.kind===`outdent`?r.nestUnderRowId:void 0,o=K(i.rows,i.leaderRowId)??void 0;this.deps.getRowDragCommitService()?.commit({plan:i,rowIds:Xb(i),sourceColId:Ke,nestUnderRowId:a,treeContext:o});return}this.deps.applyRowDragPlan(i,`api`)}syncRowExpansionDisplay(e){if(!this.deps.rowExpansionOptions.masterDetail)return;let n=this.deps.viewport.captureScrollAnchor(),r=0,i=0;if(e?.rowId!=null){let n=t.m(e.rowId);if(e.expanded){let e=this.deps.rowModel.getDisplayRowById(n);e&&(r=e.rowTop+e.rowHeight)}else{let e=this.deps.rowModel.getDisplayRowById(F(n));e&&(r=e.rowTop,i=-e.rowHeight)}}if(this.deps.rowModel.rebuildDisplayProjection(),e?.expanded&&e.rowId!=null){let n=this.deps.rowModel.getDisplayRowById(F(t.m(e.rowId)));n&&(r=n.rowTop,i=n.rowHeight)}if(this.deps.viewport.syncViewportHeightWithDetailCompensation({anchor:n,detailRowTop:r,heightDelta:i}),this.deps.rowExpansionOptions.embedFullWidthRows){this.deps.rowRenderer.invalidate(),this.deps.viewport.redrawImmediately();return}this.deps.viewport.redrawRowExpansionIncremental()}syncRowGroupingDisplay(){this.deps.rowGroupingService.active&&(this.deps.rowModel.rebuildGroupedMapProjection(),this.deps.viewport.syncViewportHeight(),this.deps.valueCache.bump(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),this.deps.refreshCellSpanCache(),this.reconcileOrInvalidateRowPool(),this.deps.rowRenderer.resetRowRenderWindowCache(),this.deps.viewport.redrawImmediately(),this.deps.rowRenderer.refreshRows({force:!0}),this.refreshGroupedHierarchyVisuals())}syncTreeTableDisplay(){this.deps.treeTableService.active&&(this.deps.rowModel.rebuildTreeMapProjection(),this.deps.viewport.syncViewportHeight(),this.deps.viewport.syncTreeHeaderExpandState(),this.deps.valueCache.bump(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),this.deps.refreshCellSpanCache(),this.reconcileOrInvalidateRowPool(),this.deps.rowRenderer.resetRowRenderWindowCache(),this.deps.viewport.redrawImmediately(),this.deps.rowRenderer.refreshRows({force:!0}),this.refreshTreeHierarchyVisuals(),this.deps.selectionOps.refreshSelectionAfterDataChange())}refreshHierarchyCellVisuals(){this.deps.treeTableService.active?(this.deps.viewport.syncTreeHeaderExpandState(),this.refreshTreeHierarchyVisuals()):this.deps.rowGroupingService.active&&this.refreshGroupedHierarchyVisuals()}refreshTreeHierarchyVisuals(e){this.deps.treeTableService.active&&this.refreshHierarchyChrome([Ke,t.tt],e)}refreshGroupedHierarchyVisuals(e){this.deps.rowGroupingService.active&&this.refreshHierarchyChrome([se,t.tt],e)}refreshHierarchyChrome(e,t){let n={force:!0,colIds:[...e]};t&&(n.rowIds=[t]),this.deps.rowRenderer.refreshRows(n)}refreshDetailRowContent(e){!this.deps.rowExpansionOptions.masterDetail||e.length===0||this.deps.rowRenderer.refreshDetailRows(e)}isTreeHierarchyActionsEnabled(){return this.deps.treeTableService.active&&this.deps.treeTableOptions.treeDragScope===`hierarchy`&&this.deps.treeTableOptions.treeHierarchyActions&&typeof this.deps.treeTableOptions.getDataPath==`function`&&typeof this.deps.treeTableOptions.setDataPath==`function`}queryTreeHierarchyAvailableActions(e){return this.isTreeHierarchyActionsEnabled()?qb({sourceRows:this.deps.rowModel.getSourceRows(),displayRows:this.deps.rowModel.rowsToDisplay,getRowById:e=>this.deps.rowModel.getRowById(e),getDataPath:this.deps.treeTableOptions.getDataPath,setDataPath:this.deps.treeTableOptions.setDataPath,rowId:e}):null}},dk=class{deps;constructor(e){this.deps=e}refresh(){let e=this.deps.getFooterRenderer();if(!e)return;let t=this.deps.summaryOptions.summaryScope===`all`?this.deps.rowModel.getSourceRows():this.deps.rowModel.rowsToDisplay,n=ml({columns:this.deps.columnModel.getColumns(),rows:t,summaryMethod:this.deps.summaryOptions.summaryMethod});e.syncRowLayout(this.deps.columnModel),e.render({columnModel:this.deps.columnModel,centerWindow:this.deps.columnViewport.getWindow(),summaryCells:n,valueCacheVersion:this.deps.valueCache.getVersion()}),this.deps.frameService.flushAllFrames()}};function fk(e){return{rowKey:e.rowKey,displayRows:e.rowModel.rowsToDisplay,resolveRowById:t=>e.rowModel.resolveRowById(t)}}function pk(e){return{gridSize:e.gridSize,getApi:e.getApi,buildRowSnapshot:t=>Ku(t,e.getDisplayRowContext()),getIndexColumnOptions:()=>e.indexColumnOptions.showIndexColumn?e.indexColumnOptions.indexColumn:void 0}}function mk(e,t){return pk({gridSize:e.gridSize,getApi:()=>t.getApi(),getDisplayRowContext:()=>fk(e),indexColumnOptions:e.indexColumnOptions})}function hk(e,n,r){let i={};i.valueCache=new Ny,i.changeDetection=new Wd,i.eventBus=new gg,i.cellFocusService=new zf,i.validationFeedback=new fg,i.columnDragController=new KC,i.rowDataChangeTracker=new lp,i.destroyed=!1,i.centerViewportWidth=0,i.autoSizeCellContentsPending=!1,i.suppressRowLayoutViewportSync=!1,i.preserveScrollOnSetData=n.preserveScrollOnSetData??!0,i.mountEl=e,i.scrollRenderOptions=xa(n),i.cellRenderersByColId=n.cellRenderers?.byColId??{},i.cellEditorsByColId=n.cellEditors?.byColId??{},i.onUnmountRenderer=n.onUnmountRenderer,i.onUnmountEditor=n.onUnmountEditor,i.summaryOptions=lt(n),i.chromeNavigationOptions=Py(n),i.indexColumnOptions=t.ot(n),i.selectionColumnOptions=t.Z(n);let a=t.z(n)===`infinite`;a&&n.rowDragManaged===!0&&console.warn(`[MagicGrid] rowModelType "infinite" does not support rowDragManaged; it has been disabled.`),i.rowDragOptions=Oa({...n,rowDragManaged:!a&&n.rowDragManaged}),i.cellSpanOptions=Za(n),i.cellEditorCacheOptions=t.s(n),i.editorOptions=t.f(n),i.cellEditorCacheService=new Nu({maxEntries:i.cellEditorCacheOptions.cellEditorCacheMaxEntries}),i.rowExpansionOptions=k(n),i.gridSize=n.size??`default`,i.loadMoreRowOptionsRaw={loadMoreRowEnabled:n.loadMoreRowEnabled,loadMoreRowHeight:n.loadMoreRowHeight,loadMoreRowLoading:n.loadMoreRowLoading,loadMoreRowHasMore:n.loadMoreRowHasMore,loadMoreRowLabels:n.loadMoreRowLabels,loadMoreRowRenderer:n.loadMoreRowRenderer},i.loadMoreRowGridOptions=go(i.loadMoreRowOptionsRaw,i.gridSize);let o=ab({tree:n.tree,rowGrouping:n.rowGrouping});i.treeTableOptions=tt(n),o.mode===`tree`&&st(!0,i.treeTableOptions.getDataPath),i.rowGroupingOptions=ve({...n,rowGrouping:o.mode===`group`&&n.rowGrouping}),i.rowSelectionOptions=vD(n.rowSelection),i.userColumns=[...n.columns],i.userColumns,at(i.userColumns);let s=ca(n),c=Jg(n),l=Fu(n);i.filterGridOptions=fa(n);let u=na(n);i.columnSortOptions=u,i.showUnsortedSortHintOnHover=u.showUnsortedSortHintOnHover,i.columnModel=new t_(Kn(i.userColumns,i.indexColumnOptions,i.selectionColumnOptions,{rowExpansion:i.rowExpansionOptions,rowGrouping:o.mode===`group`?i.rowGroupingOptions:void 0,treeTable:o.mode===`tree`?i.treeTableOptions:void 0}),i.cellRenderersByColId,i.cellEditorsByColId,Zp(n),s,c,u,i.filterGridOptions),i.columnViewport=new O_(i.columnModel);let d=n.rowHeight??cr;i.resolvedSummaryRowHeight=ut(i.summaryOptions.summaryRowHeight,d);let f=n.stripe??!1,{editBehavior:p,editType:m}=pn(n);i.cellDisableContext=bt({isRowDisabled:n.isRowDisabled}),i.cellStyleOverrideService=new Yf,i.cellStyleContext={rowStyle:n.rowStyle,editableCellStyle:n.editableCellStyle,showEditableCellIcon:n.showEditableCellIcon??!1,disabledCellStyle:n.disabledCellStyle,showDisabledCellIcon:n.showDisabledCellIcon??!1,getCellStyleOverride:(e,t)=>i.cellStyleOverrideService.get(e,t),getCellDisableContext:()=>i.cellDisableContext},i.invalidEditValueMode=n.invalidEditValueMode??`block`,i.rowValidator=n.rowValidator,i.asyncRowMutation=n.asyncRowMutation,i.editorHost=new Ef({onUnmountEditor:n.onUnmountEditor,byName:n.cellEditors?.byName,editorOptions:i.editorOptions}),i.editingService=new Df(i.editorHost),i.rowEditingService=new Kf(i.editorHost),i.selectionService=_D(n.rowSelection)===!1||!i.selectionColumnOptions.enabled?null:new vg(_D(n.rowSelection)),i.indexFocusService=i.indexColumnOptions.showIndexColumn?new Sg(i.indexColumnOptions.indexColumn.focusMode):null,i.frameService=new Ud({frameBudgetMs:i.scrollRenderOptions.frameBudgetMs,rendererFrameBudgetMs:i.scrollRenderOptions.rendererFrameBudgetMs}),i.scrollBridge=new My;let h=(e,t)=>{let n=i.columnModel.getColumnById(t);return n?H(e,n):e.data[t]},g=Ae(i.userColumns).length,{rowModel:_,resolvedInfinite:v}=Cu({rowModelType:n.rowModelType,infiniteDatasource:n.infiniteDatasource,blockSize:n.blockSize,maxBlocksInCache:n.maxBlocksInCache,infiniteInitialRowCount:n.infiniteInitialRowCount,infiniteMaxRetries:n.infiniteMaxRetries,infiniteLoadingRowVisible:n.infiniteLoadingRowVisible,rowKey:n.rowKey,rowHeight:d,getCellValue:h,getColumnComparator:e=>i.columnModel.getColumnById(e)?.comparator,filterColumnContext:dv(e=>i.columnModel.getColumnById(e),h),quickFilterText:n.quickFilterText,getQuickFilterColIds:()=>i.columnModel.getColumns().filter(e=>e.filterable).map(e=>e.colId),rowGroupingColumnCount:g,hasTreeTable:typeof n.getDataPath==`function`,hasMasterDetail:typeof n.detailCellRenderer==`function`,rowDragManaged:!a&&n.rowDragManaged===!0,hasTreeLazyLoad:typeof n.loadTreeChildren==`function`});i.rowModel=_,i.resolvedInfiniteOptions=v,i.rowKey=n.rowKey,i.businessRowIdCtx={rowKey:n.rowKey,getRowById:e=>i.rowModel.resolveRowById(e)},i.eventBus.setProjector(_g(i.businessRowIdCtx)),i.cellSpanService=new ev({getEnableCellSpan:()=>i.cellSpanOptions.enableCellSpan,getColumnModel:()=>i.columnModel,getDisplayRows:()=>i.rowModel.rowsToDisplay,getRowById:e=>{let t=i.rowModel.getRowIndexById(e);return t>=0?i.rowModel.getRow(t):void 0},getRowByIndex:e=>i.rowModel.getRow(e),getRowCount:()=>i.rowModel.getRowCount()}),i.rowExpansionService=new Uy({getOptions:()=>i.rowExpansionOptions,getBaseDisplayRows:()=>i.rowModel.getBaseDisplayRows(),onExpansionChanged:e=>{i.eventBus.emit(e.expanded?`rowExpanded`:`rowCollapsed`,e),i.hierarchyOps.syncRowExpansionDisplay(e)},onDetailDataChanged:e=>{i.hierarchyOps.refreshDetailRowContent([e])}}),Su(i.rowModel)&&i.rowModel.setRowExpansionService(i.rowExpansionService),i.loadMoreRowService=new Ky({getOptions:()=>i.loadMoreRowGridOptions,isClientSideRowModel:()=>Su(i.rowModel)}),Su(i.rowModel)&&i.rowModel.setLoadMoreRowService(i.loadMoreRowService),i.rowGroupingService=new qy({getOptions:()=>i.rowGroupingOptions,getRowGroupColumnsFromDefs:()=>Ae(i.userColumns),getGroupedTreeRoots:()=>i.rowModel.getGroupedTreeRoots(),onGroupOpened:e=>{i.eventBus.emit(`rowGroupOpened`,e),i.hierarchyOps.syncRowGroupingDisplay()},onGroupChanged:e=>{i.eventBus.emit(`rowGroupChanged`,e)},onGroupingStateChanged:()=>{i.hierarchyOps.syncRowGroupingDisplay()}}),Su(i.rowModel)&&i.rowModel.setRowGroupingDeps({active:()=>i.rowGroupingService.active,getRowGroupColumns:()=>i.rowGroupingService.getRowGroupColumns(),getGroupKeyCreator:()=>i.rowGroupingOptions.groupKeyCreator,getGroupComparator:()=>i.rowGroupingOptions.groupComparator,getGroupSortKey:()=>i.rowGroupingOptions.groupSortKey,getColumns:()=>i.columnModel.getColumns(),getColumnField:e=>i.columnModel.getColumnById(e)?.prop??e,getMapStageOptions:()=>i.rowGroupingService.getMapStageOptions(),pruneExpanded:e=>i.rowGroupingService.pruneExpanded(e),applyDefaultExpanded:e=>i.rowGroupingService.applyDefaultExpanded(e),clearExpanded:()=>i.rowGroupingService.clearExpanded()}),i.treeTableService=new $y({getOptions:()=>i.treeTableOptions,getGroupDefaultExpanded:()=>i.rowGroupingOptions.groupDefaultExpanded,getTreeTreeRoots:()=>i.rowModel.getTreeTreeRoots(),getLazyLoadHost:()=>i.treeLazyLoadService,onNodeOpened:e=>{i.eventBus.emit(`treeNodeOpened`,e)},onTreeStateChanged:()=>{i.hierarchyOps.syncTreeTableDisplay()}}),Su(i.rowModel)&&i.rowModel.setTreeTableDeps({active:()=>i.treeTableService.active,getDataPath:()=>i.treeTableOptions.getDataPath,getMapStageOptions:()=>i.treeTableService.getMapStageOptions(),prepareTreeTree:e=>i.treeTableService.prepareTreeTree(e),applyDefaultExpanded:e=>i.treeTableService.applyDefaultExpandedToTree(e),clearExpanded:()=>i.treeTableService.clearExpanded(),expandForQuickFilterDisplay:e=>i.treeTableService.expandForQuickFilterDisplay(e)}),i.headerSortService=new Zm({getSortModel:()=>i.rowModel.getSortModel(),setSortModel:e=>r.setSortModel(e),getColumnById:e=>i.columnModel.getColumnById(e)}),i.columnHandleMenuController=new uT({mountEl:i.mountEl,columnModel:i.columnModel,getSortModel:()=>i.rowModel.getSortModel(),setSortModel:e=>r.setSortModel(e),getFilterModel:()=>r.getFilterModel(),setFilterModel:e=>r.setFilterModel(e),setColumnFixed:(e,t,n)=>r.setColumnFixed(e,t,n),setColumnsHidden:(e,t,n)=>i.columnLayout.setColumnsHidden(e,t,n),getColumnDistinctFilterValues:e=>r.getColumnDistinctFilterValues(e),filterSetValueMode:i.filterGridOptions.filterSetValueMode,filterSetDateLayoutMode:i.filterGridOptions.filterSetDateLayoutMode}),i.treeHierarchyMenuController=new bT({mountEl:i.mountEl,applyAction:(e,t)=>r.applyTreeHierarchyShortcut(e,t)});let y=ta(n);y.length>0&&i.rowModel.setSortModel(y);let b=wT(e,{showSummary:i.summaryOptions.showSummary,floatingFilter:n.floatingFilter??!1});if(i.rootEl=b.rootEl,i.rowsLayerEl=b.rowsLayerEl,b.footerViewportEl&&b.footerRowEl&&b.footerLeftLaneEl&&b.footerCenterLaneEl&&b.footerRightLaneEl&&(i.footerRenderer=new sv({footerLeftLaneEl:b.footerLeftLaneEl,footerCenterLaneEl:b.footerCenterLaneEl,footerRightLaneEl:b.footerRightLaneEl,footerRowEl:b.footerRowEl,frameService:i.frameService,onUnmountRenderer:i.onUnmountRenderer,enableCellSpan:i.cellSpanOptions.enableCellSpan})),b.floatingFilterRowEl&&b.floatingFilterLeftLaneEl&&b.floatingFilterCenterLaneEl&&b.floatingFilterRightLaneEl){let e=new WT({floatingLeftLaneEl:b.floatingFilterLeftLaneEl,floatingCenterLaneEl:b.floatingFilterCenterLaneEl,floatingRightLaneEl:b.floatingFilterRightLaneEl,floatingRowEl:b.floatingFilterRowEl});i.floatingFilterController=new JT({columnModel:i.columnModel,getFilterModel:()=>r.getFilterModel(),setFilterModel:e=>r.setFilterModel(e),renderer:e})}i.rowRenderer=new Ay(b.rowsContainerEl,{rowModel:i.rowModel,columnModel:i.columnModel,rowHeight:d,rowBuffer:n.rowBuffer??10,stripe:f,frameService:i.frameService,onUnmountRenderer:i.onUnmountRenderer,onUnmountEditor:i.onUnmountEditor,indexColumnOptions:i.indexColumnOptions.showIndexColumn?i.indexColumnOptions.indexColumn:void 0,selectionColumnOptions:i.selectionColumnOptions.enabled?i.selectionColumnOptions:void 0,isRowDragHandleEnabled:e=>r.isRowDragHandleEnabled(e),enableCellSpan:i.cellSpanOptions.enableCellSpan,cellSpanService:i.cellSpanService,spannedRowsContainerEl:b.spannedRowsContainerEl,fullWidthRowsContainerEl:b.fullWidthRowsContainerEl,masterDetail:i.rowExpansionOptions.masterDetail,embedFullWidthRows:i.rowExpansionOptions.embedFullWidthRows,getDetailCellRenderer:()=>i.rowExpansionOptions.detailCellRenderer,getMasterRowById:e=>i.rowModel.getRowById(e),rowExpansionHost:{active:()=>i.rowExpansionOptions.masterDetail,isRowMaster:e=>i.rowExpansionService.isRowMaster(e),isExpanded:e=>i.rowExpansionService.isExpanded(e)},rowGroupingHost:{active:()=>i.rowGroupingService.active,isExpanded:e=>i.rowGroupingService.isExpanded(e),getGroupFooterLabel:()=>i.rowGroupingOptions.groupFooterLabel},treeTableHost:{active:()=>i.treeTableService.active,isExpanded:e=>i.treeTableService.isExpanded(e),getTreeValue:e=>i.treeTableService.getTreeDisplayValue(e),isTreeNodeExpandable:e=>i.treeTableService.isNodeExpandable(e),isTreeNodeLoading:e=>i.treeTableService.isNodeLoading(e),getTreeHierarchyActions:e=>i.hierarchyOps.resolveTreeHierarchyActions(e)},resolveBusinessRowId:e=>t.T(e,n.rowKey),getCellDisableContext:()=>r.getCellDisableContext(),getCellStyleContext:()=>r.getCellStyleContext(),cellRendererDefer:i.scrollRenderOptions.cellRendererDefer,deferRowDestroyOnScroll:i.scrollRenderOptions.deferRowDestroyOnScroll,cellRendererPresentation:i.scrollRenderOptions.cellRendererPresentation,infiniteLoadingRowVisible:W(i.rowModel)?i.resolvedInfiniteOptions.infiniteLoadingRowVisible:void 0,getLoadMoreRowEnabled:()=>i.loadMoreRowGridOptions.enabled,getLoadMoreRowRenderer:()=>i.loadMoreRowGridOptions.loadMoreRowRenderer,getLoadMoreRowLoading:()=>i.loadMoreRowGridOptions.loading,getLoadMoreRowHasMore:()=>i.loadMoreRowGridOptions.hasMore,getLoadMoreRowGridSize:()=>i.gridSize,getLoadMoreRowLabels:()=>i.loadMoreRowGridOptions.labels,onLoadMore:()=>{i.eventBus.emit(`loadMore`,{})},getApi:()=>r.getApi()}),i.selectionOps=new eO({mountEl:i.mountEl,rowModel:i.rowModel,rowRenderer:i.rowRenderer,eventBus:i.eventBus,selectionService:i.selectionService,indexFocusService:i.indexFocusService,indexColumnOptions:i.indexColumnOptions,selectionColumnOptions:i.selectionColumnOptions,rowKey:n.rowKey,isTreeActive:()=>i.treeTableService.active,groupSelectsChildren:()=>i.rowSelectionOptions.groupSelectsChildren,applyCellRangeVisuals:()=>i.cellRangeOps.applyCellRangeVisuals()},bg(n.selectable),n.reserveSelection??!1,()=>({rowKey:n.rowKey,rowSelectionEnabled:i.selectionColumnOptions.enabled,getResolveContext:()=>Vd(i.rowModel.getSourceRows(),n.rowKey,r.getApi())})),i.rowRenderer.setIsRowNodeSelectable(e=>i.selectionOps.isRowNodeSelectable(e)),i.rowHeightGridOptions={getRowHeight:n.getRowHeight,rowHeightMin:n.rowHeightMin,rowHeightMax:n.rowHeightMax},i.rowHeightService=new kv({getDisplayRows:()=>i.rowModel.rowsToDisplay,getRowById:e=>i.rowModel.resolveRowById(e),getAutoHeightColumnIds:()=>i.columnModel.getAutoHeightColumnIds(),repositionDisplayRows:()=>{i.rowModel.repositionDisplayRows({getRowHeight:i.rowHeightService.getPositionRowHeightFn()})},emitRowHeightChanged:e=>{i.eventBus.emit(`rowHeightChanged`,e),r.syncRowLayoutAfterRowHeightChange(e.rows)}},d,i.rowHeightGridOptions),i.rowModel.setPositionGetRowHeight(i.rowHeightService.getPositionRowHeightFn()),i.rowAutoHeightService=new Fv({rowHeightService:i.rowHeightService,getRowById:e=>i.rowModel.getRowById(e),isColumnAutoHeight:e=>i.columnModel.isColumnAutoHeight(e),getAutoHeightColumnIds:()=>i.columnModel.getAutoHeightColumnIds()}),i.rowRenderer.setRowAutoHeightService(i.rowAutoHeightService),i.detailRowAutoHeightService=i.rowExpansionOptions.detailRowAutoHeight?new Vy({rowHeightService:i.rowHeightService,getRowById:e=>i.rowModel.resolveRowById(e),isEnabled:()=>i.rowExpansionOptions.detailRowAutoHeight,getMinDetailRowHeight:e=>ne(i.rowExpansionOptions.detailRowHeight,{rowId:e.id,data:e.data,masterRowId:e.masterRowId??e.id})}):null,i.rowRenderer.setDetailRowAutoHeightService(i.detailRowAutoHeightService),i.gridFooter=new dk({columnModel:i.columnModel,columnViewport:i.columnViewport,rowModel:i.rowModel,frameService:i.frameService,valueCache:i.valueCache,summaryOptions:i.summaryOptions,getFooterRenderer:()=>i.footerRenderer}),i.filterOps=new GD({rowModel:i.rowModel,columnModel:i.columnModel,columnViewport:i.columnViewport,getViewport:()=>i.viewport,rowRenderer:i.rowRenderer,valueCache:i.valueCache,eventBus:i.eventBus,getFloatingFilterController:()=>i.floatingFilterController,applySelectionVisuals:()=>i.selectionOps.applySelectionVisuals(),refreshFooter:()=>i.gridFooter.refresh(),refreshCellSpans:()=>r.refreshCellSpanCache(),reconcileRowPoolAfterDisplayChange:()=>r.reconcileRowPoolAfterDisplayChange(),clearCellSelection:()=>i.cellRangeOps.clearCellSelectionOnStructuralChange(),refreshOverlay:()=>r.syncEmptyStateOverlay(),refreshHierarchyCellVisuals:()=>i.hierarchyOps.refreshHierarchyCellVisuals()});let x={};i.viewport=new BD({rootEl:b.rootEl,headerViewportEl:b.headerViewportEl,headerScrollEl:b.headerScrollEl,headerRowEl:b.headerRowEl,headerLeftLaneEl:b.headerLeftLaneEl,headerCenterLaneEl:b.headerCenterLaneEl,headerRightLaneEl:b.headerRightLaneEl,viewportEl:b.viewportEl,spacerEl:b.spacerEl,scrollPhantomEl:b.scrollPhantomEl,rowsLayerEl:b.rowsLayerEl,indexColumnFillHostEl:b.indexColumnFillHostEl,indexColumnFillEl:b.indexColumnFillEl,rowsContainerEl:b.rowsContainerEl,footerViewportEl:b.footerViewportEl,footerScrollEl:b.footerScrollEl,footerRowEl:b.footerRowEl,footerLeftLaneEl:b.footerLeftLaneEl,footerCenterLaneEl:b.footerCenterLaneEl,footerRightLaneEl:b.footerRightLaneEl,floatingFilterViewportEl:b.floatingFilterViewportEl,floatingFilterScrollEl:b.floatingFilterScrollEl,floatingFilterRowEl:b.floatingFilterRowEl,floatingFilterLeftLaneEl:b.floatingFilterLeftLaneEl,floatingFilterCenterLaneEl:b.floatingFilterCenterLaneEl,floatingFilterRightLaneEl:b.floatingFilterRightLaneEl,refreshFooter:()=>i.gridFooter.refresh(),refreshFloatingFilter:()=>i.filterOps.refreshFloatingFilter(),rowModel:i.rowModel,columnModel:i.columnModel,columnViewport:i.columnViewport,validationFeedback:i.validationFeedback,rowRenderer:i.rowRenderer,scrollBridge:i.scrollBridge,frameService:i.frameService,scrollRenderOptions:i.scrollRenderOptions,onScrollActivity:()=>{i.frameService.setScrollActive(!0),i.rowRenderer.setScrollActive(!0)},onScrollEndIdle:()=>{i.frameService.setScrollActive(!1),i.scrollRenderOptions.deferRowDestroyOnScroll&&i.rowRenderer.flushDeferredDestroys(),i.scrollRenderOptions.cellRendererPresentation===`placeholder-then-vue`&&i.rowRenderer.promoteRendererPlaceholders(),i.scrollRenderOptions.scrollEndFlushMs>0&&i.frameService.flushAllFrames(i.scrollRenderOptions.scrollEndFrameBudgetMs),i.rowRenderer.setScrollActive(!1)},getPinnedRowIds:()=>r.getPinnedRowIds(),selectionColumnOptions:i.selectionColumnOptions,showIndexColumn:i.indexColumnOptions.showIndexColumn,showUnsortedSortHintOnHover:()=>r.getShowUnsortedSortHintOnHover(),enableHeaderSortClick:()=>r.getEnableHeaderSortClick(),getDefaultRowHeight:()=>i.rowHeightService.getDefaultRowHeight(),headerHeight:n.headerHeight??lr,isDestroyed:()=>i.destroyed,onEmitScrollEvent:(e,t)=>{i.eventBus.emit(e,t),e===`scrollBottom`&&i.infiniteDatasourceService&&i.infiniteDatasourceService.ensurePrefetchOnScrollBottom()},applySelectionVisuals:()=>i.selectionOps.applySelectionVisuals(),applyFocusVisuals:()=>r.applyFocusVisuals(),applyCellRangeVisuals:()=>i.cellRangeOps.applyCellRangeVisuals(),applyCellRangeScrollVisuals:()=>i.cellRangeOps.applyCellRangeScrollVisuals(),onHeaderRefresh:()=>i.columnHandleMenuController.onHeaderRefresh(),getTreeHeaderExpanded:()=>i.treeTableService.isAllExpandableNodesExpanded(),ensureInfiniteRowsLoaded:(e,t)=>{x.ensure?.(e,t)}}),W(i.rowModel)&&n.infiniteDatasource&&(i.infiniteDatasourceService=new Cv({rowModel:i.rowModel,datasource:n.infiniteDatasource,options:i.resolvedInfiniteOptions,rowBuffer:n.rowBuffer??10,rowHeight:d,eventBus:i.eventBus,getApi:()=>i.api,getSortModel:()=>i.rowModel.getSortModel(),getFilterModel:()=>i.rowModel.getFilterModel(),onModelChanged:e=>{if(i.viewport.syncViewportHeight(),e?.replacedStubIds?.length)for(let t of e.replacedStubIds)i.rowRenderer.releaseRow(t);e?.refreshedRowIds?.length?i.rowRenderer.refreshRows({rowIds:[...e.refreshedRowIds],force:!0}):i.rowRenderer.invalidate(),i.viewport.redrawImmediately(),i.gridFooter.refresh(),r.syncEmptyStateOverlay()}}),x.ensure=(e,t)=>{i.infiniteDatasourceService.ensureBlocksForViewport(e,t)}),i.hierarchyOps=new uk({rowModel:i.rowModel,viewport:i.viewport,rowRenderer:i.rowRenderer,valueCache:i.valueCache,rowExpansionService:i.rowExpansionService,rowGroupingService:i.rowGroupingService,treeTableService:i.treeTableService,rowExpansionOptions:i.rowExpansionOptions,rowGroupingOptions:i.rowGroupingOptions,treeTableOptions:i.treeTableOptions,selectionOps:i.selectionOps,refreshCellSpanCache:()=>r.refreshCellSpanCache(),reconcileRowPoolAfterDisplayChange:()=>r.reconcileRowPoolAfterDisplayChange(),isCellSpanActive:()=>i.cellSpanService.active,applyRowDragPlan:(e,t)=>i.rowMutation.applyRowDragPlan(e,t),getRowDragCommitService:()=>i.rowDragCommitService,asyncRowMutation:i.asyncRowMutation});let S=e=>i.rowDataChangeTracker.record(e),C={beginUpdate:()=>r.beginUpdate(),endUpdate:()=>r.endUpdate()};i.cellEditing=new VC({mountEl:i.mountEl,viewportEl:b.viewportEl,rowModel:i.rowModel,columnModel:i.columnModel,editingService:i.editingService,rowEditingService:i.rowEditingService,editBehavior:p,editType:m,invalidEditValueMode:i.invalidEditValueMode,rowValidator:i.rowValidator,validationFeedback:i.validationFeedback,editorHost:i.editorHost,eventBus:i.eventBus,cellFocusService:i.cellFocusService,isDestroyed:()=>i.destroyed,getColIndex:e=>r.getColIndex(e),ensureIndexVisible:(e,t)=>r.ensureIndexVisible(e,t),ensureColumnVisible:e=>r.ensureColumnVisible(e),redrawImmediately:()=>i.viewport.redrawImmediately(),applyFocusVisuals:()=>r.applyFocusVisuals(),syncPinnedRows:()=>i.viewport.syncPinnedRows(),refreshCells:e=>r.refreshCells(e),applyTransaction:e=>r.commitTransaction(e),onTabChainEdit:e=>i.interaction.navigateEditableTab(e),getCellDisableContext:()=>r.getCellDisableContext(),cellEditorCacheService:i.cellEditorCacheService,enableCellEditorCache:i.cellEditorCacheOptions.enableCellEditorCache,recordRowDataChange:e=>i.rowDataChangeTracker.record(e),...C,...mk(i,r)});let w=new Np({...mk(i,r),...C,eventBus:i.eventBus,applyTransaction:e=>r.commitTransaction(e),syncPinnedRows:()=>i.viewport.syncPinnedRows(),invalidEditValueMode:i.invalidEditValueMode,recordRowDataChange:S,onUnmountEditor:i.onUnmountEditor,byName:n.cellEditors?.byName,editorOptions:i.editorOptions});if(i.inlineCellEditorService=w,i.rowRenderer.setInlineCellEditorContext(w.getRefreshContext()),i.rowRenderer.setOverlayEditingTargetsResolver(()=>i.cellEditing.getEditingCells().map(e=>({rowId:e.rowId,colId:e.colId}))),i.columnFlexService=new S_(i.columnModel),i.columnResizeService=new w_(i.columnModel,()=>{i.columnLayout.syncColumnLayoutAfterResize()},i.columnFlexService,()=>r.getCenterViewportWidth()),i.columnAutosizeService=new d_(i.mountEl,i.columnModel,l),i.columnLayout=new WD({mountEl:i.mountEl,rootEl:i.rootEl,columnModel:i.columnModel,columnViewport:i.columnViewport,columnResizeService:i.columnResizeService,columnAutosizeService:i.columnAutosizeService,columnFlexService:i.columnFlexService,viewport:i.viewport,rowRenderer:i.rowRenderer,footerRenderer:i.footerRenderer,eventBus:i.eventBus,isDestroyed:()=>i.destroyed,refreshColumnResizeVisualState:()=>i.interaction.refreshColumnResizeVisualState(),refreshFooter:()=>i.gridFooter.refresh(),refreshFloatingFilter:()=>i.filterOps.refreshFloatingFilter(),applyCellRangeVisuals:()=>i.cellRangeOps.applyCellRangeVisuals(),clearCellSelection:()=>i.cellRangeOps.clearCellSelectionOnStructuralChange(),syncColumnOrderVisuals:()=>{let e=i.cellFocusService.getFocusedCell();if(e&&!q(e)){let t=r.getColIndex(e.colId);t>=0&&t!==e.colIndex&&i.cellFocusService.setFocusedCell({...e,colIndex:t})}i.viewport.applyColumnStructureVisuals()}},s,c),i.columnLayout.syncColumnMovePresentationClasses(),i.viewport.setOnAfterRedraw(()=>{!i.destroyed&&!i.cellEditing.isEditing()&&i.cellEditing.syncValidationDom()}),i.cellCommentOptions=Lo(n),i.cellCommentService=new Mx({getOptions:()=>r.getCellCommentOptions(),getRowKey:()=>n.rowKey,getRowNode:e=>i.rowModel.getRowById(e),getColumn:e=>i.columnModel.getColumnById(e)??void 0,getMountEl:()=>i.mountEl,onCommentChanged:e=>i.eventBus.emit(`cellCommentChanged`,e),onCommentsRefresh:e=>i.rowRenderer.syncVisibleCellCommentIndicators({rowIds:e?.rowIds?.map(e=>String(e)),colIds:e?.colIds})}),i.rowRenderer.setCellCommentHost(i.cellCommentService.createHost()),i.overflowTooltipOptions=Oc(n),i.cellRangeOps=new lk({mountEl:i.mountEl,rowsLayerEl:i.rowsLayerEl,rowModel:i.rowModel,columnModel:i.columnModel,rowRenderer:i.rowRenderer,cellSpanService:i.cellSpanService,eventBus:i.eventBus,viewport:i.viewport,cellEditing:i.cellEditing,cellFocusService:i.cellFocusService,indexFocusService:i.indexFocusService,selectionService:i.selectionService,indexColumnOptions:i.indexColumnOptions,selectionColumnOptions:i.selectionColumnOptions,getCellRangeDeleteWriteService:()=>i.cellRangeDeleteWriteService,getCellClipboardService:()=>i.cellClipboardService,applyFocusVisuals:()=>r.applyFocusVisuals(),applyIndexFocusVisuals:()=>i.selectionOps.applyIndexFocusVisuals({syncToSelectionColumn:!1}),syncCellRangeFromIndexFocus:()=>i.interaction.syncCellRangeFromIndexFocus()},{cellSelection:n.cellSelection,enableCellCopy:n.enableCellCopy,enableCellPaste:n.enableCellPaste,enableHeaderHighlight:n.enableHeaderHighlight,enableIndexColumnHighlight:n.enableIndexColumnHighlight,processCellForClipboard:n.processCellForClipboard,processCellFromClipboard:n.processCellFromClipboard,processDataFromClipboard:n.processDataFromClipboard}),i.tooltipService=new GS,i.overflowTooltipSession=new BS({mountEl:i.mountEl,viewportEl:b.viewportEl,headerViewportEl:b.headerViewportEl,footerViewportEl:b.footerViewportEl??null,columnModel:i.columnModel,rowModel:i.rowModel,tooltipService:i.tooltipService,validationFeedback:i.validationFeedback,cellCommentService:()=>i.cellCommentService,getOptions:()=>r.getOverflowTooltipOptions(),getIndexColumnOptions:()=>i.indexColumnOptions,getApi:()=>r.getApi(),isEditing:()=>i.cellEditing.isEditing(),getEditingCell:()=>i.cellEditing.getEditingCell()}),i.emptyStateOptionsRaw={loading:n.loading,suppressOverlays:n.suppressOverlays,suppressLoadingOverlay:n.suppressLoadingOverlay,suppressNoRowsOverlay:n.suppressNoRowsOverlay,suppressNoMatchingRowsOverlay:n.suppressNoMatchingRowsOverlay,overlayLoadingTemplate:n.overlayLoadingTemplate,overlayNoRowsTemplate:n.overlayNoRowsTemplate,overlayNoMatchingRowsTemplate:n.overlayNoMatchingRowsTemplate,loadingOverlayComponent:n.loadingOverlayComponent,loadingOverlayComponentParams:n.loadingOverlayComponentParams,noRowsOverlayComponent:n.noRowsOverlayComponent,noRowsOverlayComponentParams:n.noRowsOverlayComponentParams,noMatchingRowsOverlayComponent:n.noMatchingRowsOverlayComponent,noMatchingRowsOverlayComponentParams:n.noMatchingRowsOverlayComponentParams,overlayComponent:n.overlayComponent,overlayComponentParams:n.overlayComponentParams,overlayInteraction:n.overlayInteraction},i.emptyStateGridOptions=Xc(i.emptyStateOptionsRaw),i.overlayService=new aC({getResolvedOptions:()=>r.getEmptyStateGridOptions(),getSourceRowCount:()=>i.rowModel.getSourceRows().length,getDisplayRows:()=>i.rowModel.rowsToDisplay,isAnyFilterActive:()=>i.filterOps.isAnyFilterActive(),getInfiniteVirtualRowCount:()=>W(i.rowModel)?i.rowModel.getRowCount():0,onOverlayChanged:(e,t)=>r.handleOverlayChanged(e,t),warn:e=>console.warn(e)}),i.overlayRenderer=new eC({overlayEl:b.overlayEl,wrapperEl:b.overlayWrapperEl,contentEl:b.overlayContentEl,getApi:()=>r.getApi(),getOverlayInteraction:()=>r.getEmptyStateGridOptions().overlayInteraction}),i.interaction=new gD({mountEl:i.mountEl,viewportEl:b.viewportEl,headerViewportEl:b.headerViewportEl,headerLeftLaneEl:b.headerLeftLaneEl,headerCenterLaneEl:b.headerCenterLaneEl,headerRightLaneEl:b.headerRightLaneEl,rowModel:i.rowModel,columnModel:i.columnModel,rowRenderer:i.rowRenderer,eventBus:i.eventBus,cellFocusService:i.cellFocusService,selectionService:i.selectionService,indexFocusService:i.indexFocusService,indexColumnOptions:i.indexColumnOptions,columnDragController:i.columnDragController,columnHandleMenuController:i.columnHandleMenuController,editBehavior:p,editType:m,isEditing:()=>i.cellEditing.isEditing(),getEditingCell:()=>i.cellEditing.getEditingCell(),getEditingRowId:()=>i.cellEditing.getEditingRowId(),focusRowEditingColumn:e=>i.cellEditing.focusRowEditingColumn(e),isCommitting:()=>r.isCommitting(),awaitCommitIdle:()=>r.awaitCommitIdle(),commitEditing:()=>i.cellEditing.stopEditing(!1).then(()=>void 0),cancelCommit:()=>r.cancelCommit(),cancelPendingBlurCommit:()=>i.cellEditing.cancelPendingBlurCommit(),deferBlurCommitDuringPointerGesture:e=>i.cellEditing.deferBlurCommitDuringPointerGesture(e),isBlurCommitDeferred:()=>i.cellEditing.isBlurCommitDeferred(),ensureIndexVisible:(e,t)=>r.ensureIndexVisible(e,t),ensureColumnVisible:e=>r.ensureColumnVisible(e),getLogicalScrollTop:()=>i.viewport.getLogicalScrollTop(),scrollByDelta:e=>i.viewport.scrollByDelta(e),scrollByHorizontalDelta:e=>i.viewport.scrollByHorizontalDelta(e),getRowHeight:()=>i.rowHeightService.getDefaultRowHeight(),redrawImmediately:()=>i.viewport.redrawImmediately(),tryStartCellEditing:e=>i.cellEditing.tryStartCellEditing(e),tryStartRowEditing:e=>i.cellEditing.tryStartRowEditing(e),applyIndexFocusVisuals:e=>i.selectionOps.applyIndexFocusVisuals(e),applySelectionVisuals:()=>i.selectionOps.applySelectionVisuals(),handleInteractiveRowSelection:(e,t)=>i.selectionOps.handleInteractiveRowSelection(e,t),isRowNodeSelectable:e=>i.selectionOps.isRowNodeSelectable(e),getSelectableRowIdAt:e=>i.selectionOps.getSelectableRowIdAt(e),showSummary:()=>i.summaryOptions.showSummary,navigateHeader:()=>i.chromeNavigationOptions.navigateHeader,navigateFooter:()=>i.chromeNavigationOptions.navigateFooter,toggleHeaderSort:e=>i.headerSortService.toggleSort(e),enableHeaderSortClick:()=>r.getEnableHeaderSortClick(),moveColumn:(e,t,n,i)=>r.moveColumn(e,t,n,i),finishColumnMove:e=>r.finishColumnMove(e),suppressMoveWhenColumnDragging:()=>i.columnLayout.columnMoveOptions.suppressMoveWhenColumnDragging,setColumnMoveLiveDragging:e=>r.setColumnMoveLiveDragging(e),allowCrossLaneColumnMove:()=>i.columnLayout.columnMoveOptions.allowCrossLaneColumnMove,setColumnWidths:(e,t,n)=>i.columnLayout.applyColumnWidths(e,t,n,`uiColumnResized`),autoSizeColumn:(e,t)=>i.columnLayout.autoSizeColumn(e,void 0,t??`uiColumnResized`),resizeHeaderColumn:(e,t,n)=>i.columnLayout.resizeHeaderColumn(e,t,n),setRowHeights:(e,t)=>i.rowHeightService.setRowHeights(e,{finished:t,source:`uiRowResized`}),rowDragManaged:i.rowDragOptions.rowDragManaged,deferRowDragCommit:!!i.asyncRowMutation?.move,cellSpanService:i.cellSpanService,hasSortOrFilterActive:()=>i.rowModel.getSortModel().length>0||r.isAnyFilterActive(),isRowDragHandleEnabled:e=>r.isRowDragHandleEnabled(e),moveRow:(e,t)=>i.rowMutation.moveRowSync(e,t),moveRows:(e,t)=>i.rowMutation.moveRowsSync(e,t),finishRowMove:e=>i.rowMutation.finishRowMove(e),finishRowMoves:(e,t,n,r)=>i.rowMutation.finishRowMoves(e,`uiRowDrag`,{startSourceIndices:t,startTreePositions:r,displayIndex:n,resolveTreeDrop:i.treeTableService.active?e=>K(i.rowModel.getSourceRows(),e)??void 0:void 0}),isIndexFocusMultiple:()=>i.indexFocusService?.isMultiple()??!1,getIndexFocusedRowIds:()=>i.indexFocusService?.getFocusedRowIds()??[],setRowMoveLiveDragging:e=>r.setRowMoveLiveDragging(e),emitRowDragEnd:e=>{i.eventBus.emit(`rowDragEnd`,e)},isRowDragCommitting:()=>i.rowDragCommitService?.isCommitting()??!1,buildPlanRowDragMoveOptions:e=>r.buildPlanRowDragMoveOptions(e),planRowDragMove:e=>lx(e),commitDeferredRowDrag:e=>i.rowDragCommitService.commit(e),rowExpansionService:i.rowExpansionOptions.masterDetail?i.rowExpansionService:null,rowGroupingService:i.rowGroupingOptions.rowGrouping?i.rowGroupingService:null,treeTableService:i.treeTableService.active?i.treeTableService:null,requestTreeNodeToggle:(e,t)=>i.treeTableService.requestToggleNode(e,t),isTreeNodeExpandable:e=>i.treeTableService.isNodeExpandable(e),isRowGroupingActive:()=>i.rowGroupingService.active,isTreeActive:()=>i.treeTableService.active,getTreeDragScope:()=>i.treeTableOptions.treeDragScope,validateGroupedDisplayDrop:(e,t)=>{if(!i.rowGroupingService.active)return!0;let n=cd(i.rowModel.getSourceRows(),e);return n===`mixed`||n===`missing`?!1:n===null||md(i.rowModel.rowsToDisplay,e=>i.rowModel.getRowById(e),e,t,n)},validateTreeDisplayDrop:(e,t,n)=>{if(!i.treeTableService.active)return!0;let r=i.rowModel.getSourceRows(),a=e=>i.rowModel.getRowById(e);if(i.treeTableOptions.treeDragScope===`hierarchy`){let o=i.treeTableOptions.getDataPath;return o?xb(r,i.rowModel.rowsToDisplay,a,e,t,o,fb(n?.nestUnderRowId)):!1}let o=vd(r,e);return o===`mixed`||o===`missing`?!1:Cd(i.rowModel.rowsToDisplay,a,e,t,o)},resolveTreeRowDragEndContext:(e,t,n,r)=>{if(!i.treeTableService.active||!r||t<0)return;if(i.rowDragOptions.rowDragManaged)return K(i.rowModel.getSourceRows(),e)??void 0;let a=i.treeTableOptions.getDataPath;if(a)return Sb({sourceRows:i.rowModel.getSourceRows(),displayRows:i.rowModel.rowsToDisplay,rowIds:[e],insertIndex:t,nestUnderRowId:n,treeDragScope:i.treeTableOptions.treeDragScope,getDataPath:a})??void 0},cellCommentService:()=>i.cellCommentService,getCellCommentOptions:()=>r.getCellCommentOptions(),overflowTooltipSession:i.overflowTooltipSession,getCellDisableContext:()=>r.getCellDisableContext(),getCellRangeService:()=>i.cellRangeOps.getCellRangeService(),isCellSelectionEnabled:()=>i.cellRangeOps.isCellSelectionEnabled(),getCellSelectionOptions:()=>i.cellRangeOps.getCellSelectionOptions(),getFillWriteService:()=>i.cellRangeFillWriteService,getCellRangeOperationContext:()=>i.cellRangeOps.getCellRangeOperationContext(),applyCellRangeVisuals:()=>i.cellRangeOps.applyCellRangeVisuals(),clearCellSelection:()=>i.cellRangeOps.clearCellSelection(),emitCellSelectionChanged:e=>i.cellRangeOps.emitCellSelectionChanged(e),handleCellSelectionDeleteKey:()=>void i.cellRangeOps.handleCellSelectionDeleteKey(),copyCellSelectionToClipboard:()=>i.cellRangeOps.copySelectedRangeToClipboard(),pasteCellSelectionFromClipboard:()=>i.cellRangeOps.pasteFromClipboard(),isPointerOverCellCommentIndicator:(e,t,n)=>xx(e,t,n),applyTreeHierarchyShortcut:(e,t)=>r.applyTreeHierarchyShortcut(e,t),toggleTreeHierarchyMenu:(e,t)=>{let n=i.hierarchyOps.resolveTreeHierarchyMenuActions(e);i.treeHierarchyMenuController.toggle(e,t,n)},closeTreeHierarchyMenu:()=>i.treeHierarchyMenuController.close()}),i.rowMutation=new MO({rowKey:n.rowKey,asyncRowMutation:i.asyncRowMutation,rowModel:i.rowModel,rowRenderer:i.rowRenderer,viewport:i.viewport,valueCache:i.valueCache,frameService:i.frameService,changeDetection:i.changeDetection,eventBus:i.eventBus,cellFocusService:i.cellFocusService,validationFeedback:i.validationFeedback,mountEl:i.mountEl,cellEditing:i.cellEditing,filterOps:i.filterOps,selectionOps:i.selectionOps,ensureIndexVisible:(e,t)=>r.ensureIndexVisible(e,t),applyFocusVisuals:()=>r.applyFocusVisuals(),refreshFooter:()=>i.gridFooter.refresh(),refreshCellSpans:()=>r.refreshCellSpanCache(),reconcileRowPoolAfterDisplayChange:()=>r.reconcileRowPoolAfterDisplayChange(),refreshOverlay:()=>r.syncEmptyStateOverlay(),beginRowOrderVisualCapture:()=>i.cellRangeOps.beginRowOrderVisualCapture(),finishRowOrderVisualSync:()=>i.cellRangeOps.finishRowOrderVisualSync(),setAsyncMutationLoading:(e,t)=>i.rowRenderer.setAsyncMutationLoading(e,t),isCellSpanActive:()=>i.cellSpanService.active,isEditingTargetRow:e=>r.isEditingTargetRow(e),clearCellEditorCacheForRemovedRows:e=>r.clearCellEditorCacheForRemovedRows(e),clearCellStyleOverridesForRemovedRows:e=>r.clearCellStyleOverridesForRemovedRows(e),migrateCellEditorCacheOnPromoteRowId:(e,t)=>i.cellEditorCacheService.promoteRowId(e,t),isRowGroupingActive:()=>i.rowGroupingService.active,getGroupInsertDeps:()=>i.rowGroupingService.active?{rowGroupColumns:i.rowGroupingService.getRowGroupColumns(),getColumnField:e=>i.columnModel.getColumnById(e)?.prop??e,getGroupedTreeRoots:()=>i.rowModel.getGroupedTreeRoots()}:null,expandGroups:e=>i.hierarchyOps.expandGroupsInPath(e),isTreeActive:()=>i.treeTableService.active,getTreeDragScope:()=>i.treeTableOptions.treeDragScope,getDataPath:()=>i.treeTableOptions.getDataPath,setDataPath:()=>i.treeTableOptions.setDataPath,rowDataChangeTracker:i.rowDataChangeTracker,buildRowSnapshot:e=>Ku(e,fk(i)),resolveColIdByField:e=>i.columnModel.getColumns().find(t=>t.prop===e)?.colId}),i.cellRangeFillWriteService=new _S({...mk(i,r),rowModel:i.rowModel,columnModel:i.columnModel,eventBus:i.eventBus,getCellDisableContext:()=>r.getCellDisableContext(),applyTransaction:e=>r.commitTransaction(e),refreshCells:e=>r.refreshCells(e),recordRowDataChange:S,...C}),i.cellRangeDeleteWriteService=new vS({...mk(i,r),rowModel:i.rowModel,columnModel:i.columnModel,eventBus:i.eventBus,getCellDisableContext:()=>r.getCellDisableContext(),applyTransaction:e=>r.commitTransaction(e),refreshCells:e=>r.refreshCells(e),recordRowDataChange:S,...C}),i.cellClipboardService=new nS({...mk(i,r),rowModel:i.rowModel,columnModel:i.columnModel,eventBus:i.eventBus,cellFocusService:i.cellFocusService,getCellRangeService:()=>i.cellRangeOps.getCellRangeService(),getCellRangeOperationContext:()=>i.cellRangeOps.getCellRangeOperationContext(),getCellSelectionOptions:()=>i.cellRangeOps.getCellSelectionOptions(),getIndexColumnOptions:()=>i.indexColumnOptions,getCellDisableContext:()=>r.getCellDisableContext(),applyTransaction:e=>r.commitTransaction(e),refreshCells:e=>r.refreshCells(e),recordRowDataChange:S,...C,isEditing:()=>i.cellEditing.isEditing(),stopEditing:e=>i.cellEditing.stopEditing(e).then(()=>void 0),onCopyVisualFeedback:()=>i.cellRangeOps.playCellRangeCopyFlash(),onPasteVisualFeedback:e=>i.cellRangeOps.playCellRangePasteFlash(e),getCellClipboardOptions:()=>i.cellRangeOps.getCellClipboardOptions(),getCellSpanService:()=>i.cellSpanService,getCellClipboardDisplayContext:()=>({getRowGroupingHost:()=>({active:()=>i.rowGroupingService.active,isExpanded:e=>i.rowGroupingService.isExpanded(e),getGroupFooterLabel:()=>i.rowGroupingOptions.groupFooterLabel}),getTreeTableHost:()=>({active:()=>i.treeTableService.active,isExpanded:e=>i.treeTableService.isExpanded(e),getTreeValue:e=>i.treeTableService.getTreeDisplayValue(e),isTreeNodeExpandable:e=>i.treeTableService.isNodeExpandable(e),isTreeNodeLoading:e=>i.treeTableService.isNodeLoading(e),getTreeHierarchyActions:e=>i.hierarchyOps.resolveTreeHierarchyActions(e)})})}),i.treeTableOptions.treeLazyLoad&&typeof i.treeTableOptions.loadTreeChildren==`function`){let e=e=>{e!=null&&i.hierarchyOps.refreshTreeHierarchyVisuals(String(e))};i.treeLazyLoadService=new eb({getOptions:()=>i.treeTableOptions,rowKey:n.rowKey,getDataPath:()=>i.treeTableOptions.getDataPath,getNodeById:e=>i.rowModel.getRowById(e),getExistingRowKeys:()=>{let e=new Set;for(let t of i.rowModel.getSourceRows()){e.add(t.id);let r=t.data[n.rowKey];r!=null&&r!==``&&e.add(String(r))}return e},applyTransaction:e=>{r.commitTransaction(e)},onLoading:t=>{i.eventBus.emit(`treeChildrenLoading`,t),e(t.parentRowId)},onLoaded:t=>{i.eventBus.emit(`treeChildrenLoaded`,t),e(t.parentRowId)},onLoadFailed:t=>{i.eventBus.emit(`treeChildrenLoadFailed`,t),e(t.parentRowId)},onStateChanged:()=>{i.hierarchyOps.refreshTreeHierarchyVisuals()}})}return i.rowDragCommitService=new ux({persistMove:()=>{if(i.asyncRowMutation?.move)return e=>vx(e,{handlers:i.asyncRowMutation,getRowById:e=>i.rowModel.getRowById(e)})},applyPlan:e=>i.rowMutation.applyRowDragPlan(e),emitStarted:e=>{i.eventBus.emit(`rowDragCommitStarted`,e)},emitFinished:e=>{i.eventBus.emit(`rowDragCommitFinished`,e)},emitRowDragEnd:e=>{i.eventBus.emit(`rowDragEnd`,e)},setCommittingVisual:e=>r.setRowDragCommittingVisual(e)}),{ctx:i,dom:b,finalize:(e,t)=>{i.viewport.syncHorizontalLayout(),t.refreshFlexedColumnsOnViewportChange(!1),t.scheduleAutoSizeStrategy(),i.frameService.setScrollGridIfNeeded(()=>i.viewport.scrollGridIfNeeded()),t.refreshCellSpanCache(),i.rowRenderer.setValueCacheVersion(i.valueCache.getVersion()),i.viewport.redrawImmediately(),i.floatingFilterController&&i.filterOps.refreshFloatingFilter(),i.api=Gd(e),i.cellCommentService.init(i.api),i.viewport.bindScrollListener(),i.interaction.bindListeners(),i.resizeObserver=new ResizeObserver(()=>{i.viewport.syncViewportHeight(),t.refreshFlexedColumnsOnViewportChange(!0),i.viewport.redrawImmediately(),t.syncEmptyStateOverlay()}),i.resizeObserver.observe(b.viewportEl),t.syncEmptyStateOverlay(),i.infiniteDatasourceService&&(i.infiniteDatasourceService.init(),i.infiniteDatasourceService.loadInitialBlocks())}}}function gk(e){return e?.rowIds?{...e,rowIds:t.g(e.rowIds)}:e}function _k(e){return{...e,rowIds:t.g(e.rowIds)}}function vk(e){return{...e,cells:e.cells.map(e=>({...e,rowId:t.m(e.rowId)}))}}function yk(e){return e?.rowIds?{...e,rowIds:t.g(e.rowIds)}:e}function bk(e){return{...e,rowIds:t.g(e.rowIds)}}function xk(e){return{...e,cells:e.cells.map(e=>({...e,rowId:t.m(e.rowId)}))}}function Sk(e){return e>=1e6?2e3:e>=1e5?500:e>=1e4?200:e>=1e3?100:50}function Ck(e){return{maxDomRows:80,maxSetDataMs:Sk(e)}}function wk(e,t){let n=Ck(t),r=e.activeDomRowCount<=n.maxDomRows,i=e.lastSetDataMs<=n.maxSetDataMs;return{domRowsPass:r,setDataPass:i,allPass:r&&i}}var Tk=class{mountEl;rowModel;rowRenderer;frameService;columnViewport;rootEl;columnModel;valueCache;changeDetection;eventBus;rowKey;businessRowIdCtx;selectionService;indexFocusService;editingService;rowEditingService;cellFocusService;api;viewport;columnDragController;columnHandleMenuController;treeHierarchyMenuController;interaction;cellEditing;inlineCellEditorService;validationFeedback;cellRenderersByColId;cellEditorsByColId;summaryOptions;indexColumnOptions;selectionColumnOptions;filterGridOptions;showUnsortedSortHintOnHover;columnSortOptions;resolvedSummaryRowHeight;footerRenderer=null;floatingFilterController=null;lastSetDataMs=0;columnAutosizeService;columnFlexService;columnLayout;rowHeightService;rowAutoHeightService;rowDragOptions;rowDragCommitService;cellEditorCacheService;cellSpanService;rowExpansionOptions;rowExpansionService;rowGroupingOptions;rowGroupingService;treeTableOptions;treeTableService;treeLazyLoadService=null;infiniteDatasourceService=null;userColumns;detailRowAutoHeightService;cellCommentOptions;cellCommentService;overflowTooltipOptions;overflowTooltipSession;emptyStateGridOptions;emptyStateOptionsRaw={};loadMoreRowGridOptions;loadMoreRowOptionsRaw={};gridSize;overlayService;overlayRenderer;cellRangeOps;hierarchyOps;cellDisableContext;cellStyleContext;cellStyleOverrideService;rowHeightGridOptions;filterOps;selectionOps;rowMutation;gridFooter;resizeObserver=null;centerViewportWidth;autoSizeCellContentsPending;destroyed;suppressRowLayoutViewportSync;preserveScrollOnSetData;constructor(e,t){let n=this.createBootstrapHost(),r=hk(e,t,n);Object.assign(this,r.ctx),r.finalize(this,n),Object.assign(this,r.ctx)}createBootstrapHost(){let e=this;return{setSortModel:t=>e.setSortModel(t),getFilterModel:()=>e.getFilterModel(),setFilterModel:t=>e.setFilterModel(t),setColumnFixed:(t,n,r)=>e.setColumnFixed(t,n,r),getColumnDistinctFilterValues:t=>e.getColumnDistinctFilterValues(t),applyTreeHierarchyShortcut:(t,n)=>e.applyTreeHierarchyShortcut(t,n),beginUpdate:()=>e.beginUpdate(),endUpdate:()=>e.endUpdate(),commitTransaction:t=>e.commitTransaction(t),ensureIndexVisible:(t,n)=>e.ensureIndexVisible(t,n),ensureColumnVisible:t=>e.ensureColumnVisible(t),applyFocusVisuals:()=>e.applyFocusVisuals(),refreshCells:t=>e.refreshCells(t),getApi:()=>e.getApi(),getCellDisableContext:()=>e.getCellDisableContext(),getCellStyleContext:()=>e.getCellStyleContext(),getColIndex:t=>e.getColIndex(t),getPinnedRowIds:()=>e.getPinnedRowIds(),getCenterViewportWidth:()=>e.getCenterViewportWidth(),moveColumn:(t,n,r,i)=>e.moveColumn(t,n,r,i),finishColumnMove:t=>e.finishColumnMove(t),setColumnMoveLiveDragging:t=>e.setColumnMoveLiveDragging(t),setRowMoveLiveDragging:t=>e.setRowMoveLiveDragging(t),isAnyFilterActive:()=>e.isAnyFilterActive(),isCommitting:()=>e.isCommitting(),awaitCommitIdle:()=>e.awaitCommitIdle(),cancelCommit:()=>e.cancelCommit(),isEditingTargetRow:t=>e.isEditingTargetRow(t),clearCellEditorCacheForRemovedRows:t=>e.clearCellEditorCacheForRemovedRows(t),clearCellStyleOverridesForRemovedRows:t=>e.clearCellStyleOverridesForRemovedRows(t),refreshCellSpanCache:()=>e.refreshCellSpanCache(),reconcileRowPoolAfterDisplayChange:()=>e.reconcileRowPoolAfterDisplayChange(),syncEmptyStateOverlay:()=>e.syncEmptyStateOverlay(),handleOverlayChanged:(t,n)=>e.handleOverlayChanged(t,n),refreshFlexedColumnsOnViewportChange:t=>e.refreshFlexedColumnsOnViewportChange(t),scheduleAutoSizeStrategy:()=>e.scheduleAutoSizeStrategy(),setRowDragCommittingVisual:t=>e.setRowDragCommittingVisual(t),buildPlanRowDragMoveOptions:t=>e.buildPlanRowDragMoveOptions(t),isRowDragHandleEnabled:t=>e.isRowDragHandleEnabled(t),syncRowLayoutAfterRowHeightChange:t=>e.syncRowLayoutAfterRowHeightChange(t),getResolveDisplayRowContext:()=>e.getResolveDisplayRowContext(),getShowUnsortedSortHintOnHover:()=>e.showUnsortedSortHintOnHover,getEnableHeaderSortClick:()=>e.getEnableHeaderSortClick(),getEmptyStateGridOptions:()=>e.emptyStateGridOptions,getCellCommentOptions:()=>e.cellCommentOptions,getOverflowTooltipOptions:()=>e.overflowTooltipOptions}}getApi(){return this.api}setSelectable(e){this.selectionOps.setSelectable(e)}getCellDisableContext(){return this.cellDisableContext}getCellStyleContext(){return this.cellStyleContext}setIsRowDisabled(e){this.cellDisableContext=St(this.cellDisableContext,e),this.rowRenderer.setGetCellDisableContext(()=>this.getCellDisableContext()),this.refreshDisabledState()}setRowStyle(e){this.cellStyleContext={...this.cellStyleContext,rowStyle:e},this.rowRenderer.setGetCellStyleContext(()=>this.getCellStyleContext()),this.refreshCellStyles()}setEditableCellStyle(e){this.cellStyleContext={...this.cellStyleContext,editableCellStyle:e},this.rowRenderer.setGetCellStyleContext(()=>this.getCellStyleContext()),this.refreshCellStyles()}setShowEditableCellIcon(e){this.cellStyleContext={...this.cellStyleContext,showEditableCellIcon:e},this.rowRenderer.setGetCellStyleContext(()=>this.getCellStyleContext()),this.refreshCellStyles()}setDisabledCellStyle(e){this.cellStyleContext={...this.cellStyleContext,disabledCellStyle:e},this.rowRenderer.setGetCellStyleContext(()=>this.getCellStyleContext()),this.refreshCellStyles()}setShowDisabledCellIcon(e){this.cellStyleContext={...this.cellStyleContext,showDisabledCellIcon:e},this.rowRenderer.setGetCellStyleContext(()=>this.getCellStyleContext()),this.refreshCellStyles()}refreshDisabledState(e){this.refreshCells({rowIds:e?.rowIds?.map(e=>String(e)),colIds:e?.colIds?[...e.colIds]:void 0,force:!0})}refreshCellStyles(e){this.refreshCells({rowIds:e?.rowIds?.map(e=>String(e)),colIds:e?.colIds?[...e.colIds]:void 0,force:!0})}setCellStyle(e,n,r){let i=t.m(e),a=this.rowModel.getRowById(i),o=this.columnModel.getColumnById(n);if(!a){Ot(i,n,`row not found`);return}if(!o){Ot(i,n,`column not found`);return}if(!jt(o,a)){Ot(i,n,`cell is not style-eligible`);return}let s=!1;if(r===null)s=this.cellStyleOverrideService.delete(i,n);else if(Dt(r)){Ot(i,n,`style must include backgroundColor or color`);return}else s=this.cellStyleOverrideService.set(i,n,r);s&&this.refreshCellStyles({rowIds:[i],colIds:[n]})}getCellStyle(e,n){let r=t.m(e),i=this.rowModel.getRowById(r),a=this.columnModel.getColumnById(n);return!i||!a?{}:Bn(a,i,this.getCellStyleContext())}getCellStyleOverride(e,n){return this.cellStyleOverrideService.get(t.m(e),n)}clearCellStyles(e){this.cellStyleOverrideService.clear(e),this.refreshCellStyles(e)}setReserveSelection(e){this.selectionOps.setReserveSelection(e)}setPreserveScrollOnSetData(e){this.preserveScrollOnSetData=e}setColumnMoveOptions(e){this.columnLayout.setColumnMoveOptions(e)}setColumnResizeOptions(e){this.columnLayout.setColumnResizeOptions(e)}setColumnSortOptions(e){if(e.sortable===void 0&&e.enableHeaderSortClick===void 0)return;let t=this.columnSortOptions.sortable,n=this.columnSortOptions.enableHeaderSortClick;this.columnSortOptions=na({...this.columnSortOptions,...e});let r=e.sortable!==void 0&&e.sortable!==t,i=e.enableHeaderSortClick!==void 0&&e.enableHeaderSortClick!==n;r&&this.columnModel.setColumnSortGridOptions(this.columnSortOptions),(r||i)&&this.viewport.refreshHeader()}getEnableHeaderSortClick(){return this.columnSortOptions.enableHeaderSortClick}setColumnFilterOptions(e){if(e.filterable===void 0)return;let t=this.filterGridOptions.filterable;this.filterGridOptions=fa({...this.filterGridOptions,filterable:e.filterable}),e.filterable!==t&&(this.columnModel.setColumnFilterGridOptions(this.filterGridOptions),this.viewport.refreshHeader(),this.filterOps.refreshFloatingFilter())}setColumnAutosizeOptions(e){let t=Fu(e);this.columnAutosizeService.setAutosizeOptions(t)}autoSizeColumn(e,t){this.columnLayout.autoSizeColumn(e,t,`autosizeColumns`)}autoSizeColumns(e,t){this.columnLayout.autoSizeColumns(e,t,`autosizeColumns`)}sizeColumnsToFit(e){this.columnLayout.sizeColumnsToFit(e)}setColumnWidths(e,t=!0,n=`api`){this.columnLayout.setColumnWidths(e,t,n)}setColumnWidth(e,t,n=!0,r=`api`){this.columnLayout.setColumnWidth(e,t,n,r)}getColumnWidth(e){return this.columnLayout.getColumnWidth(e)}setShowUnsortedSortHintOnHover(e){this.showUnsortedSortHintOnHover=e,this.viewport.refreshHeader()}toggleRowSelection(e,t,n){this.selectionOps.toggleRowSelection(e,t,n)}setIndexFocus(e,t){this.selectionOps.setIndexFocus(e,t),this.cellRangeOps.isCellSelectionEnabled()&&this.indexColumnOptions.showIndexColumn&&this.interaction.syncCellRangeFromIndexFocus()}toggleAllSelection(e){this.selectionOps.toggleAllSelection(e)}clearRowSelection(e){this.selectionOps.clearRowSelection(e)}setDefaultSelectedRows(e,t){this.selectionOps.setDefaultSelectedRows(e,t??{})}clearPendingDefaultSelectedRows(){this.selectionOps.clearPendingDefaultSelectedRows()}reconcileDefaultSelectedRows(){this.selectionOps.reconcilePendingDefaultSelectedRows(),this.selectionOps.flushPendingPresetTransientSelectionNotify()}getSelectedRowIds(){return this.selectionService?t.O(this.selectionService.getSelectedRowIds(),this.businessRowIdCtx):[]}getSelectedRows(){return this.selectionService?t.v(this.selectionService.getSelectedRowIds(),this.businessRowIdCtx):[]}async removeSelectedRows(e={}){if(!this.selectionService)return{add:[],remove:[],update:[]};let t=(e.scope??`all`)===`all`?[...this.selectionService.getSelectedRowIds()]:this.selectionService.getSelectedRowIds().filter(e=>this.rowModel.rowsToDisplay.some(t=>t.id===e));return t.length===0?{add:[],remove:[],update:[]}:(G(this.rowModel,`removeSelectedRows`),this.rowMutation.removeRows({rowIds:t}))}getIndexFocusedRowIds(e){return this.indexFocusService?t.x(this.getIndexFocusedRows(e),{mode:`all`}):[]}getIndexFocusedRows(e){return this.indexFocusService?t._(this.indexFocusService.getFocusedRowIds(),this.businessRowIdCtx,e):[]}isRowNodeSelectable(e){return this.selectionOps.isRowNodeSelectable(e)}getSelectableRowIdAt(e){return this.selectionOps.getSelectableRowIdAt(e)}getSummaryOptions(){return{...this.summaryOptions,summaryRowHeight:this.resolvedSummaryRowHeight}}getIndexColumnOptions(){return this.indexColumnOptions}getSelectionColumnOptions(){return this.selectionColumnOptions}on(e,t){return this.eventBus.on(e,t)}emitGridLifecycleEvent(e,t){this.destroyed||this.eventBus.emit(e,t)}getRowNode(e){return this.rowModel.getRowById(t.m(e))}getSiblingRowsByRowId(e,t){return Xu(e,t,this.getResolveDisplayRowContext())}getSiblingRowByIterator(e,t){return Zu(e,t,this.getResolveDisplayRowContext())}getRowKind(e){return Rd(e,this.getResolveDisplayRowContext())}getRowIndex(e,t){return Fd(e,this.getResolveRowIndexContext(),t)}getRowIndexes(e,t){return Id(e,this.getResolveRowIndexContext(),t)}getRowByIndex(e){return $u(e,this.getResolveDisplayRowContext())}getRowsByIndexes(e){return ed(e,this.getResolveDisplayRowContext())}getRowSnapshots(e){return td(this.getResolveDisplayRowContext(),e)}getRowIds(e){return nd(this.getResolveDisplayRowContext(),e)}getResolveDisplayRowContext(){return fk({rowKey:this.rowKey,rowModel:this.rowModel})}getResolveRowIndexContext(){return{...this.getResolveDisplayRowContext(),sourceRows:this.rowModel.getSourceRows(),hasSortOrFilter:this.rowModel.getSortModel().length>0||Object.keys(this.rowModel.getFilterModel()).length>0}}ensureIndexVisible(e,t=`middle`){W(this.rowModel)&&this.infiniteDatasourceService?.ensureBlocksForRange(e,e),this.viewport.ensureIndexVisible(e,t)}ensureColumnVisible(e){this.viewport.ensureColumnVisible(e)}setData(e){if(G(this.rowModel,`setData`),Su(this.rowModel)){let t=this.rowModel.getRowKey(),n=Au(e,this.rowModel.getSourceRows(),t),r=!this.preserveScrollOnSetData||!this.selectionOps.reserveSelection||(this.selectionService?.getSelectedRowIds().length??0)>0||this.cellStyleOverrideService.hasOverrides();if(n&&!r)return}let t=this.preserveScrollOnSetData,n=t?this.viewport.getLogicalScrollTop():0,r=t?this.viewport.viewportEl.scrollLeft:0,i=performance.now(),a=this.selectionOps.reserveSelection&&this.selectionService?this.selectionService.getSelectedRowIds():null,o=(this.selectionService?.getSelectedRowIds().length??0)>0;this.selectionOps.reserveSelection||this.selectionService?.clear(),this.indexFocusService?.clear(),this.cellFocusService.clear(),this.validationFeedback.clear(this.mountEl),this.cellEditing.syncValidationHeaderDom(),this.treeLazyLoadService?.reset(),this.cellStyleOverrideService.clear();let s=new Set(this.rowModel.getSourceRows().map(e=>e.id));this.rowModel.setData(e);let c=new Set(this.rowModel.getSourceRows().map(e=>e.id)),l=[...s].filter(e=>!c.has(e));l.length>0&&(this.clearCellEditorCacheForRemovedRows(l),this.clearCellStyleOverridesForRemovedRows(l));let u=this.selectionOps.reconcileSelectionAfterSetData(a,o);t||this.viewport.resetScrollOnSetData(),this.viewport.syncViewportHeight(),this.valueCache.bump(),this.refreshCellSpanCache(),this.reconcileRowPoolAfterDisplayChange(c),this.rowRenderer.setValueCacheVersion(this.valueCache.getVersion()),this.rowRenderer.resetRowRenderWindowCache(),t?this.viewport.scrollTo(n,r):this.viewport.scrollTo(0,0),this.selectionOps.applySelectionVisuals(),this.selectionOps.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.selectionOps.reconcilePendingDefaultSelectedRows(),this.applyFocusVisuals(),this.lastSetDataMs=performance.now()-i,this.viewport.scheduleCompressedSetDataRedraw(()=>{this.viewport.syncViewportHeight(),this.viewport.redrawImmediately(),t&&this.viewport.scrollTo(n,r),this.gridFooter.refresh()}),this.gridFooter.refresh(),this.maybeApplyFitCellContentsStrategy(e.length),u&&this.selectionService&&this.eventBus.emit(`selectionChanged`,{selectedRowIds:this.selectionService.getSelectedRowIds(),source:`api`}),this.overlayService.markRowDataReady(),this.syncEmptyStateOverlay()}setColumns(e){this.userColumns=[...e],this.userColumns,at(this.userColumns),this.rowGroupingService.syncRowGroupColumnsFromDefs(),this.columnModel.setColumns(Kn(this.userColumns,this.indexColumnOptions,this.selectionColumnOptions,{rowExpansion:this.rowExpansionOptions,rowGrouping:this.rowGroupingService.active?this.rowGroupingOptions:void 0,treeTable:this.treeTableService.active?this.treeTableOptions:void 0}),this.cellRenderersByColId,this.cellEditorsByColId,void 0,this.columnLayout.columnMoveOptions,this.columnLayout.columnResizeOptions,this.columnSortOptions,this.filterGridOptions),this.overflowTooltipSession.close(),this.refreshCellSpanCache(),this.columnLayout.syncAfterColumnStructureChange(),this.syncEmptyStateOverlay()}getCenterViewportWidth(){let e=this.mountEl.querySelector(`.mg-viewport`)?.clientWidth??0,t=e>0?e:this.mountEl.clientWidth;return this.columnFlexService.resolveCenterViewportWidth(t)}refreshFlexedColumnsOnViewportChange(e){let t=this.getCenterViewportWidth();t===this.centerViewportWidth&&e||(this.centerViewportWidth=t,this.columnLayout.refreshFlexedColumns({fireResizedEvent:e}))}scheduleAutoSizeStrategy(){let e=this.columnAutosizeService.getAutoSizeStrategy();if(e){if(e.type===`fitGridWidth`||e.type===`fitProvidedWidth`){window.setTimeout(()=>{this.destroyed||this.columnLayout.applyAutoSizeFitWidthStrategy(e)},0);return}e.type===`fitCellContents`&&(this.autoSizeCellContentsPending=!0)}}maybeApplyFitCellContentsStrategy(e){if(!this.autoSizeCellContentsPending||e===0)return;let t=this.columnAutosizeService.getAutoSizeStrategy();!t||t.type!==`fitCellContents`||(this.autoSizeCellContentsPending=!1,window.setTimeout(()=>{this.destroyed||this.columnLayout.applyAutoSizeFitCellContentsStrategy(t)},0))}setSortModel(e){let t=ea(e);if(W(this.rowModel)){this.rowModel.setSortModel(t),this.viewport.scrollTo(0,0),this.infiniteDatasourceService?.refreshCache(`sort`),this.viewport.refreshHeader(),this.eventBus.emit(`sortChanged`,{sortModel:this.rowModel.getSortModel()}),this.cellRangeOps.clearCellSelectionOnStructuralChange(),this.gridFooter.refresh();return}this.rowModel.setSortModel(t),this.viewport.syncViewportHeight(),this.valueCache.bump(),this.rowRenderer.setValueCacheVersion(this.valueCache.getVersion()),this.refreshCellSpanCache(),this.reconcileRowPoolAfterDisplayChange(),this.rowRenderer.resetRowRenderWindowCache(),this.viewport.redrawImmediately(),this.rowRenderer.refreshRows({force:!0}),this.viewport.refreshHeader(),this.eventBus.emit(`sortChanged`,{sortModel:this.rowModel.getSortModel()}),this.cellRangeOps.clearCellSelectionOnStructuralChange(),this.gridFooter.refresh()}getSortModel(){return this.rowModel.getSortModel()}setFilterModel(e){if(W(this.rowModel)){this.rowModel.setFilterModel(e),this.afterInfiniteFilterChange();return}this.filterOps.setFilterModel(e)}afterInfiniteFilterChange(){this.viewport.scrollTo(0,0),this.infiniteDatasourceService?.refreshCache(`filter`),this.viewport.refreshHeaderIndicatorState(),this.emitInfiniteFilterChanged()}emitInfiniteFilterChanged(){this.eventBus.emit(`filterChanged`,{filterModel:this.rowModel.getFilterModel(),quickFilterText:this.rowModel.getQuickFilterText()}),this.cellRangeOps.clearCellSelectionOnStructuralChange(),this.gridFooter.refresh()}refreshInfiniteCache(){this.infiniteDatasourceService?.refreshCache(`api`)}setInfiniteDatasource(e){if(!W(this.rowModel))throw Error(`[MagicGrid] setInfiniteDatasource() requires rowModelType "infinite"`);if(!this.infiniteDatasourceService)throw Error(`[MagicGrid] infinite datasource service is not initialized`);this.infiniteDatasourceService.setDatasource(e)}retryInfiniteBlock(e){this.infiniteDatasourceService?.retryBlock(e)}getLoadedRowData(){return this.infiniteDatasourceService?.getLoadedRowData()??[]}getInfiniteRowCount(){return this.infiniteDatasourceService?.getInfiniteRowCount()??this.rowModel.getRowCount()}getFilterModel(){return this.filterOps.getFilterModel()}getColumnFilter(e){return this.filterOps.getColumnFilter(e)}getColumnDistinctFilterValues(e){return W(this.rowModel)?[]:this.filterOps.getColumnDistinctFilterValues(e)}isColumnFilterActive(e){return this.filterOps.isColumnFilterActive(e)}isAnyFilterActive(){return this.filterOps.isAnyFilterActive()}getQuickFilterText(){return this.filterOps.getQuickFilterText()}setQuickFilterText(e){if(W(this.rowModel)){if(this.rowModel.getQuickFilterText()===e)return;this.rowModel.setQuickFilterText(e),this.afterInfiniteFilterChange();return}this.filterOps.setQuickFilterText(e)}clearAllFilters(){if(W(this.rowModel)){if(!this.isAnyFilterActive())return;this.rowModel.setFilterModel({}),this.rowModel.setQuickFilterText(``),this.afterInfiniteFilterChange();return}this.filterOps.clearAllFilters()}setColumnFilter(e,t){if(W(this.rowModel)){let n={...this.rowModel.getFilterModel()};t===null?delete n[e]:n[e]=t,this.setFilterModel(n);return}this.filterOps.setColumnFilter(e,t)}moveColumn(e,t,n=!0,r){return this.columnLayout.moveColumn(e,t,n,r)}resetColumnOrder(){return this.columnLayout.resetColumnOrder()}resetColumnWidths(){return this.columnLayout.resetColumnWidths()}setColumnFixed(e,t,n=`api`){return this.columnLayout.setColumnFixed(e,t,n)}setColumnsHidden(e,t){return this.columnLayout.setColumnsHidden(e,t,`api`)}isColumnHidden(e){return this.columnModel.isColumnHidden(e)}getDisplayedColumnIds(){return this.columnModel.getDisplayedColumnIds()}getColumns(){return this.columnModel.getColumns()}getDisplayedColumns(){return this.columnModel.getDisplayedColumns()}finishColumnMove(e){this.columnLayout.finishColumnMove(e)}setColumnMoveLiveDragging(e){this.columnLayout.setColumnMoveLiveDragging(e)}setRowMoveLiveDragging(e){this.rootEl.classList.toggle(`magic-grid--row-move-live`,e)}buildPlanRowDragMoveOptions(e){return{sourceRows:this.rowModel.getSourceRows(),displayRows:this.rowModel.rowsToDisplay,rowIds:e.rowIds,leaderRowId:e.leaderRowId,displayInsertIndex:e.displayInsertIndex,sortModelLength:this.rowModel.getSortModel().length,filterModelKeyCount:Object.keys(this.rowModel.getFilterModel()).length,isRowGroupingActive:this.rowGroupingService.active,isTreeActive:this.treeTableService.active,treeDragScope:this.treeTableOptions.treeDragScope,getDataPath:this.treeTableOptions.getDataPath,setDataPath:this.treeTableOptions.setDataPath,treeNestUnderRowId:typeof e.treeNestUnderRowId==`string`?e.treeNestUnderRowId:void 0}}setRowDragCommittingVisual(e){this.rootEl.classList.toggle(Da,e!=null),this.rowRenderer.setRowDragCommittingRows(e?.rowIds??null)}finishRowMove(e){this.rowMutation.finishRowMove(t.m(e))}applyTransaction(e){return G(this.rowModel,`applyTransaction`),this.rowMutation.applyTransaction(e)}commitTransaction(e){return G(this.rowModel,`commitTransaction`),this.rowMutation.commitTransaction(e)}addRows(e){return G(this.rowModel,`addRows`),this.rowMutation.addRows(e)}addRowsByArray(e,t){return G(this.rowModel,`addRowsByArray`),this.rowMutation.addRowsByArray(e,t)}addGroupRows(e){return G(this.rowModel,`addGroupRows`),this.rowMutation.addGroupRows(e)}addGroupRowsByArray(e,t){return G(this.rowModel,`addGroupRowsByArray`),this.rowMutation.addGroupRowsByArray(e,t)}removeRows(e){return G(this.rowModel,`removeRows`),this.rowMutation.removeRows(e)}updateRows(e){return G(this.rowModel,`updateRows`),this.rowMutation.updateRows(e)}patchRow(e){return this.updateRows({rows:[{rowId:t.b(e.row),data:e.data}]})}moveRow(e,n,r=`source`){return G(this.rowModel,`moveRow`),this.rowMutation.moveRow({rowId:t.m(e),toIndex:n,indexMode:r})}moveRows(e){G(this.rowModel,`moveRows`);let n=t.g(e.rowIds)??[];if(n.length===0)return Promise.resolve({moved:!1,reason:`no rows to move`});let r=this.rowModel.getSourceRows(),i=e.leaderRowId==null?Lu(r,n):t.m(e.leaderRowId);return this.rowMutation.moveRows({rowIds:n,leaderRowId:i,toIndex:e.toIndex,indexMode:e.indexMode},`api`)}moveUp(e){return this.moveRowByStep(e,`up`)}moveDown(e){return this.moveRowByStep(e,`down`)}moveUps(e){return this.moveRowsByStep(e,`up`)}moveDowns(e){return this.moveRowsByStep(e,`down`)}async moveRowsByStep(e,n){let r=t.g(e)??[];if(r.length===0)return[];let i=this.getResolveRowIndexContext(),a=new Set;for(let e of r){let t=Vu(e,i);if(t==null)return[];a.add(i.sourceRows[t].id)}let o=i.sourceRows.filter(e=>a.has(e.id)).map(e=>e.id),s=Nd({sourceRows:i.sourceRows,displayRows:i.displayRows,rowIds:o,direction:n,isRowGroupingActive:this.rowGroupingService.active,isTreeActive:this.treeTableService.active});if(s==null||!(await this.moveRows({rowIds:o,toIndex:s.toIndex,indexMode:s.indexMode})).moved)return[];let c=this.getResolveDisplayRowContext(),l=[];for(let e of o){let t=this.rowModel.getRowById(e);if(!t)continue;let n=Ku(t,c);n&&l.push(n)}return l}async moveRowByStep(e,n){let r=this.getResolveRowIndexContext(),i=Vu(t.m(e),r);if(i==null)return null;let a=r.sourceRows[i].id,o=Pd({sourceRows:r.sourceRows,displayRows:r.displayRows,rowId:a,direction:n,isRowGroupingActive:this.rowGroupingService.active,isTreeActive:this.treeTableService.active});if(o==null||!(await this.moveRow(a,o.toIndex,o.indexMode)).moved)return null;let s=this.rowModel.getRowById(a);return s?Ku(s,this.getResolveDisplayRowContext())??null:null}setRowHeight(e,n,r=!0){this.rowHeightService.setRowHeight(t.m(e),n,r,`api`)}setRowHeights(e,n=!0){this.rowHeightService.setRowHeights(e.map(e=>({rowId:t.m(e.rowId),height:e.height})),{finished:n,source:`api`})}getRowHeight(e){return this.rowHeightService.getRowHeight(t.m(e))}resetRowHeights(e){this.rowHeightService.resetRowHeights(e?.map(e=>t.m(e)))}expandRow(e){return this.hierarchyOps.expandRow(e)}collapseRow(e){return this.hierarchyOps.collapseRow(e)}isRowExpanded(e){return this.hierarchyOps.isRowExpanded(e)}setDetailRowData(e,t){return this.hierarchyOps.setDetailRowData(e,t)}reloadDetailRowData(e){return this.hierarchyOps.reloadDetailRowData(e)}expandAll(){this.hierarchyOps.expandAll()}collapseAll(){this.hierarchyOps.collapseAll()}setRowGroupColumns(e){this.hierarchyOps.setRowGroupColumns(e)}getRowGroupColumns(){return this.hierarchyOps.getRowGroupColumns()}expandGroup(e){return this.hierarchyOps.expandGroup(e)}collapseGroup(e){return this.hierarchyOps.collapseGroup(e)}isGroupExpanded(e){return this.hierarchyOps.isGroupExpanded(e)}expandNode(e){return this.hierarchyOps.expandNode(e)}collapseNode(e){return this.hierarchyOps.collapseNode(e)}isNodeExpanded(e){return this.hierarchyOps.isNodeExpanded(e)}getDataPath(e){return this.hierarchyOps.getDataPath(e)}applyTreeHierarchyShortcut(e,t){this.hierarchyOps.applyTreeHierarchyShortcut(e,t)}getCellComment(e,n){return this.cellCommentService.getComment(t.m(e),n)}async setCellComment(e,n,r){await this.cellCommentService.setComment(t.m(e),n,r??null,`api`)}refreshCellComments(e){this.cellCommentService.requestRefresh(e),this.closeCellCommentPopupIfAnchorNotVisible()}getCellRanges(){return this.cellRangeOps.getCellRanges()}getCellSelectionAggregation(){return this.cellRangeOps.getCellSelectionAggregation()}clearCellSelection(){this.cellRangeOps.clearCellSelection()}addCellRange(e){this.cellRangeOps.addCellRange(e)}copySelectedRangeToClipboard(){this.cellRangeOps.copySelectedRangeToClipboard()}async pasteFromClipboard(){await this.cellRangeOps.pasteFromClipboard()}showLoadingOverlay(){this.updateEmptyStateOptions({loading:!0})}showNoRowsOverlay(){this.overlayService.showNoRowsOverlay()}hideOverlay(){this.overlayService.hideOverlay()}isOverlayShowing(){return this.overlayService.isOverlayShowing()}getOverlayType(){return this.overlayService.getOverlayType()}updateEmptyStateOptions(e){this.emptyStateOptionsRaw={...this.emptyStateOptionsRaw,...e},this.emptyStateGridOptions=Xc(this.emptyStateOptionsRaw),this.syncEmptyStateOverlay(),this.refreshOverlayPresentation()}updateLoadMoreRowOptions(e){let t=this.loadMoreRowGridOptions.enabled,n=this.loadMoreRowGridOptions.height;if(this.loadMoreRowOptionsRaw={...this.loadMoreRowOptionsRaw,...e},Object.assign(this.loadMoreRowGridOptions,go(this.loadMoreRowOptionsRaw,this.gridSize)),t!==this.loadMoreRowGridOptions.enabled||n!==this.loadMoreRowGridOptions.height){this.syncLoadMoreRowDisplay();return}this.rowRenderer.refreshLoadMoreRowContent(),this.viewport.redrawImmediately()}syncLoadMoreRowDisplay(){Su(this.rowModel)&&(this.rowModel.rebuildDisplayProjection(),this.viewport.syncViewportHeight(),this.rowRenderer.invalidate(),this.viewport.redrawImmediately())}refreshOverlayPresentation(){let e=this.overlayService.getOverlayType();e!=null&&this.overlayRenderer.sync(e,this.overlayService.getOverlayPresentation())}handleOverlayChanged(e,t){t!=null&&this.eventBus.emit(`overlayHidden`,{overlayType:t}),this.overlayRenderer.sync(e,e==null?null:this.overlayService.getOverlayPresentation()),e!=null&&this.eventBus.emit(`overlayShown`,{overlayType:e})}syncEmptyStateOverlay(){this.destroyed||(W(this.rowModel)&&this.rowModel.getSourceRowCount()>0&&!this.overlayService.isRowDataReady()&&this.overlayService.markRowDataReady(),this.overlayRenderer.syncLayout(),this.overlayService.updateOverlay())}updateCellRangeVisualOptions(e){this.cellRangeOps.updateCellRangeVisualOptions(e)}updateCellSelectionOptions(e){this.cellRangeOps.updateCellSelectionOptions(e)}updateCellClipboardOptions(e){this.cellRangeOps.updateCellClipboardOptions(e)}applyFocusVisuals(){this.interaction.applyFocusVisuals()}updateCellCommentOptions(e){let t=this.cellCommentOptions.cellCommentsDataSource;this.cellCommentOptions=Lo({...this.cellCommentOptions,...e}),t!==this.cellCommentOptions.cellCommentsDataSource&&(this.cellCommentService.resetDatasourceLifecycle(),this.destroyed||this.cellCommentService.init(this.api)),this.rowRenderer.setCellCommentHost(this.cellCommentService.createHost()),this.refreshCellComments()}updateOverflowTooltipOptions(e){this.overflowTooltipOptions=Oc({...this.overflowTooltipOptions,...e}),this.overflowTooltipSession.close()}setStatusBarElement(e){this.overflowTooltipSession.setStatusBarElement(e)}closeCellCommentPopupIfAnchorNotVisible(){let e=this.cellCommentService.getOpenEditorCell();if(!e)return;let t=this.rowModel.getRowIndexById(e.rowId);if(t<0){this.cellCommentService.closeEditor();return}let{firstRow:n,lastRow:r}=this.rowRenderer.getCurrentWindow();(t<n||t>r)&&this.cellCommentService.closeEditor()}updateDimensions(e){if(this.destroyed)return;let t=this.viewport.getLogicalScrollTop(),n=this.viewport.viewportEl.scrollLeft,r={...this.rowHeightGridOptions,rowHeightMin:e.rowHeightMin??this.rowHeightGridOptions.rowHeightMin,rowHeightMax:e.rowHeightMax??this.rowHeightGridOptions.rowHeightMax};this.rowHeightGridOptions=r;let i=e.rowHeight??this.rowHeightService.getDefaultRowHeight();this.rowModel.setDefaultRowHeight(i),this.rowRenderer.setDefaultRowHeight(i),this.suppressRowLayoutViewportSync=!0;try{this.rowHeightService.updateDefaultRowHeight(i,r)}finally{this.suppressRowLayoutViewportSync=!1}this.viewport.syncViewportHeight(),this.viewport.redrawImmediately(),this.viewport.scrollTo(t,n)}isRowDragHandleEnabled(e){if(this.rowDragCommitService?.isCommitting())return!1;let n=this.isSortOrFilterActive(),{rowDragManaged:r}=this.rowDragOptions;return t.it(e)?Na(this.indexColumnOptions.indexColumn.showRowDragHandle,n,r):this.columnModel.getColumnById(e)?.rowDrag?Na(!0,n,r):!1}isSortOrFilterActive(){return this.rowModel.getSortModel().length>0||this.isAnyFilterActive()}getData(e){return W(this.rowModel)?(Tu(),this.getLoadedRowData()):this.rowMutation.getData(e)}promoteRowId(e){return G(this.rowModel,`promoteRowId`),this.rowMutation.promoteRowId(e)}beginUpdate(){this.rowMutation.beginUpdate()}endUpdate(){this.rowMutation.endUpdate()}refreshCells(e){this.rowRenderer.setValueCacheVersion(this.valueCache.getVersion()),this.frameService.flushAllFrames();let t=this.rowRenderer.refreshRows(e??{});return this.frameService.flushAllFrames(),t}refreshCellSpans(){this.refreshCellSpanCache(),this.valueCache.bump(),this.rowRenderer.setValueCacheVersion(this.valueCache.getVersion()),this.rowRenderer.invalidate(),this.viewport.redrawImmediately(),this.gridFooter.refresh()}getCellSpan(e,n){return this.cellSpanService.getCellSpan(t.m(e),n)}getColumnModel(){return this.columnModel}getRowModel(){return this.rowModel}getActiveDomRowCount(){return this.rowRenderer.getActiveRowCount()}getRenderedRowWindow(){return this.rowRenderer.getCurrentWindow()}getMetrics(){let e=this.rowRenderer.getCurrentWindow(),t=this.viewport.getLogicalScrollTop();return{rowCount:this.rowModel.getRowCount(),sourceRowCount:this.rowModel.getSourceRowCount(),columnCount:this.columnModel.getColumnCount(),activeDomRowCount:this.rowRenderer.getActiveRowCount(),domCellCount:this.mountEl.querySelectorAll(`.mg-cell`).length,scrollTop:t,scrollLeft:this.viewport.viewportEl.scrollLeft,totalHeight:this.rowModel.getTotalHeight(),totalWidth:this.columnModel.getTotalWidth(),renderedFirstRow:e.firstRow,renderedLastRow:e.lastRow,renderedFirstCol:e.firstCol,renderedLastCol:e.lastCol,lastSetDataMs:this.lastSetDataMs}}refreshCellSpanCache(){this.cellSpanService.refresh()}reconcileRowPoolAfterDisplayChange(e=this.collectSourceRowIds()){this.rowRenderer.reconcileRowPoolAfterModelChange(e,this.cellSpanService.active)}collectSourceRowIds(){return new Set(this.rowModel.getSourceRows().map(e=>e.id))}syncRowLayoutAfterRowHeightChange(e){let t=e.map(e=>e.rowId);if(this.suppressRowLayoutViewportSync){this.rowRenderer.syncVisibleRowLayouts(t);return}let n=this.viewport.captureScrollAnchor(),r=0,i=0;if(Su(this.rowModel))for(let t of e){if(!I(t.rowId))continue;let e=t.previousRowHeight;if(e==null||e===t.rowHeight)continue;let n=this.rowModel.getDisplayRowById(t.rowId);n&&(r=n.rowTop,i+=t.rowHeight-e)}this.viewport.syncViewportHeightWithDetailCompensation({anchor:n,detailRowTop:r,heightDelta:i}),this.rowRenderer.syncVisibleRowLayouts(),this.viewport.syncBorderClosureState()}scrollTo(e,t){this.viewport.scrollTo(e,t)}flushFrames(){this.frameService.flushAllFrames()}getPendingFrameTaskCount(){return this.frameService.getPendingTaskCount()}getPendingRendererTaskCount(){return this.frameService.getPendingRendererTaskCount()}startEditingCell(e){this.cellEditing.startEditingCell(e)}stopEditing(e=!1){return this.cellEditing.stopEditing(e).then(()=>void 0)}async commit(e=!1){let t=await this.cellEditing.commit(e);return e||await this.awaitCommitIdle(),e?t:t&&!this.cellEditing.isEditing()}isCommitting(){return this.cellEditing.isCommitting()||this.inlineCellEditorService.isCommitting()}cancelCommit(){this.cellEditing.cancelCommit(),this.inlineCellEditorService.cancelCommit()}async awaitCommitIdle(){await this.cellEditing.awaitCommitIdle(),await this.inlineCellEditorService.awaitCommitIdle()}isEditing(){return this.cellEditing.isEditing()}getEditSessionPhase(){return this.cellEditing.getEditSessionPhase()}getEditingCell(){let e=this.cellEditing.getEditingCell();return e?{colId:e.colId,rowId:t.D(e.rowId,this.businessRowIdCtx)}:null}getEditingCells(){return this.cellEditing.getEditingCells().map(e=>{let n=this.rowModel.getRowById(e.rowId),r=this.columnModel.getColumnById(e.colId),i=n&&r?H(n,r):n?.data[e.colId];return{rowId:t.D(e.rowId,this.businessRowIdCtx),rowIndex:e.rowIndex,colId:e.colId,data:n?t.N(n,this.rowKey):{},value:i}})}validate(e){return this.cellEditing.validate(gk(e)).then(e=>t.w(e,this.businessRowIdCtx))}validateRows(e){return this.cellEditing.validateRows(_k(e)).then(e=>t.w(e,this.businessRowIdCtx))}validateCells(e){return this.cellEditing.validateCells(vk(e)).then(e=>t.w(e,this.businessRowIdCtx))}clearValidation(e){this.cellEditing.clearValidation(yk(e))}clearRowValidation(e){this.cellEditing.clearRowValidation(bk(e))}clearCellValidation(e){this.cellEditing.clearCellValidation(xk(e))}registerCellEditor(e,t){this.cellEditing.registerCellEditor(e,t)}unregisterCellEditor(e){return this.cellEditing.unregisterCellEditor(e)}resolveCellEditorCacheAccess(e){return t.o(e,{rowKey:this.rowKey,resolveRowById:e=>this.rowModel.resolveRowById(e),getSourceRows:()=>this.rowModel.getSourceRows()})}getCellEditorCache(e,t,n){let r=this.resolveCellEditorCacheAccess(e);return this.cellEditorCacheService.get(r.rowId,t,n,{internalRowId:r.internalRowId})}setCellEditorCache(e,t,n,r){let i=this.resolveCellEditorCacheAccess(e);this.cellEditorCacheService.set(i.rowId,t,n,r,{internalRowId:i.internalRowId})}clearCellEditorCache(e,t,n){if(e==null){this.cellEditorCacheService.clear(void 0,t,n);return}let r=this.resolveCellEditorCacheAccess(e);this.cellEditorCacheService.clear(r.rowId,t,n,{internalRowId:r.internalRowId})}clearAllCellEditorCache(){this.cellEditorCacheService.clearAll()}clearCellStyleOverridesForRemovedRows(e){e.length!==0&&this.cellStyleOverrideService.clear({rowIds:e})}clearCellEditorCacheForRemovedRows(e){let{businessRowIds:t,transientInternalRowIds:n}=Pu(e,{rowKey:this.rowModel.getRowKey(),getRowById:e=>this.rowModel.getRowById(e)});this.cellEditorCacheService.removeByRowIds(t,{internalRowIds:n})}destroy(){this.destroyed||(this.destroyed=!0,this.infiniteDatasourceService?.destroy(),this.infiniteDatasourceService=null,this.rowDragCommitService?.destroy(),this.cellCommentService.destroy(),this.cellStyleOverrideService.clear(),this.cellRangeOps.destroy(),this.overflowTooltipSession.destroy(),this.overlayRenderer?.destroy(),this.overlayService?.destroy(),this.rowRenderer.setCellCommentHost(void 0),this.cellEditing.cancelEditingOnDestroy(),this.cellEditorCacheService.clearAll(),this.changeDetection.reset(),this.eventBus.destroy(),this.cellEditing.destroy(),this.resizeObserver?.disconnect(),this.resizeObserver=null,this.viewport.unbindScrollListener(),this.interaction.unbindListeners(),this.columnHandleMenuController.destroy(),this.treeHierarchyMenuController.destroy(),this.columnDragController.destroy(),this.frameService.flushAllFrames(),this.frameService.destroy(),this.rowAutoHeightService.destroy(),this.detailRowAutoHeightService?.destroy(),this.rowRenderer.destroy(),this.footerRenderer?.destroy(),this.footerRenderer=null,this.floatingFilterController?.destroy(),this.floatingFilterController=null,this.rootEl.remove())}getColIndex(e){return this.columnModel.getColumns().findIndex(t=>t.colId===e)}getPinnedRowIds(){let e=new Set;for(let t of this.editingService.getPinnedRowIds())e.add(t);for(let t of this.rowEditingService.getPinnedRowIds())e.add(t);if(this.rowExpansionOptions.masterDetail){let t=Su(this.rowModel);for(let n of this.rowExpansionService.getPinnedRowIds()){if(t){if(I(n)){let e=ee(n);if(e&&!this.rowModel.getDisplayRowById(e))continue}else if(!this.rowModel.getDisplayRowById(n))continue}e.add(n)}}return e}isEditingTargetRow(e){return this.cellEditing.getEditingCell()?.rowId===e||this.cellEditing.getEditingCells().some(t=>t.rowId===e)}},Ek=`--mg-color-bg-cell`,Dk=`--mg-color-text-regular`,Ok=`--mg-color-text-primary`,kk=[Ek,Dk,Ok];function Ak(e){if(e==null)return;let t=e.trim();return t===``?void 0:t}function jk(e){let t=Ak(e?.backgroundColor),n=Ak(e?.color);return t===void 0&&n===void 0?{}:{...t===void 0?{}:{backgroundColor:t},...n===void 0?{}:{color:n}}}function Mk(e){let t=jk(e),n={};return t.backgroundColor!==void 0&&(n[Ek]=t.backgroundColor),t.color!==void 0&&(n[Dk]=t.color,n[Ok]=t.color),n}function Nk(e){return e??`light`}function Pk(e){return`magic-grid--theme-${e}`}function Fk(e,t){return e===`dark`?Mk(t):{}}function Ik(e,t,n){if(!e)return;for(let t of kk)e.style.removeProperty(t);let r=Fk(t,n);for(let[t,n]of Object.entries(r))e.style.setProperty(t,n)}function Lk(e){if(e===!1)return!1;let t=e===!0||e==null?{}:e,n=typeof e==`object`&&!!e&&`handleMode`in e,r={...t,enableColumnSelection:t.enableColumnSelection??!0};if(n){let e=t.handleMode??`off`;r.handleMode=e,e===`fill`&&(r.fillStrategy=t.fillStrategy??`copy`)}return r}function Rk(e){return{...e,syncToSelectionColumn:e?.syncToSelectionColumn??!0}}function zk(e){return Os({cellSelection:e}).enabled}function Bk(e){let r=(0,n.ref)(0),i=(0,n.ref)(0),a=()=>{r.value+=1};return{statusBarContext:(0,n.computed)(()=>{r.value;let n=e.api.value,a=n?.getMetrics(),s=t.$(e.rowSelection.value).mode!==!1,c=zk(e.cellSelection.value),l=e.rowModelType.value===`infinite`;return{api:n,totalRowCount:l?n?.getInfiniteRowCount()??a?.rowCount??0:a?.sourceRowCount??0,displayedRowCount:a?.rowCount??0,isFiltered:l?n?.isAnyFilterActive()??!1:n?.isAnyFilterActive()??(a!=null&&a.sourceRowCount!==a.rowCount),selectedRowCount:i.value,rowSelectionEnabled:s,cellSelectionEnabled:c,cellSelectionAggregation:c?n?.getCellSelectionAggregation()??null:null,statusBarRangeAggregationPrecision:o(e.statusBarRangeAggregationPrecision.value),metrics:a}}),bumpRefresh:a,onSelectionChanged:e=>{i.value=e.length,a()},resetSelectionCount:()=>{i.value=0}}}var Vk=new WeakMap;function Hk(e){try{(0,n.render)(null,e)}catch{e.replaceChildren()}}function Uk(e){let t=(Vk.get(e)??0)+1;Vk.set(e,t),Hk(e)}function Wk(e,t){t?.();let n=Vk.get(e)??0;queueMicrotask(()=>{(Vk.get(e)??0)===n&&Hk(e)})}function Gk(e,t){Uk(e),(0,n.render)(t,e)}var Kk=class{appContext=null;setAppContext(e){this.appContext=e}getAppContext(){return this.appContext}render(e,t){this.appContext&&(t.appContext=this.appContext),Gk(e,t)}unmount(e){Wk(e,()=>gp(e))}};function qk(e,t){return ha((n,r)=>{e.render(r.mountEl,t(n)),Sp(r.mountEl)})}function Jk(e,t){return qk(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var Yk=class{render(e,t){Gk(e,t)}unmount(e){Wk(e)}};function Xk(e,t){return(n,r)=>{e.render(r.mountEl,t(n))}}function Zk(e,t){return Xk(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var Qk=class{render(e,t){Gk(e,t)}unmount(e){Wk(e)}};function $k(e,t){return(n,r)=>{e.render(r.mountEl,t(n))}}function eA(e,t){return $k(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var tA=new Qk,nA=class{render(e,t){Gk(e,t)}unmount(e){Wk(e,()=>gp(e))}};function rA(e){return{params:e,...e.cellEditorParams??{}}}function iA(e){return typeof e==`function`}function aA(e,t,r,i){let a=iA(r)?r(i):(0,n.h)(r,rA(i));e.render(t,a),Sp(t)}function oA(e,t){return Cn((n,r)=>{aA(e,r.mountEl,t,n)})}function sA(e,t){return oA(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var cA=class{mountEl=null;render(e,t){this.unmount(),this.mountEl=e,Gk(e,t)}unmount(){this.mountEl&&=(Wk(this.mountEl),null)}};function lA(e,t){return(n,r)=>{let i=t(n),a=Array.isArray(i)?i[0]:i;return e.render(r,a),{getGui:()=>r,destroy:()=>e.unmount()}}}var uA=class{mountEl=null;render(e,t){this.unmount(),this.mountEl=e,Gk(e,t)}unmount(){this.mountEl&&=(Wk(this.mountEl),null)}};function dA(e,t){return(n,r)=>{let i=t(n),a=Array.isArray(i)?i[0]:i;return e.render(r,a),{getGui:()=>r,destroy:()=>e.unmount()}}}var fA=new Kk,pA=new Yk,mA=new nA,hA=new cA,gA=new uA;function _A(e,t){return e.key??e.prop??`col_${t}`}function vA(){fA.setAppContext((0,n.getCurrentInstance)()?.appContext??null)}function yA(e,t){let n={};return e.forEach((e,r)=>{let i=_A(e,r);e.cellRenderer&&(n[i]=e.cellRenderer);let a=t[`cell-${i}`];a&&(n[i]=Jk(fA,e=>a({row:e.data,value:e.value,formattedValue:e.formattedValue,rowIndex:e.rowIndex,rowId:e.rowId,colId:e.colId,isSummaryRow:e.isSummaryRow??!1})))}),n}function bA(e,t){let n={};return e.forEach((e,r)=>{let i=_A(e,r);e.cellEditor&&typeof e.cellEditor==`function`&&(n[i]=e.cellEditor);let a=t[`cell-editor-${i}`];a&&(n[i]=sA(mA,e=>a({params:e,row:e.data,value:e.value,formattedValue:e.formattedValue,rowIndex:e.rowIndex,rowId:e.rowId,colId:e.colId,stopEditing:e.stopEditing})))}),n}function xA(e,t){let n=t.tooltip;return n?lA(hA,e=>n(e)):e}function SA(e,t,n){let r=t[e];return r?dA(gA,e=>r({overlayType:e.overlayType,api:e.api,overlayText:e.overlayText})):n}function CA(e,t){return{loading:e.loading,suppressOverlays:e.suppressOverlays,suppressLoadingOverlay:e.suppressLoadingOverlay,suppressNoRowsOverlay:e.suppressNoRowsOverlay,suppressNoMatchingRowsOverlay:e.suppressNoMatchingRowsOverlay,overlayLoadingTemplate:e.overlayLoadingTemplate,overlayNoRowsTemplate:e.overlayNoRowsTemplate,overlayNoMatchingRowsTemplate:e.overlayNoMatchingRowsTemplate,overlayInteraction:e.overlayInteraction,overlayComponent:e.overlayComponent,overlayComponentParams:e.overlayComponentParams,loadingOverlayComponent:SA(`loading`,t,e.loadingOverlayComponent),loadingOverlayComponentParams:e.loadingOverlayComponentParams,noRowsOverlayComponent:SA(`no-rows`,t,e.noRowsOverlayComponent),noRowsOverlayComponentParams:e.noRowsOverlayComponentParams,noMatchingRowsOverlayComponent:SA(`no-matching-rows`,t,e.noMatchingRowsOverlayComponent),noMatchingRowsOverlayComponentParams:e.noMatchingRowsOverlayComponentParams}}function wA(e,t){let n=t[`load-more-row`];return n?eA(tA,e=>n({...e})):e}function TA(e,t){let n=t[`detail-row`];return n?Zk(pA,e=>n({row:e.data,rowId:e.rowId,masterRowId:e.masterRowId,detailRowData:e.detailRowData,loading:e.loading,loadFailed:e.loadFailed,loadError:e.loadError})):e}function EA(e){fA.unmount(e),pA.unmount(e),tA.unmount(e)}function DA(e){mA.unmount(e)}function OA(){hA.unmount(),gA.unmount()}function kA(e){if(typeof e==`number`)return Number.isFinite(e)?`${e}px`:`100%`;let t=e.trim();return t.length===0?`100%`:/^\d+(\.\d+)?$/.test(t)?`${t}px`:t}function AA(e,t){e===`infinite`&&t.length>0&&console.warn(`[MagicGrid] row-model-type="infinite" ignores the data prop; use infinite-datasource instead.`)}function jA(e,t){return e===`infinite`?(t&&console.warn(`[MagicGrid] row-model-type="infinite" does not support row-drag-managed; it has been disabled.`),!1):t}function MA(t,r,i){let a=(0,n.ref)(),o=(0,n.ref)(),s=(0,n.ref)(),c=(0,n.shallowRef)(),l=(0,n.shallowRef)(),u=!1,d=[];function f(e,t,n){let i={api:t,reason:n};e.emitGridLifecycleEvent(`gridDestroyed`,i),r(`grid-destroyed`,i)}function p(e){let t={api:e};r(`grid-ready`,t),queueMicrotask(()=>{c.value&&l.value===e&&c.value.emitGridLifecycleEvent(`gridReady`,t)})}let{statusBarContext:m,bumpRefresh:h,onSelectionChanged:g,resetSelectionCount:_}=Bk({api:l,rowModelType:(0,n.computed)(()=>t.rowModelType),rowSelection:(0,n.computed)(()=>t.rowSelection),cellSelection:(0,n.computed)(()=>t.cellSelection),statusBarRangeAggregationPrecision:(0,n.computed)(()=>t.statusBarRangeAggregationPrecision)}),v=(0,n.computed)(()=>!!i.toolbar),y=(0,n.computed)(()=>Xn({size:t.size,rowHeight:t.rowHeight,headerHeight:t.headerHeight})),b=(0,n.computed)(()=>Yn({rounded:t.rounded,sizeBorderRadius:y.value.borderRadius})),x=(0,n.computed)(()=>Nk(t.theme)),S=(0,n.computed)(()=>Lk(t.cellSelection)),C=(0,n.computed)(()=>Rk(t.indexColumn)),w=(0,n.computed)(()=>Zn(t.statusBarHeight,y.value.statusBarHeight)),T=(0,n.computed)(()=>({api:l.value,size:y.value.size,portalEl:o.value??void 0})),E=(0,n.computed)(()=>({height:kA(t.height),width:kA(t.width),...sr({...y.value,statusBarHeight:w.value},b.value,t.summaryRowHeight),...Mk(t.cellColor)})),D=(0,n.computed)(()=>{let e=w.value,{fontSize:t,spacing:n}=y.value,r=Qn(e);return{height:`${e}px`,minHeight:`${e}px`,maxHeight:`${e}px`,fontSize:`${t}px`,paddingLeft:`${n}px`,paddingRight:`${n}px`,gap:`${n}px`,"--mg-status-bar-height":`${e}px`,"--mg-status-bar-font-size":`${t}px`,"--mg-status-bar-control-height":`${r}px`}}),O=(0,n.computed)(()=>[`magic-grid`,`magic-grid--border-${t.border}`,`magic-grid--size-${y.value.size}`,Pk(x.value),t.showSummary&&`magic-grid--has-footer`,t.showStatusBar&&`magic-grid--has-status-bar`,v.value&&`magic-grid--has-toolbar`]),k=()=>{if(!c.value)return;let e=c.value.getMetrics();r(`data-rendered`,e);let t=l.value;if(!u&&t){u=!0;let n={api:t,metrics:e};c.value.emitGridLifecycleEvent(`firstRendered`,n),r(`first-rendered`,n)}h(),l.value?.reconcileDefaultSelectedRows()},A=()=>{if(t.rowModelType===`infinite`)return;let e=l.value;if(!e)return;let n=t.defaultSelectedRows;if(n==null){e.clearPendingDefaultSelectedRows();return}e.setDefaultSelectedRows(n,{mode:`cover`})},j=()=>{requestAnimationFrame(()=>{k()})},M=e=>{let t=e.setData.bind(e);e.setData=e=>{t(e),j()}},N=e=>{for(let e of d)e();d.length=0,d.push(e.on(`cellClicked`,e=>r(`cell-clicked`,e)),e.on(`rowClicked`,e=>r(`row-click`,e)),e.on(`rowDoubleClicked`,e=>r(`row-dblclick`,e)),e.on(`selectionChanged`,e=>{g(e.selectedRowIds),r(`selection-changed`,e)}),e.on(`indexFocusChanged`,e=>r(`index-focus-changed`,e)),e.on(`cellValueChanged`,e=>{r(`cell-value-changed`,e),h()}),e.on(`rowDataChanged`,e=>r(`row-data-changed`,e)),e.on(`rowsDataChanged`,e=>r(`rows-data-changed`,e)),e.on(`cellEditingStarted`,e=>r(`cell-editing-started`,e)),e.on(`cellEditingStopped`,e=>r(`cell-editing-stopped`,e)),e.on(`cellCommitStarted`,e=>r(`cell-commit-started`,e)),e.on(`cellCommitFinished`,e=>r(`cell-commit-finished`,e)),e.on(`editCommitAborted`,e=>r(`edit-commit-aborted`,e)),e.on(`rowCommitStarted`,e=>r(`row-commit-started`,e)),e.on(`rowCommitFinished`,e=>r(`row-commit-finished`,e)),e.on(`rowEditingStarted`,e=>r(`row-editing-started`,e)),e.on(`rowEditingStopped`,e=>r(`row-editing-stopped`,e)),e.on(`rowValueChanged`,e=>r(`row-value-changed`,e)),e.on(`cellValidationFailed`,e=>r(`cell-validation-failed`,e)),e.on(`rowValidationFailed`,e=>r(`row-validation-failed`,e)),e.on(`sortChanged`,e=>r(`sort-changed`,e.sortModel)),e.on(`columnMoved`,e=>r(`column-moved`,e)),e.on(`columnResized`,e=>r(`column-resized`,e)),e.on(`columnPinned`,e=>r(`column-pinned`,e)),e.on(`columnHiddenChanged`,e=>r(`column-hidden-changed`,e)),e.on(`filterChanged`,e=>{r(`filter-changed`,e.filterModel),h()}),e.on(`rowsAdded`,e=>{r(`rows-added`,e),h(),j()}),e.on(`rowsRemoved`,e=>{r(`rows-removed`,e),h()}),e.on(`rowIdPromoted`,e=>{r(`row-id-promoted`,e),j()}),e.on(`rowMoved`,e=>r(`row-moved`,e)),e.on(`rowDragEnd`,e=>r(`row-drag-end`,e)),e.on(`rowDragCommitStarted`,e=>r(`row-drag-commit-started`,e)),e.on(`rowDragCommitFinished`,e=>r(`row-drag-commit-finished`,e)),e.on(`rowHeightChanged`,e=>r(`row-height-changed`,e)),e.on(`rowExpanded`,e=>r(`row-expanded`,e)),e.on(`rowCollapsed`,e=>r(`row-collapsed`,e)),e.on(`rowGroupOpened`,e=>r(`row-group-opened`,e)),e.on(`treeNodeOpened`,e=>r(`tree-node-opened`,e)),e.on(`treeChildrenLoading`,e=>r(`tree-children-loading`,e)),e.on(`treeChildrenLoaded`,e=>r(`tree-children-loaded`,e)),e.on(`treeChildrenLoadFailed`,e=>r(`tree-children-load-failed`,e)),e.on(`rowGroupChanged`,e=>r(`row-group-changed`,e)),e.on(`cellCommentChanged`,e=>r(`cell-comment-changed`,e)),e.on(`cellSelectionChanged`,e=>{r(`cell-selection-changed`,e),h()}),e.on(`cellSelectionDeleteStart`,e=>r(`cell-selection-delete-start`,e)),e.on(`cellSelectionDeleteEnd`,e=>r(`cell-selection-delete-end`,e)),e.on(`overlayShown`,e=>r(`overlay-shown`,e)),e.on(`overlayHidden`,e=>r(`overlay-hidden`,e)),e.on(`scroll`,e=>r(`scroll`,e)),e.on(`scrollStart`,e=>r(`scroll-start`,e)),e.on(`scrollEnd`,e=>r(`scroll-end`,e)),e.on(`scrollTop`,e=>r(`scroll-top`,e)),e.on(`scrollBottom`,e=>r(`scroll-bottom`,e)),e.on(`loadMore`,e=>r(`load-more`,e)),e.on(`infiniteBlockLoading`,e=>r(`infinite-block-loading`,e)),e.on(`infiniteBlockLoaded`,e=>r(`infinite-block-loaded`,e)),e.on(`infiniteBlockLoadFailed`,e=>r(`infinite-block-load-failed`,e)),e.on(`infiniteCachePurged`,e=>r(`infinite-cache-purged`,e)))},P=()=>{Ik(a.value?.querySelector(`.mg-body`),x.value,t.cellColor)};function F(){c.value?.setStatusBarElement(t.showStatusBar?s.value?.statusBarEl??null:null)}let I=()=>{if(!a.value)return;vA();for(let e of d)e();d.length=0;let r=c.value,o=l.value;r&&o&&f(r,o,`reinit`),r?.destroy(),_(),t.columns,t.columns,t.columns,at(t.columns),AA(t.rowModelType,t.data),ab({tree:t.tree,rowGrouping:t.rowGrouping}),c.value=new Tk(a.value,{columns:e.r(t.columns),rowKey:t.rowKey,rowModelType:t.rowModelType,infiniteDatasource:t.infiniteDatasource,blockSize:t.blockSize,maxBlocksInCache:t.maxBlocksInCache,infiniteInitialRowCount:t.infiniteInitialRowCount,infiniteMaxRetries:t.infiniteMaxRetries,infiniteLoadingRowVisible:t.infiniteLoadingRowVisible,rowHeight:y.value.rowHeight,headerHeight:y.value.headerHeight,size:y.value.size,rowBuffer:t.rowBuffer,scrollEndFlushMs:t.scrollEndFlushMs,frameBudgetMs:t.frameBudgetMs,scrollEndFrameBudgetMs:t.scrollEndFrameBudgetMs,cellRendererDefer:t.cellRendererDefer,deferRowDestroyOnScroll:t.deferRowDestroyOnScroll,rendererFrameBudgetMs:t.rendererFrameBudgetMs,cellRendererPresentation:t.cellRendererPresentation,stripe:t.stripe,rowSelection:t.rowSelection,selectable:t.selectable,isRowDisabled:t.isRowDisabled,rowStyle:t.rowStyle,editableCellStyle:t.editableCellStyle,showEditableCellIcon:t.showEditableCellIcon,disabledCellStyle:t.disabledCellStyle,showDisabledCellIcon:t.showDisabledCellIcon,reserveSelection:t.reserveSelection,preserveScrollOnSetData:t.preserveScrollOnSetData,editType:t.editType,editBehavior:t.editBehavior,editorOptions:t.editorOptions,invalidEditValueMode:t.invalidEditValueMode,rowValidator:t.rowValidator,asyncRowMutation:t.asyncRowMutation,showIndexColumn:t.showIndexColumn,indexColumn:C.value,selectionColumn:t.selectionColumn,showSummary:t.showSummary,navigateHeader:t.navigateHeader,navigateFooter:t.navigateFooter,summaryScope:t.summaryScope,summaryRowHeight:t.summaryRowHeight,summaryMethod:t.summaryMethod,headerAlign:t.headerAlign,headerValign:t.headerValign,align:t.align,valign:t.valign,footerAlign:t.footerAlign,footerValign:t.footerValign,defaultSort:t.defaultSort,sortable:t.sortable,enableHeaderSortClick:t.enableHeaderSortClick,columnMovable:t.columnMovable,resizable:t.resizable,colResizeDefault:t.colResizeDefault,skipHeaderOnAutoSize:t.skipHeaderOnAutoSize,autoSizePadding:t.autoSizePadding,autoSizeStrategy:t.autoSizeStrategy,suppressMoveWhenColumnDragging:t.suppressMoveWhenColumnDragging,suppressColumnMoveAnimation:t.suppressColumnMoveAnimation,allowCrossLaneColumnMove:t.allowCrossLaneColumnMove,showUnsortedSortHintOnHover:t.showUnsortedSortHintOnHover,quickFilterText:t.quickFilterText,filterable:t.filterable,floatingFilter:t.floatingFilter,filterSetValueMode:t.filterSetValueMode,filterSetDateLayoutMode:t.filterSetDateLayoutMode,rowDragManaged:jA(t.rowModelType,t.rowDragManaged),getRowHeight:t.getRowHeight,rowHeightMin:t.rowHeightMin,rowHeightMax:t.rowHeightMax,enableCellSpan:t.enableCellSpan,enableCellEditorCache:t.enableCellEditorCache,cellEditorCacheMaxEntries:t.cellEditorCacheMaxEntries,masterDetail:t.masterDetail,isRowMaster:t.isRowMaster,masterDefaultExpanded:t.masterDefaultExpanded,detailRowHeight:t.detailRowHeight,detailRowAutoHeight:t.detailRowAutoHeight,embedFullWidthRows:t.embedFullWidthRows,showExpandColumn:t.showExpandColumn,getDetailRowData:t.getDetailRowData,detailCellRenderer:TA(t.detailCellRenderer,i),loadMoreRowEnabled:t.loadMoreRow?.enabled??!1,loadMoreRowHeight:t.loadMoreRow?.height,loadMoreRowLoading:t.loadMoreRow?.loading??!1,loadMoreRowHasMore:t.loadMoreRow?.hasMore,loadMoreRowLabels:t.loadMoreRow?.labels,loadMoreRowRenderer:wA(t.loadMoreRowRenderer,i),rowGrouping:t.rowGrouping,groupDefaultExpanded:t.groupDefaultExpanded,showGroupHeader:t.showGroupHeader,showGroupFooter:t.showGroupFooter,groupDisplayType:t.groupDisplayType,showGroupColumn:t.showGroupColumn,autoGroupColumnDef:t.autoGroupColumnDef,groupKeyCreator:t.groupKeyCreator,groupComparator:t.groupComparator,groupSortKey:t.groupSortKey,groupFooterLabel:t.groupFooterLabel,groupCellRenderer:t.groupCellRenderer,tree:t.tree,getDataPath:t.getDataPath,showTreeColumn:t.showTreeColumn,autoTreeColumnDef:t.autoTreeColumnDef,treeValueGetter:t.treeValueGetter,treeDisplayType:t.treeDisplayType,treeDragScope:t.treeDragScope,treeHierarchyActions:t.treeHierarchyActions,setDataPath:t.setDataPath,treeLazyLoad:t.treeLazyLoad,hasTreeChildren:t.hasTreeChildren,loadTreeChildren:t.loadTreeChildren,cellCommentsDataSource:t.cellCommentsDataSource,suppressCellComments:t.suppressCellComments,cellCommentTrigger:t.cellCommentTrigger,cellCommentShowDelay:t.cellCommentShowDelay,cellCommentHideDelay:t.cellCommentHideDelay,cellSelection:S.value,enableCellCopy:t.enableCellCopy,enableCellPaste:t.enableCellPaste,enableHeaderHighlight:t.enableHeaderHighlight,enableIndexColumnHighlight:t.enableIndexColumnHighlight,processCellForClipboard:t.processCellForClipboard,processCellFromClipboard:t.processCellFromClipboard,processDataFromClipboard:t.processDataFromClipboard,enableTooltips:t.enableTooltips,tooltipShowMode:t.tooltipShowMode,tooltipShowDelay:t.tooltipShowDelay,tooltipSwitchShowDelay:t.tooltipSwitchShowDelay,tooltipHideDelay:t.tooltipHideDelay,tooltipInteraction:t.tooltipInteraction,tooltipMouseTrack:t.tooltipMouseTrack,tooltipComponent:xA(t.tooltipComponent,i),tooltipComponentParams:t.tooltipComponentParams,...CA(t,i),cellRenderers:{byColId:yA(t.columns,i)},cellEditors:{byColId:bA(t.columns,i),byName:t.cellEditorRegistry},onUnmountRenderer:e=>{EA(e)},onUnmountEditor:e=>{DA(e)}}),l.value=c.value.getApi();let s=l.value;s&&M(s),A(),N(c.value),t.rowModelType!==`infinite`&&c.value.setData(t.data),u=!1,s&&p(s),j(),P(),(0,n.nextTick)(()=>F())};return(0,n.onMounted)(()=>{I()}),(0,n.watch)(x,P),(0,n.watch)(()=>t.cellColor,P,{deep:!0}),(0,n.watch)(()=>t.quickFilterText,e=>{let t=c.value?.getApi();!t||t.getQuickFilterText()===e||t.setQuickFilterText(e)}),(0,n.watch)(()=>[t.cellCommentsDataSource,t.suppressCellComments,t.cellCommentTrigger,t.cellCommentShowDelay,t.cellCommentHideDelay],()=>{c.value?.updateCellCommentOptions({cellCommentsDataSource:t.cellCommentsDataSource,suppressCellComments:t.suppressCellComments,cellCommentTrigger:t.cellCommentTrigger,cellCommentShowDelay:t.cellCommentShowDelay,cellCommentHideDelay:t.cellCommentHideDelay})}),(0,n.watch)(()=>[S.value,t.enableCellCopy,t.enableCellPaste],()=>{c.value?.updateCellSelectionOptions({cellSelection:S.value,enableCellCopy:t.enableCellCopy,enableCellPaste:t.enableCellPaste})}),(0,n.watch)(()=>[t.enableHeaderHighlight,t.enableIndexColumnHighlight],()=>{c.value?.updateCellRangeVisualOptions({enableHeaderHighlight:t.enableHeaderHighlight,enableIndexColumnHighlight:t.enableIndexColumnHighlight})}),(0,n.watch)(()=>[t.processCellForClipboard,t.processCellFromClipboard,t.processDataFromClipboard],()=>{c.value?.updateCellClipboardOptions({processCellForClipboard:t.processCellForClipboard,processCellFromClipboard:t.processCellFromClipboard,processDataFromClipboard:t.processDataFromClipboard})}),(0,n.watch)(()=>[t.enableTooltips,t.tooltipShowMode,t.tooltipShowDelay,t.tooltipSwitchShowDelay,t.tooltipHideDelay,t.tooltipInteraction,t.tooltipMouseTrack,t.tooltipComponent,t.tooltipComponentParams,i.tooltip],()=>{c.value?.updateOverflowTooltipOptions({enableTooltips:t.enableTooltips,tooltipShowMode:t.tooltipShowMode,tooltipShowDelay:t.tooltipShowDelay,tooltipSwitchShowDelay:t.tooltipSwitchShowDelay,tooltipHideDelay:t.tooltipHideDelay,tooltipInteraction:t.tooltipInteraction,tooltipMouseTrack:t.tooltipMouseTrack,tooltipComponent:xA(t.tooltipComponent,i),tooltipComponentParams:t.tooltipComponentParams})}),(0,n.watch)(()=>[t.loadMoreRow?.enabled,t.loadMoreRow?.height,t.loadMoreRow?.loading,t.loadMoreRow?.hasMore,t.loadMoreRow?.labels,t.loadMoreRowRenderer,i[`load-more-row`]],()=>{c.value?.updateLoadMoreRowOptions({loadMoreRowEnabled:t.loadMoreRow?.enabled??!1,loadMoreRowHeight:t.loadMoreRow?.height,loadMoreRowLoading:t.loadMoreRow?.loading??!1,loadMoreRowHasMore:t.loadMoreRow?.hasMore,loadMoreRowLabels:t.loadMoreRow?.labels,loadMoreRowRenderer:wA(t.loadMoreRowRenderer,i)})}),(0,n.watch)(()=>[t.loading,t.suppressOverlays,t.suppressLoadingOverlay,t.suppressNoRowsOverlay,t.suppressNoMatchingRowsOverlay,t.overlayLoadingTemplate,t.overlayNoRowsTemplate,t.overlayNoMatchingRowsTemplate,t.overlayInteraction,t.loadingOverlayComponent,t.loadingOverlayComponentParams,t.noRowsOverlayComponent,t.noRowsOverlayComponentParams,t.noMatchingRowsOverlayComponent,t.noMatchingRowsOverlayComponentParams,t.overlayComponent,t.overlayComponentParams,i.loading,i[`no-rows`],i[`no-matching-rows`]],()=>{c.value?.updateEmptyStateOptions(CA(t,i))}),(0,n.watch)(()=>[t.showStatusBar,s.value],()=>{(0,n.nextTick)(()=>F())}),(0,n.watch)(()=>t.data,e=>{t.rowModelType!==`infinite`&&(c.value?.setData(e),j())}),(0,n.watch)(()=>t.defaultSelectedRows,()=>{A()}),(0,n.watch)(()=>t.selectable,e=>{c.value?.setSelectable(e)}),(0,n.watch)(()=>t.isRowDisabled,e=>{c.value?.setIsRowDisabled(e)}),(0,n.watch)(()=>t.rowStyle,e=>{c.value?.setRowStyle(e)}),(0,n.watch)(()=>t.editableCellStyle,e=>{c.value?.setEditableCellStyle(e)}),(0,n.watch)(()=>t.showEditableCellIcon,e=>{c.value?.setShowEditableCellIcon(e)}),(0,n.watch)(()=>t.disabledCellStyle,e=>{c.value?.setDisabledCellStyle(e)}),(0,n.watch)(()=>t.showDisabledCellIcon,e=>{c.value?.setShowDisabledCellIcon(e)}),(0,n.watch)(()=>t.reserveSelection,e=>{c.value?.setReserveSelection(e)}),(0,n.watch)(()=>t.preserveScrollOnSetData,e=>{c.value?.setPreserveScrollOnSetData(e)}),(0,n.watch)(()=>t.showUnsortedSortHintOnHover,e=>{c.value?.setShowUnsortedSortHintOnHover(e)}),(0,n.watch)(()=>t.sortable,e=>{c.value?.setColumnSortOptions({sortable:e})}),(0,n.watch)(()=>t.enableHeaderSortClick,e=>{c.value?.setColumnSortOptions({enableHeaderSortClick:e})}),(0,n.watch)(()=>t.filterable,e=>{c.value?.setColumnFilterOptions({filterable:e})}),(0,n.watch)(()=>t.resizable,e=>{c.value?.setColumnResizeOptions({resizable:e})}),(0,n.watch)(()=>[t.columnMovable,t.suppressMoveWhenColumnDragging,t.suppressColumnMoveAnimation,t.allowCrossLaneColumnMove],([e,t,n,r])=>{c.value?.setColumnMoveOptions({columnMovable:e,suppressMoveWhenColumnDragging:t,suppressColumnMoveAnimation:n,allowCrossLaneColumnMove:r})}),(0,n.watch)(()=>({rowHeight:y.value.rowHeight,rowHeightMin:t.rowHeightMin,rowHeightMax:t.rowHeightMax}),(e,t)=>{if(!c.value||!t)return;let r=c.value.getMetrics()?.scrollTop??0,i=c.value.getMetrics()?.scrollLeft??0;c.value.updateDimensions(e),(0,n.nextTick)(()=>{c.value?.scrollTo(r,i),requestAnimationFrame(()=>{c.value?.scrollTo(r,i)})})}),(0,n.watch)(()=>t.columns,()=>{c.value&&(c.value.setColumns(e.r(t.columns)),c.value.getApi().refreshCellStyles(),j())}),(0,n.watch)(()=>[t.size,t.headerHeight,t.rowBuffer,t.rowModelType,t.infiniteDatasource,t.blockSize,t.maxBlocksInCache,t.infiniteInitialRowCount,t.infiniteMaxRetries,t.infiniteLoadingRowVisible,t.scrollEndFlushMs,t.frameBudgetMs,t.scrollEndFrameBudgetMs,t.cellRendererDefer,t.deferRowDestroyOnScroll,t.rowKey,t.stripe,t.rowSelection,t.editType,t.editBehavior,t.editorOptions,t.invalidEditValueMode,t.rowValidator,t.asyncRowMutation,t.showIndexColumn,t.indexColumn,t.selectionColumn,t.showSummary,t.floatingFilter,t.navigateHeader,t.navigateFooter,t.summaryScope,t.summaryRowHeight,t.summaryMethod,t.headerAlign,t.headerValign,t.align,t.valign,t.footerAlign,t.footerValign,t.cellEditorRegistry,t.rowDragManaged,t.getRowHeight,t.enableCellSpan,t.enableCellEditorCache,t.cellEditorCacheMaxEntries,t.masterDetail,t.isRowMaster,t.masterDefaultExpanded,t.detailRowHeight,t.detailRowAutoHeight,t.embedFullWidthRows,t.showExpandColumn,t.getDetailRowData,t.detailCellRenderer,t.rowGrouping,t.groupDefaultExpanded,t.showGroupHeader,t.showGroupFooter,t.groupDisplayType,t.showGroupColumn,t.autoGroupColumnDef,t.groupKeyCreator,t.groupComparator,t.groupSortKey,t.groupFooterLabel,t.groupCellRenderer,t.tree,t.getDataPath,t.showTreeColumn,t.autoTreeColumnDef,t.treeValueGetter,t.treeDisplayType,t.treeDragScope,t.treeHierarchyActions,t.setDataPath,t.treeLazyLoad,t.hasTreeChildren,t.loadTreeChildren,i[`detail-row`]],()=>{I()}),(0,n.onUnmounted)(()=>{for(let e of d)e();d.length=0;let e=l.value,t=c.value;t&&e&&f(t,e,`unmount`),c.value?.destroy(),OA(),c.value=void 0,l.value=void 0}),{mountRef:a,portalRef:o,statusBarComponentRef:s,rootClass:O,rootStyle:E,statusBarContext:m,statusBarBindings:(0,n.computed)(()=>({context:m.value,barStyle:D.value,showDefaultPanels:t.showDefaultStatusBarPanels,showStatusBarRangeAggregation:t.showStatusBarRangeAggregation,statusBarRangeAggregationPosition:t.statusBarRangeAggregationPosition})),hasToolbarSlot:v,toolbarContext:T,exposeApi:{get api(){return l.value},getMetrics:()=>c.value?.getMetrics(),scrollTo:(e,t)=>{c.value?.scrollTo(e,t)},setSortModel:e=>{c.value?.setSortModel(e),j()},getSortModel:()=>c.value?.getSortModel()??[],setFilterModel:e=>{c.value?.setFilterModel(e),j()},getData:e=>c.value?.getData(e)??[],applyTransaction:async e=>{let t=await c.value?.applyTransaction(e);return j(),t},beginUpdate:()=>{c.value?.beginUpdate()},endUpdate:()=>{c.value?.endUpdate(),j()},ensureIndexVisible:(e,t)=>{c.value?.ensureIndexVisible(e,t)},flushFrames:()=>{c.value?.flushFrames()},getPendingFrameTaskCount:()=>c.value?.getPendingFrameTaskCount()??0,getPendingRendererTaskCount:()=>c.value?.getPendingRendererTaskCount()??0,setDefaultSelectedRows:(e,t)=>{l.value?.setDefaultSelectedRows(e,t)}}}}var NA=[`data-status-bar`,`data-toolbar`],PA={key:0,class:`magic-grid__toolbar`},FA=(0,n.defineComponent)({inheritAttrs:!1,__name:`MagicGrid`,props:y,emits:`scroll.scroll-start.scroll-end.scroll-top.scroll-bottom.load-more.data-rendered.grid-ready.grid-destroyed.first-rendered.cell-clicked.row-click.row-dblclick.selection-changed.index-focus-changed.cell-value-changed.row-data-changed.rows-data-changed.cell-editing-started.cell-editing-stopped.cell-commit-started.cell-commit-finished.edit-commit-aborted.row-commit-started.row-commit-finished.row-editing-started.row-editing-stopped.row-value-changed.cell-validation-failed.row-validation-failed.sort-changed.column-moved.column-resized.column-pinned.column-hidden-changed.filter-changed.rows-added.rows-removed.row-id-promoted.row-moved.row-drag-end.row-drag-commit-started.row-drag-commit-finished.row-height-changed.row-expanded.row-collapsed.row-group-opened.row-group-changed.tree-node-opened.tree-children-loading.tree-children-loaded.tree-children-load-failed.cell-comment-changed.cell-selection-changed.cell-selection-delete-start.cell-selection-delete-end.overlay-shown.overlay-hidden.infinite-block-loading.infinite-block-loaded.infinite-block-load-failed.infinite-cache-purged`.split(`.`),setup(e,{expose:t,emit:r}){let i=e,a=r,o=(0,n.useSlots)(),{mountRef:s,portalRef:c,statusBarComponentRef:l,exposeApi:u,rootClass:d,rootStyle:f,statusBarContext:p,statusBarBindings:m,hasToolbarSlot:h,toolbarContext:g}=MA(i,a,o);return t(u),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)((0,n.unref)(d)),style:(0,n.normalizeStyle)((0,n.unref)(f)),"data-status-bar":i.showStatusBar?`true`:`false`,"data-toolbar":(0,n.unref)(h)?`true`:`false`},[(0,n.unref)(h)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,PA,[(0,n.renderSlot)(e.$slots,`toolbar`,(0,n.normalizeProps)((0,n.guardReactiveProps)((0,n.unref)(g))))])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,{ref_key:`mountRef`,ref:s,class:`magic-grid__mount`},null,512),(0,n.createElementVNode)(`div`,{ref_key:`portalRef`,ref:c,class:`magic-grid__portal`,"aria-hidden":`true`},null,512),i.showStatusBar?((0,n.openBlock)(),(0,n.createBlock)(v,(0,n.mergeProps)({key:1,ref_key:`statusBarComponentRef`,ref:l},(0,n.unref)(m),{"has-custom-status-bar-slot":!!(0,n.unref)(o)[`status-bar`],"has-left-slot":!!(0,n.unref)(o)[`status-bar-left`],"has-right-slot":!!(0,n.unref)(o)[`status-bar-right`]}),(0,n.createSlots)({"status-bar-left":(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`status-bar-left`,(0,n.normalizeProps)((0,n.guardReactiveProps)((0,n.unref)(p))))]),"status-bar-right":(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`status-bar-right`,(0,n.normalizeProps)((0,n.guardReactiveProps)((0,n.unref)(p))))]),_:2},[(0,n.unref)(o)[`status-bar`]?{name:`status-bar`,fn:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`status-bar`,(0,n.normalizeProps)((0,n.guardReactiveProps)((0,n.unref)(p))))]),key:`0`}:void 0]),1040,[`has-custom-status-bar-slot`,`has-left-slot`,`has-right-slot`])):(0,n.createCommentVNode)(``,!0)],14,NA))}}),IA={"sliders-vertical":[[`path`,{d:`M10 8h4`}],[`path`,{d:`M12 21v-9`}],[`path`,{d:`M12 8V3`}],[`path`,{d:`M17 16h4`}],[`path`,{d:`M19 12V3`}],[`path`,{d:`M19 21v-5`}],[`path`,{d:`M3 14h4`}],[`path`,{d:`M5 10V3`}],[`path`,{d:`M5 21v-7`}]],"list-restart":[[`path`,{d:`M21 6H3`}],[`path`,{d:`M7 12H3`}],[`path`,{d:`M7 18H3`}],[`path`,{d:`M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14`}],[`path`,{d:`M11 10v4h4`}]],sort:[[`path`,{d:`m21 16-4 4-4-4`}],[`path`,{d:`M17 20V4`}],[`path`,{d:`m3 8 4-4 4 4`}],[`path`,{d:`M7 4v16`}]],filter:[[`path`,{d:`M3 6h18`}],[`path`,{d:`M7 12h10`}],[`path`,{d:`M10 18h4`}]],width:[[`path`,{d:`m18 8 4 4-4 4`}],[`path`,{d:`m6 8-4 4 4 4`}],[`path`,{d:`M2 12h20`}]],order:[[`path`,{d:`M8 3 4 7 8 11`}],[`path`,{d:`M4 7h16`}],[`path`,{d:`m16 21 4-4-4-4`}],[`path`,{d:`M20 17H4`}]],pin:[[`path`,{d:`M12 17v5`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3.76`}]],all:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]]},LA={class:`mg-column-settings-menu__icon-svg`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},RA=(0,n.defineComponent)({__name:`ColumnSettingsMenuIcon`,props:{name:{}},setup(e){let t=e,r=(0,n.computed)(()=>IA[t.name]);return(t,i)=>((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,LA,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(r.value,([t,r],i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.resolveDynamicComponent)(t),(0,n.mergeProps)({key:`${e.name}-${t}-${i}`},{ref_for:!0},r),null,16))),128))]))}}),zA={key:0,class:`mg-column-settings-menu__item-icon`},BA={class:`mg-column-settings-menu__item-label`},VA=(0,n.defineComponent)({__name:`ColumnSettingsMenuItem`,props:{label:{}},setup(e){return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{type:`button`,class:(0,n.normalizeClass)((0,n.unref)(ec)),role:`menuitem`},[t.$slots.icon?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,zA,[(0,n.renderSlot)(t.$slots,`icon`)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`span`,BA,[(0,n.renderSlot)(t.$slots,`default`,{},()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.label),1)])])],2))}}),HA=[`aria-expanded`],UA={class:`mg-column-settings-menu__item-leading`},WA={class:`mg-column-settings-menu__item-icon`},GA=(0,n.defineComponent)({__name:`ColumnSettingsMenu`,props:{showDivider:{type:Boolean}},emits:[`column-settings`,`custom-action`,`reset`],setup(e,{emit:t}){let r=t,i=[{scope:`sort`,label:`排序`,icon:`sort`},{scope:`filter`,label:`筛选`,icon:`filter`},{scope:`width`,label:`列宽`,icon:`width`},{scope:`order`,label:`列顺序`,icon:`order`},{scope:`pin`,label:`固定列`,icon:`pin`},{scope:`all`,label:`全部`,icon:`all`}],a=(0,n.ref)(!1),o=(0,n.ref)(!1),s=(0,n.ref)(null),c=(0,n.ref)(null);function l(){r(`column-settings`)}function u(){let e=s.value?.querySelector(`.${oc}`),t=c.value;if(!e||!t)return;o.value=!1;let n=e.getBoundingClientRect(),r=t.offsetWidth;n.right+r>window.innerWidth-8&&(o.value=!0)}async function d(){a.value=!0,await(0,n.nextTick)(),u()}function f(){a.value=!1}function p(e){let t=e.relatedTarget,n=s.value;t instanceof Node&&n?.contains(t)||f()}function m(e){r(`reset`,e)}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)((0,n.unref)($s)),role:`menu`},[(0,n.createVNode)(VA,{label:`列设置`,onClick:l},{icon:(0,n.withCtx)(()=>[(0,n.createVNode)(RA,{name:`sliders-vertical`})]),_:1}),(0,n.createElementVNode)(`div`,{ref_key:`resetSubmenuRef`,ref:s,class:(0,n.normalizeClass)([(0,n.unref)(ic),{"mg-column-settings-menu__submenu--open":a.value}]),onMouseenter:d,onMouseleave:f,onFocusin:d,onFocusout:p},[(0,n.createElementVNode)(`button`,{type:`button`,class:(0,n.normalizeClass)([(0,n.unref)(ec),(0,n.unref)(oc)]),role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":a.value},[(0,n.createElementVNode)(`span`,UA,[(0,n.createElementVNode)(`span`,WA,[(0,n.createVNode)(RA,{name:`list-restart`})]),r[1]||=(0,n.createElementVNode)(`span`,{class:`mg-column-settings-menu__item-label`},`重置`,-1)]),r[2]||=(0,n.createElementVNode)(`svg`,{class:`mg-column-settings-menu__item-chevron`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,n.createElementVNode)(`path`,{d:`m9 18 6-6-6-6`})],-1)],10,HA),(0,n.withDirectives)((0,n.createElementVNode)(`div`,{ref_key:`resetSubmenuPanelRef`,ref:c,class:(0,n.normalizeClass)([(0,n.unref)(ac),{"mg-column-settings-menu__submenu-panel--flip":o.value}]),role:`menu`},[((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(i,e=>(0,n.createVNode)(VA,{key:e.scope,label:e.label,onClick:t=>m(e.scope)},{icon:(0,n.withCtx)(()=>[(0,n.createVNode)(RA,{name:e.icon},null,8,[`name`])]),_:2},1032,[`label`,`onClick`])),64))],2),[[n.vShow,a.value]])],34),e.showDivider?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:(0,n.normalizeClass)((0,n.unref)(rc)),role:`separator`,"aria-orientation":`horizontal`},null,2)):(0,n.createCommentVNode)(``,!0),e.showDivider?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:1,class:`mg-column-settings-menu__custom`,onClick:r[0]||=e=>t.$emit(`custom-action`)},[(0,n.renderSlot)(t.$slots,`default`)])):(0,n.createCommentVNode)(``,!0)],2))}}),KA=[`disabled`,`aria-disabled`,`title`],qA=(0,n.defineComponent)({__name:`ColumnSettingsClearFiltersBar`,props:{gridApi:{},canClearAllFilters:{type:Boolean}},emits:[`change`],setup(e,{emit:t}){let r=e,i=t;function a(){r.gridApi.clearAllFilters(),i(`change`)}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{type:`button`,class:(0,n.normalizeClass)((0,n.unref)(sc)),disabled:!e.canClearAllFilters,"aria-disabled":!e.canClearAllFilters,title:e.canClearAllFilters?void 0:`当前无筛选`,onClick:a},` 清除全部筛选 `,10,KA))}});function JA(e){let t=null,n=()=>{t!=null&&(clearTimeout(t),t=null)};return{applyInput(r,i){n();let a=e.getColumnFilterType(r),o=()=>{let t=_w(r,{operatorLogic:i.operatorLogic,operatorConditions:i.operatorConditions,setAllSelected:i.setAllSelected,selectedValues:i.selectedValues},e.getFilterModel(),a);e.setFilterModel(t)};if(i.source===`set`){o();return}t=setTimeout(()=>{t=null,o()},300)},clearColumn(t){n();let r=e.getColumnFilterType(t),i=yw(t,e.getFilterModel());return e.setFilterModel(i),hw(t,i,r,e.getColumnDistinctKeys(t))},destroy(){n()}}}var YA=(0,n.defineComponent)({__name:`ColumnFilterPanelEmbed`,props:{colId:{},gridApi:{},filterSetValueMode:{default:ua},filterSetDateLayoutMode:{default:da}},emits:[`change`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(null),o=null,s=null,c=JA({getFilterModel:()=>r.gridApi.getFilterModel(),setFilterModel:e=>{r.gridApi.setFilterModel(e),i(`change`)},getColumnFilterType:e=>r.gridApi.getColumns().find(t=>t.colId===e)?.filterType??`text`,getColumnDistinctKeys:e=>r.gridApi.getColumnDistinctFilterValues(e).map(e=>e.key)});function l(){let e=r.gridApi.getColumns().find(e=>e.colId===r.colId)?.filterType??`text`,t=r.gridApi.getColumnDistinctFilterValues(r.colId).map(e=>e.key);return hw(r.colId,r.gridApi.getFilterModel(),e,t)}function u(){d();let e=a.value;if(!e)return;let t=r.gridApi.getColumns().find(e=>e.colId===r.colId);t?.filterable&&(s=new AbortController,o=qw({colId:r.colId,filterModel:r.gridApi.getFilterModel(),columnFilterType:t.filterType,distinctFilterValues:r.gridApi.getColumnDistinctFilterValues(r.colId),filterSetValueMode:r.filterSetValueMode,filterSetDateLayoutMode:r.filterSetDateLayoutMode,abortSignal:s.signal,onFilterInput:e=>{c.applyInput(r.colId,e)},onFilterClear:()=>{let e=c.clearColumn(r.colId);e&&o?.panelRoot&&o.syncState(e),i(`change`)}}),e.append(o.root))}function d(){s?.abort(),s=null,o=null,a.value?.replaceChildren()}function f(){o?.panelRoot&&o.syncState(l())}return(0,n.onMounted)(()=>{u()}),(0,n.onBeforeUnmount)(()=>{c.destroy(),d()}),(0,n.watch)(()=>r.colId,()=>{u()}),(0,n.watch)(()=>r.gridApi.getFilterModel(),()=>{f()},{deep:!0}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`hostRef`,ref:a,class:`mg-column-settings__filter-embed`},null,512))}});function XA(e){return e===null?`asc`:e===`asc`?`desc`:null}function ZA(e,t,n){return t===null?YC(e,n):t===`asc`?qC(e,n):JC(e,n)}function QA(e,t,n){e.setSortModel(ZA(t,n,e.getSortModel()))}function $A(e,t,n){let r=XA(n);return QA(e,t,r),r}function ej(e,t,n){return e.setColumnFixed(t,n)}function tj(e){return e===`asc`?`升序`:e===`desc`?`降序`:`无排序`}function nj(e){return e===`left`?`固定左侧`:e===`right`?`固定右侧`:`不固定`}var rj=`[magic-grid] ColumnSettings: at least one user column must remain visible.`;function ij(e){return e.filter(e=>pc(e.colId)&&Us(e)).length}function aj(e){return e.filter(e=>pc(e.colId)&&e.hidden).map(e=>e.colId)}function oj(e,t){if(!pc(e))return!1;let n=t.find(t=>t.colId===e);return!n||n.hidden?!1:ij(t)>1}function sj(e,t,n,r={}){let i=r.warn??(e=>console.warn(e));return!n&&!oj(t,e.getColumns())?(i(rj),!1):e.setColumnsHidden([t],!n)}function cj(e){let t=aj(e.getColumns());return t.length!==0&&e.setColumnsHidden(t,!1)}var lj=[`data-col-id`],uj={class:`mg-column-settings__row-main`},dj=[`draggable`,`aria-disabled`,`title`],fj=[`title`],pj={key:1,class:`mg-column-settings__row-actions`},mj=[`aria-label`,`title`],hj=[`aria-expanded`,`aria-label`],gj=[`aria-label`],_j=[`aria-checked`,`aria-label`,`title`,`onClick`],vj=[`title`],yj=[`checked`,`aria-label`],bj=(0,n.defineComponent)({__name:`ColumnSettingsRow`,props:{row:{},gridApi:{},draggable:{type:Boolean},dragOver:{type:Boolean},dragging:{type:Boolean},showSort:{type:Boolean,default:!0},showPin:{type:Boolean,default:!0},showFilter:{type:Boolean,default:!0},showVisibility:{type:Boolean,default:!0},showDragHandle:{type:Boolean,default:!0},filterSetValueMode:{default:ua},filterSetDateLayoutMode:{default:da}},emits:[`dragstart`,`dragend`,`change`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(!1),o=[null,`left`,`right`];function s(){!r.gridApi||!r.row.sortable||($A(r.gridApi,r.row.colId,r.row.sortDirection),i(`change`))}function c(e){!r.gridApi||r.row.fixed===e||ej(r.gridApi,r.row.colId,e)&&i(`change`)}function l(){a.value=!a.value}function u(e){if(!r.gridApi)return;let t=e.target,n=t.checked;if(!sj(r.gridApi,r.row.colId,n)){t.checked=!n;return}i(`change`)}function d(e){if(!r.draggable){e.preventDefault();return}i(`dragstart`,e)}function f(e){r.draggable&&i(`dragend`,e)}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)([(0,n.unref)(uc),{[(0,n.unref)(dc)]:e.row.filterActive,"mg-column-settings__row--drag-over":e.dragOver,"mg-column-settings__row--dragging":e.dragging}]),"data-col-id":e.row.colId},[(0,n.createElementVNode)(`div`,uj,[e.showDragHandle?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:0,class:(0,n.normalizeClass)([`mg-column-settings__drag-handle`,{"mg-column-settings__drag-handle--disabled":!e.draggable}]),draggable:e.draggable===!0,"aria-disabled":e.draggable?void 0:`true`,title:e.draggable?`拖拽调整列顺序`:`此列不可拖拽`,onDragstart:d,onDragend:f},` ≡ `,42,dj)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`span`,{class:`mg-column-settings__row-label`,title:e.row.label},(0,n.toDisplayString)(e.row.label),9,fj),e.gridApi?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,pj,[e.showSort&&e.row.sortable?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,type:`button`,class:(0,n.normalizeClass)([`mg-column-settings__sort-button`,{"mg-column-settings__sort-button--asc":e.row.sortDirection===`asc`,"mg-column-settings__sort-button--desc":e.row.sortDirection===`desc`}]),"aria-label":`${e.row.label} 排序:${(0,n.unref)(tj)(e.row.sortDirection)}`,title:(0,n.unref)(tj)(e.row.sortDirection),onClick:s},(0,n.toDisplayString)(e.row.sortDirection===`asc`?`↑`:e.row.sortDirection===`desc`?`↓`:`↕`),11,mj)):(0,n.createCommentVNode)(``,!0),e.showFilter&&e.row.filterable?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,type:`button`,class:(0,n.normalizeClass)([`mg-column-settings__filter-button`,{"mg-column-settings__filter-button--active":e.row.filterActive||a.value}]),"aria-expanded":a.value,"aria-label":`${e.row.label} 筛选`,title:`筛选`,onClick:l},[...r[1]||=[(0,n.createElementVNode)(`svg`,{class:`mg-column-settings__filter-icon`,xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,n.createElementVNode)(`path`,{d:`M3 6h18`}),(0,n.createElementVNode)(`path`,{d:`M7 12h10`}),(0,n.createElementVNode)(`path`,{d:`M10 18h4`})],-1)]],10,hj)):(0,n.createCommentVNode)(``,!0),e.showPin?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:2,class:`mg-column-settings__pin-group`,role:`radiogroup`,"aria-label":`${e.row.label} 固定列`},[((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(o,t=>(0,n.createElementVNode)(`button`,{key:t??`none`,type:`button`,class:(0,n.normalizeClass)([`mg-column-settings__pin-button`,{"mg-column-settings__pin-button--active":e.row.fixed===t}]),role:`radio`,"aria-checked":e.row.fixed===t,"aria-label":(0,n.unref)(nj)(t),title:(0,n.unref)(nj)(t),onClick:e=>c(t)},(0,n.toDisplayString)(t===`left`?`左`:t===`right`?`右`:`中`),11,_j)),64))],8,gj)):(0,n.createCommentVNode)(``,!0),e.showVisibility?((0,n.openBlock)(),(0,n.createElementBlock)(`label`,{key:3,class:`mg-column-settings__visibility`,title:e.row.hidden?`显示列`:`隐藏列`},[(0,n.createElementVNode)(`input`,{type:`checkbox`,class:`mg-column-settings__visibility-input`,checked:!e.row.hidden,"aria-label":`${e.row.label} 显示列`,onChange:u},null,40,yj),r[2]||=(0,n.createElementVNode)(`span`,{class:`mg-column-settings__visibility-label`,"aria-hidden":`true`},`显示`,-1)],8,vj)):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0)]),a.value&&e.gridApi&&e.row.filterable?((0,n.openBlock)(),(0,n.createBlock)(YA,{key:0,class:`mg-column-settings__filter-panel`,"col-id":e.row.colId,"grid-api":e.gridApi,"filter-set-value-mode":e.filterSetValueMode,"filter-set-date-layout-mode":e.filterSetDateLayoutMode,onChange:r[0]||=e=>i(`change`)},null,8,[`col-id`,`grid-api`,`filter-set-value-mode`,`filter-set-date-layout-mode`])):(0,n.createCommentVNode)(``,!0)],10,lj))}});function xj(e,t){return pc(e.colId)&&!e.hidden&&mc(e.fixed)===t}function Sj(e,t){return e.filter(e=>xj(e,t))}function Cj(e,t,n,r){let i=Sj(e,t),a=i.findIndex(e=>e.colId===n);if(a<0||!e.find(e=>e.colId===n)?.movable)return null;let o=Math.max(0,Math.min(r,i.length-1));if(a===o)return null;let s=i.map(e=>e.colId);s.splice(a,1),s.splice(o,0,n),e.map(e=>e.colId);let c=[],l=0;for(let n of e){if(xj(n,t)){let e=s[l];if(!e)return null;c.push(e),l+=1;continue}c.push(n.colId)}return c}function wj(e){let t=Cj(e.columns,e.lane,e.colId,e.toDisplayIndex);if(!t)return null;let n=e.columns.findIndex(t=>t.colId===e.colId);if(n<0)return null;let r=t.indexOf(e.colId);if(r<0||n===r)return null;let i=Cg(e.columns),a=e.columns;return!Mg({columns:a,colId:e.colId,toGlobalIndex:r,fixedGroups:i,allowCrossLaneColumnMove:!1})||!Pg({columns:a,colId:e.colId,toGlobalIndex:r,fixedGroups:i,allowCrossLaneColumnMove:!1})?null:r}function Tj(e,t,n,r){let i=wj({columns:e.getColumns(),lane:t,colId:n,toDisplayIndex:r});return i!=null&&(e.moveColumn(n,i),!0)}var Ej=[`aria-label`],Dj={class:`mg-column-settings__rows`},Oj=[`onDragover`,`onDrop`],kj=(0,n.defineComponent)({__name:`ColumnSettingsList`,props:{lane:{},rows:{},gridApi:{},showFilter:{type:Boolean},showVisibility:{type:Boolean}},emits:[`reorder`,`change`],setup(e,{emit:t}){let r={left:`固定左侧列`,center:`中间列`,right:`固定右侧列`},i=e,a=t,o=(0,n.ref)(null),s=(0,n.ref)(null);function c(e,t){if(!i.rows.find(t=>t.colId===e)?.movable){t.preventDefault();return}o.value=e,s.value=i.rows.findIndex(t=>t.colId===e),t.dataTransfer?.setData(`text/plain`,e),t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)}function l(e,t){t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=`move`),s.value=e}function u(e,t){t.preventDefault();let n=o.value??t.dataTransfer?.getData(`text/plain`);if(!n){d();return}Tj(i.gridApi,i.lane,n,e)&&(a(`reorder`),a(`change`)),d()}function d(){o.value=null,s.value=null}return(t,i)=>e.rows.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`section`,{key:0,class:(0,n.normalizeClass)([(0,n.unref)(cc),`mg-column-settings__group--${e.lane}`]),"aria-label":r[e.lane]},[(0,n.createElementVNode)(`div`,Dj,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.rows,(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t.colId,class:`mg-column-settings__row-host`,onDragover:e=>l(r,e),onDrop:e=>u(r,e)},[(0,n.createVNode)(bj,{row:t,"grid-api":e.gridApi,draggable:t.movable,"drag-over":s.value===r&&o.value!==t.colId,dragging:o.value===t.colId,"show-filter":e.showFilter,"show-visibility":e.showVisibility,onDragstart:e=>c(t.colId,e),onDragend:d,onChange:i[0]||=e=>a(`change`)},null,8,[`row`,`grid-api`,`draggable`,`drag-over`,`dragging`,`show-filter`,`show-visibility`,`onDragstart`])],40,Oj))),128))])],10,Ej)):(0,n.createCommentVNode)(``,!0)}}),Aj={class:`mg-column-settings__groups`},jj={class:`mg-column-settings__visible-lanes`},Mj={class:`mg-column-settings__hidden-divider`},Nj={class:`mg-column-settings__hidden-divider-center`},Pj=[`aria-expanded`],Fj={key:0,class:`mg-column-settings__hidden-toggle-icon`,xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},Ij={key:1,class:`mg-column-settings__hidden-toggle-icon`,xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},Lj={class:`mg-column-settings__hidden-rows`},Rj={class:`mg-column-settings__rows`},zj=(0,n.defineComponent)({__name:`ColumnSettingsGroupedLists`,props:{grouped:{},gridApi:{},showFilter:{type:Boolean},showVisibility:{type:Boolean,default:!0}},emits:[`reorder`,`change`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(!0);function o(){cj(r.gridApi)&&i(`change`)}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Aj,[(0,n.createElementVNode)(`div`,jj,[(0,n.createVNode)(kj,{lane:`left`,rows:e.grouped.left,"grid-api":e.gridApi,"show-filter":e.showFilter,"show-visibility":e.showVisibility,onReorder:r[0]||=e=>i(`reorder`),onChange:r[1]||=e=>i(`change`)},null,8,[`rows`,`grid-api`,`show-filter`,`show-visibility`]),(0,n.createVNode)(kj,{lane:`center`,rows:e.grouped.center,"grid-api":e.gridApi,"show-filter":e.showFilter,"show-visibility":e.showVisibility,onReorder:r[2]||=e=>i(`reorder`),onChange:r[3]||=e=>i(`change`)},null,8,[`rows`,`grid-api`,`show-filter`,`show-visibility`]),(0,n.createVNode)(kj,{lane:`right`,rows:e.grouped.right,"grid-api":e.gridApi,"show-filter":e.showFilter,"show-visibility":e.showVisibility,onReorder:r[4]||=e=>i(`reorder`),onChange:r[5]||=e=>i(`change`)},null,8,[`rows`,`grid-api`,`show-filter`,`show-visibility`])]),e.grouped.hidden.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`section`,{key:0,class:(0,n.normalizeClass)((0,n.unref)(fc))},[(0,n.createElementVNode)(`div`,Mj,[r[10]||=(0,n.createElementVNode)(`span`,{class:`mg-column-settings__hidden-divider-line`,"aria-hidden":`true`},null,-1),(0,n.createElementVNode)(`div`,Nj,[(0,n.createElementVNode)(`button`,{type:`button`,class:`mg-column-settings__hidden-toggle`,"aria-expanded":a.value,onClick:r[6]||=e=>a.value=!a.value},[(0,n.createTextVNode)(` 隐藏 (`+(0,n.toDisplayString)(e.grouped.hidden.length)+`) `,1),a.value?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Fj,[...r[8]||=[(0,n.createStaticVNode)(`<path d="m3 8 4-4 4 4"></path><path d="M7 4v16"></path><path d="M11 12h10"></path><path d="M11 16h7"></path><path d="M11 20h4"></path>`,5)]])):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,Ij,[...r[9]||=[(0,n.createStaticVNode)(`<path d="m3 16 4 4 4-4"></path><path d="M7 20V4"></path><path d="M11 4h10"></path><path d="M11 8h7"></path><path d="M11 12h4"></path>`,5)]]))],8,Pj),(0,n.createElementVNode)(`button`,{type:`button`,class:`mg-column-settings__hidden-show-all`,onClick:o},` 显示全部 `)]),r[11]||=(0,n.createElementVNode)(`span`,{class:`mg-column-settings__hidden-divider-line`,"aria-hidden":`true`},null,-1)]),(0,n.withDirectives)((0,n.createElementVNode)(`div`,Lj,[(0,n.createElementVNode)(`h4`,{class:(0,n.normalizeClass)([(0,n.unref)(lc),`mg-column-settings__sr-only`])},` 已隐藏列 `,2),(0,n.createElementVNode)(`div`,Rj,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.grouped.hidden,t=>((0,n.openBlock)(),(0,n.createBlock)(bj,{key:t.colId,row:t,"grid-api":e.gridApi,"show-sort":!1,"show-pin":!1,"show-filter":!1,"show-visibility":e.showVisibility,"show-drag-handle":!1,onChange:r[7]||=e=>i(`change`)},null,8,[`row`,`grid-api`,`show-visibility`]))),128))])],512),[[n.vShow,a.value]])],2)):(0,n.createCommentVNode)(``,!0)]))}});function Bj(e){return{colId:e.colId,label:e.label,prop:e.prop,movable:e.movable,sortable:e.sortable,filterable:e.filterable,fixed:e.fixed??null,hidden:e.hidden}}function Vj(e){return e.map(Bj)}function Hj(e,t={}){return _c({columns:Vj(e.getColumns()),sortModel:e.getSortModel(),filterModel:e.getFilterModel(),isColumnFilterActive:t=>e.isColumnFilterActive(t),includeHidden:t.includeHidden})}function Uj(e,t={}){let n=Hj(e,t);return{rows:n,grouped:vc(n),canClearAllFilters:e.isAnyFilterActive()}}var Wj=[`sortChanged`,`filterChanged`,`columnMoved`,`columnPinned`,`columnHiddenChanged`];function Gj(e,t){let n=Wj.map(n=>e.on(n,t));return()=>{for(let e of n)e()}}var Kj={class:`mg-column-settings__header-leading`},qj=(0,n.defineComponent)({__name:`ColumnSettingsPanel`,props:{gridApi:{},open:{type:Boolean,default:!0},showVisibility:{type:Boolean,default:!0},showFilter:{type:Boolean,default:!0}},emits:[`close`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.shallowRef)(Uj(r.gridApi)),o=null;function s(){a.value=Uj(r.gridApi)}function c(){l(),s(),o=Gj(r.gridApi,s)}function l(){o?.(),o=null}(0,n.watch)(()=>r.open,e=>{if(e){c();return}l()},{immediate:!0}),(0,n.watch)(()=>r.gridApi,()=>{r.open&&s()}),(0,n.onBeforeUnmount)(()=>{l()});function u(){s()}return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)((0,n.unref)(qs)),role:`document`,"aria-label":`列设置`},[(0,n.createElementVNode)(`header`,{class:(0,n.normalizeClass)((0,n.unref)(Js))},[(0,n.createElementVNode)(`div`,Kj,[r[1]||=(0,n.createStaticVNode)(`<div class="mg-column-settings__title-group"><svg class="mg-column-settings__title-icon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 8h4"></path><path d="M12 21v-9"></path><path d="M12 8V3"></path><path d="M17 16h4"></path><path d="M19 12V3"></path><path d="M19 21v-5"></path><path d="M3 14h4"></path><path d="M5 10V3"></path><path d="M5 21v-7"></path></svg><h3 class="mg-column-settings__title">列设置</h3></div>`,1),(0,n.createVNode)(qA,{"grid-api":e.gridApi,"can-clear-all-filters":a.value.canClearAllFilters,onChange:u},null,8,[`grid-api`,`can-clear-all-filters`])]),(0,n.createElementVNode)(`button`,{type:`button`,class:`mg-column-settings__close`,"aria-label":`关闭列设置`,onClick:r[0]||=e=>i(`close`)},` × `)],2),(0,n.createElementVNode)(`div`,{class:(0,n.normalizeClass)((0,n.unref)(Ys))},[(0,n.createVNode)(zj,{grouped:a.value.grouped,"grid-api":e.gridApi,"show-filter":e.showFilter,"show-visibility":e.showVisibility,onChange:u,onReorder:u},null,8,[`grouped`,`grid-api`,`show-filter`,`show-visibility`])],2)],2))}});function Jj(e){e.getSortModel().length!==0&&e.setSortModel([])}function Yj(e){e.clearAllFilters()}function Xj(e){e.resetColumnWidths()}function Zj(e){let t=e.getColumns(),n=VD(t);HD(t.map(e=>e.colId),n)||e.resetColumnOrder()}function Qj(e){for(let t of e.getColumns())!pc(t.colId)||t.fixed===null||e.setColumnFixed(t.colId,null)}function $j(e,t){switch(t){case`sort`:Jj(e);break;case`filter`:Yj(e);break;case`width`:Xj(e);break;case`order`:Zj(e);break;case`pin`:Qj(e);break;case`all`:Jj(e),Yj(e),Xj(e),Zj(e),Qj(e)}}var eM=[`disabled`,`aria-expanded`,`aria-label`,`title`],tM=(0,n.defineComponent)({__name:`ColumnSettingsButton`,props:{gridApi:{},portalEl:{},label:{},disabled:{type:Boolean},size:{},open:{type:Boolean},defaultOpen:{type:Boolean},showVisibility:{type:Boolean,default:!0},showFilter:{type:Boolean,default:!0}},emits:[`update:open`,`open`,`close`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.useSlots)(),o=(0,n.ref)(null),s=(0,n.ref)(null),c=(0,n.ref)(null),l=(0,n.ref)(!1),u=(0,n.ref)(r.open??r.defaultOpen??!1),d=(0,n.ref)(0),f=!1;function p(){let e=r.portalEl;return e instanceof HTMLElement&&e.isConnected?e:`body`}let m=(0,n.computed)(()=>p()),h=(0,n.computed)(()=>{let e=a.menu;return e?e().some(e=>e.type!==n.Comment):!1}),g=(0,n.computed)(()=>l.value||u.value),_=(0,n.computed)(()=>r.size?or(r.size):void 0);(0,n.watch)(()=>r.open,e=>{e!==void 0&&(u.value=e,e&&(l.value=!1))});function v(e){if(r.disabled&&e)return;let t=u.value;u.value=e,i(`update:open`,e),e?(l.value=!1,i(`open`),f=!0,queueMicrotask(()=>{f=!1})):t&&i(`close`)}function y(e){r.disabled&&e||(l.value=e,e&&(f=!0,queueMicrotask(()=>{f=!1})))}function b(){if(!r.disabled){if(u.value){v(!1);return}y(!l.value)}}function x(){v(!0)}function S(e){$j(r.gridApi,e),w()}function C(){u.value&&v(!1)}function w(){l.value&&=!1}function T(){w(),C()}function E(e,t){let n=o.value;if(!n||!e)return;e.style.visibility=`hidden`,e.style.position=`fixed`,e.style.left=`0`,e.style.top=`0`;let r=n.getBoundingClientRect(),i=e.getBoundingClientRect(),{left:a,top:s}=t(r,i.width,i.height);e.style.left=`${a}px`,e.style.top=`${s}px`,e.style.visibility=``}function D(){E(s.value,_T)}function O(){E(c.value,gT)}function k(){l.value&&D(),u.value&&O()}(0,n.watch)(l,async e=>{e&&(await(0,n.nextTick)(),D())}),(0,n.watch)(u,async e=>{e&&(await(0,n.nextTick)(),O())}),(0,n.watch)(()=>[r.portalEl,r.size],()=>{T(),d.value+=1});function A(){let e=r.portalEl;if(!e)return;if(l.value||u.value){e.removeAttribute(`aria-hidden`);return}e.setAttribute(`aria-hidden`,`true`);let t=document.activeElement;t instanceof HTMLElement&&e.contains(t)&&(t.blur(),o.value?.focus())}(0,n.watch)([l,u],()=>{A()});function j(e){if(e.key===`Escape`){if(u.value){e.preventDefault(),e.stopPropagation(),C();return}l.value&&(e.preventDefault(),e.stopPropagation(),w())}}function M(e){if(!l.value&&!u.value||f||e.button!==0)return;let t=e.target;t instanceof Node&&(o.value?.contains(t)||s.value?.contains(t)||c.value?.contains(t)||T())}return(0,n.onMounted)(()=>{A(),document.addEventListener(`keydown`,j,!0),document.addEventListener(`pointerdown`,M,!0),window.addEventListener(`resize`,k),window.addEventListener(`scroll`,k,!0)}),(0,n.onBeforeUnmount)(()=>{l.value=!1,u.value=!1,A(),document.removeEventListener(`keydown`,j,!0),document.removeEventListener(`pointerdown`,M,!0),window.removeEventListener(`resize`,k),window.removeEventListener(`scroll`,k,!0)}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)((0,n.unref)(Xs)),style:(0,n.normalizeStyle)(_.value)},[(0,n.createElementVNode)(`button`,{ref_key:`triggerRef`,ref:o,type:`button`,class:`mg-column-settings-button__trigger`,disabled:e.disabled,"aria-haspopup":`menu`,"aria-expanded":g.value,"aria-label":e.label??`表格设置`,title:e.label??`表格设置`,onClick:b},[...r[0]||=[(0,n.createElementVNode)(`svg`,{class:`mg-column-settings-button__icon`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,n.createElementVNode)(`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`}),(0,n.createElementVNode)(`circle`,{cx:`12`,cy:`12`,r:`3`})],-1)]],8,eM),((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{key:d.value,to:m.value},[l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:(0,n.normalizeClass)((0,n.unref)(Zs))},[(0,n.createElementVNode)(`div`,{ref_key:`menuRef`,ref:s,class:(0,n.normalizeClass)((0,n.unref)(Qs))},[(0,n.createVNode)(GA,{"show-divider":h.value,onColumnSettings:x,onCustomAction:w,onReset:S},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`menu`)]),_:3},8,[`show-divider`])],2)],2)):(0,n.createCommentVNode)(``,!0),u.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:1,class:(0,n.normalizeClass)((0,n.unref)(Zs))},[(0,n.createElementVNode)(`div`,{ref_key:`panelRef`,ref:c,class:(0,n.normalizeClass)((0,n.unref)(Qs)),role:`dialog`,"aria-modal":`false`,"aria-label":`列设置面板`},[(0,n.createVNode)(qj,{"grid-api":e.gridApi,open:u.value,"show-visibility":e.showVisibility,"show-filter":e.showFilter,onClose:C},null,8,[`grid-api`,`open`,`show-visibility`,`show-filter`])],2)],2)):(0,n.createCommentVNode)(``,!0)],8,[`to`]))],6))}}),nM={input:{deferEnterCommit:!1,commitOnChange:!1},overlay:{deferEnterCommit:!0,commitOnChange:!0}};async function rM(e){e&&await e()}function iM(e,t){let r=nM[t.strategy??`input`],i=t.formatValue??(e=>String(e??``)),a=t.commitOnChange??r.commitOnChange,o=t.autoFocus!==!1;e.setGetValue?.(()=>i(t.getValue())),e.setKeyboardPolicy?.({deferEnterCommit:r.deferEnterCommit,suppressInitialAutoFocus:!o||void 0}),(0,n.onMounted)(()=>{(async()=>{await rM(t.onMount),e.autoFocus!==!1&&await rM(t.onStart)})()}),(0,n.onUnmounted)(()=>{rM(t.onDestroy)});function s(){(async()=>{await rM(t.onBeforeCommit);let n=await e.stopEditing(!0);n!=null&&n.committed===!0&&await rM(t.onAfterCommit)})()}function c(){(async()=>{await rM(t.onBeforeCancel),await e.stopEditing(!1)!=null&&await rM(t.onAfterCancel)})()}function l(){a&&s()}function u(e){if(e instanceof KeyboardEvent){if(e.key===`Enter`){r.deferEnterCommit&&(0,n.nextTick)(s);return}e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),c())}}return{onKeydown:u,onChange:l,commit:s,cancel:c}}function aM(e){return new Promise(t=>{requestAnimationFrame(()=>{let n=e.value;typeof n?.focus==`function`&&n.focus(),t()})})}function oM(e){return(0,n.computed)(()=>e.value?.api)}function sM(e){let t={};return e.onReady&&(t[`onGrid-ready`]=e.onReady),e.onDestroyed&&(t[`onGrid-destroyed`]=e.onDestroyed),e.onFirstRendered&&(t[`onFirst-rendered`]=e.onFirstRendered),t}function cM(e,t){return e.getRowNode(t)!=null}function lM(e){let t=new Set,n=[],r=e=>{if(e==null||e===``)return;let r=String(e);t.has(r)||(t.add(r),n.push(e))};for(let t of e.selectedRowIds)r(t);for(let t of e.selectedRows)(t.rowId==null||t.rowId===``)&&r(t.internalRowId);return n}function uM(e){let{currentIntent:t,materializedIds:n,isInModel:r}=e,i=[...t].filter(e=>!r(e));return[...new Set([...n,...i])]}function dM(e,t){let n=[],r=[];for(let i of e)t(i)?n.push(i):r.push(i);return{onModel:n,offModel:r}}function fM(e){return[...new Set(e)]}function pM(e){return fM((0,n.toValue)(e))}function mM(e,t){let r=t.syncPendingOnInteraction!==!1,i=(0,n.shallowRef)(pM(t.initialIntent));(0,n.watch)(()=>pM(t.initialIntent),e=>{i.value=e});let a=(0,n.computed)(()=>new Set(i.value));function o(t){let r=(0,n.toValue)(e);return r!=null&&cM(r,t)}let s=(0,n.computed)(()=>dM(a.value,o)),c=(0,n.computed)(()=>s.value.offModel),l=(0,n.computed)(()=>s.value.onModel);function u(e){i.value=fM(e)}function d(e){i.value=fM([...i.value,...e])}function f(){i.value=pM(t.initialIntent)}function p(){let t=(0,n.toValue)(e);t&&t.setDefaultSelectedRows([...i.value],{mode:`cover`})}function m(e){u(e),p()}function h(t){d(t);let r=(0,n.toValue)(e);r&&r.setDefaultSelectedRows([...t],{mode:`merge`})}function g(t){let r=(0,n.toValue)(e);if(!r)return;let o=lM(t);i.value=uM({currentIntent:a.value,materializedIds:o,isInModel:e=>cM(r,e)})}function _(e){return g(e),r&&(e.source===`ui`||e.source===`api`)&&p(),{materializedIds:lM(e),intentIds:[...i.value],offModelIds:s.value.offModel,source:e.source}}return{intentIds:(0,n.shallowReadonly)(i),offModelIds:c,onModelIds:l,replaceIntent:u,mergeIntent:d,resetIntent:f,applyIntentCover:p,coverIntent:m,mergeIntentToPending:h,handleSelectionChanged:_}}exports.BUILTIN_CELL_EDITOR_NAMES=Tn,exports.COLUMN_DRAG_THRESHOLD_PX=oa,exports.ColumnSettingsButton=tM,exports.ColumnSettingsMenuIcon=RA,exports.ColumnSettingsMenuItem=VA,exports.ColumnSettingsPanel=qj,exports.DEFAULT_CELL_EDITOR_MODE=t.B,exports.DEFAULT_INDEX_COLUMN_START=t.et,exports.DEFAULT_SELECTION_SELECT_ALL_LABEL=t.K,exports.DEFAULT_STATUS_BAR_RANGE_AGGREGATION_PRECISION=a,exports.INDEX_COLUMN_ID=t.tt,exports.INDEX_COLUMN_MIN_WIDTH=t.rt,exports.INLINE_CHECKBOX_CLASS=af,exports.INLINE_SWITCH_CLASS=of,exports.MagicGrid=FA,exports.RowMutationPersistError=t.p,exports.SELECTION_COLUMN_DEFAULT_WIDTH=t.q,exports.SELECTION_COLUMN_ID=t.J,exports.SELECTION_COLUMN_MIN_WIDTH=t.Y,exports.SORT_AFTER_MOVE_GUARD_MS=sa,exports.SWITCH_EDITOR_CLASS=sf,exports.VueCellEditorHost=nA,exports.checkboxCellEditor=pf,exports.coerceCheckboxEditorValue=nn,exports.coerceSwitchEditorValue=Yt,exports.coerceToggleEditorValue=Yt,exports.createSlotCellEditor=sA,exports.createVueCellEditor=oA,exports.evaluateGridAcceptance=wk,exports.executeFocus=aM,exports.formatCheckboxEditorRawValue=rn,exports.formatSwitchEditorRawValue=Zt,exports.generateFocusedRowIds=t.y,exports.generateRowId=t.b,exports.generateSelectedRowIds=t.x,exports.getCellEditor=xf,exports.getGridAcceptanceThresholds=Ck,exports.getGridSetDataLimit=Sk,exports.getMaterializedSelectionIdsFromEvent=lM,exports.getRegisteredCellEditorNames=Cf,exports.getRowDragCommitHierarchy=t.t,exports.hasCellEditor=Sf,exports.isBuiltInCellEditor=En,exports.isInlineEditorColumn=t.V,exports.isRowIdInGridModel=cM,exports.isSyntheticRow=t.C,exports.magicGridVueCellRef=bp,exports.numberCellEditor=ff,exports.parseCheckboxEditorRawValue=on,exports.parseSwitchEditorRawValue=$t,exports.partitionDefaultSelectedRowsIntentByModel=dM,exports.readCheckboxControlValue=an,exports.readSwitchControlValue=Qt,exports.recomputeDefaultSelectedRowsIntent=uM,exports.registerCellEditor=yf,exports.registerEditorSurfaceSelectors=Jd,exports.resetEditorSurfaceSelectors=Yd,exports.resolveCellEditorMode=t.H,exports.resolveCheckboxEditorValues=tn,exports.resolveColumnCellEditorMode=t.U,exports.resolveSwitchEditorValues=Kt,exports.switchCellEditor=mf,exports.textCellEditor=df,exports.toBusinessRowId=t.T,exports.toBusinessRowIdFromInternal=t.D,exports.toBusinessRowIdsFromInternal=t.O,exports.toggleHeaderSort=Jm,exports.unregisterCellEditor=bf,exports.useCellEditor=iM,exports.useDefaultSelectedRowsIntent=mM,exports.useGridApi=oM,exports.useGridLifecycle=sM,exports.vueCellEditorProps=rA;
10
10
  //# sourceMappingURL=index.cjs.js.map