@taocompany/magic-grid 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -5,5 +5,5 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
5
5
 
6
6
  `)}function ig(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
7
  `){n.push(r),t.push(n),n=[],r=``,a+=1;continue}if(o===`\r`){if(e[a+1]===`
8
- `){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 ag(e){return e.length===1&&(e[0]?.length??0)===1}var og=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=ig(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 ag(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=[];for(let t of e){let e=Y(t,n);if(!e)continue;let o=n.indexOf(e.leftColId),s=n.indexOf(e.rightColId);if(o<0||s<0)continue;let c=n.slice(o,s+1),l=[];for(let t=e.top;t<=e.bottom;t+=1){let e=this.deps.rowModel.getRow(t);if(!e)continue;let n=[];for(let a of c){if(!J(a,e.rowKind)){n.push(``);continue}let o=this.deps.columnModel.getColumnById(a);if(!o){n.push(``);continue}let s={rowId:e.id,rowIndex:t,colId:a,value:W(e,o),data:e.data,formattedValue:``,stopEditing:async()=>{},cancelCommit:()=>{},getEditPhase:()=>`idle`,validate:async()=>({valid:!0})};n.push(Zh(t,e,o,r,s,i.processCellForClipboard))}l.push(ng(n))}l.length>0&&a.push(l)}return rg(a)}resolvePasteAnchor(){let e=this.deps.getCellRangeOperationContext().displayedColIds,t=this.deps.getCellRangeService(),n=t?.getRanges()??[],r=this.deps.cellFocusService.getFocusedCell();if(r&&!I(r)){let t=this.deps.rowModel.getRow(r.rowIndex);if(J(r.colId,t?.rowKind)){let t={rowIndex:r.rowIndex,colId:r.colId};if(n.length===0||n.some(t=>{let n=Y(t,e);return n!=null&&Fs(r.rowIndex,r.colId,n,e)}))return t}}if(n.length===0)return null;let i=Y(n[0],e);if(!i)return null;let a=t?.getAnchor();return a&&Fs(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=Y(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=Y(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(!J(t,r.rowKind))return{status:`blocked`,showBlockedVisual:!0};let a=this.deps.columnModel.getColumnById(t);if(!a||!U(a,r,this.deps.getCellDisableContext())||Wh(a,r.data))return{status:`blocked`,showBlockedVisual:!0};let o=W(r,a),s=await eg(a,{rowId:n,rowIndex:e,colId:t,value:o,data:r.data,formattedValue:String(o??``),stopEditing:async()=>{},cancelCommit:()=>{},getEditPhase:()=>`idle`,validate:async()=>({valid:!0})},i,o,{rowIndex:e,rowNode:r,indexColumnOptions:this.resolveIndexColumnDisplayOptions(),processCellFromClipboard:this.deps.getCellClipboardOptions().processCellFromClipboard});return s.status===`blocked`?s:(this.deps.applyTransaction({update:[r.data]}),this.deps.eventBus.emit(`cellValueChanged`,{rowId:n,colId:t,oldValue:o,newValue:s.parsed,rowNode:r}),{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}typeof navigator<`u`&&navigator.clipboard?.writeText&&await navigator.clipboard.writeText(e)}async readClipboard(){if(this.deps.readFromClipboard)return this.deps.readFromClipboard();if(typeof navigator<`u`&&navigator.clipboard?.readText)return navigator.clipboard.readText();throw Error(`Clipboard read unavailable`)}};function sg(e){return typeof e==`number`&&Number.isFinite(e)}function cg(e,t){return`${e}:${t}`}function lg(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 ug(e,t){let n=new Set;return lg(e,t,(e,t)=>{n.add(cg(e,t))}),n}function dg(e){let{fixedAnchor:t,pointer:n,sourceRange:r,direction:i,displayedColIds:a}=e;if(a.indexOf(n.colId)<0)return null;let o=Y(Ms(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 fg(e,t,n,r){let i=[];for(let n=e.top;n<=e.bottom;n+=1)i.push(r(n,t));return i}function pg(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 mg(e,t){return e>t.bottom?e-t.bottom:e<t.top?e-t.top:null}function hg(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 gg(e){let{rowIndex:t,colId:n,sourceRange:r,displayedColIds:i,getSourceValue:a,setFillValue:o,fillStrategy:s=ts,rowNode:c,column:l,allowedDirection:u}=e,d=i.indexOf(n);if(d<0)return null;let f=mg(t,r),p=hg(d,r,i),m=null,h=0,g=[];if(f!=null&&f!==0&&(u===`y`||u===`xy`)?(m=`y`,h=f,g=fg(r,n,i,a)):p!=null&&p!==0&&(u===`x`||u===`xy`)&&(m=`x`,h=p,g=pg(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}):vg(g,h,s)}function _g(e,t){return t>0?e[e.length-1]:e[0]}function vg(e,t,n){if(e.length===0)return null;if(n===`copy`)return _g(e,t);if(e.every(sg)){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 _g(e,t)}function yg(e,t,n){let r=ug(t,n),i=e?ug(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 bg(e,t,n){return yg(t,e,n)}var xg=class{deps;constructor(e){this.deps=e}commitFillRange(e){let t=0,n=new Set,r=new Set;for(let i of e.removed)if(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(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}applyFillDiff(e){return this.commitFillRange({...e,removed:[]})}writeClearCell(e){let t=this.deps.rowModel.getRow(e.rowIndex),n=this.deps.columnModel.getColumnById(e.colId);return!t||!n||!J(e.colId,t.rowKind)||!U(n,t,this.deps.getCellDisableContext())?!1:this.writeCellValue(t.id,e.rowIndex,n,t,``)}writeFillCell(e,t,n,r){let i=this.deps.rowModel.getRow(e.rowIndex),a=this.deps.columnModel.getColumnById(e.colId);if(!i||!a||!J(e.colId,i.rowKind)||!U(a,i,this.deps.getCellDisableContext()))return!1;let o=gg({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)}writeCellValue(e,t,n,r,i){let a=W(r,n);return Object.is(a,i)||!Fn(n,{rowId:e,rowIndex:t,colId:n.colId,value:a,data:r.data,formattedValue:String(a??``),stopEditing:async()=>{},cancelCommit:()=>{},getEditPhase:()=>`idle`,validate:async()=>({valid:!0})},i)?!1:(this.deps.applyTransaction({update:[r.data]}),this.deps.eventBus.emit(`cellValueChanged`,{rowId:e,colId:n.colId,oldValue:a,newValue:i,rowNode:r}),!0)}},Sg=class{deps;constructor(e){this.deps=e}clearRanges(e,t){let n=t.displayedColIds,r=0,i=new Set,a=new Set;for(let t of e){let e=Y(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)Fs(t,s,e,n)&&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}writeClearCell(e,t,n,r){if(!J(t,r.rowKind))return!1;let i=this.deps.columnModel.getColumnById(t);if(!i||!U(i,r,this.deps.getCellDisableContext()))return!1;let a=W(r,i);return Object.is(a,``)||!Fn(i,{rowId:n,rowIndex:e,colId:t,value:a,data:r.data,formattedValue:String(a??``),stopEditing:async()=>{},cancelCommit:()=>{},getEditPhase:()=>`idle`,validate:async()=>({valid:!0})},``)?!1:(this.deps.applyTransaction({update:[r.data]}),this.deps.eventBus.emit(`cellValueChanged`,{rowId:n,colId:t,oldValue:a,newValue:``,rowNode:r}),!0)}};function Cg(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 wg(e){let t=e.column.prop??e.column.colId,n=t?e.rowNode.data[t]:void 0;e.column.getter&&(n=e.column.getter(e.rowNode.data,n));let r=ar(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 Tg(e){let t=wg(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===``?null:t.valueFormatted}function Eg(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 Dg(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 Og(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 kg(e,t){return e.getColumns().findIndex(e=>e.colId===t)}function Ag(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:kg(e,r.dataset.colId)}:null}function jg(e){return Q(e)?.closest(`.mg-header-cell__column-handle`)??null}function Mg(e){return Q(e)?.closest(`.mg-floating-filter-button`)??null}function Ng(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:kg(e,r.dataset.colId)}:null}function Pg(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 Fg(e){return Q(e)?.closest(`.mg-header-cell[data-col-id]`)??null}function Ig(e){return e.querySelector(`.mg-root`)??e}function Lg(e){let t=Q(e);return t?t.closest(Ia):null}function Rg(e){return e.matches(`.mg-cell__text:not([hidden])`)?`cell`:e.matches(`.mg-header-cell__text`)?`header`:e.matches(`.mg-footer-cell__text:not([hidden])`)?`footer`:null}function zg(e){let t=Q(e);return t?t.closest(Fa):null}function Bg(e,t,n){let r=Rg(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 Vg=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=Lg(e.target);if(!t)return;let n=Bg(t,this.deps.columnModel,this.deps.rowModel);!n||!this.canShowTooltip(n)||this.queueShow(e,n)};handleStatusBarPointerOver=e=>{if(e.pointerType===`touch`)return;let t=zg(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,Lg(e.target))};handleStatusBarPointerOut=e=>{this.handleAnchorPointerOut(e,zg(e.target))};handleAnchorPointerOut(e,t){if(!t)return;let n=Lg(e.relatedTarget),r=zg(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 Ha({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 Og(e.anchorEl);if(!e.colId)return null;let t=this.deps.columnModel.getColumnById(e.colId);if(!t)return null;if(e.location===`header`)return Eg({column:t,headerTooltip:t.headerTooltip,headerTooltipValueGetter:t.headerTooltipValueGetter});if(e.location===`footer`)return Dg({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?Tg({rowNode:n,column:t,tooltipField:t.tooltipField,tooltipValueGetter:t.tooltipValueGetter,indexColumnOptions:this.deps.getIndexColumnOptions(),location:`cell`}):null}clearShowTimer(){this.showTimer!=null&&(clearTimeout(this.showTimer),this.showTimer=null)}},Hg=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 Ug(e){let{viewportPadding:t}=Ah(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 Wg=`mg-tooltip__text`,Gg=`mg-tooltip__content`,Kg=class{popupEl=null;textEl=null;contentEl=null;componentHost=new Hg;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(`${La}--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=La,e.hidden=!0,e.setAttribute(`role`,`tooltip`);let t=document.createElement(`div`);t.className=Wg;let n=document.createElement(`div`);return n.className=Gg,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=Ug({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}},qg=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 Jg(e){return e.overlayType===`loading`?{blockEvents:!0,masked:!0}:e.overlayInteraction?{blockEvents:!0,masked:!1}:{blockEvents:!1,masked:!1}}function Yg(e,t,n){let{blockEvents:r,masked:i}=Jg(n),a=`${lu}--interactive`;e.classList.toggle(a,r&&!i),e.classList.toggle(du,i);let o=r?`auto`:`none`;e.style.pointerEvents=o,t.style.pointerEvents=o}function Xg(){let e=document.createElement(`div`);e.className=lu,e.hidden=!0,e.setAttribute(`aria-hidden`,`true`);let t=document.createElement(`div`);t.className=uu;let n=document.createElement(`div`);return n.className=`mg-overlay__mount`,t.appendChild(n),e.appendChild(t),{overlayEl:e,wrapperEl:t,contentEl:n}}var Zg=new Set([`span`,`div`,`p`,`svg`,`strong`,`em`,`b`,`i`]);function Qg(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 Zg.has(i)?r.cloneNode(!0):r.textContent?.trim()??t}function $g(e){switch(e){case`loading`:return pu;case`noRows`:return mu;case`noMatchingRows`:return hu;default:return e}}function e_(e,t={}){let n=document.createElement(`div`);n.className=`${fu} ${$g(e)}`;let r=t.overlayText??_u(e);if(t.template){let e=Qg(t.template);return typeof e==`string`?n.textContent=e:n.appendChild(e),n}if(e===`loading`){let e=document.createElement(`span`);e.className=gu,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 t_=class{deps;visibleType=null;componentHost=new qg;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){Yg(this.deps.overlayEl,this.deps.wrapperEl,{overlayType:e,overlayInteraction:this.deps.getOverlayInteraction()})}renderContent(e,t){let n={overlayType:e,api:this.deps.getApi(),overlayText:_u(e)};if(t.component){this.componentHost.mount(this.deps.contentEl,n,t.component);return}this.componentHost.destroy(),this.deps.contentEl.replaceChildren(e_(e,{template:t.template,overlayText:n.overlayText}))}};function n_(e){return e.filter(e=>it(e.rowKind)===`data`).length}function r_(e){let t=t=>bu(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`)?`noRows`:e.sourceRowCount>0&&e.displayDataRowCount===0&&e.isAnyFilterActive&&!t(`noMatchingRows`)?`noMatchingRows`:null}function i_(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 a_(e,t){let n=i_(e,t);return n.component?n:t.overlayComponent?{overlayType:e,component:t.overlayComponent,componentParams:t.overlayComponentParams}:n}var o_=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?a_(this.currentType,this.deps.getResolvedOptions()):null}buildResolveInput(){let e=this.deps.getResolvedOptions();return{loading:e.loading,suppressOverlays:e.suppressOverlays,sourceRowCount:this.deps.getSourceRowCount(),displayDataRowCount:n_(this.deps.getDisplayRows()),isAnyFilterActive:this.deps.isAnyFilterActive(),rowDataReady:this.rowDataReady,userForcedNoRows:this.userForcedNoRows}}updateOverlay(){if(this.destroyed)return;let e=r_(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)}};function s_(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 c_(e,t,n){let r={rowId:yr(t,e.deps.rowModel.getRowKey()),rowIndex:t.rowIndex,colId:n.colId,value:W(t,n),data:t.data,formattedValue:ar(t,n),stopEditing:(t=!0)=>e.stopEditing(!t),cancelCommit:()=>e.cancelCommit(),getEditPhase:()=>e.getEditSessionPhase()};return{...r,validate:async t=>{let i=e.deps.rowEditingService.isEditing()?e.deps.rowEditingService.getEditorValue(n.colId):e.deps.editingService.getEditorValue();if(i==null)return{valid:!0};let a={...r,validate:async()=>({valid:!0})},o;try{if(o=Pn(i,n,a),En(o))return{valid:!1,errors:[`Invalid value`]}}catch(e){return{valid:!1,errors:[e instanceof Error?e.message:`Invalid value`]}}return rr(n,a,o,t?.signal)}}}async function l_(t,n,r={}){let i=r.signal??new AbortController().signal,a=r.invalidEditValueMode??`block`;e.l(i);let o={...t.data},s=[];for(let e of n){let t=Pn(e.rawValue,e.column,e.editorParams);if(En(t))return{ok:!1,failedColId:e.column.colId,revert:a===`revert`};s.push({column:e.column,editorParams:e.editorParams,oldValue:e.oldValue,parsedValue:t})}let c=[];try{let e=await Promise.all(s.map(async e=>{let t=await tr(e.column,e.editorParams,e.parsedValue,i);return{colId:e.column.colId,errors:t}}));for(let t of e)t.errors&&c.push({colId:t.colId,errors:t.errors})}catch(t){throw e.c(t),t}let l;if(c.length>0)if(a===`keep`)l={cellErrors:c};else{let e=c[0];return{ok:!1,failedColId:e.colId,errors:e.errors,cellErrors:c,revert:a===`revert`}}let u=new Map(s.map(e=>[e.column.colId,e.parsedValue]));try{let e=await nr(r.rowValidator,{rowId:r.rowKey?yr(t,r.rowKey):t.id,rowIndex:t.rowIndex,data:t.data,draftValues:u,signal:i});if(e){let t=er(s.map(e=>e.column.colId),e.colIds);if(a===`keep`)l={...l,rowErrors:e.errors,rowErrorColIds:t};else return{ok:!1,failedColId:t[0]??s[0]?.column.colId??``,rowErrors:e.errors,rowErrorColIds:t,revert:a===`revert`}}}catch(t){throw e.c(t),t}let d=[];try{for(let n of s){e.l(i);let{column:r,editorParams:s,oldValue:c,parsedValue:l}=n;if(c!==l){if(!await In(r,s,l,i))return Object.assign(t.data,o),{ok:!1,failedColId:r.colId,revert:a===`revert`};d.push({colId:r.colId,oldValue:c,newValue:l})}}}catch(n){throw Object.assign(t.data,o),e.c(n),n}return l?{ok:!0,changes:d,validationWarnings:l}:{ok:!0,changes:d}}async function u_(t,n,r,i,a){try{let e=await l_(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()});if(!e.ok)return e;if(e.changes.length>0){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});t.deps.syncPinnedRows()}return{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}}catch(t){if(e.c(t))return{ok:`aborted`};throw t}}async function d_(t,n,r,i,a,o){if(!r.prop)return{ok:!0};try{let e=Pn(i,r,a);if(En(e))return{ok:!1};let s=a.value,c=await tr(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 In(r,a,e,o.signal)?(t.deps.applyTransaction({update:[n.data]}),t.deps.eventBus.emit(`cellValueChanged`,{rowId:n.id,colId:r.colId,oldValue:s,newValue:e,rowNode:n}),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 f_(e,t,n){for(let r of t){let t=e.find(e=>e.colId===r);t?t.errors=[...new Set([...t.errors,...n])]:e.push({colId:r,errors:[...n]})}}async function p_(e,t,n={}){let r=n.signal??new AbortController().signal,i=[];for(let n of t){if(!n.column.cellValidator)continue;let t=W(e,n.column),a=await tr(n.column,n.editorParams,t,r);a&&i.push({colId:n.column.colId,errors:a})}if(n.rowValidator&&t.length>0){let a=new Map(t.map(t=>[t.column.colId,W(e,t.column)])),o=await nr(n.rowValidator,{rowId:n.rowKey?yr(e,n.rowKey):e.id,rowIndex:e.rowIndex,data:e.data,draftValues:a,signal:r});o&&f_(i,er(t.map(e=>e.column.colId),o.colIds),o.errors)}return i}async function m_(e,t={}){let n=t.signal??new AbortController().signal,r=t.showFeedback!==!1,i=__(e.rowModel,t.rowIds),a=[],o=await Promise.all(i.map(async t=>({rowNode:t,invalidCells:await p_(t,v_(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 h_(e,t){let n=t.signal??new AbortController().signal,r=t.showFeedback!==!1,i=[];for(let{rowId:a,colId:o}of t.cells){let t=X(a),s=e.rowModel.getRowById(t),c=r?g_(e.mountEl,t):null;if(!s){r&&e.validationFeedback.clearRowCell(t,c,o);continue}let l=e.columnModel.getColumnById(o);if(!l||!U(l,s,e.getCellDisableContext?.())||!l.cellValidator){r&&e.validationFeedback.clearRowCell(t,c,o);continue}let u=await tr(l,e.createEditorParams(s,l),W(s,l),n);u?(i.push({rowId:t,rowIndex:s.rowIndex,colId:o,errors:u}),r&&e.validationFeedback.setRowCellInvalid(t,c,{colId:o,errors:u})):r&&e.validationFeedback.clearRowCell(t,c,o)}return{valid:i.length===0,cellErrors:i}}function g_(e,t){return e.querySelector(`.mg-row[data-row-id="${t}"]`)}function __(e,t){let n=Qc(t);if(n)return n.map(t=>e.getRowById(t)).filter(e=>e!=null);let r=[],i=e.getRowCount();for(let t=0;t<i;t++){let n=e.getRow(t);n&&r.push(n)}return r}function v_(e,t){let n=e.getCellDisableContext?.();return e.columnModel.getColumns().filter(e=>U(e,t,n)).map(n=>({column:n,editorParams:e.createEditorParams(t,n)}))}function y_(e){return e.invalidEditValueMode??`block`}function $(e){let t=e.mountEl.querySelector(`.mg-header-row`);t&&e.validationFeedback.syncHeaderDom(t,e.columnModel.getColumns())}function b_(e){e.deps.validationFeedback.syncDom(e.deps.mountEl),$(e.deps)}function x_(e,t){let n=t?.rowIds;if(n?.length){for(let t of n){let n=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${t}"]`);e.deps.validationFeedback.clearRow(X(t),n)}$(e.deps);return}e.deps.validationFeedback.clear(e.deps.mountEl),$(e.deps)}function S_(e,t){x_(e,{rowIds:t.rowIds})}function C_(e,t){for(let{rowId:n,colId:r}of t.cells){let t=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${n}"]`);e.deps.validationFeedback.clearRowCell(X(n),t,r)}$(e.deps)}async function w_(e,t){let n=await m_({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(),b_(e),n}async function T_(e,t){return w_(e,{rowIds:t.rowIds,signal:t.signal,showFeedback:t.showFeedback})}async function E_(e,t){let n=await h_({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(),b_(e),n}function D_(e,t){return e.columnModel.getColumns().filter(n=>U(n,t,e.getCellDisableContext())).map(e=>e.colId)}function O_(e,t,n){return e.rowValidator&&jn(e.editMode)?D_(e,t):n}function k_(e,t,n){queueMicrotask(()=>{e.deps.isDestroyed()||e.isEditing()||A_(e,t,n)})}async function A_(e,t,n){if(e.deps.isDestroyed()||e.isEditing())return;let r=e.deps.rowModel.getRowById(t);if(!r)return;let i=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${t}"]`),a=O_(e.deps,r,n);if(a.length===0){e.deps.validationFeedback.clearRow(t,i),$(e.deps);return}let o=a.map(t=>{let n=e.deps.columnModel.getColumnById(t);return n?{column:n,editorParams:e.createCellEditorParams(r,n)}:null}).filter(e=>e!=null),s=[];try{s=await p_(r,o,{rowValidator:jn(e.deps.editMode)?e.deps.rowValidator:void 0,rowKey:e.deps.rowModel.getRowKey()})}catch{return}if(jn(e.deps.editMode)){s.length>0?e.deps.validationFeedback.setRowInvalid(t,i,s):e.deps.validationFeedback.clearRow(X(t),i),$(e.deps);return}for(let n of a){let r=s.find(e=>e.colId===n);r?e.deps.validationFeedback.setRowCellInvalid(t,i,r):e.deps.validationFeedback.clearRowCell(X(t),i,n)}$(e.deps)}function j_(e,t,n){e.eventBus.emit(`cellValidationFailed`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,errors:n,mode:`keep`})}function M_(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`})}function N_(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 P_(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}),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)})):(n.rowErrorColIds?.length?n.rowErrorColIds:[n.failedColId]).map(t=>({colId:t,errors:n.rowErrors??n.errors??[`Validation failed`],editorMountEl:e.deps.rowEditingService.getEditorMountEl(t)}));e.deps.validationFeedback.showCellsInvalid({rowId:t.rowId,rowElement:t.rowElement,cells:r}),$(e.deps)}}function F_(e,t){for(let n of t.cells)e.deps.eventBus.emit(`cellEditingStopped`,{rowId:t.rowId,colId:n.colId,rowIndex:t.rowIndex,committed:n.committed,oldValue:n.oldValue,newValue:n.newValue});let n=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:n}),t.committed&&n&&n.length>0){let r=e.deps.rowModel.getRowById(t.rowId);r&&e.deps.eventBus.emit(`rowValueChanged`,{rowId:t.rowId,rowIndex:t.rowIndex,rowNode:r,data:r.data,changes:n})}e.deps.syncPinnedRows(),t.committed||e.deps.refreshCells({rowIds:[t.rowId],force:!0}),e.deps.applyFocusVisuals(),queueMicrotask(()=>{!e.deps.isDestroyed()&&!e.isEditing()&&e.deps.viewportEl.focus({preventScroll:!0})}),k_(e.validationCtx(),t.rowId,t.cells.map(e=>e.colId))}function I_(e,t){e.deps.eventBus.emit(`cellEditingStopped`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,committed:t.committed,oldValue:t.oldValue,newValue:t.newValue}),e.deps.syncPinnedRows(),t.committed||e.deps.refreshCells({rowIds:[t.rowId],colIds:[t.colId],force:!0}),e.deps.applyFocusVisuals(),queueMicrotask(()=>{!e.deps.isDestroyed()&&!e.isEditing()&&e.deps.viewportEl.focus({preventScroll:!0})}),k_(e.validationCtx(),t.rowId,[t.colId])}function L_(e,t){if(e.deps.isDestroyed())return;let n=e.deps.rowModel.getRow(t.rowIndex);if(!n)return;let r=e.deps.columnModel.getColumnById(t.colKey);if(!r||L(r.colId)||R(r.colId)||Ta(r)||!U(r,n,e.deps.getCellDisableContext()))return;let i=e.deps.getColIndex(r.colId);e.deps.cellFocusService.setFocusedCell({rowId:n.id,colId:r.colId,rowIndex:t.rowIndex,colIndex:i}),e.deps.applyFocusVisuals(),e.deps.ensureIndexVisible(t.rowIndex),e.deps.ensureColumnVisible(i),e.deps.redrawImmediately();let a=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${n.id}"]`);a&&R_(e,{rowId:n.id,colId:r.colId,rowIndex:t.rowIndex,rowNode:n,rowElement:a})}function R_(e,t){if(jn(e.deps.editMode)){z_(e,t);return}B_(e,t)}function z_(e,t){if(e.deps.rowEditingService.isCommitting())return;if(e.deps.editingService.isEditing()){e.deps.editingService.stopEditing(!0).then(()=>{e.deps.editingService.isEditing()||z_(e,t)});return}if(e.deps.rowEditingService.isEditing()){if(e.deps.rowEditingService.getEditingRow()?.rowId===t.rowId)return;e.deps.rowEditingService.stopRowEditing(!0).then(n=>{n?.committed&&!e.deps.rowEditingService.isEditing()&&z_(e,t)});return}let n=e.deps.columnModel.getColumns().filter(n=>U(n,t.rowNode,e.deps.getCellDisableContext())&&!Ta(n)).map(n=>{let r=e.createCellEditorParams(t.rowNode,n);return{column:n,params:{rowId:r.rowId,rowIndex:r.rowIndex,colId:r.colId,value:r.value,data:r.data,formattedValue:r.formattedValue,validate:r.validate},oldValue:r.value}});if(n.length===0)return;let r=e.validationCtx();if(e.deps.rowEditingService.startRowEditing({rowElement:t.rowElement,rowNode:t.rowNode,columns:n,focusColId:t.colId,onCommitRow:(r,i)=>u_(e.commitCtx(),t.rowNode,n,r,i),onFocusColChange:n=>{let r=e.deps.getColIndex(n);e.deps.cellFocusService.setFocusedCell({rowId:t.rowId,colId:n,rowIndex:t.rowIndex,colIndex:r}),e.deps.applyFocusVisuals()},onRowEditingStopped:t=>{F_(e.lifecycleCtx(),t)},onCommitLifecycle:{onStarted:()=>{e.deps.eventBus.emit(`rowCommitStarted`,{rowId:t.rowId,rowIndex:t.rowIndex,editableColIds:n.map(e=>e.column.colId)})},onFinished:n=>{e.deps.eventBus.emit(`rowCommitFinished`,{rowId:t.rowId,rowIndex:t.rowIndex,committed:n.ok===!0,aborted:n.ok===`aborted`}),n.ok===!1&&n.failedColId?P_(r,t,n):n.ok===!0&&n.validationWarnings&&M_(e.deps,t,n.validationWarnings)},onAborted:()=>{e.deps.eventBus.emit(`editCommitAborted`,{rowId:t.rowId,rowIndex:t.rowIndex})}}})){e.deps.eventBus.emit(`rowEditingStarted`,{rowId:t.rowId,rowIndex:t.rowIndex,editableColIds:n.map(e=>e.column.colId)});for(let r of n)e.deps.eventBus.emit(`cellEditingStarted`,{rowId:t.rowId,colId:r.column.colId,rowIndex:t.rowIndex,value:r.oldValue});e.deps.applyFocusVisuals(),e.deps.syncPinnedRows()}}function B_(e,t){if(e.deps.rowEditingService.isCommitting())return;if(e.deps.rowEditingService.isEditing()){e.deps.rowEditingService.stopRowEditing(!0).then(n=>{n?.committed&&!e.deps.rowEditingService.isEditing()&&B_(e,t)});return}let n=e.deps.columnModel.getColumnById(t.colId);if(!n||!U(n,t.rowNode,e.deps.getCellDisableContext())||Ta(n))return;let r=e.createCellEditorParams(t.rowNode,n),i=r.formattedValue,a=r.value,o=()=>{e.deps.validationFeedback.clearRowCell(t.rowId,t.rowElement??null,t.colId),$(e.deps)},s=e.validationCtx();e.deps.editingService.startEditing(t.rowElement,t.rowNode,n,i,a,{editorParams:r,onCommit:(i,a)=>d_(e.commitCtx(),t.rowNode,n,i,r,a),onCancel:()=>void 0,onEditingInput:o,onEditingStopped:t=>{I_(e.lifecycleCtx(),t)},onTab:t=>{e.deps.onTabChainEdit(t)},onCommitLifecycle:{onStarted:()=>{o(),e.deps.eventBus.emit(`cellCommitStarted`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex})},onFinished:n=>{e.deps.eventBus.emit(`cellCommitFinished`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,committed:n.ok===!0,aborted:n.ok===`aborted`}),n.ok===!1&&n.errors?N_(s,t,n.errors,n.revert):n.ok===!0&&n.validationErrors?.length&&j_(e.deps,t,n.validationErrors)},onAborted:()=>{e.deps.eventBus.emit(`editCommitAborted`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex})}}}),e.deps.eventBus.emit(`cellEditingStarted`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,value:a}),e.deps.applyFocusVisuals(),e.deps.syncPinnedRows()}var V_=class{deps;constructor(e){this.deps=e}validate(e){return w_(this.validationCtx(),e)}validateRows(e){return T_(this.validationCtx(),e)}validateCells(e){return E_(this.validationCtx(),e)}clearValidation(e){x_(this.validationCtx(),e)}clearRowValidation(e){S_(this.validationCtx(),e)}clearCellValidation(e){C_(this.validationCtx(),e)}syncValidationDom(){b_(this.validationCtx())}syncValidationHeaderDom(){$(this.deps)}startEditingCell(e){L_(this.startCtx(),e)}stopEditing(e=!1){return this.deps.rowEditingService.isEditing()?this.deps.rowEditingService.stopRowEditing(!e).then(()=>void 0):this.deps.editingService.isEditing()?this.deps.editingService.stopEditing(!e).then(()=>void 0):Promise.resolve()}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()}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){z_(this.startCtx(),e)}tryStartCellEditing(e){B_(this.startCtx(),e)}createCellEditorParams(e,t){return c_(this.editorParamsCtx(),e,t)}validationCtx(){return{deps:this.deps,isEditing:()=>this.isEditing(),createCellEditorParams:(e,t)=>this.createCellEditorParams(e,t),getInvalidEditValueMode:()=>y_(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:()=>y_(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)}}},H_=`mg-column-drag-ghost`,U_=`mg-column-drag-ghost__icon`,W_=`mg-column-drag-ghost__label`,G_=`mg-column-drop-indicator`,K_=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=H_,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=U_,n.setAttribute(`aria-hidden`,`true`),n.append(Df());let r=document.createElement(`span`);r.className=W_,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=G_,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 q_(e,t){return[{colId:e,sort:`asc`}]}function J_(e,t){return[{colId:e,sort:`desc`}]}function Y_(e,t){return ma(t.filter(t=>t.colId!==e))}function X_(e,t){return t.find(t=>t.colId===e)?.sort??null}function Z_(e,t){return X_(e,t)!==null}var Q_=[{value:`contains`,label:`包含`},{value:`notContains`,label:`不包含`},{value:`equals`,label:`等于`},{value:`notEqual`,label:`不等于`},{value:`startsWith`,label:`开头是`},{value:`endsWith`,label:`结尾是`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`非空白`}],$_=[{value:`equals`,label:`等于`},{value:`notEqual`,label:`不等于`},{value:`lessThan`,label:`小于`},{value:`lessThanOrEqual`,label:`小于等于`},{value:`greaterThan`,label:`大于`},{value:`greaterThanOrEqual`,label:`大于等于`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`非空白`}],ev=[{value:`equals`,label:`等于`},{value:`notEqual`,label:`不等于`},{value:`lessThan`,label:`早于`},{value:`greaterThan`,label:`晚于`},{value:`inRange`,label:`范围内`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`非空白`}];function tv(e){switch(e){case`number`:return $_;case`date`:return ev;default:return Q_}}function nv(e){switch(e){case`number`:return`equals`;case`date`:return`equals`;default:return`contains`}}function rv(e){return{type:nv(e),value:``,valueTo:``}}function iv(e){return!Oi(e)}function av(e){return e===`inRange`}function ov(e){return e===`number`?`number`:`text`}function sv(e,t){return`过滤条件`}function cv(e){return`过滤条件`}function lv(e,t){return tv(t).some(t=>t.value===e)}function uv(e,t){let n=Si(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 dv(e,t,n){if(Oi(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 fv(e,t){return e?null:{setValues:t.filter(e=>e!==``)}}function pv(e,t,n){let r=bi(e).map(e=>({type:lv(e.type,t)?e.type:n,value:e.filter??``,valueTo:e.filterTo??``}));return r.length>0?r:[rv(t)]}function mv(e,t,n){let r=t.map(e=>dv(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 hv(e,t,n=`text`,r=[]){let i=t[e],a=nv(n),o=uv(void 0,r),s={operatorLogic:`AND`,operatorConditions:[rv(n)]};if(!i)return{customPredicate:!1,...s,...o};if(_i(i))return{customPredicate:!0,...s,...o};let c=uv(i,r);return{customPredicate:!1,operatorLogic:xi(i),operatorConditions:pv(i,n,a),...c}}function gv(e,t,n,r,i){let a=mv(e,t,i),o=fv(n,r);return!a&&!o?null:{...a,type:a?.type??i,...o??{}}}function _v(e,t,n,r){let i={...n},a=nv(r),o=gv(t.operatorLogic,t.operatorConditions,t.setAllSelected,t.selectedValues,a);return o&&(Ci(o)||wi(o))?i[e]=o:delete i[e],i}function vv(e,t,n,r,i,a,o=!0,s=[]){return _v(e,{operatorLogic:`AND`,operatorConditions:[{type:t,value:n,valueTo:a??``}],setAllSelected:o,selectedValues:s},r,i)}function yv(e,t){if(!(e in t))return t;let n={...t};return delete n[e],n}function bv(e){return Oi(e.type)?!1:e.type===`inRange`?e.value.trim()!==``||e.valueTo.trim()!==``:e.value.trim()!==``}function xv(e){let t=e[0];return t?bv(t):!1}function Sv(e){let{columnFilterType:t,abortSignal:n,onInput:r,onStopPropagation:i}=e,a=tv(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=ov(t),e.input.placeholder=sv(t,n),e.input.hidden=!iv(n),e.inputTo.type=ov(t),e.inputTo.placeholder=cv(t),e.inputTo.hidden=!av(n)},x=()=>{let e=p?bv(_(p)):!1;c.hidden=!e,e&&!m&&p&&(m=C(g??rv(t),!0),m.rowEl.hidden=!1,s.append(m.rowEl)),m&&(m.rowEl.hidden=!e),!e&&m&&(bv(_(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:[rv(t)];h=e.operatorLogic,g=n[1]??null,y(h),p=C(n[0]??rv(t)),m=null,s.append(p.rowEl,c),xv(n)?(m=C(n[1]??g??rv(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 Cv(e,t){let n=t.trim().toLowerCase();return n===``?[...e]:e.filter(e=>e.label.toLowerCase().includes(n)||e.key.toLowerCase().includes(n))}var wv=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 Tv(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 Ev=/^(\d{4})-(\d{2})-(\d{2})$/;function Dv(e){let t=Ev.exec(e),n=t?Number(t[3]):0;return{id:`d:${e}`,type:`day`,label:`${n}日`,key:e,children:[],leafKeys:[e]}}function Ov(e,t){return e.id.localeCompare(t.id,void 0,{numeric:!0})}function kv(e,t){return(e.key??``).localeCompare(t.key??``,void 0,{numeric:!0})}function Av(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=Ev.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(Dv(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(kv);i.push({id:`y:${e}:m:${t}`,type:`month`,label:`${t}月`,children:r,leafKeys:r.map(e=>e.key)})}i.sort(Ov),t.push({id:`y:${e}`,type:`year`,label:String(e),children:i,leafKeys:i.flatMap(e=>e.leafKeys)})}return t}function jv(e){let t=new Set;for(let n of e)n.type===`year`&&t.add(n.id);return t}function Mv(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 Nv(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?Nv(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 Pv(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 Fv(e,t,n){let r=t.trim().toLowerCase(),i=Av(e);if(r===``){let e=Mv(i,n);return{roots:i,expandedIds:new Set(n),rows:e,leafKeys:i.flatMap(e=>e.leafKeys)}}let a=Nv(i,r),o=Pv(a);return{roots:a,expandedIds:o,rows:Mv(a,o),leafKeys:a.flatMap(e=>e.leafKeys)}}function Iv(e,t){return Fv(e,t,new Set).leafKeys}function Lv(e,t){for(let n of e){if(n.id===t)return n;let e=Lv(n.children,t);if(e)return e}}var Rv=4;function zv(e,t,n,r=28,i=Rv){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 Bv=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 zv(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)}},Vv=class{viewOptions;element;scrollEl;spacerEl;windowEl;emptyEl;rowEls=new Map;expandedIds;rows=[];searchQuery=``;constructor(e){this.viewOptions=e,this.searchQuery=e.searchQuery??``,this.expandedIds=jv(Fv(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 Fv(this.viewOptions.options,this.searchQuery,this.expandedIds).leafKeys}syncViewState(){let e=Fv(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}=zv(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=Lv(Fv(this.viewOptions.options,this.searchQuery,this.expandedIds).roots,n);r&&(this.viewOptions.selection.setKeysChecked(r.leafKeys,t.checked),this.viewOptions.onSelectionChange(),this.renderRows())}},Hv=new WeakMap,Uv=new WeakMap;function Wv(e,t){let n=Hv.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 Gv(e){let t=document.createElement(`div`);return t.className=`mg-column-handle-menu__filter-group-heading`,t.textContent=e,t}function Kv(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 qv(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=hv(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=ul;let p=document.createElement(`div`);p.className=`mg-column-handle-menu__filter-group`,p.append(Gv(`过滤器`));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(Gv(`值选择`));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 wv(u,{setAllSelected:d.setAllSelected,selectedValues:d.selectedValues}),y=()=>Cv(i,g.value),b=()=>o,x=()=>_&&b()===`tree`?k?.getVisibleLeafKeys()??Iv(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 Vv({options:i,selection:v,searchQuery:g.value,onSelectionChange:()=>{D(),N(`set`)},emptySearchLabel:`无匹配项`,abortSignal:l}),A.append(k.element),M();return}O=new Bv({options:y(),selection:v,onSelectionChange:()=>{D(),N(`set`)},emptySearchLabel:`无匹配项`,abortSignal:l}),A.append(O.element),M()},M=()=>{let e=Hv.get(h);e&&(e.virtualList=O,e.dateTreeView=k)},N=e=>{let t=v.snapshot(),n=Tv(t,C(),x(),S());if(e===`set`&&n===null)return;let r=n??t,i=P.readState();s({source:e,operatorLogic:i.operatorLogic,operatorConditions:i.operatorConditions,setAllSelected:r.setAllSelected,selectedValues:r.selectedValues})},ee=()=>{N(`operator`)},te=()=>{N(`set`)},P=Sv({columnFilterType:r,initialState:{operatorLogic:d.operatorLogic,operatorConditions:d.operatorConditions},abortSignal:l,onInput:ee,onStopPropagation:m});p.append(P.element),Uv.set(f,P),i.length===0&&(g.disabled=!0,T.disabled=!0),h.append(A),j(),Hv.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`&&te()},{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(),te()}},{signal:l});let F=document.createElement(`div`);F.className=`mg-column-handle-menu__filter-actions`;let ne=Kv(c,l);return F.append(ne),f.append(p,h,F),{root:f,panelRoot:f,customPredicate:!1,syncState:e=>{Jv(f,e)}}}function Jv(e,t){let n=e.querySelector(`.mg-column-handle-menu__filter-set-panel`);Uv.get(e)?.syncState({operatorLogic:t.operatorLogic,operatorConditions:t.operatorConditions}),n&&Wv(n,t)}var Yv=8,Xv=4;function Zv(e,t,n){let r=e.left,i=e.bottom+Xv;return i+n>window.innerHeight-Yv&&(i=e.top-n-Xv),r=Math.max(Yv,Math.min(r,window.innerWidth-t-Yv)),i=Math.max(Yv,Math.min(i,window.innerHeight-n-Yv)),{left:r,top:i}}function Qv(e,t){let n=document.createElement(`span`);n.className=il,e&&n.append(e);let r=document.createElement(`span`);return r.className=al,r.textContent=t,n.append(r),n}function $v(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=rl,r.dataset.action=t,n?.targetColId&&(r.dataset.targetColId=n.targetColId),r.append(Qv(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 ey(){let e=document.createElement(`div`);return e.className=ll,e.setAttribute(`role`,`separator`),e}function ty(e,t){let n=document.createElement(`div`);n.className=`${nl} ${dl}`;let r=X_(e,t);return n.append($v(`升序`,`sort-asc`,{checked:r===`asc`,icon:kf()}),$v(`降序`,`sort-desc`,{checked:r===`desc`,icon:Af()})),Z_(e,t)&&n.append($v(`清除排序`,`sort-clear`)),n}function ny(e,t){t.classList.remove(`mg-column-handle-menu__submenu-panel--flip`);let n=e.getBoundingClientRect(),r=t.offsetWidth;n.right+r>window.innerWidth-Yv&&t.classList.add(`mg-column-handle-menu__submenu-panel--flip`)}function ry(e){let t=document.createElement(`div`);t.className=`${nl} ${fl}`;let n=document.createElement(`div`);n.className=sl;let r=document.createElement(`button`);r.type=`button`,r.className=`${rl} ${ol}`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,`false`),r.append(Qv(jf(),`固定列`)),r.append(Ff());let i=document.createElement(`div`);i.className=cl,i.setAttribute(`role`,`menu`),i.hidden=!0,i.append($v(`不固定`,`pin-none`,{role:`menuitemradio`,checked:e===null,icon:Mf()}),$v(`固定左侧`,`pin-left`,{role:`menuitemradio`,checked:e===`left`,icon:Nf()}),$v(`固定右侧`,`pin-right`,{role:`menuitemradio`,checked:e===`right`,icon:Pf()}));let a=()=>{i.hidden=!1,r.setAttribute(`aria-expanded`,`true`),n.classList.add(`mg-column-handle-menu__submenu--open`),ny(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 iy(e,t,n){let r=()=>{n.hidden=!1,t.setAttribute(`aria-expanded`,`true`),e.classList.add(`mg-column-handle-menu__submenu--open`),ny(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 ay(e){let t=document.createElement(`div`);t.className=`${nl} ${ml}`;let n=document.createElement(`div`);n.className=sl;let r=document.createElement(`button`);r.type=`button`,r.className=`${rl} ${ol}`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,`false`),r.append(Qv(If(),`列显隐`)),r.append(Ff());let i=document.createElement(`div`);i.className=cl,i.setAttribute(`role`,`menu`),i.hidden=!0,i.append($v(`隐藏此列`,`hide-column`,{icon:Lf()})),e.length>0&&i.append(ey());for(let t of e)i.append($v(t.label,`show-column`,{targetColId:t.colId,icon:Rf()}));return iy(n,r,i),n.append(r,i),t.append(n),t}function oy(e,t,n,r,i,a,o,s){let c=document.createElement(`div`);c.className=`${nl} ${pl}`;let l=qv({colId:e,filterModel:t,columnFilterType:n,distinctFilterValues:r,filterSetValueMode:i,filterSetDateLayoutMode:a,onFilterInput:o,abortSignal:s});return c.append(l.root),c}var sy=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=tl;let n=document.createElement(`div`);n.className=el,n.setAttribute(`role`,`menu`),n.dataset.colId=e.colId;let r=[];e.sections.sort&&r.push(ty(e.colId,e.sortModel)),e.sections.pin&&r.push(ry(e.fixed)),e.sections.visibility&&r.push(ay(e.hiddenUserColumns)),e.sections.filter&&r.push(oy(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(ey()),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(`.${ul}`);t&&Jv(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}=Zv(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`)}},cy=new Set([`sort-asc`,`sort-desc`,`sort-clear`]),ly={"pin-none":null,"pin-left":`left`,"pin-right":`right`},uy=class{deps;view=new sy;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=gl({colId:e.colId,sortable:t.sortable,filterable:t.filterable},e.mode??`full`);if(!_l(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:ja(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(cy.has(e)){this.applySortAction(e,t);return}let r=ly[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=q_(t,n);break;case`sort-desc`:r=J_(t,n);break;case`sort-clear`:r=Y_(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&&_i(r))return;this.clearFilterDebounce();let i=()=>{let r=_v(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=yv(e,this.deps.getFilterModel());this.deps.setFilterModel(n),this.view.syncFilterPanel(hv(e,n,t.filterType,this.deps.getColumnDistinctFilterValues(e).map(e=>e.key)))}clearFilterDebounce(){this.filterDebounceTimer!=null&&(clearTimeout(this.filterDebounceTimer),this.filterDebounceTimer=null)}};function dy(e){let{current:t,colId:n,sortable:r}=e;if(!r)return ma(t);let i=ma(t).find(e=>e.colId===n);return i?i.sort===`asc`?[{colId:n,sort:`desc`}]:[]:[{colId:n,sort:`asc`}]}function fy(e,t){return t.find(t=>t.colId===e)?.sort??null}function py(e){return e===`asc`?`ascending`:e===`desc`?`descending`:`none`}var my=class{deps;constructor(e){this.deps=e}toggleSort(e){if(!this.deps.getColumnById(e)?.sortable)return;let t=dy({current:this.deps.getSortModel(),colId:e,sortable:!0});this.deps.setSortModel(t)}getSortState(e){return fy(e,this.deps.getSortModel())}};function hy(e){let t=document.createElement(`div`);return t.className=`mg-header-row__lane mg-header-row__lane--${e}`,t}function gy(e){let t=document.createElement(`div`);return t.className=`mg-footer-row__lane mg-footer-row__lane--${e}`,t}function _y(e){let t=document.createElement(`div`);return t.className=`mg-floating-filter-row__lane mg-floating-filter-row__lane--${e}`,t}function vy(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=hy(`left`),c=hy(`center`),l=hy(`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`,m.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}=Xg();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=_y(`left`),k=_y(`center`),A=_y(`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,ee,te,P,F;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`),ee=document.createElement(`div`),ee.className=`mg-footer-row`,te=gy(`left`),P=gy(`center`),F=gy(`right`),ee.append(te,P,F);let e=document.createElement(`div`);e.className=`mg-footer-span`,e.setAttribute(`aria-hidden`,`true`),M.append(ee,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:ee,footerLeftLaneEl:te,footerCenterLaneEl:P,footerRightLaneEl:F,floatingFilterViewportEl:w,floatingFilterScrollEl:T,floatingFilterGutterEl:E,floatingFilterRowEl:D,floatingFilterLeftLaneEl:O,floatingFilterCenterLaneEl:k,floatingFilterRightLaneEl:A,overlayEl:x,overlayWrapperEl:S,overlayContentEl:C}}var yy=`mg-floating-filter-cell`,by=`mg-floating-filter-cell--active`,xy=`mg-floating-filter-cell__inner`,Sy=`mg-floating-filter-control`,Cy=`mg-floating-filter-control--readonly`,wy=`mg-floating-filter-input`,Ty=`mg-floating-filter-input--readonly`,Ey=`mg-floating-filter-button`,Dy=`mg-floating-filter-button--active`,Oy=`contains`,ky={blank:`空白`,notBlank:`非空白`};function Ay(e){return e===`OR`?`或者`:`并且`}function jy(e){if(Oi(e.type))return ky[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 My(e){return!e||_i(e)?!1:bi(e).filter(yi).length>=2}function Ny(e){if(!e||_i(e))return``;let t=bi(e),n=t.filter(yi);if(n.length>=2){let[t,r]=n,i=Ay(xi(e));return`${jy(t)} ${i} ${jy(r)}`}let[r]=n.length>0?n:t;return r?(r.type,r.filter??``):``}function Py(e,t){return!(!e||t&&_i(t))}function Fy(e,t){return Py(e,t)?!My(t):!1}function Iy(e,t,n){let r=Ai(t,n);e.classList.toggle(by,r);let i=e.querySelector(`.${Ey}`);i&&(i.classList.toggle(Dy,r),r?i.setAttribute(`aria-pressed`,`true`):i.removeAttribute(`aria-pressed`))}function Ly(e,t){let n=Array.isArray(e)?e:[e];for(let e of n){let n=Array.from(e.querySelectorAll(`.${yy}[data-col-id]`));for(let e of n){let n=e.dataset.colId;n&&Iy(e,n,t)}}}var Ry=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=Bo(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=Fy(r?.filterable??!1,i);n.input.readOnly=!a,n.input.classList.toggle(Ty,!a),n.input.tabIndex=a?0:-1,n.control.classList.toggle(Cy,!a),n.input.value=Ny(i)}Ly([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,t,n){let r=this.lanes[e];r.replaceChildren();for(let e of t){let t=n.columnModel.getColumn(e);if(!t)continue;let i=document.createElement(`div`);i.className=yy,i.dataset.colId=t.colId,L(t.colId)?i.classList.add(`mg-floating-filter-cell--index`):R(t.colId)&&i.classList.add(`mg-floating-filter-cell--selection`);let a=n.filterModel[t.colId],o=Py(t.filterable,a),s=Fy(t.filterable,a);if(t.filterable){let e=document.createElement(`div`);e.className=xy;let r=document.createElement(`div`);if(r.className=Sy,o){let e=document.createElement(`input`);e.type=`text`,e.className=wy,e.setAttribute(`aria-label`,`${t.label??t.prop??t.colId} 筛选`),e.value=Ny(a),e.readOnly=!s,s||(e.classList.add(Ty),r.classList.add(Cy),e.tabIndex=-1),s&&e.addEventListener(`input`,()=>{n.onInput(t.colId,e.value)}),e.addEventListener(`focus`,()=>{this.focusedColId=t.colId,n.onFocus?.(t.colId)}),e.addEventListener(`blur`,()=>{this.focusedColId===t.colId&&(this.focusedColId=null),n.onBlur?.(t.colId)}),r.append(e),this.inputBindings.push({colId:t.colId,input:e,control:r})}else{let e=document.createElement(`span`);e.className=`mg-floating-filter-cell__spacer`,e.setAttribute(`aria-hidden`,`true`),r.append(e)}let c=document.createElement(`button`);c.type=`button`,c.className=Ey,c.title=`列筛选`,c.setAttribute(`aria-label`,`${t.label??t.prop??t.colId} 列筛选`),c.setAttribute(`aria-haspopup`,`menu`),c.setAttribute(`aria-expanded`,`false`),c.append(Of()),r.append(c),e.append(r),i.append(e)}Iy(i,t.colId,n.filterModel),Eo(i,To(t,n.columnModel),yy),r.appendChild(i)}}};function zy(e,t,n,r){e.style.width=`${r.getLeftFixedWidth()}px`,t.style.width=`${r.getCenterTotalWidth()}px`,n.style.width=`${r.getRightFixedWidth()}px`}function By(e,t,n,r){Do(e,r,yy),Do(t,r,yy),Do(n,r,yy)}function Vy(e,t,n,r=`text`){let i=n[e],a=!0,o=[];if(i&&!_i(i)){let e=Si(i);e!==void 0&&(a=!1,o=e)}return vv(e,Oy,t,n,r,void 0,a,o)}var Hy=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&&_i(r))return;let i=this.debounceTimers.get(e);i!=null&&clearTimeout(i),this.debounceTimers.set(e,setTimeout(()=>{this.debounceTimers.delete(e);let r=Vy(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 Uy(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 Wy(e,t,n){return Uy(e,t,n)!==0}function Gy(e){return e.scrollWidth>e.clientWidth+1}var Ky=class{deps;host;drag=null;scrollRaf=null;constructor(e,t){this.deps=e,this.host=t}isActive(){return this.drag!=null}canStart(e,t,n){if(n||this.drag||!e?.movable||e.hidden||L(e.colId)||R(e.colId))return!1;let r=Q(t);return!(r?.closest(`.mg-selection-checkbox--header`)||!r?.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},document.addEventListener(`mousemove`,this.handleMove),document.addEventListener(`mouseup`,this.handleEnd))}end(e){let t=this.drag;t&&(document.removeEventListener(`mousemove`,this.handleMove),document.removeEventListener(`mouseup`,this.handleEnd),this.deps.columnDragController.cleanup(t.sourceCell,this.deps.headerViewportEl),this.deps.setColumnMoveLiveDragging(!1),this.drag=null,this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null),e&&(this.host.setSuppressColumnClick(!0),this.host.setSuppressColumnHandleClick(!0),window.setTimeout(()=>{this.host.setSuppressColumnClick(!1),this.host.setSuppressColumnHandleClick(!1)},0)))}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.deps.suppressMoveWhenColumnDragging()||this.deps.setColumnMoveLiveDragging(!0);let e=t.sourceCell.getBoundingClientRect(),i=this.deps.columnModel.getColumnById(t.colId),a=this.resolveGhostPosition(e);this.deps.columnDragController.setColumnMoving(t.colId),this.deps.columnDragController.setSourceHeaderDragging(t.sourceCell,!0),this.deps.columnDragController.setHeaderViewportDragging(this.deps.headerViewportEl,!0),this.deps.columnDragController.startGhost({label:i?.label??i?.prop??t.colId,width:e.width,height:e.height,left:a.left,top:a.top,mountEl:this.deps.mountEl})}let i=t.sourceCell.getBoundingClientRect(),a=this.resolveGhostPosition(i);this.deps.columnDragController.moveGhost(a.left,a.top),t.pointerX=e.clientX,this.renderAtPointer(t,e.clientX),Wy(t.pointerX,...this.getScrollBounds(t))&&this.ensureEdgeScrollLoop()};handleEnd=e=>{let t=this.drag;if(t){if(t.active)if(this.deps.suppressMoveWhenColumnDragging()){let n=this.resolveDropAtClientX(e.clientX,t);n&&this.deps.moveColumn(t.colId,n.globalIndex,!0,n.toFixed)}else this.deps.finishColumnMove(t.colId);this.end(t.didMove)}};renderAtPointer(e,t){let n=this.resolveDropAtClientX(t,e);e.dropLaneEl=this.resolveDropLaneEl(t,n,e.colId),this.updateDropIndicator(e,n),this.deps.suppressMoveWhenColumnDragging()||this.applyLiveMove(e,n)}resolveDropLaneEl(e,t,n){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)}return[{fixed:`left`,el:this.deps.headerLeftLaneEl},{fixed:null,el:this.deps.headerCenterLaneEl},{fixed:`right`,el:this.deps.headerRightLaneEl}].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}resolveGhostPosition(e){return{left:e.left,top:e.bottom}}isSameDropTarget(e,t){return!e||!t?e===t:e.globalIndex===t.globalIndex&&e.toFixed===t.toFixed}getScrollBounds(e){let t=this.resolveScrollHost(e).getBoundingClientRect();return[t.left,t.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}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&&!Gy(t)){this.scrollRaf=null;return}let n=t.getBoundingClientRect(),r=Uy(e.pointerX,n.left,n.right);if(r!==0&&(t===this.deps.viewportEl?this.deps.scrollByHorizontalDelta(r):t.scrollLeft=Math.max(0,Math.min(t.scrollLeft+r,t.scrollWidth-t.clientWidth)),this.renderAtPointer(e,e.pointerX)),Wy(e.pointerX,n.left,n.right)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null};updateDropIndicator(e,t){if(!t){this.deps.columnDragController.hideDropIndicator();return}let n=this.deps.columnModel.getColumn(t.globalIndex),r=n?e.dropLaneEl.querySelector(`.mg-header-cell[data-col-id="${n.colId}"]`):null;if(r){let e=r.getBoundingClientRect();this.deps.columnDragController.showDropIndicator(e.left,e.top,e.height);return}let i=e.dropLaneEl.getBoundingClientRect();this.deps.columnDragController.showDropIndicator(Math.max(i.left,i.right-2),i.top,i.height)}applyLiveMove(e,t){!t||this.isSameDropTarget(t,e.lastDropTarget)||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)}refreshSourceCell(e){let t=e.laneEl.querySelector(`.mg-header-cell[data-col-id="${e.colId}"]`);t&&(e.active&&(this.deps.columnDragController.setSourceHeaderDragging(e.sourceCell,!1),this.deps.columnDragController.setSourceHeaderDragging(t,!0)),e.sourceCell=t)}resolveHitLane(e,t){let n=[{fixed:`left`,el:this.deps.headerLeftLaneEl},{fixed:null,el:this.deps.headerCenterLaneEl},{fixed:`right`,el:this.deps.headerRightLaneEl}];if(!this.deps.allowCrossLaneColumnMove()){let e=this.deps.columnModel.getColumnById(t.colId)?.fixed??null;return n.find(({fixed:t})=>t===e)||{fixed:e,el:t.laneEl}}return n.find(({el:t})=>{let n=t.getBoundingClientRect();return e>=n.left&&e<=n.right})??n.find(({el:e})=>e===t.laneEl)??{fixed:null,el:this.deps.headerCenterLaneEl}}resolveDropAtClientX(e,t){let n=this.resolveHitLane(e,t),r=this.deps.columnModel.getColumns(),i=this.deps.columnModel.getFixedColumnGroups(),a=n.el.getBoundingClientRect(),o=[...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}]});return Yr({columns:r,fixedGroups:i,clientX:e,laneRectLeft:a.left,laneRectRight:a.right,targetFixed:n.fixed,laneHeaderCells:o})}};function qy(e,t){let n=t.clientX,r=0,i=!1,a=t=>{if(e.rootEl.classList.toggle(`mg-root--column-resizing`,t),t){document.body.style.cursor=`col-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.clientX-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)}function Jy(e,t){return e}var Yy=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=Ig(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:qy({rootEl:Ig(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,t){if(this.columnResize)return!1;let n=this.deps.cellFocusService.getFocusedCell();if(!n||!ve(n))return!1;let r=n.colId;if(L(r)||R(r)||!this.deps.columnModel.getColumnById(r)?.resizable)return!1;(!this.keyboardColumnResize||this.keyboardColumnResize.colId!==r)&&(this.keyboardColumnResize={colId:r,multiplier:0}),this.keyboardColumnResize.multiplier+=1;let i=(e===`left`?-1:1)*this.keyboardColumnResize.multiplier,a=this.deps.mountEl.querySelector(`.mg-header-cell[data-col-id="${r}"]`);return a&&this.markActiveCell(a),this.deps.resizeHeaderColumn(r,i,t),!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(){Ig(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=Jy(e,r.fixed??null),a=n.startWidth+i;this.deps.setColumnWidths([{colId:n.colId,newWidth:a}],n.shiftKey,t)}};function Xy(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`,`.${nf}`].join(`, `))}var Zy=class{deps;host;constructor(e,t){this.deps=e,this.host=t}applyFocusVisuals(){let e=this.deps.cellFocusService.getFocusedCell();this.syncHeaderFocusVisual(e&&ve(e)?e.colId:null),this.syncFooterFocusVisual(e&&ye(e)?e.colId:null),!e||I(e)?this.deps.rowRenderer.setFocusedCell(null):this.deps.rowRenderer.setFocusedCell({rowId:e.rowId,colId:e.colId}),this.deps.syncCellRangeHighlightVisuals?.()}navigateTabChainEdit(e,t){let n=this.deps.cellFocusService.getFocusedCell();if(!n)return;let r=this.deps.rowModel.getRowCount(),i=de(this.deps.columnModel);if(r===0||i.length===0)return;let a=Ee(n,e,r,i,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&&U(r,n,this.deps.getCellDisableContext()))},this.getFocusChromeNavigation());if(!a){t(e);return}this.deps.ensureIndexVisible(a.rowIndex,`middle`),this.deps.ensureColumnVisible(a.colIndex),this.setFocusedCell(a),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=de(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&&(I(r)||this.deps.ensureIndexVisible(r.rowIndex,`middle`),this.deps.ensureColumnVisible(r.colIndex),this.setFocusedCell(r))}navigateFocusToEdge(e){let t=this.deps.rowModel.getRowCount(),n=de(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&&(I(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=de(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&&(I(r)||this.deps.ensureIndexVisible(r.rowIndex,`middle`),this.deps.ensureColumnVisible(r.colIndex),this.setFocusedCell(r))}setFocusedCell(e){let t=this.normalizeSpanFocus(e);if(this.deps.cellFocusService.setFocusedCell(t),this.applyFocusVisuals(),I(t)){let e=this.deps.rowModel.getRow(0);e&&this.deps.eventBus.emit(`cellFocused`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:e});return}let n=this.deps.rowModel.getRow(t.rowIndex);n&&this.deps.eventBus.emit(`cellFocused`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:n})}normalizeSpanFocus(e){let t=this.deps.cellSpanService();if(!t?.active||I(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:kg(this.deps.columnModel,n.colId)}}focusCellTarget(e){this.setFocusedCell({rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,colIndex:kg(this.deps.columnModel,e.colId)})}toggleIndexFocusFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||I(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||I(e)?!1:this.toggleInlineCheckboxAtCell(e.rowId,e.colId,e.rowIndex)}toggleRowSelectionFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||I(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||I(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||I(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||I(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 t=this.deps.cellFocusService.getFocusedCell();if(!t||!ve(t))return!1;let n=t.colId;if(L(n)||R(n))return!1;let r=Jr({columns:this.deps.columnModel.getColumns(),colId:n,toGlobalIndex:-1,fixedGroups:this.deps.columnModel.getFixedColumnGroups(),direction:e});return r==null||!this.deps.moveColumn(n,r,!0)?!1:(this.setFocusedCell({rowId:t.rowId,colId:n,rowIndex:t.rowIndex,colIndex:r}),!0)}toggleHeaderSortFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||!ve(e)||!this.host.canToggleHeaderSort(e.colId)?!1:(this.deps.toggleHeaderSort(e.colId),!0)}toggleHeaderSelectionFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||!ve(e)||!this.host.isSelectionColumnEntry(e.colId)||!this.host.isSelectionHeaderMultiple()?!1:(this.host.toggleSelectAllVisibleRows(),!0)}startEditingFocusedCell(){let e=this.deps.cellFocusService.getFocusedCell();if(!e||I(e))return;let t=this.deps.rowModel.getRow(e.rowIndex);if(!t)return;let n=this.deps.mountEl.querySelector(`.mg-row[data-row-id="${e.rowId}"]`);if(!n)return;if(jn(this.deps.editMode)){this.deps.tryStartRowEditing({rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,rowNode:t,rowElement:n});return}let r=this.deps.columnModel.getColumnById(e.colId);!r||!U(r,t,this.deps.getCellDisableContext())||Ta(r)||this.deps.tryStartCellEditing({rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,rowNode:t,rowElement:n})}isHeaderNavigationEnabled(){return this.deps.navigateHeader()}isFooterNavigationEnabled(){return this.deps.showSummary()&&this.deps.navigateFooter()}isInlineCheckboxClickTarget(e){return e instanceof Element&&e.closest(`input.mg-inline-checkbox`)!=null}toggleInlineCheckboxAtCell(e,t,n){let r=this.deps.columnModel.getColumnById(t);if(!r||!Ta(r)||r.cellEditor!==`checkbox`)return!1;let i=this.deps.rowModel.getRow(n);if(!i||!U(r,i,this.deps.getCellDisableContext()))return!1;let a=this.deps.mountEl.querySelector(`.mg-row[data-row-id="${e}"] .mg-cell[data-col-id="${t}"]`);if(!a)return!1;let o=a.querySelector(`input.${O}`);return!o||o.disabled?!1:(o.checked=!o.checked,o.dispatchEvent(new Event(`change`,{bubbles:!0})),!0)}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()}}},Qy=class{deps;host;drag=null;scrollRaf=null;constructor(e,t){this.deps=e,this.host=t}isActive(){return this.drag!=null}begin(e){this.end(),(e.kind===`index`?this.deps.indexFocusService:this.deps.selectionService)?.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},document.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(),document.addEventListener(`mousemove`,this.handleMove,!0),document.addEventListener(`mouseup`,this.handleUp,!0)}end(){document.removeEventListener(`mousemove`,this.handleMove,!0),document.removeEventListener(`mouseup`,this.handleUp,!0),document.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();Nm(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=jm(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=Am(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),Nm(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);if(this.drag.kind===`index`){if(!this.deps.indexFocusService)return;this.deps.indexFocusService.selectRangeBetween(this.drag.anchorRowIndex,e,t),this.deps.applyIndexFocusVisuals(),this.deps.emitIndexFocusChanged(this.deps.indexFocusService.getFocusedRowIds()),this.host.syncCellRangeFromIndexFocus?.(e);return}this.deps.selectionService&&(this.deps.selectionService.selectRangeBetween(this.drag.anchorRowIndex,e,n,{rowCount:this.deps.rowModel.getRowCount(),getAllRowIdAt:t}),this.deps.applySelectionVisuals(),this.deps.emitSelectionChanged(this.deps.selectionService.getSelectedRowIds()))}};function $y(e,t,n,r){return Am(e,t,n,r)}function eb(e,t,n){return Uy(e,t,n)}function tb(e,t,n){return Nm(e,t,n)}function nb(e,t,n){return Wy(e,t,n)}function rb(e,t,n){return tb(t,n.top,n.bottom)||nb(e,n.left,n.right)}function ib(e){return e.fixed??`center`}function ab(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 ob(e,t,n){let r=n.getBoundingClientRect();return e>=r.left&&e<r.right&&t>=r.top&&t<r.bottom}function sb(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;if(ob(e,t,a))return o;let c=ab(e,i,n,r.clientWidth);if(ib(s)!==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=ao(r.scrollLeft,o,s);if(lb(e-i.left,t,o,c))return null}return o}function cb(e,t){return e.filter(e=>ib(e)===t)}function lb(e,t,n,r){return r+(e-t)>=n}function ub(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=ab(n,a,e,t.clientWidth);if(d===`left`){let e=cb(i,`left`);return e.length===0?null:e[no(e,o)]?.colId??null}if(d===`right`){let e=cb(i,`right`);if(e.length===0)return null;let t=s+l,n=o-s-u;return e[no(e.map(e=>({...e,left:e.left-t})),n)]?.colId??null}let f=cb(i,`center`);if(f.length===0)return null;let p=ao(r,l,u);return lb(o,s,l,p)?null:f[no(f,p+(o-s))]?.colId??null}function db(e,t,n,r,i,a,o){let s=jm(e,n,r,i,a);if(!s)return null;let c=n.getBoundingClientRect(),l=o(),u=sb(r,i,t,n,c)??ub(t,n,r,l);return u?{rowIndex:s.rowIndex,colId:u}:null}var fb=class{deps;host;drag=null;scrollRaf=null;constructor(e,t){this.deps=e,this.host=t}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.isInlineCheckboxClickTarget(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 J(e.colId,i)}begin(e){this.end();let t=e.mode??`replace`,n=this.deps.getCellRangeService(),r=t===`append`&&n?n.getRanges():[],i=Cg(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},document.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(),document.addEventListener(`mousemove`,this.handleMove,!0),document.addEventListener(`mouseup`,this.handleUp,!0)}end(){document.removeEventListener(`mousemove`,this.handleMove,!0),document.removeEventListener(`mouseup`,this.handleUp,!0),document.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();rb(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=db(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||!J(n.colId,i))return;let a=Cg(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=$y(e.pointerY,t.top,t.bottom,this.deps.getRowHeight()),r=eb(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),rb(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=Ms({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=Ms(i,i),o=this.deps.getCellRangeOperationContext();n.addRange(a,o,i)&&(this.deps.applyCellRangeVisuals(),this.deps.emitCellSelectionChanged(`ui`))}},pb=class{deps;drag=null;scrollRaf=null;constructor(e){this.deps=e}isActive(){return this.drag!=null}canStart(){if(this.deps.isCommitting()||!Os(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=Y(i,r.displayedColIds);return a?(this.end(),this.drag={fixedAnchor:{rowIndex:a.top,colId:a.leftColId},sourceRange:a,previewRange:a,pointerX:e,pointerY:t},document.body.classList.add(`mg-fill-handle-dragging`),document.addEventListener(`mousemove`,this.handleMove,!0),document.addEventListener(`mouseup`,this.handleUp,!0),!0):!1}end(){document.removeEventListener(`mousemove`,this.handleMove,!0),document.removeEventListener(`mouseup`,this.handleUp,!0),document.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();rb(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=yg(e.sourceRange,e.previewRange,n.displayedColIds),a=t.fillReverseStrategy===`clear`?bg(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=db(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=Cg(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=dg({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([Ps(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=$y(e.pointerY,t.top,t.bottom,this.deps.getRowHeight()),r=eb(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),rb(e.pointerX,e.pointerY,t)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null}},mb=class{deps;drag=null;scrollRaf=null;constructor(e){this.deps=e}isActive(){return this.drag!=null}canStart(){if(this.deps.isCommitting()||!ks(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=Y(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},document.body.classList.add(`mg-range-handle-dragging`),document.addEventListener(`mousemove`,this.handleMove,!0),document.addEventListener(`mouseup`,this.handleUp,!0),!0}end(){document.removeEventListener(`mousemove`,this.handleMove,!0),document.removeEventListener(`mouseup`,this.handleUp,!0),document.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();rb(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=db(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=Cg(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=$y(e.pointerY,t.top,t.bottom,this.deps.getRowHeight()),r=eb(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),rb(e.pointerX,e.pointerY,t)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null}},hb=class{deps;constructor(e){this.deps=e}isEligibleDataCell(e,t){return J(e,t)}normalizeTarget(e){let t=Cg(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 Cg(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()||ws(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=Rs(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}selectFocusedCellRange(){if(!this.isActive())return!1;let e=this.deps.cellFocusService.getFocusedCell();if(!e||I(e))return!1;let t=this.deps.rowModel.getRow(e.rowIndex);return t?this.setSingleCellRange({rowId:t.id,rowIndex:e.rowIndex,colId:e.colId,rowNode:t}):!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=Ms(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&&!I(r)?t.extendFocusedRange({rowIndex:r.rowIndex,colId:r.colId},i,n):t.setRanges([Ms(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=Ms(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||I(n)||!this.isEligibleDataCell(n.colId,this.deps.rowModel.getRow(n.rowIndex)?.rowKind))return!0;let r=Ce(n,e,this.deps.rowModel.getRowCount(),de(this.deps.columnModel),e=>this.deps.rowModel.getRow(e)?.id,e=>this.deps.columnModel.getColumn(e)?.colId,this.deps.getFocusChromeNavigation());if(!r||I(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=Vs({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 gb(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 _b=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 t=Ig(this.deps.mountEl).querySelector(`.mg-row[data-row-id="${CSS.escape(e.rowId)}"] .mg-cell[data-col-id="${CSS.escape(Ae)}"]`);t&&(e.sourceCell=t,this.markActiveCell(t))}canStart(e,t,n){return n||this.rowResize||!this.deps.indexColumnOptions.showIndexColumn||!this.deps.indexColumnOptions.indexColumn.enableRowResizer||!L(e)?!1:Q(t)?.closest(`.${Wi}`)!=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:gb({rootEl:Ig(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(Gi)}clearActiveCell(){Ig(this.deps.mountEl).querySelectorAll(`.mg-cell[data-row-resize-active]`).forEach(e=>{e instanceof HTMLElement&&(e.removeAttribute(`data-row-resize-active`),e.classList.remove(Gi))})}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)}},vb=[`--mg-color-row-drop-indicator`,`--mg-row-drop-indicator-height`,`--mg-row-drop-indicator-z-index`],yb=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=ea,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($i),this.sourceCellEl=e,e?.classList.toggle($i,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 vb){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}};function bb(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 xb(e,t){let n=new Map;for(let r of t){let t=Sm(e,r);t&&n.set(r,t)}return n}function Sb(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 Cb(e,t,n){if(!t||t.size===0)return!1;for(let r of e)if(!bb(t.get(r),Sm(n,r)))return!0;return!1}function wb(e,t,n,r,i){return r===i?e<0||dh(t,n)===e:!1}function Tb(e){return Sb(e.rowIds,e.startSourceIndices,e.sourceRows)||Cb(e.rowIds,e.startTreePositions,e.sourceRows)?!0:!e.dropAllowed||e.managed?!1:!wb(e.startDisplayIndex,e.dropInsertIndex,e.rowCount,e.nestUnderRowId,e.startNestUnderRowId)}function Eb(e){return e.fromIndex!==e.toIndex||!bb(e.startTreePosition,e.currentTreePosition)}var Db=class{deps;drag=null;scrollRaf=null;dragController=new yb;constructor(e){this.deps=e}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&&Ob(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?.()&&Jm(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:xb(a,r),startNestUnderRowId:null},document.addEventListener(`mousemove`,this.handleMove),document.addEventListener(`mouseup`,this.handleEnd)}end(e){let t=this.drag;t&&(document.removeEventListener(`mousemove`,this.handleMove),document.removeEventListener(`mouseup`,this.handleEnd),this.dragController.cleanup(),this.deps.setRowMoveLiveDragging(!1),document.body.classList.remove(`mg-row-dragging`,na),document.body.style.removeProperty(`cursor`),document.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(ua(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,document.body.classList.add(`mg-row-dragging`),document.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:kb(t.sourceCell,t.rowId,t.rowIds.length),width:e.width,height:e.height,left:e.left,top:e.top,mountEl:Ig(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();Nm(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(ua(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=lh(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:zm({rowModel:this.deps.rowModel,viewportEl:this.deps.viewportEl,clientX:e,clientY:t,getLogicalScrollTop:this.deps.getLogicalScrollTop,altKey:n,movingRowIds:r})}setDropForbidden(e){document.body.classList.toggle(na,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=dh(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:r,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.hasSortModel(),a=dh(t,this.deps.rowModel.getRowCount()),o=this.deps.rowModel.getRowIndexById(e.rowId);if(o>=0&&a===o)return!1;let s=hm({sourceRows:this.deps.rowModel.getSourceRows(),displayRows:this.deps.rowModel.rowsToDisplay,sortModelLength:+!!i,filterModelKeyCount:Object.keys(this.deps.rowModel.getFilterModel()).length}),c=ym(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()?nh(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 Tb({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(){let e=(this.deps.isRowGroupingActive?.()??!1)||(this.deps.isTreeActive?.()??!1);return this.deps.rowDragManaged&&!ca(this.deps.hasSortModel(),this.deps.rowDragManaged,e)}isDeferredManagedCommit(){return this.isManagedRowDragEnabled()&&this.deps.rowDragCommitMode===`deferred`}canLiveReorder(){return this.isManagedRowDragEnabled()&&this.deps.rowDragCommitMode!==`deferred`}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=Am(e.pointerY,t.top,t.bottom,this.deps.getRowHeight());if(n!==0&&(this.deps.scrollByDelta(n),this.renderAtPointer(e.pointerX,e.pointerY,e.altKey)),Nm(e.pointerY,t.top,t.bottom)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null}};function Ob(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 kb(e,t,n){return n>1?`${n} rows`:Ab(e,t)}function Ab(e,t){return e.querySelector(`.mg-cell__text:not([hidden])`)?.textContent?.trim()||e.querySelector(`.mg-cell__renderer:not([hidden])`)?.textContent?.trim()||t}var jb=`mg-cell-comment-context-menu__items`,Mb=`mg-cell-comment-context-menu__item`,Nb=`mg-cell-comment-context-menu__item-label`,Pb=`mg-cell-comment-context-menu__item--committing`,Fb=`mg-cell-comment-context-menu__loading-icon`,Ib={remove:`删除中...`};function Lb(e,t,n){let r=kh(e.mountEl??e.anchorEl??null);if(e.anchorEl){let r=Ah(e.anchorEl),i=xh(e.anchorEl);return jh(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 Rb(e){let t=document.createElement(`div`);t.className=Cl,t.setAttribute(`role`,`menu`);let n=document.createElement(`div`);n.className=jb;let r=[],i=new Map;for(let t of e.items){let e=document.createElement(`button`);e.type=`button`,e.className=Mb,e.dataset.action=t.id,e.disabled=t.disabled===!0,e.setAttribute(`role`,`menuitem`);let a=document.createElement(`span`);a.className=Nb,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=Lb(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(wl,a),n.classList.toggle(Pb,a);for(let e of r)e.disabled=a||e.dataset.disabledInitially===`true`;if(a){h(n),m(n).textContent=Ib[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(`.${Nb}`)}function h(e){if(e.querySelector(`.mg-cell-comment-context-menu__loading-icon`))return;let t=document.createElement(`span`);t.className=Fb,t.setAttribute(`aria-hidden`,`true`),e.prepend(t)}function g(e){e.querySelector(`.${Fb}`)?.remove()}for(let e of r)e.disabled&&(e.dataset.disabledInitially=`true`);return{close:d}}function zb(e,t,n,r){return t?r||!e.canView?null:e.canEdit&&!n?`edit`:`view`:e.canCreate?`create`:null}var Bb=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=zb(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||!Ch(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=Pg(this.deps.rowModel,e.target);if(!n)return;let r=Vb(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=Rb({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(t.cellCommentTrigger!==`hover`)return;if(Q(e.target)?.closest(`.mg-cell-comment-popup`)){this.clearHideTimer();return}let n=Pg(this.deps.rowModel,e.target),r=this.deps.cellCommentService();if(!n||!r?.active){this.leaveIndicatorHover();return}let i=this.resolveCellElement(n.rowId,n.colId);if(!i||!r.hasComment(n.rowId,n.colId)||!Ch(i,e.clientX,e.clientY)){this.leaveIndicatorHover();return}if(!r.resolveInteraction(n.rowId,n.colId).canView){this.leaveIndicatorHover();return}this.clearHideTimer(),(this.hoverCell?.rowId!==n.rowId||this.hoverCell?.colId!==n.colId)&&(this.clearHoverTimers(),this.hoverCell={rowId:n.rowId,colId:n.colId,anchorEl:i}),!(r.getPopup().isOpen||this.showTimer!=null)&&(this.showTimer=setTimeout(()=>{this.openHoverPopup(n.rowId,n.colId,i,r)},t.cellCommentShowDelay))};handleViewportMouseLeave=()=>{this.deps.getOptions().cellCommentTrigger===`hover`&&this.leaveIndicatorHover()};leaveIndicatorHover(){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=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 t=this.deps.cellCommentService();if(!t?.getPopup().isOpen){this.hoverCell=null;return}e.cellCommentTrigger===`hover`&&t.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 Vb(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 Hb=class{deps;suppressColumnClick=!1;suppressColumnHandleClick=!1;suppressHeaderSortClick=!1;focusController;columnResizeSession;columnHeaderDragSession;indexSelectionDragSession;cellRangeDragSession;fillHandleSession;rangeHandleSession;cellRangeInteraction;rowResizeSession;rowDragSession;cellCommentSession;overflowTooltipSession;constructor(e){this.deps=e,this.focusController=new Zy({mountEl:e.mountEl,rowModel:e.rowModel,columnModel:e.columnModel,rowRenderer:e.rowRenderer,eventBus:e.eventBus,cellFocusService:e.cellFocusService,editMode:e.editMode,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??(()=>{})},this),this.columnResizeSession=new Yy({mountEl:e.mountEl,columnModel:e.columnModel,columnHandleMenuController:e.columnHandleMenuController,cellFocusService:e.cellFocusService,setColumnWidths:e.setColumnWidths,resizeHeaderColumn:e.resizeHeaderColumn}),this.columnHeaderDragSession=new Ky({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),this.indexSelectionDragSession=new Qy({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})}},this),this.cellRangeDragSession=new fb({viewportEl:e.viewportEl,rowModel:e.rowModel,columnModel:e.columnModel,getCellRangeService:e.getCellRangeService??(()=>null),getCellSpanService:()=>e.cellSpanService,isCellSelectionEnabled:e.isCellSelectionEnabled??(()=>!1),getCellRangeOperationContext:e.getCellRangeOperationContext??(()=>({displayedColIds:e.columnModel.getDisplayedColumnIds()})),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,isInlineCheckboxClickTarget:e=>this.focusController.isInlineCheckboxClickTarget(e),isPointerOverCellCommentIndicator:e.isPointerOverCellCommentIndicator??(()=>!1)},this),this.fillHandleSession=new pb({viewportEl:e.viewportEl,rowModel:e.rowModel,columnModel:e.columnModel,getCellRangeService:e.getCellRangeService??(()=>null),getCellSpanService:()=>e.cellSpanService,getCellSelectionOptions:e.getCellSelectionOptions??(()=>({enabled:!1,suppressMultiRanges:!0,enableColumnSelection:!1,enableCellCopy:!1,enableCellPaste:!1,handle:null})),getCellRangeOperationContext:e.getCellRangeOperationContext??(()=>({displayedColIds:e.columnModel.getDisplayedColumnIds()})),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 mb({viewportEl:e.viewportEl,rowModel:e.rowModel,columnModel:e.columnModel,getCellRangeService:e.getCellRangeService??(()=>null),getCellSpanService:()=>e.cellSpanService,getCellSelectionOptions:e.getCellSelectionOptions??(()=>({enabled:!1,suppressMultiRanges:!0,enableColumnSelection:!1,enableCellCopy:!1,enableCellPaste:!1,handle:null})),getCellRangeOperationContext:e.getCellRangeOperationContext??(()=>({displayedColIds:e.columnModel.getDisplayedColumnIds()})),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.cellRangeInteraction=new hb({getCellRangeService:e.getCellRangeService??(()=>null),cellFocusService:e.cellFocusService,columnModel:e.columnModel,rowModel:e.rowModel,getCellSpanService:()=>e.cellSpanService,isCellSelectionEnabled:e.isCellSelectionEnabled??(()=>!1),getCellSelectionOptions:e.getCellSelectionOptions,getCellRangeOperationContext:e.getCellRangeOperationContext??(()=>({displayedColIds:e.columnModel.getDisplayedColumnIds()})),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.rowResizeSession=new _b({mountEl:e.mountEl,rowModel:e.rowModel,indexColumnOptions:e.indexColumnOptions,setRowHeights:e.setRowHeights}),this.rowDragSession=new Db({mountEl:e.mountEl,viewportEl:e.viewportEl,rowModel:e.rowModel,rowDragManaged:e.rowDragManaged,rowDragCommitMode:e.rowDragCommitMode,hasSortModel:e.hasSortModel,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 Bb({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}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.deps.mountEl.addEventListener(`mousedown`,this.handleHeaderMouseDown,!0),this.deps.mountEl.addEventListener(`dblclick`,this.handleHeaderDblClick,!0),this.deps.mountEl.addEventListener(`click`,this.handleHeaderClick,!0),this.deps.mountEl.addEventListener(`click`,this.handleFloatingFilterClick,!0),this.deps.mountEl.addEventListener(`mousedown`,this.handleFooterMouseDown,!0),this.deps.viewportEl.addEventListener(`mousedown`,this.handleCellMouseDown,!0),this.deps.viewportEl.addEventListener(`click`,this.handleCellClick),this.deps.viewportEl.addEventListener(`dblclick`,this.handleCellDoubleClick),this.deps.viewportEl.addEventListener(`keydown`,this.handleViewportKeyDown),this.deps.viewportEl.addEventListener(`keyup`,this.handleViewportKeyUp),this.cellCommentSession?.bindListeners(),this.overflowTooltipSession?.bindListeners()}unbindListeners(){this.deps.mountEl.removeEventListener(`mousedown`,this.handleHeaderMouseDown,!0),this.deps.mountEl.removeEventListener(`dblclick`,this.handleHeaderDblClick,!0),this.deps.mountEl.removeEventListener(`click`,this.handleHeaderClick,!0),this.deps.mountEl.removeEventListener(`click`,this.handleFloatingFilterClick,!0),this.deps.mountEl.removeEventListener(`mousedown`,this.handleFooterMouseDown,!0),this.deps.viewportEl.removeEventListener(`mousedown`,this.handleCellMouseDown,!0),this.deps.viewportEl.removeEventListener(`click`,this.handleCellClick),this.deps.viewportEl.removeEventListener(`dblclick`,this.handleCellDoubleClick),this.deps.viewportEl.removeEventListener(`keydown`,this.handleViewportKeyDown),this.deps.viewportEl.removeEventListener(`keyup`,this.handleViewportKeyUp),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()}navigateTabChainEdit(e){this.focusController.navigateTabChainEdit(e,e=>this.focusController.navigateTab(e))}getColIndex(e){return kg(this.deps.columnModel,e)}resolveRootEl(){return Ig(this.deps.mountEl)}setFocusedCell(e){this.focusController.setFocusedCell(e)}setSuppressColumnClick(e){this.suppressColumnClick=e}setSuppressColumnHandleClick(e){this.suppressColumnHandleClick=e}isIndexColumnEntry(e){return L(e)&&this.deps.columnModel.getColumnById(e)!=null}isSelectionColumnEntry(e){return R(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:tt(t)}isGroupColumnEntry(e){let t=this.deps.columnModel.getColumnById(e);return!t||!this.deps.rowGroupingService?.active?!1:jt(t)}isTreeColumnEntry(e){let t=this.deps.columnModel.getColumnById(e);return!t||!this.deps.treeTableService?.active?!1:on(t.colId)}isSelectionHeaderMultiple(){return this.deps.selectionService?.isMultiple()??!1}canToggleHeaderSort(e){return this.columnResizeSession.isActive()||this.deps.columnDragController.shouldSuppressSortClick()||L(e)||R(e)||this.isExpandColumnEntry(e)||this.isGroupColumnEntry(e)||this.isTreeColumnEntry(e)?!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.cellRangeInteraction.syncFromIndexFocus(e)}applyRowSelection(e,t,n,r={}){if(!this.deps.selectionService||!this.isSelectionColumnEntry(n))return;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()}))}applyRowExpansionToggle(e,t,n){if(!this.deps.rowExpansionService?.active||!this.isExpandColumnEntry(n))return;let r=this.deps.rowModel.getRow(t);!r||B(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||!Gt(r))return;let i=r.sourceGroupId??Wt(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||!H(r)||!i)){if(this.deps.requestTreeNodeToggle){this.deps.requestTreeNodeToggle(e,`ui`);return}this.deps.treeTableService.toggleNode(e,`ui`)}}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.deps.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds()}))}handleHeaderMouseDown=e=>{if(e.button!==0)return;let t=Ng(this.deps.columnModel,e.target);if(!t)return;this.clearIndexFocusState();let n=this.isSelectionColumnEntry(t.colId)&&this.deps.selectionService?.isMultiple(),r=Fg(e.target),i=this.deps.columnModel.getColumnById(t.colId);if(this.focusController.isHeaderNavigationEnabled()?(e.preventDefault(),e.stopPropagation(),this.setFocusedCell({rowId:ge,colId:t.colId,rowIndex:-1,colIndex:t.colIndex}),n&&this.toggleSelectAllVisibleRows(),this.deps.viewportEl.focus()):n&&(e.preventDefault(),e.stopPropagation(),this.toggleSelectAllVisibleRows()),this.columnHeaderDragSession.canStart(i,e.target,this.indexSelectionDragSession.isActive()||this.columnResizeSession.isActive()||this.rowResizeSession.isActive())&&r){e.preventDefault(),e.stopPropagation(),this.columnHeaderDragSession.begin({colId:t.colId,sourceCell:r,clientX:e.clientX,clientY:e.clientY});return}if(this.columnResizeSession.canStart(i,e.target,this.indexSelectionDragSession.isActive()||this.columnHeaderDragSession.isActive()||this.rowResizeSession.isActive())&&r){e.preventDefault(),e.stopPropagation(),this.columnResizeSession.begin({colId:t.colId,sourceCell:r,event:e});return}if(!Xy(e.target)&&this.cellRangeInteraction.tryHeaderColumnSelection(t.colId)){e.preventDefault(),e.stopPropagation(),this.suppressHeaderSortClick=!0;let n=this.deps.rowModel.getRow(0);n&&this.setFocusedCell({rowId:n.id,colId:t.colId,rowIndex:0,colIndex:t.colIndex});return}};handleHeaderDblClick=e=>{if(e.button!==0||!Q(e.target)?.closest(`.mg-header-cell__resize-handle`))return;let t=Ng(this.deps.columnModel,e.target);if(!t)return;let n=this.deps.columnModel.getColumnById(t.colId);!n?.resizable||n.suppressAutoSize||(e.preventDefault(),e.stopPropagation(),this.deps.autoSizeColumn(t.colId,`uiColumnResized`))};handleHeaderClick=e=>{if(e.button!==0)return;if(this.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=Ng(this.deps.columnModel,e.target);if(!t)return;let n=jg(e.target);if(n){if(this.suppressColumnHandleClick){this.suppressColumnHandleClick=!1,e.preventDefault(),e.stopPropagation();return}e.preventDefault(),e.stopPropagation(),this.deps.columnHandleMenuController.toggle({colId:t.colId,handleEl:n});return}if(!this.canToggleHeaderSort(t.colId)){this.deps.columnDragController.shouldSuppressSortClick()&&(e.preventDefault(),e.stopPropagation());return}e.preventDefault(),e.stopPropagation(),this.deps.toggleHeaderSort(t.colId)};handleFloatingFilterClick=e=>{let t=Mg(e.target);if(!t)return;let n=t.closest(`.mg-floating-filter-cell[data-col-id]`)?.dataset.colId;n&&(e.preventDefault(),e.stopPropagation(),this.deps.columnHandleMenuController.toggle({colId:n,handleEl:t,mode:`filter-only`}))};handleFooterMouseDown=e=>{if(e.button!==0)return;let t=Ag(this.deps.columnModel,e.target);t&&(this.clearIndexFocusState(),this.focusController.isFooterNavigationEnabled()&&(e.preventDefault(),e.stopPropagation(),this.setFocusedCell({rowId:_e,colId:t.colId,rowIndex:-2,colIndex:t.colIndex}),this.deps.viewportEl.focus()))};handleCellMouseDown=async e=>{if(e.button!==0)return;if(e.target instanceof Element&&e.target.closest(`.mg-range-handle`)){if(e.preventDefault(),e.stopPropagation(),this.deps.isCommitting()&&await this.deps.awaitCommitIdle(),this.deps.isEditing()&&(await this.deps.commitEditing(),this.deps.isEditing()))return;this.rangeHandleSession.begin(e.clientX,e.clientY);return}if(e.target instanceof Element&&e.target.closest(`.mg-fill-handle`)){if(e.preventDefault(),e.stopPropagation(),this.deps.isCommitting()&&await this.deps.awaitCommitIdle(),this.deps.isEditing()&&(await this.deps.commitEditing(),this.deps.isEditing()))return;this.fillHandleSession.begin(e.clientX,e.clientY);return}if(this.fillHandleSession.isActive()||this.rangeHandleSession.isActive()||this.columnHeaderDragSession.isActive()||this.columnResizeSession.isActive()||this.rowResizeSession.isActive()||this.rowDragSession.isActive())return;let t=Pg(this.deps.rowModel,e.target);if(t&&!this.isIndexColumnEntry(t.colId)&&this.clearIndexFocusState(),t&&this.rowResizeSession.canStart(t.colId,e.target,this.indexSelectionDragSession.isActive()||this.rowDragSession.isActive())){let n=Q(e.target)?.closest(`.mg-cell`);if(n){e.preventDefault(),e.stopPropagation(),this.rowResizeSession.begin({rowId:t.rowId,sourceCell:n,event:e});return}}if(t&&this.rowDragSession.canStart(t.colId,e.target,this.indexSelectionDragSession.isActive()||this.columnHeaderDragSession.isActive()||this.columnResizeSession.isActive())){let n=Q(e.target)?.closest(`.mg-cell`);if(n){e.preventDefault(),e.stopPropagation(),this.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.deps.isCommitting()&&!this.deps.isEditing()&&t&&n){e.preventDefault(),this.deps.eventBus.emit(`cellClicked`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:t.rowNode}),this.indexSelectionDragSession.begin({kind:n,anchorRowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,clientY:e.clientY});return}if(t&&this.deps.isCellSelectionEnabled?.()&&!jn(this.deps.editMode)&&!await this.commitEditingForCellRangeInteraction(t,e))return;if(t&&this.cellRangeDragSession.canStart(t,e,`replace`)){e.preventDefault(),this.clearIndexFocusIfNeeded(t.colId),this.deps.eventBus.emit(`cellClicked`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:t.rowNode}),this.cellRangeDragSession.begin({anchorRowId:t.rowId,anchorColId:t.colId,anchorRowIndex:t.rowIndex,clientX:e.clientX,clientY:e.clientY,mode:`replace`});return}if(t&&this.cellRangeDragSession.canStart(t,e,`append`)){e.preventDefault(),this.clearIndexFocusIfNeeded(t.colId),this.deps.eventBus.emit(`cellClicked`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:t.rowNode}),this.cellRangeDragSession.begin({anchorRowId:t.rowId,anchorColId:t.colId,anchorRowIndex:t.rowIndex,clientX:e.clientX,clientY:e.clientY,mode:`append`});return}if(t&&this.cellRangeInteraction.tryHandleModifierMouseDown(t,e)){this.deps.eventBus.emit(`cellClicked`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:t.rowNode}),this.clearIndexFocusIfNeeded(t.colId),this.setFocusedCell({rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,colIndex:this.getColIndex(t.colId)}),this.deps.viewportEl.focus();return}if(this.deps.isCommitting()&&(e.preventDefault(),await this.deps.awaitCommitIdle()),this.deps.isEditing()&&w(e.target))return;let r=Pg(this.deps.rowModel,e.target);if(this.deps.isEditing()&&(r&&this.isSameEditingTarget(r)||(await this.deps.commitEditing(),this.deps.isEditing())))return;if(!r){this.clearIndexFocusState(),this.cellRangeInteraction.tryClearOnBlankViewportClick();return}let{rowId:i,colId:a,rowIndex:o,rowNode:s}=r;(this.isExpandColumnEntry(a)||this.isGroupColumnEntry(a)||this.isTreeColumnEntry(a)||this.isSelectionColumnEntry(a)||e.shiftKey||e.ctrlKey||e.metaKey)&&e.preventDefault(),this.deps.eventBus.emit(`cellClicked`,{rowId:i,colId:a,rowIndex:o,rowNode:s}),this.isIndexColumnEntry(a)?this.applyIndexFocus(i,o,a,{ctrlKey:e.ctrlKey||e.metaKey,shiftKey:e.shiftKey,toggleOnReselect:!0}):(this.clearIndexFocusIfNeeded(a),this.isExpandColumnEntry(a)?this.applyRowExpansionToggle(i,o,a):this.isGroupColumnEntry(a)?this.applyRowGroupingToggle(i,o,a):this.isTreeColumnEntry(a)?this.applyTreeTableToggle(i,o,a):this.isSelectionColumnEntry(a)&&this.applyRowSelection(i,o,a,{ctrlKey:e.ctrlKey||e.metaKey,shiftKey:e.shiftKey,toggleOnReselect:!0})),this.setFocusedCell({rowId:i,colId:a,rowIndex:o,colIndex:this.getColIndex(a)}),this.deps.viewportEl.focus()};handleViewportKeyDown=e=>{if(e.key===`Escape`&&this.deps.isCommitting()){e.preventDefault(),this.deps.cancelCommit();return}if(this.deps.isEditing())return;if(e.key===`F2`&&e.shiftKey){this.cellCommentSession?.handleShiftF2()&&e.preventDefault();return}let t=this.focusController.keyToFocusDirection(e.key);if(t){if(e.preventDefault(),e.altKey&&(t===`left`||t===`right`)&&this.columnResizeSession.tryKeyboardResize(t,e.shiftKey)||e.shiftKey&&(t===`left`||t===`right`)&&this.focusController.tryMoveFocusedHeaderColumn(t))return;let n=this.cellRangeInteraction.onArrowKey(t,e.shiftKey);e.ctrlKey||e.metaKey?this.focusController.navigateFocusToEdge(t):this.focusController.navigateFocus(t),n&&!e.shiftKey&&this.cellRangeInteraction.selectFocusedCellRange();return}if(e.key===`Delete`||e.key===`Backspace`){this.cellRangeInteraction.handleDeleteKey()&&e.preventDefault();return}if((e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&e.key.toLowerCase()===`c`){this.deps.copyCellSelectionToClipboard?.()&&e.preventDefault();return}if((e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&e.key.toLowerCase()===`v`){this.deps.isCellSelectionEnabled?.()&&this.deps.getCellSelectionOptions?.().enableCellPaste&&(e.preventDefault(),this.deps.pasteCellSelectionFromClipboard?.());return}if(e.key===`Enter`){if(e.preventDefault(),this.focusController.toggleHeaderSortFromFocus()||this.focusController.toggleHeaderSelectionFromFocus()||this.focusController.toggleIndexFocusFromFocus()||this.focusController.toggleRowExpandFromFocus()||this.focusController.toggleRowGroupFromFocus()||this.focusController.toggleTreeTableFromFocus()||this.focusController.toggleRowSelectionFromFocus())return;this.cellCommentSession?.closeAll(),this.focusController.startEditingFocusedCell();return}if(e.key===` `||e.code===`Space`){if(e.preventDefault(),this.focusController.toggleHeaderSortFromFocus()||this.focusController.toggleHeaderSelectionFromFocus()||this.focusController.toggleIndexFocusFromFocus()||this.focusController.toggleInlineEditorFromFocus()||this.focusController.toggleRowExpandFromFocus()||this.focusController.toggleRowGroupFromFocus()||this.focusController.toggleTreeTableFromFocus())return;this.focusController.toggleRowSelectionFromFocus();return}e.key===`Tab`&&(e.preventDefault(),this.focusController.navigateTab(e.shiftKey))};handleViewportKeyUp=e=>{this.columnResizeSession.handleKeyUp(e)};handleCellClick=async e=>{if(e.button!==0||(this.deps.isCommitting()&&(e.preventDefault(),await this.deps.awaitCommitIdle()),e.ctrlKey||e.metaKey||e.shiftKey))return;if(this.suppressColumnClick){this.suppressColumnClick=!1;return}let t=Pg(this.deps.rowModel,e.target);if(!t)return;if(this.emitRowPointerEvent(`rowClicked`,t),this.cellRangeInteraction.tryClearOnPlainClick(t),this.deps.isEditing()){if(jn(this.deps.editMode)&&this.deps.getEditingRowId()===t.rowId&&t.colId!==this.deps.getEditingCell()?.colId&&this.deps.focusRowEditingColumn?.(t.colId))return;if(this.isSameEditingTarget(t))return this.cellCommentSession?.handleCellClick(e,t),void 0;if(await this.deps.commitEditing(),this.deps.isEditing())return}if(this.focusController.focusCellTarget(t),this.cellCommentSession?.handleCellClick(e,t))return;if(jn(this.deps.editMode)){let e=this.deps.columnModel.getColumnById(t.colId);if(!e||kn(e,this.deps.editType)!==`singleClick`)return;this.cellCommentSession?.closeAll(),this.deps.tryStartRowEditing(t);return}let n=this.deps.columnModel.getColumnById(t.colId);if(n){if(Ta(n)){n.cellEditor===`checkbox`&&!this.focusController.isInlineCheckboxClickTarget(e.target)&&this.focusController.toggleInlineCheckboxAtCell(t.rowId,t.colId,t.rowIndex);return}kn(n,this.deps.editType)===`singleClick`&&(this.cellCommentSession?.closeAll(),this.deps.tryStartCellEditing(t))}};handleCellDoubleClick=async e=>{if(e.button!==0||(this.deps.isCommitting()&&(e.preventDefault(),await this.deps.awaitCommitIdle()),e.ctrlKey||e.metaKey||e.shiftKey))return;let t=Pg(this.deps.rowModel,e.target);if(!t||(this.emitRowPointerEvent(`rowDoubleClicked`,t),this.deps.isEditing()&&(this.isSameEditingTarget(t)||(await this.deps.commitEditing(),this.deps.isEditing()))))return;this.focusController.focusCellTarget(t);let n=this.deps.columnModel.getColumnById(t.colId);if(jn(this.deps.editMode)){if(!n||kn(n,this.deps.editType)!==`doubleClick`)return;this.cellCommentSession?.closeAll(),this.deps.tryStartRowEditing(t);return}!n||kn(n,this.deps.editType)!==`doubleClick`||Ta(n)||(this.cellCommentSession?.closeAll(),this.deps.tryStartCellEditing(t))};async commitEditingForCellRangeInteraction(e,t){return!this.deps.isEditing()||this.isSameEditingTarget(e)||t.target instanceof Element&&w(t.target)?!0:(this.deps.isCommitting()&&await this.deps.awaitCommitIdle(),await this.deps.commitEditing(),!this.deps.isEditing())}isSameEditingTarget(e){if(!this.deps.isEditing())return!1;if(jn(this.deps.editMode))return this.deps.getEditingRowId()===e.rowId;let t=this.deps.getEditingCell();return t?.rowId===e.rowId&&t?.colId===e.colId}emitRowPointerEvent(e,t){Jt(t.rowNode)&&this.deps.eventBus.emit(e,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:t.rowNode})}resolveColumnDragKind(e,t){if(t.shiftKey||t.ctrlKey||t.metaKey)return null;let n=Q(t.target);return n?.closest(`.mg-cell__row-resize-handle`)||n?.closest(`.mg-cell__row-drag-handle`)?null:this.isIndexColumnEntry(e)&&this.deps.indexFocusService?.isMultiple()?`index`:this.isSelectionColumnEntry(e)&&this.deps.selectionService?.isMultiple()?`selection`:null}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 Ub(e){return Le(e).mode}function Wb(e){return Le(e)}var Gb=`mg-header-cell--filtered`,Kb=`.mg-header-cell__column-handle`;function qb(e,t,n){let r=Ai(t,n);e.classList.toggle(Gb,r);let i=e.querySelector(Kb);i&&(r?i.setAttribute(`aria-pressed`,`true`):i.removeAttribute(`aria-pressed`))}function Jb(e,t){let n=Array.isArray(e)?e:[e];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;n&&qb(e,n,t)}}}function Yb(e){return e??`center`}function Xb(){let e=document.createElement(`div`);return e.className=`mg-header-cell__label`,e}function Zb(e){let t=document.createElement(`span`);return t.className=`mg-header-cell__text`,t.textContent=L(e.colId)?e.label??``:e.label??e.prop??e.colId,t}function Qb(e){return L(e.colId)||R(e.colId)||z(e.colId)?!1:e.sortable||e.movable||e.filterable}function $b(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(wf()),t}function ex(e){if(!Qb(e))return null;let t=document.createElement(`div`);return t.className=`mg-header-cell__chrome`,t.append($b({movable:e.movable,sortable:e.sortable,filterable:e.filterable})),t}function tx(){let e=document.createElement(`div`);return e.className=`mg-header-cell__resize-handle`,e.setAttribute(`role`,`presentation`),e.dataset.resizable=`true`,e}function nx(e,t){t&&e.append(tx())}function rx(){return Ef()}function ix(e){return Tf(e)}function ax(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 ox(e){e.querySelector(`.mg-header-cell__sort`)?.remove()}function sx(e,t,n,r){let i=e.querySelector(`.mg-header-cell__label`);if(!i||!t.sortable)return;let a=i.querySelector(`.mg-header-cell__text`);if(!a)return;let o=Yb(t.headerAlign)===`right`,s=fy(t.colId,n);if(e.classList.remove(`mg-header-cell--sort-hint`),s===`asc`||s===`desc`){ax(i,a,o).replaceChildren(ix(s));return}if(r){ax(i,a,o).replaceChildren(rx()),e.classList.add(`mg-header-cell--sort-hint`);return}ox(i)}function cx(e,t){let n=Yb(t.headerAlign),r=Xb(),i=Zb(t);r.append(i);let a=ex(t);n===`right`&&a?e.append(a,r):a?e.append(r,a):e.append(r)}function lx(e,t,n,r){if(!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`);let t=e.querySelector(`.mg-header-cell__label`);t&&ox(t);return}e.classList.add(`mg-header-cell--sortable`),e.setAttribute(`role`,`columnheader`);let i=fy(t.colId,n);e.setAttribute(`aria-sort`,py(i)),e.classList.remove(`mg-header-cell--sorted-asc`,`mg-header-cell--sorted-desc`,`mg-header-cell--sorted`),i===`asc`?e.classList.add(`mg-header-cell--sorted`,`mg-header-cell--sorted-asc`):i===`desc`&&e.classList.add(`mg-header-cell--sorted`,`mg-header-cell--sorted-desc`),sx(e,t,n,r)}function ux(e,t){let n=Qb(t),r=!L(t.colId)&&!R(t.colId)&&!z(t.colId);e.classList.toggle(`mg-header-cell--has-column-handle`,n),e.classList.toggle(`mg-header-cell--movable`,r&&t.movable),e.classList.toggle(`mg-header-cell--filterable`,r&&t.filterable)}function dx(e,t){e.classList.toggle(`mg-header-cell--resizable`,t.resizable)}function fx(e,t,n,r,i,a,o,s={}){e.replaceChildren();for(let c of t){let t=n.getColumn(c);if(!t)continue;let l=document.createElement(`div`);if(l.className=`mg-header-cell`,l.dataset.colId=t.colId,R(t.colId))if(l.classList.add(`mg-header-cell--selection`),o?.enabled&&o.mode===`multiple`){let e=rf({checked:!1,ariaLabel:o.selectionColumn.selectAllLabel});e.classList.add(nf),l.append(e)}else{let e=document.createElement(`span`);e.className=`mg-header-cell__text`,e.textContent=``,l.append(e)}else if(L(t.colId)){let e=Zb(t);l.append(e),l.classList.add(`mg-header-cell--index`)}else if(z(t.colId)){let e=document.createElement(`span`);e.className=`mg-header-cell__text`,e.textContent=``,l.append(e),l.classList.add(`mg-header-cell--expand`)}else if(V(t.colId)){let e=document.createElement(`span`);e.className=`mg-header-cell__text`,e.textContent=t.label??`分组`,l.append(e),l.classList.add(`mg-header-cell--group`)}else cx(l,t),nx(l,t.resizable);lx(l,t,r,a),ux(l,t),dx(l,t),qb(l,t.colId,s),Eo(l,To(t,n),`mg-header-cell`),ii(l,t.headerAlign,t.headerValign,`mg-header-cell`),t.validationRequired&&l.classList.add(`mg-header-cell--required`),i.hasColErrors(t.colId)&&l.classList.add(`mg-header-cell--invalid`),e.appendChild(l)}}function px(e){let{headerLeftLaneEl:t,headerCenterLaneEl:n,headerRightLaneEl:r,columnModel:i,centerWindow:a,sortModel:o,validationFeedback:s,selectionColumnOptions:c,showUnsortedSortHintOnHover:l=!1,filterModel:u={}}=e,d=Bo(i,a);t.style.width=`${i.getLeftFixedWidth()}px`,n.style.width=`${i.getCenterTotalWidth()}px`,r.style.width=`${i.getRightFixedWidth()}px`,fx(t,d.left,i,o,s,l,c,u),fx(n,d.center,i,o,s,l,c,u),fx(r,d.right,i,o,s,l,c,u)}function mx(e,t,n,r){e.style.width=`${r.getLeftFixedWidth()}px`,t.style.width=`${r.getCenterTotalWidth()}px`,n.style.width=`${r.getRightFixedWidth()}px`}function hx(e,t,n,r){Do(e,r,`mg-header-cell`),Do(t,r,`mg-header-cell`),Do(n,r,`mg-header-cell`)}function gx(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 _x(e,t){return Math.max(0,e.getTotalWidth()-t)}function vx(e,t,n){let r=_x(e,n);return Math.max(0,Math.min(t,r))}function yx(e,t,n,r,i){let a=vx(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=bx(e,t);if(s<0)return a===n?null:a;let c=gx(s,e,a,r);return c!==null&&(a=vx(e,c,r)),a===n?null:a}function bx(e,t){for(let n=0;n<e.getColumnCount();n++)if(e.getColumn(n)?.colId===t)return n;return-1}function xx(e){let t=e.scrollHeight>e.clientHeight+1,n=e.scrollWidth>e.clientWidth+1,r=e.totalHeight<e.clientHeight-.5,i=e.totalWidth<e.clientWidth-.5,a=e.scrollTop+e.clientHeight>=e.scrollHeight-1;return{hasVScrollbar:t,hasHScrollbar:n,innerRightClosesTable:t||i,innerBottomClosesTable:!(!r&&!n&&a)}}function Sx(e){return e.parentElement?.parentElement??null}function Cx(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 wx(e,t,n,r){let i=Math.max(0,e-t);if(r===0||e<=16777216)return{totalHeight:e,viewportHeight:t,rowHeight:n,rowCount:r,compressed:!1,physicalSpacerHeight:e,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 Tx(e,t){return t.compressed?e>=t.physicalMaxScroll?t.logicalMaxScroll:Dx(e*t.rowHeight,0,t.logicalMaxScroll):Dx(e,0,t.logicalMaxScroll)}function Ex(e,t){return t.compressed?e>=t.logicalMaxScroll?t.physicalMaxScroll:Dx(e/t.rowHeight,0,t.physicalMaxScroll):Dx(e,0,t.physicalMaxScroll)}function Dx(e,t,n){return Math.max(t,Math.min(e,n))}var Ox=null;function kx(e=document){if(Ox!==null)return Ox;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&&jx(e)?(Ox=8,Ox):(Ox=n,Ox)}function Ax(){Ox=null}function jx(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 Mx(e){if(!e.hasVScrollbar)return{layout:0,visual:0};let t=e.overlayScrollbars??jx(),n=e.measuredWidth??kx();if(t)return{layout:0,visual:n};let r=e.liveGutterWidth>0?e.liveGutterWidth:n;return{layout:r,visual:r}}function Nx(e,t,n){let r=Math.max(0,t.offsetWidth-t.clientWidth),i=Mx({hasVScrollbar:t.scrollHeight>t.clientHeight+1,liveGutterWidth:r,overlayScrollbars:n});e.rootEl.style.setProperty(`--mg-v-scrollbar-layout`,`${i.layout}px`),e.rootEl.style.setProperty(`--mg-v-scrollbar-visual`,`${i.visual}px`);let a=i.layout>0?0:i.visual;return e.rootEl.style.setProperty(`--mg-v-scrollbar-visual-overlay`,`${a}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),i}var Px=class{deps;lastScrollLeft=0;onAfterRedraw=null;resizeObserver=null;overlayScrollbars=null;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.resizeObserver?.disconnect(),this.resizeObserver=null}getLogicalScrollTop(){return Tx(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()}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=_x(this.deps.columnModel,t),r=Math.max(0,Math.min(this.deps.viewportEl.scrollLeft+e,n));r!==this.deps.viewportEl.scrollLeft&&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=gx(e,this.deps.columnModel,n,t);if(r===null)return;let i=_x(this.deps.columnModel,t),a=Math.max(0,Math.min(r,i));a!==n&&this.scrollTo(this.deps.scrollBridge.getScrollTop(),a)}syncHorizontalLayout(){let e=this.deps.columnModel.getTotalWidth();this.syncHeaderFooterRowWidth(),this.deps.spacerEl.style.minWidth=`${e}px`,this.deps.rowsContainerEl.style.width=`${e}px`,mx(this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl,this.deps.columnModel),this.syncFooterHorizontalLayout(),this.syncFloatingFilterHorizontalLayout(),this.syncScrollbarGutter(),this.syncBorderClosureState(),this.syncIndexColumnFill()}syncColumnCellLayouts(){hx(this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl,this.deps.columnModel),this.deps.footerLeftLaneEl&&this.deps.footerCenterLaneEl&&this.deps.footerRightLaneEl&&es(this.deps.footerLeftLaneEl,this.deps.footerCenterLaneEl,this.deps.footerRightLaneEl,this.deps.columnModel),this.deps.floatingFilterLeftLaneEl&&this.deps.floatingFilterCenterLaneEl&&this.deps.floatingFilterRightLaneEl&&By(this.deps.floatingFilterLeftLaneEl,this.deps.floatingFilterCenterLaneEl,this.deps.floatingFilterRightLaneEl,this.deps.columnModel)}syncBorderClosureState(){let e=Sx(this.deps.rootEl);if(!e)return;let t=this.deps.viewportEl;Cx(e,xx({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()}))}syncViewportHeight(){let e=this.getViewportHeight(),t=this.resolveLogicalScrollTopForSync(),n=this.getScrollRange(e);n.compressed?(this.deps.spacerEl.style.height=``,this.deps.scrollPhantomEl.style.height=`${n.physicalMaxScroll+1}px`,this.syncCompressedLayerHeight(e)):(this.deps.spacerEl.style.height=`${n.physicalSpacerHeight}px`,this.deps.scrollPhantomEl.style.height=`0px`,this.deps.viewportEl.style.removeProperty(`--mg-viewport-px`)),this.syncScrollMode(e);let r=Math.min(t,n.logicalMaxScroll);this.deps.scrollBridge.syncScrollTop(r),this.applyPhysicalScrollFromLogical(r),this.syncHeaderFooterRowWidth(),this.syncScrollbarGutter(),this.syncBorderClosureState(),this.syncIndexColumnFill()}scrollGridIfNeeded(){let e=this.deps.viewportEl.scrollLeft,t=!1;return t=this.deps.scrollBridge.scrollGridIfNeeded(t=>{this.redrawViewport(t,e)})||t,e!==this.lastScrollLeft&&(this.lastScrollLeft=e,t||this.redrawViewport(this.deps.scrollBridge.getScrollTop(),e),t=!0),t}redrawImmediately(){if(this.deps.isDestroyed())return;let e=this.getLogicalScrollTop();this.deps.scrollBridge.syncScrollTop(e),this.lastScrollLeft=this.deps.viewportEl.scrollLeft,this.deps.frameService.flushAllFrames(),this.redrawViewport(e,this.deps.viewportEl.scrollLeft),this.deps.frameService.flushAllFrames(),this.deps.applySelectionVisuals(),this.deps.applyFocusVisuals(),this.syncBorderClosureState()}resetScrollOnSetData(){this.getScrollRange().compressed&&(this.deps.scrollBridge.syncScrollTop(0),this.deps.viewportEl.scrollTop=0,this.deps.viewportEl.scrollLeft=0,this.lastScrollLeft=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();if(this.deps.scrollBridge.notifyScroll(e),this.deps.frameService.setScrollDirection(this.deps.scrollBridge.isScrollGoingDown()),this.deps.headerScrollEl.scrollLeft=this.deps.viewportEl.scrollLeft,this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft(),this.syncBorderClosureState(),this.syncPinnedRows(),this.getScrollRange().compressed){this.deps.scrollBridge.syncScrollTop(e),this.redrawViewport(e,this.deps.viewportEl.scrollLeft),this.deps.frameService.flushAllFrames(),this.deps.onBodyScroll(e,this.deps.viewportEl.scrollLeft),this.deps.onScroll?.();return}this.deps.frameService.schedule(),this.deps.onBodyScroll(e,this.deps.viewportEl.scrollLeft),this.deps.onScroll?.(),this.deps.applyCellRangeScrollVisuals?.()};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,o=vx(this.deps.columnModel,i,a);if(o!==i){this.scrollTo(r,o);return}let s=this.getRenderViewportHeightInternal(),c=this.deps.columnViewport.update(o,a),l=this.deps.columnViewport.getWindow();c&&(this.renderHeader(l),this.deps.refreshFooter?.(),this.deps.refreshFloatingFilter?.(),this.deps.applyFocusVisuals()),this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft(),this.syncPinnedRows(),this.deps.rowRenderer.redraw(r,s,l,c),this.deps.applyCellRangeVisuals?.(),this.syncIndexColumnFill(),this.onAfterRedraw?.()}syncScrollbarGutter(){Nx({rootEl:this.deps.rootEl,headerViewportEl:this.deps.headerViewportEl,footerViewportEl:this.deps.footerViewportEl,floatingFilterViewportEl:this.deps.floatingFilterViewportEl,magicGridEl:Sx(this.deps.rootEl)},this.deps.viewportEl,this.getOverlayScrollbars())}getOverlayScrollbars(){return this.overlayScrollbars===null&&(this.overlayScrollbars=jx()),this.overlayScrollbars}handleViewportResize(){this.deps.isDestroyed()||(Ax(),this.overlayScrollbars=null,this.syncHeaderFooterRowWidth(),this.syncScrollbarGutter(),this.syncBorderClosureState())}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||($o(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||Ly([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||(zy(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){px({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()})}refreshHeader(){this.deps.isDestroyed()||(this.deps.onHeaderRefresh?.(),this.renderHeader(this.deps.columnViewport.getWindow()))}refreshHeaderFilterActiveState(){this.deps.isDestroyed()||Jb([this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl],this.deps.rowModel.getFilterModel())}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`))}syncIndexColumnFill(){let{indexColumnFillHostEl:e,indexColumnFillEl:t}=this.deps;if(!this.deps.showIndexColumn){e.hidden=!0;return}let n=this.deps.columnModel.getColumnById(Ae);if(!n||n.hidden){e.hidden=!0;return}let r=this.deps.rowModel.getRowCount(),i=this.deps.rowModel.getTotalHeight(),a=this.getViewportHeight(),o=this.getLogicalScrollTop(),s=Math.max(0,o+a-i);if(r===0||s<=0){e.hidden=!0;return}let c=this.getScrollRange(a).compressed?i-o:i;e.hidden=!1,t.style.top=`${c}px`,t.style.left=`${n.left}px`,t.style.width=`${n.width}px`,t.style.height=`${s}px`}getScrollRange(e){let t=e??this.getViewportHeight();return wx(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){let t=this.getScrollRange();this.deps.viewportEl.scrollTop=Ex(e,t)}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 Fx(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=>!eu(e.colId)),o=i.filter(e=>eu(e.colId)).sort((e,t)=>e.defOrder-t.defOrder);n.push(...a.map(e=>e.colId),...o.map(e=>e.colId))}return n}function Ix(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function Lx(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 Rx=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=si({...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=li({...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())}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=yx(this.deps.columnModel,e,t,n,r);i!==null&&(t=i)}let i=vx(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`,fi(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}=uo(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`,fi(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.deps.columnViewport.invalidate(),this.deps.viewport.syncHorizontalLayout(),this.deps.viewport.refreshHeader(),this.deps.viewport.redrawImmediately(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns();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?.(),!0}resetColumnOrder(){let e=this.deps.columnModel.getColumns(),t=e.map(e=>e.colId),n=Fx(e);if(Ix(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=Lx(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.deps.columnViewport.invalidate(),this.deps.viewport.syncHorizontalLayout(),this.applyHorizontalScrollAfterColumnLayout(),this.deps.viewport.refreshHeader(),this.deps.viewport.redrawImmediately(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns(),this.deps.eventBus.emit(`columnHiddenChanged`,{colIds:r,hidden:t,source:n}),this.deps.clearCellSelection?.(),!0)}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`,fi(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.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)}},zx=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?Fc({rows:this.deps.rowModel.getSourceRows(),colId:e,filterType:t.filterType,getFilterValue:t=>this.getColumnFilterValue(t,e)}):[]}isColumnFilterActive(e){return Ai(e,this.deps.rowModel.getFilterModel())}isAnyFilterActive(){return ji(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?n.filterValueGetter?n.filterValueGetter(e.data):W(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.rowRenderer.invalidate(),e.redrawImmediately(),e.refreshHeaderFilterActiveState(),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 Bx(e){return e.rowKind==null||e.rowKind===`data`}function Vx(e,t){let n=e[t];if(!n||!H(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;Bx(t)&&i.push(t.id)}return i}function Hx(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&&Bx(n)&&i.push(n.id)}return i}function Ux(e,t){let n=new Set;for(let r=0;r<e.length;r+=1){let i=e[r];if(!H(i)||i.treeLeaf===!0)continue;let a=Hx(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 Wx(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=Vx(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 Gx(e,t){let n=!1;for(let r=e.length-1;r>=0;--r){let i=e[r];if(!H(i)||i.treeLeaf===!0)continue;let a=Hx(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 Kx=class{deps;selectableFn;reserveSelection;constructor(e,t,n){this.deps=e,this.selectableFn=t,this.reserveSelection=n}setSelectable(e){this.selectableFn=jr(e),this.deps.rowRenderer.setIsRowNodeSelectable(e=>this.isRowNodeSelectable(e)),this.applySelectionVisuals()}setReserveSelection(e){this.reserveSelection=e}toggleRowSelection(e,t,n){if(!this.deps.selectionService)return;let r=Zc(e),i=!1,a=this.deps.selectionService.isMultiple(),o=[];for(let e of r){let r=this.deps.rowModel.getRowById(e);if(!r)continue;let s=this.deps.selectionService.isSelected(e),c=n===!0||this.isRowNodeSelectable(r),l=!1;if(t===void 0)if(s){if(!c)continue;this.deps.selectionService.removeRowIds([e])&&(l=!0)}else c&&(a?this.deps.selectionService.addRowId(e,r.rowIndex)&&(l=!0):this.deps.selectionService.replaceWithRowIds([e],r.rowIndex)&&(l=!0));else if(t){if(s||!c)continue;a?this.deps.selectionService.addRowId(e,r.rowIndex)&&(l=!0):this.deps.selectionService.replaceWithRowIds([e],r.rowIndex)&&(l=!0)}else if(s){if(!c)continue;this.deps.selectionService.removeRowIds([e])&&(l=!0)}l&&(i=!0,o.push({rowId:e,rowIndex:r.rowIndex}))}i&&(this.syncTreeSelectionCascade(o),this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds()}))}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)Wx({displayRows:t,rowId:e,selected:n.has(e),groupSelectsChildren:!0,selectedIds:n});Gx(t,n),this.deps.selectionService.replaceWithRowIds([...n],r.length>0?r[r.length-1].rowIndex:-1)}setIndexFocus(e){if(!this.deps.indexFocusService)return;let t=Zc(e).map(e=>{let t=this.deps.rowModel.getRowIndexById(e);return t>=0?{id:e,rowIndex:t}:null}).filter(e=>e!=null),n=!1;t.length===0?(n=this.deps.indexFocusService.getFocusedRowIds().length>0,n&&this.deps.indexFocusService.clear()):n=this.deps.indexFocusService.isMultiple()?this.deps.indexFocusService.replaceWithRowIds(t.map(e=>e.id),t[0].rowIndex):this.deps.indexFocusService.replaceWithRowIds([t[0].id],t[0].rowIndex),n&&(this.applyIndexFocusVisuals({syncToSelectionColumn:!1}),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()}))}isRowNodeSelectable(e){return B(e)||qt(e)?!1:Mr(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?.()?Ux(this.deps.rowModel.rowsToDisplay,e):new Set;this.deps.rowRenderer.refreshSelection(e,t),lf(this.deps.mountEl,{selectionColumnOptions:this.deps.selectionColumnOptions,selectedIds:e,indeterminateIds:t,rowModel:this.deps.rowModel}),this.deps.applyCellRangeVisuals?.()}refreshSelectionAfterDataChange(){this.applySelectionVisuals()}applyIndexFocusVisuals(e={}){if(!this.deps.indexFocusService)return;let t=new Set(this.deps.indexFocusService.getFocusedRowIds());this.deps.rowRenderer.refreshIndexFocus(t),e.syncToSelectionColumn!==!1&&this.maybeSyncIndexFocusToSelection()}onRowsRemoved(e){this.deps.selectionService?.removeRowIds(e)&&(this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds()})),this.deps.indexFocusService?.removeRowIds(e)&&(this.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()}))}finalizePromoteRowId(e,t){this.deps.selectionService?.migrateRowId(e,t)&&(this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds()})),this.deps.indexFocusService?.migrateRowId(e,t)&&(this.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()}))}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}maybeSyncIndexFocusToSelection(){if(!this.deps.indexColumnOptions.indexColumn.syncToSelectionColumn||!this.deps.indexFocusService||!this.deps.selectionService)return;let e=this.deps.indexColumnOptions.indexColumn.focusMode,t=this.deps.selectionColumnOptions.mode;if(!Pr(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()});return}let r=Fr(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()}))}};function qx(e,t){let n={...e.data};return e.isTransient&&(n[t]=null),n}function Jx(e,t){return e.map(e=>qx(e,t))}function Yx(e,t){let n=e.indexMode??`source`,r=gm(e.index,n,t);return{add:e.rows.map((e,t)=>({data:e.data,index:r===void 0?void 0:r+t}))}}function Xx(e,t){let n=new Set(Qc(e.rowIds)??[]);if(e.indexes?.length){let r=e.indexMode??`source`;for(let i of _m(e.indexes,r,t))n.add(i)}return n.size===0?{}:{remove:[...n]}}function Zx(e){return e.remove?.length?e.remove.filter(e=>typeof e==`string`):[]}function Qx(e,t,n){return{rows:e.map(e=>({rowId:e.id,rowIndex:n(e.id),data:qx(e,t),isTransient:e.isTransient??!1}))}}function $x(e,t){return{rows:e.map(e=>({rowId:e.id,data:qx(e,t)}))}}function eS(e,t,n){return{oldRowId:e,newRowId:t.id,data:qx(t,n)}}function tS(e,t){return e.remove?.length?e.remove.map(e=>{if(typeof e==`string`)return e;let n=e[t];if(n==null)throw new $c(`Missing rowKey "${t}" in remove item`);return String(n)}):[]}function nS(e,t,n,r){let i=e[t];return i==null?r?.find(t=>t.data===e&&t.isTransient):n(String(i))}function rS(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={...Dd(e,t)},o=i.data?{...a,...i.data}:a;return i.businessId!==void 0&&(o[t]=i.businessId),Ed(e,t)?{...e,data:o}:o})}}async function iS(e,t){try{return await t()}catch(t){throw t instanceof $c?t:new $c(`${e} persist failed`,t)}}async function aS(e,t){let{handlers:n,rowKey:r,getRowById:i,sourceRows:a,signal:o=new AbortController().signal}=t;if(!n?.add&&!n?.update&&!n?.remove)return e;let s=e;if(n.remove&&e.remove?.length){let t=tS(e,r),a=t.map(e=>{let t=i(e);return{rowId:e,data:t?{...t.data}:{}}});await iS(`remove`,()=>n.remove({rowIds:t,rows:a,signal:o}))}if(n.update&&e.update?.length){let t=e.update.map(e=>{let t=nS(e,r,i,a);if(!t)throw new $c(`Update target row not found for rowKey "${r}"`);return{rowId:t.id,data:e}});await iS(`update`,()=>n.update({rows:t,signal:o}))}if(n.add&&e.add?.length){let t=e.add.map(e=>({data:Dd(e,r)})),i=e.add[0],a=i?Od(i,r):void 0,c=i&&Ed(i,r)?i.indexMode:void 0,l=await iS(`add`,()=>n.add({rows:t,index:a,indexMode:c,signal:o}));s=rS(s,r,l)}return s}var oS=class{deps;pendingTransaction=null;rowMoveService;constructor(e){this.deps=e,this.rowMoveService=new ch({getSourceRows:()=>this.deps.rowModel.getSourceRows(),getDisplayRows:()=>this.deps.rowModel.rowsToDisplay,getSortModelLength:()=>this.deps.rowModel.getSortModel().length,getFilterModelKeyCount:()=>Object.keys(this.deps.rowModel.getFilterModel()).length,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){let t=await aS(e,{rowKey:this.deps.rowKey,handlers:this.deps.asyncRowMutation,getRowById:e=>this.deps.rowModel.getRowById(e),sourceRows:this.deps.rowModel.getSourceRows()}),n=Zx(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)}commitTransaction(e){let t=this.deps.rowModel.applyTransaction(e);return this.deps.viewport.syncViewportHeight(),this.queueTransactionFlush(t),t}async addRows(e){let t=Yx(e,this.createRowIndexContext());return this.applyTransaction(t)}async removeRows(e){let t=Xx(e.rowIds?{...e,rowIds:Qc(e.rowIds)}:e,this.createRowIndexContext());return Zx(t).length===0?{add:[],remove:[],update:[]}:this.applyTransaction(t)}moveRow(e,t=`api`){let n=this.rowMoveService.moveRow(e,t);return n.moved&&this.afterRowOrderChanged(),n}moveRows(e,t=`api`){let n=this.rowMoveService.moveRows(e,t);return n.moved&&this.afterRowOrderChanged(),n}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}:Sm(r,i)??void 0;if(!Eb({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`,q(i,a,e,t,!0,c))}}applyRowDragPlan(e,t=`uiRowDrag`){this.deps.rowModel.setSourceRows([...e.rows]),this.afterRowOrderChanged();for(let n of e.moves)this.deps.eventBus.emit(`rowMoved`,q(n.rowId,n.fromIndex,n.toIndex,t,!0,e.treeDrop))}afterRowOrderChanged(){this.deps.viewport.syncViewportHeight(),this.deps.refreshCellSpans(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),this.deps.rowRenderer.invalidate(),this.deps.viewport.redrawImmediately(),this.deps.selectionOps.refreshSelectionAfterDataChange(),this.deps.refreshFooter()}getData(e){return Jx(e?.sourceOrder===!1?this.deps.rowModel.rowsToDisplay:this.deps.rowModel.getSourceRows(),this.deps.rowModel.getRowKey())}promoteRowId(e){let t=X(e.rowId),{businessId:n}=e;if(this.deps.isEditingTargetRow(t))return{ok:!1,reason:`Row is being edited`};let r=this.deps.rowModel.promoteRowId(t,n);if(!r.ok)return r;this.finalizePromoteRowId(t,r.rowId);let i=this.deps.rowModel.getRowById(r.rowId);return i&&this.deps.eventBus.emit(`rowIdPromoted`,eS(t,i,this.deps.rowModel.getRowKey())),{ok:!0,rowId:xr(r.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 hm({sourceRows:this.deps.rowModel.getSourceRows(),displayRows:this.deps.rowModel.rowsToDisplay,sortModelLength:this.deps.rowModel.getSortModel().length,filterModelKeyCount:Object.keys(this.deps.rowModel.getFilterModel()).length})}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){this.deps.rowRenderer.migrateRowId(e,t),this.deps.validationFeedback.migrateRowId(e,t,this.deps.mountEl);let n=this.deps.cellFocusService.getFocusedCell();n?.rowId===e&&(this.deps.cellFocusService.setFocusedCell({...n,rowId:t}),this.deps.applyFocusVisuals()),this.deps.selectionOps.finalizePromoteRowId(e,t);let r=this.deps.rowModel.getSortModel().length>0||this.deps.filterOps.isAnyFilterActive();if(this.deps.refreshCellSpans(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),r){this.deps.rowRenderer.invalidate(),this.deps.viewport.redrawImmediately();return}this.deps.rowRenderer.refreshRows({rowIds:[t],force:!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){this.emitRowMutationEvents(e);let t=e.add.length>0||e.remove.length>0||this.deps.rowModel.getSortModel().length>0||this.deps.filterOps.isAnyFilterActive();this.deps.refreshCellSpans(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),t||e.update.length>0&&this.deps.isCellSpanActive()?(this.deps.rowRenderer.invalidate(),this.deps.viewport.redrawImmediately()):e.update.length>0&&(this.deps.rowRenderer.refreshRows({rowIds:e.update.map(e=>e.id)}),this.deps.frameService.flushAllFrames()),e.add.length>0&&this.scrollAddedRowsIntoView(e.add),this.deps.selectionOps.refreshSelectionAfterDataChange(),this.deps.refreshFooter(),this.deps.refreshOverlay?.()}scrollAddedRowsIntoView(e){let t=e[0];if(!t)return;let n=this.deps.rowModel.getRowIndexById(t.id);n<0||this.deps.ensureIndexVisible(n,`middle`)}emitRowMutationEvents(e){let t=this.deps.rowModel.getRowKey();e.add.length>0&&this.deps.eventBus.emit(`rowsAdded`,Qx(e.add,t,e=>this.deps.rowModel.getSourceRowIndexById(e))),e.remove.length>0&&this.deps.eventBus.emit(`rowsRemoved`,$x(e.remove,t))}},sS=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=Lu({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 cS(e){return e?.rowIds?{...e,rowIds:Qc(e.rowIds)}:e}function lS(e){return{...e,rowIds:Qc(e.rowIds)}}function uS(e){return{...e,cells:e.cells.map(e=>({...e,rowId:X(e.rowId)}))}}function dS(e){return e?.rowIds?{...e,rowIds:Qc(e.rowIds)}:e}function fS(e){return{...e,rowIds:Qc(e.rowIds)}}function pS(e){return{...e,cells:e.cells.map(e=>({...e,rowId:X(e.rowId)}))}}function mS(e){return e>=1e6?2e3:e>=1e5?500:e>=1e4?200:e>=1e3?100:50}function hS(e){return{maxDomRows:80,maxSetDataMs:mS(e)}}function gS(e,t){let n=hS(t),r=e.activeDomRowCount<=n.maxDomRows,i=e.lastSetDataMs<=n.maxSetDataMs;return{domRowsPass:r,setDataPass:i,allPass:r&&i}}var _S=class{mountEl;rowModel;rowRenderer;frameService;scrollBridge;columnViewport;rootEl;rowsLayerEl;columnModel;valueCache=new Gp;changeDetection=new g;eventBus=new Dr;rowKey;businessRowIdCtx;selectionService;indexFocusService;editorHost;editingService;rowEditingService;cellFocusService=new Se;api;viewport;headerSortService;columnDragController=new K_;columnHandleMenuController;interaction;cellEditing;inlineCellEditorService;validationFeedback=new dr;invalidEditValueMode;rowValidator;asyncRowMutation;cellRenderersByColId;cellEditorsByColId;onUnmountRenderer;onUnmountEditor;summaryOptions;chromeNavigationOptions;indexColumnOptions;selectionColumnOptions;filterGridOptions;showUnsortedSortHintOnHover;columnSortOptions;resolvedSummaryRowHeight;footerRenderer=null;floatingFilterController=null;lastSetDataMs=0;columnResizeService;columnAutosizeService;columnFlexService;columnLayout;rowHeightService;rowAutoHeightService;rowDragOptions;onRowDragCommit;rowDragCommitService;cellSpanOptions;cellSpanService;rowExpansionOptions;rowExpansionService;rowGroupingOptions;rowGroupingService;treeTableOptions;treeTableService;treeLazyLoadService=null;rowSelectionOptions;userColumns;detailRowAutoHeightService;cellCommentOptions;cellCommentService;overflowTooltipOptions;tooltipService;overflowTooltipSession;emptyStateGridOptions;emptyStateOptionsRaw={};overlayService;overlayRenderer;cellSelectionGridOptions;cellSelectionOptions;cellRangeVisualGridOptions;cellRangeVisualOptions;cellClipboardGridOptions;cellRangeService;cellRangeVisualController=null;cellRangeFillWriteService=null;cellRangeDeleteWriteService=null;cellClipboardService=null;cellDisableContext=Sn();cellStyleContext=Un();rowHeightGridOptions;filterOps;selectionOps;rowMutation;gridFooter;resizeObserver=null;centerViewportWidth=0;autoSizeCellContentsPending=!1;destroyed=!1;suppressRowLayoutViewportSync=!1;constructor(e,t){this.mountEl=e,this.cellRenderersByColId=t.cellRenderers?.byColId??{},this.cellEditorsByColId=t.cellEditors?.byColId??{},this.onUnmountRenderer=t.onUnmountRenderer,this.onUnmountEditor=t.onUnmountEditor,this.summaryOptions=pn(t),this.chromeNavigationOptions=Kp(t),this.indexColumnOptions=Fe(t),this.selectionColumnOptions=We(t),this.rowDragOptions=aa(t),this.onRowDragCommit=t.onRowDragCommit,this.cellSpanOptions=Ni(t),this.rowExpansionOptions=et(t);let n=mm({tree:t.tree,rowGrouping:t.rowGrouping});this.treeTableOptions=an(t),n.mode===`tree`&&dn(!0,this.treeTableOptions.getDataPath),this.rowGroupingOptions=St({...t,rowGrouping:n.mode===`group`&&t.rowGrouping}),this.rowSelectionOptions=Wb(t.rowSelection),this.userColumns=[...t.columns],this.userColumns,ln(this.userColumns);let r=si(t),i=li(t),a=s_(t);this.filterGridOptions=ba(t);let o=ga(t);this.columnSortOptions=o,this.showUnsortedSortHintOnHover=o.showUnsortedSortHintOnHover,this.columnModel=new Wa(xo(this.userColumns,this.indexColumnOptions,this.selectionColumnOptions,{rowExpansion:this.rowExpansionOptions,rowGrouping:n.mode===`group`?this.rowGroupingOptions:void 0,treeTable:n.mode===`tree`?this.treeTableOptions:void 0}),this.cellRenderersByColId,this.cellEditorsByColId,ni(t),r,i,o,this.filterGridOptions),this.columnViewport=new So(this.columnModel);let s=t.rowHeight??p;this.resolvedSummaryRowHeight=mn(this.summaryOptions.summaryRowHeight,s);let c=t.stripe??!1,{editMode:l,editType:u}=An(t);this.cellDisableContext=Sn({isRowDisabled:t.isRowDisabled}),this.cellStyleContext=Un({rowStyle:t.rowStyle}),this.invalidEditValueMode=t.invalidEditValueMode??`block`,this.rowValidator=t.rowValidator,this.asyncRowMutation=t.asyncRowMutation,this.editorHost=new le({onUnmountEditor:t.onUnmountEditor,byName:t.cellEditors?.byName}),this.editingService=new ue(this.editorHost),this.rowEditingService=new ke(this.editorHost),this.selectionService=Ub(t.rowSelection)===!1||!this.selectionColumnOptions.enabled?null:new kr(Ub(t.rowSelection)),this.indexFocusService=this.indexColumnOptions.showIndexColumn?new Nr(this.indexColumnOptions.indexColumn.focusMode):null,this.frameService=new h,this.scrollBridge=new Wp;let d=(e,t)=>{let n=this.columnModel.getColumnById(t);return n?W(e,n):e.data[t]};this.rowModel=new Md({rowKey:t.rowKey,rowHeight:s,getCellValue:d,getColumnComparator:e=>this.columnModel.getColumnById(e)?.comparator,filterColumnContext:Ys(e=>this.columnModel.getColumnById(e),d),quickFilterText:t.quickFilterText,getQuickFilterColIds:()=>this.columnModel.getColumns().filter(e=>e.filterable).map(e=>e.colId)}),this.rowKey=t.rowKey,this.businessRowIdCtx={rowKey:t.rowKey,getRowById:e=>this.rowModel.resolveRowById(e)},this.eventBus.setProjector(Or(this.businessRowIdCtx)),this.cellSpanService=new Zo({getEnableCellSpan:()=>this.cellSpanOptions.enableCellSpan,getColumnModel:()=>this.columnModel,getDisplayRows:()=>this.rowModel.rowsToDisplay,getRowById:e=>{let t=this.rowModel.getRowIndexById(e);return t>=0?this.rowModel.getRow(t):void 0},getRowByIndex:e=>this.rowModel.getRow(e),getRowCount:()=>this.rowModel.getRowCount()}),this.rowExpansionService=new tm({getOptions:()=>this.rowExpansionOptions,getBaseDisplayRows:()=>this.rowModel.getBaseDisplayRows(),onExpansionChanged:e=>{this.eventBus.emit(e.expanded?`rowExpanded`:`rowCollapsed`,e),this.syncRowExpansionDisplay()},onDetailDataChanged:e=>{this.refreshDetailRowContent([e])}}),this.rowModel.setRowExpansionService(this.rowExpansionService),this.rowGroupingService=new nm({getOptions:()=>this.rowGroupingOptions,getRowGroupColumnsFromDefs:()=>Pt(this.userColumns),getGroupedTreeRoots:()=>this.rowModel.getGroupedTreeRoots(),onGroupOpened:e=>{this.eventBus.emit(`rowGroupOpened`,e),this.syncRowGroupingDisplay()},onGroupChanged:e=>{this.eventBus.emit(`rowGroupChanged`,e)},onGroupingStateChanged:()=>{this.syncRowGroupingDisplay()}}),this.rowModel.setRowGroupingDeps({active:()=>this.rowGroupingService.active,getRowGroupColumns:()=>this.rowGroupingService.getRowGroupColumns(),getGroupKeyCreator:()=>this.rowGroupingOptions.groupKeyCreator,getGroupComparator:()=>this.rowGroupingOptions.groupComparator,getColumns:()=>this.columnModel.getColumns(),getColumnField:e=>this.columnModel.getColumnById(e)?.prop??e,getMapStageOptions:()=>this.rowGroupingService.getMapStageOptions(),pruneExpanded:e=>this.rowGroupingService.pruneExpanded(e),applyDefaultExpanded:e=>this.rowGroupingService.applyDefaultExpanded(e),clearExpanded:()=>this.rowGroupingService.clearExpanded()}),this.treeTableService=new cm({getOptions:()=>this.treeTableOptions,getGroupDefaultExpanded:()=>this.rowGroupingOptions.groupDefaultExpanded,getTreeTreeRoots:()=>this.rowModel.getTreeTreeRoots(),getLazyLoadHost:()=>this.treeLazyLoadService,onNodeOpened:e=>{this.eventBus.emit(`treeNodeOpened`,e),this.syncTreeTableDisplay()},onTreeStateChanged:()=>{this.syncTreeTableDisplay()}}),this.rowModel.setTreeTableDeps({active:()=>this.treeTableService.active,getDataPath:()=>this.treeTableOptions.getDataPath,getMapStageOptions:()=>this.treeTableService.getMapStageOptions(),prepareTreeTree:e=>this.treeTableService.prepareTreeTree(e),applyDefaultExpanded:e=>this.treeTableService.applyDefaultExpandedToTree(e),clearExpanded:()=>this.treeTableService.clearExpanded()}),this.headerSortService=new my({getSortModel:()=>this.rowModel.getSortModel(),setSortModel:e=>this.setSortModel(e),getColumnById:e=>this.columnModel.getColumnById(e)}),this.columnHandleMenuController=new uy({mountEl:this.mountEl,columnModel:this.columnModel,getSortModel:()=>this.rowModel.getSortModel(),setSortModel:e=>this.setSortModel(e),getFilterModel:()=>this.getFilterModel(),setFilterModel:e=>this.setFilterModel(e),setColumnFixed:(e,t,n)=>this.setColumnFixed(e,t,n),setColumnsHidden:(e,t,n)=>this.columnLayout.setColumnsHidden(e,t,n),getColumnDistinctFilterValues:e=>this.getColumnDistinctFilterValues(e),filterSetValueMode:this.filterGridOptions.filterSetValueMode,filterSetDateLayoutMode:this.filterGridOptions.filterSetDateLayoutMode});let f=ha(t);f.length>0&&this.rowModel.setSortModel(f);let g=vy(e,{showSummary:this.summaryOptions.showSummary,floatingFilter:t.floatingFilter??!1});if(this.rootEl=g.rootEl,this.rowsLayerEl=g.rowsLayerEl,g.footerViewportEl&&g.footerRowEl&&g.footerLeftLaneEl&&g.footerCenterLaneEl&&g.footerRightLaneEl&&(this.footerRenderer=new Qo({footerLeftLaneEl:g.footerLeftLaneEl,footerCenterLaneEl:g.footerCenterLaneEl,footerRightLaneEl:g.footerRightLaneEl,footerRowEl:g.footerRowEl,frameService:this.frameService,onUnmountRenderer:this.onUnmountRenderer,enableCellSpan:this.cellSpanOptions.enableCellSpan})),g.floatingFilterRowEl&&g.floatingFilterLeftLaneEl&&g.floatingFilterCenterLaneEl&&g.floatingFilterRightLaneEl){let e=new Ry({floatingLeftLaneEl:g.floatingFilterLeftLaneEl,floatingCenterLaneEl:g.floatingFilterCenterLaneEl,floatingRightLaneEl:g.floatingFilterRightLaneEl,floatingRowEl:g.floatingFilterRowEl});this.floatingFilterController=new Hy({columnModel:this.columnModel,getFilterModel:()=>this.getFilterModel(),setFilterModel:e=>this.setFilterModel(e),renderer:e})}this.rowRenderer=new wp(g.rowsContainerEl,{rowModel:this.rowModel,columnModel:this.columnModel,rowHeight:s,rowBuffer:t.rowBuffer??10,stripe:c,frameService:this.frameService,onUnmountRenderer:this.onUnmountRenderer,onUnmountEditor:this.onUnmountEditor,indexColumnOptions:this.indexColumnOptions.showIndexColumn?this.indexColumnOptions.indexColumn:void 0,selectionColumnOptions:this.selectionColumnOptions.enabled?this.selectionColumnOptions:void 0,isRowDragHandleEnabled:e=>this.isRowDragHandleEnabled(e),enableCellSpan:this.cellSpanOptions.enableCellSpan,cellSpanService:this.cellSpanService,spannedRowsContainerEl:g.spannedRowsContainerEl,fullWidthRowsContainerEl:g.fullWidthRowsContainerEl,masterDetail:this.rowExpansionOptions.masterDetail,embedFullWidthRows:this.rowExpansionOptions.embedFullWidthRows,getDetailCellRenderer:()=>this.rowExpansionOptions.detailCellRenderer,getMasterRowById:e=>this.rowModel.getRowById(e),rowExpansionHost:{active:()=>this.rowExpansionOptions.masterDetail,isRowMaster:e=>this.rowExpansionService.isRowMaster(e),isExpanded:e=>this.rowExpansionService.isExpanded(e)},rowGroupingHost:{active:()=>this.rowGroupingService.active,isExpanded:e=>this.rowGroupingService.isExpanded(e),getGroupFooterLabel:()=>this.rowGroupingOptions.groupFooterLabel},treeTableHost:{active:()=>this.treeTableService.active,isExpanded:e=>this.treeTableService.isExpanded(e),getTreeValue:e=>this.treeTableService.getTreeDisplayValue(e),isTreeNodeExpandable:e=>this.treeTableService.isNodeExpandable(e),isTreeNodeLoading:e=>this.treeTableService.isNodeLoading(e)},resolveBusinessRowId:e=>yr(e,t.rowKey),getCellDisableContext:()=>this.getCellDisableContext(),getCellStyleContext:()=>this.getCellStyleContext()}),this.selectionOps=new Kx({mountEl:this.mountEl,rowModel:this.rowModel,rowRenderer:this.rowRenderer,eventBus:this.eventBus,selectionService:this.selectionService,indexFocusService:this.indexFocusService,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,rowKey:t.rowKey,isTreeActive:()=>this.treeTableService.active,groupSelectsChildren:()=>this.rowSelectionOptions.groupSelectsChildren,applyCellRangeVisuals:()=>this.applyCellRangeVisuals()},jr(t.selectable),t.reserveSelection??!1),this.rowRenderer.setIsRowNodeSelectable(e=>this.selectionOps.isRowNodeSelectable(e)),this.rowHeightGridOptions={getRowHeight:t.getRowHeight,rowHeightMin:t.rowHeightMin,rowHeightMax:t.rowHeightMax},this.rowHeightService=new zd({getDisplayRows:()=>this.rowModel.rowsToDisplay,getRowById:e=>this.rowModel.resolveRowById(e),getAutoHeightColumnIds:()=>this.columnModel.getAutoHeightColumnIds(),repositionDisplayRows:()=>{this.rowModel.repositionDisplayRows({getRowHeight:this.rowHeightService.getPositionRowHeightFn()})},emitRowHeightChanged:e=>{this.eventBus.emit(`rowHeightChanged`,e),this.syncRowLayoutAfterRowHeightChange(e.rows.map(e=>e.rowId))}},s,this.rowHeightGridOptions),this.rowModel.setPositionGetRowHeight(this.rowHeightService.getPositionRowHeightFn()),this.rowAutoHeightService=new Gd({rowHeightService:this.rowHeightService,getRowById:e=>this.rowModel.getRowById(e),isColumnAutoHeight:e=>this.columnModel.isColumnAutoHeight(e),getAutoHeightColumnIds:()=>this.columnModel.getAutoHeightColumnIds()}),this.rowRenderer.setRowAutoHeightService(this.rowAutoHeightService),this.detailRowAutoHeightService=this.rowExpansionOptions.detailRowAutoHeight?new $p({rowHeightService:this.rowHeightService,getRowById:e=>this.rowModel.resolveRowById(e),isEnabled:()=>this.rowExpansionOptions.detailRowAutoHeight,getMinDetailRowHeight:e=>ct(this.rowExpansionOptions.detailRowHeight,{rowId:e.id,data:e.data,masterRowId:e.masterRowId??e.id})}):null,this.rowRenderer.setDetailRowAutoHeightService(this.detailRowAutoHeightService),this.gridFooter=new sS({columnModel:this.columnModel,columnViewport:this.columnViewport,rowModel:this.rowModel,frameService:this.frameService,valueCache:this.valueCache,summaryOptions:this.summaryOptions,getFooterRenderer:()=>this.footerRenderer}),this.filterOps=new zx({rowModel:this.rowModel,columnModel:this.columnModel,columnViewport:this.columnViewport,getViewport:()=>this.viewport,rowRenderer:this.rowRenderer,valueCache:this.valueCache,eventBus:this.eventBus,getFloatingFilterController:()=>this.floatingFilterController,applySelectionVisuals:()=>this.selectionOps.applySelectionVisuals(),refreshFooter:()=>this.gridFooter.refresh(),refreshCellSpans:()=>this.refreshCellSpanCache(),clearCellSelection:()=>this.clearCellSelectionOnStructuralChange(),refreshOverlay:()=>this.syncEmptyStateOverlay()}),this.viewport=new Px({rootEl:g.rootEl,headerViewportEl:g.headerViewportEl,headerScrollEl:g.headerScrollEl,headerRowEl:g.headerRowEl,headerLeftLaneEl:g.headerLeftLaneEl,headerCenterLaneEl:g.headerCenterLaneEl,headerRightLaneEl:g.headerRightLaneEl,viewportEl:g.viewportEl,spacerEl:g.spacerEl,scrollPhantomEl:g.scrollPhantomEl,rowsLayerEl:g.rowsLayerEl,indexColumnFillHostEl:g.indexColumnFillHostEl,indexColumnFillEl:g.indexColumnFillEl,rowsContainerEl:g.rowsContainerEl,footerViewportEl:g.footerViewportEl,footerScrollEl:g.footerScrollEl,footerRowEl:g.footerRowEl,footerLeftLaneEl:g.footerLeftLaneEl,footerCenterLaneEl:g.footerCenterLaneEl,footerRightLaneEl:g.footerRightLaneEl,floatingFilterViewportEl:g.floatingFilterViewportEl,floatingFilterScrollEl:g.floatingFilterScrollEl,floatingFilterRowEl:g.floatingFilterRowEl,floatingFilterLeftLaneEl:g.floatingFilterLeftLaneEl,floatingFilterCenterLaneEl:g.floatingFilterCenterLaneEl,floatingFilterRightLaneEl:g.floatingFilterRightLaneEl,refreshFooter:()=>this.gridFooter.refresh(),refreshFloatingFilter:()=>this.filterOps.refreshFloatingFilter(),rowModel:this.rowModel,columnModel:this.columnModel,columnViewport:this.columnViewport,validationFeedback:this.validationFeedback,rowRenderer:this.rowRenderer,scrollBridge:this.scrollBridge,frameService:this.frameService,getPinnedRowIds:()=>this.getPinnedRowIds(),selectionColumnOptions:this.selectionColumnOptions,showIndexColumn:this.indexColumnOptions.showIndexColumn,showUnsortedSortHintOnHover:()=>this.showUnsortedSortHintOnHover,getDefaultRowHeight:()=>this.rowHeightService.getDefaultRowHeight(),headerHeight:t.headerHeight??m,isDestroyed:()=>this.destroyed,onBodyScroll:(e,t)=>{this.eventBus.emit(`bodyScroll`,{scrollTop:e,scrollLeft:t})},onScroll:t.onScroll,applySelectionVisuals:()=>this.selectionOps.applySelectionVisuals(),applyFocusVisuals:()=>this.applyFocusVisuals(),applyCellRangeVisuals:()=>this.applyCellRangeVisuals(),applyCellRangeScrollVisuals:()=>this.applyCellRangeScrollVisuals(),onHeaderRefresh:()=>this.columnHandleMenuController.onHeaderRefresh()}),this.cellEditing=new V_({mountEl:this.mountEl,viewportEl:g.viewportEl,rowModel:this.rowModel,columnModel:this.columnModel,editingService:this.editingService,rowEditingService:this.rowEditingService,editMode:l,editType:u,invalidEditValueMode:this.invalidEditValueMode,rowValidator:this.rowValidator,validationFeedback:this.validationFeedback,editorHost:this.editorHost,eventBus:this.eventBus,cellFocusService:this.cellFocusService,isDestroyed:()=>this.destroyed,getColIndex:e=>this.getColIndex(e),ensureIndexVisible:(e,t)=>this.ensureIndexVisible(e,t),ensureColumnVisible:e=>this.ensureColumnVisible(e),redrawImmediately:()=>this.viewport.redrawImmediately(),applyFocusVisuals:()=>this.applyFocusVisuals(),syncPinnedRows:()=>this.viewport.syncPinnedRows(),refreshCells:e=>this.refreshCells(e),applyTransaction:e=>this.commitTransaction(e),onTabChainEdit:e=>this.interaction.navigateTabChainEdit(e),getCellDisableContext:()=>this.getCellDisableContext()});let v=new lr({eventBus:this.eventBus,applyTransaction:e=>this.commitTransaction(e),syncPinnedRows:()=>this.viewport.syncPinnedRows(),invalidEditValueMode:this.invalidEditValueMode,onUnmountEditor:this.onUnmountEditor,byName:t.cellEditors?.byName});this.inlineCellEditorService=v,this.rowRenderer.setInlineCellEditorContext(v.getRefreshContext()),this.columnFlexService=new lo(this.columnModel),this.columnResizeService=new fo(this.columnModel,()=>{this.columnLayout.syncColumnLayoutAfterResize()},this.columnFlexService,()=>this.getCenterViewportWidth()),this.columnAutosizeService=new eo(this.mountEl,this.columnModel,a),this.columnLayout=new Rx({mountEl:this.mountEl,rootEl:this.rootEl,columnModel:this.columnModel,columnViewport:this.columnViewport,columnResizeService:this.columnResizeService,columnAutosizeService:this.columnAutosizeService,columnFlexService:this.columnFlexService,viewport:this.viewport,rowRenderer:this.rowRenderer,footerRenderer:this.footerRenderer,eventBus:this.eventBus,isDestroyed:()=>this.destroyed,refreshColumnResizeVisualState:()=>this.interaction.refreshColumnResizeVisualState(),refreshFooter:()=>this.gridFooter.refresh(),refreshFloatingFilter:()=>this.filterOps.refreshFloatingFilter(),clearCellSelection:()=>this.clearCellSelectionOnStructuralChange()},r,i),this.columnLayout.syncColumnMovePresentationClasses(),this.viewport.setOnAfterRedraw(()=>{!this.destroyed&&!this.cellEditing.isEditing()&&this.cellEditing.syncValidationDom()}),this.cellCommentOptions=Tl(t),this.cellCommentService=new Ph({getOptions:()=>this.cellCommentOptions,getRowKey:()=>t.rowKey,getRowNode:e=>this.rowModel.getRowById(e),getColumn:e=>this.columnModel.getColumnById(e)??void 0,getMountEl:()=>this.mountEl,onCommentChanged:e=>this.eventBus.emit(`cellCommentChanged`,e),onCommentsRefresh:e=>this.rowRenderer.syncVisibleCellCommentIndicators({rowIds:e?.rowIds?.map(e=>String(e)),colIds:e?.colIds})}),this.rowRenderer.setCellCommentHost(this.cellCommentService.createHost()),this.overflowTooltipOptions=Ba(t),this.cellSelectionGridOptions={cellSelection:t.cellSelection,enableCellClipboard:t.enableCellClipboard,enableCellCopy:t.enableCellCopy,enableCellPaste:t.enableCellPaste},this.cellSelectionOptions=js(this.cellSelectionGridOptions),this.cellRangeVisualGridOptions={enableHeaderHighlight:t.enableHeaderHighlight,enableIndexColumnHighlight:t.enableIndexColumnHighlight},this.cellRangeVisualOptions=As(this.cellRangeVisualGridOptions),this.cellClipboardGridOptions={processCellForClipboard:t.processCellForClipboard,processCellFromClipboard:t.processCellFromClipboard,processDataFromClipboard:t.processDataFromClipboard},this.cellRangeService=new Uh(this.cellSelectionOptions.suppressMultiRanges),this.cellRangeVisualController=this.createCellRangeVisualController(),this.tooltipService=new Kg,this.overflowTooltipSession=new Vg({mountEl:this.mountEl,viewportEl:g.viewportEl,headerViewportEl:g.headerViewportEl,footerViewportEl:g.footerViewportEl??null,columnModel:this.columnModel,rowModel:this.rowModel,tooltipService:this.tooltipService,validationFeedback:this.validationFeedback,cellCommentService:()=>this.cellCommentService,getOptions:()=>this.overflowTooltipOptions,getIndexColumnOptions:()=>this.indexColumnOptions,getApi:()=>this.getApi(),isEditing:()=>this.cellEditing.isEditing(),getEditingCell:()=>this.cellEditing.getEditingCell()}),this.emptyStateOptionsRaw={loading:t.loading,suppressOverlays:t.suppressOverlays,suppressLoadingOverlay:t.suppressLoadingOverlay,suppressNoRowsOverlay:t.suppressNoRowsOverlay,suppressNoMatchingRowsOverlay:t.suppressNoMatchingRowsOverlay,overlayLoadingTemplate:t.overlayLoadingTemplate,overlayNoRowsTemplate:t.overlayNoRowsTemplate,overlayNoMatchingRowsTemplate:t.overlayNoMatchingRowsTemplate,loadingOverlayComponent:t.loadingOverlayComponent,loadingOverlayComponentParams:t.loadingOverlayComponentParams,noRowsOverlayComponent:t.noRowsOverlayComponent,noRowsOverlayComponentParams:t.noRowsOverlayComponentParams,noMatchingRowsOverlayComponent:t.noMatchingRowsOverlayComponent,noMatchingRowsOverlayComponentParams:t.noMatchingRowsOverlayComponentParams,overlayComponent:t.overlayComponent,overlayComponentParams:t.overlayComponentParams,overlayInteraction:t.overlayInteraction},this.emptyStateGridOptions=yu(this.emptyStateOptionsRaw),this.overlayService=new o_({getResolvedOptions:()=>this.emptyStateGridOptions,getSourceRowCount:()=>this.rowModel.getSourceRows().length,getDisplayRows:()=>this.rowModel.rowsToDisplay,isAnyFilterActive:()=>this.filterOps.isAnyFilterActive(),onOverlayChanged:(e,t)=>this.handleOverlayChanged(e,t),warn:e=>console.warn(e)}),this.overlayRenderer=new t_({overlayEl:g.overlayEl,wrapperEl:g.overlayWrapperEl,contentEl:g.overlayContentEl,getApi:()=>this.getApi(),getOverlayInteraction:()=>this.emptyStateGridOptions.overlayInteraction}),this.interaction=new Hb({mountEl:this.mountEl,viewportEl:g.viewportEl,headerViewportEl:g.headerViewportEl,headerLeftLaneEl:g.headerLeftLaneEl,headerCenterLaneEl:g.headerCenterLaneEl,headerRightLaneEl:g.headerRightLaneEl,rowModel:this.rowModel,columnModel:this.columnModel,rowRenderer:this.rowRenderer,eventBus:this.eventBus,cellFocusService:this.cellFocusService,selectionService:this.selectionService,indexFocusService:this.indexFocusService,indexColumnOptions:this.indexColumnOptions,columnDragController:this.columnDragController,columnHandleMenuController:this.columnHandleMenuController,editMode:l,editType:u,isEditing:()=>this.cellEditing.isEditing(),getEditingCell:()=>this.cellEditing.getEditingCell(),getEditingRowId:()=>this.cellEditing.getEditingRowId(),focusRowEditingColumn:e=>this.cellEditing.focusRowEditingColumn(e),isCommitting:()=>this.isCommitting(),awaitCommitIdle:()=>this.awaitCommitIdle(),commitEditing:()=>this.cellEditing.stopEditing(!1),cancelCommit:()=>this.cancelCommit(),ensureIndexVisible:(e,t)=>this.ensureIndexVisible(e,t),ensureColumnVisible:e=>this.ensureColumnVisible(e),getLogicalScrollTop:()=>this.viewport.getLogicalScrollTop(),scrollByDelta:e=>this.viewport.scrollByDelta(e),scrollByHorizontalDelta:e=>this.viewport.scrollByHorizontalDelta(e),getRowHeight:()=>this.rowHeightService.getDefaultRowHeight(),redrawImmediately:()=>this.viewport.redrawImmediately(),tryStartCellEditing:e=>this.cellEditing.tryStartCellEditing(e),tryStartRowEditing:e=>this.cellEditing.tryStartRowEditing(e),applyIndexFocusVisuals:e=>this.selectionOps.applyIndexFocusVisuals(e),applySelectionVisuals:()=>this.selectionOps.applySelectionVisuals(),handleInteractiveRowSelection:(e,t)=>this.selectionOps.handleInteractiveRowSelection(e,t),isRowNodeSelectable:e=>this.selectionOps.isRowNodeSelectable(e),getSelectableRowIdAt:e=>this.selectionOps.getSelectableRowIdAt(e),showSummary:()=>this.summaryOptions.showSummary,navigateHeader:()=>this.chromeNavigationOptions.navigateHeader,navigateFooter:()=>this.chromeNavigationOptions.navigateFooter,toggleHeaderSort:e=>this.headerSortService.toggleSort(e),moveColumn:(e,t,n,r)=>this.moveColumn(e,t,n,r),finishColumnMove:e=>this.finishColumnMove(e),suppressMoveWhenColumnDragging:()=>this.columnLayout.columnMoveOptions.suppressMoveWhenColumnDragging,setColumnMoveLiveDragging:e=>this.setColumnMoveLiveDragging(e),allowCrossLaneColumnMove:()=>this.columnLayout.columnMoveOptions.allowCrossLaneColumnMove,setColumnWidths:(e,t,n)=>this.columnLayout.applyColumnWidths(e,t,n,`uiColumnResized`),autoSizeColumn:(e,t)=>this.columnLayout.autoSizeColumn(e,void 0,t??`uiColumnResized`),resizeHeaderColumn:(e,t,n)=>this.columnLayout.resizeHeaderColumn(e,t,n),setRowHeights:(e,t)=>this.rowHeightService.setRowHeights(e,{finished:t,source:`uiRowResized`}),rowDragManaged:this.rowDragOptions.rowDragManaged,rowDragCommitMode:this.rowDragOptions.rowDragCommitMode,cellSpanService:this.cellSpanService,hasSortModel:()=>this.rowModel.getSortModel().length>0,isRowDragHandleEnabled:e=>this.isRowDragHandleEnabled(e),moveRow:(e,t)=>this.rowMutation.moveRow(e,t),moveRows:(e,t)=>this.rowMutation.moveRows(e,t),finishRowMove:e=>this.rowMutation.finishRowMove(e),finishRowMoves:(e,t,n,r)=>this.rowMutation.finishRowMoves(e,`uiRowDrag`,{startSourceIndices:t,startTreePositions:r,displayIndex:n,resolveTreeDrop:this.treeTableService.active?e=>Sm(this.rowModel.getSourceRows(),e)??void 0:void 0}),isIndexFocusMultiple:()=>this.indexFocusService?.isMultiple()??!1,getIndexFocusedRowIds:()=>this.indexFocusService?.getFocusedRowIds()??[],setRowMoveLiveDragging:e=>this.setRowMoveLiveDragging(e),emitRowDragEnd:e=>{this.eventBus.emit(`rowDragEnd`,e)},isRowDragCommitting:()=>this.rowDragCommitService?.isCommitting()??!1,buildPlanRowDragMoveOptions:e=>this.buildPlanRowDragMoveOptions(e),planRowDragMove:e=>vh(e),commitDeferredRowDrag:e=>this.rowDragCommitService.commit(e),rowExpansionService:this.rowExpansionOptions.masterDetail?this.rowExpansionService:null,rowGroupingService:this.rowGroupingOptions.rowGrouping?this.rowGroupingService:null,treeTableService:this.treeTableService.active?this.treeTableService:null,requestTreeNodeToggle:(e,t)=>this.treeTableService.requestToggleNode(e,t),isTreeNodeExpandable:e=>this.treeTableService.isNodeExpandable(e),isRowGroupingActive:()=>this.rowGroupingService.active,isTreeActive:()=>this.treeTableService.active,getTreeDragScope:()=>this.treeTableOptions.treeDragScope,validateGroupedDisplayDrop:(e,t)=>{if(!this.rowGroupingService.active)return!0;let n=Jm(this.rowModel.getSourceRows(),e);return n===`mixed`||n===`missing`?!1:n===null||eh(this.rowModel.rowsToDisplay,e=>this.rowModel.getRowById(e),e,t,n)},validateTreeDisplayDrop:(e,t,n)=>{if(!this.treeTableService.active)return!0;let r=this.rowModel.getSourceRows(),i=e=>this.rowModel.getRowById(e);if(this.treeTableOptions.treeDragScope===`hierarchy`){let a=this.treeTableOptions.getDataPath;return a?Vm(r,this.rowModel.rowsToDisplay,i,e,t,a,{nestUnderRowId:n?.nestUnderRowId}):!1}let a=bm(r,e);return a===`mixed`||a===`missing`?!1:Em(this.rowModel.rowsToDisplay,i,e,t,a)},resolveTreeRowDragEndContext:(e,t,n,r)=>{if(!this.treeTableService.active||!r||t<0)return;if(this.rowDragOptions.rowDragManaged)return Sm(this.rowModel.getSourceRows(),e)??void 0;let i=this.treeTableOptions.getDataPath;if(i)return Hm({sourceRows:this.rowModel.getSourceRows(),displayRows:this.rowModel.rowsToDisplay,rowIds:[e],insertIndex:t,nestUnderRowId:n,treeDragScope:this.treeTableOptions.treeDragScope,getDataPath:i})??void 0},cellCommentService:()=>this.cellCommentService,getCellCommentOptions:()=>this.cellCommentOptions,overflowTooltipSession:this.overflowTooltipSession,getCellDisableContext:()=>this.getCellDisableContext(),getCellRangeService:()=>this.cellRangeService,isCellSelectionEnabled:()=>this.cellSelectionOptions.enabled,getCellSelectionOptions:()=>this.cellSelectionOptions,getFillWriteService:()=>this.cellRangeFillWriteService,getCellRangeOperationContext:()=>this.getCellRangeOperationContext(),applyCellRangeVisuals:()=>this.applyCellRangeVisuals(),emitCellSelectionChanged:e=>this.emitCellSelectionChanged(e),handleCellSelectionDeleteKey:()=>void this.handleCellSelectionDeleteKey(),copyCellSelectionToClipboard:()=>this.cellClipboardService?.copySelectedRanges()??!1,pasteCellSelectionFromClipboard:()=>this.pasteFromClipboard(),isPointerOverCellCommentIndicator:(e,t,n)=>Ch(e,t,n)}),this.rowMutation=new oS({rowKey:t.rowKey,asyncRowMutation:this.asyncRowMutation,rowModel:this.rowModel,rowRenderer:this.rowRenderer,viewport:this.viewport,valueCache:this.valueCache,frameService:this.frameService,changeDetection:this.changeDetection,eventBus:this.eventBus,cellFocusService:this.cellFocusService,validationFeedback:this.validationFeedback,mountEl:this.mountEl,cellEditing:this.cellEditing,filterOps:this.filterOps,selectionOps:this.selectionOps,ensureIndexVisible:(e,t)=>this.ensureIndexVisible(e,t),applyFocusVisuals:()=>this.applyFocusVisuals(),refreshFooter:()=>this.gridFooter.refresh(),refreshCellSpans:()=>this.refreshCellSpanCache(),refreshOverlay:()=>this.syncEmptyStateOverlay(),isCellSpanActive:()=>this.cellSpanService.active,isEditingTargetRow:e=>this.isEditingTargetRow(e),isRowGroupingActive:()=>this.rowGroupingService.active,isTreeActive:()=>this.treeTableService.active,getTreeDragScope:()=>this.treeTableOptions.treeDragScope,getDataPath:()=>this.treeTableOptions.getDataPath,setDataPath:()=>this.treeTableOptions.setDataPath}),this.cellRangeFillWriteService=new xg({rowModel:this.rowModel,columnModel:this.columnModel,eventBus:this.eventBus,getCellDisableContext:()=>this.getCellDisableContext(),getApi:()=>this.getApi(),applyTransaction:e=>this.commitTransaction(e),refreshCells:e=>this.refreshCells(e)}),this.cellRangeDeleteWriteService=new Sg({rowModel:this.rowModel,columnModel:this.columnModel,eventBus:this.eventBus,getCellDisableContext:()=>this.getCellDisableContext(),getApi:()=>this.getApi(),applyTransaction:e=>this.commitTransaction(e),refreshCells:e=>this.refreshCells(e)}),this.cellClipboardService=new og({rowModel:this.rowModel,columnModel:this.columnModel,eventBus:this.eventBus,cellFocusService:this.cellFocusService,getCellRangeService:()=>this.cellRangeService,getCellRangeOperationContext:()=>this.getCellRangeOperationContext(),getCellSelectionOptions:()=>this.cellSelectionOptions,getIndexColumnOptions:()=>this.indexColumnOptions,getCellDisableContext:()=>this.getCellDisableContext(),getApi:()=>this.getApi(),applyTransaction:e=>this.commitTransaction(e),refreshCells:e=>this.refreshCells(e),isEditing:()=>this.cellEditing.isEditing(),stopEditing:e=>this.cellEditing.stopEditing(e),onCopyVisualFeedback:()=>this.playCellRangeCopyFlash(),onPasteVisualFeedback:e=>this.playCellRangePasteFlash(e),getCellClipboardOptions:()=>this.cellClipboardGridOptions}),this.treeTableOptions.treeLazyLoad&&typeof this.treeTableOptions.loadTreeChildren==`function`&&(this.treeLazyLoadService=new lm({getOptions:()=>this.treeTableOptions,rowKey:t.rowKey,getDataPath:()=>this.treeTableOptions.getDataPath,getNodeById:e=>this.rowModel.getRowById(e),getExistingRowKeys:()=>{let e=new Set;for(let n of this.rowModel.getSourceRows()){e.add(n.id);let r=n.data[t.rowKey];r!=null&&r!==``&&e.add(String(r))}return e},applyTransaction:e=>{this.commitTransaction(e)},onLoading:e=>{this.eventBus.emit(`treeChildrenLoading`,e),this.refreshTreeLoadingVisuals(String(e.parentRowId))},onLoaded:e=>{this.eventBus.emit(`treeChildrenLoaded`,e),this.refreshTreeLoadingVisuals(String(e.parentRowId))},onLoadFailed:e=>{this.eventBus.emit(`treeChildrenLoadFailed`,e),this.refreshTreeLoadingVisuals(String(e.parentRowId))},onStateChanged:()=>{this.refreshTreeLoadingVisuals()}})),this.rowDragCommitService=new bh({getOnRowDragCommit:()=>this.onRowDragCommit,applyPlan:e=>this.rowMutation.applyRowDragPlan(e),emitStarted:e=>{this.eventBus.emit(`rowDragCommitStarted`,e)},emitFinished:e=>{this.eventBus.emit(`rowDragCommitFinished`,e)},emitRowDragEnd:e=>{this.eventBus.emit(`rowDragEnd`,e)},setCommittingVisual:e=>this.setRowDragCommittingVisual(e)}),this.viewport.syncHorizontalLayout(),this.refreshFlexedColumnsOnViewportChange(!1),this.scheduleAutoSizeStrategy(),this.frameService.setScrollGridIfNeeded(()=>this.viewport.scrollGridIfNeeded()),this.refreshCellSpanCache(),this.rowRenderer.setValueCacheVersion(this.valueCache.getVersion()),this.viewport.redrawImmediately(),this.floatingFilterController&&this.filterOps.refreshFloatingFilter(),this.api=_(this),this.cellCommentService.init(this.api),this.viewport.bindScrollListener(),this.interaction.bindListeners(),this.resizeObserver=new ResizeObserver(()=>{this.viewport.syncViewportHeight(),this.refreshFlexedColumnsOnViewportChange(!0),this.viewport.redrawImmediately(),this.syncEmptyStateOverlay()}),this.resizeObserver.observe(g.viewportEl),this.syncEmptyStateOverlay()}getApi(){return this.api}setSelectable(e){this.selectionOps.setSelectable(e)}getCellDisableContext(){return this.cellDisableContext}getCellStyleContext(){return this.cellStyleContext}setIsRowDisabled(e){this.cellDisableContext=wn(this.cellDisableContext,e),this.rowRenderer.setGetCellDisableContext(()=>this.getCellDisableContext()),this.refreshDisabledState()}setRowStyle(e){this.cellStyleContext=Zn(this.cellStyleContext,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})}setReserveSelection(e){this.selectionOps.setReserveSelection(e)}setColumnMoveOptions(e){this.columnLayout.setColumnMoveOptions(e)}setColumnResizeOptions(e){this.columnLayout.setColumnResizeOptions(e)}setColumnSortOptions(e){if(e.sortable===void 0)return;let t=this.columnSortOptions.sortable;this.columnSortOptions=ga({...this.columnSortOptions,sortable:e.sortable}),e.sortable!==t&&(this.columnModel.setColumnSortGridOptions(this.columnSortOptions),this.viewport.refreshHeader())}setColumnFilterOptions(e){if(e.filterable===void 0)return;let t=this.filterGridOptions.filterable;this.filterGridOptions=ba({...this.filterGridOptions,filterable:e.filterable}),e.filterable!==t&&(this.columnModel.setColumnFilterGridOptions(this.filterGridOptions),this.viewport.refreshHeader(),this.filterOps.refreshFloatingFilter())}setColumnAutosizeOptions(e){let t=s_(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){this.selectionOps.setIndexFocus(e),this.cellSelectionOptions.enabled&&this.indexColumnOptions.showIndexColumn&&this.interaction.syncCellRangeFromIndexFocus()}toggleAllSelection(e){this.selectionOps.toggleAllSelection(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)}getRowNode(e){return this.rowModel.getRowById(X(e))}ensureIndexVisible(e,t=`middle`){this.viewport.ensureIndexVisible(e,t)}ensureColumnVisible(e){this.viewport.ensureColumnVisible(e)}setData(e){let t=performance.now(),n=this.selectionOps.reserveSelection&&this.selectionService?this.selectionService.getSelectedRowIds():null,r=(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.rowModel.setData(e);let i=this.selectionOps.reconcileSelectionAfterSetData(n,r);this.viewport.syncViewportHeight(),this.viewport.resetScrollOnSetData(),this.valueCache.bump(),this.refreshCellSpanCache(),this.rowRenderer.invalidate(),this.viewport.redrawImmediately(),this.selectionOps.applySelectionVisuals(),this.selectionOps.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.applyFocusVisuals(),this.lastSetDataMs=performance.now()-t,this.viewport.scheduleCompressedSetDataRedraw(()=>{this.viewport.syncViewportHeight(),this.viewport.redrawImmediately()}),this.gridFooter.refresh(),this.maybeApplyFitCellContentsStrategy(e.length),i&&this.selectionService&&this.eventBus.emit(`selectionChanged`,{selectedRowIds:this.selectionService.getSelectedRowIds()}),this.overlayService.markRowDataReady(),this.syncEmptyStateOverlay()}setColumns(e){this.userColumns=[...e],this.userColumns,ln(this.userColumns),this.rowGroupingService.syncRowGroupColumnsFromDefs(),this.columnModel.setColumns(xo(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.columnViewport.invalidate(),this.overflowTooltipSession.close(),this.viewport.syncHorizontalLayout(),this.refreshFlexedColumnsOnViewportChange(!1),this.refreshCellSpanCache(),this.viewport.redrawImmediately(),this.gridFooter.refresh(),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){this.rowModel.setSortModel(ma(e)),this.viewport.syncViewportHeight(),this.valueCache.bump(),this.refreshCellSpanCache(),this.rowRenderer.invalidate(),this.viewport.redrawImmediately(),this.viewport.refreshHeader(),this.eventBus.emit(`sortChanged`,{sortModel:this.rowModel.getSortModel()}),this.clearCellSelectionOnStructuralChange(),this.gridFooter.refresh()}getSortModel(){return this.rowModel.getSortModel()}setFilterModel(e){this.filterOps.setFilterModel(e)}getFilterModel(){return this.filterOps.getFilterModel()}getColumnFilter(e){return this.filterOps.getColumnFilter(e)}getColumnDistinctFilterValues(e){return this.filterOps.getColumnDistinctFilterValues(e)}isColumnFilterActive(e){return this.filterOps.isColumnFilterActive(e)}isAnyFilterActive(){return this.filterOps.isAnyFilterActive()}getQuickFilterText(){return this.filterOps.getQuickFilterText()}setQuickFilterText(e){this.filterOps.setQuickFilterText(e)}clearAllFilters(){this.filterOps.clearAllFilters()}setColumnFilter(e,t){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:e.treeNestUnderRowId}}setRowDragCommittingVisual(e){this.rootEl.classList.toggle(ia,e!=null),this.rowRenderer.setRowDragCommittingRows(e?.rowIds??null)}finishRowMove(e){this.rowMutation.finishRowMove(X(e))}applyTransaction(e){return this.rowMutation.applyTransaction(e)}commitTransaction(e){return this.rowMutation.commitTransaction(e)}addRows(e){return this.rowMutation.addRows(e)}removeRows(e){return this.rowMutation.removeRows(e)}moveRow(e,t,n=`source`){return this.rowMutation.moveRow({rowId:X(e),toIndex:t,indexMode:n})}setRowHeight(e,t,n=!0){this.rowHeightService.setRowHeight(X(e),t,n,`api`)}setRowHeights(e,t=!0){this.rowHeightService.setRowHeights(e.map(e=>({rowId:X(e.rowId),height:e.height})),{finished:t,source:`api`})}getRowHeight(e){return this.rowHeightService.getRowHeight(X(e))}resetRowHeights(e){this.rowHeightService.resetRowHeights(e?.map(e=>X(e)))}expandRow(e){return this.rowExpansionOptions.masterDetail?this.rowExpansionService.expandRow(X(e),`api`):!1}collapseRow(e){return this.rowExpansionOptions.masterDetail?this.rowExpansionService.collapseRow(X(e),`api`):!1}isRowExpanded(e){return this.rowExpansionOptions.masterDetail?this.rowExpansionService.isExpanded(X(e)):!1}expandAll(){this.treeTableService.active?this.treeTableService.expandAll(`api`):this.rowGroupingService.active&&this.rowGroupingService.expandAll(`api`),this.rowExpansionOptions.masterDetail&&this.rowExpansionService.expandAll(`api`)}collapseAll(){this.treeTableService.active?this.treeTableService.collapseAll():this.rowGroupingService.active&&this.rowGroupingService.collapseAll(`api`),this.rowExpansionOptions.masterDetail&&this.rowExpansionService.collapseAll(`api`)}setRowGroupColumns(e){this.rowGroupingOptions.rowGrouping&&(this.rowGroupingService.setRowGroupColumns(e,`api`),this.rowModel.refreshModel({applyDefaultExpanded:!0}))}getRowGroupColumns(){return this.rowGroupingService.getRowGroupColumns()}expandGroup(e){return this.rowGroupingService.active?this.rowGroupingService.isExpanded(e)?!0:(this.rowGroupingService.expandGroup(e,`api`),this.rowGroupingService.isExpanded(e)):!1}collapseGroup(e){return this.rowGroupingService.active?!this.rowGroupingService.isExpanded(e)||(this.rowGroupingService.collapseGroup(e,`api`),!this.rowGroupingService.isExpanded(e)):!1}isGroupExpanded(e){return this.rowGroupingService.active?this.rowGroupingService.isExpanded(e):!1}expandNode(e){if(!this.treeTableService.active)return!1;let t=X(e);return this.treeTableService.isExpanded(t)?!0:(this.treeTableService.requestToggleNode(t,`api`),this.treeTableService.isExpanded(t))}collapseNode(e){if(!this.treeTableService.active)return!1;let t=X(e);return!this.treeTableService.isExpanded(t)||(this.treeTableService.collapseNode(t,`api`),!this.treeTableService.isExpanded(t))}isNodeExpanded(e){return this.treeTableService.active?this.treeTableService.isExpanded(X(e)):!1}getDataPath(e){if(this.treeTableService.active)return this.treeTableService.getDataPathForRow(X(e))}getCellComment(e,t){return this.cellCommentService.getComment(X(e),t)}async setCellComment(e,t,n){await this.cellCommentService.setComment(X(e),t,n??null,`api`)}refreshCellComments(e){this.cellCommentService.requestRefresh(e),this.closeCellCommentPopupIfAnchorNotVisible()}clearCellSelectionOnStructuralChange(){this.cellRangeService?.hasRanges()&&this.clearCellSelection()}getCellRanges(){return this.cellRangeService?[...this.cellRangeService.getRanges()]:[]}getCellSelectionAggregation(){if(!this.cellSelectionOptions.enabled||!this.cellRangeService?.hasRanges())return null;let e=this.getCellRangeOperationContext(),t=qs({ranges:this.cellRangeService.getRanges(),displayedColIds:e.displayedColIds,rowKindAt:e.rowKindAt??(()=>void 0),getCellValue:(e,t)=>{let n=this.rowModel.getRow(e),r=this.columnModel.getColumnById(t);if(!(!n||!r))return W(n,r)},normalizePosition:(e,t)=>{let n=this.rowModel.getRow(e);if(!n)return{rowIndex:e,colId:t};let r=Cg(this.rowModel,this.columnModel,this.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.cellRangeService)return;if(!this.cellSelectionOptions.enabled){Us(e,`cellSelection is disabled`);return}let t=this.getCellRangeOperationContext(),n=t.rowKindAt??(()=>void 0);if(!Y(e,t.displayedColIds)){Us(e,`column ids not in displayed columns`);return}if(!Ls(e,n)){Us(e,`range includes ineligible cells`);return}this.cellRangeService.addRange(e,t)&&(this.applyCellRangeVisuals(),this.emitCellSelectionChanged(`api`))}copySelectedRangeToClipboard(){this.cellClipboardService?.copySelectedRanges()}playCellRangeCopyFlash(){this.cellRangeVisualController?.playCopyFlash()}playCellRangePasteFlash(e){requestAnimationFrame(()=>{this.cellRangeVisualController?.playPasteFlash(e)})}async pasteFromClipboard(){await this.cellClipboardService?.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=yu(this.emptyStateOptionsRaw),this.syncEmptyStateOverlay(),this.refreshOverlayPresentation()}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||(this.overlayRenderer.syncLayout(),this.overlayService.updateOverlay())}updateCellRangeVisualOptions(e){this.cellRangeVisualGridOptions={...this.cellRangeVisualGridOptions,...e},this.cellRangeVisualOptions=As(this.cellRangeVisualGridOptions),this.applyCellRangeVisuals()}updateCellSelectionOptions(e){let t=this.cellSelectionOptions.enabled,n=t?[...this.getCellRanges()]:[];this.cellSelectionGridOptions={...this.cellSelectionGridOptions,...e},this.cellSelectionOptions=js(this.cellSelectionGridOptions),this.syncCellRangeSelectionRuntime(t),t&&!this.cellSelectionOptions.enabled&&n.length>0&&this.eventBus.emit(`cellSelectionChanged`,{ranges:[],source:`api`})}updateCellClipboardOptions(e){this.cellClipboardGridOptions={...this.cellClipboardGridOptions,...e}}createCellRangeVisualController(){return new Hp({mountEl:this.mountEl,rowsLayerEl:this.rowsLayerEl,rowModel:this.rowModel,columnModel:this.columnModel,rowRenderer:this.rowRenderer,getScrollTop:()=>this.viewport.getLogicalScrollTop(),getScrollLeft:()=>this.viewport.viewportEl.scrollLeft,getViewportWidth:()=>this.viewport.viewportEl.clientWidth,isCompressedScroll:()=>this.rowsLayerEl.classList.contains(`mg-rows-layer--compressed`),getViewportHeight:()=>this.viewport.getRenderViewportHeight(),isHeaderHighlightEnabled:()=>this.cellRangeVisualOptions.enableHeaderHighlight,isIndexColumnHighlightEnabled:()=>this.cellRangeVisualOptions.enableIndexColumnHighlight&&this.indexColumnOptions.showIndexColumn,getIndexFocusedRowIds:()=>this.indexFocusService?.getFocusedRowIds()??[],getSelectedRowIds:()=>this.selectionService?.getSelectedRowIds()??[],isSyncToSelectionColumnEnabled:()=>this.indexColumnOptions.indexColumn.syncToSelectionColumn?Pr(this.indexColumnOptions.indexColumn.focusMode,this.selectionColumnOptions.mode):!1,isCellSelectionVisualEnabled:()=>this.cellSelectionOptions.enabled,getCellSelectionOptions:()=>this.cellSelectionOptions})}syncCellRangeSelectionRuntime(e){if(e&&!this.cellSelectionOptions.enabled){this.cellRangeService?.clear(),this.applyCellRangeVisuals();return}this.cellRangeService?.setSuppressMultiRanges(this.cellSelectionOptions.suppressMultiRanges),this.applyCellRangeVisuals()}getCellRangeOperationContext(){return{displayedColIds:this.columnModel.getDisplayedColumnIds(),rowKindAt:e=>this.rowModel.getRow(e)?.rowKind}}applyCellRangeVisuals(){if(!this.cellRangeVisualController||!this.cellRangeService)return;let e=this.columnModel.getDisplayedColumnIds(),t=this.cellRangeService.getRanges(),n=Ns({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})}applyFocusVisuals(){this.interaction.applyFocusVisuals()}resolveRowEditingHighlightRanges(){if(!this.cellEditing.isEditing())return[];let e=this.cellEditing.getEditingCells();if(e.length<=1)return[];let t=e[0].rowIndex,n=this.rowModel.getRow(t)?.rowKind,r=this.columnModel.getDisplayedColumnIds(),i=e.map(e=>e.colId).filter(e=>J(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[Ms({rowIndex:t,colId:a},{rowIndex:t,colId:o})]}resolveHighlightProjectionCell(){if(this.cellEditing.isEditing()){let e=this.cellEditing.getEditingCell();if(e){let t=this.rowModel.getRowIndexById(String(e.rowId));if(t>=0)return{rowIndex:t,colId:e.colId}}}let e=this.cellFocusService.getFocusedCell();return!e||I(e)?null:{rowIndex:e.rowIndex,colId:e.colId}}isHighlightProjectionCellEligible(){let e=this.resolveHighlightProjectionCell();if(!e)return!1;let t=this.rowModel.getRow(e.rowIndex)?.rowKind;return J(e.colId,t)}applyCellRangeScrollVisuals(){!this.cellRangeVisualController||!this.cellRangeService?.hasRanges()||this.cellRangeVisualController.syncOverlayPosition()}emitCellSelectionChanged(e){this.cellRangeService&&this.eventBus.emit(`cellSelectionChanged`,{ranges:[...this.cellRangeService.getRanges()],source:e})}async handleCellSelectionDeleteKey(){if(!this.cellSelectionOptions.enabled||!this.cellRangeService?.hasRanges())return;this.cellEditing.isEditing()&&await this.cellEditing.stopEditing(!0);let e=[...this.cellRangeService.getRanges()];this.eventBus.emit(`cellSelectionDeleteStart`,{ranges:e});let t=this.cellRangeDeleteWriteService?.clearRanges(e,this.getCellRangeOperationContext())??0;this.eventBus.emit(`cellSelectionDeleteEnd`,{ranges:e,changedCellCount:t})}updateCellCommentOptions(e){let t=this.cellCommentOptions.cellCommentsDataSource;this.cellCommentOptions=Tl({...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=Ba({...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 t=this.rowModel.getSortModel().length>0,{rowDragManaged:n}=this.rowDragOptions,r=this.rowGroupingService.active,i=this.treeTableService.active,a=r||i;return L(e)?la(this.indexColumnOptions.indexColumn.showRowDragHandle,t,n,a):this.columnModel.getColumnById(e)?.rowDrag?la(!0,t,n,a):!1}getData(e){return this.rowMutation.getData(e)}promoteRowId(e){return this.rowMutation.promoteRowId(e)}beginUpdate(){this.rowMutation.beginUpdate()}endUpdate(){this.rowMutation.endUpdate()}refreshCells(e){return this.rowRenderer.setValueCacheVersion(this.valueCache.getVersion()),this.frameService.flushAllFrames(),this.rowRenderer.refreshRows(e??{})}refreshCellSpans(){this.refreshCellSpanCache(),this.valueCache.bump(),this.rowRenderer.setValueCacheVersion(this.valueCache.getVersion()),this.rowRenderer.invalidate(),this.viewport.redrawImmediately(),this.gridFooter.refresh()}getCellSpan(e,t){return this.cellSpanService.getCellSpan(X(e),t)}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}}syncRowExpansionDisplay(){this.rowExpansionOptions.masterDetail&&(this.rowModel.rebuildDisplayProjection(),this.viewport.syncViewportHeight(),this.rowRenderer.invalidate(),this.viewport.redrawImmediately())}syncRowGroupingDisplay(){this.rowGroupingService.active&&(this.rowModel.rebuildGroupedMapProjection(),this.viewport.syncViewportHeight(),this.rowRenderer.invalidate(),this.viewport.redrawImmediately(),this.refreshCellSpanCache())}syncTreeTableDisplay(){this.treeTableService.active&&(this.rowModel.rebuildTreeMapProjection(),this.viewport.syncViewportHeight(),this.rowRenderer.invalidate(),this.viewport.redrawImmediately(),this.refreshCellSpanCache(),this.selectionOps.refreshSelectionAfterDataChange())}refreshTreeLoadingVisuals(e){if(!this.treeTableService.active)return;let t={force:!0,colIds:[Zt]};e&&(t.rowIds=[e]),this.rowRenderer.refreshRows(t)}refreshDetailRowContent(e){!this.rowExpansionOptions.masterDetail||e.length===0||this.rowRenderer.refreshDetailRows(e)}refreshCellSpanCache(){this.cellSpanService.refresh()}syncRowLayoutAfterRowHeightChange(e){if(this.suppressRowLayoutViewportSync){this.rowRenderer.syncVisibleRowLayouts(e);return}this.viewport.syncViewportHeight(),this.rowRenderer.syncVisibleRowLayouts(),this.viewport.syncBorderClosureState()}scrollTo(e,t){this.viewport.scrollTo(e,t)}flushFrames(){this.frameService.flushAllFrames()}startEditingCell(e){this.cellEditing.startEditingCell(e)}stopEditing(e=!1){return this.cellEditing.stopEditing(e)}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:xr(e.rowId,this.businessRowIdCtx)}:null}getEditingCells(){return this.cellEditing.getEditingCells().map(e=>({...e,rowId:xr(e.rowId,this.businessRowIdCtx)}))}validate(e){return this.cellEditing.validate(cS(e)).then(e=>wr(e,this.businessRowIdCtx))}validateRows(e){return this.cellEditing.validateRows(lS(e)).then(e=>wr(e,this.businessRowIdCtx))}validateCells(e){return this.cellEditing.validateCells(uS(e)).then(e=>wr(e,this.businessRowIdCtx))}clearValidation(e){this.cellEditing.clearValidation(dS(e))}clearRowValidation(e){this.cellEditing.clearRowValidation(fS(e))}clearCellValidation(e){this.cellEditing.clearCellValidation(pS(e))}registerCellEditor(e,t){this.cellEditing.registerCellEditor(e,t)}unregisterCellEditor(e){return this.cellEditing.unregisterCellEditor(e)}destroy(){this.destroyed||(this.destroyed=!0,this.rowDragCommitService?.destroy(),this.cellCommentService.destroy(),this.cellRangeService?.clear(),this.cellRangeVisualController?.destroy(),this.cellRangeVisualController=null,this.overflowTooltipSession.destroy(),this.overlayRenderer?.destroy(),this.overlayService?.destroy(),this.rowRenderer.setCellCommentHost(void 0),this.cellEditing.cancelEditingOnDestroy(),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.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)}},vS={"--mg-color-bg":`#141414`,"--mg-color-text-primary":`#e8e8e8`,"--mg-color-text-regular":`#e0e0e0`,"--mg-color-text-secondary":`#9aa0a6`,"--mg-color-border":`#3a3f47`,"--mg-color-border-light":`#32363d`,"--mg-color-bg-stripe":`#1c1c1c`,"--mg-color-bg-header":`#1a2332`,"--mg-color-bg-footer":`#1a2332`,"--mg-color-bg-status-bar":`#141414`,"--mg-color-scrollbar-track":`rgba(255, 255, 255, 0.06)`,"--mg-color-scrollbar-thumb":`rgba(255, 255, 255, 0.24)`,"--mg-color-scrollbar-thumb-hover":`rgba(255, 255, 255, 0.38)`,"--mg-color-scrollbar-gutter":`#181d28`,"--mg-color-column-drag-ghost-bg":`#1a2332`,"--mg-fixed-shadow-left":`4px 0 8px -2px rgba(0, 0, 0, 0.45)`,"--mg-fixed-shadow-right":`-4px 0 8px -2px rgba(0, 0, 0, 0.45)`,"--mg-column-handle-menu-shadow":`0 1px 2px rgba(0, 0, 0, 0.35), 0 4px 12px rgba(0, 0, 0, 0.4)`},yS={"--mg-color-bg-cell":`#ffffff`,"--mg-color-bg-stripe":`#f5f7fa`,"--mg-color-text-primary":`#333333`,"--mg-color-text-regular":`#333333`,"--mg-color-text-secondary":`#9f9f9f`,"--mg-color-border":`#d8d8d8`,"--mg-color-border-light":`#d8d8d8`,"--mg-fixed-shadow-left":`4px 0 8px -2px rgba(0, 0, 0, 0.12)`,"--mg-fixed-shadow-right":`-4px 0 8px -2px rgba(0, 0, 0, 0.12)`};function bS(e){return e??`light`}function xS(e){return`magic-grid--theme-${e}`}function SS(e){return e===`dark`?{...vS}:{}}function CS(e){return e===`dark`?{...yS}:{}}var wS=Object.keys(yS);function TS(e,t){if(!e)return;for(let t of wS)e.style.removeProperty(t);let n=CS(t);for(let[t,r]of Object.entries(n))e.style.setProperty(t,r)}var ES={class:`mg-status-bar__panels`},DS=(0,t.defineComponent)({__name:`StatusBarDefaultPanels`,props:{context:{}},setup(e){let n=e,r=(0,t.computed)(()=>{let{context:e}=n,t=[];return t.push(`共 ${e.totalRowCount} 行`),e.isFiltered&&t.push(`显示 ${e.displayedRowCount} 行`),e.rowSelectionEnabled&&e.selectedRowCount>0&&t.push(`已选 ${e.selectedRowCount} 行`),t});return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ES,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:n,class:`mg-status-bar__panel`},(0,t.toDisplayString)(e),1))),128))]))}});function OS(e){if(typeof e==`number`){let t=kS(e);return{average:t,sum:t}}return{average:kS(e?.average??2),sum:kS(e?.sum??2)}}function kS(e){return Number.isFinite(e)?Math.max(0,Math.min(10,Math.trunc(e))):2}function AS(e,t,n=2){if(t===`count`)return String(Math.trunc(e));let r=kS(n),i=10**r,a=Math.round(e*i)/i;return r===0?String(Math.round(a)):a.toFixed(r).replace(/\.?0+$/,``)}var jS={key:0,class:`mg-status-bar__panels mg-status-bar__panels--aggregation`},MS=(0,t.defineComponent)({__name:`StatusBarRangeAggregationPanels`,props:{context:{}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=n.context.cellSelectionAggregation;if(!e)return[];let t=n.context.statusBarRangeAggregationPrecision,r=[];return e.average!=null&&r.push({label:`平均值`,value:AS(e.average,`average`,t.average)}),r.push({label:`计数`,value:AS(e.count,`count`)}),e.sum!=null&&r.push({label:`求和`,value:AS(e.sum,`sum`,t.sum)}),r});return(e,n)=>r.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jS,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:n,class:`mg-status-bar__panel`},(0,t.toDisplayString)(e.label)+`: `+(0,t.toDisplayString)(e.value),1))),128))])):(0,t.createCommentVNode)(``,!0)}});function NS(e){return e.mode===`range`?e:{...e,mode:`fill`,fillStrategy:e.fillStrategy??`copy`}}function PS(e,t){if(typeof e==`object`&&e&&`handle`in e)return t.handle==null?void 0:NS(t.handle)}function FS(e){if(e===!1)return!1;let t=e===!0||e==null?{}:e;return{...t,enableColumnSelection:t.enableColumnSelection??!0,handle:PS(e,t)}}function IS(e){return{...e,syncToSelectionColumn:e?.syncToSelectionColumn??!0}}function LS(e){return js({cellSelection:e}).enabled}function RS(e){let n=(0,t.ref)(0),r=(0,t.ref)(0),i=()=>{n.value+=1};return{statusBarContext:(0,t.computed)(()=>{n.value;let t=e.api.value,i=t?.getMetrics(),a=Le(e.rowSelection.value).mode!==!1,o=LS(e.cellSelection.value);return{api:t,totalRowCount:i?.sourceRowCount??0,displayedRowCount:i?.rowCount??0,isFiltered:t?.isAnyFilterActive()??(i!=null&&i.sourceRowCount!==i.rowCount),selectedRowCount:r.value,rowSelectionEnabled:a,cellSelectionEnabled:o,cellSelectionAggregation:o?t?.getCellSelectionAggregation()??null:null,statusBarRangeAggregationPrecision:OS(e.statusBarRangeAggregationPrecision.value),metrics:i}}),bumpRefresh:i,onSelectionChanged:e=>{r.value=e.length,i()},resetSelectionCount:()=>{r.value=0}}}var zS=class{render(e,n){(0,t.render)(n,e)}unmount(e){(0,t.render)(null,e)}};function BS(e,t){return(n,r)=>{e.render(r.mountEl,t(n))}}function VS(e,t){return BS(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var HS=class{render(e,n){(0,t.render)(n,e)}unmount(e){(0,t.render)(null,e)}};function US(e,t){return(n,r)=>{e.render(r.mountEl,t(n))}}function WS(e,t){return US(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var GS=class{render(e,n){(0,t.render)(n,e)}unmount(e){(0,t.render)(null,e)}};function KS(e,t){return(n,r)=>{e.render(r.mountEl,t(n))}}function qS(e,t){return KS(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var JS=class{mountEl=null;render(e,n){this.unmount(),this.mountEl=e,(0,t.render)(n,e)}unmount(){this.mountEl&&=((0,t.render)(null,this.mountEl),null)}};function YS(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 XS=class{mountEl=null;render(e,n){this.unmount(),this.mountEl=e,(0,t.render)(n,e)}unmount(){this.mountEl&&=((0,t.render)(null,this.mountEl),null)}};function ZS(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 QS=[`data-status-bar`,`data-toolbar`],$S={key:0,class:`magic-grid__toolbar`},eC={class:`mg-status-bar__region mg-status-bar__region--left`},tC={class:`mg-status-bar__region mg-status-bar__region--right`},nC=(0,t.defineComponent)({inheritAttrs:!1,__name:`MagicGrid`,props:{columns:{type:Array,required:!0},data:{type:Array,required:!0},cellEditorRegistry:{type:Object,default:void 0},rowKey:{type:String,default:`id`},stripe:{type:Boolean,default:!1},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},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},reserveSelection:{type:Boolean,default:!1},editMode:{type:String,default:`cell`},editType:{type:String,default:`singleClick`},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},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},showStatusBarRangeAggregation:{type:Boolean,default:!0},statusBarRangeAggregationPrecision:{type:[Number,Object],default:void 0},rowDragManaged:{type:Boolean,default:!0},rowDragCommitMode:{type:String,default:`sync`},onRowDragCommit:{type:Function,default:void 0},getRowHeight:{type:Function,default:void 0},rowHeightMin:{type:Number,default:void 0},rowHeightMax:{type:Number,default:void 0},enableCellSpan:{type:Boolean,default:!1},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},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},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},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},enableCellClipboard:{type:Boolean,default:void 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}},emits:`scroll.data-rendered.cell-clicked.row-click.row-dblclick.selection-changed.index-focus-changed.cell-value-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`.split(`.`),setup(n,{expose:r,emit:s}){let c=new zS,l=new HS,u=new GS,d=new JS,p=new XS;function m(e,t){return e.key??e.prop??`col_${t}`}function h(e,t){let n={};return e.forEach((e,r)=>{let i=m(e,r);e.cellRenderer&&(n[i]=e.cellRenderer);let a=t[`cell-${i}`];a&&(n[i]=VS(c,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 g(e,t){let n={};return e.forEach((e,r)=>{let i=m(e,r);e.cellEditor&&typeof e.cellEditor==`function`&&(n[i]=e.cellEditor);let a=t[`cell-editor-${i}`];a&&(n[i]=qS(u,e=>a({row:e.data,value:e.value,formattedValue:e.formattedValue,rowIndex:e.rowIndex,rowId:e.rowId,colId:e.colId,stopEditing:e.stopEditing})))}),n}function _(e,t){let n=t.tooltip;return n?YS(d,e=>n(e)):e}function v(e,t,n){let r=t[e];return r?ZS(p,e=>r({overlayType:e.overlayType,api:e.api,overlayText:e.overlayText})):n}function y(e){return{loading:x.loading,suppressOverlays:x.suppressOverlays,suppressLoadingOverlay:x.suppressLoadingOverlay,suppressNoRowsOverlay:x.suppressNoRowsOverlay,suppressNoMatchingRowsOverlay:x.suppressNoMatchingRowsOverlay,overlayLoadingTemplate:x.overlayLoadingTemplate,overlayNoRowsTemplate:x.overlayNoRowsTemplate,overlayNoMatchingRowsTemplate:x.overlayNoMatchingRowsTemplate,overlayInteraction:x.overlayInteraction,overlayComponent:x.overlayComponent,overlayComponentParams:x.overlayComponentParams,loadingOverlayComponent:v(`loading`,e,x.loadingOverlayComponent),loadingOverlayComponentParams:x.loadingOverlayComponentParams,noRowsOverlayComponent:v(`no-rows`,e,x.noRowsOverlayComponent),noRowsOverlayComponentParams:x.noRowsOverlayComponentParams,noMatchingRowsOverlayComponent:v(`no-matching-rows`,e,x.noMatchingRowsOverlayComponent),noMatchingRowsOverlayComponentParams:x.noMatchingRowsOverlayComponentParams}}function b(e,t){let n=t[`detail-row`];return n?WS(l,e=>n({row:e.data,rowId:e.rowId,masterRowId:e.masterRowId,detailRowData:e.detailRowData,loading:e.loading,loadFailed:e.loadFailed,loadError:e.loadError})):e}let x=n,S=s,C=(0,t.useSlots)(),w=(0,t.ref)(),T=(0,t.ref)(),E=(0,t.ref)(),D=(0,t.shallowRef)(),O=(0,t.shallowRef)(),{statusBarContext:k,bumpRefresh:A,onSelectionChanged:j,resetSelectionCount:M}=RS({api:O,rowSelection:(0,t.computed)(()=>x.rowSelection),cellSelection:(0,t.computed)(()=>x.cellSelection),statusBarRangeAggregationPrecision:(0,t.computed)(()=>x.statusBarRangeAggregationPrecision)}),N=(0,t.computed)(()=>!!C[`status-bar`]),ee=(0,t.computed)(()=>!!C.toolbar),te=(0,t.computed)(()=>({api:O.value,size:F.value.size,portalEl:T.value??void 0})),P=[],F=(0,t.computed)(()=>a({size:x.size,rowHeight:x.rowHeight,headerHeight:x.headerHeight})),ne=(0,t.computed)(()=>i({rounded:x.rounded,sizeBorderRadius:F.value.borderRadius})),re=(0,t.computed)(()=>bS(x.theme)),ie=(0,t.computed)(()=>FS(x.cellSelection)),ae=(0,t.computed)(()=>IS(x.indexColumn)),oe=(0,t.computed)(()=>({height:typeof x.height==`number`?`${x.height}px`:x.height,width:typeof x.width==`number`?`${x.width}px`:x.width,...f(F.value,ne.value,x.summaryRowHeight),...SS(re.value)})),se=(0,t.computed)(()=>{let{statusBarHeight:e,fontSize:t,spacing:n}=F.value,r=o(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`}}),ce=(0,t.computed)(()=>[`magic-grid`,`magic-grid--border-${x.border}`,`magic-grid--size-${F.value.size}`,xS(re.value),x.showSummary&&`magic-grid--has-footer`,x.showStatusBar&&`magic-grid--has-status-bar`,ee.value&&`magic-grid--has-toolbar`]),le=()=>{D.value&&S(`scroll`,D.value.getMetrics())},ue=()=>{D.value&&(S(`data-rendered`,D.value.getMetrics()),A())},de=()=>{requestAnimationFrame(()=>{le()})},fe=()=>{requestAnimationFrame(()=>{ue()})},pe=e=>{for(let e of P)e();P.length=0,P.push(e.on(`cellClicked`,e=>S(`cell-clicked`,e)),e.on(`rowClicked`,e=>S(`row-click`,e)),e.on(`rowDoubleClicked`,e=>S(`row-dblclick`,e)),e.on(`selectionChanged`,e=>{j(e.selectedRowIds),S(`selection-changed`,e)}),e.on(`indexFocusChanged`,e=>S(`index-focus-changed`,e)),e.on(`cellValueChanged`,e=>{S(`cell-value-changed`,e),A()}),e.on(`cellEditingStarted`,e=>S(`cell-editing-started`,e)),e.on(`cellEditingStopped`,e=>S(`cell-editing-stopped`,e)),e.on(`cellCommitStarted`,e=>S(`cell-commit-started`,e)),e.on(`cellCommitFinished`,e=>S(`cell-commit-finished`,e)),e.on(`editCommitAborted`,e=>S(`edit-commit-aborted`,e)),e.on(`rowCommitStarted`,e=>S(`row-commit-started`,e)),e.on(`rowCommitFinished`,e=>S(`row-commit-finished`,e)),e.on(`rowEditingStarted`,e=>S(`row-editing-started`,e)),e.on(`rowEditingStopped`,e=>S(`row-editing-stopped`,e)),e.on(`rowValueChanged`,e=>S(`row-value-changed`,e)),e.on(`cellValidationFailed`,e=>S(`cell-validation-failed`,e)),e.on(`rowValidationFailed`,e=>S(`row-validation-failed`,e)),e.on(`sortChanged`,e=>S(`sort-changed`,e.sortModel)),e.on(`columnMoved`,e=>S(`column-moved`,e)),e.on(`columnResized`,e=>S(`column-resized`,e)),e.on(`columnPinned`,e=>S(`column-pinned`,e)),e.on(`columnHiddenChanged`,e=>S(`column-hidden-changed`,e)),e.on(`filterChanged`,e=>{S(`filter-changed`,e.filterModel),A()}),e.on(`rowsAdded`,e=>{S(`rows-added`,e),A()}),e.on(`rowsRemoved`,e=>{S(`rows-removed`,e),A()}),e.on(`rowIdPromoted`,e=>S(`row-id-promoted`,e)),e.on(`rowMoved`,e=>S(`row-moved`,e)),e.on(`rowDragEnd`,e=>S(`row-drag-end`,e)),e.on(`rowDragCommitStarted`,e=>S(`row-drag-commit-started`,e)),e.on(`rowDragCommitFinished`,e=>S(`row-drag-commit-finished`,e)),e.on(`rowHeightChanged`,e=>S(`row-height-changed`,e)),e.on(`rowExpanded`,e=>S(`row-expanded`,e)),e.on(`rowCollapsed`,e=>S(`row-collapsed`,e)),e.on(`rowGroupOpened`,e=>S(`row-group-opened`,e)),e.on(`treeNodeOpened`,e=>S(`tree-node-opened`,e)),e.on(`treeChildrenLoading`,e=>S(`tree-children-loading`,e)),e.on(`treeChildrenLoaded`,e=>S(`tree-children-loaded`,e)),e.on(`treeChildrenLoadFailed`,e=>S(`tree-children-load-failed`,e)),e.on(`rowGroupChanged`,e=>S(`row-group-changed`,e)),e.on(`cellCommentChanged`,e=>S(`cell-comment-changed`,e)),e.on(`cellSelectionChanged`,e=>{S(`cell-selection-changed`,e),A()}),e.on(`cellSelectionDeleteStart`,e=>S(`cell-selection-delete-start`,e)),e.on(`cellSelectionDeleteEnd`,e=>S(`cell-selection-delete-end`,e)),e.on(`overlayShown`,e=>S(`overlay-shown`,e)),e.on(`overlayHidden`,e=>S(`overlay-hidden`,e)))},me=()=>{TS(w.value?.querySelector(`.mg-body`),re.value)};function he(){D.value?.setStatusBarElement(x.showStatusBar?E.value??null:null)}let ge=()=>{if(w.value){for(let e of P)e();P.length=0,D.value?.destroy(),M(),x.columns,x.columns,x.columns,ln(x.columns),mm({tree:x.tree,rowGrouping:x.rowGrouping}),D.value=new _S(w.value,{columns:e.r(x.columns),rowKey:x.rowKey,rowHeight:F.value.rowHeight,headerHeight:F.value.headerHeight,rowBuffer:x.rowBuffer,stripe:x.stripe,rowSelection:x.rowSelection,selectable:x.selectable,isRowDisabled:x.isRowDisabled,rowStyle:x.rowStyle,reserveSelection:x.reserveSelection,editType:x.editType,editMode:x.editMode,invalidEditValueMode:x.invalidEditValueMode,rowValidator:x.rowValidator,asyncRowMutation:x.asyncRowMutation,showIndexColumn:x.showIndexColumn,indexColumn:ae.value,selectionColumn:x.selectionColumn,showSummary:x.showSummary,navigateHeader:x.navigateHeader,navigateFooter:x.navigateFooter,summaryScope:x.summaryScope,summaryRowHeight:x.summaryRowHeight,summaryMethod:x.summaryMethod,headerAlign:x.headerAlign,headerValign:x.headerValign,align:x.align,valign:x.valign,footerAlign:x.footerAlign,footerValign:x.footerValign,defaultSort:x.defaultSort,sortable:x.sortable,columnMovable:x.columnMovable,resizable:x.resizable,colResizeDefault:x.colResizeDefault,skipHeaderOnAutoSize:x.skipHeaderOnAutoSize,autoSizePadding:x.autoSizePadding,autoSizeStrategy:x.autoSizeStrategy,suppressMoveWhenColumnDragging:x.suppressMoveWhenColumnDragging,suppressColumnMoveAnimation:x.suppressColumnMoveAnimation,allowCrossLaneColumnMove:x.allowCrossLaneColumnMove,showUnsortedSortHintOnHover:x.showUnsortedSortHintOnHover,quickFilterText:x.quickFilterText,filterable:x.filterable,floatingFilter:x.floatingFilter,filterSetValueMode:x.filterSetValueMode,filterSetDateLayoutMode:x.filterSetDateLayoutMode,rowDragManaged:x.rowDragManaged,rowDragCommitMode:x.rowDragCommitMode,onRowDragCommit:x.onRowDragCommit,getRowHeight:x.getRowHeight,rowHeightMin:x.rowHeightMin,rowHeightMax:x.rowHeightMax,enableCellSpan:x.enableCellSpan,masterDetail:x.masterDetail,isRowMaster:x.isRowMaster,masterDefaultExpanded:x.masterDefaultExpanded,detailRowHeight:x.detailRowHeight,detailRowAutoHeight:x.detailRowAutoHeight,embedFullWidthRows:x.embedFullWidthRows,showExpandColumn:x.showExpandColumn,getDetailRowData:x.getDetailRowData,detailCellRenderer:b(x.detailCellRenderer,C),rowGrouping:x.rowGrouping,groupDefaultExpanded:x.groupDefaultExpanded,showGroupHeader:x.showGroupHeader,showGroupFooter:x.showGroupFooter,groupDisplayType:x.groupDisplayType,showGroupColumn:x.showGroupColumn,autoGroupColumnDef:x.autoGroupColumnDef,groupKeyCreator:x.groupKeyCreator,groupComparator:x.groupComparator,groupFooterLabel:x.groupFooterLabel,groupCellRenderer:x.groupCellRenderer,tree:x.tree,getDataPath:x.getDataPath,showTreeColumn:x.showTreeColumn,autoTreeColumnDef:x.autoTreeColumnDef,treeValueGetter:x.treeValueGetter,treeDisplayType:x.treeDisplayType,treeDragScope:x.treeDragScope,setDataPath:x.setDataPath,treeLazyLoad:x.treeLazyLoad,hasTreeChildren:x.hasTreeChildren,loadTreeChildren:x.loadTreeChildren,cellCommentsDataSource:x.cellCommentsDataSource,suppressCellComments:x.suppressCellComments,cellCommentTrigger:x.cellCommentTrigger,cellCommentShowDelay:x.cellCommentShowDelay,cellCommentHideDelay:x.cellCommentHideDelay,cellSelection:ie.value,enableCellClipboard:x.enableCellClipboard,enableCellCopy:x.enableCellCopy,enableCellPaste:x.enableCellPaste,enableHeaderHighlight:x.enableHeaderHighlight,enableIndexColumnHighlight:x.enableIndexColumnHighlight,processCellForClipboard:x.processCellForClipboard,processCellFromClipboard:x.processCellFromClipboard,processDataFromClipboard:x.processDataFromClipboard,enableTooltips:x.enableTooltips,tooltipShowMode:x.tooltipShowMode,tooltipShowDelay:x.tooltipShowDelay,tooltipSwitchShowDelay:x.tooltipSwitchShowDelay,tooltipHideDelay:x.tooltipHideDelay,tooltipInteraction:x.tooltipInteraction,tooltipMouseTrack:x.tooltipMouseTrack,tooltipComponent:_(x.tooltipComponent,C),tooltipComponentParams:x.tooltipComponentParams,...y(C),cellRenderers:{byColId:h(x.columns,C)},cellEditors:{byColId:g(x.columns,C),byName:x.cellEditorRegistry},onUnmountRenderer:e=>{c.unmount(e),l.unmount(e)},onUnmountEditor:e=>{u.unmount(e)},onScroll:()=>{de()}}),O.value=D.value.getApi(),pe(D.value),D.value.setData(x.data),fe(),me(),(0,t.nextTick)(()=>he())}};return(0,t.onMounted)(()=>{ge()}),(0,t.watch)(re,me),(0,t.watch)(()=>x.quickFilterText,e=>{let t=D.value?.getApi();!t||t.getQuickFilterText()===e||t.setQuickFilterText(e)}),(0,t.watch)(()=>[x.cellCommentsDataSource,x.suppressCellComments,x.cellCommentTrigger,x.cellCommentShowDelay,x.cellCommentHideDelay],()=>{D.value?.updateCellCommentOptions({cellCommentsDataSource:x.cellCommentsDataSource,suppressCellComments:x.suppressCellComments,cellCommentTrigger:x.cellCommentTrigger,cellCommentShowDelay:x.cellCommentShowDelay,cellCommentHideDelay:x.cellCommentHideDelay})}),(0,t.watch)(()=>[ie.value,x.enableCellClipboard,x.enableCellCopy,x.enableCellPaste],()=>{D.value?.updateCellSelectionOptions({cellSelection:ie.value,enableCellClipboard:x.enableCellClipboard,enableCellCopy:x.enableCellCopy,enableCellPaste:x.enableCellPaste})}),(0,t.watch)(()=>[x.enableHeaderHighlight,x.enableIndexColumnHighlight],()=>{D.value?.updateCellRangeVisualOptions({enableHeaderHighlight:x.enableHeaderHighlight,enableIndexColumnHighlight:x.enableIndexColumnHighlight})}),(0,t.watch)(()=>[x.processCellForClipboard,x.processCellFromClipboard,x.processDataFromClipboard],()=>{D.value?.updateCellClipboardOptions({processCellForClipboard:x.processCellForClipboard,processCellFromClipboard:x.processCellFromClipboard,processDataFromClipboard:x.processDataFromClipboard})}),(0,t.watch)(()=>[x.enableTooltips,x.tooltipShowMode,x.tooltipShowDelay,x.tooltipSwitchShowDelay,x.tooltipHideDelay,x.tooltipInteraction,x.tooltipMouseTrack,x.tooltipComponent,x.tooltipComponentParams,C.tooltip],()=>{D.value?.updateOverflowTooltipOptions({enableTooltips:x.enableTooltips,tooltipShowMode:x.tooltipShowMode,tooltipShowDelay:x.tooltipShowDelay,tooltipSwitchShowDelay:x.tooltipSwitchShowDelay,tooltipHideDelay:x.tooltipHideDelay,tooltipInteraction:x.tooltipInteraction,tooltipMouseTrack:x.tooltipMouseTrack,tooltipComponent:_(x.tooltipComponent,C),tooltipComponentParams:x.tooltipComponentParams})}),(0,t.watch)(()=>[x.loading,x.suppressOverlays,x.suppressLoadingOverlay,x.suppressNoRowsOverlay,x.suppressNoMatchingRowsOverlay,x.overlayLoadingTemplate,x.overlayNoRowsTemplate,x.overlayNoMatchingRowsTemplate,x.overlayInteraction,x.loadingOverlayComponent,x.loadingOverlayComponentParams,x.noRowsOverlayComponent,x.noRowsOverlayComponentParams,x.noMatchingRowsOverlayComponent,x.noMatchingRowsOverlayComponentParams,x.overlayComponent,x.overlayComponentParams,C.loading,C[`no-rows`],C[`no-matching-rows`]],()=>{D.value?.updateEmptyStateOptions(y(C))}),(0,t.watch)(()=>[x.showStatusBar,E.value],()=>{(0,t.nextTick)(()=>he())}),(0,t.watch)(()=>x.data,e=>{D.value?.setData(e),fe()}),(0,t.watch)(()=>x.selectable,e=>{D.value?.setSelectable(e)}),(0,t.watch)(()=>x.isRowDisabled,e=>{D.value?.setIsRowDisabled(e)}),(0,t.watch)(()=>x.rowStyle,e=>{D.value?.setRowStyle(e)}),(0,t.watch)(()=>x.reserveSelection,e=>{D.value?.setReserveSelection(e)}),(0,t.watch)(()=>x.showUnsortedSortHintOnHover,e=>{D.value?.setShowUnsortedSortHintOnHover(e)}),(0,t.watch)(()=>x.sortable,e=>{D.value?.setColumnSortOptions({sortable:e})}),(0,t.watch)(()=>x.filterable,e=>{D.value?.setColumnFilterOptions({filterable:e})}),(0,t.watch)(()=>x.resizable,e=>{D.value?.setColumnResizeOptions({resizable:e})}),(0,t.watch)(()=>[x.columnMovable,x.suppressMoveWhenColumnDragging,x.suppressColumnMoveAnimation,x.allowCrossLaneColumnMove],([e,t,n,r])=>{D.value?.setColumnMoveOptions({columnMovable:e,suppressMoveWhenColumnDragging:t,suppressColumnMoveAnimation:n,allowCrossLaneColumnMove:r})}),(0,t.watch)(()=>({rowHeight:F.value.rowHeight,rowHeightMin:x.rowHeightMin,rowHeightMax:x.rowHeightMax}),(e,n)=>{if(!D.value||!n)return;let r=D.value.getMetrics()?.scrollTop??0,i=D.value.getMetrics()?.scrollLeft??0;D.value.updateDimensions(e),(0,t.nextTick)(()=>{D.value?.scrollTo(r,i),requestAnimationFrame(()=>{D.value?.scrollTo(r,i)})})}),(0,t.watch)(()=>x.columns,()=>{D.value&&(D.value.setColumns(e.r(x.columns)),D.value.getApi().refreshCellStyles(),fe())}),(0,t.watch)(()=>[x.size,x.headerHeight,x.rowBuffer,x.rowKey,x.stripe,x.rowSelection,x.editType,x.editMode,x.invalidEditValueMode,x.rowValidator,x.asyncRowMutation,x.showIndexColumn,x.indexColumn,x.selectionColumn,x.showSummary,x.floatingFilter,x.navigateHeader,x.navigateFooter,x.summaryScope,x.summaryRowHeight,x.summaryMethod,x.headerAlign,x.headerValign,x.align,x.valign,x.footerAlign,x.footerValign,x.cellEditorRegistry,x.rowDragManaged,x.rowDragCommitMode,x.onRowDragCommit,x.getRowHeight,x.enableCellSpan,x.masterDetail,x.isRowMaster,x.masterDefaultExpanded,x.detailRowHeight,x.detailRowAutoHeight,x.embedFullWidthRows,x.showExpandColumn,x.getDetailRowData,x.detailCellRenderer,x.rowGrouping,x.groupDefaultExpanded,x.showGroupHeader,x.showGroupFooter,x.groupDisplayType,x.showGroupColumn,x.autoGroupColumnDef,x.groupKeyCreator,x.groupComparator,x.groupFooterLabel,x.groupCellRenderer,x.tree,x.getDataPath,x.showTreeColumn,x.autoTreeColumnDef,x.treeValueGetter,x.treeDisplayType,x.treeDragScope,x.setDataPath,x.treeLazyLoad,x.hasTreeChildren,x.loadTreeChildren,C[`detail-row`]],()=>{ge()}),(0,t.onUnmounted)(()=>{for(let e of P)e();P.length=0,D.value?.destroy(),d.unmount(),p.unmount(),D.value=void 0,O.value=void 0}),r({api:O,getMetrics:()=>D.value?.getMetrics(),scrollTo:(e,t)=>{D.value?.scrollTo(e,t),de()},setSortModel:e=>{D.value?.setSortModel(e),fe()},getSortModel:()=>D.value?.getSortModel()??[],setFilterModel:e=>{D.value?.setFilterModel(e),fe()},getData:e=>D.value?.getData(e)??[],applyTransaction:async e=>{let t=await D.value?.applyTransaction(e);return fe(),t},beginUpdate:()=>{D.value?.beginUpdate()},endUpdate:()=>{D.value?.endUpdate(),fe()},ensureIndexVisible:(e,t)=>{D.value?.ensureIndexVisible(e,t),de()},flushFrames:()=>{D.value?.flushFrames()}}),(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)(ce.value),style:(0,t.normalizeStyle)(oe.value),"data-status-bar":n.showStatusBar?`true`:`false`,"data-toolbar":ee.value?`true`:`false`},[ee.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$S,[(0,t.renderSlot)(e.$slots,`toolbar`,(0,t.normalizeProps)((0,t.guardReactiveProps)(te.value)))])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{ref_key:`mountRef`,ref:w,class:`magic-grid__mount`},null,512),(0,t.createElementVNode)(`div`,{ref_key:`portalRef`,ref:T,class:`magic-grid__portal`,"aria-hidden":`true`},null,512),n.showStatusBar?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,ref_key:`statusBarRef`,ref:E,class:`mg-status-bar`,style:(0,t.normalizeStyle)(se.value),role:`status`,"aria-live":`polite`},[N.value?(0,t.renderSlot)(e.$slots,`status-bar`,(0,t.normalizeProps)((0,t.guardReactiveProps)((0,t.unref)(k))),void 0,void 0,0):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`div`,eC,[(0,t.renderSlot)(e.$slots,`status-bar-left`,(0,t.normalizeProps)((0,t.guardReactiveProps)((0,t.unref)(k))))]),(0,t.createElementVNode)(`div`,tC,[n.showDefaultStatusBarPanels?((0,t.openBlock)(),(0,t.createBlock)(DS,{key:0,context:(0,t.unref)(k)},null,8,[`context`])):(0,t.createCommentVNode)(``,!0),n.showStatusBarRangeAggregation?((0,t.openBlock)(),(0,t.createBlock)(MS,{key:1,context:(0,t.unref)(k)},null,8,[`context`])):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(e.$slots,`status-bar-right`,(0,t.normalizeProps)((0,t.guardReactiveProps)((0,t.unref)(k))))])],64))],4)):(0,t.createCommentVNode)(``,!0)],14,QS))}}),rC={"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`}]]},iC=[`width`,`height`],aC=(0,t.defineComponent)({__name:`ColumnSettingsMenuIcon`,props:{name:{},size:{default:16}},setup(e){let n=e,r=(0,t.computed)(()=>rC[n.name]);return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{class:`mg-column-settings-menu__icon-svg`,xmlns:`http://www.w3.org/2000/svg`,width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.value,([n,r],i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(n),(0,t.mergeProps)({key:`${e.name}-${n}-${i}`},{ref_for:!0},r),null,16))),128))],8,iC))}}),oC={key:0,class:`mg-column-settings-menu__item-icon`},sC={class:`mg-column-settings-menu__item-label`},cC=(0,t.defineComponent)({__name:`ColumnSettingsMenuItem`,props:{label:{}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,class:(0,t.normalizeClass)((0,t.unref)(Ul)),role:`menuitem`},[n.$slots.icon?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,oC,[(0,t.renderSlot)(n.$slots,`icon`)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,sC,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)])])],2))}}),lC=[`aria-expanded`],uC={class:`mg-column-settings-menu__item-leading`},dC={class:`mg-column-settings-menu__item-icon`},fC=(0,t.defineComponent)({__name:`ColumnSettingsMenu`,props:{showDivider:{type:Boolean}},emits:[`column-settings`,`custom-action`,`reset`],setup(e,{emit:n}){let r=n,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,t.ref)(!1),o=(0,t.ref)(!1),s=(0,t.ref)(null),c=(0,t.ref)(null);function l(){r(`column-settings`)}function u(){let e=s.value?.querySelector(`.${ql}`),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,t.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(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)((0,t.unref)(Hl)),role:`menu`},[(0,t.createVNode)(cC,{label:`列设置`,onClick:l},{icon:(0,t.withCtx)(()=>[(0,t.createVNode)(aC,{name:`sliders-vertical`})]),_:1}),(0,t.createElementVNode)(`div`,{ref_key:`resetSubmenuRef`,ref:s,class:(0,t.normalizeClass)([(0,t.unref)(Gl),{"mg-column-settings-menu__submenu--open":a.value}]),onMouseenter:d,onMouseleave:f,onFocusin:d,onFocusout:p},[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([(0,t.unref)(Ul),(0,t.unref)(ql)]),role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":a.value},[(0,t.createElementVNode)(`span`,uC,[(0,t.createElementVNode)(`span`,dC,[(0,t.createVNode)(aC,{name:`list-restart`})]),r[1]||=(0,t.createElementVNode)(`span`,{class:`mg-column-settings-menu__item-label`},`重置`,-1)]),r[2]||=(0,t.createElementVNode)(`svg`,{class:`mg-column-settings-menu__item-chevron`,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,t.createElementVNode)(`path`,{d:`m9 18 6-6-6-6`})],-1)],10,lC),(0,t.withDirectives)((0,t.createElementVNode)(`div`,{ref_key:`resetSubmenuPanelRef`,ref:c,class:(0,t.normalizeClass)([(0,t.unref)(Kl),{"mg-column-settings-menu__submenu-panel--flip":o.value}]),role:`menu`},[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(i,e=>(0,t.createVNode)(cC,{key:e.scope,label:e.label,onClick:t=>m(e.scope)},{icon:(0,t.withCtx)(()=>[(0,t.createVNode)(aC,{name:e.icon},null,8,[`name`])]),_:2},1032,[`label`,`onClick`])),64))],2),[[t.vShow,a.value]])],34),e.showDivider?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)((0,t.unref)(Wl)),role:`separator`,"aria-orientation":`horizontal`},null,2)):(0,t.createCommentVNode)(``,!0),e.showDivider?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`mg-column-settings-menu__custom`,onClick:r[0]||=e=>n.$emit(`custom-action`)},[(0,t.renderSlot)(n.$slots,`default`)])):(0,t.createCommentVNode)(``,!0)],2))}}),pC=[`disabled`,`aria-disabled`,`title`],mC=(0,t.defineComponent)({__name:`ColumnSettingsClearFiltersBar`,props:{gridApi:{},canClearAllFilters:{type:Boolean}},emits:[`change`],setup(e,{emit:n}){let r=e,i=n;function a(){r.gridApi.clearAllFilters(),i(`change`)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,class:(0,t.normalizeClass)((0,t.unref)(Jl)),disabled:!e.canClearAllFilters,"aria-disabled":!e.canClearAllFilters,title:e.canClearAllFilters?void 0:`当前无筛选`,onClick:a},` 清除全部筛选 `,10,pC))}}),hC=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},gC=hC(mC,[[`__scopeId`,`data-v-1c8bd037`]]);function _C(e){let t=null,n=()=>{t!=null&&(clearTimeout(t),t=null)};return{applyInput(r,i){n();let a=e.getColumnFilterType(r),o=()=>{let t=_v(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=yv(t,e.getFilterModel());return e.setFilterModel(i),hv(t,i,r,e.getColumnDistinctKeys(t))},destroy(){n()}}}var vC=hC((0,t.defineComponent)({__name:`ColumnFilterPanelEmbed`,props:{colId:{},gridApi:{},filterSetValueMode:{default:va},filterSetDateLayoutMode:{default:ya}},emits:[`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=null,s=null,c=_C({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 hv(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=qv({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,t.onMounted)(()=>{u()}),(0,t.onBeforeUnmount)(()=>{c.destroy(),d()}),(0,t.watch)(()=>r.colId,()=>{u()}),(0,t.watch)(()=>r.gridApi.getFilterModel(),()=>{f()},{deep:!0}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`hostRef`,ref:a,class:`mg-column-settings__filter-embed`},null,512))}}),[[`__scopeId`,`data-v-85b2c30c`]]);function yC(e){return e===null?`asc`:e===`asc`?`desc`:null}function bC(e,t,n){return t===null?Y_(e,n):t===`asc`?q_(e,n):J_(e,n)}function xC(e,t,n){e.setSortModel(bC(t,n,e.getSortModel()))}function SC(e,t,n){let r=yC(n);return xC(e,t,r),r}function CC(e,t,n){return e.setColumnFixed(t,n)}function wC(e){return e===`asc`?`升序`:e===`desc`?`降序`:`无排序`}function TC(e){return e===`left`?`固定左侧`:e===`right`?`固定右侧`:`不固定`}var EC=`[magic-grid] ColumnSettings: at least one user column must remain visible.`;function DC(e){return e.filter(e=>eu(e.colId)&&Oa(e)).length}function OC(e){return e.filter(e=>eu(e.colId)&&e.hidden).map(e=>e.colId)}function kC(e,t){if(!eu(e))return!1;let n=t.find(t=>t.colId===e);return!n||n.hidden?!1:DC(t)>1}function AC(e,t,n,r={}){let i=r.warn??(e=>console.warn(e));return!n&&!kC(t,e.getColumns())?(i(EC),!1):e.setColumnsHidden([t],!n)}function jC(e){let t=OC(e.getColumns());return t.length!==0&&e.setColumnsHidden(t,!1)}var MC=[`data-col-id`],NC={class:`mg-column-settings__row-main`},PC=[`draggable`,`aria-disabled`,`title`],FC=[`title`],IC={key:1,class:`mg-column-settings__row-actions`},LC=[`aria-label`,`title`],RC=[`aria-expanded`,`aria-label`],zC=[`aria-label`],BC=[`aria-checked`,`aria-label`,`title`,`onClick`],VC=[`title`],HC=[`checked`,`aria-label`],UC=hC((0,t.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:va},filterSetDateLayoutMode:{default:ya}},emits:[`dragstart`,`dragend`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=[null,`left`,`right`];function s(){!r.gridApi||!r.row.sortable||(SC(r.gridApi,r.row.colId,r.row.sortDirection),i(`change`))}function c(e){!r.gridApi||r.row.fixed===e||CC(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(!AC(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(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([(0,t.unref)(Zl),{[(0,t.unref)(Ql)]: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,t.createElementVNode)(`div`,NC,[e.showDragHandle?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.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,PC)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,{class:`mg-column-settings__row-label`,title:e.row.label},(0,t.toDisplayString)(e.row.label),9,FC),e.gridApi?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,IC,[e.showSort&&e.row.sortable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:(0,t.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,t.unref)(wC)(e.row.sortDirection)}`,title:(0,t.unref)(wC)(e.row.sortDirection),onClick:s},(0,t.toDisplayString)(e.row.sortDirection===`asc`?`↑`:e.row.sortDirection===`desc`?`↓`:`↕`),11,LC)):(0,t.createCommentVNode)(``,!0),e.showFilter&&e.row.filterable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:(0,t.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,t.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,t.createElementVNode)(`path`,{d:`M3 6h18`}),(0,t.createElementVNode)(`path`,{d:`M7 12h10`}),(0,t.createElementVNode)(`path`,{d:`M10 18h4`})],-1)]],10,RC)):(0,t.createCommentVNode)(``,!0),e.showPin?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:`mg-column-settings__pin-group`,role:`radiogroup`,"aria-label":`${e.row.label} 固定列`},[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(o,n=>(0,t.createElementVNode)(`button`,{key:n??`none`,type:`button`,class:(0,t.normalizeClass)([`mg-column-settings__pin-button`,{"mg-column-settings__pin-button--active":e.row.fixed===n}]),role:`radio`,"aria-checked":e.row.fixed===n,"aria-label":(0,t.unref)(TC)(n),title:(0,t.unref)(TC)(n),onClick:e=>c(n)},(0,t.toDisplayString)(n===`left`?`左`:n===`right`?`右`:`中`),11,BC)),64))],8,zC)):(0,t.createCommentVNode)(``,!0),e.showVisibility?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:3,class:`mg-column-settings__visibility`,title:e.row.hidden?`显示列`:`隐藏列`},[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`mg-column-settings__visibility-input`,checked:!e.row.hidden,"aria-label":`${e.row.label} 显示列`,onChange:u},null,40,HC),r[2]||=(0,t.createElementVNode)(`span`,{class:`mg-column-settings__visibility-label`,"aria-hidden":`true`},`显示`,-1)],8,VC)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)]),a.value&&e.gridApi&&e.row.filterable?((0,t.openBlock)(),(0,t.createBlock)(vC,{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,t.createCommentVNode)(``,!0)],10,MC))}}),[[`__scopeId`,`data-v-d7915c64`]]);function WC(e,t){return eu(e.colId)&&!e.hidden&&tu(e.fixed)===t}function GC(e,t){return e.filter(e=>WC(e,t))}function KC(e,t,n,r){let i=GC(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(WC(n,t)){let e=s[l];if(!e)return null;c.push(e),l+=1;continue}c.push(n.colId)}return c}function qC(e){let t=KC(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=Ir(e.columns),a=e.columns;return!Gr({columns:a,colId:e.colId,toGlobalIndex:r,fixedGroups:i,allowCrossLaneColumnMove:!1})||!qr({columns:a,colId:e.colId,toGlobalIndex:r,fixedGroups:i,allowCrossLaneColumnMove:!1})?null:r}function JC(e,t,n,r){let i=qC({columns:e.getColumns(),lane:t,colId:n,toDisplayIndex:r});return i!=null&&(e.moveColumn(n,i),!0)}var YC=[`aria-label`],XC={class:`mg-column-settings__rows`},ZC=[`onDragover`,`onDrop`],QC=hC((0,t.defineComponent)({__name:`ColumnSettingsList`,props:{lane:{},rows:{},gridApi:{},showFilter:{type:Boolean},showVisibility:{type:Boolean}},emits:[`reorder`,`change`],setup(e,{emit:n}){let r={left:`固定左侧列`,center:`中间列`,right:`固定右侧列`},i=e,a=n,o=(0,t.ref)(null),s=(0,t.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}JC(i.gridApi,i.lane,n,e)&&(a(`reorder`),a(`change`)),d()}function d(){o.value=null,s.value=null}return(n,i)=>e.rows.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`section`,{key:0,class:(0,t.normalizeClass)([(0,t.unref)(Yl),`mg-column-settings__group--${e.lane}`]),"aria-label":r[e.lane]},[(0,t.createElementVNode)(`div`,XC,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.rows,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n.colId,class:`mg-column-settings__row-host`,onDragover:e=>l(r,e),onDrop:e=>u(r,e)},[(0,t.createVNode)(UC,{row:n,"grid-api":e.gridApi,draggable:n.movable,"drag-over":s.value===r&&o.value!==n.colId,dragging:o.value===n.colId,"show-filter":e.showFilter,"show-visibility":e.showVisibility,onDragstart:e=>c(n.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,ZC))),128))])],10,YC)):(0,t.createCommentVNode)(``,!0)}}),[[`__scopeId`,`data-v-69b1c1f5`]]),$C={class:`mg-column-settings__groups`},ew={class:`mg-column-settings__visible-lanes`},tw={class:`mg-column-settings__hidden-divider`},nw={class:`mg-column-settings__hidden-divider-center`},rw=[`aria-expanded`],iw={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`},aw={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`},ow={class:`mg-column-settings__hidden-rows`},sw={class:`mg-column-settings__rows`},cw=hC((0,t.defineComponent)({__name:`ColumnSettingsGroupedLists`,props:{grouped:{},gridApi:{},showFilter:{type:Boolean},showVisibility:{type:Boolean,default:!0}},emits:[`reorder`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!0);function o(){jC(r.gridApi)&&i(`change`)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$C,[(0,t.createElementVNode)(`div`,ew,[(0,t.createVNode)(QC,{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,t.createVNode)(QC,{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,t.createVNode)(QC,{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,t.openBlock)(),(0,t.createElementBlock)(`section`,{key:0,class:(0,t.normalizeClass)((0,t.unref)($l))},[(0,t.createElementVNode)(`div`,tw,[r[10]||=(0,t.createElementVNode)(`span`,{class:`mg-column-settings__hidden-divider-line`,"aria-hidden":`true`},null,-1),(0,t.createElementVNode)(`div`,nw,[(0,t.createElementVNode)(`button`,{type:`button`,class:`mg-column-settings__hidden-toggle`,"aria-expanded":a.value,onClick:r[6]||=e=>a.value=!a.value},[(0,t.createTextVNode)(` 隐藏 (`+(0,t.toDisplayString)(e.grouped.hidden.length)+`) `,1),a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,iw,[...r[8]||=[(0,t.createStaticVNode)(`<path d="m3 8 4-4 4 4" data-v-62756c32></path><path d="M7 4v16" data-v-62756c32></path><path d="M11 12h10" data-v-62756c32></path><path d="M11 16h7" data-v-62756c32></path><path d="M11 20h4" data-v-62756c32></path>`,5)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,aw,[...r[9]||=[(0,t.createStaticVNode)(`<path d="m3 16 4 4 4-4" data-v-62756c32></path><path d="M7 20V4" data-v-62756c32></path><path d="M11 4h10" data-v-62756c32></path><path d="M11 8h7" data-v-62756c32></path><path d="M11 12h4" data-v-62756c32></path>`,5)]]))],8,rw),(0,t.createElementVNode)(`button`,{type:`button`,class:`mg-column-settings__hidden-show-all`,onClick:o},` 显示全部 `)]),r[11]||=(0,t.createElementVNode)(`span`,{class:`mg-column-settings__hidden-divider-line`,"aria-hidden":`true`},null,-1)]),(0,t.withDirectives)((0,t.createElementVNode)(`div`,ow,[(0,t.createElementVNode)(`h4`,{class:(0,t.normalizeClass)([(0,t.unref)(Xl),`mg-column-settings__sr-only`])},` 已隐藏列 `,2),(0,t.createElementVNode)(`div`,sw,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.grouped.hidden,n=>((0,t.openBlock)(),(0,t.createBlock)(UC,{key:n.colId,row:n,"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),[[t.vShow,a.value]])],2)):(0,t.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-62756c32`]]);function lw(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 uw(e){return e.map(lw)}function dw(e,t={}){return iu({columns:uw(e.getColumns()),sortModel:e.getSortModel(),filterModel:e.getFilterModel(),isColumnFilterActive:t=>e.isColumnFilterActive(t),includeHidden:t.includeHidden})}function fw(e,t={}){let n=dw(e,t);return{rows:n,grouped:au(n),canClearAllFilters:e.isAnyFilterActive()}}var pw=[`sortChanged`,`filterChanged`,`columnMoved`,`columnPinned`,`columnHiddenChanged`];function mw(e,t){let n=pw.map(n=>e.on(n,t));return()=>{for(let e of n)e()}}var hw={class:`mg-column-settings__header-leading`},gw=hC((0,t.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:n}){let r=e,i=n,a=(0,t.shallowRef)(fw(r.gridApi)),o=null;function s(){a.value=fw(r.gridApi)}function c(){l(),s(),o=mw(r.gridApi,s)}function l(){o?.(),o=null}(0,t.watch)(()=>r.open,e=>{if(e){c();return}l()},{immediate:!0}),(0,t.watch)(()=>r.gridApi,()=>{r.open&&s()}),(0,t.onBeforeUnmount)(()=>{l()});function u(){s()}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)((0,t.unref)(Il)),role:`document`,"aria-label":`列设置`},[(0,t.createElementVNode)(`header`,{class:(0,t.normalizeClass)((0,t.unref)(Ll))},[(0,t.createElementVNode)(`div`,hw,[r[1]||=(0,t.createStaticVNode)(`<div class="mg-column-settings__title-group" data-v-d618f6f4><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" data-v-d618f6f4><path d="M10 8h4" data-v-d618f6f4></path><path d="M12 21v-9" data-v-d618f6f4></path><path d="M12 8V3" data-v-d618f6f4></path><path d="M17 16h4" data-v-d618f6f4></path><path d="M19 12V3" data-v-d618f6f4></path><path d="M19 21v-5" data-v-d618f6f4></path><path d="M3 14h4" data-v-d618f6f4></path><path d="M5 10V3" data-v-d618f6f4></path><path d="M5 21v-7" data-v-d618f6f4></path></svg><h3 class="mg-column-settings__title" data-v-d618f6f4>列设置</h3></div>`,1),(0,t.createVNode)(gC,{"grid-api":e.gridApi,"can-clear-all-filters":a.value.canClearAllFilters,onChange:u},null,8,[`grid-api`,`can-clear-all-filters`])]),(0,t.createElementVNode)(`button`,{type:`button`,class:`mg-column-settings__close`,"aria-label":`关闭列设置`,onClick:r[0]||=e=>i(`close`)},` × `)],2),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)((0,t.unref)(Rl))},[(0,t.createVNode)(cw,{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))}}),[[`__scopeId`,`data-v-d618f6f4`]]);function _w(e){e.getSortModel().length!==0&&e.setSortModel([])}function vw(e){e.clearAllFilters()}function yw(e){e.resetColumnWidths()}function bw(e){let t=e.getColumns(),n=Fx(t);Ix(t.map(e=>e.colId),n)||e.resetColumnOrder()}function xw(e){for(let t of e.getColumns())!eu(t.colId)||t.fixed===null||e.setColumnFixed(t.colId,null)}function Sw(e,t){switch(t){case`sort`:_w(e);break;case`filter`:vw(e);break;case`width`:yw(e);break;case`order`:bw(e);break;case`pin`:xw(e);break;case`all`:_w(e),vw(e),yw(e),bw(e),xw(e)}}var Cw=8,ww=4,Tw=320,Ew=400,Dw=168;function Ow(e,t,n){let r=Math.min(Ew,Math.max(Tw,t)),i=e.right-r,a=e.bottom+ww;return a+n>window.innerHeight-Cw&&(a=e.top-n-ww),i=Math.max(Cw,Math.min(i,window.innerWidth-r-Cw)),a=Math.max(Cw,Math.min(a,window.innerHeight-n-Cw)),{left:i,top:a}}function kw(e,t,n){let r=Math.max(Dw,t),i=e.left,a=e.bottom+ww;return a+n>window.innerHeight-Cw&&(a=e.top-n-ww),i=Math.max(Cw,Math.min(i,window.innerWidth-r-Cw)),a=Math.max(Cw,Math.min(a,window.innerHeight-n-Cw)),{left:i,top:a}}var Aw=[`disabled`,`aria-expanded`,`aria-label`,`title`],jw=(0,t.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:n}){let r=e,i=n,a=(0,t.useSlots)(),o=(0,t.ref)(null),s=(0,t.ref)(null),c=(0,t.ref)(null),l=(0,t.ref)(!1),u=(0,t.ref)(r.open??r.defaultOpen??!1),f=(0,t.ref)(0),p=!1;function m(){let e=r.portalEl;return e instanceof HTMLElement&&e.isConnected?e:`body`}let h=(0,t.computed)(()=>m()),g=(0,t.computed)(()=>{let e=a.menu;return e?e().some(e=>e.type!==t.Comment):!1}),_=(0,t.computed)(()=>l.value||u.value),v=(0,t.computed)(()=>r.size?d(r.size):void 0);(0,t.watch)(()=>r.open,e=>{e!==void 0&&(u.value=e,e&&(l.value=!1))});function y(e){if(r.disabled&&e)return;let t=u.value;u.value=e,i(`update:open`,e),e?(l.value=!1,i(`open`),p=!0,queueMicrotask(()=>{p=!1})):t&&i(`close`)}function b(e){r.disabled&&e||(l.value=e,e&&(p=!0,queueMicrotask(()=>{p=!1})))}function x(){if(!r.disabled){if(u.value){y(!1);return}b(!l.value)}}function S(){y(!0)}function C(e){Sw(r.gridApi,e),T()}function w(){u.value&&y(!1)}function T(){l.value&&=!1}function E(){T(),w()}function D(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 O(){D(s.value,kw)}function k(){D(c.value,Ow)}function A(){l.value&&O(),u.value&&k()}(0,t.watch)(l,async e=>{e&&(await(0,t.nextTick)(),O())}),(0,t.watch)(u,async e=>{e&&(await(0,t.nextTick)(),k())}),(0,t.watch)(()=>[r.portalEl,r.size],()=>{E(),f.value+=1});function j(e){if(e.key===`Escape`){if(u.value){e.preventDefault(),e.stopPropagation(),w();return}l.value&&(e.preventDefault(),e.stopPropagation(),T())}}function M(e){if(!l.value&&!u.value||p||e.button!==0)return;let t=e.target;t instanceof Node&&(o.value?.contains(t)||s.value?.contains(t)||c.value?.contains(t)||E())}return(0,t.onMounted)(()=>{document.addEventListener(`keydown`,j,!0),document.addEventListener(`pointerdown`,M,!0),window.addEventListener(`resize`,A),window.addEventListener(`scroll`,A,!0)}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`keydown`,j,!0),document.removeEventListener(`pointerdown`,M,!0),window.removeEventListener(`resize`,A),window.removeEventListener(`scroll`,A,!0)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)((0,t.unref)(zl)),style:(0,t.normalizeStyle)(v.value)},[(0,t.createElementVNode)(`button`,{ref_key:`triggerRef`,ref:o,type:`button`,class:`mg-column-settings-button__trigger`,disabled:e.disabled,"aria-haspopup":`menu`,"aria-expanded":_.value,"aria-label":e.label??`表格设置`,title:e.label??`表格设置`,onClick:x},[...r[0]||=[(0,t.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,t.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,t.createElementVNode)(`circle`,{cx:`12`,cy:`12`,r:`3`})],-1)]],8,Aw),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{key:f.value,to:h.value},[l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)((0,t.unref)(Bl))},[(0,t.createElementVNode)(`div`,{ref_key:`menuRef`,ref:s,class:(0,t.normalizeClass)((0,t.unref)(Vl))},[(0,t.createVNode)(fC,{"show-divider":g.value,onColumnSettings:S,onCustomAction:T,onReset:C},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`menu`)]),_:3},8,[`show-divider`])],2)],2)):(0,t.createCommentVNode)(``,!0),u.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)((0,t.unref)(Bl))},[(0,t.createElementVNode)(`div`,{ref_key:`panelRef`,ref:c,class:(0,t.normalizeClass)((0,t.unref)(Vl)),role:`dialog`,"aria-modal":`false`,"aria-label":`列设置面板`},[(0,t.createVNode)(gw,{"grid-api":e.gridApi,open:u.value,"show-visibility":e.showVisibility,"show-filter":e.showFilter,onClose:w},null,8,[`grid-api`,`open`,`show-visibility`,`show-filter`])],2)],2)):(0,t.createCommentVNode)(``,!0)],8,[`to`]))],6))}}),Mw={input:{deferEnterCommit:!1,commitOnChange:!1},overlay:{deferEnterCommit:!0,commitOnChange:!0}};function Nw(e,n){let r=Mw[n.strategy??`input`],i=n.formatValue??(e=>String(e??``)),a=n.commitOnChange??r.commitOnChange;(0,t.onMounted)(()=>{e.setGetValue?.(()=>i(n.getValue())),e.setKeyboardPolicy?.({deferEnterCommit:r.deferEnterCommit}),e.autoFocus!==!1&&n.onStart?.()});function o(){e.stopEditing(!0)}function s(){e.stopEditing(!1)}function c(){a&&o()}function l(e){if(e instanceof KeyboardEvent){if(e.key===`Enter`){r.deferEnterCommit&&(0,t.nextTick)(o);return}e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),s())}}return{onKeydown:l,onChange:c,commit:o,cancel:s}}exports.BUILTIN_CELL_EDITOR_NAMES=E,exports.COLUMN_DRAG_THRESHOLD_PX=ai,exports.ColumnSettingsButton=jw,exports.ColumnSettingsMenuIcon=aC,exports.ColumnSettingsMenuItem=cC,exports.ColumnSettingsPanel=gw,exports.DEFAULT_CELL_EDITOR_MODE=Sa,exports.DEFAULT_INDEX_COLUMN_START=Me,exports.DEFAULT_SELECTION_SELECT_ALL_LABEL=Ve,exports.INDEX_COLUMN_ID=Ae,exports.INDEX_COLUMN_MIN_WIDTH=je,exports.INLINE_CHECKBOX_CLASS=O,exports.MagicGrid=nC,exports.RowMutationPersistError=$c,exports.SELECTION_COLUMN_DEFAULT_WIDTH=Be,exports.SELECTION_COLUMN_ID=Re,exports.SELECTION_COLUMN_MIN_WIDTH=ze,exports.SORT_AFTER_MOVE_GUARD_MS=oi,exports.VueCellEditorHost=GS,exports.checkboxCellEditor=te,exports.coerceCheckboxEditorValue=A,exports.createSlotCellEditor=qS,exports.createVueCellEditor=KS,exports.evaluateGridAcceptance=gS,exports.formatCheckboxEditorRawValue=j,exports.getCellEditor=ie,exports.getGridAcceptanceThresholds=hS,exports.getGridSetDataLimit=mS,exports.getRegisteredCellEditorNames=oe,exports.hasCellEditor=ae,exports.isBuiltInCellEditor=D,exports.isInlineEditorColumn=Ta,exports.isSyntheticRow=vr,exports.numberCellEditor=ee,exports.readCheckboxControlValue=M,exports.registerCellEditor=ne,exports.registerEditorSurfaceSelectors=b,exports.resetEditorSurfaceSelectors=x,exports.resolveCellEditorMode=Ca,exports.resolveColumnCellEditorMode=wa,exports.textCellEditor=N,exports.toBusinessRowId=yr,exports.toBusinessRowIdFromInternal=xr,exports.toBusinessRowIdsFromInternal=Sr,exports.toggleHeaderSort=dy,exports.unregisterCellEditor=re,exports.useMagicGridCellEditor=Nw;
8
+ `){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 ag(e){return e.length===1&&(e[0]?.length??0)===1}var og=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=ig(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 ag(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=[];for(let t of e){let e=Y(t,n);if(!e)continue;let o=n.indexOf(e.leftColId),s=n.indexOf(e.rightColId);if(o<0||s<0)continue;let c=n.slice(o,s+1),l=[];for(let t=e.top;t<=e.bottom;t+=1){let e=this.deps.rowModel.getRow(t);if(!e)continue;let n=[];for(let a of c){if(!J(a,e.rowKind)){n.push(``);continue}let o=this.deps.columnModel.getColumnById(a);if(!o){n.push(``);continue}let s={rowId:e.id,rowIndex:t,colId:a,value:W(e,o),data:e.data,formattedValue:``,stopEditing:async()=>{},cancelCommit:()=>{},getEditPhase:()=>`idle`,validate:async()=>({valid:!0})};n.push(Zh(t,e,o,r,s,i.processCellForClipboard))}l.push(ng(n))}l.length>0&&a.push(l)}return rg(a)}resolvePasteAnchor(){let e=this.deps.getCellRangeOperationContext().displayedColIds,t=this.deps.getCellRangeService(),n=t?.getRanges()??[],r=this.deps.cellFocusService.getFocusedCell();if(r&&!I(r)){let t=this.deps.rowModel.getRow(r.rowIndex);if(J(r.colId,t?.rowKind)){let t={rowIndex:r.rowIndex,colId:r.colId};if(n.length===0||n.some(t=>{let n=Y(t,e);return n!=null&&Fs(r.rowIndex,r.colId,n,e)}))return t}}if(n.length===0)return null;let i=Y(n[0],e);if(!i)return null;let a=t?.getAnchor();return a&&Fs(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=Y(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=Y(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(!J(t,r.rowKind))return{status:`blocked`,showBlockedVisual:!0};let a=this.deps.columnModel.getColumnById(t);if(!a||!U(a,r,this.deps.getCellDisableContext())||Wh(a,r.data))return{status:`blocked`,showBlockedVisual:!0};let o=W(r,a),s=await eg(a,{rowId:n,rowIndex:e,colId:t,value:o,data:r.data,formattedValue:String(o??``),stopEditing:async()=>{},cancelCommit:()=>{},getEditPhase:()=>`idle`,validate:async()=>({valid:!0})},i,o,{rowIndex:e,rowNode:r,indexColumnOptions:this.resolveIndexColumnDisplayOptions(),processCellFromClipboard:this.deps.getCellClipboardOptions().processCellFromClipboard});return s.status===`blocked`?s:(this.deps.applyTransaction({update:[r.data]}),this.deps.eventBus.emit(`cellValueChanged`,{rowId:n,colId:t,oldValue:o,newValue:s.parsed,rowNode:r}),{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}typeof navigator<`u`&&navigator.clipboard?.writeText&&await navigator.clipboard.writeText(e)}async readClipboard(){if(this.deps.readFromClipboard)return this.deps.readFromClipboard();if(typeof navigator<`u`&&navigator.clipboard?.readText)return navigator.clipboard.readText();throw Error(`Clipboard read unavailable`)}};function sg(e){return typeof e==`number`&&Number.isFinite(e)}function cg(e,t){return`${e}:${t}`}function lg(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 ug(e,t){let n=new Set;return lg(e,t,(e,t)=>{n.add(cg(e,t))}),n}function dg(e){let{fixedAnchor:t,pointer:n,sourceRange:r,direction:i,displayedColIds:a}=e;if(a.indexOf(n.colId)<0)return null;let o=Y(Ms(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 fg(e,t,n,r){let i=[];for(let n=e.top;n<=e.bottom;n+=1)i.push(r(n,t));return i}function pg(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 mg(e,t){return e>t.bottom?e-t.bottom:e<t.top?e-t.top:null}function hg(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 gg(e){let{rowIndex:t,colId:n,sourceRange:r,displayedColIds:i,getSourceValue:a,setFillValue:o,fillStrategy:s=ts,rowNode:c,column:l,allowedDirection:u}=e,d=i.indexOf(n);if(d<0)return null;let f=mg(t,r),p=hg(d,r,i),m=null,h=0,g=[];if(f!=null&&f!==0&&(u===`y`||u===`xy`)?(m=`y`,h=f,g=fg(r,n,i,a)):p!=null&&p!==0&&(u===`x`||u===`xy`)&&(m=`x`,h=p,g=pg(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}):vg(g,h,s)}function _g(e,t){return t>0?e[e.length-1]:e[0]}function vg(e,t,n){if(e.length===0)return null;if(n===`copy`)return _g(e,t);if(e.every(sg)){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 _g(e,t)}function yg(e,t,n){let r=ug(t,n),i=e?ug(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 bg(e,t,n){return yg(t,e,n)}var xg=class{deps;constructor(e){this.deps=e}commitFillRange(e){let t=0,n=new Set,r=new Set;for(let i of e.removed)if(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(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}applyFillDiff(e){return this.commitFillRange({...e,removed:[]})}writeClearCell(e){let t=this.deps.rowModel.getRow(e.rowIndex),n=this.deps.columnModel.getColumnById(e.colId);return!t||!n||!J(e.colId,t.rowKind)||!U(n,t,this.deps.getCellDisableContext())?!1:this.writeCellValue(t.id,e.rowIndex,n,t,``)}writeFillCell(e,t,n,r){let i=this.deps.rowModel.getRow(e.rowIndex),a=this.deps.columnModel.getColumnById(e.colId);if(!i||!a||!J(e.colId,i.rowKind)||!U(a,i,this.deps.getCellDisableContext()))return!1;let o=gg({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)}writeCellValue(e,t,n,r,i){let a=W(r,n);return Object.is(a,i)||!Fn(n,{rowId:e,rowIndex:t,colId:n.colId,value:a,data:r.data,formattedValue:String(a??``),stopEditing:async()=>{},cancelCommit:()=>{},getEditPhase:()=>`idle`,validate:async()=>({valid:!0})},i)?!1:(this.deps.applyTransaction({update:[r.data]}),this.deps.eventBus.emit(`cellValueChanged`,{rowId:e,colId:n.colId,oldValue:a,newValue:i,rowNode:r}),!0)}},Sg=class{deps;constructor(e){this.deps=e}clearRanges(e,t){let n=t.displayedColIds,r=0,i=new Set,a=new Set;for(let t of e){let e=Y(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)Fs(t,s,e,n)&&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}writeClearCell(e,t,n,r){if(!J(t,r.rowKind))return!1;let i=this.deps.columnModel.getColumnById(t);if(!i||!U(i,r,this.deps.getCellDisableContext()))return!1;let a=W(r,i);return Object.is(a,``)||!Fn(i,{rowId:n,rowIndex:e,colId:t,value:a,data:r.data,formattedValue:String(a??``),stopEditing:async()=>{},cancelCommit:()=>{},getEditPhase:()=>`idle`,validate:async()=>({valid:!0})},``)?!1:(this.deps.applyTransaction({update:[r.data]}),this.deps.eventBus.emit(`cellValueChanged`,{rowId:n,colId:t,oldValue:a,newValue:``,rowNode:r}),!0)}};function Cg(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 wg(e){let t=e.column.prop??e.column.colId,n=t?e.rowNode.data[t]:void 0;e.column.getter&&(n=e.column.getter(e.rowNode.data,n));let r=ar(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 Tg(e){let t=wg(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===``?null:t.valueFormatted}function Eg(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 Dg(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 Og(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 kg(e,t){return e.getColumns().findIndex(e=>e.colId===t)}function Ag(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:kg(e,r.dataset.colId)}:null}function jg(e){return Q(e)?.closest(`.mg-header-cell__column-handle`)??null}function Mg(e){return Q(e)?.closest(`.mg-floating-filter-button`)??null}function Ng(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:kg(e,r.dataset.colId)}:null}function Pg(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 Fg(e){return Q(e)?.closest(`.mg-header-cell[data-col-id]`)??null}function Ig(e){return e.querySelector(`.mg-root`)??e}function Lg(e){let t=Q(e);return t?t.closest(Ia):null}function Rg(e){return e.matches(`.mg-cell__text:not([hidden])`)?`cell`:e.matches(`.mg-header-cell__text`)?`header`:e.matches(`.mg-footer-cell__text:not([hidden])`)?`footer`:null}function zg(e){let t=Q(e);return t?t.closest(Fa):null}function Bg(e,t,n){let r=Rg(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 Vg=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=Lg(e.target);if(!t)return;let n=Bg(t,this.deps.columnModel,this.deps.rowModel);!n||!this.canShowTooltip(n)||this.queueShow(e,n)};handleStatusBarPointerOver=e=>{if(e.pointerType===`touch`)return;let t=zg(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,Lg(e.target))};handleStatusBarPointerOut=e=>{this.handleAnchorPointerOut(e,zg(e.target))};handleAnchorPointerOut(e,t){if(!t)return;let n=Lg(e.relatedTarget),r=zg(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 Ha({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 Og(e.anchorEl);if(!e.colId)return null;let t=this.deps.columnModel.getColumnById(e.colId);if(!t)return null;if(e.location===`header`)return Eg({column:t,headerTooltip:t.headerTooltip,headerTooltipValueGetter:t.headerTooltipValueGetter});if(e.location===`footer`)return Dg({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?Tg({rowNode:n,column:t,tooltipField:t.tooltipField,tooltipValueGetter:t.tooltipValueGetter,indexColumnOptions:this.deps.getIndexColumnOptions(),location:`cell`}):null}clearShowTimer(){this.showTimer!=null&&(clearTimeout(this.showTimer),this.showTimer=null)}},Hg=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 Ug(e){let{viewportPadding:t}=Ah(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 Wg=`mg-tooltip__text`,Gg=`mg-tooltip__content`,Kg=class{popupEl=null;textEl=null;contentEl=null;componentHost=new Hg;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(`${La}--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=La,e.hidden=!0,e.setAttribute(`role`,`tooltip`);let t=document.createElement(`div`);t.className=Wg;let n=document.createElement(`div`);return n.className=Gg,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=Ug({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}},qg=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 Jg(e){return e.overlayType===`loading`?{blockEvents:!0,masked:!0}:e.overlayInteraction?{blockEvents:!0,masked:!1}:{blockEvents:!1,masked:!1}}function Yg(e,t,n){let{blockEvents:r,masked:i}=Jg(n),a=`${lu}--interactive`;e.classList.toggle(a,r&&!i),e.classList.toggle(du,i);let o=r?`auto`:`none`;e.style.pointerEvents=o,t.style.pointerEvents=o}function Xg(){let e=document.createElement(`div`);e.className=lu,e.hidden=!0,e.setAttribute(`aria-hidden`,`true`);let t=document.createElement(`div`);t.className=uu;let n=document.createElement(`div`);return n.className=`mg-overlay__mount`,t.appendChild(n),e.appendChild(t),{overlayEl:e,wrapperEl:t,contentEl:n}}var Zg=new Set([`span`,`div`,`p`,`svg`,`strong`,`em`,`b`,`i`]);function Qg(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 Zg.has(i)?r.cloneNode(!0):r.textContent?.trim()??t}function $g(e){switch(e){case`loading`:return pu;case`noRows`:return mu;case`noMatchingRows`:return hu;default:return e}}function e_(e,t={}){let n=document.createElement(`div`);n.className=`${fu} ${$g(e)}`;let r=t.overlayText??_u(e);if(t.template){let e=Qg(t.template);return typeof e==`string`?n.textContent=e:n.appendChild(e),n}if(e===`loading`){let e=document.createElement(`span`);e.className=gu,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 t_=class{deps;visibleType=null;componentHost=new qg;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){Yg(this.deps.overlayEl,this.deps.wrapperEl,{overlayType:e,overlayInteraction:this.deps.getOverlayInteraction()})}renderContent(e,t){let n={overlayType:e,api:this.deps.getApi(),overlayText:_u(e)};if(t.component){this.componentHost.mount(this.deps.contentEl,n,t.component);return}this.componentHost.destroy(),this.deps.contentEl.replaceChildren(e_(e,{template:t.template,overlayText:n.overlayText}))}};function n_(e){return e.filter(e=>it(e.rowKind)===`data`).length}function r_(e){let t=t=>bu(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`)?`noRows`:e.sourceRowCount>0&&e.displayDataRowCount===0&&e.isAnyFilterActive&&!t(`noMatchingRows`)?`noMatchingRows`:null}function i_(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 a_(e,t){let n=i_(e,t);return n.component?n:t.overlayComponent?{overlayType:e,component:t.overlayComponent,componentParams:t.overlayComponentParams}:n}var o_=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?a_(this.currentType,this.deps.getResolvedOptions()):null}buildResolveInput(){let e=this.deps.getResolvedOptions();return{loading:e.loading,suppressOverlays:e.suppressOverlays,sourceRowCount:this.deps.getSourceRowCount(),displayDataRowCount:n_(this.deps.getDisplayRows()),isAnyFilterActive:this.deps.isAnyFilterActive(),rowDataReady:this.rowDataReady,userForcedNoRows:this.userForcedNoRows}}updateOverlay(){if(this.destroyed)return;let e=r_(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)}};function s_(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 c_(e,t,n){let r={rowId:yr(t,e.deps.rowModel.getRowKey()),rowIndex:t.rowIndex,colId:n.colId,value:W(t,n),data:t.data,formattedValue:ar(t,n),stopEditing:(t=!0)=>e.stopEditing(!t),cancelCommit:()=>e.cancelCommit(),getEditPhase:()=>e.getEditSessionPhase()};return{...r,validate:async t=>{let i=e.deps.rowEditingService.isEditing()?e.deps.rowEditingService.getEditorValue(n.colId):e.deps.editingService.getEditorValue();if(i==null)return{valid:!0};let a={...r,validate:async()=>({valid:!0})},o;try{if(o=Pn(i,n,a),En(o))return{valid:!1,errors:[`Invalid value`]}}catch(e){return{valid:!1,errors:[e instanceof Error?e.message:`Invalid value`]}}return rr(n,a,o,t?.signal)}}}async function l_(t,n,r={}){let i=r.signal??new AbortController().signal,a=r.invalidEditValueMode??`block`;e.l(i);let o={...t.data},s=[];for(let e of n){let t=Pn(e.rawValue,e.column,e.editorParams);if(En(t))return{ok:!1,failedColId:e.column.colId,revert:a===`revert`};s.push({column:e.column,editorParams:e.editorParams,oldValue:e.oldValue,parsedValue:t})}let c=[];try{let e=await Promise.all(s.map(async e=>{let t=await tr(e.column,e.editorParams,e.parsedValue,i);return{colId:e.column.colId,errors:t}}));for(let t of e)t.errors&&c.push({colId:t.colId,errors:t.errors})}catch(t){throw e.c(t),t}let l;if(c.length>0)if(a===`keep`)l={cellErrors:c};else{let e=c[0];return{ok:!1,failedColId:e.colId,errors:e.errors,cellErrors:c,revert:a===`revert`}}let u=new Map(s.map(e=>[e.column.colId,e.parsedValue]));try{let e=await nr(r.rowValidator,{rowId:r.rowKey?yr(t,r.rowKey):t.id,rowIndex:t.rowIndex,data:t.data,draftValues:u,signal:i});if(e){let t=er(s.map(e=>e.column.colId),e.colIds);if(a===`keep`)l={...l,rowErrors:e.errors,rowErrorColIds:t};else return{ok:!1,failedColId:t[0]??s[0]?.column.colId??``,rowErrors:e.errors,rowErrorColIds:t,revert:a===`revert`}}}catch(t){throw e.c(t),t}let d=[];try{for(let n of s){e.l(i);let{column:r,editorParams:s,oldValue:c,parsedValue:l}=n;if(c!==l){if(!await In(r,s,l,i))return Object.assign(t.data,o),{ok:!1,failedColId:r.colId,revert:a===`revert`};d.push({colId:r.colId,oldValue:c,newValue:l})}}}catch(n){throw Object.assign(t.data,o),e.c(n),n}return l?{ok:!0,changes:d,validationWarnings:l}:{ok:!0,changes:d}}async function u_(t,n,r,i,a){try{let e=await l_(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()});if(!e.ok)return e;if(e.changes.length>0){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});t.deps.syncPinnedRows()}return{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}}catch(t){if(e.c(t))return{ok:`aborted`};throw t}}async function d_(t,n,r,i,a,o){if(!r.prop)return{ok:!0};try{let e=Pn(i,r,a);if(En(e))return{ok:!1};let s=a.value,c=await tr(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 In(r,a,e,o.signal)?(t.deps.applyTransaction({update:[n.data]}),t.deps.eventBus.emit(`cellValueChanged`,{rowId:n.id,colId:r.colId,oldValue:s,newValue:e,rowNode:n}),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 f_(e,t,n){for(let r of t){let t=e.find(e=>e.colId===r);t?t.errors=[...new Set([...t.errors,...n])]:e.push({colId:r,errors:[...n]})}}async function p_(e,t,n={}){let r=n.signal??new AbortController().signal,i=[];for(let n of t){if(!n.column.cellValidator)continue;let t=W(e,n.column),a=await tr(n.column,n.editorParams,t,r);a&&i.push({colId:n.column.colId,errors:a})}if(n.rowValidator&&t.length>0){let a=new Map(t.map(t=>[t.column.colId,W(e,t.column)])),o=await nr(n.rowValidator,{rowId:n.rowKey?yr(e,n.rowKey):e.id,rowIndex:e.rowIndex,data:e.data,draftValues:a,signal:r});o&&f_(i,er(t.map(e=>e.column.colId),o.colIds),o.errors)}return i}async function m_(e,t={}){let n=t.signal??new AbortController().signal,r=t.showFeedback!==!1,i=__(e.rowModel,t.rowIds),a=[],o=await Promise.all(i.map(async t=>({rowNode:t,invalidCells:await p_(t,v_(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 h_(e,t){let n=t.signal??new AbortController().signal,r=t.showFeedback!==!1,i=[];for(let{rowId:a,colId:o}of t.cells){let t=X(a),s=e.rowModel.getRowById(t),c=r?g_(e.mountEl,t):null;if(!s){r&&e.validationFeedback.clearRowCell(t,c,o);continue}let l=e.columnModel.getColumnById(o);if(!l||!U(l,s,e.getCellDisableContext?.())||!l.cellValidator){r&&e.validationFeedback.clearRowCell(t,c,o);continue}let u=await tr(l,e.createEditorParams(s,l),W(s,l),n);u?(i.push({rowId:t,rowIndex:s.rowIndex,colId:o,errors:u}),r&&e.validationFeedback.setRowCellInvalid(t,c,{colId:o,errors:u})):r&&e.validationFeedback.clearRowCell(t,c,o)}return{valid:i.length===0,cellErrors:i}}function g_(e,t){return e.querySelector(`.mg-row[data-row-id="${t}"]`)}function __(e,t){let n=Qc(t);if(n)return n.map(t=>e.getRowById(t)).filter(e=>e!=null);let r=[],i=e.getRowCount();for(let t=0;t<i;t++){let n=e.getRow(t);n&&r.push(n)}return r}function v_(e,t){let n=e.getCellDisableContext?.();return e.columnModel.getColumns().filter(e=>U(e,t,n)).map(n=>({column:n,editorParams:e.createEditorParams(t,n)}))}function y_(e){return e.invalidEditValueMode??`block`}function $(e){let t=e.mountEl.querySelector(`.mg-header-row`);t&&e.validationFeedback.syncHeaderDom(t,e.columnModel.getColumns())}function b_(e){e.deps.validationFeedback.syncDom(e.deps.mountEl),$(e.deps)}function x_(e,t){let n=t?.rowIds;if(n?.length){for(let t of n){let n=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${t}"]`);e.deps.validationFeedback.clearRow(X(t),n)}$(e.deps);return}e.deps.validationFeedback.clear(e.deps.mountEl),$(e.deps)}function S_(e,t){x_(e,{rowIds:t.rowIds})}function C_(e,t){for(let{rowId:n,colId:r}of t.cells){let t=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${n}"]`);e.deps.validationFeedback.clearRowCell(X(n),t,r)}$(e.deps)}async function w_(e,t){let n=await m_({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(),b_(e),n}async function T_(e,t){return w_(e,{rowIds:t.rowIds,signal:t.signal,showFeedback:t.showFeedback})}async function E_(e,t){let n=await h_({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(),b_(e),n}function D_(e,t){return e.columnModel.getColumns().filter(n=>U(n,t,e.getCellDisableContext())).map(e=>e.colId)}function O_(e,t,n){return e.rowValidator&&jn(e.editMode)?D_(e,t):n}function k_(e,t,n){queueMicrotask(()=>{e.deps.isDestroyed()||e.isEditing()||A_(e,t,n)})}async function A_(e,t,n){if(e.deps.isDestroyed()||e.isEditing())return;let r=e.deps.rowModel.getRowById(t);if(!r)return;let i=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${t}"]`),a=O_(e.deps,r,n);if(a.length===0){e.deps.validationFeedback.clearRow(t,i),$(e.deps);return}let o=a.map(t=>{let n=e.deps.columnModel.getColumnById(t);return n?{column:n,editorParams:e.createCellEditorParams(r,n)}:null}).filter(e=>e!=null),s=[];try{s=await p_(r,o,{rowValidator:jn(e.deps.editMode)?e.deps.rowValidator:void 0,rowKey:e.deps.rowModel.getRowKey()})}catch{return}if(jn(e.deps.editMode)){s.length>0?e.deps.validationFeedback.setRowInvalid(t,i,s):e.deps.validationFeedback.clearRow(X(t),i),$(e.deps);return}for(let n of a){let r=s.find(e=>e.colId===n);r?e.deps.validationFeedback.setRowCellInvalid(t,i,r):e.deps.validationFeedback.clearRowCell(X(t),i,n)}$(e.deps)}function j_(e,t,n){e.eventBus.emit(`cellValidationFailed`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,errors:n,mode:`keep`})}function M_(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`})}function N_(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 P_(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}),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)})):(n.rowErrorColIds?.length?n.rowErrorColIds:[n.failedColId]).map(t=>({colId:t,errors:n.rowErrors??n.errors??[`Validation failed`],editorMountEl:e.deps.rowEditingService.getEditorMountEl(t)}));e.deps.validationFeedback.showCellsInvalid({rowId:t.rowId,rowElement:t.rowElement,cells:r}),$(e.deps)}}function F_(e,t){for(let n of t.cells)e.deps.eventBus.emit(`cellEditingStopped`,{rowId:t.rowId,colId:n.colId,rowIndex:t.rowIndex,committed:n.committed,oldValue:n.oldValue,newValue:n.newValue});let n=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:n}),t.committed&&n&&n.length>0){let r=e.deps.rowModel.getRowById(t.rowId);r&&e.deps.eventBus.emit(`rowValueChanged`,{rowId:t.rowId,rowIndex:t.rowIndex,rowNode:r,data:r.data,changes:n})}e.deps.syncPinnedRows(),t.committed||e.deps.refreshCells({rowIds:[t.rowId],force:!0}),e.deps.applyFocusVisuals(),queueMicrotask(()=>{!e.deps.isDestroyed()&&!e.isEditing()&&e.deps.viewportEl.focus({preventScroll:!0})}),k_(e.validationCtx(),t.rowId,t.cells.map(e=>e.colId))}function I_(e,t){e.deps.eventBus.emit(`cellEditingStopped`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,committed:t.committed,oldValue:t.oldValue,newValue:t.newValue}),e.deps.syncPinnedRows(),t.committed||e.deps.refreshCells({rowIds:[t.rowId],colIds:[t.colId],force:!0}),e.deps.applyFocusVisuals(),queueMicrotask(()=>{!e.deps.isDestroyed()&&!e.isEditing()&&e.deps.viewportEl.focus({preventScroll:!0})}),k_(e.validationCtx(),t.rowId,[t.colId])}function L_(e,t){if(e.deps.isDestroyed())return;let n=e.deps.rowModel.getRow(t.rowIndex);if(!n)return;let r=e.deps.columnModel.getColumnById(t.colKey);if(!r||L(r.colId)||R(r.colId)||Ta(r)||!U(r,n,e.deps.getCellDisableContext()))return;let i=e.deps.getColIndex(r.colId);e.deps.cellFocusService.setFocusedCell({rowId:n.id,colId:r.colId,rowIndex:t.rowIndex,colIndex:i}),e.deps.applyFocusVisuals(),e.deps.ensureIndexVisible(t.rowIndex),e.deps.ensureColumnVisible(i),e.deps.redrawImmediately();let a=e.deps.mountEl.querySelector(`.mg-row[data-row-id="${n.id}"]`);a&&R_(e,{rowId:n.id,colId:r.colId,rowIndex:t.rowIndex,rowNode:n,rowElement:a})}function R_(e,t){if(jn(e.deps.editMode)){z_(e,t);return}B_(e,t)}function z_(e,t){if(e.deps.rowEditingService.isCommitting())return;if(e.deps.editingService.isEditing()){e.deps.editingService.stopEditing(!0).then(()=>{e.deps.editingService.isEditing()||z_(e,t)});return}if(e.deps.rowEditingService.isEditing()){if(e.deps.rowEditingService.getEditingRow()?.rowId===t.rowId)return;e.deps.rowEditingService.stopRowEditing(!0).then(n=>{n?.committed&&!e.deps.rowEditingService.isEditing()&&z_(e,t)});return}let n=e.deps.columnModel.getColumns().filter(n=>U(n,t.rowNode,e.deps.getCellDisableContext())&&!Ta(n)).map(n=>{let r=e.createCellEditorParams(t.rowNode,n);return{column:n,params:{rowId:r.rowId,rowIndex:r.rowIndex,colId:r.colId,value:r.value,data:r.data,formattedValue:r.formattedValue,validate:r.validate},oldValue:r.value}});if(n.length===0)return;let r=e.validationCtx();if(e.deps.rowEditingService.startRowEditing({rowElement:t.rowElement,rowNode:t.rowNode,columns:n,focusColId:t.colId,onCommitRow:(r,i)=>u_(e.commitCtx(),t.rowNode,n,r,i),onFocusColChange:n=>{let r=e.deps.getColIndex(n);e.deps.cellFocusService.setFocusedCell({rowId:t.rowId,colId:n,rowIndex:t.rowIndex,colIndex:r}),e.deps.applyFocusVisuals()},onRowEditingStopped:t=>{F_(e.lifecycleCtx(),t)},onCommitLifecycle:{onStarted:()=>{e.deps.eventBus.emit(`rowCommitStarted`,{rowId:t.rowId,rowIndex:t.rowIndex,editableColIds:n.map(e=>e.column.colId)})},onFinished:n=>{e.deps.eventBus.emit(`rowCommitFinished`,{rowId:t.rowId,rowIndex:t.rowIndex,committed:n.ok===!0,aborted:n.ok===`aborted`}),n.ok===!1&&n.failedColId?P_(r,t,n):n.ok===!0&&n.validationWarnings&&M_(e.deps,t,n.validationWarnings)},onAborted:()=>{e.deps.eventBus.emit(`editCommitAborted`,{rowId:t.rowId,rowIndex:t.rowIndex})}}})){e.deps.eventBus.emit(`rowEditingStarted`,{rowId:t.rowId,rowIndex:t.rowIndex,editableColIds:n.map(e=>e.column.colId)});for(let r of n)e.deps.eventBus.emit(`cellEditingStarted`,{rowId:t.rowId,colId:r.column.colId,rowIndex:t.rowIndex,value:r.oldValue});e.deps.applyFocusVisuals(),e.deps.syncPinnedRows()}}function B_(e,t){if(e.deps.rowEditingService.isCommitting())return;if(e.deps.rowEditingService.isEditing()){e.deps.rowEditingService.stopRowEditing(!0).then(n=>{n?.committed&&!e.deps.rowEditingService.isEditing()&&B_(e,t)});return}let n=e.deps.columnModel.getColumnById(t.colId);if(!n||!U(n,t.rowNode,e.deps.getCellDisableContext())||Ta(n))return;let r=e.createCellEditorParams(t.rowNode,n),i=r.formattedValue,a=r.value,o=()=>{e.deps.validationFeedback.clearRowCell(t.rowId,t.rowElement??null,t.colId),$(e.deps)},s=e.validationCtx();e.deps.editingService.startEditing(t.rowElement,t.rowNode,n,i,a,{editorParams:r,onCommit:(i,a)=>d_(e.commitCtx(),t.rowNode,n,i,r,a),onCancel:()=>void 0,onEditingInput:o,onEditingStopped:t=>{I_(e.lifecycleCtx(),t)},onTab:t=>{e.deps.onTabChainEdit(t)},onCommitLifecycle:{onStarted:()=>{o(),e.deps.eventBus.emit(`cellCommitStarted`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex})},onFinished:n=>{e.deps.eventBus.emit(`cellCommitFinished`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,committed:n.ok===!0,aborted:n.ok===`aborted`}),n.ok===!1&&n.errors?N_(s,t,n.errors,n.revert):n.ok===!0&&n.validationErrors?.length&&j_(e.deps,t,n.validationErrors)},onAborted:()=>{e.deps.eventBus.emit(`editCommitAborted`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex})}}}),e.deps.eventBus.emit(`cellEditingStarted`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,value:a}),e.deps.applyFocusVisuals(),e.deps.syncPinnedRows()}var V_=class{deps;constructor(e){this.deps=e}validate(e){return w_(this.validationCtx(),e)}validateRows(e){return T_(this.validationCtx(),e)}validateCells(e){return E_(this.validationCtx(),e)}clearValidation(e){x_(this.validationCtx(),e)}clearRowValidation(e){S_(this.validationCtx(),e)}clearCellValidation(e){C_(this.validationCtx(),e)}syncValidationDom(){b_(this.validationCtx())}syncValidationHeaderDom(){$(this.deps)}startEditingCell(e){L_(this.startCtx(),e)}stopEditing(e=!1){return this.deps.rowEditingService.isEditing()?this.deps.rowEditingService.stopRowEditing(!e).then(()=>void 0):this.deps.editingService.isEditing()?this.deps.editingService.stopEditing(!e).then(()=>void 0):Promise.resolve()}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()}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){z_(this.startCtx(),e)}tryStartCellEditing(e){B_(this.startCtx(),e)}createCellEditorParams(e,t){return c_(this.editorParamsCtx(),e,t)}validationCtx(){return{deps:this.deps,isEditing:()=>this.isEditing(),createCellEditorParams:(e,t)=>this.createCellEditorParams(e,t),getInvalidEditValueMode:()=>y_(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:()=>y_(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)}}},H_=`mg-column-drag-ghost`,U_=`mg-column-drag-ghost__icon`,W_=`mg-column-drag-ghost__label`,G_=`mg-column-drop-indicator`,K_=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=H_,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=U_,n.setAttribute(`aria-hidden`,`true`),n.append(Df());let r=document.createElement(`span`);r.className=W_,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=G_,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 q_(e,t){return[{colId:e,sort:`asc`}]}function J_(e,t){return[{colId:e,sort:`desc`}]}function Y_(e,t){return ma(t.filter(t=>t.colId!==e))}function X_(e,t){return t.find(t=>t.colId===e)?.sort??null}function Z_(e,t){return X_(e,t)!==null}var Q_=[{value:`contains`,label:`包含`},{value:`notContains`,label:`不包含`},{value:`equals`,label:`等于`},{value:`notEqual`,label:`不等于`},{value:`startsWith`,label:`开头是`},{value:`endsWith`,label:`结尾是`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`非空白`}],$_=[{value:`equals`,label:`等于`},{value:`notEqual`,label:`不等于`},{value:`lessThan`,label:`小于`},{value:`lessThanOrEqual`,label:`小于等于`},{value:`greaterThan`,label:`大于`},{value:`greaterThanOrEqual`,label:`大于等于`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`非空白`}],ev=[{value:`equals`,label:`等于`},{value:`notEqual`,label:`不等于`},{value:`lessThan`,label:`早于`},{value:`greaterThan`,label:`晚于`},{value:`inRange`,label:`范围内`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`非空白`}];function tv(e){switch(e){case`number`:return $_;case`date`:return ev;default:return Q_}}function nv(e){switch(e){case`number`:return`equals`;case`date`:return`equals`;default:return`contains`}}function rv(e){return{type:nv(e),value:``,valueTo:``}}function iv(e){return!Oi(e)}function av(e){return e===`inRange`}function ov(e){return e===`number`?`number`:`text`}function sv(e,t){return`过滤条件`}function cv(e){return`过滤条件`}function lv(e,t){return tv(t).some(t=>t.value===e)}function uv(e,t){let n=Si(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 dv(e,t,n){if(Oi(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 fv(e,t){return e?null:{setValues:t.filter(e=>e!==``)}}function pv(e,t,n){let r=bi(e).map(e=>({type:lv(e.type,t)?e.type:n,value:e.filter??``,valueTo:e.filterTo??``}));return r.length>0?r:[rv(t)]}function mv(e,t,n){let r=t.map(e=>dv(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 hv(e,t,n=`text`,r=[]){let i=t[e],a=nv(n),o=uv(void 0,r),s={operatorLogic:`AND`,operatorConditions:[rv(n)]};if(!i)return{customPredicate:!1,...s,...o};if(_i(i))return{customPredicate:!0,...s,...o};let c=uv(i,r);return{customPredicate:!1,operatorLogic:xi(i),operatorConditions:pv(i,n,a),...c}}function gv(e,t,n,r,i){let a=mv(e,t,i),o=fv(n,r);return!a&&!o?null:{...a,type:a?.type??i,...o??{}}}function _v(e,t,n,r){let i={...n},a=nv(r),o=gv(t.operatorLogic,t.operatorConditions,t.setAllSelected,t.selectedValues,a);return o&&(Ci(o)||wi(o))?i[e]=o:delete i[e],i}function vv(e,t,n,r,i,a,o=!0,s=[]){return _v(e,{operatorLogic:`AND`,operatorConditions:[{type:t,value:n,valueTo:a??``}],setAllSelected:o,selectedValues:s},r,i)}function yv(e,t){if(!(e in t))return t;let n={...t};return delete n[e],n}function bv(e){return Oi(e.type)?!1:e.type===`inRange`?e.value.trim()!==``||e.valueTo.trim()!==``:e.value.trim()!==``}function xv(e){let t=e[0];return t?bv(t):!1}function Sv(e){let{columnFilterType:t,abortSignal:n,onInput:r,onStopPropagation:i}=e,a=tv(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=ov(t),e.input.placeholder=sv(t,n),e.input.hidden=!iv(n),e.inputTo.type=ov(t),e.inputTo.placeholder=cv(t),e.inputTo.hidden=!av(n)},x=()=>{let e=p?bv(_(p)):!1;c.hidden=!e,e&&!m&&p&&(m=C(g??rv(t),!0),m.rowEl.hidden=!1,s.append(m.rowEl)),m&&(m.rowEl.hidden=!e),!e&&m&&(bv(_(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:[rv(t)];h=e.operatorLogic,g=n[1]??null,y(h),p=C(n[0]??rv(t)),m=null,s.append(p.rowEl,c),xv(n)?(m=C(n[1]??g??rv(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 Cv(e,t){let n=t.trim().toLowerCase();return n===``?[...e]:e.filter(e=>e.label.toLowerCase().includes(n)||e.key.toLowerCase().includes(n))}var wv=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 Tv(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 Ev=/^(\d{4})-(\d{2})-(\d{2})$/;function Dv(e){let t=Ev.exec(e),n=t?Number(t[3]):0;return{id:`d:${e}`,type:`day`,label:`${n}日`,key:e,children:[],leafKeys:[e]}}function Ov(e,t){return e.id.localeCompare(t.id,void 0,{numeric:!0})}function kv(e,t){return(e.key??``).localeCompare(t.key??``,void 0,{numeric:!0})}function Av(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=Ev.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(Dv(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(kv);i.push({id:`y:${e}:m:${t}`,type:`month`,label:`${t}月`,children:r,leafKeys:r.map(e=>e.key)})}i.sort(Ov),t.push({id:`y:${e}`,type:`year`,label:String(e),children:i,leafKeys:i.flatMap(e=>e.leafKeys)})}return t}function jv(e){let t=new Set;for(let n of e)n.type===`year`&&t.add(n.id);return t}function Mv(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 Nv(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?Nv(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 Pv(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 Fv(e,t,n){let r=t.trim().toLowerCase(),i=Av(e);if(r===``){let e=Mv(i,n);return{roots:i,expandedIds:new Set(n),rows:e,leafKeys:i.flatMap(e=>e.leafKeys)}}let a=Nv(i,r),o=Pv(a);return{roots:a,expandedIds:o,rows:Mv(a,o),leafKeys:a.flatMap(e=>e.leafKeys)}}function Iv(e,t){return Fv(e,t,new Set).leafKeys}function Lv(e,t){for(let n of e){if(n.id===t)return n;let e=Lv(n.children,t);if(e)return e}}var Rv=4;function zv(e,t,n,r=28,i=Rv){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 Bv=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 zv(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)}},Vv=class{viewOptions;element;scrollEl;spacerEl;windowEl;emptyEl;rowEls=new Map;expandedIds;rows=[];searchQuery=``;constructor(e){this.viewOptions=e,this.searchQuery=e.searchQuery??``,this.expandedIds=jv(Fv(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 Fv(this.viewOptions.options,this.searchQuery,this.expandedIds).leafKeys}syncViewState(){let e=Fv(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}=zv(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=Lv(Fv(this.viewOptions.options,this.searchQuery,this.expandedIds).roots,n);r&&(this.viewOptions.selection.setKeysChecked(r.leafKeys,t.checked),this.viewOptions.onSelectionChange(),this.renderRows())}},Hv=new WeakMap,Uv=new WeakMap;function Wv(e,t){let n=Hv.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 Gv(e){let t=document.createElement(`div`);return t.className=`mg-column-handle-menu__filter-group-heading`,t.textContent=e,t}function Kv(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 qv(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=hv(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=ul;let p=document.createElement(`div`);p.className=`mg-column-handle-menu__filter-group`,p.append(Gv(`过滤器`));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(Gv(`值选择`));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 wv(u,{setAllSelected:d.setAllSelected,selectedValues:d.selectedValues}),y=()=>Cv(i,g.value),b=()=>o,x=()=>_&&b()===`tree`?k?.getVisibleLeafKeys()??Iv(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 Vv({options:i,selection:v,searchQuery:g.value,onSelectionChange:()=>{D(),N(`set`)},emptySearchLabel:`无匹配项`,abortSignal:l}),A.append(k.element),M();return}O=new Bv({options:y(),selection:v,onSelectionChange:()=>{D(),N(`set`)},emptySearchLabel:`无匹配项`,abortSignal:l}),A.append(O.element),M()},M=()=>{let e=Hv.get(h);e&&(e.virtualList=O,e.dateTreeView=k)},N=e=>{let t=v.snapshot(),n=Tv(t,C(),x(),S());if(e===`set`&&n===null)return;let r=n??t,i=P.readState();s({source:e,operatorLogic:i.operatorLogic,operatorConditions:i.operatorConditions,setAllSelected:r.setAllSelected,selectedValues:r.selectedValues})},ee=()=>{N(`operator`)},te=()=>{N(`set`)},P=Sv({columnFilterType:r,initialState:{operatorLogic:d.operatorLogic,operatorConditions:d.operatorConditions},abortSignal:l,onInput:ee,onStopPropagation:m});p.append(P.element),Uv.set(f,P),i.length===0&&(g.disabled=!0,T.disabled=!0),h.append(A),j(),Hv.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`&&te()},{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(),te()}},{signal:l});let F=document.createElement(`div`);F.className=`mg-column-handle-menu__filter-actions`;let ne=Kv(c,l);return F.append(ne),f.append(p,h,F),{root:f,panelRoot:f,customPredicate:!1,syncState:e=>{Jv(f,e)}}}function Jv(e,t){let n=e.querySelector(`.mg-column-handle-menu__filter-set-panel`);Uv.get(e)?.syncState({operatorLogic:t.operatorLogic,operatorConditions:t.operatorConditions}),n&&Wv(n,t)}var Yv=8,Xv=4;function Zv(e,t,n){let r=e.left,i=e.bottom+Xv;return i+n>window.innerHeight-Yv&&(i=e.top-n-Xv),r=Math.max(Yv,Math.min(r,window.innerWidth-t-Yv)),i=Math.max(Yv,Math.min(i,window.innerHeight-n-Yv)),{left:r,top:i}}function Qv(e,t){let n=document.createElement(`span`);n.className=il,e&&n.append(e);let r=document.createElement(`span`);return r.className=al,r.textContent=t,n.append(r),n}function $v(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=rl,r.dataset.action=t,n?.targetColId&&(r.dataset.targetColId=n.targetColId),r.append(Qv(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 ey(){let e=document.createElement(`div`);return e.className=ll,e.setAttribute(`role`,`separator`),e}function ty(e,t){let n=document.createElement(`div`);n.className=`${nl} ${dl}`;let r=X_(e,t);return n.append($v(`升序`,`sort-asc`,{checked:r===`asc`,icon:kf()}),$v(`降序`,`sort-desc`,{checked:r===`desc`,icon:Af()})),Z_(e,t)&&n.append($v(`清除排序`,`sort-clear`)),n}function ny(e,t){t.classList.remove(`mg-column-handle-menu__submenu-panel--flip`);let n=e.getBoundingClientRect(),r=t.offsetWidth;n.right+r>window.innerWidth-Yv&&t.classList.add(`mg-column-handle-menu__submenu-panel--flip`)}function ry(e){let t=document.createElement(`div`);t.className=`${nl} ${fl}`;let n=document.createElement(`div`);n.className=sl;let r=document.createElement(`button`);r.type=`button`,r.className=`${rl} ${ol}`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,`false`),r.append(Qv(jf(),`固定列`)),r.append(Ff());let i=document.createElement(`div`);i.className=cl,i.setAttribute(`role`,`menu`),i.hidden=!0,i.append($v(`不固定`,`pin-none`,{role:`menuitemradio`,checked:e===null,icon:Mf()}),$v(`固定左侧`,`pin-left`,{role:`menuitemradio`,checked:e===`left`,icon:Nf()}),$v(`固定右侧`,`pin-right`,{role:`menuitemradio`,checked:e===`right`,icon:Pf()}));let a=()=>{i.hidden=!1,r.setAttribute(`aria-expanded`,`true`),n.classList.add(`mg-column-handle-menu__submenu--open`),ny(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 iy(e,t,n){let r=()=>{n.hidden=!1,t.setAttribute(`aria-expanded`,`true`),e.classList.add(`mg-column-handle-menu__submenu--open`),ny(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 ay(e){let t=document.createElement(`div`);t.className=`${nl} ${ml}`;let n=document.createElement(`div`);n.className=sl;let r=document.createElement(`button`);r.type=`button`,r.className=`${rl} ${ol}`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,`false`),r.append(Qv(If(),`列显隐`)),r.append(Ff());let i=document.createElement(`div`);i.className=cl,i.setAttribute(`role`,`menu`),i.hidden=!0,i.append($v(`隐藏此列`,`hide-column`,{icon:Lf()})),e.length>0&&i.append(ey());for(let t of e)i.append($v(t.label,`show-column`,{targetColId:t.colId,icon:Rf()}));return iy(n,r,i),n.append(r,i),t.append(n),t}function oy(e,t,n,r,i,a,o,s){let c=document.createElement(`div`);c.className=`${nl} ${pl}`;let l=qv({colId:e,filterModel:t,columnFilterType:n,distinctFilterValues:r,filterSetValueMode:i,filterSetDateLayoutMode:a,onFilterInput:o,abortSignal:s});return c.append(l.root),c}var sy=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=tl;let n=document.createElement(`div`);n.className=el,n.setAttribute(`role`,`menu`),n.dataset.colId=e.colId;let r=[];e.sections.sort&&r.push(ty(e.colId,e.sortModel)),e.sections.pin&&r.push(ry(e.fixed)),e.sections.visibility&&r.push(ay(e.hiddenUserColumns)),e.sections.filter&&r.push(oy(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(ey()),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(`.${ul}`);t&&Jv(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}=Zv(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`)}},cy=new Set([`sort-asc`,`sort-desc`,`sort-clear`]),ly={"pin-none":null,"pin-left":`left`,"pin-right":`right`},uy=class{deps;view=new sy;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=gl({colId:e.colId,sortable:t.sortable,filterable:t.filterable},e.mode??`full`);if(!_l(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:ja(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(cy.has(e)){this.applySortAction(e,t);return}let r=ly[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=q_(t,n);break;case`sort-desc`:r=J_(t,n);break;case`sort-clear`:r=Y_(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&&_i(r))return;this.clearFilterDebounce();let i=()=>{let r=_v(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=yv(e,this.deps.getFilterModel());this.deps.setFilterModel(n),this.view.syncFilterPanel(hv(e,n,t.filterType,this.deps.getColumnDistinctFilterValues(e).map(e=>e.key)))}clearFilterDebounce(){this.filterDebounceTimer!=null&&(clearTimeout(this.filterDebounceTimer),this.filterDebounceTimer=null)}};function dy(e){let{current:t,colId:n,sortable:r}=e;if(!r)return ma(t);let i=ma(t).find(e=>e.colId===n);return i?i.sort===`asc`?[{colId:n,sort:`desc`}]:[]:[{colId:n,sort:`asc`}]}function fy(e,t){return t.find(t=>t.colId===e)?.sort??null}function py(e){return e===`asc`?`ascending`:e===`desc`?`descending`:`none`}var my=class{deps;constructor(e){this.deps=e}toggleSort(e){if(!this.deps.getColumnById(e)?.sortable)return;let t=dy({current:this.deps.getSortModel(),colId:e,sortable:!0});this.deps.setSortModel(t)}getSortState(e){return fy(e,this.deps.getSortModel())}};function hy(e){let t=document.createElement(`div`);return t.className=`mg-header-row__lane mg-header-row__lane--${e}`,t}function gy(e){let t=document.createElement(`div`);return t.className=`mg-footer-row__lane mg-footer-row__lane--${e}`,t}function _y(e){let t=document.createElement(`div`);return t.className=`mg-floating-filter-row__lane mg-floating-filter-row__lane--${e}`,t}function vy(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=hy(`left`),c=hy(`center`),l=hy(`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`,m.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}=Xg();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=_y(`left`),k=_y(`center`),A=_y(`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,ee,te,P,F;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`),ee=document.createElement(`div`),ee.className=`mg-footer-row`,te=gy(`left`),P=gy(`center`),F=gy(`right`),ee.append(te,P,F);let e=document.createElement(`div`);e.className=`mg-footer-span`,e.setAttribute(`aria-hidden`,`true`),M.append(ee,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:ee,footerLeftLaneEl:te,footerCenterLaneEl:P,footerRightLaneEl:F,floatingFilterViewportEl:w,floatingFilterScrollEl:T,floatingFilterGutterEl:E,floatingFilterRowEl:D,floatingFilterLeftLaneEl:O,floatingFilterCenterLaneEl:k,floatingFilterRightLaneEl:A,overlayEl:x,overlayWrapperEl:S,overlayContentEl:C}}var yy=`mg-floating-filter-cell`,by=`mg-floating-filter-cell--active`,xy=`mg-floating-filter-cell__inner`,Sy=`mg-floating-filter-control`,Cy=`mg-floating-filter-control--readonly`,wy=`mg-floating-filter-input`,Ty=`mg-floating-filter-input--readonly`,Ey=`mg-floating-filter-button`,Dy=`mg-floating-filter-button--active`,Oy=`contains`,ky={blank:`空白`,notBlank:`非空白`};function Ay(e){return e===`OR`?`或者`:`并且`}function jy(e){if(Oi(e.type))return ky[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 My(e){return!e||_i(e)?!1:bi(e).filter(yi).length>=2}function Ny(e){if(!e||_i(e))return``;let t=bi(e),n=t.filter(yi);if(n.length>=2){let[t,r]=n,i=Ay(xi(e));return`${jy(t)} ${i} ${jy(r)}`}let[r]=n.length>0?n:t;return r?(r.type,r.filter??``):``}function Py(e,t){return!(!e||t&&_i(t))}function Fy(e,t){return Py(e,t)?!My(t):!1}function Iy(e,t,n){let r=Ai(t,n);e.classList.toggle(by,r);let i=e.querySelector(`.${Ey}`);i&&(i.classList.toggle(Dy,r),r?i.setAttribute(`aria-pressed`,`true`):i.removeAttribute(`aria-pressed`))}function Ly(e,t){let n=Array.isArray(e)?e:[e];for(let e of n){let n=Array.from(e.querySelectorAll(`.${yy}[data-col-id]`));for(let e of n){let n=e.dataset.colId;n&&Iy(e,n,t)}}}var Ry=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=Bo(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=Fy(r?.filterable??!1,i);n.input.readOnly=!a,n.input.classList.toggle(Ty,!a),n.input.tabIndex=a?0:-1,n.control.classList.toggle(Cy,!a),n.input.value=Ny(i)}Ly([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,t,n){let r=this.lanes[e];r.replaceChildren();for(let e of t){let t=n.columnModel.getColumn(e);if(!t)continue;let i=document.createElement(`div`);i.className=yy,i.dataset.colId=t.colId,L(t.colId)?i.classList.add(`mg-floating-filter-cell--index`):R(t.colId)&&i.classList.add(`mg-floating-filter-cell--selection`);let a=n.filterModel[t.colId],o=Py(t.filterable,a),s=Fy(t.filterable,a);if(t.filterable){let e=document.createElement(`div`);e.className=xy;let r=document.createElement(`div`);if(r.className=Sy,o){let e=document.createElement(`input`);e.type=`text`,e.className=wy,e.setAttribute(`aria-label`,`${t.label??t.prop??t.colId} 筛选`),e.value=Ny(a),e.readOnly=!s,s||(e.classList.add(Ty),r.classList.add(Cy),e.tabIndex=-1),s&&e.addEventListener(`input`,()=>{n.onInput(t.colId,e.value)}),e.addEventListener(`focus`,()=>{this.focusedColId=t.colId,n.onFocus?.(t.colId)}),e.addEventListener(`blur`,()=>{this.focusedColId===t.colId&&(this.focusedColId=null),n.onBlur?.(t.colId)}),r.append(e),this.inputBindings.push({colId:t.colId,input:e,control:r})}else{let e=document.createElement(`span`);e.className=`mg-floating-filter-cell__spacer`,e.setAttribute(`aria-hidden`,`true`),r.append(e)}let c=document.createElement(`button`);c.type=`button`,c.className=Ey,c.title=`列筛选`,c.setAttribute(`aria-label`,`${t.label??t.prop??t.colId} 列筛选`),c.setAttribute(`aria-haspopup`,`menu`),c.setAttribute(`aria-expanded`,`false`),c.append(Of()),r.append(c),e.append(r),i.append(e)}Iy(i,t.colId,n.filterModel),Eo(i,To(t,n.columnModel),yy),r.appendChild(i)}}};function zy(e,t,n,r){e.style.width=`${r.getLeftFixedWidth()}px`,t.style.width=`${r.getCenterTotalWidth()}px`,n.style.width=`${r.getRightFixedWidth()}px`}function By(e,t,n,r){Do(e,r,yy),Do(t,r,yy),Do(n,r,yy)}function Vy(e,t,n,r=`text`){let i=n[e],a=!0,o=[];if(i&&!_i(i)){let e=Si(i);e!==void 0&&(a=!1,o=e)}return vv(e,Oy,t,n,r,void 0,a,o)}var Hy=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&&_i(r))return;let i=this.debounceTimers.get(e);i!=null&&clearTimeout(i),this.debounceTimers.set(e,setTimeout(()=>{this.debounceTimers.delete(e);let r=Vy(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 Uy(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 Wy(e,t,n){return Uy(e,t,n)!==0}function Gy(e){return e.scrollWidth>e.clientWidth+1}var Ky=class{deps;host;drag=null;scrollRaf=null;constructor(e,t){this.deps=e,this.host=t}isActive(){return this.drag!=null}canStart(e,t,n){if(n||this.drag||!e?.movable||e.hidden||L(e.colId)||R(e.colId))return!1;let r=Q(t);return!(r?.closest(`.mg-selection-checkbox--header`)||!r?.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},document.addEventListener(`mousemove`,this.handleMove),document.addEventListener(`mouseup`,this.handleEnd))}end(e){let t=this.drag;t&&(document.removeEventListener(`mousemove`,this.handleMove),document.removeEventListener(`mouseup`,this.handleEnd),this.deps.columnDragController.cleanup(t.sourceCell,this.deps.headerViewportEl),this.deps.setColumnMoveLiveDragging(!1),this.drag=null,this.scrollRaf!=null&&(cancelAnimationFrame(this.scrollRaf),this.scrollRaf=null),e&&(this.host.setSuppressColumnClick(!0),this.host.setSuppressColumnHandleClick(!0),window.setTimeout(()=>{this.host.setSuppressColumnClick(!1),this.host.setSuppressColumnHandleClick(!1)},0)))}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.deps.suppressMoveWhenColumnDragging()||this.deps.setColumnMoveLiveDragging(!0);let e=t.sourceCell.getBoundingClientRect(),i=this.deps.columnModel.getColumnById(t.colId),a=this.resolveGhostPosition(e);this.deps.columnDragController.setColumnMoving(t.colId),this.deps.columnDragController.setSourceHeaderDragging(t.sourceCell,!0),this.deps.columnDragController.setHeaderViewportDragging(this.deps.headerViewportEl,!0),this.deps.columnDragController.startGhost({label:i?.label??i?.prop??t.colId,width:e.width,height:e.height,left:a.left,top:a.top,mountEl:this.deps.mountEl})}let i=t.sourceCell.getBoundingClientRect(),a=this.resolveGhostPosition(i);this.deps.columnDragController.moveGhost(a.left,a.top),t.pointerX=e.clientX,this.renderAtPointer(t,e.clientX),Wy(t.pointerX,...this.getScrollBounds(t))&&this.ensureEdgeScrollLoop()};handleEnd=e=>{let t=this.drag;if(t){if(t.active)if(this.deps.suppressMoveWhenColumnDragging()){let n=this.resolveDropAtClientX(e.clientX,t);n&&this.deps.moveColumn(t.colId,n.globalIndex,!0,n.toFixed)}else this.deps.finishColumnMove(t.colId);this.end(t.didMove)}};renderAtPointer(e,t){let n=this.resolveDropAtClientX(t,e);e.dropLaneEl=this.resolveDropLaneEl(t,n,e.colId),this.updateDropIndicator(e,n),this.deps.suppressMoveWhenColumnDragging()||this.applyLiveMove(e,n)}resolveDropLaneEl(e,t,n){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)}return[{fixed:`left`,el:this.deps.headerLeftLaneEl},{fixed:null,el:this.deps.headerCenterLaneEl},{fixed:`right`,el:this.deps.headerRightLaneEl}].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}resolveGhostPosition(e){return{left:e.left,top:e.bottom}}isSameDropTarget(e,t){return!e||!t?e===t:e.globalIndex===t.globalIndex&&e.toFixed===t.toFixed}getScrollBounds(e){let t=this.resolveScrollHost(e).getBoundingClientRect();return[t.left,t.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}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&&!Gy(t)){this.scrollRaf=null;return}let n=t.getBoundingClientRect(),r=Uy(e.pointerX,n.left,n.right);if(r!==0&&(t===this.deps.viewportEl?this.deps.scrollByHorizontalDelta(r):t.scrollLeft=Math.max(0,Math.min(t.scrollLeft+r,t.scrollWidth-t.clientWidth)),this.renderAtPointer(e,e.pointerX)),Wy(e.pointerX,n.left,n.right)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null};updateDropIndicator(e,t){if(!t){this.deps.columnDragController.hideDropIndicator();return}let n=this.deps.columnModel.getColumn(t.globalIndex),r=n?e.dropLaneEl.querySelector(`.mg-header-cell[data-col-id="${n.colId}"]`):null;if(r){let e=r.getBoundingClientRect();this.deps.columnDragController.showDropIndicator(e.left,e.top,e.height);return}let i=e.dropLaneEl.getBoundingClientRect();this.deps.columnDragController.showDropIndicator(Math.max(i.left,i.right-2),i.top,i.height)}applyLiveMove(e,t){!t||this.isSameDropTarget(t,e.lastDropTarget)||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)}refreshSourceCell(e){let t=e.laneEl.querySelector(`.mg-header-cell[data-col-id="${e.colId}"]`);t&&(e.active&&(this.deps.columnDragController.setSourceHeaderDragging(e.sourceCell,!1),this.deps.columnDragController.setSourceHeaderDragging(t,!0)),e.sourceCell=t)}resolveHitLane(e,t){let n=[{fixed:`left`,el:this.deps.headerLeftLaneEl},{fixed:null,el:this.deps.headerCenterLaneEl},{fixed:`right`,el:this.deps.headerRightLaneEl}];if(!this.deps.allowCrossLaneColumnMove()){let e=this.deps.columnModel.getColumnById(t.colId)?.fixed??null;return n.find(({fixed:t})=>t===e)||{fixed:e,el:t.laneEl}}return n.find(({el:t})=>{let n=t.getBoundingClientRect();return e>=n.left&&e<=n.right})??n.find(({el:e})=>e===t.laneEl)??{fixed:null,el:this.deps.headerCenterLaneEl}}resolveDropAtClientX(e,t){let n=this.resolveHitLane(e,t),r=this.deps.columnModel.getColumns(),i=this.deps.columnModel.getFixedColumnGroups(),a=n.el.getBoundingClientRect(),o=[...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}]});return Yr({columns:r,fixedGroups:i,clientX:e,laneRectLeft:a.left,laneRectRight:a.right,targetFixed:n.fixed,laneHeaderCells:o})}};function qy(e,t){let n=t.clientX,r=0,i=!1,a=t=>{if(e.rootEl.classList.toggle(`mg-root--column-resizing`,t),t){document.body.style.cursor=`col-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.clientX-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)}function Jy(e,t){return e}var Yy=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=Ig(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:qy({rootEl:Ig(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,t){if(this.columnResize)return!1;let n=this.deps.cellFocusService.getFocusedCell();if(!n||!ve(n))return!1;let r=n.colId;if(L(r)||R(r)||!this.deps.columnModel.getColumnById(r)?.resizable)return!1;(!this.keyboardColumnResize||this.keyboardColumnResize.colId!==r)&&(this.keyboardColumnResize={colId:r,multiplier:0}),this.keyboardColumnResize.multiplier+=1;let i=(e===`left`?-1:1)*this.keyboardColumnResize.multiplier,a=this.deps.mountEl.querySelector(`.mg-header-cell[data-col-id="${r}"]`);return a&&this.markActiveCell(a),this.deps.resizeHeaderColumn(r,i,t),!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(){Ig(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=Jy(e,r.fixed??null),a=n.startWidth+i;this.deps.setColumnWidths([{colId:n.colId,newWidth:a}],n.shiftKey,t)}};function Xy(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`,`.${nf}`].join(`, `))}var Zy=class{deps;host;constructor(e,t){this.deps=e,this.host=t}applyFocusVisuals(){let e=this.deps.cellFocusService.getFocusedCell();this.syncHeaderFocusVisual(e&&ve(e)?e.colId:null),this.syncFooterFocusVisual(e&&ye(e)?e.colId:null),!e||I(e)?this.deps.rowRenderer.setFocusedCell(null):this.deps.rowRenderer.setFocusedCell({rowId:e.rowId,colId:e.colId}),this.deps.syncCellRangeHighlightVisuals?.()}navigateTabChainEdit(e,t){let n=this.deps.cellFocusService.getFocusedCell();if(!n)return;let r=this.deps.rowModel.getRowCount(),i=de(this.deps.columnModel);if(r===0||i.length===0)return;let a=Ee(n,e,r,i,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&&U(r,n,this.deps.getCellDisableContext()))},this.getFocusChromeNavigation());if(!a){t(e);return}this.deps.ensureIndexVisible(a.rowIndex,`middle`),this.deps.ensureColumnVisible(a.colIndex),this.setFocusedCell(a),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=de(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&&(I(r)||this.deps.ensureIndexVisible(r.rowIndex,`middle`),this.deps.ensureColumnVisible(r.colIndex),this.setFocusedCell(r))}navigateFocusToEdge(e){let t=this.deps.rowModel.getRowCount(),n=de(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&&(I(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=de(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&&(I(r)||this.deps.ensureIndexVisible(r.rowIndex,`middle`),this.deps.ensureColumnVisible(r.colIndex),this.setFocusedCell(r))}setFocusedCell(e){let t=this.normalizeSpanFocus(e);if(this.deps.cellFocusService.setFocusedCell(t),this.applyFocusVisuals(),I(t)){let e=this.deps.rowModel.getRow(0);e&&this.deps.eventBus.emit(`cellFocused`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:e});return}let n=this.deps.rowModel.getRow(t.rowIndex);n&&this.deps.eventBus.emit(`cellFocused`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:n})}normalizeSpanFocus(e){let t=this.deps.cellSpanService();if(!t?.active||I(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:kg(this.deps.columnModel,n.colId)}}focusCellTarget(e){this.setFocusedCell({rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,colIndex:kg(this.deps.columnModel,e.colId)})}toggleIndexFocusFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||I(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||I(e)?!1:this.toggleInlineCheckboxAtCell(e.rowId,e.colId,e.rowIndex)}toggleRowSelectionFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||I(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||I(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||I(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||I(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 t=this.deps.cellFocusService.getFocusedCell();if(!t||!ve(t))return!1;let n=t.colId;if(L(n)||R(n))return!1;let r=Jr({columns:this.deps.columnModel.getColumns(),colId:n,toGlobalIndex:-1,fixedGroups:this.deps.columnModel.getFixedColumnGroups(),direction:e});return r==null||!this.deps.moveColumn(n,r,!0)?!1:(this.setFocusedCell({rowId:t.rowId,colId:n,rowIndex:t.rowIndex,colIndex:r}),!0)}toggleHeaderSortFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||!ve(e)||!this.host.canToggleHeaderSort(e.colId)?!1:(this.deps.toggleHeaderSort(e.colId),!0)}toggleHeaderSelectionFromFocus(){let e=this.deps.cellFocusService.getFocusedCell();return!e||!ve(e)||!this.host.isSelectionColumnEntry(e.colId)||!this.host.isSelectionHeaderMultiple()?!1:(this.host.toggleSelectAllVisibleRows(),!0)}startEditingFocusedCell(){let e=this.deps.cellFocusService.getFocusedCell();if(!e||I(e))return;let t=this.deps.rowModel.getRow(e.rowIndex);if(!t)return;let n=this.deps.mountEl.querySelector(`.mg-row[data-row-id="${e.rowId}"]`);if(!n)return;if(jn(this.deps.editMode)){this.deps.tryStartRowEditing({rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,rowNode:t,rowElement:n});return}let r=this.deps.columnModel.getColumnById(e.colId);!r||!U(r,t,this.deps.getCellDisableContext())||Ta(r)||this.deps.tryStartCellEditing({rowId:e.rowId,colId:e.colId,rowIndex:e.rowIndex,rowNode:t,rowElement:n})}isHeaderNavigationEnabled(){return this.deps.navigateHeader()}isFooterNavigationEnabled(){return this.deps.showSummary()&&this.deps.navigateFooter()}isInlineCheckboxClickTarget(e){return e instanceof Element&&e.closest(`input.mg-inline-checkbox`)!=null}toggleInlineCheckboxAtCell(e,t,n){let r=this.deps.columnModel.getColumnById(t);if(!r||!Ta(r)||r.cellEditor!==`checkbox`)return!1;let i=this.deps.rowModel.getRow(n);if(!i||!U(r,i,this.deps.getCellDisableContext()))return!1;let a=this.deps.mountEl.querySelector(`.mg-row[data-row-id="${e}"] .mg-cell[data-col-id="${t}"]`);if(!a)return!1;let o=a.querySelector(`input.${O}`);return!o||o.disabled?!1:(o.checked=!o.checked,o.dispatchEvent(new Event(`change`,{bubbles:!0})),!0)}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()}}},Qy=class{deps;host;drag=null;scrollRaf=null;constructor(e,t){this.deps=e,this.host=t}isActive(){return this.drag!=null}begin(e){this.end(),(e.kind===`index`?this.deps.indexFocusService:this.deps.selectionService)?.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},document.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(),document.addEventListener(`mousemove`,this.handleMove,!0),document.addEventListener(`mouseup`,this.handleUp,!0)}end(){document.removeEventListener(`mousemove`,this.handleMove,!0),document.removeEventListener(`mouseup`,this.handleUp,!0),document.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();Nm(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=jm(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=Am(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),Nm(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);if(this.drag.kind===`index`){if(!this.deps.indexFocusService)return;this.deps.indexFocusService.selectRangeBetween(this.drag.anchorRowIndex,e,t),this.deps.applyIndexFocusVisuals(),this.deps.emitIndexFocusChanged(this.deps.indexFocusService.getFocusedRowIds()),this.host.syncCellRangeFromIndexFocus?.(e);return}this.deps.selectionService&&(this.deps.selectionService.selectRangeBetween(this.drag.anchorRowIndex,e,n,{rowCount:this.deps.rowModel.getRowCount(),getAllRowIdAt:t}),this.deps.applySelectionVisuals(),this.deps.emitSelectionChanged(this.deps.selectionService.getSelectedRowIds()))}};function $y(e,t,n,r){return Am(e,t,n,r)}function eb(e,t,n){return Uy(e,t,n)}function tb(e,t,n){return Nm(e,t,n)}function nb(e,t,n){return Wy(e,t,n)}function rb(e,t,n){return tb(t,n.top,n.bottom)||nb(e,n.left,n.right)}function ib(e){return e.fixed??`center`}function ab(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 ob(e,t,n){let r=n.getBoundingClientRect();return e>=r.left&&e<r.right&&t>=r.top&&t<r.bottom}function sb(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;if(ob(e,t,a))return o;let c=ab(e,i,n,r.clientWidth);if(ib(s)!==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=ao(r.scrollLeft,o,s);if(lb(e-i.left,t,o,c))return null}return o}function cb(e,t){return e.filter(e=>ib(e)===t)}function lb(e,t,n,r){return r+(e-t)>=n}function ub(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=ab(n,a,e,t.clientWidth);if(d===`left`){let e=cb(i,`left`);return e.length===0?null:e[no(e,o)]?.colId??null}if(d===`right`){let e=cb(i,`right`);if(e.length===0)return null;let t=s+l,n=o-s-u;return e[no(e.map(e=>({...e,left:e.left-t})),n)]?.colId??null}let f=cb(i,`center`);if(f.length===0)return null;let p=ao(r,l,u);return lb(o,s,l,p)?null:f[no(f,p+(o-s))]?.colId??null}function db(e,t,n,r,i,a,o){let s=jm(e,n,r,i,a);if(!s)return null;let c=n.getBoundingClientRect(),l=o(),u=sb(r,i,t,n,c)??ub(t,n,r,l);return u?{rowIndex:s.rowIndex,colId:u}:null}var fb=class{deps;host;drag=null;scrollRaf=null;constructor(e,t){this.deps=e,this.host=t}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.isInlineCheckboxClickTarget(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 J(e.colId,i)}begin(e){this.end();let t=e.mode??`replace`,n=this.deps.getCellRangeService(),r=t===`append`&&n?n.getRanges():[],i=Cg(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},document.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(),document.addEventListener(`mousemove`,this.handleMove,!0),document.addEventListener(`mouseup`,this.handleUp,!0)}end(){document.removeEventListener(`mousemove`,this.handleMove,!0),document.removeEventListener(`mouseup`,this.handleUp,!0),document.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();rb(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=db(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||!J(n.colId,i))return;let a=Cg(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=$y(e.pointerY,t.top,t.bottom,this.deps.getRowHeight()),r=eb(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),rb(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=Ms({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=Ms(i,i),o=this.deps.getCellRangeOperationContext();n.addRange(a,o,i)&&(this.deps.applyCellRangeVisuals(),this.deps.emitCellSelectionChanged(`ui`))}},pb=class{deps;drag=null;scrollRaf=null;constructor(e){this.deps=e}isActive(){return this.drag!=null}canStart(){if(this.deps.isCommitting()||!Os(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=Y(i,r.displayedColIds);return a?(this.end(),this.drag={fixedAnchor:{rowIndex:a.top,colId:a.leftColId},sourceRange:a,previewRange:a,pointerX:e,pointerY:t},document.body.classList.add(`mg-fill-handle-dragging`),document.addEventListener(`mousemove`,this.handleMove,!0),document.addEventListener(`mouseup`,this.handleUp,!0),!0):!1}end(){document.removeEventListener(`mousemove`,this.handleMove,!0),document.removeEventListener(`mouseup`,this.handleUp,!0),document.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();rb(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=yg(e.sourceRange,e.previewRange,n.displayedColIds),a=t.fillReverseStrategy===`clear`?bg(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=db(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=Cg(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=dg({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([Ps(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=$y(e.pointerY,t.top,t.bottom,this.deps.getRowHeight()),r=eb(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),rb(e.pointerX,e.pointerY,t)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null}},mb=class{deps;drag=null;scrollRaf=null;constructor(e){this.deps=e}isActive(){return this.drag!=null}canStart(){if(this.deps.isCommitting()||!ks(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=Y(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},document.body.classList.add(`mg-range-handle-dragging`),document.addEventListener(`mousemove`,this.handleMove,!0),document.addEventListener(`mouseup`,this.handleUp,!0),!0}end(){document.removeEventListener(`mousemove`,this.handleMove,!0),document.removeEventListener(`mouseup`,this.handleUp,!0),document.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();rb(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=db(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=Cg(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=$y(e.pointerY,t.top,t.bottom,this.deps.getRowHeight()),r=eb(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),rb(e.pointerX,e.pointerY,t)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null}},hb=class{deps;constructor(e){this.deps=e}isEligibleDataCell(e,t){return J(e,t)}normalizeTarget(e){let t=Cg(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 Cg(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()||ws(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=Rs(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}selectFocusedCellRange(){if(!this.isActive())return!1;let e=this.deps.cellFocusService.getFocusedCell();if(!e||I(e))return!1;let t=this.deps.rowModel.getRow(e.rowIndex);return t?this.setSingleCellRange({rowId:t.id,rowIndex:e.rowIndex,colId:e.colId,rowNode:t}):!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=Ms(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&&!I(r)?t.extendFocusedRange({rowIndex:r.rowIndex,colId:r.colId},i,n):t.setRanges([Ms(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=Ms(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||I(n)||!this.isEligibleDataCell(n.colId,this.deps.rowModel.getRow(n.rowIndex)?.rowKind))return!0;let r=Ce(n,e,this.deps.rowModel.getRowCount(),de(this.deps.columnModel),e=>this.deps.rowModel.getRow(e)?.id,e=>this.deps.columnModel.getColumn(e)?.colId,this.deps.getFocusChromeNavigation());if(!r||I(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=Vs({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 gb(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 _b=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 t=Ig(this.deps.mountEl).querySelector(`.mg-row[data-row-id="${CSS.escape(e.rowId)}"] .mg-cell[data-col-id="${CSS.escape(Ae)}"]`);t&&(e.sourceCell=t,this.markActiveCell(t))}canStart(e,t,n){return n||this.rowResize||!this.deps.indexColumnOptions.showIndexColumn||!this.deps.indexColumnOptions.indexColumn.enableRowResizer||!L(e)?!1:Q(t)?.closest(`.${Wi}`)!=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:gb({rootEl:Ig(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(Gi)}clearActiveCell(){Ig(this.deps.mountEl).querySelectorAll(`.mg-cell[data-row-resize-active]`).forEach(e=>{e instanceof HTMLElement&&(e.removeAttribute(`data-row-resize-active`),e.classList.remove(Gi))})}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)}},vb=[`--mg-color-row-drop-indicator`,`--mg-row-drop-indicator-height`,`--mg-row-drop-indicator-z-index`],yb=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=ea,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($i),this.sourceCellEl=e,e?.classList.toggle($i,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 vb){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}};function bb(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 xb(e,t){let n=new Map;for(let r of t){let t=Sm(e,r);t&&n.set(r,t)}return n}function Sb(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 Cb(e,t,n){if(!t||t.size===0)return!1;for(let r of e)if(!bb(t.get(r),Sm(n,r)))return!0;return!1}function wb(e,t,n,r,i){return r===i?e<0||dh(t,n)===e:!1}function Tb(e){return Sb(e.rowIds,e.startSourceIndices,e.sourceRows)||Cb(e.rowIds,e.startTreePositions,e.sourceRows)?!0:!e.dropAllowed||e.managed?!1:!wb(e.startDisplayIndex,e.dropInsertIndex,e.rowCount,e.nestUnderRowId,e.startNestUnderRowId)}function Eb(e){return e.fromIndex!==e.toIndex||!bb(e.startTreePosition,e.currentTreePosition)}var Db=class{deps;drag=null;scrollRaf=null;dragController=new yb;constructor(e){this.deps=e}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&&Ob(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?.()&&Jm(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:xb(a,r),startNestUnderRowId:null},document.addEventListener(`mousemove`,this.handleMove),document.addEventListener(`mouseup`,this.handleEnd)}end(e){let t=this.drag;t&&(document.removeEventListener(`mousemove`,this.handleMove),document.removeEventListener(`mouseup`,this.handleEnd),this.dragController.cleanup(),this.deps.setRowMoveLiveDragging(!1),document.body.classList.remove(`mg-row-dragging`,na),document.body.style.removeProperty(`cursor`),document.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(ua(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,document.body.classList.add(`mg-row-dragging`),document.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:kb(t.sourceCell,t.rowId,t.rowIds.length),width:e.width,height:e.height,left:e.left,top:e.top,mountEl:Ig(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();Nm(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(ua(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=lh(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:zm({rowModel:this.deps.rowModel,viewportEl:this.deps.viewportEl,clientX:e,clientY:t,getLogicalScrollTop:this.deps.getLogicalScrollTop,altKey:n,movingRowIds:r})}setDropForbidden(e){document.body.classList.toggle(na,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=dh(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:r,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.hasSortModel(),a=dh(t,this.deps.rowModel.getRowCount()),o=this.deps.rowModel.getRowIndexById(e.rowId);if(o>=0&&a===o)return!1;let s=hm({sourceRows:this.deps.rowModel.getSourceRows(),displayRows:this.deps.rowModel.rowsToDisplay,sortModelLength:+!!i,filterModelKeyCount:Object.keys(this.deps.rowModel.getFilterModel()).length}),c=ym(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()?nh(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 Tb({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(){let e=(this.deps.isRowGroupingActive?.()??!1)||(this.deps.isTreeActive?.()??!1);return this.deps.rowDragManaged&&!ca(this.deps.hasSortModel(),this.deps.rowDragManaged,e)}isDeferredManagedCommit(){return this.isManagedRowDragEnabled()&&this.deps.rowDragCommitMode===`deferred`}canLiveReorder(){return this.isManagedRowDragEnabled()&&this.deps.rowDragCommitMode!==`deferred`}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=Am(e.pointerY,t.top,t.bottom,this.deps.getRowHeight());if(n!==0&&(this.deps.scrollByDelta(n),this.renderAtPointer(e.pointerX,e.pointerY,e.altKey)),Nm(e.pointerY,t.top,t.bottom)){this.scrollRaf=requestAnimationFrame(this.tickEdgeScroll);return}this.scrollRaf=null}};function Ob(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 kb(e,t,n){return n>1?`${n} rows`:Ab(e,t)}function Ab(e,t){return e.querySelector(`.mg-cell__text:not([hidden])`)?.textContent?.trim()||e.querySelector(`.mg-cell__renderer:not([hidden])`)?.textContent?.trim()||t}var jb=`mg-cell-comment-context-menu__items`,Mb=`mg-cell-comment-context-menu__item`,Nb=`mg-cell-comment-context-menu__item-label`,Pb=`mg-cell-comment-context-menu__item--committing`,Fb=`mg-cell-comment-context-menu__loading-icon`,Ib={remove:`删除中...`};function Lb(e,t,n){let r=kh(e.mountEl??e.anchorEl??null);if(e.anchorEl){let r=Ah(e.anchorEl),i=xh(e.anchorEl);return jh(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 Rb(e){let t=document.createElement(`div`);t.className=Cl,t.setAttribute(`role`,`menu`);let n=document.createElement(`div`);n.className=jb;let r=[],i=new Map;for(let t of e.items){let e=document.createElement(`button`);e.type=`button`,e.className=Mb,e.dataset.action=t.id,e.disabled=t.disabled===!0,e.setAttribute(`role`,`menuitem`);let a=document.createElement(`span`);a.className=Nb,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=Lb(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(wl,a),n.classList.toggle(Pb,a);for(let e of r)e.disabled=a||e.dataset.disabledInitially===`true`;if(a){h(n),m(n).textContent=Ib[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(`.${Nb}`)}function h(e){if(e.querySelector(`.mg-cell-comment-context-menu__loading-icon`))return;let t=document.createElement(`span`);t.className=Fb,t.setAttribute(`aria-hidden`,`true`),e.prepend(t)}function g(e){e.querySelector(`.${Fb}`)?.remove()}for(let e of r)e.disabled&&(e.dataset.disabledInitially=`true`);return{close:d}}function zb(e,t,n,r){return t?r||!e.canView?null:e.canEdit&&!n?`edit`:`view`:e.canCreate?`create`:null}var Bb=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=zb(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||!Ch(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=Pg(this.deps.rowModel,e.target);if(!n)return;let r=Vb(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=Rb({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(t.cellCommentTrigger!==`hover`)return;if(Q(e.target)?.closest(`.mg-cell-comment-popup`)){this.clearHideTimer();return}let n=Pg(this.deps.rowModel,e.target),r=this.deps.cellCommentService();if(!n||!r?.active){this.leaveIndicatorHover();return}let i=this.resolveCellElement(n.rowId,n.colId);if(!i||!r.hasComment(n.rowId,n.colId)||!Ch(i,e.clientX,e.clientY)){this.leaveIndicatorHover();return}if(!r.resolveInteraction(n.rowId,n.colId).canView){this.leaveIndicatorHover();return}this.clearHideTimer(),(this.hoverCell?.rowId!==n.rowId||this.hoverCell?.colId!==n.colId)&&(this.clearHoverTimers(),this.hoverCell={rowId:n.rowId,colId:n.colId,anchorEl:i}),!(r.getPopup().isOpen||this.showTimer!=null)&&(this.showTimer=setTimeout(()=>{this.openHoverPopup(n.rowId,n.colId,i,r)},t.cellCommentShowDelay))};handleViewportMouseLeave=()=>{this.deps.getOptions().cellCommentTrigger===`hover`&&this.leaveIndicatorHover()};leaveIndicatorHover(){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=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 t=this.deps.cellCommentService();if(!t?.getPopup().isOpen){this.hoverCell=null;return}e.cellCommentTrigger===`hover`&&t.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 Vb(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 Hb=class{deps;suppressColumnClick=!1;suppressColumnHandleClick=!1;suppressHeaderSortClick=!1;focusController;columnResizeSession;columnHeaderDragSession;indexSelectionDragSession;cellRangeDragSession;fillHandleSession;rangeHandleSession;cellRangeInteraction;rowResizeSession;rowDragSession;cellCommentSession;overflowTooltipSession;constructor(e){this.deps=e,this.focusController=new Zy({mountEl:e.mountEl,rowModel:e.rowModel,columnModel:e.columnModel,rowRenderer:e.rowRenderer,eventBus:e.eventBus,cellFocusService:e.cellFocusService,editMode:e.editMode,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??(()=>{})},this),this.columnResizeSession=new Yy({mountEl:e.mountEl,columnModel:e.columnModel,columnHandleMenuController:e.columnHandleMenuController,cellFocusService:e.cellFocusService,setColumnWidths:e.setColumnWidths,resizeHeaderColumn:e.resizeHeaderColumn}),this.columnHeaderDragSession=new Ky({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),this.indexSelectionDragSession=new Qy({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})}},this),this.cellRangeDragSession=new fb({viewportEl:e.viewportEl,rowModel:e.rowModel,columnModel:e.columnModel,getCellRangeService:e.getCellRangeService??(()=>null),getCellSpanService:()=>e.cellSpanService,isCellSelectionEnabled:e.isCellSelectionEnabled??(()=>!1),getCellRangeOperationContext:e.getCellRangeOperationContext??(()=>({displayedColIds:e.columnModel.getDisplayedColumnIds()})),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,isInlineCheckboxClickTarget:e=>this.focusController.isInlineCheckboxClickTarget(e),isPointerOverCellCommentIndicator:e.isPointerOverCellCommentIndicator??(()=>!1)},this),this.fillHandleSession=new pb({viewportEl:e.viewportEl,rowModel:e.rowModel,columnModel:e.columnModel,getCellRangeService:e.getCellRangeService??(()=>null),getCellSpanService:()=>e.cellSpanService,getCellSelectionOptions:e.getCellSelectionOptions??(()=>({enabled:!1,suppressMultiRanges:!0,enableColumnSelection:!1,enableCellCopy:!1,enableCellPaste:!1,handle:null})),getCellRangeOperationContext:e.getCellRangeOperationContext??(()=>({displayedColIds:e.columnModel.getDisplayedColumnIds()})),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 mb({viewportEl:e.viewportEl,rowModel:e.rowModel,columnModel:e.columnModel,getCellRangeService:e.getCellRangeService??(()=>null),getCellSpanService:()=>e.cellSpanService,getCellSelectionOptions:e.getCellSelectionOptions??(()=>({enabled:!1,suppressMultiRanges:!0,enableColumnSelection:!1,enableCellCopy:!1,enableCellPaste:!1,handle:null})),getCellRangeOperationContext:e.getCellRangeOperationContext??(()=>({displayedColIds:e.columnModel.getDisplayedColumnIds()})),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.cellRangeInteraction=new hb({getCellRangeService:e.getCellRangeService??(()=>null),cellFocusService:e.cellFocusService,columnModel:e.columnModel,rowModel:e.rowModel,getCellSpanService:()=>e.cellSpanService,isCellSelectionEnabled:e.isCellSelectionEnabled??(()=>!1),getCellSelectionOptions:e.getCellSelectionOptions,getCellRangeOperationContext:e.getCellRangeOperationContext??(()=>({displayedColIds:e.columnModel.getDisplayedColumnIds()})),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.rowResizeSession=new _b({mountEl:e.mountEl,rowModel:e.rowModel,indexColumnOptions:e.indexColumnOptions,setRowHeights:e.setRowHeights}),this.rowDragSession=new Db({mountEl:e.mountEl,viewportEl:e.viewportEl,rowModel:e.rowModel,rowDragManaged:e.rowDragManaged,rowDragCommitMode:e.rowDragCommitMode,hasSortModel:e.hasSortModel,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 Bb({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}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.deps.mountEl.addEventListener(`mousedown`,this.handleHeaderMouseDown,!0),this.deps.mountEl.addEventListener(`dblclick`,this.handleHeaderDblClick,!0),this.deps.mountEl.addEventListener(`click`,this.handleHeaderClick,!0),this.deps.mountEl.addEventListener(`click`,this.handleFloatingFilterClick,!0),this.deps.mountEl.addEventListener(`mousedown`,this.handleFooterMouseDown,!0),this.deps.viewportEl.addEventListener(`mousedown`,this.handleCellMouseDown,!0),this.deps.viewportEl.addEventListener(`click`,this.handleCellClick),this.deps.viewportEl.addEventListener(`dblclick`,this.handleCellDoubleClick),this.deps.viewportEl.addEventListener(`keydown`,this.handleViewportKeyDown),this.deps.viewportEl.addEventListener(`keyup`,this.handleViewportKeyUp),this.cellCommentSession?.bindListeners(),this.overflowTooltipSession?.bindListeners()}unbindListeners(){this.deps.mountEl.removeEventListener(`mousedown`,this.handleHeaderMouseDown,!0),this.deps.mountEl.removeEventListener(`dblclick`,this.handleHeaderDblClick,!0),this.deps.mountEl.removeEventListener(`click`,this.handleHeaderClick,!0),this.deps.mountEl.removeEventListener(`click`,this.handleFloatingFilterClick,!0),this.deps.mountEl.removeEventListener(`mousedown`,this.handleFooterMouseDown,!0),this.deps.viewportEl.removeEventListener(`mousedown`,this.handleCellMouseDown,!0),this.deps.viewportEl.removeEventListener(`click`,this.handleCellClick),this.deps.viewportEl.removeEventListener(`dblclick`,this.handleCellDoubleClick),this.deps.viewportEl.removeEventListener(`keydown`,this.handleViewportKeyDown),this.deps.viewportEl.removeEventListener(`keyup`,this.handleViewportKeyUp),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()}navigateTabChainEdit(e){this.focusController.navigateTabChainEdit(e,e=>this.focusController.navigateTab(e))}getColIndex(e){return kg(this.deps.columnModel,e)}resolveRootEl(){return Ig(this.deps.mountEl)}setFocusedCell(e){this.focusController.setFocusedCell(e)}setSuppressColumnClick(e){this.suppressColumnClick=e}setSuppressColumnHandleClick(e){this.suppressColumnHandleClick=e}isIndexColumnEntry(e){return L(e)&&this.deps.columnModel.getColumnById(e)!=null}isSelectionColumnEntry(e){return R(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:tt(t)}isGroupColumnEntry(e){let t=this.deps.columnModel.getColumnById(e);return!t||!this.deps.rowGroupingService?.active?!1:jt(t)}isTreeColumnEntry(e){let t=this.deps.columnModel.getColumnById(e);return!t||!this.deps.treeTableService?.active?!1:on(t.colId)}isSelectionHeaderMultiple(){return this.deps.selectionService?.isMultiple()??!1}canToggleHeaderSort(e){return this.columnResizeSession.isActive()||this.deps.columnDragController.shouldSuppressSortClick()||L(e)||R(e)||this.isExpandColumnEntry(e)||this.isGroupColumnEntry(e)||this.isTreeColumnEntry(e)?!1:this.deps.columnModel.getColumnById(e)?.sortable??!1}shouldHeaderClickSortAndSelectColumn(e){return!this.deps.isCellSelectionEnabled?.()||!this.deps.getCellSelectionOptions?.().enableColumnSelection?!1:this.canToggleHeaderSort(e)}tryApplyHeaderColumnSelection(e,t){if(!this.cellRangeInteraction.tryHeaderColumnSelection(e))return!1;let n=this.deps.rowModel.getRow(0);return n&&this.setFocusedCell({rowId:n.id,colId:e,rowIndex:0,colIndex:t}),!0}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.cellRangeInteraction.syncFromIndexFocus(e)}applyRowSelection(e,t,n,r={}){if(!this.deps.selectionService||!this.isSelectionColumnEntry(n))return;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()}))}applyRowExpansionToggle(e,t,n){if(!this.deps.rowExpansionService?.active||!this.isExpandColumnEntry(n))return;let r=this.deps.rowModel.getRow(t);!r||B(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||!Gt(r))return;let i=r.sourceGroupId??Wt(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||!H(r)||!i)){if(this.deps.requestTreeNodeToggle){this.deps.requestTreeNodeToggle(e,`ui`);return}this.deps.treeTableService.toggleNode(e,`ui`)}}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.deps.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds()}))}handleHeaderMouseDown=e=>{if(e.button!==0)return;let t=Ng(this.deps.columnModel,e.target);if(!t)return;this.clearIndexFocusState();let n=this.isSelectionColumnEntry(t.colId)&&this.deps.selectionService?.isMultiple(),r=Fg(e.target),i=this.deps.columnModel.getColumnById(t.colId);if(this.focusController.isHeaderNavigationEnabled()?(e.preventDefault(),e.stopPropagation(),this.canToggleHeaderSort(t.colId)||this.setFocusedCell({rowId:ge,colId:t.colId,rowIndex:-1,colIndex:t.colIndex}),n&&this.toggleSelectAllVisibleRows(),this.deps.viewportEl.focus()):n&&(e.preventDefault(),e.stopPropagation(),this.toggleSelectAllVisibleRows()),this.columnHeaderDragSession.canStart(i,e.target,this.indexSelectionDragSession.isActive()||this.columnResizeSession.isActive()||this.rowResizeSession.isActive())&&r){e.preventDefault(),e.stopPropagation(),this.columnHeaderDragSession.begin({colId:t.colId,sourceCell:r,clientX:e.clientX,clientY:e.clientY});return}if(this.columnResizeSession.canStart(i,e.target,this.indexSelectionDragSession.isActive()||this.columnHeaderDragSession.isActive()||this.rowResizeSession.isActive())&&r){e.preventDefault(),e.stopPropagation(),this.columnResizeSession.begin({colId:t.colId,sourceCell:r,event:e});return}if(!this.shouldHeaderClickSortAndSelectColumn(t.colId)&&!Xy(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=Ng(this.deps.columnModel,e.target);if(!t)return;let n=this.deps.columnModel.getColumnById(t.colId);!n?.resizable||n.suppressAutoSize||(e.preventDefault(),e.stopPropagation(),this.deps.autoSizeColumn(t.colId,`uiColumnResized`))};handleHeaderClick=e=>{if(e.button!==0)return;if(this.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=Ng(this.deps.columnModel,e.target);if(!t)return;let n=jg(e.target);if(n){if(this.suppressColumnHandleClick){this.suppressColumnHandleClick=!1,e.preventDefault(),e.stopPropagation();return}e.preventDefault(),e.stopPropagation(),this.deps.columnHandleMenuController.toggle({colId:t.colId,handleEl:n});return}if(!this.canToggleHeaderSort(t.colId)){this.deps.columnDragController.shouldSuppressSortClick()&&(e.preventDefault(),e.stopPropagation());return}e.preventDefault(),e.stopPropagation(),this.deps.toggleHeaderSort(t.colId),this.shouldHeaderClickSortAndSelectColumn(t.colId)&&this.tryApplyHeaderColumnSelection(t.colId,t.colIndex)};handleFloatingFilterClick=e=>{let t=Mg(e.target);if(!t)return;let n=t.closest(`.mg-floating-filter-cell[data-col-id]`)?.dataset.colId;n&&(e.preventDefault(),e.stopPropagation(),this.deps.columnHandleMenuController.toggle({colId:n,handleEl:t,mode:`filter-only`}))};handleFooterMouseDown=e=>{if(e.button!==0)return;let t=Ag(this.deps.columnModel,e.target);t&&(this.clearIndexFocusState(),this.focusController.isFooterNavigationEnabled()&&(e.preventDefault(),e.stopPropagation(),this.setFocusedCell({rowId:_e,colId:t.colId,rowIndex:-2,colIndex:t.colIndex}),this.deps.viewportEl.focus()))};handleCellMouseDown=async e=>{if(e.button!==0)return;if(e.target instanceof Element&&e.target.closest(`.mg-range-handle`)){if(e.preventDefault(),e.stopPropagation(),this.deps.isCommitting()&&await this.deps.awaitCommitIdle(),this.deps.isEditing()&&(await this.deps.commitEditing(),this.deps.isEditing()))return;this.rangeHandleSession.begin(e.clientX,e.clientY);return}if(e.target instanceof Element&&e.target.closest(`.mg-fill-handle`)){if(e.preventDefault(),e.stopPropagation(),this.deps.isCommitting()&&await this.deps.awaitCommitIdle(),this.deps.isEditing()&&(await this.deps.commitEditing(),this.deps.isEditing()))return;this.fillHandleSession.begin(e.clientX,e.clientY);return}if(this.fillHandleSession.isActive()||this.rangeHandleSession.isActive()||this.columnHeaderDragSession.isActive()||this.columnResizeSession.isActive()||this.rowResizeSession.isActive()||this.rowDragSession.isActive())return;let t=Pg(this.deps.rowModel,e.target);if(t&&!this.isIndexColumnEntry(t.colId)&&this.clearIndexFocusState(),t&&this.rowResizeSession.canStart(t.colId,e.target,this.indexSelectionDragSession.isActive()||this.rowDragSession.isActive())){let n=Q(e.target)?.closest(`.mg-cell`);if(n){e.preventDefault(),e.stopPropagation(),this.rowResizeSession.begin({rowId:t.rowId,sourceCell:n,event:e});return}}if(t&&this.rowDragSession.canStart(t.colId,e.target,this.indexSelectionDragSession.isActive()||this.columnHeaderDragSession.isActive()||this.columnResizeSession.isActive())){let n=Q(e.target)?.closest(`.mg-cell`);if(n){e.preventDefault(),e.stopPropagation(),this.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.deps.isCommitting()&&!this.deps.isEditing()&&t&&n){e.preventDefault(),this.deps.eventBus.emit(`cellClicked`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:t.rowNode}),this.indexSelectionDragSession.begin({kind:n,anchorRowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,clientY:e.clientY});return}if(t&&this.deps.isCellSelectionEnabled?.()&&!jn(this.deps.editMode)&&!await this.commitEditingForCellRangeInteraction(t,e))return;if(t&&this.cellRangeDragSession.canStart(t,e,`replace`)){e.preventDefault(),this.clearIndexFocusIfNeeded(t.colId),this.deps.eventBus.emit(`cellClicked`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:t.rowNode}),this.cellRangeDragSession.begin({anchorRowId:t.rowId,anchorColId:t.colId,anchorRowIndex:t.rowIndex,clientX:e.clientX,clientY:e.clientY,mode:`replace`});return}if(t&&this.cellRangeDragSession.canStart(t,e,`append`)){e.preventDefault(),this.clearIndexFocusIfNeeded(t.colId),this.deps.eventBus.emit(`cellClicked`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:t.rowNode}),this.cellRangeDragSession.begin({anchorRowId:t.rowId,anchorColId:t.colId,anchorRowIndex:t.rowIndex,clientX:e.clientX,clientY:e.clientY,mode:`append`});return}if(t&&this.cellRangeInteraction.tryHandleModifierMouseDown(t,e)){this.deps.eventBus.emit(`cellClicked`,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:t.rowNode}),this.clearIndexFocusIfNeeded(t.colId),this.setFocusedCell({rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,colIndex:this.getColIndex(t.colId)}),this.deps.viewportEl.focus();return}if(this.deps.isCommitting()&&(e.preventDefault(),await this.deps.awaitCommitIdle()),this.deps.isEditing()&&w(e.target))return;let r=Pg(this.deps.rowModel,e.target);if(this.deps.isEditing()&&(r&&this.isSameEditingTarget(r)||(await this.deps.commitEditing(),this.deps.isEditing())))return;if(!r){this.clearIndexFocusState(),this.cellRangeInteraction.tryClearOnBlankViewportClick();return}let{rowId:i,colId:a,rowIndex:o,rowNode:s}=r;(this.isExpandColumnEntry(a)||this.isGroupColumnEntry(a)||this.isTreeColumnEntry(a)||this.isSelectionColumnEntry(a)||e.shiftKey||e.ctrlKey||e.metaKey)&&e.preventDefault(),this.deps.eventBus.emit(`cellClicked`,{rowId:i,colId:a,rowIndex:o,rowNode:s}),this.isIndexColumnEntry(a)?this.applyIndexFocus(i,o,a,{ctrlKey:e.ctrlKey||e.metaKey,shiftKey:e.shiftKey,toggleOnReselect:!0}):(this.clearIndexFocusIfNeeded(a),this.isExpandColumnEntry(a)?this.applyRowExpansionToggle(i,o,a):this.isGroupColumnEntry(a)?this.applyRowGroupingToggle(i,o,a):this.isTreeColumnEntry(a)?this.applyTreeTableToggle(i,o,a):this.isSelectionColumnEntry(a)&&this.applyRowSelection(i,o,a,{ctrlKey:e.ctrlKey||e.metaKey,shiftKey:e.shiftKey,toggleOnReselect:!0})),this.setFocusedCell({rowId:i,colId:a,rowIndex:o,colIndex:this.getColIndex(a)}),this.deps.viewportEl.focus()};handleViewportKeyDown=e=>{if(e.key===`Escape`&&this.deps.isCommitting()){e.preventDefault(),this.deps.cancelCommit();return}if(this.deps.isEditing())return;if(e.key===`F2`&&e.shiftKey){this.cellCommentSession?.handleShiftF2()&&e.preventDefault();return}let t=this.focusController.keyToFocusDirection(e.key);if(t){if(e.preventDefault(),e.altKey&&(t===`left`||t===`right`)&&this.columnResizeSession.tryKeyboardResize(t,e.shiftKey)||e.shiftKey&&(t===`left`||t===`right`)&&this.focusController.tryMoveFocusedHeaderColumn(t))return;let n=this.cellRangeInteraction.onArrowKey(t,e.shiftKey);e.ctrlKey||e.metaKey?this.focusController.navigateFocusToEdge(t):this.focusController.navigateFocus(t),n&&!e.shiftKey&&this.cellRangeInteraction.selectFocusedCellRange();return}if(e.key===`Delete`||e.key===`Backspace`){this.cellRangeInteraction.handleDeleteKey()&&e.preventDefault();return}if((e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&e.key.toLowerCase()===`c`){this.deps.copyCellSelectionToClipboard?.()&&e.preventDefault();return}if((e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&e.key.toLowerCase()===`v`){this.deps.isCellSelectionEnabled?.()&&this.deps.getCellSelectionOptions?.().enableCellPaste&&(e.preventDefault(),this.deps.pasteCellSelectionFromClipboard?.());return}if(e.key===`Enter`){if(e.preventDefault(),this.focusController.toggleHeaderSortFromFocus()||this.focusController.toggleHeaderSelectionFromFocus()||this.focusController.toggleIndexFocusFromFocus()||this.focusController.toggleRowExpandFromFocus()||this.focusController.toggleRowGroupFromFocus()||this.focusController.toggleTreeTableFromFocus()||this.focusController.toggleRowSelectionFromFocus())return;this.cellCommentSession?.closeAll(),this.focusController.startEditingFocusedCell();return}if(e.key===` `||e.code===`Space`){if(e.preventDefault(),this.focusController.toggleHeaderSortFromFocus()||this.focusController.toggleHeaderSelectionFromFocus()||this.focusController.toggleIndexFocusFromFocus()||this.focusController.toggleInlineEditorFromFocus()||this.focusController.toggleRowExpandFromFocus()||this.focusController.toggleRowGroupFromFocus()||this.focusController.toggleTreeTableFromFocus())return;this.focusController.toggleRowSelectionFromFocus();return}e.key===`Tab`&&(e.preventDefault(),this.focusController.navigateTab(e.shiftKey))};handleViewportKeyUp=e=>{this.columnResizeSession.handleKeyUp(e)};handleCellClick=async e=>{if(e.button!==0||(this.deps.isCommitting()&&(e.preventDefault(),await this.deps.awaitCommitIdle()),e.ctrlKey||e.metaKey||e.shiftKey))return;if(this.suppressColumnClick){this.suppressColumnClick=!1;return}let t=Pg(this.deps.rowModel,e.target);if(!t)return;if(this.emitRowPointerEvent(`rowClicked`,t),this.cellRangeInteraction.tryClearOnPlainClick(t),this.deps.isEditing()){if(jn(this.deps.editMode)&&this.deps.getEditingRowId()===t.rowId&&t.colId!==this.deps.getEditingCell()?.colId&&this.deps.focusRowEditingColumn?.(t.colId))return;if(this.isSameEditingTarget(t))return this.cellCommentSession?.handleCellClick(e,t),void 0;if(await this.deps.commitEditing(),this.deps.isEditing())return}if(this.focusController.focusCellTarget(t),this.cellCommentSession?.handleCellClick(e,t))return;if(jn(this.deps.editMode)){let e=this.deps.columnModel.getColumnById(t.colId);if(!e||kn(e,this.deps.editType)!==`singleClick`)return;this.cellCommentSession?.closeAll(),this.deps.tryStartRowEditing(t);return}let n=this.deps.columnModel.getColumnById(t.colId);if(n){if(Ta(n)){n.cellEditor===`checkbox`&&!this.focusController.isInlineCheckboxClickTarget(e.target)&&this.focusController.toggleInlineCheckboxAtCell(t.rowId,t.colId,t.rowIndex);return}kn(n,this.deps.editType)===`singleClick`&&(this.cellCommentSession?.closeAll(),this.deps.tryStartCellEditing(t))}};handleCellDoubleClick=async e=>{if(e.button!==0||(this.deps.isCommitting()&&(e.preventDefault(),await this.deps.awaitCommitIdle()),e.ctrlKey||e.metaKey||e.shiftKey))return;let t=Pg(this.deps.rowModel,e.target);if(!t||(this.emitRowPointerEvent(`rowDoubleClicked`,t),this.deps.isEditing()&&(this.isSameEditingTarget(t)||(await this.deps.commitEditing(),this.deps.isEditing()))))return;this.focusController.focusCellTarget(t);let n=this.deps.columnModel.getColumnById(t.colId);if(jn(this.deps.editMode)){if(!n||kn(n,this.deps.editType)!==`doubleClick`)return;this.cellCommentSession?.closeAll(),this.deps.tryStartRowEditing(t);return}!n||kn(n,this.deps.editType)!==`doubleClick`||Ta(n)||(this.cellCommentSession?.closeAll(),this.deps.tryStartCellEditing(t))};async commitEditingForCellRangeInteraction(e,t){return!this.deps.isEditing()||this.isSameEditingTarget(e)||t.target instanceof Element&&w(t.target)?!0:(this.deps.isCommitting()&&await this.deps.awaitCommitIdle(),await this.deps.commitEditing(),!this.deps.isEditing())}isSameEditingTarget(e){if(!this.deps.isEditing())return!1;if(jn(this.deps.editMode))return this.deps.getEditingRowId()===e.rowId;let t=this.deps.getEditingCell();return t?.rowId===e.rowId&&t?.colId===e.colId}emitRowPointerEvent(e,t){Jt(t.rowNode)&&this.deps.eventBus.emit(e,{rowId:t.rowId,colId:t.colId,rowIndex:t.rowIndex,rowNode:t.rowNode})}resolveColumnDragKind(e,t){if(t.shiftKey||t.ctrlKey||t.metaKey)return null;let n=Q(t.target);return n?.closest(`.mg-cell__row-resize-handle`)||n?.closest(`.mg-cell__row-drag-handle`)?null:this.isIndexColumnEntry(e)&&this.deps.indexFocusService?.isMultiple()?`index`:this.isSelectionColumnEntry(e)&&this.deps.selectionService?.isMultiple()?`selection`:null}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 Ub(e){return Le(e).mode}function Wb(e){return Le(e)}var Gb=`mg-header-cell--filtered`,Kb=`.mg-header-cell__column-handle`;function qb(e,t,n){let r=Ai(t,n);e.classList.toggle(Gb,r);let i=e.querySelector(Kb);i&&(r?i.setAttribute(`aria-pressed`,`true`):i.removeAttribute(`aria-pressed`))}function Jb(e,t){let n=Array.isArray(e)?e:[e];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;n&&qb(e,n,t)}}}function Yb(e){return e??`center`}function Xb(){let e=document.createElement(`div`);return e.className=`mg-header-cell__label`,e}function Zb(e){let t=document.createElement(`span`);return t.className=`mg-header-cell__text`,t.textContent=L(e.colId)?e.label??``:e.label??e.prop??e.colId,t}function Qb(e){return L(e.colId)||R(e.colId)||z(e.colId)?!1:e.sortable||e.movable||e.filterable}function $b(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(wf()),t}function ex(e){if(!Qb(e))return null;let t=document.createElement(`div`);return t.className=`mg-header-cell__chrome`,t.append($b({movable:e.movable,sortable:e.sortable,filterable:e.filterable})),t}function tx(){let e=document.createElement(`div`);return e.className=`mg-header-cell__resize-handle`,e.setAttribute(`role`,`presentation`),e.dataset.resizable=`true`,e}function nx(e,t){t&&e.append(tx())}function rx(){return Ef()}function ix(e){return Tf(e)}function ax(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 ox(e){e.querySelector(`.mg-header-cell__sort`)?.remove()}function sx(e,t,n,r){let i=e.querySelector(`.mg-header-cell__label`);if(!i||!t.sortable)return;let a=i.querySelector(`.mg-header-cell__text`);if(!a)return;let o=Yb(t.headerAlign)===`right`,s=fy(t.colId,n);if(e.classList.remove(`mg-header-cell--sort-hint`),s===`asc`||s===`desc`){ax(i,a,o).replaceChildren(ix(s));return}if(r){ax(i,a,o).replaceChildren(rx()),e.classList.add(`mg-header-cell--sort-hint`);return}ox(i)}function cx(e,t){let n=Yb(t.headerAlign),r=Xb(),i=Zb(t);r.append(i);let a=ex(t);n===`right`&&a?e.append(a,r):a?e.append(r,a):e.append(r)}function lx(e,t,n,r){if(!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`);let t=e.querySelector(`.mg-header-cell__label`);t&&ox(t);return}e.classList.add(`mg-header-cell--sortable`),e.setAttribute(`role`,`columnheader`);let i=fy(t.colId,n);e.setAttribute(`aria-sort`,py(i)),e.classList.remove(`mg-header-cell--sorted-asc`,`mg-header-cell--sorted-desc`,`mg-header-cell--sorted`),i===`asc`?e.classList.add(`mg-header-cell--sorted`,`mg-header-cell--sorted-asc`):i===`desc`&&e.classList.add(`mg-header-cell--sorted`,`mg-header-cell--sorted-desc`),sx(e,t,n,r)}function ux(e,t){let n=Qb(t),r=!L(t.colId)&&!R(t.colId)&&!z(t.colId);e.classList.toggle(`mg-header-cell--has-column-handle`,n),e.classList.toggle(`mg-header-cell--movable`,r&&t.movable),e.classList.toggle(`mg-header-cell--filterable`,r&&t.filterable)}function dx(e,t){e.classList.toggle(`mg-header-cell--resizable`,t.resizable)}function fx(e,t,n,r,i,a,o,s={}){e.replaceChildren();for(let c of t){let t=n.getColumn(c);if(!t)continue;let l=document.createElement(`div`);if(l.className=`mg-header-cell`,l.dataset.colId=t.colId,R(t.colId))if(l.classList.add(`mg-header-cell--selection`),o?.enabled&&o.mode===`multiple`){let e=rf({checked:!1,ariaLabel:o.selectionColumn.selectAllLabel});e.classList.add(nf),l.append(e)}else{let e=document.createElement(`span`);e.className=`mg-header-cell__text`,e.textContent=``,l.append(e)}else if(L(t.colId)){let e=Zb(t);l.append(e),l.classList.add(`mg-header-cell--index`)}else if(z(t.colId)){let e=document.createElement(`span`);e.className=`mg-header-cell__text`,e.textContent=``,l.append(e),l.classList.add(`mg-header-cell--expand`)}else if(V(t.colId)){let e=document.createElement(`span`);e.className=`mg-header-cell__text`,e.textContent=t.label??`分组`,l.append(e),l.classList.add(`mg-header-cell--group`)}else cx(l,t),nx(l,t.resizable);lx(l,t,r,a),ux(l,t),dx(l,t),qb(l,t.colId,s),Eo(l,To(t,n),`mg-header-cell`),ii(l,t.headerAlign,t.headerValign,`mg-header-cell`),t.validationRequired&&l.classList.add(`mg-header-cell--required`),i.hasColErrors(t.colId)&&l.classList.add(`mg-header-cell--invalid`),e.appendChild(l)}}function px(e){let{headerLeftLaneEl:t,headerCenterLaneEl:n,headerRightLaneEl:r,columnModel:i,centerWindow:a,sortModel:o,validationFeedback:s,selectionColumnOptions:c,showUnsortedSortHintOnHover:l=!1,filterModel:u={}}=e,d=Bo(i,a);t.style.width=`${i.getLeftFixedWidth()}px`,n.style.width=`${i.getCenterTotalWidth()}px`,r.style.width=`${i.getRightFixedWidth()}px`,fx(t,d.left,i,o,s,l,c,u),fx(n,d.center,i,o,s,l,c,u),fx(r,d.right,i,o,s,l,c,u)}function mx(e,t,n,r){e.style.width=`${r.getLeftFixedWidth()}px`,t.style.width=`${r.getCenterTotalWidth()}px`,n.style.width=`${r.getRightFixedWidth()}px`}function hx(e,t,n,r){Do(e,r,`mg-header-cell`),Do(t,r,`mg-header-cell`),Do(n,r,`mg-header-cell`)}function gx(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 _x(e,t){return Math.max(0,e.getTotalWidth()-t)}function vx(e,t,n){let r=_x(e,n);return Math.max(0,Math.min(t,r))}function yx(e,t,n,r,i){let a=vx(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=bx(e,t);if(s<0)return a===n?null:a;let c=gx(s,e,a,r);return c!==null&&(a=vx(e,c,r)),a===n?null:a}function bx(e,t){for(let n=0;n<e.getColumnCount();n++)if(e.getColumn(n)?.colId===t)return n;return-1}function xx(e){let t=e.scrollHeight>e.clientHeight+1,n=e.scrollWidth>e.clientWidth+1,r=e.totalHeight<e.clientHeight-.5,i=e.totalWidth<e.clientWidth-.5,a=e.scrollTop+e.clientHeight>=e.scrollHeight-1;return{hasVScrollbar:t,hasHScrollbar:n,innerRightClosesTable:t||i,innerBottomClosesTable:!(!r&&!n&&a)}}function Sx(e){return e.parentElement?.parentElement??null}function Cx(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 wx(e,t,n,r){let i=Math.max(0,e-t);if(r===0||e<=16777216)return{totalHeight:e,viewportHeight:t,rowHeight:n,rowCount:r,compressed:!1,physicalSpacerHeight:e,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 Tx(e,t){return t.compressed?e>=t.physicalMaxScroll?t.logicalMaxScroll:Dx(e*t.rowHeight,0,t.logicalMaxScroll):Dx(e,0,t.logicalMaxScroll)}function Ex(e,t){return t.compressed?e>=t.logicalMaxScroll?t.physicalMaxScroll:Dx(e/t.rowHeight,0,t.physicalMaxScroll):Dx(e,0,t.physicalMaxScroll)}function Dx(e,t,n){return Math.max(t,Math.min(e,n))}var Ox=null;function kx(e=document){if(Ox!==null)return Ox;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&&jx(e)?(Ox=8,Ox):(Ox=n,Ox)}function Ax(){Ox=null}function jx(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 Mx(e){if(!e.hasVScrollbar)return{layout:0,visual:0};let t=e.overlayScrollbars??jx(),n=e.measuredWidth??kx();if(t)return{layout:0,visual:n};let r=e.liveGutterWidth>0?e.liveGutterWidth:n;return{layout:r,visual:r}}function Nx(e,t,n){let r=Math.max(0,t.offsetWidth-t.clientWidth),i=Mx({hasVScrollbar:t.scrollHeight>t.clientHeight+1,liveGutterWidth:r,overlayScrollbars:n});e.rootEl.style.setProperty(`--mg-v-scrollbar-layout`,`${i.layout}px`),e.rootEl.style.setProperty(`--mg-v-scrollbar-visual`,`${i.visual}px`);let a=i.layout>0?0:i.visual;return e.rootEl.style.setProperty(`--mg-v-scrollbar-visual-overlay`,`${a}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),i}var Px=class{deps;lastScrollLeft=0;onAfterRedraw=null;resizeObserver=null;overlayScrollbars=null;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.resizeObserver?.disconnect(),this.resizeObserver=null}getLogicalScrollTop(){return Tx(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()}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=_x(this.deps.columnModel,t),r=Math.max(0,Math.min(this.deps.viewportEl.scrollLeft+e,n));r!==this.deps.viewportEl.scrollLeft&&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=gx(e,this.deps.columnModel,n,t);if(r===null)return;let i=_x(this.deps.columnModel,t),a=Math.max(0,Math.min(r,i));a!==n&&this.scrollTo(this.deps.scrollBridge.getScrollTop(),a)}syncHorizontalLayout(){let e=this.deps.columnModel.getTotalWidth();this.syncHeaderFooterRowWidth(),this.deps.spacerEl.style.minWidth=`${e}px`,this.deps.rowsContainerEl.style.width=`${e}px`,mx(this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl,this.deps.columnModel),this.syncFooterHorizontalLayout(),this.syncFloatingFilterHorizontalLayout(),this.syncScrollbarGutter(),this.syncBorderClosureState(),this.syncIndexColumnFill()}syncColumnCellLayouts(){hx(this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl,this.deps.columnModel),this.deps.footerLeftLaneEl&&this.deps.footerCenterLaneEl&&this.deps.footerRightLaneEl&&es(this.deps.footerLeftLaneEl,this.deps.footerCenterLaneEl,this.deps.footerRightLaneEl,this.deps.columnModel),this.deps.floatingFilterLeftLaneEl&&this.deps.floatingFilterCenterLaneEl&&this.deps.floatingFilterRightLaneEl&&By(this.deps.floatingFilterLeftLaneEl,this.deps.floatingFilterCenterLaneEl,this.deps.floatingFilterRightLaneEl,this.deps.columnModel)}syncBorderClosureState(){let e=Sx(this.deps.rootEl);if(!e)return;let t=this.deps.viewportEl;Cx(e,xx({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()}))}syncViewportHeight(){let e=this.getViewportHeight(),t=this.resolveLogicalScrollTopForSync(),n=this.getScrollRange(e);n.compressed?(this.deps.spacerEl.style.height=``,this.deps.scrollPhantomEl.style.height=`${n.physicalMaxScroll+1}px`,this.syncCompressedLayerHeight(e)):(this.deps.spacerEl.style.height=`${n.physicalSpacerHeight}px`,this.deps.scrollPhantomEl.style.height=`0px`,this.deps.viewportEl.style.removeProperty(`--mg-viewport-px`)),this.syncScrollMode(e);let r=Math.min(t,n.logicalMaxScroll);this.deps.scrollBridge.syncScrollTop(r),this.applyPhysicalScrollFromLogical(r),this.syncHeaderFooterRowWidth(),this.syncScrollbarGutter(),this.syncBorderClosureState(),this.syncIndexColumnFill()}scrollGridIfNeeded(){let e=this.deps.viewportEl.scrollLeft,t=!1;return t=this.deps.scrollBridge.scrollGridIfNeeded(t=>{this.redrawViewport(t,e)})||t,e!==this.lastScrollLeft&&(this.lastScrollLeft=e,t||this.redrawViewport(this.deps.scrollBridge.getScrollTop(),e),t=!0),t}redrawImmediately(){if(this.deps.isDestroyed())return;let e=this.getLogicalScrollTop();this.deps.scrollBridge.syncScrollTop(e),this.lastScrollLeft=this.deps.viewportEl.scrollLeft,this.deps.frameService.flushAllFrames(),this.redrawViewport(e,this.deps.viewportEl.scrollLeft),this.deps.frameService.flushAllFrames(),this.deps.applySelectionVisuals(),this.deps.applyFocusVisuals(),this.syncBorderClosureState()}resetScrollOnSetData(){this.getScrollRange().compressed&&(this.deps.scrollBridge.syncScrollTop(0),this.deps.viewportEl.scrollTop=0,this.deps.viewportEl.scrollLeft=0,this.lastScrollLeft=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();if(this.deps.scrollBridge.notifyScroll(e),this.deps.frameService.setScrollDirection(this.deps.scrollBridge.isScrollGoingDown()),this.deps.headerScrollEl.scrollLeft=this.deps.viewportEl.scrollLeft,this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft(),this.syncBorderClosureState(),this.syncPinnedRows(),this.getScrollRange().compressed){this.deps.scrollBridge.syncScrollTop(e),this.redrawViewport(e,this.deps.viewportEl.scrollLeft),this.deps.frameService.flushAllFrames(),this.deps.onBodyScroll(e,this.deps.viewportEl.scrollLeft),this.deps.onScroll?.();return}this.deps.frameService.schedule(),this.deps.onBodyScroll(e,this.deps.viewportEl.scrollLeft),this.deps.onScroll?.(),this.deps.applyCellRangeScrollVisuals?.()};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,o=vx(this.deps.columnModel,i,a);if(o!==i){this.scrollTo(r,o);return}let s=this.getRenderViewportHeightInternal(),c=this.deps.columnViewport.update(o,a),l=this.deps.columnViewport.getWindow();c&&(this.renderHeader(l),this.deps.refreshFooter?.(),this.deps.refreshFloatingFilter?.(),this.deps.applyFocusVisuals()),this.syncFooterScrollLeft(),this.syncFloatingFilterScrollLeft(),this.syncPinnedRows(),this.deps.rowRenderer.redraw(r,s,l,c),this.deps.applyCellRangeVisuals?.(),this.syncIndexColumnFill(),this.onAfterRedraw?.()}syncScrollbarGutter(){Nx({rootEl:this.deps.rootEl,headerViewportEl:this.deps.headerViewportEl,footerViewportEl:this.deps.footerViewportEl,floatingFilterViewportEl:this.deps.floatingFilterViewportEl,magicGridEl:Sx(this.deps.rootEl)},this.deps.viewportEl,this.getOverlayScrollbars())}getOverlayScrollbars(){return this.overlayScrollbars===null&&(this.overlayScrollbars=jx()),this.overlayScrollbars}handleViewportResize(){this.deps.isDestroyed()||(Ax(),this.overlayScrollbars=null,this.syncHeaderFooterRowWidth(),this.syncScrollbarGutter(),this.syncBorderClosureState())}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||($o(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||Ly([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||(zy(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){px({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()})}refreshHeader(){this.deps.isDestroyed()||(this.deps.onHeaderRefresh?.(),this.renderHeader(this.deps.columnViewport.getWindow()))}refreshHeaderFilterActiveState(){this.deps.isDestroyed()||Jb([this.deps.headerLeftLaneEl,this.deps.headerCenterLaneEl,this.deps.headerRightLaneEl],this.deps.rowModel.getFilterModel())}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`))}syncIndexColumnFill(){let{indexColumnFillHostEl:e,indexColumnFillEl:t}=this.deps;if(!this.deps.showIndexColumn){e.hidden=!0;return}let n=this.deps.columnModel.getColumnById(Ae);if(!n||n.hidden){e.hidden=!0;return}let r=this.deps.rowModel.getRowCount(),i=this.deps.rowModel.getTotalHeight(),a=this.getViewportHeight(),o=this.getLogicalScrollTop(),s=Math.max(0,o+a-i);if(r===0||s<=0){e.hidden=!0;return}let c=this.getScrollRange(a).compressed?i-o:i;e.hidden=!1,t.style.top=`${c}px`,t.style.left=`${n.left}px`,t.style.width=`${n.width}px`,t.style.height=`${s}px`}getScrollRange(e){let t=e??this.getViewportHeight();return wx(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){let t=this.getScrollRange();this.deps.viewportEl.scrollTop=Ex(e,t)}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 Fx(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=>!eu(e.colId)),o=i.filter(e=>eu(e.colId)).sort((e,t)=>e.defOrder-t.defOrder);n.push(...a.map(e=>e.colId),...o.map(e=>e.colId))}return n}function Ix(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function Lx(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 Rx=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=si({...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=li({...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())}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=yx(this.deps.columnModel,e,t,n,r);i!==null&&(t=i)}let i=vx(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`,fi(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}=uo(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`,fi(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.deps.columnViewport.invalidate(),this.deps.viewport.syncHorizontalLayout(),this.deps.viewport.refreshHeader(),this.deps.viewport.redrawImmediately(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns();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?.(),!0}resetColumnOrder(){let e=this.deps.columnModel.getColumns(),t=e.map(e=>e.colId),n=Fx(e);if(Ix(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=Lx(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.deps.columnViewport.invalidate(),this.deps.viewport.syncHorizontalLayout(),this.applyHorizontalScrollAfterColumnLayout(),this.deps.viewport.refreshHeader(),this.deps.viewport.redrawImmediately(),this.deps.refreshFooter(),this.deps.refreshFloatingFilter(),this.refreshFlexedColumns(),this.deps.eventBus.emit(`columnHiddenChanged`,{colIds:r,hidden:t,source:n}),this.deps.clearCellSelection?.(),!0)}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`,fi(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.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)}},zx=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?Fc({rows:this.deps.rowModel.getSourceRows(),colId:e,filterType:t.filterType,getFilterValue:t=>this.getColumnFilterValue(t,e)}):[]}isColumnFilterActive(e){return Ai(e,this.deps.rowModel.getFilterModel())}isAnyFilterActive(){return ji(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?n.filterValueGetter?n.filterValueGetter(e.data):W(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.rowRenderer.invalidate(),e.redrawImmediately(),e.refreshHeaderFilterActiveState(),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 Bx(e){return e.rowKind==null||e.rowKind===`data`}function Vx(e,t){let n=e[t];if(!n||!H(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;Bx(t)&&i.push(t.id)}return i}function Hx(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&&Bx(n)&&i.push(n.id)}return i}function Ux(e,t){let n=new Set;for(let r=0;r<e.length;r+=1){let i=e[r];if(!H(i)||i.treeLeaf===!0)continue;let a=Hx(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 Wx(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=Vx(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 Gx(e,t){let n=!1;for(let r=e.length-1;r>=0;--r){let i=e[r];if(!H(i)||i.treeLeaf===!0)continue;let a=Hx(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 Kx=class{deps;selectableFn;reserveSelection;constructor(e,t,n){this.deps=e,this.selectableFn=t,this.reserveSelection=n}setSelectable(e){this.selectableFn=jr(e),this.deps.rowRenderer.setIsRowNodeSelectable(e=>this.isRowNodeSelectable(e)),this.applySelectionVisuals()}setReserveSelection(e){this.reserveSelection=e}toggleRowSelection(e,t,n){if(!this.deps.selectionService)return;let r=Zc(e),i=!1,a=this.deps.selectionService.isMultiple(),o=[];for(let e of r){let r=this.deps.rowModel.getRowById(e);if(!r)continue;let s=this.deps.selectionService.isSelected(e),c=n===!0||this.isRowNodeSelectable(r),l=!1;if(t===void 0)if(s){if(!c)continue;this.deps.selectionService.removeRowIds([e])&&(l=!0)}else c&&(a?this.deps.selectionService.addRowId(e,r.rowIndex)&&(l=!0):this.deps.selectionService.replaceWithRowIds([e],r.rowIndex)&&(l=!0));else if(t){if(s||!c)continue;a?this.deps.selectionService.addRowId(e,r.rowIndex)&&(l=!0):this.deps.selectionService.replaceWithRowIds([e],r.rowIndex)&&(l=!0)}else if(s){if(!c)continue;this.deps.selectionService.removeRowIds([e])&&(l=!0)}l&&(i=!0,o.push({rowId:e,rowIndex:r.rowIndex}))}i&&(this.syncTreeSelectionCascade(o),this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds()}))}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)Wx({displayRows:t,rowId:e,selected:n.has(e),groupSelectsChildren:!0,selectedIds:n});Gx(t,n),this.deps.selectionService.replaceWithRowIds([...n],r.length>0?r[r.length-1].rowIndex:-1)}setIndexFocus(e){if(!this.deps.indexFocusService)return;let t=Zc(e).map(e=>{let t=this.deps.rowModel.getRowIndexById(e);return t>=0?{id:e,rowIndex:t}:null}).filter(e=>e!=null),n=!1;t.length===0?(n=this.deps.indexFocusService.getFocusedRowIds().length>0,n&&this.deps.indexFocusService.clear()):n=this.deps.indexFocusService.isMultiple()?this.deps.indexFocusService.replaceWithRowIds(t.map(e=>e.id),t[0].rowIndex):this.deps.indexFocusService.replaceWithRowIds([t[0].id],t[0].rowIndex),n&&(this.applyIndexFocusVisuals({syncToSelectionColumn:!1}),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()}))}isRowNodeSelectable(e){return B(e)||qt(e)?!1:Mr(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?.()?Ux(this.deps.rowModel.rowsToDisplay,e):new Set;this.deps.rowRenderer.refreshSelection(e,t),lf(this.deps.mountEl,{selectionColumnOptions:this.deps.selectionColumnOptions,selectedIds:e,indeterminateIds:t,rowModel:this.deps.rowModel}),this.deps.applyCellRangeVisuals?.()}refreshSelectionAfterDataChange(){this.applySelectionVisuals()}applyIndexFocusVisuals(e={}){if(!this.deps.indexFocusService)return;let t=new Set(this.deps.indexFocusService.getFocusedRowIds());this.deps.rowRenderer.refreshIndexFocus(t),e.syncToSelectionColumn!==!1&&this.maybeSyncIndexFocusToSelection()}onRowsRemoved(e){this.deps.selectionService?.removeRowIds(e)&&(this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds()})),this.deps.indexFocusService?.removeRowIds(e)&&(this.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()}))}finalizePromoteRowId(e,t){this.deps.selectionService?.migrateRowId(e,t)&&(this.applySelectionVisuals(),this.deps.eventBus.emit(`selectionChanged`,{selectedRowIds:this.deps.selectionService.getSelectedRowIds()})),this.deps.indexFocusService?.migrateRowId(e,t)&&(this.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.deps.eventBus.emit(`indexFocusChanged`,{focusedRowIds:this.deps.indexFocusService.getFocusedRowIds()}))}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}maybeSyncIndexFocusToSelection(){if(!this.deps.indexColumnOptions.indexColumn.syncToSelectionColumn||!this.deps.indexFocusService||!this.deps.selectionService)return;let e=this.deps.indexColumnOptions.indexColumn.focusMode,t=this.deps.selectionColumnOptions.mode;if(!Pr(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()});return}let r=Fr(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()}))}};function qx(e,t){let n={...e.data};return e.isTransient&&(n[t]=null),n}function Jx(e,t){return e.map(e=>qx(e,t))}function Yx(e,t){let n=e.indexMode??`source`,r=gm(e.index,n,t);return{add:e.rows.map((e,t)=>({data:e.data,index:r===void 0?void 0:r+t}))}}function Xx(e,t){let n=new Set(Qc(e.rowIds)??[]);if(e.indexes?.length){let r=e.indexMode??`source`;for(let i of _m(e.indexes,r,t))n.add(i)}return n.size===0?{}:{remove:[...n]}}function Zx(e){return e.remove?.length?e.remove.filter(e=>typeof e==`string`):[]}function Qx(e,t,n){return{rows:e.map(e=>({rowId:e.id,rowIndex:n(e.id),data:qx(e,t),isTransient:e.isTransient??!1}))}}function $x(e,t){return{rows:e.map(e=>({rowId:e.id,data:qx(e,t)}))}}function eS(e,t,n){return{oldRowId:e,newRowId:t.id,data:qx(t,n)}}function tS(e,t){return e.remove?.length?e.remove.map(e=>{if(typeof e==`string`)return e;let n=e[t];if(n==null)throw new $c(`Missing rowKey "${t}" in remove item`);return String(n)}):[]}function nS(e,t,n,r){let i=e[t];return i==null?r?.find(t=>t.data===e&&t.isTransient):n(String(i))}function rS(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={...Dd(e,t)},o=i.data?{...a,...i.data}:a;return i.businessId!==void 0&&(o[t]=i.businessId),Ed(e,t)?{...e,data:o}:o})}}async function iS(e,t){try{return await t()}catch(t){throw t instanceof $c?t:new $c(`${e} persist failed`,t)}}async function aS(e,t){let{handlers:n,rowKey:r,getRowById:i,sourceRows:a,signal:o=new AbortController().signal}=t;if(!n?.add&&!n?.update&&!n?.remove)return e;let s=e;if(n.remove&&e.remove?.length){let t=tS(e,r),a=t.map(e=>{let t=i(e);return{rowId:e,data:t?{...t.data}:{}}});await iS(`remove`,()=>n.remove({rowIds:t,rows:a,signal:o}))}if(n.update&&e.update?.length){let t=e.update.map(e=>{let t=nS(e,r,i,a);if(!t)throw new $c(`Update target row not found for rowKey "${r}"`);return{rowId:t.id,data:e}});await iS(`update`,()=>n.update({rows:t,signal:o}))}if(n.add&&e.add?.length){let t=e.add.map(e=>({data:Dd(e,r)})),i=e.add[0],a=i?Od(i,r):void 0,c=i&&Ed(i,r)?i.indexMode:void 0,l=await iS(`add`,()=>n.add({rows:t,index:a,indexMode:c,signal:o}));s=rS(s,r,l)}return s}var oS=class{deps;pendingTransaction=null;rowMoveService;constructor(e){this.deps=e,this.rowMoveService=new ch({getSourceRows:()=>this.deps.rowModel.getSourceRows(),getDisplayRows:()=>this.deps.rowModel.rowsToDisplay,getSortModelLength:()=>this.deps.rowModel.getSortModel().length,getFilterModelKeyCount:()=>Object.keys(this.deps.rowModel.getFilterModel()).length,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){let t=await aS(e,{rowKey:this.deps.rowKey,handlers:this.deps.asyncRowMutation,getRowById:e=>this.deps.rowModel.getRowById(e),sourceRows:this.deps.rowModel.getSourceRows()}),n=Zx(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)}commitTransaction(e){let t=this.deps.rowModel.applyTransaction(e);return this.deps.viewport.syncViewportHeight(),this.queueTransactionFlush(t),t}async addRows(e){let t=Yx(e,this.createRowIndexContext());return this.applyTransaction(t)}async removeRows(e){let t=Xx(e.rowIds?{...e,rowIds:Qc(e.rowIds)}:e,this.createRowIndexContext());return Zx(t).length===0?{add:[],remove:[],update:[]}:this.applyTransaction(t)}moveRow(e,t=`api`){let n=this.rowMoveService.moveRow(e,t);return n.moved&&this.afterRowOrderChanged(),n}moveRows(e,t=`api`){let n=this.rowMoveService.moveRows(e,t);return n.moved&&this.afterRowOrderChanged(),n}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}:Sm(r,i)??void 0;if(!Eb({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`,q(i,a,e,t,!0,c))}}applyRowDragPlan(e,t=`uiRowDrag`){this.deps.rowModel.setSourceRows([...e.rows]),this.afterRowOrderChanged();for(let n of e.moves)this.deps.eventBus.emit(`rowMoved`,q(n.rowId,n.fromIndex,n.toIndex,t,!0,e.treeDrop))}afterRowOrderChanged(){this.deps.viewport.syncViewportHeight(),this.deps.refreshCellSpans(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),this.deps.rowRenderer.invalidate(),this.deps.viewport.redrawImmediately(),this.deps.selectionOps.refreshSelectionAfterDataChange(),this.deps.refreshFooter()}getData(e){return Jx(e?.sourceOrder===!1?this.deps.rowModel.rowsToDisplay:this.deps.rowModel.getSourceRows(),this.deps.rowModel.getRowKey())}promoteRowId(e){let t=X(e.rowId),{businessId:n}=e;if(this.deps.isEditingTargetRow(t))return{ok:!1,reason:`Row is being edited`};let r=this.deps.rowModel.promoteRowId(t,n);if(!r.ok)return r;this.finalizePromoteRowId(t,r.rowId);let i=this.deps.rowModel.getRowById(r.rowId);return i&&this.deps.eventBus.emit(`rowIdPromoted`,eS(t,i,this.deps.rowModel.getRowKey())),{ok:!0,rowId:xr(r.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 hm({sourceRows:this.deps.rowModel.getSourceRows(),displayRows:this.deps.rowModel.rowsToDisplay,sortModelLength:this.deps.rowModel.getSortModel().length,filterModelKeyCount:Object.keys(this.deps.rowModel.getFilterModel()).length})}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){this.deps.rowRenderer.migrateRowId(e,t),this.deps.validationFeedback.migrateRowId(e,t,this.deps.mountEl);let n=this.deps.cellFocusService.getFocusedCell();n?.rowId===e&&(this.deps.cellFocusService.setFocusedCell({...n,rowId:t}),this.deps.applyFocusVisuals()),this.deps.selectionOps.finalizePromoteRowId(e,t);let r=this.deps.rowModel.getSortModel().length>0||this.deps.filterOps.isAnyFilterActive();if(this.deps.refreshCellSpans(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),r){this.deps.rowRenderer.invalidate(),this.deps.viewport.redrawImmediately();return}this.deps.rowRenderer.refreshRows({rowIds:[t],force:!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){this.emitRowMutationEvents(e);let t=e.add.length>0||e.remove.length>0||this.deps.rowModel.getSortModel().length>0||this.deps.filterOps.isAnyFilterActive();this.deps.refreshCellSpans(),this.deps.rowRenderer.setValueCacheVersion(this.deps.valueCache.getVersion()),t||e.update.length>0&&this.deps.isCellSpanActive()?(this.deps.rowRenderer.invalidate(),this.deps.viewport.redrawImmediately()):e.update.length>0&&(this.deps.rowRenderer.refreshRows({rowIds:e.update.map(e=>e.id)}),this.deps.frameService.flushAllFrames()),e.add.length>0&&this.scrollAddedRowsIntoView(e.add),this.deps.selectionOps.refreshSelectionAfterDataChange(),this.deps.refreshFooter(),this.deps.refreshOverlay?.()}scrollAddedRowsIntoView(e){let t=e[0];if(!t)return;let n=this.deps.rowModel.getRowIndexById(t.id);n<0||this.deps.ensureIndexVisible(n,`middle`)}emitRowMutationEvents(e){let t=this.deps.rowModel.getRowKey();e.add.length>0&&this.deps.eventBus.emit(`rowsAdded`,Qx(e.add,t,e=>this.deps.rowModel.getSourceRowIndexById(e))),e.remove.length>0&&this.deps.eventBus.emit(`rowsRemoved`,$x(e.remove,t))}},sS=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=Lu({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 cS(e){return e?.rowIds?{...e,rowIds:Qc(e.rowIds)}:e}function lS(e){return{...e,rowIds:Qc(e.rowIds)}}function uS(e){return{...e,cells:e.cells.map(e=>({...e,rowId:X(e.rowId)}))}}function dS(e){return e?.rowIds?{...e,rowIds:Qc(e.rowIds)}:e}function fS(e){return{...e,rowIds:Qc(e.rowIds)}}function pS(e){return{...e,cells:e.cells.map(e=>({...e,rowId:X(e.rowId)}))}}function mS(e){return e>=1e6?2e3:e>=1e5?500:e>=1e4?200:e>=1e3?100:50}function hS(e){return{maxDomRows:80,maxSetDataMs:mS(e)}}function gS(e,t){let n=hS(t),r=e.activeDomRowCount<=n.maxDomRows,i=e.lastSetDataMs<=n.maxSetDataMs;return{domRowsPass:r,setDataPass:i,allPass:r&&i}}var _S=class{mountEl;rowModel;rowRenderer;frameService;scrollBridge;columnViewport;rootEl;rowsLayerEl;columnModel;valueCache=new Gp;changeDetection=new g;eventBus=new Dr;rowKey;businessRowIdCtx;selectionService;indexFocusService;editorHost;editingService;rowEditingService;cellFocusService=new Se;api;viewport;headerSortService;columnDragController=new K_;columnHandleMenuController;interaction;cellEditing;inlineCellEditorService;validationFeedback=new dr;invalidEditValueMode;rowValidator;asyncRowMutation;cellRenderersByColId;cellEditorsByColId;onUnmountRenderer;onUnmountEditor;summaryOptions;chromeNavigationOptions;indexColumnOptions;selectionColumnOptions;filterGridOptions;showUnsortedSortHintOnHover;columnSortOptions;resolvedSummaryRowHeight;footerRenderer=null;floatingFilterController=null;lastSetDataMs=0;columnResizeService;columnAutosizeService;columnFlexService;columnLayout;rowHeightService;rowAutoHeightService;rowDragOptions;onRowDragCommit;rowDragCommitService;cellSpanOptions;cellSpanService;rowExpansionOptions;rowExpansionService;rowGroupingOptions;rowGroupingService;treeTableOptions;treeTableService;treeLazyLoadService=null;rowSelectionOptions;userColumns;detailRowAutoHeightService;cellCommentOptions;cellCommentService;overflowTooltipOptions;tooltipService;overflowTooltipSession;emptyStateGridOptions;emptyStateOptionsRaw={};overlayService;overlayRenderer;cellSelectionGridOptions;cellSelectionOptions;cellRangeVisualGridOptions;cellRangeVisualOptions;cellClipboardGridOptions;cellRangeService;cellRangeVisualController=null;cellRangeFillWriteService=null;cellRangeDeleteWriteService=null;cellClipboardService=null;cellDisableContext=Sn();cellStyleContext=Un();rowHeightGridOptions;filterOps;selectionOps;rowMutation;gridFooter;resizeObserver=null;centerViewportWidth=0;autoSizeCellContentsPending=!1;destroyed=!1;suppressRowLayoutViewportSync=!1;constructor(e,t){this.mountEl=e,this.cellRenderersByColId=t.cellRenderers?.byColId??{},this.cellEditorsByColId=t.cellEditors?.byColId??{},this.onUnmountRenderer=t.onUnmountRenderer,this.onUnmountEditor=t.onUnmountEditor,this.summaryOptions=pn(t),this.chromeNavigationOptions=Kp(t),this.indexColumnOptions=Fe(t),this.selectionColumnOptions=We(t),this.rowDragOptions=aa(t),this.onRowDragCommit=t.onRowDragCommit,this.cellSpanOptions=Ni(t),this.rowExpansionOptions=et(t);let n=mm({tree:t.tree,rowGrouping:t.rowGrouping});this.treeTableOptions=an(t),n.mode===`tree`&&dn(!0,this.treeTableOptions.getDataPath),this.rowGroupingOptions=St({...t,rowGrouping:n.mode===`group`&&t.rowGrouping}),this.rowSelectionOptions=Wb(t.rowSelection),this.userColumns=[...t.columns],this.userColumns,ln(this.userColumns);let r=si(t),i=li(t),a=s_(t);this.filterGridOptions=ba(t);let o=ga(t);this.columnSortOptions=o,this.showUnsortedSortHintOnHover=o.showUnsortedSortHintOnHover,this.columnModel=new Wa(xo(this.userColumns,this.indexColumnOptions,this.selectionColumnOptions,{rowExpansion:this.rowExpansionOptions,rowGrouping:n.mode===`group`?this.rowGroupingOptions:void 0,treeTable:n.mode===`tree`?this.treeTableOptions:void 0}),this.cellRenderersByColId,this.cellEditorsByColId,ni(t),r,i,o,this.filterGridOptions),this.columnViewport=new So(this.columnModel);let s=t.rowHeight??p;this.resolvedSummaryRowHeight=mn(this.summaryOptions.summaryRowHeight,s);let c=t.stripe??!1,{editMode:l,editType:u}=An(t);this.cellDisableContext=Sn({isRowDisabled:t.isRowDisabled}),this.cellStyleContext=Un({rowStyle:t.rowStyle}),this.invalidEditValueMode=t.invalidEditValueMode??`block`,this.rowValidator=t.rowValidator,this.asyncRowMutation=t.asyncRowMutation,this.editorHost=new le({onUnmountEditor:t.onUnmountEditor,byName:t.cellEditors?.byName}),this.editingService=new ue(this.editorHost),this.rowEditingService=new ke(this.editorHost),this.selectionService=Ub(t.rowSelection)===!1||!this.selectionColumnOptions.enabled?null:new kr(Ub(t.rowSelection)),this.indexFocusService=this.indexColumnOptions.showIndexColumn?new Nr(this.indexColumnOptions.indexColumn.focusMode):null,this.frameService=new h,this.scrollBridge=new Wp;let d=(e,t)=>{let n=this.columnModel.getColumnById(t);return n?W(e,n):e.data[t]};this.rowModel=new Md({rowKey:t.rowKey,rowHeight:s,getCellValue:d,getColumnComparator:e=>this.columnModel.getColumnById(e)?.comparator,filterColumnContext:Ys(e=>this.columnModel.getColumnById(e),d),quickFilterText:t.quickFilterText,getQuickFilterColIds:()=>this.columnModel.getColumns().filter(e=>e.filterable).map(e=>e.colId)}),this.rowKey=t.rowKey,this.businessRowIdCtx={rowKey:t.rowKey,getRowById:e=>this.rowModel.resolveRowById(e)},this.eventBus.setProjector(Or(this.businessRowIdCtx)),this.cellSpanService=new Zo({getEnableCellSpan:()=>this.cellSpanOptions.enableCellSpan,getColumnModel:()=>this.columnModel,getDisplayRows:()=>this.rowModel.rowsToDisplay,getRowById:e=>{let t=this.rowModel.getRowIndexById(e);return t>=0?this.rowModel.getRow(t):void 0},getRowByIndex:e=>this.rowModel.getRow(e),getRowCount:()=>this.rowModel.getRowCount()}),this.rowExpansionService=new tm({getOptions:()=>this.rowExpansionOptions,getBaseDisplayRows:()=>this.rowModel.getBaseDisplayRows(),onExpansionChanged:e=>{this.eventBus.emit(e.expanded?`rowExpanded`:`rowCollapsed`,e),this.syncRowExpansionDisplay()},onDetailDataChanged:e=>{this.refreshDetailRowContent([e])}}),this.rowModel.setRowExpansionService(this.rowExpansionService),this.rowGroupingService=new nm({getOptions:()=>this.rowGroupingOptions,getRowGroupColumnsFromDefs:()=>Pt(this.userColumns),getGroupedTreeRoots:()=>this.rowModel.getGroupedTreeRoots(),onGroupOpened:e=>{this.eventBus.emit(`rowGroupOpened`,e),this.syncRowGroupingDisplay()},onGroupChanged:e=>{this.eventBus.emit(`rowGroupChanged`,e)},onGroupingStateChanged:()=>{this.syncRowGroupingDisplay()}}),this.rowModel.setRowGroupingDeps({active:()=>this.rowGroupingService.active,getRowGroupColumns:()=>this.rowGroupingService.getRowGroupColumns(),getGroupKeyCreator:()=>this.rowGroupingOptions.groupKeyCreator,getGroupComparator:()=>this.rowGroupingOptions.groupComparator,getColumns:()=>this.columnModel.getColumns(),getColumnField:e=>this.columnModel.getColumnById(e)?.prop??e,getMapStageOptions:()=>this.rowGroupingService.getMapStageOptions(),pruneExpanded:e=>this.rowGroupingService.pruneExpanded(e),applyDefaultExpanded:e=>this.rowGroupingService.applyDefaultExpanded(e),clearExpanded:()=>this.rowGroupingService.clearExpanded()}),this.treeTableService=new cm({getOptions:()=>this.treeTableOptions,getGroupDefaultExpanded:()=>this.rowGroupingOptions.groupDefaultExpanded,getTreeTreeRoots:()=>this.rowModel.getTreeTreeRoots(),getLazyLoadHost:()=>this.treeLazyLoadService,onNodeOpened:e=>{this.eventBus.emit(`treeNodeOpened`,e),this.syncTreeTableDisplay()},onTreeStateChanged:()=>{this.syncTreeTableDisplay()}}),this.rowModel.setTreeTableDeps({active:()=>this.treeTableService.active,getDataPath:()=>this.treeTableOptions.getDataPath,getMapStageOptions:()=>this.treeTableService.getMapStageOptions(),prepareTreeTree:e=>this.treeTableService.prepareTreeTree(e),applyDefaultExpanded:e=>this.treeTableService.applyDefaultExpandedToTree(e),clearExpanded:()=>this.treeTableService.clearExpanded()}),this.headerSortService=new my({getSortModel:()=>this.rowModel.getSortModel(),setSortModel:e=>this.setSortModel(e),getColumnById:e=>this.columnModel.getColumnById(e)}),this.columnHandleMenuController=new uy({mountEl:this.mountEl,columnModel:this.columnModel,getSortModel:()=>this.rowModel.getSortModel(),setSortModel:e=>this.setSortModel(e),getFilterModel:()=>this.getFilterModel(),setFilterModel:e=>this.setFilterModel(e),setColumnFixed:(e,t,n)=>this.setColumnFixed(e,t,n),setColumnsHidden:(e,t,n)=>this.columnLayout.setColumnsHidden(e,t,n),getColumnDistinctFilterValues:e=>this.getColumnDistinctFilterValues(e),filterSetValueMode:this.filterGridOptions.filterSetValueMode,filterSetDateLayoutMode:this.filterGridOptions.filterSetDateLayoutMode});let f=ha(t);f.length>0&&this.rowModel.setSortModel(f);let g=vy(e,{showSummary:this.summaryOptions.showSummary,floatingFilter:t.floatingFilter??!1});if(this.rootEl=g.rootEl,this.rowsLayerEl=g.rowsLayerEl,g.footerViewportEl&&g.footerRowEl&&g.footerLeftLaneEl&&g.footerCenterLaneEl&&g.footerRightLaneEl&&(this.footerRenderer=new Qo({footerLeftLaneEl:g.footerLeftLaneEl,footerCenterLaneEl:g.footerCenterLaneEl,footerRightLaneEl:g.footerRightLaneEl,footerRowEl:g.footerRowEl,frameService:this.frameService,onUnmountRenderer:this.onUnmountRenderer,enableCellSpan:this.cellSpanOptions.enableCellSpan})),g.floatingFilterRowEl&&g.floatingFilterLeftLaneEl&&g.floatingFilterCenterLaneEl&&g.floatingFilterRightLaneEl){let e=new Ry({floatingLeftLaneEl:g.floatingFilterLeftLaneEl,floatingCenterLaneEl:g.floatingFilterCenterLaneEl,floatingRightLaneEl:g.floatingFilterRightLaneEl,floatingRowEl:g.floatingFilterRowEl});this.floatingFilterController=new Hy({columnModel:this.columnModel,getFilterModel:()=>this.getFilterModel(),setFilterModel:e=>this.setFilterModel(e),renderer:e})}this.rowRenderer=new wp(g.rowsContainerEl,{rowModel:this.rowModel,columnModel:this.columnModel,rowHeight:s,rowBuffer:t.rowBuffer??10,stripe:c,frameService:this.frameService,onUnmountRenderer:this.onUnmountRenderer,onUnmountEditor:this.onUnmountEditor,indexColumnOptions:this.indexColumnOptions.showIndexColumn?this.indexColumnOptions.indexColumn:void 0,selectionColumnOptions:this.selectionColumnOptions.enabled?this.selectionColumnOptions:void 0,isRowDragHandleEnabled:e=>this.isRowDragHandleEnabled(e),enableCellSpan:this.cellSpanOptions.enableCellSpan,cellSpanService:this.cellSpanService,spannedRowsContainerEl:g.spannedRowsContainerEl,fullWidthRowsContainerEl:g.fullWidthRowsContainerEl,masterDetail:this.rowExpansionOptions.masterDetail,embedFullWidthRows:this.rowExpansionOptions.embedFullWidthRows,getDetailCellRenderer:()=>this.rowExpansionOptions.detailCellRenderer,getMasterRowById:e=>this.rowModel.getRowById(e),rowExpansionHost:{active:()=>this.rowExpansionOptions.masterDetail,isRowMaster:e=>this.rowExpansionService.isRowMaster(e),isExpanded:e=>this.rowExpansionService.isExpanded(e)},rowGroupingHost:{active:()=>this.rowGroupingService.active,isExpanded:e=>this.rowGroupingService.isExpanded(e),getGroupFooterLabel:()=>this.rowGroupingOptions.groupFooterLabel},treeTableHost:{active:()=>this.treeTableService.active,isExpanded:e=>this.treeTableService.isExpanded(e),getTreeValue:e=>this.treeTableService.getTreeDisplayValue(e),isTreeNodeExpandable:e=>this.treeTableService.isNodeExpandable(e),isTreeNodeLoading:e=>this.treeTableService.isNodeLoading(e)},resolveBusinessRowId:e=>yr(e,t.rowKey),getCellDisableContext:()=>this.getCellDisableContext(),getCellStyleContext:()=>this.getCellStyleContext()}),this.selectionOps=new Kx({mountEl:this.mountEl,rowModel:this.rowModel,rowRenderer:this.rowRenderer,eventBus:this.eventBus,selectionService:this.selectionService,indexFocusService:this.indexFocusService,indexColumnOptions:this.indexColumnOptions,selectionColumnOptions:this.selectionColumnOptions,rowKey:t.rowKey,isTreeActive:()=>this.treeTableService.active,groupSelectsChildren:()=>this.rowSelectionOptions.groupSelectsChildren,applyCellRangeVisuals:()=>this.applyCellRangeVisuals()},jr(t.selectable),t.reserveSelection??!1),this.rowRenderer.setIsRowNodeSelectable(e=>this.selectionOps.isRowNodeSelectable(e)),this.rowHeightGridOptions={getRowHeight:t.getRowHeight,rowHeightMin:t.rowHeightMin,rowHeightMax:t.rowHeightMax},this.rowHeightService=new zd({getDisplayRows:()=>this.rowModel.rowsToDisplay,getRowById:e=>this.rowModel.resolveRowById(e),getAutoHeightColumnIds:()=>this.columnModel.getAutoHeightColumnIds(),repositionDisplayRows:()=>{this.rowModel.repositionDisplayRows({getRowHeight:this.rowHeightService.getPositionRowHeightFn()})},emitRowHeightChanged:e=>{this.eventBus.emit(`rowHeightChanged`,e),this.syncRowLayoutAfterRowHeightChange(e.rows.map(e=>e.rowId))}},s,this.rowHeightGridOptions),this.rowModel.setPositionGetRowHeight(this.rowHeightService.getPositionRowHeightFn()),this.rowAutoHeightService=new Gd({rowHeightService:this.rowHeightService,getRowById:e=>this.rowModel.getRowById(e),isColumnAutoHeight:e=>this.columnModel.isColumnAutoHeight(e),getAutoHeightColumnIds:()=>this.columnModel.getAutoHeightColumnIds()}),this.rowRenderer.setRowAutoHeightService(this.rowAutoHeightService),this.detailRowAutoHeightService=this.rowExpansionOptions.detailRowAutoHeight?new $p({rowHeightService:this.rowHeightService,getRowById:e=>this.rowModel.resolveRowById(e),isEnabled:()=>this.rowExpansionOptions.detailRowAutoHeight,getMinDetailRowHeight:e=>ct(this.rowExpansionOptions.detailRowHeight,{rowId:e.id,data:e.data,masterRowId:e.masterRowId??e.id})}):null,this.rowRenderer.setDetailRowAutoHeightService(this.detailRowAutoHeightService),this.gridFooter=new sS({columnModel:this.columnModel,columnViewport:this.columnViewport,rowModel:this.rowModel,frameService:this.frameService,valueCache:this.valueCache,summaryOptions:this.summaryOptions,getFooterRenderer:()=>this.footerRenderer}),this.filterOps=new zx({rowModel:this.rowModel,columnModel:this.columnModel,columnViewport:this.columnViewport,getViewport:()=>this.viewport,rowRenderer:this.rowRenderer,valueCache:this.valueCache,eventBus:this.eventBus,getFloatingFilterController:()=>this.floatingFilterController,applySelectionVisuals:()=>this.selectionOps.applySelectionVisuals(),refreshFooter:()=>this.gridFooter.refresh(),refreshCellSpans:()=>this.refreshCellSpanCache(),clearCellSelection:()=>this.clearCellSelectionOnStructuralChange(),refreshOverlay:()=>this.syncEmptyStateOverlay()}),this.viewport=new Px({rootEl:g.rootEl,headerViewportEl:g.headerViewportEl,headerScrollEl:g.headerScrollEl,headerRowEl:g.headerRowEl,headerLeftLaneEl:g.headerLeftLaneEl,headerCenterLaneEl:g.headerCenterLaneEl,headerRightLaneEl:g.headerRightLaneEl,viewportEl:g.viewportEl,spacerEl:g.spacerEl,scrollPhantomEl:g.scrollPhantomEl,rowsLayerEl:g.rowsLayerEl,indexColumnFillHostEl:g.indexColumnFillHostEl,indexColumnFillEl:g.indexColumnFillEl,rowsContainerEl:g.rowsContainerEl,footerViewportEl:g.footerViewportEl,footerScrollEl:g.footerScrollEl,footerRowEl:g.footerRowEl,footerLeftLaneEl:g.footerLeftLaneEl,footerCenterLaneEl:g.footerCenterLaneEl,footerRightLaneEl:g.footerRightLaneEl,floatingFilterViewportEl:g.floatingFilterViewportEl,floatingFilterScrollEl:g.floatingFilterScrollEl,floatingFilterRowEl:g.floatingFilterRowEl,floatingFilterLeftLaneEl:g.floatingFilterLeftLaneEl,floatingFilterCenterLaneEl:g.floatingFilterCenterLaneEl,floatingFilterRightLaneEl:g.floatingFilterRightLaneEl,refreshFooter:()=>this.gridFooter.refresh(),refreshFloatingFilter:()=>this.filterOps.refreshFloatingFilter(),rowModel:this.rowModel,columnModel:this.columnModel,columnViewport:this.columnViewport,validationFeedback:this.validationFeedback,rowRenderer:this.rowRenderer,scrollBridge:this.scrollBridge,frameService:this.frameService,getPinnedRowIds:()=>this.getPinnedRowIds(),selectionColumnOptions:this.selectionColumnOptions,showIndexColumn:this.indexColumnOptions.showIndexColumn,showUnsortedSortHintOnHover:()=>this.showUnsortedSortHintOnHover,getDefaultRowHeight:()=>this.rowHeightService.getDefaultRowHeight(),headerHeight:t.headerHeight??m,isDestroyed:()=>this.destroyed,onBodyScroll:(e,t)=>{this.eventBus.emit(`bodyScroll`,{scrollTop:e,scrollLeft:t})},onScroll:t.onScroll,applySelectionVisuals:()=>this.selectionOps.applySelectionVisuals(),applyFocusVisuals:()=>this.applyFocusVisuals(),applyCellRangeVisuals:()=>this.applyCellRangeVisuals(),applyCellRangeScrollVisuals:()=>this.applyCellRangeScrollVisuals(),onHeaderRefresh:()=>this.columnHandleMenuController.onHeaderRefresh()}),this.cellEditing=new V_({mountEl:this.mountEl,viewportEl:g.viewportEl,rowModel:this.rowModel,columnModel:this.columnModel,editingService:this.editingService,rowEditingService:this.rowEditingService,editMode:l,editType:u,invalidEditValueMode:this.invalidEditValueMode,rowValidator:this.rowValidator,validationFeedback:this.validationFeedback,editorHost:this.editorHost,eventBus:this.eventBus,cellFocusService:this.cellFocusService,isDestroyed:()=>this.destroyed,getColIndex:e=>this.getColIndex(e),ensureIndexVisible:(e,t)=>this.ensureIndexVisible(e,t),ensureColumnVisible:e=>this.ensureColumnVisible(e),redrawImmediately:()=>this.viewport.redrawImmediately(),applyFocusVisuals:()=>this.applyFocusVisuals(),syncPinnedRows:()=>this.viewport.syncPinnedRows(),refreshCells:e=>this.refreshCells(e),applyTransaction:e=>this.commitTransaction(e),onTabChainEdit:e=>this.interaction.navigateTabChainEdit(e),getCellDisableContext:()=>this.getCellDisableContext()});let v=new lr({eventBus:this.eventBus,applyTransaction:e=>this.commitTransaction(e),syncPinnedRows:()=>this.viewport.syncPinnedRows(),invalidEditValueMode:this.invalidEditValueMode,onUnmountEditor:this.onUnmountEditor,byName:t.cellEditors?.byName});this.inlineCellEditorService=v,this.rowRenderer.setInlineCellEditorContext(v.getRefreshContext()),this.columnFlexService=new lo(this.columnModel),this.columnResizeService=new fo(this.columnModel,()=>{this.columnLayout.syncColumnLayoutAfterResize()},this.columnFlexService,()=>this.getCenterViewportWidth()),this.columnAutosizeService=new eo(this.mountEl,this.columnModel,a),this.columnLayout=new Rx({mountEl:this.mountEl,rootEl:this.rootEl,columnModel:this.columnModel,columnViewport:this.columnViewport,columnResizeService:this.columnResizeService,columnAutosizeService:this.columnAutosizeService,columnFlexService:this.columnFlexService,viewport:this.viewport,rowRenderer:this.rowRenderer,footerRenderer:this.footerRenderer,eventBus:this.eventBus,isDestroyed:()=>this.destroyed,refreshColumnResizeVisualState:()=>this.interaction.refreshColumnResizeVisualState(),refreshFooter:()=>this.gridFooter.refresh(),refreshFloatingFilter:()=>this.filterOps.refreshFloatingFilter(),clearCellSelection:()=>this.clearCellSelectionOnStructuralChange()},r,i),this.columnLayout.syncColumnMovePresentationClasses(),this.viewport.setOnAfterRedraw(()=>{!this.destroyed&&!this.cellEditing.isEditing()&&this.cellEditing.syncValidationDom()}),this.cellCommentOptions=Tl(t),this.cellCommentService=new Ph({getOptions:()=>this.cellCommentOptions,getRowKey:()=>t.rowKey,getRowNode:e=>this.rowModel.getRowById(e),getColumn:e=>this.columnModel.getColumnById(e)??void 0,getMountEl:()=>this.mountEl,onCommentChanged:e=>this.eventBus.emit(`cellCommentChanged`,e),onCommentsRefresh:e=>this.rowRenderer.syncVisibleCellCommentIndicators({rowIds:e?.rowIds?.map(e=>String(e)),colIds:e?.colIds})}),this.rowRenderer.setCellCommentHost(this.cellCommentService.createHost()),this.overflowTooltipOptions=Ba(t),this.cellSelectionGridOptions={cellSelection:t.cellSelection,enableCellClipboard:t.enableCellClipboard,enableCellCopy:t.enableCellCopy,enableCellPaste:t.enableCellPaste},this.cellSelectionOptions=js(this.cellSelectionGridOptions),this.cellRangeVisualGridOptions={enableHeaderHighlight:t.enableHeaderHighlight,enableIndexColumnHighlight:t.enableIndexColumnHighlight},this.cellRangeVisualOptions=As(this.cellRangeVisualGridOptions),this.cellClipboardGridOptions={processCellForClipboard:t.processCellForClipboard,processCellFromClipboard:t.processCellFromClipboard,processDataFromClipboard:t.processDataFromClipboard},this.cellRangeService=new Uh(this.cellSelectionOptions.suppressMultiRanges),this.cellRangeVisualController=this.createCellRangeVisualController(),this.tooltipService=new Kg,this.overflowTooltipSession=new Vg({mountEl:this.mountEl,viewportEl:g.viewportEl,headerViewportEl:g.headerViewportEl,footerViewportEl:g.footerViewportEl??null,columnModel:this.columnModel,rowModel:this.rowModel,tooltipService:this.tooltipService,validationFeedback:this.validationFeedback,cellCommentService:()=>this.cellCommentService,getOptions:()=>this.overflowTooltipOptions,getIndexColumnOptions:()=>this.indexColumnOptions,getApi:()=>this.getApi(),isEditing:()=>this.cellEditing.isEditing(),getEditingCell:()=>this.cellEditing.getEditingCell()}),this.emptyStateOptionsRaw={loading:t.loading,suppressOverlays:t.suppressOverlays,suppressLoadingOverlay:t.suppressLoadingOverlay,suppressNoRowsOverlay:t.suppressNoRowsOverlay,suppressNoMatchingRowsOverlay:t.suppressNoMatchingRowsOverlay,overlayLoadingTemplate:t.overlayLoadingTemplate,overlayNoRowsTemplate:t.overlayNoRowsTemplate,overlayNoMatchingRowsTemplate:t.overlayNoMatchingRowsTemplate,loadingOverlayComponent:t.loadingOverlayComponent,loadingOverlayComponentParams:t.loadingOverlayComponentParams,noRowsOverlayComponent:t.noRowsOverlayComponent,noRowsOverlayComponentParams:t.noRowsOverlayComponentParams,noMatchingRowsOverlayComponent:t.noMatchingRowsOverlayComponent,noMatchingRowsOverlayComponentParams:t.noMatchingRowsOverlayComponentParams,overlayComponent:t.overlayComponent,overlayComponentParams:t.overlayComponentParams,overlayInteraction:t.overlayInteraction},this.emptyStateGridOptions=yu(this.emptyStateOptionsRaw),this.overlayService=new o_({getResolvedOptions:()=>this.emptyStateGridOptions,getSourceRowCount:()=>this.rowModel.getSourceRows().length,getDisplayRows:()=>this.rowModel.rowsToDisplay,isAnyFilterActive:()=>this.filterOps.isAnyFilterActive(),onOverlayChanged:(e,t)=>this.handleOverlayChanged(e,t),warn:e=>console.warn(e)}),this.overlayRenderer=new t_({overlayEl:g.overlayEl,wrapperEl:g.overlayWrapperEl,contentEl:g.overlayContentEl,getApi:()=>this.getApi(),getOverlayInteraction:()=>this.emptyStateGridOptions.overlayInteraction}),this.interaction=new Hb({mountEl:this.mountEl,viewportEl:g.viewportEl,headerViewportEl:g.headerViewportEl,headerLeftLaneEl:g.headerLeftLaneEl,headerCenterLaneEl:g.headerCenterLaneEl,headerRightLaneEl:g.headerRightLaneEl,rowModel:this.rowModel,columnModel:this.columnModel,rowRenderer:this.rowRenderer,eventBus:this.eventBus,cellFocusService:this.cellFocusService,selectionService:this.selectionService,indexFocusService:this.indexFocusService,indexColumnOptions:this.indexColumnOptions,columnDragController:this.columnDragController,columnHandleMenuController:this.columnHandleMenuController,editMode:l,editType:u,isEditing:()=>this.cellEditing.isEditing(),getEditingCell:()=>this.cellEditing.getEditingCell(),getEditingRowId:()=>this.cellEditing.getEditingRowId(),focusRowEditingColumn:e=>this.cellEditing.focusRowEditingColumn(e),isCommitting:()=>this.isCommitting(),awaitCommitIdle:()=>this.awaitCommitIdle(),commitEditing:()=>this.cellEditing.stopEditing(!1),cancelCommit:()=>this.cancelCommit(),ensureIndexVisible:(e,t)=>this.ensureIndexVisible(e,t),ensureColumnVisible:e=>this.ensureColumnVisible(e),getLogicalScrollTop:()=>this.viewport.getLogicalScrollTop(),scrollByDelta:e=>this.viewport.scrollByDelta(e),scrollByHorizontalDelta:e=>this.viewport.scrollByHorizontalDelta(e),getRowHeight:()=>this.rowHeightService.getDefaultRowHeight(),redrawImmediately:()=>this.viewport.redrawImmediately(),tryStartCellEditing:e=>this.cellEditing.tryStartCellEditing(e),tryStartRowEditing:e=>this.cellEditing.tryStartRowEditing(e),applyIndexFocusVisuals:e=>this.selectionOps.applyIndexFocusVisuals(e),applySelectionVisuals:()=>this.selectionOps.applySelectionVisuals(),handleInteractiveRowSelection:(e,t)=>this.selectionOps.handleInteractiveRowSelection(e,t),isRowNodeSelectable:e=>this.selectionOps.isRowNodeSelectable(e),getSelectableRowIdAt:e=>this.selectionOps.getSelectableRowIdAt(e),showSummary:()=>this.summaryOptions.showSummary,navigateHeader:()=>this.chromeNavigationOptions.navigateHeader,navigateFooter:()=>this.chromeNavigationOptions.navigateFooter,toggleHeaderSort:e=>this.headerSortService.toggleSort(e),moveColumn:(e,t,n,r)=>this.moveColumn(e,t,n,r),finishColumnMove:e=>this.finishColumnMove(e),suppressMoveWhenColumnDragging:()=>this.columnLayout.columnMoveOptions.suppressMoveWhenColumnDragging,setColumnMoveLiveDragging:e=>this.setColumnMoveLiveDragging(e),allowCrossLaneColumnMove:()=>this.columnLayout.columnMoveOptions.allowCrossLaneColumnMove,setColumnWidths:(e,t,n)=>this.columnLayout.applyColumnWidths(e,t,n,`uiColumnResized`),autoSizeColumn:(e,t)=>this.columnLayout.autoSizeColumn(e,void 0,t??`uiColumnResized`),resizeHeaderColumn:(e,t,n)=>this.columnLayout.resizeHeaderColumn(e,t,n),setRowHeights:(e,t)=>this.rowHeightService.setRowHeights(e,{finished:t,source:`uiRowResized`}),rowDragManaged:this.rowDragOptions.rowDragManaged,rowDragCommitMode:this.rowDragOptions.rowDragCommitMode,cellSpanService:this.cellSpanService,hasSortModel:()=>this.rowModel.getSortModel().length>0,isRowDragHandleEnabled:e=>this.isRowDragHandleEnabled(e),moveRow:(e,t)=>this.rowMutation.moveRow(e,t),moveRows:(e,t)=>this.rowMutation.moveRows(e,t),finishRowMove:e=>this.rowMutation.finishRowMove(e),finishRowMoves:(e,t,n,r)=>this.rowMutation.finishRowMoves(e,`uiRowDrag`,{startSourceIndices:t,startTreePositions:r,displayIndex:n,resolveTreeDrop:this.treeTableService.active?e=>Sm(this.rowModel.getSourceRows(),e)??void 0:void 0}),isIndexFocusMultiple:()=>this.indexFocusService?.isMultiple()??!1,getIndexFocusedRowIds:()=>this.indexFocusService?.getFocusedRowIds()??[],setRowMoveLiveDragging:e=>this.setRowMoveLiveDragging(e),emitRowDragEnd:e=>{this.eventBus.emit(`rowDragEnd`,e)},isRowDragCommitting:()=>this.rowDragCommitService?.isCommitting()??!1,buildPlanRowDragMoveOptions:e=>this.buildPlanRowDragMoveOptions(e),planRowDragMove:e=>vh(e),commitDeferredRowDrag:e=>this.rowDragCommitService.commit(e),rowExpansionService:this.rowExpansionOptions.masterDetail?this.rowExpansionService:null,rowGroupingService:this.rowGroupingOptions.rowGrouping?this.rowGroupingService:null,treeTableService:this.treeTableService.active?this.treeTableService:null,requestTreeNodeToggle:(e,t)=>this.treeTableService.requestToggleNode(e,t),isTreeNodeExpandable:e=>this.treeTableService.isNodeExpandable(e),isRowGroupingActive:()=>this.rowGroupingService.active,isTreeActive:()=>this.treeTableService.active,getTreeDragScope:()=>this.treeTableOptions.treeDragScope,validateGroupedDisplayDrop:(e,t)=>{if(!this.rowGroupingService.active)return!0;let n=Jm(this.rowModel.getSourceRows(),e);return n===`mixed`||n===`missing`?!1:n===null||eh(this.rowModel.rowsToDisplay,e=>this.rowModel.getRowById(e),e,t,n)},validateTreeDisplayDrop:(e,t,n)=>{if(!this.treeTableService.active)return!0;let r=this.rowModel.getSourceRows(),i=e=>this.rowModel.getRowById(e);if(this.treeTableOptions.treeDragScope===`hierarchy`){let a=this.treeTableOptions.getDataPath;return a?Vm(r,this.rowModel.rowsToDisplay,i,e,t,a,{nestUnderRowId:n?.nestUnderRowId}):!1}let a=bm(r,e);return a===`mixed`||a===`missing`?!1:Em(this.rowModel.rowsToDisplay,i,e,t,a)},resolveTreeRowDragEndContext:(e,t,n,r)=>{if(!this.treeTableService.active||!r||t<0)return;if(this.rowDragOptions.rowDragManaged)return Sm(this.rowModel.getSourceRows(),e)??void 0;let i=this.treeTableOptions.getDataPath;if(i)return Hm({sourceRows:this.rowModel.getSourceRows(),displayRows:this.rowModel.rowsToDisplay,rowIds:[e],insertIndex:t,nestUnderRowId:n,treeDragScope:this.treeTableOptions.treeDragScope,getDataPath:i})??void 0},cellCommentService:()=>this.cellCommentService,getCellCommentOptions:()=>this.cellCommentOptions,overflowTooltipSession:this.overflowTooltipSession,getCellDisableContext:()=>this.getCellDisableContext(),getCellRangeService:()=>this.cellRangeService,isCellSelectionEnabled:()=>this.cellSelectionOptions.enabled,getCellSelectionOptions:()=>this.cellSelectionOptions,getFillWriteService:()=>this.cellRangeFillWriteService,getCellRangeOperationContext:()=>this.getCellRangeOperationContext(),applyCellRangeVisuals:()=>this.applyCellRangeVisuals(),emitCellSelectionChanged:e=>this.emitCellSelectionChanged(e),handleCellSelectionDeleteKey:()=>void this.handleCellSelectionDeleteKey(),copyCellSelectionToClipboard:()=>this.cellClipboardService?.copySelectedRanges()??!1,pasteCellSelectionFromClipboard:()=>this.pasteFromClipboard(),isPointerOverCellCommentIndicator:(e,t,n)=>Ch(e,t,n)}),this.rowMutation=new oS({rowKey:t.rowKey,asyncRowMutation:this.asyncRowMutation,rowModel:this.rowModel,rowRenderer:this.rowRenderer,viewport:this.viewport,valueCache:this.valueCache,frameService:this.frameService,changeDetection:this.changeDetection,eventBus:this.eventBus,cellFocusService:this.cellFocusService,validationFeedback:this.validationFeedback,mountEl:this.mountEl,cellEditing:this.cellEditing,filterOps:this.filterOps,selectionOps:this.selectionOps,ensureIndexVisible:(e,t)=>this.ensureIndexVisible(e,t),applyFocusVisuals:()=>this.applyFocusVisuals(),refreshFooter:()=>this.gridFooter.refresh(),refreshCellSpans:()=>this.refreshCellSpanCache(),refreshOverlay:()=>this.syncEmptyStateOverlay(),isCellSpanActive:()=>this.cellSpanService.active,isEditingTargetRow:e=>this.isEditingTargetRow(e),isRowGroupingActive:()=>this.rowGroupingService.active,isTreeActive:()=>this.treeTableService.active,getTreeDragScope:()=>this.treeTableOptions.treeDragScope,getDataPath:()=>this.treeTableOptions.getDataPath,setDataPath:()=>this.treeTableOptions.setDataPath}),this.cellRangeFillWriteService=new xg({rowModel:this.rowModel,columnModel:this.columnModel,eventBus:this.eventBus,getCellDisableContext:()=>this.getCellDisableContext(),getApi:()=>this.getApi(),applyTransaction:e=>this.commitTransaction(e),refreshCells:e=>this.refreshCells(e)}),this.cellRangeDeleteWriteService=new Sg({rowModel:this.rowModel,columnModel:this.columnModel,eventBus:this.eventBus,getCellDisableContext:()=>this.getCellDisableContext(),getApi:()=>this.getApi(),applyTransaction:e=>this.commitTransaction(e),refreshCells:e=>this.refreshCells(e)}),this.cellClipboardService=new og({rowModel:this.rowModel,columnModel:this.columnModel,eventBus:this.eventBus,cellFocusService:this.cellFocusService,getCellRangeService:()=>this.cellRangeService,getCellRangeOperationContext:()=>this.getCellRangeOperationContext(),getCellSelectionOptions:()=>this.cellSelectionOptions,getIndexColumnOptions:()=>this.indexColumnOptions,getCellDisableContext:()=>this.getCellDisableContext(),getApi:()=>this.getApi(),applyTransaction:e=>this.commitTransaction(e),refreshCells:e=>this.refreshCells(e),isEditing:()=>this.cellEditing.isEditing(),stopEditing:e=>this.cellEditing.stopEditing(e),onCopyVisualFeedback:()=>this.playCellRangeCopyFlash(),onPasteVisualFeedback:e=>this.playCellRangePasteFlash(e),getCellClipboardOptions:()=>this.cellClipboardGridOptions}),this.treeTableOptions.treeLazyLoad&&typeof this.treeTableOptions.loadTreeChildren==`function`&&(this.treeLazyLoadService=new lm({getOptions:()=>this.treeTableOptions,rowKey:t.rowKey,getDataPath:()=>this.treeTableOptions.getDataPath,getNodeById:e=>this.rowModel.getRowById(e),getExistingRowKeys:()=>{let e=new Set;for(let n of this.rowModel.getSourceRows()){e.add(n.id);let r=n.data[t.rowKey];r!=null&&r!==``&&e.add(String(r))}return e},applyTransaction:e=>{this.commitTransaction(e)},onLoading:e=>{this.eventBus.emit(`treeChildrenLoading`,e),this.refreshTreeLoadingVisuals(String(e.parentRowId))},onLoaded:e=>{this.eventBus.emit(`treeChildrenLoaded`,e),this.refreshTreeLoadingVisuals(String(e.parentRowId))},onLoadFailed:e=>{this.eventBus.emit(`treeChildrenLoadFailed`,e),this.refreshTreeLoadingVisuals(String(e.parentRowId))},onStateChanged:()=>{this.refreshTreeLoadingVisuals()}})),this.rowDragCommitService=new bh({getOnRowDragCommit:()=>this.onRowDragCommit,applyPlan:e=>this.rowMutation.applyRowDragPlan(e),emitStarted:e=>{this.eventBus.emit(`rowDragCommitStarted`,e)},emitFinished:e=>{this.eventBus.emit(`rowDragCommitFinished`,e)},emitRowDragEnd:e=>{this.eventBus.emit(`rowDragEnd`,e)},setCommittingVisual:e=>this.setRowDragCommittingVisual(e)}),this.viewport.syncHorizontalLayout(),this.refreshFlexedColumnsOnViewportChange(!1),this.scheduleAutoSizeStrategy(),this.frameService.setScrollGridIfNeeded(()=>this.viewport.scrollGridIfNeeded()),this.refreshCellSpanCache(),this.rowRenderer.setValueCacheVersion(this.valueCache.getVersion()),this.viewport.redrawImmediately(),this.floatingFilterController&&this.filterOps.refreshFloatingFilter(),this.api=_(this),this.cellCommentService.init(this.api),this.viewport.bindScrollListener(),this.interaction.bindListeners(),this.resizeObserver=new ResizeObserver(()=>{this.viewport.syncViewportHeight(),this.refreshFlexedColumnsOnViewportChange(!0),this.viewport.redrawImmediately(),this.syncEmptyStateOverlay()}),this.resizeObserver.observe(g.viewportEl),this.syncEmptyStateOverlay()}getApi(){return this.api}setSelectable(e){this.selectionOps.setSelectable(e)}getCellDisableContext(){return this.cellDisableContext}getCellStyleContext(){return this.cellStyleContext}setIsRowDisabled(e){this.cellDisableContext=wn(this.cellDisableContext,e),this.rowRenderer.setGetCellDisableContext(()=>this.getCellDisableContext()),this.refreshDisabledState()}setRowStyle(e){this.cellStyleContext=Zn(this.cellStyleContext,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})}setReserveSelection(e){this.selectionOps.setReserveSelection(e)}setColumnMoveOptions(e){this.columnLayout.setColumnMoveOptions(e)}setColumnResizeOptions(e){this.columnLayout.setColumnResizeOptions(e)}setColumnSortOptions(e){if(e.sortable===void 0)return;let t=this.columnSortOptions.sortable;this.columnSortOptions=ga({...this.columnSortOptions,sortable:e.sortable}),e.sortable!==t&&(this.columnModel.setColumnSortGridOptions(this.columnSortOptions),this.viewport.refreshHeader())}setColumnFilterOptions(e){if(e.filterable===void 0)return;let t=this.filterGridOptions.filterable;this.filterGridOptions=ba({...this.filterGridOptions,filterable:e.filterable}),e.filterable!==t&&(this.columnModel.setColumnFilterGridOptions(this.filterGridOptions),this.viewport.refreshHeader(),this.filterOps.refreshFloatingFilter())}setColumnAutosizeOptions(e){let t=s_(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){this.selectionOps.setIndexFocus(e),this.cellSelectionOptions.enabled&&this.indexColumnOptions.showIndexColumn&&this.interaction.syncCellRangeFromIndexFocus()}toggleAllSelection(e){this.selectionOps.toggleAllSelection(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)}getRowNode(e){return this.rowModel.getRowById(X(e))}ensureIndexVisible(e,t=`middle`){this.viewport.ensureIndexVisible(e,t)}ensureColumnVisible(e){this.viewport.ensureColumnVisible(e)}setData(e){let t=performance.now(),n=this.selectionOps.reserveSelection&&this.selectionService?this.selectionService.getSelectedRowIds():null,r=(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.rowModel.setData(e);let i=this.selectionOps.reconcileSelectionAfterSetData(n,r);this.viewport.syncViewportHeight(),this.viewport.resetScrollOnSetData(),this.valueCache.bump(),this.refreshCellSpanCache(),this.rowRenderer.invalidate(),this.viewport.redrawImmediately(),this.selectionOps.applySelectionVisuals(),this.selectionOps.applyIndexFocusVisuals({syncToSelectionColumn:!1}),this.applyFocusVisuals(),this.lastSetDataMs=performance.now()-t,this.viewport.scheduleCompressedSetDataRedraw(()=>{this.viewport.syncViewportHeight(),this.viewport.redrawImmediately()}),this.gridFooter.refresh(),this.maybeApplyFitCellContentsStrategy(e.length),i&&this.selectionService&&this.eventBus.emit(`selectionChanged`,{selectedRowIds:this.selectionService.getSelectedRowIds()}),this.overlayService.markRowDataReady(),this.syncEmptyStateOverlay()}setColumns(e){this.userColumns=[...e],this.userColumns,ln(this.userColumns),this.rowGroupingService.syncRowGroupColumnsFromDefs(),this.columnModel.setColumns(xo(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.columnViewport.invalidate(),this.overflowTooltipSession.close(),this.viewport.syncHorizontalLayout(),this.refreshFlexedColumnsOnViewportChange(!1),this.refreshCellSpanCache(),this.viewport.redrawImmediately(),this.gridFooter.refresh(),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){this.rowModel.setSortModel(ma(e)),this.viewport.syncViewportHeight(),this.valueCache.bump(),this.refreshCellSpanCache(),this.rowRenderer.invalidate(),this.viewport.redrawImmediately(),this.viewport.refreshHeader(),this.eventBus.emit(`sortChanged`,{sortModel:this.rowModel.getSortModel()}),this.clearCellSelectionOnStructuralChange(),this.gridFooter.refresh()}getSortModel(){return this.rowModel.getSortModel()}setFilterModel(e){this.filterOps.setFilterModel(e)}getFilterModel(){return this.filterOps.getFilterModel()}getColumnFilter(e){return this.filterOps.getColumnFilter(e)}getColumnDistinctFilterValues(e){return this.filterOps.getColumnDistinctFilterValues(e)}isColumnFilterActive(e){return this.filterOps.isColumnFilterActive(e)}isAnyFilterActive(){return this.filterOps.isAnyFilterActive()}getQuickFilterText(){return this.filterOps.getQuickFilterText()}setQuickFilterText(e){this.filterOps.setQuickFilterText(e)}clearAllFilters(){this.filterOps.clearAllFilters()}setColumnFilter(e,t){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:e.treeNestUnderRowId}}setRowDragCommittingVisual(e){this.rootEl.classList.toggle(ia,e!=null),this.rowRenderer.setRowDragCommittingRows(e?.rowIds??null)}finishRowMove(e){this.rowMutation.finishRowMove(X(e))}applyTransaction(e){return this.rowMutation.applyTransaction(e)}commitTransaction(e){return this.rowMutation.commitTransaction(e)}addRows(e){return this.rowMutation.addRows(e)}removeRows(e){return this.rowMutation.removeRows(e)}moveRow(e,t,n=`source`){return this.rowMutation.moveRow({rowId:X(e),toIndex:t,indexMode:n})}setRowHeight(e,t,n=!0){this.rowHeightService.setRowHeight(X(e),t,n,`api`)}setRowHeights(e,t=!0){this.rowHeightService.setRowHeights(e.map(e=>({rowId:X(e.rowId),height:e.height})),{finished:t,source:`api`})}getRowHeight(e){return this.rowHeightService.getRowHeight(X(e))}resetRowHeights(e){this.rowHeightService.resetRowHeights(e?.map(e=>X(e)))}expandRow(e){return this.rowExpansionOptions.masterDetail?this.rowExpansionService.expandRow(X(e),`api`):!1}collapseRow(e){return this.rowExpansionOptions.masterDetail?this.rowExpansionService.collapseRow(X(e),`api`):!1}isRowExpanded(e){return this.rowExpansionOptions.masterDetail?this.rowExpansionService.isExpanded(X(e)):!1}expandAll(){this.treeTableService.active?this.treeTableService.expandAll(`api`):this.rowGroupingService.active&&this.rowGroupingService.expandAll(`api`),this.rowExpansionOptions.masterDetail&&this.rowExpansionService.expandAll(`api`)}collapseAll(){this.treeTableService.active?this.treeTableService.collapseAll():this.rowGroupingService.active&&this.rowGroupingService.collapseAll(`api`),this.rowExpansionOptions.masterDetail&&this.rowExpansionService.collapseAll(`api`)}setRowGroupColumns(e){this.rowGroupingOptions.rowGrouping&&(this.rowGroupingService.setRowGroupColumns(e,`api`),this.rowModel.refreshModel({applyDefaultExpanded:!0}))}getRowGroupColumns(){return this.rowGroupingService.getRowGroupColumns()}expandGroup(e){return this.rowGroupingService.active?this.rowGroupingService.isExpanded(e)?!0:(this.rowGroupingService.expandGroup(e,`api`),this.rowGroupingService.isExpanded(e)):!1}collapseGroup(e){return this.rowGroupingService.active?!this.rowGroupingService.isExpanded(e)||(this.rowGroupingService.collapseGroup(e,`api`),!this.rowGroupingService.isExpanded(e)):!1}isGroupExpanded(e){return this.rowGroupingService.active?this.rowGroupingService.isExpanded(e):!1}expandNode(e){if(!this.treeTableService.active)return!1;let t=X(e);return this.treeTableService.isExpanded(t)?!0:(this.treeTableService.requestToggleNode(t,`api`),this.treeTableService.isExpanded(t))}collapseNode(e){if(!this.treeTableService.active)return!1;let t=X(e);return!this.treeTableService.isExpanded(t)||(this.treeTableService.collapseNode(t,`api`),!this.treeTableService.isExpanded(t))}isNodeExpanded(e){return this.treeTableService.active?this.treeTableService.isExpanded(X(e)):!1}getDataPath(e){if(this.treeTableService.active)return this.treeTableService.getDataPathForRow(X(e))}getCellComment(e,t){return this.cellCommentService.getComment(X(e),t)}async setCellComment(e,t,n){await this.cellCommentService.setComment(X(e),t,n??null,`api`)}refreshCellComments(e){this.cellCommentService.requestRefresh(e),this.closeCellCommentPopupIfAnchorNotVisible()}clearCellSelectionOnStructuralChange(){this.cellRangeService?.hasRanges()&&this.clearCellSelection()}getCellRanges(){return this.cellRangeService?[...this.cellRangeService.getRanges()]:[]}getCellSelectionAggregation(){if(!this.cellSelectionOptions.enabled||!this.cellRangeService?.hasRanges())return null;let e=this.getCellRangeOperationContext(),t=qs({ranges:this.cellRangeService.getRanges(),displayedColIds:e.displayedColIds,rowKindAt:e.rowKindAt??(()=>void 0),getCellValue:(e,t)=>{let n=this.rowModel.getRow(e),r=this.columnModel.getColumnById(t);if(!(!n||!r))return W(n,r)},normalizePosition:(e,t)=>{let n=this.rowModel.getRow(e);if(!n)return{rowIndex:e,colId:t};let r=Cg(this.rowModel,this.columnModel,this.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.cellRangeService)return;if(!this.cellSelectionOptions.enabled){Us(e,`cellSelection is disabled`);return}let t=this.getCellRangeOperationContext(),n=t.rowKindAt??(()=>void 0);if(!Y(e,t.displayedColIds)){Us(e,`column ids not in displayed columns`);return}if(!Ls(e,n)){Us(e,`range includes ineligible cells`);return}this.cellRangeService.addRange(e,t)&&(this.applyCellRangeVisuals(),this.emitCellSelectionChanged(`api`))}copySelectedRangeToClipboard(){this.cellClipboardService?.copySelectedRanges()}playCellRangeCopyFlash(){this.cellRangeVisualController?.playCopyFlash()}playCellRangePasteFlash(e){requestAnimationFrame(()=>{this.cellRangeVisualController?.playPasteFlash(e)})}async pasteFromClipboard(){await this.cellClipboardService?.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=yu(this.emptyStateOptionsRaw),this.syncEmptyStateOverlay(),this.refreshOverlayPresentation()}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||(this.overlayRenderer.syncLayout(),this.overlayService.updateOverlay())}updateCellRangeVisualOptions(e){this.cellRangeVisualGridOptions={...this.cellRangeVisualGridOptions,...e},this.cellRangeVisualOptions=As(this.cellRangeVisualGridOptions),this.applyCellRangeVisuals()}updateCellSelectionOptions(e){let t=this.cellSelectionOptions.enabled,n=t?[...this.getCellRanges()]:[];this.cellSelectionGridOptions={...this.cellSelectionGridOptions,...e},this.cellSelectionOptions=js(this.cellSelectionGridOptions),this.syncCellRangeSelectionRuntime(t),t&&!this.cellSelectionOptions.enabled&&n.length>0&&this.eventBus.emit(`cellSelectionChanged`,{ranges:[],source:`api`})}updateCellClipboardOptions(e){this.cellClipboardGridOptions={...this.cellClipboardGridOptions,...e}}createCellRangeVisualController(){return new Hp({mountEl:this.mountEl,rowsLayerEl:this.rowsLayerEl,rowModel:this.rowModel,columnModel:this.columnModel,rowRenderer:this.rowRenderer,getScrollTop:()=>this.viewport.getLogicalScrollTop(),getScrollLeft:()=>this.viewport.viewportEl.scrollLeft,getViewportWidth:()=>this.viewport.viewportEl.clientWidth,isCompressedScroll:()=>this.rowsLayerEl.classList.contains(`mg-rows-layer--compressed`),getViewportHeight:()=>this.viewport.getRenderViewportHeight(),isHeaderHighlightEnabled:()=>this.cellRangeVisualOptions.enableHeaderHighlight,isIndexColumnHighlightEnabled:()=>this.cellRangeVisualOptions.enableIndexColumnHighlight&&this.indexColumnOptions.showIndexColumn,getIndexFocusedRowIds:()=>this.indexFocusService?.getFocusedRowIds()??[],getSelectedRowIds:()=>this.selectionService?.getSelectedRowIds()??[],isSyncToSelectionColumnEnabled:()=>this.indexColumnOptions.indexColumn.syncToSelectionColumn?Pr(this.indexColumnOptions.indexColumn.focusMode,this.selectionColumnOptions.mode):!1,isCellSelectionVisualEnabled:()=>this.cellSelectionOptions.enabled,getCellSelectionOptions:()=>this.cellSelectionOptions})}syncCellRangeSelectionRuntime(e){if(e&&!this.cellSelectionOptions.enabled){this.cellRangeService?.clear(),this.applyCellRangeVisuals();return}this.cellRangeService?.setSuppressMultiRanges(this.cellSelectionOptions.suppressMultiRanges),this.applyCellRangeVisuals()}getCellRangeOperationContext(){return{displayedColIds:this.columnModel.getDisplayedColumnIds(),rowKindAt:e=>this.rowModel.getRow(e)?.rowKind}}applyCellRangeVisuals(){if(!this.cellRangeVisualController||!this.cellRangeService)return;let e=this.columnModel.getDisplayedColumnIds(),t=this.cellRangeService.getRanges(),n=Ns({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})}applyFocusVisuals(){this.interaction.applyFocusVisuals()}resolveRowEditingHighlightRanges(){if(!this.cellEditing.isEditing())return[];let e=this.cellEditing.getEditingCells();if(e.length<=1)return[];let t=e[0].rowIndex,n=this.rowModel.getRow(t)?.rowKind,r=this.columnModel.getDisplayedColumnIds(),i=e.map(e=>e.colId).filter(e=>J(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[Ms({rowIndex:t,colId:a},{rowIndex:t,colId:o})]}resolveHighlightProjectionCell(){if(this.cellEditing.isEditing()){let e=this.cellEditing.getEditingCell();if(e){let t=this.rowModel.getRowIndexById(String(e.rowId));if(t>=0)return{rowIndex:t,colId:e.colId}}}let e=this.cellFocusService.getFocusedCell();return!e||I(e)?null:{rowIndex:e.rowIndex,colId:e.colId}}isHighlightProjectionCellEligible(){let e=this.resolveHighlightProjectionCell();if(!e)return!1;let t=this.rowModel.getRow(e.rowIndex)?.rowKind;return J(e.colId,t)}applyCellRangeScrollVisuals(){!this.cellRangeVisualController||!this.cellRangeService?.hasRanges()||this.cellRangeVisualController.syncOverlayPosition()}emitCellSelectionChanged(e){this.cellRangeService&&this.eventBus.emit(`cellSelectionChanged`,{ranges:[...this.cellRangeService.getRanges()],source:e})}async handleCellSelectionDeleteKey(){if(!this.cellSelectionOptions.enabled||!this.cellRangeService?.hasRanges())return;this.cellEditing.isEditing()&&await this.cellEditing.stopEditing(!0);let e=[...this.cellRangeService.getRanges()];this.eventBus.emit(`cellSelectionDeleteStart`,{ranges:e});let t=this.cellRangeDeleteWriteService?.clearRanges(e,this.getCellRangeOperationContext())??0;this.eventBus.emit(`cellSelectionDeleteEnd`,{ranges:e,changedCellCount:t})}updateCellCommentOptions(e){let t=this.cellCommentOptions.cellCommentsDataSource;this.cellCommentOptions=Tl({...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=Ba({...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 t=this.rowModel.getSortModel().length>0,{rowDragManaged:n}=this.rowDragOptions,r=this.rowGroupingService.active,i=this.treeTableService.active,a=r||i;return L(e)?la(this.indexColumnOptions.indexColumn.showRowDragHandle,t,n,a):this.columnModel.getColumnById(e)?.rowDrag?la(!0,t,n,a):!1}getData(e){return this.rowMutation.getData(e)}promoteRowId(e){return this.rowMutation.promoteRowId(e)}beginUpdate(){this.rowMutation.beginUpdate()}endUpdate(){this.rowMutation.endUpdate()}refreshCells(e){return this.rowRenderer.setValueCacheVersion(this.valueCache.getVersion()),this.frameService.flushAllFrames(),this.rowRenderer.refreshRows(e??{})}refreshCellSpans(){this.refreshCellSpanCache(),this.valueCache.bump(),this.rowRenderer.setValueCacheVersion(this.valueCache.getVersion()),this.rowRenderer.invalidate(),this.viewport.redrawImmediately(),this.gridFooter.refresh()}getCellSpan(e,t){return this.cellSpanService.getCellSpan(X(e),t)}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}}syncRowExpansionDisplay(){this.rowExpansionOptions.masterDetail&&(this.rowModel.rebuildDisplayProjection(),this.viewport.syncViewportHeight(),this.rowRenderer.invalidate(),this.viewport.redrawImmediately())}syncRowGroupingDisplay(){this.rowGroupingService.active&&(this.rowModel.rebuildGroupedMapProjection(),this.viewport.syncViewportHeight(),this.rowRenderer.invalidate(),this.viewport.redrawImmediately(),this.refreshCellSpanCache())}syncTreeTableDisplay(){this.treeTableService.active&&(this.rowModel.rebuildTreeMapProjection(),this.viewport.syncViewportHeight(),this.rowRenderer.invalidate(),this.viewport.redrawImmediately(),this.refreshCellSpanCache(),this.selectionOps.refreshSelectionAfterDataChange())}refreshTreeLoadingVisuals(e){if(!this.treeTableService.active)return;let t={force:!0,colIds:[Zt]};e&&(t.rowIds=[e]),this.rowRenderer.refreshRows(t)}refreshDetailRowContent(e){!this.rowExpansionOptions.masterDetail||e.length===0||this.rowRenderer.refreshDetailRows(e)}refreshCellSpanCache(){this.cellSpanService.refresh()}syncRowLayoutAfterRowHeightChange(e){if(this.suppressRowLayoutViewportSync){this.rowRenderer.syncVisibleRowLayouts(e);return}this.viewport.syncViewportHeight(),this.rowRenderer.syncVisibleRowLayouts(),this.viewport.syncBorderClosureState()}scrollTo(e,t){this.viewport.scrollTo(e,t)}flushFrames(){this.frameService.flushAllFrames()}startEditingCell(e){this.cellEditing.startEditingCell(e)}stopEditing(e=!1){return this.cellEditing.stopEditing(e)}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:xr(e.rowId,this.businessRowIdCtx)}:null}getEditingCells(){return this.cellEditing.getEditingCells().map(e=>({...e,rowId:xr(e.rowId,this.businessRowIdCtx)}))}validate(e){return this.cellEditing.validate(cS(e)).then(e=>wr(e,this.businessRowIdCtx))}validateRows(e){return this.cellEditing.validateRows(lS(e)).then(e=>wr(e,this.businessRowIdCtx))}validateCells(e){return this.cellEditing.validateCells(uS(e)).then(e=>wr(e,this.businessRowIdCtx))}clearValidation(e){this.cellEditing.clearValidation(dS(e))}clearRowValidation(e){this.cellEditing.clearRowValidation(fS(e))}clearCellValidation(e){this.cellEditing.clearCellValidation(pS(e))}registerCellEditor(e,t){this.cellEditing.registerCellEditor(e,t)}unregisterCellEditor(e){return this.cellEditing.unregisterCellEditor(e)}destroy(){this.destroyed||(this.destroyed=!0,this.rowDragCommitService?.destroy(),this.cellCommentService.destroy(),this.cellRangeService?.clear(),this.cellRangeVisualController?.destroy(),this.cellRangeVisualController=null,this.overflowTooltipSession.destroy(),this.overlayRenderer?.destroy(),this.overlayService?.destroy(),this.rowRenderer.setCellCommentHost(void 0),this.cellEditing.cancelEditingOnDestroy(),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.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)}},vS={"--mg-color-bg":`#141414`,"--mg-color-text-primary":`#e8e8e8`,"--mg-color-text-regular":`#e0e0e0`,"--mg-color-text-secondary":`#9aa0a6`,"--mg-color-border":`#3a3f47`,"--mg-color-border-light":`#32363d`,"--mg-color-bg-stripe":`#1c1c1c`,"--mg-color-bg-header":`#1a2332`,"--mg-color-bg-footer":`#1a2332`,"--mg-color-bg-status-bar":`#141414`,"--mg-color-scrollbar-track":`rgba(255, 255, 255, 0.06)`,"--mg-color-scrollbar-thumb":`rgba(255, 255, 255, 0.24)`,"--mg-color-scrollbar-thumb-hover":`rgba(255, 255, 255, 0.38)`,"--mg-color-scrollbar-gutter":`#181d28`,"--mg-color-column-drag-ghost-bg":`#1a2332`,"--mg-fixed-shadow-left":`4px 0 8px -2px rgba(0, 0, 0, 0.45)`,"--mg-fixed-shadow-right":`-4px 0 8px -2px rgba(0, 0, 0, 0.45)`,"--mg-column-handle-menu-shadow":`0 1px 2px rgba(0, 0, 0, 0.35), 0 4px 12px rgba(0, 0, 0, 0.4)`},yS={"--mg-color-bg-cell":`#ffffff`,"--mg-color-bg-stripe":`#f5f7fa`,"--mg-color-text-primary":`#333333`,"--mg-color-text-regular":`#333333`,"--mg-color-text-secondary":`#9f9f9f`,"--mg-color-border":`#d8d8d8`,"--mg-color-border-light":`#d8d8d8`,"--mg-fixed-shadow-left":`4px 0 8px -2px rgba(0, 0, 0, 0.12)`,"--mg-fixed-shadow-right":`-4px 0 8px -2px rgba(0, 0, 0, 0.12)`};function bS(e){return e??`light`}function xS(e){return`magic-grid--theme-${e}`}function SS(e){return e===`dark`?{...vS}:{}}function CS(e){return e===`dark`?{...yS}:{}}var wS=Object.keys(yS);function TS(e,t){if(!e)return;for(let t of wS)e.style.removeProperty(t);let n=CS(t);for(let[t,r]of Object.entries(n))e.style.setProperty(t,r)}var ES={class:`mg-status-bar__panels`},DS=(0,t.defineComponent)({__name:`StatusBarDefaultPanels`,props:{context:{}},setup(e){let n=e,r=(0,t.computed)(()=>{let{context:e}=n,t=[];return t.push(`共 ${e.totalRowCount} 行`),e.isFiltered&&t.push(`显示 ${e.displayedRowCount} 行`),e.rowSelectionEnabled&&e.selectedRowCount>0&&t.push(`已选 ${e.selectedRowCount} 行`),t});return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ES,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:n,class:`mg-status-bar__panel`},(0,t.toDisplayString)(e),1))),128))]))}});function OS(e){if(typeof e==`number`){let t=kS(e);return{average:t,sum:t}}return{average:kS(e?.average??2),sum:kS(e?.sum??2)}}function kS(e){return Number.isFinite(e)?Math.max(0,Math.min(10,Math.trunc(e))):2}function AS(e,t,n=2){if(t===`count`)return String(Math.trunc(e));let r=kS(n),i=10**r,a=Math.round(e*i)/i;return r===0?String(Math.round(a)):a.toFixed(r).replace(/\.?0+$/,``)}var jS={key:0,class:`mg-status-bar__panels mg-status-bar__panels--aggregation`},MS=(0,t.defineComponent)({__name:`StatusBarRangeAggregationPanels`,props:{context:{}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=n.context.cellSelectionAggregation;if(!e)return[];let t=n.context.statusBarRangeAggregationPrecision,r=[];return e.average!=null&&r.push({label:`平均值`,value:AS(e.average,`average`,t.average)}),r.push({label:`计数`,value:AS(e.count,`count`)}),e.sum!=null&&r.push({label:`求和`,value:AS(e.sum,`sum`,t.sum)}),r});return(e,n)=>r.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jS,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:n,class:`mg-status-bar__panel`},(0,t.toDisplayString)(e.label)+`: `+(0,t.toDisplayString)(e.value),1))),128))])):(0,t.createCommentVNode)(``,!0)}});function NS(e){return e.mode===`range`?e:{...e,mode:`fill`,fillStrategy:e.fillStrategy??`copy`}}function PS(e,t){if(typeof e==`object`&&e&&`handle`in e)return t.handle==null?void 0:NS(t.handle)}function FS(e){if(e===!1)return!1;let t=e===!0||e==null?{}:e;return{...t,enableColumnSelection:t.enableColumnSelection??!0,handle:PS(e,t)}}function IS(e){return{...e,syncToSelectionColumn:e?.syncToSelectionColumn??!0}}function LS(e){return js({cellSelection:e}).enabled}function RS(e){let n=(0,t.ref)(0),r=(0,t.ref)(0),i=()=>{n.value+=1};return{statusBarContext:(0,t.computed)(()=>{n.value;let t=e.api.value,i=t?.getMetrics(),a=Le(e.rowSelection.value).mode!==!1,o=LS(e.cellSelection.value);return{api:t,totalRowCount:i?.sourceRowCount??0,displayedRowCount:i?.rowCount??0,isFiltered:t?.isAnyFilterActive()??(i!=null&&i.sourceRowCount!==i.rowCount),selectedRowCount:r.value,rowSelectionEnabled:a,cellSelectionEnabled:o,cellSelectionAggregation:o?t?.getCellSelectionAggregation()??null:null,statusBarRangeAggregationPrecision:OS(e.statusBarRangeAggregationPrecision.value),metrics:i}}),bumpRefresh:i,onSelectionChanged:e=>{r.value=e.length,i()},resetSelectionCount:()=>{r.value=0}}}var zS=class{render(e,n){(0,t.render)(n,e)}unmount(e){(0,t.render)(null,e)}};function BS(e,t){return(n,r)=>{e.render(r.mountEl,t(n))}}function VS(e,t){return BS(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var HS=class{render(e,n){(0,t.render)(n,e)}unmount(e){(0,t.render)(null,e)}};function US(e,t){return(n,r)=>{e.render(r.mountEl,t(n))}}function WS(e,t){return US(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var GS=class{render(e,n){(0,t.render)(n,e)}unmount(e){(0,t.render)(null,e)}};function KS(e,t){return(n,r)=>{e.render(r.mountEl,t(n))}}function qS(e,t){return KS(e,e=>{let n=t(e);return Array.isArray(n)?n[0]:n})}var JS=class{mountEl=null;render(e,n){this.unmount(),this.mountEl=e,(0,t.render)(n,e)}unmount(){this.mountEl&&=((0,t.render)(null,this.mountEl),null)}};function YS(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 XS=class{mountEl=null;render(e,n){this.unmount(),this.mountEl=e,(0,t.render)(n,e)}unmount(){this.mountEl&&=((0,t.render)(null,this.mountEl),null)}};function ZS(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 QS=[`data-status-bar`,`data-toolbar`],$S={key:0,class:`magic-grid__toolbar`},eC={class:`mg-status-bar__region mg-status-bar__region--left`},tC={class:`mg-status-bar__region mg-status-bar__region--right`},nC=(0,t.defineComponent)({inheritAttrs:!1,__name:`MagicGrid`,props:{columns:{type:Array,required:!0},data:{type:Array,required:!0},cellEditorRegistry:{type:Object,default:void 0},rowKey:{type:String,default:`id`},stripe:{type:Boolean,default:!1},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},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},reserveSelection:{type:Boolean,default:!1},editMode:{type:String,default:`cell`},editType:{type:String,default:`singleClick`},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},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},showStatusBarRangeAggregation:{type:Boolean,default:!0},statusBarRangeAggregationPrecision:{type:[Number,Object],default:void 0},rowDragManaged:{type:Boolean,default:!0},rowDragCommitMode:{type:String,default:`sync`},onRowDragCommit:{type:Function,default:void 0},getRowHeight:{type:Function,default:void 0},rowHeightMin:{type:Number,default:void 0},rowHeightMax:{type:Number,default:void 0},enableCellSpan:{type:Boolean,default:!1},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},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},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},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},enableCellClipboard:{type:Boolean,default:void 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}},emits:`scroll.data-rendered.cell-clicked.row-click.row-dblclick.selection-changed.index-focus-changed.cell-value-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`.split(`.`),setup(n,{expose:r,emit:s}){let c=new zS,l=new HS,u=new GS,d=new JS,p=new XS;function m(e,t){return e.key??e.prop??`col_${t}`}function h(e,t){let n={};return e.forEach((e,r)=>{let i=m(e,r);e.cellRenderer&&(n[i]=e.cellRenderer);let a=t[`cell-${i}`];a&&(n[i]=VS(c,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 g(e,t){let n={};return e.forEach((e,r)=>{let i=m(e,r);e.cellEditor&&typeof e.cellEditor==`function`&&(n[i]=e.cellEditor);let a=t[`cell-editor-${i}`];a&&(n[i]=qS(u,e=>a({row:e.data,value:e.value,formattedValue:e.formattedValue,rowIndex:e.rowIndex,rowId:e.rowId,colId:e.colId,stopEditing:e.stopEditing})))}),n}function _(e,t){let n=t.tooltip;return n?YS(d,e=>n(e)):e}function v(e,t,n){let r=t[e];return r?ZS(p,e=>r({overlayType:e.overlayType,api:e.api,overlayText:e.overlayText})):n}function y(e){return{loading:x.loading,suppressOverlays:x.suppressOverlays,suppressLoadingOverlay:x.suppressLoadingOverlay,suppressNoRowsOverlay:x.suppressNoRowsOverlay,suppressNoMatchingRowsOverlay:x.suppressNoMatchingRowsOverlay,overlayLoadingTemplate:x.overlayLoadingTemplate,overlayNoRowsTemplate:x.overlayNoRowsTemplate,overlayNoMatchingRowsTemplate:x.overlayNoMatchingRowsTemplate,overlayInteraction:x.overlayInteraction,overlayComponent:x.overlayComponent,overlayComponentParams:x.overlayComponentParams,loadingOverlayComponent:v(`loading`,e,x.loadingOverlayComponent),loadingOverlayComponentParams:x.loadingOverlayComponentParams,noRowsOverlayComponent:v(`no-rows`,e,x.noRowsOverlayComponent),noRowsOverlayComponentParams:x.noRowsOverlayComponentParams,noMatchingRowsOverlayComponent:v(`no-matching-rows`,e,x.noMatchingRowsOverlayComponent),noMatchingRowsOverlayComponentParams:x.noMatchingRowsOverlayComponentParams}}function b(e,t){let n=t[`detail-row`];return n?WS(l,e=>n({row:e.data,rowId:e.rowId,masterRowId:e.masterRowId,detailRowData:e.detailRowData,loading:e.loading,loadFailed:e.loadFailed,loadError:e.loadError})):e}let x=n,S=s,C=(0,t.useSlots)(),w=(0,t.ref)(),T=(0,t.ref)(),E=(0,t.ref)(),D=(0,t.shallowRef)(),O=(0,t.shallowRef)(),{statusBarContext:k,bumpRefresh:A,onSelectionChanged:j,resetSelectionCount:M}=RS({api:O,rowSelection:(0,t.computed)(()=>x.rowSelection),cellSelection:(0,t.computed)(()=>x.cellSelection),statusBarRangeAggregationPrecision:(0,t.computed)(()=>x.statusBarRangeAggregationPrecision)}),N=(0,t.computed)(()=>!!C[`status-bar`]),ee=(0,t.computed)(()=>!!C.toolbar),te=(0,t.computed)(()=>({api:O.value,size:F.value.size,portalEl:T.value??void 0})),P=[],F=(0,t.computed)(()=>a({size:x.size,rowHeight:x.rowHeight,headerHeight:x.headerHeight})),ne=(0,t.computed)(()=>i({rounded:x.rounded,sizeBorderRadius:F.value.borderRadius})),re=(0,t.computed)(()=>bS(x.theme)),ie=(0,t.computed)(()=>FS(x.cellSelection)),ae=(0,t.computed)(()=>IS(x.indexColumn)),oe=(0,t.computed)(()=>({height:typeof x.height==`number`?`${x.height}px`:x.height,width:typeof x.width==`number`?`${x.width}px`:x.width,...f(F.value,ne.value,x.summaryRowHeight),...SS(re.value)})),se=(0,t.computed)(()=>{let{statusBarHeight:e,fontSize:t,spacing:n}=F.value,r=o(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`}}),ce=(0,t.computed)(()=>[`magic-grid`,`magic-grid--border-${x.border}`,`magic-grid--size-${F.value.size}`,xS(re.value),x.showSummary&&`magic-grid--has-footer`,x.showStatusBar&&`magic-grid--has-status-bar`,ee.value&&`magic-grid--has-toolbar`]),le=()=>{D.value&&S(`scroll`,D.value.getMetrics())},ue=()=>{D.value&&(S(`data-rendered`,D.value.getMetrics()),A())},de=()=>{requestAnimationFrame(()=>{le()})},fe=()=>{requestAnimationFrame(()=>{ue()})},pe=e=>{for(let e of P)e();P.length=0,P.push(e.on(`cellClicked`,e=>S(`cell-clicked`,e)),e.on(`rowClicked`,e=>S(`row-click`,e)),e.on(`rowDoubleClicked`,e=>S(`row-dblclick`,e)),e.on(`selectionChanged`,e=>{j(e.selectedRowIds),S(`selection-changed`,e)}),e.on(`indexFocusChanged`,e=>S(`index-focus-changed`,e)),e.on(`cellValueChanged`,e=>{S(`cell-value-changed`,e),A()}),e.on(`cellEditingStarted`,e=>S(`cell-editing-started`,e)),e.on(`cellEditingStopped`,e=>S(`cell-editing-stopped`,e)),e.on(`cellCommitStarted`,e=>S(`cell-commit-started`,e)),e.on(`cellCommitFinished`,e=>S(`cell-commit-finished`,e)),e.on(`editCommitAborted`,e=>S(`edit-commit-aborted`,e)),e.on(`rowCommitStarted`,e=>S(`row-commit-started`,e)),e.on(`rowCommitFinished`,e=>S(`row-commit-finished`,e)),e.on(`rowEditingStarted`,e=>S(`row-editing-started`,e)),e.on(`rowEditingStopped`,e=>S(`row-editing-stopped`,e)),e.on(`rowValueChanged`,e=>S(`row-value-changed`,e)),e.on(`cellValidationFailed`,e=>S(`cell-validation-failed`,e)),e.on(`rowValidationFailed`,e=>S(`row-validation-failed`,e)),e.on(`sortChanged`,e=>S(`sort-changed`,e.sortModel)),e.on(`columnMoved`,e=>S(`column-moved`,e)),e.on(`columnResized`,e=>S(`column-resized`,e)),e.on(`columnPinned`,e=>S(`column-pinned`,e)),e.on(`columnHiddenChanged`,e=>S(`column-hidden-changed`,e)),e.on(`filterChanged`,e=>{S(`filter-changed`,e.filterModel),A()}),e.on(`rowsAdded`,e=>{S(`rows-added`,e),A()}),e.on(`rowsRemoved`,e=>{S(`rows-removed`,e),A()}),e.on(`rowIdPromoted`,e=>S(`row-id-promoted`,e)),e.on(`rowMoved`,e=>S(`row-moved`,e)),e.on(`rowDragEnd`,e=>S(`row-drag-end`,e)),e.on(`rowDragCommitStarted`,e=>S(`row-drag-commit-started`,e)),e.on(`rowDragCommitFinished`,e=>S(`row-drag-commit-finished`,e)),e.on(`rowHeightChanged`,e=>S(`row-height-changed`,e)),e.on(`rowExpanded`,e=>S(`row-expanded`,e)),e.on(`rowCollapsed`,e=>S(`row-collapsed`,e)),e.on(`rowGroupOpened`,e=>S(`row-group-opened`,e)),e.on(`treeNodeOpened`,e=>S(`tree-node-opened`,e)),e.on(`treeChildrenLoading`,e=>S(`tree-children-loading`,e)),e.on(`treeChildrenLoaded`,e=>S(`tree-children-loaded`,e)),e.on(`treeChildrenLoadFailed`,e=>S(`tree-children-load-failed`,e)),e.on(`rowGroupChanged`,e=>S(`row-group-changed`,e)),e.on(`cellCommentChanged`,e=>S(`cell-comment-changed`,e)),e.on(`cellSelectionChanged`,e=>{S(`cell-selection-changed`,e),A()}),e.on(`cellSelectionDeleteStart`,e=>S(`cell-selection-delete-start`,e)),e.on(`cellSelectionDeleteEnd`,e=>S(`cell-selection-delete-end`,e)),e.on(`overlayShown`,e=>S(`overlay-shown`,e)),e.on(`overlayHidden`,e=>S(`overlay-hidden`,e)))},me=()=>{TS(w.value?.querySelector(`.mg-body`),re.value)};function he(){D.value?.setStatusBarElement(x.showStatusBar?E.value??null:null)}let ge=()=>{if(w.value){for(let e of P)e();P.length=0,D.value?.destroy(),M(),x.columns,x.columns,x.columns,ln(x.columns),mm({tree:x.tree,rowGrouping:x.rowGrouping}),D.value=new _S(w.value,{columns:e.r(x.columns),rowKey:x.rowKey,rowHeight:F.value.rowHeight,headerHeight:F.value.headerHeight,rowBuffer:x.rowBuffer,stripe:x.stripe,rowSelection:x.rowSelection,selectable:x.selectable,isRowDisabled:x.isRowDisabled,rowStyle:x.rowStyle,reserveSelection:x.reserveSelection,editType:x.editType,editMode:x.editMode,invalidEditValueMode:x.invalidEditValueMode,rowValidator:x.rowValidator,asyncRowMutation:x.asyncRowMutation,showIndexColumn:x.showIndexColumn,indexColumn:ae.value,selectionColumn:x.selectionColumn,showSummary:x.showSummary,navigateHeader:x.navigateHeader,navigateFooter:x.navigateFooter,summaryScope:x.summaryScope,summaryRowHeight:x.summaryRowHeight,summaryMethod:x.summaryMethod,headerAlign:x.headerAlign,headerValign:x.headerValign,align:x.align,valign:x.valign,footerAlign:x.footerAlign,footerValign:x.footerValign,defaultSort:x.defaultSort,sortable:x.sortable,columnMovable:x.columnMovable,resizable:x.resizable,colResizeDefault:x.colResizeDefault,skipHeaderOnAutoSize:x.skipHeaderOnAutoSize,autoSizePadding:x.autoSizePadding,autoSizeStrategy:x.autoSizeStrategy,suppressMoveWhenColumnDragging:x.suppressMoveWhenColumnDragging,suppressColumnMoveAnimation:x.suppressColumnMoveAnimation,allowCrossLaneColumnMove:x.allowCrossLaneColumnMove,showUnsortedSortHintOnHover:x.showUnsortedSortHintOnHover,quickFilterText:x.quickFilterText,filterable:x.filterable,floatingFilter:x.floatingFilter,filterSetValueMode:x.filterSetValueMode,filterSetDateLayoutMode:x.filterSetDateLayoutMode,rowDragManaged:x.rowDragManaged,rowDragCommitMode:x.rowDragCommitMode,onRowDragCommit:x.onRowDragCommit,getRowHeight:x.getRowHeight,rowHeightMin:x.rowHeightMin,rowHeightMax:x.rowHeightMax,enableCellSpan:x.enableCellSpan,masterDetail:x.masterDetail,isRowMaster:x.isRowMaster,masterDefaultExpanded:x.masterDefaultExpanded,detailRowHeight:x.detailRowHeight,detailRowAutoHeight:x.detailRowAutoHeight,embedFullWidthRows:x.embedFullWidthRows,showExpandColumn:x.showExpandColumn,getDetailRowData:x.getDetailRowData,detailCellRenderer:b(x.detailCellRenderer,C),rowGrouping:x.rowGrouping,groupDefaultExpanded:x.groupDefaultExpanded,showGroupHeader:x.showGroupHeader,showGroupFooter:x.showGroupFooter,groupDisplayType:x.groupDisplayType,showGroupColumn:x.showGroupColumn,autoGroupColumnDef:x.autoGroupColumnDef,groupKeyCreator:x.groupKeyCreator,groupComparator:x.groupComparator,groupFooterLabel:x.groupFooterLabel,groupCellRenderer:x.groupCellRenderer,tree:x.tree,getDataPath:x.getDataPath,showTreeColumn:x.showTreeColumn,autoTreeColumnDef:x.autoTreeColumnDef,treeValueGetter:x.treeValueGetter,treeDisplayType:x.treeDisplayType,treeDragScope:x.treeDragScope,setDataPath:x.setDataPath,treeLazyLoad:x.treeLazyLoad,hasTreeChildren:x.hasTreeChildren,loadTreeChildren:x.loadTreeChildren,cellCommentsDataSource:x.cellCommentsDataSource,suppressCellComments:x.suppressCellComments,cellCommentTrigger:x.cellCommentTrigger,cellCommentShowDelay:x.cellCommentShowDelay,cellCommentHideDelay:x.cellCommentHideDelay,cellSelection:ie.value,enableCellClipboard:x.enableCellClipboard,enableCellCopy:x.enableCellCopy,enableCellPaste:x.enableCellPaste,enableHeaderHighlight:x.enableHeaderHighlight,enableIndexColumnHighlight:x.enableIndexColumnHighlight,processCellForClipboard:x.processCellForClipboard,processCellFromClipboard:x.processCellFromClipboard,processDataFromClipboard:x.processDataFromClipboard,enableTooltips:x.enableTooltips,tooltipShowMode:x.tooltipShowMode,tooltipShowDelay:x.tooltipShowDelay,tooltipSwitchShowDelay:x.tooltipSwitchShowDelay,tooltipHideDelay:x.tooltipHideDelay,tooltipInteraction:x.tooltipInteraction,tooltipMouseTrack:x.tooltipMouseTrack,tooltipComponent:_(x.tooltipComponent,C),tooltipComponentParams:x.tooltipComponentParams,...y(C),cellRenderers:{byColId:h(x.columns,C)},cellEditors:{byColId:g(x.columns,C),byName:x.cellEditorRegistry},onUnmountRenderer:e=>{c.unmount(e),l.unmount(e)},onUnmountEditor:e=>{u.unmount(e)},onScroll:()=>{de()}}),O.value=D.value.getApi(),pe(D.value),D.value.setData(x.data),fe(),me(),(0,t.nextTick)(()=>he())}};return(0,t.onMounted)(()=>{ge()}),(0,t.watch)(re,me),(0,t.watch)(()=>x.quickFilterText,e=>{let t=D.value?.getApi();!t||t.getQuickFilterText()===e||t.setQuickFilterText(e)}),(0,t.watch)(()=>[x.cellCommentsDataSource,x.suppressCellComments,x.cellCommentTrigger,x.cellCommentShowDelay,x.cellCommentHideDelay],()=>{D.value?.updateCellCommentOptions({cellCommentsDataSource:x.cellCommentsDataSource,suppressCellComments:x.suppressCellComments,cellCommentTrigger:x.cellCommentTrigger,cellCommentShowDelay:x.cellCommentShowDelay,cellCommentHideDelay:x.cellCommentHideDelay})}),(0,t.watch)(()=>[ie.value,x.enableCellClipboard,x.enableCellCopy,x.enableCellPaste],()=>{D.value?.updateCellSelectionOptions({cellSelection:ie.value,enableCellClipboard:x.enableCellClipboard,enableCellCopy:x.enableCellCopy,enableCellPaste:x.enableCellPaste})}),(0,t.watch)(()=>[x.enableHeaderHighlight,x.enableIndexColumnHighlight],()=>{D.value?.updateCellRangeVisualOptions({enableHeaderHighlight:x.enableHeaderHighlight,enableIndexColumnHighlight:x.enableIndexColumnHighlight})}),(0,t.watch)(()=>[x.processCellForClipboard,x.processCellFromClipboard,x.processDataFromClipboard],()=>{D.value?.updateCellClipboardOptions({processCellForClipboard:x.processCellForClipboard,processCellFromClipboard:x.processCellFromClipboard,processDataFromClipboard:x.processDataFromClipboard})}),(0,t.watch)(()=>[x.enableTooltips,x.tooltipShowMode,x.tooltipShowDelay,x.tooltipSwitchShowDelay,x.tooltipHideDelay,x.tooltipInteraction,x.tooltipMouseTrack,x.tooltipComponent,x.tooltipComponentParams,C.tooltip],()=>{D.value?.updateOverflowTooltipOptions({enableTooltips:x.enableTooltips,tooltipShowMode:x.tooltipShowMode,tooltipShowDelay:x.tooltipShowDelay,tooltipSwitchShowDelay:x.tooltipSwitchShowDelay,tooltipHideDelay:x.tooltipHideDelay,tooltipInteraction:x.tooltipInteraction,tooltipMouseTrack:x.tooltipMouseTrack,tooltipComponent:_(x.tooltipComponent,C),tooltipComponentParams:x.tooltipComponentParams})}),(0,t.watch)(()=>[x.loading,x.suppressOverlays,x.suppressLoadingOverlay,x.suppressNoRowsOverlay,x.suppressNoMatchingRowsOverlay,x.overlayLoadingTemplate,x.overlayNoRowsTemplate,x.overlayNoMatchingRowsTemplate,x.overlayInteraction,x.loadingOverlayComponent,x.loadingOverlayComponentParams,x.noRowsOverlayComponent,x.noRowsOverlayComponentParams,x.noMatchingRowsOverlayComponent,x.noMatchingRowsOverlayComponentParams,x.overlayComponent,x.overlayComponentParams,C.loading,C[`no-rows`],C[`no-matching-rows`]],()=>{D.value?.updateEmptyStateOptions(y(C))}),(0,t.watch)(()=>[x.showStatusBar,E.value],()=>{(0,t.nextTick)(()=>he())}),(0,t.watch)(()=>x.data,e=>{D.value?.setData(e),fe()}),(0,t.watch)(()=>x.selectable,e=>{D.value?.setSelectable(e)}),(0,t.watch)(()=>x.isRowDisabled,e=>{D.value?.setIsRowDisabled(e)}),(0,t.watch)(()=>x.rowStyle,e=>{D.value?.setRowStyle(e)}),(0,t.watch)(()=>x.reserveSelection,e=>{D.value?.setReserveSelection(e)}),(0,t.watch)(()=>x.showUnsortedSortHintOnHover,e=>{D.value?.setShowUnsortedSortHintOnHover(e)}),(0,t.watch)(()=>x.sortable,e=>{D.value?.setColumnSortOptions({sortable:e})}),(0,t.watch)(()=>x.filterable,e=>{D.value?.setColumnFilterOptions({filterable:e})}),(0,t.watch)(()=>x.resizable,e=>{D.value?.setColumnResizeOptions({resizable:e})}),(0,t.watch)(()=>[x.columnMovable,x.suppressMoveWhenColumnDragging,x.suppressColumnMoveAnimation,x.allowCrossLaneColumnMove],([e,t,n,r])=>{D.value?.setColumnMoveOptions({columnMovable:e,suppressMoveWhenColumnDragging:t,suppressColumnMoveAnimation:n,allowCrossLaneColumnMove:r})}),(0,t.watch)(()=>({rowHeight:F.value.rowHeight,rowHeightMin:x.rowHeightMin,rowHeightMax:x.rowHeightMax}),(e,n)=>{if(!D.value||!n)return;let r=D.value.getMetrics()?.scrollTop??0,i=D.value.getMetrics()?.scrollLeft??0;D.value.updateDimensions(e),(0,t.nextTick)(()=>{D.value?.scrollTo(r,i),requestAnimationFrame(()=>{D.value?.scrollTo(r,i)})})}),(0,t.watch)(()=>x.columns,()=>{D.value&&(D.value.setColumns(e.r(x.columns)),D.value.getApi().refreshCellStyles(),fe())}),(0,t.watch)(()=>[x.size,x.headerHeight,x.rowBuffer,x.rowKey,x.stripe,x.rowSelection,x.editType,x.editMode,x.invalidEditValueMode,x.rowValidator,x.asyncRowMutation,x.showIndexColumn,x.indexColumn,x.selectionColumn,x.showSummary,x.floatingFilter,x.navigateHeader,x.navigateFooter,x.summaryScope,x.summaryRowHeight,x.summaryMethod,x.headerAlign,x.headerValign,x.align,x.valign,x.footerAlign,x.footerValign,x.cellEditorRegistry,x.rowDragManaged,x.rowDragCommitMode,x.onRowDragCommit,x.getRowHeight,x.enableCellSpan,x.masterDetail,x.isRowMaster,x.masterDefaultExpanded,x.detailRowHeight,x.detailRowAutoHeight,x.embedFullWidthRows,x.showExpandColumn,x.getDetailRowData,x.detailCellRenderer,x.rowGrouping,x.groupDefaultExpanded,x.showGroupHeader,x.showGroupFooter,x.groupDisplayType,x.showGroupColumn,x.autoGroupColumnDef,x.groupKeyCreator,x.groupComparator,x.groupFooterLabel,x.groupCellRenderer,x.tree,x.getDataPath,x.showTreeColumn,x.autoTreeColumnDef,x.treeValueGetter,x.treeDisplayType,x.treeDragScope,x.setDataPath,x.treeLazyLoad,x.hasTreeChildren,x.loadTreeChildren,C[`detail-row`]],()=>{ge()}),(0,t.onUnmounted)(()=>{for(let e of P)e();P.length=0,D.value?.destroy(),d.unmount(),p.unmount(),D.value=void 0,O.value=void 0}),r({api:O,getMetrics:()=>D.value?.getMetrics(),scrollTo:(e,t)=>{D.value?.scrollTo(e,t),de()},setSortModel:e=>{D.value?.setSortModel(e),fe()},getSortModel:()=>D.value?.getSortModel()??[],setFilterModel:e=>{D.value?.setFilterModel(e),fe()},getData:e=>D.value?.getData(e)??[],applyTransaction:async e=>{let t=await D.value?.applyTransaction(e);return fe(),t},beginUpdate:()=>{D.value?.beginUpdate()},endUpdate:()=>{D.value?.endUpdate(),fe()},ensureIndexVisible:(e,t)=>{D.value?.ensureIndexVisible(e,t),de()},flushFrames:()=>{D.value?.flushFrames()}}),(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)(ce.value),style:(0,t.normalizeStyle)(oe.value),"data-status-bar":n.showStatusBar?`true`:`false`,"data-toolbar":ee.value?`true`:`false`},[ee.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$S,[(0,t.renderSlot)(e.$slots,`toolbar`,(0,t.normalizeProps)((0,t.guardReactiveProps)(te.value)))])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{ref_key:`mountRef`,ref:w,class:`magic-grid__mount`},null,512),(0,t.createElementVNode)(`div`,{ref_key:`portalRef`,ref:T,class:`magic-grid__portal`,"aria-hidden":`true`},null,512),n.showStatusBar?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,ref_key:`statusBarRef`,ref:E,class:`mg-status-bar`,style:(0,t.normalizeStyle)(se.value),role:`status`,"aria-live":`polite`},[N.value?(0,t.renderSlot)(e.$slots,`status-bar`,(0,t.normalizeProps)((0,t.guardReactiveProps)((0,t.unref)(k))),void 0,void 0,0):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`div`,eC,[(0,t.renderSlot)(e.$slots,`status-bar-left`,(0,t.normalizeProps)((0,t.guardReactiveProps)((0,t.unref)(k))))]),(0,t.createElementVNode)(`div`,tC,[n.showDefaultStatusBarPanels?((0,t.openBlock)(),(0,t.createBlock)(DS,{key:0,context:(0,t.unref)(k)},null,8,[`context`])):(0,t.createCommentVNode)(``,!0),n.showStatusBarRangeAggregation?((0,t.openBlock)(),(0,t.createBlock)(MS,{key:1,context:(0,t.unref)(k)},null,8,[`context`])):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(e.$slots,`status-bar-right`,(0,t.normalizeProps)((0,t.guardReactiveProps)((0,t.unref)(k))))])],64))],4)):(0,t.createCommentVNode)(``,!0)],14,QS))}}),rC={"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`}]]},iC=[`width`,`height`],aC=(0,t.defineComponent)({__name:`ColumnSettingsMenuIcon`,props:{name:{},size:{default:16}},setup(e){let n=e,r=(0,t.computed)(()=>rC[n.name]);return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{class:`mg-column-settings-menu__icon-svg`,xmlns:`http://www.w3.org/2000/svg`,width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.value,([n,r],i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(n),(0,t.mergeProps)({key:`${e.name}-${n}-${i}`},{ref_for:!0},r),null,16))),128))],8,iC))}}),oC={key:0,class:`mg-column-settings-menu__item-icon`},sC={class:`mg-column-settings-menu__item-label`},cC=(0,t.defineComponent)({__name:`ColumnSettingsMenuItem`,props:{label:{}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,class:(0,t.normalizeClass)((0,t.unref)(Ul)),role:`menuitem`},[n.$slots.icon?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,oC,[(0,t.renderSlot)(n.$slots,`icon`)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,sC,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)])])],2))}}),lC=[`aria-expanded`],uC={class:`mg-column-settings-menu__item-leading`},dC={class:`mg-column-settings-menu__item-icon`},fC=(0,t.defineComponent)({__name:`ColumnSettingsMenu`,props:{showDivider:{type:Boolean}},emits:[`column-settings`,`custom-action`,`reset`],setup(e,{emit:n}){let r=n,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,t.ref)(!1),o=(0,t.ref)(!1),s=(0,t.ref)(null),c=(0,t.ref)(null);function l(){r(`column-settings`)}function u(){let e=s.value?.querySelector(`.${ql}`),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,t.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(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)((0,t.unref)(Hl)),role:`menu`},[(0,t.createVNode)(cC,{label:`列设置`,onClick:l},{icon:(0,t.withCtx)(()=>[(0,t.createVNode)(aC,{name:`sliders-vertical`})]),_:1}),(0,t.createElementVNode)(`div`,{ref_key:`resetSubmenuRef`,ref:s,class:(0,t.normalizeClass)([(0,t.unref)(Gl),{"mg-column-settings-menu__submenu--open":a.value}]),onMouseenter:d,onMouseleave:f,onFocusin:d,onFocusout:p},[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([(0,t.unref)(Ul),(0,t.unref)(ql)]),role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":a.value},[(0,t.createElementVNode)(`span`,uC,[(0,t.createElementVNode)(`span`,dC,[(0,t.createVNode)(aC,{name:`list-restart`})]),r[1]||=(0,t.createElementVNode)(`span`,{class:`mg-column-settings-menu__item-label`},`重置`,-1)]),r[2]||=(0,t.createElementVNode)(`svg`,{class:`mg-column-settings-menu__item-chevron`,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,t.createElementVNode)(`path`,{d:`m9 18 6-6-6-6`})],-1)],10,lC),(0,t.withDirectives)((0,t.createElementVNode)(`div`,{ref_key:`resetSubmenuPanelRef`,ref:c,class:(0,t.normalizeClass)([(0,t.unref)(Kl),{"mg-column-settings-menu__submenu-panel--flip":o.value}]),role:`menu`},[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(i,e=>(0,t.createVNode)(cC,{key:e.scope,label:e.label,onClick:t=>m(e.scope)},{icon:(0,t.withCtx)(()=>[(0,t.createVNode)(aC,{name:e.icon},null,8,[`name`])]),_:2},1032,[`label`,`onClick`])),64))],2),[[t.vShow,a.value]])],34),e.showDivider?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)((0,t.unref)(Wl)),role:`separator`,"aria-orientation":`horizontal`},null,2)):(0,t.createCommentVNode)(``,!0),e.showDivider?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`mg-column-settings-menu__custom`,onClick:r[0]||=e=>n.$emit(`custom-action`)},[(0,t.renderSlot)(n.$slots,`default`)])):(0,t.createCommentVNode)(``,!0)],2))}}),pC=[`disabled`,`aria-disabled`,`title`],mC=(0,t.defineComponent)({__name:`ColumnSettingsClearFiltersBar`,props:{gridApi:{},canClearAllFilters:{type:Boolean}},emits:[`change`],setup(e,{emit:n}){let r=e,i=n;function a(){r.gridApi.clearAllFilters(),i(`change`)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,class:(0,t.normalizeClass)((0,t.unref)(Jl)),disabled:!e.canClearAllFilters,"aria-disabled":!e.canClearAllFilters,title:e.canClearAllFilters?void 0:`当前无筛选`,onClick:a},` 清除全部筛选 `,10,pC))}}),hC=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},gC=hC(mC,[[`__scopeId`,`data-v-1c8bd037`]]);function _C(e){let t=null,n=()=>{t!=null&&(clearTimeout(t),t=null)};return{applyInput(r,i){n();let a=e.getColumnFilterType(r),o=()=>{let t=_v(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=yv(t,e.getFilterModel());return e.setFilterModel(i),hv(t,i,r,e.getColumnDistinctKeys(t))},destroy(){n()}}}var vC=hC((0,t.defineComponent)({__name:`ColumnFilterPanelEmbed`,props:{colId:{},gridApi:{},filterSetValueMode:{default:va},filterSetDateLayoutMode:{default:ya}},emits:[`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=null,s=null,c=_C({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 hv(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=qv({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,t.onMounted)(()=>{u()}),(0,t.onBeforeUnmount)(()=>{c.destroy(),d()}),(0,t.watch)(()=>r.colId,()=>{u()}),(0,t.watch)(()=>r.gridApi.getFilterModel(),()=>{f()},{deep:!0}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`hostRef`,ref:a,class:`mg-column-settings__filter-embed`},null,512))}}),[[`__scopeId`,`data-v-85b2c30c`]]);function yC(e){return e===null?`asc`:e===`asc`?`desc`:null}function bC(e,t,n){return t===null?Y_(e,n):t===`asc`?q_(e,n):J_(e,n)}function xC(e,t,n){e.setSortModel(bC(t,n,e.getSortModel()))}function SC(e,t,n){let r=yC(n);return xC(e,t,r),r}function CC(e,t,n){return e.setColumnFixed(t,n)}function wC(e){return e===`asc`?`升序`:e===`desc`?`降序`:`无排序`}function TC(e){return e===`left`?`固定左侧`:e===`right`?`固定右侧`:`不固定`}var EC=`[magic-grid] ColumnSettings: at least one user column must remain visible.`;function DC(e){return e.filter(e=>eu(e.colId)&&Oa(e)).length}function OC(e){return e.filter(e=>eu(e.colId)&&e.hidden).map(e=>e.colId)}function kC(e,t){if(!eu(e))return!1;let n=t.find(t=>t.colId===e);return!n||n.hidden?!1:DC(t)>1}function AC(e,t,n,r={}){let i=r.warn??(e=>console.warn(e));return!n&&!kC(t,e.getColumns())?(i(EC),!1):e.setColumnsHidden([t],!n)}function jC(e){let t=OC(e.getColumns());return t.length!==0&&e.setColumnsHidden(t,!1)}var MC=[`data-col-id`],NC={class:`mg-column-settings__row-main`},PC=[`draggable`,`aria-disabled`,`title`],FC=[`title`],IC={key:1,class:`mg-column-settings__row-actions`},LC=[`aria-label`,`title`],RC=[`aria-expanded`,`aria-label`],zC=[`aria-label`],BC=[`aria-checked`,`aria-label`,`title`,`onClick`],VC=[`title`],HC=[`checked`,`aria-label`],UC=hC((0,t.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:va},filterSetDateLayoutMode:{default:ya}},emits:[`dragstart`,`dragend`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=[null,`left`,`right`];function s(){!r.gridApi||!r.row.sortable||(SC(r.gridApi,r.row.colId,r.row.sortDirection),i(`change`))}function c(e){!r.gridApi||r.row.fixed===e||CC(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(!AC(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(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([(0,t.unref)(Zl),{[(0,t.unref)(Ql)]: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,t.createElementVNode)(`div`,NC,[e.showDragHandle?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.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,PC)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,{class:`mg-column-settings__row-label`,title:e.row.label},(0,t.toDisplayString)(e.row.label),9,FC),e.gridApi?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,IC,[e.showSort&&e.row.sortable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:(0,t.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,t.unref)(wC)(e.row.sortDirection)}`,title:(0,t.unref)(wC)(e.row.sortDirection),onClick:s},(0,t.toDisplayString)(e.row.sortDirection===`asc`?`↑`:e.row.sortDirection===`desc`?`↓`:`↕`),11,LC)):(0,t.createCommentVNode)(``,!0),e.showFilter&&e.row.filterable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:(0,t.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,t.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,t.createElementVNode)(`path`,{d:`M3 6h18`}),(0,t.createElementVNode)(`path`,{d:`M7 12h10`}),(0,t.createElementVNode)(`path`,{d:`M10 18h4`})],-1)]],10,RC)):(0,t.createCommentVNode)(``,!0),e.showPin?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:`mg-column-settings__pin-group`,role:`radiogroup`,"aria-label":`${e.row.label} 固定列`},[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(o,n=>(0,t.createElementVNode)(`button`,{key:n??`none`,type:`button`,class:(0,t.normalizeClass)([`mg-column-settings__pin-button`,{"mg-column-settings__pin-button--active":e.row.fixed===n}]),role:`radio`,"aria-checked":e.row.fixed===n,"aria-label":(0,t.unref)(TC)(n),title:(0,t.unref)(TC)(n),onClick:e=>c(n)},(0,t.toDisplayString)(n===`left`?`左`:n===`right`?`右`:`中`),11,BC)),64))],8,zC)):(0,t.createCommentVNode)(``,!0),e.showVisibility?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:3,class:`mg-column-settings__visibility`,title:e.row.hidden?`显示列`:`隐藏列`},[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`mg-column-settings__visibility-input`,checked:!e.row.hidden,"aria-label":`${e.row.label} 显示列`,onChange:u},null,40,HC),r[2]||=(0,t.createElementVNode)(`span`,{class:`mg-column-settings__visibility-label`,"aria-hidden":`true`},`显示`,-1)],8,VC)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)]),a.value&&e.gridApi&&e.row.filterable?((0,t.openBlock)(),(0,t.createBlock)(vC,{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,t.createCommentVNode)(``,!0)],10,MC))}}),[[`__scopeId`,`data-v-d7915c64`]]);function WC(e,t){return eu(e.colId)&&!e.hidden&&tu(e.fixed)===t}function GC(e,t){return e.filter(e=>WC(e,t))}function KC(e,t,n,r){let i=GC(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(WC(n,t)){let e=s[l];if(!e)return null;c.push(e),l+=1;continue}c.push(n.colId)}return c}function qC(e){let t=KC(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=Ir(e.columns),a=e.columns;return!Gr({columns:a,colId:e.colId,toGlobalIndex:r,fixedGroups:i,allowCrossLaneColumnMove:!1})||!qr({columns:a,colId:e.colId,toGlobalIndex:r,fixedGroups:i,allowCrossLaneColumnMove:!1})?null:r}function JC(e,t,n,r){let i=qC({columns:e.getColumns(),lane:t,colId:n,toDisplayIndex:r});return i!=null&&(e.moveColumn(n,i),!0)}var YC=[`aria-label`],XC={class:`mg-column-settings__rows`},ZC=[`onDragover`,`onDrop`],QC=hC((0,t.defineComponent)({__name:`ColumnSettingsList`,props:{lane:{},rows:{},gridApi:{},showFilter:{type:Boolean},showVisibility:{type:Boolean}},emits:[`reorder`,`change`],setup(e,{emit:n}){let r={left:`固定左侧列`,center:`中间列`,right:`固定右侧列`},i=e,a=n,o=(0,t.ref)(null),s=(0,t.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}JC(i.gridApi,i.lane,n,e)&&(a(`reorder`),a(`change`)),d()}function d(){o.value=null,s.value=null}return(n,i)=>e.rows.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`section`,{key:0,class:(0,t.normalizeClass)([(0,t.unref)(Yl),`mg-column-settings__group--${e.lane}`]),"aria-label":r[e.lane]},[(0,t.createElementVNode)(`div`,XC,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.rows,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n.colId,class:`mg-column-settings__row-host`,onDragover:e=>l(r,e),onDrop:e=>u(r,e)},[(0,t.createVNode)(UC,{row:n,"grid-api":e.gridApi,draggable:n.movable,"drag-over":s.value===r&&o.value!==n.colId,dragging:o.value===n.colId,"show-filter":e.showFilter,"show-visibility":e.showVisibility,onDragstart:e=>c(n.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,ZC))),128))])],10,YC)):(0,t.createCommentVNode)(``,!0)}}),[[`__scopeId`,`data-v-69b1c1f5`]]),$C={class:`mg-column-settings__groups`},ew={class:`mg-column-settings__visible-lanes`},tw={class:`mg-column-settings__hidden-divider`},nw={class:`mg-column-settings__hidden-divider-center`},rw=[`aria-expanded`],iw={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`},aw={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`},ow={class:`mg-column-settings__hidden-rows`},sw={class:`mg-column-settings__rows`},cw=hC((0,t.defineComponent)({__name:`ColumnSettingsGroupedLists`,props:{grouped:{},gridApi:{},showFilter:{type:Boolean},showVisibility:{type:Boolean,default:!0}},emits:[`reorder`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!0);function o(){jC(r.gridApi)&&i(`change`)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$C,[(0,t.createElementVNode)(`div`,ew,[(0,t.createVNode)(QC,{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,t.createVNode)(QC,{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,t.createVNode)(QC,{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,t.openBlock)(),(0,t.createElementBlock)(`section`,{key:0,class:(0,t.normalizeClass)((0,t.unref)($l))},[(0,t.createElementVNode)(`div`,tw,[r[10]||=(0,t.createElementVNode)(`span`,{class:`mg-column-settings__hidden-divider-line`,"aria-hidden":`true`},null,-1),(0,t.createElementVNode)(`div`,nw,[(0,t.createElementVNode)(`button`,{type:`button`,class:`mg-column-settings__hidden-toggle`,"aria-expanded":a.value,onClick:r[6]||=e=>a.value=!a.value},[(0,t.createTextVNode)(` 隐藏 (`+(0,t.toDisplayString)(e.grouped.hidden.length)+`) `,1),a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,iw,[...r[8]||=[(0,t.createStaticVNode)(`<path d="m3 8 4-4 4 4" data-v-62756c32></path><path d="M7 4v16" data-v-62756c32></path><path d="M11 12h10" data-v-62756c32></path><path d="M11 16h7" data-v-62756c32></path><path d="M11 20h4" data-v-62756c32></path>`,5)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,aw,[...r[9]||=[(0,t.createStaticVNode)(`<path d="m3 16 4 4 4-4" data-v-62756c32></path><path d="M7 20V4" data-v-62756c32></path><path d="M11 4h10" data-v-62756c32></path><path d="M11 8h7" data-v-62756c32></path><path d="M11 12h4" data-v-62756c32></path>`,5)]]))],8,rw),(0,t.createElementVNode)(`button`,{type:`button`,class:`mg-column-settings__hidden-show-all`,onClick:o},` 显示全部 `)]),r[11]||=(0,t.createElementVNode)(`span`,{class:`mg-column-settings__hidden-divider-line`,"aria-hidden":`true`},null,-1)]),(0,t.withDirectives)((0,t.createElementVNode)(`div`,ow,[(0,t.createElementVNode)(`h4`,{class:(0,t.normalizeClass)([(0,t.unref)(Xl),`mg-column-settings__sr-only`])},` 已隐藏列 `,2),(0,t.createElementVNode)(`div`,sw,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.grouped.hidden,n=>((0,t.openBlock)(),(0,t.createBlock)(UC,{key:n.colId,row:n,"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),[[t.vShow,a.value]])],2)):(0,t.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-62756c32`]]);function lw(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 uw(e){return e.map(lw)}function dw(e,t={}){return iu({columns:uw(e.getColumns()),sortModel:e.getSortModel(),filterModel:e.getFilterModel(),isColumnFilterActive:t=>e.isColumnFilterActive(t),includeHidden:t.includeHidden})}function fw(e,t={}){let n=dw(e,t);return{rows:n,grouped:au(n),canClearAllFilters:e.isAnyFilterActive()}}var pw=[`sortChanged`,`filterChanged`,`columnMoved`,`columnPinned`,`columnHiddenChanged`];function mw(e,t){let n=pw.map(n=>e.on(n,t));return()=>{for(let e of n)e()}}var hw={class:`mg-column-settings__header-leading`},gw=hC((0,t.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:n}){let r=e,i=n,a=(0,t.shallowRef)(fw(r.gridApi)),o=null;function s(){a.value=fw(r.gridApi)}function c(){l(),s(),o=mw(r.gridApi,s)}function l(){o?.(),o=null}(0,t.watch)(()=>r.open,e=>{if(e){c();return}l()},{immediate:!0}),(0,t.watch)(()=>r.gridApi,()=>{r.open&&s()}),(0,t.onBeforeUnmount)(()=>{l()});function u(){s()}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)((0,t.unref)(Il)),role:`document`,"aria-label":`列设置`},[(0,t.createElementVNode)(`header`,{class:(0,t.normalizeClass)((0,t.unref)(Ll))},[(0,t.createElementVNode)(`div`,hw,[r[1]||=(0,t.createStaticVNode)(`<div class="mg-column-settings__title-group" data-v-d618f6f4><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" data-v-d618f6f4><path d="M10 8h4" data-v-d618f6f4></path><path d="M12 21v-9" data-v-d618f6f4></path><path d="M12 8V3" data-v-d618f6f4></path><path d="M17 16h4" data-v-d618f6f4></path><path d="M19 12V3" data-v-d618f6f4></path><path d="M19 21v-5" data-v-d618f6f4></path><path d="M3 14h4" data-v-d618f6f4></path><path d="M5 10V3" data-v-d618f6f4></path><path d="M5 21v-7" data-v-d618f6f4></path></svg><h3 class="mg-column-settings__title" data-v-d618f6f4>列设置</h3></div>`,1),(0,t.createVNode)(gC,{"grid-api":e.gridApi,"can-clear-all-filters":a.value.canClearAllFilters,onChange:u},null,8,[`grid-api`,`can-clear-all-filters`])]),(0,t.createElementVNode)(`button`,{type:`button`,class:`mg-column-settings__close`,"aria-label":`关闭列设置`,onClick:r[0]||=e=>i(`close`)},` × `)],2),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)((0,t.unref)(Rl))},[(0,t.createVNode)(cw,{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))}}),[[`__scopeId`,`data-v-d618f6f4`]]);function _w(e){e.getSortModel().length!==0&&e.setSortModel([])}function vw(e){e.clearAllFilters()}function yw(e){e.resetColumnWidths()}function bw(e){let t=e.getColumns(),n=Fx(t);Ix(t.map(e=>e.colId),n)||e.resetColumnOrder()}function xw(e){for(let t of e.getColumns())!eu(t.colId)||t.fixed===null||e.setColumnFixed(t.colId,null)}function Sw(e,t){switch(t){case`sort`:_w(e);break;case`filter`:vw(e);break;case`width`:yw(e);break;case`order`:bw(e);break;case`pin`:xw(e);break;case`all`:_w(e),vw(e),yw(e),bw(e),xw(e)}}var Cw=8,ww=4,Tw=320,Ew=400,Dw=168;function Ow(e,t,n){let r=Math.min(Ew,Math.max(Tw,t)),i=e.right-r,a=e.bottom+ww;return a+n>window.innerHeight-Cw&&(a=e.top-n-ww),i=Math.max(Cw,Math.min(i,window.innerWidth-r-Cw)),a=Math.max(Cw,Math.min(a,window.innerHeight-n-Cw)),{left:i,top:a}}function kw(e,t,n){let r=Math.max(Dw,t),i=e.left,a=e.bottom+ww;return a+n>window.innerHeight-Cw&&(a=e.top-n-ww),i=Math.max(Cw,Math.min(i,window.innerWidth-r-Cw)),a=Math.max(Cw,Math.min(a,window.innerHeight-n-Cw)),{left:i,top:a}}var Aw=[`disabled`,`aria-expanded`,`aria-label`,`title`],jw=(0,t.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:n}){let r=e,i=n,a=(0,t.useSlots)(),o=(0,t.ref)(null),s=(0,t.ref)(null),c=(0,t.ref)(null),l=(0,t.ref)(!1),u=(0,t.ref)(r.open??r.defaultOpen??!1),f=(0,t.ref)(0),p=!1;function m(){let e=r.portalEl;return e instanceof HTMLElement&&e.isConnected?e:`body`}let h=(0,t.computed)(()=>m()),g=(0,t.computed)(()=>{let e=a.menu;return e?e().some(e=>e.type!==t.Comment):!1}),_=(0,t.computed)(()=>l.value||u.value),v=(0,t.computed)(()=>r.size?d(r.size):void 0);(0,t.watch)(()=>r.open,e=>{e!==void 0&&(u.value=e,e&&(l.value=!1))});function y(e){if(r.disabled&&e)return;let t=u.value;u.value=e,i(`update:open`,e),e?(l.value=!1,i(`open`),p=!0,queueMicrotask(()=>{p=!1})):t&&i(`close`)}function b(e){r.disabled&&e||(l.value=e,e&&(p=!0,queueMicrotask(()=>{p=!1})))}function x(){if(!r.disabled){if(u.value){y(!1);return}b(!l.value)}}function S(){y(!0)}function C(e){Sw(r.gridApi,e),T()}function w(){u.value&&y(!1)}function T(){l.value&&=!1}function E(){T(),w()}function D(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 O(){D(s.value,kw)}function k(){D(c.value,Ow)}function A(){l.value&&O(),u.value&&k()}(0,t.watch)(l,async e=>{e&&(await(0,t.nextTick)(),O())}),(0,t.watch)(u,async e=>{e&&(await(0,t.nextTick)(),k())}),(0,t.watch)(()=>[r.portalEl,r.size],()=>{E(),f.value+=1});function j(e){if(e.key===`Escape`){if(u.value){e.preventDefault(),e.stopPropagation(),w();return}l.value&&(e.preventDefault(),e.stopPropagation(),T())}}function M(e){if(!l.value&&!u.value||p||e.button!==0)return;let t=e.target;t instanceof Node&&(o.value?.contains(t)||s.value?.contains(t)||c.value?.contains(t)||E())}return(0,t.onMounted)(()=>{document.addEventListener(`keydown`,j,!0),document.addEventListener(`pointerdown`,M,!0),window.addEventListener(`resize`,A),window.addEventListener(`scroll`,A,!0)}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`keydown`,j,!0),document.removeEventListener(`pointerdown`,M,!0),window.removeEventListener(`resize`,A),window.removeEventListener(`scroll`,A,!0)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)((0,t.unref)(zl)),style:(0,t.normalizeStyle)(v.value)},[(0,t.createElementVNode)(`button`,{ref_key:`triggerRef`,ref:o,type:`button`,class:`mg-column-settings-button__trigger`,disabled:e.disabled,"aria-haspopup":`menu`,"aria-expanded":_.value,"aria-label":e.label??`表格设置`,title:e.label??`表格设置`,onClick:x},[...r[0]||=[(0,t.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,t.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,t.createElementVNode)(`circle`,{cx:`12`,cy:`12`,r:`3`})],-1)]],8,Aw),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{key:f.value,to:h.value},[l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)((0,t.unref)(Bl))},[(0,t.createElementVNode)(`div`,{ref_key:`menuRef`,ref:s,class:(0,t.normalizeClass)((0,t.unref)(Vl))},[(0,t.createVNode)(fC,{"show-divider":g.value,onColumnSettings:S,onCustomAction:T,onReset:C},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`menu`)]),_:3},8,[`show-divider`])],2)],2)):(0,t.createCommentVNode)(``,!0),u.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)((0,t.unref)(Bl))},[(0,t.createElementVNode)(`div`,{ref_key:`panelRef`,ref:c,class:(0,t.normalizeClass)((0,t.unref)(Vl)),role:`dialog`,"aria-modal":`false`,"aria-label":`列设置面板`},[(0,t.createVNode)(gw,{"grid-api":e.gridApi,open:u.value,"show-visibility":e.showVisibility,"show-filter":e.showFilter,onClose:w},null,8,[`grid-api`,`open`,`show-visibility`,`show-filter`])],2)],2)):(0,t.createCommentVNode)(``,!0)],8,[`to`]))],6))}}),Mw={input:{deferEnterCommit:!1,commitOnChange:!1},overlay:{deferEnterCommit:!0,commitOnChange:!0}};function Nw(e,n){let r=Mw[n.strategy??`input`],i=n.formatValue??(e=>String(e??``)),a=n.commitOnChange??r.commitOnChange;(0,t.onMounted)(()=>{e.setGetValue?.(()=>i(n.getValue())),e.setKeyboardPolicy?.({deferEnterCommit:r.deferEnterCommit}),e.autoFocus!==!1&&n.onStart?.()});function o(){e.stopEditing(!0)}function s(){e.stopEditing(!1)}function c(){a&&o()}function l(e){if(e instanceof KeyboardEvent){if(e.key===`Enter`){r.deferEnterCommit&&(0,t.nextTick)(o);return}e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),s())}}return{onKeydown:l,onChange:c,commit:o,cancel:s}}exports.BUILTIN_CELL_EDITOR_NAMES=E,exports.COLUMN_DRAG_THRESHOLD_PX=ai,exports.ColumnSettingsButton=jw,exports.ColumnSettingsMenuIcon=aC,exports.ColumnSettingsMenuItem=cC,exports.ColumnSettingsPanel=gw,exports.DEFAULT_CELL_EDITOR_MODE=Sa,exports.DEFAULT_INDEX_COLUMN_START=Me,exports.DEFAULT_SELECTION_SELECT_ALL_LABEL=Ve,exports.INDEX_COLUMN_ID=Ae,exports.INDEX_COLUMN_MIN_WIDTH=je,exports.INLINE_CHECKBOX_CLASS=O,exports.MagicGrid=nC,exports.RowMutationPersistError=$c,exports.SELECTION_COLUMN_DEFAULT_WIDTH=Be,exports.SELECTION_COLUMN_ID=Re,exports.SELECTION_COLUMN_MIN_WIDTH=ze,exports.SORT_AFTER_MOVE_GUARD_MS=oi,exports.VueCellEditorHost=GS,exports.checkboxCellEditor=te,exports.coerceCheckboxEditorValue=A,exports.createSlotCellEditor=qS,exports.createVueCellEditor=KS,exports.evaluateGridAcceptance=gS,exports.formatCheckboxEditorRawValue=j,exports.getCellEditor=ie,exports.getGridAcceptanceThresholds=hS,exports.getGridSetDataLimit=mS,exports.getRegisteredCellEditorNames=oe,exports.hasCellEditor=ae,exports.isBuiltInCellEditor=D,exports.isInlineEditorColumn=Ta,exports.isSyntheticRow=vr,exports.numberCellEditor=ee,exports.readCheckboxControlValue=M,exports.registerCellEditor=ne,exports.registerEditorSurfaceSelectors=b,exports.resetEditorSurfaceSelectors=x,exports.resolveCellEditorMode=Ca,exports.resolveColumnCellEditorMode=wa,exports.textCellEditor=N,exports.toBusinessRowId=yr,exports.toBusinessRowIdFromInternal=xr,exports.toBusinessRowIdsFromInternal=Sr,exports.toggleHeaderSort=dy,exports.unregisterCellEditor=re,exports.useMagicGridCellEditor=Nw;
9
9
  //# sourceMappingURL=index.cjs.js.map