@agile-team/mach-table 0.31.0 → 0.31.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/index.cjs +6 -6
- package/dist/index.js +6 -6
- package/dist/worker.cjs +1 -1
- package/dist/worker.js +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";var zt=Object.defineProperty;var yi=Object.getOwnPropertyDescriptor;var vi=Object.getOwnPropertyNames;var wi=Object.prototype.hasOwnProperty;var bi=(i,e)=>{for(var t in e)zt(i,t,{get:e[t],enumerable:!0})},Ci=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of vi(e))!wi.call(i,o)&&o!==t&&zt(i,o,{get:()=>e[o],enumerable:!(r=yi(e,o))||r.enumerable});return i};var Ti=i=>Ci(zt({},"__esModule",{value:!0}),i);var Js={};bi(Js,{BUILTIN_AGG_FUNCS:()=>jt,DEFAULT_LOCALE:()=>D,EVENT_TYPES:()=>j,LOCALE_EN:()=>oo,actionsColumn:()=>ei,advancedFilterCondition:()=>Ar,advancedFilterGroup:()=>Ir,applyGridViewState:()=>Sr,buildColDefsFromSchema:()=>Yo,captureGridViewState:()=>Er,clearGridState:()=>Go,createActionButtonsRenderer:()=>me,createAggResolver:()=>He,createBusinessColumnTypes:()=>di,createCachedDictionary:()=>ci,createColumnHelper:()=>ri,createDictionaryRenderer:()=>ui,createEnterprisePreset:()=>ii,createGrid:()=>qo,createGridViewManager:()=>mi,createLocalGridStateStore:()=>ur,createLocalGridViewStore:()=>xr,createMachTableCommands:()=>Xo,createMachTablePreset:()=>Dr,createProgressBarRenderer:()=>gr,createRemoteExportRequest:()=>Uo,createRowActionsRenderer:()=>Pt,createStatusTagRenderer:()=>mr,defineColumns:()=>oi,defineGridOptions:()=>si,defineMachTableConfig:()=>ai,defineMachTablePreset:()=>ni,describeFilter:()=>wt,downloadFile:()=>gt,dragColumn:()=>Zo,escapeHtml:()=>re,formatText:()=>V,formatTwo:()=>ce,getByPath:()=>K,indexColumn:()=>Qo,isColDefGroup:()=>se,isSafePath:()=>ie,linkRenderer:()=>yr,loadGridState:()=>At,matchLocaleKey:()=>it,normalizeAdvancedFilterModel:()=>O,normalizeColumnFilter:()=>Ie,normalizeFilterModel:()=>q,normalizeGridState:()=>z,normalizeGridViewState:()=>Bt,normalizeSavedGridView:()=>ge,parseCsv:()=>qe,parseDelimited:()=>Ue,parseTsv:()=>Ke,resolveGridFeatures:()=>Ft,resolveSaveConflict:()=>fo,resolveTagVariant:()=>fr,rowActionsColumn:()=>ti,sanitizeFormulaCell:()=>we,saveGridState:()=>kt,selectionColumn:()=>Jo,setByPath:()=>Z,toTsv:()=>de,validateGridOptions:()=>Gt,version:()=>Xs});module.exports=Ti(Js);var ke="0.31.0";var Ae=class{constructor(e){this.onListenerError=e;this.ae=new Map}on(e,t){let r=this.ae.get(e);return r||(r=new Set,this.ae.set(e,r)),r.add(t),()=>{r.delete(t)}}once(e,t){let r=this.on(e,o=>{r(),t(o)});return r}off(e,t){let r=this.ae.get(e);r&&(r.delete(t),r.size===0&&this.ae.delete(e))}emit(e,t){let r=this.ae.get(e);if(r)for(let o of[...r])try{o(t)}catch(n){console.error(`[mach-table] error in "${e}" listener`,n),this.onListenerError?.(n,e)}}clear(){this.ae.clear()}};var Di=new Set(["__proto__","prototype","constructor"]);function ie(i){return typeof i!="string"||i.length===0?!1:i.split(".").every(t=>t.length>0&&!Di.has(t))}function K(i,e){if(i==null||!ie(e))return;if(e.indexOf(".")<0)return i[e];let r=i,o=0;for(;o<e.length;){if(r==null)return;let n=e.indexOf(".",o);if(n<0){r=r[e.slice(o)];break}r=r[e.slice(o,n)],o=n+1}return r}function Z(i,e,t){if(i==null||!ie(e))return!1;let r=e.split("."),o=i;for(let n=0;n<r.length-1;n++){if(typeof o!="object"&&typeof o!="function"||o===null)return!1;o[r[n]]==null&&(o[r[n]]={}),o=o[r[n]]}return typeof o!="object"&&typeof o!="function"||o===null?!1:(o[r[r.length-1]]=t,!0)}var Ei=new Set(["contains","notContains","equals","notEquals","startsWith","endsWith","blank","notBlank"]),Si=new Set(["equals","notEquals","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inRange","blank","notBlank"]),xi=new Set(["equals","notEquals","lessThan","greaterThan","inRange","blank","notBlank"]);function Mi(i){return i==null||typeof i=="string"||typeof i=="number"&&Number.isFinite(i)}function ki(i){return i==="text"?Ei:i==="number"?Si:xi}function Ai(i,e,t){if(i==null||typeof i!="object")return null;let r=i;return typeof r.match!="string"||!t.has(r.match)?null:{match:r.match,...Ii(r,e)}}function Ii(i,e){let t=e==="number"?Mr(i.value):typeof i.value=="string"?i.value:void 0,r=e==="number"?Mr(i.value2):typeof i.value2=="string"?i.value2:void 0;return{...t!==void 0?{value:t}:{},...r!==void 0?{value2:r}:{}}}function Mr(i){return typeof i=="number"&&Number.isFinite(i)?i:void 0}function Li(i,e){let t=[],r=ki(e);for(let o of i.slice(0,20)){let n=Ai(o,e,r);n&&t.push(n)}return t}function Ie(i){if(i==null||typeof i!="object")return null;let e=i;return e.type==="set"?Array.isArray(e.values)?{type:"set",values:e.values.filter(Mi).slice(0,2e3)}:null:e.type!=="text"&&e.type!=="number"&&e.type!=="date"||!Array.isArray(e.conditions)?null:{type:e.type,...e.operator==="or"||e.operator==="and"?{operator:e.operator}:{},conditions:Li(e.conditions,e.type)}}function Pi(i,e){if(typeof i.colId!="string"||!i.colId.trim())return null;let t=i.colId.trim();if(e.validColumnIds?.has(t)===!1)return null;let r=Ie(i.filter);return r?{kind:"condition",colId:t,filter:r}:null}function Gi(i,e,t){if(!Array.isArray(i.children))return null;let r=[];for(let o of i.children){let n=kr(o,e+1,t);n&&r.push(n)}return r.length===0?null:{kind:"group",operator:i.operator==="or"?"or":"and",children:r,...i.not===!0?{not:!0}:{}}}function Ni(i,e,t){return e<=16&&t.nodes<512&&i!=null&&typeof i=="object"}function kr(i,e,t){if(!Ni(i,e,t)||t.ancestors.has(i))return null;t.ancestors.add(i),t.nodes++;let r=i,o=r.kind==="condition"?Pi(r,t):r.kind==="group"?Gi(r,e,t):null;return t.ancestors.delete(i),o}function O(i,e){if(i==null||typeof i!="object")return null;let t=i;if(t.version!==1||t.root==null)return null;let r=kr(t.root,0,{ancestors:new WeakSet,nodes:0,validColumnIds:e});return r?{version:1,root:r}:null}function Ar(i,e){return{kind:"condition",colId:i,filter:e}}function q(i,e){if(i==null||typeof i!="object"||Array.isArray(i))return{};let t={};for(let[r,o]of Object.entries(i).slice(0,2e3)){let n=r.trim();if(!n||e?.has(n)===!1)continue;let s=Ie(o);s&&(t[n]=s)}return t}function Ir(i,e,t={}){return{kind:"group",operator:i,children:e,...t.not?{not:!0}:{}}}var _t={align:"center",sortable:!0,resizable:!0,movable:!0,filter:!1,minWidth:80},ye={compact:{rowHeight:30,headerHeight:34,fontSize:12,cellPadding:6},normal:{rowHeight:36,headerHeight:40,fontSize:13,cellPadding:9},large:{rowHeight:44,headerHeight:48,fontSize:14,cellPadding:12}};function S(i,e,t,r=!1){return typeof i!="number"||!Number.isFinite(i)||i<t?e:r?Math.floor(i):i}function Fi(i){return i&&Object.prototype.hasOwnProperty.call(ye,i)?i:"normal"}function Oi(i){return i.theme==="light"||i.theme==="dark"||i.theme==="auto"?i.theme:"light"}function Hi(i,e){let t=typeof i.pagination=="object"&&Array.isArray(i.pagination.pageSizeOptions)?i.pagination.pageSizeOptions:void 0,r=t?[...new Set(t.map(o=>S(o,0,1,!0)).filter(Boolean))]:[10,20,50,100];return r.includes(e)||r.push(e),r.sort((o,n)=>o-n)}function Wt(i,e){let t=typeof i=="function"?i(e):K(e,i);return t==null?"":String(t)}function Vi(i){let e=i.rowKey,t=e?({data:r})=>Wt(e,r):void 0;return{...t?{resolveRowId:t}:{},...e?{rowKey:e}:{}}}function Bi(i,e){let t=ye[e];return{columnDefs:Array.isArray(i.columnDefs)?i.columnDefs:[],rowData:Array.isArray(i.rowData)?i.rowData:[],defaultColDef:{..._t,...i.defaultColDef??{}},columnTypes:i.columnTypes??{},...Vi(i),rowHeight:S(i.rowHeight,t.rowHeight,1),headerHeight:S(i.headerHeight,t.headerHeight,1),rowBuffer:S(i.rowBuffer,8,0,!0),columnLayout:i.columnLayout==="fit"?"fit":"normal",enableColumnResize:i.enableColumnResize===!0,domLayout:i.domLayout==="autoHeight"?"autoHeight":"normal",rowSelection:i.rowSelection==="single"||i.rowSelection==="multiple"?i.rowSelection:"none",multiSort:i.multiSort??!0,size:e,pinnedTopRowData:Array.isArray(i.pinnedTopRowData)?i.pinnedTopRowData:[],pinnedBottomRowData:Array.isArray(i.pinnedBottomRowData)?i.pinnedBottomRowData:[]}}function zi(i){return{stripedRows:i.stripedRows??!1,rowStyleRules:Array.isArray(i.rowStyleRules)?i.rowStyleRules:[],showCellBorders:i.showCellBorders??!1,theme:Oi(i),quickFilterText:i.quickFilterText??null,suppressCellFocus:i.suppressCellFocus??!1,suppressRowHoverHighlight:i.suppressRowHoverHighlight??!1,suppressNoRowsOverlay:i.suppressNoRowsOverlay??!1,suppressHeaderFocus:i.suppressHeaderFocus??!1,loading:i.loading??!1,error:i.error??null,className:i.className??""}}function _i(i){return{editType:i.editType==="fullRow"?"fullRow":"cell",editableIndicator:i.editableIndicator==="always"||i.editableIndicator==="none"?i.editableIndicator:"hover",singleClickEdit:i.singleClickEdit??!1,manualSorting:i.manualSorting??!1,manualFiltering:i.manualFiltering??!1,showSummary:i.showSummary??!1,indexOffset:i.indexOffset??0,applyRowDrag:i.applyRowDrag??!0,undoStackSize:S(i.undoStackSize,100,0,!0),asyncTransactionWaitMillis:S(i.asyncTransactionWaitMillis,16,0,!0)}}function Wi(i){return{masterDetail:i.masterDetail??!1,detailRowHeight:S(i.detailRowHeight,240,1),detailToggleColumn:i.detailToggleColumn??!0,treeData:i.treeData??!1,childrenKey:i.childrenKey??"children",autoCheckedChildren:i.autoCheckedChildren??!0,defaultExpandAll:i.defaultExpandAll??!1}}function $i(i){let e=typeof i.pagination=="object"?i.pagination:void 0,t=S(e?.pageSize,20,1,!0);return{paginationEnabled:i.pagination!==!1&&i.datasource==null,paginationMode:e?.mode==="server"?"server":"client",paginationPage:S(e?.page,1,1,!0),paginationTotal:S(e?.total,0,0,!0),paginationPageSize:t,paginationPageSizeOptions:Hi(i,t),paginationShowTotal:e?e.showTotal!==!1:!0,paginationShowSizeSelector:e?e.showPageSizeSelector!==!1:!0}}function Ki(i){return{watermarkEnabled:i.watermark!=null&&i.watermark!==!1,watermarkConfig:i.watermark==null||i.watermark===!1?null:i.watermark===!0?{text:"MachTable"}:i.watermark}}function qi(i){return{columnMenu:i.columnMenu??!1,advancedFilterModel:O(i.advancedFilterModel),...Ui(i),locale:i.locale??{},suppressWarnings:i.suppressWarnings??!1,enableRangeSelection:i.enableRangeSelection??!1,suppressClipboard:i.suppressClipboard??!1,contextMenu:i.contextMenu??!1,tooltipShowDelay:S(i.tooltipShowDelay,600,0),flashCells:i.flashCells??!0,fillHandle:i.fillHandle??!0,statusBarEnabled:i.statusBar===!0||typeof i.statusBar=="object"&&i.statusBar!=null,statusBarPanels:typeof i.statusBar=="object"&&i.statusBar?.panels?i.statusBar.panels:["rowCount","selectedRowCount","rangeAggregate"]}}function Ui(i){let e=i.persistence;return!e||typeof e.key!="string"||!e.key.trim()?{persistence:null}:{persistence:{key:e.key.trim(),debounceMs:S(e.debounceMs,160,0,!0),...e.sections?{sections:[...new Set(e.sections)]}:{},...e.store?{store:e.store}:{}}}}function ji(i){return{datasourceMode:i.datasourceMode==="block"?"block":"sequential",blockSize:S(i.blockSize,100,1,!0),infiniteBufferRows:S(i.infiniteBufferRows,40,0,!0),maxBlocksInCache:S(i.maxBlocksInCache,12,1,!0),datasourceMaxConcurrentRequests:S(i.datasourceMaxConcurrentRequests,4,1,!0),blockPrefetch:S(i.blockPrefetch,1,0,!0),datasourceRowCount:i.datasourceRowCount==null?null:S(i.datasourceRowCount,0,0,!0),dataProcessorMinRows:S(i.dataProcessorMinRows,5e3,1,!0),datasourceRetryCount:S(i.datasourceRetryCount,2,0,!0),datasourceRetryDelay:S(i.datasourceRetryDelay,300,0,!0),datasourceRetryJitter:Math.min(1,S(i.datasourceRetryJitter,.15,0))}}function Yi(i){return{ariaLabel:i.ariaLabel??"MachTable data grid",ariaLabelledBy:i.ariaLabelledBy??"",ariaDescribedBy:i.ariaDescribedBy??"",overlayNoRowsTemplate:i.overlayNoRowsTemplate??"",overlayLoadingTemplate:i.overlayLoadingTemplate??"",overlayErrorTemplate:i.overlayErrorTemplate??"",allowUnsafeOverlayHtml:i.allowUnsafeOverlayHtml??!1}}var Xi=["detailRowRenderer","isRowExpandable","aggFuncs","components","actionPolicy","summaryMethod","datasource","getRowHeight","tooltipComponent","getContextMenuItems","initialState","rowEditValidator","isTreeRowExpandable","loadTreeChildren","dataProcessor"];function Ji(i,e){for(let t of Xi)i[t]&&Object.assign(e,{[t]:i[t]})}function Qi(i,e){for(let t of Object.keys(i))t.startsWith("on")&&typeof i[t]=="function"&&Object.assign(e,{[t]:i[t]})}function Lr(i){let e=Fi(i.size),t={...Bi(i,e),...zi(i),..._i(i),...Wi(i),...$i(i),...Ki(i),...qi(i),...ji(i),...Yi(i),features:Array.isArray(i.features)?i.features:[]};return Ji(i,t),Qi(i,t),t}function Pr(i){return Array.isArray(i)?i.filter(e=>typeof e=="string"&&e.length>0):typeof i=="string"&&i.length>0?[i]:[]}function ne(i,e){return Pr(i.type).includes(e)}function Gr(i,e,t={}){let r={};for(let o of Pr(i.type)){let n=t[o];n&&Object.assign(r,n)}return{...e,...r,...i}}var W=class{constructor(e,t){this.manualWidth=null;this.contentWidth=null;this.flex=null;this.currentWidth=0;this.parentGroup=null;this.level=0;this.isDetailToggle=!1;this.id=e,this.colDef=t,this.hide=t.hide??!1;let r=t.pinned;this.pinned=r===!0?"left":r===!1||r==null?null:r,this.resetWidth()}get sortable(){return this.colDef.sortable!==!1}get resizable(){return this.colDef.resizable!==!1}get movable(){return this.colDef.movable!==!1}get filterable(){return this.colDef.filter!=null&&this.colDef.filter!==!1}get filterType(){let e=this.colDef.filter;return e===!0?"text":e??"text"}get hasCheckbox(){return this.colDef.checkboxSelection===!0}resetWidth(){this.manualWidth=null,this.contentWidth=null,this.flex=typeof this.colDef.flex=="number"&&Number.isFinite(this.colDef.flex)&&this.colDef.flex>0?this.colDef.flex:null}};var ee=class i{constructor(e,t){this.parent=null;this.children=[];this.groupId=e,this.def=t}get headerName(){return this.def.headerName??this.def.groupId??""}getLeafColumns(e=[]){for(let t of this.children)t instanceof i?t.getLeafColumns(e):e.push(t);return e}};function se(i){return Array.isArray(i.children)}function Le(i,e){return typeof i=="number"&&Number.isFinite(i)&&i>0?i:e}function Nr(i){let e=Le(i.minWidth,80);return{min:e,max:Math.max(e,Le(i.maxWidth,Number.MAX_SAFE_INTEGER))}}function N(i,e){let{min:t,max:r}=Nr(e),o=Le(i,Le(e.width,150));return Math.max(t,Math.min(r,o))}function Fr(i,e){let t=i.map(s=>N(s.width??150,s)),r=[],o=0;i.forEach((s,a)=>{let l=s.flex??0;l>0&&(r.push(a),o+=l)});let n=0;for(let s of t)n+=s;if(o>0&&e>n){let s=e-n;for(let a=0;a<4&&s>.5&&r.length>0;a++){let l=[],d=0;for(let p of r){let m=i[p].flex??0;l.push(p),d+=m}let c=[];for(let p=0;p<l.length;p++){let m=l[p],v=i[m].flex??0,g=s*v/d,y=t[m];t[m]=N(y+g,i[m]),c.push(t[m]-y)}let u=0;for(let p of c)u+=p;s-=u;let h=l.filter((p,m)=>c[m]>.001);if(h.length===l.length)break;r.length=0;for(let p of h)r.push(p)}}return t}function Zi(i,e,t){let r=new Set(i.map((n,s)=>s)),o=t;for(let n=0;n<i.length+1&&r.size>0;n++){let s=0;for(let l of r)s+=Math.max(1,e[l]);if(s<=0)break;let a=!1;for(let l of[...r]){let d=o*(Math.max(1,e[l])/s),c=N(d,i[l]),{min:u,max:h}=Nr(i[l]);(d<u||d>h)&&(e[l]=c,o-=c,r.delete(l),a=!0)}if(!a){for(let l of r)e[l]=N(o*(Math.max(1,e[l])/s),i[l]);break}o=Math.max(0,o)}}function en(i,e,t){let r=t-e.reduce((o,n)=>o+n,0);if(!(Math.abs(r)<=.01))for(let o=e.length-1;o>=0;o--){let n=N(e[o]+r,i[o]);if(Math.abs(n-e[o])>.01){e[o]=n;return}}}function Pe(i,e){let t=i.map(r=>N(r.width??150,r));return!Number.isFinite(e)||e<=0||i.length===0||(Zi(i,t,e),en(i,t,e)),t}var $t="__rg_detail_toggle__";function ae(i){return typeof i=="number"&&Number.isFinite(i)&&i>0}var Ge=class{constructor(e){this.core=e;this.columns=[];this.E=[];this.left=[];this.center=[];this.right=[];this.sortModel=[];this.defs=[];this.le=1;this.Vt=new Map;this.viewportWidth=0}setColumnDefs(e){this.defs=e?[...e]:[];let t=new Map(this.columns.map(s=>[s.id,s])),r=this.core.options.defaultColDef,o=new Set(this.core.options.masterDetail&&this.core.options.detailToggleColumn?[$t]:[]),n=(s,a,l)=>s.map((d,c)=>{if(se(d)){let y=d.groupId??d.headerName??`group_${c}_${l}`,b=new ee(y,d);return b.parent=a,b.children=n(d.children,b,l+1),b}let u=d,h=u.colId??u.field??`col_${c}`,p=h,m=2;for(;o.has(p);)p=`${h}_${m++}`;o.add(p);let v=new W(p,Gr(u,r,this.core.options.columnTypes));v.parentGroup=a,v.level=l;let g=t.get(p);return g&&(v.manualWidth=g.manualWidth,v.contentWidth=g.contentWidth,v.flex=g.flex,v.hide=g.hide,v.pinned=g.pinned),v});if(this.E=n(this.defs,null,0),this.core.options.masterDetail&&this.core.options.detailToggleColumn){let s=new W($t,{colId:$t,headerName:"",width:38,pinned:"left",sortable:!1,resizable:!1,movable:!1,filter:!1});s.isDetailToggle=!0,this.E.unshift(s)}if(this.columns=this.Je(this.E),this.le=this.columns.reduce((s,a)=>Math.max(s,a.level+1),1),this.sortModel=this.sortModel.filter(s=>this.columns.some(a=>a.id===s.colId)),this.sortModel.length===0){let s=[];for(let a of this.columns)a.colDef.initialSort&&s.push({colId:a.id,direction:a.colDef.initialSort});this.sortModel=s}this.de()}Je(e,t=[]){for(let r of e)r instanceof ee?this.Je(r.children,t):t.push(r);return t}de(){let e=this.columns.filter(t=>!t.hide);this.left=e.filter(t=>t.pinned==="left"),this.right=e.filter(t=>t.pinned==="right"),this.center=e.filter(t=>t.pinned===null),this.Vt.clear(),this.getOrderedVisible().forEach((t,r)=>this.Vt.set(t.id,r))}getFlatIndex(e){return this.Vt.get(e)??-1}getColumns(){return this.columns}getColumnDefs(){return this.defs}getRootChildren(){return this.E}getHeaderDepth(){return this.le}getColumn(e){return this.columns.find(t=>t.id===e)}getPaneColumns(e){return e==="left"?this.left:e==="right"?this.right:this.center}getOrderedVisible(){return[...this.left,...this.center,...this.right]}getRowGroupColumns(){return this.getOrderedVisible().filter(e=>e.colDef.rowGroup===!0)}getAggColumns(){return this.getOrderedVisible().filter(e=>e.colDef.aggFunc!=null&&e.colDef.rowGroup!==!0)}hasColSpan(){return this.center.some(e=>e.colDef.colSpan!=null)}getGroupLabelColumn(){let e=this.getOrderedVisible();return this.center.find(t=>!t.hasCheckbox&&!t.isDetailToggle)??e.find(t=>!t.hasCheckbox&&!t.isDetailToggle)??e[0]}paneOf(e){return e.pinned==="left"?"left":e.pinned==="right"?"right":"center"}computeLayout(e){this.viewportWidth=e;let t=0;for(let c of[...this.left,...this.right])c.currentWidth=N(c.manualWidth??c.contentWidth??c.colDef.width??150,this.U(c)),t+=c.currentWidth;let r=Math.max(0,e-t),o=[],n=[];for(let c of this.center)(c.colDef.suppressSizeToFit||c.manualWidth!=null?n:o).push(c);let s=0;for(let c of n)c.currentWidth=N(c.manualWidth??c.contentWidth??c.colDef.width??150,this.U(c)),s+=c.currentWidth;let a=o.map(c=>this.U(c)),l=Math.max(0,r-s),d=this.core.options.columnLayout==="fit"?Pe(a,l):Fr(a,l);o.forEach((c,u)=>{c.currentWidth=d[u]})}U(e){let t=e.colDef;return{width:e.manualWidth??e.contentWidth??t.width,minWidth:t.minWidth,maxWidth:t.maxWidth,flex:e.manualWidth==null?e.flex??void 0:void 0}}setColumnWidth(e,t){return ae(t)?(e.manualWidth=N(t,this.U(e)),e.flex=null,!0):!1}setContentWidth(e,t){return ae(t)?(e.resetWidth(),e.contentWidth=N(t,this.U(e)),!0):!1}setColumnVisibility(e,t){let r=this.getColumn(e);!r||r.hide===!t||(r.hide=!t,this.de())}moveColumn(e,t){let r=this.getColumn(e);if(!r)return!1;let o=this.paneOf(r),n=u=>r.parentGroup?!0:this.paneOf(u)===o,s=r.parentGroup?r.parentGroup.children:this.E,a=s.filter(u=>u instanceof W&&!u.hide&&n(u)),l=a.indexOf(r);if(l<0)return!1;a.splice(l,1);let d=Math.max(0,Math.min(t,a.length));a.splice(d,0,r);let c=[];return s.forEach((u,h)=>{u instanceof W&&!u.hide&&n(u)&&c.push(h)}),c.length!==a.length?!1:(c.forEach((u,h)=>{s[u]=a[h]}),this.columns=this.Je(this.E),this.de(),!0)}setColumnPinned(e,t){let r=this.getColumn(e);!r||!r.movable||(r.pinned=t,this.de())}getColumnState(){return this.columns.map(e=>({colId:e.id,hide:e.hide,width:e.manualWidth??e.currentWidth,flex:e.flex,widthMode:e.manualWidth==null?"auto":"manual",contentWidth:e.contentWidth??void 0,pinned:e.pinned}))}applyColumnState(e){let t=new Map(e.map(r=>[r.colId,r]));for(let r of this.columns){let o=t.get(r.id);o&&this.Di(r,o)}this.Ei(e),this.de()}Di(e,t){typeof t.hide=="boolean"&&(e.hide=t.hide),t.widthMode==="auto"?(e.resetWidth(),ae(t.flex)&&(e.flex=t.flex)):ae(t.flex)?(e.flex=t.flex,e.manualWidth=null):ae(t.width)&&(e.manualWidth=N(t.width,this.U(e)),e.flex=null),ae(t.contentWidth)&&(e.contentWidth=N(t.contentWidth,this.U(e))),e.movable&&(t.pinned==="left"||t.pinned==="right"||t.pinned===null)&&(e.pinned=t.pinned)}Ei(e){let t=new Map;e.forEach((o,n)=>t.set(o.colId,n));let r=o=>o.pinned==="left"?"left":o.pinned==="right"?"right":"center";for(let o of["left","center","right"]){let n=this.E.filter(d=>d instanceof W&&!d.hide&&d.parentGroup===null&&r(d)===o);if(n.length<2)continue;let s=n.filter(d=>d.movable),a=s.slice().sort((d,c)=>(t.get(d.id)??Number.MAX_SAFE_INTEGER)-(t.get(c.id)??Number.MAX_SAFE_INTEGER));if(a.every((d,c)=>d===s[c]))continue;let l=[];this.E.forEach((d,c)=>{d instanceof W&&!d.hide&&d.parentGroup===null&&r(d)===o&&d.movable&&l.push(c)}),l.forEach((d,c)=>{this.E[d]=a[c]})}this.columns=this.Je(this.E)}resetColumnState(){for(let e of this.columns){e.resetWidth(),e.hide=e.colDef.hide??!1;let t=e.colDef.pinned;e.pinned=t===!0?"left":t===!1||t==null?null:t}this.de()}getSortModel(){return this.sortModel.map(e=>({...e}))}applySortModel(e){if(!e||e.length===0){this.sortModel=[];return}this.sortModel=e.filter(t=>this.columns.some(r=>r.id===t.colId)&&(t.direction==="asc"||t.direction==="desc")).map(t=>({colId:t.colId,direction:t.direction}))}cycleSort(e,t){let r=[...this.sortModel],o=r.findIndex(l=>l.colId===e.id),n=o>=0?r[o].direction:null,s=n===null?"asc":n==="asc"?"desc":null;t&&this.core.options.multiSort?s===null?o>=0&&r.splice(o,1):o>=0?r[o]={colId:e.id,direction:s}:r.push({colId:e.id,direction:s}):(r.length=0,s&&r.push({colId:e.id,direction:s})),this.sortModel=r}};function Hr(i){return i==null?"":String(i).toLowerCase()}function tn(i,e,t){let r=Hr(i),o=e.map(n=>{let s=(n.value??"").toLowerCase();switch(n.match){case"contains":return r.includes(s);case"notContains":return!r.includes(s);case"equals":return r===s;case"notEquals":return r!==s;case"startsWith":return r.startsWith(s);case"endsWith":return r.endsWith(s);case"blank":return r==="";case"notBlank":return r!=="";default:return!0}});return o.length===0?!0:t==="or"?o.some(Boolean):o.every(Boolean)}function rn(i,e,t){switch(t.match){case"equals":return i===e;case"notEquals":return i!==e;case"lessThan":return i<e;case"lessThanOrEqual":return i<=e;case"greaterThan":return i>e;case"greaterThanOrEqual":return i>=e;case"inRange":return i>=e&&i<=(t.value2??e);default:return!0}}function on(i,e){let t=i==null||i==="";if(e.match==="blank")return t;if(e.match==="notBlank")return!t;if(t)return!1;let r=typeof i=="number"?i:Number(i);if(Number.isNaN(r))return!1;let o=e.value;return o==null||Number.isNaN(o)?!1:rn(r,o,e)}function nn(i,e,t){let r=e.map(o=>on(i,o));return r.length===0?!0:t==="or"?r.some(Boolean):r.every(Boolean)}function Ne(i){if(i==null||i==="")return null;if(i instanceof Date)return isNaN(i.getTime())?null:i.getTime();if(typeof i=="number")return i;let e=Date.parse(String(i));return isNaN(e)?null:e}function sn(i,e,t){let r=e.map(o=>{let n=Ne(i)==null;if(o.match==="blank")return n;if(o.match==="notBlank")return!n;if(n)return!1;let s=Ne(i),a=o.value!=null?Ne(o.value):null;if(a==null)return!1;switch(o.match){case"equals":return s===a;case"notEquals":return s!==a;case"lessThan":return s<a;case"greaterThan":return s>a;case"inRange":{let l=o.value2!=null?Ne(o.value2):null;return l!=null?s>=a&&s<=l:s>=a}default:return!0}});return r.length===0?!0:t==="or"?r.some(Boolean):r.every(Boolean)}function an(i,e){return e.length===0?!0:e.some(t=>t==null&&i==null||t===i)}function Vr(i,e){let t=e.type!=="set"&&e.operator==="or"?"or":"and";switch(e.type){case"text":return tn(i,e.conditions,t);case"number":return nn(i,e.conditions,t);case"date":return sn(i,e.conditions,t);case"set":return an(i,e.values);default:return!0}}function Kt(i,e,t,r){if(i.kind==="condition"){let n=e.get(i.colId);return!n||Vr(r(t,n),i.filter)}let o=i.operator==="or"?i.children.some(n=>Kt(n,e,t,r)):i.children.every(n=>Kt(n,e,t,r));return i.not?!o:o}function ln(i,e,t,r){return t?Kt(t.root,new Map(e.map(o=>[o.id,o])),i,r):!0}function qt(i,e,t,r,o,n){for(let s of Object.keys(t)){let a=t[s],l=e.find(c=>c.id===s);if(!l)continue;let d=n(i,l);if(!Vr(d,a))return!1}if(!ln(i,e,r,n))return!1;if(o&&o.trim()!==""){let s=o.trim().toLowerCase().split(/\s+/);for(let a of s)if(!e.some(d=>Hr(n(i,d)).includes(a)))return!1}return!0}var Br=typeof Intl<"u"?new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}):null;function dn(i,e){let t=i==null||i==="",r=e==null||e==="";return!t&&!r?null:t&&r?0:t?1:-1}function cn(i,e){let t=Number.isNaN(i),r=Number.isNaN(e);return t||r?t===r?0:t?1:-1:i-e}function un(i,e){return i===e?0:i?1:-1}function Fe(i,e){let t=dn(i,e);if(t!==null)return t;if(typeof i=="number"&&typeof e=="number")return cn(i,e);if(i instanceof Date&&e instanceof Date)return i.getTime()-e.getTime();if(typeof i=="boolean"&&typeof e=="boolean")return un(i,e);let r=String(i),o=String(e);return Br?Br.compare(r,o):r.localeCompare(o)}function Ut(i,e,t,r){let o=new Map;for(let l of t)o.set(l.id,l);let n=[],s=[];for(let l of e){let d=o.get(l.colId);d&&(n.push(d.colDef.comparator??Fe),s.push(l.direction))}let a=i.map(l=>({node:l,values:e.map(d=>r(l,o.get(d.colId)))}));return a.sort((l,d)=>{for(let c=0;c<n.length;c++){let u=n[c](l.values[c],d.values[c],l.node,d.node);if(u!==0)return s[c]==="asc"?u:-u}return 0}),a.map(l=>l.node)}function Oe(i){return i.filter(e=>typeof e=="number"&&!isNaN(e))}var jt={sum:i=>Oe(i).reduce((e,t)=>e+t,0),avg:i=>{let e=Oe(i);return e.length===0?null:e.reduce((t,r)=>t+r,0)/e.length},count:i=>i.length,min:i=>{let e=Oe(i);return e.length===0?null:Math.min(...e)},max:i=>{let e=Oe(i);return e.length===0?null:Math.max(...e)},first:i=>i.length>0?i[0]:null,last:i=>i.length>0?i[i.length-1]:null};function He(i){let e={...jt,...i??{}};return t=>e[t]}function le(i){if(i.reason instanceof Error)return i.reason;let e=new Error(typeof i.reason=="string"?i.reason:"Block request aborted");return e.name="AbortError",e}function Ve(i){return Number.isFinite(i)?Math.max(1,Math.trunc(i)):1}var Be=class{constructor(e,t,r=4){this.maxBlocks=e;this.onEvict=t;this.maxConcurrentRequests=r;this.b=new Map;this.f=new Map;this.zr=0;this.Bt=0;this.hitCount=0;this.missCount=0;this.evictionCount=0;this.Qe=0;this.maxBlocks=Ve(e),this.maxConcurrentRequests=Ve(r)}configure(e,t=this.maxConcurrentRequests){this.maxBlocks=Ve(e),this.maxConcurrentRequests=Ve(t),this._r(),this.Ze()}peek(e){let t=this.b.get(e);if(t)return t.touchedAt=++this.zr,t}has(e){return this.b.has(e)}load(e,t,r,o=0){if(r?.aborted)return Promise.reject(le(r));let n=this.peek(e);if(n)return this.hitCount++,Promise.resolve(n);let s=this.f.get(e);if(s)return this.hitCount++,s.priority=Math.max(s.priority,o),this.Ze(),this.Wr(e,s,r);this.missCount++;let a=new AbortController,l,d,c=new Promise((p,m)=>{l=p,d=m}),u={controller:a,promise:c,consumers:0,loader:t,priority:o,state:"queued",resolve:l,reject:d};this.f.set(e,u);let h=this.Wr(e,u,r);return this.Ze(),h}purge(){this.Bt++;for(let e of this.f.values())e.controller.abort(),e.state==="queued"&&e.reject(le(e.controller.signal));this.f.clear();for(let[e,t]of this.b)this.onEvict?.(e,t);this.b.clear()}snapshot(){let e=0,t=0;for(let r of this.b.values())e+=r.rows.length;for(let r of this.f.values())r.state==="active"&&t++;return{cachedBlockCount:this.b.size,loadingBlockCount:this.f.size,activeRequestCount:t,queuedRequestCount:Math.max(0,this.f.size-t),cachedRowCount:e,hitCount:this.hitCount,missCount:this.missCount,evictionCount:this.evictionCount}}Ze(){for(;this.Qe<this.maxConcurrentRequests;){let e,t;for(let[r,o]of this.f)o.state!=="queued"||o.controller.signal.aborted||(!t||o.priority>t.priority)&&(e=r,t=o);if(e==null||!t)return;this.Si(e,t)}}Si(e,t){t.state="active",this.Qe++;let r=this.Bt;this.xi(t).then(o=>{r===this.Bt&&!t.controller.signal.aborted&&(this.b.set(e,{rows:o.rows,...o.lastRow==null?{}:{lastRow:o.lastRow},touchedAt:++this.zr}),this._r()),t.resolve(o)},t.reject).finally(()=>{this.Qe=Math.max(0,this.Qe-1),this.f.get(e)===t&&this.f.delete(e),this.Ze()})}xi(e){let{signal:t}=e.controller;return t.aborted?Promise.reject(le(t)):new Promise((r,o)=>{let n=()=>o(le(t));t.addEventListener("abort",n,{once:!0}),Promise.resolve().then(()=>e.loader(t)).then(r,o).finally(()=>{t.removeEventListener("abort",n)})})}Wr(e,t,r){return t.consumers++,new Promise((o,n)=>{let s=!1,a=d=>{s||(s=!0,r?.removeEventListener("abort",l),t.consumers=Math.max(0,t.consumers-1),d())},l=()=>a(()=>{t.consumers===0&&this.f.get(e)===t&&(this.f.delete(e),t.controller.abort(r?.reason),t.state==="queued"&&t.reject(le(t.controller.signal))),n(le(r))});r?.addEventListener("abort",l,{once:!0}),t.promise.then(d=>a(()=>o(d)),d=>a(()=>n(d instanceof Error?d:new Error(String(d??"Block request failed")))))})}_r(){for(;this.b.size>this.maxBlocks;){let e=-1,t=Number.POSITIVE_INFINITY;for(let[o,n]of this.b)n.touchedAt<t&&(e=o,t=n.touchedAt);if(e<0)return;let r=this.b.get(e);this.b.delete(e),this.evictionCount++,r&&this.onEvict?.(e,r)}}};function ve(i,e){if(i==null||typeof i!="object")return;let t=i[e];return Array.isArray(t)?t:void 0}var ze=class{constructor(e){this.core=e;this.all=[];this.h=[];this.m=new Map;this.C=[];this.e=new Map;this.filterModel={};this.advancedFilterModel=null;this.quickFilter=null;this.d=new Set;this.g=new Set;this.Ee=[];this.et=new Map;this.Mi=[];this.a=null;this.ce=!1;this.$r=!1;this.ue=0;this.tt=null;this.Se=null;this.rt=null;this.ot=new WeakMap;this.xe=new WeakMap;this.N=new Map;this.Me=new Map;this.ke=0;this.A=new Map;this.F=new Map;this.Ae=new Set;this.j=new Be(12,e=>this.Kr(e));this.Ie=0;this.it=null;this.zt=!1;this.qr=0;this.T=[];this.page=1;this.pageSize=20;this.advancedFilterModel=O(e.options.advancedFilterModel)}resolveRowId(e,t,r){let o=this.core.options.resolveRowId;if(!o)return r;try{let n=o({data:e,index:t,api:this.core.getApi()});if(typeof n=="string"&&n.length>0)return n;this.core.reportError(new Error("rowKey must resolve to a non-empty identifier"),"rowKey",{index:t})}catch(n){this.core.reportError(n,"rowKey",{index:t})}return r}get isTree(){return this.core.options.treeData}get isInfinite(){return this.core.options.datasource!=null}get isBlockDatasource(){return this.isInfinite&&this.core.options.datasourceMode==="block"}getDisplayTotalCount(){if(this.isInfinite){if(this.isBlockDatasource)return this.he();let e=Math.max(0,this.C.length-this.all.length);return(this.a??this.all.length)+e}return this.C.length}getDisplayRevision(){return this.ke}isLoadingInfinite(){return this.$r}startInfinite(e){return!this.isInfinite||e?.aborted?Promise.resolve():(this._t(),this.a=null,this.ce=!1,this.all=[],this.h=[],this.e.clear(),this.d.clear(),this.core.undoService.clear(),this.refreshPipeline(),this.core.requestUpdate({data:!0}),this.isBlockDatasource?(this.j.configure(this.core.options.maxBlocksInCache,this.core.options.datasourceMaxConcurrentRequests),this.Wt(0,e)):this.Ur(0,void 0,e))}reloadInfinite(e){return this.isInfinite?this.startInfinite(e):Promise.resolve()}setInfiniteLoading(e){this.$r=e,this.core.skeleton.setInfiniteLoading(e,this.core.getLocaleText("loading"))}Ur(e,t,r){if(!this.isInfinite||this.ce||this.a!=null&&e>=this.a)return Promise.resolve();let o=this.core.options.datasource,n=this.core.options.blockSize,s=t??e+n;if(s<=e)return Promise.resolve();let a=++this.ue,l=new AbortController,d=()=>l.abort(r?.reason);return r?.addEventListener("abort",d,{once:!0}),this.tt=l,this.ce=!0,this.setInfiniteLoading(!0),new Promise(c=>{let u=!1,h=0;this.rt=c;let p=v=>{u||(u=!0,r?.removeEventListener("abort",d),a===this.ue&&(this.ce=!1,this.tt=null,this.rt=null,this.setInfiniteLoading(!1),v!=null&&v?.name!=="AbortError"&&this.core.reportError(v,"datasource.getRows",{startRow:e,endRow:s})),c())},m=()=>{if(u||a!==this.ue||l.signal.aborted||this.core.isDestroyed()){p();return}h++;let v=!1,g=y=>{if(!(v||u)){if(v=!0,a!==this.ue||l.signal.aborted||this.core.isDestroyed()){p();return}if(h<=this.core.options.datasourceRetryCount){let b=this.jr(h);this.Se=setTimeout(()=>{this.Se=null,m()},b);return}p(y??new Error("Datasource request failed"))}};try{let y=o.getRows({startRow:e,endRow:s,sortModel:this.core.columnModel.getSortModel(),filterModel:this.getFilterModel(),advancedFilterModel:this.getAdvancedFilterModel(),quickFilterText:this.quickFilter,signal:l.signal,onSuccess:(b,T)=>{if(v||u)return;if(v=!0,a!==this.ue||this.core.isDestroyed()||l.signal.aborted){p();return}let x=b??[];typeof T=="number"&&T>=0?this.a=T:x.length<s-e&&(this.a=e+x.length);let w=this.all.length===0;this.ki(x),p(),this.refreshPipeline(),this.core.requestUpdate({data:!0}),w&&this.core.relayout(),this.core.headerRenderer.refreshSelectAllCheckbox()},fail:g});y&&typeof y.catch=="function"&&y.catch(g)}catch(y){g(y)}};m()})}_t(){this.ue++,this.Se!=null&&clearTimeout(this.Se),this.Se=null,this.tt?.abort(),this.tt=null,this.ce=!1,this.setInfiniteLoading(!1),this.rt?.(),this.rt=null,this.j.purge(),this.A.clear(),this.F.clear(),this.Ae.clear()}ki(e){for(let t of e){if(t==null)continue;let r=this.all.length,o=this.resolveRowId(t,r,`inf-${this.core.nextId()}`);if(this.e.has(o)){this.core.reportError(new Error(`Duplicate row id: ${o}`),"datasource.getRows",{rowId:o});continue}let n={id:o,data:t,rowIndex:-1,selected:this.core.selectionService.isSelected(o)};this.all.push(n),this.e.set(o,n),this.h.push(n)}}Wt(e,t,r=0){if(!this.isBlockDatasource||e<0)return Promise.resolve();if(t?.aborted)return Promise.reject(this.Yr(t.reason));let o=this.core.options.blockSize,n=e*o;if(n>=this.he())return Promise.resolve();let s=this.a==null?n+o:Math.min(this.a,n+o),a=this.j.load(e,l=>this.Ai(n,s,l),t,r);return this.setInfiniteLoading(this.all.length===0&&this.j.snapshot().loadingBlockCount>0),a.then(l=>{t?.aborted||this.core.isDestroyed()||!this.isBlockDatasource||this.Ae.has(e)||(this.Ii(e,l),this.refreshPipeline(),this.core.requestUpdate({data:!0}),this.core.headerRenderer.refreshSelectAllCheckbox())}).catch(l=>{throw l?.name!=="AbortError"&&this.core.reportError(l,"datasource.getRows",{startRow:n,endRow:s}),l}).finally(()=>{this.setInfiniteLoading(this.all.length===0&&this.j.snapshot().loadingBlockCount>0)})}Ai(e,t,r){let o=this.core.options.datasource;return new Promise((n,s)=>{let a=0,l=null,d=!1,c=p=>{d||(d=!0,l!=null&&clearTimeout(l),r.removeEventListener("abort",u),s(p instanceof Error?p:new Error(typeof p=="string"?p:"Datasource request failed")))},u=()=>c(this.Yr(r.reason));r.addEventListener("abort",u,{once:!0});let h=()=>{if(d)return;if(r.aborted||this.core.isDestroyed()){u();return}a++;let p=!1,m=v=>{if(!(p||d)){if(p=!0,r.aborted||this.core.isDestroyed()){u();return}if(a<=this.core.options.datasourceRetryCount){let g=this.jr(a);l=setTimeout(()=>{l=null,h()},g)}else c(v)}};try{let v=o.getRows({startRow:e,endRow:t,sortModel:this.core.columnModel.getSortModel(),filterModel:this.getFilterModel(),advancedFilterModel:this.getAdvancedFilterModel(),quickFilterText:this.quickFilter,signal:r,onSuccess:(g,y)=>{p||d||(p=!0,d=!0,r.removeEventListener("abort",u),n({rows:g??[],...typeof y=="number"&&y>=0?{lastRow:y}:{}}))},fail:m});v&&typeof v.catch=="function"&&v.catch(m)}catch(v){m(v)}};h()})}Ii(e,t){let r=this.core.options.blockSize,o=e*r;this.Kr(e),typeof t.lastRow=="number"&&t.lastRow>=0?this.a=t.lastRow:t.rows.length<r&&(this.a=o+t.rows.length),t.rows.forEach((n,s)=>{if(n==null)return;let a=o+s;if(this.a!=null&&a>=this.a)return;let l=this.resolveRowId(n,a,`block-${a}`),d=this.e.get(l);if(d&&d.rowIndex!==a){this.core.reportError(new Error(`Duplicate row id: ${l}`),"datasource.getRows",{rowId:l});return}let c={id:l,data:n,rowIndex:a,selected:this.core.selectionService.isSelected(l)};this.A.set(a,c),this.F.delete(a),this.e.set(l,c),this.xe.set(c,a+1)}),this.Xr(),this.Ae.add(e)}Kr(e){this.Ae.delete(e);let t=this.core.options.blockSize,r=e*t;for(let o=r;o<r+t;o++){let n=this.A.get(o);n&&(this.A.delete(o),this.e.get(n.id)===n&&this.e.delete(n.id))}this.Xr()}Xr(){this.all=[...this.A.entries()].sort(([e],[t])=>e-t).map(([,e])=>e),this.h=this.all}he(){if(this.a!=null)return this.a;if(this.core.options.datasourceRowCount!=null)return this.core.options.datasourceRowCount;if(this.A.size===0)return this.core.options.blockSize;let e=0;for(let t of this.A.keys())e=Math.max(e,t+1);return e+this.core.options.blockSize}Li(e){let t=this.F.get(e);if(!t&&(t={id:`__mach_loading_${e}`,data:null,rowIndex:e,selected:!1,loading:!0},this.F.set(e,t),this.F.size>2e3)){let r=this.F.keys().next().value;r!=null&&this.F.delete(r)}return t}Yr(e){if(e instanceof Error)return e;let t=new Error(typeof e=="string"?e:"Operation aborted");return t.name="AbortError",t}jr(e){let t=Math.min(this.core.options.datasourceRetryDelay*2**Math.max(0,e-1),3e4),r=this.core.options.datasourceRetryJitter;return Math.max(0,Math.round(t*(1+(Math.random()*2-1)*r)))}checkInfiniteScroll(e){if(this.isBlockDatasource){this.Pi(e);return}if(!this.isInfinite||this.ce)return;let t=this.all.length;if(this.a!=null&&t>=this.a)return;let r=this.core.options.infiniteBufferRows;if(e+r<t&&e<t)return;let o=this.core.options.blockSize,n=this.a==null?t+o:Math.min(this.a,t+o);this.Ur(t,n)}Pi(e){if(e<0)return;let t=this.core.options.blockSize,r=Math.floor(e/t),o=this.core.options.blockPrefetch,n=r<this.qr?-1:1;this.qr=r;for(let s=0;s<=o;s++){let a=s===0?[r]:[r+n*s,r-n*s];for(let l of a)l<0||l*t>=this.he()||this.Wt(l,void 0,o-s+1).catch(()=>{})}}onServerParamsChanged(){return this.reloadInfinite().catch(()=>{})}onDatasourceChanged(){return this._t(),this.isInfinite?this.startInfinite().catch(()=>{}):(this.a=null,this.setRowData(this.core.options.rowData),this.core.requestUpdate({data:!0}),Promise.resolve())}destroy(){this._t(),this.Jr(),this.$t(),this.core.options.dataProcessor?.destroy?.()}ensureRowsLoaded(e,t,r){if(!this.isBlockDatasource)return Promise.resolve();let o=this.core.options.blockSize,n=Math.max(0,Math.trunc(e)),s=Math.min(this.he(),Math.max(n,Math.trunc(t))),a=Math.floor(n/o),l=Math.max(a,Math.floor(Math.max(n,s-1)/o)),d=[];for(let c=a;c<=l;c++)d.push(this.Wt(c,r,100));return Promise.all(d).then(()=>{})}purgeDatasourceCache(){this.isBlockDatasource&&(this.j.purge(),this.A.clear(),this.F.clear(),this.Ae.clear(),this.all=[],this.h=[],this.e.clear(),this.refreshPipeline(),this.core.requestUpdate({data:!0}))}getDatasourceCacheSnapshot(){return this.j.snapshot()}setRowData(e){this.Jr(),this.core.changeTracker.clear();let t=this.core.options.resolveRowId,r=this.core.options.childrenKey,o=[],n=[],s=new Map,a=new Map,l=0,d=(c,u,h)=>{let p=l++,m=this.resolveRowId(c,p,`auto-${p}`);if(s.has(m))return this.core.reportError(new Error(`Duplicate row id: ${m}`),"rowData",{rowId:m,index:p}),null;let v=this.isTree?ve(c,r):void 0,g={id:m,data:c,rowIndex:-1,selected:!1,treeChildrenLoaded:Array.isArray(v)};if(this.ot.set(g,u),o.push(g),s.set(m,g),h!=null){let y=a.get(h)??[];y.push(m),a.set(h,y)}else n.push(g);if(this.isTree&&Array.isArray(v))for(let y of v)y!=null&&d(y,u+1,m);return g};(e??[]).forEach(c=>{c!=null&&d(c,0,null)}),this.all=o,this.h=n,this.m=a,this.e=s,this.core.undoService.clear();for(let c of[...this.d])s.has(c)||this.d.delete(c);if(this.core.options.defaultExpandAll)for(let c of o)this.getChildrenCount(c.id)>0&&this.d.add(c.id);this.core.selectionService.onRowsRebuilt(t!=null),this.refreshPipeline()}getChildrenIds(e){return this.m.get(e)??[]}getChildrenCount(e){return this.m.get(e)?.length??0}hasChildren(e){return this.getChildrenCount(e)>0}isTreeRowLoading(e){return this.e.get(e)?.treeLoading===!0}Jr(){for(let e of this.N.values())e.abort();this.N.clear(),this.Me.clear()}loadTreeChildren(e,t=!1){let r=this.e.get(e),o=this.core.options.loadTreeChildren;if(!this.isTree||!r?.data||!o)return Promise.resolve([]);if(!t&&r.treeChildrenLoaded)return Promise.resolve(this.getChildrenIds(e).flatMap(l=>{let d=this.e.get(l)?.data;return d==null?[]:[d]}));let n=this.Me.get(e);if(n&&!t)return n;this.N.get(e)?.abort();let s=new AbortController;this.N.set(e,s),r.treeLoading=!0,r.treeLoadError=void 0,this.core.requestUpdate({data:!0});let a=Promise.resolve().then(()=>o({data:r.data,node:r,api:this.core.getApi(),signal:s.signal})).then(l=>{if(s.signal.aborted||this.core.isDestroyed())return[];if(!Array.isArray(l))throw new TypeError("[MachTable] loadTreeChildren must resolve to an array.");return this.Gi(r,l),r.treeChildrenLoaded=!0,r.treeLoadError=void 0,this.core.emit("treeChildrenLoaded",{rowId:e,rowNode:r,children:l}),l}).catch(l=>{if(s.signal.aborted||l?.name==="AbortError")return[];throw r.treeLoadError=l,r.treeChildrenLoaded=!1,this.core.reportError(l,"treeData.loadChildren",{rowId:e}),this.core.emit("treeChildrenLoadFailed",{rowId:e,rowNode:r,error:l}),l}).finally(()=>{this.N.get(e)===s&&(this.N.delete(e),this.Me.delete(e),r.treeLoading=!1,this.core.requestUpdate({data:!0}))});return this.Me.set(e,a),a}Gi(e,t){let r=new Set,o=[...this.getChildrenIds(e.id)];for(;o.length>0;){let s=o.pop();r.has(s)||(r.add(s),o.push(...this.getChildrenIds(s)))}this.Ni(t,r);for(let s of r)this.N.get(s)?.abort(),this.N.delete(s),this.Me.delete(s),this.m.delete(s),this.e.delete(s),this.d.delete(s);this.m.delete(e.id);let n=this.getTreeDepth(e)+1;for(let s of t)s!=null&&this.Kt(e,s,n);this.Qr(),this.core.selectionService.onRowsRebuilt(this.core.options.resolveRowId!=null),this.refreshPipeline(),this.core.requestUpdate({data:!0})}Ni(e,t){let r=this.core.options.resolveRowId,o=r?new Set([...this.e.keys()].filter(l=>!t.has(l))):null,n=new WeakSet,s=[...e],a=0;for(;s.length>0;){let l=s.pop();if(l==null)continue;if(typeof l=="object"){if(n.has(l))throw new TypeError("[MachTable] Lazy tree children contain a cyclic object graph.");n.add(l)}if(r&&o){let c=r({data:l,index:a++,api:this.core.getApi()});if(typeof c!="string"||c.length===0)throw new TypeError("[MachTable] rowKey must resolve to a non-empty identifier for lazy tree children.");if(o.has(c))throw new Error(`Duplicate row id: ${c}`);o.add(c)}let d=ve(l,this.core.options.childrenKey);d&&s.push(...d)}}applyTransaction(e,t=!0){let r=this.core.options.resolveRowId,o=[],n=[];if(e.remove?.length){let a=new Set,l=new Set,d=u=>{if(r){let p=[this.resolveRowId(u,-1,`__missing_remove_${this.core.nextId()}`)];for(;p.length>0;){let m=p.pop();if(!a.has(m)){a.add(m);for(let v of this.m.get(m)??[])p.push(v)}}}else{let h=[u];for(;h.length>0;){let p=h.pop();l.add(p);let m=this.isTree?ve(p,this.core.options.childrenKey):void 0;if(m)for(let v of m)h.push(v)}}};e.remove.forEach(d),this.all=this.all.filter(u=>{let h=a.has(u.id)||u.data!=null&&l.has(u.data);return h&&(n.push(u.id),this.e.delete(u.id),this.m.delete(u.id)),!h});let c=new Set(this.all);this.h=this.h.filter(u=>c.has(u))}if(e.update?.length)for(let a of e.update){let l;r?l=this.e.get(this.resolveRowId(a,-1,`__missing_update_${this.core.nextId()}`)):l=this.all.find(d=>d.data===a),l&&(l.data=a,n.push(l.id),this.core.bodyRenderer.invalidateRowHeight(l),o.push(l))}if(e.add?.length){let a=e.addIndex!=null?Math.max(0,Math.min(e.addIndex,this.h.length)):this.h.length,l=[];e.add.forEach((d,c)=>{let u=this.resolveRowId(d,a+c,`add-${this.core.nextId()}`);if(this.e.has(u)){this.core.reportError(new Error(`Duplicate row id: ${u}`),"transaction.add",{rowId:u});return}let h={id:u,data:d,rowIndex:-1,selected:!1};this.e.set(u,h),this.ot.set(h,0);let p=this.isTree?ve(d,this.core.options.childrenKey):void 0;if(p)for(let m of p)m!=null&&this.Kt(h,m,1);l.push(h)}),this.h.splice(a,0,...l),this.Qr()}let s=this.Fi(e);return t&&(s?this.refreshPipeline():o.length>0&&this.Zr()),this.core.changeTracker.clearRows(n),{pipelineChanged:s,updatedRowIds:o.map(a=>a.id)}}applyTransactions(e){if(e.length===0)return{pipelineChanged:!1,updatedRowIds:[]};let t=!1,r=new Set;for(let o of e){let n=this.applyTransaction(o,!1);t||(t=n.pipelineChanged);for(let s of n.updatedRowIds)r.add(s)}return t?this.refreshPipeline():r.size>0&&this.Zr(),{pipelineChanged:t,updatedRowIds:[...r]}}Fi(e){return e.add?.length||e.remove?.length?!0:e.update?.length?this.isTree||this.core.options.masterDetail||this.core.columnModel.getRowGroupColumns().length>0||!this.core.options.manualFiltering&&this.isFilterPresent()||!this.core.options.manualSorting&&this.core.columnModel.getSortModel().length>0||this.core.options.getRowHeight?!0:this.core.columnModel.getOrderedVisible().some(t=>t.colDef.autoHeight===!0||t.colDef.autoRowSpan===!0||t.colDef.rowSpan!=null):!1}Zr(){this.core.emit("modelUpdated",{rowCount:this.T.length})}Kt(e,t,r){let o=this.resolveRowId(t,-1,`add-${this.core.nextId()}`);if(this.e.has(o)){this.core.reportError(new Error(`Duplicate row id: ${o}`),"transaction.add",{rowId:o});return}let n=ve(t,this.core.options.childrenKey),s={id:o,data:t,rowIndex:-1,selected:!1,treeChildrenLoaded:Array.isArray(n)};this.e.set(o,s),this.ot.set(s,r);let a=this.m.get(e.id)??[];if(a.push(s.id),this.m.set(e.id,a),!!n)for(let l of n)l!=null&&this.Kt(s,l,r+1)}Qr(){this.all=[];let e=t=>{this.all.push(t),this.e.has(t.id)||this.e.set(t.id,t);for(let r of this.m.get(t.id)??[]){let o=this.e.get(r);o&&e(o)}};for(let t of this.h)e(t)}setFilterModel(e){let t=JSON.stringify(this.filterModel),r=new Set(this.core.columnModel.getColumns().map(o=>o.id));return this.filterModel=q(e,r),JSON.stringify(this.filterModel)!==t}getFilterModel(){return{...this.filterModel}}setAdvancedFilterModel(e){let t=new Set(this.core.columnModel.getColumns().map(n=>n.id)),r=O(e,t),o=JSON.stringify(this.advancedFilterModel);return this.advancedFilterModel=r,this.core.options.advancedFilterModel=r,JSON.stringify(r)!==o}getAdvancedFilterModel(){return O(this.advancedFilterModel)}setQuickFilter(e){let t=e!=null&&e.trim()!==""?e:null;return t===this.quickFilter?!1:(this.quickFilter=t,!0)}getQuickFilter(){return this.quickFilter}isFilterPresent(){return Object.keys(this.filterModel).length>0||this.advancedFilterModel!=null||this.quickFilter!=null}refreshPipeline(){let e=this.core.performanceMonitor.start(),t=this.core.columnModel.getOrderedVisible(),r=(s,a)=>this.core.getCellValue(s,a);if(this.isInfinite){this.Oi(e);return}if(this.Hi(e))return;let o;if(this.isTree)o=this.Vi(t,r);else{o=this.all,this.isFilterPresent()&&!this.core.options.manualFiltering&&(o=o.filter(d=>qt(d,t,this.filterModel,this.advancedFilterModel,this.quickFilter,r)));let a=this.core.columnModel.getSortModel();if(a.length>0&&!this.core.options.manualSorting)try{o=Ut(o,a,t,r)}catch(d){this.core.reportError(d,"comparator",{sortModel:a})}let l=this.core.columnModel.getRowGroupColumns();if(l.length>0)o=this.Bi(o,l);else if(this.core.options.masterDetail){let d=[];for(let c of o)d.push(c),this.d.has(c.id)&&this.isRowExpandable(c)&&d.push({id:`__detail__${c.id}`,data:c.data,rowIndex:-1,selected:!1,isDetail:!0,masterId:c.id});o=d}}for(let s of this.all)s.rowIndex=-1;let n=0;o.forEach((s,a)=>{s.rowIndex=a,!s.isDetail&&!s.isGroup&&(n++,this.xe.set(s,n))}),this.T=o,this.pe(),this.eo(r),this.core.emit("modelUpdated",{rowCount:o.length}),this.core.performanceMonitor.recordModel(e)}Oi(e){this.all.forEach((t,r)=>{this.isBlockDatasource||(t.rowIndex=r),this.xe.set(t,this.isBlockDatasource?t.rowIndex+1:r+1)}),this.C=this.all,this.T=this.all,this.et.clear(),this.ke++,this.core.emit("modelUpdated",{rowCount:this.all.length}),this.core.performanceMonitor.recordModel(e)}Hi(e){let t=this.zt;return this.zt=!1,!t&&this.zi()?(this._i(e),!0):(this.$t(),!1)}zi(){if(!this.core.options.dataProcessor||this.all.length<this.core.options.dataProcessorMinRows||this.isTree||this.core.options.masterDetail||this.core.columnModel.getRowGroupColumns().length>0)return!1;let e=!this.core.options.manualFiltering&&this.isFilterPresent(),t=!this.core.options.manualSorting&&this.core.columnModel.getSortModel().length>0;return e||t}_i(e){this.$t();let t=this.core.options.dataProcessor;if(!t)return;let r=++this.Ie,o=new AbortController;this.it=o;let n=this.core.columnModel.getOrderedVisible(),s=this.all.flatMap(d=>d.data==null?[]:[{id:d.id,data:d.data}]),a=!this.core.options.manualFiltering,l=!this.core.options.manualSorting;Promise.resolve().then(()=>t.process({rows:s,columns:n.map(d=>({colId:d.id,...d.colDef.field?{field:d.colDef.field}:{}})),sortModel:l?this.core.columnModel.getSortModel():[],filterModel:a?this.getFilterModel():{},advancedFilterModel:a?this.getAdvancedFilterModel():null,quickFilterText:a?this.quickFilter:null,signal:o.signal})).then(d=>{if(r!==this.Ie||o.signal.aborted||this.core.isDestroyed())return;let c=new Set,u=[];for(let p of d.rowIds){if(c.has(p))continue;c.add(p);let m=this.e.get(p);m&&!m.isDetail&&!m.isGroup&&u.push(m)}for(let p of this.all)p.rowIndex=-1;u.forEach((p,m)=>{p.rowIndex=m,this.xe.set(p,m+1)}),this.T=u,this.pe();let h=(p,m)=>this.core.getCellValue(p,m);this.eo(h),this.core.emit("modelUpdated",{rowCount:u.length}),this.core.performanceMonitor.recordModel(e),this.core.requestUpdate({data:!0})}).catch(d=>{r!==this.Ie||o.signal.aborted||this.core.isDestroyed()||(this.core.reportError(d,"dataProcessor.process"),this.zt=!0,this.refreshPipeline(),this.core.requestUpdate({data:!0}))}).finally(()=>{r===this.Ie&&(this.it=null)})}$t(){this.Ie++,this.it?.abort(),this.it=null}get paginationActive(){return this.core.options.paginationEnabled&&!this.isInfinite}pe(){if(!this.paginationActive){this.C=this.T,this.ke++;return}let e=this.Le(),t=this.getPageCount();if(this.page>t&&(this.page=t),this.page<1&&(this.page=1),this.core.options.paginationPage=this.page,this.core.options.paginationMode==="server"){this.T.forEach((n,s)=>{n.rowIndex=s}),this.C=this.T,this.ke++;return}let r=(this.page-1)*e,o=this.T.slice(r,r+e);o.forEach((n,s)=>{n.rowIndex=s}),this.C=o,this.ke++}Le(){return this.pageSize=this.core.options.paginationPageSize,Math.max(1,this.pageSize)}getCurrentPage(){return this.paginationActive?this.page:1}getTotalRowCount(){return this.isInfinite?this.getDisplayTotalCount():this.paginationActive&&this.core.options.paginationMode==="server"?this.core.options.paginationTotal:this.T.length}getPageCount(){return this.paginationActive?Math.max(1,Math.ceil(this.getTotalRowCount()/this.Le())):1}getPipelineRows(){return this.T}setPage(e,t=!1){if(!this.paginationActive)return;let r=this.getPageCount(),o=Math.max(1,Math.min(Math.round(e)||1,r));o!==this.page&&(this.page=o,this.core.options.paginationPage=o,this.pe(),this.core.requestUpdate({data:!0}),this.core.bodyRenderer.scrollToIndex(0,"top"),t||this.nt())}setPageSize(e){if(!this.paginationActive)return;let t=Math.max(1,Math.round(e)||this.Le()),r=(this.page-1)*this.Le();this.core.options.paginationPageSize=t,this.pageSize=t,this.page=Math.floor(r/t)+1,this.core.options.paginationPage=this.page,this.pe(),this.core.requestUpdate({data:!0}),this.nt()}restorePagination(e,t){this.pageSize=Math.max(1,Math.round(t)||1),this.core.options.paginationPageSize=this.pageSize,this.page=Math.max(1,Math.round(e)||1),this.core.options.paginationPage=this.page}setPaginationEnabled(e){this.core.options.paginationEnabled!==e&&(this.core.options.paginationEnabled=e&&!this.isInfinite,this.core.options.paginationEnabled&&(this.page=1),this.pe(),this.core.requestUpdate({data:!0}),this.nt())}onPaginationOptionsChanged(){this.paginationActive&&(this.page=this.core.options.paginationMode==="server"?this.core.options.paginationPage:1,this.pe(),this.core.requestUpdate({data:!0}),this.nt())}nt(){this.core.emit("paginationChanged",{page:this.getCurrentPage(),pageSize:this.Le(),pageCount:this.getPageCount(),total:this.getTotalRowCount()})}Vi(e,t){let r=this.core.options.manualSorting?[]:this.core.columnModel.getSortModel(),o=new Map,n=this.isFilterPresent()&&!this.core.options.manualFiltering,s=d=>{let c=o.get(d.id);if(c!==void 0)return c;let u=!0;if(n){u=qt(d,e,this.filterModel,this.advancedFilterModel,this.quickFilter,t);for(let h of this.m.get(d.id)??[]){let p=this.e.get(h);p&&s(p)&&(u=!0)}}return o.set(d.id,u),u},a=[],l=d=>{let c=d;r.length>0&&(c=Ut(d,r,e,t));for(let u of c)if(s(u)&&(a.push(u),this.d.has(u.id))){let h=(this.m.get(u.id)??[]).map(p=>this.e.get(p)).filter(p=>p!=null);l(h)}};return l(this.h),a}Wi(){let e=this.Mi,t=0;for(let r of this.C)!r.isDetail&&!r.isGroup&&(e[t++]=r);return e.length=t,e}$i(e,t,r,o){let n=t.colDef.rowSpan;if(!n)return 1;try{let s=n({api:this.core.getApi(),colDef:t.colDef,column:t,node:e,data:e.data,value:r,rowIndex:e.rowIndex});return Math.max(1,Math.min(Math.round(s)||1,o))}catch(s){return this.core.reportError(s,"rowSpan",{colId:t.id,rowId:e.id}),1}}Ki(e,t,r,o,n){if(!r.colDef.autoRowSpan||o==null||o==="")return 1;let s=1;for(;t+s<e.length&&Fe(o,n(e[t+s],r))===0;)s++;return s}qi(e,t,r){let o=new Int32Array(e.length),n=0;for(;n<e.length;){let s=e[n],a=r(s,t),l=t.colDef.rowSpan?this.$i(s,t,a,e.length-n):this.Ki(e,n,t,a,r);o[n]=l;for(let d=1;d<l;d++)o[n+d]=-1;n+=l}return o}eo(e){if(this.et.clear(),this.isTree||this.core.options.masterDetail||this.core.columnModel.getRowGroupColumns().length>0)return;let t=this.core.columnModel.getOrderedVisible().filter(o=>o.colDef.rowSpan!=null||o.colDef.autoRowSpan===!0);if(t.length===0)return;let r=this.Wi();if(r.length!==0)for(let o of t)this.et.set(o.id,this.qi(r,o,e))}getSpanInfo(e){return this.et.get(e)}getRowSeq(e){return this.xe.get(e)??0}getTreeDepth(e){return this.ot.get(e)??0}Bi(e,t){let r=He(this.core.options.aggFuncs),o=this.core.columnModel.getAggColumns();this.Ee=[];let n=a=>{let l={};for(let d of o){let c=r(d.colDef.aggFunc);if(c)try{l[d.id]=c(a.map(u=>this.core.getCellValue(u,d)))}catch(u){this.core.reportError(u,"aggFunc",{colId:d.id,aggFunc:d.colDef.aggFunc}),l[d.id]=null}}return l},s=(a,l,d)=>{if(l>=t.length)return{display:a,leaves:a};let c=t[l],u=new Map,h=[];for(let v of a){let g=this.core.getCellValue(v,c),y=g==null?"(\u7A7A)":String(g),b=u.get(y);b||(b=[],u.set(y,b),h.push(y)),b.push(v)}h.sort((v,g)=>v.localeCompare(g,void 0,{numeric:!0,sensitivity:"base"}));let p=[],m=[];for(let v of h){let g=u.get(v),y=`${d}/g${l}:${v}`;this.Ee.push(y);let b=s(g,l+1,y),T={id:y,data:null,rowIndex:-1,selected:!1,isGroup:!0,groupLevel:l,groupKey:v,leafNodes:b.leaves,aggValues:n(b.leaves)};p.push(T),this.g.has(y)&&p.push(...b.display),m.push(...b.leaves)}return{display:p,leaves:m}};return s(e,0,"").display}isRowExpandable(e){if(this.isTree){if(this.hasChildren(e.id)||e.treeLoading)return!0;if(e.treeChildrenLoaded||!e.data||!this.core.options.loadTreeChildren)return!1;let r=this.core.options.isTreeRowExpandable;if(!r)return!1;try{return r({data:e.data,node:e,api:this.core.getApi()})}catch(o){return this.core.reportError(o,"isTreeRowExpandable",{rowId:e.id}),!1}}if(!this.core.options.masterDetail)return!1;let t=this.core.options.isRowExpandable;if(t)try{return t({data:e.data,node:e,api:this.core.getApi()})}catch(r){return this.core.reportError(r,"isRowExpandable",{rowId:e.id}),!1}return!0}isRowExpanded(e){return this.d.has(e)}getExpandedRowIds(){return[...this.d]}getExpandedGroupIds(){return[...this.g]}restoreExpansion(e,t){this.d=new Set(e.filter(r=>this.e.has(r))),this.g=new Set(t)}expandRow(e){return this.qt(e,!0)}collapseRow(e){return this.qt(e,!1)}toggleDetail(e){return this.qt(e,!this.d.has(e))}qt(e,t){let r=this.e.get(e);return!r||t&&!this.isRowExpandable(r)?!1:(t===this.d.has(e)||(t?this.d.add(e):this.d.delete(e),this.refreshPipeline(),this.core.requestUpdate({data:!0}),this.core.emit("detailToggled",{rowId:e,rowNode:r,expanded:t}),t&&this.isTree&&!this.hasChildren(e)&&!r.treeLoading&&this.loadTreeChildren(e).catch(()=>{})),t)}expandAllDetails(){let e=!1;for(let t of this.all)!this.d.has(t.id)&&this.isRowExpandable(t)&&(this.d.add(t.id),e=!0);e&&(this.refreshPipeline(),this.core.requestUpdate({data:!0}))}collapseAllDetails(){this.d.size!==0&&(this.d.clear(),this.refreshPipeline(),this.core.requestUpdate({data:!0}))}toggleGroup(e){return this.setGroupExpanded(e,!this.g.has(e))}isGroupExpanded(e){return this.g.has(e)}getGroupNode(e){return this.C.find(t=>t.isGroup&&t.id===e)}expandAllGroups(){if(this.Ee.length===0)return;let e=!1;for(let t of this.Ee)this.g.has(t)||(this.g.add(t),e=!0);e&&(this.refreshPipeline(),this.core.requestUpdate({data:!0}))}collapseAllGroups(){this.g.size!==0&&(this.g.clear(),this.refreshPipeline(),this.core.requestUpdate({data:!0}))}setGroupExpanded(e,t){return!this.Ee.includes(e)||t===this.g.has(e)||(t?this.g.add(e):this.g.delete(e),this.refreshPipeline(),this.core.requestUpdate({data:!0})),t}canReorderRows(){return!this.isTree&&!this.isInfinite&&!this.core.options.dataProcessor&&this.core.options.paginationMode!=="server"&&this.core.columnModel.getSortModel().length===0&&this.core.columnModel.getRowGroupColumns().length===0}reorderRowsByDisplayed(e,t){if(!this.canReorderRows()||!Number.isInteger(e)||!Number.isInteger(t))return!1;let r=this.getDisplayedRow(e),o=this.getDisplayedRow(t);if(!r||!o||r.isDetail||o.isDetail||r.isGroup||o.isGroup)return!1;let n=this.all.indexOf(r),s=this.all.indexOf(o);return n<0||s<0||n===s?!1:(this.all.splice(n,1),this.all.splice(s,0,r),this.refreshPipeline(),this.core.requestUpdate({data:!0}),!0)}getAllNodes(){return this.all}getRootNodes(){return this.h}getDisplayedRows(){return this.C}getDisplayedRowCount(){return this.isBlockDatasource?this.he():this.C.length}getDisplayedRow(e){return this.isBlockDatasource?e<0||e>=this.he()?void 0:this.A.get(e)??this.Li(e):this.C[e]}getNodeById(e){return this.e.get(e)}forEachNode(e){this.all.forEach(e)}forEachNodeAfterFilterAndSort(e){let t=0;for(let r of this.T)r.isDetail||r.isGroup||e(r,t++)}};var _e=class{constructor(e){this.core=e;this.n=new Set;this.I=null;this.Pe=new Set}isSelected(e){return this.n.has(e)}isIndeterminate(e){return this.Pe.has(e)}isSelectable(e){if(e.loading)return!1;let t=this.Ui(e),r=t?.colDef.selectable;if(!t||!r)return!0;try{return r({api:this.core.getApi(),colDef:t.colDef,column:t,node:e,data:e.data,value:this.core.getCellValue(e,t),rowIndex:e.rowIndex})}catch(o){return this.core.reportError(o,"selectable",{rowId:e.id,colId:t?.id}),!1}}Ui(e){if(!(e.isGroup||e.isDetail))return this.core.columnModel.getOrderedVisible().find(t=>t.hasCheckbox&&t.colDef.selectable!=null)}getSelectedNodes(){return this.core.rowModel.getAllNodes().filter(e=>this.n.has(e.id))}getSelectedRows(){return this.getSelectedNodes().filter(e=>e.data!=null).map(e=>e.data)}getSelectedIds(){return[...this.n]}restoreSelection(e){let t=new Set(e),r=this.core.rowModel.getAllNodes().filter(o=>t.has(o.id)&&!o.isDetail&&!o.isGroup).map(o=>({node:o,selected:!0}));this.R(r,!0)}onRowsRebuilt(e){if(!e)this.n.clear(),this.I=null;else{let t=new Set(this.core.rowModel.getAllNodes().map(r=>r.id));for(let r of[...this.n])t.has(r)||this.n.delete(r);this.I!=null&&!t.has(this.I)&&(this.I=null)}for(let t of this.core.rowModel.getAllNodes())t.selected=this.n.has(t.id);this.to()}getGroupSelectionState(e){let t=e.leafNodes??[];if(t.length===0)return{all:!1,some:!1};let r=0,o=0;for(let n of t)this.isSelectable(n)&&(r++,this.n.has(n.id)&&o++);return r===0?{all:!1,some:!1}:{all:o===r,some:o>0}}setGroupSelected(e,t){let r=(e.leafNodes??[]).filter(o=>this.isSelectable(o));r.length!==0&&this.R(r.map(o=>({node:o,selected:t})))}setNodeSelected(e,t,r=!1){this.R([{node:e,selected:t,clearOthers:r}])}selectNodeById(e,t=!0,r=!0){let o=this.core.rowModel.getNodeById(e);o&&this.setNodeSelected(o,t,r)}ji(e,t){let r=t==="single";this.R([{node:e,selected:r?!0:!e.selected,clearOthers:r}]),this.I=e.id}Yi(e,t,r){return!r||!t.ctrlKey&&!t.metaKey?!1:(this.R([{node:e,selected:!e.selected}]),this.I=e.id,!0)}Xi(e,t,r){if(!r||!t.shiftKey||this.I==null)return!1;let o=this.core.rowModel.getNodeById(this.I);if(!o||o.rowIndex<0||e.rowIndex<0)return!1;let n=Math.min(o.rowIndex,e.rowIndex),s=Math.max(o.rowIndex,e.rowIndex),a=[];for(let l=n;l<=s;l++){let d=this.core.rowModel.getDisplayedRow(l);d&&!d.isDetail&&!d.isGroup&&this.isSelectable(d)&&a.push({node:d,selected:!0})}return this.R(a),!0}onRowClick(e,t,r){let o=this.core.options.rowSelection;if(o==="none"||!this.isSelectable(e))return;if(r){this.ji(e,o);return}let n=o==="multiple";this.Yi(e,t,n)||this.Xi(e,t,n)||(this.R([{node:e,selected:!0,clearOthers:!0}]),this.I=e.id)}selectAll(e=!0){let t=this.core.options.rowSelection;if(t==="none")return;let o=(e?this.core.rowModel.getDisplayedRows():this.core.rowModel.getAllNodes()).filter(n=>!n.isDetail&&!n.isGroup&&this.isSelectable(n));if(o.length!==0){if(t==="single"){this.R([{node:o[0],selected:!0,clearOthers:!0}]);return}this.R(o.map(n=>({node:n,selected:!0})))}}deselectAll(){this.R([],!0)}isSelectAllActive(){let t=this.core.rowModel.getDisplayedRows().filter(r=>!r.isDetail&&!r.isGroup).filter(r=>this.isSelectable(r));if(t.length===0)return!1;if(this.core.rowModel.isInfinite){let r=this.core.rowModel.getDisplayTotalCount();if(t.length<r)return!1}return t.every(r=>this.n.has(r.id))}isSelectAllIndeterminate(){let t=this.core.rowModel.getDisplayedRows().filter(o=>!o.isDetail&&!o.isGroup).filter(o=>this.isSelectable(o)),r=t.reduce((o,n)=>o+(this.n.has(n.id)?1:0),0);if(r===0)return!1;if(this.core.rowModel.isInfinite){let o=this.core.rowModel.getDisplayTotalCount();if(t.length<o)return!0}return r>0&&r<t.length}applySelectionPublic(e,t=!1){this.R(e,t)}Ji(e,t,r){!t&&!e.some(o=>o.clearOthers)||(this.n=t?new Set:new Set(e.filter(o=>o.selected).flatMap(o=>r?this.ro(o.node):[o.node.id])))}Qi(e,t){for(let r of e){if(!this.isSelectable(r.node))continue;let o=t?this.ro(r.node):[r.node.id];for(let n of o)r.selected?this.n.add(n):this.n.delete(n)}}Zi(e){let t=new Set;for(let r of new Set([...e,...this.n]))e.has(r)!==this.n.has(r)&&t.add(r);return t}en(e,t,r){let o=[],n=new Set([...e,...r,...this.Pe]);for(let s of this.core.rowModel.getAllNodes()){let a=this.n.has(s.id);s.selected=a,(n.has(s.id)||t.get(s.id)!==a)&&s.rowIndex>=0&&o.push(s.rowIndex)}return o}R(e,t=!1){let r=new Set(this.n),o=this.core.rowModel.isTree&&this.core.options.autoCheckedChildren;this.Ji(e,t,o),this.Qi(e,o);let n=this.Zi(r),s=new Map;for(let d of this.core.rowModel.getAllNodes())s.set(d.id,d.selected);let a=new Set(this.Pe);this.to();let l=this.en(n,s,a);n.size>0&&(this.core.bodyRenderer.refreshRows(l),this.core.headerRenderer.refreshSelectAllCheckbox(),this.core.emit("selectionChanged",{selectedNodes:this.getSelectedNodes(),selectedRows:this.getSelectedRows()}))}ro(e){let t=[e.id],r=o=>{for(let n of this.core.rowModel.getChildrenIds(o))t.push(n),r(n)};return r(e.id),t}to(){if(this.Pe.clear(),!this.core.rowModel.isTree)return;let e=t=>{let r=this.core.rowModel.getChildrenIds(t);if(r.length===0)return{all:this.n.has(t),some:this.n.has(t)};let o=!0,n=!1;for(let s of r){let a=e(s);a.all?n=!0:(a.some&&(n=!0),o=!1)}return n&&!o&&this.Pe.add(t),o?this.n.add(t):this.n.delete(t),{all:o,some:n}};for(let t of this.core.rowModel.getRootNodes())e(t.id);for(let t of this.core.rowModel.getAllNodes())t.selected=this.n.has(t.id)}};var We=class{constructor(e){this.core=e;this.active=null;this.D=0;this.O=0;this.S=null;this.Y=null;this.H=e=>{let t=this.jt(e);t&&(this.O=this.ao(t,e.clientX),t.didResize||(t.didResize=Math.abs(this.O-t.startWidth)>=.5),!this.D&&(this.D=requestAnimationFrame(()=>{this.D=0,this.rn()})))};this.x=e=>{let t=this.jt(e);t&&(this.O=this.ao(t,e.clientX),t.didResize||(t.didResize=Math.abs(this.O-t.startWidth)>=.5),this.nn(t))};this.X=e=>{this.jt(e)&&this.cancelResize()};this.oo=()=>{this.cancelResize()}}startResize(e,t){if(!this.core.options.enableColumnResize||!t.resizable||e.isPrimary===!1)return;this.cancelResize();let r=e.currentTarget,o=t.currentWidth;this.O=o,this.active={column:t,didResize:!1,handle:r,pointerId:e.pointerId,startFlex:t.flex,startManualWidth:t.manualWidth,startWidth:o,startX:e.clientX},window.addEventListener("pointermove",this.H),window.addEventListener("pointerup",this.x,!0),window.addEventListener("pointercancel",this.X,!0),r.addEventListener("lostpointercapture",this.oo);try{r.setPointerCapture?.(e.pointerId)}catch{}this.core.skeleton.root.classList.add("mach-root--resizing"),r.classList.add("mach-header-resize--active"),this.tn(this.active)}cancelResize(e=!0){let t=this.active;t&&(this.active=null,this.Ut(),this.no(t),e&&(t.column.manualWidth=t.startManualWidth,t.column.flex=t.startFlex,this.core.relayoutColumns()),this.core.skeleton.root.classList.remove("mach-root--resizing"),this.so(t))}nn(e){this.active=null,this.Ut(),e.didResize&&(Math.abs(this.O-e.startWidth)<.5?(e.column.manualWidth=e.startManualWidth,e.column.flex=e.startFlex):this.core.columnModel.setColumnWidth(e.column,this.O),this.core.relayoutColumns()),this.no(e);try{e.handle.releasePointerCapture?.(e.pointerId)}catch{}this.core.skeleton.root.classList.remove("mach-root--resizing"),this.so(e),e.didResize&&this.core.commitColumnWidths([e.column])}rn(){let e=this.active;!e||!this.core.columnModel.setColumnWidth(e.column,this.O)||(this.core.relayoutColumns(),this.Ge(e),this.core.emitColumnResize(e.column,!1))}tn(e){this.S=document.createElement("div"),this.S.className="mach-column-resize-guide",this.S.setAttribute("aria-hidden","true"),this.Y=document.createElement("span"),this.Y.className="mach-column-resize-label",this.S.appendChild(this.Y),this.core.skeleton.root.appendChild(this.S),this.Ge(e)}Ge(e){if(!this.S||!this.Y)return;let t=this.core.skeleton.root,r=t.getBoundingClientRect(),o=e.handle.parentElement.getBoundingClientRect(),n=Math.max(0,Math.min(t.clientWidth,o.right-r.left-t.clientLeft)),s=Math.max(32,Math.min(t.clientWidth-32,n));this.S.style.left=`${n}px`,this.S.style.top=`${Math.max(0,o.top-r.top-t.clientTop)}px`,this.Y.style.left=`${s-n}px`,this.Y.textContent=`${Math.round(e.column.currentWidth)} px`}so(e){e.handle.classList.remove("mach-header-resize--active"),this.S?.remove(),this.S=null,this.Y=null}ao(e,t){let r=Number.isFinite(t)?t:e.startX;return e.startWidth+r-e.startX}jt(e){let t=this.active;return t&&e.pointerId===t.pointerId?t:null}Ut(){this.D&&cancelAnimationFrame(this.D),this.D=0}no(e){window.removeEventListener("pointermove",this.H),window.removeEventListener("pointerup",this.x,!0),window.removeEventListener("pointercancel",this.X,!0),e.handle.removeEventListener("lostpointercapture",this.oo)}destroy(){this.cancelResize(!1),this.Ut(),this.core.skeleton.root?.classList.remove("mach-root--resizing")}};function f(i,e,t){let r=document.createElement(i);if(e&&(r.className=e),t)for(let o of Object.keys(t))r.setAttribute(o,t[o]);return r}var hn=["--mach-font-family","--mach-font-size","--mach-font-size-sm","--mach-header-font-weight","--mach-cell-padding","--mach-header-h","--mach-primary","--mach-primary-weak","--mach-success","--mach-warning","--mach-danger","--mach-info","--mach-border-color","--mach-border-width","--mach-header-bg","--mach-header-fg","--mach-body-bg","--mach-body-fg","--mach-row-hover-bg","--mach-radius-sm","--mach-radius","--mach-radius-lg","--mach-shadow-sm","--mach-shadow","--mach-transition","--mach-z-popup","--mach-z-menu"];function L(i,e){if(i.classList.add("mach-portal"),!e)return;let t=window.getComputedStyle(e);for(let r of hn){let o=t.getPropertyValue(r).trim();o&&i.style.setProperty(r,o)}i.style.colorScheme=t.colorScheme}function E(i,e,t){return i<e?e:i>t?t:i}var zr=0;function _r(i="rg"){return zr++,`${i}-${zr}`}var Wr='<svg viewBox="0 0 16 16" width="12" height="12" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3.5h12L9.5 8v4.5L6.5 14V8L2 3.5z"/></svg>',$r='<svg viewBox="0 0 16 16" width="10" height="10" fill="currentColor"><path d="M8 3l4 5H4l4-5z"/></svg>',Kr='<svg viewBox="0 0 16 16" width="10" height="10" fill="currentColor"><path d="M8 13l4-5H4l4 5z"/></svg>',qr='<svg viewBox="0 0 16 16" width="12" height="12" fill="none" stroke="currentColor" stroke-width="1.35" stroke-linecap="round"><path d="M2 4h3m3 0h6M2 8h7m3 0h2M2 12h1m3 0h8"/><circle cx="6.5" cy="4" r="1.35"/><circle cx="10.5" cy="8" r="1.35"/><circle cx="4.5" cy="12" r="1.35"/></svg>';var Ur=6,$e=class{constructor(e){this.core=e;this.pending=null;this.fe=null;this.Yt=!1;this.y=0;this.st=null;this.H=e=>{if(this.fe){this.sn(e);return}let t=this.pending;t&&(Math.abs(e.clientX-t.startX)<Ur&&Math.abs(e.clientY-t.startY)<Ur||this.an(e))};this.x=e=>{this.pending=null,e.type!=="pointercancel"&&this.fe&&this.Jt(e.clientX,e.clientY),this.Xt();let t=this.lo();t&&e.type!=="pointercancel"&&t.targetIndex>=0&&this.core.moveColumn(t.column.id,t.targetIndex)}}onPointerDown(e,t){e.button===0&&t.movable&&(this.pending={column:t,startX:e.clientX,startY:e.clientY},window.addEventListener("pointermove",this.H),window.addEventListener("pointerup",this.x),window.addEventListener("pointercancel",this.x))}didDrag(){let e=this.Yt;return this.Yt=!1,e}an(e){let t=this.pending;if(!t)return;let r=this.ln(t.column);if(!r||!r.parentElement){this.Xt();return}this.Yt=!0;let o=f("div","mach-drop-indicator"),n=f("div","mach-column-drag-ghost");n.textContent=t.column.colDef.headerName??t.column.colDef.field??t.column.id,n.ariaHidden="true",L(n,this.core.skeleton.root),document.body.appendChild(n),r.parentElement.appendChild(o),r.classList.add("mach-header-cell--dragging"),this.core.skeleton.root.classList.add("mach-root--dragging");let s=this.core.bodyRenderer.paneForColumn(t.column),a=this.core.skeleton.headerRowContainers[s],l=this.core.columnModel.getPaneColumns(s),d=new Float64Array(l.length+1),c=new Float64Array(l.length);for(let h=0;h<l.length;h++){let p=l[h].currentWidth;c[h]=d[h]+p/2,d[h+1]=d[h]+p}let u=n.getBoundingClientRect();this.fe={column:t.column,cellEl:r,ghost:n,indicator:o,targetIndex:-1,pane:s,containerLeft:a.getBoundingClientRect().left,startScrollLeft:this.core.skeleton.bodyViewports.center.scrollLeft,fromIndex:l.indexOf(t.column),midpoints:c,offsets:d,ghostWidth:u.width,ghostHeight:u.height},this.Jt(e.clientX,e.clientY)}ln(e){let t=this.core.bodyRenderer.paneForColumn(e);return this.core.skeleton.headerRowContainers[t].querySelector(`.mach-header-cell[data-col-id="${pn(e.id)}"]`)}sn(e){this.st={clientX:e.clientX,clientY:e.clientY},!this.y&&(this.y=requestAnimationFrame(()=>{this.y=0;let t=this.st;this.st=null,t&&this.Jt(t.clientX,t.clientY)}))}Jt(e,t){let r=this.fe;if(!r)return;let o=E(e+12,8,window.innerWidth-r.ghostWidth-8),n=E(t+12,8,window.innerHeight-r.ghostHeight-8);r.ghost.style.transform=`translate3d(${o}px, ${n}px, 0)`;let s=r.pane==="center"?this.core.skeleton.bodyViewports.center.scrollLeft-r.startScrollLeft:0,a=e-(r.containerLeft-s),l=r.midpoints.length;for(let d=0;d<r.midpoints.length;d++)if(a<r.midpoints[d]){l=d;break}r.targetIndex=l>r.fromIndex?l-1:l,r.indicator.style.transform=`translate3d(${r.offsets[l]}px, 0, 0)`}lo(){let e=this.fe;return e?(this.fe=null,e.cellEl.classList.remove("mach-header-cell--dragging"),e.ghost.remove(),e.indicator.remove(),this.core.skeleton.root.classList.remove("mach-root--dragging"),e):null}Xt(){window.removeEventListener("pointermove",this.H),window.removeEventListener("pointerup",this.x),window.removeEventListener("pointercancel",this.x),this.y&&cancelAnimationFrame(this.y),this.y=0,this.st=null}destroy(){this.Xt(),this.lo(),this.pending=null}};function pn(i){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(i):i.replace(/[^a-zA-Z0-9_-]/g,"\\$&")}function jr(i,e){let t=i==null?"":String(i);return t.includes(e)||t.includes('"')||t.includes(`
|
|
2
|
-
`)||t.includes("\r")?'"'+t.replace(/"/g,'""')+'"':t}function
|
|
3
|
-
`);return e.prependBOM?"\uFEFF"+s:s}function
|
|
4
|
-
`)}function Ke(
|
|
5
|
-
`||a==="\r"){r.push(o),t.push(r),r=[],o="",a==="\r"&&
|
|
6
|
-
`?s+=2:s++;continue}o+=a,s++}return(o!==""||r.length>0)&&(r.push(o),t.push(r)),t}function mn(i){let e=null;try{return e=document.createElement("textarea"),e.value=i,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.focus(),e.select(),document.execCommand("copy")}catch{return!1}finally{e?.remove()}}async function be(i){try{if(typeof navigator<"u"&&navigator.clipboard?.writeText)return await navigator.clipboard.writeText(i),!0}catch{}return mn(i)}var gn=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Enter","F2","Home","End","PageUp","PageDown","Tab"," ","Escape","Delete","Backspace"]),yn=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"]),je=class{constructor(e){this.core=e;this.co=e=>{if(this.core.options.suppressClipboard||this.core.editingService.isEditing())return;let t=this.core.bodyRenderer.getNormalizedRangeOrFocus();if(!t)return;let r=this.core.buildRangeTsv(t),o=e.clipboardData;o&&typeof o.setData=="function"?o.setData("text/plain",r):be(r),e.preventDefault()};this.uo=e=>{if(this.core.options.suppressClipboard||this.core.editingService.isEditing())return;let t=this.core.bodyRenderer.getNormalizedRangeOrFocus();if(!t)return;let r=this.core.buildRangeTsv(t),o=e.clipboardData;o&&typeof o.setData=="function"?o.setData("text/plain",r):be(r),this.core.clearRangeValues(t),e.preventDefault()};this.ho=e=>{if(this.core.options.suppressClipboard||this.core.editingService.isEditing())return;let t=this.core.bodyRenderer.getPasteStart();if(!t)return;let r=e.clipboardData,o=r&&typeof r.getData=="function"?r.getData("text/plain"):null;typeof o!="string"||o===""||(e.preventDefault(),this.core.pasteText(o,t.row,t.colIdx))};this.Ne=e=>{this.core.isDestroyed()||this.core.editingService.isEditing()||this.dn(e)||this.cn(e)||gn.has(e.key)&&(this.un(e)||this.hn(e)||this.pn(e))}}init(){this.core.skeleton.root.addEventListener("keydown",this.Ne),this.core.skeleton.root.addEventListener("copy",this.co),this.core.skeleton.root.addEventListener("cut",this.uo),this.core.skeleton.root.addEventListener("paste",this.ho)}destroy(){this.core.skeleton.root.removeEventListener("keydown",this.Ne),this.core.skeleton.root.removeEventListener("copy",this.co),this.core.skeleton.root.removeEventListener("cut",this.uo),this.core.skeleton.root.removeEventListener("paste",this.ho)}nextEditable(e,t,r){let o=this.core.columnModel.getOrderedVisible(),n=o.findIndex(d=>d.id===t);if(n<0)return null;let s=this.core.rowModel.getDisplayedRowCount(),a=n,l=e;for(let d=0;d<(o.length+1)*(s+1);d++){if(a+=r,a>=o.length){if(l>=s-1)return null;a=0,l=this.J(l+1,1)}else if(a<0){if(l<=0)return null;a=o.length-1,l=this.J(l-1,-1)}if(l<0||l>=s)return null;let c=this.core.rowModel.getDisplayedRow(l);if(c&&!c.isDetail&&this.core.editingService.isEditable(c,o[a]))return{rowIndex:l,column:o[a]}}return null}J(e,t){let r=this.core.rowModel.getDisplayedRowCount(),o=0;for(;e>=0&&e<r;){let n=this.core.rowModel.getDisplayedRow(e);if(!n||!n.isDetail)return e;if(e+=t,o++,o>r+2)break}return-1}dn(e){return!(e.ctrlKey||e.metaKey)||e.key.toLowerCase()!=="a"?!1:(this.core.options.rowSelection==="multiple"&&(e.preventDefault(),this.core.selectionService.selectAll(!0)),!0)}cn(e){if(!e.ctrlKey&&!e.metaKey||e.altKey)return!1;let t=e.key.toLowerCase();return t==="z"?(e.preventDefault(),e.shiftKey?this.core.undoService.redo():this.core.undoService.undo(),!0):t!=="y"?!1:(e.preventDefault(),this.core.undoService.redo(),!0)}un(e){let t=this.core.bodyRenderer;if(e.key==="Escape")return this.core.options.enableRangeSelection&&t.normalizedRange()&&(e.preventDefault(),t.clearRangeSelection()),!0;if(e.key!=="Delete"&&e.key!=="Backspace")return!1;if(!this.core.options.enableRangeSelection)return!0;let r=t.normalizedRange();return r&&!(r.r1===r.r2&&r.c1===r.c2)&&(e.preventDefault(),this.core.clearRangeValues(r)),!0}hn(e){if(this.core.bodyRenderer.focusedCell)return!1;let t=this.core.columnModel.getOrderedVisible();return this.core.rowModel.getDisplayedRowCount()>0&&t.length>0&&(e.preventDefault(),this.core.bodyRenderer.setFocusedCell(0,t[0].id)),!0}pn(e){let t=this.core.bodyRenderer,r=t.focusedCell;if(!r)return;let o=this.core.columnModel.getOrderedVisible(),n=o.findIndex(c=>c.id===r.colId),s=this.core.rowModel.getDisplayedRowCount();if(n<0||s===0)return;let a={row:r.rowIndex,colIdx:n},l=this.fn(e,a,o,s);if(!l)return;e.preventDefault();let d=l.row!==a.row||l.colIdx!==a.colIdx;if(e.shiftKey&&this.core.options.enableRangeSelection&&d){t.moveRangeEnd(l.row,l.colIdx);return}d&&t.setFocusedCell(l.row,o[l.colIdx].id)}fn(e,t,r,o){return yn.has(e.key)?this.mn(e,t,r.length,o):e.key==="Enter"||e.key==="F2"?this.gn(e,t,r,o):e.key===" "?(this.yn(t.row),t):e.key==="Tab"?this.vn(e,t,r):null}mn(e,t,r,o){let{row:n,colIdx:s}=t;switch(e.key){case"ArrowUp":n=this.at(n,this.J(n-1,-1),o);break;case"ArrowDown":n=this.at(n,this.J(n+1,1),o);break;case"ArrowLeft":s=Math.max(0,s-1);break;case"ArrowRight":s=Math.min(r-1,s+1);break;case"Home":s=0,e.ctrlKey&&(n=0);break;case"End":s=r-1,e.ctrlKey&&(n=Math.max(0,this.J(o-1,-1)));break;case"PageUp":case"PageDown":n=this.wn(e.key,n,o);break}return{row:n,colIdx:s}}at(e,t,r){return t>=0&&t<r?t:e}wn(e,t,r){let o=this.core.skeleton.bodyViewports.center,n=Math.max(1,Math.floor(o.clientHeight/this.core.options.rowHeight)),s=e==="PageUp"?-1:1,a=Math.max(0,Math.min(r-1,t+n*s));return this.at(t,this.J(a,s),r)}gn(e,t,r,o){let n=this.core.rowModel.getDisplayedRow(t.row),s=r[t.colIdx];if(n&&!n.isDetail&&s&&this.core.editingService.isEditable(n,s))return this.core.editingService.start(t.row,s,e.key==="F2"?e.key:null),t;let a=this.J(t.row+1,1);return{...t,row:this.at(t.row,a,o)}}yn(e){let t=this.core.rowModel.getDisplayedRow(e);if(!(!t||t.isDetail)){if(t.isGroup){this.core.rowModel.toggleGroup(t.id);return}this.core.options.rowSelection!=="none"&&this.core.selectionService.setNodeSelected(t,!t.selected,this.core.options.rowSelection==="single")}}vn(e,t,r){let o=this.nextEditable(t.row,r[t.colIdx].id,e.shiftKey?-1:1);return o?(this.core.bodyRenderer.setFocusedCell(o.rowIndex,o.column.id),this.core.editingService.start(o.rowIndex,o.column),t):null}};var H=null;function Xr(i){let e=i.target;H?.contains(e)||H?.close()}function Je(){H?.reposition()}function Jr(i){i.key!=="Escape"||!H||(i.preventDefault(),i.stopImmediatePropagation(),H.close(!0))}function vn(i){H?.close!==i.close&&H?.close(),!H&&(H=i,document.addEventListener("mousedown",Xr,!0),document.addEventListener("keydown",Jr,!0),window.addEventListener("resize",Je),window.addEventListener("scroll",Je,!0))}function wn(i){H?.close===i&&(H=null,document.removeEventListener("mousedown",Xr,!0),document.removeEventListener("keydown",Jr,!0),window.removeEventListener("resize",Je),window.removeEventListener("scroll",Je,!0))}function te(i,e){return e?`${i} ${e}`:i}function Xe(i){let e=[];return i.forEach((t,r)=>{t.disabled||e.push(r)}),e}function Yr(i,e,t){let r=Xe(i);if(r.length===0)return-1;let o=r.indexOf(e);return o<0?t>0?r[0]:r[r.length-1]:r[Math.max(0,Math.min(r.length-1,o+t))]}function Ye(i,e){return i.findIndex(t=>t.value===e&&!t.disabled)}function U(i){let e=f("div",te("mach-select-control",i.classNames?.root)),t=f("select",te("mach-select-native",i.classNames?.native));t.hidden=!0,t.tabIndex=-1,t.setAttribute("aria-hidden","true");let r=f("button",te("mach-select-trigger",i.classNames?.trigger));r.type="button",r.setAttribute("role","combobox"),r.setAttribute("aria-haspopup","listbox"),r.setAttribute("aria-expanded","false"),r.setAttribute("aria-label",i.ariaLabel);let o=f("span",te("mach-select-value",i.classNames?.value)),n=f("span",te("mach-select-caret",i.classNames?.caret));n.setAttribute("aria-hidden","true"),r.append(o,n);let s=f("div",te("mach-select-listbox",i.classNames?.listbox));s.id=_r("mach-select-listbox"),s.setAttribute("role","listbox"),s.setAttribute("aria-hidden","true"),r.setAttribute("aria-controls",s.id),e.append(t,r);let a=[...i.options],l=[],d=-1,c=!1,u=()=>i.themeSource??e.closest(".mach-root")??e,h=()=>{let w=a.find(C=>C.value===t.value);o.textContent=w?.label??t.value,l.forEach((C,k)=>{let M=a[k]?.value===t.value;C.setAttribute("aria-selected",M?"true":"false"),C.classList.toggle("mach-select-option--selected",M),C.classList.toggle("mach-select-option--active",k===d)}),r.setAttribute("aria-activedescendant",d>=0?l[d]?.id??"":"")},p=()=>{let w=r.getBoundingClientRect(),C=s.getBoundingClientRect(),k=Math.max(w.width,C.width),M=E(w.left,8,Math.max(8,window.innerWidth-k-8)),B=window.innerHeight-w.bottom-8,Q=B<Math.min(C.height,240)&&w.top>B,G=Q?Math.max(8,w.top-C.height-5):Math.min(window.innerHeight-C.height-8,w.bottom+5);s.style.minWidth=`${w.width}px`,s.style.left=`${M}px`,s.style.top=`${Math.max(8,G)}px`,s.classList.toggle("mach-select-listbox--above",Q)},m=(w=!1)=>s.classList.contains("mach-select-listbox--open")?(s.classList.remove("mach-select-listbox--open","mach-select-listbox--above"),s.setAttribute("aria-hidden","true"),r.setAttribute("aria-expanded","false"),r.removeAttribute("aria-activedescendant"),s.remove(),wn(m),w&&!c&&r.focus({preventScroll:!0}),!0):!1,v=(w,C=!0)=>{!a[w]||a[w].disabled||(d=w,h(),C&&l[w]?.scrollIntoView?.({block:"nearest"}))},g=()=>{c||r.disabled||s.classList.contains("mach-select-listbox--open")||(vn({close:m,contains:w=>e.contains(w)||s.contains(w),reposition:p}),d=Ye(a,t.value),d<0&&(d=Xe(a)[0]??-1),L(s,u()),document.body.appendChild(s),s.classList.add("mach-select-listbox--open"),s.setAttribute("aria-hidden","false"),r.setAttribute("aria-expanded","true"),p(),h(),l[d]?.scrollIntoView?.({block:"nearest"}))},y=w=>{let C=a[w];!C||C.disabled||(t.value=C.value,d=w,h(),m(!0),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0})))},b=(w,C)=>{a=[...w],t.replaceChildren(),s.replaceChildren(),l=a.map((M,B)=>{let Q=document.createElement("option");Q.value=M.value,Q.textContent=M.label,Q.disabled=M.disabled===!0,t.appendChild(Q);let G=f("button",te("mach-select-option",i.classNames?.option));return G.id=`${s.id}-option-${B}`,G.type="button",G.tabIndex=-1,G.dataset.value=M.value,G.disabled=M.disabled===!0,G.setAttribute("role","option"),G.textContent=M.label,G.addEventListener("mousedown",gi=>gi.preventDefault()),G.addEventListener("click",()=>y(B)),s.appendChild(G),G});let k=a.find(M=>!M.disabled)?.value??"";t.value=C!=null&&a.some(M=>M.value===C)?C:k,d=Ye(a,t.value),h()},T=w=>{if(w.key==="Tab"){m();return}if(w.key==="Escape"){if(!m(!0))return;w.preventDefault(),w.stopPropagation();return}if(w.key==="Enter"||w.key===" "){w.preventDefault(),w.stopPropagation(),s.classList.contains("mach-select-listbox--open")?y(d):g();return}let C=d;if(w.key==="ArrowDown")C=Yr(a,d,1);else if(w.key==="ArrowUp")C=Yr(a,d,-1);else if(w.key==="Home")C=Xe(a)[0]??-1;else if(w.key==="End"){let k=Xe(a);C=k[k.length-1]??-1}else return;w.preventDefault(),w.stopPropagation(),s.classList.contains("mach-select-listbox--open")||g(),v(C)},x=()=>{d=Ye(a,t.value),h(),i.onChange?.(t.value)};return r.addEventListener("click",()=>{m()||g()}),r.addEventListener("keydown",T),t.addEventListener("change",x),b(a,i.value),{el:e,native:t,trigger:r,listbox:s,contains:w=>e.contains(w)||s.contains(w),isOpen:()=>s.classList.contains("mach-select-listbox--open"),open:g,close:m,focus:()=>r.focus({preventScroll:!0}),getValue:()=>t.value,setValue:w=>{t.value=w,d=Ye(a,w),h()},setOptions:b,destroy:()=>{c||(c=!0,m(),r.removeEventListener("keydown",T),t.removeEventListener("change",x),e.remove())}}}function Xt(i,e){let t=document.createElement("input");return t.type=i,t.className="mach-editor-input",e!=null&&e!==""&&(t.value=i==="date"?String(e).slice(0,10):String(e)),t}function bn(i){return i?.options?.length?i.options:(i?.values??[]).map(e=>({label:String(e),value:e}))}function Cn(i,e){return e?.options?.length||e?.values?.length?"select":typeof i=="number"?"number":i instanceof Date||typeof i=="string"&&/^\d{4}-\d{2}-\d{2}/.test(i)?"date":"text"}function Jt(i,e,t){let r=i.colDef,o=typeof r.cellEditor=="string"?r.cellEditor:Cn(e,r.cellEditorParams);if(o==="number"){let s=Xt("number",e);return{el:s,getValue:()=>s.value===""?null:Number(s.value),focus:()=>{s.focus({preventScroll:!0}),s.select()}}}if(o==="date"){let s=Xt("date",e),l=(e==null?"":String(e)).match(/T(\d{2}:\d{2})/);return{el:s,getValue:()=>s.value===""?null:l?`${s.value}T${l[1]}`:s.value,focus:()=>s.focus({preventScroll:!0})}}if(o==="select"){let s=bn(r.cellEditorParams),a=U({ariaLabel:r.headerName??r.field??i.id,options:s.map(l=>({value:String(l.value),label:l.label,disabled:l.disabled})),value:String(e??""),classNames:{root:"mach-editor-select-control",native:"mach-editor-select"}});return{el:a.el,getValue:()=>{let l=a.getValue();return s.find(c=>String(c.value)===l)?.value??l},focus:()=>a.focus(),destroy:()=>a.destroy()}}let n=Xt("text",e);return t&&t.length===1&&(n.value=t),{el:n,getValue:()=>n.value,focus:()=>{n.focus({preventScroll:!0}),n.select()}}}var Qt=new WeakMap,Qe=new WeakMap,Ze=new WeakMap;function Ce(i){let e=Qt.get(i);return e||(e={},Qt.set(i,e)),e}function Zt(i){return Qt.get(i)}function Qr(i,e){e?Qe.set(i,e):Qe.delete(i)}function Zr(i){let e=Qe.get(i);return Qe.delete(i),e}function eo(i,e){e?Ze.set(i,e):Ze.delete(i)}function er(i){let e=Ze.get(i);return Ze.delete(i),e}function et(i){if(i==null)return"";if(i instanceof Date)return i.toLocaleDateString();if(typeof i=="object")try{return JSON.stringify(i)}catch{return String(i)}return String(i)}function A(i,e){let t=Zt(e);if(!t)return;t.flashTimer&&clearTimeout(t.flashTimer),t.flashTimer=void 0;let r=t.destroy;if(t.destroy=void 0,t.refresh=void 0,t.rendererDefinition=void 0,t.rendererRowId=void 0,t.rendererColumnId=void 0,!!r)try{r()}catch(o){i.reportError(o,"cellRenderer.destroy",{colId:e.dataset.colId})}}function to(i,e,t,r,o,n){let s=i.options.tooltipComponent?"":n,a=r.colDef.tooltipValueGetter;if(a)try{s=a({api:i.getApi(),colDef:r.colDef,column:r,node:t,data:t.data,value:o})??n}catch(l){i.reportError(l,"tooltipValueGetter",{colId:r.id,rowId:t.id})}s?e.setAttribute("title",s):e.removeAttribute("title")}function Tn(i,e,t,r,o,n){let s=Zt(e);if(!s?.refresh||s.rendererDefinition!==o||s.rendererRowId!==t.id||s.rendererColumnId!==r.id)return!1;try{return e.querySelector(":scope > .mach-cell-edit-trigger")?.remove(),s.refresh(n)!==!1}catch(a){return i.reportError(a,"cellRenderer.refresh",{colId:r.id,rowId:t.id}),!1}}function $(i,e,t){let r=i.getCellValue(e,t),o=t.colDef.valueFormatter;if(o)try{let n=o({api:i.getApi(),colDef:t.colDef,column:t,node:e,data:e.data,value:r});return n==null?"":String(n)}catch(n){i.reportError(n,"valueFormatter",{colId:t.id,rowId:e.id})}return et(r)}function Te(i,e,t,r){let o=t.colDef.valueFormatter;if(o)try{let n=o({api:i.getApi(),colDef:t.colDef,column:t,node:e,data:e.data,value:r});return n==null?"":String(n)}catch(n){i.reportError(n,"valueFormatter",{colId:t.id,rowId:e.id})}return et(r)}function tt(i,e,t,r){let o=r.colDef.cellStyle,n=Ce(e),s=n.styleKeys;if(s)for(let d of s)Reflect.set(e.style,d,"");if(!o){n.styleKeys=void 0;return}let a;if(typeof o=="function"){let d=i.getCellValue(t,r);try{a=o({api:i.getApi(),colDef:r.colDef,column:r,node:t,data:t.data,value:d,rowIndex:t.rowIndex})}catch(c){i.reportError(c,"cellStyle",{colId:r.id,rowId:t.id}),a=null}}else a=o;if(!a){n.styleKeys=void 0;return}let l=Object.keys(a);for(let d of l)Reflect.set(e.style,d,Reflect.get(a,d));n.styleKeys=l}function rt(i,e,t,r){let o=i.getCellValue(t,r),n=$(i,t,r),s=r.colDef.cellRenderer,a=typeof s=="string"?i.resolveCellRenderer(s):s;if(a){let l={api:i.getApi(),colDef:r.colDef,column:r,node:t,data:t.data,value:o,formatted:n,rowIndex:t.rowIndex,rendererParams:r.colDef.cellRendererParams};if(Tn(i,e,t,r,a,l)){to(i,e,t,r,o,n);return}A(i,e);let d;try{d=a(l)}catch(c){i.reportError(c,"cellRenderer",{colId:r.id,rowId:t.id}),e.textContent=n;return}if(typeof d=="string")e.textContent=d;else if(d instanceof HTMLElement)e.replaceChildren(d);else if(d&&typeof d=="object"&&d.el instanceof HTMLElement){let c=d;e.replaceChildren(c.el);let u=Ce(e);u.destroy=c.destroy,c.refresh&&(u.refresh=h=>c.refresh(h),u.rendererDefinition=a,u.rendererRowId=t.id,u.rendererColumnId=r.id)}else e.textContent=""}else A(i,e),e.textContent=n;to(i,e,t,r,o,n)}function Rn(i,e,t){let r=e.colDef.align;if(r==="center"){i.push("mach-cell--center");return}if(r==="right"){i.push("mach-cell--right");return}(ne(e.colDef,"rightAligned")||ne(e.colDef,"numericColumn")||typeof t=="number")&&i.push("mach-cell--num")}function Dn(i,e,t,r,o){let n=r.colDef.cellClass;if(!n)return;if(typeof n=="string"){e.push(n);return}if(Array.isArray(n)){e.push(...n);return}let s={api:i.getApi(),colDef:r.colDef,column:r,node:t,data:t.data,value:o,rowIndex:t.rowIndex};try{let a=n(s);typeof a=="string"?e.push(a):Array.isArray(a)&&e.push(...a)}catch(a){i.reportError(a,"cellClass",{colId:r.id,rowId:t.id})}}function En(i,e,t){e.classList.contains("mach-cell--focus")&&i.push("mach-cell--focus"),e.classList.contains("mach-cell--editing")&&i.push("mach-cell--editing"),t.colDef.wrapText&&i.push("mach-cell--wrap")}function Re(i,e,t,r){let o=i.getCellValue(t,r),n=["mach-cell"];Rn(n,r,o),Dn(i,n,t,r,o),En(n,e,r);let s=n.join(" ");e.className!==s&&(e.className=s)}var Sn='<path d="M3 8.5 6.4 12 13.5 4"/>',xn='<path d="m4 4 8 8m0-8-8 8"/>';function ro(i,e){let t=document.createElement("button");return t.type="button",t.className=`mach-edit-control mach-edit-control--${i}`,t.setAttribute("aria-label",e),t.title=e,t.innerHTML=`<svg viewBox="0 0 16 16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">${i==="confirm"?Sn:xn}</svg>`,t.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),t}var ot=class{constructor(e){this.core=e;this.o=null;this.s=null;this.v=null;this.V=0;this.bn=e=>{if(this.o&&!(e.isComposing||e.keyCode===229)){if(e.key==="Enter")e.preventDefault(),e.stopPropagation(),this.stopAsync(!1);else if(e.key==="Escape")e.preventDefault(),e.stopPropagation(),this.stopAsync(!0);else if(e.key==="Tab"){e.preventDefault(),e.stopPropagation();let t=this.o,r=this.core.keyboardService.nextEditable(t.rowIndex,t.column.id,e.shiftKey?-1:1);this.stopAsync(!1).then(o=>{o&&r&&(this.core.bodyRenderer.scrollToIndex(r.rowIndex,"nearest"),this.core.bodyRenderer.setFocusedCell(r.rowIndex,r.column.id),this.start(r.rowIndex,r.column))})}}}}isEditing(e,t){return this.o?e==null&&t==null?!0:this.o.rowIndex===e&&this.o.column.id===t:this.s?e==null&&t==null?!0:this.lt(this.s)!==e?!1:t==null||this.s.drafts.has(t):!1}isCellEditing(){return this.o!=null}isRowEditing(e){return this.s?e==null||this.lt(this.s)===e:!1}isEditable(e,t){if(e.isDetail||e.isGroup||e.data==null)return!1;let r=t.colDef.editable;if(!r)return!1;if(typeof r=="function")try{return r({api:this.core.getApi(),colDef:t.colDef,column:t,node:e,data:e.data,value:this.core.getCellValue(e,t),rowIndex:e.rowIndex})}catch(o){return this.core.reportError(o,"editable",{colId:t.id,rowId:e.id}),!1}return!0}start(e,t,r){if(this.core.options.editType==="fullRow")return this.startRow(e,t.id);if(this.s)return!1;if(this.o)return this.o.rowIndex===e&&this.o.column.id===t.id||this.stopAsync(!1).then(p=>{p&&!this.o&&!this.s&&this.start(e,t,r)}),!0;let o=this.core.rowModel.getDisplayedRow(e);if(!o||o.data==null||!this.isEditable(o,t))return!1;let n=this.core.bodyRenderer.getCellElement(e,t.id);if(!n)return!1;let s=this.core.getCellValue(o,t),a=this.po(o,t,e,s,r);if(!a)return!1;A(this.core,n);let l=document.createElement("div");l.className="mach-cell-editor-shell";let d=document.createElement("div");d.className="mach-cell-editor-controls";let c=ro("confirm","Confirm edit"),u=ro("cancel","Cancel edit");d.append(c,u),l.append(a.el,d),n.replaceChildren(l),n.classList.add("mach-cell--editing"),n.removeAttribute("title");let h=this.bn;return a.el.addEventListener("keydown",h),c.addEventListener("click",p=>{p.stopPropagation(),this.stopAsync(!1)}),u.addEventListener("click",p=>{p.stopPropagation(),this.stopAsync(!0)}),this.o={node:o,column:t,editor:a,rowIndex:e,oldValue:s,cell:n,shell:l,keydown:h,confirmButton:c,cancelButton:u},this.Qt(a,t,o),this.core.emit("cellEditingStarted",{rowIndex:e,colId:t.id,rowNode:o}),!0}startRow(e,t){if(this.o||this.s)return!1;let r=this.core.rowModel.getDisplayedRow(e);if(!r||r.data==null||r.isDetail||r.isGroup)return!1;let o=new Map;for(let l of this.core.columnModel.getOrderedVisible()){if(!this.isEditable(r,l))continue;let d=this.core.getCellValue(r,l);o.set(l.id,{column:l,oldValue:d,value:d,mounted:null})}if(o.size===0)return!1;let n={node:r,rowIndex:e,drafts:o,validating:!1};if(this.s=n,this.core.bodyRenderer.refreshRows([e]),o.size===0)return this.s=null,this.core.bodyRenderer.refreshRows([e]),!1;let s=o.values().next().value,a=(t?o.get(t):void 0)??s;return a?.mounted&&this.Qt(a.mounted.editor,a.column,r),this.core.emit("rowEditingStarted",{rowIndex:e,rowNode:r,data:r.data}),!0}renderEditor(e,t,r,o){if(this.o)return this.o.node===t&&this.o.column.id===r.id;let n=this.s;if(!n||n.node!==t)return!1;let s=n.drafts.get(r.id);return s?s.mounted?.cell!==o&&(s.mounted&&this.fo(s),!this.Cn(e,n,s,o))?(n.drafts.delete(r.id),!1):!0:!1}releaseCell(e,t,r){let o=this.s;if(o&&this.lt(o)===e){let n=o.drafts.get(t);n?.mounted?.cell===r&&this.fo(n);return}if(this.o?.cell===r){let n=this.o;this.stopAsync(!1),this.o===n&&this.stopAsync(!0)}}stop(e=!1){this.stopAsync(e)}stopAsync(e=!1){if(this.s)return this.stopRowAsync(e);let t=this.o;if(!t)return Promise.resolve(!1);if(e)return this.V++,this.v=null,Promise.resolve(this.me(t,!0,t.oldValue));if(this.v)return this.v;let r;try{r=t.editor.getValue()}catch(n){return this.core.reportError(n,"cellEditor.getValue",{colId:t.column.id,rowId:t.node.id}),Promise.resolve(this.me(t,!0,t.oldValue))}try{if(t.editor.isCancelAfterEnd?.(r))return Promise.resolve(this.me(t,!0,t.oldValue))}catch(n){return this.core.reportError(n,"cellEditor.isCancelAfterEnd",{colId:t.column.id,rowId:t.node.id}),Promise.resolve(this.me(t,!0,t.oldValue))}let o=this.mo(t.node,t.column,t.oldValue,r);if(o&&typeof o.then=="function"){let n=++this.V;this.Tn(t,!0);let s=Promise.resolve(o).then(a=>n!==this.V||this.o!==t?!1:typeof a=="string"?(this.Fe(t.editor,a),!1):this.me(t,!1,r)).catch(a=>(n!==this.V||this.o!==t||(this.core.reportError(a,"validate",{colId:t.column.id,rowId:t.node.id}),this.Fe(t.editor,"Validation failed")),!1)).finally(()=>{this.v===s&&(this.v=null)});return this.v=s,s}return typeof o=="string"?(this.Fe(t.editor,o),Promise.resolve(!1)):Promise.resolve(this.me(t,!1,r))}stopRowAsync(e=!1){let t=this.s;if(!t)return Promise.resolve(!1);if(e)return this.V++,this.v=null,Promise.resolve(this.Zt(t,!0));if(this.v)return this.v;for(let s of t.drafts.values())this.dt(s);let r=[...t.drafts.values()].filter(s=>!Object.is(s.oldValue,s.value));if(r.length===0)return Promise.resolve(this.Zt(t,!1));let o=++this.V;for(let s of r)s.error=void 0;t.validating=!0,this.go(t,!0);let n=Promise.all(r.map(async s=>{try{let a=await this.mo(t.node,s.column,s.oldValue,s.value);return{draft:s,message:typeof a=="string"?a:null}}catch(a){return this.core.reportError(a,"validate",{colId:s.column.id,rowId:t.node.id}),{draft:s,message:"Validation failed"}}})).then(async s=>{if(o!==this.V||this.s!==t)return!1;let a=s.filter(d=>d.message!=null);if(a.length>0)return this.er(t,a.map(d=>({draft:d.draft,message:d.message}))),!1;let l=await this.Rn(t,r);return o!==this.V||this.s!==t?!1:l.length>0?(this.er(t,l),!1):this.Zt(t,!1)}).finally(()=>{this.v===n&&(this.v=null)});return this.v=n,n}me(e,t,r){if(this.o!==e)return!1;this.o=null;let o=!t&&this.Dn(e.node,e.column,e.oldValue,r);return this.tr(e,!0),this.core.emit("cellEditingStopped",{rowIndex:e.rowIndex,colId:e.column.id,rowNode:e.node,oldValue:e.oldValue,newValue:o?r:e.oldValue}),e.node.rowIndex>=0&&this.core.bodyRenderer.refreshRows([e.node.rowIndex]),this.core.summaryRenderer.refresh(),this.core.statusBarService.refresh(),!0}Zt(e,t){if(this.s!==e)return!1;let r=t?[]:this.En(e);if(r==null)return!1;for(let n of e.drafts.values())t||this.dt(n),n.mounted&&this.tr(n.mounted,!0),n.mounted=null;this.s=null;let o=this.lt(e);return this.core.emit("rowEditingStopped",{rowIndex:o,rowNode:e.node,data:e.node.data,cancelled:t,changes:r}),o>=0&&this.core.bodyRenderer.refreshRows([o]),this.core.summaryRenderer.refresh(),this.core.statusBarService.refresh(),!0}En(e){let t=[...e.drafts.values()].filter(o=>!Object.is(o.oldValue,o.value));if(t.length===0)return[];let r=[];this.core.undoService.beginBatch();for(let o of t){if(!this.core.writeValue(e.node,o.column,o.value,o.oldValue)){let n=!1;for(let s of[...r].reverse())this.core.writeValue(e.node,s.column,s.oldValue,s.value)||(n=!0);return this.core.undoService.cancelBatch(),n&&this.core.reportError(new Error("A valueSetter rejected full-row rollback"),"rowEditRollback",{rowId:e.node.id,colId:o.column.id}),this.er(e,[{draft:o,message:"Value was rejected by the column setter"}]),null}r.push(o)}for(let o of r)this.core.notifyCellValueChanged(e.node,o.column,o.oldValue,o.value);return this.core.undoService.endBatch(),r.map(o=>({colId:o.column.id,oldValue:o.oldValue,newValue:o.value}))}Cn(e,t,r,o){let n=this.po(t.node,r.column,e,r.value,null);if(!n)return!1;A(this.core,o);let s=document.createElement("div");s.className="mach-row-editor-shell",s.appendChild(n.el),o.replaceChildren(s),o.classList.add("mach-cell--editing","mach-cell--row-editing"),o.removeAttribute("title");let a=d=>this.Sn(d,t,r),l=()=>{try{r.value=n.getValue(),r.error=void 0}catch{}};return n.el.addEventListener("keydown",a),n.el.addEventListener("input",l),r.mounted={editor:n,cell:o,shell:s,keydown:a,input:l},r.error&&this.Fe(n,r.error),t.validating&&(n.el.classList.add("mach-editor-validating"),n.el.setAttribute("aria-busy","true"),n.el.inert=!0),!0}fo(e){e.mounted&&(this.dt(e),this.tr(e.mounted,!0),e.mounted=null)}dt(e){if(e.mounted)try{let t=e.mounted.editor.getValue();t!==void 0&&(e.value=t)}catch(t){this.core.reportError(t,"cellEditor.getValue",{colId:e.column.id,rowId:this.s?.node.id})}}po(e,t,r,o,n){let s=t.colDef,a;try{let l={api:this.core.getApi(),colDef:s,column:t,node:e,data:e.data,value:o,rowIndex:r,keyPress:n};typeof s.cellEditor=="function"?a=s.cellEditor(l):typeof s.cellEditor=="string"&&!["text","number","date","select"].includes(s.cellEditor)?a=this.core.resolveCellEditor(s.cellEditor)?.(l)??Jt(t,o,n):a=Jt(t,o,n)}catch(l){return this.core.reportError(l,"cellEditor",{colId:t.id,rowId:e.id}),null}if(!a||!(a.el instanceof HTMLElement))return this.core.reportError(new Error("cellEditor must return an editor with an HTMLElement el"),"cellEditor",{colId:t.id,rowId:e.id}),null;try{if(a.isCancelBeforeStart?.())return a.destroy?.(),null}catch(l){this.core.reportError(l,"cellEditor.isCancelBeforeStart",{colId:t.id,rowId:e.id});try{a.destroy?.()}catch{}return null}return a}mo(e,t,r,o){let n=t.colDef.validate;if(!n)return!0;try{return n(o,{oldValue:r,newValue:o,data:e.data,node:e,colDef:t.colDef,column:t,api:this.core.getApi()})}catch(s){return this.core.reportError(s,"validate",{colId:t.id,rowId:e.id}),"Validation failed"}}async Rn(e,t){let r=this.core.options.rowEditValidator;if(!r)return[];let o=Object.create(null);for(let[l,d]of e.drafts)o[l]=d.value;let n=t.map(l=>({colId:l.column.id,oldValue:l.oldValue,newValue:l.value})),s;try{s=await r({data:e.node.data,node:e.node,values:o,changes:n,api:this.core.getApi()})}catch(l){return this.core.reportError(l,"rowEditValidator",{rowId:e.node.id}),[{draft:t[0],message:"Row validation failed"}]}if(typeof s=="string")return[{draft:t[0],message:s}];if(!s||s===!0||typeof s!="object")return[];let a=[];for(let[l,d]of Object.entries(s)){let c=e.drafts.get(l);c&&typeof d=="string"&&d&&a.push({draft:c,message:d})}if(a.length===0){let l=Object.values(s).find(d=>typeof d=="string"&&d);typeof l=="string"&&a.push({draft:t[0],message:l})}return a}er(e,t){e.validating=!1,this.go(e,!1);for(let{draft:r,message:o}of t)r.error=o,r.mounted&&this.Fe(r.mounted.editor,o);t[0].draft.mounted?.editor.focus?.()}Fe(e,t){let r=e.el;r.classList.add("mach-editor-invalid"),r.setAttribute("title",t),r.setAttribute("aria-invalid","true"),r.classList.remove("mach-editor-validating"),r.removeAttribute("aria-busy"),r.inert=!1,(r.querySelector(".mach-select-trigger, input:not([type='hidden']), select:not([hidden]), textarea")??r).focus?.();let n=()=>{r.classList.remove("mach-editor-invalid"),r.removeAttribute("title"),r.removeAttribute("aria-invalid")};r.addEventListener("input",n,{once:!0})}Tn(e,t){e.editor.el.classList.toggle("mach-editor-validating",t),t?e.editor.el.setAttribute("aria-busy","true"):e.editor.el.removeAttribute("aria-busy"),e.editor.el.inert=t,e.confirmButton.disabled=t,e.cancelButton.disabled=!1,e.shell.classList.toggle("mach-editor-shell--busy",t)}go(e,t){for(let r of e.drafts.values()){let o=r.mounted?.editor.el;o&&(o.classList.toggle("mach-editor-validating",t),t?o.setAttribute("aria-busy","true"):o.removeAttribute("aria-busy"),o.inert=t)}}Dn(e,t,r,o){return o===void 0?!1:this.core.setCellValue(e,t,o,r)}Qt(e,t,r){try{e.focus?.()}catch(o){this.core.reportError(o,"cellEditor.focus",{colId:t.id,rowId:r.id})}}tr(e,t){e.editor.el.removeEventListener("keydown",e.keydown),e.input&&e.editor.el.removeEventListener("input",e.input),e.editor.el.classList.remove("mach-editor-validating"),e.editor.el.removeAttribute("aria-busy"),e.editor.el.inert=!1;try{e.editor.destroy?.()}catch(r){this.core.reportError(r,"cellEditor.destroy",{colId:e.cell.dataset.colId})}t&&e.cell.classList.remove("mach-cell--editing","mach-cell--row-editing","mach-cell--error")}lt(e){return e.node.rowIndex>=0?e.node.rowIndex:e.rowIndex}Sn(e,t,r){if(this.s!==t)return;if(e.key==="Escape"){e.preventDefault(),e.stopPropagation(),this.stopRowAsync(!0);return}if(e.key==="Enter"&&!e.shiftKey){e.preventDefault(),e.stopPropagation(),this.stopRowAsync(!1);return}if(e.key!=="Tab")return;e.preventDefault(),e.stopPropagation(),this.dt(r);let o=[...t.drafts.values()],n=o.indexOf(r),s=e.shiftKey?-1:1;for(let a=1;a<=o.length;a++){let l=o[(n+s*a+o.length)%o.length];if(l.mounted){this.Qt(l.mounted.editor,l.column,t.node);break}}}destroy(){(this.o||this.s)&&this.stopAsync(!0)}};var D={matchContains:"\u5305\u542B",matchNotContains:"\u4E0D\u5305\u542B",matchEquals:"\u7B49\u4E8E",matchNotEquals:"\u4E0D\u7B49\u4E8E",matchStartsWith:"\u5F00\u5934\u662F",matchEndsWith:"\u7ED3\u5C3E\u662F",matchBlank:"\u4E3A\u7A7A",matchNotBlank:"\u4E0D\u4E3A\u7A7A",matchLessThan:"\u5C0F\u4E8E",matchLessThanOrEqual:"\u5C0F\u4E8E\u7B49\u4E8E",matchGreaterThan:"\u5927\u4E8E",matchGreaterThanOrEqual:"\u5927\u4E8E\u7B49\u4E8E",matchInRange:"\u5728\u8303\u56F4\u5185",apply:"\u5E94\u7528",reset:"\u91CD\u7F6E",search:"\u641C\u7D22...",emptySetLabel:"(\u7A7A)",selectedCount:"\u5DF2\u9009 {n} \u9879",sortAsc:"\u5347\u5E8F",sortDesc:"\u964D\u5E8F",clearSort:"\u53D6\u6D88\u6392\u5E8F",pinLeft:"\u56FA\u5B9A\u5DE6\u4FA7",pinRight:"\u56FA\u5B9A\u53F3\u4FA7",clearPin:"\u53D6\u6D88\u56FA\u5B9A",autoSize:"\u81EA\u9002\u5E94\u5217\u5BBD",hideColumn:"\u9690\u85CF\u6B64\u5217",columnVisibility:"\u5217\u663E\u793A",resetAll:"\u91CD\u7F6E\u5168\u90E8",autoSizeAll:"\u5168\u90E8\u81EA\u9002\u5E94",columnSettings:"\u5217\u8BBE\u7F6E",totalLabel:"\u5408\u8BA1",totalRowsLabel:"\u5171 {n} \u884C",menuCopy:"\u590D\u5236",menuPaste:"\u7C98\u8D34",menuClearContents:"\u6E05\u9664\u5185\u5BB9",loading:"\u52A0\u8F7D\u4E2D...",statusSelected:"\u5DF2\u9009 {n} \u884C",statusSum:"\u548C {n}",statusAvg:"\u5747 {n}",statusCount:"\u8BA1 {n}",emptyRows:"\u6682\u65E0\u6570\u636E",emptyRowsHint:"\u6CA1\u6709\u53EF\u663E\u793A\u7684\u884C",paginationTotal:"\u5171 {n} \u6761",paginationPage:"\u7B2C {a} / {b} \u9875",perPage:"{n} \u6761/\u9875",pageFirst:"\u9996\u9875",pagePrev:"\u4E0A\u4E00\u9875",pageNext:"\u4E0B\u4E00\u9875",pageLast:"\u672B\u9875",requestFailed:"\u6570\u636E\u52A0\u8F7D\u5931\u8D25",requestFailedHint:"\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5",actionView:"\u67E5\u770B",actionEdit:"\u7F16\u8F91",actionDelete:"\u5220\u9664",actionConfirm:"\u786E\u8BA4",actionSave:"\u4FDD\u5B58",actionCancel:"\u53D6\u6D88",actionMore:"\u66F4\u591A\u64CD\u4F5C",rowDragHandle:"\u62D6\u52A8\u8C03\u6574\u987A\u5E8F\uFF1BAlt + \u4E0A\u4E0B\u65B9\u5411\u952E\u79FB\u52A8",rowDragUnavailable:"\u5F53\u524D\u6392\u5E8F\u6216\u6570\u636E\u6A21\u5F0F\u4E0D\u652F\u6301\u81EA\u52A8\u8C03\u6574\u987A\u5E8F",rowDragPosition:"\u7B2C {a} \u884C \u2192 \u7B2C {b} \u884C",rowDragOutside:"\u79FB\u56DE\u8868\u683C\u5185\u653E\u7F6E \xB7 Esc \u53D6\u6D88"},oo={matchContains:"Contains",matchNotContains:"Not Contains",matchEquals:"Equals",matchNotEquals:"Not Equals",matchStartsWith:"Starts With",matchEndsWith:"Ends With",matchBlank:"Blank",matchNotBlank:"Not Blank",matchLessThan:"Less Than",matchLessThanOrEqual:"\u2264",matchGreaterThan:"Greater Than",matchGreaterThanOrEqual:"\u2265",matchInRange:"In Range",apply:"Apply",reset:"Reset",search:"Search...",emptySetLabel:"(blank)",selectedCount:"{n} selected",sortAsc:"Ascending",sortDesc:"Descending",clearSort:"Clear Sort",pinLeft:"Pin Left",pinRight:"Pin Right",clearPin:"Unpin",autoSize:"Auto Fit",hideColumn:"Hide Column",columnVisibility:"Columns",resetAll:"Reset All",autoSizeAll:"Fit All",columnSettings:"Column Settings",totalLabel:"Total",totalRowsLabel:"{n} rows",menuCopy:"Copy",menuPaste:"Paste",menuClearContents:"Clear Contents",loading:"Loading...",statusSelected:"{n} selected",statusSum:"Sum {n}",statusAvg:"Avg {n}",statusCount:"Cnt {n}",emptyRows:"No Data",emptyRowsHint:"No rows to display",paginationTotal:"{n} items",paginationPage:"Page {a} / {b}",perPage:"{n} / page",pageFirst:"First",pagePrev:"Previous",pageNext:"Next",pageLast:"Last",requestFailed:"Unable to load data",requestFailedHint:"Check your connection and try again",actionView:"View",actionEdit:"Edit",actionDelete:"Delete",actionConfirm:"Confirm",actionSave:"Save",actionCancel:"Cancel",actionMore:"More actions",rowDragHandle:"Drag to reorder; Alt + Up/Down to move",rowDragUnavailable:"Reordering is unavailable in the current sort or data mode",rowDragPosition:"Row {a} \u2192 Row {b}",rowDragOutside:"Move inside to drop \xB7 Esc to cancel"},Mn={contains:"matchContains",notContains:"matchNotContains",equals:"matchEquals",notEquals:"matchNotEquals",startsWith:"matchStartsWith",endsWith:"matchEndsWith",blank:"matchBlank",notBlank:"matchNotBlank",lessThan:"matchLessThan",lessThanOrEqual:"matchLessThanOrEqual",greaterThan:"matchGreaterThan",greaterThanOrEqual:"matchGreaterThanOrEqual",inRange:"matchInRange"};function it(i){return Mn[i]??"matchEquals"}function V(i,e){return i.replace("{n}",String(e))}function ce(i,e,t){return i.replace("{a}",String(e)).replace("{b}",String(t))}var kn=["contains","notContains","equals","notEquals","startsWith","endsWith","blank","notBlank"],An=["equals","notEquals","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inRange","blank","notBlank"],In=["equals","notEquals","lessThan","greaterThan","inRange","blank","notBlank"];function tr(i){return i==="blank"||i==="notBlank"}function Ln(i){return i==="number"?An:i==="date"?In:kn}function nt(i){return i===null?"null:":`${typeof i}:${String(i)}`}var st=class{constructor(e){this.core=e;this.r=null;this.B=null;this.ge=null;this.z=e=>{if(!this.r)return;let t=e.target;if(!this.r.contains(t)&&!this.ge?.contains(t)){this.close();return}this.ge?.contains(t)||(!(t instanceof Element)||!t.closest(".mach-filter-select-control"))&&this.yo()};this._=e=>{if(e.key==="Escape"){if(this.yo(!0)){e.preventDefault(),e.stopPropagation();return}this.close()}}}toggle(e,t){if(this.B===e.id){this.close();return}this.close(),this.open(e,t)}open(e,t){let r=this.core.rowModel.getFilterModel()[e.id]??null,o=r?.type??e.filterType,n=f("div","mach-filter-panel");n.setAttribute("role","dialog"),n.setAttribute("aria-label",`${e.id} filter`),o==="set"?this.xn(n,e,r):this.Mn(n,e,o,r);let s=f("div","mach-filter-footer"),a=f("button","mach-filter-btn-reset");a.type="button",a.textContent=this.core.getLocaleText("reset"),a.addEventListener("click",()=>{this.core.applyColumnFilter(e,null),this.close()});let l=f("button","mach-filter-btn-apply");l.type="button",l.textContent=this.core.getLocaleText("apply"),l.addEventListener("click",()=>{let m=this.vo(n);this.core.applyColumnFilter(e,m),this.close()}),s.append(a,l),n.appendChild(s),L(n,this.core.skeleton.root),document.body.appendChild(n),this.r=n,this.B=e.id;let d=t.getBoundingClientRect(),c=n.getBoundingClientRect(),u=E(d.left,8,window.innerWidth-c.width-8),h=d.bottom+4;h+c.height>window.innerHeight-8&&(h=Math.max(8,d.top-c.height-4)),n.style.left=`${u}px`,n.style.top=`${h}px`,document.addEventListener("mousedown",this.z,!0),document.addEventListener("keydown",this._,!0),n.querySelector(".mach-filter-select-trigger, input")?.focus()}close(){this.r&&(this.ge?.destroy(),this.ge=null,this.r.remove(),this.r=null,this.B=null,document.removeEventListener("mousedown",this.z,!0),document.removeEventListener("keydown",this._,!0))}destroy(){this.close()}Mn(e,t,r,o){let n=o&&o.type!=="set"&&o.conditions.length>0?o.conditions[0]:null,s=n?.match??(r==="text"?"contains":"equals"),{root:a,select:l}=this.kn(r,s),d=this.wo(r),c=this.wo(r,!0);this.An(r,s,n,d,c),this.bo(s,d,c),l.addEventListener("change",()=>{this.bo(l.value,d,c)}),this.In(t,e,d,c);let u=f("div","mach-filter-body");u.append(a,d,c),e.appendChild(u),e.dataset.filterType=r}kn(e,t){let r=U({ariaLabel:"Filter condition",options:Ln(e).map(o=>({value:o,label:this.core.getLocaleText(it(o))})),value:t,classNames:{root:"mach-filter-select-control",native:"mach-filter-select",trigger:"mach-filter-select-trigger",value:"mach-filter-select-value",caret:"mach-filter-select-caret",listbox:"mach-filter-listbox",option:"mach-filter-listbox-option"},themeSource:this.core.skeleton.root});return this.ge=r,{root:r.el,select:r.native}}yo(e=!1){return this.ge?.close(e)??!1}wo(e,t=!1){let o=f("input",`mach-filter-input${t?" mach-filter-input--second":""}`);return e==="number"&&(o.type="number"),e==="date"&&(o.type="date"),o}An(e,t,r,o,n){r?.value!=null&&!tr(t)&&(o.value=e==="date"?String(r.value).slice(0,10):String(r.value)),r&&"value2"in r&&r.value2!=null&&(n.value=e==="date"?String(r.value2).slice(0,10):String(r.value2))}bo(e,t,r){t.style.display=tr(e)?"none":"",r.style.display=e==="inRange"?"":"none"}In(e,t,r,o){let n=s=>{s.key==="Enter"&&(this.core.applyColumnFilter(e,this.vo(t)),this.close())};r.addEventListener("keydown",n),o.addEventListener("keydown",n)}xn(e,t,r){let n=t.colDef.filterParams,s;if(n?.values)s=n.values;else{let v=new Set;s=[];let g=this.core.rowModel.getAllNodes(),y=Math.min(g.length,n?.maxValues??500);for(let b=0;b<y;b++){let T=this.core.getCellValue(g[b],t),x=nt(T??null);v.has(x)||(v.add(x),s.push(T))}}let a=new Set(r?.type==="set"?r.values.map(nt):s.map(nt)),l=f("input","mach-filter-input mach-filter-input--search");l.type="text",l.placeholder=this.core.getLocaleText("search");let d=f("div","mach-filter-set-list"),c=[],u=new Map,h=v=>{d.textContent="",c.length=0;let g=v.trim().toLowerCase();for(let y of s){let b=y==null?this.core.getLocaleText("emptySetLabel"):String(y);if(g&&!b.toLowerCase().includes(g))continue;let T=nt(y);u.set(T,y);let x=f("label","mach-filter-set-item"),w=document.createElement("input");w.type="checkbox",w.checked=a.has(T),w.addEventListener("change",()=>{w.checked?a.add(T):a.delete(T),e.dataset.setSelected=JSON.stringify([...a])});let C=f("span");C.textContent=b,x.append(w,C),d.appendChild(x),c.push(w)}};l.addEventListener("input",()=>h(l.value)),h(""),e.dataset.filterType="set",e.dataset.setValues=JSON.stringify([...u.entries()]),e.dataset.setSelected=JSON.stringify([...a]),(()=>{let v=[...u.entries()];e.dataset.setValues=JSON.stringify(v)})();let m=f("div","mach-filter-body mach-filter-body--set");m.append(l,d),e.appendChild(m)}vo(e){let t=e.dataset.filterType;if(t==="set")return this.Ln(e);if(t!=="text"&&t!=="number"&&t!=="date")return null;let r=e.querySelector(".mach-filter-select"),o=e.querySelectorAll(".mach-filter-input"),n=o[0],s=o[1];if(!r||!n)return null;let a=r.value;if(tr(a))return{type:t,conditions:[{match:a}]};let l=n.value;return l===""&&a!=="inRange"?null:t==="number"?this.Pn(a,l,s):t==="date"?this.Gn(a,l,s):{type:"text",conditions:[{match:a,value:l}]}}Ln(e){let t=[],r=[];try{t=JSON.parse(e.dataset.setValues??"[]"),r=JSON.parse(e.dataset.setSelected??"[]")}catch{return null}let o=new Set(r),n=t.filter(([s])=>o.has(s)).map(([,s])=>s);return n.length===t.length||n.length===0?null:{type:"set",values:n}}Pn(e,t,r){let o=Number(t);if(Number.isNaN(o))return null;if(e!=="inRange")return{type:"number",conditions:[{match:e,value:o}]};let n=r?.value?Number(r.value):o;return Number.isNaN(n)?null:{type:"number",conditions:[{match:"inRange",value:o,value2:n}]}}Gn(e,t,r){return e!=="inRange"?{type:"date",conditions:[{match:e,value:t}]}:{type:"date",conditions:[{match:"inRange",value:t,value2:r?.value||t}]}}};var at=class{constructor(e){this.core=e;this.r=null;this.B=null;this.ct=null;this.ut="";this.Oe=new Set;this.z=e=>{let t=e.target;this.r&&!this.r.contains(t)&&!this.Nn(t)&&this.close()};this._=e=>{if(e.key!=="Escape")return;if([...this.Oe].find(r=>r.isOpen())?.close(!0)){e.preventDefault(),e.stopImmediatePropagation();return}this.close()}}toggle(e,t){if(this.B===e.id){this.close();return}this.close(),this.open(e,t)}openStandalone(e){this.close();let t=e??(()=>{let o=this.core.skeleton.root.getBoundingClientRect(),n=document.createElement("div");return n.style.position="fixed",n.style.left=`${o.right-16}px`,n.style.top=`${o.top+this.core.options.headerHeight}px`,n.style.width="1px",n.style.height="1px",document.body.appendChild(n),this.ct=n,n})();this.open(null,t)}close(){this.Co(),this.ct&&(this.ct.remove(),this.ct=null),this.r?.remove(),this.r=null,this.B=null,document.removeEventListener("mousedown",this.z,!0),document.removeEventListener("keydown",this._,!0)}destroy(){this.close()}open(e,t){let r=this.core.getApi(),o=f("div","mach-filter-panel mach-column-panel");o.setAttribute("role",e?"menu":"dialog"),e||(o.setAttribute("aria-modal","false"),o.setAttribute("aria-label",this.core.getLocaleText("columnSettings")));let n=f("div","mach-column-panel-title");if(n.textContent=e?e.colDef.headerName??e.colDef.field??e.id:this.core.getLocaleText("columnSettings"),o.appendChild(n),e&&e.sortable){let w=f("div","mach-column-panel-actions"),C=(k,M)=>{let B=f("button","mach-column-panel-btn");return B.type="button",B.textContent=this.core.getLocaleText(k),B.addEventListener("click",()=>{r.sorting.setModel(M?[{colId:e.id,direction:M}]:[]),this.close()}),B};w.append(C("sortAsc","asc"),C("sortDesc","desc"),C("clearSort",null)),o.appendChild(w)}let s=f("div","mach-column-panel-actions"),a=(w,C)=>{let k=f("button","mach-column-panel-btn");return k.type="button",k.textContent=this.core.getLocaleText(w),k.addEventListener("click",()=>{e&&r.columns.setPinned(e.id,C),this.close()}),k};e&&(s.append(a("pinLeft","left"),a("pinRight","right"),a("clearPin",null)),o.appendChild(s));let l=f("div","mach-column-panel-actions"),d=f("button","mach-column-panel-btn");d.type="button",d.textContent=this.core.getLocaleText("autoSize"),d.addEventListener("click",()=>{e?r.columns.autoSize(e.id):r.columns.autoSizeAll(),this.close()});let c=f("button","mach-column-panel-btn");c.type="button",c.textContent=this.core.getLocaleText("hideColumn"),c.addEventListener("click",()=>{e&&r.columns.setVisible(e.id,!1),this.close()}),e&&(l.append(d,c),o.appendChild(l));let u=f("div","mach-column-panel-divider");o.appendChild(u);let h=f("div","mach-column-panel-subtitle");if(h.textContent=this.core.getLocaleText("columnVisibility"),o.appendChild(h),!e){let w=document.createElement("input");w.type="search",w.className="mach-column-workbench-search",w.placeholder=this.core.getLocaleText("search"),w.setAttribute("aria-label",this.core.getLocaleText("search")),w.value=this.ut,w.addEventListener("input",()=>{this.ut=w.value.trim().toLocaleLowerCase(),this.rr(p,!0)}),o.appendChild(w)}let p=f("div","mach-column-panel-list");this.rr(p,!e),o.appendChild(p);let m=f("div","mach-filter-footer"),v=f("button","mach-filter-btn-reset");v.type="button",v.textContent=this.core.getLocaleText("resetAll"),v.addEventListener("click",()=>{r.columns.resetState(),this.close()});let g=f("button","mach-filter-btn-apply");g.type="button",g.textContent=this.core.getLocaleText("autoSizeAll"),g.addEventListener("click",()=>{r.columns.autoSizeAll(),this.close()}),m.append(v,g),o.appendChild(m),L(o,this.core.skeleton.root),document.body.appendChild(o),this.r=o,this.B=e?e.id:"__standalone__";let y=t.getBoundingClientRect(),b=o.getBoundingClientRect(),T=E(y.left,8,window.innerWidth-b.width-8),x=y.bottom+4;x+b.height>window.innerHeight-8&&(x=Math.max(8,y.top-b.height-4)),o.style.left=`${T}px`,o.style.top=`${x}px`,document.addEventListener("mousedown",this.z,!0),document.addEventListener("keydown",this._,!0)}or(){if(!this.r)return;let e=this.r.querySelector(".mach-column-panel-list");e&&this.rr(e,this.B==="__standalone__")}rr(e,t){let r=this.core.getApi();this.Co(e),e.replaceChildren();let o=this.core.columnModel.getColumns().filter(n=>n.isDetailToggle?!1:!t||!this.ut?!0:`${n.colDef.headerName??n.colDef.field??n.id} ${n.id}`.toLocaleLowerCase().includes(this.ut));for(let n of o){let s=f("div",t?"mach-column-workbench-item":"mach-filter-set-item"),a=f("label","mach-column-workbench-label"),l=document.createElement("input");l.type="checkbox",l.checked=!n.hide,l.disabled=n.hasCheckbox,l.addEventListener("change",()=>{r.columns.setVisible(n.id,l.checked),this.or()});let d=f("span","mach-column-workbench-name");if(d.textContent=n.colDef.headerName??n.colDef.field??n.id,d.title=`${d.textContent} (${n.id})`,a.append(l,d),s.appendChild(a),t){let c=U({ariaLabel:`${d.textContent} ${this.core.getLocaleText("clearPin")}`,options:[{value:"",label:this.core.getLocaleText("clearPin")},{value:"left",label:this.core.getLocaleText("pinLeft")},{value:"right",label:this.core.getLocaleText("pinRight")}],value:n.pinned??"",classNames:{root:"mach-column-workbench-pin-control",native:"mach-column-workbench-pin"},themeSource:this.core.skeleton.root,onChange:m=>{r.columns.setPinned(n.id,m==="left"||m==="right"?m:null),this.or()}});c.trigger.disabled=!n.movable,c.native.disabled=!n.movable,this.Oe.add(c),s.appendChild(c.el);let u=this.core.columnModel.getColumns().filter(m=>!m.hide&&m.parentGroup===n.parentGroup&&(n.parentGroup!=null||m.pinned===n.pinned)),h=u.indexOf(n),p=(m,v,g)=>{let y=f("button","mach-column-workbench-move");return y.type="button",y.textContent=m,y.disabled=g||n.hide||!n.movable,y.addEventListener("click",()=>{r.columns.move(n.id,v),this.or()}),y};s.append(p("\u2191",h-1,h<=0),p("\u2193",h+1,h<0||h>=u.length-1))}e.appendChild(s)}}Nn(e){return[...this.Oe].some(t=>t.contains(e))}Co(e){for(let t of[...this.Oe])e&&!e.contains(t.el)||(t.destroy(),this.Oe.delete(t))}};var lt=class{constructor(e){this.core=e;this.r=null;this.z=e=>{this.r&&!this.r.contains(e.target)&&this.close()};this._=e=>{e.key==="Escape"&&this.close()}}Fn(e){if(e){let n=this.core.rowModel.getDisplayedRow(e.rowIndex),s=this.core.columnModel.getColumn(e.colId);return n&&s?{node:n,column:s}:null}let t=this.core.bodyRenderer.getNormalizedRangeOrFocus();if(!t)return null;let r=this.core.rowModel.getDisplayedRow(t.r1),o=this.core.columnModel.getOrderedVisible()[t.c1];return r&&o?{node:r,column:o}:null}On(e,t){let r=this.core.options.getContextMenuItems;if(!r)return null;try{return r({data:e.data,node:e,api:this.core.getApi(),colId:t.id,value:this.core.getCellValue(e,t),rowIndex:e.rowIndex})??null}catch(o){return this.core.reportError(o,"getContextMenuItems",{colId:t.id,rowId:e.id}),null}}Hn(e,t,r,o){let n=!1;for(let s of t){if(s.separator){e.appendChild(f("div","mach-context-menu-separator"));continue}let a=f("button","mach-context-menu-item");a.type="button",a.textContent=s.label??"",s.danger&&a.classList.add("mach-context-menu-item--danger"),a.disabled=s.disabled===!0,a.disabled||(n=!0,a.addEventListener("click",()=>this.Vn(s,r,o))),e.appendChild(a)}return n}Vn(e,t,r){this.close();try{e.action?.()}catch(o){this.core.reportError(o,"contextMenu.action",{colId:r.id,rowId:t.id})}}ir(e,t,r){let o=f("button","mach-context-menu-item");o.type="button",o.textContent=t,o.addEventListener("click",r),e.appendChild(o)}Bn(e){let t=this.core;this.ir(e,t.getLocaleText("menuCopy"),()=>{t.copyActiveRange(),this.close()}),!t.options.suppressClipboard&&(this.ir(e,t.getLocaleText("menuPaste"),()=>{t.pasteFromSystemClipboard(),this.close()}),this.ir(e,t.getLocaleText("menuClearContents"),()=>{let r=t.bodyRenderer.getNormalizedRangeOrFocus();r&&t.clearRangeValues(r),this.close()}))}open(e,t,r){this.close();let o=this.Fn(r);if(!o)return;let n=f("div","mach-context-menu");if(n.setAttribute("role","menu"),this.core.options.getContextMenuItems){let s=this.On(o.node,o.column);if(!s||!this.Hn(n,s,o.node,o.column))return;this.To(n,e,t);return}this.Bn(n),this.To(n,e,t)}To(e,t,r){L(e,this.core.skeleton.root),document.body.appendChild(e),this.r=e;let o=e.getBoundingClientRect(),n=E(t,8,Math.max(8,window.innerWidth-o.width-8)),s=E(r,8,Math.max(8,window.innerHeight-o.height-8));e.style.left=`${n}px`,e.style.top=`${s}px`,document.addEventListener("mousedown",this.z,!0),document.addEventListener("keydown",this._,!0)}close(){this.r&&(this.r.remove(),this.r=null,document.removeEventListener("mousedown",this.z,!0),document.removeEventListener("keydown",this._,!0))}destroy(){this.close()}};var dt=class{constructor(e){this.core=e;this.r=null;this.ht=0;this.nr=0;this.He=null;this.Ve=e=>{if(this.core.isDestroyed()||!this.core.options.tooltipComponent)return;let r=e.target.closest(".mach-cell");if(!r||r===this.He)return;this.sr(),this.pt(),this.He=r;let o=this.zn(r);if(!o||r.classList.contains("mach-cell--editing"))return;let n=this._n(o.node,o.column,o.index);this.Wn(n,o.column)&&(this.ht=window.setTimeout(()=>{this.core.isDestroyed()||this.He!==r||this.$n(r,n)},Math.max(0,this.core.options.tooltipShowDelay)))};this.Ro=()=>{this.hide()}}init(){let e=this.core.skeleton.bodyEl;e.addEventListener("mouseover",this.Ve),e.addEventListener("mouseleave",this.Ro)}destroy(){this.sr(),this.pt();let e=this.core.skeleton.bodyEl;e.removeEventListener("mouseover",this.Ve),e.removeEventListener("mouseleave",this.Ro),this.He=null}hide(){this.sr(),this.pt(),this.He=null}sr(){this.ht&&(clearTimeout(this.ht),this.ht=0),this.nr&&(clearTimeout(this.nr),this.nr=0)}pt(){this.r&&(this.r.remove(),this.r=null)}zn(e){let t=e.dataset.colId??"",r=Number(e.closest(".mach-row")?.dataset.index);if(Number.isNaN(r))return null;let o=this.core.rowModel.getDisplayedRow(r),n=t?this.core.columnModel.getColumn(t):void 0;return!o||!n||o.isDetail||o.isGroup?null:{node:o,column:n,index:r}}_n(e,t,r){return{data:e.data,node:e,api:this.core.getApi(),colId:t.id,value:this.core.getCellValue(e,t),formatted:$(this.core,e,t),rowIndex:r}}Wn(e,t){let r=t.colDef.tooltipValueGetter;if(!r)return!!e.formatted;try{r({...e,colDef:t.colDef,column:t})}catch(o){this.core.reportError(o,"tooltipValueGetter",{colId:t.id,rowId:e.node.id})}return!0}$n(e,t){this.pt();let r=this.core.options.tooltipComponent;if(!r)return;let o=f("div","mach-tooltip");o.setAttribute("role","tooltip");let n;try{n=r(t)}catch(c){this.core.reportError(c,"tooltipComponent",{colId:t.colId,rowIndex:t.rowIndex});return}typeof n=="string"?o.textContent=n:o.appendChild(n),L(o,this.core.skeleton.root),document.body.appendChild(o),this.r=o;let s=e.getBoundingClientRect(),a=o.getBoundingClientRect(),l=E(s.left,8,Math.max(8,window.innerWidth-a.width-8)),d=s.bottom+6;d+a.height>window.innerHeight-8&&(d=Math.max(8,s.top-a.height-6)),o.style.left=`${l}px`,o.style.top=`${d}px`}};var ct=class{constructor(e){this.core=e;this.overlay=null}init(){this.overlay=document.createElement("div"),this.overlay.className="mach-watermark",this.overlay.setAttribute("aria-hidden","true"),this.overlay.style.pointerEvents="none",this.core.skeleton.root.appendChild(this.overlay),this.apply()}apply(){if(!this.overlay||this.core.isDestroyed())return;let e=this.core.options.watermarkEnabled?this.core.options.watermarkConfig:null;if(!e||!e.text){this.overlay.style.display="none",this.overlay.style.backgroundImage="";return}let t=this.Kn(e);this.overlay.style.display="",t?(this.overlay.style.backgroundImage=`url(${t})`,this.overlay.style.backgroundColor=""):this.overlay.style.backgroundImage=""}Kn(e){try{let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)return null;let o=e.fontSize??14,n=e.gap??160,s=e.angle??-22,a=e.color??(this.qn()?"rgba(255,255,255,0.9)":"rgba(31,55,88,0.9)"),l=e.opacity??.06;r.font=`500 ${o}px sans-serif`;let d=r.measureText(e.text),c=Math.ceil(d.width),u=Math.max(n,c+40);t.width=u,t.height=u;let h=t.getContext("2d");return h.clearRect(0,0,u,u),h.globalAlpha=l,h.fillStyle=a,h.font=`500 ${o}px sans-serif`,h.translate(u/2,u/2),h.rotate(s*Math.PI/180),h.textAlign="center",h.textBaseline="middle",h.fillText(e.text,0,0),t.toDataURL("image/png")}catch{return null}}qn(){return this.core.skeleton.root.classList.contains("mach-theme-dark")}refresh(){this.apply()}destroy(){this.overlay?.remove(),this.overlay=null}};var ut=class{constructor(e){this.core=e;this.stack=[];this.w=-1;this.pending=null}beginBatch(){this.pending||(this.pending=[])}endBatch(){if(!this.pending)return;let e=this.pending;this.pending=null,e.length>0&&this.push(e)}cancelBatch(){this.pending=null}record(e){if(this.pending){this.pending.push(e);return}this.push([e])}push(e){let t=Math.max(0,this.core.options.undoStackSize);if(t!==0){for(this.stack.length=this.w+1,this.stack.push(e);this.stack.length>t;)this.stack.shift();this.w=this.stack.length-1}}trimToSize(){let e=Math.max(0,this.core.options.undoStackSize);if(e===0){this.clear();return}for(;this.stack.length>e;)this.stack.shift(),this.w--;this.w<-1&&(this.w=-1)}canUndo(){return this.w>=0}canRedo(){return this.w<this.stack.length-1}undo(){return this.canUndo()?(this.apply(this.stack[this.w],!1),this.w--,!0):!1}redo(){return this.canRedo()?(this.w++,this.apply(this.stack[this.w],!0),!0):!1}apply(e,t){let r=this.core,o=[];for(let n of e){let s=r.rowModel.getNodeById(n.nodeId),a=r.columnModel.getColumn(n.columnId);if(!s||!a||s.data==null)continue;let l=t?n.newValue:n.oldValue,d=t?n.oldValue:n.newValue;r.writeValue(s,a,l,d)&&(r.bodyRenderer.invalidateRowHeight(s),r.bodyRenderer.queueFlash([s.rowIndex],[a.id]),s.rowIndex>=0&&o.push(s.rowIndex),r.emit("cellValueChanged",{oldValue:d,newValue:l,rowNode:s,rowIndex:s.rowIndex,column:a,colDef:a.colDef,data:s.data}))}o.length>0&&r.bodyRenderer.refreshRows(o),r.summaryRenderer.refresh(),r.statusBarService.refresh()}clear(){this.stack=[],this.w=-1,this.pending=null}};var ht=class{constructor(e){this.core=e;this.changes=new Map;this.ar=!1;this.unsubscribe=null}init(){this.unsubscribe=this.core.eventBus.on("cellValueChanged",e=>{this.ar||this.record(e)})}record(e){let t=`${e.rowNode.id}\0${e.column.id}`,o=this.changes.get(t)?.originalValue??e.oldValue;Object.is(e.newValue,o)?this.changes.delete(t):this.changes.set(t,{rowId:e.rowNode.id,colId:e.column.id,originalValue:o,value:e.newValue}),this.ye()}getDirtyRowIds(){return[...new Set([...this.changes.values()].map(e=>e.rowId))]}getChanges(){let e=new Map;for(let t of this.changes.values()){let r=this.core.rowModel.getNodeById(t.rowId);if(!r?.data)continue;let o=e.get(t.rowId);o||(o={rowId:t.rowId,data:r.data,cells:[]},e.set(t.rowId,o)),o.cells.push({colId:t.colId,originalValue:t.originalValue,value:t.value})}return[...e.values()]}markSaved(e){if(!e)this.changes.clear();else{let t=new Set(e);for(let[r,o]of this.changes)t.has(o.rowId)&&this.changes.delete(r)}this.ye()}acknowledge(e){for(let t of e)for(let r of t.cells){let o=`${t.rowId}\0${r.colId}`,n=this.changes.get(o);if(n){Object.is(n.value,r.value)?this.changes.delete(o):n.originalValue=r.value;continue}let s=this.core.rowModel.getNodeById(t.rowId),a=this.core.columnModel.getColumn(r.colId);if(!s||!a||s.data==null)continue;let l=this.core.getCellValue(s,a);Object.is(l,r.value)||this.changes.set(o,{rowId:t.rowId,colId:r.colId,originalValue:r.value,value:l})}this.ye()}rollback(e){let t=e?new Set(e):null,r=[...this.changes.entries()].filter(([,s])=>!t||t.has(s.rowId));if(r.length===0)return!1;let o=new Set,n=new Set;this.ar=!0;try{for(let[s,a]of r){let l=this.core.rowModel.getNodeById(a.rowId),d=this.core.columnModel.getColumn(a.colId);if(!l||!d||l.data==null)continue;let c=this.core.getCellValue(l,d);if(Object.is(c,a.originalValue)){n.add(s);continue}this.core.writeValue(l,d,a.originalValue,c)&&(n.add(s),this.core.bodyRenderer.invalidateRowHeight(l),l.rowIndex>=0&&o.add(l.rowIndex),this.core.emit("cellValueChanged",{oldValue:c,newValue:a.originalValue,rowNode:l,rowIndex:l.rowIndex,column:d,colDef:d.colDef,data:l.data}))}}finally{this.ar=!1}for(let s of n)this.changes.delete(s);return o.size>0&&this.core.bodyRenderer.refreshRows([...o]),this.core.summaryRenderer.refresh(),this.core.statusBarService.refresh(),this.ye(),n.size>0}clearRows(e){if(e.length===0)return;let t=new Set(e);for(let[r,o]of this.changes)t.has(o.rowId)&&this.changes.delete(r);this.ye()}clear(){this.changes.size!==0&&(this.changes.clear(),this.ye())}destroy(){this.unsubscribe?.(),this.unsubscribe=null,this.changes.clear()}ye(){this.core.emit("dirtyStateChanged",{dirtyRowIds:this.getDirtyRowIds()})}};var or=class{constructor(){this.ve=null;this.ft=0;this.count=0;this.totalMs=0}acquire(){this.ft++,this.Un();let e=!1;return()=>{e||(e=!0,this.ft=Math.max(0,this.ft-1),this.ft===0&&(this.ve?.disconnect(),this.ve=null))}}snapshot(){return{count:this.count,totalMs:this.totalMs}}Un(){if(!(this.ve||typeof PerformanceObserver>"u"))try{this.ve=new PerformanceObserver(e=>{for(let t of e.getEntries())this.count++,this.totalMs+=t.duration}),this.ve.observe({entryTypes:["longtask"]})}catch{this.ve=null}}},pt=new or;function rr(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}var ft=class{constructor(){this.Q=[];this.mt=[];this.gt=[];this.lr=pt.acquire(),this.yt=pt.snapshot()}start(){return rr()}recordRender(e,t,r){this.Q.push({duration:Math.max(0,rr()-e),rows:t,columns:r}),this.Q.length>120&&this.Q.shift()}recordLayout(e){this.Do(this.mt,e)}recordModel(e){this.Do(this.gt,e)}snapshot(){let e=this.Q.map(n=>n.duration),t=this.Q[this.Q.length-1],r=[...e].sort((n,s)=>n-s),o=pt.snapshot();return{sampleCount:e.length,lastRenderMs:t?.duration??0,averageRenderMs:this.jn(e),maxRenderMs:r[r.length-1]??0,p95RenderMs:this.dr(r,!0),longRenderCount:e.filter(n=>n>16.7).length,renderedRows:t?.rows??0,renderedColumns:t?.columns??0,renderedCells:(t?.rows??0)*(t?.columns??0),layoutSampleCount:this.mt.length,p95LayoutMs:this.dr(this.mt),modelSampleCount:this.gt.length,p95ModelMs:this.dr(this.gt),longTaskCount:Math.max(0,o.count-this.yt.count),longTaskTotalMs:Math.max(0,o.totalMs-this.yt.totalMs),usedHeapBytes:this.usedHeapBytes()}}reset(){this.Q=[],this.mt=[],this.gt=[],this.yt=pt.snapshot()}destroy(){this.lr?.(),this.lr=null}Do(e,t){e.push(Math.max(0,rr()-t)),e.length>120&&e.shift()}jn(e){return e.length===0?0:e.reduce((t,r)=>t+r,0)/e.length}usedHeapBytes(){let e=typeof performance>"u"?void 0:performance.memory?.usedJSHeapSize;return typeof e=="number"&&Number.isFinite(e)?e:null}dr(e,t=!1){if(e.length===0)return 0;let r=t?e:[...e].sort((o,n)=>o-n);return r[Math.max(0,Math.ceil(r.length*.95)-1)]??0}};function io(i,e){if(!(i==null||e==null))return[...new Set([...i,...e])]}function Pn(i,e){return i===!0||e===!0?!0:i?e?{rowIds:io(i.rowIds,e.rowIds),rowIndexes:i.rowIndexes==null||e.rowIndexes==null?void 0:[...new Set([...i.rowIndexes,...e.rowIndexes])],columns:io(i.columns,e.columns),force:i.force===!0||e.force===!0,includePinned:i.includePinned===!0||e.includePinned===!0}:i:e}function Gn(i,e){return{columns:i.columns===!0||e.columns===!0,header:i.header===!0||e.header===!0,pool:i.pool===!0||e.pool===!0,data:i.data===!0||e.data===!0,layout:i.layout===!0||e.layout===!0,cells:Pn(i.cells,e.cells),pinned:i.pinned===!0||e.pinned===!0,summary:i.summary===!0||e.summary===!0,overlays:i.overlays===!0||e.overlays===!0}}var mt=class{constructor(e){this.apply=e;this.depth=0;this.pending=null;this.flushCount=0;this.requestCount=0;this.coalescedRequestCount=0;this.destroyed=!1}batch(e){if(this.destroyed)return e();this.depth++;try{return e()}finally{this.depth--,this.depth===0&&this.flush()}}schedule(e){this.destroyed||(this.requestCount++,this.pending&&this.coalescedRequestCount++,this.pending=Gn(this.pending??{},e),this.depth===0&&this.flush())}flush(){if(this.destroyed||this.depth>0||!this.pending)return;let e=this.pending;this.pending=null,this.flushCount++,this.apply(e)}snapshot(){return{batchDepth:this.depth,flushCount:this.flushCount,requestCount:this.requestCount,coalescedRequestCount:this.coalescedRequestCount,pending:this.pending!=null}}destroy(){this.destroyed=!0,this.pending=null,this.depth=0}};var j=["gridReady","gridDestroyed","modelUpdated","cellClicked","cellDoubleClicked","cellContextMenu","rowClicked","rowDoubleClicked","selectionChanged","sortChanged","filterChanged","columnResized","columnMoved","columnVisibilityChanged","cellValueChanged","cellEditingStarted","cellEditingStopped","rowEditingStarted","rowEditingStopped","detailToggled","treeChildrenLoaded","treeChildrenLoadFailed","rowDragEnd","rangeSelectionChanged","paginationChanged","displayedColumnsChanged","gridError","dirtyStateChanged"];function re(i){return(i==null?"":String(i)).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function gt(i,e,t="text/plain;charset=utf-8"){try{if(typeof document>"u"||typeof Blob>"u")return!1;let r=document.createElement("a");if(typeof URL<"u"&&typeof URL.createObjectURL=="function"){let o=new Blob([e],{type:t}),n=URL.createObjectURL(o);r.href=n,r.download=i,r.click();let s=typeof URL.revokeObjectURL=="function"?URL.revokeObjectURL.bind(URL):null;s&&setTimeout(()=>{try{s(n)}catch{}},0)}else r.href=`data:${t},${encodeURIComponent(e)}`,r.download=i,r.click();return!0}catch{return!1}}var ue={columnDefs:{kind:"array",update:"columnDefs"},rowData:{kind:"array",update:"rowData"},defaultColDef:{kind:"object",update:"options"},columnTypes:{kind:"object",update:"options"},rowKey:{kind:"unknown",update:"options"},rowHeight:{kind:"number",update:"options"},headerHeight:{kind:"number",update:"options"},rowBuffer:{kind:"number",update:"options"},columnLayout:{kind:"string",update:"options"},enableColumnResize:{kind:"boolean",update:"options"},domLayout:{kind:"string",update:"options"},rowSelection:{kind:"string",update:"options"},multiSort:{kind:"boolean",update:"options"},size:{kind:"string",update:"options"},stripedRows:{kind:"boolean",update:"options"},rowStyleRules:{kind:"array",update:"options"},showCellBorders:{kind:"boolean",update:"options"},theme:{kind:"string",update:"options"},quickFilterText:{kind:"string",update:"quickFilter"},advancedFilterModel:{kind:"object",update:"options"},masterDetail:{kind:"boolean",update:"options"},detailRowHeight:{kind:"number",update:"options"},detailRowRenderer:{kind:"function",update:"options"},isRowExpandable:{kind:"function",update:"options"},detailToggleColumn:{kind:"boolean",update:"options"},columnMenu:{kind:"boolean",update:"options"},aggFuncs:{kind:"object",update:"options"},components:{kind:"object",update:"options"},actionPolicy:{kind:"object",update:"options"},features:{kind:"array",update:"options"},initialState:{kind:"object",update:"options"},persistence:{kind:"boolean-object",update:"options"},locale:{kind:"object",update:"options"},editType:{kind:"string",update:"options"},editableIndicator:{kind:"string",update:"options"},rowEditValidator:{kind:"function",update:"options"},singleClickEdit:{kind:"boolean",update:"options"},manualSorting:{kind:"boolean",update:"options"},manualFiltering:{kind:"boolean",update:"options"},showSummary:{kind:"boolean",update:"options"},summaryMethod:{kind:"function",update:"options"},treeData:{kind:"boolean",update:"options"},childrenKey:{kind:"string",update:"options"},isTreeRowExpandable:{kind:"function",update:"options"},loadTreeChildren:{kind:"function",update:"options"},autoCheckedChildren:{kind:"boolean",update:"options"},defaultExpandAll:{kind:"boolean",update:"options"},indexOffset:{kind:"number",update:"options"},applyRowDrag:{kind:"boolean",update:"options"},undoStackSize:{kind:"number",update:"options"},asyncTransactionWaitMillis:{kind:"number",update:"options"},getRowHeight:{kind:"function",update:"options"},pinnedTopRowData:{kind:"array",update:"options"},pinnedBottomRowData:{kind:"array",update:"options"},pagination:{kind:"boolean-object",update:"options"},watermark:{kind:"boolean-object",update:"options"},suppressWarnings:{kind:"boolean",update:"options"},enableRangeSelection:{kind:"boolean",update:"options"},suppressClipboard:{kind:"boolean",update:"options"},contextMenu:{kind:"boolean",update:"options"},getContextMenuItems:{kind:"function",update:"options"},tooltipComponent:{kind:"function",update:"options"},tooltipShowDelay:{kind:"number",update:"options"},flashCells:{kind:"boolean",update:"options"},fillHandle:{kind:"boolean",update:"options"},statusBar:{kind:"boolean-object",update:"options"},datasource:{kind:"object",update:"options"},datasourceMode:{kind:"string",update:"options"},blockSize:{kind:"number",update:"options"},infiniteBufferRows:{kind:"number",update:"options"},maxBlocksInCache:{kind:"number",update:"options"},datasourceMaxConcurrentRequests:{kind:"number",update:"options"},blockPrefetch:{kind:"number",update:"options"},datasourceRowCount:{kind:"number",update:"options"},dataProcessor:{kind:"object",update:"options"},dataProcessorMinRows:{kind:"number",update:"options"},datasourceRetryCount:{kind:"number",update:"options"},datasourceRetryDelay:{kind:"number",update:"options"},datasourceRetryJitter:{kind:"number",update:"options"},suppressCellFocus:{kind:"boolean",update:"options"},suppressRowHoverHighlight:{kind:"boolean",update:"options"},suppressNoRowsOverlay:{kind:"boolean",update:"options"},suppressHeaderFocus:{kind:"boolean",update:"options"},ariaLabel:{kind:"string",update:"options"},ariaLabelledBy:{kind:"string",update:"options"},ariaDescribedBy:{kind:"string",update:"options"},loading:{kind:"boolean",update:"options"},error:{kind:"unknown",update:"options"},overlayNoRowsTemplate:{kind:"unknown",update:"options"},overlayLoadingTemplate:{kind:"unknown",update:"options"},overlayErrorTemplate:{kind:"unknown",update:"options"},allowUnsafeOverlayHtml:{kind:"boolean",update:"options"},className:{kind:"string",update:"options"}},yt=Object.freeze(Object.keys(ue)),gl=Object.freeze(yt.filter(i=>ue[i].update==="options"));var Nn=new Set(j.map(i=>`on${i.charAt(0).toUpperCase()}${i.slice(1)}`));function ir(i,e){return i==null||e==="unknown"?!0:e==="array"?Array.isArray(i):e==="boolean-object"?typeof i=="boolean"||typeof i=="object"&&!Array.isArray(i):e==="object"?typeof i=="object"&&!Array.isArray(i):e==="number"?typeof i=="number"&&Number.isFinite(i):typeof i===e}function no(i){let e={};for(let[t,r]of Object.entries(i)){if(Nn.has(t)){(r==null||typeof r=="function")&&(e[t]=r);continue}let o=ue[t];!o||!ir(r,o.kind)||(e[t]=r)}return e}var lo=2e3,Fn=1e5,sr=512,On=1e4;function nr(i){return Array.isArray(i)?[...new Set(i.slice(0,Fn).filter(e=>typeof e=="string"&&e.length>0&&e.length<=sr))]:[]}function so(i,e){return typeof i=="number"&&Number.isFinite(i)&&i>=1?Math.floor(i):e}function ao(i){return typeof i=="number"&&Number.isFinite(i)&&i>0?i:void 0}function Hn(i,e){let t=ao(e.flex);for(let r of["width","contentWidth"]){let o=ao(e[r]);o!==void 0&&(i[r]=o)}e.flex===null?i.flex=null:t!==void 0&&(i.flex=t),(e.widthMode==="auto"||e.widthMode==="manual")&&(i.widthMode=e.widthMode)}function Vn(i,e){typeof e.hide=="boolean"&&(i.hide=e.hide),(e.pinned===null||e.pinned==="left"||e.pinned==="right")&&(i.pinned=e.pinned)}function Bn(i,e){if(i==null||typeof i!="object")return null;let t=i,r=typeof t.colId=="string"?t.colId.trim():"";if(!r||r.length>sr||e.has(r))return null;e.add(r);let o={colId:r};return Vn(o,t),Hn(o,t),o}function zn(i){if(!Array.isArray(i))return[];let e=[],t=new Set;for(let r of i.slice(0,lo)){let o=Bn(r,t);o&&e.push(o)}return e}function _n(i){if(!Array.isArray(i))return[];let e=[],t=new Set;for(let r of i.slice(0,lo)){if(r==null||typeof r!="object")continue;let o=r,n=typeof o.colId=="string"?o.colId.trim():"";!n||n.length>sr||t.has(n)||o.direction!=="asc"&&o.direction!=="desc"||(t.add(n),e.push({colId:n,direction:o.direction}))}return e}function z(i){if(i==null||typeof i!="object")return null;let e=i;if(e.version!==2||!Array.isArray(e.columns)||!Array.isArray(e.sortModel))return null;let t=e.pagination!=null&&typeof e.pagination=="object"?e.pagination:{};return{version:2,columns:zn(e.columns),sortModel:_n(e.sortModel),filterModel:q(e.filterModel),advancedFilterModel:O(e.advancedFilterModel),quickFilterText:typeof e.quickFilterText=="string"&&e.quickFilterText.trim()?e.quickFilterText.slice(0,On):null,pagination:{enabled:t.enabled===!0,page:so(t.page,1),pageSize:so(t.pageSize,20)},selectedRowIds:nr(e.selectedRowIds),expandedRowIds:nr(e.expandedRowIds),expandedGroupIds:nr(e.expandedGroupIds)}}function co(i,e){let t=z(i);if(!t)throw new TypeError("[MachTable] Cannot persist an invalid GridState snapshot.");let r=new Set(e);return{version:2,columns:r.has("columns")?t.columns:[],sortModel:r.has("sort")?t.sortModel:[],filterModel:r.has("filter")?t.filterModel:{},advancedFilterModel:r.has("filter")?t.advancedFilterModel:null,quickFilterText:r.has("filter")?t.quickFilterText:null,pagination:r.has("pagination")?t.pagination:{enabled:!1,page:1,pageSize:20},selectedRowIds:r.has("selection")?t.selectedRowIds:[],expandedRowIds:r.has("expansion")?t.expandedRowIds:[],expandedGroupIds:r.has("expansion")?t.expandedGroupIds:[]}}function Wn(i){try{if(typeof structuredClone=="function")return structuredClone(i)}catch{}return Array.isArray(i)?[...i]:i!=null&&typeof i=="object"?{...i}:i}function ho(i,e){let t=e?new Set(e.map(String)):null;return i.filter(r=>!t||t.has(r.rowId)).map(r=>({...r,data:Wn(r.data),cells:r.cells.map(o=>({...o}))}))}function $n(i,e){let t=typeof i?.rowId=="string"?i.rowId:"";return!e.has(t)||typeof i.message!="string"||!i.message.trim()?null:{...i,rowId:t,message:i.message.trim(),...typeof i.code=="string"&&i.code.trim()?{code:i.code.trim()}:{},...Array.isArray(i.colIds)?{colIds:[...new Set(i.colIds.filter(r=>typeof r=="string"&&r.length>0))]}:{}}}function uo(i,e){let t=new Map;for(let r of i??[]){let o=$n(r,e);o&&!t.has(o.rowId)&&t.set(o.rowId,o)}return[...t.values()]}function po(i,e){let t=new Set(i.map(d=>d.rowId)),r=uo(e?.conflicts,t),o=new Set(r.map(d=>d.rowId)),n=uo(e?.failures,t).filter(d=>!o.has(d.rowId)),s=new Set([...n,...r].map(d=>d.rowId)),a=e?.savedRowIds==null?null:new Set(e.savedRowIds.map(String).filter(d=>t.has(d))),l=i.filter(d=>!s.has(d.rowId)&&(a==null||a.has(d.rowId)));return{submitted:i,saved:l,failures:n,conflicts:r}}function Kn(i,e){if(e.serverData===void 0)return null;let t=i.rows.getById(e.rowId);if(!t||t.data==null)return null;let r=i.getOption("rowKey");if(r){let s=typeof r=="function"?r(e.serverData):K(e.serverData,r);return String(s)===e.rowId?{data:e.serverData,mergeIntoCurrent:!1}:null}let o=t.data;return o!=null&&e.serverData!=null&&typeof o=="object"&&typeof e.serverData=="object"?{data:o,mergeIntoCurrent:!0}:null}function fo(i,e,t){if(i.isDestroyed())return!1;if(t==="keepLocal")return!0;let r=Kn(i,e);return r?(i.editing.rollback([e.rowId]),r.mergeIntoCurrent&&Object.assign(r.data,e.serverData),i.rows.transact({update:[r.data]}),i.editing.markSaved([e.rowId]),!0):!1}function mo(i){return{setData:e=>i.setRowData(e),transact:e=>i.applyTransaction(e),transactAsync:(e,t)=>i.applyTransactionAsync(e,t),flushTransactions:()=>i.flushAsyncTransactions(),getCount:()=>i.getDisplayedRowCount(),getAt:e=>i.getRowNode(e),getById:e=>i.getNodeById(e),forEach:e=>i.forEachNode(e),forEachDisplayed:e=>i.forEachNodeAfterFilterAndSort(e),reorder:(e,t)=>i.reorderRows(e,t),isRemote:()=>i.isInfinite(),reload:e=>i.reload(e),ensureLoaded:(e,t,r)=>i.ensureRowsLoaded(e,t,r),purgeCache:()=>i.purgeDatasourceCache(),getCacheSnapshot:()=>i.getDatasourceCacheSnapshot()}}function go(i){return{getDefinitions:()=>i.getColumnDefs(),setDefinitions:e=>i.setColumnDefs(e),getState:()=>i.getColumnState(),setState:e=>i.setColumnState(e),resetState:()=>i.resetColumnState(),setVisible:(e,t)=>i.setColumnVisibility(e,t),setPinned:(e,t)=>i.setColumnPinned(e,t),move:(e,t)=>i.moveColumn(e,t),setWidth:(e,t)=>i.setColumnWidth(e,t),fit:e=>i.sizeColumnsToFit(e),autoSize:(e,t)=>i.autoSizeColumn(e,t),autoSizeAll:e=>i.autoSizeAllColumns(e),getWorkbenchItems:()=>i.getColumnWorkbenchItems(),openWorkbench:e=>i.openColumnWorkbench(e),closeWorkbench:()=>i.closeColumnWorkbench()}}function yo(i){return{getRows:()=>i.getSelectedRows(),getVisibleRows:()=>i.getVisibleSelection(),getNodes:()=>i.getSelectedNodes(),getIds:()=>i.getSelectedIds(),setRows:(e,t)=>i.setSelection(e,t),setById:(e,t,r)=>i.selectNodeById(e,t,r),selectAll:e=>i.selectAll(e),clear:()=>i.deselectAll(),getMode:()=>i.getRowSelection(),setMode:e=>i.setRowSelection(e),getRange:()=>i.getRangeSelection(),clearRange:()=>i.clearRangeSelection()}}function vo(i){return{startCell:e=>i.startEditingCell(e),startRow:e=>i.startEditingRow(e),isRowActive:e=>i.isRowEditing(e),stop:e=>i.stopEditing(e?.cancel===!0),getChanges:()=>i.getChanges(),getDirtyRowIds:()=>i.getDirtyRowIds(),markSaved:e=>i.markChangesSaved(e),rollback:e=>i.rollbackChanges(e),save:(e,t)=>i.saveEditingChanges(e,t),undo:()=>i.undo(),redo:()=>i.redo(),canUndo:()=>i.canUndo(),canRedo:()=>i.canRedo()}}function wo(i){return{get:()=>i.getState(),apply:(e,t)=>i.applyState(e,t)}}function bo(i){return{get:()=>i.getDiagnostics(),getPerformance:()=>i.getPerformanceSnapshot(),resetPerformance:()=>i.resetPerformanceMetrics()}}function Co(i){return{getModel:()=>i.getFilterModel(),setModel:e=>i.setFilterModel(e),getAdvancedModel:()=>i.getAdvancedFilterModel(),setAdvancedModel:e=>i.setAdvancedFilterModel(e),getQuickText:()=>i.getQuickFilter(),setQuickText:e=>i.setQuickFilter(e),isPresent:e=>e==null?Object.keys(i.getFilterModel()).length>0||i.getAdvancedFilterModel()!=null||i.getQuickFilter()!=null:i.isColumnFilterPresent(e)}}function To(i){return{getModel:()=>i.getSortModel(),setModel:e=>i.setSortModel(e)}}function Ro(i){return{isEnabled:()=>i.paginationEnabled(),setEnabled:e=>i.setPaginationEnabled(e),getPage:()=>i.getPage(),setPage:e=>i.setPage(e),getPageSize:()=>i.getPageSize(),setPageSize:e=>i.setPageSize(e),getPageCount:()=>i.getPageCount(),getTotalRowCount:()=>i.getTotalRowCount()}}function Do(i){return{isRowExpanded:e=>i.isRowExpanded(e),setRowExpanded:(e,t)=>i.isRowExpanded(e)===t?!1:(t?i.expandRow(e):i.collapseRow(e),i.isRowExpanded(e)===t),isTreeRowLoading:e=>i.isTreeRowLoading(e),loadTreeChildren:(e,t)=>i.loadTreeChildren(e,t),isGroupExpanded:e=>i.isGroupExpanded(e),setGroupExpanded:(e,t)=>i.isGroupExpanded(e)===t?!1:(i.toggleRowGroup(e),i.isGroupExpanded(e)===t),setAllGroupsExpanded:e=>e?i.expandAllGroups():i.collapseAllGroups(),setAllDetailsExpanded:e=>e?i.expandAllDetails():i.collapseAllDetails()}}function Eo(i){return{getRoot:()=>i.getRootElement(),scrollToRow:(e,t)=>i.scrollToIndex(e,t),refreshCells:e=>i.refreshCells(e),refreshLayout:()=>i.refreshLayout(),flush:()=>i.flushUpdates(),setOverlay:e=>i.setOverlay(e),getPinnedRows:e=>e==="top"?i.getPinnedTopRowData():i.getPinnedBottomRowData(),setPinnedRows:(e,t)=>e==="top"?i.setPinnedTopRowData(t):i.setPinnedBottomRowData(t)}}function So(i){return{exportCsv:e=>i.getDataAsCsv(e),importCsv:(e,t)=>i.importCsv(e,t),print:e=>i.print(e),copyRange:()=>i.copyRangeToClipboard()}}function Ee(i){if(i?.reason instanceof Error)return i.reason;let e=new Error(typeof i?.reason=="string"?i.reason:"The operation was aborted");return e.name="AbortError",e}function xo(i,e){return e?e.aborted?Promise.reject(Ee(e)):new Promise((t,r)=>{let o=()=>r(Ee(e));e.addEventListener("abort",o,{once:!0}),i.then(t,r).finally(()=>e.removeEventListener("abort",o))}):i}function qn(){return{datasourceChanged:!1,filterChanged:!1,needsCellRefresh:!1,needsColumnRebuild:!1,needsHeaderRebuild:!1,needsPoolRebuild:!1,needsRelayout:!1,needsRowRebuild:!1,needsStateLoad:!1,needsSummaryRefresh:!1,needsFeatureReload:!1}}function R(i,e){return Object.prototype.hasOwnProperty.call(i,e)}function I(i,e,t=!1){if(!(typeof i!="number"||!Number.isFinite(i)||i<e))return t?Math.floor(i):i}function De(i,e,t,r=!1){let o=I(i,t,r);return o===void 0||o===e?void 0:o}var ar=class{constructor(e){this.core=e;this.we=null;this.Be=[];this.W=null}connectPublicApi(e){if(this.cr)throw new Error("[MachTable] Grid API is already connected.");this.cr=e}batch(e){let t=this.cr;if(!t)throw new Error("[MachTable] Grid API is not connected.");return this.core.batchUpdates(()=>e(t))}flushUpdates(){this.core.updateScheduler.flush()}whenReady(){return this.core.whenReady()}getRootElement(){return this.core.isDestroyed()?null:this.core.skeleton.root}setRowData(e){this.core.isDestroyed()||(this.core.options.rowData=e??[],!this.core.rowModel.isInfinite&&(this.core.rowModel.setRowData(e),this.core.requestUpdate({data:!0})))}applyTransaction(e){if(this.core.isDestroyed()||this.core.rowModel.isInfinite)return;let t=this.core.rowModel.applyTransaction(e);this.Eo(t)}applyTransactionAsync(e,t={}){if(this.core.isDestroyed()||this.core.rowModel.isInfinite)return Promise.resolve();if(t.signal?.aborted)return Promise.reject(Ee(t.signal));let r=new Promise((o,n)=>{let s={transaction:e,resolve:o,reject:n,signal:t.signal,aborted:!1};t.signal&&(s.onAbort=()=>{s.aborted||(s.aborted=!0,n(Ee(t.signal)))},t.signal.addEventListener("abort",s.onAbort,{once:!0})),this.Be.push(s)});return this.W==null&&(this.W=setTimeout(()=>this.flushAsyncTransactions(),this.core.options.asyncTransactionWaitMillis)),r}flushAsyncTransactions(){this.W!=null&&clearTimeout(this.W),this.W=null;let e=this.Be;this.Be=[];let t=e.filter(r=>!r.aborted).map(r=>r.transaction);if(t.length>0&&!this.core.isDestroyed()&&!this.core.rowModel.isInfinite){let r=this.core.rowModel.applyTransactions(t);this.Eo(r)}for(let r of e)r.signal&&r.onAbort&&r.signal.removeEventListener("abort",r.onAbort),r.aborted||r.resolve()}Eo(e){if(e.pipelineChanged){this.core.requestUpdate({data:!0});return}e.updatedRowIds.length!==0&&this.core.requestUpdate({cells:{rowIds:e.updatedRowIds},summary:!0,overlays:!0})}getColumnDefs(){return this.core.columnModel.getColumnDefs()}setColumnDefs(e){this.core.isDestroyed()||(this.core.options.columnDefs=e??[],this.core.columnModel.setColumnDefs(e),this.core.loadPersistedGridState(),this.core.onColumnsStructureChanged(),this.core.rowModel.isInfinite?this.core.rowModel.onServerParamsChanged():(this.core.rowModel.refreshPipeline(),this.core.requestUpdate({data:!0})))}getColumnState(){return this.core.columnModel.getColumnState()}setColumnState(e){this.core.isDestroyed()||(this.core.columnModel.applyColumnState(e),this.core.onColumnsStructureChanged())}resetColumnState(){this.core.isDestroyed()||(this.core.columnModel.resetColumnState(),this.core.onColumnsStructureChanged())}setColumnVisibility(e,t){this.core.isDestroyed()||(this.core.columnModel.setColumnVisibility(e,t),this.core.onColumnsStructureChanged(),this.core.emit("columnVisibilityChanged",{colId:e,visible:t}))}moveColumn(e,t){this.core.isDestroyed()||this.core.moveColumn(e,t)}setColumnPinned(e,t){this.core.isDestroyed()||(this.core.columnModel.setColumnPinned(e,t),this.core.onColumnsStructureChanged())}setColumnWidth(e,t){if(this.core.isDestroyed())return!1;let r=this.core.columnModel.getColumn(e);return!r||!this.core.columnModel.setColumnWidth(r,t)?!1:(this.core.relayoutColumns(),this.core.commitColumnWidths([r]),!0)}sizeColumnsToFit(e){if(this.core.isDestroyed())return;let t=this.core.columnModel.getOrderedVisible(),r=t.filter(d=>d.pinned===null&&!d.colDef.suppressSizeToFit);if(r.length===0)return;let o=e??this.core.skeleton.measureViewportWidth();if(!Number.isFinite(o)||o<=0)return;let n=t.reduce((d,c)=>d+(c.pinned!==null||c.colDef.suppressSizeToFit?c.currentWidth:0),0),s=Pe(r.map(d=>({width:d.currentWidth,minWidth:d.colDef.minWidth,maxWidth:d.colDef.maxWidth})),Math.max(0,o-n)),a=this.core.options.columnLayout==="fit"&&e===void 0,l=r.filter((d,c)=>a?this.core.columnModel.setContentWidth(d,s[c]):this.core.columnModel.setColumnWidth(d,s[c]));this.core.relayoutColumns(),this.core.commitColumnWidths(l)}autoSizeColumn(e,t=!1){if(this.core.isDestroyed())return;let r=this.core.columnModel.getColumn(e);r&&this.So(r,t)&&(this.core.relayoutColumns(),this.core.commitColumnWidths([r]))}So(e,t){var c;if(this.core.options.columnLayout==="fit"&&e.colDef.suppressSizeToFit)return!1;if(e.hasCheckbox||e.isDetailToggle)return this.core.columnModel.setColumnWidth(e,e.isDetailToggle?38:46);this[c="we"]??(this[c]=document.createElement("canvas"));let r=this.we.getContext("2d");if(!r)return!1;let o=window.getComputedStyle(this.core.skeleton.root);r.font=`${o.fontStyle} ${o.fontWeight} ${o.fontSize} ${o.fontFamily}`;let n=0,s=u=>{if(!u)return;let h=r.measureText(u).width;h>n&&(n=h)};t||s(e.colDef.headerName??e.colDef.field??e.id);let a=this.core.rowModel.getAllNodes(),l=Math.min(a.length,2e3);for(let u=0;u<l;u++)s($(this.core,a[u],e));let d=(e.sortable?20:0)+(e.filterable?28:0)+(this.core.options.columnMenu?22:0)+28;return this.Yn(e,Math.ceil(n)+d)}Yn(e,t){return this.core.options.columnLayout==="fit"?this.core.columnModel.setContentWidth(e,t):this.core.columnModel.setColumnWidth(e,t)}autoSizeAllColumns(e){if(this.core.isDestroyed())return;let t=[];for(let r of this.core.columnModel.getOrderedVisible())this.So(r,e??!1)&&t.push(r);t.length>0&&(this.core.relayoutColumns(),this.core.commitColumnWidths(t))}getSortModel(){return this.core.columnModel.getSortModel()}setSortModel(e){this.core.isDestroyed()||(this.core.columnModel.applySortModel(e),this.core.applySortModel())}getFilterModel(){return this.core.rowModel.getFilterModel()}setFilterModel(e){if(!this.core.isDestroyed()){if(this.core.rowModel.setFilterModel(e),this.core.headerRenderer.refreshFilterIcons(),this.vt(),this.core.rowModel.isInfinite){this.core.rowModel.onServerParamsChanged();return}this.core.rowModel.refreshPipeline(),this.core.requestUpdate({data:!0})}}getAdvancedFilterModel(){return this.core.rowModel.getAdvancedFilterModel()}setAdvancedFilterModel(e){if(!(this.core.isDestroyed()||!this.core.rowModel.setAdvancedFilterModel(e))){if(this.vt(),this.core.rowModel.isInfinite){this.core.rowModel.onServerParamsChanged();return}this.core.rowModel.refreshPipeline(),this.core.requestUpdate({data:!0})}}vt(){this.core.emit("filterChanged",{filterModel:this.core.rowModel.getFilterModel(),advancedFilterModel:this.core.rowModel.getAdvancedFilterModel()})}isColumnFilterPresent(e){return Object.prototype.hasOwnProperty.call(this.core.rowModel.getFilterModel(),e)}setQuickFilter(e){this.core.isDestroyed()||(this.core.options.quickFilterText=e!=null&&e.trim()!==""?e:null,this.core.rowModel.setQuickFilter(e)&&this.core.applyQuickFilter())}getQuickFilter(){return this.core.rowModel.getQuickFilter()}getRowSelection(){return this.core.options.rowSelection}setRowSelection(e){this.core.isDestroyed()||this.core.options.rowSelection!==e&&(this.core.options.rowSelection=e,e==="none"&&this.deselectAll(),this.core.headerRenderer.build(),this.core.bodyRenderer.rebuildPool())}getSelectedNodes(){return this.core.selectionService.getSelectedNodes()}getSelectedRows(){return this.core.selectionService.getSelectedRows()}selectNodeById(e,t=!0,r=!0){this.core.selectionService.selectNodeById(e,t,r)}selectAll(e=!0){this.core.selectionService.selectAll(e)}deselectAll(){this.core.selectionService.deselectAll()}getDisplayedRowCount(){return this.core.rowModel.getDisplayedRowCount()}getRowNode(e){return this.core.rowModel.getDisplayedRow(e)}getNodeById(e){return this.core.rowModel.getNodeById(e)}forEachNode(e){this.core.rowModel.forEachNode(e)}forEachNodeAfterFilterAndSort(e){this.core.rowModel.forEachNodeAfterFilterAndSort(e)}scrollToIndex(e,t="top"){this.core.bodyRenderer.scrollToIndex(e,t)}expandRow(e){return this.core.isDestroyed()?!1:this.core.rowModel.expandRow(e)}collapseRow(e){return this.core.isDestroyed()?!1:this.core.rowModel.collapseRow(e)}toggleDetailRow(e){return this.core.isDestroyed()?!1:this.core.rowModel.toggleDetail(e)}isRowExpanded(e){return this.core.rowModel.isRowExpanded(e)}expandAllDetails(){this.core.isDestroyed()||this.core.rowModel.expandAllDetails()}collapseAllDetails(){this.core.isDestroyed()||this.core.rowModel.collapseAllDetails()}loadTreeChildren(e,t={}){return this.core.isDestroyed()?Promise.resolve([]):this.core.rowModel.loadTreeChildren(e,t.force===!0)}isTreeRowLoading(e){return!this.core.isDestroyed()&&this.core.rowModel.isTreeRowLoading(e)}toggleRowGroup(e){return this.core.isDestroyed()?!1:this.core.rowModel.toggleGroup(e)}reorderRows(e,t){return this.core.isDestroyed()||this.core.editingService.isEditing()?!1:this.core.rowModel.reorderRowsByDisplayed(e,t)}isGroupExpanded(e){return this.core.rowModel.isGroupExpanded(e)}expandAllGroups(){this.core.isDestroyed()||this.core.rowModel.expandAllGroups()}collapseAllGroups(){this.core.isDestroyed()||this.core.rowModel.collapseAllGroups()}setSelection(e,t=!0){if(this.core.isDestroyed())return;let r=this.core.options.resolveRowId,o=[];for(let n of e){let s=r?this.core.rowModel.getNodeById(this.core.rowModel.resolveRowId(n,-1,`__missing_selection_${this.core.nextId()}`)):this.core.rowModel.getAllNodes().find(a=>a.data===n);s&&o.push({node:s,selected:!0})}o.length>0?this.core.selectionService.applySelectionPublic(o,t):t&&this.deselectAll()}getVisibleSelection(){let e=new Set(this.core.selectionService.getSelectedNodes().map(t=>t.id));return this.core.rowModel.getDisplayedRows().filter(t=>!t.isDetail&&!t.isGroup&&e.has(t.id)).map(t=>t.data).filter(Boolean)}getSelectedIds(){return this.core.selectionService.getSelectedIds()}undo(){return this.core.isDestroyed()?!1:this.core.undoService.undo()}redo(){return this.core.isDestroyed()?!1:this.core.undoService.redo()}canUndo(){return this.core.undoService.canUndo()}canRedo(){return this.core.undoService.canRedo()}getDirtyRowIds(){return this.core.changeTracker.getDirtyRowIds()}getChanges(){return this.core.changeTracker.getChanges()}markChangesSaved(e){this.core.changeTracker.markSaved(e)}async saveEditingChanges(e,t){let r=ho(this.core.changeTracker.getChanges(),t);if(r.length===0)return{submitted:[],saved:[],failures:[],conflicts:[]};let o=po(r,await e(r));return this.core.isDestroyed()||this.core.changeTracker.acknowledge(o.saved),o}rollbackChanges(e){return this.core.changeTracker.rollback(e)}setPinnedTopRowData(e){this.core.isDestroyed()||(this.core.options.pinnedTopRowData=e??[],this.core.pinnedRowsRenderer.setTopData(this.core.options.pinnedTopRowData))}getPinnedTopRowData(){return this.core.pinnedRowsRenderer.getTopData()}setPinnedBottomRowData(e){this.core.isDestroyed()||(this.core.options.pinnedBottomRowData=e??[],this.core.pinnedRowsRenderer.setBottomData(this.core.options.pinnedBottomRowData))}getPinnedBottomRowData(){return this.core.pinnedRowsRenderer.getBottomData()}getRangeSelection(){return this.core.bodyRenderer.getRangeSelection()}clearRangeSelection(){this.core.isDestroyed()||this.core.bodyRenderer.clearRangeSelection()}copyRangeToClipboard(){return this.core.isDestroyed()?Promise.resolve(!1):this.core.copyActiveRange()}openColumnWorkbench(e){this.core.isDestroyed()||this.core.columnMenu.openStandalone(e)}closeColumnWorkbench(){this.core.columnMenu.close()}getColumnWorkbenchItems(){return this.core.columnModel.getColumns().filter(e=>!e.isDetailToggle).map(e=>({colId:e.id,label:e.colDef.headerName??e.colDef.field??e.id,visible:!e.hide,pinned:e.pinned,width:e.currentWidth||e.manualWidth||e.colDef.width||0,movable:e.movable,hideable:!e.hasCheckbox}))}refreshLayout(){this.core.isDestroyed()||(this.core.relayout(),this.core.bodyRenderer.syncScroll(!0))}isInfinite(){return this.core.rowModel.isInfinite}reload(e={}){return this.core.isDestroyed()?Promise.resolve():e.signal?.aborted?Promise.reject(Ee(e.signal)):this.core.rowModel.isInfinite?xo(this.core.rowModel.reloadInfinite(e.signal),e.signal):(this.core.rowModel.setRowData(this.core.options.rowData),this.core.requestUpdate({data:!0}),Promise.resolve())}ensureRowsLoaded(e,t,r={}){return this.core.isDestroyed()?Promise.resolve():xo(this.core.rowModel.ensureRowsLoaded(e,t,r.signal),r.signal)}purgeDatasourceCache(){this.core.isDestroyed()||this.core.rowModel.purgeDatasourceCache()}getDatasourceCacheSnapshot(){return this.core.rowModel.getDatasourceCacheSnapshot()}paginationEnabled(){return this.core.rowModel.paginationActive}setPaginationEnabled(e){this.core.isDestroyed()||this.core.rowModel.setPaginationEnabled(e)}getPage(){return this.core.rowModel.getCurrentPage()}setPage(e){this.core.isDestroyed()||this.core.rowModel.setPage(e)}getPageSize(){return this.core.options.paginationPageSize}setPageSize(e){this.core.isDestroyed()||this.core.rowModel.setPageSize(e)}getPageCount(){return this.core.rowModel.getPageCount()}getTotalRowCount(){return this.core.rowModel.getTotalRowCount()}importCsv(e,t={}){if(this.core.isDestroyed()||!e)return!1;let r=qe(e,t.separator??",");if(r.length===0)return!1;let o=r[t.headerRowIndex??0]??[],n=r.slice((t.headerRowIndex??0)+1).filter(c=>c.some(u=>u!=="")),s=t.mode??"replace";if(s==="paste")return this.core.pasteText(de(n,!1),0,0),!0;let a=this.core.columnModel.getOrderedVisible().filter(c=>c.colDef.field),l=this.Xn(o,a),d=this.Jn(n,l,t);return s==="append"?this.core.rowModel.applyTransaction({add:d}):this.core.rowModel.setRowData(d),this.core.requestUpdate({data:!0}),!0}Xn(e,t){let r=new Map;for(let n of t){let s=n.colDef.field;s&&(r.set(String(n.colDef.headerName??s),s),r.set(s,s))}e.length>0&&(e[0]=e[0].replace(/^\uFEFF/,""));let o=e.map((n,s)=>({field:r.get(String(n).trim())??null,index:s})).filter(n=>n.field!=null);return o.length>0?o:t.map((n,s)=>({field:n.colDef.field,index:s}))}Jn(e,t,r){return e.map((o,n)=>{let s={};return t.forEach(({field:a,index:l})=>{let d=o[l];if(d===void 0)return;let c=this.Qn(d,a,n,l,r);Z(s,a,c)||this.core.reportError(new Error(`Unsafe CSV field: ${a}`),"csv.import",{field:a})}),s})}Qn(e,t,r,o,n){if(n.parseValue)try{return n.parseValue({value:e,field:t,rowIndex:r,columnIndex:o})}catch(l){return this.core.reportError(l,"csv.parseValue",{field:t,rowIndex:r,columnIndex:o}),e}if(e==="")return null;let s=/^[+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:[eE][+-]?\d+)?$/.test(e),a=/^[+-]?0\d/.test(e);return n.coerceNumbers!==!1&&s&&!a?Number(e):e}print(e={}){if(this.core.isDestroyed())return!1;try{let t=window.open("","_blank","width=980,height=720");if(!t)return!1;let r=this.core.columnModel.getOrderedVisible().filter(d=>!d.hasCheckbox&&!d.isDetailToggle&&!d.colDef.rowDrag),o=this.core.rowModel.getPipelineRows().filter(d=>!d.isDetail&&!d.isGroup),s=e.includeHeader!==!1?`<tr>${r.map(d=>`<th>${re(d.colDef.headerName??d.colDef.field??d.id)}</th>`).join("")}</tr>`:"",a=o.map(d=>`<tr>${r.map(c=>{let u=$(this.core,d,c);return`<td>${re(u)}</td>`}).join("")}</tr>`).join(""),l=`<!doctype html><html><head><meta charset="utf-8"><title>${re(e.title??"MachTable")}</title><style>body{font-family:system-ui,"PingFang SC","Microsoft YaHei",sans-serif;padding:20px}h3{margin:0 0 12px;font-size:16px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{border:1px solid #bbb;padding:5px 8px;text-align:left;word-break:break-all}th{background:#f2f5f9;font-weight:600}@page{margin:12mm}</style></head><body><h3>${re(e.title??"")}</h3><table>${s}${a}</table></body></html>`;return t.document.write(l),t.document.close(),t.focus(),t.print(),!0}catch{return!1}}startEditingCell(e){let t=this.core.columnModel.getColumn(e.colId);return t?this.core.editingService.start(e.rowIndex,t,e.keyPress??null):!1}startEditingRow(e){return this.core.editingService.startRow(e)}isRowEditing(e){return this.core.editingService.isRowEditing(e)}stopEditing(e){return this.core.editingService.stopAsync(e??!1)}refreshCells(e){let t=e==null||e.rowIds==null&&e.rowIndexes==null&&e.columns==null;this.core.requestUpdate({cells:e??!0,pinned:e?.includePinned??t,summary:t})}getOption(e){return this.core.options[e]}updateOptions(e){this.core.isDestroyed()||(this.core.checkWarnings(e),e=no(e),Object.keys(e).length!==0&&this.core.batchUpdates(()=>{let t=qn(),r=this.core.options.columnMenu;this.Zn(e,t),this.es(e,t),this.ts(e,t),this.rs(e,t),this.os(e),this.ns(e,t),this.ss(e,t),this.as(e,t),this.ls(e,t),this.ds(e,t),this.cs(e,t,r)}))}Zn(e,t){let r=this.core.options;R(e,"columnDefs")&&e.columnDefs!==r.columnDefs&&(r.columnDefs=Array.isArray(e.columnDefs)?e.columnDefs:[],t.needsColumnRebuild=!0,t.needsRowRebuild=!0),R(e,"rowData")&&(r.rowData=Array.isArray(e.rowData)?e.rowData:[],t.needsRowRebuild=!0),R(e,"initialState")&&e.initialState&&(r.initialState=e.initialState,t.stateToApply=e.initialState),this.us(e)}us(e){for(let t of j){let r=`on${t.charAt(0).toUpperCase()}${t.slice(1)}`;R(e,r)&&Object.assign(this.core.options,{[r]:e[r]})}}es(e,t){let r=this.core.options,o=De(e.rowHeight,r.rowHeight,1),n=De(e.headerHeight,r.headerHeight,1),s=De(e.rowBuffer,r.rowBuffer,0,!0),a=De(e.detailRowHeight,r.detailRowHeight,1);o!==void 0&&(r.rowHeight=o,t.needsRelayout=!0),n!==void 0&&(r.headerHeight=n,t.needsRelayout=!0,t.needsHeaderRebuild=!0),s!==void 0&&(r.rowBuffer=s,t.needsRelayout=!0),e.columnLayout!=null&&e.columnLayout!==r.columnLayout&&(r.columnLayout=e.columnLayout==="fit"?"fit":"normal",t.needsRelayout=!0),e.domLayout!=null&&e.domLayout!==r.domLayout&&(r.domLayout=e.domLayout==="autoHeight"?"autoHeight":"normal",this.core.skeleton.applyDomLayout(r.domLayout),t.needsPoolRebuild=!0),e.multiSort!=null&&(r.multiSort=e.multiSort),a!==void 0&&(r.detailRowHeight=a,this.core.bodyRenderer.applyContainerSizes(),this.core.bodyRenderer.updateRange(!0))}ts(e,t){let r=this.core.options;e.editType!=null&&e.editType!==r.editType&&(this.core.editingService.stop(!0),r.editType=e.editType==="fullRow"?"fullRow":"cell",t.needsCellRefresh=!0),e.editableIndicator!=null&&e.editableIndicator!==r.editableIndicator&&(r.editableIndicator=e.editableIndicator==="always"||e.editableIndicator==="none"?e.editableIndicator:"hover",t.needsCellRefresh=!0),R(e,"rowEditValidator")&&(r.rowEditValidator=e.rowEditValidator),e.singleClickEdit!=null&&(r.singleClickEdit=e.singleClickEdit),e.manualSorting!=null&&(r.manualSorting=e.manualSorting),e.manualFiltering!=null&&(r.manualFiltering=e.manualFiltering)}rs(e,t){let r=this.core.options;typeof e.enableColumnResize=="boolean"&&e.enableColumnResize!==r.enableColumnResize&&(this.core.resizeService.cancelResize(),r.enableColumnResize=e.enableColumnResize,t.needsHeaderRebuild=!0),e.locale!=null&&e.locale!==r.locale&&(r.locale=e.locale,t.needsHeaderRebuild=!0,t.needsCellRefresh=!0,this.core.paginationBar.rebuild(),this.core.statusBarService.rebuild()),e.indexOffset!=null&&e.indexOffset!==r.indexOffset&&(r.indexOffset=e.indexOffset,t.needsCellRefresh=!0),e.showSummary!=null&&e.showSummary!==r.showSummary&&(r.showSummary=e.showSummary,t.needsSummaryRefresh=!0,t.needsRelayout=!0);let o=De(e.undoStackSize,r.undoStackSize,0,!0);o!==void 0&&(r.undoStackSize=o,this.core.undoService.trimToSize());let n=I(e.asyncTransactionWaitMillis,0,!0);n!==void 0&&(r.asyncTransactionWaitMillis=n),this.hs(e,t),this.ps(e)}hs(e,t){if(!R(e,"getRowHeight"))return;let r=this.core.options.getRowHeight!==e.getRowHeight;this.core.options.getRowHeight=e.getRowHeight,r&&this.core.bodyRenderer.invalidateAllRowHeights(),t.needsRelayout=!0}ps(e){let t=this.core.options;e.enableRangeSelection!=null&&(t.enableRangeSelection=e.enableRangeSelection,e.enableRangeSelection||this.clearRangeSelection()),R(e,"tooltipComponent")&&(t.tooltipComponent=e.tooltipComponent);let r=I(e.tooltipShowDelay,0);r!==void 0&&(t.tooltipShowDelay=r),e.flashCells!=null&&(t.flashCells=e.flashCells),R(e,"getContextMenuItems")&&(t.getContextMenuItems=e.getContextMenuItems),e.theme!=null&&e.theme!==t.theme&&(t.theme=e.theme,this.core.skeleton.applyTheme(e.theme),this.core.watermarkService.refresh())}os(e){if(e.pagination===void 0)return;let t=this.core.options,r=e.pagination,o=r!==!1&&t.datasource==null;o!==t.paginationEnabled&&this.core.rowModel.setPaginationEnabled(o),typeof r=="object"&&r&&this.fs(r),t.paginationEnabled&&this.core.rowModel.onPaginationOptionsChanged(),this.core.paginationBar.rebuild()}fs(e){let t=this.core.options;t.paginationMode=e.mode==="server"?"server":"client";let r=I(e.page,1,!0),o=I(e.total,0,!0);r!==void 0&&(t.paginationPage=r),o!==void 0&&(t.paginationTotal=o),e.pageSize!=null&&(t.paginationPageSize=e.pageSize),e.pageSizeOptions!=null&&(t.paginationPageSizeOptions=e.pageSizeOptions),e.showTotal!=null&&(t.paginationShowTotal=e.showTotal),e.showPageSizeSelector!=null&&(t.paginationShowSizeSelector=e.showPageSizeSelector)}ns(e,t){R(e,"rowStyleRules")&&(this.core.options.rowStyleRules=Array.isArray(e.rowStyleRules)?e.rowStyleRules:[],t.needsCellRefresh=!0,this.core.requestUpdate({pinned:!0})),this.ms(e,t),this.gs(e,t);let r=this.core.options;e.stripedRows!=null&&e.stripedRows!==r.stripedRows&&(r.stripedRows=e.stripedRows,this.core.skeleton.setStriped(e.stripedRows)),e.showCellBorders!=null&&e.showCellBorders!==r.showCellBorders&&(r.showCellBorders=e.showCellBorders,this.core.skeleton.setCellBorders(e.showCellBorders))}ms(e,t){let r=this.core.options;e.watermark!==void 0&&(r.watermarkEnabled=e.watermark!=null&&e.watermark!==!1,r.watermarkConfig=e.watermark==null||e.watermark===!1?null:e.watermark===!0?{text:"MachTable"}:e.watermark,this.core.watermarkService.refresh()),this.ys(e),R(e,"summaryMethod")&&(r.summaryMethod=e.summaryMethod,t.needsSummaryRefresh=!0)}ys(e){let t=this.core.options;e.suppressClipboard!=null&&(t.suppressClipboard=e.suppressClipboard),e.contextMenu!=null&&(t.contextMenu=e.contextMenu),e.columnMenu!=null&&(t.columnMenu=e.columnMenu),e.fillHandle!=null&&(t.fillHandle=e.fillHandle),e.statusBar!==void 0&&(t.statusBarEnabled=e.statusBar===!0||typeof e.statusBar=="object"&&e.statusBar!=null,typeof e.statusBar=="object"&&e.statusBar?.panels&&(t.statusBarPanels=e.statusBar.panels),this.core.statusBarService.rebuild())}gs(e,t){let{size:r}=e;if(r==null||!R(ye,r)||r===this.core.options.size)return;let o=ye[r];this.core.options.size=r,this.core.options.rowHeight=e.rowHeight??o.rowHeight,this.core.options.headerHeight=e.headerHeight??o.headerHeight,this.core.skeleton.applySize(r),t.needsRelayout=!0,t.needsHeaderRebuild=!0}ss(e,t){let r=this.core.options;e.suppressCellFocus!=null&&(r.suppressCellFocus=e.suppressCellFocus),e.suppressRowHoverHighlight!=null&&(r.suppressRowHoverHighlight=e.suppressRowHoverHighlight),e.suppressNoRowsOverlay!=null&&(r.suppressNoRowsOverlay=e.suppressNoRowsOverlay),e.suppressHeaderFocus!=null&&e.suppressHeaderFocus!==r.suppressHeaderFocus&&(r.suppressHeaderFocus=e.suppressHeaderFocus,t.needsHeaderRebuild=!0),this.vs(e),this.ws(e)}vs(e){let t=this.core.options,r=!1;R(e,"ariaLabel")&&(t.ariaLabel=e.ariaLabel??"MachTable data grid",r=!0),R(e,"ariaLabelledBy")&&(t.ariaLabelledBy=e.ariaLabelledBy??"",r=!0),R(e,"ariaDescribedBy")&&(t.ariaDescribedBy=e.ariaDescribedBy??"",r=!0),r&&this.core.skeleton.applyAriaLabels(t)}ws(e){let t=this.core.options;R(e,"overlayNoRowsTemplate")&&(t.overlayNoRowsTemplate=e.overlayNoRowsTemplate??""),R(e,"overlayLoadingTemplate")&&(t.overlayLoadingTemplate=e.overlayLoadingTemplate??""),R(e,"overlayErrorTemplate")&&(t.overlayErrorTemplate=e.overlayErrorTemplate??""),e.allowUnsafeOverlayHtml!=null&&(t.allowUnsafeOverlayHtml=e.allowUnsafeOverlayHtml),R(e,"className")&&(t.className=e.className??"",this.core.skeleton.setCustomClass(t.className)),e.loading!=null&&(t.loading=e.loading),R(e,"error")&&(t.error=e.error??null)}as(e,t){this.bs(e,t),this.Cs(e,t);let r=this.core.options;e.autoCheckedChildren!=null&&(r.autoCheckedChildren=e.autoCheckedChildren),e.defaultExpandAll!=null&&e.defaultExpandAll!==r.defaultExpandAll&&(r.defaultExpandAll=e.defaultExpandAll,t.needsRowRebuild=!0),R(e,"advancedFilterModel")&&(t.filterChanged=this.core.rowModel.setAdvancedFilterModel(e.advancedFilterModel)||t.filterChanged),e.applyRowDrag!=null&&(r.applyRowDrag=e.applyRowDrag,t.needsCellRefresh=!0),e.suppressWarnings!=null&&(r.suppressWarnings=e.suppressWarnings)}bs(e,t){let r=this.core.options;if(e.rowSelection!=null&&e.rowSelection!==r.rowSelection&&(r.rowSelection=e.rowSelection,e.rowSelection==="none"&&this.deselectAll(),t.needsHeaderRebuild=!0,t.needsPoolRebuild=!0,this.core.refreshAriaState()),e.quickFilterText!==void 0&&this.setQuickFilter(e.quickFilterText),e.defaultColDef!==void 0&&e.defaultColDef!==r.defaultColDef&&(r.defaultColDef={..._t,...e.defaultColDef},t.needsColumnRebuild=!0),R(e,"columnTypes")&&e.columnTypes!==r.columnTypes&&(r.columnTypes=e.columnTypes??{},t.needsColumnRebuild=!0),R(e,"rowKey")){r.rowKey=e.rowKey;let o=e.rowKey;r.resolveRowId=o?({data:n})=>Wt(o,n):void 0,t.needsRowRebuild=!0}}Cs(e,t){let r=this.core.options;e.masterDetail!=null&&e.masterDetail!==r.masterDetail&&(r.masterDetail=e.masterDetail,t.needsColumnRebuild=!0,t.needsRowRebuild=!0),e.detailToggleColumn!=null&&e.detailToggleColumn!==r.detailToggleColumn&&(r.detailToggleColumn=e.detailToggleColumn,t.needsColumnRebuild=!0),e.treeData!=null&&e.treeData!==r.treeData&&(r.treeData=e.treeData,t.needsRowRebuild=!0,t.needsColumnRebuild=!0,this.core.refreshAriaState()),e.childrenKey!=null&&e.childrenKey!==r.childrenKey&&(r.childrenKey=e.childrenKey,t.needsRowRebuild=!0),R(e,"isTreeRowExpandable")&&(r.isTreeRowExpandable=e.isTreeRowExpandable,t.needsCellRefresh=!0),R(e,"loadTreeChildren")&&(r.loadTreeChildren=e.loadTreeChildren,t.needsCellRefresh=!0)}ls(e,t){let r=this.core.options;R(e,"aggFuncs")&&(r.aggFuncs=e.aggFuncs,t.needsRowRebuild=!0),R(e,"components")&&(r.components=e.components,t.needsCellRefresh=!0),R(e,"actionPolicy")&&(r.actionPolicy=e.actionPolicy,t.needsCellRefresh=!0),R(e,"features")&&(r.features=Array.isArray(e.features)?e.features:[],t.needsFeatureReload=!0),this.Ts(e,t),this.Rs(e,t)}Ts(e,t){let r=this.core.options;R(e,"dataProcessor")&&e.dataProcessor!==r.dataProcessor&&(r.dataProcessor?.destroy?.(),r.dataProcessor=e.dataProcessor,t.needsRowRebuild=!0);let o=I(e.dataProcessorMinRows,1,!0);o!==void 0&&o!==r.dataProcessorMinRows&&(r.dataProcessorMinRows=o,t.needsRowRebuild=!0)}Rs(e,t){let r=this.core.options;if(!R(e,"persistence"))return;let o=e.persistence;!o||typeof o.key!="string"||!o.key.trim()?r.persistence=null:r.persistence={key:o.key.trim(),debounceMs:I(o.debounceMs,0,!0)??160,...o.sections?{sections:[...new Set(o.sections)]}:{},...o.store?{store:o.store}:{}},t.needsStateLoad=!0}ds(e,t){this.Ds(e,t),this.Es(e,t),this.Ss(e,t),this.xs(e)}Ds(e,t){let r=this.core.options,o=I(e.blockSize,1,!0),n=I(e.infiniteBufferRows,0,!0),s=I(e.maxBlocksInCache,1,!0),a=I(e.datasourceMaxConcurrentRequests,1,!0),l=I(e.blockPrefetch,0,!0),d=I(e.datasourceRetryCount,0,!0),c=I(e.datasourceRetryDelay,0,!0),u=I(e.datasourceRetryJitter,0);o!==void 0&&o!==r.blockSize&&(r.blockSize=o,t.datasourceChanged=t.datasourceChanged||r.datasourceMode==="block"),n!==void 0&&(r.infiniteBufferRows=n),s!==void 0&&s!==r.maxBlocksInCache&&(r.maxBlocksInCache=s,t.datasourceChanged=t.datasourceChanged||r.datasourceMode==="block"),a!==void 0&&a!==r.datasourceMaxConcurrentRequests&&(r.datasourceMaxConcurrentRequests=a,t.datasourceChanged=t.datasourceChanged||r.datasourceMode==="block"),l!==void 0&&(r.blockPrefetch=l),d!==void 0&&(r.datasourceRetryCount=d),c!==void 0&&(r.datasourceRetryDelay=c),u!==void 0&&(r.datasourceRetryJitter=Math.min(1,u))}Es(e,t){let r=this.core.options;if(R(e,"datasourceMode")){let o=e.datasourceMode==="block"?"block":"sequential";o!==r.datasourceMode&&(r.datasourceMode=o,t.datasourceChanged=!0)}if(R(e,"datasourceRowCount")){let o=e.datasourceRowCount==null?null:I(e.datasourceRowCount,0,!0)??null;o!==r.datasourceRowCount&&(r.datasourceRowCount=o,t.datasourceChanged=!0)}}Ss(e,t){let r=this.core.options;R(e,"datasource")&&e.datasource!==r.datasource&&(r.datasource=e.datasource,r.paginationEnabled=e.datasource==null&&r.paginationEnabled,t.datasourceChanged=!0,this.core.paginationBar.rebuild()),R(e,"detailRowRenderer")&&(r.detailRowRenderer=e.detailRowRenderer,t.needsCellRefresh=!0),R(e,"isRowExpandable")&&(r.isRowExpandable=e.isRowExpandable,t.needsCellRefresh=!0)}xs(e){let t=this.core.options;e.pinnedTopRowData!==void 0&&(t.pinnedTopRowData=e.pinnedTopRowData??[],this.core.pinnedRowsRenderer.setTopData(t.pinnedTopRowData)),e.pinnedBottomRowData!==void 0&&(t.pinnedBottomRowData=e.pinnedBottomRowData??[],this.core.pinnedRowsRenderer.setBottomData(t.pinnedBottomRowData))}cs(e,t,r){let o=this.core.options;t.needsColumnRebuild&&(this.core.columnModel.setColumnDefs(o.columnDefs),this.core.onColumnsStructureChanged(),t.needsHeaderRebuild=!1,t.needsPoolRebuild=!1),t.needsStateLoad&&(this.core.loadPersistedGridState(),this.core.onColumnsStructureChanged()),t.needsFeatureReload&&this.core.setFeatures(o.features),this.Ms(t),t.filterChanged&&(this.vt(),!t.datasourceChanged&&!t.needsRowRebuild&&(this.core.rowModel.isInfinite?this.core.rowModel.onServerParamsChanged():(this.core.rowModel.refreshPipeline(),this.core.requestUpdate({data:!0})))),t.needsRelayout&&this.core.skeleton.updateHeights(o.rowHeight,o.headerHeight),e.columnMenu!=null&&e.columnMenu!==r&&(t.needsHeaderRebuild=!0),t.stateToApply&&this.applyState(t.stateToApply),this.core.requestUpdate({layout:t.needsRelayout,header:t.needsHeaderRebuild,pool:t.needsPoolRebuild,cells:t.needsCellRefresh&&!t.needsPoolRebuild?!0:void 0,summary:t.needsSummaryRefresh,overlays:!0})}Ms(e){if(e.datasourceChanged){this.core.rowModel.onDatasourceChanged();return}if(e.needsRowRebuild){if(this.core.rowModel.isInfinite){this.core.rowModel.onServerParamsChanged();return}this.core.rowModel.setRowData(this.core.options.rowData),this.core.requestUpdate({data:!0})}}getDataAsCsv(e={}){let t=this.core.columnModel.getOrderedVisible().filter(o=>!o.hasCheckbox&&!o.isDetailToggle);if(e.headersOnly)return Yt({getHeaderLabels:()=>t.map(o=>o.colDef.headerName??o.colDef.field??o.id),getRowValues:()=>[]},e);let r=e.onlySelected?this.core.selectionService.getSelectedNodes().slice().sort((o,n)=>o.rowIndex-n.rowIndex):e.onlyAllDisplayed?this.core.rowModel.getDisplayedRows().filter(o=>!o.isDetail&&!o.isGroup):this.core.rowModel.getPipelineRows().filter(o=>!o.isDetail&&!o.isGroup);return Yt({getHeaderLabels:()=>t.map(o=>o.colDef.headerName??o.colDef.field??o.id),getRowValues:()=>r.map(o=>t.map(n=>{let s=this.core.getCellValue(o,n);return typeof s=="number"?s:$(this.core,o,n)}))},e)}getState(){return{version:2,columns:this.getColumnState(),sortModel:this.getSortModel(),filterModel:this.getFilterModel(),advancedFilterModel:this.getAdvancedFilterModel(),quickFilterText:this.getQuickFilter(),pagination:{enabled:this.paginationEnabled(),page:this.getPage(),pageSize:this.getPageSize()},selectedRowIds:this.getSelectedIds(),expandedRowIds:this.core.rowModel.getExpandedRowIds(),expandedGroupIds:this.core.rowModel.getExpandedGroupIds()}}applyState(e,t={}){if(this.core.isDestroyed())return;let r=z(e);if(!r){this.core.reportError(new TypeError("[MachTable] GridState must use the current version 2 schema."),"gridState.apply");return}let o=["columns","sort","filter","pagination","selection","expansion"],n=new Set(t.sections??o);this.core.editingService.stop(!0),this.ks(r,n),this.As(r,n),t.emitEvents!==!1&&this.Is(n)}ks(e,t){t.has("columns")&&this.core.columnModel.applyColumnState(e.columns??[]),t.has("sort")&&this.core.columnModel.applySortModel(e.sortModel??[]),t.has("filter")&&(this.core.rowModel.setFilterModel(e.filterModel??{}),this.core.rowModel.setAdvancedFilterModel(e.advancedFilterModel),this.core.rowModel.setQuickFilter(e.quickFilterText)),t.has("expansion")&&this.core.rowModel.restoreExpansion(e.expandedRowIds??[],e.expandedGroupIds??[]),t.has("pagination")&&e.pagination&&(this.core.options.paginationEnabled=e.pagination.enabled&&!this.core.rowModel.isInfinite,this.core.rowModel.restorePagination(e.pagination.page,e.pagination.pageSize),this.core.paginationBar.rebuild())}As(e,t){t.has("columns")&&this.core.onColumnsStructureChanged(),this.core.rowModel.isInfinite?this.core.rowModel.onServerParamsChanged():(this.core.rowModel.refreshPipeline(),this.core.requestUpdate({data:!0})),this.core.headerRenderer.refreshSortIndicators(),this.core.headerRenderer.refreshFilterIcons(),t.has("selection")&&this.core.selectionService.restoreSelection(e.selectedRowIds??[])}Is(e){e.has("sort")&&this.core.emit("sortChanged",{sortModel:this.getSortModel()}),e.has("filter")&&this.vt(),e.has("pagination")&&this.core.emit("paginationChanged",{page:this.getPage(),pageSize:this.getPageSize(),pageCount:this.getPageCount(),total:this.getTotalRowCount()})}getDiagnostics(){return this.core.getDiagnostics()}getPerformanceSnapshot(){return this.core.performanceMonitor.snapshot()}resetPerformanceMetrics(){this.core.performanceMonitor.reset()}setOverlay(e){if(e==="loading"){let t=this.core.options.overlayLoadingTemplate||this.core.buildDefaultLoadingState();this.core.skeleton.showOverlay("loading",t,this.core.options.allowUnsafeOverlayHtml)}else if(e==="noRows"){let t=this.core.options.overlayNoRowsTemplate||this.core.buildDefaultEmptyState();this.core.skeleton.showOverlay("noRows",t,this.core.options.allowUnsafeOverlayHtml)}else if(e==="error"){let t=this.core.options.overlayErrorTemplate||this.core.buildDefaultErrorState();this.core.skeleton.showOverlay("error",t,this.core.options.allowUnsafeOverlayHtml)}else this.core.skeleton.hideOverlay()}on(e,t){return this.core.eventBus.on(e,t)}destroy(){this.W!=null&&clearTimeout(this.W),this.W=null;let e=this.Be;this.Be=[];for(let t of e)t.signal&&t.onAbort&&t.signal.removeEventListener("abort",t.onAbort),t.aborted||t.resolve();this.core.destroy()}isDestroyed(){return this.core.isDestroyed()}};function Mo(i){let e=new ar(i),t,r,o,n,s,a,l,d,c,u,h,p,m={get rows(){return t??(t=Object.freeze(mo(e)))},get columns(){return r??(r=Object.freeze(go(e)))},get selection(){return o??(o=Object.freeze(yo(e)))},get editing(){return n??(n=Object.freeze(vo(e)))},get filtering(){return s??(s=Object.freeze(Co(e)))},get sorting(){return a??(a=Object.freeze(To(e)))},get pagination(){return l??(l=Object.freeze(Ro(e)))},get hierarchy(){return d??(d=Object.freeze(Do(e)))},get view(){return c??(c=Object.freeze(Eo(e)))},get state(){return u??(u=Object.freeze(wo(e)))},get io(){return h??(h=Object.freeze(So(e)))},get diagnostics(){return p??(p=Object.freeze(bo(e)))},batch:v=>e.batch(v),whenReady:()=>e.whenReady(),getOption:v=>e.getOption(v),updateOptions:v=>e.updateOptions(v),on:(v,g)=>e.on(v,g),destroy:()=>e.destroy(),isDestroyed:()=>e.isDestroyed()};return e.connectPublicApi(m),Object.freeze(m)}var Un=["compact","normal","large"],vt=class{constructor(e){this.core=e;this.headerRows={left:[],center:[],right:[]};this.headerRowContainers={};this.ze=null;this.pr=null;this.fr=!1;this.bt=null;this.mr=[];this.Ct=null;this.be=0;this.xo=-1;this.Mo=-1;this.le=1;this.Ce=null}init(e,t){let r=["mach-root",`mach-size--${t.size}`];t.stripedRows&&r.push("mach-striped"),t.showCellBorders&&r.push("mach-cell-borders"),t.domLayout==="autoHeight"&&r.push("mach-dom-layout--auto-height"),this.root=f("div",r.join(" ")),this.setCustomClass(t.className),this.root.style.setProperty("--mach-row-h",`${t.rowHeight}px`),this.root.style.setProperty("--mach-header-h",`${t.headerHeight}px`),this.root.setAttribute("role","grid"),this.root.tabIndex=0,this.applyAriaLabels(t),this.headerEl=f("div","mach-header"),this.headerEl.setAttribute("role","rowgroup"),this.headerRows={left:[],center:[],right:[]},this.ur={},this.headerRowContainers={};for(let o of["left","center","right"]){let n=f("div",`mach-pane mach-pane--${o} mach-header-pane`),s=f("div","mach-header-rows");if(o==="center"){let a=f("div","mach-header-viewport");a.appendChild(s),n.appendChild(a)}else n.appendChild(s);this.headerEl.appendChild(n),this.ur[o]=n,this.headerRowContainers[o]=s}this.setHeaderRowCount(1),this.bodyEl=f("div","mach-body"),this.pinnedTopEl=f("div","mach-pinned-rows mach-pinned-rows--top"),this.pinnedTopEl.style.display="none",this.pinnedBottomEl=f("div","mach-pinned-rows mach-pinned-rows--bottom"),this.pinnedBottomEl.style.display="none",this.bodyViewports={},this.rowContainers={},this.hr={};for(let o of["left","center","right"]){let n=f("div",`mach-pane mach-pane--${o} mach-body-pane`),s=f("div",`mach-body-viewport${o==="center"?" mach-body-viewport--scroll":""}`),a=f("div","mach-row-container");s.appendChild(a),n.appendChild(s),this.bodyEl.appendChild(n),this.hr[o]=n,this.bodyViewports[o]=s,this.rowContainers[o]=a}this.L=f("div","mach-overlay"),this.L.style.display="none",this.L.setAttribute("role","status"),this.L.setAttribute("aria-live","polite"),this.P=f("div","mach-overlay-content"),this.L.appendChild(this.P),this.$=f("div","mach-infinite-loading"),this.$.style.display="none",this.$.appendChild(f("div","mach-spinner")),this.wt=f("span"),this.$.appendChild(this.wt),this.root.append(this.headerEl,this.pinnedTopEl,this.bodyEl,this.pinnedBottomEl,this.L,this.$),e.appendChild(this.root),typeof ResizeObserver<"u"&&(this.Ct=new ResizeObserver(o=>{let n=o[o.length-1]?.contentRect;if(!n)return;let s=Math.round(n.width),a=Math.round(n.height);s===this.xo&&a===this.Mo||(this.xo=s,this.Mo=a,!this.be&&(this.be=requestAnimationFrame(()=>{this.be=0,this.core.relayout()})))}),this.Ct.observe(this.root)),this.applyTheme(t.theme)}applyAriaLabels(e){e.ariaLabelledBy?(this.root.setAttribute("aria-labelledby",e.ariaLabelledBy),this.root.removeAttribute("aria-label")):(this.root.removeAttribute("aria-labelledby"),this.root.setAttribute("aria-label",e.ariaLabel)),e.ariaDescribedBy?this.root.setAttribute("aria-describedby",e.ariaDescribedBy):this.root.removeAttribute("aria-describedby")}setHeaderRowCount(e){this.le=e;for(let t of["left","center","right"]){let r=this.headerRowContainers[t],o=this.headerRows[t];for(;o.length<e;){let n=f("div","mach-header-row");n.setAttribute("role","row"),n.setAttribute("aria-rowindex",String(o.length+1)),n.style.top=`${o.length*this.core.options.headerHeight}px`,n.style.height=`${this.core.options.headerHeight}px`,r.appendChild(n),o.push(n)}for(;o.length>e;)o.pop().remove()}this.ko()}getHeaderRowCount(){return this.le}ko(){this.headerEl.style.height=`${this.le*this.core.options.headerHeight}px`;for(let e of["left","center","right"])this.headerRows[e].forEach((r,o)=>{r.style.top=`${o*this.core.options.headerHeight}px`,r.style.height=`${this.core.options.headerHeight}px`})}setPaneWidths(e,t){this.Ao("left",e),this.Ao("right",t)}Ao(e,t){let r=this.ur[e],o=this.hr[e];r.style.width=`${t}px`,o.style.width=`${t}px`;let n=t<=0;r.classList.toggle("mach-pane--hidden",n),o.classList.toggle("mach-pane--hidden",n)}measureViewportWidth(){let e=this.bodyViewports.center,t=Math.max(0,e.offsetWidth-e.clientWidth);return Math.max(0,this.bodyEl.clientWidth-t)}updateHeights(e,t){this.root.style.setProperty("--mach-row-h",`${e}px`),this.root.style.setProperty("--mach-header-h",`${t}px`),this.ko()}applySize(e){for(let t of Un)this.root.classList.toggle(`mach-size--${t}`,t===e)}applyTheme(e){if(!this.root)return;this.Ce?.(),this.Ce=null;let t=e==="dark"||e==="auto"&&this.Ls();if(this.root.classList.toggle("mach-theme-dark",t),e==="auto"&&typeof window<"u"&&typeof window.matchMedia=="function"){let r=window.matchMedia("(prefers-color-scheme: dark)"),o=()=>this.root.classList.toggle("mach-theme-dark",r.matches);typeof r.addEventListener=="function"?(r.addEventListener("change",o),this.Ce=()=>r.removeEventListener("change",o)):typeof r.addListener=="function"&&(r.addListener(o),this.Ce=()=>r.removeListener(o))}}Ls(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-color-scheme: dark)").matches}setStriped(e){this.root.classList.toggle("mach-striped",e)}setCellBorders(e){this.root.classList.toggle("mach-cell-borders",e)}applyDomLayout(e){this.root.classList.toggle("mach-dom-layout--auto-height",e==="autoHeight")}setCustomClass(e){for(let t of this.mr)this.root.classList.remove(t);this.mr=[];for(let t of String(e??"").split(/\s+/).filter(Boolean))this.root.classList.contains(t)||(this.root.classList.add(t),this.mr.push(t))}Ps(e){try{return typeof e=="function"?e():e}catch(t){return this.core.reportError(t,"overlayTemplate"),""}}Gs(e,t,r){if(typeof t=="object"&&t!=null&&"el"in t){this.P.appendChild(t.el),this.bt=t.destroy??null;return}if(t instanceof HTMLElement){this.P.appendChild(t);return}if(t){r?this.P.innerHTML=t:this.P.textContent=t;return}if(e!=="loading")return;let o=f("div","mach-spinner");o.setAttribute("aria-label","loading"),this.P.appendChild(o)}showOverlay(e,t,r=!1){this.ze===e&&this.pr===t&&this.fr===r||(this.ze=e,this.pr=t,this.fr=r,this.gr(),this.P.replaceChildren(),this.Gs(e,this.Ps(t),r),this.L.style.display="",this.Ns(e),this.root.setAttribute("aria-busy",e==="loading"?"true":"false"))}hideOverlay(){this.ze&&(this.ze=null,this.pr=null,this.fr=!1,this.L.style.display="none",this.gr(),this.P.replaceChildren(),this.root.setAttribute("aria-busy","false"))}Ns(e){this.L.setAttribute("role",e==="error"?"alert":"status")}setInfiniteLoading(e,t){this.$&&(e?(this.wt.textContent!==t&&(this.wt.textContent=t),this.$.style.display="",this.root.setAttribute("aria-busy","true")):(this.$.style.display="none",this.ze!=="loading"&&this.root.setAttribute("aria-busy","false")))}destroy(){this.Ce?.(),this.Ce=null,this.Ct?.disconnect(),this.Ct=null,this.be&&cancelAnimationFrame(this.be),this.be=0,this.gr(),this.root.remove()}gr(){if(!this.bt)return;let e=this.bt;this.bt=null;try{e()}catch(t){this.core.reportError(t,"overlayTemplate.destroy")}}};var jn={contains:"\u5305\u542B",notContains:"\u4E0D\u5305\u542B",equals:"=",notEquals:"\u2260",startsWith:"\u5F00\u5934",endsWith:"\u7ED3\u5C3E",blank:"\u4E3A\u7A7A",notBlank:"\u975E\u7A7A",lessThan:"<",lessThanOrEqual:"\u2264",greaterThan:">",greaterThanOrEqual:"\u2265",inRange:"\u8303\u56F4"};function wt(i){if(!i)return"";if(i.type==="set")return`\u5DF2\u9009 ${i.values.length} \u9879`;let e=[];for(let r of i.conditions){let o=jn[r.match]??r.match,n=r.value,s="value2"in r?r.value2:void 0;r.match==="blank"||r.match==="notBlank"?e.push(o):r.match==="inRange"&&n!=null?e.push(`${o} ${n}~${s??n}`):n!=null&&String(n)!==""?e.push(`${o} ${n}`):e.push(o)}let t=i.operator==="or"?" \u6216 ":" \u4E14 ";return e.join(t)}function ko(i,e){let t=0,r=i.length;for(;t<r;){let o=t+r>>1;i[o]<=e?t=o+1:r=o}return t}function Yn(i,e){let t=0,r=i.length;for(;t<r;){let o=t+r>>1;i[o]<e?t=o+1:r=o}return t}var he=class{constructor(){this.offsets=new Float64Array(1)}update(e){let t=0,r=this.offsets.length!==e.length+1;for(let n=0;n<e.length;n++)t+=e[n].currentWidth,!r&&this.offsets[n+1]!==t&&(r=!0);if(!r)return!1;let o=new Float64Array(e.length+1);for(let n=0;n<e.length;n++)o[n+1]=o[n]+e[n].currentWidth;return this.offsets=o,!0}totalWidth(){return this.offsets[this.offsets.length-1]??0}offsetAt(e){let t=Math.max(0,Math.min(Math.trunc(e),this.offsets.length-1));return this.offsets[t]??0}indexAt(e){let t=Math.max(0,this.offsets.length-1);return t===0?-1:Math.min(t-1,Math.max(0,ko(this.offsets,Math.max(0,e))-1))}visibleRange(e,t,r=2){let o=Math.max(0,this.offsets.length-1);if(o===0||t<=0||this.totalWidth()<=t)return{first:0,lastExcl:o};let n=Math.max(0,e),s=n+t,a=Math.max(0,ko(this.offsets,n)-1),l=Math.min(o,Yn(this.offsets,s));return{first:Math.max(0,a-r),lastExcl:Math.min(o,l+r)}}};var Xn=".mach-header-resize, .mach-filter-btn, .mach-menu-btn, .mach-select-all";function lr(i){return i instanceof HTMLElement&&i.closest(Xn)!=null}function dr(i){return i==="ArrowLeft"||i==="ArrowRight"}var bt=class{constructor(e){this.core=e;this.p=[];this.Tt=[];this.Io={left:[],center:[],right:[]};this.l=new he;this.Rt=0;this.Dt=Number.MAX_SAFE_INTEGER}build(){this.Lo(),this.core.resizeService.cancelResize();for(let l of this.p){let d=er(l.el);if(d)try{d()}catch(c){this.core.reportError(c,"headerComponent.destroy",{colId:l.column.id})}}this.p=[],this.Tt=[];let e=this.core.columnModel.getHeaderDepth();this.core.skeleton.setHeaderRowCount(e);let t=l=>l.pinned==="left"?"left":l.pinned==="right"?"right":"center",r=(l,d,c)=>{let u=[];for(let h of l)if(h instanceof ee){let p=r(h.children,d+1,c);p.length>0&&u.push({group:h,level:d,children:p})}else!h.hide&&t(h)===c&&u.push({column:h,level:d,children:[]});return u},o=this.core.columnModel.getRootChildren(),n=this.core.columnModel.getPaneColumns("center"),s=new Set(n.slice(this.Rt,this.Dt));for(let l of["left","center","right"]){let d=r(o,0,l);this.Io[l]=l==="center"?this.Po(d,s):d}let a=this.core.options.headerHeight;for(let l of["left","center","right"]){let d=this.core.skeleton.headerRows[l];for(let u of d)u.textContent="";let c=u=>{let h=d[Math.min(u.level,d.length-1)];if(u.column){let p=this.Fs(u.column,e-u.level,a);h.appendChild(p.el),this.p.push(p)}else if(u.group){let p=this.Os(u.group);h.appendChild(p),this.Tt.push({group:u.group,el:p})}for(let p of u.children)c(p)};for(let u of this.Io[l])c(u)}this.core.options.suppressHeaderFocus||this.p.forEach((l,d)=>{l.el.tabIndex=d===0?0:-1}),this.applyLayout(),this.refreshSortIndicators(),this.refreshFilterIcons(),this.refreshSelectAllCheckbox()}updateColumnWindow(){let e=this.Rt,t=this.Dt;this.Lo(),(e!==this.Rt||t!==this.Dt)&&this.build()}Lo(){let e=this.core.columnModel.getPaneColumns("center"),t=this.core.skeleton.bodyViewports.center;this.l.update(e);let r=e.length>20?this.l.visibleRange(t.scrollLeft,t.clientWidth,2):{first:0,lastExcl:e.length};this.Rt=r.first,this.Dt=r.lastExcl}Po(e,t){let r=[];for(let o of e){if(o.column){t.has(o.column)&&r.push(o);continue}let n=this.Po(o.children,t);n.length>0&&r.push({...o,children:n})}return r}Fs(e,t,r){let o=f("div","mach-header-cell mach-header-cell--leaf");e.hasCheckbox&&o.classList.add("mach-header-cell--selection"),o.dataset.colId=e.id,o.setAttribute("role","columnheader"),o.style.height=`${t*r}px`,this.Hs(o,e),this.Vs(o,e);let n=this.Bs(o,e);this.zs(o,e);let s=f("span","mach-sort-indicator");o.appendChild(s);let{filterBtn:a,filterTagEl:l}=this._s(o,e);return this.Ws(o,e),this.$s(o,e),this.Ks(o,e),{column:e,el:o,sortEl:s,filterBtn:a,filterTagEl:l,selectAllEl:n}}Hs(e,t){let r=t.colDef;typeof r.headerClass=="string"?e.classList.add(r.headerClass):Array.isArray(r.headerClass)&&e.classList.add(...r.headerClass),r.headerTooltip&&e.setAttribute("title",r.headerTooltip);let o=r.headerAlign??r.align;o==="center"?e.classList.add("mach-header-cell--center"):o==="right"&&e.classList.add("mach-header-cell--right")}Vs(e,t){this.core.options.suppressHeaderFocus||(e.tabIndex=-1,e.addEventListener("mousedown",()=>this.yr(t)),e.addEventListener("keydown",r=>this.qs(r,t)))}Bs(e,t){if(!t.hasCheckbox||this.core.options.rowSelection!=="multiple")return;let r=document.createElement("input");return r.type="checkbox",r.className="mach-select-all",r.setAttribute("aria-label","select all rows"),r.addEventListener("click",o=>o.stopPropagation()),r.addEventListener("change",()=>{r.checked?this.core.selectionService.selectAll(!0):this.core.selectionService.deselectAll()}),e.appendChild(r),r}zs(e,t){let r=t.colDef,o=r.headerComponent,n;if(!o){this.vr(e,r.headerName??r.field??t.id);return}try{n=o({colDef:r,column:t,api:this.core.getApi()})}catch(s){this.core.reportError(s,"headerComponent",{colId:t.id}),n=null}this.Us(e,t,n)}Us(e,t,r){if(typeof r=="string"){this.vr(e,r);return}if(r instanceof HTMLElement){this.Go(e,r);return}if(r&&typeof r=="object"&&r.el instanceof HTMLElement){this.Go(e,r.el),eo(e,r.destroy);return}let o=t.colDef;this.vr(e,o.headerName??o.field??t.id)}vr(e,t){let r=f("span","mach-header-label");r.textContent=t,e.appendChild(r)}Go(e,t){let r=f("span","mach-header-label mach-header-label--custom");r.appendChild(t),e.appendChild(r)}_s(e,t){if(!t.filterable)return{};let r=document.createElement("button");r.type="button",r.className="mach-filter-btn",r.setAttribute("aria-label",`filter ${t.id}`),r.innerHTML=Wr,r.addEventListener("click",n=>{n.stopPropagation(),this.core.filterPopup.toggle(t,r)}),e.appendChild(r);let o=f("span","mach-filter-tag");return e.appendChild(o),{filterBtn:r,filterTagEl:o}}Ws(e,t){if(!this.core.options.columnMenu||t.hasCheckbox||t.colDef.suppressColumnMenu)return;let r=document.createElement("button");r.type="button",r.className="mach-menu-btn";let n=`${t.colDef.headerName??t.colDef.field??t.id} \xB7 ${this.core.getLocaleText("columnSettings")}`;r.setAttribute("aria-label",n),r.title=n,r.innerHTML=qr,r.addEventListener("click",s=>{s.stopPropagation(),this.core.columnMenu.toggle(t,r)}),e.appendChild(r)}$s(e,t){if(!this.No(t))return;let r=f("div","mach-header-resize");r.setAttribute("aria-hidden","true"),r.addEventListener("pointerdown",o=>{o.button===0&&(o.preventDefault(),o.stopPropagation(),this.core.resizeService.startResize(o,t))}),r.addEventListener("dblclick",o=>{o.stopPropagation(),this.core.getApi().columns.autoSize(t.id)}),r.addEventListener("click",o=>o.stopPropagation()),e.appendChild(r)}Ks(e,t){e.addEventListener("click",r=>{this.core.columnDragService.didDrag()||lr(r.target)||t.sortable&&this.core.cycleSort(t,r.shiftKey)}),e.addEventListener("pointerdown",r=>{r.button!==0||lr(r.target)||this.core.columnDragService.onPointerDown(r,t)})}Os(e){let t=f("div","mach-header-cell mach-header-cell--group");e.groupId&&(t.dataset.groupId=e.groupId),t.setAttribute("role","columnheader");let r=e.def;typeof r.headerClass=="string"?t.classList.add(r.headerClass):Array.isArray(r.headerClass)&&t.classList.add(...r.headerClass);let o=f("span","mach-header-label mach-header-label--group");return o.textContent=e.headerName,t.appendChild(o),t}applyLayout(){let e={left:0,center:0,right:0};for(let t of["left","center","right"]){let r=this.core.skeleton.headerRows[t],o=0,n=new Map;for(let a of this.core.columnModel.getPaneColumns(t))n.set(a.id,o),o+=a.currentWidth;let s=this.core.options.headerHeight;for(let a of this.p){if(this.core.columnModel.paneOf(a.column)!==t)continue;let l=n.get(a.column.id)??0;a.el.style.width=`${a.column.currentWidth}px`,a.el.style.left=`${l}px`,a.el.setAttribute("aria-colindex",String(this.core.columnModel.getFlatIndex(a.column.id)+1))}for(let a of this.Tt){let l=this.js(a.group,t);if(l.length===0)continue;let d=n.get(l[0].id)??0,c=0;for(let u of l)c+=u.currentWidth;a.el.style.left=`${d}px`,a.el.style.width=`${c}px`,a.el.style.height=`${s}px`,a.el.setAttribute("aria-colspan",String(l.length))}for(let a of r)a.style.width=`${o}px`;e[t]=o}this.core.skeleton.setPaneWidths(e.left,e.right)}js(e,t){return e.getLeafColumns().filter(r=>!r.hide&&this.core.columnModel.paneOf(r)===t)}qs(e,t){this.core.isDestroyed()||this.Ys(e,t)||this.Xs(e,t)||this.Js(e,t)||this.Qs(e,t)||this.Zs(e)}Ys(e,t){return e.key!=="Enter"&&e.key!==" "?!1:(lr(e.target)||(e.preventDefault(),t.sortable&&this.core.cycleSort(t,e.shiftKey)),!0)}Xs(e,t){if(!e.altKey||!dr(e.key))return!1;if(!this.No(t))return!0;let r=e.key==="ArrowRight"?24:-24,o=Math.max(t.colDef.minWidth??40,t.currentWidth+r);return this.core.columnModel.setColumnWidth(t,o),this.core.relayoutColumns(),this.core.commitColumnWidths([t]),e.preventDefault(),!0}Js(e,t){if(!e.ctrlKey||!dr(e.key))return!1;if(!t.movable)return!0;e.preventDefault();let r=this.core.columnModel.paneOf(t),o=this.core.columnModel.getPaneColumns(r),n=o.indexOf(t),s=e.key==="ArrowRight"?1:-1,a=Math.max(0,Math.min(o.length-1,n+s));return a!==n&&this.core.moveColumn(t.id,a),!0}Qs(e,t){if(e.altKey||e.ctrlKey||e.metaKey||!dr(e.key))return!1;e.preventDefault();let r=this.core.columnModel.getOrderedVisible(),o=r.indexOf(t);if(o<0)return!0;let n=e.key==="ArrowRight"?1:-1,s=Math.max(0,Math.min(r.length-1,o+n));return this.yr(r[s]),!0}Zs(e){if(e.key!=="Home"&&e.key!=="End")return!1;e.preventDefault();let t=this.core.columnModel.getOrderedVisible();if(t.length===0)return!0;let r=e.key==="Home"?0:t.length-1;return this.yr(t[r]),!0}yr(e){let t=this.p.find(r=>r.column.id===e.id);if(!t&&!e.pinned&&(this.ea(e),this.updateColumnWindow(),t=this.p.find(r=>r.column.id===e.id)),!!t){for(let r of this.p)r.el.tabIndex=r===t?0:-1;t.el.focus({preventScroll:!0})}}ea(e){let t=this.core.columnModel.getPaneColumns("center"),r=t.indexOf(e);if(r<0)return;let o=this.core.skeleton.bodyViewports.center;this.l.update(t);let n=this.l.offsetAt(r),s=n+e.currentWidth;n<o.scrollLeft?o.scrollLeft=n:s>o.scrollLeft+o.clientWidth&&(o.scrollLeft=s-o.clientWidth)}No(e){return this.core.options.enableColumnResize&&e.resizable}refreshSortIndicators(){let e=this.core.columnModel.getSortModel(),t=e.length>1;for(let r of this.p){let o=e.findIndex(n=>n.colId===r.column.id);if(o>=0){let n=e[o].direction,s=t?`<span class="mach-sort-badge">${o+1}</span>`:"";r.sortEl.innerHTML=(n==="asc"?$r:Kr)+s,r.el.setAttribute("aria-sort",n==="asc"?"ascending":"descending"),r.el.classList.add("mach-header-cell--sorted")}else r.sortEl.innerHTML="",r.el.removeAttribute("aria-sort"),r.el.classList.remove("mach-header-cell--sorted")}}refreshFilterIcons(){let e=this.core.rowModel.getFilterModel();for(let t of this.p){if(!t.filterBtn)continue;let r=e[t.column.id],o=r!=null;if(t.filterBtn.classList.toggle("mach-filter-btn--active",o),t.filterTagEl){let n=o?wt(r):"";t.filterTagEl.style.display=n?"":"none",n&&(t.filterTagEl.textContent=n)}}}refreshSelectAllCheckbox(){for(let e of this.p)e.selectAllEl&&(e.selectAllEl.checked=this.core.selectionService.isSelectAllActive(),e.selectAllEl.indeterminate=this.core.selectionService.isSelectAllIndeterminate())}destroy(){for(let e of this.p){let t=er(e.el);if(t)try{t()}catch(r){console.error("[mach-table] headerComponent destroy error",r)}}this.p=[],this.Tt=[]}};var Ct=class{constructor(){this.anchor=null;this.end=null;this.cache=!1;this.wr=-1;this.br=-1}getAnchor(){return this.anchor}getEnd(){return this.end}hasAnchor(){return this.anchor!=null}start(e,t){(!t||!this.anchor)&&(this.anchor={...e}),this.end={...e},this.invalidate()}ensureAnchor(e){return this.anchor?!0:e.colIdx<0?!1:(this.anchor={...e},this.invalidate(),!0)}setEnd(e){this.end={...e},this.invalidate()}clear(){this.anchor=null,this.end=null,this.invalidate()}invalidate(){this.cache=!1,this.wr=-1,this.br=-1}normalize(e,t){return this.cache!==!1&&this.wr===e&&this.br===t?this.cache:(this.wr=e,this.br=t,!this.anchor||!this.end||e<=0||t<=0?(this.cache=null,null):(this.cache={r1:Math.max(0,Math.min(this.anchor.row,this.end.row,e-1)),r2:Math.max(0,Math.min(Math.max(this.anchor.row,this.end.row),e-1)),c1:Math.max(0,Math.min(this.anchor.colIdx,this.end.colIdx,t-1)),c2:Math.max(0,Math.min(Math.max(this.anchor.colIdx,this.end.colIdx),t-1))},this.cache))}};var Jn=["left","center","right"],Tt=class{constructor(e,t,r){this.core=e;this.getRowTop=t;this.findRowAt=r;this.state=null;this.y=0;this.Et=0;this.H=e=>{let t=this.state;if(!(!t||e.pointerId!==t.pointerId)){if(t.clientX=e.clientX,t.clientY=e.clientY,!t.active){if(Math.abs(e.clientY-t.startY)<5)return;t.active=!0,this.core.skeleton.root.classList.add("mach-root--row-dragging"),this.core.skeleton.root.querySelectorAll(".mach-row").forEach(r=>{r.classList.toggle("mach-row--drag-source",r.dataset.id===t.node.id)})}this.Fo()}};this.ta=()=>{this.y=0,this.state?.active&&(this.Ge(),this.ra()&&this.Fo())};this.x=e=>{let t=this.state;if(!t||e.pointerId!==t.pointerId)return;t.clientX=e.clientX,t.clientY=e.clientY,t.active&&this.Ge();let r=this.Ho();if(!r?.active||!this.Cr(e.clientX,e.clientY))return;let o=this.core.rowModel.getDisplayedRows();if(o.length!==r.order.length||o.some((a,l)=>a!==r.order[l]))return;let n=r.targetIndex,s=n>r.fromIndex?n-1:n;for(;this.core.rowModel.getDisplayedRow(s)?.isDetail;)s--;this.commit(r.node,r.fromIndex,s,n)};this.Ne=e=>{e.key==="Escape"&&(e.preventDefault(),this.destroy())};this.X=e=>{e.type==="pointercancel"&&e.pointerId!==this.state?.pointerId||this.destroy()}}canDrag(e){return this.core.editingService.isEditing()||e.isDetail||e.isGroup||e.loading||!e.data||this.core.rowModel.isTree||this.core.columnModel.getRowGroupColumns().length>0?!1:!this.core.options.applyRowDrag||this.core.rowModel.canReorderRows()}isSource(e){return this.state?.active===!0&&this.state.node===e}start(e,t){if(this.destroy(),!this.canDrag(t)||e.isPrimary===!1)return;let r=Jn.map(n=>{let s=f("div","mach-row-drop-indicator");return s.hidden=!0,this.core.skeleton.rowContainers[n].appendChild(s),s}),o=f("div","mach-row-drag-preview");o.setAttribute("role","status"),o.hidden=!0,this.core.skeleton.root.appendChild(o),this.state={node:t,order:this.core.rowModel.getDisplayedRows().slice(),fromIndex:t.rowIndex,startY:e.clientY,clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId,indicators:r,preview:o,targetIndex:-1,active:!1},window.addEventListener("pointermove",this.H),window.addEventListener("pointerup",this.x),window.addEventListener("pointercancel",this.X),window.addEventListener("keydown",this.Ne),window.addEventListener("blur",this.X)}moveWithKeyboard(e,t){if(!e.altKey||e.key!=="ArrowUp"&&e.key!=="ArrowDown"||(e.preventDefault(),e.stopPropagation(),!this.canDrag(t)))return;let r=t.rowIndex,o=e.key==="ArrowUp"?-1:1,n=r+o;for(;this.core.rowModel.getDisplayedRow(n)?.isDetail;)n+=o;if(!this.core.rowModel.getDisplayedRow(n))return;let s=n>r?n+1:n;for(;this.core.rowModel.getDisplayedRow(s)?.isDetail;)s++;this.commit(t,r,n,s)&&(this.Et=requestAnimationFrame(()=>{this.Et=0,this.core.skeleton.root.querySelector(`.mach-row[data-index="${t.rowIndex}"] .mach-row-drag-handle`)?.focus()}))}Fo(){this.y||(this.y=requestAnimationFrame(this.ta))}Cr(e,t,r=0){let o=this.core.skeleton.bodyEl.getBoundingClientRect();return e>=o.left&&e<=o.right&&t>=o.top-r&&t<=o.bottom+r}ra(){let e=this.state;if(!e||!this.Cr(e.clientX,e.clientY,28))return!1;let t=this.core.skeleton.bodyViewports.center,r=t.getBoundingClientRect(),o=Math.min(36,r.height/3);if(o<=0)return!1;let n=e.clientY<r.top+o?-Math.ceil(14*E((r.top+o-e.clientY)/o,0,1)):Math.ceil(14*E((e.clientY-r.bottom+o)/o,0,1)),s=t.scrollTop;return t.scrollTop=E(s+n,0,Math.max(0,t.scrollHeight-t.clientHeight)),t.scrollTop!==s}Ge(){let e=this.state;if(!e?.active)return;let t=this.Cr(e.clientX,e.clientY),r=this.core.skeleton.bodyViewports.center,o=e.clientY-r.getBoundingClientRect().top+r.scrollTop,n=this.core.rowModel.getDisplayedRowCount(),s=E(this.findRowAt(o),0,n),a=this.getRowTop(s),l=this.getRowTop(Math.min(n,s+1));for(s<n&&o>=a+(l-a)/2&&s++;this.core.rowModel.getDisplayedRow(s)?.isDetail;)s++;e.targetIndex=s;for(let u of e.indicators)u.hidden=!t,u.style.transform=`translate3d(0, ${this.getRowTop(s)}px, 0)`;let d=this.core.skeleton.root.getBoundingClientRect(),c=this.Oo(e.fromIndex,s);e.preview.hidden=!1,e.preview.textContent=t?ce(this.core.options.locale.rowDragPosition??D.rowDragPosition,e.fromIndex+1,c+1):this.core.options.locale.rowDragOutside??D.rowDragOutside,e.preview.style.transform=`translate3d(${E(e.clientX-d.left+16,8,Math.max(8,d.width-224))}px, ${E(e.clientY-d.top+16,8,Math.max(8,d.height-48))}px, 0)`}commit(e,t,r,o){if(t===r||r<0||!this.canDrag(e))return!1;let n=this.Oo(t,o),s=this.core.options.applyRowDrag&&this.core.rowModel.reorderRowsByDisplayed(t,r);return this.core.options.applyRowDrag&&!s?!1:(this.core.emit("rowDragEnd",{rowNode:e,fromIndex:t,toIndex:o,targetIndex:s?e.rowIndex:n,applied:s}),s)}Oo(e,t){let r=e+1;for(;this.core.rowModel.getDisplayedRow(r)?.isDetail;)r++;return t>e?t-(r-e):t}Ho(){let e=this.state;return this.state=null,window.removeEventListener("pointermove",this.H),window.removeEventListener("pointerup",this.x),window.removeEventListener("pointercancel",this.X),window.removeEventListener("keydown",this.Ne),window.removeEventListener("blur",this.X),cancelAnimationFrame(this.y),this.y=0,this.core.skeleton.root.classList.remove("mach-root--row-dragging"),this.core.skeleton.root.querySelectorAll(".mach-row--drag-source").forEach(t=>t.classList.remove("mach-row--drag-source")),e?.indicators.forEach(t=>t.remove()),e?.preview.remove(),e}destroy(){this.Ho(),cancelAnimationFrame(this.Et),this.Et=0}};var Qn=new Set(["warning","danger","success","info"]);function Se(i,e,t=null){if(!(e.data==null||e.isGroup||e.isDetail||e.loading))for(let r of i.options.rowStyleRules)try{if(r.when({data:e.data,node:e,api:i.getApi(),rowPinned:t})===!0)return r}catch(o){i.reportError(o,"rowStyleRules",{rowId:e.id})}}function pe(i,e){i.style.removeProperty("--mach-row-rule-bg"),i.style.removeProperty("--mach-row-rule-fg"),e?.tone&&Qn.has(e.tone)?i.dataset.rowTone=e.tone:delete i.dataset.rowTone,e?.backgroundColor&&i.style.setProperty("--mach-row-rule-bg",e.backgroundColor),e?.color&&i.style.setProperty("--mach-row-rule-fg",e.color),i.classList.toggle("mach-row--styled",!!e)}var Rt=class{constructor(){this.sizes=new Float64Array(0);this.tree=new Float64Array(1);this.Tr=new WeakMap;this.Z=new Map;this.K=0}reset(e,t){this.sizes=new Float64Array(e.length),this.tree=new Float64Array(e.length+1),this.Tr=new WeakMap,this.Z=new Map,this.K=0;for(let r=0;r<e.length;r++){this.Tr.set(e[r],r);let o=Math.max(1,t(e[r],r));this.sizes[r]=o,this.Rr(o,1),this.add(r,o)}}get length(){return this.sizes.length}indexOf(e){return this.Tr.get(e)??-1}sizeAt(e){return this.sizes[e]??0}update(e,t){if(e<0||e>=this.sizes.length)return!1;let r=Math.max(1,t),o=r-this.sizes[e];return Math.abs(o)<.01?!1:(this.Rr(this.sizes[e],-1),this.sizes[e]=r,this.Rr(r,1),this.add(e,o),!0)}offsetAt(e){let t=Math.max(0,Math.min(Math.trunc(e),this.sizes.length)),r=0;for(;t>0;)r+=this.tree[t],t-=t&-t;return r}totalSize(){return this.offsetAt(this.sizes.length)}minimumSize(){return this.K}findIndex(e){if(this.sizes.length===0)return 0;let t=Math.max(0,e),r=0,o=0,n=1;for(;n<<1<=this.sizes.length;)n<<=1;for(;n>0;){let s=r+n;s<=this.sizes.length&&o+this.tree[s]<=t&&(r=s,o+=this.tree[s]),n>>=1}return Math.min(r,this.sizes.length-1)}add(e,t){for(let r=e+1;r<this.tree.length;r+=r&-r)this.tree[r]+=t}Rr(e,t){let r=(this.Z.get(e)??0)+t;if(r<=0?this.Z.delete(e):this.Z.set(e,r),this.Z.size===0)this.K=0;else if(t>0&&(this.K===0||e<this.K))this.K=e;else if(t<0&&e===this.K&&!this.Z.has(e)){let o=Number.POSITIVE_INFINITY;for(let n of this.Z.keys())o=Math.min(o,n);this.K=Number.isFinite(o)?o:0}}};var F=["left","center","right"];function Ao(i){return!!i&&!i.hasCheckbox&&!i.isDetailToggle&&!i.colDef.rowDrag}function Io(i){let e=i.length>1&&i.every(o=>typeof o=="number"&&!Number.isNaN(o)),t=e?(i[i.length-1]-i[0])/(i.length-1):0,r=!e||i.every(o=>Number.isInteger(o));return{difference:t,integer:r,numeric:e,values:i}}function Lo(i,e){let t=i.values.length;if(t===1)return i.values[0];if(!i.numeric)return i.values[e%t];let r=i.values[t-1]+i.difference*(e-t+1);return i.integer?Math.round(r):Math.round(r*1e6)/1e6}var Dt=class{constructor(e){this.core=e;this.pool=[];this.M=0;this.first=0;this.lastExcl=-1;this.D=0;this.Dr=0;this.Er=0;this.St=-1;this.u=new Rt;this.l=new he;this.c=new Ct;this.Sr=!1;this.xr=0;this.Mr=Number.MAX_SAFE_INTEGER;this.focusedCell=null;this.Vo=()=>{this.D||(this.D=requestAnimationFrame(()=>{this.D=0,this.syncScroll()}))};this.At=0;this.It=new WeakMap;this.ee=new Set;this.Lt="";this._e=[];this.we=null;this.kt=null;this.Ke=null;this.Lr=!1;this.oa=null;this.Nt=e=>{let t=this.Ke;if(!t)return;let r=e;if(typeof r.clientX!="number")return;if(!t.active){let s=Math.abs(r.clientX-t.startX),a=Math.abs(r.clientY-t.startY);if(s<4&&a<4)return;t.active=!0,t.axis=s>=a?"h":"v",this.core.skeleton.root.classList.add("mach-root--filling")}if(t.axis==="v"){let s=this.li(r),a=this.c.getEnd();if(a&&a.row!==s){let l=this.normalizedRange();this.c.setEnd({row:s,colIdx:a.colIdx}),this.oe(l,this.normalizedRange()),this.core.emit("rangeSelectionChanged",{range:this.getRangeSelection()})}return}let o=Math.max(t.c2+1,this.di(r)),n=this.c.getEnd();if(n&&n.colIdx!==o){let s=this.normalizedRange();this.c.setEnd({row:n.row,colIdx:o}),this.oe(s,this.normalizedRange()),this.re(),this.core.emit("rangeSelectionChanged",{range:this.getRangeSelection()})}};this.Re=e=>{let t=this.Ke;if(!t)return;let r=e,o=()=>{this.jo()};if(!t.active){o();return}if(t.axis==="h"){let s=typeof r.clientX=="number"?Math.max(t.c2+1,this.di(r)):t.c2+1;if(o(),s>t.c2)this.ja(t.r1,t.r2,t.c1,t.c2,s),this.re();else{let a=this.c.getEnd();if(!a||a.colIdx===t.c2)return;let l=this.normalizedRange();this.c.setEnd({row:a.row,colIdx:t.c2}),this.oe(l,this.normalizedRange())}return}let n=typeof r.clientY=="number"?this.li(r):t.r2;if(o(),n>t.r2)this.Xa(t.r1,t.r2,t.c1,t.c2,n),this.re();else{let s=this.c.getEnd();if(!s||s.row===t.r2)return;let a=this.normalizedRange();this.c.setEnd({row:t.r2,colIdx:s.colIdx}),this.oe(a,this.normalizedRange())}};this.Bo=e=>{if(this.core.isDestroyed())return;let t=e.target,r=this.ie(e);if(r&&!t.closest(".mach-cell-editor-shell, .mach-row-editor-shell, .mach-row-drag-handle")&&!(e.detail>1&&this.core.editingService.isCellEditing())){if(this.core.editingService.isCellEditing()){let o=r.cellEl?.dataset.colId??"";if(this.core.editingService.isEditing(r.index,o))return;this.core.editingService.stopAsync(!1).then(n=>{if(!n||this.core.isDestroyed())return;this.hi(e,t,r);let s=o?this.core.columnModel.getColumn(o):void 0;s&&!this.core.editingService.isCellEditing()&&this.core.editingService.isEditable(r.node,s)&&this.core.editingService.start(r.index,s)});return}this.hi(e,t,r)}};this.zo=e=>{if(this.core.isDestroyed()||e.target.closest(".mach-cell-editor-shell, .mach-row-editor-shell"))return;let t=this.ie(e);if(!t)return;let{node:r,index:o,cellEl:n}=t;if(r.isDetail||r.isGroup||!n)return;let s=n.dataset.colId??"",a=this.core.columnModel.getColumn(s);if(!a)return;let l=this.core.getCellValue(r,a),d=this.core.emit("cellDoubleClicked",{event:e,rowNode:r,rowIndex:o,column:a,colDef:a.colDef,value:l});a.colDef.onCellDoubleClick?.(d),this.core.emit("rowDoubleClicked",{event:e,rowNode:r,rowIndex:o}),this.core.editingService.isEditable(r,a)&&this.core.editingService.start(o,a)};this._o=e=>{if(this.core.isDestroyed())return;let t=this.ie(e);if(!t||t.node.isDetail||t.node.isGroup||!t.cellEl)return;let{node:r,index:o,cellEl:n}=t,s=n.dataset.colId??"",a=this.core.columnModel.getColumn(s);if(a&&(this.core.emit("cellContextMenu",{event:e,rowNode:r,rowIndex:o,column:a,colDef:a.colDef,value:this.core.getCellValue(r,a)}),this.core.options.contextMenu)){if(e.preventDefault(),this.core.options.enableRangeSelection&&!this.normalizedRange()){let l=this.core.columnModel.getFlatIndex(s);l>=0&&this.startRange(o,l,!1)}this.core.contextMenuService.open(e.clientX,e.clientY,{rowIndex:o,colId:s})}};this.Wo=e=>{if(!this.dl(e)&&this.core.options.enableRangeSelection&&e.button===0){let t=this.ie(e);if(t&&!t.node.isDetail&&!t.node.isGroup&&t.cellEl&&!t.cellEl.classList.contains("mach-cell--selection")){let r=this.core.columnModel.getFlatIndex(t.cellEl.dataset.colId??"");r>=0&&(this.startRange(t.index,r,e.shiftKey),this.Sr=!0,!e.shiftKey&&!this.core.options.suppressCellFocus&&this.setFocusedCell(t.index,t.cellEl.dataset.colId??""))}}};this.Uo=()=>{this.Sr=!1};this.Ve=e=>{if(this.core.isDestroyed())return;let t=this.ie(e);if(this.Sr&&t&&!t.node.isDetail&&!t.node.isGroup&&t.cellEl){let r=this.core.columnModel.getFlatIndex(t.cellEl.dataset.colId??""),o=this.c.getEnd();r>=0&&o&&(o.row!==t.index||o.colIdx!==r)&&this.startRange(t.index,r,!0)}this.core.options.suppressRowHoverHighlight||!t||t.node.isDetail||this.ci(t.index)};this.$o=()=>{this.ci(-1)};this.Ko=e=>{if(this.core.isDestroyed()||e.button!==0||!e.target.closest(".mach-row-drag-handle"))return;let r=this.ie(e);!r||r.node.isDetail||r.node.isGroup||(this.Te.start(e,r.node),e.preventDefault())};this.qo=e=>{if(!e.target.closest(".mach-row-drag-handle"))return;let t=this.ie(e);t&&this.Te.moveWithKeyboard(e,t.node)};this.Te=new Tt(e,t=>this.G(t),t=>this.xt(t,this.core.rowModel.getDisplayedRowCount()))}init(){let e=this.core.skeleton.bodyViewports.center;this.Dr=e.scrollLeft,this.Er=e.scrollTop,e.addEventListener("scroll",this.Vo,{passive:!0});let t=this.core.skeleton.bodyEl;t.addEventListener("click",this.Bo),t.addEventListener("dblclick",this.zo),t.addEventListener("contextmenu",this._o),t.addEventListener("mousedown",this.Wo),t.addEventListener("mouseover",this.Ve),t.addEventListener("mouseleave",this.$o),t.addEventListener("pointerdown",this.Ko),t.addEventListener("keydown",this.qo),window.addEventListener("mouseup",this.Uo)}destroy(){cancelAnimationFrame(this.D),this.core.skeleton.bodyViewports.center.removeEventListener("scroll",this.Vo);let t=this.core.skeleton.bodyEl;t.removeEventListener("click",this.Bo),t.removeEventListener("dblclick",this.zo),t.removeEventListener("contextmenu",this._o),t.removeEventListener("mousedown",this.Wo),t.removeEventListener("mouseover",this.Ve),t.removeEventListener("mouseleave",this.$o),t.removeEventListener("pointerdown",this.Ko),t.removeEventListener("keydown",this.qo),window.removeEventListener("mouseup",this.Uo),this.jo(),this.Te.destroy();for(let r of this.pool){r.detailRow&&this.Mt(r.detailRow);for(let o of F)for(let n of r.cells[o]??[])r.index>=0&&this.core.editingService.releaseCell(r.index,n.dataset.colId??"",n),A(this.core,n)}this.kt?.remove(),this.oa?.remove(),this.pool=[],this.M=0,this._e=[],this.ee.clear(),this.u.reset([],()=>this.core.options.rowHeight),this.l.update([]),this.we=null}paneForColumn(e){return e.pinned==="left"?"left":e.pinned==="right"?"right":"center"}syncScroll(e=!1){if(this.core.isDestroyed())return;let t=this.core.skeleton,r=t.bodyViewports.center,o=r.scrollLeft,n=r.scrollTop,s=e||o!==this.Dr,a=e||n!==this.Er;!s&&!a||(this.Dr=o,this.Er=n,s&&(t.headerRowContainers.center.style.transform=`translate3d(${-o}px, 0, 0)`,this.core.headerRenderer.updateColumnWindow(),this.core.pinnedRowsRenderer.onScrollLeft(o)),a&&(t.rowContainers.left.style.transform=`translate3d(0, ${-n}px, 0)`,t.rowContainers.right.style.transform=`translate3d(0, ${-n}px, 0)`),this.core.tooltipService.hide(),this.updateRange(!1,s),a&&this.core.rowModel.checkInfiniteScroll(this.lastExcl-1))}ia(){let e={left:0,center:0,right:0};for(let t of F)e[t]=this.core.columnModel.getPaneColumns(t).reduce((r,o)=>r+o.currentWidth,0);return e}applyContainerSizes(){let e=this.core.skeleton,t=this.ia();this.l.update(this.core.columnModel.getPaneColumns("center")),t.center=this.l.totalWidth();let r=this.core.rowModel.getDisplayedRows(),o=this.na(r.length);this.sa(r,o);let n=this.aa(o);this.la(t,n),this.da(n),e.root.setAttribute("aria-rowcount",String(o.rowCount+e.getHeaderRowCount()))}na(e){let t=this.core.rowModel.getDisplayTotalCount(),r=this.core.options.rowHeight,o=this.core.options.masterDetail?[]:this.ca(),n=this.core.options.datasourceMode!=="block"&&(this.core.options.masterDetail||this.core.options.getRowHeight!=null||o.length>0),s=n?this.ua(r,o):`fixed|${r}`;return{autoHeightColumns:o,positionedCount:Math.min(t,e),rowCount:t,rowHeight:r,signature:s,variable:n}}ua(e,t){let r=t.map(o=>`${o.id}:${o.currentWidth}`).join(",");return`${this.core.rowModel.getDisplayRevision()}|${e}|${this.core.options.detailRowHeight}|${r}`}sa(e,t){if(!t.variable){this.ha(t);return}if(t.signature!==this.Lt||this.u.length!==t.positionedCount){let r=e.slice(0,t.positionedCount);this.u.reset(r,o=>this.Yo(o,t.autoHeightColumns)),this.Xo(t);return}if(this.ee.size!==0){for(let r of this.ee){let o=this.u.indexOf(r);o>=0&&this.u.update(o,this.Yo(r,t.autoHeightColumns))}this.Xo(t)}}ha(e){this.u.length>0&&this.u.reset([],()=>e.rowHeight),this.Lt=e.signature,this.ee.clear(),this.At=e.rowHeight}Xo(e){this.Lt=e.signature,this.ee.clear(),this.At=this.u.minimumSize()||e.rowHeight}aa(e){return(e.variable?this.u.totalSize():e.positionedCount*e.rowHeight)+Math.max(0,e.rowCount-e.positionedCount)*e.rowHeight}la(e,t){let r=this.core.skeleton,o=r.bodyViewports.center,n=Math.max(0,o.clientWidth-e.left-e.right),s=Math.max(e.center,n);for(let a of F){let l=r.rowContainers[a];l.style.height=`${t}px`,a==="center"&&(l.style.width=`${s}px`)}}invalidateRowHeight(e){this.It.delete(e),this.ee.add(e)}da(e){this.core.skeleton.bodyEl.style.height=this.core.options.domLayout==="autoHeight"?`${e}px`:""}invalidateAllRowHeights(){this.It=new WeakMap,this.ee.clear(),this.Lt=""}Yo(e,t){if(e.isDetail)return this.core.options.detailRowHeight;let r=this.It.get(e);if(r!==void 0)return r;let o=this.core.options.rowHeight,n=this.core.options.getRowHeight;if(n)try{let s=n({data:e.data,node:e,api:this.core.getApi()});o=Number.isFinite(s)?Math.max(1,s||o):o}catch(s){this.core.reportError(s,"getRowHeight",{rowId:e.id})}return t.length>0&&(o=Math.max(o,this.pa(e,t))),this.It.set(e,o),o}G(e){let t=this.u.length;return t===0?Math.max(0,e)*this.core.options.rowHeight:e<=t?this.u.offsetAt(e):this.u.totalSize()+(e-t)*this.core.options.rowHeight}xt(e,t){if(t<=0)return 0;let r=this.u.length,o=this.u.totalSize();if(r>0&&e<o)return this.u.findIndex(e);let n=r+Math.floor(Math.max(0,e-o)/this.core.options.rowHeight);return Math.max(0,Math.min(n,t-1))}ca(){return this.core.columnModel.getOrderedVisible().filter(e=>e.colDef.autoHeight===!0)}get fa(){return this.core.columnModel.getOrderedVisible().some(e=>e.colDef.autoHeight===!0)}pa(e,t){var d;this[d="we"]??(this[d]=document.createElement("canvas"));let r=this.we.getContext("2d");if(!r)return 0;let o=window.getComputedStyle(this.core.skeleton.root),n=parseFloat(o.fontSize)||13;r.font=`${o.fontStyle} ${o.fontWeight} ${n}px ${o.fontFamily}`;let s=parseFloat(o.getPropertyValue("--mach-cell-padding"))||9,a=Math.round(n*1.45),l=1;for(let c of t){let u=$(this.core,e,c);if(!u)continue;let h=Math.max(10,c.currentWidth-s*2-2),p=1,m=0;for(let v of u){let g=r.measureText(v).width;if(m>0&&m+g>h?(p++,m=g):m+=g,p>=12)break}p>l&&(l=p)}return l*a+Math.round(s*.9)}queueFlash(e,t){if(this.core.options.flashCells)for(let r of e)for(let o of t)this._e.push([r,o])}flushFlash(){if(this._e.length===0)return;let e=this._e;this._e=[];for(let[t,r]of e){let o=this.getCellElement(t,r);if(!o)continue;o.classList.remove("mach-cell--flash"),o.offsetWidth,o.classList.add("mach-cell--flash");let n=Ce(o),s=n.flashTimer;s&&clearTimeout(s),n.flashTimer=window.setTimeout(()=>{o.classList.remove("mach-cell--flash"),n.flashTimer=void 0},800)}}relayout(){this.applyContainerSizes();let e=this.core.skeleton.bodyViewports.center,r=this.core.options.rowHeight;this.core.options.masterDetail&&(r=Math.min(r,this.core.options.detailRowHeight)),this.At>0&&(r=Math.min(r,this.At));let o=Math.ceil(e.clientHeight/Math.max(1,r)),n=this.core.options.domLayout==="autoHeight"?this.core.rowModel.getDisplayedRowCount():o+this.core.options.rowBuffer*2+1,s=n%2===0?n:n+1;if(this.Jo())for(let l of this.pool)this.kr(l,"center");s>this.M&&this.ma(s),this.applyCellLayout(),this.updateRange(!0,!1),this.refreshOverlays()}ma(e){for(;this.M<e;){let t={index:-1,nodeId:"",kind:"master",rows:{},cells:{},cellColIds:{}},r=this.core.skeleton;for(let o of F){if(this.core.columnModel.getPaneColumns(o).length===0)continue;let s=f("div","mach-row");s.style.height=`${this.core.options.rowHeight}px`,s.setAttribute("role","row"),s.style.display="none",r.rowContainers[o].appendChild(s),t.rows[o]=s,t.cells[o]=[],t.cellColIds[o]=[],this.kr(t,o)}if(this.core.options.masterDetail){let o=f("div","mach-row mach-detail-row");o.style.height=`${this.core.options.detailRowHeight}px`,o.setAttribute("role","row"),o.style.display="none",r.rowContainers.center.appendChild(o),t.detailRow=o}this.pool.push(t),this.M++}}We(e){let t=this.core.columnModel.getPaneColumns(e);return e!=="center"||t.length<=20||this.core.columnModel.hasColSpan()?t:t.slice(this.xr,this.Mr)}ga(e){let t=f("div","mach-cell");if(t.dataset.colId=e.id,t.setAttribute("role","gridcell"),e.hasCheckbox){let r=document.createElement("input");r.type=this.core.options.rowSelection==="single"?"radio":"checkbox",r.className="mach-row-checkbox",r.type==="radio"&&(r.name=`mach-radio-${this.core.gridId}`),r.setAttribute("aria-label","select row"),t.appendChild(r),t.classList.add("mach-cell--selection")}return t}kr(e,t){let r=e.rows[t];if(!r)return;let o=this.We(t),n=e.cells[t]??[],s=e.cellColIds[t]??[];if(s.length===o.length&&s.every((c,u)=>c===o[u].id))return;let a=new Map;s.forEach((c,u)=>a.set(c,n[u]));let l=[],d=[];for(let c of o){let u=a.get(c.id)??this.ga(c);a.delete(c.id),r.appendChild(u),l.push(u),d.push(c.id)}for(let c of a.values())e.index>=0&&this.core.editingService.releaseCell(e.index,c.dataset.colId??"",c),A(this.core,c),c.remove();e.cells[t]=l,e.cellColIds[t]=d}rebuildPool(){this.$e=void 0,this.Qo();for(let e of this.pool){e.detailRow&&this.Mt(e.detailRow);for(let t of F){for(let r of e.cells[t]??[])A(this.core,r);e.rows[t]?.remove()}e.detailRow?.remove()}this.pool=[],this.M=0,this.first=0,this.lastExcl=-1,this.relayout()}applyCellLayout(){let e=this.ya();for(let t of F){let r=this.core.columnModel.getPaneColumns(t),o=this.We(t),n=this.va(t,o,r);this.wa(t,o,n,e)}this.ba()}ya(){return this.core.options.masterDetail||this.core.options.getRowHeight!=null||this.fa}va(e,t,r){let o=0;e==="center"&&t.length>0&&(this.l.update(r),o=this.l.offsetAt(r.indexOf(t[0])));let n=[];for(let s of t)n.push(o),o+=s.currentWidth;return n}wa(e,t,r,o){for(let n of this.pool){let s=n.cells[e],a=n.rows[e];if(!s||!a)continue;o||(a.style.height=`${this.core.options.rowHeight}px`);let l=Math.min(t.length,s.length);for(let d=0;d<l;d++){let c=t[d];s[d].style.width=`${c.currentWidth}px`,s[d].style.left=`${r[d]}px`,s[d].setAttribute("aria-colindex",String(this.core.columnModel.getFlatIndex(c.id)+1))}}}ba(){if(!this.core.options.masterDetail)return;let e=`${this.core.options.detailRowHeight}px`;for(let t of this.pool)t.detailRow?.style.setProperty("--mach-detail-h",e)}Jo(){let e=this.core.skeleton.bodyViewports.center,t=this.core.columnModel.getPaneColumns("center"),r=this.xr,o=this.Mr;this.l.update(t);let n=t.length>20?this.l.visibleRange(e.scrollLeft,e.clientWidth,2):{first:0,lastExcl:t.length};return this.xr=n.first,this.Mr=n.lastExcl,n.first!==r||n.lastExcl!==o}updateRange(e=!1,t=!0){let r=this.core.performanceMonitor.start();if(!this.Ca(e,t))return;let o=Math.max(0,this.lastExcl-this.first),n=this.core.columnModel.getPaneColumns("left").length+this.We("center").length+this.core.columnModel.getPaneColumns("right").length;this.core.performanceMonitor.recordRender(r,o,n)}Ca(e,t){let r=this.core.skeleton.bodyViewports.center,o=this.core.rowModel.getDisplayedRowCount(),n=this.core.options.rowBuffer,s=t?this.Jo():!1;if(this.Ta(s),o===0){for(let d of this.pool)this.Ar(d);return this.first=0,this.lastExcl=0,!0}if(this.Ra(o,e))return!0;let{first:a,lastExcl:l}=this.Da(r,o,n);return!e&&a===this.first&&l===this.lastExcl?s:(this.first=a,this.lastExcl=l,this.Ea(a,l),this.Sa(a,l,e,s),!0)}Da(e,t,r){let o=this.xt(e.scrollTop,t),n=e.scrollTop+e.clientHeight,s=Math.min(t,this.xt(n,t)+1);return{first:E(o-r,0,t-1),lastExcl:E(s+r,1,t)}}Ea(e,t){for(let r of this.pool)r.index!==-1&&(r.index<e||r.index>=t)&&this.Ar(r)}Sa(e,t,r,o){for(let n=e;n<t;n++){let s=this.core.rowModel.getDisplayedRow(n),a=this.pool[n%this.M];if(!(!a||!s)){if(!r&&a.index===n&&a.nodeId===s.id){o&&a.kind==="master"&&this.Pt(a,s,"center");continue}this.Zo(a,n)}}}Ta(e){if(e){for(let t of this.pool)this.kr(t,"center");this.applyCellLayout()}}Ra(e,t){if(this.core.options.domLayout!=="autoHeight")return!1;if(!t&&this.first===0&&this.lastExcl===e)return!0;this.first=0,this.lastExcl=e;for(let r=0;r<e;r++){let o=this.core.rowModel.getDisplayedRow(r),n=this.pool[r];!n||!o||(t||n.index!==r||n.nodeId!==o.id)&&this.Zo(n,r)}return!0}Ar(e){this.ei(e),this.focusedCell?.rowIndex===e.index&&this.core.skeleton.root.removeAttribute("aria-activedescendant"),e.index=-1,e.nodeId="",e.kind="master";for(let t of F){let r=e.rows[t];r&&(r.style.display="none",delete r.dataset.id,delete r.dataset.index,pe(r,void 0),r.classList.remove("mach-row--drag-source"))}e.detailRow&&(this.Mt(e.detailRow),e.detailRow.style.display="none")}Zo(e,t){e.index>=0&&e.index!==t&&this.ei(e);let r=this.core.rowModel.getDisplayedRow(t);if(!r){this.Ar(e);return}e.index=t,e.nodeId=r.id;let o=this.G(t),n=this.G(t+1)-o;if(r.isDetail){this.xa(e,r,t,o,n);return}this.Ma(e,r,t,o,n)}xa(e,t,r,o,n){e.kind="detail";for(let a of F){let l=e.rows[a];l&&(l.style.display="none")}let s=e.detailRow;s&&(s.style.display="",s.style.transform=`translateY(${o}px)`,s.style.height=`${n}px`,s.dataset.index=String(r),s.setAttribute("aria-rowindex",String(r+this.core.skeleton.getHeaderRowCount()+1)),this.Ir(s,t))}Ma(e,t,r,o,n){e.kind="master",e.detailRow&&(e.detailRow.style.display="none");let s=this.ka(t),a=Se(this.core,t);for(let l of F){let d=e.rows[l];d&&(this.Aa(d,t,r,o,n,s),pe(d,a),this.Pt(e,t,l))}this.focusedCell&&this.focusedCell.rowIndex===r&&this.Gt()}ka(e){let t=this.core.rowModel.isTree,r=e.isGroup===!0,o=t&&this.core.rowModel.hasChildren(e.id),n=r||o||this.core.options.masterDetail&&this.core.rowModel.isRowExpandable(e),s=r?this.core.rowModel.isGroupExpanded(e.id):this.core.rowModel.isRowExpanded(e.id),a=null;return r?a=(e.groupLevel??0)+1:t&&(a=this.core.rowModel.getTreeDepth(e)+1),{expanded:s,expandable:n,level:a}}Aa(e,t,r,o,n,s){e.style.display="",e.style.transform=`translateY(${o}px)`,e.style.height=`${n}px`,e.dataset.index=String(r),e.dataset.id=t.id,e.setAttribute("aria-rowindex",String(r+this.core.skeleton.getHeaderRowCount()+1)),this.ti(e,t);let a=this.St===r&&!this.core.options.suppressRowHoverHighlight;e.classList.toggle("mach-row--hover",a),e.classList.toggle("mach-row--odd",r%2===1),e.classList.toggle("mach-row--drag-source",this.Te.isSource(t)),this.Ia(e,s)}ti(e,t){e.classList.toggle("mach-row--selected",t.selected),e.setAttribute("aria-selected",t.selected?"true":"false")}Ia(e,t){t.expandable?e.setAttribute("aria-expanded",t.expanded?"true":"false"):e.removeAttribute("aria-expanded"),t.level!=null?e.setAttribute("aria-level",String(t.level)):e.removeAttribute("aria-level")}Pt(e,t,r){let o=this.We(r),n=e.cells[r];if(!n)return;let s=e.index,a=r==="center"&&this.core.columnModel.hasColSpan(),l=0;e.rows[r]?.classList.toggle("mach-row--editing",this.core.editingService.isRowEditing(s));for(let d=0;d<o.length;d++){let c=o[d],u=n[d];if(a&&l>0){l--,A(this.core,u),u.setAttribute("aria-hidden","true"),u.style.display!=="none"&&(u.style.display="none");continue}if(u.style.display==="none"&&(u.style.display=""),u.removeAttribute("aria-hidden"),a){let h=this.La(t,c,s,o.length-d);h>1?(l=h-1,this.Pa(u,o,d,h)):(u.removeAttribute("aria-colspan"),u.style.width!==`${c.currentWidth}px`&&(u.style.width=`${c.currentWidth}px`))}else u.removeAttribute("aria-colspan");this.core.editingService.renderEditor(s,t,c,u)||(this.ri(u,t,c),this.oi(u,s,c))}}La(e,t,r,o){let n=t.colDef.colSpan;if(!n)return 1;try{let s=n({api:this.core.getApi(),colDef:t.colDef,column:t,node:e,data:e.data,value:this.core.getCellValue(e,t),rowIndex:r});return Math.max(1,Math.min(Math.round(s)||1,o))}catch(s){return this.core.reportError(s,"colSpan",{colId:t.id,rowId:e.id}),1}}Pa(e,t,r,o){let n=0;for(let s=r;s<r+o&&s<t.length;s++)n+=t[s].currentWidth;e.style.width=`${n}px`,e.setAttribute("aria-colspan",String(o))}Ir(e,t){this.Mt(e);let r=t.masterId!=null?this.core.rowModel.getNodeById(t.masterId):t,o=f("div","mach-detail");e.appendChild(o);let n=this.core.options.detailRowRenderer;if(n){let s={data:t.data,node:r??t,api:this.core.getApi()},a;try{a=n(s)}catch(l){this.core.reportError(l,"detailRowRenderer",{rowId:t.id}),a=null}typeof a=="string"?o.textContent=a:a instanceof HTMLElement?o.appendChild(a):a&&typeof a=="object"&&a.el instanceof HTMLElement&&(o.appendChild(a.el),Qr(e,a.destroy))}}Mt(e){let t=Zr(e);if(t)try{t()}catch(r){this.core.reportError(r,"detailRowRenderer.destroy")}e.textContent=""}ri(e,t,r){if(t.loading){A(this.core,e),e.className="mach-cell mach-cell--loading",e.setAttribute("aria-readonly","true"),e.setAttribute("aria-busy","true");let n=document.createElement("span");n.className="mach-cell-loading-bar",n.style.width=`${34+(r.id.length*13+t.rowIndex*7)%44}%`,e.replaceChildren(n),this.te(e);return}e.removeAttribute("aria-busy"),e.setAttribute("aria-readonly",this.core.editingService.isEditable(t,r)?"false":"true"),e.removeAttribute("aria-expanded"),e.removeAttribute("aria-level");let o=this.Ga(t,r);if(o!=="standard"){A(this.core,e),this.Na(o,e,t,r);return}rt(this.core,e,t,r),Re(this.core,e,t,r),tt(this.core,e,t,r),this.ii(e,t,r),this.Fa(e,t,r)}Ga(e,t){return e.isGroup?"group":t.isDetailToggle?"detail":t.hasCheckbox?"checkbox":t.colDef.rowDrag?"drag":ne(t.colDef,"index")?"index":this.core.rowModel.isTree&&this.ni()?.id===t.id?"tree":"standard"}Na(e,t,r,o){if(e==="group")this.Oa(t,r,o);else if(e==="detail"){let n=this.core.rowModel.isRowExpanded(r.id),s=f("span",`mach-detail-toggle${n?" mach-detail-toggle--open":""}`);s.textContent="\u25B6",t.replaceChildren(s),t.classList.add("mach-cell--detail-toggle"),this.te(t)}else if(e==="checkbox"){let n=t.querySelector(".mach-row-checkbox");n&&(n.checked=r.selected,n.indeterminate=this.core.selectionService.isIndeterminate(r.id),n.disabled=!this.core.selectionService.isSelectable(r)),t.className!=="mach-cell mach-cell--selection"&&(t.className="mach-cell mach-cell--selection"),this.te(t)}else if(e==="drag")this.Ha(t,r),t.className!=="mach-cell mach-cell--drag"&&(t.className="mach-cell mach-cell--drag"),this.te(t);else if(e==="index"){t.textContent=String(this.core.rowModel.getRowSeq(r)+this.core.options.indexOffset);let s=`mach-cell mach-cell--index${o.colDef.align==="right"?" mach-cell--right":o.colDef.align==="center"?" mach-cell--center":""}`;t.className!==s&&(t.className=s),this.ii(t,r,o)}else this.Va(t,r,o)}Fa(e,t,r){if(this.core.options.editType!=="cell"||this.core.options.editableIndicator==="none"||!this.core.editingService.isEditable(t,r))return;let o=document.createElement("button");o.type="button",o.className=`mach-cell-edit-trigger mach-cell-edit-trigger--${this.core.options.editableIndicator}`,o.tabIndex=-1,o.title="Edit cell",o.setAttribute("aria-label","Edit cell"),o.innerHTML='<svg viewBox="0 0 16 16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m10.8 2.7 2.5 2.5L5.5 13H3v-2.5z"/><path d="m9.5 4 2.5 2.5"/></svg>',o.addEventListener("mousedown",n=>{n.preventDefault(),n.stopPropagation()}),o.addEventListener("click",n=>{n.preventDefault(),n.stopPropagation(),this.setFocusedCell(t.rowIndex,r.id),this.core.editingService.start(t.rowIndex,r)}),e.appendChild(o)}ei(e){if(!(e.index<0))for(let t of F)for(let r of e.cells[t]??[])this.core.editingService.releaseCell(e.index,r.dataset.colId??"",r)}ni(){return this.$e!==void 0?this.$e:(this.$e=this.core.columnModel.getOrderedVisible().find(e=>!e.hasCheckbox&&!e.isDetailToggle&&!e.colDef.rowDrag&&!ne(e.colDef,"index"))??null,this.$e)}Va(e,t,r){let o=this.core.rowModel.isRowExpandable(t),n=this.Ba(t),s=Te(this.core,t,r,this.core.getCellValue(t,r)),a=f("span","mach-tree-indent");a.style.width=`${n*16}px`;let l=f("span","mach-tree-cell");if(n>0&&l.appendChild(a),o){let c=this.core.rowModel.isRowExpanded(t.id);e.setAttribute("aria-expanded",c?"true":"false"),e.setAttribute("aria-level",String(n+1));let u=t.treeLoading?" mach-detail-toggle--loading":t.treeLoadError?" mach-detail-toggle--error":"",h=document.createElement("button");h.type="button",h.tabIndex=-1,h.className="mach-tree-toggle",h.setAttribute("aria-label",t.treeLoadError?"Retry loading children":c?"Collapse row":"Expand row"),h.setAttribute("aria-expanded",String(c)),t.treeLoadError&&(h.title="Retry loading children");let p=f("span",`mach-detail-toggle${c?" mach-detail-toggle--open":""}${u}`);p.setAttribute("aria-hidden","true"),p.textContent="\u25B6",h.appendChild(p),h.addEventListener("keydown",m=>{(m.key==="Enter"||m.key===" ")&&m.stopPropagation()}),l.appendChild(h)}else{let c=f("span","mach-tree-toggle-spacer");l.appendChild(c)}let d=f("span","mach-tree-text");d.textContent=s,l.appendChild(d),e.replaceChildren(l),s&&!this.core.options.tooltipComponent?e.title=s:e.removeAttribute("title"),Re(this.core,e,t,r)}Ba(e){return this.core.rowModel.getTreeDepth(e)}te(e){e.style.height!==""&&(e.style.height=""),e.style.zIndex!==""&&(e.style.zIndex=""),e.style.display==="none"&&(e.style.display=""),e.removeAttribute("aria-rowspan")}ii(e,t,r){let o=this.core.rowModel.getSpanInfo(r.id);if(!o||t.isDetail){this.te(e);return}let n=this.core.rowModel.getRowSeq(t)-1;if(n<0||n>=o.length){this.te(e);return}let s=o[n];if(s===-1){e.style.display="none",e.setAttribute("aria-hidden","true");return}if(e.style.display==="none"&&(e.style.display=""),e.removeAttribute("aria-hidden"),s>1){let a=Math.min(n+s,this.core.rowModel.getDisplayedRowCount()),l=this.G(a)-this.G(n);e.style.height=`${l>0?l:s*this.core.options.rowHeight}px`,e.style.zIndex="1",e.setAttribute("aria-rowspan",String(s))}else this.te(e)}Oa(e,t,r){if(r.hasCheckbox){this.za(e,t);return}if(r.isDetailToggle){this.si(e);return}let o=this.core.columnModel.getGroupLabelColumn();if(o&&r.id===o.id){this._a(e,t);return}this.Wa(e,t,r)||this.si(e)}za(e,t){let r=e.querySelector(".mach-row-checkbox");if(r){let o=this.core.selectionService.getGroupSelectionState(t);r.checked=o.all,r.indeterminate=o.some&&!o.all}e.className!=="mach-cell mach-cell--selection"&&(e.className="mach-cell mach-cell--selection")}_a(e,t){let r=this.core.rowModel.isGroupExpanded(t.id),o=t.groupLevel??0;e.setAttribute("aria-expanded",r?"true":"false"),e.setAttribute("aria-level",String(o+1));let n=f("span","mach-group-label");n.style.paddingLeft=`${o*16}px`;let s=f("span",`mach-detail-toggle${r?" mach-detail-toggle--open":""}`);s.textContent="\u25B6";let a=f("span","mach-group-text"),l=this.core.columnModel.getRowGroupColumns()[o],d=l?.colDef.headerName?`${l.colDef.headerName}: `:"";a.textContent=`${d}${t.groupKey??""}`;let c=f("span","mach-group-count");c.textContent=`(${t.leafNodes?.length??0})`,n.append(s,a,c),e.replaceChildren(n),e.className!=="mach-cell mach-cell--group"&&(e.className="mach-cell mach-cell--group")}Wa(e,t,r){if(!r.colDef.aggFunc||!t.aggValues||!Object.prototype.hasOwnProperty.call(t.aggValues,r.id))return!1;let o=t.aggValues[r.id];return e.textContent=r.colDef.valueFormatter!=null?Te(this.core,t,r,o):et(o),e.className!=="mach-cell mach-cell--num"&&(e.className="mach-cell mach-cell--num"),!0}si(e){e.textContent="",e.className!=="mach-cell"&&(e.className="mach-cell")}refreshRows(e){if(this.core.isDestroyed())return;let t=new Set;for(let r of e){if(r<0||t.has(r))continue;t.add(r);let o=this.pool[r%this.M];if(!o||o.index!==r)continue;let n=this.core.rowModel.getDisplayedRow(r);if(n){if(o.kind==="detail"){o.detailRow&&this.Ir(o.detailRow,n);continue}for(let s of F){let a=o.rows[s];a&&this.ti(a,n),o.cells[s]&&this.Pt(o,n,s)}}}this.Gt(),this.flushFlash()}refreshAllCells(){this.refreshCells()}refreshCells(e={}){if(this.core.isDestroyed())return;let t=e.rowIds==null?null:new Set(e.rowIds),r=e.rowIndexes==null?null:new Set(e.rowIndexes),o=e.columns==null?null:new Set(e.columns);for(let n of this.pool){let s=this.core.rowModel.getDisplayedRow(n.index);!s||!this.$a(n,s,t,r)||this.Ka(n,s,o,e.force===!0)}this.Gt(),this.flushFlash()}$a(e,t,r,o){return e.index<0?!1:r==null&&o==null?!0:r?.has(t.id)===!0||o?.has(e.index)===!0}Ka(e,t,r,o){if(e.kind==="detail"){r==null&&e.detailRow&&this.Ir(e.detailRow,t);return}let n=r==null||this.core.columnModel.hasColSpan(),s=Se(this.core,t);for(let a of F){let l=e.rows[a];l&&pe(l,s),n?this.Pt(e,t,a):this.qa(e,t,a,r,o)}}qa(e,t,r,o,n){let s=this.We(r),a=e.cells[r];if(a)for(let l=0;l<s.length;l++){let d=s[l];if(!o.has(d.id))continue;let c=a[l];c&&(this.core.editingService.renderEditor(e.index,t,d,c)||(n&&A(this.core,c),this.ri(c,t,d),this.oi(c,e.index,d)))}}onDataChanged(){this.core.isDestroyed()||(this.focusedCell&&this.focusedCell.rowIndex>=this.core.rowModel.getDisplayedRowCount()&&this.setFocusedCell(null,null),this.Qo(),this.applyContainerSizes(),this.updateRange(!0),this.re(),this.refreshOverlays(),this.core.summaryRenderer.refresh())}refreshOverlays(){let e=this.core.options;if(e.loading){let t=e.overlayLoadingTemplate||this.core.buildDefaultLoadingState();this.core.skeleton.showOverlay("loading",t,e.allowUnsafeOverlayHtml);return}if(e.error!=null){let t=e.overlayErrorTemplate||this.core.buildDefaultErrorState();this.core.skeleton.showOverlay("error",t,e.allowUnsafeOverlayHtml);return}if(this.core.rowModel.getDisplayedRowCount()===0&&!e.suppressNoRowsOverlay){let t=e.overlayNoRowsTemplate||this.core.buildDefaultEmptyState();this.core.skeleton.showOverlay("noRows",t,e.allowUnsafeOverlayHtml);return}this.core.skeleton.hideOverlay()}getCellElement(e,t){let r=this.core.columnModel.getColumn(t);if(!r)return null;let o=this.paneForColumn(r),n=this.pool[e%Math.max(1,this.M)]?.cellColIds[o]?.indexOf(r.id)??-1;if(n<0)return null;let s=this.pool[e%this.M];return!s||s.index!==e||s.kind!=="master"?null:s.cells[o]?.[n]??null}Qo(){this.c.invalidate()}normalizedRange(){let e=this.core.rowModel.getDisplayedRowCount(),t=this.core.columnModel.getOrderedVisible().length;return this.c.normalize(e,t)}getNormalizedRangeOrFocus(){let e=this.normalizedRange();if(e)return e;let t=this.focusedCell;if(t){let r=this.core.columnModel.getFlatIndex(t.colId);if(r>=0)return{r1:t.rowIndex,c1:r,r2:t.rowIndex,c2:r}}return null}getRangeSelection(){let e=this.normalizedRange();if(!e)return null;let t=this.core.columnModel.getOrderedVisible();return{row1:e.r1,row2:e.r2,colId1:t[e.c1]?.id??"",colId2:t[e.c2]?.id??""}}getPasteStart(){let e=this.c.getAnchor();if(e)return{row:e.row,colIdx:e.colIdx};let t=this.getNormalizedRangeOrFocus();return t?{row:t.r1,colIdx:t.c1}:null}clearRangeSelection(){let e=this.normalizedRange();this.c.clear(),e&&(this.oe(e,null),this.re(),this.core.emit("rangeSelectionChanged",{range:null}))}oe(e,t){let r=[],o=n=>{if(n)for(let s=n.r1;s<=n.r2;s++)r.push(s)};o(e),o(t),r.length>0&&this.refreshRows(r)}startRange(e,t,r){let o=this.normalizedRange();this.c.start({row:e,colIdx:t},r);let n=this.normalizedRange();this.oe(o,n),this.re(),this.core.emit("rangeSelectionChanged",{range:this.getRangeSelection()})}moveRangeEnd(e,t){if(!this.c.hasAnchor()){let d=this.focusedCell;if(!d)return;let c=this.core.columnModel.getFlatIndex(d.colId);if(!this.c.ensureAnchor({row:d.rowIndex,colIdx:c}))return}let r=this.core.rowModel.getDisplayedRowCount(),o=this.core.columnModel.getOrderedVisible().length,n=this.normalizedRange();this.c.setEnd({row:Math.max(0,Math.min(e,r-1)),colIdx:Math.max(0,Math.min(t,o-1))});let s=this.normalizedRange();this.oe(n,s),this.re();let a=this.core.columnModel.getOrderedVisible(),l=this.c.getEnd();l&&l.colIdx<a.length&&this.setFocusedCell(l.row,a[l.colIdx].id),this.core.emit("rangeSelectionChanged",{range:this.getRangeSelection()})}oi(e,t,r){let o=this.normalizedRange();if(!o){e.classList.contains("mach-cell--range")&&e.classList.remove("mach-cell--range","mach-cell--range-top","mach-cell--range-bottom","mach-cell--range-left","mach-cell--range-right");return}let n=this.core.columnModel.getFlatIndex(r.id);if(n<0)return;let s=t>=o.r1&&t<=o.r2&&n>=o.c1&&n<=o.c2;e.classList.toggle("mach-cell--range",s),s?(e.classList.toggle("mach-cell--range-top",t===o.r1),e.classList.toggle("mach-cell--range-bottom",t===o.r2),e.classList.toggle("mach-cell--range-left",n===o.c1),e.classList.toggle("mach-cell--range-right",n===o.c2)):e.classList.remove("mach-cell--range-top","mach-cell--range-bottom","mach-cell--range-left","mach-cell--range-right")}Ua(){if(this.kt)return this.kt;let e=f("div","mach-fill-handle");return e.style.display="none",e.addEventListener("pointerdown",t=>{this.Lr=!0,this.ai(t)}),e.addEventListener("mousedown",t=>{this.Lr||this.ai(t)}),this.core.skeleton.rowContainers.center.appendChild(e),this.kt=e,e}re(){let e=this.Ua(),t=this.normalizedRange();if(!this.core.options.enableRangeSelection||!this.core.options.fillHandle||!t){e.style.display="none";return}let r=this.core.columnModel,o=r.getPaneColumns("left").length,n=r.getPaneColumns("center");if(t.c2<o||t.c2>=o+n.length){e.style.display="none";return}let s=t.c2-o;this.l.update(n);let a=this.l.offsetAt(s+1),l=this.G(Math.min(t.r2+1,this.core.rowModel.getDisplayedRowCount()));e.style.display="",e.style.left=`${a-4}px`,e.style.top=`${l-4}px`}ai(e){if(this.core.isDestroyed()||e.button!==0)return;let t=this.normalizedRange();t&&(e.preventDefault(),e.stopPropagation(),this.Ke={r1:t.r1,r2:t.r2,c1:t.c1,c2:t.c2,startX:e.clientX,startY:e.clientY,axis:null,active:!1},window.addEventListener("pointermove",this.Nt),window.addEventListener("mousemove",this.Nt),window.addEventListener("pointerup",this.Re),window.addEventListener("mouseup",this.Re),window.addEventListener("pointercancel",this.Re))}li(e){let r=this.core.skeleton.rowContainers.center.getBoundingClientRect(),o=e.clientY-r.top,n=this.core.rowModel.getDisplayedRowCount(),s=this.xt(o,n);return Math.max(this.Ke.r2,Math.min(s,n-1))}di(e){let r=this.core.skeleton.rowContainers.center.getBoundingClientRect(),o=e.clientX-r.left,n=this.core.columnModel,s=n.getPaneColumns("left").length,a=n.getPaneColumns("center");this.l.update(a);let l=this.l.indexAt(o);if(l<0)return s;let d=this.l.offsetAt(l)+a[l].currentWidth/2;return o<d?s+l:l+1<a.length?s+l+1:s+a.length-1}jo(){this.Ke=null,this.Lr=!1,window.removeEventListener("pointermove",this.Nt),window.removeEventListener("mousemove",this.Nt),window.removeEventListener("pointerup",this.Re),window.removeEventListener("mouseup",this.Re),window.removeEventListener("pointercancel",this.Re),this.core.skeleton.root.classList.remove("mach-root--filling")}ja(e,t,r,o,n){let s=this.core.columnModel.getOrderedVisible(),a=new Set;this.core.undoService.beginBatch();try{for(let l=e;l<=t;l++)this.Ya(l,r,o,n,s,a)}finally{this.core.undoService.endBatch()}a.size>0&&(this.refreshRows([...a]),this.core.summaryRenderer.refresh(),this.core.emit("rangeSelectionChanged",{range:this.getRangeSelection()}))}Ya(e,t,r,o,n,s){let a=this.core.rowModel.getDisplayedRow(e);if(!a||a.isDetail||a.isGroup)return;let l=[];for(let c=t;c<=r;c++){let u=n[c];l.push(u?this.core.getCellValue(a,u):void 0)}let d=Io(l);for(let c=r+1;c<=o;c++){let u=n[c];if(!Ao(u)||!this.core.editingService.isEditable(a,u))continue;let h=Lo(d,c-t),p=this.core.getCellValue(a,u);this.core.setCellValue(a,u,h,p)&&s.add(e)}}Xa(e,t,r,o,n){let s=this.core.columnModel.getOrderedVisible(),a=new Set;this.core.undoService.beginBatch();try{this.Ja(e,t,r,o,n,s,a)}finally{this.core.undoService.endBatch()}a.size>0&&(this.refreshRows([...a]),this.core.summaryRenderer.refresh(),this.core.emit("rangeSelectionChanged",{range:this.getRangeSelection()}))}Ja(e,t,r,o,n,s,a){for(let l=r;l<=o;l++){let d=s[l];Ao(d)&&this.Qa(d,e,t,n,a)}}Qa(e,t,r,o,n){let s=this.Za(e,t,r);if(s.length===1&&s[0]===void 0)return;let a=Io(s);for(let l=r+1;l<=o;l++){let d=this.core.rowModel.getDisplayedRow(l);if(!d||d.isDetail||d.isGroup||!this.core.editingService.isEditable(d,e))continue;let c=Lo(a,l-t),u=this.core.getCellValue(d,e);this.core.setCellValue(d,e,c,u)&&n.add(l)}}Za(e,t,r){let o=[];for(let n=t;n<=r;n++){let s=this.core.rowModel.getDisplayedRow(n);o.push(s?this.core.getCellValue(s,e):void 0)}return o}setFocusedCell(e,t){if(this.tl(),e==null||t==null){this.focusedCell=null;return}this.focusedCell={rowIndex:e,colId:t},this.Gt(),this.rl()}Gt(){if(!this.focusedCell)return;let e=this.getCellElement(this.focusedCell.rowIndex,this.focusedCell.colId);if(e){let t=Math.max(0,this.core.columnModel.getFlatIndex(this.focusedCell.colId));e.id=`mach-grid-${this.core.gridId}-r${this.focusedCell.rowIndex}-c${t}`,e.classList.add("mach-cell--focus"),this.core.skeleton.root.setAttribute("aria-activedescendant",e.id)}}tl(){if(this.focusedCell){let e=this.getCellElement(this.focusedCell.rowIndex,this.focusedCell.colId);e&&(e.classList.remove("mach-cell--focus"),e.removeAttribute("id"))}this.core.skeleton.root.removeAttribute("aria-activedescendant")}rl(){if(!this.focusedCell)return;this.scrollToIndex(this.focusedCell.rowIndex,"nearest");let e=this.core.columnModel.getColumn(this.focusedCell.colId);if(!e||e.pinned)return;let t=this.core.skeleton.bodyViewports.center,r=this.core.columnModel.getPaneColumns("center");this.l.update(r);let o=this.l.offsetAt(r.indexOf(e)),n=t.scrollLeft,s=t.clientWidth;o<n?t.scrollLeft=o:o+e.currentWidth>n+s&&(t.scrollLeft=o+e.currentWidth-s)}scrollToIndex(e,t="top"){let r=this.core.skeleton.bodyViewports.center,o=this.core.rowModel.getDisplayedRowCount();if(o===0)return;let n=E(e,0,o-1),s=r.clientHeight,a=r.scrollTop,l=this.G(n),d=this.G(n+1),c=a;t==="top"?c=l:t==="bottom"?c=d-s:t==="middle"?c=l-(s-(d-l))/2:l<a?c=l:d>a+s&&(c=d-s);let u=Math.max(0,this.G(o)-s);r.scrollTop=E(c,0,u)}ci(e){if(this.St===e)return;let t=this.St;this.St=e,this.ui(t,!1),this.ui(e,!0)}ui(e,t){if(e<0)return;let r=this.pool[e%this.M];if(!(!r||r.index!==e||r.kind!=="master"))for(let o of F)r.rows[o]?.classList.toggle("mach-row--hover",t)}focusGridRoot(){this.core.skeleton.root.focus({preventScroll:!0})}ie(e){let t=e.target,r=t.closest(".mach-row");if(!r)return null;let o=Number(r.dataset.index);if(Number.isNaN(o))return null;let n=this.core.rowModel.getDisplayedRow(o);if(!n)return null;let s=t.closest(".mach-cell");return{node:n,index:o,cellEl:s}}hi(e,t,r){let{node:o,index:n,cellEl:s}=r;if(this.ol(t,o,s)||this.il(t,o,s))return;let a=s?.dataset.colId??"",l=a?this.core.columnModel.getColumn(a):void 0;this.nl(o,l)||o.isDetail||this.sl(t,o,n,e)||!s||!l||(this.focusGridRoot(),this.core.options.suppressCellFocus||this.setFocusedCell(n,a),this.core.selectionService.onRowClick(o,e,!1),this.al(e,o,n,l),this.ll(o,n,l))}ol(e,t,r){if(!t.isGroup)return!1;if(this.focusGridRoot(),e.closest(".mach-row-checkbox")){let n=this.core.selectionService.getGroupSelectionState(t).all;return this.core.selectionService.setGroupSelected(t,!n),!0}let o=this.core.columnModel.getGroupLabelColumn();return(!o||!r||r.dataset.colId===o.id)&&this.core.rowModel.toggleGroup(t.id),!0}nl(e,t){return!t?.isDetailToggle||e.isDetail?!1:(this.focusGridRoot(),this.core.toggleDetail(e.id),!0)}sl(e,t,r,o){let n=e.closest(".mach-cell--selection");return n?(this.focusGridRoot(),this.core.options.suppressCellFocus||this.setFocusedCell(r,n.dataset.colId??""),this.clearRangeSelection(),this.core.selectionService.onRowClick(t,o,!0),!0):!1}al(e,t,r,o){let n=this.core.getCellValue(t,o),s=this.core.emit("cellClicked",{event:e,rowNode:t,rowIndex:r,column:o,colDef:o.colDef,value:n});o.colDef.onCellClick?.(s),this.core.emit("rowClicked",{event:e,rowNode:t,rowIndex:r})}ll(e,t,r){(this.core.options.singleClickEdit||r.colDef.singleClickEdit===!0)&&this.core.editingService.isEditable(e,r)&&this.core.editingService.start(t,r)}il(e,t,r){if(!this.core.rowModel.isTree||!e.closest(".mach-tree-toggle"))return!1;let o=this.ni();return!o||r?.dataset.colId!==o.id||!this.core.rowModel.isRowExpandable(t)?!1:(this.focusGridRoot(),t.treeLoadError?this.core.rowModel.loadTreeChildren(t.id,!0).catch(()=>{}):this.core.rowModel.toggleDetail(t.id),!0)}dl(e){return!!(e.target.closest(".mach-cell-editor-shell, .mach-row-editor-shell, .mach-tree-toggle, .mach-row-drag-handle")||this.core.editingService.isCellEditing())}Ha(e,t){let r=document.createElement("button");r.className="mach-row-drag-handle",r.type="button",r.disabled=!this.Te.canDrag(t);let o=this.core.options.locale.rowDragHandle??D.rowDragHandle;r.setAttribute("aria-label",o),r.title=r.disabled?this.core.options.locale.rowDragUnavailable??D.rowDragUnavailable:o,r.setAttribute("aria-keyshortcuts","Alt+ArrowUp Alt+ArrowDown"),e.replaceChildren(r)}};var Et=class{constructor(e){this.core=e;this.k=null;this.rows={left:void 0,center:void 0,right:void 0};this.Pr={left:[],center:[],right:[]}}init(){this.k=f("div","mach-footer"),this.k.style.display="none",this.k.setAttribute("role","row"),this.core.skeleton.root.appendChild(this.k);for(let e of["left","center","right"]){let t=f("div",`mach-footer-row mach-footer-row--${e}`);t.style.height=`${this.core.options.rowHeight}px`,this.k.appendChild(t),this.rows[e]=t}}setVisible(e){this.k&&(this.k.style.display=e?"":"none")}refresh(){if(!this.k||this.core.isDestroyed())return;let e=this.core.options.showSummary;if(this.setVisible(e),!e)return;let t=this.core.options.summaryMethod,r=this.core.rowModel.getDisplayedRows().filter(n=>!n.isDetail&&!n.isGroup),o={...D,...this.core.options.locale};for(let n of["left","center","right"]){let s=this.core.columnModel.getPaneColumns(n),a=this.rows[n];this.Pr[n].length!==s.length&&(a.textContent="",this.Pr[n]=s.map(()=>{let d=f("div","mach-footer-cell");return d.setAttribute("role","cell"),a.appendChild(d),d}));let l=0;s.forEach((d,c)=>{let u=this.Pr[n][c];if(u.style.left=`${l}px`,u.style.width=`${d.currentWidth}px`,l+=d.currentWidth,d.hasCheckbox||d.isDetailToggle||d.colDef.rowDrag){u.textContent="";return}if(t)try{u.textContent=t({colId:d.id,column:d,values:r.map(h=>this.core.getCellValue(h,d))})}catch(h){this.core.reportError(h,"summaryMethod",{colId:d.id}),u.textContent=""}else c===0&&n==="left"?u.textContent=V(o.totalRowsLabel,r.length):u.textContent=""})}}destroy(){this.k?.remove(),this.k=null}};var St=class{constructor(e){this.core=e;this.i=null;this.Ft=null;this.Gr=null;this.De=null;this.ne=null;this.qe=null;this.Ue=null;this.je=null;this.Ye=null;this.se=[]}init(){this.i=f("div","mach-pagination"),this.i.style.display="none",this.i.setAttribute("role","navigation");let e=(t,r,o)=>{let n=f("button",`mach-pagination-btn ${t}`);return n.type="button",n.title=r,n.setAttribute("aria-label",r),n.textContent=o,n};this.Ft=f("span","mach-pagination-total"),this.qe=e("mach-pagination-first",this.t("pageFirst"),"\xAB"),this.Ue=e("mach-pagination-prev",this.t("pagePrev"),"\u2039"),this.Gr=f("span","mach-pagination-page"),this.je=e("mach-pagination-next",this.t("pageNext"),"\u203A"),this.Ye=e("mach-pagination-last",this.t("pageLast"),"\xBB"),this.qe.addEventListener("click",()=>this.core.rowModel.setPage(1)),this.Ue.addEventListener("click",()=>this.core.rowModel.setPage(this.core.rowModel.getCurrentPage()-1)),this.je.addEventListener("click",()=>this.core.rowModel.setPage(this.core.rowModel.getCurrentPage()+1)),this.Ye.addEventListener("click",()=>this.core.rowModel.setPage(this.core.rowModel.getPageCount())),this.i.append(this.Ft,this.qe,this.Ue,this.Gr,this.je,this.Ye),this.core.options.paginationShowSizeSelector&&(this.ne=U({ariaLabel:"page size",options:[],classNames:{root:"mach-pagination-size-control",native:"mach-pagination-size"},themeSource:this.core.skeleton.root,onChange:t=>{let r=Number(t);Number.isNaN(r)||this.core.rowModel.setPageSize(r)}}),this.De=this.ne.native,this.pi(),this.i.appendChild(this.ne.el)),this.core.skeleton.root.appendChild(this.i),this.se.push(this.core.eventBus.on("modelUpdated",()=>this.refresh()),this.core.eventBus.on("paginationChanged",()=>this.refresh())),this.refresh()}pi(){if(!this.De)return;let e=this.core.options.paginationPageSizeOptions,t=this.core.options.paginationPageSize;e.includes(t)||(e.push(t),e.sort((r,o)=>r-o)),this.ne?.setOptions(e.map(r=>({value:String(r),label:V(this.t("perPage"),r)})),String(t))}t(e){return this.core.options.locale?.[e]??D[e]}rebuild(){this.i&&(this.De&&this.core.options.paginationShowSizeSelector&&this.pi(),this.refresh())}fi(e,t){e&&e.textContent!==t&&(e.textContent=t)}cl(e,t){let r=e<=1,o=e>=t;this.qe&&(this.qe.disabled=r),this.Ue&&(this.Ue.disabled=r),this.je&&(this.je.disabled=o),this.Ye&&(this.Ye.disabled=o)}refresh(){if(!this.i||this.core.isDestroyed())return;let e=this.core.rowModel,t=e.paginationActive,r=e.getTotalRowCount(),o=t&&r>0;if(this.i.style.display=o?"":"none",!o)return;let n=e.getCurrentPage(),s=e.getPageCount();this.Ft&&this.core.options.paginationShowTotal&&this.fi(this.Ft,V(this.t("paginationTotal"),r)),this.fi(this.Gr,ce(this.t("paginationPage"),n,s)),this.cl(n,s),this.De&&Number(this.De.value)!==this.core.options.paginationPageSize&&this.ne?.setValue(String(this.core.options.paginationPageSize))}destroy(){for(let e of this.se)e();this.se=[],this.ne?.destroy(),this.ne=null,this.De=null,this.i?.remove(),this.i=null}};var oe=["left","center","right"],xt=class{constructor(e){this.core=e;this.top=null;this.bottom=null}init(){this.top=this.mi(this.core.skeleton.pinnedTopEl),this.bottom=this.mi(this.core.skeleton.pinnedBottomEl)}mi(e){let t={root:e,segments:{left:f("div"),center:f("div"),right:f("div")},centerViewport:f("div","mach-pinned-viewport"),rowWrappers:{left:[],center:[],right:[]},cells:[],data:[]};for(let r of oe)t.segments[r].className=`mach-pinned-seg mach-pinned-seg--${r}`,r!=="center"&&t.segments[r].classList.add("mach-pane--hidden"),r==="center"&&t.centerViewport.appendChild(t.segments[r]);return e.append(t.segments.left,t.centerViewport,t.segments.right),t}setData(e,t){this.core.isDestroyed()||!this.top||!this.bottom||(this.top.data=e??[],this.bottom.data=t??[],this.rebuild(),this.applyLayout(),this.core.relayout())}setTopData(e){this.core.isDestroyed()||!this.top||(this.top.data=e??[],this.Ot(this.top,"top"),this.applyLayout(),this.core.relayout())}setBottomData(e){this.core.isDestroyed()||!this.bottom||(this.bottom.data=e??[],this.Ot(this.bottom,"bottom"),this.applyLayout(),this.core.relayout())}getTopData(){return this.top?this.top.data.slice():[]}getBottomData(){return this.bottom?this.bottom.data.slice():[]}rebuild(){!this.top||!this.bottom||(this.Ot(this.top,"top"),this.Ot(this.bottom,"bottom"))}Ot(e,t){for(let n of e.cells)for(let s of oe)for(let a of n[s])A(this.core,a);for(let n of oe){for(let s of e.rowWrappers[n])s.remove();e.rowWrappers[n]=[]}if(e.cells=[],e.root.style.display=e.data.length>0?"":"none",e.data.length===0)return;let r=this.core.options.rowHeight,o=this.core.columnModel;e.data.forEach((n,s)=>{let a={id:`__pinned_${t}_${s}`,data:n,rowIndex:-1,selected:!1},l={},d=Se(this.core,a,t);for(let c of oe){let u=f("div","mach-pinned-row");pe(u,d),u.style.height=`${r}px`,u.setAttribute("role","row"),l[c]=[];for(let h of o.getPaneColumns(c)){let p=f("div","mach-cell");if(p.dataset.colId=h.id,p.setAttribute("role","gridcell"),h.hasCheckbox&&p.classList.add("mach-cell--selection"),!h.hasCheckbox&&!h.isDetailToggle&&!h.colDef.rowDrag&&h.colDef.type!=="index")try{rt(this.core,p,a,h),Re(this.core,p,a,h),tt(this.core,p,a,h)}catch(m){this.core.reportError(m,"pinnedRow.render",{colId:h.id,side:t,rowIndex:s})}u.appendChild(p),l[c].push(p)}e.segments[c].appendChild(u),e.rowWrappers[c].push(u)}e.cells.push(l)})}applyLayout(){if(!this.top||!this.bottom)return;let e=this.core.columnModel,t={left:0,center:0,right:0},r={left:[],center:[],right:[]};for(let o of oe){let n=0;for(let s of e.getPaneColumns(o))r[o].push(n),n+=s.currentWidth;t[o]=n}for(let o of[this.top,this.bottom]){let n=o.data.length===0;o.segments.left.classList.toggle("mach-pane--hidden",n||t.left<=0),o.segments.right.classList.toggle("mach-pane--hidden",n||t.right<=0),o.segments.left.style.width=`${t.left}px`,o.segments.right.style.width=`${t.right}px`,o.segments.center.style.width=`${t.center}px`,o.cells.forEach(s=>{let a=0;for(let l of oe){let d=e.getPaneColumns(l);s[l].forEach((c,u)=>{c.style.width=`${d[u].currentWidth}px`,c.style.left=`${r[l][u]}px`,c.setAttribute("aria-colindex",String(a+u+1))}),a+=d.length}})}}onScrollLeft(e){this.top&&(this.top.segments.center.style.transform=`translateX(${-e}px)`),this.bottom&&(this.bottom.segments.center.style.transform=`translateX(${-e}px)`)}refresh(){this.rebuild(),this.applyLayout()}destroy(){for(let e of[this.top,this.bottom])if(e)for(let t of e.cells)for(let r of oe)for(let o of t[r])A(this.core,o);this.top=null,this.bottom=null}};var Mt=class{constructor(e){this.core=e;this.i=null;this.items={};this.se=[]}init(){this.i=f("div","mach-statusbar"),this.i.style.display="none",this.i.setAttribute("role","status"),this.core.skeleton.root.appendChild(this.i),this.rebuild(),this.se.push(this.core.eventBus.on("modelUpdated",()=>this.refresh()),this.core.eventBus.on("selectionChanged",()=>this.refresh()),this.core.eventBus.on("rangeSelectionChanged",()=>this.refresh()),this.core.eventBus.on("cellValueChanged",()=>this.refresh()))}rebuild(){if(!this.i)return;this.i.textContent="",this.items={};let e=this.core.options;if(!e.statusBarEnabled){this.i.style.display="none";return}for(let t of e.statusBarPanels){let r=f("span",`mach-statusbar-item mach-statusbar-item--${t}`);this.i.appendChild(r),this.items[t]=r}this.refresh()}text(e,t,r){let o=e[t]??D[t];if(r===void 0)return o;let n=typeof r=="number"?r:parseFloat(String(r))||0;return V(o,n)}Nr(e,t){let r=this.items[e];r&&r.textContent!==t&&(r.textContent=t)}ul(e){let t=this.core.rowModel,r=t.getDisplayTotalCount(),o=t.paginationActive?t.getTotalRowCount():t.getDisplayedRowCount(),n=V(this.text(e,"totalRowsLabel"),o);return t.isInfinite&&r>o?`${n} / ${r}`:n}hl(e){let t=this.core.bodyRenderer.normalizedRange();if(!t)return"";let r=this.core.columnModel.getOrderedVisible(),o=0,n=0;for(let l=t.r1;l<=t.r2;l++){let d=this.core.rowModel.getDisplayedRow(l);if(!(!d||d.isDetail||d.isGroup))for(let c=t.c1;c<=t.c2;c++){let u=r[c];if(!u)continue;let h=this.core.getCellValue(d,u);typeof h!="number"||Number.isNaN(h)||(o+=h,n++)}}if(n===0)return"";let s=Math.round(o/n*100)/100,a=Number.isInteger(o)?String(o):String(Math.round(o*100)/100);return`${this.text(e,"statusSum",a)} \xB7 ${this.text(e,"statusAvg",String(s))} \xB7 ${this.text(e,"statusCount",String(n))}`}refresh(){if(!this.i||this.core.isDestroyed())return;let e=this.core.options;if(this.i.style.display=e.statusBarEnabled?"":"none",!e.statusBarEnabled)return;let t={...D,...e.locale};if(this.items.rowCount&&this.Nr("rowCount",this.ul(t)),this.items.selectedRowCount){let r=this.core.selectionService.getSelectedNodes().length;this.Nr("selectedRowCount",V(this.text(t,"statusSelected"),r))}this.items.rangeAggregate&&this.Nr("rangeAggregate",this.hl(t))}destroy(){for(let e of this.se)e();this.se=[],this.i?.remove(),this.i=null}};function cr(){try{return typeof localStorage>"u"?null:localStorage}catch{return null}}function Po(i){return typeof TextEncoder>"u"?i.length*2:new TextEncoder().encode(i).byteLength}function ur(i={}){let e=(i.namespace??"mach-table:grid-state").replace(/:+$/,""),t=Math.max(1024,Math.floor(i.maxBytes??512*1024)),r=n=>`${e}:${n}`,o=(n,s,a)=>{try{i.onError?.(n,s,a)}catch{}};return{storageKey:r,load(n){try{let s=(i.storage??cr())?.getItem(r(n));if(!s)return null;if(Po(s)>t)throw new RangeError(`[MachTable] Stored grid state for "${n}" exceeds ${t} bytes.`);let a=JSON.parse(s);if(a?.schemaVersion!==2)throw new TypeError(`[MachTable] Stored grid state for "${n}" uses an unsupported schema.`);let l=z(a.state);if(!l)throw new TypeError(`[MachTable] Stored grid state for "${n}" is invalid.`);return l}catch(s){return o(s,"load",n),null}},save(n,s){try{let a=z(s);if(!a)throw new TypeError(`[MachTable] Invalid grid state for "${n}".`);let l=JSON.stringify({schemaVersion:2,savedAt:Date.now(),state:a});if(Po(l)>t)throw new RangeError(`[MachTable] Grid state for "${n}" exceeds ${t} bytes.`);(i.storage??cr())?.setItem(r(n),l)}catch(a){o(a,"save",n)}},clear(n){try{(i.storage??cr())?.removeItem(r(n))}catch(s){o(s,"clear",n)}}}}var hr=ur();function kt(i,e){hr.save(i,e)}function At(i){return hr.load(i)}function Go(i){hr.clear(i)}var Zn=[[/^(success|ok|done|complete|completed|normal|active|enabled|启用|正常|完成|已完成|运行|运行中|在线|生效)$/i,"success"],[/^(warning|warn|hold|pending|standby|待机|待审核|暂停|预警|部分完成)$/i,"warning"],[/^(error|fail|failed|danger|fault|offline|disabled|故障|失败|错误|异常|停用|离线|断开)$/i,"danger"],[/^(info|processing|new|draft|进行中|新建|草稿|审批中|同步中)$/i,"info"]];function fr(i,e){let t=String(i??"");if(e){let r=e[t];if(r)return r;let o=e[t.toLowerCase()];if(o)return o}for(let[r,o]of Zn)if(r.test(t))return o;return"neutral"}function mr(i={}){return e=>{if(e.value==null||e.value==="")return"";let t=fr(e.value,i.variantMap),r=i.labelMap?.[String(e.value)]??(e.formatted||String(e.value)),o=document.createElement("span");return o.className=`mach-tag mach-tag--${t}`,o.textContent=r,o}}function gr(i={}){return e=>{let t=Number(e.value);if(isNaN(t))return e.formatted;let r=Math.max(0,Math.min(100,t)),o=document.createElement("div");o.className="mach-progress";let n=document.createElement("div");n.className="mach-progress__track";let s=document.createElement("div");if(s.className="mach-progress__bar",s.style.width=`${r}%`,i.color&&(s.style.background=i.color),n.appendChild(s),o.appendChild(n),i.showValue!==!1){let a=document.createElement("span");a.className="mach-progress__label",a.textContent=`${Math.round(r)}${i.unit??"%"}`,o.appendChild(a)}return o}}function yr(i){if(i.value==null||i.value==="")return"";let e=document.createElement("span");return e.className="mach-link",e.textContent=i.formatted||String(i.value),e}var vr={edit:'<path d="M11.5 2.5l2 2L5 13H3v-2l8.5-8.5z"/>',delete:'<path d="M3 5h10M6 5V3h4v2M5 5l.7 8h4.6L11 5"/>',view:'<path d="M1.5 8s2.4-4.2 6.5-4.2S14.5 8 14.5 8s-2.4 4.2-6.5 4.2S1.5 8 1.5 8z"/><circle cx="8" cy="8" r="1.8"/>',copy:'<rect x="5" y="5" width="8" height="8" rx="1"/><path d="M3 11V3h8"/>',download:'<path d="M8 2v8m0 0l-3-3m3 3l3-3M2.5 13.5h11"/>',refresh:'<path d="M13 3v4h-4M3 13V9h4"/><path d="M13 7a5.5 5.5 0 00-9.7-2.6M3 9a5.5 5.5 0 009.7 2.6"/>',close:'<path d="M3.5 3.5l9 9m0-9l-9 9"/>',check:'<path d="M2.5 8.5l3.5 3.5 7.5-8"/>',plus:'<path d="M8 2.5v11M2.5 8h11"/>',search:'<circle cx="7" cy="7" r="4.5"/><path d="M10.5 10.5L14 14"/>',more:'<circle cx="3" cy="8" r=".9" fill="currentColor" stroke="none"/><circle cx="8" cy="8" r=".9" fill="currentColor" stroke="none"/><circle cx="13" cy="8" r=".9" fill="currentColor" stroke="none"/>'};function It(i,e=14){let t=vr[i]??"";return`<svg viewBox="0 0 16 16" width="${e}" height="${e}" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">${t}</svg>`}var J=null,_=null;function Y(i=!1){J?.remove(),J=null,_&&(_.setAttribute("aria-expanded","false"),i&&_.isConnected&&_.focus({preventScroll:!0})),_=null,document.removeEventListener("mousedown",No,!0),document.removeEventListener("keydown",wr,!0)}function No(i){J&&!J.contains(i.target)&&!_?.contains(i.target)&&Y()}function wr(i){if(!J)return;if(i.key==="Escape"){i.preventDefault(),Y(!0);return}let e=[...J.querySelectorAll("button:not(:disabled)")];if(e.length===0)return;if(i.key==="Tab"){let o=e.indexOf(document.activeElement);(!i.shiftKey&&o===e.length-1||i.shiftKey&&o<=0)&&(i.preventDefault(),e[i.shiftKey?e.length-1:0].focus());return}if(i.key!=="ArrowDown"&&i.key!=="ArrowUp")return;i.preventDefault();let t=e.indexOf(document.activeElement),r=i.key==="ArrowDown"?1:-1;e[(t+r+e.length)%e.length].focus()}function Fo(i,e){let t=document.createElement("button");return t.type="button",t.className=e,i.variant&&i.variant!=="default"&&t.classList.add(`${e}--${i.variant}`),t.disabled=i.disabled===!0,i.icon&&vr[i.icon]?t.innerHTML=`${It(i.icon,16)}<span>${i.label}</span>`:t.textContent=i.label,t.addEventListener("click",()=>i.pick(t)),t}function es(i,e){Y();let t=document.createElement("div");t.className="mach-context-menu mach-action-menu",t.setAttribute("role","menu");for(let n of e){let s=Fo(n,"mach-context-menu-item");s.setAttribute("role","menuitem"),t.appendChild(s)}L(t,i.closest(".mach-root")),document.body.appendChild(t);let r=i.getBoundingClientRect(),o=t.getBoundingClientRect();t.style.left=`${Math.min(Math.max(8,r.left),window.innerWidth-o.width-8)}px`,t.style.top=`${Math.min(r.bottom+4,window.innerHeight-o.height-8)}px`,J=t,_=i,i.setAttribute("aria-expanded","true"),document.addEventListener("mousedown",No,!0),document.addEventListener("keydown",wr,!0),t.querySelector("button:not(:disabled)")?.focus({preventScroll:!0})}function ts(i,e,t){Y();let r=document.createElement("div");r.className="mach-action-drawer-backdrop";let o=document.createElement("section");o.className="mach-action-drawer",o.setAttribute("role","dialog"),o.setAttribute("aria-modal","true"),o.setAttribute("aria-label",e);let n=document.createElement("header");n.className="mach-action-drawer__header";let s=document.createElement("strong");s.textContent=e;let a=document.createElement("button");a.type="button",a.className="mach-action-drawer__close",a.setAttribute("aria-label","Close"),a.title="Close",a.innerHTML=It("close",16),a.addEventListener("click",()=>Y(!0)),n.append(s,a);let l=document.createElement("div");l.className="mach-action-drawer__body";for(let d of t)l.appendChild(Fo(d,"mach-action-drawer__item"));o.append(n,l),r.appendChild(o),r.addEventListener("mousedown",d=>{d.target===r&&Y(!0)}),L(r,i.closest(".mach-root")),document.body.appendChild(r),J=r,_=i,i.setAttribute("aria-expanded","true"),document.addEventListener("keydown",wr,!0),o.querySelector("button:not(:disabled)")?.focus({preventScroll:!0})}function X(i,e){if(typeof i=="function")try{return i(e)}catch{return!1}return i===!0}function Oo(i){return i.variant??"default"}function Ho(i){return i.permission?typeof i.permission=="string"?[i.permission]:i.permission:[]}function br(i,e,t){return{...i.id?{actionId:i.id}:{},permissions:Ho(i),...t?{message:t}:{},params:e}}function Lt(i,e,t){let r=t.api.getOption("actionPolicy");try{r?.onError?r.onError(i,br(e,t)):console.error("[mach-table] action handler failed",i)}catch(o){console.error("[mach-table] action error policy failed",o,i)}}function rs(i,e){if(Ho(i).length===0)return!0;let r=e.api.getOption("actionPolicy");if(!r?.canAccess)return!0;try{return r.canAccess(br(i,e))}catch(o){return Lt(o,i,e),!1}}function os(i,e){return i.filter(t=>{if(!rs(t,e))return!1;if(!t.show)return!0;try{return t.show(e)}catch{return!1}})}function Cr(i,e,t){t.isConnected&&(t.disabled=X(i.disabled,e)||X(i.loading,e),t.classList.toggle("mach-action-btn--loading",X(i.loading,e)))}function is(i,e,t,r){Promise.resolve(i).catch(o=>Lt(o,e,t)).finally(()=>Cr(e,t,r))}function ns(i,e,t){try{is(i.onClick(e),i,e,t)}catch(r){Lt(r,i,e),Cr(i,e,t)}}function pr(i,e,t){if(i===!1)return!1;let r=typeof i=="string"?i:e.label??e.title??"Confirm action",o=t.api.getOption("actionPolicy");return o?.confirm?o.confirm(br(e,t,r)):typeof window>"u"||typeof window.confirm!="function"?!1:window.confirm(r)}function ss(i,e){if(i.confirm==null||i.confirm===!1)return!0;if(typeof i.confirm!="function")return pr(i.confirm,i,e);let t=i.confirm(e);return t instanceof Promise?t.then(r=>pr(r,i,e)):pr(t,i,e)}function as(i){return(e,t)=>{if(X(e.disabled,i))return;if(t.disabled=!0,t.classList.add("mach-action-btn--loading"),e.confirm==null||e.confirm===!1){ns(e,i,t);return}(async()=>{await ss(e,i)&&await e.onClick(i)})().catch(o=>Lt(o,e,i)).finally(()=>{Cr(e,i,t)})}}function ls(i,e,t){let r=document.createElement("button");r.type="button",r.className="mach-action-btn";let o=Oo(i);o!=="default"&&r.classList.add(`mach-action-btn--${o}`);let n=i.title??i.label??"Action";return r.title=n,r.setAttribute("aria-label",n),r.disabled=X(i.disabled,e),X(i.loading,e)&&(r.disabled=!0,r.classList.add("mach-action-btn--loading")),i.icon&&vr[i.icon]?(r.innerHTML=It(i.icon),r.classList.add("mach-action-btn--icon")):r.textContent=i.label??n,r.addEventListener("mousedown",s=>s.stopPropagation()),r.addEventListener("click",s=>{s.stopPropagation(),t(i,r)}),r}function ds(i,e,t,r,o){let n=document.createElement("button");n.type="button",n.className="mach-action-btn mach-action-btn--icon";let s=r.api.getOption("locale")??{},a=t.moreLabel??s.actionMore??D.actionMore;return n.title=a,n.setAttribute("aria-label",a),n.setAttribute("aria-haspopup",e==="drawer"?"dialog":"menu"),n.setAttribute("aria-expanded","false"),n.innerHTML=`${It("more",16)}<span class="mach-sr-only">\u22EF</span>`,n.addEventListener("mousedown",l=>l.stopPropagation()),n.addEventListener("click",l=>{l.stopPropagation();let d=i.map(c=>({label:c.label??c.title??"Action",icon:c.icon,variant:Oo(c),disabled:X(c.disabled,r)||X(c.loading,r),pick:u=>{Y(),o(c,u)}}));e==="drawer"?ts(n,t.drawerTitle??a,d):es(n,d)}),n}function me(i){let e=Math.max(0,i.max??3),t=i.overflow??"menu";return r=>{let o=os(i.actions,r);if(o.length===0)return"";let n=document.createElement("div");n.className="mach-actions";let s=t==="inline"?o:o.slice(0,e),a=t==="inline"?[]:o.slice(e),l=as(r);for(let d of s)n.appendChild(ls(d,r,l));return a.length>0&&n.appendChild(ds(a,t,i,r,l)),{el:n,destroy:()=>{_&&n.contains(_)&&Y()}}}}function fe(i,e,t){return i??e??t}function cs(i,e){let t=e.api.getOption("locale")??{};return{view:fe(i.labels?.view,t.actionView,D.actionView),edit:fe(i.labels?.edit,t.actionEdit,D.actionEdit),delete:fe(i.labels?.delete,t.actionDelete,D.actionDelete),confirm:fe(i.labels?.confirm,t.actionConfirm,D.actionConfirm),save:fe(i.labels?.save,t.actionSave,D.actionSave),cancel:fe(i.labels?.cancel,t.actionCancel,D.actionCancel)}}function us(i,e,t){let r=async()=>{if(!await e.api.editing.stop()||!i.onSave)return;let s=e.api.editing.getChanges().filter(a=>a.rowId===e.node.id);try{await i.onSave(e,s),e.api.editing.markSaved([e.node.id])}catch(a){throw e.api.editing.startRow(e.rowIndex),a}},o=i.onSave?t.save:i.labels?.confirm??i.labels?.save??t.confirm;return me({actions:[{icon:"check",title:o,variant:"success",onClick:r},{icon:"close",title:t.cancel,variant:"danger",onClick:()=>e.api.editing.stop({cancel:!0}).then(()=>{})}],overflow:"inline"})(e)}function hs(i,e,t){let r=[];return i.onView&&r.push({id:"view",icon:"view",title:t.view,variant:"primary",...i.permissions?.view?{permission:i.permissions.view}:{},onClick:i.onView}),i.edit!==!1&&r.push({id:"edit",icon:"edit",title:t.edit,variant:"warning",...i.permissions?.edit?{permission:i.permissions.edit}:{},onClick:i.onEdit??(()=>{e.api.editing.startRow(e.rowIndex)})}),i.onDelete&&r.push({id:"delete",icon:"delete",title:t.delete,variant:"danger",...i.permissions?.delete?{permission:i.permissions.delete}:{},...i.confirmDelete?{confirm:i.confirmDelete===!0?t.delete:i.confirmDelete}:{},onClick:i.onDelete}),r.push(...i.extraActions??[]),r}function Pt(i={}){return e=>{let t=cs(i,e);if(e.api.editing.isRowActive(e.rowIndex))return us(i,e,t);let r=hs(i,e,t);return me({actions:r,max:i.max,overflow:i.overflow??"menu",moreLabel:i.moreLabel,drawerTitle:i.drawerTitle})(e)}}var ps=mr(),fs=gr(),Vo=Object.freeze({statusTag:ps,progressBar:fs,link:yr});function ms(i){return!!(i.field||i.valueGetter||i.cellRenderer||i.checkboxSelection||i.rowDrag||i.type||i.autoRowSpan||i.rowSpan)}function gs(i,e,t){i.width!=null&&i.minWidth!=null&&i.width<i.minWidth&&t.push(`\u5217 "${e}" \u7684 width(${i.width}) \u5C0F\u4E8E minWidth(${i.minWidth})\uFF0C\u5C06\u6309 minWidth \u6E32\u67D3`),i.width!=null&&i.maxWidth!=null&&i.width>i.maxWidth&&t.push(`\u5217 "${e}" \u7684 width(${i.width}) \u5927\u4E8E maxWidth(${i.maxWidth})\uFF0C\u5C06\u6309 maxWidth \u6E32\u67D3`)}function ys(i,e){let t=i.colId??i.field??`col_${e.leafIndex}`;e.seenIds.set(t,(e.seenIds.get(t)??0)+1),i.field&&!ie(i.field)&&e.issues.push(`\u5217 "${t}" \u7684 field \u8DEF\u5F84\u4E0D\u5B89\u5168\u6216\u65E0\u6548\uFF0C\u5DF2\u7981\u6B62\u8BFB\u53D6\u548C\u5199\u5165`),ms(i)||e.issues.push(`\u5217 "${t}" \u65E2\u65E0 field \u4E5F\u65E0 valueGetter\uFF0C\u5C06\u59CB\u7EC8\u663E\u793A\u7A7A\u503C\uFF08\u7EAF\u5DE5\u5177\u5217\u8BF7\u5FFD\u7565\u6B64\u63D0\u793A\uFF09`),gs(i,t,e.issues)}function Bo(i,e){for(let t of i){if(se(t)){!Array.isArray(t.children)||t.children.length===0?e.issues.push(`\u5217\u5206\u7EC4 "${t.headerName??t.groupId??"?"}" \u7684 children \u4E3A\u7A7A`):Bo(t.children,e);continue}e.leafIndex++,ys(t,e)}}function zo(i){if(!i||i.length===0)return[];let e={issues:[],seenIds:new Map,leafIndex:0};Bo(i,e);for(let[t,r]of e.seenIds)r>1&&e.issues.push(`\u5B58\u5728 ${r} \u4E2A\u91CD\u590D\u7684 colId/field "${t}"\uFF0C\u5DF2\u81EA\u52A8\u52A0\u540E\u7F00\u533A\u5206\uFF0C\u5EFA\u8BAE\u663E\u5F0F\u547D\u540D colId`);return e.issues}var vs=j.map(i=>`on${i.charAt(0).toUpperCase()}${i.slice(1)}`),_o=new Set([...yt,...vs]);function ws(i,e){if(i===e)return 0;if(i.length===0)return e.length;if(e.length===0)return i.length;let t=Array.from({length:e.length+1},(r,o)=>o);for(let r=1;r<=i.length;r++){let o=[r];for(let n=1;n<=e.length;n++)o[n]=Math.min(o[n-1]+1,t[n]+1,t[n-1]+(i[r-1]===e[n-1]?0:1));t=o}return t[e.length]}function bs(i){let e,t=Number.POSITIVE_INFINITY;for(let o of _o){let n=ws(i.toLowerCase(),o.toLowerCase());n<t&&(t=n,e=o)}let r=Math.max(2,Math.floor(i.length*.3));return t<=r?e:void 0}function Cs(i){let e=[];return i.rowKey!=null&&typeof i.rowKey!="string"&&typeof i.rowKey!="function"&&e.push({code:"INVALID_OPTION_VALUE",option:"rowKey",message:"rowKey \u5FC5\u987B\u662F\u5B57\u6BB5\u8DEF\u5F84\u6216\u8FD4\u56DE\u7A33\u5B9A\u4E1A\u52A1\u4E3B\u952E\u7684\u51FD\u6570"}),i.domLayout==="autoHeight"&&i.datasource!=null&&e.push({code:"OPTION_CONFLICT",option:"domLayout",message:"autoHeight \u4F1A\u6E32\u67D3\u5168\u90E8\u5DF2\u52A0\u8F7D\u884C\uFF0C\u4E0D\u9002\u7528\u4E8E datasource \u65E0\u9650\u6EDA\u52A8\u6A21\u5F0F"}),e.push(...Ts(i)),i.enableColumnResize!=null&&typeof i.enableColumnResize!="boolean"&&e.push({code:"INVALID_OPTION_VALUE",option:"enableColumnResize",message:"enableColumnResize \u5FC5\u987B\u662F boolean\uFF1B\u672A\u914D\u7F6E\u65F6\u9ED8\u8BA4\u5173\u95ED"}),e}function Ts(i){if(i.datasourceMode!=="block")return[];let e=[];return i.datasource==null&&e.push({code:"OPTION_CONFLICT",option:"datasourceMode",message:"datasourceMode='block' requires a datasource"}),typeof i.getRowHeight=="function"&&e.push({code:"OPTION_CONFLICT",option:"getRowHeight",message:"Random-access block rows require fixed rowHeight so unloaded offsets remain deterministic"}),i.masterDetail===!0&&e.push({code:"OPTION_CONFLICT",option:"masterDetail",message:"masterDetail is not supported by the sparse random-access block row model"}),i.treeData===!0&&e.push({code:"OPTION_CONFLICT",option:"treeData",message:"treeData requires the local/tree row model and cannot use random-access blocks"}),Wo(i)||e.push({code:"MISSING_STABLE_ROW_ID",option:"rowKey",message:"Random-access blocks require rowKey to preserve selection and identity after eviction"}),e}function Wo(i){return i.rowKey!=null}function Rs(i){let e=new Set(["enableColumnResize","pagination","rowKey"]),t=[];for(let r of yt){if(e.has(r)||!Object.prototype.hasOwnProperty.call(i,r))continue;let o=i[r],n=ue[r].kind;ir(o,n)||t.push({code:"INVALID_OPTION_VALUE",option:r,message:`${r} \u503C\u7C7B\u578B\u65E0\u6548\uFF0C\u671F\u671B ${n}`})}return t}function Ds(i){let e=[];for(let t of Object.keys(i)){if(_o.has(t))continue;let r=bs(t);e.push({code:"UNKNOWN_OPTION",option:t,...r?{suggestion:r}:{},message:r?`\u672A\u77E5 GridOption "${t}"\uFF0C\u662F\u5426\u60F3\u4F7F\u7528 "${r}"\uFF1F`:`\u672A\u77E5 GridOption "${t}"\uFF0C\u8BE5\u503C\u4E0D\u4F1A\u751F\u6548`})}return e}function Es(i,e){if(e.mode!=="server")return[];let t=[];Wo(i)||t.push({code:"MISSING_STABLE_ROW_ID",option:"rowKey",message:"\u670D\u52A1\u7AEF\u5206\u9875\u5EFA\u8BAE\u63D0\u4F9B\u7A33\u5B9A rowKey\uFF0C\u5426\u5219\u8DE8\u9875\u9009\u62E9\u4E0E\u589E\u91CF\u66F4\u65B0\u65E0\u6CD5\u53EF\u9760\u4FDD\u6301"});let r=e.total;return r!==void 0&&(typeof r!="number"||!Number.isFinite(r)||r<0)&&t.push({code:"INVALID_OPTION_VALUE",option:"pagination.total",message:"\u670D\u52A1\u7AEF\u5206\u9875 total \u5FC5\u987B\u662F\u975E\u8D1F\u6709\u9650\u6570"}),t}function Ss(i){let e=[],t=i.pagination;return t!=null&&typeof t!="boolean"&&typeof t!="object"&&e.push({code:"INVALID_OPTION_VALUE",option:"pagination",message:"pagination \u5FC5\u987B\u662F boolean \u6216\u914D\u7F6E\u5BF9\u8C61"}),i.datasource!=null&&t!==void 0&&t!==!1&&e.push({code:"OPTION_CONFLICT",option:"pagination",message:"datasource \u987A\u5E8F\u65E0\u9650\u6A21\u5F0F\u4E0E pagination \u4E0D\u80FD\u540C\u65F6\u542F\u7528\uFF1B\u666E\u901A\u670D\u52A1\u7AEF\u5206\u9875\u8BF7\u4F7F\u7528 pagination.mode='server'"}),t&&typeof t=="object"&&e.push(...Es(i,t)),e}function xs(i){return i.treeData!==!0||i.masterDetail!==!0?[]:[{code:"OPTION_CONFLICT",option:"masterDetail",message:"treeData \u4E0E masterDetail \u4E0D\u80FD\u540C\u65F6\u542F\u7528\uFF0C\u4E3B\u4ECE\u660E\u7EC6\u5C06\u88AB\u5FFD\u7565"}]}function Gt(i){let e=i,t=Ds(e);return t.push(...Ss(e)),t.push(...xs(e)),t.push(...Rs(e)),t.push(...Cs(e)),t}function $o(i){let e=/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:[-+].*)?$/.exec(i.trim());return e?[Number(e[1]),Number(e[2]??0),Number(e[3]??0)]:null}function Tr(i,e){for(let t=0;t<3;t++)if(i[t]!==e[t])return i[t]<e[t]?-1:1;return 0}function Ms(i){return i[0]>0?[i[0]+1,0,0]:i[1]>0?[0,i[1]+1,0]:[0,0,i[2]+1]}function ks(i,e){if(e==="*"||e.toLowerCase()==="latest")return!0;let t=/^(\^|~|>=|<=|>|<|=)?\s*(.+)$/.exec(e);if(!t)return!1;let r=$o(t[2]);if(!r)return!1;let o=Tr(i,r);switch(t[1]??"="){case">=":return o>=0;case"<=":return o<=0;case">":return o>0;case"<":return o<0;case"^":return o>=0&&Tr(i,Ms(r))<0;case"~":return o>=0&&Tr(i,[r[0],r[1]+1,0])<0;default:return o===0}}function Ko(i,e){if(!e?.trim())return!0;let t=i?$o(i):null;return t?e.split("||").some(r=>{let o=r.trim().split(/\s+/).filter(Boolean);return o.length>0&&o.every(n=>ks(t,n))}):!1}function As(i){return[...new Set((i??[]).map(e=>e.trim()).filter(Boolean))]}function Nt(i){let e=new Map;for(let t of i??[]){let r=(typeof t=="string"?t:t?.key??"").trim();if(!r||e.has(r))continue;let o=typeof t=="object"?t.version?.trim():void 0;e.set(r,{key:r,...o?{version:o}:{}})}return[...e.values()]}function Ft(i){let e=[],t=new Map;for(let l of i){let d=typeof l?.key=="string"?l.key.trim():"";if(!d){e.push({code:"INVALID_FEATURE_KEY",message:"GridFeature.key must be a non-empty string"});continue}if(t.has(d)){e.push({code:"DUPLICATE_FEATURE",feature:d,message:`Duplicate GridFeature key: ${d}`});continue}t.set(d,l)}let r=new Set;for(let[l,d]of t){for(let c of Nt(d.requires)){let u=t.get(c.key);u?Ko(u.version,c.version)||(r.add(l),e.push({code:"UNSUPPORTED_FEATURE_VERSION",feature:l,dependency:c.key,message:`GridFeature "${l}" requires "${c.key}" ${c.version}, received ${u.version??"unversioned"}`})):(r.add(l),e.push({code:"MISSING_FEATURE_DEPENDENCY",feature:l,dependency:c.key,message:`GridFeature "${l}" requires missing feature "${c.key}"`}))}for(let c of As(d.conflicts))if(t.has(c)){r.add(l),e.push({code:"FEATURE_CONFLICT",feature:l,dependency:c,message:`GridFeature "${l}" conflicts with "${c}"`});break}}let o=[],n=new Set,s=new Set,a=l=>{if(s.has(l))return!r.has(l);if(n.has(l))return r.add(l),e.push({code:"FEATURE_CYCLE",feature:l,message:`GridFeature dependency cycle includes "${l}"`}),!1;let d=t.get(l);if(!d||r.has(l))return!1;n.add(l);let c=!0;for(let u of Nt(d.requires))a(u.key)||(c=!1);return n.delete(l),s.add(l),c?(o.push(d),!0):(r.add(l),!1)};for(let l of t.keys())a(l);return{features:o.filter(l=>!r.has(l.key.trim())),issues:e}}var Is=["datasource","treeData"],Ls=["columnState.","gridState."],Ps=new Set(["valueFormatter","cellStyle","cellClass"]),Gs=new Set(["selectionChanged","sortChanged","filterChanged","columnMoved","columnVisibilityChanged","displayedColumnsChanged","paginationChanged","detailToggled"]),Ns=0,Ot=class{constructor(e,t){this.destroyed=!1;this.pl=0;this.Xe=0;this.gi=!1;this.Fr="";this.activeFeatures=new Map;this.recentErrors=[];this.q=null;this.wi=0;this.Or=0;this.Hr=!1;this.Vr=!1;this.Br=null;this.Ri=null;this.Ht=new Set;let r;this.yi=new Promise(o=>{r=o}),this.vi=r,this.gridId=++Ns,this.options=Lr(t),this.eventBus=new Ae((o,n)=>{n==="gridError"?console.error("[mach-table] error in gridError listener",o):this.reportError(o,"eventBus.listener",{eventType:n})}),this.columnModel=new Ge(this),this.rowModel=new ze(this),this.selectionService=new _e(this),this.skeleton=new vt(this),this.headerRenderer=new bt(this),this.bodyRenderer=new Dt(this),this.resizeService=new We(this),this.columnDragService=new $e(this),this.keyboardService=new je(this),this.editingService=new ot(this),this.undoService=new ut(this),this.performanceMonitor=new ft,this.updateScheduler=new mt(o=>this.fl(o)),this.filterPopup=new st(this),this.columnMenu=new at(this),this.contextMenuService=new lt(this),this.tooltipService=new dt(this),this.watermarkService=new ct(this),this.paginationBar=new St(this),this.pinnedRowsRenderer=new xt(this),this.summaryRenderer=new Et(this),this.statusBarService=new Mt(this),this.api=Mo(this),this.changeTracker=new ht(this);try{this.changeTracker.init(),this.skeleton.init(e,this.options),this.watermarkService.init(),this.bodyRenderer.init(),this.keyboardService.init(),this.tooltipService.init(),this.paginationBar.init(),this.summaryRenderer.init(),this.statusBarService.init(),this.pinnedRowsRenderer.init(),this.rowModel.restorePagination(this.options.paginationPage,this.options.paginationPageSize),this.columnModel.setColumnDefs(this.options.columnDefs),this.rowModel.setAdvancedFilterModel(this.options.advancedFilterModel),this.rowModel.setQuickFilter(this.options.quickFilterText),this.refreshAriaState(),this.validateDefs(this.options.columnDefs),this.checkWarnings(t),this.headerRenderer.build(),this.options.datasource?this.rowModel.startInfinite().catch(()=>{}):this.rowModel.setRowData(this.options.rowData),this.options.initialState&&this.api.state.apply(this.options.initialState,{emitEvents:!1}),this.loadPersistedGridState(),this.relayout(),this.pinnedRowsRenderer.setData(this.options.pinnedTopRowData,this.options.pinnedBottomRowData),this.setFeatures(this.options.features),this.Xe=requestAnimationFrame(()=>{this.Xe=0,this.destroyed||this.emit("gridReady",{}),this.bi()})}catch(o){throw this.reportError(o,"grid.constructor"),this.destroy(),o}}getApi(){return this.api}whenReady(){return this.yi}bi(){this.gi||(this.gi=!0,this.vi(this.api))}resolveCellRenderer(e){return this.options.components?.cellRenderers?.[e]??Vo[e]}resolveCellEditor(e){return this.options.components?.cellEditors?.[e]}ml(e){return Nt(e.requires).map(t=>t.key).find(t=>!this.activeFeatures.has(t))}setFeatures(e){if(this.Ci(),this.destroyed)return;let t=Ft(e??[]);for(let r of t.issues)this.reportError(new Error(r.message),"feature.manifest",{code:r.code,...r.feature?{key:r.feature}:{},...r.dependency?{dependency:r.dependency}:{}});for(let r of t.features){let o=r.key.trim(),n=this.ml(r);if(n){this.reportError(new Error(`GridFeature "${o}" dependency "${n}" did not initialise`),"feature.manifest",{code:"FEATURE_DEPENDENCY_SETUP_FAILED",key:o,dependency:n});continue}let s=[],a=d=>{let c=!0,u=()=>{c&&(c=!1,d())};return s.push(u),u},l={api:this.api,root:this.skeleton.root,getOptions:()=>this.options,addEventListener:(d,c)=>a(this.eventBus.on(d,c)),onCleanup:d=>{a(d)},addManagedDomListener:(d,c,u,h)=>(d.addEventListener(c,u,h),a(()=>d.removeEventListener(c,u,h))),setManagedTimeout:(d,c)=>{let u=setTimeout(d,Math.max(0,c));return a(()=>clearTimeout(u)),u},createAbortController:()=>{let d=new AbortController;return a(()=>d.abort()),d},reportError:(d,c,u)=>this.reportError(d,`feature.${c}`,u)};try{let d=r.setup(l);typeof d=="function"&&a(d),this.activeFeatures.set(o,{feature:r,cleanups:s})}catch(d){for(let c of s.reverse())try{c()}catch(u){this.reportError(u,"feature.cleanup",{key:o})}this.reportError(d,"feature.setup",{key:o})}}}Ci(){let e=[...this.activeFeatures.entries()].reverse();this.activeFeatures.clear();for(let[t,r]of e){for(let o of r.cleanups.reverse())try{o()}catch(n){this.reportError(n,"feature.cleanup",{key:t})}try{r.feature.destroy?.()}catch(o){this.reportError(o,"feature.destroy",{key:t})}}}isDestroyed(){return this.destroyed}nextId(){return++this.pl}getCellValue(e,t){let r=t.colDef;if(r.valueGetter)try{return r.valueGetter({api:this.api,colDef:r,column:t,node:e,data:e.data})}catch(o){this.reportError(o,"valueGetter",{colId:t.id,rowId:e.id});return}if(r.field)return K(e.data,r.field)}getLocaleText(e){return this.options.locale[e]??D[e]}writeValue(e,t,r,o){let n=t.colDef;if(n.valueSetter)try{return n.valueSetter({oldValue:o,newValue:r,data:e.data,node:e,colDef:n,column:t,api:this.api})}catch(s){return this.reportError(s,"valueSetter",{colId:t.id,rowId:e.id}),!1}return n.field?Z(e.data,n.field,r):!1}setCellValue(e,t,r,o){if(r===void 0||r===o)return!1;let n=t.colDef,s;if(n.valueSetter)try{s=n.valueSetter({oldValue:o,newValue:r,data:e.data,node:e,colDef:n,column:t,api:this.api})}catch(a){return this.reportError(a,"valueSetter",{colId:t.id,rowId:e.id}),!1}else if(n.field)s=Z(e.data,n.field,r);else return!1;return s&&this.notifyCellValueChanged(e,t,o,r),s}notifyCellValueChanged(e,t,r,o){this.bodyRenderer.invalidateRowHeight(e),this.bodyRenderer.queueFlash([e.rowIndex],[t.id]),this.emit("cellValueChanged",{oldValue:r,newValue:o,rowNode:e,rowIndex:e.rowIndex,column:t,colDef:t.colDef,data:e.data}),this.undoService.record({nodeId:e.id,columnId:t.id,oldValue:r,newValue:o})}buildRangeTsv(e){let r=this.columnModel.getOrderedVisible().slice(e.c1,e.c2+1),o=[];for(let n=e.r1;n<=e.r2;n++){let s=this.rowModel.getDisplayedRow(n);o.push(r.map(a=>!s||s.isDetail||s.isGroup?"":Te(this,s,a,this.getCellValue(s,a))))}return de(o)}copyActiveRange(){let e=this.bodyRenderer.getNormalizedRangeOrFocus();return e?be(this.buildRangeTsv(e)):Promise.resolve(!1)}clearRangeValues(e){if(this.destroyed)return;let t=this.columnModel.getOrderedVisible(),r=new Set;this.undoService.beginBatch();try{for(let o=e.r1;o<=e.r2;o++){let n=this.rowModel.getDisplayedRow(o);if(!(!n||n.isDetail||n.isGroup))for(let s=e.c1;s<=e.c2;s++){let a=t[s];if(!a||a.hasCheckbox||a.isDetailToggle||a.colDef.rowDrag||!this.editingService.isEditable(n,a))continue;let l=this.getCellValue(n,a);this.setCellValue(n,a,null,l)&&r.add(o)}}}finally{this.undoService.endBatch()}r.size>0&&(this.bodyRenderer.refreshRows([...r]),this.summaryRenderer.refresh())}pasteText(e,t,r){if(this.destroyed)return;let o=Ke(e);if(o.length===0)return;let n=this.columnModel.getOrderedVisible(),s=this.rowModel.getDisplayedRowCount(),a=new Set,l=t;this.undoService.beginBatch();try{for(let d of o){let c=this.gl(l,s);if(!c)break;this.yl(c.node,c.index,d,n,r,a),l=c.index+1}}finally{this.undoService.endBatch()}a.size>0&&(this.bodyRenderer.refreshRows([...a]),this.summaryRenderer.refresh())}gl(e,t){for(let r=e;r<t;r++){let o=this.rowModel.getDisplayedRow(r);if(o&&!o.isDetail&&!o.isGroup)return{index:r,node:o}}return null}vl(e,t){let r=t;for(;r<e.length;){let o=e[r];if(!o.hasCheckbox&&!o.isDetailToggle&&!o.colDef.rowDrag)break;r++}return r}yl(e,t,r,o,n,s){let a=n;for(let l of r){if(a=this.vl(o,a),a>=o.length)return;this.wl(e,o[a],l)&&s.add(t),a++}}wl(e,t,r){if(!this.editingService.isEditable(e,t))return!1;let o=this.getCellValue(e,t),n=typeof o=="number"&&r!==""&&!Number.isNaN(Number(r)),s=r===""?null:n?Number(r):r;return this.setCellValue(e,t,s,o)}pasteFromSystemClipboard(){let e=this.bodyRenderer.getPasteStart();if(!e)return Promise.resolve();try{if(typeof navigator<"u"&&navigator.clipboard?.readText)return navigator.clipboard.readText().then(t=>{t&&this.pasteText(t,e.row,e.colIdx)}).catch(()=>{})}catch{}return Promise.resolve()}refreshSummary(){this.summaryRenderer.refresh()}emit(e,t){let r={type:e,api:this.api,...t};this.eventBus.emit(e,r);let o="on"+e.charAt(0).toUpperCase()+e.slice(1),n=this.options[o];if(typeof n=="function")try{n(r)}catch(a){e==="gridError"?console.error("[mach-table] error in onGridError",a):this.reportError(a,`eventHandler.${String(o)}`,{eventType:e})}return(e==="columnResized"&&r.finished||Gs.has(e))&&this.scheduleGridStateSave(),r}reportError(e,t,r){let o=this.bl(t,e),n=e instanceof Error?e.message:String(e);this.recentErrors.push({code:o,source:t,message:n,timestamp:Date.now(),...r?{context:r}:{}}),this.recentErrors.length>50&&this.recentErrors.splice(0,this.recentErrors.length-50),console.error(`[mach-table] ${o} (${t})`,e),!this.destroyed&&this.emit("gridError",{code:o,error:e,source:t,context:r})}bl(e,t){if(Is.some(o=>e.startsWith(o)))return"DATA_SOURCE_ERROR";let r=t instanceof Error?t.message:String(t);return e==="rowKey"||r.includes("Duplicate row id")?"DATA_INTEGRITY_ERROR":e==="validate"?"VALIDATION_ERROR":e.toLowerCase().includes("renderer")||Ps.has(e)?"RENDERER_ERROR":e.toLowerCase().includes("editor")||e==="editable"?"EDITOR_ERROR":e.startsWith("feature.")?"FEATURE_ERROR":Ls.some(o=>e.startsWith(o))?"STATE_ERROR":e.startsWith("eventBus.")||e.startsWith("eventHandler.")?"EVENT_HANDLER_ERROR":"GRID_ERROR"}getDiagnostics(){return{gridId:this.gridId,version:ke,destroyed:this.destroyed,infinite:this.rowModel.isInfinite,loading:this.rowModel.isLoadingInfinite()||this.options.loading,rowCount:this.rowModel.getDisplayTotalCount(),renderedRowCount:this.skeleton.bodyEl.querySelectorAll(".mach-row[data-index]").length,columnCount:this.columnModel.getColumns().length,selectedRowCount:this.selectionService.getSelectedNodes().length,dirtyRowCount:this.changeTracker.getDirtyRowIds().length,activeFeatures:[...this.activeFeatures].map(([e,t])=>({key:e,...t.feature.version?{version:t.feature.version}:{}})),performance:this.performanceMonitor.snapshot(),updates:this.updateScheduler.snapshot(),recentErrors:this.recentErrors.map(e=>({...e,...e.context?{context:{...e.context}}:{}}))}}cycleSort(e,t){this.columnModel.cycleSort(e,t),this.applySortModel()}applySortModel(){if(this.headerRenderer.refreshSortIndicators(),this.emit("sortChanged",{sortModel:this.columnModel.getSortModel()}),this.rowModel.isInfinite){this.rowModel.onServerParamsChanged();return}this.rowModel.refreshPipeline(),this.requestUpdate({data:!0})}applyColumnFilter(e,t){let r=this.rowModel.getFilterModel();if(t?r[e.id]=t:delete r[e.id],this.rowModel.setFilterModel(r),this.headerRenderer.refreshFilterIcons(),this.emit("filterChanged",{filterModel:this.rowModel.getFilterModel(),advancedFilterModel:this.rowModel.getAdvancedFilterModel()}),this.rowModel.isInfinite){this.rowModel.onServerParamsChanged();return}this.rowModel.refreshPipeline(),this.requestUpdate({data:!0})}applyQuickFilter(){if(this.emit("filterChanged",{filterModel:this.rowModel.getFilterModel(),advancedFilterModel:this.rowModel.getAdvancedFilterModel()}),this.rowModel.isInfinite){this.rowModel.onServerParamsChanged();return}this.rowModel.refreshPipeline(),this.requestUpdate({data:!0})}moveColumn(e,t){this.columnModel.moveColumn(e,t)&&(this.onColumnsStructureChanged(),this.emit("columnMoved",{colId:e,toIndex:t}))}toggleDetail(e){return this.rowModel.toggleDetail(e)}emitColumnResize(e,t){this.emit("columnResized",{colId:e.id,width:e.currentWidth,finished:t})}commitColumnWidths(e){if(!(this.destroyed||e.length===0))for(let t of e){if(this.destroyed)break;this.emitColumnResize(t,!0)}}loadPersistedGridState(){let e=++this.wi,t=this.Or,r=this.options.persistence;if(!r)return;let{key:o,store:n,sections:s}=r,a;try{a=n?n.load(o):At(o)}catch(d){this.reportError(d,"gridState.load");return}let l=d=>{if(!(this.destroyed||e!==this.wi||t!==this.Or||!d)){this.Hr=!0;try{this.api.state.apply(d,{emitEvents:!1,...s?{sections:s}:{}})}finally{this.Hr=!1}}};a&&typeof a.then=="function"?Promise.resolve(a).then(l).catch(d=>this.reportError(d,"gridState.load")):l(a)}scheduleGridStateSave(){let e=this.options.persistence;if(!(!e||this.destroyed||this.Hr)){if(this.Or++,this.q&&clearTimeout(this.q),e.debounceMs===0){this.q=null,this.persistGridState();return}this.q=setTimeout(()=>{this.q=null,this.persistGridState()},e.debounceMs)}}persistGridState(){let e=this.options.persistence;if(!e||this.destroyed)return;let{key:t,store:r,sections:o}=e,n=this.api.state.get(),s=o?co(n,o):n,a={key:t,...r?{store:r}:{},state:s};if(this.Vr){this.Br=a;return}this.Ti(a)}Ti(e){try{let t=e.store?e.store.save(e.key,e.state):kt(e.key,e.state);if(!t||typeof t.then!="function")return;this.Vr=!0,Promise.resolve(t).catch(r=>this.reportError(r,"gridState.save")).finally(()=>{this.Vr=!1;let r=this.Br;this.Br=null,r&&this.Ti(r)})}catch(t){this.reportError(t,"gridState.save")}}buildDefaultErrorState(){let e=document.createElement("div");e.className="mach-empty mach-empty--error";let t=document.createElement("div");t.className="mach-empty__title",t.textContent=this.getLocaleText("requestFailed");let r=document.createElement("div");return r.className="mach-empty__hint",r.textContent=this.getLocaleText("requestFailedHint"),e.append(t,r),e}buildDefaultLoadingState(){let e=document.createElement("div");e.className="mach-loading";let t=document.createElement("div");t.className="mach-loading__visual",t.setAttribute("aria-hidden","true");for(let s=0;s<4;s+=1){let a=document.createElement("span");a.className="mach-loading__row",t.appendChild(a)}let r=document.createElement("div");r.className="mach-loading__status";let o=document.createElement("span");o.className="mach-spinner mach-loading__spinner",o.setAttribute("aria-hidden","true");let n=document.createElement("span");return n.className="mach-loading__label",n.textContent=this.getLocaleText("loading"),r.append(o,n),e.append(t,r),e}buildDefaultEmptyState(){let e=this.options.locale??{},t=e.emptyRows??D.emptyRows,r=e.emptyRowsHint??D.emptyRowsHint,o=document.createElement("div");o.className="mach-empty";let n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","mach-empty__icon"),n.setAttribute("viewBox","0 0 96 84"),n.setAttribute("width","96"),n.setAttribute("height","84"),n.setAttribute("fill","none"),n.setAttribute("aria-hidden","true"),n.innerHTML='<rect x="8" y="10" width="68" height="56" rx="6" fill="#eaf3fe"/><rect x="8" y="10" width="68" height="12" rx="6" fill="#d5e8fd"/><rect x="8" y="19" width="68" height="3" fill="#d5e8fd"/><g stroke="#bcd7f8" stroke-width="2.4" stroke-linecap="round"><line x1="16" y1="32" x2="68" y2="32"/><line x1="16" y1="42" x2="60" y2="42"/><line x1="16" y1="52" x2="64" y2="52"/></g><circle cx="66" cy="52" r="15" fill="#ffffff" stroke="#8fbdf5" stroke-width="3"/><line x1="77" y1="63" x2="86" y2="72" stroke="#8fbdf5" stroke-width="4" stroke-linecap="round"/><line x1="60" y1="52" x2="72" y2="52" stroke="#bcd7f8" stroke-width="2.6" stroke-linecap="round"/>';let s=document.createElement("div");s.className="mach-empty__title",s.textContent=t;let a=document.createElement("div");return a.className="mach-empty__hint",a.textContent=r,o.append(n,s,a),o}checkWarnings(e){if(!(this.options.suppressWarnings||this.destroyed)){if(e)for(let t of Gt(e)){let r=`${t.code}:${t.option??""}:${t.message}`;this.Ht.has(r)||(this.Ht.add(r),console.warn(`[mach-table:${t.code}] ${t.message}`))}this.options.treeData&&this.columnModel.getRowGroupColumns().length>0&&console.warn("[mach-table] treeData \u4E0E rowGroup \u4E0D\u652F\u6301\u540C\u65F6\u542F\u7528\uFF0C\u884C\u5206\u7EC4\u5DF2\u88AB\u5FFD\u7565")}}validateDefs(e){if(!(this.options.suppressWarnings||this.destroyed)&&this.Ri!==e){this.Ri=e;for(let t of zo(e))this.Ht.has(t)||(this.Ht.add(t),console.warn(`[mach-table] ${t}`))}}onColumnsStructureChanged(){this.updateScheduler.schedule({columns:!0})}requestUpdate(e){this.updateScheduler.schedule(e)}batchUpdates(e){return this.updateScheduler.batch(e)}fl(e){this.destroyed||(e.columns?this.Cl():(e.header&&this.headerRenderer.build(),e.pool?this.bodyRenderer.rebuildPool():e.layout&&this.relayout()),e.data&&!e.pool&&!e.columns?this.bodyRenderer.onDataChanged():e.cells&&this.bodyRenderer.refreshCells(e.cells===!0?void 0:e.cells),e.pinned&&this.pinnedRowsRenderer.refresh(),e.summary&&this.summaryRenderer.refresh(),e.overlays&&this.bodyRenderer.refreshOverlays())}Cl(){this.checkWarnings(),this.validateDefs(this.columnModel.getColumnDefs()),this.bodyRenderer.invalidateAllRowHeights(),this.headerRenderer.build(),this.bodyRenderer.rebuildPool(),this.relayout(),this.pinnedRowsRenderer.rebuild(),this.summaryRenderer.refresh(),this.emit("displayedColumnsChanged",{})}relayout(){if(this.destroyed)return;let e=this.performanceMonitor.start();this.refreshAriaState(),this.columnModel.computeLayout(this.skeleton.measureViewportWidth());let t=this.columnModel.getOrderedVisible().map(r=>`${r.id}:${r.currentWidth}`).join("|");this.Fr&&t!==this.Fr&&this.bodyRenderer.invalidateAllRowHeights(),this.Fr=t,this.skeleton.root.setAttribute("aria-colcount",String(this.columnModel.getOrderedVisible().length)),this.headerRenderer.applyLayout(),this.bodyRenderer.relayout(),this.pinnedRowsRenderer.applyLayout(),this.summaryRenderer.refresh(),this.performanceMonitor.recordLayout(e)}refreshAriaState(){if(!this.skeleton.root)return;let e=this.options.treeData||this.columnModel.getRowGroupColumns().length>0;this.skeleton.root.setAttribute("role",e?"treegrid":"grid"),this.options.rowSelection==="multiple"?this.skeleton.root.setAttribute("aria-multiselectable","true"):this.skeleton.root.removeAttribute("aria-multiselectable"),this.columnModel.getOrderedVisible().some(r=>!!r.colDef.editable)?this.skeleton.root.removeAttribute("aria-readonly"):this.skeleton.root.setAttribute("aria-readonly","true")}relayoutColumns(e=!0){this.destroyed||(this.columnModel.computeLayout(this.skeleton.measureViewportWidth()),e&&this.bodyRenderer.invalidateAllRowHeights(),this.headerRenderer.applyLayout(),this.bodyRenderer.applyContainerSizes(),this.bodyRenderer.applyCellLayout(),this.bodyRenderer.updateRange(!0),this.pinnedRowsRenderer.applyLayout(),this.summaryRenderer.refresh())}destroy(){if(this.destroyed)return;this.q&&(clearTimeout(this.q),this.q=null,this.persistGridState()),this.destroyed=!0,this.Xe&&cancelAnimationFrame(this.Xe),this.Xe=0,this.bi();let e=(t,r)=>{try{r()}catch(o){console.error(`[mach-table] ${t} destroy error`,o)}};e("grid event",()=>this.emit("gridDestroyed",{})),e("updateScheduler",()=>this.updateScheduler.destroy()),e("performanceMonitor",()=>this.performanceMonitor.destroy()),e("features",()=>this.Ci()),e("changeTracker",()=>this.changeTracker.destroy()),e("rowModel",()=>this.rowModel.destroy()),e("editingService",()=>this.editingService.destroy()),e("keyboardService",()=>this.keyboardService.destroy()),e("filterPopup",()=>this.filterPopup.destroy()),e("columnMenu",()=>this.columnMenu.destroy()),e("contextMenu",()=>this.contextMenuService.destroy()),e("tooltip",()=>this.tooltipService.destroy()),e("watermark",()=>this.watermarkService.destroy()),e("pagination",()=>this.paginationBar.destroy()),e("columnDrag",()=>this.columnDragService.destroy()),e("resize",()=>this.resizeService.destroy()),e("bodyRenderer",()=>this.bodyRenderer.destroy()),e("headerRenderer",()=>this.headerRenderer.destroy()),e("pinnedRowsRenderer",()=>this.pinnedRowsRenderer.destroy()),e("summaryRenderer",()=>this.summaryRenderer.destroy()),e("statusBar",()=>this.statusBarService.destroy()),e("skeleton",()=>this.skeleton.destroy()),this.eventBus.clear()}};function qo(i,e={}){if(!i)throw new Error("[mach-table] createGrid requires a container element");if(typeof document>"u")throw new Error("[mach-table] createGrid can only be used in a browser environment");return new Ot(i,e).getApi()}function Fs(i){return i.mode==="allMatching"?{mode:"allMatching",excludedKeys:[...i.excludedKeys]}:{mode:"explicit",selectedKeys:[...i.selectedKeys]}}function Uo(i,e){if(e.scope!=="filtered"&&e.scope!=="selected")throw new TypeError("[MachTable] Remote export scope must be filtered or selected.");let t=i.state.get();return{version:1,scope:e.scope,columnIds:t.columns.filter(r=>!r.hide).map(r=>r.colId),sortModel:t.sortModel.map(r=>({...r})),filterModel:q(t.filterModel),advancedFilterModel:O(t.advancedFilterModel),quickFilterText:t.quickFilterText,...e.scope==="selected"?{selection:Fs(e.selection??{mode:"explicit",selectedKeys:t.selectedRowIds})}:{}}}function Os(i){return i.value===!0?"\u662F":i.value===!1?"\u5426":""}function Hs(i){return e=>{if(e.value==null||e.value==="")return"";let t=e.value instanceof Date?e.value.toISOString():String(e.value);return i==="datetime"?t.slice(0,16).replace("T"," "):t.slice(0,10)}}function Vs(i){return e=>{if(e.value==null)return"";let t=i.find(r=>r.value===e.value);return t?t.label:String(e.value)}}function Bs(i,e){return i.filterable===!1?!1:e==="number"?"number":e==="date"?"date":e==="select"||e==="boolean"?"set":"text"}function zs(i,e,t){if(t==="number"){i.type="rightAligned";return}if(t==="date"){i.valueFormatter=Hs(e.format);return}if(t==="boolean"){i.valueFormatter=Os;return}if(t!=="select")return;let r=e.options??[];i.valueFormatter=Vs(r),e.editable&&(i.cellEditor="select",i.cellEditorParams={options:r})}function jo(i){let e=i.type??"string",t={colId:i.field,field:i.field,headerName:i.title??i.field,width:i.width,minWidth:i.minWidth,maxWidth:i.maxWidth,flex:i.flex,pinned:i.pinned??void 0,hide:i.hidden??!1,editable:i.editable??!1,sortable:i.sortable??!0,resizable:i.resizable??!0,filter:Bs(i,e),cellClass:i.cellClass};return zs(t,i,e),t}function Yo(i){let e=new Map(i.fields.map(o=>[o.field,o])),t=new Set,r=[];for(let o of i.fields){if(t.has(o.field))continue;(i.groups??[]).some(s=>s.fields.includes(o.field))||(r.push(jo(o)),t.add(o.field))}for(let o of i.groups??[]){let n=[];for(let s of o.fields){let a=e.get(s);!a||t.has(s)||(n.push(jo(a)),t.add(s))}n.length>0&&r.push({headerName:o.title,children:n})}return r}function P(i){let e=i();return e&&!e.isDestroyed()?e:null}function Xo(i){let e=()=>i.getApi();return{search(t){P(e)?.filtering.setQuickText(t)},async refresh(){if(i.reload){await i.reload();return}let t=P(e);t&&(t.rows.isRemote()?await t.rows.reload():t.view.refreshCells())},openColumns(t){P(e)?.columns.openWorkbench(t)},setDensity(t){P(e)?.updateOptions({size:t})},selectAll(t=!0){P(e)?.selection.selectAll(t)},clearSelection(){let t=P(e);t?.selection.clear(),t?.selection.clearRange()},resetColumns(){P(e)?.columns.resetState()},resetView(){P(e)?.batch(t=>{t.selection.clear(),t.selection.clearRange(),t.filtering.setModel(null),t.filtering.setAdvancedModel(null),t.sorting.setModel(null),t.pagination.setPage(1),t.columns.resetState()})},undo(){return P(e)?.editing.undo()??!1},redo(){return P(e)?.editing.redo()??!1},canUndo(){return P(e)?.editing.canUndo()??!1},canRedo(){return P(e)?.editing.canRedo()??!1},exportCsv(t="mach-table.csv"){let r=P(e);return r?gt(t,r.io.exportCsv({prependBOM:!0}),"text/csv;charset=utf-8"):!1},async toggleFullscreen(){if(typeof document>"u")return!1;if(document.fullscreenElement)return await document.exitFullscreen?.(),!1;let r=P(e)?.view.getRoot(),o=i.getFullscreenElement?.()??r?.parentElement??r;return o?.requestFullscreen?(await o.requestFullscreen(),!0):!1}}}var xe={sortable:!1,resizable:!1,movable:!1,filter:!1,suppressSizeToFit:!0,suppressColumnMenu:!0};function Jo(i={}){let e=i.width??40;return{colId:"sel",headerName:"",width:e,minWidth:i.minWidth??e,maxWidth:i.maxWidth??e,pinned:"left",checkboxSelection:!0,...xe,...i}}function Qo(i={}){let e=i.width??52;return{colId:"idx",headerName:"#",type:"index",width:e,minWidth:i.minWidth??e,maxWidth:i.maxWidth??e,pinned:"left",align:"center",headerAlign:"center",...xe,...i}}function Zo(i={}){let e=i.width??40;return{colId:"drag",headerName:"",rowDrag:!0,width:e,minWidth:i.minWidth??e,maxWidth:i.maxWidth??e,pinned:"left",...xe,...i}}function ei(i={actions:[]}){let{width:e,pinned:t,...r}=i,o=r.actions?.length??0,n=r.overflow==="inline"?o:Math.min(o,r.max??3),s=r.overflow!=="inline"&&o>n,a=Math.max(1,n)*26+(s?26:0)+10;return{colId:"op",headerName:"\u64CD\u4F5C",width:e??Math.max(64,a),pinned:t??"right",cellRenderer:me(r),...xe,cellRendererParams:void 0}}function ti(i={}){let{width:e,pinned:t,...r}=i,o=(r.onView?1:0)+(r.edit===!1?0:1)+(r.onDelete?1:0)+(r.extraActions?.length??0),n=r.overflow==="inline"?o:Math.min(o,r.max??3),s=r.overflow!=="inline"&&o>n,a=Math.max(2,n)*26+(s?26:0)+10;return{colId:"op",headerName:"\u64CD\u4F5C",width:e??Math.max(72,a),pinned:t??"right",cellRenderer:Pt(r),...xe,cellRendererParams:void 0}}function ri(){return{accessor:(i,e={})=>({...e,field:i}),display:i=>({...i}),group:i=>({...i,children:[...i.children]})}}function oi(i){return[...i]}function Rr(i,e){return e===void 0?i:typeof e!="object"||e===null||typeof i!="object"||i===null?e:{...i,...e}}function _s(i,e){return typeof i!="function"?e:typeof e!="function"?i:(...t)=>{let r;try{i(...t)}catch(o){r=o}try{e(...t)}catch(o){r??(r=o)}if(r!==void 0)throw r}}function Ws(i,e){if(!(!i.components&&!e.components))return{cellRenderers:{...i.components?.cellRenderers,...e.components?.cellRenderers},cellEditors:{...i.components?.cellEditors,...e.components?.cellEditors}}}function $s(i,e){if(!i.columnTypes&&!e.columnTypes)return;let t={},r=new Set([...Object.keys(i.columnTypes??{}),...Object.keys(e.columnTypes??{})]);for(let o of r)t[o]={...i.columnTypes?.[o],...e.columnTypes?.[o]};return t}function Ks(i,e,t){for(let r of new Set([...Object.keys(e),...Object.keys(t)])){if(!/^on[A-Z]/.test(r))continue;let o=e[r],n=t[r];typeof o!="function"||typeof n!="function"||(i[r]=_s(o,n))}}function qs(i,e){let t={...i,...e,features:e.features??i.features};(i.defaultColDef||e.defaultColDef)&&(t.defaultColDef={...i.defaultColDef,...e.defaultColDef}),(i.locale||e.locale)&&(t.locale={...i.locale,...e.locale});let r=Ws(i,e);r&&(t.components=r);let o=$s(i,e);return o&&(t.columnTypes=o),(i.aggFuncs||e.aggFuncs)&&(t.aggFuncs={...i.aggFuncs,...e.aggFuncs}),t.pagination=Rr(i.pagination,e.pagination),t.statusBar=Rr(i.statusBar,e.statusBar),t.watermark=Rr(i.watermark,e.watermark),Ks(t,i,e),t}function Dr(...i){return i.reduce(qs,{})}function ii(i={}){return Dr({defaultColDef:{sortable:!0,resizable:!0,movable:!0,filter:!0},enableColumnResize:!0,rowSelection:"multiple",columnMenu:!0,contextMenu:!0,enableRangeSelection:!0,fillHandle:!0,statusBar:!0,stripedRows:!0},i)}function ni(i){return i}function si(i){return i}function ai(i){return i}function Me(i){return i!=null&&i!==""}function Us(i){if(!Me(i))return null;let e=typeof i=="number"?i:Number(i);return Number.isFinite(e)?e:null}function Ht(i,e){try{return new Intl.NumberFormat(i,e)}catch{return new Intl.NumberFormat(void 0,e)}}function li(i,e){try{return new Intl.DateTimeFormat(i,e)}catch{let t={...e};return delete t.timeZone,new Intl.DateTimeFormat(void 0,t)}}function js(i){if(!Me(i))return null;let e=i instanceof Date?i:new Date(i);return Number.isFinite(e.getTime())?e:null}function di(i={}){let e=i.emptyText??"",t=i.invalidText??"\u2014",r=Ht(i.locale,{maximumFractionDigits:i.maximumFractionDigits??2}),o=Ht(i.locale,{maximumFractionDigits:0}),n=Ht(i.locale,{style:"currency",currency:i.currency??"CNY",currencyDisplay:i.currencyDisplay??"symbol",maximumFractionDigits:i.maximumFractionDigits??2}),s=Ht(i.locale,{style:"percent",maximumFractionDigits:i.maximumFractionDigits??2}),a=li(i.locale,{year:"numeric",month:"2-digit",day:"2-digit",...i.timeZone?{timeZone:i.timeZone}:{}}),l=li(i.locale,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,...i.timeZone?{timeZone:i.timeZone}:{}}),d=(u,h=1)=>({value:p})=>{if(!Me(p))return e;let m=Us(p);return m==null?t:u.format(m*h)},c=u=>({value:h})=>{if(!Me(h))return e;let p=js(h);return p==null?t:u.format(p)};return Object.freeze({text:{align:"left",filter:"text"},number:{align:"right",filter:"number",cellEditor:"number",valueFormatter:d(r)},integer:{align:"right",filter:"number",cellEditor:"number",valueFormatter:d(o)},money:{align:"right",filter:"number",cellEditor:"number",valueFormatter:d(n)},percent:{align:"right",filter:"number",cellEditor:"number",valueFormatter:d(s)},percentage:{align:"right",filter:"number",cellEditor:"number",valueFormatter:d(s,.01)},date:{align:"center",filter:"date",cellEditor:"date",valueFormatter:c(a)},datetime:{align:"center",filter:"date",valueFormatter:c(l)},boolean:{align:"center",filter:"set",valueFormatter:({value:u})=>u===!0?i.trueText??"\u662F":u===!1?i.falseText??"\u5426":e},status:{filter:"set",cellRenderer:"statusTag"},link:{filter:"text",cellRenderer:"link"}})}function Vt(i){return`${typeof i}:${String(i)}`}function ci(i){let e=Math.max(0,i.ttlMs??3e5),t=Math.max(1,Math.floor(i.maxSize??2e3)),r=Math.max(0,i.batchDelayMs??0),o=new Map,n=new Map,s=new Map,a=null,l=null,d=!1,c=g=>{let y=Vt(g),b=o.get(y);if(b){if(b.expiresAt<Date.now()){o.delete(y);return}return o.delete(y),o.set(y,b),b.label}},u=g=>{let y=e===0?Number.POSITIVE_INFINITY:Date.now()+e;for(let b of g){let T=Vt(b.value);o.delete(T),o.set(T,{key:b.value,label:String(b.label),expiresAt:y})}for(;o.size>t;)o.delete(o.keys().next().value)},h=g=>{for(let[y,b]of g){let T=c(b);for(let x of s.get(y)??[])x.resolve(T);s.delete(y)}},p=(g,y)=>{for(let[b]of g){for(let T of s.get(b)??[])T.reject(y);s.delete(b)}},m=async()=>{if(a=null,d||n.size===0)return;let g=[...n.entries()];n.clear();let y=g.map(([,T])=>T),b=new AbortController;l=b;try{let T=await i.load(y,b.signal);if(d||b.signal.aborted)return;u(T),h(g)}catch(T){b.signal.aborted||i.onError?.(T,y),p(g,T)}finally{l===b&&(l=null),!d&&n.size>0&&a==null&&(a=setTimeout(()=>{m()},r))}},v=g=>{let y=c(g);if(y!==void 0)return Promise.resolve(y);if(d)return Promise.reject(new Error("[MachTable] Dictionary resolver has been destroyed."));let b=Vt(g);n.set(b,g);let T=new Promise((x,w)=>{let C=s.get(b)??[];C.push({resolve:x,reject:w}),s.set(b,C)});return a==null&&l==null&&(a=setTimeout(()=>{m()},r)),T};return{get:c,resolve:v,async resolveMany(g){let y=await Promise.all(g.map(async b=>[b,await v(b)]));return new Map(y.filter(b=>b[1]!==void 0))},prime:u,invalidate(g){if(!g)o.clear();else for(let y of g)o.delete(Vt(y))},destroy(){d=!0,a!=null&&clearTimeout(a),a=null,l?.abort(),l=null;let g=new Error("[MachTable] Dictionary resolver has been destroyed.");for(let y of s.values())for(let b of y)b.reject(g);s.clear(),n.clear(),o.clear()},get size(){return o.size}}}function ui(i,e={}){return t=>{if(!Me(t.value))return e.emptyText??"";let r=t.value,o=e.fallback?.(r)??String(r),n=i.get(r);if(n!==void 0)return n;let s=document.createElement("span");s.className="mach-dictionary-value mach-dictionary-value--loading",s.textContent=e.loadingText??o;let a=!0;return i.resolve(r).then(l=>{!a||!s.isConnected||(s.textContent=l??o,s.classList.remove("mach-dictionary-value--loading"))}).catch(()=>{!a||!s.isConnected||(s.textContent=o,s.classList.remove("mach-dictionary-value--loading"),s.classList.add("mach-dictionary-value--error"))}),{el:s,destroy:()=>{a=!1}}}}function hi(){try{return typeof localStorage>"u"?null:localStorage}catch{return null}}function pi(i){return typeof TextEncoder>"u"?i.length*2:new TextEncoder().encode(i).byteLength}function fi(i){if(typeof i!="string")return null;let e=i.trim();return e&&e.length<=256?e:null}function Bt(i){if(i==null||typeof i!="object")return null;let e=i;if(e.version!==1)return null;let t=z({version:2,columns:e.columns,sortModel:e.sortModel,filterModel:e.filterModel,advancedFilterModel:e.advancedFilterModel,quickFilterText:e.quickFilterText,pagination:{enabled:!0,page:1,pageSize:e.pageSize},selectedRowIds:[],expandedRowIds:[],expandedGroupIds:[]});return t?{version:1,columns:t.columns,sortModel:t.sortModel,filterModel:t.filterModel,advancedFilterModel:t.advancedFilterModel,quickFilterText:t.quickFilterText,pageSize:t.pagination.pageSize}:null}function ge(i){if(i==null||typeof i!="object")return null;let e=i,t=fi(e.id),r=typeof e.name=="string"?e.name.trim().slice(0,120):"",o=Bt(e.state);if(e.schemaVersion!==1||!t||!r||!o)return null;let n=typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)?e.createdAt:Date.now(),s=typeof e.updatedAt=="number"&&Number.isFinite(e.updatedAt)?e.updatedAt:n;return{schemaVersion:1,id:t,name:r,createdAt:n,updatedAt:s,state:o}}function Er(i){let e=i.state.get();return{version:1,columns:e.columns,sortModel:e.sortModel,filterModel:e.filterModel,advancedFilterModel:e.advancedFilterModel,quickFilterText:e.quickFilterText,pageSize:e.pagination.pageSize}}function Sr(i,e,t={}){let r=Bt(e);if(!r||i.isDestroyed())return!1;let o=i.state.get();return i.state.apply({...o,columns:r.columns,sortModel:r.sortModel,filterModel:r.filterModel,advancedFilterModel:r.advancedFilterModel,quickFilterText:r.quickFilterText,pagination:{...o.pagination,page:1,pageSize:r.pageSize}},{sections:["columns","sort","filter","pagination"],emitEvents:t.emitEvents}),!0}function xr(i={}){let e=(i.namespace??"mach-table:views").replace(/:+$/,""),t=Math.max(1,Math.floor(i.maxViews??50)),r=Math.max(4096,Math.floor(i.maxBytes??512*1024)),o=l=>`${e}:${encodeURIComponent(l)}`,n=(l,d,c)=>{try{i.onError?.(l,d,c)}catch{}},s=l=>{let d=(i.storage??hi())?.getItem(o(l));if(!d||pi(d)>r)return[];let c=JSON.parse(d);return c.schemaVersion!==1||!Array.isArray(c.views)?[]:c.views.flatMap(u=>{let h=ge(u);return h?[h]:[]}).slice(0,t)},a=(l,d)=>{let c=JSON.stringify({schemaVersion:1,savedAt:Date.now(),views:d});if(pi(c)>r)throw new RangeError(`[MachTable] Saved views for "${l}" exceed ${r} bytes.`);let u=i.storage??hi();if(!u)throw new Error("[MachTable] Saved view storage is unavailable.");u.setItem(o(l),c)};return{list(l){try{return s(l)}catch(d){return n(d,"list",l),[]}},save(l,d){try{let c=ge(d);if(!c)throw new TypeError(`[MachTable] Invalid saved view for "${l}".`);let u=s(l).filter(h=>h.id!==c.id);u.unshift(c),a(l,u.slice(0,t))}catch(c){throw n(c,"save",l),c}},remove(l,d){try{a(l,s(l).filter(c=>c.id!==d))}catch(c){throw n(c,"remove",l),c}}}}function Ys(){try{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID()}catch{}return`view-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function mi(i,e){let t=e.scope.trim();if(!t||t.length>512)throw new TypeError("[MachTable] Grid view scope must contain between 1 and 512 characters.");let r=e.store??xr(),o=async()=>(await r.list(t)).flatMap(s=>{let a=ge(s);return a?[a]:[]}).sort((s,a)=>a.updatedAt-s.updatedAt);return{list:o,async save(n,s){let a=n.trim().slice(0,120);if(!a)throw new TypeError("[MachTable] Grid view name must be a non-empty string.");let l=fi(s)??Ys(),d=(await o()).find(h=>h.id===l),c=Date.now(),u={schemaVersion:1,id:l,name:a,createdAt:d?.createdAt??c,updatedAt:c,state:Er(i)};return await r.save(t,u),u},async apply(n,s){let a=typeof n=="string"?(await o()).find(d=>d.id===n):ge(n),l=typeof n=="string"?n:"provided view";if(!a)throw new Error(`[MachTable] Grid view "${l}" was not found.`);if(!Sr(i,a.state,s))throw new Error(`[MachTable] Grid view "${a.id}" could not be applied.`);return a},async remove(n){await r.remove(t,n)}}}var Xs=ke;0&&(module.exports={BUILTIN_AGG_FUNCS,DEFAULT_LOCALE,EVENT_TYPES,LOCALE_EN,actionsColumn,advancedFilterCondition,advancedFilterGroup,applyGridViewState,buildColDefsFromSchema,captureGridViewState,clearGridState,createActionButtonsRenderer,createAggResolver,createBusinessColumnTypes,createCachedDictionary,createColumnHelper,createDictionaryRenderer,createEnterprisePreset,createGrid,createGridViewManager,createLocalGridStateStore,createLocalGridViewStore,createMachTableCommands,createMachTablePreset,createProgressBarRenderer,createRemoteExportRequest,createRowActionsRenderer,createStatusTagRenderer,defineColumns,defineGridOptions,defineMachTableConfig,defineMachTablePreset,describeFilter,downloadFile,dragColumn,escapeHtml,formatText,formatTwo,getByPath,indexColumn,isColDefGroup,isSafePath,linkRenderer,loadGridState,matchLocaleKey,normalizeAdvancedFilterModel,normalizeColumnFilter,normalizeFilterModel,normalizeGridState,normalizeGridViewState,normalizeSavedGridView,parseCsv,parseDelimited,parseTsv,resolveGridFeatures,resolveSaveConflict,resolveTagVariant,rowActionsColumn,sanitizeFormulaCell,saveGridState,selectionColumn,setByPath,toTsv,validateGridOptions,version});
|
|
1
|
+
"use strict";var _t=Object.defineProperty;var bn=Object.getOwnPropertyDescriptor;var Cn=Object.getOwnPropertyNames;var Tn=Object.prototype.hasOwnProperty;var Rn=(n,e)=>{for(var t in e)_t(n,t,{get:e[t],enumerable:!0})},Dn=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Cn(e))!Tn.call(n,o)&&o!==t&&_t(n,o,{get:()=>e[o],enumerable:!(r=bn(e,o))||r.enumerable});return n};var En=n=>Dn(_t({},"__esModule",{value:!0}),n);var Qs={};Rn(Qs,{BUILTIN_AGG_FUNCS:()=>Yt,DEFAULT_LOCALE:()=>D,EVENT_TYPES:()=>j,LOCALE_EN:()=>io,actionsColumn:()=>rn,advancedFilterCondition:()=>Ar,advancedFilterGroup:()=>Lr,applyGridViewState:()=>xr,buildColDefsFromSchema:()=>Jo,captureGridViewState:()=>Sr,clearGridState:()=>Fo,createActionButtonsRenderer:()=>ge,createAggResolver:()=>He,createBusinessColumnTypes:()=>hn,createCachedDictionary:()=>pn,createColumnHelper:()=>nn,createDictionaryRenderer:()=>fn,createEnterprisePreset:()=>an,createGrid:()=>jo,createGridViewManager:()=>vn,createLocalGridStateStore:()=>hr,createLocalGridViewStore:()=>Mr,createMachTableCommands:()=>Qo,createMachTablePreset:()=>Er,createProgressBarRenderer:()=>yr,createRemoteExportRequest:()=>Yo,createRowActionsRenderer:()=>Gt,createStatusTagRenderer:()=>gr,defineColumns:()=>sn,defineGridOptions:()=>dn,defineMachTableConfig:()=>cn,defineMachTablePreset:()=>ln,describeFilter:()=>bt,downloadFile:()=>yt,dragColumn:()=>tn,escapeHtml:()=>re,formatText:()=>V,formatTwo:()=>ue,getByPath:()=>K,indexColumn:()=>en,isColDefGroup:()=>ae,isSafePath:()=>ne,linkRenderer:()=>vr,loadGridState:()=>At,matchLocaleKey:()=>it,normalizeAdvancedFilterModel:()=>O,normalizeColumnFilter:()=>Le,normalizeFilterModel:()=>q,normalizeGridState:()=>z,normalizeGridViewState:()=>zt,normalizeSavedGridView:()=>ye,parseCsv:()=>qe,parseDelimited:()=>Ue,parseTsv:()=>Ke,resolveGridFeatures:()=>Ot,resolveSaveConflict:()=>go,resolveTagVariant:()=>mr,rowActionsColumn:()=>on,sanitizeFormulaCell:()=>be,saveGridState:()=>It,selectionColumn:()=>Zo,setByPath:()=>ie,toTsv:()=>ce,validateGridOptions:()=>Nt,version:()=>Js});module.exports=En(Qs);var Ie="0.31.2";var Ae=class{constructor(e){this.onListenerError=e;this.ce=new Map}on(e,t){let r=this.ce.get(e);return r||(r=new Set,this.ce.set(e,r)),r.add(t),()=>{r.delete(t)}}once(e,t){let r=this.on(e,o=>{r(),t(o)});return r}off(e,t){let r=this.ce.get(e);r&&(r.delete(t),r.size===0&&this.ce.delete(e))}emit(e,t){let r=this.ce.get(e);if(r)for(let o of[...r])try{o(t)}catch(i){console.error(`[mach-table] error in "${e}" listener`,i),this.onListenerError?.(i,e)}}clear(){this.ce.clear()}};var xn=new Set(["__proto__","prototype","constructor"]);function ne(n){return typeof n!="string"||n.length===0?!1:n.split(".").every(t=>t.length>0&&!xn.has(t))}function K(n,e){if(n==null||!ne(e))return;if(e.indexOf(".")<0)return n[e];let r=n,o=0;for(;o<e.length;){if(r==null)return;let i=e.indexOf(".",o);if(i<0){r=r[e.slice(o)];break}r=r[e.slice(o,i)],o=i+1}return r}function ie(n,e,t){if(n==null||!ne(e))return!1;let r=e.split("."),o=n;for(let i=0;i<r.length-1;i++){if(typeof o!="object"&&typeof o!="function"||o===null)return!1;o[r[i]]==null&&(o[r[i]]={}),o=o[r[i]]}return typeof o!="object"&&typeof o!="function"||o===null?!1:(o[r[r.length-1]]=t,!0)}var Mn=new Set(["contains","notContains","equals","notEquals","startsWith","endsWith","blank","notBlank"]),kn=new Set(["equals","notEquals","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inRange","blank","notBlank"]),In=new Set(["equals","notEquals","lessThan","greaterThan","inRange","blank","notBlank"]);function An(n){return n==null||typeof n=="string"||typeof n=="number"&&Number.isFinite(n)}function Ln(n){return n==="text"?Mn:n==="number"?kn:In}function Pn(n,e,t){if(n==null||typeof n!="object")return null;let r=n;return typeof r.match!="string"||!t.has(r.match)?null:{match:r.match,...Gn(r,e)}}function Gn(n,e){let t=e==="number"?kr(n.value):typeof n.value=="string"?n.value:void 0,r=e==="number"?kr(n.value2):typeof n.value2=="string"?n.value2:void 0;return{...t!==void 0?{value:t}:{},...r!==void 0?{value2:r}:{}}}function kr(n){return typeof n=="number"&&Number.isFinite(n)?n:void 0}function Nn(n,e){let t=[],r=Ln(e);for(let o of n.slice(0,20)){let i=Pn(o,e,r);i&&t.push(i)}return t}function Le(n){if(n==null||typeof n!="object")return null;let e=n;return e.type==="set"?Array.isArray(e.values)?{type:"set",values:e.values.filter(An).slice(0,2e3)}:null:e.type!=="text"&&e.type!=="number"&&e.type!=="date"||!Array.isArray(e.conditions)?null:{type:e.type,...e.operator==="or"||e.operator==="and"?{operator:e.operator}:{},conditions:Nn(e.conditions,e.type)}}function Fn(n,e){if(typeof n.colId!="string"||!n.colId.trim())return null;let t=n.colId.trim();if(e.validColumnIds?.has(t)===!1)return null;let r=Le(n.filter);return r?{kind:"condition",colId:t,filter:r}:null}function On(n,e,t){if(!Array.isArray(n.children))return null;let r=[];for(let o of n.children){let i=Ir(o,e+1,t);i&&r.push(i)}return r.length===0?null:{kind:"group",operator:n.operator==="or"?"or":"and",children:r,...n.not===!0?{not:!0}:{}}}function Hn(n,e,t){return e<=16&&t.nodes<512&&n!=null&&typeof n=="object"}function Ir(n,e,t){if(!Hn(n,e,t)||t.ancestors.has(n))return null;t.ancestors.add(n),t.nodes++;let r=n,o=r.kind==="condition"?Fn(r,t):r.kind==="group"?On(r,e,t):null;return t.ancestors.delete(n),o}function O(n,e){if(n==null||typeof n!="object")return null;let t=n;if(t.version!==1||t.root==null)return null;let r=Ir(t.root,0,{ancestors:new WeakSet,nodes:0,validColumnIds:e});return r?{version:1,root:r}:null}function Ar(n,e){return{kind:"condition",colId:n,filter:e}}function q(n,e){if(n==null||typeof n!="object"||Array.isArray(n))return{};let t={};for(let[r,o]of Object.entries(n).slice(0,2e3)){let i=r.trim();if(!i||e?.has(i)===!1)continue;let s=Le(o);s&&(t[i]=s)}return t}function Lr(n,e,t={}){return{kind:"group",operator:n,children:e,...t.not?{not:!0}:{}}}var Wt={align:"center",sortable:!0,resizable:!0,movable:!0,filter:!1,minWidth:80},ve={compact:{rowHeight:30,headerHeight:34,fontSize:12,cellPadding:6},normal:{rowHeight:36,headerHeight:40,fontSize:13,cellPadding:9},large:{rowHeight:44,headerHeight:48,fontSize:14,cellPadding:12}};function S(n,e,t,r=!1){return typeof n!="number"||!Number.isFinite(n)||n<t?e:r?Math.floor(n):n}function Vn(n){return n&&Object.prototype.hasOwnProperty.call(ve,n)?n:"normal"}function Bn(n){return n.theme==="light"||n.theme==="dark"||n.theme==="auto"?n.theme:"light"}function zn(n,e){let t=typeof n.pagination=="object"&&Array.isArray(n.pagination.pageSizeOptions)?n.pagination.pageSizeOptions:void 0,r=t?[...new Set(t.map(o=>S(o,0,1,!0)).filter(Boolean))]:[10,20,50,100];return r.includes(e)||r.push(e),r.sort((o,i)=>o-i)}function $t(n,e){let t=typeof n=="function"?n(e):K(e,n);return t==null?"":String(t)}function _n(n){let e=n.rowKey,t=e?({data:r})=>$t(e,r):void 0;return{...t?{resolveRowId:t}:{},...e?{rowKey:e}:{}}}function Wn(n,e){let t=ve[e];return{columnDefs:Array.isArray(n.columnDefs)?n.columnDefs:[],rowData:Array.isArray(n.rowData)?n.rowData:[],defaultColDef:{...Wt,...n.defaultColDef??{}},columnTypes:n.columnTypes??{},..._n(n),rowHeight:S(n.rowHeight,t.rowHeight,1),headerHeight:S(n.headerHeight,t.headerHeight,1),rowBuffer:S(n.rowBuffer,8,0,!0),columnLayout:n.columnLayout==="fit"?"fit":"normal",enableColumnResize:n.enableColumnResize===!0,domLayout:n.domLayout==="autoHeight"?"autoHeight":"normal",rowSelection:n.rowSelection==="single"||n.rowSelection==="multiple"?n.rowSelection:"none",multiSort:n.multiSort??!0,size:e,pinnedTopRowData:Array.isArray(n.pinnedTopRowData)?n.pinnedTopRowData:[],pinnedBottomRowData:Array.isArray(n.pinnedBottomRowData)?n.pinnedBottomRowData:[]}}function $n(n){return{stripedRows:n.stripedRows??!1,rowStyleRules:Array.isArray(n.rowStyleRules)?n.rowStyleRules:[],showCellBorders:n.showCellBorders??!1,theme:Bn(n),quickFilterText:n.quickFilterText??null,suppressCellFocus:n.suppressCellFocus??!1,suppressRowHoverHighlight:n.suppressRowHoverHighlight??!1,suppressNoRowsOverlay:n.suppressNoRowsOverlay??!1,suppressHeaderFocus:n.suppressHeaderFocus??!1,loading:n.loading??!1,error:n.error??null,className:n.className??""}}function Kn(n){return{editType:n.editType==="fullRow"?"fullRow":"cell",editableIndicator:n.editableIndicator==="always"||n.editableIndicator==="none"?n.editableIndicator:"hover",singleClickEdit:n.singleClickEdit??!1,manualSorting:n.manualSorting??!1,manualFiltering:n.manualFiltering??!1,showSummary:n.showSummary??!1,indexOffset:n.indexOffset??0,applyRowDrag:n.applyRowDrag??!0,undoStackSize:S(n.undoStackSize,100,0,!0),asyncTransactionWaitMillis:S(n.asyncTransactionWaitMillis,16,0,!0)}}function qn(n){return{masterDetail:n.masterDetail??!1,detailRowHeight:S(n.detailRowHeight,240,1),detailToggleColumn:n.detailToggleColumn??!0,treeData:n.treeData??!1,childrenKey:n.childrenKey??"children",autoCheckedChildren:n.autoCheckedChildren??!0,defaultExpandAll:n.defaultExpandAll??!1}}function Un(n){let e=typeof n.pagination=="object"?n.pagination:void 0,t=S(e?.pageSize,20,1,!0);return{paginationEnabled:n.pagination!==!1&&n.datasource==null,paginationMode:e?.mode==="server"?"server":"client",paginationPage:S(e?.page,1,1,!0),paginationTotal:S(e?.total,0,0,!0),paginationPageSize:t,paginationPageSizeOptions:zn(n,t),paginationShowTotal:e?e.showTotal!==!1:!0,paginationShowSizeSelector:e?e.showPageSizeSelector!==!1:!0}}function jn(n){return{watermarkEnabled:n.watermark!=null&&n.watermark!==!1,watermarkConfig:n.watermark==null||n.watermark===!1?null:n.watermark===!0?{text:"MachTable"}:n.watermark}}function Yn(n){return{columnMenu:n.columnMenu??!1,advancedFilterModel:O(n.advancedFilterModel),...Xn(n),locale:n.locale??{},suppressWarnings:n.suppressWarnings??!1,enableRangeSelection:n.enableRangeSelection??!1,suppressClipboard:n.suppressClipboard??!1,contextMenu:n.contextMenu??!1,tooltipShowDelay:S(n.tooltipShowDelay,600,0),flashCells:n.flashCells??!0,fillHandle:n.fillHandle??!0,statusBarEnabled:n.statusBar===!0||typeof n.statusBar=="object"&&n.statusBar!=null,statusBarPanels:typeof n.statusBar=="object"&&n.statusBar?.panels?n.statusBar.panels:["rowCount","selectedRowCount","rangeAggregate"]}}function Xn(n){let e=n.persistence;return!e||typeof e.key!="string"||!e.key.trim()?{persistence:null}:{persistence:{key:e.key.trim(),debounceMs:S(e.debounceMs,160,0,!0),...e.sections?{sections:[...new Set(e.sections)]}:{},...e.store?{store:e.store}:{}}}}function Jn(n){return{datasourceMode:n.datasourceMode==="block"?"block":"sequential",blockSize:S(n.blockSize,100,1,!0),infiniteBufferRows:S(n.infiniteBufferRows,40,0,!0),maxBlocksInCache:S(n.maxBlocksInCache,12,1,!0),datasourceMaxConcurrentRequests:S(n.datasourceMaxConcurrentRequests,4,1,!0),blockPrefetch:S(n.blockPrefetch,1,0,!0),datasourceRowCount:n.datasourceRowCount==null?null:S(n.datasourceRowCount,0,0,!0),dataProcessorMinRows:S(n.dataProcessorMinRows,5e3,1,!0),datasourceRetryCount:S(n.datasourceRetryCount,2,0,!0),datasourceRetryDelay:S(n.datasourceRetryDelay,300,0,!0),datasourceRetryJitter:Math.min(1,S(n.datasourceRetryJitter,.15,0))}}function Qn(n){return{ariaLabel:n.ariaLabel??"MachTable data grid",ariaLabelledBy:n.ariaLabelledBy??"",ariaDescribedBy:n.ariaDescribedBy??"",overlayNoRowsTemplate:n.overlayNoRowsTemplate??"",overlayLoadingTemplate:n.overlayLoadingTemplate??"",overlayErrorTemplate:n.overlayErrorTemplate??"",allowUnsafeOverlayHtml:n.allowUnsafeOverlayHtml??!1}}var Zn=["detailRowRenderer","isRowExpandable","aggFuncs","components","actionPolicy","summaryMethod","datasource","getRowHeight","tooltipComponent","getContextMenuItems","initialState","rowEditValidator","isTreeRowExpandable","loadTreeChildren","dataProcessor"];function ei(n,e){for(let t of Zn)n[t]&&Object.assign(e,{[t]:n[t]})}function ti(n,e){for(let t of Object.keys(n))t.startsWith("on")&&typeof n[t]=="function"&&Object.assign(e,{[t]:n[t]})}function Pr(n){let e=Vn(n.size),t={...Wn(n,e),...$n(n),...Kn(n),...qn(n),...Un(n),...jn(n),...Yn(n),...Jn(n),...Qn(n),features:Array.isArray(n.features)?n.features:[]};return ei(n,t),ti(n,t),t}function Gr(n){return Array.isArray(n)?n.filter(e=>typeof e=="string"&&e.length>0):typeof n=="string"&&n.length>0?[n]:[]}function se(n,e){return Gr(n.type).includes(e)}function Nr(n,e,t={}){let r={};for(let o of Gr(n.type)){let i=t[o];i&&Object.assign(r,i)}return{...e,...r,...n}}var W=class{constructor(e,t){this.manualWidth=null;this.contentWidth=null;this.flex=null;this.currentWidth=0;this.parentGroup=null;this.level=0;this.isDetailToggle=!1;this.id=e,this.colDef=t,this.hide=t.hide??!1;let r=t.pinned;this.pinned=r===!0?"left":r===!1||r==null?null:r,this.resetWidth()}get sortable(){return this.colDef.sortable!==!1}get resizable(){return this.colDef.resizable!==!1}get movable(){return this.colDef.movable!==!1}get filterable(){return this.colDef.filter!=null&&this.colDef.filter!==!1}get filterType(){let e=this.colDef.filter;return e===!0?"text":e??"text"}get hasCheckbox(){return this.colDef.checkboxSelection===!0}resetWidth(){this.manualWidth=null,this.contentWidth=null,this.flex=typeof this.colDef.flex=="number"&&Number.isFinite(this.colDef.flex)&&this.colDef.flex>0?this.colDef.flex:null}};var Z=class n{constructor(e,t){this.parent=null;this.children=[];this.groupId=e,this.def=t}get headerName(){return this.def.headerName??this.def.groupId??""}getLeafColumns(e=[]){for(let t of this.children)t instanceof n?t.getLeafColumns(e):e.push(t);return e}};function ae(n){return Array.isArray(n.children)}function Pe(n,e){return typeof n=="number"&&Number.isFinite(n)&&n>0?n:e}function Fr(n){let e=Pe(n.minWidth,80);return{min:e,max:Math.max(e,Pe(n.maxWidth,Number.MAX_SAFE_INTEGER))}}function N(n,e){let{min:t,max:r}=Fr(e),o=Pe(n,Pe(e.width,150));return Math.max(t,Math.min(r,o))}function Or(n,e){let t=n.map(s=>N(s.width??150,s)),r=[],o=0;n.forEach((s,a)=>{let l=s.flex??0;l>0&&(r.push(a),o+=l)});let i=0;for(let s of t)i+=s;if(o>0&&e>i){let s=e-i;for(let a=0;a<4&&s>.5&&r.length>0;a++){let l=[],d=0;for(let p of r){let m=n[p].flex??0;l.push(p),d+=m}let c=[];for(let p=0;p<l.length;p++){let m=l[p],g=n[m].flex??0,y=s*g/d,v=t[m];t[m]=N(v+y,n[m]),c.push(t[m]-v)}let u=0;for(let p of c)u+=p;s-=u;let h=l.filter((p,m)=>c[m]>.001);if(h.length===l.length)break;r.length=0;for(let p of h)r.push(p)}}return t}function ri(n,e,t){let r=new Set(n.map((i,s)=>s)),o=t;for(let i=0;i<n.length+1&&r.size>0;i++){let s=0;for(let l of r)s+=Math.max(1,e[l]);if(s<=0)break;let a=!1;for(let l of[...r]){let d=o*(Math.max(1,e[l])/s),c=N(d,n[l]),{min:u,max:h}=Fr(n[l]);(d<u||d>h)&&(e[l]=c,o-=c,r.delete(l),a=!0)}if(!a){for(let l of r)e[l]=N(o*(Math.max(1,e[l])/s),n[l]);break}o=Math.max(0,o)}}function oi(n,e,t){let r=t-e.reduce((o,i)=>o+i,0);if(!(Math.abs(r)<=.01))for(let o=e.length-1;o>=0;o--){let i=N(e[o]+r,n[o]);if(Math.abs(i-e[o])>.01){e[o]=i;return}}}function Ge(n,e){let t=n.map(r=>N(r.width??150,r));return!Number.isFinite(e)||e<=0||n.length===0||(ri(n,t,e),oi(n,t,e)),t}var Kt="__rg_detail_toggle__";function le(n){return typeof n=="number"&&Number.isFinite(n)&&n>0}var Ne=class{constructor(e){this.core=e;this.columns=[];this.E=[];this.left=[];this.center=[];this.right=[];this.sortModel=[];this.defs=[];this.ue=1;this.qt=new Map;this.viewportWidth=0}setColumnDefs(e){this.defs=e?[...e]:[];let t=new Map(this.columns.map(s=>[s.id,s])),r=this.core.options.defaultColDef,o=new Set(this.core.options.masterDetail&&this.core.options.detailToggleColumn?[Kt]:[]),i=(s,a,l)=>s.map((d,c)=>{if(ae(d)){let v=d.groupId??d.headerName??`group_${c}_${l}`,b=new Z(v,d);return b.parent=a,b.children=i(d.children,b,l+1),b}let u=d,h=u.colId??u.field??`col_${c}`,p=h,m=2;for(;o.has(p);)p=`${h}_${m++}`;o.add(p);let g=new W(p,Nr(u,r,this.core.options.columnTypes));g.parentGroup=a,g.level=l;let y=t.get(p);return y&&(g.manualWidth=y.manualWidth,g.contentWidth=y.contentWidth,g.flex=y.flex,g.hide=y.hide,g.pinned=y.pinned),g});if(this.E=i(this.defs,null,0),this.core.options.masterDetail&&this.core.options.detailToggleColumn){let s=new W(Kt,{colId:Kt,headerName:"",width:38,pinned:"left",sortable:!1,resizable:!1,movable:!1,filter:!1});s.isDetailToggle=!0,this.E.unshift(s)}if(this.columns=this.Ze(this.E),this.ue=this.columns.reduce((s,a)=>Math.max(s,a.level+1),1),this.sortModel=this.sortModel.filter(s=>this.columns.some(a=>a.id===s.colId)),this.sortModel.length===0){let s=[];for(let a of this.columns)a.colDef.initialSort&&s.push({colId:a.id,direction:a.colDef.initialSort});this.sortModel=s}this.he()}Ze(e,t=[]){for(let r of e)r instanceof Z?this.Ze(r.children,t):t.push(r);return t}he(){let e=this.columns.filter(t=>!t.hide);this.left=e.filter(t=>t.pinned==="left"),this.right=e.filter(t=>t.pinned==="right"),this.center=e.filter(t=>t.pinned===null),this.qt.clear(),this.getOrderedVisible().forEach((t,r)=>this.qt.set(t.id,r))}getFlatIndex(e){return this.qt.get(e)??-1}getColumns(){return this.columns}getColumnDefs(){return this.defs}getRootChildren(){return this.E}getHeaderDepth(){return this.ue}getColumn(e){return this.columns.find(t=>t.id===e)}getPaneColumns(e){return e==="left"?this.left:e==="right"?this.right:this.center}getOrderedVisible(){return[...this.left,...this.center,...this.right]}getRowGroupColumns(){return this.getOrderedVisible().filter(e=>e.colDef.rowGroup===!0)}getAggColumns(){return this.getOrderedVisible().filter(e=>e.colDef.aggFunc!=null&&e.colDef.rowGroup!==!0)}hasColSpan(){return this.center.some(e=>e.colDef.colSpan!=null)}getGroupLabelColumn(){let e=this.getOrderedVisible();return this.center.find(t=>!t.hasCheckbox&&!t.isDetailToggle)??e.find(t=>!t.hasCheckbox&&!t.isDetailToggle)??e[0]}paneOf(e){return e.pinned==="left"?"left":e.pinned==="right"?"right":"center"}computeLayout(e){this.viewportWidth=e;let t=0;for(let c of[...this.left,...this.right])c.currentWidth=N(c.manualWidth??c.contentWidth??c.colDef.width??150,this.j(c)),t+=c.currentWidth;let r=Math.max(0,e-t),o=[],i=[];for(let c of this.center)(c.colDef.suppressSizeToFit||c.manualWidth!=null?i:o).push(c);let s=0;for(let c of i)c.currentWidth=N(c.manualWidth??c.contentWidth??c.colDef.width??150,this.j(c)),s+=c.currentWidth;let a=o.map(c=>this.j(c)),l=Math.max(0,r-s),d=this.core.options.columnLayout==="fit"?Ge(a,l):Or(a,l);o.forEach((c,u)=>{c.currentWidth=d[u]})}j(e){let t=e.colDef;return{width:e.manualWidth??e.contentWidth??t.width,minWidth:t.minWidth,maxWidth:t.maxWidth,flex:e.manualWidth==null?e.flex??void 0:void 0}}setColumnWidth(e,t){return le(t)?(e.manualWidth=N(t,this.j(e)),e.flex=null,!0):!1}setContentWidth(e,t){return le(t)?(e.resetWidth(),e.contentWidth=N(t,this.j(e)),!0):!1}setColumnVisibility(e,t){let r=this.getColumn(e);!r||r.hide===!t||(r.hide=!t,this.he())}moveColumn(e,t){let r=this.getColumn(e);if(!r)return!1;let o=this.paneOf(r),i=u=>r.parentGroup?!0:this.paneOf(u)===o,s=r.parentGroup?r.parentGroup.children:this.E,a=s.filter(u=>u instanceof W&&!u.hide&&i(u)),l=a.indexOf(r);if(l<0)return!1;a.splice(l,1);let d=Math.max(0,Math.min(t,a.length));a.splice(d,0,r);let c=[];return s.forEach((u,h)=>{u instanceof W&&!u.hide&&i(u)&&c.push(h)}),c.length!==a.length?!1:(c.forEach((u,h)=>{s[u]=a[h]}),this.columns=this.Ze(this.E),this.he(),!0)}setColumnPinned(e,t){let r=this.getColumn(e);!r||!r.movable||(r.pinned=t,this.he())}getColumnState(){return this.columns.map(e=>({colId:e.id,hide:e.hide,width:e.manualWidth??e.currentWidth,flex:e.flex,widthMode:e.manualWidth==null?"auto":"manual",contentWidth:e.contentWidth??void 0,pinned:e.pinned}))}applyColumnState(e){let t=new Map(e.map(r=>[r.colId,r]));for(let r of this.columns){let o=t.get(r.id);o&&this.Ln(r,o)}this.Pn(e),this.he()}Ln(e,t){typeof t.hide=="boolean"&&(e.hide=t.hide),t.widthMode==="auto"?(e.resetWidth(),le(t.flex)&&(e.flex=t.flex)):le(t.flex)?(e.flex=t.flex,e.manualWidth=null):le(t.width)&&(e.manualWidth=N(t.width,this.j(e)),e.flex=null),le(t.contentWidth)&&(e.contentWidth=N(t.contentWidth,this.j(e))),e.movable&&(t.pinned==="left"||t.pinned==="right"||t.pinned===null)&&(e.pinned=t.pinned)}Pn(e){let t=new Map;e.forEach((o,i)=>t.set(o.colId,i));let r=o=>o.pinned==="left"?"left":o.pinned==="right"?"right":"center";for(let o of["left","center","right"]){let i=this.E.filter(d=>d instanceof W&&!d.hide&&d.parentGroup===null&&r(d)===o);if(i.length<2)continue;let s=i.filter(d=>d.movable),a=s.slice().sort((d,c)=>(t.get(d.id)??Number.MAX_SAFE_INTEGER)-(t.get(c.id)??Number.MAX_SAFE_INTEGER));if(a.every((d,c)=>d===s[c]))continue;let l=[];this.E.forEach((d,c)=>{d instanceof W&&!d.hide&&d.parentGroup===null&&r(d)===o&&d.movable&&l.push(c)}),l.forEach((d,c)=>{this.E[d]=a[c]})}this.columns=this.Ze(this.E)}resetColumnState(){for(let e of this.columns){e.resetWidth(),e.hide=e.colDef.hide??!1;let t=e.colDef.pinned;e.pinned=t===!0?"left":t===!1||t==null?null:t}this.he()}getSortModel(){return this.sortModel.map(e=>({...e}))}applySortModel(e){if(!e||e.length===0){this.sortModel=[];return}this.sortModel=e.filter(t=>this.columns.some(r=>r.id===t.colId)&&(t.direction==="asc"||t.direction==="desc")).map(t=>({colId:t.colId,direction:t.direction}))}cycleSort(e,t){let r=[...this.sortModel],o=r.findIndex(l=>l.colId===e.id),i=o>=0?r[o].direction:null,s=i===null?"asc":i==="asc"?"desc":null;t&&this.core.options.multiSort?s===null?o>=0&&r.splice(o,1):o>=0?r[o]={colId:e.id,direction:s}:r.push({colId:e.id,direction:s}):(r.length=0,s&&r.push({colId:e.id,direction:s})),this.sortModel=r}};function Vr(n){return n==null?"":String(n).toLowerCase()}function ni(n,e,t){let r=Vr(n),o=i=>{let s=(i.value??"").toLowerCase();switch(i.match){case"contains":return r.includes(s);case"notContains":return!r.includes(s);case"equals":return r===s;case"notEquals":return r!==s;case"startsWith":return r.startsWith(s);case"endsWith":return r.endsWith(s);case"blank":return r==="";case"notBlank":return r!=="";default:return!0}};return e.length===0||(t==="or"?e.some(o):e.every(o))}function ii(n,e,t){switch(t.match){case"equals":return n===e;case"notEquals":return n!==e;case"lessThan":return n<e;case"lessThanOrEqual":return n<=e;case"greaterThan":return n>e;case"greaterThanOrEqual":return n>=e;case"inRange":return n>=e&&n<=(t.value2??e);default:return!0}}function si(n,e){let t=n==null||n==="";if(e.match==="blank")return t;if(e.match==="notBlank")return!t;if(t)return!1;let r=typeof n=="number"?n:Number(n);if(Number.isNaN(r))return!1;let o=e.value;return o==null||Number.isNaN(o)?!1:ii(r,o,e)}function ai(n,e,t){let r=o=>si(n,o);return e.length===0||(t==="or"?e.some(r):e.every(r))}function qt(n){if(n==null||n==="")return null;if(n instanceof Date)return isNaN(n.getTime())?null:n.getTime();if(typeof n=="number")return n;let e=Date.parse(String(n));return isNaN(e)?null:e}function li(n,e,t){let r=qt(n),o=i=>{let s=r==null;if(i.match==="blank")return s;if(i.match==="notBlank")return!s;if(s)return!1;let a=r,l=i.value!=null?qt(i.value):null;if(l==null)return!1;switch(i.match){case"equals":return a===l;case"notEquals":return a!==l;case"lessThan":return a<l;case"greaterThan":return a>l;case"inRange":{let d=i.value2!=null?qt(i.value2):null;return d!=null?a>=l&&a<=d:a>=l}default:return!0}};return e.length===0||(t==="or"?e.some(o):e.every(o))}function di(n,e){return e.length===0?!0:e.some(t=>t==null&&n==null||t===n)}function Br(n,e){let t=e.type!=="set"&&e.operator==="or"?"or":"and";switch(e.type){case"text":return ni(n,e.conditions,t);case"number":return ai(n,e.conditions,t);case"date":return li(n,e.conditions,t);case"set":return di(n,e.values);default:return!0}}function zr(n,e,t){if(n.kind==="condition"){let o=e.get(n.colId);return o?i=>Br(t(i,o),n.filter):()=>!0}let r=n.children.map(o=>zr(o,e,t));return o=>{let i=n.operator==="or"?r.some(s=>s(o)):r.every(s=>s(o));return n.not?!i:i}}function Ut(n,e,t,r,o){let i=new Map(n.map(d=>[d.id,d])),s=Object.entries(e).flatMap(([d,c])=>{let u=i.get(d);return u?[{column:u,filter:c}]:[]}),a=t?zr(t.root,i,o):()=>!0,l=r?.trim().toLowerCase().split(/\s+/).filter(Boolean)??[];return d=>!s.every(({column:c,filter:u})=>Br(o(d,c),u))||!a(d)?!1:l.every(c=>n.some(u=>Vr(o(d,u)).includes(c)))}var _r=typeof Intl<"u"?new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}):null;function ci(n,e){let t=n==null||n==="",r=e==null||e==="";return!t&&!r?null:t&&r?0:t?1:-1}function ui(n,e){let t=Number.isNaN(n),r=Number.isNaN(e);return t||r?t===r?0:t?1:-1:n-e}function hi(n,e){return n===e?0:n?1:-1}function Fe(n,e){let t=ci(n,e);if(t!==null)return t;if(typeof n=="number"&&typeof e=="number")return ui(n,e);if(n instanceof Date&&e instanceof Date)return n.getTime()-e.getTime();if(typeof n=="boolean"&&typeof e=="boolean")return hi(n,e);let r=String(n),o=String(e);return _r?_r.compare(r,o):r.localeCompare(o)}function jt(n,e,t,r){let o=new Map(t.map(a=>[a.id,a])),i=e.flatMap(a=>{let l=o.get(a.colId);return l?[{column:l,compare:l.colDef.comparator??Fe,direction:a.direction}]:[]}),s=n.map(a=>({node:a,values:i.map(({column:l})=>r(a,l))}));return s.sort((a,l)=>{for(let d=0;d<i.length;d++){let c=i[d],u=c.compare(a.values[d],l.values[d],a.node,l.node);if(u!==0)return c.direction==="asc"?u:-u}return 0}),s.map(({node:a})=>a)}function Oe(n){return n.filter(e=>typeof e=="number"&&!isNaN(e))}var Yt={sum:n=>Oe(n).reduce((e,t)=>e+t,0),avg:n=>{let e=Oe(n);return e.length===0?null:e.reduce((t,r)=>t+r,0)/e.length},count:n=>n.length,min:n=>{let e=Oe(n);return e.length===0?null:Math.min(...e)},max:n=>{let e=Oe(n);return e.length===0?null:Math.max(...e)},first:n=>n.length>0?n[0]:null,last:n=>n.length>0?n[n.length-1]:null};function He(n){let e={...Yt,...n??{}};return t=>e[t]}function de(n){if(n.reason instanceof Error)return n.reason;let e=new Error(typeof n.reason=="string"?n.reason:"Block request aborted");return e.name="AbortError",e}function Ve(n){return Number.isFinite(n)?Math.max(1,Math.trunc(n)):1}var Be=class{constructor(e,t,r=4){this.maxBlocks=e;this.onEvict=t;this.maxConcurrentRequests=r;this.T=new Map;this.g=new Map;this.Kr=0;this.Y=0;this.hitCount=0;this.missCount=0;this.evictionCount=0;this.et=0;this.tt=new Set;this.maxBlocks=Ve(e),this.maxConcurrentRequests=Ve(r)}configure(e,t=this.maxConcurrentRequests){this.maxBlocks=Ve(e),this.maxConcurrentRequests=Ve(t),this.Ut(),this.rt()}retain(e){this.tt=e,this.Ut()}peek(e){let t=this.T.get(e);if(t)return t.touchedAt=++this.Kr,t}has(e){return this.T.has(e)}load(e,t,r,o=0){if(r?.aborted)return Promise.reject(de(r));let i=this.peek(e);if(i)return this.hitCount++,Promise.resolve(i);let s=this.g.get(e);if(s)return this.hitCount++,s.priority=Math.max(s.priority,o),this.rt(),this.qr(e,s,r);this.missCount++;let a=new AbortController,l,d,c=new Promise((p,m)=>{l=p,d=m}),u={controller:a,promise:c,consumers:0,loader:t,priority:o,state:"queued",resolve:l,reject:d};this.g.set(e,u);let h=this.qr(e,u,r);return this.rt(),h}purge(){this.Y++,this.tt.clear();for(let e of this.g.values())e.controller.abort(),e.state==="queued"&&e.reject(de(e.controller.signal));this.g.clear();for(let[e,t]of this.T)this.onEvict?.(e,t);this.T.clear()}snapshot(){let e=0,t=0;for(let r of this.T.values())e+=r.rows.length;for(let r of this.g.values())r.state==="active"&&t++;return{cachedBlockCount:this.T.size,loadingBlockCount:this.g.size,activeRequestCount:t,queuedRequestCount:Math.max(0,this.g.size-t),cachedRowCount:e,hitCount:this.hitCount,missCount:this.missCount,evictionCount:this.evictionCount}}rt(){for(;this.et<this.maxConcurrentRequests;){let e,t;for(let[r,o]of this.g)o.state!=="queued"||o.controller.signal.aborted||(!t||o.priority>t.priority)&&(e=r,t=o);if(e==null||!t)return;this.Gn(e,t)}}Gn(e,t){t.state="active",this.et++;let r=this.Y;this.Nn(t).then(o=>{r===this.Y&&!t.controller.signal.aborted&&(this.T.set(e,{rows:o.rows,...o.lastRow==null?{}:{lastRow:o.lastRow},touchedAt:++this.Kr}),this.Ut()),t.resolve(o)},t.reject).finally(()=>{this.et=Math.max(0,this.et-1),this.g.get(e)===t&&this.g.delete(e),this.rt()})}Nn(e){let{signal:t}=e.controller;return t.aborted?Promise.reject(de(t)):new Promise((r,o)=>{let i=()=>o(de(t));t.addEventListener("abort",i,{once:!0}),Promise.resolve().then(()=>e.loader(t)).then(r,o).finally(()=>{t.removeEventListener("abort",i)})})}qr(e,t,r){return t.consumers++,new Promise((o,i)=>{let s=!1,a=d=>{s||(s=!0,r?.removeEventListener("abort",l),t.consumers=Math.max(0,t.consumers-1),d())},l=()=>a(()=>{t.consumers===0&&this.g.get(e)===t&&(this.g.delete(e),t.controller.abort(r?.reason),t.state==="queued"&&t.reject(de(t.controller.signal))),i(de(r))});r?.addEventListener("abort",l,{once:!0}),t.promise.then(d=>a(()=>o(d)),d=>a(()=>i(d instanceof Error?d:new Error(String(d??"Block request failed")))))})}Ut(){let e=Math.max(this.maxBlocks,this.tt.size+1);for(;this.T.size>e;){let t=-1,r=Number.POSITIVE_INFINITY;for(let[i,s]of this.T)this.tt.has(i)||s.touchedAt<r&&(t=i,r=s.touchedAt);if(t<0)return;let o=this.T.get(t);this.T.delete(t),this.evictionCount++,o&&this.onEvict?.(t,o)}}};function we(n,e){if(n==null||typeof n!="object")return;let t=n[e];return Array.isArray(t)?t:void 0}var ze=class{constructor(e){this.core=e;this.all=[];this.h=[];this.p=new Map;this.y=[];this.e=new Map;this.filterModel={};this.advancedFilterModel=null;this.quickFilter=null;this.a=new Set;this.f=new Set;this.pe=[];this.Me=new Map;this.Ur=[];this.l=null;this.fe=!1;this.jr=!1;this.I=0;this.ot=null;this.ke=null;this.nt=null;this.it=new WeakMap;this.Ie=new WeakMap;this.N=new Map;this.Ae=new Map;this.Le=0;this.st=0;this.F=new Map;this.X=new Map;this.at=new Set;this.J=new Map;this.O=new Be(12,e=>this.Yr(e));this.Pe=0;this.lt=null;this.jt=!1;this.Xr=0;this.v=[];this.page=1;this.pageSize=20;this.advancedFilterModel=O(e.options.advancedFilterModel)}resolveRowId(e,t,r){let o=this.core.options.resolveRowId;if(!o)return r;try{let i=o({data:e,index:t,api:this.core.getApi()});if(typeof i=="string"&&i.length>0)return i;this.core.reportError(new Error("rowKey must resolve to a non-empty identifier"),"rowKey",{index:t})}catch(i){this.core.reportError(i,"rowKey",{index:t})}return r}get isTree(){return this.core.options.treeData}get isInfinite(){return this.core.options.datasource!=null}get isBlockDatasource(){return this.isInfinite&&this.core.options.datasourceMode==="block"}getDisplayTotalCount(){if(this.isInfinite){if(this.isBlockDatasource)return this.me();let e=Math.max(0,this.y.length-this.all.length);return(this.l??this.all.length)+e}return this.y.length}getDisplayRevision(){return this.Le}getDataRevision(){return this.st}isLoadingInfinite(){return this.jr}startInfinite(e){return!this.isInfinite||e?.aborted?Promise.resolve():(this.st++,this.core.cancelPendingInput(),this.core.getApi().editing.stop({cancel:!0}),this.core.changeTracker.clear(),this.dt(),this.l=null,this.fe=!1,this.all=[],this.h=[],this.e.clear(),this.a.clear(),this.core.undoService.clear(),this.refreshPipeline(),this.core.requestUpdate({data:!0}),this.isBlockDatasource?(this.O.configure(this.core.options.maxBlocksInCache,this.core.options.datasourceMaxConcurrentRequests),this.ct(0,e)):this.Jr(0,void 0,e))}reloadInfinite(e){return this.isInfinite?this.startInfinite(e):Promise.resolve()}setInfiniteLoading(e){this.jr=e,this.core.skeleton.setInfiniteLoading(e,this.core.getLocaleText("loading"))}Jr(e,t,r){if(!this.isInfinite||this.fe||this.l!=null&&e>=this.l)return Promise.resolve();let o=this.core.options.datasource,i=this.core.options.blockSize,s=t??e+i;if(s<=e)return Promise.resolve();let a=++this.I,l=new AbortController,d=()=>l.abort(r?.reason);return r?.addEventListener("abort",d,{once:!0}),this.ot=l,this.fe=!0,this.setInfiniteLoading(!0),new Promise(c=>{let u=!1,h=0;this.nt=c;let p=g=>{u||(u=!0,r?.removeEventListener("abort",d),a===this.I&&(this.fe=!1,this.ot=null,this.nt=null,this.setInfiniteLoading(!1),g!=null&&g?.name!=="AbortError"&&this.core.reportError(g,"datasource.getRows",{startRow:e,endRow:s})),c())},m=()=>{if(u||a!==this.I||l.signal.aborted||this.core.isDestroyed()){p();return}h++;let g=!1,y=v=>{if(!(g||u)){if(g=!0,a!==this.I||l.signal.aborted||this.core.isDestroyed()){p();return}if(h<=this.core.options.datasourceRetryCount){let b=this.Qr(h);this.ke=setTimeout(()=>{this.ke=null,m()},b);return}p(v??new Error("Datasource request failed"))}};try{let v=o.getRows({startRow:e,endRow:s,sortModel:this.core.columnModel.getSortModel(),filterModel:this.getFilterModel(),advancedFilterModel:this.getAdvancedFilterModel(),quickFilterText:this.quickFilter,signal:l.signal,onSuccess:(b,T)=>{if(g||u)return;if(g=!0,a!==this.I||this.core.isDestroyed()||l.signal.aborted){p();return}let x=b??[];typeof T=="number"&&T>=0?this.l=T:x.length<s-e&&(this.l=e+x.length);let w=this.all.length===0;this.Fn(x),p(),this.refreshPipeline(),this.core.requestUpdate({data:!0}),w&&this.core.relayout(),this.core.headerRenderer.refreshSelectAllCheckbox()},fail:y});v&&typeof v.catch=="function"&&v.catch(y)}catch(v){y(v)}};m()})}dt(){this.I++,this.ke!=null&&clearTimeout(this.ke),this.ke=null,this.ot?.abort(),this.ot=null,this.fe=!1,this.setInfiniteLoading(!1),this.nt?.(),this.nt=null,this.O.purge(),this.F.clear(),this.X.clear(),this.at.clear();for(let[e,t]of this.J)this.e.get(e)===t&&this.e.delete(e);this.J.clear()}Fn(e){for(let t of e){if(t==null)continue;let r=this.all.length,o=this.resolveRowId(t,r,`inf-${this.core.nextId()}`);if(this.e.has(o)){this.core.reportError(new Error(`Duplicate row id: ${o}`),"datasource.getRows",{rowId:o});continue}let i={id:o,data:t,rowIndex:-1,selected:this.core.selectionService.isSelected(o)};this.all.push(i),this.e.set(o,i),this.h.push(i)}}ct(e,t,r=0){if(!this.isBlockDatasource||e<0)return Promise.resolve();if(t?.aborted)return Promise.reject(this.Zr(t.reason));let o=this.core.options.blockSize,i=this.I,s=e*o;if(s>=this.me())return Promise.resolve();let a=this.l==null?s+o:Math.min(this.l,s+o),l=this.O.load(e,d=>this.On(s,a,d),t,r);return this.setInfiniteLoading(this.all.length===0&&this.O.snapshot().loadingBlockCount>0),l.then(d=>{i!==this.I||t?.aborted||this.core.isDestroyed()||!this.isBlockDatasource||!this.O.has(e)||this.at.has(e)||(this.Hn(e,d),this.refreshPipeline(),this.core.requestUpdate({data:!0}),this.core.headerRenderer.refreshSelectAllCheckbox())}).catch(d=>{throw d?.name!=="AbortError"&&this.core.reportError(d,"datasource.getRows",{startRow:s,endRow:a}),d}).finally(()=>{i===this.I&&this.setInfiniteLoading(this.all.length===0&&this.O.snapshot().loadingBlockCount>0)})}On(e,t,r){let o=this.core.options.datasource;return new Promise((i,s)=>{let a=0,l=null,d=!1,c=p=>{d||(d=!0,l!=null&&clearTimeout(l),r.removeEventListener("abort",u),s(p instanceof Error?p:new Error(typeof p=="string"?p:"Datasource request failed")))},u=()=>c(this.Zr(r.reason));r.addEventListener("abort",u,{once:!0});let h=()=>{if(d)return;if(r.aborted||this.core.isDestroyed()){u();return}a++;let p=!1,m=g=>{if(!(p||d)){if(p=!0,r.aborted||this.core.isDestroyed()){u();return}if(a<=this.core.options.datasourceRetryCount){let y=this.Qr(a);l=setTimeout(()=>{l=null,h()},y)}else c(g)}};try{let g=o.getRows({startRow:e,endRow:t,sortModel:this.core.columnModel.getSortModel(),filterModel:this.getFilterModel(),advancedFilterModel:this.getAdvancedFilterModel(),quickFilterText:this.quickFilter,signal:r,onSuccess:(y,v)=>{p||d||(p=!0,d=!0,r.removeEventListener("abort",u),i({rows:y??[],...typeof v=="number"&&v>=0?{lastRow:v}:{}}))},fail:m});g&&typeof g.catch=="function"&&g.catch(m)}catch(g){m(g)}};h()})}Hn(e,t){let r=this.core.options.blockSize,o=e*r;this.Yr(e),typeof t.lastRow=="number"&&t.lastRow>=0?this.l=t.lastRow:t.rows.length<r&&(this.l=o+t.rows.length),t.rows.forEach((i,s)=>{if(i==null)return;let a=o+s;if(this.l!=null&&a>=this.l)return;let l=this.resolveRowId(i,a,`block-${a}`),d=this.J.get(l),c=this.e.get(l);if(c&&c!==d&&c.rowIndex!==a){this.core.reportError(new Error(`Duplicate row id: ${l}`),"datasource.getRows",{rowId:l});return}let u=d??{id:l,data:i,rowIndex:a,selected:this.core.selectionService.isSelected(l)};u.rowIndex=a,u.selected=this.core.selectionService.isSelected(l),this.J.delete(l),this.F.set(a,u),this.X.delete(a),this.e.set(l,u),this.Ie.set(u,a+1)}),this.eo(),this.at.add(e)}Yr(e){this.at.delete(e);let t=this.core.options.blockSize,r=e*t,o;for(let i=r;i<r+t;i++){let s=this.F.get(i);s&&(o??(o=new Set(this.core.changeTracker.getDirtyRowIds())),this.F.delete(i),o.has(s.id)?this.J.set(s.id,s):this.e.get(s.id)===s&&this.e.delete(s.id))}this.eo()}eo(){this.all=[...this.F.entries()].sort(([e],[t])=>e-t).map(([,e])=>e),this.h=this.all}me(){if(this.l!=null)return this.l;if(this.core.options.datasourceRowCount!=null)return this.core.options.datasourceRowCount;if(this.F.size===0)return this.core.options.blockSize;let e=0;for(let t of this.F.keys())e=Math.max(e,t+1);return e+this.core.options.blockSize}Vn(e){let t=this.X.get(e);if(!t&&(t={id:`__mach_loading_${e}`,data:null,rowIndex:e,selected:!1,loading:!0},this.X.set(e,t),this.X.size>2e3)){let r=this.X.keys().next().value;r!=null&&this.X.delete(r)}return t}Zr(e){if(e instanceof Error)return e;let t=new Error(typeof e=="string"?e:"Operation aborted");return t.name="AbortError",t}Qr(e){let t=Math.min(this.core.options.datasourceRetryDelay*2**Math.max(0,e-1),3e4),r=this.core.options.datasourceRetryJitter;return Math.max(0,Math.round(t*(1+(Math.random()*2-1)*r)))}checkInfiniteScroll(e){if(this.isBlockDatasource){this.Bn(e);return}if(!this.isInfinite||this.fe)return;let t=this.all.length;if(this.l!=null&&t>=this.l)return;let r=this.core.options.infiniteBufferRows;if(e+r<t&&e<t)return;let o=this.core.options.blockSize,i=this.l==null?t+o:Math.min(this.l,t+o);this.Jr(t,i)}Bn(e){if(e<0)return;this.to();let t=this.core.options.blockSize,r=Math.floor(e/t),o=Math.floor(this.core.bodyRenderer.getRenderedRowRange().first/t),i=this.core.options.blockPrefetch,s=r<this.Xr?-1:1;this.Xr=r;for(let a=o;a<r;a++)this.ct(a,void 0,i+2).catch(()=>{});for(let a=0;a<=i;a++){let l=a===0?[r]:[r+s*a,r-s*a];for(let d of l)d<0||d*t>=this.me()||this.ct(d,void 0,i-a+1).catch(()=>{})}}onServerParamsChanged(){return this.reloadInfinite().catch(()=>{})}onDatasourceChanged(){return this.dt(),this.isInfinite?this.startInfinite().catch(()=>{}):(this.l=null,this.setRowData(this.core.options.rowData),this.core.requestUpdate({data:!0}),Promise.resolve())}destroy(){this.dt(),this.ro(),this.Yt(),this.all=this.h=this.y=this.v=[],this.e.clear(),this.p.clear(),this.Me.clear(),this.Ur=[],this.a.clear(),this.f.clear(),this.pe=[],this.core.options.dataProcessor?.destroy?.()}ensureRowsLoaded(e,t,r){if(!this.isBlockDatasource)return Promise.resolve();this.to();let o=this.core.options.blockSize,i=Math.max(0,Math.trunc(e)),s=Math.min(this.me(),Math.max(i,Math.trunc(t))),a=Math.floor(i/o),l=Math.max(a,Math.floor(Math.max(i,s-1)/o)),d=[];for(let c=a;c<=l;c++)d.push(this.ct(c,r,100));return Promise.all(d).then(()=>{})}purgeDatasourceCache(){this.isBlockDatasource&&(this.st++,this.core.cancelPendingInput(),this.core.getApi().editing.stop({cancel:!0}),this.core.changeTracker.clear(),this.dt(),this.core.undoService.clear(),this.all=[],this.h=[],this.e.clear(),this.refreshPipeline(),this.core.requestUpdate({data:!0}))}getDatasourceCacheSnapshot(){return this.O.snapshot()}to(){let e=new Set(this.core.changeTracker.getDirtyRowIds());for(let[l,d]of this.J)e.has(l)||(this.J.delete(l),this.e.get(l)===d&&this.e.delete(l));let t=this.core.options.blockSize,r=new Set,{first:o,lastExcl:i}=this.core.bodyRenderer.getRenderedRowRange();for(let l=o;l<i;l+=t)r.add(Math.floor(l/t));i>o&&r.add(Math.floor((i-1)/t));let s=this.core.bodyRenderer.focusedCell;s&&r.add(Math.floor(s.rowIndex/t));let a=this.core.editingService.getEditingRowIndex();a!=null&&r.add(Math.floor(a/t)),this.O.retain(r)}setRowData(e){this.st++,this.core.cancelPendingInput(),this.core.getApi().editing.stop({cancel:!0}),this.ro(),this.core.changeTracker.clear();let t=this.core.options.resolveRowId,r=this.core.options.childrenKey,o=[],i=[],s=new Map,a=new Map,l=0,d=(c,u,h)=>{let p=l++,m=this.resolveRowId(c,p,`auto-${p}`);if(s.has(m))return this.core.reportError(new Error(`Duplicate row id: ${m}`),"rowData",{rowId:m,index:p}),null;let g=this.isTree?we(c,r):void 0,y={id:m,data:c,rowIndex:-1,selected:!1,treeChildrenLoaded:Array.isArray(g)};if(this.it.set(y,u),o.push(y),s.set(m,y),h!=null){let v=a.get(h)??[];v.push(m),a.set(h,v)}else i.push(y);if(this.isTree&&Array.isArray(g))for(let v of g)v!=null&&d(v,u+1,m);return y};(e??[]).forEach(c=>{c!=null&&d(c,0,null)}),this.all=o,this.h=i,this.p=a,this.e=s,this.core.undoService.clear();for(let c of[...this.a])s.has(c)||this.a.delete(c);if(this.core.options.defaultExpandAll)for(let c of o)this.getChildrenCount(c.id)>0&&this.a.add(c.id);this.core.selectionService.onRowsRebuilt(t!=null),this.refreshPipeline()}getChildrenIds(e){return this.p.get(e)??[]}getChildrenCount(e){return this.p.get(e)?.length??0}hasChildren(e){return this.getChildrenCount(e)>0}isTreeRowLoading(e){return this.e.get(e)?.treeLoading===!0}ro(){for(let e of this.N.values())e.abort();this.N.clear(),this.Ae.clear()}loadTreeChildren(e,t=!1){let r=this.e.get(e),o=this.core.options.loadTreeChildren;if(!this.isTree||!r?.data||!o)return Promise.resolve([]);if(!t&&r.treeChildrenLoaded)return Promise.resolve(this.getChildrenIds(e).flatMap(l=>{let d=this.e.get(l)?.data;return d==null?[]:[d]}));let i=this.Ae.get(e);if(i&&!t)return i;this.N.get(e)?.abort();let s=new AbortController;this.N.set(e,s),r.treeLoading=!0,r.treeLoadError=void 0,this.core.requestUpdate({data:!0});let a=Promise.resolve().then(()=>o({data:r.data,node:r,api:this.core.getApi(),signal:s.signal})).then(l=>{if(s.signal.aborted||this.core.isDestroyed())return[];if(!Array.isArray(l))throw new TypeError("[MachTable] loadTreeChildren must resolve to an array.");return this.zn(r,l),r.treeChildrenLoaded=!0,r.treeLoadError=void 0,this.core.emit("treeChildrenLoaded",{rowId:e,rowNode:r,children:l}),l}).catch(l=>{if(s.signal.aborted||l?.name==="AbortError")return[];throw r.treeLoadError=l,r.treeChildrenLoaded=!1,this.core.reportError(l,"treeData.loadChildren",{rowId:e}),this.core.emit("treeChildrenLoadFailed",{rowId:e,rowNode:r,error:l}),l}).finally(()=>{this.N.get(e)===s&&(this.N.delete(e),this.Ae.delete(e),r.treeLoading=!1,this.core.requestUpdate({data:!0}))});return this.Ae.set(e,a),a}zn(e,t){let r=new Set,o=[...this.getChildrenIds(e.id)];for(;o.length>0;){let s=o.pop();r.has(s)||(r.add(s),o.push(...this.getChildrenIds(s)))}this._n(t,r);for(let s of r)this.N.get(s)?.abort(),this.N.delete(s),this.Ae.delete(s),this.p.delete(s),this.e.delete(s),this.a.delete(s);this.p.delete(e.id);let i=this.getTreeDepth(e)+1;for(let s of t)s!=null&&this.Xt(e,s,i);this.oo(),this.core.selectionService.onRowsRebuilt(this.core.options.resolveRowId!=null),this.refreshPipeline(),this.core.requestUpdate({data:!0})}_n(e,t){let r=this.core.options.resolveRowId,o=r?new Set([...this.e.keys()].filter(l=>!t.has(l))):null,i=new WeakSet,s=[...e],a=0;for(;s.length>0;){let l=s.pop();if(l==null)continue;if(typeof l=="object"){if(i.has(l))throw new TypeError("[MachTable] Lazy tree children contain a cyclic object graph.");i.add(l)}if(r&&o){let c=r({data:l,index:a++,api:this.core.getApi()});if(typeof c!="string"||c.length===0)throw new TypeError("[MachTable] rowKey must resolve to a non-empty identifier for lazy tree children.");if(o.has(c))throw new Error(`Duplicate row id: ${c}`);o.add(c)}let d=we(l,this.core.options.childrenKey);d&&s.push(...d)}}applyTransaction(e,t=!0){let r=this.core.options.resolveRowId,o=[],i=[];if(e.remove?.length){let a=new Set,l=new Set,d=u=>{if(r){let p=[this.resolveRowId(u,-1,`__missing_remove_${this.core.nextId()}`)];for(;p.length>0;){let m=p.pop();if(!a.has(m)){a.add(m);for(let g of this.p.get(m)??[])p.push(g)}}}else{let h=[u];for(;h.length>0;){let p=h.pop();l.add(p);let m=this.isTree?we(p,this.core.options.childrenKey):void 0;if(m)for(let g of m)h.push(g)}}};e.remove.forEach(d),this.all=this.all.filter(u=>{let h=a.has(u.id)||u.data!=null&&l.has(u.data);return h&&(i.push(u.id),this.e.delete(u.id),this.p.delete(u.id)),!h});let c=new Set(this.all);this.h=this.h.filter(u=>c.has(u))}if(e.update?.length)for(let a of e.update){let l;r?l=this.e.get(this.resolveRowId(a,-1,`__missing_update_${this.core.nextId()}`)):l=this.all.find(d=>d.data===a),l&&(l.data=a,i.push(l.id),this.core.bodyRenderer.invalidateRowHeight(l),o.push(l))}if(e.add?.length){let a=e.addIndex!=null?Math.max(0,Math.min(e.addIndex,this.h.length)):this.h.length,l=[];e.add.forEach((d,c)=>{let u=this.resolveRowId(d,a+c,`add-${this.core.nextId()}`);if(this.e.has(u)){this.core.reportError(new Error(`Duplicate row id: ${u}`),"transaction.add",{rowId:u});return}let h={id:u,data:d,rowIndex:-1,selected:!1};this.e.set(u,h),this.it.set(h,0);let p=this.isTree?we(d,this.core.options.childrenKey):void 0;if(p)for(let m of p)m!=null&&this.Xt(h,m,1);l.push(h)}),this.h.splice(a,0,...l),this.oo()}let s=this.Wn(e);return t&&(s?this.refreshPipeline():o.length>0&&this.no()),this.core.changeTracker.clearRows(i),{pipelineChanged:s,updatedRowIds:o.map(a=>a.id)}}applyTransactions(e){if(e.length===0)return{pipelineChanged:!1,updatedRowIds:[]};let t=!1,r=new Set;for(let o of e){let i=this.applyTransaction(o,!1);t||(t=i.pipelineChanged);for(let s of i.updatedRowIds)r.add(s)}return t?this.refreshPipeline():r.size>0&&this.no(),{pipelineChanged:t,updatedRowIds:[...r]}}Wn(e){return e.add?.length||e.remove?.length?!0:e.update?.length?this.isTree||this.core.options.masterDetail||this.core.columnModel.getRowGroupColumns().length>0||!this.core.options.manualFiltering&&this.isFilterPresent()||!this.core.options.manualSorting&&this.core.columnModel.getSortModel().length>0||this.core.options.getRowHeight?!0:this.core.columnModel.getOrderedVisible().some(t=>t.colDef.autoHeight===!0||t.colDef.autoRowSpan===!0||t.colDef.rowSpan!=null):!1}no(){this.core.emit("modelUpdated",{rowCount:this.v.length})}Xt(e,t,r){let o=this.resolveRowId(t,-1,`add-${this.core.nextId()}`);if(this.e.has(o)){this.core.reportError(new Error(`Duplicate row id: ${o}`),"transaction.add",{rowId:o});return}let i=we(t,this.core.options.childrenKey),s={id:o,data:t,rowIndex:-1,selected:!1,treeChildrenLoaded:Array.isArray(i)};this.e.set(o,s),this.it.set(s,r);let a=this.p.get(e.id)??[];if(a.push(s.id),this.p.set(e.id,a),!!i)for(let l of i)l!=null&&this.Xt(s,l,r+1)}oo(){this.all=[];let e=t=>{this.all.push(t),this.e.has(t.id)||this.e.set(t.id,t);for(let r of this.p.get(t.id)??[]){let o=this.e.get(r);o&&e(o)}};for(let t of this.h)e(t)}setFilterModel(e){let t=JSON.stringify(this.filterModel),r=new Set(this.core.columnModel.getColumns().map(o=>o.id));return this.filterModel=q(e,r),JSON.stringify(this.filterModel)!==t}getFilterModel(){return{...this.filterModel}}setAdvancedFilterModel(e){let t=new Set(this.core.columnModel.getColumns().map(i=>i.id)),r=O(e,t),o=JSON.stringify(this.advancedFilterModel);return this.advancedFilterModel=r,this.core.options.advancedFilterModel=r,JSON.stringify(r)!==o}getAdvancedFilterModel(){return O(this.advancedFilterModel)}setQuickFilter(e){let t=e!=null&&e.trim()!==""?e:null;return t===this.quickFilter?!1:(this.quickFilter=t,!0)}getQuickFilter(){return this.quickFilter}isFilterPresent(){return Object.keys(this.filterModel).length>0||this.advancedFilterModel!=null||this.quickFilter!=null}refreshPipeline(){let e=this.core.performanceMonitor.start(),t=this.core.columnModel.getOrderedVisible(),r=(s,a)=>this.core.getCellValue(s,a);if(this.isInfinite){this.$n(e);return}if(this.Kn(e))return;let o;if(this.isTree)o=this.qn(t,r);else{o=this.all,this.isFilterPresent()&&!this.core.options.manualFiltering&&(o=o.filter(Ut(t,this.filterModel,this.advancedFilterModel,this.quickFilter,r)));let a=this.core.columnModel.getSortModel();if(a.length>0&&!this.core.options.manualSorting)try{o=jt(o,a,t,r)}catch(d){this.core.reportError(d,"comparator",{sortModel:a})}let l=this.core.columnModel.getRowGroupColumns();if(l.length>0)o=this.Un(o,l);else if(this.core.options.masterDetail){let d=[];for(let c of o)d.push(c),this.a.has(c.id)&&this.isRowExpandable(c)&&d.push({id:`__detail__${c.id}`,data:c.data,rowIndex:-1,selected:!1,isDetail:!0,masterId:c.id});o=d}}for(let s of this.all)s.rowIndex=-1;let i=0;o.forEach((s,a)=>{s.rowIndex=a,!s.isDetail&&!s.isGroup&&(i++,this.Ie.set(s,i))}),this.v=o,this.ge(),this.so(r),this.core.emit("modelUpdated",{rowCount:o.length}),this.core.performanceMonitor.recordModel(e)}$n(e){this.all.forEach((t,r)=>{this.isBlockDatasource||(t.rowIndex=r),this.Ie.set(t,this.isBlockDatasource?t.rowIndex+1:r+1)}),this.y=this.all,this.v=this.all,this.Me.clear(),this.Le++,this.core.emit("modelUpdated",{rowCount:this.all.length}),this.core.performanceMonitor.recordModel(e)}Kn(e){let t=this.jt;return this.jt=!1,!t&&this.jn()?(this.Yn(e),!0):(this.Yt(),!1)}jn(){if(!this.core.options.dataProcessor||this.all.length<this.core.options.dataProcessorMinRows||this.isTree||this.core.options.masterDetail||this.core.columnModel.getRowGroupColumns().length>0)return!1;let e=!this.core.options.manualFiltering&&this.isFilterPresent(),t=!this.core.options.manualSorting&&this.core.columnModel.getSortModel().length>0;return e||t}Yn(e){this.Yt();let t=this.core.options.dataProcessor;if(!t)return;let r=++this.Pe,o=new AbortController;this.lt=o;let i=this.core.columnModel.getOrderedVisible(),s=this.all.flatMap(d=>d.data==null?[]:[{id:d.id,data:d.data}]),a=!this.core.options.manualFiltering,l=!this.core.options.manualSorting;Promise.resolve().then(()=>t.process({rows:s,columns:i.map(d=>({colId:d.id,...d.colDef.field?{field:d.colDef.field}:{}})),sortModel:l?this.core.columnModel.getSortModel():[],filterModel:a?this.getFilterModel():{},advancedFilterModel:a?this.getAdvancedFilterModel():null,quickFilterText:a?this.quickFilter:null,signal:o.signal})).then(d=>{if(r!==this.Pe||o.signal.aborted||this.core.isDestroyed())return;let c=new Set,u=[];for(let p of d.rowIds){if(c.has(p))continue;c.add(p);let m=this.e.get(p);m&&!m.isDetail&&!m.isGroup&&u.push(m)}for(let p of this.all)p.rowIndex=-1;u.forEach((p,m)=>{p.rowIndex=m,this.Ie.set(p,m+1)}),this.v=u,this.ge();let h=(p,m)=>this.core.getCellValue(p,m);this.so(h),this.core.emit("modelUpdated",{rowCount:u.length}),this.core.performanceMonitor.recordModel(e),this.core.requestUpdate({data:!0})}).catch(d=>{r!==this.Pe||o.signal.aborted||this.core.isDestroyed()||(this.core.reportError(d,"dataProcessor.process"),this.jt=!0,this.refreshPipeline(),this.core.requestUpdate({data:!0}))}).finally(()=>{r===this.Pe&&(this.lt=null)})}Yt(){this.Pe++,this.lt?.abort(),this.lt=null}get paginationActive(){return this.core.options.paginationEnabled&&!this.isInfinite}ge(){if(!this.paginationActive){this.y=this.v,this.Le++;return}let e=this.Ge(),t=this.getPageCount();if(this.page>t&&(this.page=t),this.page<1&&(this.page=1),this.core.options.paginationPage=this.page,this.core.options.paginationMode==="server"){this.v.forEach((i,s)=>{i.rowIndex=s}),this.y=this.v,this.Le++;return}let r=(this.page-1)*e,o=this.v.slice(r,r+e);o.forEach((i,s)=>{i.rowIndex=s}),this.y=o,this.Le++}Ge(){return this.pageSize=this.core.options.paginationPageSize,Math.max(1,this.pageSize)}getCurrentPage(){return this.paginationActive?this.page:1}getTotalRowCount(){return this.isInfinite?this.getDisplayTotalCount():this.paginationActive&&this.core.options.paginationMode==="server"?this.core.options.paginationTotal:this.v.length}getPageCount(){return this.paginationActive?Math.max(1,Math.ceil(this.getTotalRowCount()/this.Ge())):1}getPipelineRows(){return this.v}setPage(e,t=!1){if(!this.paginationActive)return;let r=this.getPageCount(),o=Math.max(1,Math.min(Math.round(e)||1,r));o!==this.page&&(this.page=o,this.core.options.paginationPage=o,this.ge(),this.core.requestUpdate({data:!0}),this.core.bodyRenderer.scrollToIndex(0,"top"),t||this.ut())}setPageSize(e){if(!this.paginationActive)return;let t=Math.max(1,Math.round(e)||this.Ge()),r=(this.page-1)*this.Ge();this.core.options.paginationPageSize=t,this.pageSize=t,this.page=Math.floor(r/t)+1,this.core.options.paginationPage=this.page,this.ge(),this.core.requestUpdate({data:!0}),this.ut()}restorePagination(e,t){this.pageSize=Math.max(1,Math.round(t)||1),this.core.options.paginationPageSize=this.pageSize,this.page=Math.max(1,Math.round(e)||1),this.core.options.paginationPage=this.page}setPaginationEnabled(e){this.core.options.paginationEnabled!==e&&(this.core.options.paginationEnabled=e&&!this.isInfinite,this.core.options.paginationEnabled&&(this.page=1),this.ge(),this.core.requestUpdate({data:!0}),this.ut())}onPaginationOptionsChanged(){this.paginationActive&&(this.page=this.core.options.paginationMode==="server"?this.core.options.paginationPage:1,this.ge(),this.core.requestUpdate({data:!0}),this.ut())}ut(){this.core.emit("paginationChanged",{page:this.getCurrentPage(),pageSize:this.Ge(),pageCount:this.getPageCount(),total:this.getTotalRowCount()})}qn(e,t){let r=this.core.options.manualSorting?[]:this.core.columnModel.getSortModel(),o=new Map,i=this.isFilterPresent()&&!this.core.options.manualFiltering,s=Ut(e,this.filterModel,this.advancedFilterModel,this.quickFilter,t),a=c=>{let u=o.get(c.id);if(u!==void 0)return u;let h=!0;if(i){h=s(c);for(let p of this.p.get(c.id)??[]){let m=this.e.get(p);m&&a(m)&&(h=!0)}}return o.set(c.id,h),h},l=[],d=c=>{let u=c;r.length>0&&(u=jt(c,r,e,t));for(let h of u)if(a(h)&&(l.push(h),this.a.has(h.id))){let p=(this.p.get(h.id)??[]).map(m=>this.e.get(m)).filter(m=>m!=null);d(p)}};return d(this.h),l}Xn(){let e=this.Ur,t=0;for(let r of this.y)!r.isDetail&&!r.isGroup&&(e[t++]=r);return e.length=t,e}Jn(e,t,r,o){let i=t.colDef.rowSpan;if(!i)return 1;try{let s=i({api:this.core.getApi(),colDef:t.colDef,column:t,node:e,data:e.data,value:r,rowIndex:e.rowIndex});return Math.max(1,Math.min(Math.round(s)||1,o))}catch(s){return this.core.reportError(s,"rowSpan",{colId:t.id,rowId:e.id}),1}}Qn(e,t,r,o,i){if(!r.colDef.autoRowSpan||o==null||o==="")return 1;let s=1;for(;t+s<e.length&&Fe(o,i(e[t+s],r))===0;)s++;return s}Zn(e,t,r){let o=new Int32Array(e.length),i=0;for(;i<e.length;){let s=e[i],a=r(s,t),l=t.colDef.rowSpan?this.Jn(s,t,a,e.length-i):this.Qn(e,i,t,a,r);o[i]=l;for(let d=1;d<l;d++)o[i+d]=-1;i+=l}return o}so(e){if(this.Me.clear(),this.isTree||this.core.options.masterDetail||this.core.columnModel.getRowGroupColumns().length>0)return;let t=this.core.columnModel.getOrderedVisible().filter(o=>o.colDef.rowSpan!=null||o.colDef.autoRowSpan===!0);if(t.length===0)return;let r=this.Xn();if(r.length!==0)for(let o of t)this.Me.set(o.id,this.Zn(r,o,e))}getSpanInfo(e){return this.Me.get(e)}getRowSeq(e){return this.Ie.get(e)??0}getTreeDepth(e){return this.it.get(e)??0}Un(e,t){let r=He(this.core.options.aggFuncs),o=this.core.columnModel.getAggColumns();this.pe=[];let i=a=>{let l={};for(let d of o){let c=r(d.colDef.aggFunc);if(c)try{l[d.id]=c(a.map(u=>this.core.getCellValue(u,d)))}catch(u){this.core.reportError(u,"aggFunc",{colId:d.id,aggFunc:d.colDef.aggFunc}),l[d.id]=null}}return l},s=(a,l,d)=>{if(l>=t.length)return{display:a,leaves:a};let c=t[l],u=new Map,h=[];for(let g of a){let y=this.core.getCellValue(g,c),v=y==null?"(\u7A7A)":String(y),b=u.get(v);b||(b=[],u.set(v,b),h.push(v)),b.push(g)}h.sort((g,y)=>g.localeCompare(y,void 0,{numeric:!0,sensitivity:"base"}));let p=[],m=[];for(let g of h){let y=u.get(g),v=`${d}/g${l}:${g}`;this.pe.push(v);let b=s(y,l+1,v),T={id:v,data:null,rowIndex:-1,selected:!1,isGroup:!0,groupLevel:l,groupKey:g,leafNodes:b.leaves,aggValues:i(b.leaves)};p.push(T),this.f.has(v)&&p.push(...b.display),m.push(...b.leaves)}return{display:p,leaves:m}};return s(e,0,"").display}isRowExpandable(e){if(this.isTree){if(this.hasChildren(e.id)||e.treeLoading)return!0;if(e.treeChildrenLoaded||!e.data||!this.core.options.loadTreeChildren)return!1;let r=this.core.options.isTreeRowExpandable;if(!r)return!1;try{return r({data:e.data,node:e,api:this.core.getApi()})}catch(o){return this.core.reportError(o,"isTreeRowExpandable",{rowId:e.id}),!1}}if(!this.core.options.masterDetail)return!1;let t=this.core.options.isRowExpandable;if(t)try{return t({data:e.data,node:e,api:this.core.getApi()})}catch(r){return this.core.reportError(r,"isRowExpandable",{rowId:e.id}),!1}return!0}isRowExpanded(e){return this.a.has(e)}getExpandedRowIds(){return[...this.a]}getExpandedGroupIds(){return[...this.f]}restoreExpansion(e,t){this.a=new Set(e.filter(r=>this.e.has(r))),this.f=new Set(t)}expandRow(e){return this.Jt(e,!0)}collapseRow(e){return this.Jt(e,!1)}toggleDetail(e){return this.Jt(e,!this.a.has(e))}Jt(e,t){let r=this.e.get(e);return!r||t&&!this.isRowExpandable(r)?!1:(t===this.a.has(e)||(t?this.a.add(e):this.a.delete(e),this.refreshPipeline(),this.core.requestUpdate({data:!0}),this.core.emit("detailToggled",{rowId:e,rowNode:r,expanded:t}),t&&this.isTree&&!this.hasChildren(e)&&!r.treeLoading&&this.loadTreeChildren(e).catch(()=>{})),t)}expandAllDetails(){let e=!1;for(let t of this.all)!this.a.has(t.id)&&this.isRowExpandable(t)&&(this.a.add(t.id),e=!0);e&&(this.refreshPipeline(),this.core.requestUpdate({data:!0}))}collapseAllDetails(){this.a.size!==0&&(this.a.clear(),this.refreshPipeline(),this.core.requestUpdate({data:!0}))}toggleGroup(e){return this.setGroupExpanded(e,!this.f.has(e))}isGroupExpanded(e){return this.f.has(e)}getGroupNode(e){return this.y.find(t=>t.isGroup&&t.id===e)}expandAllGroups(){if(this.pe.length===0)return;let e=!1;for(let t of this.pe)this.f.has(t)||(this.f.add(t),e=!0);e&&(this.refreshPipeline(),this.core.requestUpdate({data:!0}))}collapseAllGroups(){this.f.size!==0&&(this.f.clear(),this.refreshPipeline(),this.core.requestUpdate({data:!0}))}setGroupExpanded(e,t){return!this.pe.includes(e)||t===this.f.has(e)||(t?this.f.add(e):this.f.delete(e),this.refreshPipeline(),this.core.requestUpdate({data:!0})),t}canReorderRows(){return!this.isTree&&!this.isInfinite&&!this.core.options.dataProcessor&&this.core.options.paginationMode!=="server"&&this.core.columnModel.getSortModel().length===0&&this.core.columnModel.getRowGroupColumns().length===0}reorderRowsByDisplayed(e,t){if(!this.canReorderRows()||!Number.isInteger(e)||!Number.isInteger(t))return!1;let r=this.getDisplayedRow(e),o=this.getDisplayedRow(t);if(!r||!o||r.isDetail||o.isDetail||r.isGroup||o.isGroup)return!1;let i=this.all.indexOf(r),s=this.all.indexOf(o);return i<0||s<0||i===s?!1:(this.all.splice(i,1),this.all.splice(s,0,r),this.refreshPipeline(),this.core.requestUpdate({data:!0}),!0)}getAllNodes(){return this.all}getRootNodes(){return this.h}getDisplayedRows(){return this.y}getDisplayedRowCount(){return this.isBlockDatasource?this.me():this.y.length}getDisplayedRow(e){return this.isBlockDatasource?e<0||e>=this.me()?void 0:this.F.get(e)??this.Vn(e):this.y[e]}getNodeById(e){return this.e.get(e)}forEachNode(e){this.all.forEach(e)}forEachNodeAfterFilterAndSort(e){let t=0;for(let r of this.v)r.isDetail||r.isGroup||e(r,t++)}};var _e=class{constructor(e){this.core=e;this.s=new Set;this.A=null;this.Ne=new Set}isSelected(e){return this.s.has(e)}isIndeterminate(e){return this.Ne.has(e)}isSelectable(e){if(e.loading)return!1;let t=this.ei(e),r=t?.colDef.selectable;if(!t||!r)return!0;try{return r({api:this.core.getApi(),colDef:t.colDef,column:t,node:e,data:e.data,value:this.core.getCellValue(e,t),rowIndex:e.rowIndex})}catch(o){return this.core.reportError(o,"selectable",{rowId:e.id,colId:t?.id}),!1}}ei(e){if(!(e.isGroup||e.isDetail))return this.core.columnModel.getOrderedVisible().find(t=>t.hasCheckbox&&t.colDef.selectable!=null)}getSelectedNodes(){return this.core.rowModel.getAllNodes().filter(e=>this.s.has(e.id))}getSelectedRows(){return this.getSelectedNodes().filter(e=>e.data!=null).map(e=>e.data)}getSelectedIds(){return[...this.s]}restoreSelection(e){let t=new Set(e),r=this.core.rowModel.getAllNodes().filter(o=>t.has(o.id)&&!o.isDetail&&!o.isGroup).map(o=>({node:o,selected:!0}));this.R(r,!0)}onRowsRebuilt(e){if(!e)this.s.clear(),this.A=null;else{let t=new Set(this.core.rowModel.getAllNodes().map(r=>r.id));for(let r of[...this.s])t.has(r)||this.s.delete(r);this.A!=null&&!t.has(this.A)&&(this.A=null)}for(let t of this.core.rowModel.getAllNodes())t.selected=this.s.has(t.id);this.ao()}getGroupSelectionState(e){let t=e.leafNodes??[];if(t.length===0)return{all:!1,some:!1};let r=0,o=0;for(let i of t)this.isSelectable(i)&&(r++,this.s.has(i.id)&&o++);return r===0?{all:!1,some:!1}:{all:o===r,some:o>0}}setGroupSelected(e,t){let r=(e.leafNodes??[]).filter(o=>this.isSelectable(o));r.length!==0&&this.R(r.map(o=>({node:o,selected:t})))}setNodeSelected(e,t,r=!1){this.R([{node:e,selected:t,clearOthers:r}])}selectNodeById(e,t=!0,r=!0){let o=this.core.rowModel.getNodeById(e);o&&this.setNodeSelected(o,t,r)}ti(e,t){let r=t==="single";this.R([{node:e,selected:r?!0:!e.selected,clearOthers:r}]),this.A=e.id}ri(e,t,r){return!r||!t.ctrlKey&&!t.metaKey?!1:(this.R([{node:e,selected:!e.selected}]),this.A=e.id,!0)}oi(e,t,r){if(!r||!t.shiftKey||this.A==null)return!1;let o=this.core.rowModel.getNodeById(this.A);if(!o||o.rowIndex<0||e.rowIndex<0)return!1;let i=Math.min(o.rowIndex,e.rowIndex),s=Math.max(o.rowIndex,e.rowIndex),a=[];for(let l=i;l<=s;l++){let d=this.core.rowModel.getDisplayedRow(l);d&&!d.isDetail&&!d.isGroup&&this.isSelectable(d)&&a.push({node:d,selected:!0})}return this.R(a),!0}onRowClick(e,t,r){let o=this.core.options.rowSelection;if(o==="none"||!this.isSelectable(e))return;if(r){this.ti(e,o);return}let i=o==="multiple";this.ri(e,t,i)||this.oi(e,t,i)||(this.R([{node:e,selected:!0,clearOthers:!0}]),this.A=e.id)}selectAll(e=!0){let t=this.core.options.rowSelection;if(t==="none")return;let o=(e?this.core.rowModel.getDisplayedRows():this.core.rowModel.getAllNodes()).filter(i=>!i.isDetail&&!i.isGroup&&this.isSelectable(i));if(o.length!==0){if(t==="single"){this.R([{node:o[0],selected:!0,clearOthers:!0}]);return}this.R(o.map(i=>({node:i,selected:!0})))}}deselectAll(){this.R([],!0)}isSelectAllActive(){let t=this.core.rowModel.getDisplayedRows().filter(r=>!r.isDetail&&!r.isGroup).filter(r=>this.isSelectable(r));if(t.length===0)return!1;if(this.core.rowModel.isInfinite){let r=this.core.rowModel.getDisplayTotalCount();if(t.length<r)return!1}return t.every(r=>this.s.has(r.id))}isSelectAllIndeterminate(){let t=this.core.rowModel.getDisplayedRows().filter(o=>!o.isDetail&&!o.isGroup).filter(o=>this.isSelectable(o)),r=t.reduce((o,i)=>o+(this.s.has(i.id)?1:0),0);if(r===0)return!1;if(this.core.rowModel.isInfinite){let o=this.core.rowModel.getDisplayTotalCount();if(t.length<o)return!0}return r>0&&r<t.length}applySelectionPublic(e,t=!1){this.R(e,t)}ni(e,t,r){!t&&!e.some(o=>o.clearOthers)||(this.s=t?new Set:new Set(e.filter(o=>o.selected).flatMap(o=>r?this.lo(o.node):[o.node.id])))}ii(e,t){for(let r of e){if(!this.isSelectable(r.node))continue;let o=t?this.lo(r.node):[r.node.id];for(let i of o)r.selected?this.s.add(i):this.s.delete(i)}}si(e){let t=new Set;for(let r of new Set([...e,...this.s]))e.has(r)!==this.s.has(r)&&t.add(r);return t}ai(e,t,r){let o=[],i=new Set([...e,...r,...this.Ne]);for(let s of this.core.rowModel.getAllNodes()){let a=this.s.has(s.id);s.selected=a,(i.has(s.id)||t.get(s.id)!==a)&&s.rowIndex>=0&&o.push(s.rowIndex)}return o}R(e,t=!1){let r=new Set(this.s),o=this.core.rowModel.isTree&&this.core.options.autoCheckedChildren;this.ni(e,t,o),this.ii(e,o);let i=this.si(r),s=new Map;for(let d of this.core.rowModel.getAllNodes())s.set(d.id,d.selected);let a=new Set(this.Ne);this.ao();let l=this.ai(i,s,a);i.size>0&&(this.core.bodyRenderer.refreshRows(l),this.core.headerRenderer.refreshSelectAllCheckbox(),this.core.emit("selectionChanged",{selectedNodes:this.getSelectedNodes(),selectedRows:this.getSelectedRows()}))}lo(e){let t=[e.id],r=o=>{for(let i of this.core.rowModel.getChildrenIds(o))t.push(i),r(i)};return r(e.id),t}ao(){if(this.Ne.clear(),!this.core.rowModel.isTree)return;let e=t=>{let r=this.core.rowModel.getChildrenIds(t);if(r.length===0)return{all:this.s.has(t),some:this.s.has(t)};let o=!0,i=!1;for(let s of r){let a=e(s);a.all?i=!0:(a.some&&(i=!0),o=!1)}return i&&!o&&this.Ne.add(t),o?this.s.add(t):this.s.delete(t),{all:o,some:i}};for(let t of this.core.rowModel.getRootNodes())e(t.id);for(let t of this.core.rowModel.getAllNodes())t.selected=this.s.has(t.id)}};var We=class{constructor(e){this.core=e;this.active=null;this.D=0;this.H=0;this.S=null;this.Q=null;this.V=e=>{let t=this.Zt(e);t&&(this.H=this.po(t,e.clientX),t.didResize||(t.didResize=Math.abs(this.H-t.startWidth)>=.5),!this.D&&(this.D=requestAnimationFrame(()=>{this.D=0,this.di()})))};this.x=e=>{let t=this.Zt(e);t&&(this.H=this.po(t,e.clientX),t.didResize||(t.didResize=Math.abs(this.H-t.startWidth)>=.5),this.ci(t))};this.Z=e=>{this.Zt(e)&&this.cancelResize()};this.co=()=>{this.cancelResize()}}startResize(e,t){if(!this.core.options.enableColumnResize||!t.resizable||e.isPrimary===!1)return;this.cancelResize();let r=e.currentTarget,o=t.currentWidth;this.H=o,this.active={column:t,didResize:!1,handle:r,pointerId:e.pointerId,startFlex:t.flex,startManualWidth:t.manualWidth,startWidth:o,startX:e.clientX},window.addEventListener("pointermove",this.V),window.addEventListener("pointerup",this.x,!0),window.addEventListener("pointercancel",this.Z,!0),r.addEventListener("lostpointercapture",this.co);try{r.setPointerCapture?.(e.pointerId)}catch{}this.core.skeleton.root.classList.add("mach-root--resizing"),r.classList.add("mach-header-resize--active"),this.li(this.active)}cancelResize(e=!0){let t=this.active;t&&(this.active=null,this.Qt(),this.uo(t),e&&(t.column.manualWidth=t.startManualWidth,t.column.flex=t.startFlex,this.core.relayoutColumns()),this.core.skeleton.root.classList.remove("mach-root--resizing"),this.ho(t))}ci(e){this.active=null,this.Qt(),e.didResize&&(Math.abs(this.H-e.startWidth)<.5?(e.column.manualWidth=e.startManualWidth,e.column.flex=e.startFlex):this.core.columnModel.setColumnWidth(e.column,this.H),this.core.relayoutColumns()),this.uo(e);try{e.handle.releasePointerCapture?.(e.pointerId)}catch{}this.core.skeleton.root.classList.remove("mach-root--resizing"),this.ho(e),e.didResize&&this.core.commitColumnWidths([e.column])}di(){let e=this.active;!e||!this.core.columnModel.setColumnWidth(e.column,this.H)||(this.core.relayoutColumns(),this.Fe(e),this.core.emitColumnResize(e.column,!1))}li(e){this.S=document.createElement("div"),this.S.className="mach-column-resize-guide",this.S.setAttribute("aria-hidden","true"),this.Q=document.createElement("span"),this.Q.className="mach-column-resize-label",this.S.appendChild(this.Q),this.core.skeleton.root.appendChild(this.S),this.Fe(e)}Fe(e){if(!this.S||!this.Q)return;let t=this.core.skeleton.root,r=t.getBoundingClientRect(),o=e.handle.parentElement.getBoundingClientRect(),i=Math.max(0,Math.min(t.clientWidth,o.right-r.left-t.clientLeft)),s=Math.max(32,Math.min(t.clientWidth-32,i));this.S.style.left=`${i}px`,this.S.style.top=`${Math.max(0,o.top-r.top-t.clientTop)}px`,this.Q.style.left=`${s-i}px`,this.Q.textContent=`${Math.round(e.column.currentWidth)} px`}ho(e){e.handle.classList.remove("mach-header-resize--active"),this.S?.remove(),this.S=null,this.Q=null}po(e,t){let r=Number.isFinite(t)?t:e.startX;return e.startWidth+r-e.startX}Zt(e){let t=this.active;return t&&e.pointerId===t.pointerId?t:null}Qt(){this.D&&cancelAnimationFrame(this.D),this.D=0}uo(e){window.removeEventListener("pointermove",this.V),window.removeEventListener("pointerup",this.x,!0),window.removeEventListener("pointercancel",this.Z,!0),e.handle.removeEventListener("lostpointercapture",this.co)}destroy(){this.cancelResize(!1),this.Qt(),this.core.skeleton.root?.classList.remove("mach-root--resizing")}};function f(n,e,t){let r=document.createElement(n);if(e&&(r.className=e),t)for(let o of Object.keys(t))r.setAttribute(o,t[o]);return r}var pi=["--mach-font-family","--mach-font-size","--mach-font-size-sm","--mach-header-font-weight","--mach-cell-padding","--mach-header-h","--mach-primary","--mach-primary-weak","--mach-success","--mach-warning","--mach-danger","--mach-info","--mach-border-color","--mach-border-width","--mach-header-bg","--mach-header-fg","--mach-body-bg","--mach-body-fg","--mach-row-hover-bg","--mach-radius-sm","--mach-radius","--mach-radius-lg","--mach-shadow-sm","--mach-shadow","--mach-transition","--mach-z-popup","--mach-z-menu"];function L(n,e){if(n.classList.add("mach-portal"),!e)return;let t=window.getComputedStyle(e);for(let r of pi){let o=t.getPropertyValue(r).trim();o&&n.style.setProperty(r,o)}n.style.colorScheme=t.colorScheme}function E(n,e,t){return n<e?e:n>t?t:n}var Wr=0;function $r(n="rg"){return Wr++,`${n}-${Wr}`}var Kr='<svg viewBox="0 0 16 16" width="12" height="12" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3.5h12L9.5 8v4.5L6.5 14V8L2 3.5z"/></svg>',qr='<svg viewBox="0 0 16 16" width="10" height="10" fill="currentColor"><path d="M8 3l4 5H4l4-5z"/></svg>',Ur='<svg viewBox="0 0 16 16" width="10" height="10" fill="currentColor"><path d="M8 13l4-5H4l4 5z"/></svg>',jr='<svg viewBox="0 0 16 16" width="12" height="12" fill="none" stroke="currentColor" stroke-width="1.35" stroke-linecap="round"><path d="M2 4h3m3 0h6M2 8h7m3 0h2M2 12h1m3 0h8"/><circle cx="6.5" cy="4" r="1.35"/><circle cx="10.5" cy="8" r="1.35"/><circle cx="4.5" cy="12" r="1.35"/></svg>';var Yr=6,$e=class{constructor(e){this.core=e;this.pending=null;this.ye=null;this.er=!1;this.w=0;this.ht=null;this.V=e=>{if(this.ye){this.ui(e);return}let t=this.pending;t&&(Math.abs(e.clientX-t.startX)<Yr&&Math.abs(e.clientY-t.startY)<Yr||this.hi(e))};this.x=e=>{this.pending=null,e.type!=="pointercancel"&&this.ye&&this.rr(e.clientX,e.clientY),this.tr();let t=this.fo();t&&e.type!=="pointercancel"&&t.targetIndex>=0&&this.core.moveColumn(t.column.id,t.targetIndex)}}onPointerDown(e,t){e.button===0&&t.movable&&(this.pending={column:t,startX:e.clientX,startY:e.clientY},window.addEventListener("pointermove",this.V),window.addEventListener("pointerup",this.x),window.addEventListener("pointercancel",this.x))}didDrag(){let e=this.er;return this.er=!1,e}hi(e){let t=this.pending;if(!t)return;let r=this.pi(t.column);if(!r||!r.parentElement){this.tr();return}this.er=!0;let o=f("div","mach-drop-indicator"),i=f("div","mach-column-drag-ghost");i.textContent=t.column.colDef.headerName??t.column.colDef.field??t.column.id,i.ariaHidden="true",L(i,this.core.skeleton.root),document.body.appendChild(i),r.parentElement.appendChild(o),r.classList.add("mach-header-cell--dragging"),this.core.skeleton.root.classList.add("mach-root--dragging");let s=this.core.bodyRenderer.paneForColumn(t.column),a=this.core.skeleton.headerRowContainers[s],l=this.core.columnModel.getPaneColumns(s),d=new Float64Array(l.length+1),c=new Float64Array(l.length);for(let h=0;h<l.length;h++){let p=l[h].currentWidth;c[h]=d[h]+p/2,d[h+1]=d[h]+p}let u=i.getBoundingClientRect();this.ye={column:t.column,cellEl:r,ghost:i,indicator:o,targetIndex:-1,pane:s,containerLeft:a.getBoundingClientRect().left,startScrollLeft:this.core.skeleton.bodyViewports.center.scrollLeft,fromIndex:l.indexOf(t.column),midpoints:c,offsets:d,ghostWidth:u.width,ghostHeight:u.height},this.rr(e.clientX,e.clientY)}pi(e){let t=this.core.bodyRenderer.paneForColumn(e);return this.core.skeleton.headerRowContainers[t].querySelector(`.mach-header-cell[data-col-id="${fi(e.id)}"]`)}ui(e){this.ht={clientX:e.clientX,clientY:e.clientY},!this.w&&(this.w=requestAnimationFrame(()=>{this.w=0;let t=this.ht;this.ht=null,t&&this.rr(t.clientX,t.clientY)}))}rr(e,t){let r=this.ye;if(!r)return;let o=E(e+12,8,window.innerWidth-r.ghostWidth-8),i=E(t+12,8,window.innerHeight-r.ghostHeight-8);r.ghost.style.transform=`translate3d(${o}px, ${i}px, 0)`;let s=r.pane==="center"?this.core.skeleton.bodyViewports.center.scrollLeft-r.startScrollLeft:0,a=e-(r.containerLeft-s),l=r.midpoints.length;for(let d=0;d<r.midpoints.length;d++)if(a<r.midpoints[d]){l=d;break}r.targetIndex=l>r.fromIndex?l-1:l,r.indicator.style.transform=`translate3d(${r.offsets[l]}px, 0, 0)`}fo(){let e=this.ye;return e?(this.ye=null,e.cellEl.classList.remove("mach-header-cell--dragging"),e.ghost.remove(),e.indicator.remove(),this.core.skeleton.root.classList.remove("mach-root--dragging"),e):null}tr(){window.removeEventListener("pointermove",this.V),window.removeEventListener("pointerup",this.x),window.removeEventListener("pointercancel",this.x),this.w&&cancelAnimationFrame(this.w),this.w=0,this.ht=null}destroy(){this.tr(),this.fo(),this.pending=null}};function fi(n){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(n):n.replace(/[^a-zA-Z0-9_-]/g,"\\$&")}function Xr(n,e){let t=n==null?"":String(n);return t.includes(e)||t.includes('"')||t.includes(`
|
|
2
|
+
`)||t.includes("\r")?'"'+t.replace(/"/g,'""')+'"':t}function be(n){return typeof n!="string"||n===""||/^[+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:[eE][+-]?\d+)?$/.test(n)?n:/^[\s\u0000-\u001f]*[=+\-@]/.test(n)?"'"+n:n}function Xt(n,e={}){let t=e.columnSeparator??",",r=e.includeHeader??!0,o=e.protectFormulas??!0,i=[];r&&i.push(n.getHeaderLabels().map(a=>Xr(a,t)).join(t));for(let a of n.getRowValues())i.push(a.map(l=>Xr(o?be(l):l,t)).join(t));let s=i.join(`\r
|
|
3
|
+
`);return e.prependBOM?"\uFEFF"+s:s}function mi(n,e){let t=e?be(n):n,r=t==null?"":String(t);return/["\t\n\r]/.test(r)?'"'+r.replace(/"/g,'""')+'"':r}function ce(n,e=!0){return n.map(t=>t.map(r=>mi(r,e)).join(" ")).join(`
|
|
4
|
+
`)}function Ke(n){return Ue(n," ")}function qe(n,e=","){return Ue(n,e)}function Ue(n,e){let t=[],r=[],o="",i=!1,s=0;for(;s<n.length;){let a=n[s];if(i){if(a==='"'){if(n[s+1]==='"'){o+='"',s+=2;continue}i=!1,s++;continue}o+=a,s++;continue}if(a==='"'&&o===""){i=!0,s++;continue}if(a===e){r.push(o),o="",s++;continue}if(a===`
|
|
5
|
+
`||a==="\r"){r.push(o),t.push(r),r=[],o="",a==="\r"&&n[s+1]===`
|
|
6
|
+
`?s+=2:s++;continue}o+=a,s++}return(o!==""||r.length>0)&&(r.push(o),t.push(r)),t}function gi(n){let e=null;try{return e=document.createElement("textarea"),e.value=n,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.focus(),e.select(),document.execCommand("copy")}catch{return!1}finally{e?.remove()}}async function Ce(n){try{if(typeof navigator<"u"&&navigator.clipboard?.writeText)return await navigator.clipboard.writeText(n),!0}catch{}return gi(n)}var yi=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Enter","F2","Home","End","PageUp","PageDown","Tab"," ","Escape","Delete","Backspace"]),vi=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"]),je=class{constructor(e){this.core=e;this.mo=e=>{if(this.core.options.suppressClipboard||this.core.editingService.isEditing())return;let t=this.core.bodyRenderer.getNormalizedRangeOrFocus();if(!t)return;let r=this.core.buildRangeTsv(t),o=e.clipboardData;o&&typeof o.setData=="function"?o.setData("text/plain",r):Ce(r),e.preventDefault()};this.go=e=>{if(this.core.options.suppressClipboard||this.core.editingService.isEditing())return;let t=this.core.bodyRenderer.getNormalizedRangeOrFocus();if(!t)return;let r=this.core.buildRangeTsv(t),o=e.clipboardData;o&&typeof o.setData=="function"?o.setData("text/plain",r):Ce(r),this.core.clearRangeValues(t),e.preventDefault()};this.yo=e=>{if(this.core.options.suppressClipboard||this.core.editingService.isEditing())return;let t=this.core.bodyRenderer.getPasteStart();if(!t)return;let r=e.clipboardData,o=r&&typeof r.getData=="function"?r.getData("text/plain"):null;typeof o!="string"||o===""||(e.preventDefault(),this.core.pasteText(o,t.row,t.colIdx))};this.Oe=e=>{this.core.isDestroyed()||this.core.editingService.isEditing()||this.fi(e)||this.mi(e)||yi.has(e.key)&&(this.gi(e)||this.yi(e)||this.vi(e))}}init(){this.core.skeleton.root.addEventListener("keydown",this.Oe),this.core.skeleton.root.addEventListener("copy",this.mo),this.core.skeleton.root.addEventListener("cut",this.go),this.core.skeleton.root.addEventListener("paste",this.yo)}destroy(){this.core.skeleton.root.removeEventListener("keydown",this.Oe),this.core.skeleton.root.removeEventListener("copy",this.mo),this.core.skeleton.root.removeEventListener("cut",this.go),this.core.skeleton.root.removeEventListener("paste",this.yo)}nextEditable(e,t,r){let o=this.core.columnModel.getOrderedVisible(),i=o.findIndex(d=>d.id===t);if(i<0)return null;let s=this.core.rowModel.getDisplayedRowCount(),a=i,l=e;for(let d=0;d<(o.length+1)*(s+1);d++){if(a+=r,a>=o.length){if(l>=s-1)return null;a=0,l=this.ee(l+1,1)}else if(a<0){if(l<=0)return null;a=o.length-1,l=this.ee(l-1,-1)}if(l<0||l>=s)return null;let c=this.core.rowModel.getDisplayedRow(l);if(c&&!c.isDetail&&this.core.editingService.isEditable(c,o[a]))return{rowIndex:l,column:o[a]}}return null}ee(e,t){let r=this.core.rowModel.getDisplayedRowCount(),o=0;for(;e>=0&&e<r;){let i=this.core.rowModel.getDisplayedRow(e);if(!i||!i.isDetail)return e;if(e+=t,o++,o>r+2)break}return-1}fi(e){return!(e.ctrlKey||e.metaKey)||e.key.toLowerCase()!=="a"?!1:(this.core.options.rowSelection==="multiple"&&(e.preventDefault(),this.core.selectionService.selectAll(!0)),!0)}mi(e){if(!e.ctrlKey&&!e.metaKey||e.altKey)return!1;let t=e.key.toLowerCase();return t==="z"?(e.preventDefault(),e.shiftKey?this.core.undoService.redo():this.core.undoService.undo(),!0):t!=="y"?!1:(e.preventDefault(),this.core.undoService.redo(),!0)}gi(e){let t=this.core.bodyRenderer;if(e.key==="Escape")return this.core.cancelPendingInput(),this.core.options.enableRangeSelection&&t.normalizedRange()&&(e.preventDefault(),t.clearRangeSelection()),!0;if(e.key!=="Delete"&&e.key!=="Backspace")return!1;if(!this.core.options.enableRangeSelection)return!0;let r=t.normalizedRange();return r&&!(r.r1===r.r2&&r.c1===r.c2)&&(e.preventDefault(),this.core.clearRangeValues(r)),!0}yi(e){if(this.core.bodyRenderer.focusedCell)return!1;let t=this.core.columnModel.getOrderedVisible();return this.core.rowModel.getDisplayedRowCount()>0&&t.length>0&&(e.preventDefault(),this.core.bodyRenderer.setFocusedCell(0,t[0].id)),!0}vi(e){let t=this.core.bodyRenderer,r=t.focusedCell;if(!r)return;let o=this.core.columnModel.getOrderedVisible(),i=o.findIndex(c=>c.id===r.colId),s=this.core.rowModel.getDisplayedRowCount();if(i<0||s===0)return;let a={row:r.rowIndex,colIdx:i},l=this.wi(e,a,o,s);if(!l)return;e.preventDefault();let d=l.row!==a.row||l.colIdx!==a.colIdx;if(e.shiftKey&&this.core.options.enableRangeSelection&&d){t.moveRangeEnd(l.row,l.colIdx);return}d&&t.setFocusedCell(l.row,o[l.colIdx].id)}wi(e,t,r,o){return vi.has(e.key)?this.bi(e,t,r.length,o):e.key==="Enter"||e.key==="F2"?this.Ci(e,t,r,o):e.key===" "?(this.Ti(t.row),t):e.key==="Tab"?this.Ri(e,t,r):null}bi(e,t,r,o){let{row:i,colIdx:s}=t;switch(e.key){case"ArrowUp":i=this.pt(i,this.ee(i-1,-1),o);break;case"ArrowDown":i=this.pt(i,this.ee(i+1,1),o);break;case"ArrowLeft":s=Math.max(0,s-1);break;case"ArrowRight":s=Math.min(r-1,s+1);break;case"Home":s=0,e.ctrlKey&&(i=0);break;case"End":s=r-1,e.ctrlKey&&(i=Math.max(0,this.ee(o-1,-1)));break;case"PageUp":case"PageDown":i=this.Di(e.key,i,o);break}return{row:i,colIdx:s}}pt(e,t,r){return t>=0&&t<r?t:e}Di(e,t,r){let o=this.core.skeleton.bodyViewports.center,i=Math.max(1,Math.floor(o.clientHeight/this.core.options.rowHeight)),s=e==="PageUp"?-1:1,a=Math.max(0,Math.min(r-1,t+i*s));return this.pt(t,this.ee(a,s),r)}Ci(e,t,r,o){let i=this.core.rowModel.getDisplayedRow(t.row),s=r[t.colIdx];if(i&&!i.isDetail&&s&&this.core.editingService.isEditable(i,s))return this.core.editingService.start(t.row,s,e.key==="F2"?e.key:null),t;let a=this.ee(t.row+1,1);return{...t,row:this.pt(t.row,a,o)}}Ti(e){let t=this.core.rowModel.getDisplayedRow(e);if(!(!t||t.isDetail)){if(t.isGroup){this.core.rowModel.toggleGroup(t.id);return}this.core.options.rowSelection!=="none"&&this.core.selectionService.setNodeSelected(t,!t.selected,this.core.options.rowSelection==="single")}}Ri(e,t,r){let o=this.nextEditable(t.row,r[t.colIdx].id,e.shiftKey?-1:1);return o?(this.core.bodyRenderer.setFocusedCell(o.rowIndex,o.column.id),this.core.editingService.start(o.rowIndex,o.column),t):null}};var H=null;function Qr(n){let e=n.target;H?.contains(e)||H?.close()}function Je(){H?.reposition()}function Zr(n){n.key!=="Escape"||!H||(n.preventDefault(),n.stopImmediatePropagation(),H.close(!0))}function wi(n){H?.close!==n.close&&H?.close(),!H&&(H=n,document.addEventListener("mousedown",Qr,!0),document.addEventListener("keydown",Zr,!0),window.addEventListener("resize",Je),window.addEventListener("scroll",Je,!0))}function bi(n){H?.close===n&&(H=null,document.removeEventListener("mousedown",Qr,!0),document.removeEventListener("keydown",Zr,!0),window.removeEventListener("resize",Je),window.removeEventListener("scroll",Je,!0))}function ee(n,e){return e?`${n} ${e}`:n}function Xe(n){let e=[];return n.forEach((t,r)=>{t.disabled||e.push(r)}),e}function Jr(n,e,t){let r=Xe(n);if(r.length===0)return-1;let o=r.indexOf(e);return o<0?t>0?r[0]:r[r.length-1]:r[Math.max(0,Math.min(r.length-1,o+t))]}function Ye(n,e){return n.findIndex(t=>t.value===e&&!t.disabled)}function U(n){let e=f("div",ee("mach-select-control",n.classNames?.root)),t=f("select",ee("mach-select-native",n.classNames?.native));t.hidden=!0,t.tabIndex=-1,t.setAttribute("aria-hidden","true");let r=f("button",ee("mach-select-trigger",n.classNames?.trigger));r.type="button",r.setAttribute("role","combobox"),r.setAttribute("aria-haspopup","listbox"),r.setAttribute("aria-expanded","false"),r.setAttribute("aria-label",n.ariaLabel);let o=f("span",ee("mach-select-value",n.classNames?.value)),i=f("span",ee("mach-select-caret",n.classNames?.caret));i.setAttribute("aria-hidden","true"),r.append(o,i);let s=f("div",ee("mach-select-listbox",n.classNames?.listbox));s.id=$r("mach-select-listbox"),s.setAttribute("role","listbox"),s.setAttribute("aria-hidden","true"),r.setAttribute("aria-controls",s.id),e.append(t,r);let a=[...n.options],l=[],d=-1,c=!1,u=()=>n.themeSource??e.closest(".mach-root")??e,h=()=>{let w=a.find(C=>C.value===t.value);o.textContent=w?.label??t.value,l.forEach((C,k)=>{let M=a[k]?.value===t.value;C.setAttribute("aria-selected",M?"true":"false"),C.classList.toggle("mach-select-option--selected",M),C.classList.toggle("mach-select-option--active",k===d)}),r.setAttribute("aria-activedescendant",d>=0?l[d]?.id??"":"")},p=()=>{let w=r.getBoundingClientRect(),C=s.getBoundingClientRect(),k=Math.max(w.width,C.width),M=E(w.left,8,Math.max(8,window.innerWidth-k-8)),B=window.innerHeight-w.bottom-8,Q=B<Math.min(C.height,240)&&w.top>B,G=Q?Math.max(8,w.top-C.height-5):Math.min(window.innerHeight-C.height-8,w.bottom+5);s.style.minWidth=`${w.width}px`,s.style.left=`${M}px`,s.style.top=`${Math.max(8,G)}px`,s.classList.toggle("mach-select-listbox--above",Q)},m=(w=!1)=>s.classList.contains("mach-select-listbox--open")?(s.classList.remove("mach-select-listbox--open","mach-select-listbox--above"),s.setAttribute("aria-hidden","true"),r.setAttribute("aria-expanded","false"),r.removeAttribute("aria-activedescendant"),s.remove(),bi(m),w&&!c&&r.focus({preventScroll:!0}),!0):!1,g=(w,C=!0)=>{!a[w]||a[w].disabled||(d=w,h(),C&&l[w]?.scrollIntoView?.({block:"nearest"}))},y=()=>{c||r.disabled||s.classList.contains("mach-select-listbox--open")||(wi({close:m,contains:w=>e.contains(w)||s.contains(w),reposition:p}),d=Ye(a,t.value),d<0&&(d=Xe(a)[0]??-1),L(s,u()),document.body.appendChild(s),s.classList.add("mach-select-listbox--open"),s.setAttribute("aria-hidden","false"),r.setAttribute("aria-expanded","true"),p(),h(),l[d]?.scrollIntoView?.({block:"nearest"}))},v=w=>{let C=a[w];!C||C.disabled||(t.value=C.value,d=w,h(),m(!0),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0})))},b=(w,C)=>{a=[...w],t.replaceChildren(),s.replaceChildren(),l=a.map((M,B)=>{let Q=document.createElement("option");Q.value=M.value,Q.textContent=M.label,Q.disabled=M.disabled===!0,t.appendChild(Q);let G=f("button",ee("mach-select-option",n.classNames?.option));return G.id=`${s.id}-option-${B}`,G.type="button",G.tabIndex=-1,G.dataset.value=M.value,G.disabled=M.disabled===!0,G.setAttribute("role","option"),G.textContent=M.label,G.addEventListener("mousedown",wn=>wn.preventDefault()),G.addEventListener("click",()=>v(B)),s.appendChild(G),G});let k=a.find(M=>!M.disabled)?.value??"";t.value=C!=null&&a.some(M=>M.value===C)?C:k,d=Ye(a,t.value),h()},T=w=>{if(w.key==="Tab"){m();return}if(w.key==="Escape"){if(!m(!0))return;w.preventDefault(),w.stopPropagation();return}if(w.key==="Enter"||w.key===" "){w.preventDefault(),w.stopPropagation(),s.classList.contains("mach-select-listbox--open")?v(d):y();return}let C=d;if(w.key==="ArrowDown")C=Jr(a,d,1);else if(w.key==="ArrowUp")C=Jr(a,d,-1);else if(w.key==="Home")C=Xe(a)[0]??-1;else if(w.key==="End"){let k=Xe(a);C=k[k.length-1]??-1}else return;w.preventDefault(),w.stopPropagation(),s.classList.contains("mach-select-listbox--open")||y(),g(C)},x=()=>{d=Ye(a,t.value),h(),n.onChange?.(t.value)};return r.addEventListener("click",()=>{m()||y()}),r.addEventListener("keydown",T),t.addEventListener("change",x),b(a,n.value),{el:e,native:t,trigger:r,listbox:s,contains:w=>e.contains(w)||s.contains(w),isOpen:()=>s.classList.contains("mach-select-listbox--open"),open:y,close:m,focus:()=>r.focus({preventScroll:!0}),getValue:()=>t.value,setValue:w=>{t.value=w,d=Ye(a,w),h()},setOptions:b,destroy:()=>{c||(c=!0,m(),r.removeEventListener("keydown",T),t.removeEventListener("change",x),e.remove())}}}function Jt(n,e){let t=document.createElement("input");return t.type=n,t.className="mach-editor-input",e!=null&&e!==""&&(t.value=n==="date"?String(e).slice(0,10):String(e)),t}function Ci(n){return n?.options?.length?n.options:(n?.values??[]).map(e=>({label:String(e),value:e}))}function Ti(n,e){return e?.options?.length||e?.values?.length?"select":typeof n=="number"?"number":n instanceof Date||typeof n=="string"&&/^\d{4}-\d{2}-\d{2}/.test(n)?"date":"text"}function Qt(n,e,t){let r=n.colDef,o=typeof r.cellEditor=="string"?r.cellEditor:Ti(e,r.cellEditorParams);if(o==="number"){let s=Jt("number",e);return{el:s,getValue:()=>s.value===""?null:Number(s.value),focus:()=>{s.focus({preventScroll:!0}),s.select()}}}if(o==="date"){let s=Jt("date",e),l=(e==null?"":String(e)).match(/T(\d{2}:\d{2})/);return{el:s,getValue:()=>s.value===""?null:l?`${s.value}T${l[1]}`:s.value,focus:()=>s.focus({preventScroll:!0})}}if(o==="select"){let s=Ci(r.cellEditorParams),a=U({ariaLabel:r.headerName??r.field??n.id,options:s.map(l=>({value:String(l.value),label:l.label,disabled:l.disabled})),value:String(e??""),classNames:{root:"mach-editor-select-control",native:"mach-editor-select"}});return{el:a.el,getValue:()=>{let l=a.getValue();return s.find(c=>String(c.value)===l)?.value??l},focus:()=>a.focus(),destroy:()=>a.destroy()}}let i=Jt("text",e);return t&&t.length===1&&(i.value=t),{el:i,getValue:()=>i.value,focus:()=>{i.focus({preventScroll:!0}),i.select()}}}var Zt=new WeakMap,Qe=new WeakMap,Ze=new WeakMap;function Te(n){let e=Zt.get(n);return e||(e={},Zt.set(n,e)),e}function er(n){return Zt.get(n)}function eo(n,e){e?Qe.set(n,e):Qe.delete(n)}function to(n){let e=Qe.get(n);return Qe.delete(n),e}function ro(n,e){e?Ze.set(n,e):Ze.delete(n)}function tr(n){let e=Ze.get(n);return Ze.delete(n),e}function et(n){if(n==null)return"";if(n instanceof Date)return n.toLocaleDateString();if(typeof n=="object")try{return JSON.stringify(n)}catch{return String(n)}return String(n)}function I(n,e){let t=er(e);if(!t)return;t.flashTimer&&clearTimeout(t.flashTimer),t.flashTimer=void 0;let r=t.destroy;if(t.destroy=void 0,t.refresh=void 0,t.rendererDefinition=void 0,t.rendererRowId=void 0,t.rendererColumnId=void 0,!!r)try{r()}catch(o){n.reportError(o,"cellRenderer.destroy",{colId:e.dataset.colId})}}function oo(n,e,t,r,o,i){let s=n.options.tooltipComponent?"":i,a=r.colDef.tooltipValueGetter;if(a)try{s=a({api:n.getApi(),colDef:r.colDef,column:r,node:t,data:t.data,value:o})??i}catch(l){n.reportError(l,"tooltipValueGetter",{colId:r.id,rowId:t.id})}s?e.setAttribute("title",s):e.removeAttribute("title")}function Ri(n,e,t,r,o,i){let s=er(e);if(!s?.refresh||s.rendererDefinition!==o||s.rendererRowId!==t.id||s.rendererColumnId!==r.id)return!1;try{return e.querySelector(":scope > .mach-cell-edit-trigger")?.remove(),s.refresh(i)!==!1}catch(a){return n.reportError(a,"cellRenderer.refresh",{colId:r.id,rowId:t.id}),!1}}function $(n,e,t){let r=n.getCellValue(e,t),o=t.colDef.valueFormatter;if(o)try{let i=o({api:n.getApi(),colDef:t.colDef,column:t,node:e,data:e.data,value:r});return i==null?"":String(i)}catch(i){n.reportError(i,"valueFormatter",{colId:t.id,rowId:e.id})}return et(r)}function Re(n,e,t,r){let o=t.colDef.valueFormatter;if(o)try{let i=o({api:n.getApi(),colDef:t.colDef,column:t,node:e,data:e.data,value:r});return i==null?"":String(i)}catch(i){n.reportError(i,"valueFormatter",{colId:t.id,rowId:e.id})}return et(r)}function tt(n,e,t,r){let o=r.colDef.cellStyle,i=Te(e),s=i.styleKeys;if(s)for(let d of s)Reflect.set(e.style,d,"");if(!o){i.styleKeys=void 0;return}let a;if(typeof o=="function"){let d=n.getCellValue(t,r);try{a=o({api:n.getApi(),colDef:r.colDef,column:r,node:t,data:t.data,value:d,rowIndex:t.rowIndex})}catch(c){n.reportError(c,"cellStyle",{colId:r.id,rowId:t.id}),a=null}}else a=o;if(!a){i.styleKeys=void 0;return}let l=Object.keys(a);for(let d of l)Reflect.set(e.style,d,Reflect.get(a,d));i.styleKeys=l}function rt(n,e,t,r){let o=n.getCellValue(t,r),i=$(n,t,r),s=r.colDef.cellRenderer,a=typeof s=="string"?n.resolveCellRenderer(s):s;if(a){let l={api:n.getApi(),colDef:r.colDef,column:r,node:t,data:t.data,value:o,formatted:i,rowIndex:t.rowIndex,rendererParams:r.colDef.cellRendererParams};if(Ri(n,e,t,r,a,l)){oo(n,e,t,r,o,i);return}I(n,e);let d;try{d=a(l)}catch(c){n.reportError(c,"cellRenderer",{colId:r.id,rowId:t.id}),e.textContent=i;return}if(typeof d=="string")e.textContent=d;else if(d instanceof HTMLElement)e.replaceChildren(d);else if(d&&typeof d=="object"&&d.el instanceof HTMLElement){let c=d;e.replaceChildren(c.el);let u=Te(e);u.destroy=c.destroy,c.refresh&&(u.refresh=h=>c.refresh(h),u.rendererDefinition=a,u.rendererRowId=t.id,u.rendererColumnId=r.id)}else e.textContent=""}else I(n,e),e.textContent=i;oo(n,e,t,r,o,i)}function Di(n,e,t){let r=e.colDef.align;if(r==="center"){n.push("mach-cell--center");return}if(r==="right"){n.push("mach-cell--right");return}(se(e.colDef,"rightAligned")||se(e.colDef,"numericColumn")||typeof t=="number")&&n.push("mach-cell--num")}function Ei(n,e,t,r,o){let i=r.colDef.cellClass;if(!i)return;if(typeof i=="string"){e.push(i);return}if(Array.isArray(i)){e.push(...i);return}let s={api:n.getApi(),colDef:r.colDef,column:r,node:t,data:t.data,value:o,rowIndex:t.rowIndex};try{let a=i(s);typeof a=="string"?e.push(a):Array.isArray(a)&&e.push(...a)}catch(a){n.reportError(a,"cellClass",{colId:r.id,rowId:t.id})}}function Si(n,e,t){e.classList.contains("mach-cell--focus")&&n.push("mach-cell--focus"),e.classList.contains("mach-cell--editing")&&n.push("mach-cell--editing"),t.colDef.wrapText&&n.push("mach-cell--wrap")}function De(n,e,t,r){let o=n.getCellValue(t,r),i=["mach-cell"];Di(i,r,o),Ei(n,i,t,r,o),Si(i,e,r);let s=i.join(" ");e.className!==s&&(e.className=s)}function te(n){return n!=null&&typeof n.then=="function"}var ot=class{constructor(e){this.core=e;this.Y=0}cancel(){this.Y++}begin(){let e=++this.Y;return()=>e===this.Y&&!this.core.isDestroyed()}guard(e){let t=e[0].node,r=this.core.columnModel.getColumns(),o=r.map(a=>this.core.getCellValue(t,a)),i=this.scope(e),s=e.every(a=>Object.is(this.core.getCellValue(t,a.column),a.oldValue));return()=>s&&i()&&r.every((a,l)=>Object.is(this.core.getCellValue(t,a),o[l]))}scope(e){let t=e[0].node,r=t.data,o=this.core.columnModel.getColumns(),i=new Set(o),s=e.every(a=>a.node===t&&i.has(a.column));return()=>s&&!this.core.isDestroyed()&&this.core.rowModel.getNodeById(t.id)===t&&t.data===r&&this.core.columnModel.getColumns()===o}validate(e,t){let r=e.map(i=>this.Ei(i,t)),o=i=>{let s=i.filter(a=>a!=null);return s.length||!t()?s:this.Si(e,t)};return r.some(te)?Promise.all(r.map(i=>Promise.resolve(i))).then(o):o(r)}Ei(e,t){let{node:r,column:o,oldValue:i,newValue:s}=e,a=d=>(t()&&this.core.reportError(d,"validate",{colId:o.id,rowId:r.id}),{colId:o.id,message:"Validation failed"}),l=d=>typeof d=="string"?{colId:o.id,message:d}:null;try{let d=o.colDef.validate?.(s,{oldValue:i,newValue:s,node:r,data:r.data,column:o,colDef:o.colDef,api:this.core.getApi()});return te(d)?d.then(l,a):l(d)}catch(d){return a(d)}}Si(e,t){let r=this.core.options.rowEditValidator;if(!r)return[];let o=e[0].node,i=Object.create(null);for(let l of this.core.columnModel.getColumns())i[l.id]=this.core.getCellValue(o,l);for(let l of e)i[l.column.id]=l.newValue;let s=l=>typeof l=="string"?[{colId:e[0].column.id,message:l}]:l&&typeof l=="object"?Object.entries(l).filter(([,d])=>typeof d=="string"&&d).map(([d,c])=>({colId:d,message:c})):[],a=l=>(t()&&this.core.reportError(l,"validate",{rowId:o.id}),[{colId:e[0].column.id,message:"Row validation failed"}]);try{let l=r({data:o.data,node:o,values:i,api:this.core.getApi(),changes:e.map(({column:d,oldValue:c,newValue:u})=>({colId:d.id,oldValue:c,newValue:u}))});return te(l)?l.then(s,a):s(l)}catch(l){return a(l)}}commit(e,t){let r=[],o=this.scope(e);for(let i of e){if(!t()||!o()||!Object.is(this.core.getCellValue(i.node,i.column),i.oldValue)||!this.core.editingService.isEditable(i.node,i.column)||!this.core.writeValue(i.node,i.column,i.newValue,i.oldValue)){for(let s of r.reverse()){if(!t()||!o())break;this.core.writeValue(s.node,s.column,s.oldValue,s.newValue)||this.core.reportError(new Error("A valueSetter rejected input rollback"),"inputRollback",{rowId:s.node.id})}return{colId:i.column.id,message:"Value was rejected by the column setter"}}r.push(i)}return t()&&o()?null:{colId:e[0].column.id,message:"Input target changed during commit"}}apply(e){let t=this.begin();if(this.core.isDestroyed()||this.core.editingService.isEditing())return;let r=new Map;for(let a of e){if(a.newValue===void 0||Object.is(a.oldValue,a.newValue)||!this.core.editingService.isEditable(a.node,a.column))continue;let l=r.get(a.node)??[];l.push(a),r.set(a.node,l)}let o=[...r.values()].map(a=>{let l=this.guard(a),d=()=>t()&&l();return{changes:a,current:d,validation:this.validate(a,d)}}),i=a=>{if(!t())return;let l=new Set;this.core.undoService.beginBatch();try{o.forEach(({changes:d,current:c},u)=>{if(!c())return;let h=a[u],p=h.length?null:this.commit(d,t);if(!t())return;if(p&&h.push(p),h.length){this.core.reportError(new Error(h.map(g=>g.message).join("; ")),"validate",{rowId:d[0].node.id,errors:h});return}let m=this.scope(d);for(let g of d){if(!t()||!m())break;this.core.notifyCellValueChanged(g.node,g.column,g.oldValue,g.newValue),g.node.rowIndex>=0&&l.add(g.node.rowIndex)}})}finally{this.core.undoService.endBatch()}l.size&&t()&&(this.core.bodyRenderer.refreshRows([...l]),this.core.summaryRenderer.refresh(),this.core.statusBarService.refresh())},s=o.map(a=>a.validation);s.some(te)?Promise.all(s.map(a=>Promise.resolve(a))).then(i):i(s)}};var xi='<path d="M3 8.5 6.4 12 13.5 4"/>',Mi='<path d="m4 4 8 8m0-8-8 8"/>';function no(n,e){let t=document.createElement("button");return t.type="button",t.className=`mach-edit-control mach-edit-control--${n}`,t.setAttribute("aria-label",e),t.title=e,t.innerHTML=`<svg viewBox="0 0 16 16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">${n==="confirm"?xi:Mi}</svg>`,t.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation()}),t}var nt=class{constructor(e){this.core=e;this.o=null;this.i=null;this.b=null;this.B=0;this.xi=e=>{if(this.o&&!(e.isComposing||e.keyCode===229)){if(e.key==="Enter")e.preventDefault(),e.stopPropagation(),this.stopAsync(!1);else if(e.key==="Escape")e.preventDefault(),e.stopPropagation(),this.stopAsync(!0);else if(e.key==="Tab"){e.preventDefault(),e.stopPropagation();let t=this.o,r=this.core.keyboardService.nextEditable(t.rowIndex,t.column.id,e.shiftKey?-1:1);this.stopAsync(!1).then(o=>{o&&r&&(this.core.bodyRenderer.scrollToIndex(r.rowIndex,"nearest"),this.core.bodyRenderer.setFocusedCell(r.rowIndex,r.column.id),this.start(r.rowIndex,r.column))})}}}}isEditing(e,t){return this.o?e==null&&t==null?!0:this.o.rowIndex===e&&this.o.column.id===t:this.i?e==null&&t==null?!0:this.He(this.i)!==e?!1:t==null||this.i.drafts.has(t):!1}isCellEditing(){return this.o!=null}getEditingRowIndex(){return this.o?.node.rowIndex??(this.i?this.He(this.i):null)}isRowEditing(e){return this.i?e==null||this.He(this.i)===e:!1}isEditable(e,t){if(e.isDetail||e.isGroup||e.data==null)return!1;let r=t.colDef.editable;if(!r)return!1;if(typeof r=="function")try{return r({api:this.core.getApi(),colDef:t.colDef,column:t,node:e,data:e.data,value:this.core.getCellValue(e,t),rowIndex:e.rowIndex})}catch(o){return this.core.reportError(o,"editable",{colId:t.id,rowId:e.id}),!1}return!0}start(e,t,r){if(this.core.options.editType==="fullRow")return this.startRow(e,t.id);if(this.i)return!1;if(this.o)return this.o.rowIndex===e&&this.o.column.id===t.id||this.stopAsync(!1).then(p=>{p&&!this.o&&!this.i&&this.start(e,t,r)}),!0;let o=this.core.rowModel.getDisplayedRow(e);if(!o||o.data==null||!this.isEditable(o,t))return!1;let i=this.core.bodyRenderer.getCellElement(e,t.id);if(!i)return!1;this.core.cancelPendingInput();let s=this.core.getCellValue(o,t),a=this.vo(o,t,e,s,r);if(!a)return!1;I(this.core,i);let l=document.createElement("div");l.className="mach-cell-editor-shell";let d=document.createElement("div");d.className="mach-cell-editor-controls";let c=no("confirm","Confirm edit"),u=no("cancel","Cancel edit");d.append(c,u),l.append(a.el,d),i.replaceChildren(l),i.classList.add("mach-cell--editing"),i.removeAttribute("title");let h=this.xi;return a.el.addEventListener("keydown",h),c.addEventListener("click",p=>{p.stopPropagation(),this.stopAsync(!1)}),u.addEventListener("click",p=>{p.stopPropagation(),this.stopAsync(!0)}),this.o={node:o,column:t,editor:a,rowIndex:e,oldValue:s,cell:i,shell:l,keydown:h,confirmButton:c,cancelButton:u},this.or(a,t,o),this.core.emit("cellEditingStarted",{rowIndex:e,colId:t.id,rowNode:o}),!0}startRow(e,t){if(this.o||this.i)return!1;let r=this.core.rowModel.getDisplayedRow(e);if(!r||r.data==null||r.isDetail||r.isGroup)return!1;this.core.cancelPendingInput();let o=new Map;for(let l of this.core.columnModel.getOrderedVisible()){if(!this.isEditable(r,l))continue;let d=this.core.getCellValue(r,l);o.set(l.id,{column:l,oldValue:d,value:d,mounted:null})}if(o.size===0)return!1;let i={node:r,rowIndex:e,drafts:o,validating:!1};if(this.i=i,this.core.bodyRenderer.refreshRows([e]),o.size===0)return this.i=null,this.core.bodyRenderer.refreshRows([e]),!1;let s=o.values().next().value,a=(t?o.get(t):void 0)??s;return a?.mounted&&this.or(a.mounted.editor,a.column,r),this.core.emit("rowEditingStarted",{rowIndex:e,rowNode:r,data:r.data}),!0}renderEditor(e,t,r,o){if(this.o)return this.o.node===t&&this.o.column.id===r.id;let i=this.i;if(!i||i.node!==t)return!1;let s=i.drafts.get(r.id);return s?s.mounted?.cell!==o&&(s.mounted&&this.wo(s),!this.Mi(e,i,s,o))?(i.drafts.delete(r.id),!1):!0:!1}releaseCell(e,t,r){let o=this.i;if(o&&this.He(o)===e){let i=o.drafts.get(t);i?.mounted?.cell===r&&this.wo(i);return}if(this.o?.cell===r){let i=this.o;this.stopAsync(!1),this.o===i&&this.stopAsync(!0)}}stop(e=!1){this.stopAsync(e)}stopAsync(e=!1){if(this.i)return this.stopRowAsync(e);let t=this.o;if(!t)return Promise.resolve(!1);if(e)return this.B++,this.b=null,Promise.resolve(this.ve(t,!0,t.oldValue));if(this.b)return this.b;let r;try{r=t.editor.getValue()}catch(u){return this.core.reportError(u,"cellEditor.getValue",{colId:t.column.id,rowId:t.node.id}),Promise.resolve(this.ve(t,!0,t.oldValue))}try{if(t.editor.isCancelAfterEnd?.(r))return Promise.resolve(this.ve(t,!0,t.oldValue))}catch(u){return this.core.reportError(u,"cellEditor.isCancelAfterEnd",{colId:t.column.id,rowId:t.node.id}),Promise.resolve(this.ve(t,!0,t.oldValue))}let o=[{node:t.node,column:t.column,oldValue:t.oldValue,newValue:r}],i=this.core.inputService.guard(o),s=++this.B,a=()=>s===this.B&&this.o===t&&i(),l=u=>a()?u.length?(this.nr(t,!1),this.ft(t.editor,u[0].message),!1):this.ve(t,!1,r):(s===this.B&&this.o===t&&this.ve(t,!0,t.oldValue),!1),d=this.core.inputService.validate(o,a);if(!te(d))return Promise.resolve(l(d));this.nr(t,!0);let c=d.then(l).finally(()=>{this.b===c&&(this.b=null)});return this.b=c,c}stopRowAsync(e=!1){let t=this.i;if(!t)return Promise.resolve(!1);if(e)return this.B++,this.b=null,Promise.resolve(this.mt(t,!0));if(this.b)return this.b;for(let u of t.drafts.values())this.gt(u);let r=[...t.drafts.values()].filter(u=>!Object.is(u.oldValue,u.value));if(r.length===0)return Promise.resolve(this.mt(t,!1));let o=this.bo(t,r),i=this.core.inputService.guard(o),s=++this.B,a=()=>s===this.B&&this.i===t&&i();for(let u of r)u.error=void 0;let l=u=>a()?u.length?(this.Co(t,u.map(({colId:h,message:p})=>({draft:t.drafts.get(h)??r[0],message:p}))),!1):this.mt(t,!1):(s===this.B&&this.i===t&&this.mt(t,!0),!1),d=this.core.inputService.validate(o,a);if(!te(d))return Promise.resolve(l(d));t.validating=!0,this.To(t,!0);let c=d.then(l).finally(()=>{this.b===c&&(this.b=null)});return this.b=c,c}ve(e,t,r){if(this.o!==e)return!1;let o={node:e.node,column:e.column,oldValue:e.oldValue,newValue:r},i=!t&&r!==void 0&&!Object.is(e.oldValue,r);if(i){let s=this.core.inputService.commit([o],()=>!this.core.isDestroyed());if(s)return this.nr(e,!1),this.ft(e.editor,s.message),!1}return this.o=null,i&&this.core.notifyCellValueChanged(e.node,e.column,e.oldValue,r),this.ir(e,!0),this.core.emit("cellEditingStopped",{rowIndex:e.rowIndex,colId:e.column.id,rowNode:e.node,oldValue:e.oldValue,newValue:i?r:e.oldValue}),e.node.rowIndex>=0&&this.core.bodyRenderer.refreshRows([e.node.rowIndex]),this.core.summaryRenderer.refresh(),this.core.statusBarService.refresh(),!0}mt(e,t){if(this.i!==e)return!1;let r=t?[]:this.ki(e);if(r==null)return!1;for(let i of e.drafts.values())t||this.gt(i),i.mounted&&this.ir(i.mounted,!0),i.mounted=null;this.i=null;let o=this.He(e);return this.core.emit("rowEditingStopped",{rowIndex:o,rowNode:e.node,data:e.node.data,cancelled:t,changes:r}),o>=0&&this.core.bodyRenderer.refreshRows([o]),this.core.summaryRenderer.refresh(),this.core.statusBarService.refresh(),!0}ki(e){let t=[...e.drafts.values()].filter(s=>!Object.is(s.oldValue,s.value));if(t.length===0)return[];let r=this.bo(e,t),o=this.core.inputService.commit(r,()=>!this.core.isDestroyed());if(o)return this.Co(e,[{draft:e.drafts.get(o.colId)??t[0],message:o.message}]),null;let i=this.core.inputService.scope(r);this.core.undoService.beginBatch();try{for(let s of r){if(!i())break;this.core.notifyCellValueChanged(e.node,s.column,s.oldValue,s.newValue)}}finally{this.core.undoService.endBatch()}return r.map(({column:s,oldValue:a,newValue:l})=>({colId:s.id,oldValue:a,newValue:l}))}bo(e,t){return t.map(({column:r,oldValue:o,value:i})=>({node:e.node,column:r,oldValue:o,newValue:i}))}Mi(e,t,r,o){let i=this.vo(t.node,r.column,e,r.value,null);if(!i)return!1;I(this.core,o);let s=document.createElement("div");s.className="mach-row-editor-shell",s.appendChild(i.el),o.replaceChildren(s),o.classList.add("mach-cell--editing","mach-cell--row-editing"),o.removeAttribute("title");let a=d=>this.Ii(d,t,r),l=()=>{try{r.value=i.getValue(),r.error=void 0}catch{}};return i.el.addEventListener("keydown",a),i.el.addEventListener("input",l),r.mounted={editor:i,cell:o,shell:s,keydown:a,input:l},r.error&&this.ft(i,r.error),t.validating&&(i.el.classList.add("mach-editor-validating"),i.el.setAttribute("aria-busy","true"),i.el.inert=!0),!0}wo(e){e.mounted&&(this.gt(e),this.ir(e.mounted,!0),e.mounted=null)}gt(e){if(e.mounted)try{let t=e.mounted.editor.getValue();t!==void 0&&(e.value=t)}catch(t){this.core.reportError(t,"cellEditor.getValue",{colId:e.column.id,rowId:this.i?.node.id})}}vo(e,t,r,o,i){let s=t.colDef,a;try{let l={api:this.core.getApi(),colDef:s,column:t,node:e,data:e.data,value:o,rowIndex:r,keyPress:i};typeof s.cellEditor=="function"?a=s.cellEditor(l):typeof s.cellEditor=="string"&&!["text","number","date","select"].includes(s.cellEditor)?a=this.core.resolveCellEditor(s.cellEditor)?.(l)??Qt(t,o,i):a=Qt(t,o,i)}catch(l){return this.core.reportError(l,"cellEditor",{colId:t.id,rowId:e.id}),null}if(!a||!(a.el instanceof HTMLElement))return this.core.reportError(new Error("cellEditor must return an editor with an HTMLElement el"),"cellEditor",{colId:t.id,rowId:e.id}),null;try{if(a.isCancelBeforeStart?.())return a.destroy?.(),null}catch(l){this.core.reportError(l,"cellEditor.isCancelBeforeStart",{colId:t.id,rowId:e.id});try{a.destroy?.()}catch{}return null}return a}Co(e,t){e.validating=!1,this.To(e,!1);for(let{draft:r,message:o}of t)r.error=o,r.mounted&&this.ft(r.mounted.editor,o);t[0].draft.mounted?.editor.focus?.()}ft(e,t){let r=e.el;r.classList.add("mach-editor-invalid"),r.setAttribute("title",t),r.setAttribute("aria-invalid","true"),r.classList.remove("mach-editor-validating"),r.removeAttribute("aria-busy"),r.inert=!1,(r.querySelector(".mach-select-trigger, input:not([type='hidden']), select:not([hidden]), textarea")??r).focus?.();let i=()=>{r.classList.remove("mach-editor-invalid"),r.removeAttribute("title"),r.removeAttribute("aria-invalid")};r.addEventListener("input",i,{once:!0})}nr(e,t){e.editor.el.classList.toggle("mach-editor-validating",t),t?e.editor.el.setAttribute("aria-busy","true"):e.editor.el.removeAttribute("aria-busy"),e.editor.el.inert=t,e.confirmButton.disabled=t,e.cancelButton.disabled=!1,e.shell.classList.toggle("mach-editor-shell--busy",t)}To(e,t){for(let r of e.drafts.values()){let o=r.mounted?.editor.el;o&&(o.classList.toggle("mach-editor-validating",t),t?o.setAttribute("aria-busy","true"):o.removeAttribute("aria-busy"),o.inert=t)}}or(e,t,r){try{e.focus?.()}catch(o){this.core.reportError(o,"cellEditor.focus",{colId:t.id,rowId:r.id})}}ir(e,t){e.editor.el.removeEventListener("keydown",e.keydown),e.input&&e.editor.el.removeEventListener("input",e.input),e.editor.el.classList.remove("mach-editor-validating"),e.editor.el.removeAttribute("aria-busy"),e.editor.el.inert=!1;try{e.editor.destroy?.()}catch(r){this.core.reportError(r,"cellEditor.destroy",{colId:e.cell.dataset.colId})}t&&e.cell.classList.remove("mach-cell--editing","mach-cell--row-editing","mach-cell--error")}He(e){return e.node.rowIndex>=0?e.node.rowIndex:e.rowIndex}Ii(e,t,r){if(this.i!==t)return;if(e.key==="Escape"){e.preventDefault(),e.stopPropagation(),this.stopRowAsync(!0);return}if(e.key==="Enter"&&!e.shiftKey){e.preventDefault(),e.stopPropagation(),this.stopRowAsync(!1);return}if(e.key!=="Tab")return;e.preventDefault(),e.stopPropagation(),this.gt(r);let o=[...t.drafts.values()],i=o.indexOf(r),s=e.shiftKey?-1:1;for(let a=1;a<=o.length;a++){let l=o[(i+s*a+o.length)%o.length];if(l.mounted){this.or(l.mounted.editor,l.column,t.node);break}}}destroy(){(this.o||this.i)&&this.stopAsync(!0)}};var D={matchContains:"\u5305\u542B",matchNotContains:"\u4E0D\u5305\u542B",matchEquals:"\u7B49\u4E8E",matchNotEquals:"\u4E0D\u7B49\u4E8E",matchStartsWith:"\u5F00\u5934\u662F",matchEndsWith:"\u7ED3\u5C3E\u662F",matchBlank:"\u4E3A\u7A7A",matchNotBlank:"\u4E0D\u4E3A\u7A7A",matchLessThan:"\u5C0F\u4E8E",matchLessThanOrEqual:"\u5C0F\u4E8E\u7B49\u4E8E",matchGreaterThan:"\u5927\u4E8E",matchGreaterThanOrEqual:"\u5927\u4E8E\u7B49\u4E8E",matchInRange:"\u5728\u8303\u56F4\u5185",apply:"\u5E94\u7528",reset:"\u91CD\u7F6E",search:"\u641C\u7D22...",emptySetLabel:"(\u7A7A)",selectedCount:"\u5DF2\u9009 {n} \u9879",sortAsc:"\u5347\u5E8F",sortDesc:"\u964D\u5E8F",clearSort:"\u53D6\u6D88\u6392\u5E8F",pinLeft:"\u56FA\u5B9A\u5DE6\u4FA7",pinRight:"\u56FA\u5B9A\u53F3\u4FA7",clearPin:"\u53D6\u6D88\u56FA\u5B9A",autoSize:"\u81EA\u9002\u5E94\u5217\u5BBD",hideColumn:"\u9690\u85CF\u6B64\u5217",columnVisibility:"\u5217\u663E\u793A",resetAll:"\u91CD\u7F6E\u5168\u90E8",autoSizeAll:"\u5168\u90E8\u81EA\u9002\u5E94",columnSettings:"\u5217\u8BBE\u7F6E",totalLabel:"\u5408\u8BA1",totalRowsLabel:"\u5171 {n} \u884C",menuCopy:"\u590D\u5236",menuPaste:"\u7C98\u8D34",menuClearContents:"\u6E05\u9664\u5185\u5BB9",loading:"\u52A0\u8F7D\u4E2D...",statusSelected:"\u5DF2\u9009 {n} \u884C",statusSum:"\u548C {n}",statusAvg:"\u5747 {n}",statusCount:"\u8BA1 {n}",emptyRows:"\u6682\u65E0\u6570\u636E",emptyRowsHint:"\u6CA1\u6709\u53EF\u663E\u793A\u7684\u884C",paginationTotal:"\u5171 {n} \u6761",paginationPage:"\u7B2C {a} / {b} \u9875",perPage:"{n} \u6761/\u9875",pageFirst:"\u9996\u9875",pagePrev:"\u4E0A\u4E00\u9875",pageNext:"\u4E0B\u4E00\u9875",pageLast:"\u672B\u9875",requestFailed:"\u6570\u636E\u52A0\u8F7D\u5931\u8D25",requestFailedHint:"\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5",actionView:"\u67E5\u770B",actionEdit:"\u7F16\u8F91",actionDelete:"\u5220\u9664",actionConfirm:"\u786E\u8BA4",actionSave:"\u4FDD\u5B58",actionCancel:"\u53D6\u6D88",actionMore:"\u66F4\u591A\u64CD\u4F5C",rowDragHandle:"\u62D6\u52A8\u8C03\u6574\u987A\u5E8F\uFF1BAlt + \u4E0A\u4E0B\u65B9\u5411\u952E\u79FB\u52A8",rowDragUnavailable:"\u5F53\u524D\u6392\u5E8F\u6216\u6570\u636E\u6A21\u5F0F\u4E0D\u652F\u6301\u81EA\u52A8\u8C03\u6574\u987A\u5E8F",rowDragPosition:"\u7B2C {a} \u884C \u2192 \u7B2C {b} \u884C",rowDragOutside:"\u79FB\u56DE\u8868\u683C\u5185\u653E\u7F6E \xB7 Esc \u53D6\u6D88"},io={matchContains:"Contains",matchNotContains:"Not Contains",matchEquals:"Equals",matchNotEquals:"Not Equals",matchStartsWith:"Starts With",matchEndsWith:"Ends With",matchBlank:"Blank",matchNotBlank:"Not Blank",matchLessThan:"Less Than",matchLessThanOrEqual:"\u2264",matchGreaterThan:"Greater Than",matchGreaterThanOrEqual:"\u2265",matchInRange:"In Range",apply:"Apply",reset:"Reset",search:"Search...",emptySetLabel:"(blank)",selectedCount:"{n} selected",sortAsc:"Ascending",sortDesc:"Descending",clearSort:"Clear Sort",pinLeft:"Pin Left",pinRight:"Pin Right",clearPin:"Unpin",autoSize:"Auto Fit",hideColumn:"Hide Column",columnVisibility:"Columns",resetAll:"Reset All",autoSizeAll:"Fit All",columnSettings:"Column Settings",totalLabel:"Total",totalRowsLabel:"{n} rows",menuCopy:"Copy",menuPaste:"Paste",menuClearContents:"Clear Contents",loading:"Loading...",statusSelected:"{n} selected",statusSum:"Sum {n}",statusAvg:"Avg {n}",statusCount:"Cnt {n}",emptyRows:"No Data",emptyRowsHint:"No rows to display",paginationTotal:"{n} items",paginationPage:"Page {a} / {b}",perPage:"{n} / page",pageFirst:"First",pagePrev:"Previous",pageNext:"Next",pageLast:"Last",requestFailed:"Unable to load data",requestFailedHint:"Check your connection and try again",actionView:"View",actionEdit:"Edit",actionDelete:"Delete",actionConfirm:"Confirm",actionSave:"Save",actionCancel:"Cancel",actionMore:"More actions",rowDragHandle:"Drag to reorder; Alt + Up/Down to move",rowDragUnavailable:"Reordering is unavailable in the current sort or data mode",rowDragPosition:"Row {a} \u2192 Row {b}",rowDragOutside:"Move inside to drop \xB7 Esc to cancel"},ki={contains:"matchContains",notContains:"matchNotContains",equals:"matchEquals",notEquals:"matchNotEquals",startsWith:"matchStartsWith",endsWith:"matchEndsWith",blank:"matchBlank",notBlank:"matchNotBlank",lessThan:"matchLessThan",lessThanOrEqual:"matchLessThanOrEqual",greaterThan:"matchGreaterThan",greaterThanOrEqual:"matchGreaterThanOrEqual",inRange:"matchInRange"};function it(n){return ki[n]??"matchEquals"}function V(n,e){return n.replace("{n}",String(e))}function ue(n,e,t){return n.replace("{a}",String(e)).replace("{b}",String(t))}var Ii=["contains","notContains","equals","notEquals","startsWith","endsWith","blank","notBlank"],Ai=["equals","notEquals","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inRange","blank","notBlank"],Li=["equals","notEquals","lessThan","greaterThan","inRange","blank","notBlank"];function rr(n){return n==="blank"||n==="notBlank"}function Pi(n){return n==="number"?Ai:n==="date"?Li:Ii}function st(n){return n===null?"null:":`${typeof n}:${String(n)}`}var at=class{constructor(e){this.core=e;this.r=null;this.z=null;this.we=null;this._=e=>{if(!this.r)return;let t=e.target;if(!this.r.contains(t)&&!this.we?.contains(t)){this.close();return}this.we?.contains(t)||(!(t instanceof Element)||!t.closest(".mach-filter-select-control"))&&this.Ro()};this.W=e=>{if(e.key==="Escape"){if(this.Ro(!0)){e.preventDefault(),e.stopPropagation();return}this.close()}}}toggle(e,t){if(this.z===e.id){this.close();return}this.close(),this.open(e,t)}open(e,t){let r=this.core.rowModel.getFilterModel()[e.id]??null,o=r?.type??e.filterType,i=f("div","mach-filter-panel");i.setAttribute("role","dialog"),i.setAttribute("aria-label",`${e.id} filter`),o==="set"?this.Ai(i,e,r):this.Li(i,e,o,r);let s=f("div","mach-filter-footer"),a=f("button","mach-filter-btn-reset");a.type="button",a.textContent=this.core.getLocaleText("reset"),a.addEventListener("click",()=>{this.core.applyColumnFilter(e,null),this.close()});let l=f("button","mach-filter-btn-apply");l.type="button",l.textContent=this.core.getLocaleText("apply"),l.addEventListener("click",()=>{let m=this.Do(i);this.core.applyColumnFilter(e,m),this.close()}),s.append(a,l),i.appendChild(s),L(i,this.core.skeleton.root),document.body.appendChild(i),this.r=i,this.z=e.id;let d=t.getBoundingClientRect(),c=i.getBoundingClientRect(),u=E(d.left,8,window.innerWidth-c.width-8),h=d.bottom+4;h+c.height>window.innerHeight-8&&(h=Math.max(8,d.top-c.height-4)),i.style.left=`${u}px`,i.style.top=`${h}px`,document.addEventListener("mousedown",this._,!0),document.addEventListener("keydown",this.W,!0),i.querySelector(".mach-filter-select-trigger, input")?.focus()}close(){this.r&&(this.we?.destroy(),this.we=null,this.r.remove(),this.r=null,this.z=null,document.removeEventListener("mousedown",this._,!0),document.removeEventListener("keydown",this.W,!0))}destroy(){this.close()}Li(e,t,r,o){let i=o&&o.type!=="set"&&o.conditions.length>0?o.conditions[0]:null,s=i?.match??(r==="text"?"contains":"equals"),{root:a,select:l}=this.Pi(r,s),d=this.Eo(r),c=this.Eo(r,!0);this.Gi(r,s,i,d,c),this.So(s,d,c),l.addEventListener("change",()=>{this.So(l.value,d,c)}),this.Ni(t,e,d,c);let u=f("div","mach-filter-body");u.append(a,d,c),e.appendChild(u),e.dataset.filterType=r}Pi(e,t){let r=U({ariaLabel:"Filter condition",options:Pi(e).map(o=>({value:o,label:this.core.getLocaleText(it(o))})),value:t,classNames:{root:"mach-filter-select-control",native:"mach-filter-select",trigger:"mach-filter-select-trigger",value:"mach-filter-select-value",caret:"mach-filter-select-caret",listbox:"mach-filter-listbox",option:"mach-filter-listbox-option"},themeSource:this.core.skeleton.root});return this.we=r,{root:r.el,select:r.native}}Ro(e=!1){return this.we?.close(e)??!1}Eo(e,t=!1){let o=f("input",`mach-filter-input${t?" mach-filter-input--second":""}`);return e==="number"&&(o.type="number"),e==="date"&&(o.type="date"),o}Gi(e,t,r,o,i){r?.value!=null&&!rr(t)&&(o.value=e==="date"?String(r.value).slice(0,10):String(r.value)),r&&"value2"in r&&r.value2!=null&&(i.value=e==="date"?String(r.value2).slice(0,10):String(r.value2))}So(e,t,r){t.style.display=rr(e)?"none":"",r.style.display=e==="inRange"?"":"none"}Ni(e,t,r,o){let i=s=>{s.key==="Enter"&&(this.core.applyColumnFilter(e,this.Do(t)),this.close())};r.addEventListener("keydown",i),o.addEventListener("keydown",i)}Ai(e,t,r){let i=t.colDef.filterParams,s;if(i?.values)s=i.values;else{let g=new Set;s=[];let y=this.core.rowModel.getAllNodes(),v=Math.min(y.length,i?.maxValues??500);for(let b=0;b<v;b++){let T=this.core.getCellValue(y[b],t),x=st(T??null);g.has(x)||(g.add(x),s.push(T))}}let a=new Set(r?.type==="set"?r.values.map(st):s.map(st)),l=f("input","mach-filter-input mach-filter-input--search");l.type="text",l.placeholder=this.core.getLocaleText("search");let d=f("div","mach-filter-set-list"),c=[],u=new Map,h=g=>{d.textContent="",c.length=0;let y=g.trim().toLowerCase();for(let v of s){let b=v==null?this.core.getLocaleText("emptySetLabel"):String(v);if(y&&!b.toLowerCase().includes(y))continue;let T=st(v);u.set(T,v);let x=f("label","mach-filter-set-item"),w=document.createElement("input");w.type="checkbox",w.checked=a.has(T),w.addEventListener("change",()=>{w.checked?a.add(T):a.delete(T),e.dataset.setSelected=JSON.stringify([...a])});let C=f("span");C.textContent=b,x.append(w,C),d.appendChild(x),c.push(w)}};l.addEventListener("input",()=>h(l.value)),h(""),e.dataset.filterType="set",e.dataset.setValues=JSON.stringify([...u.entries()]),e.dataset.setSelected=JSON.stringify([...a]),(()=>{let g=[...u.entries()];e.dataset.setValues=JSON.stringify(g)})();let m=f("div","mach-filter-body mach-filter-body--set");m.append(l,d),e.appendChild(m)}Do(e){let t=e.dataset.filterType;if(t==="set")return this.Fi(e);if(t!=="text"&&t!=="number"&&t!=="date")return null;let r=e.querySelector(".mach-filter-select"),o=e.querySelectorAll(".mach-filter-input"),i=o[0],s=o[1];if(!r||!i)return null;let a=r.value;if(rr(a))return{type:t,conditions:[{match:a}]};let l=i.value;return l===""&&a!=="inRange"?null:t==="number"?this.Oi(a,l,s):t==="date"?this.Hi(a,l,s):{type:"text",conditions:[{match:a,value:l}]}}Fi(e){let t=[],r=[];try{t=JSON.parse(e.dataset.setValues??"[]"),r=JSON.parse(e.dataset.setSelected??"[]")}catch{return null}let o=new Set(r),i=t.filter(([s])=>o.has(s)).map(([,s])=>s);return i.length===t.length||i.length===0?null:{type:"set",values:i}}Oi(e,t,r){let o=Number(t);if(Number.isNaN(o))return null;if(e!=="inRange")return{type:"number",conditions:[{match:e,value:o}]};let i=r?.value?Number(r.value):o;return Number.isNaN(i)?null:{type:"number",conditions:[{match:"inRange",value:o,value2:i}]}}Hi(e,t,r){return e!=="inRange"?{type:"date",conditions:[{match:e,value:t}]}:{type:"date",conditions:[{match:"inRange",value:t,value2:r?.value||t}]}}};var lt=class{constructor(e){this.core=e;this.r=null;this.z=null;this.yt=null;this.vt="";this.Ve=new Set;this._=e=>{let t=e.target;this.r&&!this.r.contains(t)&&!this.Vi(t)&&this.close()};this.W=e=>{if(e.key!=="Escape")return;if([...this.Ve].find(r=>r.isOpen())?.close(!0)){e.preventDefault(),e.stopImmediatePropagation();return}this.close()}}toggle(e,t){if(this.z===e.id){this.close();return}this.close(),this.open(e,t)}openStandalone(e){this.close();let t=e??(()=>{let o=this.core.skeleton.root.getBoundingClientRect(),i=document.createElement("div");return i.style.position="fixed",i.style.left=`${o.right-16}px`,i.style.top=`${o.top+this.core.options.headerHeight}px`,i.style.width="1px",i.style.height="1px",document.body.appendChild(i),this.yt=i,i})();this.open(null,t)}close(){this.xo(),this.yt&&(this.yt.remove(),this.yt=null),this.r?.remove(),this.r=null,this.z=null,document.removeEventListener("mousedown",this._,!0),document.removeEventListener("keydown",this.W,!0)}destroy(){this.close()}open(e,t){let r=this.core.getApi(),o=f("div","mach-filter-panel mach-column-panel");o.setAttribute("role",e?"menu":"dialog"),e||(o.setAttribute("aria-modal","false"),o.setAttribute("aria-label",this.core.getLocaleText("columnSettings")));let i=f("div","mach-column-panel-title");if(i.textContent=e?e.colDef.headerName??e.colDef.field??e.id:this.core.getLocaleText("columnSettings"),o.appendChild(i),e&&e.sortable){let w=f("div","mach-column-panel-actions"),C=(k,M)=>{let B=f("button","mach-column-panel-btn");return B.type="button",B.textContent=this.core.getLocaleText(k),B.addEventListener("click",()=>{r.sorting.setModel(M?[{colId:e.id,direction:M}]:[]),this.close()}),B};w.append(C("sortAsc","asc"),C("sortDesc","desc"),C("clearSort",null)),o.appendChild(w)}let s=f("div","mach-column-panel-actions"),a=(w,C)=>{let k=f("button","mach-column-panel-btn");return k.type="button",k.textContent=this.core.getLocaleText(w),k.addEventListener("click",()=>{e&&r.columns.setPinned(e.id,C),this.close()}),k};e&&(s.append(a("pinLeft","left"),a("pinRight","right"),a("clearPin",null)),o.appendChild(s));let l=f("div","mach-column-panel-actions"),d=f("button","mach-column-panel-btn");d.type="button",d.textContent=this.core.getLocaleText("autoSize"),d.addEventListener("click",()=>{e?r.columns.autoSize(e.id):r.columns.autoSizeAll(),this.close()});let c=f("button","mach-column-panel-btn");c.type="button",c.textContent=this.core.getLocaleText("hideColumn"),c.addEventListener("click",()=>{e&&r.columns.setVisible(e.id,!1),this.close()}),e&&(l.append(d,c),o.appendChild(l));let u=f("div","mach-column-panel-divider");o.appendChild(u);let h=f("div","mach-column-panel-subtitle");if(h.textContent=this.core.getLocaleText("columnVisibility"),o.appendChild(h),!e){let w=document.createElement("input");w.type="search",w.className="mach-column-workbench-search",w.placeholder=this.core.getLocaleText("search"),w.setAttribute("aria-label",this.core.getLocaleText("search")),w.value=this.vt,w.addEventListener("input",()=>{this.vt=w.value.trim().toLocaleLowerCase(),this.sr(p,!0)}),o.appendChild(w)}let p=f("div","mach-column-panel-list");this.sr(p,!e),o.appendChild(p);let m=f("div","mach-filter-footer"),g=f("button","mach-filter-btn-reset");g.type="button",g.textContent=this.core.getLocaleText("resetAll"),g.addEventListener("click",()=>{r.columns.resetState(),this.close()});let y=f("button","mach-filter-btn-apply");y.type="button",y.textContent=this.core.getLocaleText("autoSizeAll"),y.addEventListener("click",()=>{r.columns.autoSizeAll(),this.close()}),m.append(g,y),o.appendChild(m),L(o,this.core.skeleton.root),document.body.appendChild(o),this.r=o,this.z=e?e.id:"__standalone__";let v=t.getBoundingClientRect(),b=o.getBoundingClientRect(),T=E(v.left,8,window.innerWidth-b.width-8),x=v.bottom+4;x+b.height>window.innerHeight-8&&(x=Math.max(8,v.top-b.height-4)),o.style.left=`${T}px`,o.style.top=`${x}px`,document.addEventListener("mousedown",this._,!0),document.addEventListener("keydown",this.W,!0)}ar(){if(!this.r)return;let e=this.r.querySelector(".mach-column-panel-list");e&&this.sr(e,this.z==="__standalone__")}sr(e,t){let r=this.core.getApi();this.xo(e),e.replaceChildren();let o=this.core.columnModel.getColumns().filter(i=>i.isDetailToggle?!1:!t||!this.vt?!0:`${i.colDef.headerName??i.colDef.field??i.id} ${i.id}`.toLocaleLowerCase().includes(this.vt));for(let i of o){let s=f("div",t?"mach-column-workbench-item":"mach-filter-set-item"),a=f("label","mach-column-workbench-label"),l=document.createElement("input");l.type="checkbox",l.checked=!i.hide,l.disabled=i.hasCheckbox,l.addEventListener("change",()=>{r.columns.setVisible(i.id,l.checked),this.ar()});let d=f("span","mach-column-workbench-name");if(d.textContent=i.colDef.headerName??i.colDef.field??i.id,d.title=`${d.textContent} (${i.id})`,a.append(l,d),s.appendChild(a),t){let c=U({ariaLabel:`${d.textContent} ${this.core.getLocaleText("clearPin")}`,options:[{value:"",label:this.core.getLocaleText("clearPin")},{value:"left",label:this.core.getLocaleText("pinLeft")},{value:"right",label:this.core.getLocaleText("pinRight")}],value:i.pinned??"",classNames:{root:"mach-column-workbench-pin-control",native:"mach-column-workbench-pin"},themeSource:this.core.skeleton.root,onChange:m=>{r.columns.setPinned(i.id,m==="left"||m==="right"?m:null),this.ar()}});c.trigger.disabled=!i.movable,c.native.disabled=!i.movable,this.Ve.add(c),s.appendChild(c.el);let u=this.core.columnModel.getColumns().filter(m=>!m.hide&&m.parentGroup===i.parentGroup&&(i.parentGroup!=null||m.pinned===i.pinned)),h=u.indexOf(i),p=(m,g,y)=>{let v=f("button","mach-column-workbench-move");return v.type="button",v.textContent=m,v.disabled=y||i.hide||!i.movable,v.addEventListener("click",()=>{r.columns.move(i.id,g),this.ar()}),v};s.append(p("\u2191",h-1,h<=0),p("\u2193",h+1,h<0||h>=u.length-1))}e.appendChild(s)}}Vi(e){return[...this.Ve].some(t=>t.contains(e))}xo(e){for(let t of[...this.Ve])e&&!e.contains(t.el)||(t.destroy(),this.Ve.delete(t))}};var dt=class{constructor(e){this.core=e;this.r=null;this._=e=>{this.r&&!this.r.contains(e.target)&&this.close()};this.W=e=>{e.key==="Escape"&&this.close()}}Bi(e){if(e){let i=this.core.rowModel.getDisplayedRow(e.rowIndex),s=this.core.columnModel.getColumn(e.colId);return i&&s?{node:i,column:s}:null}let t=this.core.bodyRenderer.getNormalizedRangeOrFocus();if(!t)return null;let r=this.core.rowModel.getDisplayedRow(t.r1),o=this.core.columnModel.getOrderedVisible()[t.c1];return r&&o?{node:r,column:o}:null}zi(e,t){let r=this.core.options.getContextMenuItems;if(!r)return null;try{return r({data:e.data,node:e,api:this.core.getApi(),colId:t.id,value:this.core.getCellValue(e,t),rowIndex:e.rowIndex})??null}catch(o){return this.core.reportError(o,"getContextMenuItems",{colId:t.id,rowId:e.id}),null}}_i(e,t,r,o){let i=!1;for(let s of t){if(s.separator){e.appendChild(f("div","mach-context-menu-separator"));continue}let a=f("button","mach-context-menu-item");a.type="button",a.textContent=s.label??"",s.danger&&a.classList.add("mach-context-menu-item--danger"),a.disabled=s.disabled===!0,a.disabled||(i=!0,a.addEventListener("click",()=>this.Wi(s,r,o))),e.appendChild(a)}return i}Wi(e,t,r){this.close();try{e.action?.()}catch(o){this.core.reportError(o,"contextMenu.action",{colId:r.id,rowId:t.id})}}lr(e,t,r){let o=f("button","mach-context-menu-item");o.type="button",o.textContent=t,o.addEventListener("click",r),e.appendChild(o)}$i(e){let t=this.core;this.lr(e,t.getLocaleText("menuCopy"),()=>{t.copyActiveRange(),this.close()}),!t.options.suppressClipboard&&(this.lr(e,t.getLocaleText("menuPaste"),()=>{t.pasteFromSystemClipboard(),this.close()}),this.lr(e,t.getLocaleText("menuClearContents"),()=>{let r=t.bodyRenderer.getNormalizedRangeOrFocus();r&&t.clearRangeValues(r),this.close()}))}open(e,t,r){this.close();let o=this.Bi(r);if(!o)return;let i=f("div","mach-context-menu");if(i.setAttribute("role","menu"),this.core.options.getContextMenuItems){let s=this.zi(o.node,o.column);if(!s||!this._i(i,s,o.node,o.column))return;this.Mo(i,e,t);return}this.$i(i),this.Mo(i,e,t)}Mo(e,t,r){L(e,this.core.skeleton.root),document.body.appendChild(e),this.r=e;let o=e.getBoundingClientRect(),i=E(t,8,Math.max(8,window.innerWidth-o.width-8)),s=E(r,8,Math.max(8,window.innerHeight-o.height-8));e.style.left=`${i}px`,e.style.top=`${s}px`,document.addEventListener("mousedown",this._,!0),document.addEventListener("keydown",this.W,!0)}close(){this.r&&(this.r.remove(),this.r=null,document.removeEventListener("mousedown",this._,!0),document.removeEventListener("keydown",this.W,!0))}destroy(){this.close()}};var ct=class{constructor(e){this.core=e;this.r=null;this.wt=0;this.dr=0;this.Be=null;this.ze=e=>{if(this.core.isDestroyed()||!this.core.options.tooltipComponent)return;let r=e.target.closest(".mach-cell");if(!r||r===this.Be)return;this.cr(),this.bt(),this.Be=r;let o=this.Ki(r);if(!o||r.classList.contains("mach-cell--editing"))return;let i=this.qi(o.node,o.column,o.index);this.Ui(i,o.column)&&(this.wt=window.setTimeout(()=>{this.core.isDestroyed()||this.Be!==r||this.ji(r,i)},Math.max(0,this.core.options.tooltipShowDelay)))};this.ko=()=>{this.hide()}}init(){let e=this.core.skeleton.bodyEl;e.addEventListener("mouseover",this.ze),e.addEventListener("mouseleave",this.ko)}destroy(){this.cr(),this.bt();let e=this.core.skeleton.bodyEl;e.removeEventListener("mouseover",this.ze),e.removeEventListener("mouseleave",this.ko),this.Be=null}hide(){this.cr(),this.bt(),this.Be=null}cr(){this.wt&&(clearTimeout(this.wt),this.wt=0),this.dr&&(clearTimeout(this.dr),this.dr=0)}bt(){this.r&&(this.r.remove(),this.r=null)}Ki(e){let t=e.dataset.colId??"",r=Number(e.closest(".mach-row")?.dataset.index);if(Number.isNaN(r))return null;let o=this.core.rowModel.getDisplayedRow(r),i=t?this.core.columnModel.getColumn(t):void 0;return!o||!i||o.isDetail||o.isGroup?null:{node:o,column:i,index:r}}qi(e,t,r){return{data:e.data,node:e,api:this.core.getApi(),colId:t.id,value:this.core.getCellValue(e,t),formatted:$(this.core,e,t),rowIndex:r}}Ui(e,t){let r=t.colDef.tooltipValueGetter;if(!r)return!!e.formatted;try{r({...e,colDef:t.colDef,column:t})}catch(o){this.core.reportError(o,"tooltipValueGetter",{colId:t.id,rowId:e.node.id})}return!0}ji(e,t){this.bt();let r=this.core.options.tooltipComponent;if(!r)return;let o=f("div","mach-tooltip");o.setAttribute("role","tooltip");let i;try{i=r(t)}catch(c){this.core.reportError(c,"tooltipComponent",{colId:t.colId,rowIndex:t.rowIndex});return}typeof i=="string"?o.textContent=i:o.appendChild(i),L(o,this.core.skeleton.root),document.body.appendChild(o),this.r=o;let s=e.getBoundingClientRect(),a=o.getBoundingClientRect(),l=E(s.left,8,Math.max(8,window.innerWidth-a.width-8)),d=s.bottom+6;d+a.height>window.innerHeight-8&&(d=Math.max(8,s.top-a.height-6)),o.style.left=`${l}px`,o.style.top=`${d}px`}};var ut=class{constructor(e){this.core=e;this.overlay=null}init(){this.overlay=document.createElement("div"),this.overlay.className="mach-watermark",this.overlay.setAttribute("aria-hidden","true"),this.overlay.style.pointerEvents="none",this.core.skeleton.root.appendChild(this.overlay),this.apply()}apply(){if(!this.overlay||this.core.isDestroyed())return;let e=this.core.options.watermarkEnabled?this.core.options.watermarkConfig:null;if(!e||!e.text){this.overlay.style.display="none",this.overlay.style.backgroundImage="";return}let t=this.Yi(e);this.overlay.style.display="",t?(this.overlay.style.backgroundImage=`url(${t})`,this.overlay.style.backgroundColor=""):this.overlay.style.backgroundImage=""}Yi(e){try{let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)return null;let o=e.fontSize??14,i=e.gap??160,s=e.angle??-22,a=e.color??(this.Xi()?"rgba(255,255,255,0.9)":"rgba(31,55,88,0.9)"),l=e.opacity??.06;r.font=`500 ${o}px sans-serif`;let d=r.measureText(e.text),c=Math.ceil(d.width),u=Math.max(i,c+40);t.width=u,t.height=u;let h=t.getContext("2d");return h.clearRect(0,0,u,u),h.globalAlpha=l,h.fillStyle=a,h.font=`500 ${o}px sans-serif`,h.translate(u/2,u/2),h.rotate(s*Math.PI/180),h.textAlign="center",h.textBaseline="middle",h.fillText(e.text,0,0),t.toDataURL("image/png")}catch{return null}}Xi(){return this.core.skeleton.root.classList.contains("mach-theme-dark")}refresh(){this.apply()}destroy(){this.overlay?.remove(),this.overlay=null}};var ht=class{constructor(e){this.core=e;this.stack=[];this.C=-1;this.pending=null}beginBatch(){this.pending||(this.pending=[])}endBatch(){if(!this.pending)return;let e=this.pending;this.pending=null,e.length>0&&this.push(e)}cancelBatch(){this.pending=null}record(e){if(this.pending){this.pending.push(e);return}this.push([e])}push(e){let t=Math.max(0,this.core.options.undoStackSize);if(t!==0){for(this.stack.length=this.C+1,this.stack.push(e);this.stack.length>t;)this.stack.shift();this.C=this.stack.length-1}}trimToSize(){let e=Math.max(0,this.core.options.undoStackSize);if(e===0){this.clear();return}for(;this.stack.length>e;)this.stack.shift(),this.C--;this.C<-1&&(this.C=-1)}canUndo(){return this.C>=0}canRedo(){return this.C<this.stack.length-1}undo(){return this.core.cancelPendingInput(),this.canUndo()?(this.apply(this.stack[this.C],!1),this.C--,!0):!1}redo(){return this.core.cancelPendingInput(),this.canRedo()?(this.C++,this.apply(this.stack[this.C],!0),!0):!1}apply(e,t){let r=this.core,o=[];for(let i of e){let s=r.rowModel.getNodeById(i.nodeId),a=r.columnModel.getColumn(i.columnId);if(!s||!a||s.data==null)continue;let l=t?i.newValue:i.oldValue,d=t?i.oldValue:i.newValue;r.writeValue(s,a,l,d)&&(r.bodyRenderer.invalidateRowHeight(s),r.bodyRenderer.queueFlash([s.rowIndex],[a.id]),s.rowIndex>=0&&o.push(s.rowIndex),r.emit("cellValueChanged",{oldValue:d,newValue:l,rowNode:s,rowIndex:s.rowIndex,column:a,colDef:a.colDef,data:s.data}))}o.length>0&&r.bodyRenderer.refreshRows(o),r.summaryRenderer.refresh(),r.statusBarService.refresh()}clear(){this.stack=[],this.C=-1,this.pending=null}};var pt=class{constructor(e){this.core=e;this.changes=new Map;this.ur=!1;this.unsubscribe=null}init(){this.unsubscribe=this.core.eventBus.on("cellValueChanged",e=>{this.ur||this.record(e)})}record(e){let t=`${e.rowNode.id}\0${e.column.id}`,o=this.changes.get(t)?.originalValue??e.oldValue;Object.is(e.newValue,o)?this.changes.delete(t):this.changes.set(t,{rowId:e.rowNode.id,colId:e.column.id,originalValue:o,value:e.newValue}),this.be()}getDirtyRowIds(){return[...new Set([...this.changes.values()].map(e=>e.rowId))]}getChanges(){let e=new Map;for(let t of this.changes.values()){let r=this.core.rowModel.getNodeById(t.rowId);if(!r?.data)continue;let o=e.get(t.rowId);o||(o={rowId:t.rowId,data:r.data,cells:[]},e.set(t.rowId,o)),o.cells.push({colId:t.colId,originalValue:t.originalValue,value:t.value})}return[...e.values()]}markSaved(e){if(!e)this.changes.clear();else{let t=new Set(e);for(let[r,o]of this.changes)t.has(o.rowId)&&this.changes.delete(r)}this.be()}acknowledge(e){for(let t of e)for(let r of t.cells){let o=`${t.rowId}\0${r.colId}`,i=this.changes.get(o);if(i){Object.is(i.value,r.value)?this.changes.delete(o):i.originalValue=r.value;continue}let s=this.core.rowModel.getNodeById(t.rowId),a=this.core.columnModel.getColumn(r.colId);if(!s||!a||s.data==null)continue;let l=this.core.getCellValue(s,a);Object.is(l,r.value)||this.changes.set(o,{rowId:t.rowId,colId:r.colId,originalValue:r.value,value:l})}this.be()}rollback(e){let t=e?new Set(e):null,r=[...this.changes.entries()].filter(([,s])=>!t||t.has(s.rowId));if(r.length===0)return!1;let o=new Set,i=new Set;this.ur=!0;try{for(let[s,a]of r){let l=this.core.rowModel.getNodeById(a.rowId),d=this.core.columnModel.getColumn(a.colId);if(!l||!d||l.data==null)continue;let c=this.core.getCellValue(l,d);if(Object.is(c,a.originalValue)){i.add(s);continue}this.core.writeValue(l,d,a.originalValue,c)&&(i.add(s),this.core.bodyRenderer.invalidateRowHeight(l),l.rowIndex>=0&&o.add(l.rowIndex),this.core.emit("cellValueChanged",{oldValue:c,newValue:a.originalValue,rowNode:l,rowIndex:l.rowIndex,column:d,colDef:d.colDef,data:l.data}))}}finally{this.ur=!1}for(let s of i)this.changes.delete(s);return o.size>0&&this.core.bodyRenderer.refreshRows([...o]),this.core.summaryRenderer.refresh(),this.core.statusBarService.refresh(),this.be(),i.size>0}clearRows(e){if(e.length===0)return;let t=new Set(e);for(let[r,o]of this.changes)t.has(o.rowId)&&this.changes.delete(r);this.be()}clear(){this.changes.size!==0&&(this.changes.clear(),this.be())}destroy(){this.unsubscribe?.(),this.unsubscribe=null,this.changes.clear()}be(){this.core.emit("dirtyStateChanged",{dirtyRowIds:this.getDirtyRowIds()})}};var nr=class{constructor(){this.Ce=null;this.Ct=0;this.count=0;this.totalMs=0}acquire(){this.Ct++,this.Ji();let e=!1;return()=>{e||(e=!0,this.Ct=Math.max(0,this.Ct-1),this.Ct===0&&(this.Ce?.disconnect(),this.Ce=null))}}snapshot(){return{count:this.count,totalMs:this.totalMs}}Ji(){if(!(this.Ce||typeof PerformanceObserver>"u"))try{this.Ce=new PerformanceObserver(e=>{for(let t of e.getEntries())this.count++,this.totalMs+=t.duration}),this.Ce.observe({entryTypes:["longtask"]})}catch{this.Ce=null}}},ft=new nr;function or(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}var mt=class{constructor(){this.te=[];this.Tt=[];this.Rt=[];this.hr=ft.acquire(),this.Dt=ft.snapshot()}start(){return or()}recordRender(e,t,r){this.te.push({duration:Math.max(0,or()-e),rows:t,columns:r}),this.te.length>120&&this.te.shift()}recordLayout(e){this.Io(this.Tt,e)}recordModel(e){this.Io(this.Rt,e)}snapshot(){let e=this.te.map(i=>i.duration),t=this.te[this.te.length-1],r=[...e].sort((i,s)=>i-s),o=ft.snapshot();return{sampleCount:e.length,lastRenderMs:t?.duration??0,averageRenderMs:this.Qi(e),maxRenderMs:r[r.length-1]??0,p95RenderMs:this.pr(r,!0),longRenderCount:e.filter(i=>i>16.7).length,renderedRows:t?.rows??0,renderedColumns:t?.columns??0,renderedCells:(t?.rows??0)*(t?.columns??0),layoutSampleCount:this.Tt.length,p95LayoutMs:this.pr(this.Tt),modelSampleCount:this.Rt.length,p95ModelMs:this.pr(this.Rt),longTaskCount:Math.max(0,o.count-this.Dt.count),longTaskTotalMs:Math.max(0,o.totalMs-this.Dt.totalMs),usedHeapBytes:this.usedHeapBytes()}}reset(){this.te=[],this.Tt=[],this.Rt=[],this.Dt=ft.snapshot()}destroy(){this.hr?.(),this.hr=null}Io(e,t){e.push(Math.max(0,or()-t)),e.length>120&&e.shift()}Qi(e){return e.length===0?0:e.reduce((t,r)=>t+r,0)/e.length}usedHeapBytes(){let e=typeof performance>"u"?void 0:performance.memory?.usedJSHeapSize;return typeof e=="number"&&Number.isFinite(e)?e:null}pr(e,t=!1){if(e.length===0)return 0;let r=t?e:[...e].sort((o,i)=>o-i);return r[Math.max(0,Math.ceil(r.length*.95)-1)]??0}};function so(n,e){if(!(n==null||e==null))return[...new Set([...n,...e])]}function Gi(n,e){return n===!0||e===!0?!0:n?e?{rowIds:so(n.rowIds,e.rowIds),rowIndexes:n.rowIndexes==null||e.rowIndexes==null?void 0:[...new Set([...n.rowIndexes,...e.rowIndexes])],columns:so(n.columns,e.columns),force:n.force===!0||e.force===!0,includePinned:n.includePinned===!0||e.includePinned===!0}:n:e}function Ni(n,e){return{columns:n.columns===!0||e.columns===!0,header:n.header===!0||e.header===!0,pool:n.pool===!0||e.pool===!0,data:n.data===!0||e.data===!0,layout:n.layout===!0||e.layout===!0,cells:Gi(n.cells,e.cells),pinned:n.pinned===!0||e.pinned===!0,summary:n.summary===!0||e.summary===!0,overlays:n.overlays===!0||e.overlays===!0}}var gt=class{constructor(e){this.apply=e;this.depth=0;this.pending=null;this.flushCount=0;this.requestCount=0;this.coalescedRequestCount=0;this.destroyed=!1}batch(e){if(this.destroyed)return e();this.depth++;try{return e()}finally{this.depth--,this.depth===0&&this.flush()}}schedule(e){this.destroyed||(this.requestCount++,this.pending&&this.coalescedRequestCount++,this.pending=Ni(this.pending??{},e),this.depth===0&&this.flush())}flush(){if(this.destroyed||this.depth>0||!this.pending)return;let e=this.pending;this.pending=null,this.flushCount++,this.apply(e)}snapshot(){return{batchDepth:this.depth,flushCount:this.flushCount,requestCount:this.requestCount,coalescedRequestCount:this.coalescedRequestCount,pending:this.pending!=null}}destroy(){this.destroyed=!0,this.pending=null,this.depth=0}};var j=["gridReady","gridDestroyed","modelUpdated","cellClicked","cellDoubleClicked","cellContextMenu","rowClicked","rowDoubleClicked","selectionChanged","sortChanged","filterChanged","columnResized","columnMoved","columnVisibilityChanged","cellValueChanged","cellEditingStarted","cellEditingStopped","rowEditingStarted","rowEditingStopped","detailToggled","treeChildrenLoaded","treeChildrenLoadFailed","rowDragEnd","rangeSelectionChanged","paginationChanged","displayedColumnsChanged","gridError","dirtyStateChanged"];function re(n){return(n==null?"":String(n)).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function yt(n,e,t="text/plain;charset=utf-8"){try{if(typeof document>"u"||typeof Blob>"u")return!1;let r=document.createElement("a");if(typeof URL<"u"&&typeof URL.createObjectURL=="function"){let o=new Blob([e],{type:t}),i=URL.createObjectURL(o);r.href=i,r.download=n,r.click();let s=typeof URL.revokeObjectURL=="function"?URL.revokeObjectURL.bind(URL):null;s&&setTimeout(()=>{try{s(i)}catch{}},0)}else r.href=`data:${t},${encodeURIComponent(e)}`,r.download=n,r.click();return!0}catch{return!1}}var he={columnDefs:{kind:"array",update:"columnDefs"},rowData:{kind:"array",update:"rowData"},defaultColDef:{kind:"object",update:"options"},columnTypes:{kind:"object",update:"options"},rowKey:{kind:"unknown",update:"options"},rowHeight:{kind:"number",update:"options"},headerHeight:{kind:"number",update:"options"},rowBuffer:{kind:"number",update:"options"},columnLayout:{kind:"string",update:"options"},enableColumnResize:{kind:"boolean",update:"options"},domLayout:{kind:"string",update:"options"},rowSelection:{kind:"string",update:"options"},multiSort:{kind:"boolean",update:"options"},size:{kind:"string",update:"options"},stripedRows:{kind:"boolean",update:"options"},rowStyleRules:{kind:"array",update:"options"},showCellBorders:{kind:"boolean",update:"options"},theme:{kind:"string",update:"options"},quickFilterText:{kind:"string",update:"quickFilter"},advancedFilterModel:{kind:"object",update:"options"},masterDetail:{kind:"boolean",update:"options"},detailRowHeight:{kind:"number",update:"options"},detailRowRenderer:{kind:"function",update:"options"},isRowExpandable:{kind:"function",update:"options"},detailToggleColumn:{kind:"boolean",update:"options"},columnMenu:{kind:"boolean",update:"options"},aggFuncs:{kind:"object",update:"options"},components:{kind:"object",update:"options"},actionPolicy:{kind:"object",update:"options"},features:{kind:"array",update:"options"},initialState:{kind:"object",update:"options"},persistence:{kind:"boolean-object",update:"options"},locale:{kind:"object",update:"options"},editType:{kind:"string",update:"options"},editableIndicator:{kind:"string",update:"options"},rowEditValidator:{kind:"function",update:"options"},singleClickEdit:{kind:"boolean",update:"options"},manualSorting:{kind:"boolean",update:"options"},manualFiltering:{kind:"boolean",update:"options"},showSummary:{kind:"boolean",update:"options"},summaryMethod:{kind:"function",update:"options"},treeData:{kind:"boolean",update:"options"},childrenKey:{kind:"string",update:"options"},isTreeRowExpandable:{kind:"function",update:"options"},loadTreeChildren:{kind:"function",update:"options"},autoCheckedChildren:{kind:"boolean",update:"options"},defaultExpandAll:{kind:"boolean",update:"options"},indexOffset:{kind:"number",update:"options"},applyRowDrag:{kind:"boolean",update:"options"},undoStackSize:{kind:"number",update:"options"},asyncTransactionWaitMillis:{kind:"number",update:"options"},getRowHeight:{kind:"function",update:"options"},pinnedTopRowData:{kind:"array",update:"options"},pinnedBottomRowData:{kind:"array",update:"options"},pagination:{kind:"boolean-object",update:"options"},watermark:{kind:"boolean-object",update:"options"},suppressWarnings:{kind:"boolean",update:"options"},enableRangeSelection:{kind:"boolean",update:"options"},suppressClipboard:{kind:"boolean",update:"options"},contextMenu:{kind:"boolean",update:"options"},getContextMenuItems:{kind:"function",update:"options"},tooltipComponent:{kind:"function",update:"options"},tooltipShowDelay:{kind:"number",update:"options"},flashCells:{kind:"boolean",update:"options"},fillHandle:{kind:"boolean",update:"options"},statusBar:{kind:"boolean-object",update:"options"},datasource:{kind:"object",update:"options"},datasourceMode:{kind:"string",update:"options"},blockSize:{kind:"number",update:"options"},infiniteBufferRows:{kind:"number",update:"options"},maxBlocksInCache:{kind:"number",update:"options"},datasourceMaxConcurrentRequests:{kind:"number",update:"options"},blockPrefetch:{kind:"number",update:"options"},datasourceRowCount:{kind:"number",update:"options"},dataProcessor:{kind:"object",update:"options"},dataProcessorMinRows:{kind:"number",update:"options"},datasourceRetryCount:{kind:"number",update:"options"},datasourceRetryDelay:{kind:"number",update:"options"},datasourceRetryJitter:{kind:"number",update:"options"},suppressCellFocus:{kind:"boolean",update:"options"},suppressRowHoverHighlight:{kind:"boolean",update:"options"},suppressNoRowsOverlay:{kind:"boolean",update:"options"},suppressHeaderFocus:{kind:"boolean",update:"options"},ariaLabel:{kind:"string",update:"options"},ariaLabelledBy:{kind:"string",update:"options"},ariaDescribedBy:{kind:"string",update:"options"},loading:{kind:"boolean",update:"options"},error:{kind:"unknown",update:"options"},overlayNoRowsTemplate:{kind:"unknown",update:"options"},overlayLoadingTemplate:{kind:"unknown",update:"options"},overlayErrorTemplate:{kind:"unknown",update:"options"},allowUnsafeOverlayHtml:{kind:"boolean",update:"options"},className:{kind:"string",update:"options"}},vt=Object.freeze(Object.keys(he)),wl=Object.freeze(vt.filter(n=>he[n].update==="options"));var Fi=new Set(j.map(n=>`on${n.charAt(0).toUpperCase()}${n.slice(1)}`));function ir(n,e){return n==null||e==="unknown"?!0:e==="array"?Array.isArray(n):e==="boolean-object"?typeof n=="boolean"||typeof n=="object"&&!Array.isArray(n):e==="object"?typeof n=="object"&&!Array.isArray(n):e==="number"?typeof n=="number"&&Number.isFinite(n):typeof n===e}function ao(n){let e={};for(let[t,r]of Object.entries(n)){if(Fi.has(t)){(r==null||typeof r=="function")&&(e[t]=r);continue}let o=he[t];!o||!ir(r,o.kind)||(e[t]=r)}return e}var uo=2e3,Oi=1e5,ar=512,Hi=1e4;function sr(n){return Array.isArray(n)?[...new Set(n.slice(0,Oi).filter(e=>typeof e=="string"&&e.length>0&&e.length<=ar))]:[]}function lo(n,e){return typeof n=="number"&&Number.isFinite(n)&&n>=1?Math.floor(n):e}function co(n){return typeof n=="number"&&Number.isFinite(n)&&n>0?n:void 0}function Vi(n,e){let t=co(e.flex);for(let r of["width","contentWidth"]){let o=co(e[r]);o!==void 0&&(n[r]=o)}e.flex===null?n.flex=null:t!==void 0&&(n.flex=t),(e.widthMode==="auto"||e.widthMode==="manual")&&(n.widthMode=e.widthMode)}function Bi(n,e){typeof e.hide=="boolean"&&(n.hide=e.hide),(e.pinned===null||e.pinned==="left"||e.pinned==="right")&&(n.pinned=e.pinned)}function zi(n,e){if(n==null||typeof n!="object")return null;let t=n,r=typeof t.colId=="string"?t.colId.trim():"";if(!r||r.length>ar||e.has(r))return null;e.add(r);let o={colId:r};return Bi(o,t),Vi(o,t),o}function _i(n){if(!Array.isArray(n))return[];let e=[],t=new Set;for(let r of n.slice(0,uo)){let o=zi(r,t);o&&e.push(o)}return e}function Wi(n){if(!Array.isArray(n))return[];let e=[],t=new Set;for(let r of n.slice(0,uo)){if(r==null||typeof r!="object")continue;let o=r,i=typeof o.colId=="string"?o.colId.trim():"";!i||i.length>ar||t.has(i)||o.direction!=="asc"&&o.direction!=="desc"||(t.add(i),e.push({colId:i,direction:o.direction}))}return e}function z(n){if(n==null||typeof n!="object")return null;let e=n;if(e.version!==2||!Array.isArray(e.columns)||!Array.isArray(e.sortModel))return null;let t=e.pagination!=null&&typeof e.pagination=="object"?e.pagination:{};return{version:2,columns:_i(e.columns),sortModel:Wi(e.sortModel),filterModel:q(e.filterModel),advancedFilterModel:O(e.advancedFilterModel),quickFilterText:typeof e.quickFilterText=="string"&&e.quickFilterText.trim()?e.quickFilterText.slice(0,Hi):null,pagination:{enabled:t.enabled===!0,page:lo(t.page,1),pageSize:lo(t.pageSize,20)},selectedRowIds:sr(e.selectedRowIds),expandedRowIds:sr(e.expandedRowIds),expandedGroupIds:sr(e.expandedGroupIds)}}function ho(n,e){let t=z(n);if(!t)throw new TypeError("[MachTable] Cannot persist an invalid GridState snapshot.");let r=new Set(e);return{version:2,columns:r.has("columns")?t.columns:[],sortModel:r.has("sort")?t.sortModel:[],filterModel:r.has("filter")?t.filterModel:{},advancedFilterModel:r.has("filter")?t.advancedFilterModel:null,quickFilterText:r.has("filter")?t.quickFilterText:null,pagination:r.has("pagination")?t.pagination:{enabled:!1,page:1,pageSize:20},selectedRowIds:r.has("selection")?t.selectedRowIds:[],expandedRowIds:r.has("expansion")?t.expandedRowIds:[],expandedGroupIds:r.has("expansion")?t.expandedGroupIds:[]}}function $i(n){try{if(typeof structuredClone=="function")return structuredClone(n)}catch{}return Array.isArray(n)?[...n]:n!=null&&typeof n=="object"?{...n}:n}function fo(n,e){let t=e?new Set(e.map(String)):null;return n.filter(r=>!t||t.has(r.rowId)).map(r=>({...r,data:$i(r.data),cells:r.cells.map(o=>({...o}))}))}function Ki(n,e){let t=typeof n?.rowId=="string"?n.rowId:"";return!e.has(t)||typeof n.message!="string"||!n.message.trim()?null:{...n,rowId:t,message:n.message.trim(),...typeof n.code=="string"&&n.code.trim()?{code:n.code.trim()}:{},...Array.isArray(n.colIds)?{colIds:[...new Set(n.colIds.filter(r=>typeof r=="string"&&r.length>0))]}:{}}}function po(n,e){let t=new Map;for(let r of n??[]){let o=Ki(r,e);o&&!t.has(o.rowId)&&t.set(o.rowId,o)}return[...t.values()]}function mo(n,e){let t=new Set(n.map(d=>d.rowId)),r=po(e?.conflicts,t),o=new Set(r.map(d=>d.rowId)),i=po(e?.failures,t).filter(d=>!o.has(d.rowId)),s=new Set([...i,...r].map(d=>d.rowId)),a=e?.savedRowIds==null?null:new Set(e.savedRowIds.map(String).filter(d=>t.has(d))),l=n.filter(d=>!s.has(d.rowId)&&(a==null||a.has(d.rowId)));return{submitted:n,saved:l,failures:i,conflicts:r}}function qi(n,e){if(e.serverData===void 0)return null;let t=n.rows.getById(e.rowId);if(!t||t.data==null)return null;let r=n.getOption("rowKey");if(r){let s=typeof r=="function"?r(e.serverData):K(e.serverData,r);return String(s)===e.rowId?{data:e.serverData,mergeIntoCurrent:!1}:null}let o=t.data;return o!=null&&e.serverData!=null&&typeof o=="object"&&typeof e.serverData=="object"?{data:o,mergeIntoCurrent:!0}:null}function go(n,e,t){if(n.isDestroyed())return!1;if(t==="keepLocal")return!0;let r=qi(n,e);return r?(n.editing.rollback([e.rowId]),r.mergeIntoCurrent&&Object.assign(r.data,e.serverData),n.rows.transact({update:[r.data]}),n.editing.markSaved([e.rowId]),!0):!1}function yo(n){return{setData:e=>n.setRowData(e),transact:e=>n.applyTransaction(e),transactAsync:(e,t)=>n.applyTransactionAsync(e,t),flushTransactions:()=>n.flushAsyncTransactions(),getCount:()=>n.getDisplayedRowCount(),getAt:e=>n.getRowNode(e),getById:e=>n.getNodeById(e),forEach:e=>n.forEachNode(e),forEachDisplayed:e=>n.forEachNodeAfterFilterAndSort(e),reorder:(e,t)=>n.reorderRows(e,t),isRemote:()=>n.isInfinite(),reload:e=>n.reload(e),ensureLoaded:(e,t,r)=>n.ensureRowsLoaded(e,t,r),purgeCache:()=>n.purgeDatasourceCache(),getCacheSnapshot:()=>n.getDatasourceCacheSnapshot()}}function vo(n){return{getDefinitions:()=>n.getColumnDefs(),setDefinitions:e=>n.setColumnDefs(e),getState:()=>n.getColumnState(),setState:e=>n.setColumnState(e),resetState:()=>n.resetColumnState(),setVisible:(e,t)=>n.setColumnVisibility(e,t),setPinned:(e,t)=>n.setColumnPinned(e,t),move:(e,t)=>n.moveColumn(e,t),setWidth:(e,t)=>n.setColumnWidth(e,t),fit:e=>n.sizeColumnsToFit(e),autoSize:(e,t)=>n.autoSizeColumn(e,t),autoSizeAll:e=>n.autoSizeAllColumns(e),getWorkbenchItems:()=>n.getColumnWorkbenchItems(),openWorkbench:e=>n.openColumnWorkbench(e),closeWorkbench:()=>n.closeColumnWorkbench()}}function wo(n){return{getRows:()=>n.getSelectedRows(),getVisibleRows:()=>n.getVisibleSelection(),getNodes:()=>n.getSelectedNodes(),getIds:()=>n.getSelectedIds(),setRows:(e,t)=>n.setSelection(e,t),setById:(e,t,r)=>n.selectNodeById(e,t,r),selectAll:e=>n.selectAll(e),clear:()=>n.deselectAll(),getMode:()=>n.getRowSelection(),setMode:e=>n.setRowSelection(e),getRange:()=>n.getRangeSelection(),clearRange:()=>n.clearRangeSelection()}}function bo(n){return{startCell:e=>n.startEditingCell(e),startRow:e=>n.startEditingRow(e),isRowActive:e=>n.isRowEditing(e),stop:e=>n.stopEditing(e?.cancel===!0),getChanges:()=>n.getChanges(),getDirtyRowIds:()=>n.getDirtyRowIds(),markSaved:e=>n.markChangesSaved(e),rollback:e=>n.rollbackChanges(e),save:(e,t)=>n.saveEditingChanges(e,t),undo:()=>n.undo(),redo:()=>n.redo(),canUndo:()=>n.canUndo(),canRedo:()=>n.canRedo()}}function Co(n){return{get:()=>n.getState(),apply:(e,t)=>n.applyState(e,t)}}function To(n){return{get:()=>n.getDiagnostics(),getPerformance:()=>n.getPerformanceSnapshot(),resetPerformance:()=>n.resetPerformanceMetrics()}}function Ro(n){return{getModel:()=>n.getFilterModel(),setModel:e=>n.setFilterModel(e),getAdvancedModel:()=>n.getAdvancedFilterModel(),setAdvancedModel:e=>n.setAdvancedFilterModel(e),getQuickText:()=>n.getQuickFilter(),setQuickText:e=>n.setQuickFilter(e),isPresent:e=>e==null?Object.keys(n.getFilterModel()).length>0||n.getAdvancedFilterModel()!=null||n.getQuickFilter()!=null:n.isColumnFilterPresent(e)}}function Do(n){return{getModel:()=>n.getSortModel(),setModel:e=>n.setSortModel(e)}}function Eo(n){return{isEnabled:()=>n.paginationEnabled(),setEnabled:e=>n.setPaginationEnabled(e),getPage:()=>n.getPage(),setPage:e=>n.setPage(e),getPageSize:()=>n.getPageSize(),setPageSize:e=>n.setPageSize(e),getPageCount:()=>n.getPageCount(),getTotalRowCount:()=>n.getTotalRowCount()}}function So(n){return{isRowExpanded:e=>n.isRowExpanded(e),setRowExpanded:(e,t)=>n.isRowExpanded(e)===t?!1:(t?n.expandRow(e):n.collapseRow(e),n.isRowExpanded(e)===t),isTreeRowLoading:e=>n.isTreeRowLoading(e),loadTreeChildren:(e,t)=>n.loadTreeChildren(e,t),isGroupExpanded:e=>n.isGroupExpanded(e),setGroupExpanded:(e,t)=>n.isGroupExpanded(e)===t?!1:(n.toggleRowGroup(e),n.isGroupExpanded(e)===t),setAllGroupsExpanded:e=>e?n.expandAllGroups():n.collapseAllGroups(),setAllDetailsExpanded:e=>e?n.expandAllDetails():n.collapseAllDetails()}}function xo(n){return{getRoot:()=>n.getRootElement(),scrollToRow:(e,t)=>n.scrollToIndex(e,t),refreshCells:e=>n.refreshCells(e),refreshLayout:()=>n.refreshLayout(),flush:()=>n.flushUpdates(),setOverlay:e=>n.setOverlay(e),getPinnedRows:e=>e==="top"?n.getPinnedTopRowData():n.getPinnedBottomRowData(),setPinnedRows:(e,t)=>e==="top"?n.setPinnedTopRowData(t):n.setPinnedBottomRowData(t)}}function Mo(n){return{exportCsv:e=>n.getDataAsCsv(e),importCsv:(e,t)=>n.importCsv(e,t),print:e=>n.print(e),copyRange:()=>n.copyRangeToClipboard()}}function Se(n){if(n?.reason instanceof Error)return n.reason;let e=new Error(typeof n?.reason=="string"?n.reason:"The operation was aborted");return e.name="AbortError",e}function ko(n,e){return e?e.aborted?Promise.reject(Se(e)):new Promise((t,r)=>{let o=()=>r(Se(e));e.addEventListener("abort",o,{once:!0}),n.then(t,r).finally(()=>e.removeEventListener("abort",o))}):n}function Ui(){return{datasourceChanged:!1,filterChanged:!1,needsCellRefresh:!1,needsColumnRebuild:!1,needsHeaderRebuild:!1,needsPoolRebuild:!1,needsRelayout:!1,needsRowRebuild:!1,needsStateLoad:!1,needsSummaryRefresh:!1,needsFeatureReload:!1}}function R(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function A(n,e,t=!1){if(!(typeof n!="number"||!Number.isFinite(n)||n<e))return t?Math.floor(n):n}function Ee(n,e,t,r=!1){let o=A(n,t,r);return o===void 0||o===e?void 0:o}var lr=class{constructor(e){this.core=e;this.Te=null;this._e=[];this.$=null}connectPublicApi(e){if(this.fr)throw new Error("[MachTable] Grid API is already connected.");this.fr=e}batch(e){let t=this.fr;if(!t)throw new Error("[MachTable] Grid API is not connected.");return this.core.batchUpdates(()=>e(t))}flushUpdates(){this.core.updateScheduler.flush()}whenReady(){return this.core.whenReady()}getRootElement(){return this.core.isDestroyed()?null:this.core.skeleton.root}setRowData(e){this.core.isDestroyed()||(this.core.options.rowData=e??[],!this.core.rowModel.isInfinite&&(this.core.rowModel.setRowData(e),this.core.requestUpdate({data:!0})))}applyTransaction(e){if(this.core.isDestroyed()||this.core.rowModel.isInfinite)return;let t=this.core.rowModel.applyTransaction(e);this.Ao(t)}applyTransactionAsync(e,t={}){if(this.core.isDestroyed()||this.core.rowModel.isInfinite)return Promise.resolve();if(t.signal?.aborted)return Promise.reject(Se(t.signal));let r=new Promise((o,i)=>{let s={transaction:e,resolve:o,reject:i,signal:t.signal,aborted:!1};t.signal&&(s.onAbort=()=>{s.aborted||(s.aborted=!0,i(Se(t.signal)))},t.signal.addEventListener("abort",s.onAbort,{once:!0})),this._e.push(s)});return this.$==null&&(this.$=setTimeout(()=>this.flushAsyncTransactions(),this.core.options.asyncTransactionWaitMillis)),r}flushAsyncTransactions(){this.$!=null&&clearTimeout(this.$),this.$=null;let e=this._e;this._e=[];let t=e.filter(r=>!r.aborted).map(r=>r.transaction);if(t.length>0&&!this.core.isDestroyed()&&!this.core.rowModel.isInfinite){let r=this.core.rowModel.applyTransactions(t);this.Ao(r)}for(let r of e)r.signal&&r.onAbort&&r.signal.removeEventListener("abort",r.onAbort),r.aborted||r.resolve()}Ao(e){if(e.pipelineChanged){this.core.requestUpdate({data:!0});return}e.updatedRowIds.length!==0&&this.core.requestUpdate({cells:{rowIds:e.updatedRowIds},summary:!0,overlays:!0})}getColumnDefs(){return this.core.columnModel.getColumnDefs()}setColumnDefs(e){this.core.isDestroyed()||(this.core.options.columnDefs=e??[],this.core.columnModel.setColumnDefs(e),this.core.loadPersistedGridState(),this.core.onColumnsStructureChanged(),this.core.rowModel.isInfinite?this.core.rowModel.onServerParamsChanged():(this.core.rowModel.refreshPipeline(),this.core.requestUpdate({data:!0})))}getColumnState(){return this.core.columnModel.getColumnState()}setColumnState(e){this.core.isDestroyed()||(this.core.columnModel.applyColumnState(e),this.core.onColumnsStructureChanged())}resetColumnState(){this.core.isDestroyed()||(this.core.columnModel.resetColumnState(),this.core.onColumnsStructureChanged())}setColumnVisibility(e,t){this.core.isDestroyed()||(this.core.columnModel.setColumnVisibility(e,t),this.core.onColumnsStructureChanged(),this.core.emit("columnVisibilityChanged",{colId:e,visible:t}))}moveColumn(e,t){this.core.isDestroyed()||this.core.moveColumn(e,t)}setColumnPinned(e,t){this.core.isDestroyed()||(this.core.columnModel.setColumnPinned(e,t),this.core.onColumnsStructureChanged())}setColumnWidth(e,t){if(this.core.isDestroyed())return!1;let r=this.core.columnModel.getColumn(e);return!r||!this.core.columnModel.setColumnWidth(r,t)?!1:(this.core.relayoutColumns(),this.core.commitColumnWidths([r]),!0)}sizeColumnsToFit(e){if(this.core.isDestroyed())return;let t=this.core.columnModel.getOrderedVisible(),r=t.filter(d=>d.pinned===null&&!d.colDef.suppressSizeToFit);if(r.length===0)return;let o=e??this.core.skeleton.measureViewportWidth();if(!Number.isFinite(o)||o<=0)return;let i=t.reduce((d,c)=>d+(c.pinned!==null||c.colDef.suppressSizeToFit?c.currentWidth:0),0),s=Ge(r.map(d=>({width:d.currentWidth,minWidth:d.colDef.minWidth,maxWidth:d.colDef.maxWidth})),Math.max(0,o-i)),a=this.core.options.columnLayout==="fit"&&e===void 0,l=r.filter((d,c)=>a?this.core.columnModel.setContentWidth(d,s[c]):this.core.columnModel.setColumnWidth(d,s[c]));this.core.relayoutColumns(),this.core.commitColumnWidths(l)}autoSizeColumn(e,t=!1){if(this.core.isDestroyed())return;let r=this.core.columnModel.getColumn(e);r&&this.Lo(r,t)&&(this.core.relayoutColumns(),this.core.commitColumnWidths([r]))}Lo(e,t){var c;if(this.core.options.columnLayout==="fit"&&e.colDef.suppressSizeToFit)return!1;if(e.hasCheckbox||e.isDetailToggle)return this.core.columnModel.setColumnWidth(e,e.isDetailToggle?38:46);this[c="Te"]??(this[c]=document.createElement("canvas"));let r=this.Te.getContext("2d");if(!r)return!1;let o=window.getComputedStyle(this.core.skeleton.root);r.font=`${o.fontStyle} ${o.fontWeight} ${o.fontSize} ${o.fontFamily}`;let i=0,s=u=>{if(!u)return;let h=r.measureText(u).width;h>i&&(i=h)};t||s(e.colDef.headerName??e.colDef.field??e.id);let a=this.core.rowModel.getAllNodes(),l=Math.min(a.length,2e3);for(let u=0;u<l;u++)s($(this.core,a[u],e));let d=(e.sortable?20:0)+(e.filterable?28:0)+(this.core.options.columnMenu?22:0)+28;return this.Zi(e,Math.ceil(i)+d)}Zi(e,t){return this.core.options.columnLayout==="fit"?this.core.columnModel.setContentWidth(e,t):this.core.columnModel.setColumnWidth(e,t)}autoSizeAllColumns(e){if(this.core.isDestroyed())return;let t=[];for(let r of this.core.columnModel.getOrderedVisible())this.Lo(r,e??!1)&&t.push(r);t.length>0&&(this.core.relayoutColumns(),this.core.commitColumnWidths(t))}getSortModel(){return this.core.columnModel.getSortModel()}setSortModel(e){this.core.isDestroyed()||(this.core.columnModel.applySortModel(e),this.core.applySortModel())}getFilterModel(){return this.core.rowModel.getFilterModel()}setFilterModel(e){if(!this.core.isDestroyed()){if(this.core.rowModel.setFilterModel(e),this.core.headerRenderer.refreshFilterIcons(),this.Et(),this.core.rowModel.isInfinite){this.core.rowModel.onServerParamsChanged();return}this.core.rowModel.refreshPipeline(),this.core.requestUpdate({data:!0})}}getAdvancedFilterModel(){return this.core.rowModel.getAdvancedFilterModel()}setAdvancedFilterModel(e){if(!(this.core.isDestroyed()||!this.core.rowModel.setAdvancedFilterModel(e))){if(this.Et(),this.core.rowModel.isInfinite){this.core.rowModel.onServerParamsChanged();return}this.core.rowModel.refreshPipeline(),this.core.requestUpdate({data:!0})}}Et(){this.core.emit("filterChanged",{filterModel:this.core.rowModel.getFilterModel(),advancedFilterModel:this.core.rowModel.getAdvancedFilterModel()})}isColumnFilterPresent(e){return Object.prototype.hasOwnProperty.call(this.core.rowModel.getFilterModel(),e)}setQuickFilter(e){this.core.isDestroyed()||(this.core.options.quickFilterText=e!=null&&e.trim()!==""?e:null,this.core.rowModel.setQuickFilter(e)&&this.core.applyQuickFilter())}getQuickFilter(){return this.core.rowModel.getQuickFilter()}getRowSelection(){return this.core.options.rowSelection}setRowSelection(e){this.core.isDestroyed()||this.core.options.rowSelection!==e&&(this.core.options.rowSelection=e,e==="none"&&this.deselectAll(),this.core.headerRenderer.build(),this.core.bodyRenderer.rebuildPool())}getSelectedNodes(){return this.core.selectionService.getSelectedNodes()}getSelectedRows(){return this.core.selectionService.getSelectedRows()}selectNodeById(e,t=!0,r=!0){this.core.selectionService.selectNodeById(e,t,r)}selectAll(e=!0){this.core.selectionService.selectAll(e)}deselectAll(){this.core.selectionService.deselectAll()}getDisplayedRowCount(){return this.core.rowModel.getDisplayedRowCount()}getRowNode(e){return this.core.rowModel.getDisplayedRow(e)}getNodeById(e){return this.core.rowModel.getNodeById(e)}forEachNode(e){this.core.rowModel.forEachNode(e)}forEachNodeAfterFilterAndSort(e){this.core.rowModel.forEachNodeAfterFilterAndSort(e)}scrollToIndex(e,t="top"){this.core.bodyRenderer.scrollToIndex(e,t)}expandRow(e){return this.core.isDestroyed()?!1:this.core.rowModel.expandRow(e)}collapseRow(e){return this.core.isDestroyed()?!1:this.core.rowModel.collapseRow(e)}toggleDetailRow(e){return this.core.isDestroyed()?!1:this.core.rowModel.toggleDetail(e)}isRowExpanded(e){return this.core.rowModel.isRowExpanded(e)}expandAllDetails(){this.core.isDestroyed()||this.core.rowModel.expandAllDetails()}collapseAllDetails(){this.core.isDestroyed()||this.core.rowModel.collapseAllDetails()}loadTreeChildren(e,t={}){return this.core.isDestroyed()?Promise.resolve([]):this.core.rowModel.loadTreeChildren(e,t.force===!0)}isTreeRowLoading(e){return!this.core.isDestroyed()&&this.core.rowModel.isTreeRowLoading(e)}toggleRowGroup(e){return this.core.isDestroyed()?!1:this.core.rowModel.toggleGroup(e)}reorderRows(e,t){return this.core.isDestroyed()||this.core.editingService.isEditing()?!1:this.core.rowModel.reorderRowsByDisplayed(e,t)}isGroupExpanded(e){return this.core.rowModel.isGroupExpanded(e)}expandAllGroups(){this.core.isDestroyed()||this.core.rowModel.expandAllGroups()}collapseAllGroups(){this.core.isDestroyed()||this.core.rowModel.collapseAllGroups()}setSelection(e,t=!0){if(this.core.isDestroyed())return;let r=this.core.options.resolveRowId,o=[];for(let i of e){let s=r?this.core.rowModel.getNodeById(this.core.rowModel.resolveRowId(i,-1,`__missing_selection_${this.core.nextId()}`)):this.core.rowModel.getAllNodes().find(a=>a.data===i);s&&o.push({node:s,selected:!0})}o.length>0?this.core.selectionService.applySelectionPublic(o,t):t&&this.deselectAll()}getVisibleSelection(){let e=new Set(this.core.selectionService.getSelectedNodes().map(t=>t.id));return this.core.rowModel.getDisplayedRows().filter(t=>!t.isDetail&&!t.isGroup&&e.has(t.id)).map(t=>t.data).filter(Boolean)}getSelectedIds(){return this.core.selectionService.getSelectedIds()}undo(){return this.core.isDestroyed()?!1:this.core.undoService.undo()}redo(){return this.core.isDestroyed()?!1:this.core.undoService.redo()}canUndo(){return this.core.undoService.canUndo()}canRedo(){return this.core.undoService.canRedo()}getDirtyRowIds(){return this.core.changeTracker.getDirtyRowIds()}getChanges(){return this.core.changeTracker.getChanges()}markChangesSaved(e){this.core.changeTracker.markSaved(e)}async saveEditingChanges(e,t){let r=fo(this.core.changeTracker.getChanges(),t);if(r.length===0)return{submitted:[],saved:[],failures:[],conflicts:[]};let o=this.core.rowModel.getDataRevision(),i=mo(r,await e(r));return!this.core.isDestroyed()&&o===this.core.rowModel.getDataRevision()&&this.core.changeTracker.acknowledge(i.saved),i}rollbackChanges(e){return this.core.changeTracker.rollback(e)}setPinnedTopRowData(e){this.core.isDestroyed()||(this.core.options.pinnedTopRowData=e??[],this.core.pinnedRowsRenderer.setTopData(this.core.options.pinnedTopRowData))}getPinnedTopRowData(){return this.core.pinnedRowsRenderer.getTopData()}setPinnedBottomRowData(e){this.core.isDestroyed()||(this.core.options.pinnedBottomRowData=e??[],this.core.pinnedRowsRenderer.setBottomData(this.core.options.pinnedBottomRowData))}getPinnedBottomRowData(){return this.core.pinnedRowsRenderer.getBottomData()}getRangeSelection(){return this.core.bodyRenderer.getRangeSelection()}clearRangeSelection(){this.core.isDestroyed()||this.core.bodyRenderer.clearRangeSelection()}copyRangeToClipboard(){return this.core.isDestroyed()?Promise.resolve(!1):this.core.copyActiveRange()}openColumnWorkbench(e){this.core.isDestroyed()||this.core.columnMenu.openStandalone(e)}closeColumnWorkbench(){this.core.columnMenu.close()}getColumnWorkbenchItems(){return this.core.columnModel.getColumns().filter(e=>!e.isDetailToggle).map(e=>({colId:e.id,label:e.colDef.headerName??e.colDef.field??e.id,visible:!e.hide,pinned:e.pinned,width:e.currentWidth||e.manualWidth||e.colDef.width||0,movable:e.movable,hideable:!e.hasCheckbox}))}refreshLayout(){this.core.isDestroyed()||(this.core.relayout(),this.core.bodyRenderer.syncScroll(!0))}isInfinite(){return this.core.rowModel.isInfinite}reload(e={}){return this.core.isDestroyed()?Promise.resolve():e.signal?.aborted?Promise.reject(Se(e.signal)):this.core.rowModel.isInfinite?ko(this.core.rowModel.reloadInfinite(e.signal),e.signal):(this.core.rowModel.setRowData(this.core.options.rowData),this.core.requestUpdate({data:!0}),Promise.resolve())}ensureRowsLoaded(e,t,r={}){return this.core.isDestroyed()?Promise.resolve():ko(this.core.rowModel.ensureRowsLoaded(e,t,r.signal),r.signal)}purgeDatasourceCache(){this.core.isDestroyed()||this.core.rowModel.purgeDatasourceCache()}getDatasourceCacheSnapshot(){return this.core.rowModel.getDatasourceCacheSnapshot()}paginationEnabled(){return this.core.rowModel.paginationActive}setPaginationEnabled(e){this.core.isDestroyed()||this.core.rowModel.setPaginationEnabled(e)}getPage(){return this.core.rowModel.getCurrentPage()}setPage(e){this.core.isDestroyed()||this.core.rowModel.setPage(e)}getPageSize(){return this.core.options.paginationPageSize}setPageSize(e){this.core.isDestroyed()||this.core.rowModel.setPageSize(e)}getPageCount(){return this.core.rowModel.getPageCount()}getTotalRowCount(){return this.core.rowModel.getTotalRowCount()}importCsv(e,t={}){if(this.core.isDestroyed()||!e)return!1;let r=qe(e,t.separator??",");if(r.length===0)return!1;let o=r[t.headerRowIndex??0]??[],i=r.slice((t.headerRowIndex??0)+1).filter(c=>c.some(u=>u!=="")),s=t.mode??"replace";if(s==="paste")return this.core.pasteText(ce(i,!1),0,0),!0;let a=this.core.columnModel.getOrderedVisible().filter(c=>c.colDef.field),l=this.es(o,a),d=this.ts(i,l,t);return s==="append"?this.core.rowModel.applyTransaction({add:d}):this.core.rowModel.setRowData(d),this.core.requestUpdate({data:!0}),!0}es(e,t){let r=new Map;for(let i of t){let s=i.colDef.field;s&&(r.set(String(i.colDef.headerName??s),s),r.set(s,s))}e.length>0&&(e[0]=e[0].replace(/^\uFEFF/,""));let o=e.map((i,s)=>({field:r.get(String(i).trim())??null,index:s})).filter(i=>i.field!=null);return o.length>0?o:t.map((i,s)=>({field:i.colDef.field,index:s}))}ts(e,t,r){return e.map((o,i)=>{let s={};return t.forEach(({field:a,index:l})=>{let d=o[l];if(d===void 0)return;let c=this.rs(d,a,i,l,r);ie(s,a,c)||this.core.reportError(new Error(`Unsafe CSV field: ${a}`),"csv.import",{field:a})}),s})}rs(e,t,r,o,i){if(i.parseValue)try{return i.parseValue({value:e,field:t,rowIndex:r,columnIndex:o})}catch(l){return this.core.reportError(l,"csv.parseValue",{field:t,rowIndex:r,columnIndex:o}),e}if(e==="")return null;let s=/^[+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:[eE][+-]?\d+)?$/.test(e),a=/^[+-]?0\d/.test(e);return i.coerceNumbers!==!1&&s&&!a?Number(e):e}print(e={}){if(this.core.isDestroyed())return!1;try{let t=window.open("","_blank","width=980,height=720");if(!t)return!1;let r=this.core.columnModel.getOrderedVisible().filter(d=>!d.hasCheckbox&&!d.isDetailToggle&&!d.colDef.rowDrag),o=this.core.rowModel.getPipelineRows().filter(d=>!d.isDetail&&!d.isGroup),s=e.includeHeader!==!1?`<tr>${r.map(d=>`<th>${re(d.colDef.headerName??d.colDef.field??d.id)}</th>`).join("")}</tr>`:"",a=o.map(d=>`<tr>${r.map(c=>{let u=$(this.core,d,c);return`<td>${re(u)}</td>`}).join("")}</tr>`).join(""),l=`<!doctype html><html><head><meta charset="utf-8"><title>${re(e.title??"MachTable")}</title><style>body{font-family:system-ui,"PingFang SC","Microsoft YaHei",sans-serif;padding:20px}h3{margin:0 0 12px;font-size:16px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{border:1px solid #bbb;padding:5px 8px;text-align:left;word-break:break-all}th{background:#f2f5f9;font-weight:600}@page{margin:12mm}</style></head><body><h3>${re(e.title??"")}</h3><table>${s}${a}</table></body></html>`;return t.document.write(l),t.document.close(),t.focus(),t.print(),!0}catch{return!1}}startEditingCell(e){let t=this.core.columnModel.getColumn(e.colId);return t?this.core.editingService.start(e.rowIndex,t,e.keyPress??null):!1}startEditingRow(e){return this.core.editingService.startRow(e)}isRowEditing(e){return this.core.editingService.isRowEditing(e)}stopEditing(e){return this.core.editingService.stopAsync(e??!1)}refreshCells(e){let t=e==null||e.rowIds==null&&e.rowIndexes==null&&e.columns==null;this.core.requestUpdate({cells:e??!0,pinned:e?.includePinned??t,summary:t})}getOption(e){return this.core.options[e]}updateOptions(e){this.core.isDestroyed()||(this.core.checkWarnings(e),e=ao(e),Object.keys(e).length!==0&&this.core.batchUpdates(()=>{let t=Ui(),r=this.core.options.columnMenu;this.os(e,t),this.ns(e,t),this.ss(e,t),this.as(e,t),this.ls(e),this.ds(e,t),this.cs(e,t),this.us(e,t),this.hs(e,t),this.ps(e,t),this.fs(e,t,r)}))}os(e,t){let r=this.core.options;R(e,"columnDefs")&&e.columnDefs!==r.columnDefs&&(r.columnDefs=Array.isArray(e.columnDefs)?e.columnDefs:[],t.needsColumnRebuild=!0,t.needsRowRebuild=!0),R(e,"rowData")&&(r.rowData=Array.isArray(e.rowData)?e.rowData:[],t.needsRowRebuild=!0),R(e,"initialState")&&e.initialState&&(r.initialState=e.initialState,t.stateToApply=e.initialState),this.ms(e)}ms(e){for(let t of j){let r=`on${t.charAt(0).toUpperCase()}${t.slice(1)}`;R(e,r)&&Object.assign(this.core.options,{[r]:e[r]})}}ns(e,t){let r=this.core.options,o=Ee(e.rowHeight,r.rowHeight,1),i=Ee(e.headerHeight,r.headerHeight,1),s=Ee(e.rowBuffer,r.rowBuffer,0,!0),a=Ee(e.detailRowHeight,r.detailRowHeight,1);o!==void 0&&(r.rowHeight=o,t.needsRelayout=!0),i!==void 0&&(r.headerHeight=i,t.needsRelayout=!0,t.needsHeaderRebuild=!0),s!==void 0&&(r.rowBuffer=s,t.needsRelayout=!0),e.columnLayout!=null&&e.columnLayout!==r.columnLayout&&(r.columnLayout=e.columnLayout==="fit"?"fit":"normal",t.needsRelayout=!0),e.domLayout!=null&&e.domLayout!==r.domLayout&&(r.domLayout=e.domLayout==="autoHeight"?"autoHeight":"normal",this.core.skeleton.applyDomLayout(r.domLayout),t.needsPoolRebuild=!0),e.multiSort!=null&&(r.multiSort=e.multiSort),a!==void 0&&(r.detailRowHeight=a,this.core.bodyRenderer.applyContainerSizes(),this.core.bodyRenderer.updateRange(!0))}ss(e,t){let r=this.core.options;e.editType!=null&&e.editType!==r.editType&&(this.core.editingService.stop(!0),r.editType=e.editType==="fullRow"?"fullRow":"cell",t.needsCellRefresh=!0),e.editableIndicator!=null&&e.editableIndicator!==r.editableIndicator&&(r.editableIndicator=e.editableIndicator==="always"||e.editableIndicator==="none"?e.editableIndicator:"hover",t.needsCellRefresh=!0),R(e,"rowEditValidator")&&(r.rowEditValidator=e.rowEditValidator),e.singleClickEdit!=null&&(r.singleClickEdit=e.singleClickEdit),e.manualSorting!=null&&(r.manualSorting=e.manualSorting),e.manualFiltering!=null&&(r.manualFiltering=e.manualFiltering)}as(e,t){let r=this.core.options;typeof e.enableColumnResize=="boolean"&&e.enableColumnResize!==r.enableColumnResize&&(this.core.resizeService.cancelResize(),r.enableColumnResize=e.enableColumnResize,t.needsHeaderRebuild=!0),e.locale!=null&&e.locale!==r.locale&&(r.locale=e.locale,t.needsHeaderRebuild=!0,t.needsCellRefresh=!0,this.core.paginationBar.rebuild(),this.core.statusBarService.rebuild()),e.indexOffset!=null&&e.indexOffset!==r.indexOffset&&(r.indexOffset=e.indexOffset,t.needsCellRefresh=!0),e.showSummary!=null&&e.showSummary!==r.showSummary&&(r.showSummary=e.showSummary,t.needsSummaryRefresh=!0,t.needsRelayout=!0);let o=Ee(e.undoStackSize,r.undoStackSize,0,!0);o!==void 0&&(r.undoStackSize=o,this.core.undoService.trimToSize());let i=A(e.asyncTransactionWaitMillis,0,!0);i!==void 0&&(r.asyncTransactionWaitMillis=i),this.gs(e,t),this.ys(e)}gs(e,t){if(!R(e,"getRowHeight"))return;let r=this.core.options.getRowHeight!==e.getRowHeight;this.core.options.getRowHeight=e.getRowHeight,r&&this.core.bodyRenderer.invalidateAllRowHeights(),t.needsRelayout=!0}ys(e){let t=this.core.options;e.enableRangeSelection!=null&&(t.enableRangeSelection=e.enableRangeSelection,e.enableRangeSelection||this.clearRangeSelection()),R(e,"tooltipComponent")&&(t.tooltipComponent=e.tooltipComponent);let r=A(e.tooltipShowDelay,0);r!==void 0&&(t.tooltipShowDelay=r),e.flashCells!=null&&(t.flashCells=e.flashCells),R(e,"getContextMenuItems")&&(t.getContextMenuItems=e.getContextMenuItems),e.theme!=null&&e.theme!==t.theme&&(t.theme=e.theme,this.core.skeleton.applyTheme(e.theme),this.core.watermarkService.refresh())}ls(e){if(e.pagination===void 0)return;let t=this.core.options,r=e.pagination,o=r!==!1&&t.datasource==null;o!==t.paginationEnabled&&this.core.rowModel.setPaginationEnabled(o),typeof r=="object"&&r&&this.vs(r),t.paginationEnabled&&this.core.rowModel.onPaginationOptionsChanged(),this.core.paginationBar.rebuild()}vs(e){let t=this.core.options;t.paginationMode=e.mode==="server"?"server":"client";let r=A(e.page,1,!0),o=A(e.total,0,!0);r!==void 0&&(t.paginationPage=r),o!==void 0&&(t.paginationTotal=o),e.pageSize!=null&&(t.paginationPageSize=e.pageSize),e.pageSizeOptions!=null&&(t.paginationPageSizeOptions=e.pageSizeOptions),e.showTotal!=null&&(t.paginationShowTotal=e.showTotal),e.showPageSizeSelector!=null&&(t.paginationShowSizeSelector=e.showPageSizeSelector)}ds(e,t){R(e,"rowStyleRules")&&(this.core.options.rowStyleRules=Array.isArray(e.rowStyleRules)?e.rowStyleRules:[],t.needsCellRefresh=!0,this.core.requestUpdate({pinned:!0})),this.ws(e,t),this.bs(e,t);let r=this.core.options;e.stripedRows!=null&&e.stripedRows!==r.stripedRows&&(r.stripedRows=e.stripedRows,this.core.skeleton.setStriped(e.stripedRows)),e.showCellBorders!=null&&e.showCellBorders!==r.showCellBorders&&(r.showCellBorders=e.showCellBorders,this.core.skeleton.setCellBorders(e.showCellBorders))}ws(e,t){let r=this.core.options;e.watermark!==void 0&&(r.watermarkEnabled=e.watermark!=null&&e.watermark!==!1,r.watermarkConfig=e.watermark==null||e.watermark===!1?null:e.watermark===!0?{text:"MachTable"}:e.watermark,this.core.watermarkService.refresh()),this.Cs(e),R(e,"summaryMethod")&&(r.summaryMethod=e.summaryMethod,t.needsSummaryRefresh=!0)}Cs(e){let t=this.core.options;e.suppressClipboard!=null&&(t.suppressClipboard=e.suppressClipboard),e.contextMenu!=null&&(t.contextMenu=e.contextMenu),e.columnMenu!=null&&(t.columnMenu=e.columnMenu),e.fillHandle!=null&&(t.fillHandle=e.fillHandle),e.statusBar!==void 0&&(t.statusBarEnabled=e.statusBar===!0||typeof e.statusBar=="object"&&e.statusBar!=null,typeof e.statusBar=="object"&&e.statusBar?.panels&&(t.statusBarPanels=e.statusBar.panels),this.core.statusBarService.rebuild())}bs(e,t){let{size:r}=e;if(r==null||!R(ve,r)||r===this.core.options.size)return;let o=ve[r];this.core.options.size=r,this.core.options.rowHeight=e.rowHeight??o.rowHeight,this.core.options.headerHeight=e.headerHeight??o.headerHeight,this.core.skeleton.applySize(r),t.needsRelayout=!0,t.needsHeaderRebuild=!0}cs(e,t){let r=this.core.options;e.suppressCellFocus!=null&&(r.suppressCellFocus=e.suppressCellFocus),e.suppressRowHoverHighlight!=null&&(r.suppressRowHoverHighlight=e.suppressRowHoverHighlight),e.suppressNoRowsOverlay!=null&&(r.suppressNoRowsOverlay=e.suppressNoRowsOverlay),e.suppressHeaderFocus!=null&&e.suppressHeaderFocus!==r.suppressHeaderFocus&&(r.suppressHeaderFocus=e.suppressHeaderFocus,t.needsHeaderRebuild=!0),this.Ts(e),this.Rs(e)}Ts(e){let t=this.core.options,r=!1;R(e,"ariaLabel")&&(t.ariaLabel=e.ariaLabel??"MachTable data grid",r=!0),R(e,"ariaLabelledBy")&&(t.ariaLabelledBy=e.ariaLabelledBy??"",r=!0),R(e,"ariaDescribedBy")&&(t.ariaDescribedBy=e.ariaDescribedBy??"",r=!0),r&&this.core.skeleton.applyAriaLabels(t)}Rs(e){let t=this.core.options;R(e,"overlayNoRowsTemplate")&&(t.overlayNoRowsTemplate=e.overlayNoRowsTemplate??""),R(e,"overlayLoadingTemplate")&&(t.overlayLoadingTemplate=e.overlayLoadingTemplate??""),R(e,"overlayErrorTemplate")&&(t.overlayErrorTemplate=e.overlayErrorTemplate??""),e.allowUnsafeOverlayHtml!=null&&(t.allowUnsafeOverlayHtml=e.allowUnsafeOverlayHtml),R(e,"className")&&(t.className=e.className??"",this.core.skeleton.setCustomClass(t.className)),e.loading!=null&&(t.loading=e.loading),R(e,"error")&&(t.error=e.error??null)}us(e,t){this.Ds(e,t),this.Es(e,t);let r=this.core.options;e.autoCheckedChildren!=null&&(r.autoCheckedChildren=e.autoCheckedChildren),e.defaultExpandAll!=null&&e.defaultExpandAll!==r.defaultExpandAll&&(r.defaultExpandAll=e.defaultExpandAll,t.needsRowRebuild=!0),R(e,"advancedFilterModel")&&(t.filterChanged=this.core.rowModel.setAdvancedFilterModel(e.advancedFilterModel)||t.filterChanged),e.applyRowDrag!=null&&(r.applyRowDrag=e.applyRowDrag,t.needsCellRefresh=!0),e.suppressWarnings!=null&&(r.suppressWarnings=e.suppressWarnings)}Ds(e,t){let r=this.core.options;if(e.rowSelection!=null&&e.rowSelection!==r.rowSelection&&(r.rowSelection=e.rowSelection,e.rowSelection==="none"&&this.deselectAll(),t.needsHeaderRebuild=!0,t.needsPoolRebuild=!0,this.core.refreshAriaState()),e.quickFilterText!==void 0&&this.setQuickFilter(e.quickFilterText),e.defaultColDef!==void 0&&e.defaultColDef!==r.defaultColDef&&(r.defaultColDef={...Wt,...e.defaultColDef},t.needsColumnRebuild=!0),R(e,"columnTypes")&&e.columnTypes!==r.columnTypes&&(r.columnTypes=e.columnTypes??{},t.needsColumnRebuild=!0),R(e,"rowKey")){r.rowKey=e.rowKey;let o=e.rowKey;r.resolveRowId=o?({data:i})=>$t(o,i):void 0,t.needsRowRebuild=!0}}Es(e,t){let r=this.core.options;e.masterDetail!=null&&e.masterDetail!==r.masterDetail&&(r.masterDetail=e.masterDetail,t.needsColumnRebuild=!0,t.needsRowRebuild=!0),e.detailToggleColumn!=null&&e.detailToggleColumn!==r.detailToggleColumn&&(r.detailToggleColumn=e.detailToggleColumn,t.needsColumnRebuild=!0),e.treeData!=null&&e.treeData!==r.treeData&&(r.treeData=e.treeData,t.needsRowRebuild=!0,t.needsColumnRebuild=!0,this.core.refreshAriaState()),e.childrenKey!=null&&e.childrenKey!==r.childrenKey&&(r.childrenKey=e.childrenKey,t.needsRowRebuild=!0),R(e,"isTreeRowExpandable")&&(r.isTreeRowExpandable=e.isTreeRowExpandable,t.needsCellRefresh=!0),R(e,"loadTreeChildren")&&(r.loadTreeChildren=e.loadTreeChildren,t.needsCellRefresh=!0)}hs(e,t){let r=this.core.options;R(e,"aggFuncs")&&(r.aggFuncs=e.aggFuncs,t.needsRowRebuild=!0),R(e,"components")&&(r.components=e.components,t.needsCellRefresh=!0),R(e,"actionPolicy")&&(r.actionPolicy=e.actionPolicy,t.needsCellRefresh=!0),R(e,"features")&&(r.features=Array.isArray(e.features)?e.features:[],t.needsFeatureReload=!0),this.Ss(e,t),this.xs(e,t)}Ss(e,t){let r=this.core.options;R(e,"dataProcessor")&&e.dataProcessor!==r.dataProcessor&&(r.dataProcessor?.destroy?.(),r.dataProcessor=e.dataProcessor,t.needsRowRebuild=!0);let o=A(e.dataProcessorMinRows,1,!0);o!==void 0&&o!==r.dataProcessorMinRows&&(r.dataProcessorMinRows=o,t.needsRowRebuild=!0)}xs(e,t){let r=this.core.options;if(!R(e,"persistence"))return;let o=e.persistence;!o||typeof o.key!="string"||!o.key.trim()?r.persistence=null:r.persistence={key:o.key.trim(),debounceMs:A(o.debounceMs,0,!0)??160,...o.sections?{sections:[...new Set(o.sections)]}:{},...o.store?{store:o.store}:{}},t.needsStateLoad=!0}ps(e,t){this.Ms(e,t),this.ks(e,t),this.Is(e,t),this.As(e)}Ms(e,t){let r=this.core.options,o=A(e.blockSize,1,!0),i=A(e.infiniteBufferRows,0,!0),s=A(e.maxBlocksInCache,1,!0),a=A(e.datasourceMaxConcurrentRequests,1,!0),l=A(e.blockPrefetch,0,!0),d=A(e.datasourceRetryCount,0,!0),c=A(e.datasourceRetryDelay,0,!0),u=A(e.datasourceRetryJitter,0);o!==void 0&&o!==r.blockSize&&(r.blockSize=o,t.datasourceChanged=t.datasourceChanged||r.datasourceMode==="block"),i!==void 0&&(r.infiniteBufferRows=i),s!==void 0&&s!==r.maxBlocksInCache&&(r.maxBlocksInCache=s,t.datasourceChanged=t.datasourceChanged||r.datasourceMode==="block"),a!==void 0&&a!==r.datasourceMaxConcurrentRequests&&(r.datasourceMaxConcurrentRequests=a,t.datasourceChanged=t.datasourceChanged||r.datasourceMode==="block"),l!==void 0&&(r.blockPrefetch=l),d!==void 0&&(r.datasourceRetryCount=d),c!==void 0&&(r.datasourceRetryDelay=c),u!==void 0&&(r.datasourceRetryJitter=Math.min(1,u))}ks(e,t){let r=this.core.options;if(R(e,"datasourceMode")){let o=e.datasourceMode==="block"?"block":"sequential";o!==r.datasourceMode&&(r.datasourceMode=o,t.datasourceChanged=!0)}if(R(e,"datasourceRowCount")){let o=e.datasourceRowCount==null?null:A(e.datasourceRowCount,0,!0)??null;o!==r.datasourceRowCount&&(r.datasourceRowCount=o,t.datasourceChanged=!0)}}Is(e,t){let r=this.core.options;R(e,"datasource")&&e.datasource!==r.datasource&&(r.datasource=e.datasource,r.paginationEnabled=e.datasource==null&&r.paginationEnabled,t.datasourceChanged=!0,this.core.paginationBar.rebuild()),R(e,"detailRowRenderer")&&(r.detailRowRenderer=e.detailRowRenderer,t.needsCellRefresh=!0),R(e,"isRowExpandable")&&(r.isRowExpandable=e.isRowExpandable,t.needsCellRefresh=!0)}As(e){let t=this.core.options;e.pinnedTopRowData!==void 0&&(t.pinnedTopRowData=e.pinnedTopRowData??[],this.core.pinnedRowsRenderer.setTopData(t.pinnedTopRowData)),e.pinnedBottomRowData!==void 0&&(t.pinnedBottomRowData=e.pinnedBottomRowData??[],this.core.pinnedRowsRenderer.setBottomData(t.pinnedBottomRowData))}fs(e,t,r){let o=this.core.options;t.needsColumnRebuild&&(this.core.columnModel.setColumnDefs(o.columnDefs),this.core.onColumnsStructureChanged(),t.needsHeaderRebuild=!1,t.needsPoolRebuild=!1),t.needsStateLoad&&(this.core.loadPersistedGridState(),this.core.onColumnsStructureChanged()),t.needsFeatureReload&&this.core.setFeatures(o.features),this.Ls(t),t.filterChanged&&(this.Et(),!t.datasourceChanged&&!t.needsRowRebuild&&(this.core.rowModel.isInfinite?this.core.rowModel.onServerParamsChanged():(this.core.rowModel.refreshPipeline(),this.core.requestUpdate({data:!0})))),t.needsRelayout&&this.core.skeleton.updateHeights(o.rowHeight,o.headerHeight),e.columnMenu!=null&&e.columnMenu!==r&&(t.needsHeaderRebuild=!0),t.stateToApply&&this.applyState(t.stateToApply),this.core.requestUpdate({layout:t.needsRelayout,header:t.needsHeaderRebuild,pool:t.needsPoolRebuild,cells:t.needsCellRefresh&&!t.needsPoolRebuild?!0:void 0,summary:t.needsSummaryRefresh,overlays:!0})}Ls(e){if(e.datasourceChanged){this.core.rowModel.onDatasourceChanged();return}if(e.needsRowRebuild){if(this.core.rowModel.isInfinite){this.core.rowModel.onServerParamsChanged();return}this.core.rowModel.setRowData(this.core.options.rowData),this.core.requestUpdate({data:!0})}}getDataAsCsv(e={}){let t=this.core.columnModel.getOrderedVisible().filter(o=>!o.hasCheckbox&&!o.isDetailToggle);if(e.headersOnly)return Xt({getHeaderLabels:()=>t.map(o=>o.colDef.headerName??o.colDef.field??o.id),getRowValues:()=>[]},e);let r=e.onlySelected?this.core.selectionService.getSelectedNodes().slice().sort((o,i)=>o.rowIndex-i.rowIndex):e.onlyAllDisplayed?this.core.rowModel.getDisplayedRows().filter(o=>!o.isDetail&&!o.isGroup):this.core.rowModel.getPipelineRows().filter(o=>!o.isDetail&&!o.isGroup);return Xt({getHeaderLabels:()=>t.map(o=>o.colDef.headerName??o.colDef.field??o.id),getRowValues:()=>r.map(o=>t.map(i=>{let s=this.core.getCellValue(o,i);return typeof s=="number"?s:$(this.core,o,i)}))},e)}getState(){return{version:2,columns:this.getColumnState(),sortModel:this.getSortModel(),filterModel:this.getFilterModel(),advancedFilterModel:this.getAdvancedFilterModel(),quickFilterText:this.getQuickFilter(),pagination:{enabled:this.paginationEnabled(),page:this.getPage(),pageSize:this.getPageSize()},selectedRowIds:this.getSelectedIds(),expandedRowIds:this.core.rowModel.getExpandedRowIds(),expandedGroupIds:this.core.rowModel.getExpandedGroupIds()}}applyState(e,t={}){if(this.core.isDestroyed())return;let r=z(e);if(!r){this.core.reportError(new TypeError("[MachTable] GridState must use the current version 2 schema."),"gridState.apply");return}let o=["columns","sort","filter","pagination","selection","expansion"],i=new Set(t.sections??o);this.core.editingService.stop(!0),this.Ps(r,i),this.Gs(r,i),t.emitEvents!==!1&&this.Ns(i)}Ps(e,t){t.has("columns")&&this.core.columnModel.applyColumnState(e.columns??[]),t.has("sort")&&this.core.columnModel.applySortModel(e.sortModel??[]),t.has("filter")&&(this.core.rowModel.setFilterModel(e.filterModel??{}),this.core.rowModel.setAdvancedFilterModel(e.advancedFilterModel),this.core.rowModel.setQuickFilter(e.quickFilterText)),t.has("expansion")&&this.core.rowModel.restoreExpansion(e.expandedRowIds??[],e.expandedGroupIds??[]),t.has("pagination")&&e.pagination&&(this.core.options.paginationEnabled=e.pagination.enabled&&!this.core.rowModel.isInfinite,this.core.rowModel.restorePagination(e.pagination.page,e.pagination.pageSize),this.core.paginationBar.rebuild())}Gs(e,t){t.has("columns")&&this.core.onColumnsStructureChanged(),this.core.rowModel.isInfinite?this.core.rowModel.onServerParamsChanged():(this.core.rowModel.refreshPipeline(),this.core.requestUpdate({data:!0})),this.core.headerRenderer.refreshSortIndicators(),this.core.headerRenderer.refreshFilterIcons(),t.has("selection")&&this.core.selectionService.restoreSelection(e.selectedRowIds??[])}Ns(e){e.has("sort")&&this.core.emit("sortChanged",{sortModel:this.getSortModel()}),e.has("filter")&&this.Et(),e.has("pagination")&&this.core.emit("paginationChanged",{page:this.getPage(),pageSize:this.getPageSize(),pageCount:this.getPageCount(),total:this.getTotalRowCount()})}getDiagnostics(){return this.core.getDiagnostics()}getPerformanceSnapshot(){return this.core.performanceMonitor.snapshot()}resetPerformanceMetrics(){this.core.performanceMonitor.reset()}setOverlay(e){if(e==="loading"){let t=this.core.options.overlayLoadingTemplate||this.core.buildDefaultLoadingState();this.core.skeleton.showOverlay("loading",t,this.core.options.allowUnsafeOverlayHtml)}else if(e==="noRows"){let t=this.core.options.overlayNoRowsTemplate||this.core.buildDefaultEmptyState();this.core.skeleton.showOverlay("noRows",t,this.core.options.allowUnsafeOverlayHtml)}else if(e==="error"){let t=this.core.options.overlayErrorTemplate||this.core.buildDefaultErrorState();this.core.skeleton.showOverlay("error",t,this.core.options.allowUnsafeOverlayHtml)}else this.core.skeleton.hideOverlay()}on(e,t){return this.core.eventBus.on(e,t)}destroy(){this.$!=null&&clearTimeout(this.$),this.$=null;let e=this._e;this._e=[];for(let t of e)t.signal&&t.onAbort&&t.signal.removeEventListener("abort",t.onAbort),t.aborted||t.resolve();this.core.destroy()}isDestroyed(){return this.core.isDestroyed()}};function Io(n){let e=new lr(n),t,r,o,i,s,a,l,d,c,u,h,p,m={get rows(){return t??(t=Object.freeze(yo(e)))},get columns(){return r??(r=Object.freeze(vo(e)))},get selection(){return o??(o=Object.freeze(wo(e)))},get editing(){return i??(i=Object.freeze(bo(e)))},get filtering(){return s??(s=Object.freeze(Ro(e)))},get sorting(){return a??(a=Object.freeze(Do(e)))},get pagination(){return l??(l=Object.freeze(Eo(e)))},get hierarchy(){return d??(d=Object.freeze(So(e)))},get view(){return c??(c=Object.freeze(xo(e)))},get state(){return u??(u=Object.freeze(Co(e)))},get io(){return h??(h=Object.freeze(Mo(e)))},get diagnostics(){return p??(p=Object.freeze(To(e)))},batch:g=>e.batch(g),whenReady:()=>e.whenReady(),getOption:g=>e.getOption(g),updateOptions:g=>e.updateOptions(g),on:(g,y)=>e.on(g,y),destroy:()=>e.destroy(),isDestroyed:()=>e.isDestroyed()};return e.connectPublicApi(m),Object.freeze(m)}var ji=["compact","normal","large"],wt=class{constructor(e){this.core=e;this.headerRows={left:[],center:[],right:[]};this.headerRowContainers={};this.We=null;this.yr=null;this.vr=!1;this.xt=null;this.wr=[];this.Mt=null;this.Re=0;this.Po=-1;this.Go=-1;this.ue=1;this.De=null}init(e,t){let r=["mach-root",`mach-size--${t.size}`];t.stripedRows&&r.push("mach-striped"),t.showCellBorders&&r.push("mach-cell-borders"),t.domLayout==="autoHeight"&&r.push("mach-dom-layout--auto-height"),this.root=f("div",r.join(" ")),this.setCustomClass(t.className),this.root.style.setProperty("--mach-row-h",`${t.rowHeight}px`),this.root.style.setProperty("--mach-header-h",`${t.headerHeight}px`),this.root.setAttribute("role","grid"),this.root.tabIndex=0,this.applyAriaLabels(t),this.headerEl=f("div","mach-header"),this.headerEl.setAttribute("role","rowgroup"),this.headerRows={left:[],center:[],right:[]},this.mr={},this.headerRowContainers={};for(let o of["left","center","right"]){let i=f("div",`mach-pane mach-pane--${o} mach-header-pane`),s=f("div","mach-header-rows");if(o==="center"){let a=f("div","mach-header-viewport");a.appendChild(s),i.appendChild(a)}else i.appendChild(s);this.headerEl.appendChild(i),this.mr[o]=i,this.headerRowContainers[o]=s}this.setHeaderRowCount(1),this.bodyEl=f("div","mach-body"),this.pinnedTopEl=f("div","mach-pinned-rows mach-pinned-rows--top"),this.pinnedTopEl.style.display="none",this.pinnedBottomEl=f("div","mach-pinned-rows mach-pinned-rows--bottom"),this.pinnedBottomEl.style.display="none",this.bodyViewports={},this.rowContainers={},this.gr={};for(let o of["left","center","right"]){let i=f("div",`mach-pane mach-pane--${o} mach-body-pane`),s=f("div",`mach-body-viewport${o==="center"?" mach-body-viewport--scroll":""}`),a=f("div","mach-row-container");s.appendChild(a),i.appendChild(s),this.bodyEl.appendChild(i),this.gr[o]=i,this.bodyViewports[o]=s,this.rowContainers[o]=a}this.L=f("div","mach-overlay"),this.L.style.display="none",this.L.setAttribute("role","status"),this.L.setAttribute("aria-live","polite"),this.P=f("div","mach-overlay-content"),this.L.appendChild(this.P),this.K=f("div","mach-infinite-loading"),this.K.style.display="none",this.K.appendChild(f("div","mach-spinner")),this.St=f("span"),this.K.appendChild(this.St),this.root.append(this.headerEl,this.pinnedTopEl,this.bodyEl,this.pinnedBottomEl,this.L,this.K),e.appendChild(this.root),typeof ResizeObserver<"u"&&(this.Mt=new ResizeObserver(o=>{let i=o[o.length-1]?.contentRect;if(!i)return;let s=Math.round(i.width),a=Math.round(i.height);s===this.Po&&a===this.Go||(this.Po=s,this.Go=a,!this.Re&&(this.Re=requestAnimationFrame(()=>{this.Re=0,this.core.relayout()})))}),this.Mt.observe(this.root)),this.applyTheme(t.theme)}applyAriaLabels(e){e.ariaLabelledBy?(this.root.setAttribute("aria-labelledby",e.ariaLabelledBy),this.root.removeAttribute("aria-label")):(this.root.removeAttribute("aria-labelledby"),this.root.setAttribute("aria-label",e.ariaLabel)),e.ariaDescribedBy?this.root.setAttribute("aria-describedby",e.ariaDescribedBy):this.root.removeAttribute("aria-describedby")}setHeaderRowCount(e){this.ue=e;for(let t of["left","center","right"]){let r=this.headerRowContainers[t],o=this.headerRows[t];for(;o.length<e;){let i=f("div","mach-header-row");i.setAttribute("role","row"),i.setAttribute("aria-rowindex",String(o.length+1)),i.style.top=`${o.length*this.core.options.headerHeight}px`,i.style.height=`${this.core.options.headerHeight}px`,r.appendChild(i),o.push(i)}for(;o.length>e;)o.pop().remove()}this.No()}getHeaderRowCount(){return this.ue}No(){this.headerEl.style.height=`${this.ue*this.core.options.headerHeight}px`;for(let e of["left","center","right"])this.headerRows[e].forEach((r,o)=>{r.style.top=`${o*this.core.options.headerHeight}px`,r.style.height=`${this.core.options.headerHeight}px`})}setPaneWidths(e,t){this.Fo("left",e),this.Fo("right",t)}Fo(e,t){let r=this.mr[e],o=this.gr[e];r.style.width=`${t}px`,o.style.width=`${t}px`;let i=t<=0;r.classList.toggle("mach-pane--hidden",i),o.classList.toggle("mach-pane--hidden",i)}measureViewportWidth(){let e=this.bodyViewports.center,t=Math.max(0,e.offsetWidth-e.clientWidth);return Math.max(0,this.bodyEl.clientWidth-t)}updateHeights(e,t){this.root.style.setProperty("--mach-row-h",`${e}px`),this.root.style.setProperty("--mach-header-h",`${t}px`),this.No()}applySize(e){for(let t of ji)this.root.classList.toggle(`mach-size--${t}`,t===e)}applyTheme(e){if(!this.root)return;this.De?.(),this.De=null;let t=e==="dark"||e==="auto"&&this.Fs();if(this.root.classList.toggle("mach-theme-dark",t),e==="auto"&&typeof window<"u"&&typeof window.matchMedia=="function"){let r=window.matchMedia("(prefers-color-scheme: dark)"),o=()=>this.root.classList.toggle("mach-theme-dark",r.matches);typeof r.addEventListener=="function"?(r.addEventListener("change",o),this.De=()=>r.removeEventListener("change",o)):typeof r.addListener=="function"&&(r.addListener(o),this.De=()=>r.removeListener(o))}}Fs(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-color-scheme: dark)").matches}setStriped(e){this.root.classList.toggle("mach-striped",e)}setCellBorders(e){this.root.classList.toggle("mach-cell-borders",e)}applyDomLayout(e){this.root.classList.toggle("mach-dom-layout--auto-height",e==="autoHeight")}setCustomClass(e){for(let t of this.wr)this.root.classList.remove(t);this.wr=[];for(let t of String(e??"").split(/\s+/).filter(Boolean))this.root.classList.contains(t)||(this.root.classList.add(t),this.wr.push(t))}Os(e){try{return typeof e=="function"?e():e}catch(t){return this.core.reportError(t,"overlayTemplate"),""}}Hs(e,t,r){if(typeof t=="object"&&t!=null&&"el"in t){this.P.appendChild(t.el),this.xt=t.destroy??null;return}if(t instanceof HTMLElement){this.P.appendChild(t);return}if(t){r?this.P.innerHTML=t:this.P.textContent=t;return}if(e!=="loading")return;let o=f("div","mach-spinner");o.setAttribute("aria-label","loading"),this.P.appendChild(o)}showOverlay(e,t,r=!1){this.We===e&&this.yr===t&&this.vr===r||(this.We=e,this.yr=t,this.vr=r,this.br(),this.P.replaceChildren(),this.Hs(e,this.Os(t),r),this.L.style.display="",this.Vs(e),this.root.setAttribute("aria-busy",e==="loading"?"true":"false"))}hideOverlay(){this.We&&(this.We=null,this.yr=null,this.vr=!1,this.L.style.display="none",this.br(),this.P.replaceChildren(),this.root.setAttribute("aria-busy","false"))}Vs(e){this.L.setAttribute("role",e==="error"?"alert":"status")}setInfiniteLoading(e,t){this.K&&(e?(this.St.textContent!==t&&(this.St.textContent=t),this.K.style.display="",this.root.setAttribute("aria-busy","true")):(this.K.style.display="none",this.We!=="loading"&&this.root.setAttribute("aria-busy","false")))}destroy(){this.De?.(),this.De=null,this.Mt?.disconnect(),this.Mt=null,this.Re&&cancelAnimationFrame(this.Re),this.Re=0,this.br(),this.root.remove()}br(){if(!this.xt)return;let e=this.xt;this.xt=null;try{e()}catch(t){this.core.reportError(t,"overlayTemplate.destroy")}}};var Yi={contains:"\u5305\u542B",notContains:"\u4E0D\u5305\u542B",equals:"=",notEquals:"\u2260",startsWith:"\u5F00\u5934",endsWith:"\u7ED3\u5C3E",blank:"\u4E3A\u7A7A",notBlank:"\u975E\u7A7A",lessThan:"<",lessThanOrEqual:"\u2264",greaterThan:">",greaterThanOrEqual:"\u2265",inRange:"\u8303\u56F4"};function bt(n){if(!n)return"";if(n.type==="set")return`\u5DF2\u9009 ${n.values.length} \u9879`;let e=[];for(let r of n.conditions){let o=Yi[r.match]??r.match,i=r.value,s="value2"in r?r.value2:void 0;r.match==="blank"||r.match==="notBlank"?e.push(o):r.match==="inRange"&&i!=null?e.push(`${o} ${i}~${s??i}`):i!=null&&String(i)!==""?e.push(`${o} ${i}`):e.push(o)}let t=n.operator==="or"?" \u6216 ":" \u4E14 ";return e.join(t)}function Ao(n,e){let t=0,r=n.length;for(;t<r;){let o=t+r>>1;n[o]<=e?t=o+1:r=o}return t}function Xi(n,e){let t=0,r=n.length;for(;t<r;){let o=t+r>>1;n[o]<e?t=o+1:r=o}return t}var pe=class{constructor(){this.offsets=new Float64Array(1)}update(e){let t=0,r=this.offsets.length!==e.length+1;for(let i=0;i<e.length;i++)t+=e[i].currentWidth,!r&&this.offsets[i+1]!==t&&(r=!0);if(!r)return!1;let o=new Float64Array(e.length+1);for(let i=0;i<e.length;i++)o[i+1]=o[i]+e[i].currentWidth;return this.offsets=o,!0}totalWidth(){return this.offsets[this.offsets.length-1]??0}offsetAt(e){let t=Math.max(0,Math.min(Math.trunc(e),this.offsets.length-1));return this.offsets[t]??0}indexAt(e){let t=Math.max(0,this.offsets.length-1);return t===0?-1:Math.min(t-1,Math.max(0,Ao(this.offsets,Math.max(0,e))-1))}visibleRange(e,t,r=2){let o=Math.max(0,this.offsets.length-1);if(o===0||t<=0||this.totalWidth()<=t)return{first:0,lastExcl:o};let i=Math.max(0,e),s=i+t,a=Math.max(0,Ao(this.offsets,i)-1),l=Math.min(o,Xi(this.offsets,s));return{first:Math.max(0,a-r),lastExcl:Math.min(o,l+r)}}};var Ji=".mach-header-resize, .mach-filter-btn, .mach-menu-btn, .mach-select-all";function dr(n){return n instanceof HTMLElement&&n.closest(Ji)!=null}function cr(n){return n==="ArrowLeft"||n==="ArrowRight"}var Ct=class{constructor(e){this.core=e;this.m=[];this.kt=[];this.Oo={left:[],center:[],right:[]};this.d=new pe;this.It=0;this.At=Number.MAX_SAFE_INTEGER}build(){this.Ho(),this.core.resizeService.cancelResize();for(let l of this.m){let d=tr(l.el);if(d)try{d()}catch(c){this.core.reportError(c,"headerComponent.destroy",{colId:l.column.id})}}this.m=[],this.kt=[];let e=this.core.columnModel.getHeaderDepth();this.core.skeleton.setHeaderRowCount(e);let t=l=>l.pinned==="left"?"left":l.pinned==="right"?"right":"center",r=(l,d,c)=>{let u=[];for(let h of l)if(h instanceof Z){let p=r(h.children,d+1,c);p.length>0&&u.push({group:h,level:d,children:p})}else!h.hide&&t(h)===c&&u.push({column:h,level:d,children:[]});return u},o=this.core.columnModel.getRootChildren(),i=this.core.columnModel.getPaneColumns("center"),s=new Set(i.slice(this.It,this.At));for(let l of["left","center","right"]){let d=r(o,0,l);this.Oo[l]=l==="center"?this.Vo(d,s):d}let a=this.core.options.headerHeight;for(let l of["left","center","right"]){let d=this.core.skeleton.headerRows[l];for(let u of d)u.textContent="";let c=u=>{let h=d[Math.min(u.level,d.length-1)];if(u.column){let p=this.Bs(u.column,e-u.level,a);h.appendChild(p.el),this.m.push(p)}else if(u.group){let p=this.zs(u.group);h.appendChild(p),this.kt.push({group:u.group,el:p})}for(let p of u.children)c(p)};for(let u of this.Oo[l])c(u)}this.core.options.suppressHeaderFocus||this.m.forEach((l,d)=>{l.el.tabIndex=d===0?0:-1}),this.applyLayout(),this.refreshSortIndicators(),this.refreshFilterIcons(),this.refreshSelectAllCheckbox()}updateColumnWindow(){let e=this.It,t=this.At;this.Ho(),(e!==this.It||t!==this.At)&&this.build()}Ho(){let e=this.core.columnModel.getPaneColumns("center"),t=this.core.skeleton.bodyViewports.center;this.d.update(e);let r=e.length>20?this.d.visibleRange(t.scrollLeft,t.clientWidth,2):{first:0,lastExcl:e.length};this.It=r.first,this.At=r.lastExcl}Vo(e,t){let r=[];for(let o of e){if(o.column){t.has(o.column)&&r.push(o);continue}let i=this.Vo(o.children,t);i.length>0&&r.push({...o,children:i})}return r}Bs(e,t,r){let o=f("div","mach-header-cell mach-header-cell--leaf");e.hasCheckbox&&o.classList.add("mach-header-cell--selection"),o.dataset.colId=e.id,o.setAttribute("role","columnheader"),o.style.height=`${t*r}px`,this._s(o,e),this.Ws(o,e);let i=this.$s(o,e);this.Ks(o,e);let s=f("span","mach-sort-indicator");o.appendChild(s);let{filterBtn:a,filterTagEl:l}=this.qs(o,e);return this.Us(o,e),this.js(o,e),this.Ys(o,e),{column:e,el:o,sortEl:s,filterBtn:a,filterTagEl:l,selectAllEl:i}}_s(e,t){let r=t.colDef;typeof r.headerClass=="string"?e.classList.add(r.headerClass):Array.isArray(r.headerClass)&&e.classList.add(...r.headerClass),r.headerTooltip&&e.setAttribute("title",r.headerTooltip);let o=r.headerAlign??r.align;o==="center"?e.classList.add("mach-header-cell--center"):o==="right"&&e.classList.add("mach-header-cell--right")}Ws(e,t){this.core.options.suppressHeaderFocus||(e.tabIndex=-1,e.addEventListener("mousedown",()=>this.Cr(t)),e.addEventListener("keydown",r=>this.Xs(r,t)))}$s(e,t){if(!t.hasCheckbox||this.core.options.rowSelection!=="multiple")return;let r=document.createElement("input");return r.type="checkbox",r.className="mach-select-all",r.setAttribute("aria-label","select all rows"),r.addEventListener("click",o=>o.stopPropagation()),r.addEventListener("change",()=>{r.checked?this.core.selectionService.selectAll(!0):this.core.selectionService.deselectAll()}),e.appendChild(r),r}Ks(e,t){let r=t.colDef,o=r.headerComponent,i;if(!o){this.Tr(e,r.headerName??r.field??t.id);return}try{i=o({colDef:r,column:t,api:this.core.getApi()})}catch(s){this.core.reportError(s,"headerComponent",{colId:t.id}),i=null}this.Js(e,t,i)}Js(e,t,r){if(typeof r=="string"){this.Tr(e,r);return}if(r instanceof HTMLElement){this.Bo(e,r);return}if(r&&typeof r=="object"&&r.el instanceof HTMLElement){this.Bo(e,r.el),ro(e,r.destroy);return}let o=t.colDef;this.Tr(e,o.headerName??o.field??t.id)}Tr(e,t){let r=f("span","mach-header-label");r.textContent=t,e.appendChild(r)}Bo(e,t){let r=f("span","mach-header-label mach-header-label--custom");r.appendChild(t),e.appendChild(r)}qs(e,t){if(!t.filterable)return{};let r=document.createElement("button");r.type="button",r.className="mach-filter-btn",r.setAttribute("aria-label",`filter ${t.id}`),r.innerHTML=Kr,r.addEventListener("click",i=>{i.stopPropagation(),this.core.filterPopup.toggle(t,r)}),e.appendChild(r);let o=f("span","mach-filter-tag");return e.appendChild(o),{filterBtn:r,filterTagEl:o}}Us(e,t){if(!this.core.options.columnMenu||t.hasCheckbox||t.colDef.suppressColumnMenu)return;let r=document.createElement("button");r.type="button",r.className="mach-menu-btn";let i=`${t.colDef.headerName??t.colDef.field??t.id} \xB7 ${this.core.getLocaleText("columnSettings")}`;r.setAttribute("aria-label",i),r.title=i,r.innerHTML=jr,r.addEventListener("click",s=>{s.stopPropagation(),this.core.columnMenu.toggle(t,r)}),e.appendChild(r)}js(e,t){if(!this.zo(t))return;let r=f("div","mach-header-resize");r.setAttribute("aria-hidden","true"),r.addEventListener("pointerdown",o=>{o.button===0&&(o.preventDefault(),o.stopPropagation(),this.core.resizeService.startResize(o,t))}),r.addEventListener("dblclick",o=>{o.stopPropagation(),this.core.getApi().columns.autoSize(t.id)}),r.addEventListener("click",o=>o.stopPropagation()),e.appendChild(r)}Ys(e,t){e.addEventListener("click",r=>{this.core.columnDragService.didDrag()||dr(r.target)||t.sortable&&this.core.cycleSort(t,r.shiftKey)}),e.addEventListener("pointerdown",r=>{r.button!==0||dr(r.target)||this.core.columnDragService.onPointerDown(r,t)})}zs(e){let t=f("div","mach-header-cell mach-header-cell--group");e.groupId&&(t.dataset.groupId=e.groupId),t.setAttribute("role","columnheader");let r=e.def;typeof r.headerClass=="string"?t.classList.add(r.headerClass):Array.isArray(r.headerClass)&&t.classList.add(...r.headerClass);let o=f("span","mach-header-label mach-header-label--group");return o.textContent=e.headerName,t.appendChild(o),t}applyLayout(){let e={left:0,center:0,right:0};for(let t of["left","center","right"]){let r=this.core.skeleton.headerRows[t],o=0,i=new Map;for(let a of this.core.columnModel.getPaneColumns(t))i.set(a.id,o),o+=a.currentWidth;let s=this.core.options.headerHeight;for(let a of this.m){if(this.core.columnModel.paneOf(a.column)!==t)continue;let l=i.get(a.column.id)??0;a.el.style.width=`${a.column.currentWidth}px`,a.el.style.left=`${l}px`,a.el.setAttribute("aria-colindex",String(this.core.columnModel.getFlatIndex(a.column.id)+1))}for(let a of this.kt){let l=this.Qs(a.group,t);if(l.length===0)continue;let d=i.get(l[0].id)??0,c=0;for(let u of l)c+=u.currentWidth;a.el.style.left=`${d}px`,a.el.style.width=`${c}px`,a.el.style.height=`${s}px`,a.el.setAttribute("aria-colspan",String(l.length))}for(let a of r)a.style.width=`${o}px`;e[t]=o}this.core.skeleton.setPaneWidths(e.left,e.right)}Qs(e,t){return e.getLeafColumns().filter(r=>!r.hide&&this.core.columnModel.paneOf(r)===t)}Xs(e,t){this.core.isDestroyed()||this.Zs(e,t)||this.ea(e,t)||this.ta(e,t)||this.ra(e,t)||this.oa(e)}Zs(e,t){return e.key!=="Enter"&&e.key!==" "?!1:(dr(e.target)||(e.preventDefault(),t.sortable&&this.core.cycleSort(t,e.shiftKey)),!0)}ea(e,t){if(!e.altKey||!cr(e.key))return!1;if(!this.zo(t))return!0;let r=e.key==="ArrowRight"?24:-24,o=Math.max(t.colDef.minWidth??40,t.currentWidth+r);return this.core.columnModel.setColumnWidth(t,o),this.core.relayoutColumns(),this.core.commitColumnWidths([t]),e.preventDefault(),!0}ta(e,t){if(!e.ctrlKey||!cr(e.key))return!1;if(!t.movable)return!0;e.preventDefault();let r=this.core.columnModel.paneOf(t),o=this.core.columnModel.getPaneColumns(r),i=o.indexOf(t),s=e.key==="ArrowRight"?1:-1,a=Math.max(0,Math.min(o.length-1,i+s));return a!==i&&this.core.moveColumn(t.id,a),!0}ra(e,t){if(e.altKey||e.ctrlKey||e.metaKey||!cr(e.key))return!1;e.preventDefault();let r=this.core.columnModel.getOrderedVisible(),o=r.indexOf(t);if(o<0)return!0;let i=e.key==="ArrowRight"?1:-1,s=Math.max(0,Math.min(r.length-1,o+i));return this.Cr(r[s]),!0}oa(e){if(e.key!=="Home"&&e.key!=="End")return!1;e.preventDefault();let t=this.core.columnModel.getOrderedVisible();if(t.length===0)return!0;let r=e.key==="Home"?0:t.length-1;return this.Cr(t[r]),!0}Cr(e){let t=this.m.find(r=>r.column.id===e.id);if(!t&&!e.pinned&&(this.na(e),this.updateColumnWindow(),t=this.m.find(r=>r.column.id===e.id)),!!t){for(let r of this.m)r.el.tabIndex=r===t?0:-1;t.el.focus({preventScroll:!0})}}na(e){let t=this.core.columnModel.getPaneColumns("center"),r=t.indexOf(e);if(r<0)return;let o=this.core.skeleton.bodyViewports.center;this.d.update(t);let i=this.d.offsetAt(r),s=i+e.currentWidth;i<o.scrollLeft?o.scrollLeft=i:s>o.scrollLeft+o.clientWidth&&(o.scrollLeft=s-o.clientWidth)}zo(e){return this.core.options.enableColumnResize&&e.resizable}refreshSortIndicators(){let e=this.core.columnModel.getSortModel(),t=e.length>1;for(let r of this.m){let o=e.findIndex(i=>i.colId===r.column.id);if(o>=0){let i=e[o].direction,s=t?`<span class="mach-sort-badge">${o+1}</span>`:"";r.sortEl.innerHTML=(i==="asc"?qr:Ur)+s,r.el.setAttribute("aria-sort",i==="asc"?"ascending":"descending"),r.el.classList.add("mach-header-cell--sorted")}else r.sortEl.innerHTML="",r.el.removeAttribute("aria-sort"),r.el.classList.remove("mach-header-cell--sorted")}}refreshFilterIcons(){let e=this.core.rowModel.getFilterModel();for(let t of this.m){if(!t.filterBtn)continue;let r=e[t.column.id],o=r!=null;if(t.filterBtn.classList.toggle("mach-filter-btn--active",o),t.filterTagEl){let i=o?bt(r):"";t.filterTagEl.style.display=i?"":"none",i&&(t.filterTagEl.textContent=i)}}}refreshSelectAllCheckbox(){for(let e of this.m)e.selectAllEl&&(e.selectAllEl.checked=this.core.selectionService.isSelectAllActive(),e.selectAllEl.indeterminate=this.core.selectionService.isSelectAllIndeterminate())}destroy(){for(let e of this.m){let t=tr(e.el);if(t)try{t()}catch(r){console.error("[mach-table] headerComponent destroy error",r)}}this.m=[],this.kt=[]}};var Tt=class{constructor(){this.anchor=null;this.end=null;this.cache=!1;this.Rr=-1;this.Dr=-1}getAnchor(){return this.anchor}getEnd(){return this.end}hasAnchor(){return this.anchor!=null}start(e,t){(!t||!this.anchor)&&(this.anchor={...e}),this.end={...e},this.invalidate()}ensureAnchor(e){return this.anchor?!0:e.colIdx<0?!1:(this.anchor={...e},this.invalidate(),!0)}setEnd(e){this.end={...e},this.invalidate()}clear(){this.anchor=null,this.end=null,this.invalidate()}invalidate(){this.cache=!1,this.Rr=-1,this.Dr=-1}normalize(e,t){return this.cache!==!1&&this.Rr===e&&this.Dr===t?this.cache:(this.Rr=e,this.Dr=t,!this.anchor||!this.end||e<=0||t<=0?(this.cache=null,null):(this.cache={r1:Math.max(0,Math.min(this.anchor.row,this.end.row,e-1)),r2:Math.max(0,Math.min(Math.max(this.anchor.row,this.end.row),e-1)),c1:Math.max(0,Math.min(this.anchor.colIdx,this.end.colIdx,t-1)),c2:Math.max(0,Math.min(Math.max(this.anchor.colIdx,this.end.colIdx),t-1))},this.cache))}};var Qi=["left","center","right"],Rt=class{constructor(e,t,r){this.core=e;this.getRowTop=t;this.findRowAt=r;this.state=null;this.w=0;this.Lt=0;this.V=e=>{let t=this.state;if(!(!t||e.pointerId!==t.pointerId)){if(t.clientX=e.clientX,t.clientY=e.clientY,!t.active){if(Math.abs(e.clientY-t.startY)<5)return;t.active=!0,this.core.skeleton.root.classList.add("mach-root--row-dragging"),this.core.skeleton.root.querySelectorAll(".mach-row").forEach(r=>{r.classList.toggle("mach-row--drag-source",r.dataset.id===t.node.id)})}this._o()}};this.ia=()=>{this.w=0,this.state?.active&&(this.Fe(),this.sa()&&this._o())};this.x=e=>{let t=this.state;if(!t||e.pointerId!==t.pointerId)return;t.clientX=e.clientX,t.clientY=e.clientY,t.active&&this.Fe();let r=this.$o();if(!r?.active||!this.Er(e.clientX,e.clientY))return;let o=this.core.rowModel.getDisplayedRows();if(o.length!==r.order.length||o.some((a,l)=>a!==r.order[l]))return;let i=r.targetIndex,s=i>r.fromIndex?i-1:i;for(;this.core.rowModel.getDisplayedRow(s)?.isDetail;)s--;this.commit(r.node,r.fromIndex,s,i)};this.Oe=e=>{e.key==="Escape"&&(e.preventDefault(),this.destroy())};this.Z=e=>{e.type==="pointercancel"&&e.pointerId!==this.state?.pointerId||this.destroy()}}canDrag(e){return this.core.editingService.isEditing()||e.isDetail||e.isGroup||e.loading||!e.data||this.core.rowModel.isTree||this.core.columnModel.getRowGroupColumns().length>0?!1:!this.core.options.applyRowDrag||this.core.rowModel.canReorderRows()}isSource(e){return this.state?.active===!0&&this.state.node===e}start(e,t){if(this.destroy(),!this.canDrag(t)||e.isPrimary===!1)return;let r=Qi.map(i=>{let s=f("div","mach-row-drop-indicator");return s.hidden=!0,this.core.skeleton.rowContainers[i].appendChild(s),s}),o=f("div","mach-row-drag-preview");o.setAttribute("role","status"),o.hidden=!0,this.core.skeleton.root.appendChild(o),this.state={node:t,order:this.core.rowModel.getDisplayedRows().slice(),fromIndex:t.rowIndex,startY:e.clientY,clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId,indicators:r,preview:o,targetIndex:-1,active:!1},window.addEventListener("pointermove",this.V),window.addEventListener("pointerup",this.x),window.addEventListener("pointercancel",this.Z),window.addEventListener("keydown",this.Oe),window.addEventListener("blur",this.Z)}moveWithKeyboard(e,t){if(!e.altKey||e.key!=="ArrowUp"&&e.key!=="ArrowDown"||(e.preventDefault(),e.stopPropagation(),!this.canDrag(t)))return;let r=t.rowIndex,o=e.key==="ArrowUp"?-1:1,i=r+o;for(;this.core.rowModel.getDisplayedRow(i)?.isDetail;)i+=o;if(!this.core.rowModel.getDisplayedRow(i))return;let s=i>r?i+1:i;for(;this.core.rowModel.getDisplayedRow(s)?.isDetail;)s++;this.commit(t,r,i,s)&&(this.Lt=requestAnimationFrame(()=>{this.Lt=0,this.core.skeleton.root.querySelector(`.mach-row[data-index="${t.rowIndex}"] .mach-row-drag-handle`)?.focus()}))}_o(){this.w||(this.w=requestAnimationFrame(this.ia))}Er(e,t,r=0){let o=this.core.skeleton.bodyEl.getBoundingClientRect();return e>=o.left&&e<=o.right&&t>=o.top-r&&t<=o.bottom+r}sa(){let e=this.state;if(!e||!this.Er(e.clientX,e.clientY,28))return!1;let t=this.core.skeleton.bodyViewports.center,r=t.getBoundingClientRect(),o=Math.min(36,r.height/3);if(o<=0)return!1;let i=e.clientY<r.top+o?-Math.ceil(14*E((r.top+o-e.clientY)/o,0,1)):Math.ceil(14*E((e.clientY-r.bottom+o)/o,0,1)),s=t.scrollTop;return t.scrollTop=E(s+i,0,Math.max(0,t.scrollHeight-t.clientHeight)),t.scrollTop!==s}Fe(){let e=this.state;if(!e?.active)return;let t=this.Er(e.clientX,e.clientY),r=this.core.skeleton.bodyViewports.center,o=e.clientY-r.getBoundingClientRect().top+r.scrollTop,i=this.core.rowModel.getDisplayedRowCount(),s=E(this.findRowAt(o),0,i),a=this.getRowTop(s),l=this.getRowTop(Math.min(i,s+1));for(s<i&&o>=a+(l-a)/2&&s++;this.core.rowModel.getDisplayedRow(s)?.isDetail;)s++;e.targetIndex=s;for(let u of e.indicators)u.hidden=!t,u.style.transform=`translate3d(0, ${this.getRowTop(s)}px, 0)`;let d=this.core.skeleton.root.getBoundingClientRect(),c=this.Wo(e.fromIndex,s);e.preview.hidden=!1,e.preview.textContent=t?ue(this.core.options.locale.rowDragPosition??D.rowDragPosition,e.fromIndex+1,c+1):this.core.options.locale.rowDragOutside??D.rowDragOutside,e.preview.style.transform=`translate3d(${E(e.clientX-d.left+16,8,Math.max(8,d.width-224))}px, ${E(e.clientY-d.top+16,8,Math.max(8,d.height-48))}px, 0)`}commit(e,t,r,o){if(t===r||r<0||!this.canDrag(e))return!1;let i=this.Wo(t,o),s=this.core.options.applyRowDrag&&this.core.rowModel.reorderRowsByDisplayed(t,r);return this.core.options.applyRowDrag&&!s?!1:(this.core.emit("rowDragEnd",{rowNode:e,fromIndex:t,toIndex:o,targetIndex:s?e.rowIndex:i,applied:s}),s)}Wo(e,t){let r=e+1;for(;this.core.rowModel.getDisplayedRow(r)?.isDetail;)r++;return t>e?t-(r-e):t}$o(){let e=this.state;return this.state=null,window.removeEventListener("pointermove",this.V),window.removeEventListener("pointerup",this.x),window.removeEventListener("pointercancel",this.Z),window.removeEventListener("keydown",this.Oe),window.removeEventListener("blur",this.Z),cancelAnimationFrame(this.w),this.w=0,this.core.skeleton.root.classList.remove("mach-root--row-dragging"),this.core.skeleton.root.querySelectorAll(".mach-row--drag-source").forEach(t=>t.classList.remove("mach-row--drag-source")),e?.indicators.forEach(t=>t.remove()),e?.preview.remove(),e}destroy(){this.$o(),cancelAnimationFrame(this.Lt),this.Lt=0}};var Zi=new Set(["warning","danger","success","info"]);function xe(n,e,t=null){if(!(e.data==null||e.isGroup||e.isDetail||e.loading))for(let r of n.options.rowStyleRules)try{if(r.when({data:e.data,node:e,api:n.getApi(),rowPinned:t})===!0)return r}catch(o){n.reportError(o,"rowStyleRules",{rowId:e.id})}}function fe(n,e){n.style.removeProperty("--mach-row-rule-bg"),n.style.removeProperty("--mach-row-rule-fg"),e?.tone&&Zi.has(e.tone)?n.dataset.rowTone=e.tone:delete n.dataset.rowTone,e?.backgroundColor&&n.style.setProperty("--mach-row-rule-bg",e.backgroundColor),e?.color&&n.style.setProperty("--mach-row-rule-fg",e.color),n.classList.toggle("mach-row--styled",!!e)}var Dt=class{constructor(){this.sizes=new Float64Array(0);this.tree=new Float64Array(1);this.Sr=new WeakMap;this.re=new Map;this.q=0}reset(e,t){this.sizes=new Float64Array(e.length),this.tree=new Float64Array(e.length+1),this.Sr=new WeakMap,this.re=new Map,this.q=0;for(let r=0;r<e.length;r++){this.Sr.set(e[r],r);let o=Math.max(1,t(e[r],r));this.sizes[r]=o,this.xr(o,1),this.add(r,o)}}get length(){return this.sizes.length}indexOf(e){return this.Sr.get(e)??-1}sizeAt(e){return this.sizes[e]??0}update(e,t){if(e<0||e>=this.sizes.length)return!1;let r=Math.max(1,t),o=r-this.sizes[e];return Math.abs(o)<.01?!1:(this.xr(this.sizes[e],-1),this.sizes[e]=r,this.xr(r,1),this.add(e,o),!0)}offsetAt(e){let t=Math.max(0,Math.min(Math.trunc(e),this.sizes.length)),r=0;for(;t>0;)r+=this.tree[t],t-=t&-t;return r}totalSize(){return this.offsetAt(this.sizes.length)}minimumSize(){return this.q}findIndex(e){if(this.sizes.length===0)return 0;let t=Math.max(0,e),r=0,o=0,i=1;for(;i<<1<=this.sizes.length;)i<<=1;for(;i>0;){let s=r+i;s<=this.sizes.length&&o+this.tree[s]<=t&&(r=s,o+=this.tree[s]),i>>=1}return Math.min(r,this.sizes.length-1)}add(e,t){for(let r=e+1;r<this.tree.length;r+=r&-r)this.tree[r]+=t}xr(e,t){let r=(this.re.get(e)??0)+t;if(r<=0?this.re.delete(e):this.re.set(e,r),this.re.size===0)this.q=0;else if(t>0&&(this.q===0||e<this.q))this.q=e;else if(t<0&&e===this.q&&!this.re.has(e)){let o=Number.POSITIVE_INFINITY;for(let i of this.re.keys())o=Math.min(o,i);this.q=Number.isFinite(o)?o:0}}};var F=["left","center","right"];function Lo(n){return!!n&&!n.hasCheckbox&&!n.isDetailToggle&&!n.colDef.rowDrag}function Po(n){let e=n.length>1&&n.every(o=>typeof o=="number"&&!Number.isNaN(o)),t=e?(n[n.length-1]-n[0])/(n.length-1):0,r=!e||n.every(o=>Number.isInteger(o));return{difference:t,integer:r,numeric:e,values:n}}function Go(n,e){let t=n.values.length;if(t===1)return n.values[0];if(!n.numeric)return n.values[e%t];let r=n.values[t-1]+n.difference*(e-t+1);return n.integer?Math.round(r):Math.round(r*1e6)/1e6}var Et=class{constructor(e){this.core=e;this.pool=[];this.M=0;this.first=0;this.lastExcl=-1;this.D=0;this.Mr=0;this.kr=0;this.Pt=-1;this.u=new Dt;this.d=new pe;this.c=new Tt;this.Ir=!1;this.Ar=0;this.Lr=Number.MAX_SAFE_INTEGER;this.focusedCell=null;this.Ko=()=>{this.D||(this.D=requestAnimationFrame(()=>{this.D=0,this.syncScroll()}))};this.Ot=0;this.Ht=new WeakMap;this.oe=new Set;this.Vt="";this.$e=[];this.Te=null;this.Ft=null;this.Ue=null;this.Fr=!1;this.aa=null;this._t=e=>{let t=this.Ue;if(!t)return;let r=e;if(typeof r.clientX!="number")return;if(!t.active){let s=Math.abs(r.clientX-t.startX),a=Math.abs(r.clientY-t.startY);if(s<4&&a<4)return;t.active=!0,t.axis=s>=a?"h":"v",this.core.skeleton.root.classList.add("mach-root--filling")}if(t.axis==="v"){let s=this.gn(r),a=this.c.getEnd();if(a&&a.row!==s){let l=this.normalizedRange();this.c.setEnd({row:s,colIdx:a.colIdx}),this.se(l,this.normalizedRange()),this.core.emit("rangeSelectionChanged",{range:this.getRangeSelection()})}return}let o=Math.max(t.c2+1,this.yn(r)),i=this.c.getEnd();if(i&&i.colIdx!==o){let s=this.normalizedRange();this.c.setEnd({row:i.row,colIdx:o}),this.se(s,this.normalizedRange()),this.ie(),this.core.emit("rangeSelectionChanged",{range:this.getRangeSelection()})}};this.Se=e=>{let t=this.Ue;if(!t)return;let r=e,o=()=>{this.en()};if(!t.active){o();return}if(t.axis==="h"){let s=typeof r.clientX=="number"?Math.max(t.c2+1,this.yn(r)):t.c2+1;if(o(),s>t.c2)this.Qa(t.r1,t.r2,t.c1,t.c2,s),this.ie();else{let a=this.c.getEnd();if(!a||a.colIdx===t.c2)return;let l=this.normalizedRange();this.c.setEnd({row:a.row,colIdx:t.c2}),this.se(l,this.normalizedRange())}return}let i=typeof r.clientY=="number"?this.gn(r):t.r2;if(o(),i>t.r2)this.tl(t.r1,t.r2,t.c1,t.c2,i),this.ie();else{let s=this.c.getEnd();if(!s||s.row===t.r2)return;let a=this.normalizedRange();this.c.setEnd({row:t.r2,colIdx:s.colIdx}),this.se(a,this.normalizedRange())}};this.qo=e=>{if(this.core.isDestroyed())return;let t=e.target,r=this.ae(e);if(r&&!t.closest(".mach-cell-editor-shell, .mach-row-editor-shell, .mach-row-drag-handle")&&!(e.detail>1&&this.core.editingService.isCellEditing())){if(this.core.editingService.isCellEditing()){let o=r.cellEl?.dataset.colId??"";if(this.core.editingService.isEditing(r.index,o))return;this.core.editingService.stopAsync(!1).then(i=>{if(!i||this.core.isDestroyed())return;this.bn(e,t,r);let s=o?this.core.columnModel.getColumn(o):void 0;s&&!this.core.editingService.isCellEditing()&&this.core.editingService.isEditable(r.node,s)&&this.core.editingService.start(r.index,s)});return}this.bn(e,t,r)}};this.Uo=e=>{if(this.core.isDestroyed()||e.target.closest(".mach-cell-editor-shell, .mach-row-editor-shell"))return;let t=this.ae(e);if(!t)return;let{node:r,index:o,cellEl:i}=t;if(r.isDetail||r.isGroup||!i)return;let s=i.dataset.colId??"",a=this.core.columnModel.getColumn(s);if(!a)return;let l=this.core.getCellValue(r,a),d=this.core.emit("cellDoubleClicked",{event:e,rowNode:r,rowIndex:o,column:a,colDef:a.colDef,value:l});a.colDef.onCellDoubleClick?.(d),this.core.emit("rowDoubleClicked",{event:e,rowNode:r,rowIndex:o}),this.core.editingService.isEditable(r,a)&&this.core.editingService.start(o,a)};this.jo=e=>{if(this.core.isDestroyed())return;let t=this.ae(e);if(!t||t.node.isDetail||t.node.isGroup||!t.cellEl)return;let{node:r,index:o,cellEl:i}=t,s=i.dataset.colId??"",a=this.core.columnModel.getColumn(s);if(a&&(this.core.emit("cellContextMenu",{event:e,rowNode:r,rowIndex:o,column:a,colDef:a.colDef,value:this.core.getCellValue(r,a)}),this.core.options.contextMenu)){if(e.preventDefault(),this.core.options.enableRangeSelection&&!this.normalizedRange()){let l=this.core.columnModel.getFlatIndex(s);l>=0&&this.startRange(o,l,!1)}this.core.contextMenuService.open(e.clientX,e.clientY,{rowIndex:o,colId:s})}};this.Yo=e=>{if(!this.pl(e)&&this.core.options.enableRangeSelection&&e.button===0){let t=this.ae(e);if(t&&!t.node.isDetail&&!t.node.isGroup&&t.cellEl&&!t.cellEl.classList.contains("mach-cell--selection")){let r=this.core.columnModel.getFlatIndex(t.cellEl.dataset.colId??"");r>=0&&(this.startRange(t.index,r,e.shiftKey),this.Ir=!0,!e.shiftKey&&!this.core.options.suppressCellFocus&&this.setFocusedCell(t.index,t.cellEl.dataset.colId??""))}}};this.Zo=()=>{this.Ir=!1};this.ze=e=>{if(this.core.isDestroyed())return;let t=this.ae(e);if(this.Ir&&t&&!t.node.isDetail&&!t.node.isGroup&&t.cellEl){let r=this.core.columnModel.getFlatIndex(t.cellEl.dataset.colId??""),o=this.c.getEnd();r>=0&&o&&(o.row!==t.index||o.colIdx!==r)&&this.startRange(t.index,r,!0)}this.core.options.suppressRowHoverHighlight||!t||t.node.isDetail||this.vn(t.index)};this.Xo=()=>{this.vn(-1)};this.Jo=e=>{if(this.core.isDestroyed()||e.button!==0||!e.target.closest(".mach-row-drag-handle"))return;let r=this.ae(e);!r||r.node.isDetail||r.node.isGroup||(this.Ee.start(e,r.node),e.preventDefault())};this.Qo=e=>{if(!e.target.closest(".mach-row-drag-handle"))return;let t=this.ae(e);t&&this.Ee.moveWithKeyboard(e,t.node)};this.Ee=new Rt(e,t=>this.G(t),t=>this.Gt(t,this.core.rowModel.getDisplayedRowCount()))}init(){let e=this.core.skeleton.bodyViewports.center;this.Mr=e.scrollLeft,this.kr=e.scrollTop,e.addEventListener("scroll",this.Ko,{passive:!0});let t=this.core.skeleton.bodyEl;t.addEventListener("click",this.qo),t.addEventListener("dblclick",this.Uo),t.addEventListener("contextmenu",this.jo),t.addEventListener("mousedown",this.Yo),t.addEventListener("mouseover",this.ze),t.addEventListener("mouseleave",this.Xo),t.addEventListener("pointerdown",this.Jo),t.addEventListener("keydown",this.Qo),window.addEventListener("mouseup",this.Zo)}destroy(){cancelAnimationFrame(this.D),this.core.skeleton.bodyViewports.center.removeEventListener("scroll",this.Ko);let t=this.core.skeleton.bodyEl;t.removeEventListener("click",this.qo),t.removeEventListener("dblclick",this.Uo),t.removeEventListener("contextmenu",this.jo),t.removeEventListener("mousedown",this.Yo),t.removeEventListener("mouseover",this.ze),t.removeEventListener("mouseleave",this.Xo),t.removeEventListener("pointerdown",this.Jo),t.removeEventListener("keydown",this.Qo),window.removeEventListener("mouseup",this.Zo),this.en(),this.Ee.destroy();for(let r of this.pool){r.detailRow&&this.Nt(r.detailRow);for(let o of F)for(let i of r.cells[o]??[])r.index>=0&&this.core.editingService.releaseCell(r.index,i.dataset.colId??"",i),I(this.core,i)}this.Ft?.remove(),this.aa?.remove(),this.pool=[],this.M=0,this.$e=[],this.oe.clear(),this.u.reset([],()=>this.core.options.rowHeight),this.d.update([]),this.Te=null}paneForColumn(e){return e.pinned==="left"?"left":e.pinned==="right"?"right":"center"}syncScroll(e=!1){if(this.core.isDestroyed())return;let t=this.core.skeleton,r=t.bodyViewports.center,o=r.scrollLeft,i=r.scrollTop,s=e||o!==this.Mr,a=e||i!==this.kr;!s&&!a||(this.Mr=o,this.kr=i,s&&(t.headerRowContainers.center.style.transform=`translate3d(${-o}px, 0, 0)`,this.core.headerRenderer.updateColumnWindow(),this.core.pinnedRowsRenderer.onScrollLeft(o)),a&&(t.rowContainers.left.style.transform=`translate3d(0, ${-i}px, 0)`,t.rowContainers.right.style.transform=`translate3d(0, ${-i}px, 0)`),this.core.tooltipService.hide(),this.updateRange(!1,s),a&&this.core.rowModel.checkInfiniteScroll(this.lastExcl-1))}la(){let e={left:0,center:0,right:0};for(let t of F)e[t]=this.core.columnModel.getPaneColumns(t).reduce((r,o)=>r+o.currentWidth,0);return e}applyContainerSizes(){let e=this.core.skeleton,t=this.la();this.d.update(this.core.columnModel.getPaneColumns("center")),t.center=this.d.totalWidth();let r=this.core.rowModel.getDisplayedRows(),o=this.da(r.length);this.ca(r,o);let i=this.ua(o);this.ha(t,i),this.pa(i),e.root.setAttribute("aria-rowcount",String(o.rowCount+e.getHeaderRowCount()))}da(e){let t=this.core.rowModel.getDisplayTotalCount(),r=this.core.options.rowHeight,o=this.core.options.masterDetail?[]:this.fa(),i=this.core.options.datasourceMode!=="block"&&(this.core.options.masterDetail||this.core.options.getRowHeight!=null||o.length>0),s=i?this.ma(r,o):`fixed|${r}`;return{autoHeightColumns:o,positionedCount:Math.min(t,e),rowCount:t,rowHeight:r,signature:s,variable:i}}ma(e,t){let r=t.map(o=>`${o.id}:${o.currentWidth}`).join(",");return`${this.core.rowModel.getDisplayRevision()}|${e}|${this.core.options.detailRowHeight}|${r}`}ca(e,t){if(!t.variable){this.ga(t);return}if(t.signature!==this.Vt||this.u.length!==t.positionedCount){let r=e.slice(0,t.positionedCount);this.u.reset(r,o=>this.tn(o,t.autoHeightColumns)),this.rn(t);return}if(this.oe.size!==0){for(let r of this.oe){let o=this.u.indexOf(r);o>=0&&this.u.update(o,this.tn(r,t.autoHeightColumns))}this.rn(t)}}ga(e){this.u.length>0&&this.u.reset([],()=>e.rowHeight),this.Vt=e.signature,this.oe.clear(),this.Ot=e.rowHeight}rn(e){this.Vt=e.signature,this.oe.clear(),this.Ot=this.u.minimumSize()||e.rowHeight}ua(e){return(e.variable?this.u.totalSize():e.positionedCount*e.rowHeight)+Math.max(0,e.rowCount-e.positionedCount)*e.rowHeight}ha(e,t){let r=this.core.skeleton,o=r.bodyViewports.center,i=Math.max(0,o.clientWidth-e.left-e.right),s=Math.max(e.center,i);for(let a of F){let l=r.rowContainers[a];l.style.height=`${t}px`,a==="center"&&(l.style.width=`${s}px`)}}invalidateRowHeight(e){this.Ht.delete(e),this.oe.add(e)}pa(e){this.core.skeleton.bodyEl.style.height=this.core.options.domLayout==="autoHeight"?`${e}px`:""}invalidateAllRowHeights(){this.Ht=new WeakMap,this.oe.clear(),this.Vt=""}tn(e,t){if(e.isDetail)return this.core.options.detailRowHeight;let r=this.Ht.get(e);if(r!==void 0)return r;let o=this.core.options.rowHeight,i=this.core.options.getRowHeight;if(i)try{let s=i({data:e.data,node:e,api:this.core.getApi()});o=Number.isFinite(s)?Math.max(1,s||o):o}catch(s){this.core.reportError(s,"getRowHeight",{rowId:e.id})}return t.length>0&&(o=Math.max(o,this.ya(e,t))),this.Ht.set(e,o),o}G(e){let t=this.u.length;return t===0?Math.max(0,e)*this.core.options.rowHeight:e<=t?this.u.offsetAt(e):this.u.totalSize()+(e-t)*this.core.options.rowHeight}Gt(e,t){if(t<=0)return 0;let r=this.u.length,o=this.u.totalSize();if(r>0&&e<o)return this.u.findIndex(e);let i=r+Math.floor(Math.max(0,e-o)/this.core.options.rowHeight);return Math.max(0,Math.min(i,t-1))}fa(){return this.core.columnModel.getOrderedVisible().filter(e=>e.colDef.autoHeight===!0)}get va(){return this.core.columnModel.getOrderedVisible().some(e=>e.colDef.autoHeight===!0)}ya(e,t){var d;this[d="Te"]??(this[d]=document.createElement("canvas"));let r=this.Te.getContext("2d");if(!r)return 0;let o=window.getComputedStyle(this.core.skeleton.root),i=parseFloat(o.fontSize)||13;r.font=`${o.fontStyle} ${o.fontWeight} ${i}px ${o.fontFamily}`;let s=parseFloat(o.getPropertyValue("--mach-cell-padding"))||9,a=Math.round(i*1.45),l=1;for(let c of t){let u=$(this.core,e,c);if(!u)continue;let h=Math.max(10,c.currentWidth-s*2-2),p=1,m=0;for(let g of u){let y=r.measureText(g).width;if(m>0&&m+y>h?(p++,m=y):m+=y,p>=12)break}p>l&&(l=p)}return l*a+Math.round(s*.9)}queueFlash(e,t){if(this.core.options.flashCells)for(let r of e)for(let o of t)this.$e.push([r,o])}flushFlash(){if(this.$e.length===0)return;let e=this.$e;this.$e=[];for(let[t,r]of e){let o=this.getCellElement(t,r);if(!o)continue;o.classList.remove("mach-cell--flash"),o.offsetWidth,o.classList.add("mach-cell--flash");let i=Te(o),s=i.flashTimer;s&&clearTimeout(s),i.flashTimer=window.setTimeout(()=>{o.classList.remove("mach-cell--flash"),i.flashTimer=void 0},800)}}relayout(){this.applyContainerSizes();let e=this.core.skeleton.bodyViewports.center,r=this.core.options.rowHeight;this.core.options.masterDetail&&(r=Math.min(r,this.core.options.detailRowHeight)),this.Ot>0&&(r=Math.min(r,this.Ot));let o=Math.ceil(e.clientHeight/Math.max(1,r)),i=this.core.options.domLayout==="autoHeight"?this.core.rowModel.getDisplayedRowCount():o+this.core.options.rowBuffer*2+1,s=i%2===0?i:i+1;if(this.nn())for(let l of this.pool)this.Pr(l,"center");s>this.M&&this.wa(s),this.applyCellLayout(),this.updateRange(!0,!1),this.refreshOverlays()}wa(e){for(;this.M<e;){let t={index:-1,nodeId:"",kind:"master",rows:{},cells:{},cellColIds:{}},r=this.core.skeleton;for(let o of F){if(this.core.columnModel.getPaneColumns(o).length===0)continue;let s=f("div","mach-row");s.style.height=`${this.core.options.rowHeight}px`,s.setAttribute("role","row"),s.style.display="none",r.rowContainers[o].appendChild(s),t.rows[o]=s,t.cells[o]=[],t.cellColIds[o]=[],this.Pr(t,o)}if(this.core.options.masterDetail){let o=f("div","mach-row mach-detail-row");o.style.height=`${this.core.options.detailRowHeight}px`,o.setAttribute("role","row"),o.style.display="none",r.rowContainers.center.appendChild(o),t.detailRow=o}this.pool.push(t),this.M++}}Ke(e){let t=this.core.columnModel.getPaneColumns(e);return e!=="center"||t.length<=20||this.core.columnModel.hasColSpan()?t:t.slice(this.Ar,this.Lr)}ba(e){let t=f("div","mach-cell");if(t.dataset.colId=e.id,t.setAttribute("role","gridcell"),e.hasCheckbox){let r=document.createElement("input");r.type=this.core.options.rowSelection==="single"?"radio":"checkbox",r.className="mach-row-checkbox",r.type==="radio"&&(r.name=`mach-radio-${this.core.gridId}`),r.setAttribute("aria-label","select row"),t.appendChild(r),t.classList.add("mach-cell--selection")}return t}Pr(e,t){let r=e.rows[t];if(!r)return;let o=this.Ke(t),i=e.cells[t]??[],s=e.cellColIds[t]??[];if(s.length===o.length&&s.every((c,u)=>c===o[u].id))return;let a=new Map;s.forEach((c,u)=>a.set(c,i[u]));let l=[],d=[];for(let c of o){let u=a.get(c.id)??this.ba(c);a.delete(c.id),r.appendChild(u),l.push(u),d.push(c.id)}for(let c of a.values())e.index>=0&&this.core.editingService.releaseCell(e.index,c.dataset.colId??"",c),I(this.core,c),c.remove();e.cells[t]=l,e.cellColIds[t]=d}rebuildPool(){this.qe=void 0,this.sn();for(let e of this.pool){e.detailRow&&this.Nt(e.detailRow);for(let t of F){for(let r of e.cells[t]??[])I(this.core,r);e.rows[t]?.remove()}e.detailRow?.remove()}this.pool=[],this.M=0,this.first=0,this.lastExcl=-1,this.relayout()}applyCellLayout(){let e=this.Ca();for(let t of F){let r=this.core.columnModel.getPaneColumns(t),o=this.Ke(t),i=this.Ta(t,o,r);this.Ra(t,o,i,e)}this.Da()}Ca(){return this.core.options.masterDetail||this.core.options.getRowHeight!=null||this.va}Ta(e,t,r){let o=0;e==="center"&&t.length>0&&(this.d.update(r),o=this.d.offsetAt(r.indexOf(t[0])));let i=[];for(let s of t)i.push(o),o+=s.currentWidth;return i}Ra(e,t,r,o){for(let i of this.pool){let s=i.cells[e],a=i.rows[e];if(!s||!a)continue;o||(a.style.height=`${this.core.options.rowHeight}px`);let l=Math.min(t.length,s.length);for(let d=0;d<l;d++){let c=t[d];s[d].style.width=`${c.currentWidth}px`,s[d].style.left=`${r[d]}px`,s[d].setAttribute("aria-colindex",String(this.core.columnModel.getFlatIndex(c.id)+1))}}}Da(){if(!this.core.options.masterDetail)return;let e=`${this.core.options.detailRowHeight}px`;for(let t of this.pool)t.detailRow?.style.setProperty("--mach-detail-h",e)}nn(){let e=this.core.skeleton.bodyViewports.center,t=this.core.columnModel.getPaneColumns("center"),r=this.Ar,o=this.Lr;this.d.update(t);let i=t.length>20?this.d.visibleRange(e.scrollLeft,e.clientWidth,2):{first:0,lastExcl:t.length};return this.Ar=i.first,this.Lr=i.lastExcl,i.first!==r||i.lastExcl!==o}getRenderedRowRange(){return{first:this.first,lastExcl:this.lastExcl}}updateRange(e=!1,t=!0){let r=this.core.performanceMonitor.start();if(!this.Ea(e,t))return;let o=Math.max(0,this.lastExcl-this.first),i=this.core.columnModel.getPaneColumns("left").length+this.Ke("center").length+this.core.columnModel.getPaneColumns("right").length;this.core.performanceMonitor.recordRender(r,o,i)}Ea(e,t){let r=this.core.skeleton.bodyViewports.center,o=this.core.rowModel.getDisplayedRowCount(),i=this.core.options.rowBuffer,s=t?this.nn():!1;if(this.Sa(s),o===0){for(let d of this.pool)this.Gr(d);return this.first=0,this.lastExcl=0,!0}if(this.xa(o,e))return!0;let{first:a,lastExcl:l}=this.Ma(r,o,i);return!e&&a===this.first&&l===this.lastExcl?s:(this.first=a,this.lastExcl=l,this.ka(a,l),this.Ia(a,l,e,s),!0)}Ma(e,t,r){let o=this.Gt(e.scrollTop,t),i=e.scrollTop+e.clientHeight,s=Math.min(t,this.Gt(i,t)+1);return{first:E(o-r,0,t-1),lastExcl:E(s+r,1,t)}}ka(e,t){for(let r of this.pool)r.index!==-1&&(r.index<e||r.index>=t)&&this.Gr(r)}Ia(e,t,r,o){for(let i=e;i<t;i++){let s=this.core.rowModel.getDisplayedRow(i),a=this.pool[i%this.M];if(!(!a||!s)){if(!r&&a.index===i&&a.nodeId===s.id){o&&a.kind==="master"&&this.Bt(a,s,"center");continue}this.an(a,i)}}}Sa(e){if(e){for(let t of this.pool)this.Pr(t,"center");this.applyCellLayout()}}xa(e,t){if(this.core.options.domLayout!=="autoHeight")return!1;if(!t&&this.first===0&&this.lastExcl===e)return!0;this.first=0,this.lastExcl=e;for(let r=0;r<e;r++){let o=this.core.rowModel.getDisplayedRow(r),i=this.pool[r];!i||!o||(t||i.index!==r||i.nodeId!==o.id)&&this.an(i,r)}return!0}Gr(e){this.ln(e),this.focusedCell?.rowIndex===e.index&&this.core.skeleton.root.removeAttribute("aria-activedescendant"),e.index=-1,e.nodeId="",e.kind="master";for(let t of F){let r=e.rows[t];r&&(r.style.display="none",delete r.dataset.id,delete r.dataset.index,fe(r,void 0),r.classList.remove("mach-row--drag-source"))}e.detailRow&&(this.Nt(e.detailRow),e.detailRow.style.display="none")}an(e,t){e.index>=0&&e.index!==t&&this.ln(e);let r=this.core.rowModel.getDisplayedRow(t);if(!r){this.Gr(e);return}e.index=t,e.nodeId=r.id;let o=this.G(t),i=this.G(t+1)-o;if(r.isDetail){this.Aa(e,r,t,o,i);return}this.La(e,r,t,o,i)}Aa(e,t,r,o,i){e.kind="detail";for(let a of F){let l=e.rows[a];l&&(l.style.display="none")}let s=e.detailRow;s&&(s.style.display="",s.style.transform=`translateY(${o}px)`,s.style.height=`${i}px`,s.dataset.index=String(r),s.setAttribute("aria-rowindex",String(r+this.core.skeleton.getHeaderRowCount()+1)),this.Nr(s,t))}La(e,t,r,o,i){e.kind="master",e.detailRow&&(e.detailRow.style.display="none");let s=this.Pa(t),a=xe(this.core,t);for(let l of F){let d=e.rows[l];d&&(this.Ga(d,t,r,o,i,s),fe(d,a),this.Bt(e,t,l))}this.focusedCell&&this.focusedCell.rowIndex===r&&this.zt()}Pa(e){let t=this.core.rowModel.isTree,r=e.isGroup===!0,o=t&&this.core.rowModel.hasChildren(e.id),i=r||o||this.core.options.masterDetail&&this.core.rowModel.isRowExpandable(e),s=r?this.core.rowModel.isGroupExpanded(e.id):this.core.rowModel.isRowExpanded(e.id),a=null;return r?a=(e.groupLevel??0)+1:t&&(a=this.core.rowModel.getTreeDepth(e)+1),{expanded:s,expandable:i,level:a}}Ga(e,t,r,o,i,s){e.style.display="",e.style.transform=`translateY(${o}px)`,e.style.height=`${i}px`,e.dataset.index=String(r),e.dataset.id=t.id,e.setAttribute("aria-rowindex",String(r+this.core.skeleton.getHeaderRowCount()+1)),this.dn(e,t);let a=this.Pt===r&&!this.core.options.suppressRowHoverHighlight;e.classList.toggle("mach-row--hover",a),e.classList.toggle("mach-row--odd",r%2===1),e.classList.toggle("mach-row--drag-source",this.Ee.isSource(t)),this.Na(e,s)}dn(e,t){e.classList.toggle("mach-row--selected",t.selected),e.setAttribute("aria-selected",t.selected?"true":"false")}Na(e,t){t.expandable?e.setAttribute("aria-expanded",t.expanded?"true":"false"):e.removeAttribute("aria-expanded"),t.level!=null?e.setAttribute("aria-level",String(t.level)):e.removeAttribute("aria-level")}Bt(e,t,r){let o=this.Ke(r),i=e.cells[r];if(!i)return;let s=e.index,a=r==="center"&&this.core.columnModel.hasColSpan(),l=0;e.rows[r]?.classList.toggle("mach-row--editing",this.core.editingService.isRowEditing(s));for(let d=0;d<o.length;d++){let c=o[d],u=i[d];if(a&&l>0){l--,I(this.core,u),u.setAttribute("aria-hidden","true"),u.style.display!=="none"&&(u.style.display="none");continue}if(u.style.display==="none"&&(u.style.display=""),u.removeAttribute("aria-hidden"),a){let h=this.Fa(t,c,s,o.length-d);h>1?(l=h-1,this.Oa(u,o,d,h)):(u.removeAttribute("aria-colspan"),u.style.width!==`${c.currentWidth}px`&&(u.style.width=`${c.currentWidth}px`))}else u.removeAttribute("aria-colspan");this.core.editingService.renderEditor(s,t,c,u)||(this.cn(u,t,c),this.un(u,s,c))}}Fa(e,t,r,o){let i=t.colDef.colSpan;if(!i)return 1;try{let s=i({api:this.core.getApi(),colDef:t.colDef,column:t,node:e,data:e.data,value:this.core.getCellValue(e,t),rowIndex:r});return Math.max(1,Math.min(Math.round(s)||1,o))}catch(s){return this.core.reportError(s,"colSpan",{colId:t.id,rowId:e.id}),1}}Oa(e,t,r,o){let i=0;for(let s=r;s<r+o&&s<t.length;s++)i+=t[s].currentWidth;e.style.width=`${i}px`,e.setAttribute("aria-colspan",String(o))}Nr(e,t){this.Nt(e);let r=t.masterId!=null?this.core.rowModel.getNodeById(t.masterId):t,o=f("div","mach-detail");e.appendChild(o);let i=this.core.options.detailRowRenderer;if(i){let s={data:t.data,node:r??t,api:this.core.getApi()},a;try{a=i(s)}catch(l){this.core.reportError(l,"detailRowRenderer",{rowId:t.id}),a=null}typeof a=="string"?o.textContent=a:a instanceof HTMLElement?o.appendChild(a):a&&typeof a=="object"&&a.el instanceof HTMLElement&&(o.appendChild(a.el),eo(e,a.destroy))}}Nt(e){let t=to(e);if(t)try{t()}catch(r){this.core.reportError(r,"detailRowRenderer.destroy")}e.textContent=""}cn(e,t,r){if(t.loading){I(this.core,e),e.className="mach-cell mach-cell--loading",e.setAttribute("aria-readonly","true"),e.setAttribute("aria-busy","true");let i=document.createElement("span");i.className="mach-cell-loading-bar",i.style.width=`${34+(r.id.length*13+t.rowIndex*7)%44}%`,e.replaceChildren(i),this.ne(e);return}e.removeAttribute("aria-busy"),e.setAttribute("aria-readonly",this.core.editingService.isEditable(t,r)?"false":"true"),e.removeAttribute("aria-expanded"),e.removeAttribute("aria-level");let o=this.Ha(t,r);if(o!=="standard"){I(this.core,e),this.Va(o,e,t,r);return}rt(this.core,e,t,r),De(this.core,e,t,r),tt(this.core,e,t,r),this.hn(e,t,r),this.Ba(e,t,r)}Ha(e,t){return e.isGroup?"group":t.isDetailToggle?"detail":t.hasCheckbox?"checkbox":t.colDef.rowDrag?"drag":se(t.colDef,"index")?"index":this.core.rowModel.isTree&&this.pn()?.id===t.id?"tree":"standard"}Va(e,t,r,o){if(e==="group")this.za(t,r,o);else if(e==="detail"){let i=this.core.rowModel.isRowExpanded(r.id),s=f("span",`mach-detail-toggle${i?" mach-detail-toggle--open":""}`);s.textContent="\u25B6",t.replaceChildren(s),t.classList.add("mach-cell--detail-toggle"),this.ne(t)}else if(e==="checkbox"){let i=t.querySelector(".mach-row-checkbox");i&&(i.checked=r.selected,i.indeterminate=this.core.selectionService.isIndeterminate(r.id),i.disabled=!this.core.selectionService.isSelectable(r)),t.className!=="mach-cell mach-cell--selection"&&(t.className="mach-cell mach-cell--selection"),this.ne(t)}else if(e==="drag")this._a(t,r),t.className!=="mach-cell mach-cell--drag"&&(t.className="mach-cell mach-cell--drag"),this.ne(t);else if(e==="index"){t.textContent=String(this.core.rowModel.getRowSeq(r)+this.core.options.indexOffset);let s=`mach-cell mach-cell--index${o.colDef.align==="right"?" mach-cell--right":o.colDef.align==="center"?" mach-cell--center":""}`;t.className!==s&&(t.className=s),this.hn(t,r,o)}else this.Wa(t,r,o)}Ba(e,t,r){if(this.core.options.editType!=="cell"||this.core.options.editableIndicator==="none"||!this.core.editingService.isEditable(t,r))return;let o=document.createElement("button");o.type="button",o.className=`mach-cell-edit-trigger mach-cell-edit-trigger--${this.core.options.editableIndicator}`,o.tabIndex=-1,o.title="Edit cell",o.setAttribute("aria-label","Edit cell"),o.innerHTML='<svg viewBox="0 0 16 16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m10.8 2.7 2.5 2.5L5.5 13H3v-2.5z"/><path d="m9.5 4 2.5 2.5"/></svg>',o.addEventListener("mousedown",i=>{i.preventDefault(),i.stopPropagation()}),o.addEventListener("click",i=>{i.preventDefault(),i.stopPropagation(),this.setFocusedCell(t.rowIndex,r.id),this.core.editingService.start(t.rowIndex,r)}),e.appendChild(o)}ln(e){if(!(e.index<0))for(let t of F)for(let r of e.cells[t]??[])this.core.editingService.releaseCell(e.index,r.dataset.colId??"",r)}pn(){return this.qe!==void 0?this.qe:(this.qe=this.core.columnModel.getOrderedVisible().find(e=>!e.hasCheckbox&&!e.isDetailToggle&&!e.colDef.rowDrag&&!se(e.colDef,"index"))??null,this.qe)}Wa(e,t,r){let o=this.core.rowModel.isRowExpandable(t),i=this.$a(t),s=Re(this.core,t,r,this.core.getCellValue(t,r)),a=f("span","mach-tree-indent");a.style.width=`${i*16}px`;let l=f("span","mach-tree-cell");if(i>0&&l.appendChild(a),o){let c=this.core.rowModel.isRowExpanded(t.id);e.setAttribute("aria-expanded",c?"true":"false"),e.setAttribute("aria-level",String(i+1));let u=t.treeLoading?" mach-detail-toggle--loading":t.treeLoadError?" mach-detail-toggle--error":"",h=document.createElement("button");h.type="button",h.tabIndex=-1,h.className="mach-tree-toggle",h.setAttribute("aria-label",t.treeLoadError?"Retry loading children":c?"Collapse row":"Expand row"),h.setAttribute("aria-expanded",String(c)),t.treeLoadError&&(h.title="Retry loading children");let p=f("span",`mach-detail-toggle${c?" mach-detail-toggle--open":""}${u}`);p.setAttribute("aria-hidden","true"),p.textContent="\u25B6",h.appendChild(p),h.addEventListener("keydown",m=>{(m.key==="Enter"||m.key===" ")&&m.stopPropagation()}),l.appendChild(h)}else{let c=f("span","mach-tree-toggle-spacer");l.appendChild(c)}let d=f("span","mach-tree-text");d.textContent=s,l.appendChild(d),e.replaceChildren(l),s&&!this.core.options.tooltipComponent?e.title=s:e.removeAttribute("title"),De(this.core,e,t,r)}$a(e){return this.core.rowModel.getTreeDepth(e)}ne(e){e.style.height!==""&&(e.style.height=""),e.style.zIndex!==""&&(e.style.zIndex=""),e.style.display==="none"&&(e.style.display=""),e.removeAttribute("aria-rowspan")}hn(e,t,r){let o=this.core.rowModel.getSpanInfo(r.id);if(!o||t.isDetail){this.ne(e);return}let i=this.core.rowModel.getRowSeq(t)-1;if(i<0||i>=o.length){this.ne(e);return}let s=o[i];if(s===-1){e.style.display="none",e.setAttribute("aria-hidden","true");return}if(e.style.display==="none"&&(e.style.display=""),e.removeAttribute("aria-hidden"),s>1){let a=Math.min(i+s,this.core.rowModel.getDisplayedRowCount()),l=this.G(a)-this.G(i);e.style.height=`${l>0?l:s*this.core.options.rowHeight}px`,e.style.zIndex="1",e.setAttribute("aria-rowspan",String(s))}else this.ne(e)}za(e,t,r){if(r.hasCheckbox){this.Ka(e,t);return}if(r.isDetailToggle){this.fn(e);return}let o=this.core.columnModel.getGroupLabelColumn();if(o&&r.id===o.id){this.qa(e,t);return}this.Ua(e,t,r)||this.fn(e)}Ka(e,t){let r=e.querySelector(".mach-row-checkbox");if(r){let o=this.core.selectionService.getGroupSelectionState(t);r.checked=o.all,r.indeterminate=o.some&&!o.all}e.className!=="mach-cell mach-cell--selection"&&(e.className="mach-cell mach-cell--selection")}qa(e,t){let r=this.core.rowModel.isGroupExpanded(t.id),o=t.groupLevel??0;e.setAttribute("aria-expanded",r?"true":"false"),e.setAttribute("aria-level",String(o+1));let i=f("span","mach-group-label");i.style.paddingLeft=`${o*16}px`;let s=f("span",`mach-detail-toggle${r?" mach-detail-toggle--open":""}`);s.textContent="\u25B6";let a=f("span","mach-group-text"),l=this.core.columnModel.getRowGroupColumns()[o],d=l?.colDef.headerName?`${l.colDef.headerName}: `:"";a.textContent=`${d}${t.groupKey??""}`;let c=f("span","mach-group-count");c.textContent=`(${t.leafNodes?.length??0})`,i.append(s,a,c),e.replaceChildren(i),e.className!=="mach-cell mach-cell--group"&&(e.className="mach-cell mach-cell--group")}Ua(e,t,r){if(!r.colDef.aggFunc||!t.aggValues||!Object.prototype.hasOwnProperty.call(t.aggValues,r.id))return!1;let o=t.aggValues[r.id];return e.textContent=r.colDef.valueFormatter!=null?Re(this.core,t,r,o):et(o),e.className!=="mach-cell mach-cell--num"&&(e.className="mach-cell mach-cell--num"),!0}fn(e){e.textContent="",e.className!=="mach-cell"&&(e.className="mach-cell")}refreshRows(e){if(this.core.isDestroyed())return;let t=new Set;for(let r of e){if(r<0||t.has(r))continue;t.add(r);let o=this.pool[r%this.M];if(!o||o.index!==r)continue;let i=this.core.rowModel.getDisplayedRow(r);if(i){if(o.kind==="detail"){o.detailRow&&this.Nr(o.detailRow,i);continue}for(let s of F){let a=o.rows[s];a&&this.dn(a,i),o.cells[s]&&this.Bt(o,i,s)}}}this.zt(),this.flushFlash()}refreshAllCells(){this.refreshCells()}refreshCells(e={}){if(this.core.isDestroyed())return;let t=e.rowIds==null?null:new Set(e.rowIds),r=e.rowIndexes==null?null:new Set(e.rowIndexes),o=e.columns==null?null:new Set(e.columns);for(let i of this.pool){let s=this.core.rowModel.getDisplayedRow(i.index);!s||!this.ja(i,s,t,r)||this.Ya(i,s,o,e.force===!0)}this.zt(),this.flushFlash()}ja(e,t,r,o){return e.index<0?!1:r==null&&o==null?!0:r?.has(t.id)===!0||o?.has(e.index)===!0}Ya(e,t,r,o){if(e.kind==="detail"){r==null&&e.detailRow&&this.Nr(e.detailRow,t);return}let i=r==null||this.core.columnModel.hasColSpan(),s=xe(this.core,t);for(let a of F){let l=e.rows[a];l&&fe(l,s),i?this.Bt(e,t,a):this.Xa(e,t,a,r,o)}}Xa(e,t,r,o,i){let s=this.Ke(r),a=e.cells[r];if(a)for(let l=0;l<s.length;l++){let d=s[l];if(!o.has(d.id))continue;let c=a[l];c&&(this.core.editingService.renderEditor(e.index,t,d,c)||(i&&I(this.core,c),this.cn(c,t,d),this.un(c,e.index,d)))}}onDataChanged(){this.core.isDestroyed()||(this.focusedCell&&this.focusedCell.rowIndex>=this.core.rowModel.getDisplayedRowCount()&&this.setFocusedCell(null,null),this.sn(),this.applyContainerSizes(),this.updateRange(!0),this.ie(),this.refreshOverlays(),this.core.summaryRenderer.refresh())}refreshOverlays(){let e=this.core.options;if(e.loading){let t=e.overlayLoadingTemplate||this.core.buildDefaultLoadingState();this.core.skeleton.showOverlay("loading",t,e.allowUnsafeOverlayHtml);return}if(e.error!=null){let t=e.overlayErrorTemplate||this.core.buildDefaultErrorState();this.core.skeleton.showOverlay("error",t,e.allowUnsafeOverlayHtml);return}if(this.core.rowModel.getDisplayedRowCount()===0&&!e.suppressNoRowsOverlay){let t=e.overlayNoRowsTemplate||this.core.buildDefaultEmptyState();this.core.skeleton.showOverlay("noRows",t,e.allowUnsafeOverlayHtml);return}this.core.skeleton.hideOverlay()}getCellElement(e,t){let r=this.core.columnModel.getColumn(t);if(!r)return null;let o=this.paneForColumn(r),i=this.pool[e%Math.max(1,this.M)]?.cellColIds[o]?.indexOf(r.id)??-1;if(i<0)return null;let s=this.pool[e%this.M];return!s||s.index!==e||s.kind!=="master"?null:s.cells[o]?.[i]??null}sn(){this.c.invalidate()}normalizedRange(){let e=this.core.rowModel.getDisplayedRowCount(),t=this.core.columnModel.getOrderedVisible().length;return this.c.normalize(e,t)}getNormalizedRangeOrFocus(){let e=this.normalizedRange();if(e)return e;let t=this.focusedCell;if(t){let r=this.core.columnModel.getFlatIndex(t.colId);if(r>=0)return{r1:t.rowIndex,c1:r,r2:t.rowIndex,c2:r}}return null}getRangeSelection(){let e=this.normalizedRange();if(!e)return null;let t=this.core.columnModel.getOrderedVisible();return{row1:e.r1,row2:e.r2,colId1:t[e.c1]?.id??"",colId2:t[e.c2]?.id??""}}getPasteStart(){let e=this.c.getAnchor();if(e)return{row:e.row,colIdx:e.colIdx};let t=this.getNormalizedRangeOrFocus();return t?{row:t.r1,colIdx:t.c1}:null}clearRangeSelection(){let e=this.normalizedRange();this.c.clear(),e&&(this.se(e,null),this.ie(),this.core.emit("rangeSelectionChanged",{range:null}))}se(e,t){let r=[],o=i=>{if(i)for(let s=i.r1;s<=i.r2;s++)r.push(s)};o(e),o(t),r.length>0&&this.refreshRows(r)}startRange(e,t,r){let o=this.normalizedRange();this.c.start({row:e,colIdx:t},r);let i=this.normalizedRange();this.se(o,i),this.ie(),this.core.emit("rangeSelectionChanged",{range:this.getRangeSelection()})}moveRangeEnd(e,t){if(!this.c.hasAnchor()){let d=this.focusedCell;if(!d)return;let c=this.core.columnModel.getFlatIndex(d.colId);if(!this.c.ensureAnchor({row:d.rowIndex,colIdx:c}))return}let r=this.core.rowModel.getDisplayedRowCount(),o=this.core.columnModel.getOrderedVisible().length,i=this.normalizedRange();this.c.setEnd({row:Math.max(0,Math.min(e,r-1)),colIdx:Math.max(0,Math.min(t,o-1))});let s=this.normalizedRange();this.se(i,s),this.ie();let a=this.core.columnModel.getOrderedVisible(),l=this.c.getEnd();l&&l.colIdx<a.length&&this.setFocusedCell(l.row,a[l.colIdx].id),this.core.emit("rangeSelectionChanged",{range:this.getRangeSelection()})}un(e,t,r){let o=this.normalizedRange();if(!o){e.classList.contains("mach-cell--range")&&e.classList.remove("mach-cell--range","mach-cell--range-top","mach-cell--range-bottom","mach-cell--range-left","mach-cell--range-right");return}let i=this.core.columnModel.getFlatIndex(r.id);if(i<0)return;let s=t>=o.r1&&t<=o.r2&&i>=o.c1&&i<=o.c2;e.classList.toggle("mach-cell--range",s),s?(e.classList.toggle("mach-cell--range-top",t===o.r1),e.classList.toggle("mach-cell--range-bottom",t===o.r2),e.classList.toggle("mach-cell--range-left",i===o.c1),e.classList.toggle("mach-cell--range-right",i===o.c2)):e.classList.remove("mach-cell--range-top","mach-cell--range-bottom","mach-cell--range-left","mach-cell--range-right")}Ja(){if(this.Ft)return this.Ft;let e=f("div","mach-fill-handle");return e.style.display="none",e.addEventListener("pointerdown",t=>{this.Fr=!0,this.mn(t)}),e.addEventListener("mousedown",t=>{this.Fr||this.mn(t)}),this.core.skeleton.rowContainers.center.appendChild(e),this.Ft=e,e}ie(){let e=this.Ja(),t=this.normalizedRange();if(!this.core.options.enableRangeSelection||!this.core.options.fillHandle||!t){e.style.display="none";return}let r=this.core.columnModel,o=r.getPaneColumns("left").length,i=r.getPaneColumns("center");if(t.c2<o||t.c2>=o+i.length){e.style.display="none";return}let s=t.c2-o;this.d.update(i);let a=this.d.offsetAt(s+1),l=this.G(Math.min(t.r2+1,this.core.rowModel.getDisplayedRowCount()));e.style.display="",e.style.left=`${a-4}px`,e.style.top=`${l-4}px`}mn(e){if(this.core.isDestroyed()||e.button!==0)return;let t=this.normalizedRange();t&&(e.preventDefault(),e.stopPropagation(),this.Ue={r1:t.r1,r2:t.r2,c1:t.c1,c2:t.c2,startX:e.clientX,startY:e.clientY,axis:null,active:!1},window.addEventListener("pointermove",this._t),window.addEventListener("mousemove",this._t),window.addEventListener("pointerup",this.Se),window.addEventListener("mouseup",this.Se),window.addEventListener("pointercancel",this.Se))}gn(e){let r=this.core.skeleton.rowContainers.center.getBoundingClientRect(),o=e.clientY-r.top,i=this.core.rowModel.getDisplayedRowCount(),s=this.Gt(o,i);return Math.max(this.Ue.r2,Math.min(s,i-1))}yn(e){let r=this.core.skeleton.rowContainers.center.getBoundingClientRect(),o=e.clientX-r.left,i=this.core.columnModel,s=i.getPaneColumns("left").length,a=i.getPaneColumns("center");this.d.update(a);let l=this.d.indexAt(o);if(l<0)return s;let d=this.d.offsetAt(l)+a[l].currentWidth/2;return o<d?s+l:l+1<a.length?s+l+1:s+a.length-1}en(){this.Ue=null,this.Fr=!1,window.removeEventListener("pointermove",this._t),window.removeEventListener("mousemove",this._t),window.removeEventListener("pointerup",this.Se),window.removeEventListener("mouseup",this.Se),window.removeEventListener("pointercancel",this.Se),this.core.skeleton.root.classList.remove("mach-root--filling")}Qa(e,t,r,o,i){let s=this.core.columnModel.getOrderedVisible(),a=[];for(let l=e;l<=t;l++)this.Za(l,r,o,i,s,a);this.core.applyInputChanges(a),this.core.emit("rangeSelectionChanged",{range:this.getRangeSelection()})}Za(e,t,r,o,i,s){let a=this.core.rowModel.getDisplayedRow(e);if(!a||a.isDetail||a.isGroup)return;let l=[];for(let c=t;c<=r;c++){let u=i[c];l.push(u?this.core.getCellValue(a,u):void 0)}let d=Po(l);for(let c=r+1;c<=o;c++){let u=i[c];if(!Lo(u)||!this.core.editingService.isEditable(a,u))continue;let h=Go(d,c-t),p=this.core.getCellValue(a,u);s.push({node:a,column:u,oldValue:p,newValue:h})}}tl(e,t,r,o,i){let s=this.core.columnModel.getOrderedVisible(),a=[];this.rl(e,t,r,o,i,s,a),this.core.applyInputChanges(a),this.core.emit("rangeSelectionChanged",{range:this.getRangeSelection()})}rl(e,t,r,o,i,s,a){for(let l=r;l<=o;l++){let d=s[l];Lo(d)&&this.ol(d,e,t,i,a)}}ol(e,t,r,o,i){let s=this.nl(e,t,r);if(s.length===1&&s[0]===void 0)return;let a=Po(s);for(let l=r+1;l<=o;l++){let d=this.core.rowModel.getDisplayedRow(l);if(!d||d.isDetail||d.isGroup||!this.core.editingService.isEditable(d,e))continue;let c=Go(a,l-t),u=this.core.getCellValue(d,e);i.push({node:d,column:e,oldValue:u,newValue:c})}}nl(e,t,r){let o=[];for(let i=t;i<=r;i++){let s=this.core.rowModel.getDisplayedRow(i);o.push(s?this.core.getCellValue(s,e):void 0)}return o}setFocusedCell(e,t){if(this.il(),e==null||t==null){this.focusedCell=null;return}this.focusedCell={rowIndex:e,colId:t},this.zt(),this.sl()}zt(){if(!this.focusedCell)return;let e=this.getCellElement(this.focusedCell.rowIndex,this.focusedCell.colId);if(e){let t=Math.max(0,this.core.columnModel.getFlatIndex(this.focusedCell.colId));e.id=`mach-grid-${this.core.gridId}-r${this.focusedCell.rowIndex}-c${t}`,e.classList.add("mach-cell--focus"),this.core.skeleton.root.setAttribute("aria-activedescendant",e.id)}}il(){if(this.focusedCell){let e=this.getCellElement(this.focusedCell.rowIndex,this.focusedCell.colId);e&&(e.classList.remove("mach-cell--focus"),e.removeAttribute("id"))}this.core.skeleton.root.removeAttribute("aria-activedescendant")}sl(){if(!this.focusedCell)return;this.scrollToIndex(this.focusedCell.rowIndex,"nearest");let e=this.core.columnModel.getColumn(this.focusedCell.colId);if(!e||e.pinned)return;let t=this.core.skeleton.bodyViewports.center,r=this.core.columnModel.getPaneColumns("center");this.d.update(r);let o=this.d.offsetAt(r.indexOf(e)),i=t.scrollLeft,s=t.clientWidth;o<i?t.scrollLeft=o:o+e.currentWidth>i+s&&(t.scrollLeft=o+e.currentWidth-s)}scrollToIndex(e,t="top"){let r=this.core.skeleton.bodyViewports.center,o=this.core.rowModel.getDisplayedRowCount();if(o===0)return;let i=E(e,0,o-1),s=r.clientHeight,a=r.scrollTop,l=this.G(i),d=this.G(i+1),c=a;t==="top"?c=l:t==="bottom"?c=d-s:t==="middle"?c=l-(s-(d-l))/2:l<a?c=l:d>a+s&&(c=d-s);let u=Math.max(0,this.G(o)-s);r.scrollTop=E(c,0,u)}vn(e){if(this.Pt===e)return;let t=this.Pt;this.Pt=e,this.wn(t,!1),this.wn(e,!0)}wn(e,t){if(e<0)return;let r=this.pool[e%this.M];if(!(!r||r.index!==e||r.kind!=="master"))for(let o of F)r.rows[o]?.classList.toggle("mach-row--hover",t)}focusGridRoot(){this.core.skeleton.root.focus({preventScroll:!0})}ae(e){let t=e.target,r=t.closest(".mach-row");if(!r)return null;let o=Number(r.dataset.index);if(Number.isNaN(o))return null;let i=this.core.rowModel.getDisplayedRow(o);if(!i)return null;let s=t.closest(".mach-cell");return{node:i,index:o,cellEl:s}}bn(e,t,r){let{node:o,index:i,cellEl:s}=r;if(this.al(t,o,s)||this.ll(t,o,s))return;let a=s?.dataset.colId??"",l=a?this.core.columnModel.getColumn(a):void 0;this.dl(o,l)||o.isDetail||this.cl(t,o,i,e)||!s||!l||(this.focusGridRoot(),this.core.options.suppressCellFocus||this.setFocusedCell(i,a),this.core.selectionService.onRowClick(o,e,!1),this.ul(e,o,i,l),this.hl(o,i,l))}al(e,t,r){if(!t.isGroup)return!1;if(this.focusGridRoot(),e.closest(".mach-row-checkbox")){let i=this.core.selectionService.getGroupSelectionState(t).all;return this.core.selectionService.setGroupSelected(t,!i),!0}let o=this.core.columnModel.getGroupLabelColumn();return(!o||!r||r.dataset.colId===o.id)&&this.core.rowModel.toggleGroup(t.id),!0}dl(e,t){return!t?.isDetailToggle||e.isDetail?!1:(this.focusGridRoot(),this.core.toggleDetail(e.id),!0)}cl(e,t,r,o){let i=e.closest(".mach-cell--selection");return i?(this.focusGridRoot(),this.core.options.suppressCellFocus||this.setFocusedCell(r,i.dataset.colId??""),this.clearRangeSelection(),this.core.selectionService.onRowClick(t,o,!0),!0):!1}ul(e,t,r,o){let i=this.core.getCellValue(t,o),s=this.core.emit("cellClicked",{event:e,rowNode:t,rowIndex:r,column:o,colDef:o.colDef,value:i});o.colDef.onCellClick?.(s),this.core.emit("rowClicked",{event:e,rowNode:t,rowIndex:r})}hl(e,t,r){(this.core.options.singleClickEdit||r.colDef.singleClickEdit===!0)&&this.core.editingService.isEditable(e,r)&&this.core.editingService.start(t,r)}ll(e,t,r){if(!this.core.rowModel.isTree||!e.closest(".mach-tree-toggle"))return!1;let o=this.pn();return!o||r?.dataset.colId!==o.id||!this.core.rowModel.isRowExpandable(t)?!1:(this.focusGridRoot(),t.treeLoadError?this.core.rowModel.loadTreeChildren(t.id,!0).catch(()=>{}):this.core.rowModel.toggleDetail(t.id),!0)}pl(e){return!!(e.target.closest(".mach-cell-editor-shell, .mach-row-editor-shell, .mach-tree-toggle, .mach-row-drag-handle")||this.core.editingService.isCellEditing())}_a(e,t){let r=document.createElement("button");r.className="mach-row-drag-handle",r.type="button",r.disabled=!this.Ee.canDrag(t);let o=this.core.options.locale.rowDragHandle??D.rowDragHandle;r.setAttribute("aria-label",o),r.title=r.disabled?this.core.options.locale.rowDragUnavailable??D.rowDragUnavailable:o,r.setAttribute("aria-keyshortcuts","Alt+ArrowUp Alt+ArrowDown"),e.replaceChildren(r)}};var St=class{constructor(e){this.core=e;this.k=null;this.rows={left:void 0,center:void 0,right:void 0};this.Or={left:[],center:[],right:[]}}init(){this.k=f("div","mach-footer"),this.k.style.display="none",this.k.setAttribute("role","row"),this.core.skeleton.root.appendChild(this.k);for(let e of["left","center","right"]){let t=f("div",`mach-footer-row mach-footer-row--${e}`);t.style.height=`${this.core.options.rowHeight}px`,this.k.appendChild(t),this.rows[e]=t}}setVisible(e){this.k&&(this.k.style.display=e?"":"none")}refresh(){if(!this.k||this.core.isDestroyed())return;let e=this.core.options.showSummary;if(this.setVisible(e),!e)return;let t=this.core.options.summaryMethod,r=this.core.rowModel.getDisplayedRows().filter(i=>!i.isDetail&&!i.isGroup),o={...D,...this.core.options.locale};for(let i of["left","center","right"]){let s=this.core.columnModel.getPaneColumns(i),a=this.rows[i];this.Or[i].length!==s.length&&(a.textContent="",this.Or[i]=s.map(()=>{let d=f("div","mach-footer-cell");return d.setAttribute("role","cell"),a.appendChild(d),d}));let l=0;s.forEach((d,c)=>{let u=this.Or[i][c];if(u.style.left=`${l}px`,u.style.width=`${d.currentWidth}px`,l+=d.currentWidth,d.hasCheckbox||d.isDetailToggle||d.colDef.rowDrag){u.textContent="";return}if(t)try{u.textContent=t({colId:d.id,column:d,values:r.map(h=>this.core.getCellValue(h,d))})}catch(h){this.core.reportError(h,"summaryMethod",{colId:d.id}),u.textContent=""}else c===0&&i==="left"?u.textContent=V(o.totalRowsLabel,r.length):u.textContent=""})}}destroy(){this.k?.remove(),this.k=null}};var xt=class{constructor(e){this.core=e;this.n=null;this.Wt=null;this.Hr=null;this.xe=null;this.le=null;this.je=null;this.Ye=null;this.Xe=null;this.Je=null;this.de=[]}init(){this.n=f("div","mach-pagination"),this.n.style.display="none",this.n.setAttribute("role","navigation");let e=(t,r,o)=>{let i=f("button",`mach-pagination-btn ${t}`);return i.type="button",i.title=r,i.setAttribute("aria-label",r),i.textContent=o,i};this.Wt=f("span","mach-pagination-total"),this.je=e("mach-pagination-first",this.t("pageFirst"),"\xAB"),this.Ye=e("mach-pagination-prev",this.t("pagePrev"),"\u2039"),this.Hr=f("span","mach-pagination-page"),this.Xe=e("mach-pagination-next",this.t("pageNext"),"\u203A"),this.Je=e("mach-pagination-last",this.t("pageLast"),"\xBB"),this.je.addEventListener("click",()=>this.core.rowModel.setPage(1)),this.Ye.addEventListener("click",()=>this.core.rowModel.setPage(this.core.rowModel.getCurrentPage()-1)),this.Xe.addEventListener("click",()=>this.core.rowModel.setPage(this.core.rowModel.getCurrentPage()+1)),this.Je.addEventListener("click",()=>this.core.rowModel.setPage(this.core.rowModel.getPageCount())),this.n.append(this.Wt,this.je,this.Ye,this.Hr,this.Xe,this.Je),this.core.options.paginationShowSizeSelector&&(this.le=U({ariaLabel:"page size",options:[],classNames:{root:"mach-pagination-size-control",native:"mach-pagination-size"},themeSource:this.core.skeleton.root,onChange:t=>{let r=Number(t);Number.isNaN(r)||this.core.rowModel.setPageSize(r)}}),this.xe=this.le.native,this.Cn(),this.n.appendChild(this.le.el)),this.core.skeleton.root.appendChild(this.n),this.de.push(this.core.eventBus.on("modelUpdated",()=>this.refresh()),this.core.eventBus.on("paginationChanged",()=>this.refresh())),this.refresh()}Cn(){if(!this.xe)return;let e=this.core.options.paginationPageSizeOptions,t=this.core.options.paginationPageSize;e.includes(t)||(e.push(t),e.sort((r,o)=>r-o)),this.le?.setOptions(e.map(r=>({value:String(r),label:V(this.t("perPage"),r)})),String(t))}t(e){return this.core.options.locale?.[e]??D[e]}rebuild(){this.n&&(this.xe&&this.core.options.paginationShowSizeSelector&&this.Cn(),this.refresh())}Tn(e,t){e&&e.textContent!==t&&(e.textContent=t)}fl(e,t){let r=e<=1,o=e>=t;this.je&&(this.je.disabled=r),this.Ye&&(this.Ye.disabled=r),this.Xe&&(this.Xe.disabled=o),this.Je&&(this.Je.disabled=o)}refresh(){if(!this.n||this.core.isDestroyed())return;let e=this.core.rowModel,t=e.paginationActive,r=e.getTotalRowCount(),o=t&&r>0;if(this.n.style.display=o?"":"none",!o)return;let i=e.getCurrentPage(),s=e.getPageCount();this.Wt&&this.core.options.paginationShowTotal&&this.Tn(this.Wt,V(this.t("paginationTotal"),r)),this.Tn(this.Hr,ue(this.t("paginationPage"),i,s)),this.fl(i,s),this.xe&&Number(this.xe.value)!==this.core.options.paginationPageSize&&this.le?.setValue(String(this.core.options.paginationPageSize))}destroy(){for(let e of this.de)e();this.de=[],this.le?.destroy(),this.le=null,this.xe=null,this.n?.remove(),this.n=null}};var oe=["left","center","right"],Mt=class{constructor(e){this.core=e;this.top=null;this.bottom=null}init(){this.top=this.Rn(this.core.skeleton.pinnedTopEl),this.bottom=this.Rn(this.core.skeleton.pinnedBottomEl)}Rn(e){let t={root:e,segments:{left:f("div"),center:f("div"),right:f("div")},centerViewport:f("div","mach-pinned-viewport"),rowWrappers:{left:[],center:[],right:[]},cells:[],data:[]};for(let r of oe)t.segments[r].className=`mach-pinned-seg mach-pinned-seg--${r}`,r!=="center"&&t.segments[r].classList.add("mach-pane--hidden"),r==="center"&&t.centerViewport.appendChild(t.segments[r]);return e.append(t.segments.left,t.centerViewport,t.segments.right),t}setData(e,t){this.core.isDestroyed()||!this.top||!this.bottom||(this.top.data=e??[],this.bottom.data=t??[],this.rebuild(),this.applyLayout(),this.core.relayout())}setTopData(e){this.core.isDestroyed()||!this.top||(this.top.data=e??[],this.$t(this.top,"top"),this.applyLayout(),this.core.relayout())}setBottomData(e){this.core.isDestroyed()||!this.bottom||(this.bottom.data=e??[],this.$t(this.bottom,"bottom"),this.applyLayout(),this.core.relayout())}getTopData(){return this.top?this.top.data.slice():[]}getBottomData(){return this.bottom?this.bottom.data.slice():[]}rebuild(){!this.top||!this.bottom||(this.$t(this.top,"top"),this.$t(this.bottom,"bottom"))}$t(e,t){for(let i of e.cells)for(let s of oe)for(let a of i[s])I(this.core,a);for(let i of oe){for(let s of e.rowWrappers[i])s.remove();e.rowWrappers[i]=[]}if(e.cells=[],e.root.style.display=e.data.length>0?"":"none",e.data.length===0)return;let r=this.core.options.rowHeight,o=this.core.columnModel;e.data.forEach((i,s)=>{let a={id:`__pinned_${t}_${s}`,data:i,rowIndex:-1,selected:!1},l={},d=xe(this.core,a,t);for(let c of oe){let u=f("div","mach-pinned-row");fe(u,d),u.style.height=`${r}px`,u.setAttribute("role","row"),l[c]=[];for(let h of o.getPaneColumns(c)){let p=f("div","mach-cell");if(p.dataset.colId=h.id,p.setAttribute("role","gridcell"),h.hasCheckbox&&p.classList.add("mach-cell--selection"),!h.hasCheckbox&&!h.isDetailToggle&&!h.colDef.rowDrag&&h.colDef.type!=="index")try{rt(this.core,p,a,h),De(this.core,p,a,h),tt(this.core,p,a,h)}catch(m){this.core.reportError(m,"pinnedRow.render",{colId:h.id,side:t,rowIndex:s})}u.appendChild(p),l[c].push(p)}e.segments[c].appendChild(u),e.rowWrappers[c].push(u)}e.cells.push(l)})}applyLayout(){if(!this.top||!this.bottom)return;let e=this.core.columnModel,t={left:0,center:0,right:0},r={left:[],center:[],right:[]};for(let o of oe){let i=0;for(let s of e.getPaneColumns(o))r[o].push(i),i+=s.currentWidth;t[o]=i}for(let o of[this.top,this.bottom]){let i=o.data.length===0;o.segments.left.classList.toggle("mach-pane--hidden",i||t.left<=0),o.segments.right.classList.toggle("mach-pane--hidden",i||t.right<=0),o.segments.left.style.width=`${t.left}px`,o.segments.right.style.width=`${t.right}px`,o.segments.center.style.width=`${t.center}px`,o.cells.forEach(s=>{let a=0;for(let l of oe){let d=e.getPaneColumns(l);s[l].forEach((c,u)=>{c.style.width=`${d[u].currentWidth}px`,c.style.left=`${r[l][u]}px`,c.setAttribute("aria-colindex",String(a+u+1))}),a+=d.length}})}}onScrollLeft(e){this.top&&(this.top.segments.center.style.transform=`translateX(${-e}px)`),this.bottom&&(this.bottom.segments.center.style.transform=`translateX(${-e}px)`)}refresh(){this.rebuild(),this.applyLayout()}destroy(){for(let e of[this.top,this.bottom])if(e)for(let t of e.cells)for(let r of oe)for(let o of t[r])I(this.core,o);this.top=null,this.bottom=null}};var kt=class{constructor(e){this.core=e;this.n=null;this.items={};this.de=[]}init(){this.n=f("div","mach-statusbar"),this.n.style.display="none",this.n.setAttribute("role","status"),this.core.skeleton.root.appendChild(this.n),this.rebuild(),this.de.push(this.core.eventBus.on("modelUpdated",()=>this.refresh()),this.core.eventBus.on("selectionChanged",()=>this.refresh()),this.core.eventBus.on("rangeSelectionChanged",()=>this.refresh()),this.core.eventBus.on("cellValueChanged",()=>this.refresh()))}rebuild(){if(!this.n)return;this.n.textContent="",this.items={};let e=this.core.options;if(!e.statusBarEnabled){this.n.style.display="none";return}for(let t of e.statusBarPanels){let r=f("span",`mach-statusbar-item mach-statusbar-item--${t}`);this.n.appendChild(r),this.items[t]=r}this.refresh()}text(e,t,r){let o=e[t]??D[t];if(r===void 0)return o;let i=typeof r=="number"?r:parseFloat(String(r))||0;return V(o,i)}Vr(e,t){let r=this.items[e];r&&r.textContent!==t&&(r.textContent=t)}ml(e){let t=this.core.rowModel,r=t.getDisplayTotalCount(),o=t.paginationActive?t.getTotalRowCount():t.getDisplayedRowCount(),i=V(this.text(e,"totalRowsLabel"),o);return t.isInfinite&&r>o?`${i} / ${r}`:i}gl(e){let t=this.core.bodyRenderer.normalizedRange();if(!t)return"";let r=this.core.columnModel.getOrderedVisible(),o=0,i=0;for(let l=t.r1;l<=t.r2;l++){let d=this.core.rowModel.getDisplayedRow(l);if(!(!d||d.isDetail||d.isGroup))for(let c=t.c1;c<=t.c2;c++){let u=r[c];if(!u)continue;let h=this.core.getCellValue(d,u);typeof h!="number"||Number.isNaN(h)||(o+=h,i++)}}if(i===0)return"";let s=Math.round(o/i*100)/100,a=Number.isInteger(o)?String(o):String(Math.round(o*100)/100);return`${this.text(e,"statusSum",a)} \xB7 ${this.text(e,"statusAvg",String(s))} \xB7 ${this.text(e,"statusCount",String(i))}`}refresh(){if(!this.n||this.core.isDestroyed())return;let e=this.core.options;if(this.n.style.display=e.statusBarEnabled?"":"none",!e.statusBarEnabled)return;let t={...D,...e.locale};if(this.items.rowCount&&this.Vr("rowCount",this.ml(t)),this.items.selectedRowCount){let r=this.core.selectionService.getSelectedNodes().length;this.Vr("selectedRowCount",V(this.text(t,"statusSelected"),r))}this.items.rangeAggregate&&this.Vr("rangeAggregate",this.gl(t))}destroy(){for(let e of this.de)e();this.de=[],this.n?.remove(),this.n=null}};function ur(){try{return typeof localStorage>"u"?null:localStorage}catch{return null}}function No(n){return typeof TextEncoder>"u"?n.length*2:new TextEncoder().encode(n).byteLength}function hr(n={}){let e=(n.namespace??"mach-table:grid-state").replace(/:+$/,""),t=Math.max(1024,Math.floor(n.maxBytes??512*1024)),r=i=>`${e}:${i}`,o=(i,s,a)=>{try{n.onError?.(i,s,a)}catch{}};return{storageKey:r,load(i){try{let s=(n.storage??ur())?.getItem(r(i));if(!s)return null;if(No(s)>t)throw new RangeError(`[MachTable] Stored grid state for "${i}" exceeds ${t} bytes.`);let a=JSON.parse(s);if(a?.schemaVersion!==2)throw new TypeError(`[MachTable] Stored grid state for "${i}" uses an unsupported schema.`);let l=z(a.state);if(!l)throw new TypeError(`[MachTable] Stored grid state for "${i}" is invalid.`);return l}catch(s){return o(s,"load",i),null}},save(i,s){try{let a=z(s);if(!a)throw new TypeError(`[MachTable] Invalid grid state for "${i}".`);let l=JSON.stringify({schemaVersion:2,savedAt:Date.now(),state:a});if(No(l)>t)throw new RangeError(`[MachTable] Grid state for "${i}" exceeds ${t} bytes.`);(n.storage??ur())?.setItem(r(i),l)}catch(a){o(a,"save",i)}},clear(i){try{(n.storage??ur())?.removeItem(r(i))}catch(s){o(s,"clear",i)}}}}var pr=hr();function It(n,e){pr.save(n,e)}function At(n){return pr.load(n)}function Fo(n){pr.clear(n)}var es=[[/^(success|ok|done|complete|completed|normal|active|enabled|启用|正常|完成|已完成|运行|运行中|在线|生效)$/i,"success"],[/^(warning|warn|hold|pending|standby|待机|待审核|暂停|预警|部分完成)$/i,"warning"],[/^(error|fail|failed|danger|fault|offline|disabled|故障|失败|错误|异常|停用|离线|断开)$/i,"danger"],[/^(info|processing|new|draft|进行中|新建|草稿|审批中|同步中)$/i,"info"]];function mr(n,e){let t=String(n??"");if(e){let r=e[t];if(r)return r;let o=e[t.toLowerCase()];if(o)return o}for(let[r,o]of es)if(r.test(t))return o;return"neutral"}function gr(n={}){return e=>{if(e.value==null||e.value==="")return"";let t=mr(e.value,n.variantMap),r=n.labelMap?.[String(e.value)]??(e.formatted||String(e.value)),o=document.createElement("span");return o.className=`mach-tag mach-tag--${t}`,o.textContent=r,o}}function yr(n={}){return e=>{let t=Number(e.value);if(isNaN(t))return e.formatted;let r=Math.max(0,Math.min(100,t)),o=document.createElement("div");o.className="mach-progress";let i=document.createElement("div");i.className="mach-progress__track";let s=document.createElement("div");if(s.className="mach-progress__bar",s.style.width=`${r}%`,n.color&&(s.style.background=n.color),i.appendChild(s),o.appendChild(i),n.showValue!==!1){let a=document.createElement("span");a.className="mach-progress__label",a.textContent=`${Math.round(r)}${n.unit??"%"}`,o.appendChild(a)}return o}}function vr(n){if(n.value==null||n.value==="")return"";let e=document.createElement("span");return e.className="mach-link",e.textContent=n.formatted||String(n.value),e}var wr={edit:'<path d="M11.5 2.5l2 2L5 13H3v-2l8.5-8.5z"/>',delete:'<path d="M3 5h10M6 5V3h4v2M5 5l.7 8h4.6L11 5"/>',view:'<path d="M1.5 8s2.4-4.2 6.5-4.2S14.5 8 14.5 8s-2.4 4.2-6.5 4.2S1.5 8 1.5 8z"/><circle cx="8" cy="8" r="1.8"/>',copy:'<rect x="5" y="5" width="8" height="8" rx="1"/><path d="M3 11V3h8"/>',download:'<path d="M8 2v8m0 0l-3-3m3 3l3-3M2.5 13.5h11"/>',refresh:'<path d="M13 3v4h-4M3 13V9h4"/><path d="M13 7a5.5 5.5 0 00-9.7-2.6M3 9a5.5 5.5 0 009.7 2.6"/>',close:'<path d="M3.5 3.5l9 9m0-9l-9 9"/>',check:'<path d="M2.5 8.5l3.5 3.5 7.5-8"/>',plus:'<path d="M8 2.5v11M2.5 8h11"/>',search:'<circle cx="7" cy="7" r="4.5"/><path d="M10.5 10.5L14 14"/>',more:'<circle cx="3" cy="8" r=".9" fill="currentColor" stroke="none"/><circle cx="8" cy="8" r=".9" fill="currentColor" stroke="none"/><circle cx="13" cy="8" r=".9" fill="currentColor" stroke="none"/>'};function Lt(n,e=14){let t=wr[n]??"";return`<svg viewBox="0 0 16 16" width="${e}" height="${e}" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">${t}</svg>`}var J=null,_=null;function Y(n=!1){J?.remove(),J=null,_&&(_.setAttribute("aria-expanded","false"),n&&_.isConnected&&_.focus({preventScroll:!0})),_=null,document.removeEventListener("mousedown",Oo,!0),document.removeEventListener("keydown",br,!0)}function Oo(n){J&&!J.contains(n.target)&&!_?.contains(n.target)&&Y()}function br(n){if(!J)return;if(n.key==="Escape"){n.preventDefault(),Y(!0);return}let e=[...J.querySelectorAll("button:not(:disabled)")];if(e.length===0)return;if(n.key==="Tab"){let o=e.indexOf(document.activeElement);(!n.shiftKey&&o===e.length-1||n.shiftKey&&o<=0)&&(n.preventDefault(),e[n.shiftKey?e.length-1:0].focus());return}if(n.key!=="ArrowDown"&&n.key!=="ArrowUp")return;n.preventDefault();let t=e.indexOf(document.activeElement),r=n.key==="ArrowDown"?1:-1;e[(t+r+e.length)%e.length].focus()}function Ho(n,e){let t=document.createElement("button");return t.type="button",t.className=e,n.variant&&n.variant!=="default"&&t.classList.add(`${e}--${n.variant}`),t.disabled=n.disabled===!0,n.icon&&wr[n.icon]?t.innerHTML=`${Lt(n.icon,16)}<span>${n.label}</span>`:t.textContent=n.label,t.addEventListener("click",()=>n.pick(t)),t}function ts(n,e){Y();let t=document.createElement("div");t.className="mach-context-menu mach-action-menu",t.setAttribute("role","menu");for(let i of e){let s=Ho(i,"mach-context-menu-item");s.setAttribute("role","menuitem"),t.appendChild(s)}L(t,n.closest(".mach-root")),document.body.appendChild(t);let r=n.getBoundingClientRect(),o=t.getBoundingClientRect();t.style.left=`${Math.min(Math.max(8,r.left),window.innerWidth-o.width-8)}px`,t.style.top=`${Math.min(r.bottom+4,window.innerHeight-o.height-8)}px`,J=t,_=n,n.setAttribute("aria-expanded","true"),document.addEventListener("mousedown",Oo,!0),document.addEventListener("keydown",br,!0),t.querySelector("button:not(:disabled)")?.focus({preventScroll:!0})}function rs(n,e,t){Y();let r=document.createElement("div");r.className="mach-action-drawer-backdrop";let o=document.createElement("section");o.className="mach-action-drawer",o.setAttribute("role","dialog"),o.setAttribute("aria-modal","true"),o.setAttribute("aria-label",e);let i=document.createElement("header");i.className="mach-action-drawer__header";let s=document.createElement("strong");s.textContent=e;let a=document.createElement("button");a.type="button",a.className="mach-action-drawer__close",a.setAttribute("aria-label","Close"),a.title="Close",a.innerHTML=Lt("close",16),a.addEventListener("click",()=>Y(!0)),i.append(s,a);let l=document.createElement("div");l.className="mach-action-drawer__body";for(let d of t)l.appendChild(Ho(d,"mach-action-drawer__item"));o.append(i,l),r.appendChild(o),r.addEventListener("mousedown",d=>{d.target===r&&Y(!0)}),L(r,n.closest(".mach-root")),document.body.appendChild(r),J=r,_=n,n.setAttribute("aria-expanded","true"),document.addEventListener("keydown",br,!0),o.querySelector("button:not(:disabled)")?.focus({preventScroll:!0})}function X(n,e){if(typeof n=="function")try{return n(e)}catch{return!1}return n===!0}function Vo(n){return n.variant??"default"}function Bo(n){return n.permission?typeof n.permission=="string"?[n.permission]:n.permission:[]}function Cr(n,e,t){return{...n.id?{actionId:n.id}:{},permissions:Bo(n),...t?{message:t}:{},params:e}}function Pt(n,e,t){let r=t.api.getOption("actionPolicy");try{r?.onError?r.onError(n,Cr(e,t)):console.error("[mach-table] action handler failed",n)}catch(o){console.error("[mach-table] action error policy failed",o,n)}}function os(n,e){if(Bo(n).length===0)return!0;let r=e.api.getOption("actionPolicy");if(!r?.canAccess)return!0;try{return r.canAccess(Cr(n,e))}catch(o){return Pt(o,n,e),!1}}function ns(n,e){return n.filter(t=>{if(!os(t,e))return!1;if(!t.show)return!0;try{return t.show(e)}catch{return!1}})}function Tr(n,e,t){t.isConnected&&(t.disabled=X(n.disabled,e)||X(n.loading,e),t.classList.toggle("mach-action-btn--loading",X(n.loading,e)))}function is(n,e,t,r){Promise.resolve(n).catch(o=>Pt(o,e,t)).finally(()=>Tr(e,t,r))}function ss(n,e,t){try{is(n.onClick(e),n,e,t)}catch(r){Pt(r,n,e),Tr(n,e,t)}}function fr(n,e,t){if(n===!1)return!1;let r=typeof n=="string"?n:e.label??e.title??"Confirm action",o=t.api.getOption("actionPolicy");return o?.confirm?o.confirm(Cr(e,t,r)):typeof window>"u"||typeof window.confirm!="function"?!1:window.confirm(r)}function as(n,e){if(n.confirm==null||n.confirm===!1)return!0;if(typeof n.confirm!="function")return fr(n.confirm,n,e);let t=n.confirm(e);return t instanceof Promise?t.then(r=>fr(r,n,e)):fr(t,n,e)}function ls(n){return(e,t)=>{if(X(e.disabled,n))return;if(t.disabled=!0,t.classList.add("mach-action-btn--loading"),e.confirm==null||e.confirm===!1){ss(e,n,t);return}(async()=>{await as(e,n)&&await e.onClick(n)})().catch(o=>Pt(o,e,n)).finally(()=>{Tr(e,n,t)})}}function ds(n,e,t){let r=document.createElement("button");r.type="button",r.className="mach-action-btn";let o=Vo(n);o!=="default"&&r.classList.add(`mach-action-btn--${o}`);let i=n.title??n.label??"Action";return r.title=i,r.setAttribute("aria-label",i),r.disabled=X(n.disabled,e),X(n.loading,e)&&(r.disabled=!0,r.classList.add("mach-action-btn--loading")),n.icon&&wr[n.icon]?(r.innerHTML=Lt(n.icon),r.classList.add("mach-action-btn--icon")):r.textContent=n.label??i,r.addEventListener("mousedown",s=>s.stopPropagation()),r.addEventListener("click",s=>{s.stopPropagation(),t(n,r)}),r}function cs(n,e,t,r,o){let i=document.createElement("button");i.type="button",i.className="mach-action-btn mach-action-btn--icon";let s=r.api.getOption("locale")??{},a=t.moreLabel??s.actionMore??D.actionMore;return i.title=a,i.setAttribute("aria-label",a),i.setAttribute("aria-haspopup",e==="drawer"?"dialog":"menu"),i.setAttribute("aria-expanded","false"),i.innerHTML=`${Lt("more",16)}<span class="mach-sr-only">\u22EF</span>`,i.addEventListener("mousedown",l=>l.stopPropagation()),i.addEventListener("click",l=>{l.stopPropagation();let d=n.map(c=>({label:c.label??c.title??"Action",icon:c.icon,variant:Vo(c),disabled:X(c.disabled,r)||X(c.loading,r),pick:u=>{Y(),o(c,u)}}));e==="drawer"?rs(i,t.drawerTitle??a,d):ts(i,d)}),i}function ge(n){let e=Math.max(0,n.max??3),t=n.overflow??"menu";return r=>{let o=ns(n.actions,r);if(o.length===0)return"";let i=document.createElement("div");i.className="mach-actions";let s=t==="inline"?o:o.slice(0,e),a=t==="inline"?[]:o.slice(e),l=ls(r);for(let d of s)i.appendChild(ds(d,r,l));return a.length>0&&i.appendChild(cs(a,t,n,r,l)),{el:i,destroy:()=>{_&&i.contains(_)&&Y()}}}}function me(n,e,t){return n??e??t}function us(n,e){let t=e.api.getOption("locale")??{};return{view:me(n.labels?.view,t.actionView,D.actionView),edit:me(n.labels?.edit,t.actionEdit,D.actionEdit),delete:me(n.labels?.delete,t.actionDelete,D.actionDelete),confirm:me(n.labels?.confirm,t.actionConfirm,D.actionConfirm),save:me(n.labels?.save,t.actionSave,D.actionSave),cancel:me(n.labels?.cancel,t.actionCancel,D.actionCancel)}}function hs(n,e,t){let r=async()=>{if(!await e.api.editing.stop()||!n.onSave)return;let s=e.api.editing.getChanges().filter(a=>a.rowId===e.node.id);try{await n.onSave(e,s),e.api.editing.markSaved([e.node.id])}catch(a){throw e.api.editing.startRow(e.rowIndex),a}},o=n.onSave?t.save:n.labels?.confirm??n.labels?.save??t.confirm;return ge({actions:[{icon:"check",title:o,variant:"success",onClick:r},{icon:"close",title:t.cancel,variant:"danger",onClick:()=>e.api.editing.stop({cancel:!0}).then(()=>{})}],overflow:"inline"})(e)}function ps(n,e,t){let r=[];return n.onView&&r.push({id:"view",icon:"view",title:t.view,variant:"primary",...n.permissions?.view?{permission:n.permissions.view}:{},onClick:n.onView}),n.edit!==!1&&r.push({id:"edit",icon:"edit",title:t.edit,variant:"warning",...n.permissions?.edit?{permission:n.permissions.edit}:{},onClick:n.onEdit??(()=>{e.api.editing.startRow(e.rowIndex)})}),n.onDelete&&r.push({id:"delete",icon:"delete",title:t.delete,variant:"danger",...n.permissions?.delete?{permission:n.permissions.delete}:{},...n.confirmDelete?{confirm:n.confirmDelete===!0?t.delete:n.confirmDelete}:{},onClick:n.onDelete}),r.push(...n.extraActions??[]),r}function Gt(n={}){return e=>{let t=us(n,e);if(e.api.editing.isRowActive(e.rowIndex))return hs(n,e,t);let r=ps(n,e,t);return ge({actions:r,max:n.max,overflow:n.overflow??"menu",moreLabel:n.moreLabel,drawerTitle:n.drawerTitle})(e)}}var fs=gr(),ms=yr(),zo=Object.freeze({statusTag:fs,progressBar:ms,link:vr});function gs(n){return!!(n.field||n.valueGetter||n.cellRenderer||n.checkboxSelection||n.rowDrag||n.type||n.autoRowSpan||n.rowSpan)}function ys(n,e,t){n.width!=null&&n.minWidth!=null&&n.width<n.minWidth&&t.push(`\u5217 "${e}" \u7684 width(${n.width}) \u5C0F\u4E8E minWidth(${n.minWidth})\uFF0C\u5C06\u6309 minWidth \u6E32\u67D3`),n.width!=null&&n.maxWidth!=null&&n.width>n.maxWidth&&t.push(`\u5217 "${e}" \u7684 width(${n.width}) \u5927\u4E8E maxWidth(${n.maxWidth})\uFF0C\u5C06\u6309 maxWidth \u6E32\u67D3`)}function vs(n,e){let t=n.colId??n.field??`col_${e.leafIndex}`;e.seenIds.set(t,(e.seenIds.get(t)??0)+1),n.field&&!ne(n.field)&&e.issues.push(`\u5217 "${t}" \u7684 field \u8DEF\u5F84\u4E0D\u5B89\u5168\u6216\u65E0\u6548\uFF0C\u5DF2\u7981\u6B62\u8BFB\u53D6\u548C\u5199\u5165`),gs(n)||e.issues.push(`\u5217 "${t}" \u65E2\u65E0 field \u4E5F\u65E0 valueGetter\uFF0C\u5C06\u59CB\u7EC8\u663E\u793A\u7A7A\u503C\uFF08\u7EAF\u5DE5\u5177\u5217\u8BF7\u5FFD\u7565\u6B64\u63D0\u793A\uFF09`),ys(n,t,e.issues)}function _o(n,e){for(let t of n){if(ae(t)){!Array.isArray(t.children)||t.children.length===0?e.issues.push(`\u5217\u5206\u7EC4 "${t.headerName??t.groupId??"?"}" \u7684 children \u4E3A\u7A7A`):_o(t.children,e);continue}e.leafIndex++,vs(t,e)}}function Wo(n){if(!n||n.length===0)return[];let e={issues:[],seenIds:new Map,leafIndex:0};_o(n,e);for(let[t,r]of e.seenIds)r>1&&e.issues.push(`\u5B58\u5728 ${r} \u4E2A\u91CD\u590D\u7684 colId/field "${t}"\uFF0C\u5DF2\u81EA\u52A8\u52A0\u540E\u7F00\u533A\u5206\uFF0C\u5EFA\u8BAE\u663E\u5F0F\u547D\u540D colId`);return e.issues}var ws=j.map(n=>`on${n.charAt(0).toUpperCase()}${n.slice(1)}`),$o=new Set([...vt,...ws]);function bs(n,e){if(n===e)return 0;if(n.length===0)return e.length;if(e.length===0)return n.length;let t=Array.from({length:e.length+1},(r,o)=>o);for(let r=1;r<=n.length;r++){let o=[r];for(let i=1;i<=e.length;i++)o[i]=Math.min(o[i-1]+1,t[i]+1,t[i-1]+(n[r-1]===e[i-1]?0:1));t=o}return t[e.length]}function Cs(n){let e,t=Number.POSITIVE_INFINITY;for(let o of $o){let i=bs(n.toLowerCase(),o.toLowerCase());i<t&&(t=i,e=o)}let r=Math.max(2,Math.floor(n.length*.3));return t<=r?e:void 0}function Ts(n){let e=[];return n.rowKey!=null&&typeof n.rowKey!="string"&&typeof n.rowKey!="function"&&e.push({code:"INVALID_OPTION_VALUE",option:"rowKey",message:"rowKey \u5FC5\u987B\u662F\u5B57\u6BB5\u8DEF\u5F84\u6216\u8FD4\u56DE\u7A33\u5B9A\u4E1A\u52A1\u4E3B\u952E\u7684\u51FD\u6570"}),n.domLayout==="autoHeight"&&n.datasource!=null&&e.push({code:"OPTION_CONFLICT",option:"domLayout",message:"autoHeight \u4F1A\u6E32\u67D3\u5168\u90E8\u5DF2\u52A0\u8F7D\u884C\uFF0C\u4E0D\u9002\u7528\u4E8E datasource \u65E0\u9650\u6EDA\u52A8\u6A21\u5F0F"}),e.push(...Rs(n)),n.enableColumnResize!=null&&typeof n.enableColumnResize!="boolean"&&e.push({code:"INVALID_OPTION_VALUE",option:"enableColumnResize",message:"enableColumnResize \u5FC5\u987B\u662F boolean\uFF1B\u672A\u914D\u7F6E\u65F6\u9ED8\u8BA4\u5173\u95ED"}),e}function Rs(n){if(n.datasourceMode!=="block")return[];let e=[];return n.datasource==null&&e.push({code:"OPTION_CONFLICT",option:"datasourceMode",message:"datasourceMode='block' requires a datasource"}),typeof n.getRowHeight=="function"&&e.push({code:"OPTION_CONFLICT",option:"getRowHeight",message:"Random-access block rows require fixed rowHeight so unloaded offsets remain deterministic"}),n.masterDetail===!0&&e.push({code:"OPTION_CONFLICT",option:"masterDetail",message:"masterDetail is not supported by the sparse random-access block row model"}),n.treeData===!0&&e.push({code:"OPTION_CONFLICT",option:"treeData",message:"treeData requires the local/tree row model and cannot use random-access blocks"}),Ko(n)||e.push({code:"MISSING_STABLE_ROW_ID",option:"rowKey",message:"Random-access blocks require rowKey to preserve selection and identity after eviction"}),e}function Ko(n){return n.rowKey!=null}function Ds(n){let e=new Set(["enableColumnResize","pagination","rowKey"]),t=[];for(let r of vt){if(e.has(r)||!Object.prototype.hasOwnProperty.call(n,r))continue;let o=n[r],i=he[r].kind;ir(o,i)||t.push({code:"INVALID_OPTION_VALUE",option:r,message:`${r} \u503C\u7C7B\u578B\u65E0\u6548\uFF0C\u671F\u671B ${i}`})}return t}function Es(n){let e=[];for(let t of Object.keys(n)){if($o.has(t))continue;let r=Cs(t);e.push({code:"UNKNOWN_OPTION",option:t,...r?{suggestion:r}:{},message:r?`\u672A\u77E5 GridOption "${t}"\uFF0C\u662F\u5426\u60F3\u4F7F\u7528 "${r}"\uFF1F`:`\u672A\u77E5 GridOption "${t}"\uFF0C\u8BE5\u503C\u4E0D\u4F1A\u751F\u6548`})}return e}function Ss(n,e){if(e.mode!=="server")return[];let t=[];Ko(n)||t.push({code:"MISSING_STABLE_ROW_ID",option:"rowKey",message:"\u670D\u52A1\u7AEF\u5206\u9875\u5EFA\u8BAE\u63D0\u4F9B\u7A33\u5B9A rowKey\uFF0C\u5426\u5219\u8DE8\u9875\u9009\u62E9\u4E0E\u589E\u91CF\u66F4\u65B0\u65E0\u6CD5\u53EF\u9760\u4FDD\u6301"});let r=e.total;return r!==void 0&&(typeof r!="number"||!Number.isFinite(r)||r<0)&&t.push({code:"INVALID_OPTION_VALUE",option:"pagination.total",message:"\u670D\u52A1\u7AEF\u5206\u9875 total \u5FC5\u987B\u662F\u975E\u8D1F\u6709\u9650\u6570"}),t}function xs(n){let e=[],t=n.pagination;return t!=null&&typeof t!="boolean"&&typeof t!="object"&&e.push({code:"INVALID_OPTION_VALUE",option:"pagination",message:"pagination \u5FC5\u987B\u662F boolean \u6216\u914D\u7F6E\u5BF9\u8C61"}),n.datasource!=null&&t!==void 0&&t!==!1&&e.push({code:"OPTION_CONFLICT",option:"pagination",message:"datasource \u987A\u5E8F\u65E0\u9650\u6A21\u5F0F\u4E0E pagination \u4E0D\u80FD\u540C\u65F6\u542F\u7528\uFF1B\u666E\u901A\u670D\u52A1\u7AEF\u5206\u9875\u8BF7\u4F7F\u7528 pagination.mode='server'"}),t&&typeof t=="object"&&e.push(...Ss(n,t)),e}function Ms(n){return n.treeData!==!0||n.masterDetail!==!0?[]:[{code:"OPTION_CONFLICT",option:"masterDetail",message:"treeData \u4E0E masterDetail \u4E0D\u80FD\u540C\u65F6\u542F\u7528\uFF0C\u4E3B\u4ECE\u660E\u7EC6\u5C06\u88AB\u5FFD\u7565"}]}function Nt(n){let e=n,t=Es(e);return t.push(...xs(e)),t.push(...Ms(e)),t.push(...Ds(e)),t.push(...Ts(e)),t}function qo(n){let e=/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:[-+].*)?$/.exec(n.trim());return e?[Number(e[1]),Number(e[2]??0),Number(e[3]??0)]:null}function Rr(n,e){for(let t=0;t<3;t++)if(n[t]!==e[t])return n[t]<e[t]?-1:1;return 0}function ks(n){return n[0]>0?[n[0]+1,0,0]:n[1]>0?[0,n[1]+1,0]:[0,0,n[2]+1]}function Is(n,e){if(e==="*"||e.toLowerCase()==="latest")return!0;let t=/^(\^|~|>=|<=|>|<|=)?\s*(.+)$/.exec(e);if(!t)return!1;let r=qo(t[2]);if(!r)return!1;let o=Rr(n,r);switch(t[1]??"="){case">=":return o>=0;case"<=":return o<=0;case">":return o>0;case"<":return o<0;case"^":return o>=0&&Rr(n,ks(r))<0;case"~":return o>=0&&Rr(n,[r[0],r[1]+1,0])<0;default:return o===0}}function Uo(n,e){if(!e?.trim())return!0;let t=n?qo(n):null;return t?e.split("||").some(r=>{let o=r.trim().split(/\s+/).filter(Boolean);return o.length>0&&o.every(i=>Is(t,i))}):!1}function As(n){return[...new Set((n??[]).map(e=>e.trim()).filter(Boolean))]}function Ft(n){let e=new Map;for(let t of n??[]){let r=(typeof t=="string"?t:t?.key??"").trim();if(!r||e.has(r))continue;let o=typeof t=="object"?t.version?.trim():void 0;e.set(r,{key:r,...o?{version:o}:{}})}return[...e.values()]}function Ot(n){let e=[],t=new Map;for(let l of n){let d=typeof l?.key=="string"?l.key.trim():"";if(!d){e.push({code:"INVALID_FEATURE_KEY",message:"GridFeature.key must be a non-empty string"});continue}if(t.has(d)){e.push({code:"DUPLICATE_FEATURE",feature:d,message:`Duplicate GridFeature key: ${d}`});continue}t.set(d,l)}let r=new Set;for(let[l,d]of t){for(let c of Ft(d.requires)){let u=t.get(c.key);u?Uo(u.version,c.version)||(r.add(l),e.push({code:"UNSUPPORTED_FEATURE_VERSION",feature:l,dependency:c.key,message:`GridFeature "${l}" requires "${c.key}" ${c.version}, received ${u.version??"unversioned"}`})):(r.add(l),e.push({code:"MISSING_FEATURE_DEPENDENCY",feature:l,dependency:c.key,message:`GridFeature "${l}" requires missing feature "${c.key}"`}))}for(let c of As(d.conflicts))if(t.has(c)){r.add(l),e.push({code:"FEATURE_CONFLICT",feature:l,dependency:c,message:`GridFeature "${l}" conflicts with "${c}"`});break}}let o=[],i=new Set,s=new Set,a=l=>{if(s.has(l))return!r.has(l);if(i.has(l))return r.add(l),e.push({code:"FEATURE_CYCLE",feature:l,message:`GridFeature dependency cycle includes "${l}"`}),!1;let d=t.get(l);if(!d||r.has(l))return!1;i.add(l);let c=!0;for(let u of Ft(d.requires))a(u.key)||(c=!1);return i.delete(l),s.add(l),c?(o.push(d),!0):(r.add(l),!1)};for(let l of t.keys())a(l);return{features:o.filter(l=>!r.has(l.key.trim())),issues:e}}var Ls=["datasource","treeData"],Ps=["columnState.","gridState."],Gs=new Set(["valueFormatter","cellStyle","cellClass"]),Ns=new Set(["selectionChanged","sortChanged","filterChanged","columnMoved","columnVisibilityChanged","displayedColumnsChanged","paginationChanged","detailToggled"]),Fs=0,Ht=class{constructor(e,t){this.destroyed=!1;this.yl=0;this.Qe=0;this.Dn=!1;this.Br="";this.activeFeatures=new Map;this.recentErrors=[];this.U=null;this.xn=0;this.zr=0;this._r=!1;this.Wr=!1;this.$r=null;this.An=null;this.Kt=new Set;let r;this.En=new Promise(o=>{r=o}),this.Sn=r,this.gridId=++Fs,this.options=Pr(t),this.eventBus=new Ae((o,i)=>{i==="gridError"?console.error("[mach-table] error in gridError listener",o):this.reportError(o,"eventBus.listener",{eventType:i})}),this.columnModel=new Ne(this),this.rowModel=new ze(this),this.selectionService=new _e(this),this.skeleton=new wt(this),this.headerRenderer=new Ct(this),this.bodyRenderer=new Et(this),this.resizeService=new We(this),this.columnDragService=new $e(this),this.keyboardService=new je(this),this.editingService=new nt(this),this.inputService=new ot(this),this.undoService=new ht(this),this.performanceMonitor=new mt,this.updateScheduler=new gt(o=>this.vl(o)),this.filterPopup=new at(this),this.columnMenu=new lt(this),this.contextMenuService=new dt(this),this.tooltipService=new ct(this),this.watermarkService=new ut(this),this.paginationBar=new xt(this),this.pinnedRowsRenderer=new Mt(this),this.summaryRenderer=new St(this),this.statusBarService=new kt(this),this.api=Io(this),this.changeTracker=new pt(this);try{this.changeTracker.init(),this.skeleton.init(e,this.options),this.watermarkService.init(),this.bodyRenderer.init(),this.keyboardService.init(),this.tooltipService.init(),this.paginationBar.init(),this.summaryRenderer.init(),this.statusBarService.init(),this.pinnedRowsRenderer.init(),this.rowModel.restorePagination(this.options.paginationPage,this.options.paginationPageSize),this.columnModel.setColumnDefs(this.options.columnDefs),this.rowModel.setAdvancedFilterModel(this.options.advancedFilterModel),this.rowModel.setQuickFilter(this.options.quickFilterText),this.refreshAriaState(),this.validateDefs(this.options.columnDefs),this.checkWarnings(t),this.headerRenderer.build(),this.options.datasource?this.rowModel.startInfinite().catch(()=>{}):this.rowModel.setRowData(this.options.rowData),this.options.initialState&&this.api.state.apply(this.options.initialState,{emitEvents:!1}),this.loadPersistedGridState(),this.relayout(),this.pinnedRowsRenderer.setData(this.options.pinnedTopRowData,this.options.pinnedBottomRowData),this.setFeatures(this.options.features),this.Qe=requestAnimationFrame(()=>{this.Qe=0,this.destroyed||this.emit("gridReady",{}),this.Mn()})}catch(o){throw this.reportError(o,"grid.constructor"),this.destroy(),o}}getApi(){return this.api}whenReady(){return this.En}Mn(){this.Dn||(this.Dn=!0,this.Sn(this.api))}resolveCellRenderer(e){return this.options.components?.cellRenderers?.[e]??zo[e]}resolveCellEditor(e){return this.options.components?.cellEditors?.[e]}wl(e){return Ft(e.requires).map(t=>t.key).find(t=>!this.activeFeatures.has(t))}setFeatures(e){if(this.kn(),this.destroyed)return;let t=Ot(e??[]);for(let r of t.issues)this.reportError(new Error(r.message),"feature.manifest",{code:r.code,...r.feature?{key:r.feature}:{},...r.dependency?{dependency:r.dependency}:{}});for(let r of t.features){let o=r.key.trim(),i=this.wl(r);if(i){this.reportError(new Error(`GridFeature "${o}" dependency "${i}" did not initialise`),"feature.manifest",{code:"FEATURE_DEPENDENCY_SETUP_FAILED",key:o,dependency:i});continue}let s=[],a=d=>{let c=!0,u=()=>{c&&(c=!1,d())};return s.push(u),u},l={api:this.api,root:this.skeleton.root,getOptions:()=>this.options,addEventListener:(d,c)=>a(this.eventBus.on(d,c)),onCleanup:d=>{a(d)},addManagedDomListener:(d,c,u,h)=>(d.addEventListener(c,u,h),a(()=>d.removeEventListener(c,u,h))),setManagedTimeout:(d,c)=>{let u=setTimeout(d,Math.max(0,c));return a(()=>clearTimeout(u)),u},createAbortController:()=>{let d=new AbortController;return a(()=>d.abort()),d},reportError:(d,c,u)=>this.reportError(d,`feature.${c}`,u)};try{let d=r.setup(l);typeof d=="function"&&a(d),this.activeFeatures.set(o,{feature:r,cleanups:s})}catch(d){for(let c of s.reverse())try{c()}catch(u){this.reportError(u,"feature.cleanup",{key:o})}this.reportError(d,"feature.setup",{key:o})}}}kn(){let e=[...this.activeFeatures.entries()].reverse();this.activeFeatures.clear();for(let[t,r]of e){for(let o of r.cleanups.reverse())try{o()}catch(i){this.reportError(i,"feature.cleanup",{key:t})}try{r.feature.destroy?.()}catch(o){this.reportError(o,"feature.destroy",{key:t})}}}isDestroyed(){return this.destroyed}nextId(){return++this.yl}getCellValue(e,t){let r=t.colDef;if(r.valueGetter)try{return r.valueGetter({api:this.api,colDef:r,column:t,node:e,data:e.data})}catch(o){this.reportError(o,"valueGetter",{colId:t.id,rowId:e.id});return}if(r.field)return K(e.data,r.field)}getLocaleText(e){return this.options.locale[e]??D[e]}writeValue(e,t,r,o){let i=t.colDef;if(i.valueSetter)try{return i.valueSetter({oldValue:o,newValue:r,data:e.data,node:e,colDef:i,column:t,api:this.api})}catch(s){return this.reportError(s,"valueSetter",{colId:t.id,rowId:e.id}),!1}return i.field?ie(e.data,i.field,r):!1}notifyCellValueChanged(e,t,r,o){this.bodyRenderer.invalidateRowHeight(e),this.bodyRenderer.queueFlash([e.rowIndex],[t.id]),this.undoService.record({nodeId:e.id,columnId:t.id,oldValue:r,newValue:o}),this.emit("cellValueChanged",{oldValue:r,newValue:o,rowNode:e,rowIndex:e.rowIndex,column:t,colDef:t.colDef,data:e.data})}buildRangeTsv(e){let r=this.columnModel.getOrderedVisible().slice(e.c1,e.c2+1),o=[];for(let i=e.r1;i<=e.r2;i++){let s=this.rowModel.getDisplayedRow(i);o.push(r.map(a=>!s||s.isDetail||s.isGroup?"":Re(this,s,a,this.getCellValue(s,a))))}return ce(o)}copyActiveRange(){let e=this.bodyRenderer.getNormalizedRangeOrFocus();return e?Ce(this.buildRangeTsv(e)):Promise.resolve(!1)}clearRangeValues(e){if(this.destroyed)return;let t=this.columnModel.getOrderedVisible(),r=[];for(let o=e.r1;o<=e.r2;o++){let i=this.rowModel.getDisplayedRow(o);if(!(!i||i.isDetail||i.isGroup))for(let s=e.c1;s<=e.c2;s++){let a=t[s];!a||a.hasCheckbox||a.isDetailToggle||a.colDef.rowDrag||r.push({node:i,column:a,oldValue:this.getCellValue(i,a),newValue:null})}}this.applyInputChanges(r)}applyInputChanges(e){this.inputService.apply(e)}cancelPendingInput(){this.inputService.cancel()}pasteText(e,t,r){if(this.destroyed)return;let o=Ke(e);if(o.length===0)return;let i=this.columnModel.getOrderedVisible(),s=this.rowModel.getDisplayedRowCount(),a=[],l=t;for(let d of o){let c=this.bl(l,s);if(!c)break;this.Cl(c.node,d,i,r,a),l=c.index+1}this.applyInputChanges(a)}bl(e,t){for(let r=e;r<t;r++){let o=this.rowModel.getDisplayedRow(r);if(o&&!o.isDetail&&!o.isGroup)return{index:r,node:o}}return null}Tl(e,t){let r=t;for(;r<e.length;){let o=e[r];if(!o.hasCheckbox&&!o.isDetailToggle&&!o.colDef.rowDrag)break;r++}return r}Cl(e,t,r,o,i){let s=o;for(let a of t){if(s=this.Tl(r,s),s>=r.length)return;let l=r[s],d=this.getCellValue(e,l),c=(typeof d=="number"||l.colDef.cellEditor==="number")&&a!==""&&!Number.isNaN(Number(a)),u=a===""?null:c?Number(a):a;i.push({node:e,column:l,oldValue:d,newValue:u}),s++}}pasteFromSystemClipboard(){let e=this.bodyRenderer.getPasteStart();if(!e)return Promise.resolve();let t=this.inputService.begin(),r=this.rowModel.getDisplayedRow(e.row),o=this.columnModel.getOrderedVisible()[e.colIdx];if(!r||!o)return Promise.resolve();let i=this.getCellValue(r,o),s=this.inputService.scope([{node:r,column:o,oldValue:i,newValue:i}]);try{if(typeof navigator<"u"&&navigator.clipboard?.readText)return navigator.clipboard.readText().then(a=>{let l=this.bodyRenderer.getPasteStart();a&&t()&&s()&&l?.row===e.row&&l.colIdx===e.colIdx&&this.rowModel.getDisplayedRow(e.row)===r&&this.columnModel.getOrderedVisible()[e.colIdx]===o&&this.pasteText(a,e.row,e.colIdx)}).catch(()=>{})}catch{}return Promise.resolve()}refreshSummary(){this.summaryRenderer.refresh()}emit(e,t){let r={type:e,api:this.api,...t};this.eventBus.emit(e,r);let o="on"+e.charAt(0).toUpperCase()+e.slice(1),i=this.options[o];if(typeof i=="function")try{i(r)}catch(a){e==="gridError"?console.error("[mach-table] error in onGridError",a):this.reportError(a,`eventHandler.${String(o)}`,{eventType:e})}return(e==="columnResized"&&r.finished||Ns.has(e))&&this.scheduleGridStateSave(),r}reportError(e,t,r){let o=this.Rl(t,e),i=e instanceof Error?e.message:String(e);this.recentErrors.push({code:o,source:t,message:i,timestamp:Date.now(),...r?{context:r}:{}}),this.recentErrors.length>50&&this.recentErrors.splice(0,this.recentErrors.length-50),console.error(`[mach-table] ${o} (${t})`,e),!this.destroyed&&this.emit("gridError",{code:o,error:e,source:t,context:r})}Rl(e,t){if(Ls.some(o=>e.startsWith(o)))return"DATA_SOURCE_ERROR";let r=t instanceof Error?t.message:String(t);return e==="rowKey"||r.includes("Duplicate row id")?"DATA_INTEGRITY_ERROR":e==="validate"?"VALIDATION_ERROR":e.toLowerCase().includes("renderer")||Gs.has(e)?"RENDERER_ERROR":e.toLowerCase().includes("editor")||e==="editable"?"EDITOR_ERROR":e.startsWith("feature.")?"FEATURE_ERROR":Ps.some(o=>e.startsWith(o))?"STATE_ERROR":e.startsWith("eventBus.")||e.startsWith("eventHandler.")?"EVENT_HANDLER_ERROR":"GRID_ERROR"}getDiagnostics(){return{gridId:this.gridId,version:Ie,destroyed:this.destroyed,infinite:this.rowModel.isInfinite,loading:this.rowModel.isLoadingInfinite()||this.options.loading,rowCount:this.rowModel.getDisplayTotalCount(),renderedRowCount:this.skeleton.bodyEl.querySelectorAll(".mach-row[data-index]").length,columnCount:this.columnModel.getColumns().length,selectedRowCount:this.selectionService.getSelectedNodes().length,dirtyRowCount:this.changeTracker.getDirtyRowIds().length,activeFeatures:[...this.activeFeatures].map(([e,t])=>({key:e,...t.feature.version?{version:t.feature.version}:{}})),performance:this.performanceMonitor.snapshot(),updates:this.updateScheduler.snapshot(),recentErrors:this.recentErrors.map(e=>({...e,...e.context?{context:{...e.context}}:{}}))}}cycleSort(e,t){this.columnModel.cycleSort(e,t),this.applySortModel()}applySortModel(){if(this.headerRenderer.refreshSortIndicators(),this.emit("sortChanged",{sortModel:this.columnModel.getSortModel()}),this.rowModel.isInfinite){this.rowModel.onServerParamsChanged();return}this.rowModel.refreshPipeline(),this.requestUpdate({data:!0})}applyColumnFilter(e,t){let r=this.rowModel.getFilterModel();if(t?r[e.id]=t:delete r[e.id],this.rowModel.setFilterModel(r),this.headerRenderer.refreshFilterIcons(),this.emit("filterChanged",{filterModel:this.rowModel.getFilterModel(),advancedFilterModel:this.rowModel.getAdvancedFilterModel()}),this.rowModel.isInfinite){this.rowModel.onServerParamsChanged();return}this.rowModel.refreshPipeline(),this.requestUpdate({data:!0})}applyQuickFilter(){if(this.emit("filterChanged",{filterModel:this.rowModel.getFilterModel(),advancedFilterModel:this.rowModel.getAdvancedFilterModel()}),this.rowModel.isInfinite){this.rowModel.onServerParamsChanged();return}this.rowModel.refreshPipeline(),this.requestUpdate({data:!0})}moveColumn(e,t){this.columnModel.moveColumn(e,t)&&(this.onColumnsStructureChanged(),this.emit("columnMoved",{colId:e,toIndex:t}))}toggleDetail(e){return this.rowModel.toggleDetail(e)}emitColumnResize(e,t){this.emit("columnResized",{colId:e.id,width:e.currentWidth,finished:t})}commitColumnWidths(e){if(!(this.destroyed||e.length===0))for(let t of e){if(this.destroyed)break;this.emitColumnResize(t,!0)}}loadPersistedGridState(){let e=++this.xn,t=this.zr,r=this.options.persistence;if(!r)return;let{key:o,store:i,sections:s}=r,a;try{a=i?i.load(o):At(o)}catch(d){this.reportError(d,"gridState.load");return}let l=d=>{if(!(this.destroyed||e!==this.xn||t!==this.zr||!d)){this._r=!0;try{this.api.state.apply(d,{emitEvents:!1,...s?{sections:s}:{}})}finally{this._r=!1}}};a&&typeof a.then=="function"?Promise.resolve(a).then(l).catch(d=>this.reportError(d,"gridState.load")):l(a)}scheduleGridStateSave(){let e=this.options.persistence;if(!(!e||this.destroyed||this._r)){if(this.zr++,this.U&&clearTimeout(this.U),e.debounceMs===0){this.U=null,this.persistGridState();return}this.U=setTimeout(()=>{this.U=null,this.persistGridState()},e.debounceMs)}}persistGridState(){let e=this.options.persistence;if(!e||this.destroyed)return;let{key:t,store:r,sections:o}=e,i=this.api.state.get(),s=o?ho(i,o):i,a={key:t,...r?{store:r}:{},state:s};if(this.Wr){this.$r=a;return}this.In(a)}In(e){try{let t=e.store?e.store.save(e.key,e.state):It(e.key,e.state);if(!t||typeof t.then!="function")return;this.Wr=!0,Promise.resolve(t).catch(r=>this.reportError(r,"gridState.save")).finally(()=>{this.Wr=!1;let r=this.$r;this.$r=null,r&&this.In(r)})}catch(t){this.reportError(t,"gridState.save")}}buildDefaultErrorState(){let e=document.createElement("div");e.className="mach-empty mach-empty--error";let t=document.createElement("div");t.className="mach-empty__title",t.textContent=this.getLocaleText("requestFailed");let r=document.createElement("div");return r.className="mach-empty__hint",r.textContent=this.getLocaleText("requestFailedHint"),e.append(t,r),e}buildDefaultLoadingState(){let e=document.createElement("div");e.className="mach-loading";let t=document.createElement("div");t.className="mach-loading__visual",t.setAttribute("aria-hidden","true");for(let s=0;s<4;s+=1){let a=document.createElement("span");a.className="mach-loading__row",t.appendChild(a)}let r=document.createElement("div");r.className="mach-loading__status";let o=document.createElement("span");o.className="mach-spinner mach-loading__spinner",o.setAttribute("aria-hidden","true");let i=document.createElement("span");return i.className="mach-loading__label",i.textContent=this.getLocaleText("loading"),r.append(o,i),e.append(t,r),e}buildDefaultEmptyState(){let e=this.options.locale??{},t=e.emptyRows??D.emptyRows,r=e.emptyRowsHint??D.emptyRowsHint,o=document.createElement("div");o.className="mach-empty";let i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("class","mach-empty__icon"),i.setAttribute("viewBox","0 0 96 84"),i.setAttribute("width","96"),i.setAttribute("height","84"),i.setAttribute("fill","none"),i.setAttribute("aria-hidden","true"),i.innerHTML='<rect x="8" y="10" width="68" height="56" rx="6" fill="#eaf3fe"/><rect x="8" y="10" width="68" height="12" rx="6" fill="#d5e8fd"/><rect x="8" y="19" width="68" height="3" fill="#d5e8fd"/><g stroke="#bcd7f8" stroke-width="2.4" stroke-linecap="round"><line x1="16" y1="32" x2="68" y2="32"/><line x1="16" y1="42" x2="60" y2="42"/><line x1="16" y1="52" x2="64" y2="52"/></g><circle cx="66" cy="52" r="15" fill="#ffffff" stroke="#8fbdf5" stroke-width="3"/><line x1="77" y1="63" x2="86" y2="72" stroke="#8fbdf5" stroke-width="4" stroke-linecap="round"/><line x1="60" y1="52" x2="72" y2="52" stroke="#bcd7f8" stroke-width="2.6" stroke-linecap="round"/>';let s=document.createElement("div");s.className="mach-empty__title",s.textContent=t;let a=document.createElement("div");return a.className="mach-empty__hint",a.textContent=r,o.append(i,s,a),o}checkWarnings(e){if(!(this.options.suppressWarnings||this.destroyed)){if(e)for(let t of Nt(e)){let r=`${t.code}:${t.option??""}:${t.message}`;this.Kt.has(r)||(this.Kt.add(r),console.warn(`[mach-table:${t.code}] ${t.message}`))}this.options.treeData&&this.columnModel.getRowGroupColumns().length>0&&console.warn("[mach-table] treeData \u4E0E rowGroup \u4E0D\u652F\u6301\u540C\u65F6\u542F\u7528\uFF0C\u884C\u5206\u7EC4\u5DF2\u88AB\u5FFD\u7565")}}validateDefs(e){if(!(this.options.suppressWarnings||this.destroyed)&&this.An!==e){this.An=e;for(let t of Wo(e))this.Kt.has(t)||(this.Kt.add(t),console.warn(`[mach-table] ${t}`))}}onColumnsStructureChanged(){this.updateScheduler.schedule({columns:!0})}requestUpdate(e){this.updateScheduler.schedule(e)}batchUpdates(e){return this.updateScheduler.batch(e)}vl(e){this.destroyed||(e.columns?this.Dl():(e.header&&this.headerRenderer.build(),e.pool?this.bodyRenderer.rebuildPool():e.layout&&this.relayout()),e.data&&!e.pool&&!e.columns?this.bodyRenderer.onDataChanged():e.cells&&this.bodyRenderer.refreshCells(e.cells===!0?void 0:e.cells),e.pinned&&this.pinnedRowsRenderer.refresh(),e.summary&&this.summaryRenderer.refresh(),e.overlays&&this.bodyRenderer.refreshOverlays())}Dl(){this.checkWarnings(),this.validateDefs(this.columnModel.getColumnDefs()),this.bodyRenderer.invalidateAllRowHeights(),this.headerRenderer.build(),this.bodyRenderer.rebuildPool(),this.relayout(),this.pinnedRowsRenderer.rebuild(),this.summaryRenderer.refresh(),this.emit("displayedColumnsChanged",{})}relayout(){if(this.destroyed)return;let e=this.performanceMonitor.start();this.refreshAriaState(),this.columnModel.computeLayout(this.skeleton.measureViewportWidth());let t=this.columnModel.getOrderedVisible().map(r=>`${r.id}:${r.currentWidth}`).join("|");this.Br&&t!==this.Br&&this.bodyRenderer.invalidateAllRowHeights(),this.Br=t,this.skeleton.root.setAttribute("aria-colcount",String(this.columnModel.getOrderedVisible().length)),this.headerRenderer.applyLayout(),this.bodyRenderer.relayout(),this.pinnedRowsRenderer.applyLayout(),this.summaryRenderer.refresh(),this.performanceMonitor.recordLayout(e)}refreshAriaState(){if(!this.skeleton.root)return;let e=this.options.treeData||this.columnModel.getRowGroupColumns().length>0;this.skeleton.root.setAttribute("role",e?"treegrid":"grid"),this.options.rowSelection==="multiple"?this.skeleton.root.setAttribute("aria-multiselectable","true"):this.skeleton.root.removeAttribute("aria-multiselectable"),this.columnModel.getOrderedVisible().some(r=>!!r.colDef.editable)?this.skeleton.root.removeAttribute("aria-readonly"):this.skeleton.root.setAttribute("aria-readonly","true")}relayoutColumns(e=!0){this.destroyed||(this.columnModel.computeLayout(this.skeleton.measureViewportWidth()),e&&this.bodyRenderer.invalidateAllRowHeights(),this.headerRenderer.applyLayout(),this.bodyRenderer.applyContainerSizes(),this.bodyRenderer.applyCellLayout(),this.bodyRenderer.updateRange(!0),this.pinnedRowsRenderer.applyLayout(),this.summaryRenderer.refresh())}destroy(){if(this.destroyed)return;this.U&&(clearTimeout(this.U),this.U=null,this.persistGridState()),this.destroyed=!0,this.cancelPendingInput(),this.Qe&&cancelAnimationFrame(this.Qe),this.Qe=0,this.Mn();let e=(t,r)=>{try{r()}catch(o){console.error(`[mach-table] ${t} destroy error`,o)}};e("grid event",()=>this.emit("gridDestroyed",{})),e("updateScheduler",()=>this.updateScheduler.destroy()),e("performanceMonitor",()=>this.performanceMonitor.destroy()),e("features",()=>this.kn()),e("changeTracker",()=>this.changeTracker.destroy()),e("rowModel",()=>this.rowModel.destroy()),e("editingService",()=>this.editingService.destroy()),e("keyboardService",()=>this.keyboardService.destroy()),e("filterPopup",()=>this.filterPopup.destroy()),e("columnMenu",()=>this.columnMenu.destroy()),e("contextMenu",()=>this.contextMenuService.destroy()),e("tooltip",()=>this.tooltipService.destroy()),e("watermark",()=>this.watermarkService.destroy()),e("pagination",()=>this.paginationBar.destroy()),e("columnDrag",()=>this.columnDragService.destroy()),e("resize",()=>this.resizeService.destroy()),e("bodyRenderer",()=>this.bodyRenderer.destroy()),e("headerRenderer",()=>this.headerRenderer.destroy()),e("pinnedRowsRenderer",()=>this.pinnedRowsRenderer.destroy()),e("summaryRenderer",()=>this.summaryRenderer.destroy()),e("statusBar",()=>this.statusBarService.destroy()),e("skeleton",()=>this.skeleton.destroy()),this.eventBus.clear()}};function jo(n,e={}){if(!n)throw new Error("[mach-table] createGrid requires a container element");if(typeof document>"u")throw new Error("[mach-table] createGrid can only be used in a browser environment");return new Ht(n,e).getApi()}function Os(n){return n.mode==="allMatching"?{mode:"allMatching",excludedKeys:[...n.excludedKeys]}:{mode:"explicit",selectedKeys:[...n.selectedKeys]}}function Yo(n,e){if(e.scope!=="filtered"&&e.scope!=="selected")throw new TypeError("[MachTable] Remote export scope must be filtered or selected.");let t=n.state.get();return{version:1,scope:e.scope,columnIds:t.columns.filter(r=>!r.hide).map(r=>r.colId),sortModel:t.sortModel.map(r=>({...r})),filterModel:q(t.filterModel),advancedFilterModel:O(t.advancedFilterModel),quickFilterText:t.quickFilterText,...e.scope==="selected"?{selection:Os(e.selection??{mode:"explicit",selectedKeys:t.selectedRowIds})}:{}}}function Hs(n){return n.value===!0?"\u662F":n.value===!1?"\u5426":""}function Vs(n){return e=>{if(e.value==null||e.value==="")return"";let t=e.value instanceof Date?e.value.toISOString():String(e.value);return n==="datetime"?t.slice(0,16).replace("T"," "):t.slice(0,10)}}function Bs(n){return e=>{if(e.value==null)return"";let t=n.find(r=>r.value===e.value);return t?t.label:String(e.value)}}function zs(n,e){return n.filterable===!1?!1:e==="number"?"number":e==="date"?"date":e==="select"||e==="boolean"?"set":"text"}function _s(n,e,t){if(t==="number"){n.type="rightAligned";return}if(t==="date"){n.valueFormatter=Vs(e.format);return}if(t==="boolean"){n.valueFormatter=Hs;return}if(t!=="select")return;let r=e.options??[];n.valueFormatter=Bs(r),e.editable&&(n.cellEditor="select",n.cellEditorParams={options:r})}function Xo(n){let e=n.type??"string",t={colId:n.field,field:n.field,headerName:n.title??n.field,width:n.width,minWidth:n.minWidth,maxWidth:n.maxWidth,flex:n.flex,pinned:n.pinned??void 0,hide:n.hidden??!1,editable:n.editable??!1,sortable:n.sortable??!0,resizable:n.resizable??!0,filter:zs(n,e),cellClass:n.cellClass};return _s(t,n,e),t}function Jo(n){let e=new Map(n.fields.map(o=>[o.field,o])),t=new Set,r=[];for(let o of n.fields){if(t.has(o.field))continue;(n.groups??[]).some(s=>s.fields.includes(o.field))||(r.push(Xo(o)),t.add(o.field))}for(let o of n.groups??[]){let i=[];for(let s of o.fields){let a=e.get(s);!a||t.has(s)||(i.push(Xo(a)),t.add(s))}i.length>0&&r.push({headerName:o.title,children:i})}return r}function P(n){let e=n();return e&&!e.isDestroyed()?e:null}function Qo(n){let e=()=>n.getApi();return{search(t){P(e)?.filtering.setQuickText(t)},async refresh(){if(n.reload){await n.reload();return}let t=P(e);t&&(t.rows.isRemote()?await t.rows.reload():t.view.refreshCells())},openColumns(t){P(e)?.columns.openWorkbench(t)},setDensity(t){P(e)?.updateOptions({size:t})},selectAll(t=!0){P(e)?.selection.selectAll(t)},clearSelection(){let t=P(e);t?.selection.clear(),t?.selection.clearRange()},resetColumns(){P(e)?.columns.resetState()},resetView(){P(e)?.batch(t=>{t.selection.clear(),t.selection.clearRange(),t.filtering.setModel(null),t.filtering.setAdvancedModel(null),t.sorting.setModel(null),t.pagination.setPage(1),t.columns.resetState()})},undo(){return P(e)?.editing.undo()??!1},redo(){return P(e)?.editing.redo()??!1},canUndo(){return P(e)?.editing.canUndo()??!1},canRedo(){return P(e)?.editing.canRedo()??!1},exportCsv(t="mach-table.csv"){let r=P(e);return r?yt(t,r.io.exportCsv({prependBOM:!0}),"text/csv;charset=utf-8"):!1},async toggleFullscreen(){if(typeof document>"u")return!1;if(document.fullscreenElement)return await document.exitFullscreen?.(),!1;let r=P(e)?.view.getRoot(),o=n.getFullscreenElement?.()??r?.parentElement??r;return o?.requestFullscreen?(await o.requestFullscreen(),!0):!1}}}var Me={sortable:!1,resizable:!1,movable:!1,filter:!1,suppressSizeToFit:!0,suppressColumnMenu:!0};function Zo(n={}){let e=n.width??40;return{colId:"sel",headerName:"",width:e,minWidth:n.minWidth??e,maxWidth:n.maxWidth??e,pinned:"left",checkboxSelection:!0,...Me,...n}}function en(n={}){let e=n.width??52;return{colId:"idx",headerName:"#",type:"index",width:e,minWidth:n.minWidth??e,maxWidth:n.maxWidth??e,pinned:"left",align:"center",headerAlign:"center",...Me,...n}}function tn(n={}){let e=n.width??40;return{colId:"drag",headerName:"",rowDrag:!0,width:e,minWidth:n.minWidth??e,maxWidth:n.maxWidth??e,pinned:"left",...Me,...n}}function rn(n={actions:[]}){let{width:e,pinned:t,...r}=n,o=r.actions?.length??0,i=r.overflow==="inline"?o:Math.min(o,r.max??3),s=r.overflow!=="inline"&&o>i,a=Math.max(1,i)*26+(s?26:0)+10;return{colId:"op",headerName:"\u64CD\u4F5C",width:e??Math.max(64,a),pinned:t??"right",cellRenderer:ge(r),...Me,cellRendererParams:void 0}}function on(n={}){let{width:e,pinned:t,...r}=n,o=(r.onView?1:0)+(r.edit===!1?0:1)+(r.onDelete?1:0)+(r.extraActions?.length??0),i=r.overflow==="inline"?o:Math.min(o,r.max??3),s=r.overflow!=="inline"&&o>i,a=Math.max(2,i)*26+(s?26:0)+10;return{colId:"op",headerName:"\u64CD\u4F5C",width:e??Math.max(72,a),pinned:t??"right",cellRenderer:Gt(r),...Me,cellRendererParams:void 0}}function nn(){return{accessor:(n,e={})=>({...e,field:n}),display:n=>({...n}),group:n=>({...n,children:[...n.children]})}}function sn(n){return[...n]}function Dr(n,e){return e===void 0?n:typeof e!="object"||e===null||typeof n!="object"||n===null?e:{...n,...e}}function Ws(n,e){return typeof n!="function"?e:typeof e!="function"?n:(...t)=>{let r;try{n(...t)}catch(o){r=o}try{e(...t)}catch(o){r??(r=o)}if(r!==void 0)throw r}}function $s(n,e){if(!(!n.components&&!e.components))return{cellRenderers:{...n.components?.cellRenderers,...e.components?.cellRenderers},cellEditors:{...n.components?.cellEditors,...e.components?.cellEditors}}}function Ks(n,e){if(!n.columnTypes&&!e.columnTypes)return;let t={},r=new Set([...Object.keys(n.columnTypes??{}),...Object.keys(e.columnTypes??{})]);for(let o of r)t[o]={...n.columnTypes?.[o],...e.columnTypes?.[o]};return t}function qs(n,e,t){for(let r of new Set([...Object.keys(e),...Object.keys(t)])){if(!/^on[A-Z]/.test(r))continue;let o=e[r],i=t[r];typeof o!="function"||typeof i!="function"||(n[r]=Ws(o,i))}}function Us(n,e){let t={...n,...e,features:e.features??n.features};(n.defaultColDef||e.defaultColDef)&&(t.defaultColDef={...n.defaultColDef,...e.defaultColDef}),(n.locale||e.locale)&&(t.locale={...n.locale,...e.locale});let r=$s(n,e);r&&(t.components=r);let o=Ks(n,e);return o&&(t.columnTypes=o),(n.aggFuncs||e.aggFuncs)&&(t.aggFuncs={...n.aggFuncs,...e.aggFuncs}),t.pagination=Dr(n.pagination,e.pagination),t.statusBar=Dr(n.statusBar,e.statusBar),t.watermark=Dr(n.watermark,e.watermark),qs(t,n,e),t}function Er(...n){return n.reduce(Us,{})}function an(n={}){return Er({defaultColDef:{sortable:!0,resizable:!0,movable:!0,filter:!0},enableColumnResize:!0,rowSelection:"multiple",columnMenu:!0,contextMenu:!0,enableRangeSelection:!0,fillHandle:!0,statusBar:!0,stripedRows:!0},n)}function ln(n){return n}function dn(n){return n}function cn(n){return n}function ke(n){return n!=null&&n!==""}function js(n){if(!ke(n))return null;let e=typeof n=="number"?n:Number(n);return Number.isFinite(e)?e:null}function Vt(n,e){try{return new Intl.NumberFormat(n,e)}catch{return new Intl.NumberFormat(void 0,e)}}function un(n,e){try{return new Intl.DateTimeFormat(n,e)}catch{let t={...e};return delete t.timeZone,new Intl.DateTimeFormat(void 0,t)}}function Ys(n){if(!ke(n))return null;let e=n instanceof Date?n:new Date(n);return Number.isFinite(e.getTime())?e:null}function hn(n={}){let e=n.emptyText??"",t=n.invalidText??"\u2014",r=Vt(n.locale,{maximumFractionDigits:n.maximumFractionDigits??2}),o=Vt(n.locale,{maximumFractionDigits:0}),i=Vt(n.locale,{style:"currency",currency:n.currency??"CNY",currencyDisplay:n.currencyDisplay??"symbol",maximumFractionDigits:n.maximumFractionDigits??2}),s=Vt(n.locale,{style:"percent",maximumFractionDigits:n.maximumFractionDigits??2}),a=un(n.locale,{year:"numeric",month:"2-digit",day:"2-digit",...n.timeZone?{timeZone:n.timeZone}:{}}),l=un(n.locale,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,...n.timeZone?{timeZone:n.timeZone}:{}}),d=(u,h=1)=>({value:p})=>{if(!ke(p))return e;let m=js(p);return m==null?t:u.format(m*h)},c=u=>({value:h})=>{if(!ke(h))return e;let p=Ys(h);return p==null?t:u.format(p)};return Object.freeze({text:{align:"left",filter:"text"},number:{align:"right",filter:"number",cellEditor:"number",valueFormatter:d(r)},integer:{align:"right",filter:"number",cellEditor:"number",valueFormatter:d(o)},money:{align:"right",filter:"number",cellEditor:"number",valueFormatter:d(i)},percent:{align:"right",filter:"number",cellEditor:"number",valueFormatter:d(s)},percentage:{align:"right",filter:"number",cellEditor:"number",valueFormatter:d(s,.01)},date:{align:"center",filter:"date",cellEditor:"date",valueFormatter:c(a)},datetime:{align:"center",filter:"date",valueFormatter:c(l)},boolean:{align:"center",filter:"set",valueFormatter:({value:u})=>u===!0?n.trueText??"\u662F":u===!1?n.falseText??"\u5426":e},status:{filter:"set",cellRenderer:"statusTag"},link:{filter:"text",cellRenderer:"link"}})}function Bt(n){return`${typeof n}:${String(n)}`}function pn(n){let e=Math.max(0,n.ttlMs??3e5),t=Math.max(1,Math.floor(n.maxSize??2e3)),r=Math.max(0,n.batchDelayMs??0),o=new Map,i=new Map,s=new Map,a=null,l=null,d=!1,c=y=>{let v=Bt(y),b=o.get(v);if(b){if(b.expiresAt<Date.now()){o.delete(v);return}return o.delete(v),o.set(v,b),b.label}},u=y=>{let v=e===0?Number.POSITIVE_INFINITY:Date.now()+e;for(let b of y){let T=Bt(b.value);o.delete(T),o.set(T,{key:b.value,label:String(b.label),expiresAt:v})}for(;o.size>t;)o.delete(o.keys().next().value)},h=y=>{for(let[v,b]of y){let T=c(b);for(let x of s.get(v)??[])x.resolve(T);s.delete(v)}},p=(y,v)=>{for(let[b]of y){for(let T of s.get(b)??[])T.reject(v);s.delete(b)}},m=async()=>{if(a=null,d||i.size===0)return;let y=[...i.entries()];i.clear();let v=y.map(([,T])=>T),b=new AbortController;l=b;try{let T=await n.load(v,b.signal);if(d||b.signal.aborted)return;u(T),h(y)}catch(T){b.signal.aborted||n.onError?.(T,v),p(y,T)}finally{l===b&&(l=null),!d&&i.size>0&&a==null&&(a=setTimeout(()=>{m()},r))}},g=y=>{let v=c(y);if(v!==void 0)return Promise.resolve(v);if(d)return Promise.reject(new Error("[MachTable] Dictionary resolver has been destroyed."));let b=Bt(y);i.set(b,y);let T=new Promise((x,w)=>{let C=s.get(b)??[];C.push({resolve:x,reject:w}),s.set(b,C)});return a==null&&l==null&&(a=setTimeout(()=>{m()},r)),T};return{get:c,resolve:g,async resolveMany(y){let v=await Promise.all(y.map(async b=>[b,await g(b)]));return new Map(v.filter(b=>b[1]!==void 0))},prime:u,invalidate(y){if(!y)o.clear();else for(let v of y)o.delete(Bt(v))},destroy(){d=!0,a!=null&&clearTimeout(a),a=null,l?.abort(),l=null;let y=new Error("[MachTable] Dictionary resolver has been destroyed.");for(let v of s.values())for(let b of v)b.reject(y);s.clear(),i.clear(),o.clear()},get size(){return o.size}}}function fn(n,e={}){return t=>{if(!ke(t.value))return e.emptyText??"";let r=t.value,o=e.fallback?.(r)??String(r),i=n.get(r);if(i!==void 0)return i;let s=document.createElement("span");s.className="mach-dictionary-value mach-dictionary-value--loading",s.textContent=e.loadingText??o;let a=!0;return n.resolve(r).then(l=>{!a||!s.isConnected||(s.textContent=l??o,s.classList.remove("mach-dictionary-value--loading"))}).catch(()=>{!a||!s.isConnected||(s.textContent=o,s.classList.remove("mach-dictionary-value--loading"),s.classList.add("mach-dictionary-value--error"))}),{el:s,destroy:()=>{a=!1}}}}function mn(){try{return typeof localStorage>"u"?null:localStorage}catch{return null}}function gn(n){return typeof TextEncoder>"u"?n.length*2:new TextEncoder().encode(n).byteLength}function yn(n){if(typeof n!="string")return null;let e=n.trim();return e&&e.length<=256?e:null}function zt(n){if(n==null||typeof n!="object")return null;let e=n;if(e.version!==1)return null;let t=z({version:2,columns:e.columns,sortModel:e.sortModel,filterModel:e.filterModel,advancedFilterModel:e.advancedFilterModel,quickFilterText:e.quickFilterText,pagination:{enabled:!0,page:1,pageSize:e.pageSize},selectedRowIds:[],expandedRowIds:[],expandedGroupIds:[]});return t?{version:1,columns:t.columns,sortModel:t.sortModel,filterModel:t.filterModel,advancedFilterModel:t.advancedFilterModel,quickFilterText:t.quickFilterText,pageSize:t.pagination.pageSize}:null}function ye(n){if(n==null||typeof n!="object")return null;let e=n,t=yn(e.id),r=typeof e.name=="string"?e.name.trim().slice(0,120):"",o=zt(e.state);if(e.schemaVersion!==1||!t||!r||!o)return null;let i=typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)?e.createdAt:Date.now(),s=typeof e.updatedAt=="number"&&Number.isFinite(e.updatedAt)?e.updatedAt:i;return{schemaVersion:1,id:t,name:r,createdAt:i,updatedAt:s,state:o}}function Sr(n){let e=n.state.get();return{version:1,columns:e.columns,sortModel:e.sortModel,filterModel:e.filterModel,advancedFilterModel:e.advancedFilterModel,quickFilterText:e.quickFilterText,pageSize:e.pagination.pageSize}}function xr(n,e,t={}){let r=zt(e);if(!r||n.isDestroyed())return!1;let o=n.state.get();return n.state.apply({...o,columns:r.columns,sortModel:r.sortModel,filterModel:r.filterModel,advancedFilterModel:r.advancedFilterModel,quickFilterText:r.quickFilterText,pagination:{...o.pagination,page:1,pageSize:r.pageSize}},{sections:["columns","sort","filter","pagination"],emitEvents:t.emitEvents}),!0}function Mr(n={}){let e=(n.namespace??"mach-table:views").replace(/:+$/,""),t=Math.max(1,Math.floor(n.maxViews??50)),r=Math.max(4096,Math.floor(n.maxBytes??512*1024)),o=l=>`${e}:${encodeURIComponent(l)}`,i=(l,d,c)=>{try{n.onError?.(l,d,c)}catch{}},s=l=>{let d=(n.storage??mn())?.getItem(o(l));if(!d||gn(d)>r)return[];let c=JSON.parse(d);return c.schemaVersion!==1||!Array.isArray(c.views)?[]:c.views.flatMap(u=>{let h=ye(u);return h?[h]:[]}).slice(0,t)},a=(l,d)=>{let c=JSON.stringify({schemaVersion:1,savedAt:Date.now(),views:d});if(gn(c)>r)throw new RangeError(`[MachTable] Saved views for "${l}" exceed ${r} bytes.`);let u=n.storage??mn();if(!u)throw new Error("[MachTable] Saved view storage is unavailable.");u.setItem(o(l),c)};return{list(l){try{return s(l)}catch(d){return i(d,"list",l),[]}},save(l,d){try{let c=ye(d);if(!c)throw new TypeError(`[MachTable] Invalid saved view for "${l}".`);let u=s(l).filter(h=>h.id!==c.id);u.unshift(c),a(l,u.slice(0,t))}catch(c){throw i(c,"save",l),c}},remove(l,d){try{a(l,s(l).filter(c=>c.id!==d))}catch(c){throw i(c,"remove",l),c}}}}function Xs(){try{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID()}catch{}return`view-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function vn(n,e){let t=e.scope.trim();if(!t||t.length>512)throw new TypeError("[MachTable] Grid view scope must contain between 1 and 512 characters.");let r=e.store??Mr(),o=async()=>(await r.list(t)).flatMap(s=>{let a=ye(s);return a?[a]:[]}).sort((s,a)=>a.updatedAt-s.updatedAt);return{list:o,async save(i,s){let a=i.trim().slice(0,120);if(!a)throw new TypeError("[MachTable] Grid view name must be a non-empty string.");let l=yn(s)??Xs(),d=(await o()).find(h=>h.id===l),c=Date.now(),u={schemaVersion:1,id:l,name:a,createdAt:d?.createdAt??c,updatedAt:c,state:Sr(n)};return await r.save(t,u),u},async apply(i,s){let a=typeof i=="string"?(await o()).find(d=>d.id===i):ye(i),l=typeof i=="string"?i:"provided view";if(!a)throw new Error(`[MachTable] Grid view "${l}" was not found.`);if(!xr(n,a.state,s))throw new Error(`[MachTable] Grid view "${a.id}" could not be applied.`);return a},async remove(i){await r.remove(t,i)}}}var Js=Ie;0&&(module.exports={BUILTIN_AGG_FUNCS,DEFAULT_LOCALE,EVENT_TYPES,LOCALE_EN,actionsColumn,advancedFilterCondition,advancedFilterGroup,applyGridViewState,buildColDefsFromSchema,captureGridViewState,clearGridState,createActionButtonsRenderer,createAggResolver,createBusinessColumnTypes,createCachedDictionary,createColumnHelper,createDictionaryRenderer,createEnterprisePreset,createGrid,createGridViewManager,createLocalGridStateStore,createLocalGridViewStore,createMachTableCommands,createMachTablePreset,createProgressBarRenderer,createRemoteExportRequest,createRowActionsRenderer,createStatusTagRenderer,defineColumns,defineGridOptions,defineMachTableConfig,defineMachTablePreset,describeFilter,downloadFile,dragColumn,escapeHtml,formatText,formatTwo,getByPath,indexColumn,isColDefGroup,isSafePath,linkRenderer,loadGridState,matchLocaleKey,normalizeAdvancedFilterModel,normalizeColumnFilter,normalizeFilterModel,normalizeGridState,normalizeGridViewState,normalizeSavedGridView,parseCsv,parseDelimited,parseTsv,resolveGridFeatures,resolveSaveConflict,resolveTagVariant,rowActionsColumn,sanitizeFormulaCell,saveGridState,selectionColumn,setByPath,toTsv,validateGridOptions,version});
|