@marimo-team/frontend 0.13.16-dev9 → 0.13.16-dev91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/assets/ConnectedDataExplorerComponent-BVRYJBIm.js +19 -0
  2. package/dist/assets/ImageComparisonComponent-lzlqsieb.js +1 -0
  3. package/dist/assets/VegaLite-DQmm7W6P.js +189 -0
  4. package/dist/assets/_baseEach-BFwhIXHb.js +1 -0
  5. package/dist/assets/_baseMap-BEsULbjA.js +1 -0
  6. package/dist/assets/_baseUniq-BGdcwr2p.js +1 -0
  7. package/dist/assets/_createAggregator-94ZOpgBV.js +1 -0
  8. package/dist/assets/{any-language-editor-C_9bwXGO.js → any-language-editor-pgy8lIp4.js} +2 -2
  9. package/dist/assets/architectureDiagram-IEHRJDOE-BthNdh0m.js +36 -0
  10. package/dist/assets/{blockDiagram-JOT3LUYC-CL9_24UR.js → blockDiagram-JOT3LUYC-B2Pn9bVy.js} +2 -2
  11. package/dist/assets/{c4Diagram-VJAJSXHY-lspTvRhA.js → c4Diagram-VJAJSXHY-Btoxy5DO.js} +2 -2
  12. package/dist/assets/channel-szhGxnks.js +1 -0
  13. package/dist/assets/{chunk-4BMEZGHF-B9Et-cJ2.js → chunk-4BMEZGHF-BGDlm2bh.js} +1 -1
  14. package/dist/assets/{chunk-A2AXSNBT-CFniWUgi.js → chunk-A2AXSNBT-DYB-VaMm.js} +1 -1
  15. package/dist/assets/{chunk-AEK57VVT-BXNGa_dn.js → chunk-AEK57VVT-rBpDct3-.js} +1 -1
  16. package/dist/assets/{chunk-D6G4REZN-BcbiUWbM.js → chunk-D6G4REZN-CDG7ta7M.js} +1 -1
  17. package/dist/assets/{chunk-RZ5BOZE2-CH9NHZ_g.js → chunk-RZ5BOZE2-xsU-XeUb.js} +1 -1
  18. package/dist/assets/{chunk-XZIHB7SX-CbdIuTbz.js → chunk-XZIHB7SX-C4BaDVJU.js} +1 -1
  19. package/dist/assets/{circle-play-D2OGeEbA.js → circle-play-Dz1W_E0R.js} +1 -1
  20. package/dist/assets/classDiagram-GIVACNV2-CSnokHQq.js +1 -0
  21. package/dist/assets/classDiagram-v2-COTLJTTW-CSnokHQq.js +1 -0
  22. package/dist/assets/clone-DcvBn-4R.js +1 -0
  23. package/dist/assets/compile-DUWz9pu8.js +10 -0
  24. package/dist/assets/{cytoscape.esm-C5gjFiAL.js → cytoscape.esm-C11VZyMT.js} +1 -1
  25. package/dist/assets/{dagre-OKDRZEBW-4OEgTEw0.js → dagre-OKDRZEBW-B-5Wc2cX.js} +1 -1
  26. package/dist/assets/{data-editor-B8IDeUNv.js → data-editor-CtA2vSKy.js} +3 -3
  27. package/dist/assets/{diagram-SSKATNLV-CtBNepMv.js → diagram-SSKATNLV-Cw26EUbf.js} +1 -1
  28. package/dist/assets/{diagram-VNBRO52H-xU3JGfGi.js → diagram-VNBRO52H-Bh-mvOAI.js} +1 -1
  29. package/dist/assets/edit-page-CBE6hVRD.js +144 -0
  30. package/dist/assets/{erDiagram-Q7BY3M3F-DjaKJi8R.js → erDiagram-Q7BY3M3F-CNGgIShN.js} +1 -1
  31. package/dist/assets/{flowDiagram-4HSFHLVR-DODo0DW_.js → flowDiagram-4HSFHLVR-BgNnNfLa.js} +1 -1
  32. package/dist/assets/{ganttDiagram-APWFNJXF-DJKd6TA8.js → ganttDiagram-APWFNJXF-DH0wDqig.js} +4 -4
  33. package/dist/assets/{gitGraphDiagram-7IBYFJ6S-wPJTq0nQ.js → gitGraphDiagram-7IBYFJ6S-D7QkLpvP.js} +1 -1
  34. package/dist/assets/{graph-D7JGbee1.js → graph-CqDQO4__.js} +1 -1
  35. package/dist/assets/home-page-NFkU9U7c.js +9 -0
  36. package/dist/assets/{index-C7-ahTqM.js → index-7yPgKTzA.js} +1 -1
  37. package/dist/assets/{index-BevR4AJL.js → index-B9YRoRDw.js} +1 -1
  38. package/dist/assets/{index-Cz08J5Kw.js → index-B9ev0lFv.js} +1 -1
  39. package/dist/assets/{index-7mdZEI6m.js → index-BEV7EN2P.js} +1 -1
  40. package/dist/assets/index-BH3Eb9nz.css +1 -0
  41. package/dist/assets/{index-DWvXlgD4.js → index-BLpyrJhm.js} +1 -1
  42. package/dist/assets/{index-rS-6z_uh.js → index-BRb8H5lu.js} +1 -1
  43. package/dist/assets/{index-B4sdWv-q.js → index-BYFT-7U8.js} +1 -1
  44. package/dist/assets/{index-PDtLILTf.js → index-CB4dOtj8.js} +1 -1
  45. package/dist/assets/{index-CyZ-lddI.js → index-CRibqT7u.js} +1 -1
  46. package/dist/assets/index-CgxFL2cr.js +499 -0
  47. package/dist/assets/index-D2hGsDFI.js +1 -0
  48. package/dist/assets/index-DE-6BPBD.js +1 -0
  49. package/dist/assets/{index-BZOnbvo6.js → index-DFOqQfA5.js} +1 -1
  50. package/dist/assets/{index-CwtUKDh_.js → index-Dze_2Wiz.js} +1 -1
  51. package/dist/assets/{index-CQaySdAo.js → index-ILxz4Vf6.js} +1 -1
  52. package/dist/assets/{index-BWou89L4.js → index-e_zth6yw.js} +1 -1
  53. package/dist/assets/{index-t8_uCLev.js → index-lR0zWE2c.js} +1 -1
  54. package/dist/assets/{index-CnsjP_zo.js → index-nGm80mNn.js} +1 -1
  55. package/dist/assets/{index-FSgg8y_o.js → index-tAg0vEkQ.js} +1 -1
  56. package/dist/assets/infoDiagram-PH2N3AL5-BRukU5cZ.js +2 -0
  57. package/dist/assets/{journeyDiagram-U35MCT3I-PElwvod7.js → journeyDiagram-U35MCT3I-BEwDP5Sv.js} +1 -1
  58. package/dist/assets/{kanban-definition-NDS4AKOZ-DsqkaJnQ.js → kanban-definition-NDS4AKOZ-CU0C-piC.js} +1 -1
  59. package/dist/assets/layout-CaXvgP1v.js +1 -0
  60. package/dist/assets/{linear-D1U0b4NY.js → linear-DAHL7y9L.js} +1 -1
  61. package/dist/assets/{mermaid-DbkPEKV3.js → mermaid-CnGHUklx.js} +25 -25
  62. package/dist/assets/min-DG2XegQC.js +1 -0
  63. package/dist/assets/mindmap-definition-ALO5MXBD-B9iaQYIm.js +95 -0
  64. package/dist/assets/panels-CDs1ZUWp.js +27 -0
  65. package/dist/assets/{pieDiagram-IB7DONF6-CJfqnzsn.js → pieDiagram-IB7DONF6-CvwbrU2p.js} +1 -1
  66. package/dist/assets/{quadrantDiagram-7GDLP6J5-UZY6XpHr.js → quadrantDiagram-7GDLP6J5-BFV87EPz.js} +1 -1
  67. package/dist/assets/{radar-MK3ICKWK-CuZ1ruTv.js → radar-MK3ICKWK-BvpzFTZd.js} +1 -1
  68. package/dist/assets/{react-plotly-Cfaau_4S.js → react-plotly-CbplJOUI.js} +20 -20
  69. package/dist/assets/{requirementDiagram-KVF5MWMF-D4BRdspM.js → requirementDiagram-KVF5MWMF-BpLs2NI5.js} +1 -1
  70. package/dist/assets/run-page-Dd-L-6kM.js +1 -0
  71. package/dist/assets/{sankeyDiagram-QLVOVGJD-DG4ZSfQE.js → sankeyDiagram-QLVOVGJD-CeCfpWIj.js} +1 -1
  72. package/dist/assets/{save-worker-CULn6QYm.js → save-worker-DtAsG4LO.js} +1 -1
  73. package/dist/assets/{sequenceDiagram-X6HHIX6F-BrlF-mUd.js → sequenceDiagram-X6HHIX6F-BNy5wL6h.js} +1 -1
  74. package/dist/assets/slides-component-D4036R-A.js +1 -0
  75. package/dist/assets/sortBy-mrUipeUT.js +1 -0
  76. package/dist/assets/{stateDiagram-DGXRK772-C3lsMUKj.js → stateDiagram-DGXRK772-oKvWv6OV.js} +1 -1
  77. package/dist/assets/stateDiagram-v2-YXO3MK2T-eBefW6pi.js +1 -0
  78. package/dist/assets/{terminal-BndrgHug.js → terminal-BJd9v3PH.js} +5 -5
  79. package/dist/assets/{time-KDvJykag.js → time-CB0do-Ir.js} +1 -1
  80. package/dist/assets/{timeline-definition-BDJGKUSR-BVlS5McA.js → timeline-definition-BDJGKUSR-DI4tN8OK.js} +1 -1
  81. package/dist/assets/tracing-CY-0CYWT.js +2 -0
  82. package/dist/assets/{transform-Cyp0GDF-.js → transform-C4Tsj3kK.js} +1 -1
  83. package/dist/assets/tree-XU0wwiB1.js +17 -0
  84. package/dist/assets/vega-component-DCravt3R.js +1 -0
  85. package/dist/assets/worker-DIeMFpcF.js +1 -0
  86. package/dist/assets/{worker-DsmMBHp1.js → worker-s2VOegFx.js} +1 -1
  87. package/dist/assets/{xychartDiagram-VJFVF3MP-CFzyjXtl.js → xychartDiagram-VJFVF3MP-CgkGrrdl.js} +1 -1
  88. package/dist/index.html +3 -3
  89. package/package.json +25 -25
  90. package/dist/assets/ConnectedDataExplorerComponent-8OD1FdwV.js +0 -19
  91. package/dist/assets/VegaLite-CJ8ZZtWw.js +0 -189
  92. package/dist/assets/_baseEach-CJ7W4uUC.js +0 -1
  93. package/dist/assets/_baseMap-BV79rs_r.js +0 -1
  94. package/dist/assets/_baseUniq-Dzv6EahL.js +0 -1
  95. package/dist/assets/_createAggregator-CeUblBAd.js +0 -1
  96. package/dist/assets/architectureDiagram-IEHRJDOE-DOGGGbMB.js +0 -36
  97. package/dist/assets/channel-D_odheAy.js +0 -1
  98. package/dist/assets/classDiagram-GIVACNV2-By-StMx6.js +0 -1
  99. package/dist/assets/classDiagram-v2-COTLJTTW-By-StMx6.js +0 -1
  100. package/dist/assets/clone-fasN-xjz.js +0 -1
  101. package/dist/assets/compile-CRFg54ds.js +0 -10
  102. package/dist/assets/edit-page-BWupK_nr.js +0 -135
  103. package/dist/assets/home-page-Bf7NziFk.js +0 -9
  104. package/dist/assets/index-BqXWXM9d.css +0 -1
  105. package/dist/assets/index-D49WHb9g.js +0 -1
  106. package/dist/assets/index-WoeVJRsJ.js +0 -1
  107. package/dist/assets/index-eQwJLzCo.js +0 -498
  108. package/dist/assets/infoDiagram-PH2N3AL5-B0_iy_sQ.js +0 -2
  109. package/dist/assets/layout-Cj0BMe86.js +0 -1
  110. package/dist/assets/min-Ba8RlknH.js +0 -1
  111. package/dist/assets/mindmap-definition-ALO5MXBD-mpSrn2Pq.js +0 -95
  112. package/dist/assets/panels-CDGX6_Mp.js +0 -27
  113. package/dist/assets/run-page-5JsxsuAg.js +0 -1
  114. package/dist/assets/slides-component-DBLXmbc-.js +0 -1
  115. package/dist/assets/sortBy-Bn6QyK6h.js +0 -1
  116. package/dist/assets/stateDiagram-v2-YXO3MK2T-DjututGt.js +0 -1
  117. package/dist/assets/tracing-BJ-bXyI2.js +0 -2
  118. package/dist/assets/tree-C9afVSOF.js +0 -17
  119. package/dist/assets/vega-component-BH5oj_3J.js +0 -1
  120. package/dist/assets/worker-C9vrNVln.js +0 -1
  121. /package/dist/assets/{timer-DFzT7np-.js → timer-BI-lUAZ7.js} +0 -0
@@ -1,4 +1,4 @@
1
- var al;import{S as p,R as x,ag as ko,ah as vl,ai as wl,j as ti,aj as Sl,a2 as yl,ak as bl}from"./index-eQwJLzCo.js";var Ot=class{constructor(){this.allSyncListeners=new Map,this.allAsyncListeners=new Map,this.globalSyncListeners=new Set,this.globalAsyncListeners=new Set,this.asyncFunctionsQueue=[],this.scheduled=!1,this.firedEvents={}}setFrameworkOverrides(e){this.frameworkOverrides=e}getListeners(e,t,i){const s=t?this.allAsyncListeners:this.allSyncListeners;let o=s.get(e);return!o&&i&&(o=new Set,s.set(e,o)),o}noRegisteredListenersExist(){return this.allSyncListeners.size===0&&this.allAsyncListeners.size===0&&this.globalSyncListeners.size===0&&this.globalAsyncListeners.size===0}addEventListener(e,t,i=!1){this.getListeners(e,i,!0).add(t)}removeEventListener(e,t,i=!1){const s=this.getListeners(e,i,!1);s&&(s.delete(t),s.size===0)&&(i?this.allAsyncListeners:this.allSyncListeners).delete(e)}addGlobalListener(e,t=!1){(t?this.globalAsyncListeners:this.globalSyncListeners).add(e)}removeGlobalListener(e,t=!1){(t?this.globalAsyncListeners:this.globalSyncListeners).delete(e)}dispatchEvent(e){const t=e;this.dispatchToListeners(t,!0),this.dispatchToListeners(t,!1),this.firedEvents[t.type]=!0}dispatchEventOnce(e){this.firedEvents[e.type]||this.dispatchEvent(e)}dispatchToListeners(e,t){const i=e.type;if(t&&"event"in e){const r=e.event;r instanceof Event&&(e.eventPath=r.composedPath())}const s=(r,l)=>r.forEach(a=>{if(!l.has(a))return;const h=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming(()=>a(e)):()=>a(e);t?this.dispatchAsync(h):h()}),o=this.getListeners(i,t,!1)??new Set,n=new Set(o);n.size>0&&s(n,o),new Set(t?this.globalAsyncListeners:this.globalSyncListeners).forEach(r=>{const l=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming(()=>r(i,e)):()=>r(i,e);t?this.dispatchAsync(l):l()})}dispatchAsync(e){if(this.asyncFunctionsQueue.push(e),!this.scheduled){const t=()=>{window.setTimeout(this.flushAsyncQueue.bind(this),0)};this.frameworkOverrides?this.frameworkOverrides.wrapIncoming(t):t(),this.scheduled=!0}}flushAsyncQueue(){this.scheduled=!1;const e=this.asyncFunctionsQueue.slice();this.asyncFunctionsQueue=[],e.forEach(t=>t())}},Oo=(e=>(e.CommunityCoreModule="@ag-grid-community/core",e.InfiniteRowModelModule="@ag-grid-community/infinite-row-model",e.ClientSideRowModelModule="@ag-grid-community/client-side-row-model",e.CsvExportModule="@ag-grid-community/csv-export",e.EnterpriseCoreModule="@ag-grid-enterprise/core",e.RowGroupingModule="@ag-grid-enterprise/row-grouping",e.ColumnsToolPanelModule="@ag-grid-enterprise/column-tool-panel",e.FiltersToolPanelModule="@ag-grid-enterprise/filter-tool-panel",e.MenuModule="@ag-grid-enterprise/menu",e.SetFilterModule="@ag-grid-enterprise/set-filter",e.MultiFilterModule="@ag-grid-enterprise/multi-filter",e.StatusBarModule="@ag-grid-enterprise/status-bar",e.SideBarModule="@ag-grid-enterprise/side-bar",e.RangeSelectionModule="@ag-grid-enterprise/range-selection",e.MasterDetailModule="@ag-grid-enterprise/master-detail",e.RichSelectModule="@ag-grid-enterprise/rich-select",e.GridChartsModule="@ag-grid-enterprise/charts",e.ViewportRowModelModule="@ag-grid-enterprise/viewport-row-model",e.ServerSideRowModelModule="@ag-grid-enterprise/server-side-row-model",e.ExcelExportModule="@ag-grid-enterprise/excel-export",e.ClipboardModule="@ag-grid-enterprise/clipboard",e.SparklinesModule="@ag-grid-enterprise/sparklines",e.AdvancedFilterModule="@ag-grid-enterprise/advanced-filter",e.AngularModule="@ag-grid-community/angular",e.ReactModule="@ag-grid-community/react",e.VueModule="@ag-grid-community/vue",e))(Oo||{}),Go={};function as(e,t){Go[t]||(e(),Go[t]=!0)}function He(e,...t){console.log("AG Grid: "+e,...t)}function R(e,...t){as(()=>console.warn("AG Grid: "+e,...t),e+(t==null?void 0:t.join("")))}function Q(e,...t){as(()=>console.error("AG Grid: "+e,...t),e+(t==null?void 0:t.join("")))}function hs(e){return!!(e&&e.constructor&&e.call&&e.apply)}function Rl(e){(function(t,i=0){t.length>0&&window.setTimeout(()=>t.forEach(s=>s()),i)})(e,400)}var ds=[],cs=!1;function No(e){ds.push(e),cs||(cs=!0,window.setTimeout(()=>{const t=ds.slice();ds.length=0,cs=!1,t.forEach(i=>i())},0))}function Se(e,t){let i;return function(...s){const o=this;window.clearTimeout(i),i=window.setTimeout(function(){e.apply(o,s)},t)}}function Ho(e,t){let i=0;return function(...s){const o=new Date().getTime();o-i<t||(i=o,e.apply(this,s))}}function Je(e){return e==null||e===""?null:e}function M(e,t=!1){return e!=null&&(e!==""||t)}function K(e){return!M(e)}function Me(e){return e==null||e.length===0}function us(e){return e!=null&&typeof e.toString=="function"?e.toString():null}function ft(e){if(e===void 0)return;if(e===null||e==="")return null;if(typeof e=="number")return isNaN(e)?void 0:e;const t=parseInt(e,10);return isNaN(t)?void 0:t}function gs(e){if(e!==void 0)return e!==null&&e!==""&&ps(e)}function ps(e){return typeof e=="boolean"?e:typeof e=="string"&&(e.toUpperCase()==="TRUE"||e=="")}function ii(e,t){return(e?JSON.stringify(e):null)===(t?JSON.stringify(t):null)}function Fl(e,t,i=!1){const s=e==null,o=t==null;if(e&&e.toNumber&&(e=e.toNumber()),t&&t.toNumber&&(t=t.toNumber()),s&&o)return 0;if(s)return-1;if(o)return 1;function n(r,l){return r>l?1:r<l?-1:0}if(typeof e!="string"||!i)return n(e,t);try{return e.localeCompare(t)}catch{return n(e,t)}}function Mi(e){if(e instanceof Set||e instanceof Map){const t=[];return e.forEach(i=>t.push(i)),t}return Object.values(e)}function Bo(e,t){return e.get("rowModelType")===t}function ie(e){return Bo(e,"clientSide")}function Ke(e){return Bo(e,"serverSide")}function Ce(e,t){return e.get("domLayout")===t}function xi(e){return ki(e)!==void 0}function Ai(e){return!e.get("suppressAsyncEvents")}function Vo(e){return typeof e.get("getRowHeight")=="function"}function lt(e,t,i=!1,s){if(s==null&&(s=e.environment.getDefaultRowHeight()),Vo(e)){if(i)return{height:s,estimated:!0};const n={node:t,data:t.data},r=e.getCallback("getRowHeight")(n);if(ms(r))return r===0&&R("The return of `getRowHeight` cannot be zero. If the intention is to hide rows, use a filter instead."),{height:Math.max(1,r),estimated:!1}}if(t.detail&&e.get("masterDetail"))return function(n){if(n.get("detailRowAutoHeight"))return{height:1,estimated:!1};const r=n.get("detailRowHeight");return ms(r)?{height:r,estimated:!1}:{height:300,estimated:!1}}(e);const o=e.get("rowHeight");return{height:o&&ms(o)?o:s,estimated:!1}}function vt(e){const{environment:t}=e,i=e.get("rowHeight");if(!i||K(i))return t.getDefaultRowHeight();const s=t.refreshRowHeightVariable();return s!==-1?s:(R("row height must be a number if not using standard row model"),t.getDefaultRowHeight())}function ms(e){return!isNaN(e)&&typeof e=="number"&&isFinite(e)}function si(e,t,i){const s=t[e.getDomDataKey()];return s?s[i]:void 0}function wt(e,t,i,s){const o=e.getDomDataKey();let n=t[o];K(n)&&(n={},t[o]=n),n[i]=s}function ae(e){let t=null;const i=e.get("getDocument");return i&&M(i)?t=i():e.eGridDiv&&(t=e.eGridDiv.ownerDocument),t&&M(t)?t:document}function Wo(e){return ae(e).defaultView||window}function oi(e){return e.eGridDiv.getRootNode()}function re(e){return oi(e).activeElement}function zo(e){const t=ae(e),i=re(e);return i===null||i===t.body}function Gt(e){return!e.get("ensureDomOrder")&&e.get("animateRows")}function Ti(e){return!(e.get("paginateChildRows")||e.get("groupHideOpenParents")||Ce(e,"print"))}function $e(e){const t=e.get("autoGroupColumnDef");return!(t!=null&&t.comparator)&&!e.get("treeData")}function Cs(e){const t=e.get("groupAggFiltering");return typeof t=="function"?e.getCallback("groupAggFiltering"):t===!0?()=>!0:void 0}function Uo(e){const t=e.get("grandTotalRow");return t||(e.get("groupIncludeTotalFooter")?"bottom":void 0)}function Ko(e){const t=e.get("groupTotalRow");if(typeof t=="function")return e.getCallback("groupTotalRow");if(t)return()=>t;const i=e.get("groupIncludeFooter");if(typeof i=="function"){const s=e.getCallback("groupIncludeFooter");return o=>s(o)?"bottom":void 0}return()=>i?"bottom":void 0}function $o(e){return e.exists("groupDisplayType")?e.get("groupDisplayType")==="multipleColumns":e.get("groupHideOpenParents")}function Ii(e,t){return!t&&e.get("groupDisplayType")==="groupRows"}function Nt(e){const t=e.getCallback("getRowId");return t===void 0?t:i=>{let s=t(i);return typeof s!="string"&&(R("The getRowId callback must return a string. The ID ",s," is being cast to a string."),s=String(s)),s}}function Ht(e){return(e==null?void 0:e.checkboxes)??!0}function Li(e){return(e==null?void 0:e.mode)==="multiRow"&&(e.headerCheckbox??!0)}function Ze(e){const t=e.get("cellSelection");return t!==void 0?!!t:e.get("enableRangeSelection")}function _o(e){var i;const t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"&&((i=t.handle)==null?void 0:i.mode)==="fill":e.get("enableFillHandle")}function jo(e){const t=e.get("rowSelection")??"single";if(typeof t=="string"){const i=e.get("suppressRowClickSelection"),s=e.get("suppressRowDeselection");return(!i||!s)&&(i?"enableDeselection":!s||"enableSelection")}return(t.mode==="singleRow"||t.mode==="multiRow")&&(t.enableClickSelection??!1)}function qo(e){const t=jo(e);return t===!0||t==="enableDeselection"}function fs(e){const t=e.get("rowSelection");return typeof t=="string"?e.get("isRowSelectable"):t==null?void 0:t.isRowSelectable}function ki(e){const t=e.get("rowSelection");if(typeof t=="string")switch(t){case"multiple":return"multiRow";case"single":return"singleRow";default:return}return t==null?void 0:t.mode}function Qo(e){return ki(e)==="multiRow"}function vs(e){const t=e.get("rowSelection");if(typeof t=="string"){const i=e.get("groupSelectsChildren"),s=e.get("groupSelectsFiltered");return i&&s?"filteredDescendants":i?"descendants":"self"}return(t==null?void 0:t.mode)==="multiRow"?t.groupSelects:void 0}function St(e){const t=vs(e);return t==="descendants"||t==="filteredDescendants"}function ws(e){return e.isModuleRegistered("@ag-grid-enterprise/set-filter")&&!e.get("suppressSetFilterByDefault")}function $(e){if(e&&e.length)return e[e.length-1]}function at(e,t,i){return e==null&&t==null||e!=null&&t!=null&&e.length===t.length&&e.every((s,o)=>i?i(s,t[o]):t[o]===s)}function Yo(e,t){const i=e.indexOf(t);i>=0&&(e[i]=e[e.length-1],e.pop())}function ye(e,t){const i=e.indexOf(t);i>=0&&e.splice(i,1)}function Oi(e,t,i){e.splice(i,0,t)}function Xo(e,t,i){(function(s,o){for(let n=0;n<o.length;n++)ye(s,o[n])})(e,t),t.slice().reverse().forEach(s=>Oi(e,s,i))}function yt(e,t){return e.indexOf(t)>-1}function Jo(e,t){t!=null&&e!=null&&t.forEach(i=>e.push(i))}var Zo="__ag_Grid_Stop_Propagation",Pl=["touchstart","touchend","touchmove","touchcancel","scroll"],Ss={};function Bt(e){e[Zo]=!0}function et(e){return e[Zo]===!0}var en=(()=>{const e={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return t=>{if(typeof Ss[t]=="boolean")return Ss[t];const i=document.createElement(e[t]||"div");return Ss[t="on"+t]=t in i}})();function ys(e,t,i){let s=t;for(;s;){const o=si(e,s,i);if(o)return o;s=s.parentElement}return null}function Dl(e,t){return!(!t||!e)&&function(i){const s=i;return s.path?s.path:s.composedPath?s.composedPath():function(o){const n=[];let r=o.target;for(;r;)n.push(r),r=r.parentElement;return n}(s)}(t).indexOf(e)>=0}var b=class{constructor(){this.destroyFunctions=[],this.destroyed=!1,this.__v_skip=!0,this.propertyListenerId=0,this.lastChangeSetIdLookup={},this.isAlive=()=>!this.destroyed}preWireBeans(e){this.frameworkOverrides=e.frameworkOverrides,this.stubContext=e.context,this.eventService=e.eventService,this.gos=e.gos,this.localeService=e.localeService}getFrameworkOverrides(){return this.frameworkOverrides}destroy(){for(let e=0;e<this.destroyFunctions.length;e++)this.destroyFunctions[e]();this.destroyFunctions.length=0,this.destroyed=!0,this.dispatchLocalEvent({type:"destroyed"})}addEventListener(e,t,i){this.localEventService||(this.localEventService=new Ot),this.localEventService.addEventListener(e,t,i)}removeEventListener(e,t,i){this.localEventService&&this.localEventService.removeEventListener(e,t,i)}dispatchLocalEvent(e){this.localEventService&&this.localEventService.dispatchEvent(e)}addManagedElementListeners(e,t){return this._setupListeners(e,t)}addManagedEventListeners(e){return this._setupListeners(this.eventService,e)}addManagedListeners(e,t){return this._setupListeners(e,t)}_setupListeners(e,t){const i=[];for(const s in t){const o=t[s];o&&i.push(this._setupListener(e,s,o))}return i}_setupListener(e,t,i){if(this.destroyed)return()=>null;e instanceof HTMLElement?function(o,n,r,l){const a=yt(Pl,r)?{passive:!0}:void 0;o&&o.addEventListener&&o.addEventListener(n,r,l,a)}(this.getFrameworkOverrides(),e,t,i):e.addEventListener(t,i);const s=()=>(e.removeEventListener(t,i),null);return this.destroyFunctions.push(s),()=>(s(),this.destroyFunctions=this.destroyFunctions.filter(o=>o!==s),null)}setupGridOptionListener(e,t){this.gos.addPropertyEventListener(e,t);const i=()=>(this.gos.removePropertyEventListener(e,t),null);return this.destroyFunctions.push(i),()=>(i(),this.destroyFunctions=this.destroyFunctions.filter(s=>s!==i),null)}addManagedPropertyListener(e,t){return this.destroyed?()=>null:this.setupGridOptionListener(e,t)}addManagedPropertyListeners(e,t){if(this.destroyed)return;const i=e.join("-")+this.propertyListenerId++,s=o=>{if(o.changeSet){if(o.changeSet&&o.changeSet.id===this.lastChangeSetIdLookup[i])return;this.lastChangeSetIdLookup[i]=o.changeSet.id}const n={type:"gridPropertyChanged",changeSet:o.changeSet,source:o.source};t(n)};e.forEach(o=>this.setupGridOptionListener(o,s))}addDestroyFunc(e){this.isAlive()?this.destroyFunctions.push(e):e()}createManagedBean(e,t){const i=this.createBean(e,t);return this.addDestroyFunc(this.destroyBean.bind(this,e,t)),i}createBean(e,t,i){return(t||this.stubContext).createBean(e,i)}destroyBean(e,t){return(t||this.stubContext).destroyBean(e)}destroyBeans(e,t){return(t||this.stubContext).destroyBeans(e)}};function be(e){return e instanceof Gi}var Gi=class extends b{constructor(e,t,i,s){super(),this.isColumn=!1,this.expandable=!1,this.instanceId=on(),this.expandableListenerRemoveCallback=null,this.colGroupDef=e,this.groupId=t,this.expanded=!!e&&!!e.openByDefault,this.padding=i,this.level=s}destroy(){this.expandableListenerRemoveCallback&&this.reset(null,void 0),super.destroy()}reset(e,t){this.colGroupDef=e,this.level=t,this.originalParent=null,this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback(),this.children=void 0,this.expandable=void 0}getInstanceId(){return this.instanceId}setOriginalParent(e){this.originalParent=e}getOriginalParent(){return this.originalParent}getLevel(){return this.level}isVisible(){return!!this.children&&this.children.some(e=>e.isVisible())}isPadding(){return this.padding}setExpanded(e){this.expanded=e!==void 0&&e,this.dispatchLocalEvent({type:"expandedChanged"})}isExpandable(){return this.expandable}isExpanded(){return this.expanded}getGroupId(){return this.groupId}getId(){return this.getGroupId()}setChildren(e){this.children=e}getChildren(){return this.children}getColGroupDef(){return this.colGroupDef}getLeafColumns(){const e=[];return this.addLeafColumns(e),e}addLeafColumns(e){this.children&&this.children.forEach(t=>{dt(t)?e.push(t):be(t)&&t.addLeafColumns(e)})}getColumnGroupShow(){const e=this.colGroupDef;if(e)return e.columnGroupShow}setupExpandable(){this.setExpandable(),this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback();const e=this.onColumnVisibilityChanged.bind(this);this.getLeafColumns().forEach(t=>t.addEventListener("visibleChanged",e)),this.expandableListenerRemoveCallback=()=>{this.getLeafColumns().forEach(t=>t.removeEventListener("visibleChanged",e)),this.expandableListenerRemoveCallback=null}}setExpandable(){if(this.isPadding())return;let e=!1,t=!1,i=!1;const s=this.findChildrenRemovingPadding();for(let n=0,r=s.length;n<r;n++){const l=s[n];if(!l.isVisible())continue;const a=l.getColumnGroupShow();a==="open"?(e=!0,i=!0):a==="closed"?(t=!0,i=!0):(e=!0,t=!0)}const o=e&&t&&i;this.expandable!==o&&(this.expandable=o,this.dispatchLocalEvent({type:"expandableChanged"}))}findChildrenRemovingPadding(){const e=[],t=i=>{i.forEach(s=>{be(s)&&s.isPadding()?t(s.children):e.push(s)})};return t(this.children),e}onColumnVisibilityChanged(){this.setExpandable()}},tn="ag-Grid-ControlsColumn",El=class extends b{constructor(){super(...arguments),this.beanName="controlsColService"}createControlsCols(){const{gos:e}=this,t=e.get("rowSelection");if(!t||typeof t!="object")return[];const i=Ht(t),s=Li(t);if(i||s){const o=e.get("selectionColumnDef"),n={maxWidth:50,resizable:!1,suppressHeaderMenuButton:!0,sortable:!1,suppressMovable:!0,lockPosition:e.get("enableRtl")?"right":"left",comparator(l,a,h,d){const c=h.isSelected(),u=d.isSelected();return c&&u?0:c?1:-1},editable:!1,suppressFillHandle:!0,...o,colId:`${tn}`},r=new xs(n,null,n.colId,!1);return this.createBean(r),[r]}return[]}},Ni="ag-Grid-AutoColumn";function bs(e){const t=[],i=s=>{for(let o=0;o<s.length;o++){const n=s[o];dt(n)?t.push(n):be(n)&&i(n.getChildren())}};return i(e),t}function tt(e){return e.reduce((t,i)=>t+i.getActualWidth(),0)}function ht(e,t,i){const s={};if(!t)return;it(null,t,n=>{s[n.getInstanceId()]=n}),i&&it(null,i,n=>{s[n.getInstanceId()]=null});const o=Object.values(s).filter(n=>n!=null);e.destroyBeans(o)}function Rs(e){return e.getId().startsWith(Ni)}function ni(e){return e.getColId().startsWith(tn)}function Hi(e){let t=[];return e instanceof Array?e.some(i=>typeof i!="string")?R("if colDef.type is supplied an array it should be of type 'string[]'"):t=e:typeof e=="string"?t=e.split(","):R("colDef.type should be of type 'string' | 'string[]'"),t}var Fs=class{constructor(e){this.frameworkOverrides=e,this.wrappedListeners=new Map,this.wrappedGlobalListeners=new Map}wrap(e,t){const{frameworkOverrides:i,wrappedListeners:s}=this;let o=t;if(i.shouldWrapOutgoing){o=r=>{i.wrapOutgoing(()=>t(r))};let n=s.get(e);n||(n=new Map,s.set(e,n)),n.set(t,o)}return o}wrapGlobal(e){const{frameworkOverrides:t,wrappedGlobalListeners:i}=this;let s=e;return t.shouldWrapOutgoing&&(s=(o,n)=>{t.wrapOutgoing(()=>e(o,n))},i.set(e,s)),s}unwrap(e,t){const{wrappedListeners:i}=this,s=i.get(e);if(s){const o=s.get(t);if(o)return s.delete(t),s.size===0&&i.delete(e),o}return t}unwrapGlobal(e){const{wrappedGlobalListeners:t}=this,i=t.get(e);return i?(t.delete(e),i):e}},Ps=new Set(["__proto__","constructor","prototype"]);function Be(e,t){if(e!=null)if(Array.isArray(e))for(let i=0;i<e.length;i++)t(i.toString(),e[i]);else for(const[i,s]of Object.entries(e))t(i,s)}function sn(e){const t={},i=Object.keys(e);for(let s=0;s<i.length;s++){if(Ps.has(i[s]))continue;const o=i[s],n=e[o];t[o]=n}return t}function Ds(e,t){if(!e)return;const i=e,s={};return Object.keys(i).forEach(o=>{if(t&&t.indexOf(o)>=0||Ps.has(o))return;const n=i[o],r=Ms(n)&&n.constructor===Object;s[o]=r?Ds(n):n}),s}function Es(e){if(!e)return[];const t=Object;if(typeof t.values=="function")return t.values(e);const i=[];for(const s in e)e.hasOwnProperty(s)&&e.propertyIsEnumerable(s)&&i.push(e[s]);return i}function Re(e,t,i=!0,s=!1){M(t)&&Be(t,(o,n)=>{if(Ps.has(o))return;let r=e[o];r!==n&&(s&&r==null&&n!=null&&typeof n=="object"&&n.constructor===Object&&(r={},e[o]=r),Ms(n)&&Ms(r)&&!Array.isArray(r)?Re(r,n,i,s):(i||n!==void 0)&&(e[o]=n))})}function ri(e,t,i){if(!t||!e)return;if(!i)return e[t];const s=t.split(".");let o=e;for(let n=0;n<s.length;n++){if(o==null)return;o=o[s[n]]}return o}function Ms(e){return typeof e=="object"&&e!==null}var Ml={resizable:!0,sortable:!0},xl=0;function on(){return xl++}function dt(e){return e instanceof xs}var xs=class extends b{constructor(e,t,i,s){super(),this.isColumn=!0,this.instanceId=on(),this.autoHeaderHeight=null,this.moving=!1,this.menuVisible=!1,this.lastLeftPinned=!1,this.firstRightPinned=!1,this.filterActive=!1,this.columnEventService=new Ot,this.tooltipEnabled=!1,this.rowGroupActive=!1,this.pivotActive=!1,this.aggregationActive=!1,this.colDef=e,this.userProvidedColDef=t,this.colId=i,this.primary=s,this.setState(e)}wireBeans(e){this.columnHoverService=e.columnHoverService}getInstanceId(){return this.instanceId}setState(e){e.sort!==void 0?e.sort!=="asc"&&e.sort!=="desc"||(this.sort=e.sort):e.initialSort!=="asc"&&e.initialSort!=="desc"||(this.sort=e.initialSort);const t=e.sortIndex,i=e.initialSortIndex;t!==void 0?t!==null&&(this.sortIndex=t):i!==null&&(this.sortIndex=i);const s=e.hide,o=e.initialHide;this.visible=s!==void 0?!s:!o,e.pinned!==void 0?this.setPinned(e.pinned):this.setPinned(e.initialPinned);const n=e.flex,r=e.initialFlex;n!==void 0?this.flex=n:r!==void 0&&(this.flex=r)}setColDef(e,t,i){this.colDef=e,this.userProvidedColDef=t,this.initMinAndMaxWidths(),this.initDotNotation(),this.initTooltip(),this.columnEventService.dispatchEvent(this.createColumnEvent("colDefChanged",i))}getUserProvidedColDef(){return this.userProvidedColDef}setParent(e){this.parent=e}getParent(){return this.parent}setOriginalParent(e){this.originalParent=e}getOriginalParent(){return this.originalParent}postConstruct(){this.initMinAndMaxWidths(),this.resetActualWidth("gridInitializing"),this.initDotNotation(),this.initTooltip()}initDotNotation(){const e=this.gos.get("suppressFieldDotNotation");this.fieldContainsDots=M(this.colDef.field)&&this.colDef.field.indexOf(".")>=0&&!e,this.tooltipFieldContainsDots=M(this.colDef.tooltipField)&&this.colDef.tooltipField.indexOf(".")>=0&&!e}initMinAndMaxWidths(){const e=this.colDef;this.minWidth=e.minWidth??this.gos.environment.getDefaultColumnMinWidth(),this.maxWidth=e.maxWidth??Number.MAX_SAFE_INTEGER}initTooltip(){this.tooltipEnabled=M(this.colDef.tooltipField)||M(this.colDef.tooltipValueGetter)||M(this.colDef.tooltipComponent)}resetActualWidth(e){const t=this.calculateColInitialWidth(this.colDef);this.setActualWidth(t,e,!0)}calculateColInitialWidth(e){let t;const i=ft(e.width),s=ft(e.initialWidth);return t=i??s??200,Math.max(Math.min(t,this.maxWidth),this.minWidth)}isEmptyGroup(){return!1}isRowGroupDisplayed(e){if(K(this.colDef)||K(this.colDef.showRowGroup))return!1;const t=this.colDef.showRowGroup===!0,i=this.colDef.showRowGroup===e;return t||i}isPrimary(){return this.primary}isFilterAllowed(){return!!this.colDef.filter}isFieldContainsDots(){return this.fieldContainsDots}isTooltipEnabled(){return this.tooltipEnabled}isTooltipFieldContainsDots(){return this.tooltipFieldContainsDots}getHighlighted(){return this.highlighted}addEventListener(e,t){var s;this.frameworkOverrides.shouldWrapOutgoing&&!this.frameworkEventListenerService&&(this.columnEventService.setFrameworkOverrides(this.frameworkOverrides),this.frameworkEventListenerService=new Fs(this.frameworkOverrides));const i=((s=this.frameworkEventListenerService)==null?void 0:s.wrap(e,t))??t;this.columnEventService.addEventListener(e,i)}removeEventListener(e,t){var s;const i=((s=this.frameworkEventListenerService)==null?void 0:s.unwrap(e,t))??t;this.columnEventService.removeEventListener(e,i)}createColumnFunctionCallbackParams(e){return this.gos.addGridCommonParams({node:e,data:e.data,column:this,colDef:this.colDef})}isSuppressNavigable(e){if(typeof this.colDef.suppressNavigable=="boolean")return this.colDef.suppressNavigable;if(typeof this.colDef.suppressNavigable=="function"){const t=this.createColumnFunctionCallbackParams(e);return(0,this.colDef.suppressNavigable)(t)}return!1}isCellEditable(e){if(e.group){if(this.gos.get("treeData")){if(!e.data&&!this.gos.get("enableGroupEdit"))return!1}else if(!this.gos.get("enableGroupEdit"))return!1}return this.isColumnFunc(e,this.colDef.editable)}isSuppressFillHandle(){return!!this.colDef.suppressFillHandle}isAutoHeight(){return!!this.colDef.autoHeight}isAutoHeaderHeight(){return!!this.colDef.autoHeaderHeight}isRowDrag(e){return this.isColumnFunc(e,this.colDef.rowDrag)}isDndSource(e){return this.isColumnFunc(e,this.colDef.dndSource)}isCellCheckboxSelection(e){const t=this.gos.get("rowSelection");if(t&&typeof t!="string"){const i=ni(this)&&Ht(t);return this.isColumnFunc(e,i)}return this.isColumnFunc(e,this.colDef.checkboxSelection)}isSuppressPaste(e){return this.isColumnFunc(e,this.colDef?this.colDef.suppressPaste:null)}isResizable(){return!!this.getColDefValue("resizable")}getColDefValue(e){return this.colDef[e]??Ml[e]}isColumnFunc(e,t){return typeof t=="boolean"?t:typeof t=="function"?t(this.createColumnFunctionCallbackParams(e)):!1}setHighlighted(e){this.highlighted!==e&&(this.highlighted=e,this.columnEventService.dispatchEvent(this.createColumnEvent("headerHighlightChanged","uiColumnMoved")))}setMoving(e,t){this.moving=e,this.columnEventService.dispatchEvent(this.createColumnEvent("movingChanged",t))}createColumnEvent(e,t){return this.gos.addGridCommonParams({type:e,column:this,columns:[this],source:t})}isMoving(){return this.moving}getSort(){return this.sort}setSort(e,t){this.sort!==e&&(this.sort=e,this.columnEventService.dispatchEvent(this.createColumnEvent("sortChanged",t))),this.dispatchStateUpdatedEvent("sort")}isSortable(){return!!this.getColDefValue("sortable")}isSortAscending(){return this.sort==="asc"}isSortDescending(){return this.sort==="desc"}isSortNone(){return K(this.sort)}isSorting(){return M(this.sort)}getSortIndex(){return this.sortIndex}setSortIndex(e){this.sortIndex=e,this.dispatchStateUpdatedEvent("sortIndex")}setMenuVisible(e,t){this.menuVisible!==e&&(this.menuVisible=e,this.columnEventService.dispatchEvent(this.createColumnEvent("menuVisibleChanged",t)))}isMenuVisible(){return this.menuVisible}setAggFunc(e){this.aggFunc=e,this.dispatchStateUpdatedEvent("aggFunc")}getAggFunc(){return this.aggFunc}getLeft(){return this.left}getOldLeft(){return this.oldLeft}getRight(){return this.left+this.actualWidth}setLeft(e,t){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.columnEventService.dispatchEvent(this.createColumnEvent("leftChanged",t)))}isFilterActive(){return this.filterActive}setFilterActive(e,t,i){this.filterActive!==e&&(this.filterActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("filterActiveChanged",t)));const s=this.createColumnEvent("filterChanged",t);i&&Re(s,i),this.columnEventService.dispatchEvent(s)}isHovered(){return this.columnHoverService.isHovered(this)}setPinned(e){this.pinned=e===!0||e==="left"?"left":e==="right"?"right":null,this.dispatchStateUpdatedEvent("pinned")}setFirstRightPinned(e,t){this.firstRightPinned!==e&&(this.firstRightPinned=e,this.columnEventService.dispatchEvent(this.createColumnEvent("firstRightPinnedChanged",t)))}setLastLeftPinned(e,t){this.lastLeftPinned!==e&&(this.lastLeftPinned=e,this.columnEventService.dispatchEvent(this.createColumnEvent("lastLeftPinnedChanged",t)))}isFirstRightPinned(){return this.firstRightPinned}isLastLeftPinned(){return this.lastLeftPinned}isPinned(){return this.pinned==="left"||this.pinned==="right"}isPinnedLeft(){return this.pinned==="left"}isPinnedRight(){return this.pinned==="right"}getPinned(){return this.pinned}setVisible(e,t){const i=e===!0;this.visible!==i&&(this.visible=i,this.columnEventService.dispatchEvent(this.createColumnEvent("visibleChanged",t))),this.dispatchStateUpdatedEvent("hide")}isVisible(){return this.visible}isSpanHeaderHeight(){return!this.getColDef().suppressSpanHeaderHeight}getColumnGroupPaddingInfo(){let e=this.getParent();if(!e||!e.isPadding())return{numberOfParents:0,isSpanningTotal:!1};const t=e.getPaddingLevel()+1;let i=!0;for(;e;){if(!e.isPadding()){i=!1;break}e=e.getParent()}return{numberOfParents:t,isSpanningTotal:i}}getColDef(){return this.colDef}getDefinition(){return this.colDef}getColumnGroupShow(){return this.colDef.columnGroupShow}getColId(){return this.colId}getId(){return this.colId}getUniqueId(){return this.colId}getActualWidth(){return this.actualWidth}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){const t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}createBaseColDefParams(e){return this.gos.addGridCommonParams({node:e,data:e.data,colDef:this.colDef,column:this})}getColSpan(e){if(K(this.colDef.colSpan))return 1;const t=this.createBaseColDefParams(e),i=this.colDef.colSpan(t);return Math.max(i,1)}getRowSpan(e){if(K(this.colDef.rowSpan))return 1;const t=this.createBaseColDefParams(e),i=this.colDef.rowSpan(t);return Math.max(i,1)}setActualWidth(e,t,i=!1){e=Math.max(e,this.minWidth),e=Math.min(e,this.maxWidth),this.actualWidth!==e&&(this.actualWidth=e,this.flex&&t!=="flex"&&t!=="gridInitializing"&&(this.flex=null),i||this.fireColumnWidthChangedEvent(t)),this.dispatchStateUpdatedEvent("width")}fireColumnWidthChangedEvent(e){this.columnEventService.dispatchEvent(this.createColumnEvent("widthChanged",e))}isGreaterThanMax(e){return e>this.maxWidth}getMinWidth(){return this.minWidth}getMaxWidth(){return this.maxWidth}getFlex(){return this.flex||0}setFlex(e){this.flex!==e&&(this.flex=e),this.dispatchStateUpdatedEvent("flex")}setMinimum(e){this.setActualWidth(this.minWidth,e)}setRowGroupActive(e,t){this.rowGroupActive!==e&&(this.rowGroupActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnRowGroupChanged",t))),this.dispatchStateUpdatedEvent("rowGroup")}isRowGroupActive(){return this.rowGroupActive}setPivotActive(e,t){this.pivotActive!==e&&(this.pivotActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnPivotChanged",t))),this.dispatchStateUpdatedEvent("pivot")}isPivotActive(){return this.pivotActive}isAnyFunctionActive(){return this.isPivotActive()||this.isRowGroupActive()||this.isValueActive()}isAnyFunctionAllowed(){return this.isAllowPivot()||this.isAllowRowGroup()||this.isAllowValue()}setValueActive(e,t){this.aggregationActive!==e&&(this.aggregationActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnValueChanged",t)))}isValueActive(){return this.aggregationActive}isAllowPivot(){return this.colDef.enablePivot===!0}isAllowValue(){return this.colDef.enableValue===!0}isAllowRowGroup(){return this.colDef.enableRowGroup===!0}dispatchStateUpdatedEvent(e){this.columnEventService.dispatchEvent({type:"columnStateUpdated",key:e})}},Al={numericColumn:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"},rightAligned:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"}},Tl=class{constructor(){this.existingKeys={}}addExistingKeys(e){for(let t=0;t<e.length;t++)this.existingKeys[e[t]]=!0}getUniqueKey(e,t){e=us(e);let i=0;for(;;){let s;if(e?(s=e,i!==0&&(s+="_"+i)):t?(s=t,i!==0&&(s+="_"+i)):s=i,!this.existingKeys[s])return this.existingKeys[s]=!0,String(s);i++}}},Il=class extends b{constructor(){super(...arguments),this.beanName="columnFactory"}wireBeans(e){this.dataTypeService=e.dataTypeService}createColumnTree(e,t,i,s){const o=new Tl,{existingCols:n,existingGroups:r,existingColKeys:l}=this.extractExistingTreeData(i);o.addExistingKeys(l);const a=this.recursivelyCreateColumns(e,0,t,n,o,r,s),h=this.findMaxDept(a,0),d=this.balanceColumnTree(a,0,h,o);return it(null,d,(c,u)=>{be(c)&&c.setupExpandable(),c.setOriginalParent(u)}),{columnTree:d,treeDept:h}}extractExistingTreeData(e){const t=[],i=[],s=[];return e&&it(null,e,o=>{if(be(o)){const n=o;i.push(n)}else{const n=o;s.push(n.getId()),t.push(n)}}),{existingCols:t,existingGroups:i,existingColKeys:s}}balanceTreeForAutoCols(e,t){const i=[],s=this.findDepth(t);return e.forEach(o=>{let n=o;for(let r=s-1;r>=0;r--){const l=new Gi(null,`FAKE_PATH_${o.getId()}}_${r}`,!0,r);this.createBean(l),l.setChildren([n]),n.setOriginalParent(l),n=l}s===0&&o.setOriginalParent(null),i.push(n)}),[i,s]}findDepth(e){let t=0,i=e;for(;i&&i[0]&&be(i[0]);)t++,i=i[0].getChildren();return t}balanceColumnTree(e,t,i,s){const o=[];for(let n=0;n<e.length;n++){const r=e[n];if(be(r)){const l=r,a=this.balanceColumnTree(l.getChildren(),t+1,i,s);l.setChildren(a),o.push(l)}else{let l,a;for(let h=i-1;h>=t;h--){const d=s.getUniqueKey(null,null),c=this.createMergedColGroupDef(null),u=new Gi(c,d,!0,t);this.createBean(u),a&&a.setChildren([u]),a=u,l||(l=a)}if(l&&a){if(o.push(l),e.some(h=>be(h))){a.setChildren([r]);continue}a.setChildren(e);break}o.push(r)}}return o}findMaxDept(e,t){let i=t;for(let s=0;s<e.length;s++){const o=e[s];if(be(o)){const n=o,r=this.findMaxDept(n.getChildren(),t+1);i<r&&(i=r)}}return i}recursivelyCreateColumns(e,t,i,s,o,n,r){if(!e)return[];const l=new Array(e.length);for(let a=0;a<l.length;a++){const h=e[a];this.isColumnGroup(h)?l[a]=this.createColumnGroup(i,h,t,s,o,n,r):l[a]=this.createColumn(i,h,s,o,r)}return l}createColumnGroup(e,t,i,s,o,n,r){const l=this.createMergedColGroupDef(t),a=o.getUniqueKey(l.groupId||null,null),h=new Gi(l,a,!1,i);this.createBean(h);const d=this.findExistingGroup(t,n);d&&n.splice(d.idx,1);const c=d==null?void 0:d.group;c&&h.setExpanded(c.isExpanded());const u=this.recursivelyCreateColumns(l.children,i+1,e,s,o,n,r);return h.setChildren(u),h}createMergedColGroupDef(e){const t={};return Object.assign(t,this.gos.get("defaultColGroupDef")),Object.assign(t,e),t}createColumn(e,t,i,s,o){var l;const n=this.findExistingColumn(t,i);n&&(i==null||i.splice(n.idx,1));let r=n==null?void 0:n.column;if(r){const a=this.addColumnDefaultAndTypes(t,r.getColId());r.setColDef(a,t,o),this.applyColumnState(r,a,o)}else{const a=s.getUniqueKey(t.colId,t.field),h=this.addColumnDefaultAndTypes(t,a);r=new xs(h,t,a,e),this.createBean(r)}return(l=this.dataTypeService)==null||l.addColumnListeners(r),r}applyColumnState(e,t,i){const s=ft(t.flex);if(s!==void 0&&e.setFlex(s),e.getFlex()<=0){const r=ft(t.width);if(r!=null)e.setActualWidth(r,i);else{const l=e.getActualWidth();e.setActualWidth(l,i)}}t.sort!==void 0&&(t.sort=="asc"||t.sort=="desc"?e.setSort(t.sort,i):e.setSort(void 0,i));const o=ft(t.sortIndex);o!==void 0&&e.setSortIndex(o);const n=gs(t.hide);n!==void 0&&e.setVisible(!n,i),t.pinned!==void 0&&e.setPinned(t.pinned)}findExistingColumn(e,t){if(t)for(let i=0;i<t.length;i++){const s=t[i].getUserProvidedColDef();if(s){if(e.colId!=null){if(t[i].getId()===e.colId)return{idx:i,column:t[i]};continue}if(e.field!=null){if(s.field===e.field)return{idx:i,column:t[i]}}else if(s===e)return{idx:i,column:t[i]}}}}findExistingGroup(e,t){if(e.groupId!=null)for(let i=0;i<t.length;i++){const s=t[i];if(s.getColGroupDef()&&s.getId()===e.groupId)return{idx:i,group:s}}}addColumnDefaultAndTypes(e,t){var r;const i={};Re(i,this.gos.get("defaultColDef"),!1,!0);const s=this.updateColDefAndGetColumnType(i,e,t);s&&this.assignColumnTypes(s,i),Re(i,e,!1,!0);const o=this.gos.get("autoGroupColumnDef"),n=$e(this.gos);return e.rowGroup&&o&&n&&Re(i,{sort:o.sort,initialSort:o.initialSort},!1,!0),(r=this.dataTypeService)==null||r.validateColDef(i),i}updateColDefAndGetColumnType(e,t,i){var n;const s=(n=this.dataTypeService)==null?void 0:n.updateColDefAndGetColumnType(e,t,i),o=t.type??s??e.type;return e.type=o,o?Hi(o):void 0}assignColumnTypes(e,t){if(!e.length)return;const i=Object.assign({},Al);Be(this.gos.get("columnTypes")||{},(s,o)=>{s in i?R(`the column type '${s}' is a default column type and cannot be overridden.`):(o.type&&R("Column type definitions 'columnTypes' with a 'type' attribute are not supported because a column type cannot refer to another column type. Only column definitions 'columnDefs' can use the 'type' attribute to refer to a column type."),i[s]=o)}),e.forEach(s=>{const o=i[s.trim()];o?Re(t,o,!1,!0):R("colDef.type '"+s+"' does not correspond to defined gridOptions.columnTypes")})}isColumnGroup(e){return e.children!==void 0}};function it(e,t,i){if(t)for(let s=0;s<t.length;s++){const o=t[s];be(o)&&it(o,o.getChildren(),i),i(o,e)}}var Ll=class extends b{constructor(){super(...arguments),this.beanName="columnModel",this.pivotMode=!1,this.autoHeightActiveAtLeastOnce=!1,this.ready=!1,this.changeEventsDispatching=!1,this.shouldQueueResizeOperations=!1,this.resizeOperationQueue=[]}wireBeans(e){this.context=e.context,this.ctrlsService=e.ctrlsService,this.columnFactory=e.columnFactory,this.columnSizeService=e.columnSizeService,this.visibleColsService=e.visibleColsService,this.columnViewportService=e.columnViewportService,this.pivotResultColsService=e.pivotResultColsService,this.columnAnimationService=e.columnAnimationService,this.autoColService=e.autoColService,this.controlsColService=e.controlsColService,this.valueCache=e.valueCache,this.columnDefFactory=e.columnDefFactory,this.columnApplyStateService=e.columnApplyStateService,this.columnGroupStateService=e.columnGroupStateService,this.eventDispatcher=e.columnEventDispatcher,this.columnMoveService=e.columnMoveService,this.columnAutosizeService=e.columnAutosizeService,this.funcColsService=e.funcColsService,this.quickFilterService=e.quickFilterService,this.showRowGroupColsService=e.showRowGroupColsService,this.environment=e.environment}postConstruct(){const e=this.gos.get("pivotMode");this.isPivotSettingAllowed(e)&&(this.pivotMode=e),this.addManagedPropertyListeners(["groupDisplayType","treeData","treeDataDisplayType","groupHideOpenParents"],t=>this.refreshAll(bt(t.source))),this.addManagedPropertyListener("rowSelection",t=>{this.onSelectionOptionsChanged(t.currentValue,t.previousValue,bt(t.source))}),this.addManagedPropertyListener("autoGroupColumnDef",t=>this.onAutoGroupColumnDefChanged(bt(t.source))),this.addManagedPropertyListeners(["defaultColDef","defaultColGroupDef","columnTypes","suppressFieldDotNotation"],t=>this.recreateColumnDefs(bt(t.source))),this.addManagedPropertyListener("pivotMode",t=>this.setPivotMode(this.gos.get("pivotMode"),bt(t.source))),this.addManagedEventListeners({firstDataRendered:()=>this.onFirstDataRendered()})}createColsFromColDefs(e){var h,d,c;const t=this.colDefs?this.columnApplyStateService.compareColumnStatesAndDispatchEvents(e):void 0;this.valueCache.expire();const i=(h=this.colDefCols)==null?void 0:h.list,s=(d=this.colDefCols)==null?void 0:d.tree,o=this.columnFactory.createColumnTree(this.colDefs,!0,s,e);ht(this.context,(c=this.colDefCols)==null?void 0:c.tree,o.columnTree);const n=o.columnTree,r=o.treeDept,l=bs(n),a={};l.forEach(u=>a[u.getId()]=u),this.colDefCols={tree:n,treeDepth:r,list:l,map:a},this.funcColsService.extractCols(e,i),this.ready=!0,this.refreshCols(!0),this.visibleColsService.refresh(e),this.columnViewportService.checkViewportColumns(),this.eventDispatcher.everythingChanged(e),t&&(this.changeEventsDispatching=!0,t(),this.changeEventsDispatching=!1),this.eventDispatcher.newColumnsLoaded(e),e==="gridInitializing"&&this.columnSizeService.applyAutosizeStrategy()}refreshCols(e){var o,n,r;if(!this.colDefCols)return;const t=(o=this.cols)==null?void 0:o.tree;this.saveColOrder(),this.selectCols(),this.createAutoCols(),this.addAutoCols(),this.createControlsCols(),this.addControlsCols();const i=(s=this.gos,this.showingPivotResult?!s.get("enableStrictPivotColumnOrder"):s.get("maintainColumnOrder"));var s;e&&!i||this.restoreColOrder(),this.positionLockedCols(),(n=this.showRowGroupColsService)==null||n.refresh(),(r=this.quickFilterService)==null||r.refreshQuickFilterCols(),this.setColSpanActive(),this.setAutoHeightActive(),this.visibleColsService.clear(),this.columnViewportService.clear(),!at(t,this.cols.tree)&&this.eventDispatcher.gridColumns()}selectCols(){const e=this.pivotResultColsService.getPivotResultCols();if(this.showingPivotResult=e!=null,e){const{map:t,list:i,tree:s,treeDepth:o}=e;this.cols={list:i.slice(),map:{...t},tree:s.slice(),treeDepth:o},e.list.some(n=>{var r;return((r=this.cols)==null?void 0:r.map[n.getColId()])!==void 0})||(this.lastPivotOrder=null)}else{const{map:t,list:i,tree:s,treeDepth:o}=this.colDefCols;this.cols={list:i.slice(),map:{...t},tree:s.slice(),treeDepth:o}}}getColsToShow(){const e=this.isPivotMode()&&!this.isShowingPivotResult(),t=this.funcColsService.getValueColumns();return this.cols.list.filter(i=>{const s=Rs(i);if(e){const o=t&&yt(t,i);return s||o}return s||i.isVisible()})}addAutoCols(){this.autoCols!=null&&(this.cols.list=this.autoCols.list.concat(this.cols.list),this.cols.tree=this.autoCols.tree.concat(this.cols.tree),nn(this.cols))}createAutoCols(){var c;const e=Ii(this.gos,this.pivotMode),t=this.pivotMode?this.gos.get("pivotSuppressAutoColumn"):this.isSuppressAutoCol(),i=this.funcColsService.getRowGroupColumns(),s=()=>{this.autoCols&&(ht(this.context,this.autoCols.tree),this.autoCols=null)};if(!(i.length>0||this.gos.get("treeData"))||t||e||!this.autoColService)return void s();const o=this.autoColService.createAutoCols(i)??[],n=ln(o,((c=this.autoCols)==null?void 0:c.list)||null),r=this.cols.treeDepth,l=this.autoCols?this.autoCols.treeDepth:-1;if(n&&l==r)return;s();const[a,h]=this.columnFactory.balanceTreeForAutoCols(o,this.cols.tree);this.autoCols={list:o,tree:a,treeDepth:h,map:{}};const d=u=>{if(!u)return null;const g=u.filter(m=>!Rs(m));return[...o,...g]};this.lastOrder=d(this.lastOrder),this.lastPivotOrder=d(this.lastPivotOrder)}createControlsCols(){var l,a,h;const e=()=>{var d;ht(this.context,(d=this.controlsCols)==null?void 0:d.tree),this.controlsCols=null};this.controlsColService||e();const t=this.cols.treeDepth,i=(((l=this.controlsCols)==null?void 0:l.treeDepth)??-1)==t,s=((a=this.controlsColService)==null?void 0:a.createControlsCols())??[];if(ln(s,((h=this.controlsCols)==null?void 0:h.list)??[])&&i)return;e();const[o,n]=this.columnFactory.balanceTreeForAutoCols(s,this.cols.tree);this.controlsCols={list:s,tree:o,treeDepth:n,map:{}};const r=d=>{if(!d)return null;const c=d.filter(u=>!ni(u));return[...s,...c]};this.lastOrder=r(this.lastOrder),this.lastPivotOrder=r(this.lastPivotOrder)}addControlsCols(){this.controlsCols!=null&&(this.cols.list=this.controlsCols.list.concat(this.cols.list),this.cols.tree=this.controlsCols.tree.concat(this.cols.tree),nn(this.cols))}refreshAll(e){this.isReady()&&(this.refreshCols(!1),this.visibleColsService.refresh(e))}setColsVisible(e,t=!1,i){this.columnApplyStateService.applyColumnState({state:e.map(s=>({colId:typeof s=="string"?s:s.getColId(),hide:!t}))},i)}setColsPinned(e,t,i){if(!this.cols||Me(e))return;if(Ce(this.gos,"print"))return void R("Changing the column pinning status is not allowed with domLayout='print'");let s;this.columnAnimationService.start(),s=t===!0||t==="left"?"left":t==="right"?"right":null;const o=[];e.forEach(n=>{if(!n)return;const r=this.getCol(n);r&&r.getPinned()!==s&&(r.setPinned(s),o.push(r))}),o.length&&(this.visibleColsService.refresh(i),this.eventDispatcher.columnPinned(o,i)),this.columnAnimationService.finish()}setColumnGroupOpened(e,t,i){let s;s=be(e)?e.getId():e||"",this.columnGroupStateService.setColumnGroupState([{groupId:s,open:t}],i)}getProvidedColGroup(e){var i;let t=null;return it(null,(i=this.cols)==null?void 0:i.tree,s=>{be(s)&&s.getId()===e&&(t=s)}),t}isColGroupLocked(e){const t=this.gos.get("groupLockGroupColumns");return!e.isRowGroupActive()||t===0?!1:t===-1?!0:t>this.funcColsService.getRowGroupColumns().findIndex(i=>i.getColId()===e.getColId())}isSuppressAutoCol(){return this.gos.get("groupDisplayType")==="custom"?!0:this.gos.get("treeDataDisplayType")==="custom"}setAutoHeightActive(){this.autoHeightActive=this.cols.list.some(e=>e.isVisible()&&e.isAutoHeight()),this.autoHeightActive&&(this.autoHeightActiveAtLeastOnce=!0,ie(this.gos)||Ke(this.gos)||R("autoHeight columns only work with Client Side Row Model and Server Side Row Model."))}restoreColOrder(){const e=this.showingPivotResult?this.lastPivotOrder:this.lastOrder;if(!e)return;const t=new Map(e.map((l,a)=>[l,a]));if(!this.cols.list.some(l=>t.has(l)))return;const i=new Map(this.cols.list.map(l=>[l,!0])),s=e.filter(l=>i.has(l)),o=new Map(s.map(l=>[l,!0])),n=this.cols.list.filter(l=>!o.has(l)),r=s.slice();n.forEach(l=>{let a=l.getOriginalParent();if(!a)return void r.push(l);const h=[];for(;!h.length&&a;)a.getLeafColumns().forEach(u=>{const g=r.indexOf(u)>=0,m=h.indexOf(u)<0;g&&m&&h.push(u)}),a=a.getOriginalParent();if(!h.length)return void r.push(l);const d=h.map(u=>r.indexOf(u)),c=Math.max(...d);Oi(r,l,c+1)}),this.cols.list=r}sortColsLikeKeys(e){if(this.cols==null)return;let t=[];const i={};e.forEach(o=>{if(i[o])return;const n=this.cols.map[o];n&&(t.push(n),i[o]=!0)});let s=0;this.cols.list.forEach(o=>{const n=o.getColId();i[n]==null&&(n.startsWith(Ni)?Oi(t,o,s++):t.push(o))}),t=this.columnMoveService.placeLockedColumns(t),this.columnMoveService.doesMovePassMarryChildren(t)?this.cols.list=t:R("Applying column order broke a group where columns should be married together. Applying new order has been discarded.")}sortColsLikeCols(e){!e||e.length<=1||e.filter(t=>this.cols.list.indexOf(t)<0).length>0||e.sort((t,i)=>this.cols.list.indexOf(t)-this.cols.list.indexOf(i))}resetColDefIntoCol(e,t){const i=e.getUserProvidedColDef();if(!i)return!1;const s=this.columnFactory.addColumnDefaultAndTypes(i,e.getColId());return e.setColDef(s,i,t),!0}queueResizeOperations(){this.shouldQueueResizeOperations=!0}isShouldQueueResizeOperations(){return this.shouldQueueResizeOperations}processResizeOperations(){this.shouldQueueResizeOperations=!1,this.resizeOperationQueue.forEach(e=>e()),this.resizeOperationQueue=[]}pushResizeOperation(e){this.resizeOperationQueue.push(e)}moveInCols(e,t,i){var s;Xo((s=this.cols)==null?void 0:s.list,e,t),this.visibleColsService.refresh(i)}positionLockedCols(){this.cols.list=this.columnMoveService.placeLockedColumns(this.cols.list)}saveColOrder(){var e,t;this.showingPivotResult?this.lastPivotOrder=(e=this.cols)==null?void 0:e.list:this.lastOrder=(t=this.cols)==null?void 0:t.list}getColumnDefs(){if(!this.colDefCols)return;const e=this.colDefCols.list.slice();this.showingPivotResult?e.sort((s,o)=>this.lastOrder.indexOf(s)-this.lastOrder.indexOf(o)):this.lastOrder&&e.sort((s,o)=>this.cols.list.indexOf(s)-this.cols.list.indexOf(o));const t=this.funcColsService.getRowGroupColumns(),i=this.funcColsService.getPivotColumns();return this.columnDefFactory.buildColumnDefs(e,t,i)}isShowingPivotResult(){return this.showingPivotResult}isChangeEventsDispatching(){return this.changeEventsDispatching}isColSpanActive(){return this.colSpanActive}isProvidedColGroupsPresent(){var e;return((e=this.colDefCols)==null?void 0:e.treeDepth)>0}setColSpanActive(){this.colSpanActive=this.cols.list.some(e=>e.getColDef().colSpan!=null)}isAutoRowHeightActive(){return this.autoHeightActive}wasAutoRowHeightEverActive(){return this.autoHeightActiveAtLeastOnce}getHeaderRowCount(){return this.cols?this.cols.treeDepth+1:-1}isReady(){return this.ready}isPivotMode(){return this.pivotMode}setPivotMode(e,t){e!==this.pivotMode&&this.isPivotSettingAllowed(this.pivotMode)&&(this.pivotMode=e,this.ready&&(this.refreshCols(!1),this.visibleColsService.refresh(t),this.eventDispatcher.pivotModeChanged()))}isPivotSettingAllowed(e){return!e||!this.gos.get("treeData")||(R("Pivot mode not available with treeData."),!1)}isPivotActive(){const e=this.funcColsService.getPivotColumns();return this.pivotMode&&!Me(e)}recreateColumnDefs(e){this.cols&&(this.autoCols&&this.autoColService.updateAutoCols(this.autoCols.list,e),this.createColsFromColDefs(e))}setColumnDefs(e,t){this.colDefs=e,this.createColsFromColDefs(t)}destroy(){var e,t,i;ht(this.context,(e=this.colDefCols)==null?void 0:e.tree),ht(this.context,(t=this.autoCols)==null?void 0:t.tree),ht(this.context,(i=this.controlsCols)==null?void 0:i.tree),super.destroy()}getColTree(){return this.cols.tree}getColDefColTree(){return this.colDefCols.tree}getColDefCols(){var e;return(e=this.colDefCols)!=null&&e.list?this.colDefCols.list:null}getCols(){var e;return((e=this.cols)==null?void 0:e.list)??[]}getAllCols(){var i,s,o;const e=this.pivotResultColsService.getPivotResultCols(),t=e==null?void 0:e.list;return[((i=this.colDefCols)==null?void 0:i.list)??[],((s=this.autoCols)==null?void 0:s.list)??[],((o=this.controlsCols)==null?void 0:o.list)??[],t??[]].flat()}getColsForKeys(e){return e?e.map(t=>this.getCol(t)).filter(t=>t!=null):[]}getColDefCol(e){var t;return(t=this.colDefCols)!=null&&t.list?this.getColFromCollection(e,this.colDefCols):null}getCol(e){return e==null?null:this.getColFromCollection(e,this.cols)}getColFromCollection(e,t){if(t==null)return null;const{map:i,list:s}=t;if(typeof e=="string"&&i[e])return i[e];for(let o=0;o<s.length;o++)if(rn(s[o],e))return s[o];return this.getAutoCol(e)}getAutoCol(e){var t;return((t=this.autoCols)==null?void 0:t.list.find(i=>rn(i,e)))??null}getAutoCols(){var e;return((e=this.autoCols)==null?void 0:e.list)??null}setColHeaderHeight(e,t){e.setAutoHeaderHeight(t)&&(e.isColumn?this.eventDispatcher.headerHeight(e):this.eventDispatcher.groupHeaderHeight(e))}getGroupRowsHeight(){const e=[],t=this.ctrlsService.getHeaderRowContainerCtrls();for(const i of t){if(!i)continue;const s=i.getGroupRowCount()||0;for(let o=0;o<s;o++){const n=i.getGroupRowCtrlAtIndex(o),r=e[o];if(n){const l=this.getColumnGroupHeaderRowHeight(n);(r==null||l>r)&&(e[o]=l)}}}return e}getColumnGroupHeaderRowHeight(e){const t=this.isPivotMode()?this.getPivotGroupHeaderHeight():this.getGroupHeaderHeight();let i=0;const s=e.getHeaderCtrls();for(const o of s){const n=o.getColumn();if(n.isAutoHeaderHeight()){const r=n.getAutoHeaderHeight();r!=null&&r>i&&(i=r)}}return Math.max(t,i)}getColumnHeaderRowHeight(){const e=this.isPivotMode()?this.getPivotHeaderHeight():this.getHeaderHeight(),t=this.visibleColsService.getAllCols().filter(i=>i.isAutoHeaderHeight()).map(i=>i.getAutoHeaderHeight()||0);return Math.max(e,...t)}getHeaderHeight(){return this.gos.get("headerHeight")??this.environment.getDefaultHeaderHeight()}getFloatingFiltersHeight(){return this.gos.get("floatingFiltersHeight")??this.getHeaderHeight()}getGroupHeaderHeight(){return this.gos.get("groupHeaderHeight")??this.getHeaderHeight()}getPivotHeaderHeight(){return this.gos.get("pivotHeaderHeight")??this.getHeaderHeight()}getPivotGroupHeaderHeight(){return this.gos.get("pivotGroupHeaderHeight")??this.getGroupHeaderHeight()}onFirstDataRendered(){const e=this.gos.get("autoSizeStrategy");if((e==null?void 0:e.type)!=="fitCellContents")return;const{colIds:t,skipHeader:i}=e;setTimeout(()=>{t?this.columnAutosizeService.autoSizeCols({colKeys:t,skipHeader:i,source:"autosizeColumns"}):this.columnAutosizeService.autoSizeAllColumns("autosizeColumns",i)})}onAutoGroupColumnDefChanged(e){this.autoCols&&this.autoColService.updateAutoCols(this.autoCols.list,e)}onSelectionOptionsChanged(e,t,i){const s=(t&&typeof t!="string"?Ht(t):void 0)!==(e&&typeof e!="string"?Ht(e):void 0),o=t&&typeof t!="string"?Li(t):void 0,n=e&&typeof e!="string"?Li(e):void 0;(s||o!==n)&&this.refreshAll(i)}};function bt(e){return e==="gridOptionsUpdated"?"gridOptionsChanged":e}function nn(e){e.map={},e.list.forEach(t=>e.map[t.getId()]=t)}function rn(e,t){const i=e===t,s=e.getColDef()===t,o=e.getColId()==t;return i||s||o}function ln(e,t){return at(e,t,(i,s)=>i.getColId()===s.getColId())}var kl=class extends b{constructor(){super(...arguments),this.beanName="columnAutosizeService",this.timesDelayed=0}wireBeans(e){this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.animationFrameService=e.animationFrameService,this.autoWidthCalculator=e.autoWidthCalculator,this.eventDispatcher=e.columnEventDispatcher,this.ctrlsService=e.ctrlsService,this.renderStatusService=e.renderStatusService}autoSizeCols(e){if(this.columnModel.isShouldQueueResizeOperations())return void this.columnModel.pushResizeOperation(()=>this.autoSizeCols(e));const{colKeys:t,skipHeader:i,skipHeaderGroups:s,stopAtGroup:o,source:n="api"}=e;if(this.animationFrameService.flushAllFrames(),this.timesDelayed<5&&this.renderStatusService&&!this.renderStatusService.areHeaderCellsRendered())return this.timesDelayed++,void setTimeout(()=>this.autoSizeCols(e));this.timesDelayed=0;const r=[];let l=-1;const a=i??this.gos.get("skipHeaderOnAutoSize"),h=s??a;for(;l!==0;){l=0;const d=[];t.forEach(c=>{if(!c)return;const u=this.columnModel.getCol(c);if(!u||r.indexOf(u)>=0)return;const g=this.autoWidthCalculator.getPreferredWidthForColumn(u,a);if(g>0){const m=this.normaliseColumnWidth(u,g);u.setActualWidth(m,n),r.push(u),l++}d.push(u)}),d.length&&this.visibleColsService.refresh(n)}h||this.autoSizeColumnGroupsByColumns(t,n,o),this.eventDispatcher.columnResized(r,!0,"autosizeColumns")}autoSizeColumn(e,t,i){e&&this.autoSizeCols({colKeys:[e],skipHeader:i,skipHeaderGroups:!0,source:t})}autoSizeColumnGroupsByColumns(e,t,i){const s=new Set;let o;this.columnModel.getColsForKeys(e).forEach(n=>{let r=n.getParent();for(;r&&r!=i;)r.isPadding()||s.add(r),r=r.getParent()});for(const n of s){for(const r of this.ctrlsService.getHeaderRowContainerCtrls())if(o=r.getHeaderCtrlForColumn(n),o)break;o&&o.resizeLeafColumnsToFit(t)}return[]}autoSizeAllColumns(e,t){if(this.columnModel.isShouldQueueResizeOperations())return void this.columnModel.pushResizeOperation(()=>this.autoSizeAllColumns(e,t));const i=this.visibleColsService.getAllCols();this.autoSizeCols({colKeys:i,skipHeader:t,source:e})}normaliseColumnWidth(e,t){const i=e.getMinWidth();t<i&&(t=i);const s=e.getMaxWidth();return e.isGreaterThanMax(t)&&(t=s),t}},Ol=class extends b{constructor(){super(...arguments),this.beanName="funcColsService",this.rowGroupCols=[],this.valueCols=[],this.pivotCols=[]}wireBeans(e){this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher,this.aggFuncService=e.aggFuncService,this.visibleColsService=e.visibleColsService}getModifyColumnsNoEventsCallbacks(){return{addGroupCol:e=>this.rowGroupCols.push(e),removeGroupCol:e=>ye(this.rowGroupCols,e),addPivotCol:e=>this.pivotCols.push(e),removePivotCol:e=>ye(this.pivotCols,e),addValueCol:e=>this.valueCols.push(e),removeValueCol:e=>ye(this.valueCols,e)}}getSourceColumnsForGroupColumn(e){const t=e.getColDef().showRowGroup;if(!t)return null;if(t===!0)return this.rowGroupCols.slice(0);const i=this.columnModel.getColDefCol(t);return i?[i]:null}sortRowGroupColumns(e){this.rowGroupCols.sort(e)}sortPivotColumns(e){this.pivotCols.sort(e)}getValueColumns(){return this.valueCols?this.valueCols:[]}getPivotColumns(){return this.pivotCols?this.pivotCols:[]}getRowGroupColumns(){return this.rowGroupCols?this.rowGroupCols:[]}isRowGroupEmpty(){return Me(this.rowGroupCols)}setColumnAggFunc(e,t,i){if(!e)return;const s=this.columnModel.getColDefCol(e);s&&(s.setAggFunc(t),this.eventDispatcher.columnChanged("columnValueChanged",[s],i))}setRowGroupColumns(e,t){this.setColList(e,this.rowGroupCols,"columnRowGroupChanged",!0,!0,(i,s)=>this.setRowGroupActive(i,s,t),t)}setRowGroupActive(e,t,i){e!==t.isRowGroupActive()&&(t.setRowGroupActive(e,i),e&&!this.gos.get("suppressRowGroupHidesColumns")&&this.columnModel.setColsVisible([t],!1,i),e||this.gos.get("suppressMakeColumnVisibleAfterUnGroup")||this.columnModel.setColsVisible([t],!0,i))}addRowGroupColumns(e,t){this.updateColList(e,this.rowGroupCols,!0,!0,i=>this.setRowGroupActive(!0,i,t),"columnRowGroupChanged",t)}removeRowGroupColumns(e,t){this.updateColList(e,this.rowGroupCols,!1,!0,i=>this.setRowGroupActive(!1,i,t),"columnRowGroupChanged",t)}addPivotColumns(e,t){this.updateColList(e,this.pivotCols,!0,!1,i=>i.setPivotActive(!0,t),"columnPivotChanged",t)}setPivotColumns(e,t){this.setColList(e,this.pivotCols,"columnPivotChanged",!0,!1,(i,s)=>{s.setPivotActive(i,t)},t)}removePivotColumns(e,t){this.updateColList(e,this.pivotCols,!1,!1,i=>i.setPivotActive(!1,t),"columnPivotChanged",t)}setValueColumns(e,t){this.setColList(e,this.valueCols,"columnValueChanged",!1,!1,(i,s)=>this.setValueActive(i,s,t),t)}setValueActive(e,t,i){if(e!==t.isValueActive()&&(t.setValueActive(e,i),e&&!t.getAggFunc()&&this.aggFuncService)){const s=this.aggFuncService.getDefaultAggFunc(t);t.setAggFunc(s)}}addValueColumns(e,t){this.updateColList(e,this.valueCols,!0,!1,i=>this.setValueActive(!0,i,t),"columnValueChanged",t)}removeValueColumns(e,t){this.updateColList(e,this.valueCols,!1,!1,i=>this.setValueActive(!1,i,t),"columnValueChanged",t)}moveRowGroupColumn(e,t,i){if(this.isRowGroupEmpty())return;const s=this.rowGroupCols[e],o=this.rowGroupCols.slice(e,t);this.rowGroupCols.splice(e,1),this.rowGroupCols.splice(t,0,s),this.eventDispatcher.rowGroupChanged(o,i)}setColList(e,t,i,s,o,n,r){if(!this.columnModel.getCols())return;const l=new Map;t.forEach((a,h)=>l.set(a,h)),t.length=0,M(e)&&e.forEach(a=>{const h=this.columnModel.getColDefCol(a);h&&t.push(h)}),t.forEach((a,h)=>{const d=l.get(a);d!==void 0?s&&d!==h||l.delete(a):l.set(a,0)}),(this.columnModel.getColDefCols()||[]).forEach(a=>{const h=t.indexOf(a)>=0;n(h,a)}),o&&this.columnModel.refreshCols(!1),this.visibleColsService.refresh(r),this.eventDispatcher.columnChanged(i,[...l.keys()],r)}updateColList(e,t,i,s,o,n,r){if(!e||Me(e))return;let l=!1;const a=new Set;e.forEach(h=>{if(!h)return;const d=this.columnModel.getColDefCol(h);if(d){if(a.add(d),i){if(t.indexOf(d)>=0)return;t.push(d)}else{const c=t.indexOf(d);if(c<0)return;for(let u=c+1;u<t.length;u++)a.add(t[u]);ye(t,d)}o(d),l=!0}}),l&&(s&&this.columnModel.refreshCols(!1),this.visibleColsService.refresh(r),this.eventDispatcher.genericColumnEvent(n,Array.from(a),r))}extractCols(e,t){this.extractRowGroupCols(e,t),this.extractPivotCols(e,t),this.extractValueCols(e,t)}extractValueCols(e,t){this.valueCols=this.extractColsCommon(t,this.valueCols,(i,s)=>i.setValueActive(s,e),()=>{},()=>{},i=>{const s=i.aggFunc;return s===null||s===""?null:s!==void 0?!!s:void 0},i=>i.initialAggFunc!=null&&i.initialAggFunc!=""),this.valueCols.forEach(i=>{const s=i.getColDef();s.aggFunc!=null&&s.aggFunc!=""?i.setAggFunc(s.aggFunc):i.getAggFunc()||i.setAggFunc(s.initialAggFunc)})}extractRowGroupCols(e,t){this.rowGroupCols=this.extractColsCommon(t,this.rowGroupCols,(i,s)=>i.setRowGroupActive(s,e),i=>i.rowGroupIndex,i=>i.initialRowGroupIndex,i=>i.rowGroup,i=>i.initialRowGroup)}extractPivotCols(e,t){this.pivotCols=this.extractColsCommon(t,this.pivotCols,(i,s)=>i.setPivotActive(s,e),i=>i.pivotIndex,i=>i.initialPivotIndex,i=>i.pivot,i=>i.initialPivot)}extractColsCommon(e=[],t=[],i,s,o,n,r){const l=[],a=[];(this.columnModel.getColDefCols()||[]).forEach(c=>{const u=e.indexOf(c)<0,g=c.getColDef(),m=gs(n(g)),f=gs(r(g)),C=ft(s(g)),v=ft(o(g));let w;w=m!==void 0?m:C!==void 0?C!==null&&C>=0:u?f!==void 0?f:v!==void 0&&v!=null&&v>=0:t.indexOf(c)>=0,w&&((u?C!=null||v!=null:C!=null)?l.push(c):a.push(c))});const h=c=>{const u=s(c.getColDef()),g=o(c.getColDef());return u??g};l.sort((c,u)=>{const g=h(c),m=h(u);return g===m?0:g<m?-1:1});const d=[].concat(l);return t.forEach(c=>{a.indexOf(c)>=0&&d.push(c)}),a.forEach(c=>{d.indexOf(c)<0&&d.push(c)}),t.forEach(c=>{d.indexOf(c)<0&&i(c,!1)}),d.forEach(c=>{t.indexOf(c)<0&&i(c,!0)}),d}generateColumnStateForRowGroupAndPivotIndexes(e,t){const i={},s=(o,n,r,l,a,h)=>{const d=this.columnModel.getColDefCols();if(!n.length||!d)return[];const c=Object.keys(o),u=new Set(c),g=new Set(c),m=new Set(n.map(E=>{const D=E.getColId();return g.delete(D),D}).concat(c)),f=[],C={};let v=0;for(let E=0;E<d.length;E++){const D=d[E].getColId();m.has(D)&&(f.push(D),C[D]=v++)}let w=1e3,P=!1,S=0;const F=E=>{const D=C[E];for(let A=S;A<D;A++){const L=f[A];g.has(L)&&(o[L][a]=w++,g.delete(L))}S=D};n.forEach(E=>{const D=E.getColId();if(u.has(D))F(D),o[D][a]=w++;else{const A=E.getColDef();(A[a]===null||A[a]===void 0&&A[h]==null)&&(P||(A[r]||A[r]===void 0&&A[l]?F(D):(g.forEach(L=>{o[L][a]=w+C[L]}),w+=f.length,P=!0)),i[D]||(i[D]={colId:D}),i[D][a]=w++)}})};return s(e,this.rowGroupCols,"rowGroup","initialRowGroup","rowGroupIndex","initialRowGroupIndex"),s(t,this.pivotCols,"pivot","initialPivot","pivotIndex","initialPivotIndex"),Object.values(i)}},Gl=class extends b{constructor(){super(...arguments),this.beanName="columnApplyStateService"}wireBeans(e){this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher,this.sortController=e.sortController,this.columnGetStateService=e.columnGetStateService,this.funcColsService=e.funcColsService,this.visibleColsService=e.visibleColsService,this.columnAnimationService=e.columnAnimationService,this.pivotResultColsService=e.pivotResultColsService}applyColumnState(e,t){const i=this.columnModel.getColDefCols()||[];if(Me(i))return!1;if(e&&e.state&&!e.state.forEach)return R("applyColumnState() - the state attribute should be an array, however an array was not found. Please provide an array of items (one for each col you want to change) for state."),!1;const s=this.funcColsService.getModifyColumnsNoEventsCallbacks(),o=(l,a,h)=>{const d=this.compareColumnStatesAndDispatchEvents(t),c=a.slice(),u={},g={},m=[],f=[];let C=0;const v=this.funcColsService.getRowGroupColumns().slice(),w=this.funcColsService.getPivotColumns().slice();l.forEach(F=>{const E=F.colId||"";if(E.startsWith(Ni))return m.push(F),void f.push(F);const D=h(E);D?(this.syncColumnWithStateItem(D,F,e.defaultState,u,g,!1,t,s),ye(c,D)):(f.push(F),C+=1)});const P=F=>this.syncColumnWithStateItem(F,null,e.defaultState,u,g,!1,t,s);c.forEach(P),this.funcColsService.sortRowGroupColumns(an.bind(this,u,v)),this.funcColsService.sortPivotColumns(an.bind(this,g,w)),this.columnModel.refreshCols(!1);const S=(this.columnModel.getAutoCols()||[]).slice();return m.forEach(F=>{const E=this.columnModel.getAutoCol(F.colId);ye(S,E),this.syncColumnWithStateItem(E,F,e.defaultState,null,null,!0,t,s)}),S.forEach(P),this.orderLiveColsLikeState(e),this.visibleColsService.refresh(t),this.eventDispatcher.everythingChanged(t),d(),{unmatchedAndAutoStates:f,unmatchedCount:C}};this.columnAnimationService.start();let{unmatchedAndAutoStates:n,unmatchedCount:r}=o(e.state||[],i,l=>this.columnModel.getColDefCol(l));if(n.length>0||M(e.defaultState)){const l=this.pivotResultColsService.getPivotResultCols(),a=l==null?void 0:l.list;r=o(n,a||[],h=>this.pivotResultColsService.getPivotResultCol(h)).unmatchedCount}return this.columnAnimationService.finish(),r===0}resetColumnState(e){if(Me(this.columnModel.getColDefCols()))return;const t=bs(this.columnModel.getColDefColTree()),i=[];let s=1e3,o=1e3,n=[];const r=this.columnModel.getAutoCols();r&&(n=n.concat(r)),t&&(n=n.concat(t)),n.forEach(l=>{const a=this.getColumnStateFromColDef(l);K(a.rowGroupIndex)&&a.rowGroup&&(a.rowGroupIndex=s++),K(a.pivotIndex)&&a.pivot&&(a.pivotIndex=o++),i.push(a)}),this.applyColumnState({state:i,applyOrder:!0},e)}getColumnStateFromColDef(e){const t=(m,f)=>m??f??null,i=e.getColDef(),s=t(i.sort,i.initialSort),o=t(i.sortIndex,i.initialSortIndex),n=t(i.hide,i.initialHide),r=t(i.pinned,i.initialPinned),l=t(i.width,i.initialWidth),a=t(i.flex,i.initialFlex);let h=t(i.rowGroupIndex,i.initialRowGroupIndex),d=t(i.rowGroup,i.initialRowGroup);h!=null||d!=null&&d!=0||(h=null,d=null);let c=t(i.pivotIndex,i.initialPivotIndex),u=t(i.pivot,i.initialPivot);c!=null||u!=null&&u!=0||(c=null,u=null);const g=t(i.aggFunc,i.initialAggFunc);return{colId:e.getColId(),sort:s,sortIndex:o,hide:n,pinned:r,width:l,flex:a,rowGroup:d,rowGroupIndex:h,pivot:u,pivotIndex:c,aggFunc:g}}syncColumnWithStateItem(e,t,i,s,o,n,r,l){if(!e)return;const a=(S,F)=>{const E={value1:void 0,value2:void 0};let D=!1;return t&&(t[S]!==void 0&&(E.value1=t[S],D=!0),M(F)&&t[F]!==void 0&&(E.value2=t[F],D=!0)),!D&&i&&(i[S]!==void 0&&(E.value1=i[S]),M(F)&&i[F]!==void 0&&(E.value2=i[F])),E},h=a("hide").value1;h!==void 0&&e.setVisible(!h,r);const d=a("pinned").value1;d!==void 0&&e.setPinned(d);const c=e.getColDef().minWidth??this.gos.environment.getDefaultColumnMinWidth(),u=a("flex").value1;if(u!==void 0&&e.setFlex(u),u==null){const S=a("width").value1;S!=null&&c!=null&&S>=c&&e.setActualWidth(S,r)}const g=a("sort").value1;g!==void 0&&(g==="desc"||g==="asc"?e.setSort(g,r):e.setSort(void 0,r));const m=a("sortIndex").value1;if(m!==void 0&&e.setSortIndex(m),n||!e.isPrimary())return;const f=a("aggFunc").value1;f!==void 0&&(typeof f=="string"?(e.setAggFunc(f),e.isValueActive()||(e.setValueActive(!0,r),l.addValueCol(e))):(M(f)&&R("stateItem.aggFunc must be a string. if using your own aggregation functions, register the functions first before using them in get/set state. This is because it is intended for the column state to be stored and retrieved as simple JSON."),e.isValueActive()&&(e.setValueActive(!1,r),l.removeValueCol(e))));const{value1:C,value2:v}=a("rowGroup","rowGroupIndex");C===void 0&&v===void 0||(typeof v=="number"||C?(e.isRowGroupActive()||(e.setRowGroupActive(!0,r),l.addGroupCol(e)),s&&typeof v=="number"&&(s[e.getId()]=v)):e.isRowGroupActive()&&(e.setRowGroupActive(!1,r),l.removeGroupCol(e)));const{value1:w,value2:P}=a("pivot","pivotIndex");w===void 0&&P===void 0||(typeof P=="number"||w?(e.isPivotActive()||(e.setPivotActive(!0,r),l.addPivotCol(e)),o&&typeof P=="number"&&(o[e.getId()]=P)):e.isPivotActive()&&(e.setPivotActive(!1,r),l.removePivotCol(e)))}orderLiveColsLikeState(e){if(!e.applyOrder||!e.state)return;const t=[];e.state.forEach(i=>{i.colId!=null&&t.push(i.colId)}),this.columnModel.sortColsLikeKeys(t)}compareColumnStatesAndDispatchEvents(e){const t={rowGroupColumns:this.funcColsService.getRowGroupColumns().slice(),pivotColumns:this.funcColsService.getPivotColumns().slice(),valueColumns:this.funcColsService.getValueColumns().slice()},i=this.columnGetStateService.getColumnState(),s={};return i.forEach(o=>{s[o.colId]=o}),()=>{const o=this.columnModel.getAllCols(),n=(d,c,u,g)=>{if(at(c.map(g),u.map(g)))return;const m=new Set(c);u.forEach(C=>{m.delete(C)||m.add(C)});const f=[...m];this.eventService.dispatchEvent({type:d,columns:f,column:f.length===1?f[0]:null,source:e})},r=d=>{const c=[];return o.forEach(u=>{const g=s[u.getColId()];g&&d(g,u)&&c.push(u)}),c},l=d=>d.getColId();n("columnRowGroupChanged",t.rowGroupColumns,this.funcColsService.getRowGroupColumns(),l),n("columnPivotChanged",t.pivotColumns,this.funcColsService.getPivotColumns(),l);const a=r((d,c)=>{const u=d.aggFunc!=null,g=u!=c.isValueActive(),m=u&&d.aggFunc!=c.getAggFunc();return g||m});a.length>0&&this.eventDispatcher.columnChanged("columnValueChanged",a,e),this.eventDispatcher.columnResized(r((d,c)=>d.width!=c.getActualWidth()),!0,e),this.eventDispatcher.columnPinned(r((d,c)=>d.pinned!=c.getPinned()),e),this.eventDispatcher.columnVisible(r((d,c)=>d.hide==c.isVisible()),e);const h=r((d,c)=>d.sort!=c.getSort()||d.sortIndex!=c.getSortIndex());h.length>0&&this.sortController.dispatchSortChangedEvents(e,h),this.normaliseColumnMovedEventForColumnState(i,e)}}normaliseColumnMovedEventForColumnState(e,t){const i=this.columnGetStateService.getColumnState(),s={};i.forEach(a=>s[a.colId]=a);const o={};e.forEach(a=>{s[a.colId]&&(o[a.colId]=!0)});const n=e.filter(a=>o[a.colId]),r=i.filter(a=>o[a.colId]),l=[];r.forEach((a,h)=>{const d=n&&n[h];if(d&&d.colId!==a.colId){const c=this.columnModel.getCol(d.colId);c&&l.push(c)}}),l.length&&this.eventDispatcher.columnMoved({movedColumns:l,source:t,finished:!0})}},an=(e,t,i,s)=>{const o=e[i.getId()],n=e[s.getId()],r=o!=null,l=n!=null;if(r&&l)return o-n;if(r)return-1;if(l)return 1;const a=t.indexOf(i),h=t.indexOf(s),d=a>=0;return d&&h>=0?a-h:d?-1:1},Nl=class extends b{constructor(){super(...arguments),this.beanName="columnMoveService"}wireBeans(e){this.columnModel=e.columnModel,this.columnAnimationService=e.columnAnimationService,this.eventDispatcher=e.columnEventDispatcher}moveColumnByIndex(e,t,i){const s=this.columnModel.getCols();if(!s)return;const o=s[e];this.moveColumns([o],t,i)}moveColumns(e,t,i,s=!0){const o=this.columnModel.getCols();if(!o)return;if(t>o.length-e.length)return R("tried to insert columns in invalid location, toIndex = ",t),void R("remember that you should not count the moving columns when calculating the new index");this.columnAnimationService.start();const n=this.columnModel.getColsForKeys(e);this.doesMovePassRules(n,t)&&(this.columnModel.moveInCols(n,t,i),this.eventDispatcher.columnMoved({movedColumns:n,source:i,toIndex:t,finished:s})),this.columnAnimationService.finish()}doesMovePassRules(e,t){const i=this.getProposedColumnOrder(e,t);return this.doesOrderPassRules(i)}doesOrderPassRules(e){return!!this.doesMovePassMarryChildren(e)&&!!this.doesMovePassLockedPositions(e)}getProposedColumnOrder(e,t){const i=this.columnModel.getCols().slice();return Xo(i,e,t),i}doesMovePassLockedPositions(e){const t=this.gos.get("enableRtl");let i=t?1:-1,s=!0;return e.forEach(o=>{const n=(r=o.getColDef().lockPosition)?r==="left"||r===!0?-1:1:0;var r;t?n>i&&(s=!1):n<i&&(s=!1),i=n}),s}doesMovePassMarryChildren(e){let t=!0;return it(null,this.columnModel.getColTree(),i=>{if(!be(i))return;const s=i,o=s.getColGroupDef();if(!(o&&o.marryChildren))return;const n=[];s.getLeafColumns().forEach(r=>{const l=e.indexOf(r);n.push(l)}),Math.max.apply(Math,n)-Math.min.apply(Math,n)>s.getLeafColumns().length-1&&(t=!1)}),t}placeLockedColumns(e){const t=[],i=[],s=[];return e.forEach(o=>{const n=o.getColDef().lockPosition;n==="right"?s.push(o):n==="left"||n===!0?t.push(o):i.push(o)}),this.gos.get("enableRtl")?[...s,...i,...t]:[...t,...i,...s]}},Hl=/[&<>"']/g,Bl={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function _e(e,t){if(e==null)return null;const i=e.toString().toString();return t?i:i.replace(Hl,s=>Bl[s])}var Vl=class extends b{constructor(){super(...arguments),this.beanName="columnNameService"}wireBeans(e){this.expressionService=e.expressionService,this.funcColsService=e.funcColsService,this.columnModel=e.columnModel}getDisplayNameForColumn(e,t,i=!1){if(!e)return null;const s=this.getHeaderName(e.getColDef(),e,null,null,t);return i?this.wrapHeaderNameWithAggFunc(e,s):s}getDisplayNameForProvidedColumnGroup(e,t,i){const s=t?t.getColGroupDef():null;return s?this.getHeaderName(s,null,e,t,i):null}getDisplayNameForColumnGroup(e,t){return this.getDisplayNameForProvidedColumnGroup(e,e.getProvidedColumnGroup(),t)}getHeaderName(e,t,i,s,o){const n=e.headerValueGetter;if(n){const l=this.gos.addGridCommonParams({colDef:e,column:t,columnGroup:i,providedColumnGroup:s,location:o});return typeof n=="function"?n(l):typeof n=="string"?this.expressionService.evaluate(n,l):(R("headerValueGetter must be a function or a string"),"")}return e.headerName!=null?e.headerName:e.field?(r=e.field)&&r!=null?r.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z])([a-z])/g,"$1 $2$3").replace(/\./g," ").split(" ").map(l=>l.substring(0,1).toUpperCase()+(l.length>1?l.substring(1,l.length):"")).join(" "):null:"";var r}wrapHeaderNameWithAggFunc(e,t){if(this.gos.get("suppressAggFuncInHeader"))return t;const i=e.getColDef().pivotValueColumn;let s,o=null;if(M(i)){const n=this.funcColsService.getValueColumns(),r=this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&n.length===1,l=e.getColDef().pivotTotalColumnIds!==void 0;if(r&&!l)return t;o=i?i.getAggFunc():null,s=!0}else{const n=e.isValueActive(),r=this.columnModel.isPivotMode()||!this.funcColsService.isRowGroupEmpty();n&&r?(o=e.getAggFunc(),s=!0):s=!1}if(s){const n=typeof o=="string"?o:"func";return`${this.localeService.getLocaleTextFunc()(n,n)}(${t})`}return t}},Wl=class extends b{constructor(){super(...arguments),this.beanName="pivotResultColsService"}wireBeans(e){this.context=e.context,this.columnModel=e.columnModel,this.columnFactory=e.columnFactory,this.visibleColsService=e.visibleColsService}destroy(){var e;ht(this.context,(e=this.pivotResultCols)==null?void 0:e.tree),super.destroy()}isPivotResultColsPresent(){return this.pivotResultCols!=null}lookupPivotResultCol(e,t){if(this.pivotResultCols==null)return null;const i=this.columnModel.getColDefCol(t);let s=null;return this.pivotResultCols.list.forEach(o=>{const n=o.getColDef().pivotKeys,r=o.getColDef().pivotValueColumn;at(n,e)&&r===i&&(s=o)}),s}getPivotResultCols(){return this.pivotResultCols}getPivotResultCol(e){return this.pivotResultCols?this.columnModel.getColFromCollection(e,this.pivotResultCols):null}setPivotResultCols(e,t){var i,s;if(this.columnModel.isReady()&&(e!=null||this.pivotResultCols!=null)){if(e){this.processPivotResultColDef(e);const o=this.columnFactory.createColumnTree(e,!1,((i=this.pivotResultCols)==null?void 0:i.tree)||this.previousPivotResultCols||void 0,t);ht(this.context,(s=this.pivotResultCols)==null?void 0:s.tree,o.columnTree);const n=o.columnTree,r=o.treeDept,l=bs(n),a={};this.pivotResultCols={tree:n,treeDepth:r,list:l,map:a},this.pivotResultCols.list.forEach(d=>this.pivotResultCols.map[d.getId()]=d);const h=!!this.previousPivotResultCols;this.previousPivotResultCols=null,this.columnModel.refreshCols(!h)}else this.previousPivotResultCols=this.pivotResultCols?this.pivotResultCols.tree:null,this.pivotResultCols=null,this.columnModel.refreshCols(!1);this.visibleColsService.refresh(t)}}processPivotResultColDef(e){const t=this.gos.get("processPivotResultColDef"),i=this.gos.get("processPivotResultColGroupDef");if(!t&&!i)return;const s=o=>{o.forEach(n=>{if(M(n.children)){const r=n;i&&i(r),s(r.children)}else t&&t(n)})};e&&s(e)}},zl=class extends b{constructor(){super(...arguments),this.beanName="columnSizeService"}wireBeans(e){this.columnModel=e.columnModel,this.columnViewportService=e.columnViewportService,this.eventDispatcher=e.columnEventDispatcher,this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService}setColumnWidths(e,t,i,s){const o=[];e.forEach(n=>{const r=this.columnModel.getColDefCol(n.key)||this.columnModel.getCol(n.key);if(r&&(o.push({width:n.newWidth,ratios:[1],columns:[r]}),this.gos.get("colResizeDefault")==="shift"&&(t=!t),t)){const l=this.visibleColsService.getColAfter(r);if(!l)return;const a=r.getActualWidth()-n.newWidth,h=l.getActualWidth()+a;o.push({width:h,ratios:[1],columns:[l]})}}),o.length!==0&&this.resizeColumnSets({resizeSets:o,finished:i,source:s})}resizeColumnSets(e){const{resizeSets:t,finished:i,source:s}=e;if(!(!t||t.every(h=>this.checkMinAndMaxWidthsForSet(h)))){if(i){const h=t&&t.length>0?t[0].columns:null;this.eventDispatcher.columnResized(h,i,s)}return}const o=[],n=[];t.forEach(h=>{const{width:d,columns:c,ratios:u}=h,g={},m={};c.forEach(v=>n.push(v));let f=!0,C=0;for(;f;){if(C++,C>1e3){Q("infinite loop in resizeColumnSets");break}f=!1;const v=[];let w=0,P=d;c.forEach((F,E)=>{if(m[F.getId()])P-=g[F.getId()];else{v.push(F);const D=u[E];w+=D}});const S=1/w;v.forEach((F,E)=>{let D;E===v.length-1?D=P:(D=Math.round(u[E]*d*S),P-=D);const A=F.getMinWidth(),L=F.getMaxWidth();D<A?(D=A,m[F.getId()]=!0,f=!0):L>0&&D>L&&(D=L,m[F.getId()]=!0,f=!0),g[F.getId()]=D})}c.forEach(v=>{const w=g[v.getId()];v.getActualWidth()!==w&&(v.setActualWidth(w,s),o.push(v))})});const r=o.length>0;let l=[];r&&(l=this.refreshFlexedColumns({resizingCols:n,skipSetLeft:!0}),this.visibleColsService.setLeftValues(s),this.visibleColsService.updateBodyWidths(),this.columnViewportService.checkViewportColumns());const a=n.concat(l);(r||i)&&this.eventDispatcher.columnResized(a,i,s,l)}checkMinAndMaxWidthsForSet(e){const{columns:t,width:i}=e;let s=0,o=0,n=!0;return t.forEach(r=>{const l=r.getMinWidth();s+=l||0;const a=r.getMaxWidth();a>0?o+=a:n=!1}),i>=s&&(!n||i<=o)}refreshFlexedColumns(e={}){const t=e.source?e.source:"flex";if(e.viewportWidth!=null&&(this.flexViewportWidth=e.viewportWidth),!this.flexViewportWidth)return[];const i=this.visibleColsService.getCenterCols();let s=-1;if(e.resizingCols){const u=new Set(e.resizingCols);for(let g=i.length-1;g>=0;g--)if(u.has(i[g])){s=g;break}}let o=0,n=[],r=0,l=0;for(let u=0;u<i.length;u++)i[u].getFlex()&&u>s?(n.push(i[u]),l+=i[u].getFlex(),r+=i[u].getMinWidth()):o+=i[u].getActualWidth();if(!n.length)return[];let a=[];o+r>this.flexViewportWidth&&(n.forEach(u=>u.setActualWidth(u.getMinWidth(),t)),a=n,n=[]);const h=[];let d;e:for(;;){d=this.flexViewportWidth-o;const u=d/l;for(let g=0;g<n.length;g++){const m=n[g],f=u*m.getFlex();let C=0;const v=m.getMinWidth(),w=m.getMaxWidth();if(f<v?C=v:f>w&&(C=w),C){m.setActualWidth(C,t),Yo(n,m),l-=m.getFlex(),a.push(m),o+=m.getActualWidth();continue e}h[g]=Math.floor(f)}break}let c=d;return n.forEach((u,g)=>{const m=g<n.length-1?Math.min(h[g],c):Math.max(h[g],c);u.setActualWidth(m,t),a.push(u),c-=h[g]}),e.skipSetLeft||this.visibleColsService.setLeftValues(t),e.updateBodyWidths&&this.visibleColsService.updateBodyWidths(),e.fireResizedEvent&&this.eventDispatcher.columnResized(a,!0,t,n),n}sizeColumnsToFit(e,t="sizeColumnsToFit",i,s){var u;if(this.columnModel.isShouldQueueResizeOperations())return void this.columnModel.pushResizeOperation(()=>this.sizeColumnsToFit(e,t,i,s));const o={};s&&((u=s==null?void 0:s.columnLimits)==null||u.forEach(({key:g,...m})=>{o[typeof g=="string"?g:g.getColId()]=m}));const n=this.visibleColsService.getAllCols(),r=e===tt(n);if(e<=0||!n.length||r)return;const l=[],a=[];n.forEach(g=>{g.getColDef().suppressSizeToFit===!0?a.push(g):l.push(g)});const h=l.slice(0);let d=!1;const c=g=>{ye(l,g),a.push(g)};for(l.forEach(g=>{g.resetActualWidth(t);const m=o==null?void 0:o[g.getId()],f=(m==null?void 0:m.minWidth)??(s==null?void 0:s.defaultMinWidth),C=(m==null?void 0:m.maxWidth)??(s==null?void 0:s.defaultMaxWidth),v=g.getActualWidth();typeof f=="number"&&v<f?g.setActualWidth(f,t,!0):typeof C=="number"&&v>C&&g.setActualWidth(C,t,!0)});!d;){d=!0;const g=e-tt(a);if(g<=0)l.forEach(m=>{var C;const f=((C=o==null?void 0:o[m.getId()])==null?void 0:C.minWidth)??(s==null?void 0:s.defaultMinWidth);typeof f!="number"?m.setMinimum(t):m.setActualWidth(f,t,!0)});else{const m=g/tt(l);let f=g;for(let C=l.length-1;C>=0;C--){const v=l[C],w=o==null?void 0:o[v.getId()],P=(w==null?void 0:w.minWidth)??(s==null?void 0:s.defaultMinWidth),S=(w==null?void 0:w.maxWidth)??(s==null?void 0:s.defaultMaxWidth),F=v.getMinWidth(),E=v.getMaxWidth(),D=typeof P=="number"&&P>F?P:F,A=typeof S=="number"&&S<E?S:E;let L=Math.round(v.getActualWidth()*m);L<D?(L=D,c(v),d=!1):L>A?(L=A,c(v),d=!1):C===0&&(L=f),v.setActualWidth(L,t,!0),f-=L}}}h.forEach(g=>{g.fireColumnWidthChangedEvent(t)}),this.visibleColsService.setLeftValues(t),this.visibleColsService.updateBodyWidths(),i||this.eventDispatcher.columnResized(h,!0,t)}applyAutosizeStrategy(){const e=this.gos.get("autoSizeStrategy");if(!e)return;const{type:t}=e;setTimeout(()=>{if(t==="fitGridWidth"){const{columnLimits:i,defaultMinWidth:s,defaultMaxWidth:o}=e,n=i==null?void 0:i.map(({colId:r,minWidth:l,maxWidth:a})=>({key:r,minWidth:l,maxWidth:a}));this.ctrlsService.getGridBodyCtrl().sizeColumnsToFit({defaultMinWidth:s,defaultMaxWidth:o,columnLimits:n})}else t==="fitProvidedWidth"&&this.sizeColumnsToFit(e.width,"sizeColumnsToFit")})}};function hn(e,t){return e+"_"+t}function de(e){return e instanceof dn}var dn=class extends b{constructor(e,t,i,s){super(),this.isColumn=!1,this.displayedChildren=[],this.autoHeaderHeight=null,this.parent=null,this.groupId=t,this.partId=i,this.providedColumnGroup=e,this.pinned=s}reset(){this.parent=null,this.children=null,this.displayedChildren=null}getParent(){return this.parent}setParent(e){this.parent=e}getUniqueId(){return hn(this.groupId,this.partId)}isEmptyGroup(){return this.displayedChildren.length===0}isMoving(){const e=this.getProvidedColumnGroup().getLeafColumns();return!(!e||e.length===0)&&e.every(t=>t.isMoving())}checkLeft(){if(this.displayedChildren.forEach(e=>{de(e)&&e.checkLeft()}),this.displayedChildren.length>0)if(this.gos.get("enableRtl")){const e=$(this.displayedChildren).getLeft();this.setLeft(e)}else{const e=this.displayedChildren[0].getLeft();this.setLeft(e)}else this.setLeft(null)}getLeft(){return this.left}getOldLeft(){return this.oldLeft}setLeft(e){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.dispatchLocalEvent({type:"leftChanged"}))}getPinned(){return this.pinned}getGroupId(){return this.groupId}getPartId(){return this.partId}getActualWidth(){let e=0;return this.displayedChildren&&this.displayedChildren.forEach(t=>{e+=t.getActualWidth()}),e}isResizable(){if(!this.displayedChildren)return!1;let e=!1;return this.displayedChildren.forEach(t=>{t.isResizable()&&(e=!0)}),e}getMinWidth(){let e=0;return this.displayedChildren.forEach(t=>{e+=t.getMinWidth()}),e}addChild(e){this.children||(this.children=[]),this.children.push(e)}getDisplayedChildren(){return this.displayedChildren}getLeafColumns(){const e=[];return this.addLeafColumns(e),e}getDisplayedLeafColumns(){const e=[];return this.addDisplayedLeafColumns(e),e}getDefinition(){return this.providedColumnGroup.getColGroupDef()}getColGroupDef(){return this.providedColumnGroup.getColGroupDef()}isPadding(){return this.providedColumnGroup.isPadding()}isExpandable(){return this.providedColumnGroup.isExpandable()}isExpanded(){return this.providedColumnGroup.isExpanded()}setExpanded(e){this.providedColumnGroup.setExpanded(e)}isAutoHeaderHeight(){var e;return!!((e=this.getColGroupDef())!=null&&e.autoHeaderHeight)}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){const t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}addDisplayedLeafColumns(e){this.displayedChildren.forEach(t=>{dt(t)?e.push(t):de(t)&&t.addDisplayedLeafColumns(e)})}addLeafColumns(e){this.children.forEach(t=>{dt(t)?e.push(t):de(t)&&t.addLeafColumns(e)})}getChildren(){return this.children}getColumnGroupShow(){return this.providedColumnGroup.getColumnGroupShow()}getProvidedColumnGroup(){return this.providedColumnGroup}getPaddingLevel(){const e=this.getParent();return this.isPadding()&&e&&e.isPadding()?1+e.getPaddingLevel():0}calculateDisplayedColumns(){this.displayedChildren=[];let e=this;for(;e!=null&&e.isPadding();)e=e.getParent();if(!(e&&e.getProvidedColumnGroup().isExpandable()))return this.displayedChildren=this.children,void this.dispatchLocalEvent({type:"displayedChildrenChanged"});this.children.forEach(t=>{if(!(de(t)&&(!t.displayedChildren||!t.displayedChildren.length)))switch(t.getColumnGroupShow()){case"open":e.getProvidedColumnGroup().isExpanded()&&this.displayedChildren.push(t);break;case"closed":e.getProvidedColumnGroup().isExpanded()||this.displayedChildren.push(t);break;default:this.displayedChildren.push(t)}}),this.dispatchLocalEvent({type:"displayedChildrenChanged"})}},cn=class{constructor(){this.existingIds={}}getInstanceIdForKey(e){const t=this.existingIds[e];let i;return i=typeof t!="number"?0:t+1,this.existingIds[e]=i,i}},Ul=class extends b{constructor(){super(...arguments),this.beanName="visibleColsService",this.colsAndGroupsMap={},this.columnsLeft=[],this.columnsRight=[],this.columnsCenter=[],this.columns=[],this.bodyWidth=0,this.leftWidth=0,this.rightWidth=0,this.bodyWidthDirty=!0}wireBeans(e){this.columnModel=e.columnModel,this.columnSizeService=e.columnSizeService,this.columnViewportService=e.columnViewportService,this.eventDispatcher=e.columnEventDispatcher}refresh(e,t=!1){t||this.buildTrees(),this.updateOpenClosedVisibilityInColumnGroups(),this.columnsLeft=As(this.treeLeft),this.columnsCenter=As(this.treeCenter),this.columnsRight=As(this.treeRight),this.joinColsAriaOrder(),this.joinCols(),this.setLeftValues(e),this.autoHeightCols=this.columns.filter(i=>i.isAutoHeight()),this.columnSizeService.refreshFlexedColumns(),this.updateBodyWidths(),this.columnViewportService.checkViewportColumns(!1),this.setFirstRightAndLastLeftPinned(e),this.eventDispatcher.visibleCols(e)}updateBodyWidths(){const e=tt(this.columnsCenter),t=tt(this.columnsLeft),i=tt(this.columnsRight);this.bodyWidthDirty=this.bodyWidth!==e,(this.bodyWidth!==e||this.leftWidth!==t||this.rightWidth!==i)&&(this.bodyWidth=e,this.leftWidth=t,this.rightWidth=i,this.eventService.dispatchEvent({type:"columnContainerWidthChanged"}),this.eventService.dispatchEvent({type:"displayedColumnsWidthChanged"}))}setLeftValues(e){this.setLeftValuesOfCols(e),this.setLeftValuesOfGroups()}setFirstRightAndLastLeftPinned(e){let t,i;this.gos.get("enableRtl")?(t=this.columnsLeft?this.columnsLeft[0]:null,i=this.columnsRight?$(this.columnsRight):null):(t=this.columnsLeft?$(this.columnsLeft):null,i=this.columnsRight?this.columnsRight[0]:null),this.columnModel.getCols().forEach(s=>{s.setLastLeftPinned(s===t,e),s.setFirstRightPinned(s===i,e)})}buildTrees(){const e=this.columnModel.getColsToShow(),t=e.filter(n=>n.getPinned()=="left"),i=e.filter(n=>n.getPinned()=="right"),s=e.filter(n=>n.getPinned()!="left"&&n.getPinned()!="right"),o=new cn;this.treeLeft=this.createGroups({columns:t,idCreator:o,pinned:"left",oldDisplayedGroups:this.treeLeft}),this.treeRight=this.createGroups({columns:i,idCreator:o,pinned:"right",oldDisplayedGroups:this.treeRight}),this.treeCenter=this.createGroups({columns:s,idCreator:o,pinned:null,oldDisplayedGroups:this.treeCenter}),this.updateColsAndGroupsMap()}clear(){this.columnsLeft=[],this.columnsRight=[],this.columnsCenter=[],this.columns=[],this.ariaOrderColumns=[]}joinColsAriaOrder(){const e=this.columnModel.getCols(),t=[],i=[],s=[];for(const o of e){const n=o.getPinned();n?n===!0||n==="left"?t.push(o):s.push(o):i.push(o)}this.ariaOrderColumns=t.concat(i).concat(s)}getAriaColIndex(e){let t;return t=de(e)?e.getLeafColumns()[0]:e,this.ariaOrderColumns.indexOf(t)+1}getAllAutoHeightCols(){return this.autoHeightCols}setLeftValuesOfGroups(){[this.treeLeft,this.treeRight,this.treeCenter].forEach(e=>{e.forEach(t=>{de(t)&&t.checkLeft()})})}setLeftValuesOfCols(e){if(!this.columnModel.getColDefCols())return;const t=this.columnModel.getCols().slice(0),i=this.gos.get("enableRtl");[this.columnsLeft,this.columnsRight,this.columnsCenter].forEach(s=>{if(i){let o=tt(s);s.forEach(n=>{o-=n.getActualWidth(),n.setLeft(o,e)})}else{let o=0;s.forEach(n=>{n.setLeft(o,e),o+=n.getActualWidth()})}(function(o,n){for(let r=0;r<n.length;r++)Yo(o,n[r])})(t,s)}),t.forEach(s=>{s.setLeft(null,e)})}joinCols(){this.gos.get("enableRtl")?this.columns=this.columnsRight.concat(this.columnsCenter).concat(this.columnsLeft):this.columns=this.columnsLeft.concat(this.columnsCenter).concat(this.columnsRight)}getColsCenter(){return this.columnsCenter}getAllTrees(){return this.treeLeft&&this.treeRight&&this.treeCenter?this.treeLeft.concat(this.treeCenter).concat(this.treeRight):null}getTreeLeft(){return this.treeLeft}getTreeRight(){return this.treeRight}getTreeCenter(){return this.treeCenter}getAllCols(){return this.columns}isColDisplayed(e){return this.getAllCols().indexOf(e)>=0}getLeftColsForRow(e){return this.columnModel.isColSpanActive()?this.getColsForRow(e,this.columnsLeft):this.columnsLeft}getRightColsForRow(e){return this.columnModel.isColSpanActive()?this.getColsForRow(e,this.columnsRight):this.columnsRight}getColsForRow(e,t,i,s){const o=[];let n=null;for(let r=0;r<t.length;r++){const l=t[r],a=t.length-r,h=Math.min(l.getColSpan(e),a),d=[l];if(h>1){const u=h-1;for(let g=1;g<=u;g++)d.push(t[r+g]);r+=u}let c;i?(c=!1,d.forEach(u=>{i(u)&&(c=!0)})):c=!0,c&&(o.length===0&&n&&s&&s(l)&&o.push(n),o.push(l)),n=l}return o}getBodyContainerWidth(){return this.bodyWidth}getContainerWidth(e){switch(e){case"left":return this.leftWidth;case"right":return this.rightWidth;default:return this.bodyWidth}}getCenterCols(){return this.columnsCenter}getLeftCols(){return this.columnsLeft}getRightCols(){return this.columnsRight}getColBefore(e){const t=this.getAllCols(),i=t.indexOf(e);return i>0?t[i-1]:null}getGroupAtDirection(e,t){const i=e.getProvidedColumnGroup().getLevel()+e.getPaddingLevel(),s=e.getDisplayedLeafColumns(),o=t==="After"?$(s):s[0],n=`getCol${t}`;for(;;){const r=this[n](o);if(!r)return null;const l=this.getColGroupAtLevel(r,i);if(l!==e)return l}}getColGroupAtLevel(e,t){let i,s,o=e.getParent();for(;i=o.getProvidedColumnGroup().getLevel(),s=o.getPaddingLevel(),!(i+s<=t);)o=o.getParent();return o}isPinningLeft(){return this.columnsLeft.length>0}isPinningRight(){return this.columnsRight.length>0}updateColsAndGroupsMap(){this.colsAndGroupsMap={};const e=t=>{this.colsAndGroupsMap[t.getUniqueId()]=t};Rt(this.treeCenter,!1,e),Rt(this.treeLeft,!1,e),Rt(this.treeRight,!1,e)}isVisible(e){return this.colsAndGroupsMap[e.getUniqueId()]===e}updateOpenClosedVisibilityInColumnGroups(){Rt(this.getAllTrees(),!1,e=>{de(e)&&e.calculateDisplayedColumns()})}getFirstColumn(){const e=this.gos.get("enableRtl"),t=["getLeftCols","getCenterCols","getRightCols"];e&&t.reverse();for(let i=0;i<t.length;i++){const s=this[t[i]]();if(s.length)return e?$(s):s[0]}return null}getColumnGroup(e,t){if(!e)return null;if(de(e))return e;const i=this.getAllTrees(),s=typeof t=="number";let o=null;return Rt(i,!1,n=>{if(de(n)){const r=n;let l;l=s?e===r.getGroupId()&&t===r.getPartId():e===r.getGroupId(),l&&(o=r)}}),o}getColAfter(e){const t=this.getAllCols(),i=t.indexOf(e);return i<t.length-1?t[i+1]:null}isBodyWidthDirty(){return this.bodyWidthDirty}setBodyWidthDirty(){this.bodyWidthDirty=!0}getColsLeftWidth(){return tt(this.columnsLeft)}getDisplayedColumnsRightWidth(){return tt(this.columnsRight)}isColAtEdge(e,t){const i=this.getAllCols();if(!i.length)return!1;const s=t==="first";let o;if(de(e)){const n=e.getDisplayedLeafColumns();if(!n.length)return!1;o=s?n[0]:$(n)}else o=e;return(s?i[0]:$(i))===o}createGroups(e){const{columns:t,idCreator:i,pinned:s,oldDisplayedGroups:o,isStandaloneStructure:n}=e,r=this.mapOldGroupsById(o),l=[];let a=t;for(;a.length;){const h=a;a=[];let d=0;const c=u=>{const g=d;d=u;const m=h[g],f=(de(m)?m.getProvidedColumnGroup():m).getOriginalParent();if(f==null){for(let v=g;v<u;v++)l.push(h[v]);return}const C=this.createColGroup(f,i,r,s,n);for(let v=g;v<u;v++)C.addChild(h[v]);a.push(C)};for(let u=1;u<h.length;u++){const g=h[u],m=(de(g)?g.getProvidedColumnGroup():g).getOriginalParent(),f=h[d];m!==(de(f)?f.getProvidedColumnGroup():f).getOriginalParent()&&c(u)}d<h.length&&c(h.length)}return n||this.setupParentsIntoCols(l,null),l}createColGroup(e,t,i,s,o){const n=e.getGroupId(),r=t.getInstanceIdForKey(n);let l=i[hn(n,r)];return l&&l.getProvidedColumnGroup()!==e&&(l=null),M(l)?l.reset():(l=new dn(e,n,r,s),o||this.createBean(l)),l}mapOldGroupsById(e){const t={},i=s=>{s.forEach(o=>{if(de(o)){const n=o;t[o.getUniqueId()]=n,i(n.getChildren())}})};return e&&i(e),t}setupParentsIntoCols(e,t){e.forEach(i=>{if(i.setParent(t),de(i)){const s=i;this.setupParentsIntoCols(s.getChildren(),s)}})}};function Rt(e,t,i){if(e)for(let s=0;s<e.length;s++){const o=e[s];de(o)&&Rt(t?o.getDisplayedChildren():o.getChildren(),t,i),i(o)}}function As(e){const t=[];return Rt(e,!0,i=>{dt(i)&&t.push(i)}),t}var un=["columnEverythingChanged","newColumnsLoaded","columnPivotModeChanged","pivotMaxColumnsExceeded","columnRowGroupChanged","expandOrCollapseAll","columnPivotChanged","gridColumnsChanged","columnValueChanged","columnMoved","columnVisible","columnPinned","columnGroupOpened","columnResized","displayedColumnsChanged","virtualColumnsChanged","columnHeaderMouseOver","columnHeaderMouseLeave","columnHeaderClicked","columnHeaderContextMenu","asyncTransactionsFlushed","rowGroupOpened","rowDataUpdated","pinnedRowDataChanged","rangeSelectionChanged","cellSelectionChanged","chartCreated","chartRangeSelectionChanged","chartOptionsChanged","chartDestroyed","toolPanelVisibleChanged","toolPanelSizeChanged","modelUpdated","cutStart","cutEnd","pasteStart","pasteEnd","fillStart","fillEnd","cellSelectionDeleteStart","cellSelectionDeleteEnd","rangeDeleteStart","rangeDeleteEnd","undoStarted","undoEnded","redoStarted","redoEnded","cellClicked","cellDoubleClicked","cellMouseDown","cellContextMenu","cellValueChanged","cellEditRequest","rowValueChanged","headerFocused","cellFocused","rowSelected","selectionChanged","tooltipShow","tooltipHide","cellKeyDown","cellMouseOver","cellMouseOut","filterChanged","filterModified","filterOpened","advancedFilterBuilderVisibleChanged","sortChanged","virtualRowRemoved","rowClicked","rowDoubleClicked","gridReady","gridPreDestroyed","gridSizeChanged","viewportChanged","firstDataRendered","dragStarted","dragStopped","dragCancelled","rowEditingStarted","rowEditingStopped","cellEditingStarted","cellEditingStopped","bodyScroll","bodyScrollEnd","paginationChanged","componentStateChanged","storeRefreshed","stateUpdated","columnMenuVisibleChanged","contextMenuVisibleChanged","rowDragEnter","rowDragMove","rowDragLeave","rowDragEnd","rowDragCancel"],Kl=[...un,"scrollbarWidthChanged","keyShortcutChangedCellStart","keyShortcutChangedCellEnd","pinnedHeightChanged","cellFocusCleared","fullWidthRowFocused","checkboxChanged","heightScaleChanged","suppressMovableColumns","suppressMenuHide","suppressFieldDotNotation","columnPanelItemDragStart","columnPanelItemDragEnd","bodyHeightChanged","columnContainerWidthChanged","displayedColumnsWidthChanged","scrollVisibilityChanged","scrollGapChanged","columnHoverChanged","flashCells","paginationPixelOffsetChanged","displayedRowsChanged","leftPinnedWidthChanged","rightPinnedWidthChanged","rowContainerHeightChanged","headerHeightChanged","columnGroupHeaderHeightChanged","columnHeaderHeightChanged","gridStylesChanged","storeUpdated","filterDestroyed","rowDataUpdateStarted","rowCountReady","advancedFilterEnabledChanged","dataTypesInferred","fieldValueChanged","fieldPickerValueSelected","richSelectListRowSelected","sideBarUpdated","alignedGridScroll","alignedGridColumn","gridOptionsChanged","chartTitleEdit","recalculateRowBounds","stickyTopOffsetChanged","overlayExclusiveChanged"],$l={enableBrowserTooltips:!0,tooltipTrigger:!0,tooltipMouseTrack:!0,tooltipShowMode:!0,tooltipInteraction:!0,defaultColGroupDef:!0,suppressAutoSize:!0,skipHeaderOnAutoSize:!0,autoSizeStrategy:!0,components:!0,stopEditingWhenCellsLoseFocus:!0,undoRedoCellEditing:!0,undoRedoCellEditingLimit:!0,excelStyles:!0,cacheQuickFilter:!0,advancedFilterModel:!0,customChartThemes:!0,chartThemeOverrides:!0,chartToolPanelsDef:!0,loadingCellRendererSelector:!0,localeText:!0,keepDetailRows:!0,keepDetailRowsCount:!0,detailRowHeight:!0,detailRowAutoHeight:!0,tabIndex:!0,valueCache:!0,valueCacheNeverExpires:!0,enableCellExpressions:!0,suppressTouch:!0,suppressAsyncEvents:!0,suppressBrowserResizeObserver:!0,suppressPropertyNamesCheck:!0,debug:!0,dragAndDropImageComponent:!0,loadingOverlayComponent:!0,suppressLoadingOverlay:!0,noRowsOverlayComponent:!0,paginationPageSizeSelector:!0,paginateChildRows:!0,pivotPanelShow:!0,pivotSuppressAutoColumn:!0,suppressExpandablePivotGroups:!0,aggFuncs:!0,suppressAggFuncInHeader:!0,allowShowChangeAfterFilter:!0,ensureDomOrder:!0,enableRtl:!0,suppressColumnVirtualisation:!0,suppressMaxRenderedRowRestriction:!0,suppressRowVirtualisation:!0,rowDragText:!0,suppressGroupMaintainValueType:!0,groupLockGroupColumns:!0,rowGroupPanelSuppressSort:!0,suppressGroupRowsSticky:!0,rowModelType:!0,cacheOverflowSize:!0,infiniteInitialRowCount:!0,serverSideInitialRowCount:!0,suppressServerSideInfiniteScroll:!0,maxBlocksInCache:!0,maxConcurrentDatasourceRequests:!0,blockLoadDebounceMillis:!0,serverSideOnlyRefreshFilteredGroups:!0,serverSidePivotResultFieldSeparator:!0,viewportRowModelPageSize:!0,viewportRowModelBufferSize:!0,debounceVerticalScrollbar:!0,suppressAnimationFrame:!0,suppressPreventDefaultOnMouseWheel:!0,scrollbarWidth:!0,icons:!0,suppressRowTransform:!0,gridId:!0,enableGroupEdit:!0,initialState:!0,processUnpinnedColumns:!0,createChartContainer:!0,getLocaleText:!0,getRowId:!0,reactiveCustomComponents:!0,columnMenu:!0,suppressSetFilterByDefault:!0},ve=class{};ve.STRING_PROPERTIES=["overlayLoadingTemplate","overlayNoRowsTemplate","gridId","quickFilterText","rowModelType","editType","domLayout","clipboardDelimiter","rowGroupPanelShow","multiSortKey","pivotColumnGroupTotals","pivotRowTotals","pivotPanelShow","fillHandleDirection","groupDisplayType","treeDataDisplayType","colResizeDefault","tooltipTrigger","serverSidePivotResultFieldSeparator","columnMenu","tooltipShowMode","grandTotalRow"],ve.OBJECT_PROPERTIES=["components","rowStyle","context","autoGroupColumnDef","localeText","icons","datasource","dragAndDropImageComponentParams","serverSideDatasource","viewportDatasource","groupRowRendererParams","aggFuncs","fullWidthCellRendererParams","defaultColGroupDef","defaultColDef","defaultCsvExportParams","defaultExcelExportParams","columnTypes","rowClassRules","detailCellRendererParams","loadingCellRendererParams","loadingOverlayComponentParams","noRowsOverlayComponentParams","popupParent","statusBar","sideBar","theme","chartThemeOverrides","customChartThemes","chartToolPanelsDef","dataTypeDefinitions","advancedFilterModel","advancedFilterParent","advancedFilterBuilderParams","initialState","autoSizeStrategy","cellSelection","selectionColumnDef"],ve.ARRAY_PROPERTIES=["sortingOrder","alignedGrids","rowData","columnDefs","excelStyles","pinnedTopRowData","pinnedBottomRowData","chartThemes","rowClass","paginationPageSizeSelector"],ve.NUMBER_PROPERTIES=["rowHeight","detailRowHeight","rowBuffer","headerHeight","groupHeaderHeight","groupLockGroupColumns","floatingFiltersHeight","pivotHeaderHeight","pivotGroupHeaderHeight","groupDefaultExpanded","pivotDefaultExpanded","viewportRowModelPageSize","viewportRowModelBufferSize","autoSizePadding","maxBlocksInCache","maxConcurrentDatasourceRequests","tooltipShowDelay","tooltipHideDelay","cacheOverflowSize","paginationPageSize","cacheBlockSize","infiniteInitialRowCount","serverSideInitialRowCount","scrollbarWidth","asyncTransactionWaitMillis","blockLoadDebounceMillis","keepDetailRowsCount","undoRedoCellEditingLimit","cellFlashDelay","cellFadeDelay","cellFlashDuration","cellFadeDuration","tabIndex","pivotMaxGeneratedColumns"],ve.BOOLEAN_PROPERTIES=["suppressMakeColumnVisibleAfterUnGroup","suppressRowClickSelection","suppressCellFocus","suppressHeaderFocus","suppressHorizontalScroll","groupSelectsChildren","alwaysShowHorizontalScroll","alwaysShowVerticalScroll","debug","enableBrowserTooltips","enableCellExpressions","groupIncludeTotalFooter","groupSuppressBlankHeader","suppressMenuHide","suppressRowDeselection","unSortIcon","suppressMultiSort","alwaysMultiSort","singleClickEdit","suppressLoadingOverlay","suppressNoRowsOverlay","suppressAutoSize","skipHeaderOnAutoSize","suppressColumnMoveAnimation","suppressMoveWhenColumnDragging","suppressMovableColumns","suppressFieldDotNotation","enableRangeSelection","enableRangeHandle","enableFillHandle","suppressClearOnFillReduction","deltaSort","suppressTouch","suppressAsyncEvents","allowContextMenuWithControlKey","suppressContextMenu","enableCellChangeFlash","suppressDragLeaveHidesColumns","suppressRowGroupHidesColumns","suppressMiddleClickScrolls","suppressPreventDefaultOnMouseWheel","suppressCopyRowsToClipboard","copyHeadersToClipboard","copyGroupHeadersToClipboard","pivotMode","suppressAggFuncInHeader","suppressColumnVirtualisation","alwaysAggregateAtRootLevel","suppressFocusAfterRefresh","functionsReadOnly","animateRows","groupSelectsFiltered","groupRemoveSingleChildren","groupRemoveLowestSingleChildren","enableRtl","suppressClickEdit","rowDragEntireRow","rowDragManaged","suppressRowDrag","suppressMoveWhenRowDragging","rowDragMultiRow","enableGroupEdit","embedFullWidthRows","suppressPaginationPanel","groupHideOpenParents","groupAllowUnbalanced","pagination","paginationAutoPageSize","suppressScrollOnNewData","suppressScrollWhenPopupsAreOpen","purgeClosedRowNodes","cacheQuickFilter","includeHiddenColumnsInQuickFilter","ensureDomOrder","accentedSort","suppressChangeDetection","valueCache","valueCacheNeverExpires","aggregateOnlyChangedColumns","suppressAnimationFrame","suppressExcelExport","suppressCsvExport","includeHiddenColumnsInAdvancedFilter","suppressMultiRangeSelection","enterNavigatesVerticallyAfterEdit","enterNavigatesVertically","suppressPropertyNamesCheck","rowMultiSelectWithClick","suppressRowHoverHighlight","suppressRowTransform","suppressClipboardPaste","suppressLastEmptyLineOnPaste","enableCharts","suppressMaintainUnsortedOrder","enableCellTextSelection","suppressBrowserResizeObserver","suppressMaxRenderedRowRestriction","excludeChildrenWhenTreeDataFiltering","tooltipMouseTrack","tooltipInteraction","keepDetailRows","paginateChildRows","preventDefaultOnContextMenu","undoRedoCellEditing","allowDragFromColumnsToolPanel","pivotSuppressAutoColumn","suppressExpandablePivotGroups","debounceVerticalScrollbar","detailRowAutoHeight","serverSideSortAllLevels","serverSideEnableClientSideSort","serverSideOnlyRefreshFilteredGroups","serverSideSortOnServer","serverSideFilterOnServer","suppressAggFilteredOnly","showOpenedGroup","suppressClipboardApi","suppressModelUpdateAfterUpdateTransaction","stopEditingWhenCellsLoseFocus","groupMaintainOrder","columnHoverHighlight","readOnlyEdit","suppressRowVirtualisation","enableCellEditingOnBackspace","resetRowDataOnUpdate","removePivotHeaderRowWhenSingleValueColumn","suppressCopySingleCellRanges","suppressGroupRowsSticky","suppressCutToClipboard","suppressServerSideInfiniteScroll","rowGroupPanelSuppressSort","allowShowChangeAfterFilter","enableAdvancedFilter","masterDetail","treeData","suppressGroupMaintainValueType","reactiveCustomComponents","applyQuickFilterBeforePivotOrAgg","suppressServerSideFullWidthLoadingRow","suppressAdvancedFilterEval","loading","maintainColumnOrder","enableStrictPivotColumnOrder","suppressSetFilterByDefault"],ve.OTHER_PROPERTIES=["suppressStickyTotalRow","loadThemeGoogleFonts","rowSelection"],ve.FUNCTION_PROPERTIES=["doesExternalFilterPass","processPivotResultColDef","processPivotResultColGroupDef","getBusinessKeyForNode","isRowSelectable","rowDragText","groupRowRenderer","dragAndDropImageComponent","fullWidthCellRenderer","loadingCellRenderer","loadingOverlayComponent","noRowsOverlayComponent","detailCellRenderer","quickFilterParser","quickFilterMatcher","getLocaleText","isExternalFilterPresent","getRowHeight","getRowClass","getRowStyle","getContextMenuItems","getMainMenuItems","processRowPostCreate","processCellForClipboard","getGroupRowAgg","isFullWidthRow","sendToClipboard","focusGridInnerElement","navigateToNextHeader","tabToNextHeader","navigateToNextCell","tabToNextCell","processCellFromClipboard","getDocument","postProcessPopup","getChildCount","getDataPath","isRowMaster","postSortRows","processHeaderForClipboard","processUnpinnedColumns","processGroupHeaderForClipboard","paginationNumberFormatter","processDataFromClipboard","getServerSideGroupKey","isServerSideGroup","createChartContainer","getChartToolbarItems","fillOperation","isApplyServerSideTransaction","getServerSideGroupLevelParams","isServerSideGroupOpenByDefault","isGroupOpenByDefault","initialGroupOrderComparator","groupIncludeFooter","loadingCellRendererSelector","getRowId","groupAggFiltering","chartMenuItems","groupTotalRow"],ve.ALL_PROPERTIES=[...ve.ARRAY_PROPERTIES,...ve.OBJECT_PROPERTIES,...ve.STRING_PROPERTIES,...ve.NUMBER_PROPERTIES,...ve.FUNCTION_PROPERTIES,...ve.BOOLEAN_PROPERTIES,...ve.OTHER_PROPERTIES];var li=ve,Ie=class{static getCallbackForEvent(e){return!e||e.length<2?e:"on"+e[0].toUpperCase()+e.substring(1)}};Ie.VUE_OMITTED_PROPERTY="AG-VUE-OMITTED-PROPERTY",Ie.PUBLIC_EVENTS=un,Ie.EVENT_CALLBACKS=Kl.map(e=>Ie.getCallbackForEvent(e)),Ie.BOOLEAN_PROPERTIES=li.BOOLEAN_PROPERTIES,Ie.ALL_PROPERTIES=li.ALL_PROPERTIES,Ie.ALL_PROPERTIES_AND_CALLBACKS=[...Ie.ALL_PROPERTIES,...Ie.EVENT_CALLBACKS],Ie.ALL_PROPERTIES_AND_CALLBACKS_SET=new Set(Ie.ALL_PROPERTIES_AND_CALLBACKS);var ai=Ie,Vt=class extends b{};function hi(e,t,i){return i&&e.addDestroyFunc(()=>t.destroyBean(i)),i??e}var di=class{constructor(e){this.cssClassStates={},this.getGui=e}addCssClass(e){const t=(e||"").split(" ");if(t.length>1)return void t.forEach(i=>this.addCssClass(i));if(this.cssClassStates[e]!==!0&&e.length){const i=this.getGui();i&&i.classList.add(e),this.cssClassStates[e]=!0}}removeCssClass(e){const t=(e||"").split(" ");if(t.length>1)return void t.forEach(i=>this.removeCssClass(i));if(this.cssClassStates[e]!==!1&&e.length){const i=this.getGui();i&&i.classList.remove(e),this.cssClassStates[e]=!1}}containsCssClass(e){const t=this.getGui();return!!t&&t.classList.contains(e)}addOrRemoveCssClass(e,t){if(e){if(e.indexOf(" ")>=0){const i=(e||"").split(" ");if(i.length>1)return void i.forEach(s=>this.addOrRemoveCssClass(s,t))}if(this.cssClassStates[e]!==t&&e.length){const i=this.getGui();i&&i.classList.toggle(e,t),this.cssClassStates[e]=t}}}};function st(e,t,i){i==null||typeof i=="string"&&i==""?gn(e,t):je(e,t,i)}function je(e,t,i){e.setAttribute(pn(t),i.toString())}function gn(e,t){e.removeAttribute(pn(t))}function pn(e){return`aria-${e}`}function Ve(e,t){t?e.setAttribute("role",t):e.removeAttribute("role")}function Wt(e,t){st(e,"label",t)}function ci(e,t){st(e,"labelledby",t)}function mn(e,t){st(e,"live",t)}function Cn(e,t){st(e,"hidden",t)}function Bi(e,t){je(e,"expanded",t)}function fn(e,t){je(e,"colindex",t)}function Vi(e,t){st(e,"selected",t)}function Ts(e,t){return t===void 0?e("ariaIndeterminate","indeterminate"):t===!0?e("ariaChecked","checked"):e("ariaUnchecked","unchecked")}var vn="[disabled], .ag-disabled:not(.ag-button), .ag-disabled *";function Is(e){const t=Element.prototype.matches||Element.prototype.msMatchesSelector,i=t.call(e,"input, select, button, textarea"),s=t.call(e,vn),o=qe(e);return i&&!s&&o}function le(e,t,i={}){const{skipAriaHidden:s}=i;e.classList.toggle("ag-hidden",!t),s||Cn(e,!t)}function ui(e,t){const i="disabled",s=t?o=>o.setAttribute(i,""):o=>o.removeAttribute(i);s(e),bn(e.querySelectorAll("input"),o=>s(o))}function zt(e,t,i){let s=0;for(;e;){if(e.classList.contains(t))return!0;if(e=e.parentElement,typeof i=="number"){if(++s>i)break}else if(e===i)break}return!1}function Ft(e){const{height:t,width:i,borderTopWidth:s,borderRightWidth:o,borderBottomWidth:n,borderLeftWidth:r,paddingTop:l,paddingRight:a,paddingBottom:h,paddingLeft:d,marginTop:c,marginRight:u,marginBottom:g,marginLeft:m,boxSizing:f}=window.getComputedStyle(e);return{height:parseFloat(t||"0"),width:parseFloat(i||"0"),borderTopWidth:parseFloat(s||"0"),borderRightWidth:parseFloat(o||"0"),borderBottomWidth:parseFloat(n||"0"),borderLeftWidth:parseFloat(r||"0"),paddingTop:parseFloat(l||"0"),paddingRight:parseFloat(a||"0"),paddingBottom:parseFloat(h||"0"),paddingLeft:parseFloat(d||"0"),marginTop:parseFloat(c||"0"),marginRight:parseFloat(u||"0"),marginBottom:parseFloat(g||"0"),marginLeft:parseFloat(m||"0"),boxSizing:f}}function Ls(e){const t=Ft(e);return t.boxSizing==="border-box"?t.height-t.paddingTop-t.paddingBottom:t.height}function gi(e){const t=Ft(e);return t.boxSizing==="border-box"?t.width-t.paddingLeft-t.paddingRight:t.width}function wn(e){const{height:t,marginBottom:i,marginTop:s}=Ft(e);return Math.floor(t+i+s)}function Wi(e){const{width:t,marginLeft:i,marginRight:s}=Ft(e);return Math.floor(t+i+s)}function Sn(e){const t=e.getBoundingClientRect(),{borderTopWidth:i,borderLeftWidth:s,borderRightWidth:o,borderBottomWidth:n}=Ft(e);return{top:t.top+(i||0),left:t.left+(s||0),right:t.right+(o||0),bottom:t.bottom+(n||0)}}function zi(e,t){let i=e.scrollLeft;return t&&(i=Math.abs(i)),i}function Ui(e,t,i){i&&(t*=-1),e.scrollLeft=t}function xe(e){for(;e&&e.firstChild;)e.removeChild(e.firstChild)}function Pt(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function yn(e){return!!e.offsetParent}function qe(e){const t=e;return t.checkVisibility?t.checkVisibility({checkVisibilityCSS:!0}):!(!yn(e)||window.getComputedStyle(e).visibility!=="visible")}function pi(e){const t=document.createElement("div");return t.innerHTML=(e||"").trim(),t.firstChild}function Ki(e,t){t==="flex"?(e.style.removeProperty("width"),e.style.removeProperty("minWidth"),e.style.removeProperty("maxWidth"),e.style.flex="1 1 auto"):We(e,t)}function We(e,t){t=ks(t),e.style.width=t.toString(),e.style.maxWidth=t.toString(),e.style.minWidth=t.toString()}function mi(e,t){t=ks(t),e.style.height=t.toString(),e.style.maxHeight=t.toString(),e.style.minHeight=t.toString()}function ks(e){return typeof e=="number"?`${e}px`:e}function Os(e){return e instanceof Node||e instanceof HTMLElement}function Le(e,t,i){i==null||i===""?e.removeAttribute(t):e.setAttribute(t,i.toString())}function bn(e,t){if(e!=null)for(let i=0;i<e.length;i++)t(e[i])}var Gs,$i,Ns,Hs,Bs,Vs,Ws,zs,Us,Ut=class{constructor(e=0,t=1){this.nextValue=e,this.step=t}next(){const e=this.nextValue;return this.nextValue+=this.step,e}peek(){return this.nextValue}skip(e){this.nextValue+=e}};function ot(){return Gs===void 0&&(Gs=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)),Gs}function Rn(){if($i===void 0)if(ot()){const e=navigator.userAgent.match(/version\/(\d+)/i);e&&($i=e[1]!=null?parseFloat(e[1]):0)}else $i=0;return $i}function Ks(){return Hs===void 0&&(Hs=/(firefox)/i.test(navigator.userAgent)),Hs}function Fn(){return Bs===void 0&&(Bs=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)),Bs}function ct(){return Vs===void 0&&(Vs=/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1),Vs}function Pn(){return!ot()||Rn()>=15}function $s(e){if(!e)return null;const t=e.tabIndex,i=e.getAttribute("tabIndex");return t!==-1||i!==null&&(i!==""||Ks())?t.toString():null}function Dn(){const e=document.body,t=document.createElement("div");t.style.width=t.style.height="100px",t.style.opacity="0",t.style.overflow="scroll",t.style.msOverflowStyle="scrollbar",t.style.position="absolute",e.appendChild(t);let i=t.offsetWidth-t.clientWidth;i===0&&t.clientWidth===0&&(i=null),t.parentNode&&t.parentNode.removeChild(t),i!=null&&(zs=i,Ws=i===0)}function En(){return Ws==null&&Dn(),Ws}var Mn=class Lt extends b{constructor(t,i,s,o){super(),this.parentComp=t,this.tooltipShowDelayOverride=i,this.tooltipHideDelayOverride=s,this.shouldDisplayTooltip=o,this.interactionEnabled=!1,this.isInteractingWithTooltip=!1,this.state=0,this.tooltipInstanceCount=0,this.tooltipMouseTrack=!1}wireBeans(t){this.popupService=t.popupService,this.userComponentFactory=t.userComponentFactory}postConstruct(){this.gos.get("tooltipInteraction")&&(this.interactionEnabled=!0),this.tooltipTrigger=this.getTooltipTrigger(),this.tooltipMouseTrack=this.gos.get("tooltipMouseTrack");const t=this.parentComp.getGui();this.tooltipTrigger===0&&this.addManagedListeners(t,{mouseenter:this.onMouseEnter.bind(this),mouseleave:this.onMouseLeave.bind(this)}),this.tooltipTrigger===1&&this.addManagedListeners(t,{focusin:this.onFocusIn.bind(this),focusout:this.onFocusOut.bind(this)}),this.addManagedListeners(t,{mousemove:this.onMouseMove.bind(this)}),this.interactionEnabled||this.addManagedListeners(t,{mousedown:this.onMouseDown.bind(this),keydown:this.onKeyDown.bind(this)})}getGridOptionsTooltipDelay(t){const i=this.gos.get(t);return i<0&&R(`${t} should not be lower than 0`),Math.max(200,i)}getTooltipDelay(t){return t==="show"?this.tooltipShowDelayOverride??this.getGridOptionsTooltipDelay("tooltipShowDelay"):this.tooltipHideDelayOverride??this.getGridOptionsTooltipDelay("tooltipHideDelay")}destroy(){this.setToDoNothing(),super.destroy()}getTooltipTrigger(){const t=this.gos.get("tooltipTrigger");return t&&t!=="hover"?1:0}onMouseEnter(t){this.interactionEnabled&&this.interactiveTooltipTimeoutId&&(this.unlockService(),this.startHideTimeout()),ct()||(Lt.isLocked?this.showTooltipTimeoutId=window.setTimeout(()=>{this.prepareToShowTooltip(t)},100):this.prepareToShowTooltip(t))}onMouseMove(t){this.lastMouseEvent&&(this.lastMouseEvent=t),this.tooltipMouseTrack&&this.state===2&&this.tooltipComp&&this.positionTooltip()}onMouseDown(){this.setToDoNothing()}onMouseLeave(){this.interactionEnabled?this.lockService():this.setToDoNothing()}onFocusIn(){this.prepareToShowTooltip()}onFocusOut(t){var n;const i=t.relatedTarget,s=this.parentComp.getGui(),o=(n=this.tooltipComp)==null?void 0:n.getGui();this.isInteractingWithTooltip||s.contains(i)||this.interactionEnabled&&(o!=null&&o.contains(i))||this.setToDoNothing()}onKeyDown(){this.isInteractingWithTooltip&&(this.isInteractingWithTooltip=!1),this.setToDoNothing()}prepareToShowTooltip(t){if(this.state!=0||Lt.isLocked)return;let i=0;t&&(i=this.isLastTooltipHiddenRecently()?200:this.getTooltipDelay("show")),this.lastMouseEvent=t||null,this.showTooltipTimeoutId=window.setTimeout(this.showTooltip.bind(this),i),this.state=1}isLastTooltipHiddenRecently(){return new Date().getTime()-Lt.lastTooltipHideTime<1e3}setToDoNothing(t){t||this.state!==2||this.hideTooltip(),this.onBodyScrollEventCallback&&(this.onBodyScrollEventCallback(),this.onBodyScrollEventCallback=void 0),this.onColumnMovedEventCallback&&(this.onColumnMovedEventCallback(),this.onColumnMovedEventCallback=void 0),this.onDocumentKeyDownCallback&&(this.onDocumentKeyDownCallback(),this.onDocumentKeyDownCallback=void 0),this.clearTimeouts(),this.state=0,this.lastMouseEvent=null}showTooltip(){const t={...this.parentComp.getTooltipParams()};if(!M(t.value)||this.shouldDisplayTooltip&&!this.shouldDisplayTooltip())return void this.setToDoNothing();this.state=2,this.tooltipInstanceCount++;const i=this.newTooltipComponentCallback.bind(this,this.tooltipInstanceCount);this.userComponentFactory.getTooltipCompDetails(t).newAgStackInstance().then(i)}hideTooltip(t){!t&&this.isInteractingWithTooltip||(this.tooltipComp&&(this.destroyTooltipComp(),Lt.lastTooltipHideTime=new Date().getTime()),this.eventService.dispatchEvent({type:"tooltipHide",parentGui:this.parentComp.getGui()}),t&&(this.isInteractingWithTooltip=!1),this.setToDoNothing(!0))}newTooltipComponentCallback(t,i){if(this.state!==2||this.tooltipInstanceCount!==t)return void this.destroyBean(i);const s=i.getGui();this.tooltipComp=i,s.classList.contains("ag-tooltip")||s.classList.add("ag-tooltip-custom"),this.tooltipTrigger===0&&s.classList.add("ag-tooltip-animate"),this.interactionEnabled&&s.classList.add("ag-tooltip-interactive");const o=this.localeService.getLocaleTextFunc(),n=this.popupService.addPopup({eChild:s,ariaLabel:o("ariaLabelTooltip","Tooltip")});if(n&&(this.tooltipPopupDestroyFunc=n.hideFunc),this.positionTooltip(),this.tooltipTrigger===1){const r=()=>this.setToDoNothing();[this.onBodyScrollEventCallback,this.onColumnMovedEventCallback]=this.addManagedEventListeners({bodyScroll:r,columnMoved:r})}this.interactionEnabled&&([this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener]=this.addManagedElementListeners(s,{mouseenter:this.onTooltipMouseEnter.bind(this),mouseleave:this.onTooltipMouseLeave.bind(this)}),[this.onDocumentKeyDownCallback]=this.addManagedElementListeners(ae(this.gos),{keydown:r=>{s.contains(r==null?void 0:r.target)||this.onKeyDown()}}),this.tooltipTrigger===1&&([this.tooltipFocusInListener,this.tooltipFocusOutListener]=this.addManagedElementListeners(s,{focusin:this.onTooltipFocusIn.bind(this),focusout:this.onTooltipFocusOut.bind(this)}))),this.eventService.dispatchEvent({type:"tooltipShow",tooltipGui:s,parentGui:this.parentComp.getGui()}),this.startHideTimeout()}onTooltipMouseEnter(){this.isInteractingWithTooltip=!0,this.unlockService()}onTooltipMouseLeave(){this.isTooltipFocused()||(this.isInteractingWithTooltip=!1,this.lockService())}onTooltipFocusIn(){this.isInteractingWithTooltip=!0}isTooltipFocused(){var s;const t=(s=this.tooltipComp)==null?void 0:s.getGui(),i=re(this.gos);return!!t&&t.contains(i)}onTooltipFocusOut(t){const i=this.parentComp.getGui();this.isTooltipFocused()||(this.isInteractingWithTooltip=!1,i.contains(t.relatedTarget)?this.startHideTimeout():this.hideTooltip())}positionTooltip(){const t={type:"tooltip",ePopup:this.tooltipComp.getGui(),nudgeY:18,skipObserver:this.tooltipMouseTrack};this.lastMouseEvent?this.popupService.positionPopupUnderMouseEvent({...t,mouseEvent:this.lastMouseEvent}):this.popupService.positionPopupByComponent({...t,eventSource:this.parentComp.getGui(),position:"under",keepWithinBounds:!0,nudgeY:5})}destroyTooltipComp(){this.tooltipComp.getGui().classList.add("ag-tooltip-hiding");const t=this.tooltipPopupDestroyFunc,i=this.tooltipComp,s=this.tooltipTrigger===0?1e3:0;window.setTimeout(()=>{t(),this.destroyBean(i)},s),this.clearTooltipListeners(),this.tooltipPopupDestroyFunc=void 0,this.tooltipComp=void 0}clearTooltipListeners(){[this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener,this.tooltipFocusInListener,this.tooltipFocusOutListener].forEach(t=>{t&&t()}),this.tooltipMouseEnterListener=this.tooltipMouseLeaveListener=this.tooltipFocusInListener=this.tooltipFocusOutListener=null}lockService(){Lt.isLocked=!0,this.interactiveTooltipTimeoutId=window.setTimeout(()=>{this.unlockService(),this.setToDoNothing()},100)}unlockService(){Lt.isLocked=!1,this.clearInteractiveTimeout()}startHideTimeout(){this.clearHideTimeout(),this.hideTooltipTimeoutId=window.setTimeout(this.hideTooltip.bind(this),this.getTooltipDelay("hide"))}clearShowTimeout(){this.showTooltipTimeoutId&&(window.clearTimeout(this.showTooltipTimeoutId),this.showTooltipTimeoutId=void 0)}clearHideTimeout(){this.hideTooltipTimeoutId&&(window.clearTimeout(this.hideTooltipTimeoutId),this.hideTooltipTimeoutId=void 0)}clearInteractiveTimeout(){this.interactiveTooltipTimeoutId&&(window.clearTimeout(this.interactiveTooltipTimeoutId),this.interactiveTooltipTimeoutId=void 0)}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout(),this.clearInteractiveTimeout()}};Mn.isLocked=!1;var _l=Mn,Kt=class extends b{constructor(e,t){super(),this.ctrl=e,t&&(this.beans=t)}wireBeans(e){this.beans=e}postConstruct(){this.refreshToolTip()}setBrowserTooltip(e){const t="title",i=this.ctrl.getGui();i&&(e!=null&&e!=""?i.setAttribute(t,e):i.removeAttribute(t))}updateTooltipText(){this.tooltip=this.ctrl.getTooltipValue()}createTooltipFeatureIfNeeded(){var t,i,s,o;if(this.tooltipManager!=null)return;const e={getTooltipParams:()=>this.getTooltipParams(),getGui:()=>this.ctrl.getGui()};this.tooltipManager=this.createBean(new _l(e,(i=(t=this.ctrl).getTooltipShowDelayOverride)==null?void 0:i.call(t),(o=(s=this.ctrl).getTooltipHideDelayOverride)==null?void 0:o.call(s),this.ctrl.shouldDisplayTooltip),this.beans.context)}refreshToolTip(){this.browserTooltips=this.beans.gos.get("enableBrowserTooltips"),this.updateTooltipText(),this.browserTooltips?(this.setBrowserTooltip(this.tooltip),this.tooltipManager&&(this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context))):(this.setBrowserTooltip(null),this.createTooltipFeatureIfNeeded())}getTooltipParams(){var o,n,r,l,a;const e=this.ctrl,t=(o=e.getColumn)==null?void 0:o.call(e),i=(n=e.getColDef)==null?void 0:n.call(e),s=(r=e.getRowNode)==null?void 0:r.call(e);return{location:e.getLocation(),colDef:i,column:t,rowIndex:(l=e.getRowIndex)==null?void 0:l.call(e),node:s,data:s==null?void 0:s.data,value:this.getTooltipText(),valueFormatted:(a=e.getValueFormatted)==null?void 0:a.call(e),hideTooltipCallback:()=>{var h;return(h=this.tooltipManager)==null?void 0:h.hideTooltip(!0)}}}getTooltipText(){return this.tooltip}destroy(){this.tooltipManager&&(this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context)),super.destroy()}},jl=new Ut,O=null,ee=class hl extends b{constructor(t,i){super(),this.suppressDataRefValidation=!1,this.displayed=!0,this.visible=!0,this.compId=jl.next(),this.cssClassManager=new di(()=>this.eGui),this.componentSelectors=new Map((i??[]).map(s=>[s.selector,s])),t&&this.setTemplate(t)}preWireBeans(t){super.preWireBeans(t)}preConstruct(){this.usingBrowserTooltips=this.gos.get("enableBrowserTooltips"),this.wireTemplate(this.getGui())}wireTemplate(t,i){t&&this.gos&&(this.applyElementsToComponent(t),this.createChildComponentsFromTags(t,i))}getCompId(){return this.compId}getTooltipParams(){return{value:this.tooltipText,location:"UNKNOWN"}}setTooltip(t){const{newTooltipText:i,showDelayOverride:s,hideDelayOverride:o,location:n,shouldDisplayTooltip:r}=t||{};this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),this.tooltipText!==i&&(this.tooltipText=i);const l=()=>this.tooltipText;i!=null&&(this.tooltipFeature=this.createBean(new Kt({getTooltipValue:l,getGui:()=>this.getGui(),getLocation:()=>n??"UNKNOWN",getColDef:t==null?void 0:t.getColDef,getColumn:t==null?void 0:t.getColumn,getTooltipShowDelayOverride:s!=null?()=>s:void 0,getTooltipHideDelayOverride:o!=null?()=>o:void 0,shouldDisplayTooltip:r})))}getDataRefAttribute(t){return t.getAttribute?t.getAttribute("data-ref"):null}applyElementsToComponent(t,i,s,o=null){if(i===void 0&&(i=this.getDataRefAttribute(t)),i){const n=this[i];if(n===O)this[i]=o??t;else{const r=s&&s[i];this.suppressDataRefValidation||r||R(`Issue with data-ref: ${i} on ${this.constructor.name} with ${n}`)}}}createChildComponentsFromTags(t,i){(function(s){if(s==null)return[];const o=[];return bn(s,n=>o.push(n)),o})(t.childNodes).forEach(s=>{if(!(s instanceof HTMLElement))return;const o=this.createComponentFromElement(s,n=>{n.getGui()&&this.copyAttributesFromNode(s,n.getGui())},i);if(o){if(o.addItems&&s.children.length){this.createChildComponentsFromTags(s,i);const n=Array.prototype.slice.call(s.children);o.addItems(n)}this.swapComponentForNode(o,t,s)}else s.childNodes&&this.createChildComponentsFromTags(s,i)})}createComponentFromElement(t,i,s){const o=t.nodeName,n=this.getDataRefAttribute(t),r=o.indexOf("AG-")===0,l=r?this.componentSelectors.get(o):null;let a=null;if(l){hl.elementGettingCreated=t;const h=s&&n?s[n]:void 0;a=new l.component(h),a.setParentComponent(this),this.createBean(a,null,i)}else r&&R(`Missing selector: ${o}`);return this.applyElementsToComponent(t,n,s,a),a}copyAttributesFromNode(t,i){(function(s,o){if(s)for(let n=0;n<s.length;n++){const r=s[n];o(r.name,r.value)}})(t.attributes,(s,o)=>i.setAttribute(s,o))}swapComponentForNode(t,i,s){const o=t.getGui();i.replaceChild(o,s),i.insertBefore(document.createComment(s.nodeName),o),this.addDestroyFunc(this.destroyBean.bind(this,t))}activateTabIndex(t){const i=this.gos.get("tabIndex");t||(t=[]),t.length||t.push(this.getGui()),t.forEach(s=>s.setAttribute("tabindex",i.toString()))}setTemplate(t,i,s){const o=pi(t);this.setTemplateFromElement(o,i,s)}setTemplateFromElement(t,i,s,o=!1){if(this.eGui=t,this.suppressDataRefValidation=o,i)for(let n=0;n<i.length;n++){const r=i[n];this.componentSelectors.set(r.selector,r)}this.wireTemplate(t,s)}getGui(){return this.eGui}getFocusableElement(){return this.eGui}getAriaElement(){return this.getFocusableElement()}setParentComponent(t){this.parentComponent=t}getParentComponent(){return this.parentComponent}setGui(t){this.eGui=t}queryForHtmlElement(t){return this.eGui.querySelector(t)}getContainerAndElement(t,i){let s=i;return t==null?null:(s||(s=this.eGui),Os(t)?{element:t,parent:s}:{element:t.getGui(),parent:s})}prependChild(t,i){const{element:s,parent:o}=this.getContainerAndElement(t,i)||{};s&&o&&o.insertAdjacentElement("afterbegin",s)}appendChild(t,i){const{element:s,parent:o}=this.getContainerAndElement(t,i)||{};s&&o&&o.appendChild(s)}isDisplayed(){return this.displayed}setVisible(t,i={}){if(t!==this.visible){this.visible=t;const{skipAriaHidden:s}=i;(function(o,n,r={}){const{skipAriaHidden:l}=r;o.classList.toggle("ag-invisible",!n),l||Cn(o,!n)})(this.eGui,t,{skipAriaHidden:s})}}setDisplayed(t,i={}){if(t!==this.displayed){this.displayed=t;const{skipAriaHidden:s}=i;le(this.eGui,t,{skipAriaHidden:s});const o={type:"displayChanged",visible:this.displayed};this.dispatchLocalEvent(o)}}destroy(){this.parentComponent&&(this.parentComponent=void 0),this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),super.destroy()}addGuiEventListener(t,i,s){this.eGui.addEventListener(t,i,s),this.addDestroyFunc(()=>this.eGui.removeEventListener(t,i))}addCssClass(t){this.cssClassManager.addCssClass(t)}removeCssClass(t){this.cssClassManager.removeCssClass(t)}containsCssClass(t){return this.cssClassManager.containsCssClass(t)}addOrRemoveCssClass(t,i){this.cssClassManager.addOrRemoveCssClass(t,i)}},xn={columnGroupOpened:"expanded",columnGroupClosed:"contracted",columnSelectClosed:"tree-closed",columnSelectOpen:"tree-open",columnSelectIndeterminate:"tree-indeterminate",columnMovePin:"pin",columnMoveHide:"eye-slash",columnMoveMove:"arrows",columnMoveLeft:"left",columnMoveRight:"right",columnMoveGroup:"group",columnMoveValue:"aggregation",columnMovePivot:"pivot",dropNotAllowed:"not-allowed",groupContracted:"tree-closed",groupExpanded:"tree-open",setFilterGroupClosed:"tree-closed",setFilterGroupOpen:"tree-open",setFilterGroupIndeterminate:"tree-indeterminate",chart:"chart",close:"cross",cancel:"cancel",check:"tick",first:"first",previous:"previous",next:"next",last:"last",linked:"linked",unlinked:"unlinked",colorPicker:"color-picker",groupLoading:"loading",menu:"menu",menuAlt:"menu-alt",filter:"filter",columns:"columns",maximize:"maximize",minimize:"minimize",menuPin:"pin",menuValue:"aggregation",menuAddRowGroup:"group",menuRemoveRowGroup:"group",clipboardCopy:"copy",clipboardCut:"cut",clipboardPaste:"paste",pivotPanel:"pivot",rowGroupPanel:"group",valuePanel:"aggregation",columnDrag:"grip",rowDrag:"grip",save:"save",csvExport:"csv",excelExport:"excel",smallDown:"small-down",smallLeft:"small-left",smallRight:"small-right",smallUp:"small-up",sortAscending:"asc",sortDescending:"desc",sortUnSort:"none",advancedFilterBuilder:"group",advancedFilterBuilderDrag:"grip",advancedFilterBuilderInvalid:"not-allowed",advancedFilterBuilderMoveUp:"up",advancedFilterBuilderMoveDown:"down",advancedFilterBuilderAdd:"plus",advancedFilterBuilderRemove:"minus",chartsMenuEdit:"chart",chartsMenuAdvancedSettings:"settings",chartsMenuAdd:"plus",checkboxChecked:"checkbox-checked",checkboxIndeterminate:"checkbox-indeterminate",checkboxUnchecked:"checkbox-unchecked",radioButtonOn:"radio-button-on",radioButtonOff:"radio-button-off"},ql=(()=>{const e=new Set(Object.values(xn));return e.add("eye"),e})();function Ae(e,t,i,s){let o=null;const n=i&&i.getColDef().icons;if(n&&(o=n[e]),t&&!o){const r=t.get("icons");r&&(o=r[e])}if(!o){const r=document.createElement("span");let l=xn[e]??(ql.has(e)?e:void 0);return l||(R(`Did not find icon ${e}`),l=""),r.setAttribute("class",`ag-icon ag-icon-${l}`),r.setAttribute("unselectable","on"),Ve(r,"presentation"),r}{let r;if(typeof o=="function")r=o();else{if(typeof o!="string")throw new Error("icon from grid options needs to be a string or a function");r=o}if(typeof r=="string")return pi(r);if(Os(r))return r;R("iconRenderer should return back a string or a dom object")}}var Ql=class extends ee{constructor(){super(...arguments),this.dragSource=null,this.eIcon=O,this.eLabel=O}postConstruct(){const e=t=>function(i,s,o){const n=Ae(i,s,o);if(n){const{className:l}=n;if(typeof l=="string"&&l.indexOf("ag-icon")>-1||typeof l=="object"&&l["ag-icon"])return n}const r=document.createElement("span");return r.appendChild(n),r}(t,this.gos,null);this.dropIconMap={pinned:e("columnMovePin"),hide:e("columnMoveHide"),move:e("columnMoveMove"),left:e("columnMoveLeft"),right:e("columnMoveRight"),group:e("columnMoveGroup"),aggregate:e("columnMoveValue"),pivot:e("columnMovePivot"),notAllowed:e("dropNotAllowed")}}init(e){this.dragSource=e.dragSource,this.setTemplate(`<div class="ag-dnd-ghost ag-unselectable">
1
+ var al;import{Q as p,R as x,S as ko,T as vl,U as wl,j as ti,V as Sl,W as yl,X as bl}from"./index-CgxFL2cr.js";var Ot=class{constructor(){this.allSyncListeners=new Map,this.allAsyncListeners=new Map,this.globalSyncListeners=new Set,this.globalAsyncListeners=new Set,this.asyncFunctionsQueue=[],this.scheduled=!1,this.firedEvents={}}setFrameworkOverrides(e){this.frameworkOverrides=e}getListeners(e,t,i){const s=t?this.allAsyncListeners:this.allSyncListeners;let o=s.get(e);return!o&&i&&(o=new Set,s.set(e,o)),o}noRegisteredListenersExist(){return this.allSyncListeners.size===0&&this.allAsyncListeners.size===0&&this.globalSyncListeners.size===0&&this.globalAsyncListeners.size===0}addEventListener(e,t,i=!1){this.getListeners(e,i,!0).add(t)}removeEventListener(e,t,i=!1){const s=this.getListeners(e,i,!1);s&&(s.delete(t),s.size===0)&&(i?this.allAsyncListeners:this.allSyncListeners).delete(e)}addGlobalListener(e,t=!1){(t?this.globalAsyncListeners:this.globalSyncListeners).add(e)}removeGlobalListener(e,t=!1){(t?this.globalAsyncListeners:this.globalSyncListeners).delete(e)}dispatchEvent(e){const t=e;this.dispatchToListeners(t,!0),this.dispatchToListeners(t,!1),this.firedEvents[t.type]=!0}dispatchEventOnce(e){this.firedEvents[e.type]||this.dispatchEvent(e)}dispatchToListeners(e,t){const i=e.type;if(t&&"event"in e){const r=e.event;r instanceof Event&&(e.eventPath=r.composedPath())}const s=(r,l)=>r.forEach(a=>{if(!l.has(a))return;const h=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming(()=>a(e)):()=>a(e);t?this.dispatchAsync(h):h()}),o=this.getListeners(i,t,!1)??new Set,n=new Set(o);n.size>0&&s(n,o),new Set(t?this.globalAsyncListeners:this.globalSyncListeners).forEach(r=>{const l=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming(()=>r(i,e)):()=>r(i,e);t?this.dispatchAsync(l):l()})}dispatchAsync(e){if(this.asyncFunctionsQueue.push(e),!this.scheduled){const t=()=>{window.setTimeout(this.flushAsyncQueue.bind(this),0)};this.frameworkOverrides?this.frameworkOverrides.wrapIncoming(t):t(),this.scheduled=!0}}flushAsyncQueue(){this.scheduled=!1;const e=this.asyncFunctionsQueue.slice();this.asyncFunctionsQueue=[],e.forEach(t=>t())}},Oo=(e=>(e.CommunityCoreModule="@ag-grid-community/core",e.InfiniteRowModelModule="@ag-grid-community/infinite-row-model",e.ClientSideRowModelModule="@ag-grid-community/client-side-row-model",e.CsvExportModule="@ag-grid-community/csv-export",e.EnterpriseCoreModule="@ag-grid-enterprise/core",e.RowGroupingModule="@ag-grid-enterprise/row-grouping",e.ColumnsToolPanelModule="@ag-grid-enterprise/column-tool-panel",e.FiltersToolPanelModule="@ag-grid-enterprise/filter-tool-panel",e.MenuModule="@ag-grid-enterprise/menu",e.SetFilterModule="@ag-grid-enterprise/set-filter",e.MultiFilterModule="@ag-grid-enterprise/multi-filter",e.StatusBarModule="@ag-grid-enterprise/status-bar",e.SideBarModule="@ag-grid-enterprise/side-bar",e.RangeSelectionModule="@ag-grid-enterprise/range-selection",e.MasterDetailModule="@ag-grid-enterprise/master-detail",e.RichSelectModule="@ag-grid-enterprise/rich-select",e.GridChartsModule="@ag-grid-enterprise/charts",e.ViewportRowModelModule="@ag-grid-enterprise/viewport-row-model",e.ServerSideRowModelModule="@ag-grid-enterprise/server-side-row-model",e.ExcelExportModule="@ag-grid-enterprise/excel-export",e.ClipboardModule="@ag-grid-enterprise/clipboard",e.SparklinesModule="@ag-grid-enterprise/sparklines",e.AdvancedFilterModule="@ag-grid-enterprise/advanced-filter",e.AngularModule="@ag-grid-community/angular",e.ReactModule="@ag-grid-community/react",e.VueModule="@ag-grid-community/vue",e))(Oo||{}),Go={};function as(e,t){Go[t]||(e(),Go[t]=!0)}function He(e,...t){console.log("AG Grid: "+e,...t)}function R(e,...t){as(()=>console.warn("AG Grid: "+e,...t),e+(t==null?void 0:t.join("")))}function Q(e,...t){as(()=>console.error("AG Grid: "+e,...t),e+(t==null?void 0:t.join("")))}function hs(e){return!!(e&&e.constructor&&e.call&&e.apply)}function Rl(e){(function(t,i=0){t.length>0&&window.setTimeout(()=>t.forEach(s=>s()),i)})(e,400)}var ds=[],cs=!1;function No(e){ds.push(e),cs||(cs=!0,window.setTimeout(()=>{const t=ds.slice();ds.length=0,cs=!1,t.forEach(i=>i())},0))}function Se(e,t){let i;return function(...s){const o=this;window.clearTimeout(i),i=window.setTimeout(function(){e.apply(o,s)},t)}}function Ho(e,t){let i=0;return function(...s){const o=new Date().getTime();o-i<t||(i=o,e.apply(this,s))}}function Je(e){return e==null||e===""?null:e}function M(e,t=!1){return e!=null&&(e!==""||t)}function K(e){return!M(e)}function Me(e){return e==null||e.length===0}function us(e){return e!=null&&typeof e.toString=="function"?e.toString():null}function ft(e){if(e===void 0)return;if(e===null||e==="")return null;if(typeof e=="number")return isNaN(e)?void 0:e;const t=parseInt(e,10);return isNaN(t)?void 0:t}function gs(e){if(e!==void 0)return e!==null&&e!==""&&ps(e)}function ps(e){return typeof e=="boolean"?e:typeof e=="string"&&(e.toUpperCase()==="TRUE"||e=="")}function ii(e,t){return(e?JSON.stringify(e):null)===(t?JSON.stringify(t):null)}function Fl(e,t,i=!1){const s=e==null,o=t==null;if(e&&e.toNumber&&(e=e.toNumber()),t&&t.toNumber&&(t=t.toNumber()),s&&o)return 0;if(s)return-1;if(o)return 1;function n(r,l){return r>l?1:r<l?-1:0}if(typeof e!="string"||!i)return n(e,t);try{return e.localeCompare(t)}catch{return n(e,t)}}function Mi(e){if(e instanceof Set||e instanceof Map){const t=[];return e.forEach(i=>t.push(i)),t}return Object.values(e)}function Bo(e,t){return e.get("rowModelType")===t}function ie(e){return Bo(e,"clientSide")}function Ke(e){return Bo(e,"serverSide")}function Ce(e,t){return e.get("domLayout")===t}function xi(e){return ki(e)!==void 0}function Ai(e){return!e.get("suppressAsyncEvents")}function Vo(e){return typeof e.get("getRowHeight")=="function"}function lt(e,t,i=!1,s){if(s==null&&(s=e.environment.getDefaultRowHeight()),Vo(e)){if(i)return{height:s,estimated:!0};const n={node:t,data:t.data},r=e.getCallback("getRowHeight")(n);if(ms(r))return r===0&&R("The return of `getRowHeight` cannot be zero. If the intention is to hide rows, use a filter instead."),{height:Math.max(1,r),estimated:!1}}if(t.detail&&e.get("masterDetail"))return function(n){if(n.get("detailRowAutoHeight"))return{height:1,estimated:!1};const r=n.get("detailRowHeight");return ms(r)?{height:r,estimated:!1}:{height:300,estimated:!1}}(e);const o=e.get("rowHeight");return{height:o&&ms(o)?o:s,estimated:!1}}function vt(e){const{environment:t}=e,i=e.get("rowHeight");if(!i||K(i))return t.getDefaultRowHeight();const s=t.refreshRowHeightVariable();return s!==-1?s:(R("row height must be a number if not using standard row model"),t.getDefaultRowHeight())}function ms(e){return!isNaN(e)&&typeof e=="number"&&isFinite(e)}function si(e,t,i){const s=t[e.getDomDataKey()];return s?s[i]:void 0}function wt(e,t,i,s){const o=e.getDomDataKey();let n=t[o];K(n)&&(n={},t[o]=n),n[i]=s}function ae(e){let t=null;const i=e.get("getDocument");return i&&M(i)?t=i():e.eGridDiv&&(t=e.eGridDiv.ownerDocument),t&&M(t)?t:document}function Wo(e){return ae(e).defaultView||window}function oi(e){return e.eGridDiv.getRootNode()}function re(e){return oi(e).activeElement}function zo(e){const t=ae(e),i=re(e);return i===null||i===t.body}function Gt(e){return!e.get("ensureDomOrder")&&e.get("animateRows")}function Ti(e){return!(e.get("paginateChildRows")||e.get("groupHideOpenParents")||Ce(e,"print"))}function $e(e){const t=e.get("autoGroupColumnDef");return!(t!=null&&t.comparator)&&!e.get("treeData")}function Cs(e){const t=e.get("groupAggFiltering");return typeof t=="function"?e.getCallback("groupAggFiltering"):t===!0?()=>!0:void 0}function Uo(e){const t=e.get("grandTotalRow");return t||(e.get("groupIncludeTotalFooter")?"bottom":void 0)}function Ko(e){const t=e.get("groupTotalRow");if(typeof t=="function")return e.getCallback("groupTotalRow");if(t)return()=>t;const i=e.get("groupIncludeFooter");if(typeof i=="function"){const s=e.getCallback("groupIncludeFooter");return o=>s(o)?"bottom":void 0}return()=>i?"bottom":void 0}function $o(e){return e.exists("groupDisplayType")?e.get("groupDisplayType")==="multipleColumns":e.get("groupHideOpenParents")}function Ii(e,t){return!t&&e.get("groupDisplayType")==="groupRows"}function Nt(e){const t=e.getCallback("getRowId");return t===void 0?t:i=>{let s=t(i);return typeof s!="string"&&(R("The getRowId callback must return a string. The ID ",s," is being cast to a string."),s=String(s)),s}}function Ht(e){return(e==null?void 0:e.checkboxes)??!0}function Li(e){return(e==null?void 0:e.mode)==="multiRow"&&(e.headerCheckbox??!0)}function Ze(e){const t=e.get("cellSelection");return t!==void 0?!!t:e.get("enableRangeSelection")}function _o(e){var i;const t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"&&((i=t.handle)==null?void 0:i.mode)==="fill":e.get("enableFillHandle")}function jo(e){const t=e.get("rowSelection")??"single";if(typeof t=="string"){const i=e.get("suppressRowClickSelection"),s=e.get("suppressRowDeselection");return(!i||!s)&&(i?"enableDeselection":!s||"enableSelection")}return(t.mode==="singleRow"||t.mode==="multiRow")&&(t.enableClickSelection??!1)}function qo(e){const t=jo(e);return t===!0||t==="enableDeselection"}function fs(e){const t=e.get("rowSelection");return typeof t=="string"?e.get("isRowSelectable"):t==null?void 0:t.isRowSelectable}function ki(e){const t=e.get("rowSelection");if(typeof t=="string")switch(t){case"multiple":return"multiRow";case"single":return"singleRow";default:return}return t==null?void 0:t.mode}function Qo(e){return ki(e)==="multiRow"}function vs(e){const t=e.get("rowSelection");if(typeof t=="string"){const i=e.get("groupSelectsChildren"),s=e.get("groupSelectsFiltered");return i&&s?"filteredDescendants":i?"descendants":"self"}return(t==null?void 0:t.mode)==="multiRow"?t.groupSelects:void 0}function St(e){const t=vs(e);return t==="descendants"||t==="filteredDescendants"}function ws(e){return e.isModuleRegistered("@ag-grid-enterprise/set-filter")&&!e.get("suppressSetFilterByDefault")}function $(e){if(e&&e.length)return e[e.length-1]}function at(e,t,i){return e==null&&t==null||e!=null&&t!=null&&e.length===t.length&&e.every((s,o)=>i?i(s,t[o]):t[o]===s)}function Yo(e,t){const i=e.indexOf(t);i>=0&&(e[i]=e[e.length-1],e.pop())}function ye(e,t){const i=e.indexOf(t);i>=0&&e.splice(i,1)}function Oi(e,t,i){e.splice(i,0,t)}function Xo(e,t,i){(function(s,o){for(let n=0;n<o.length;n++)ye(s,o[n])})(e,t),t.slice().reverse().forEach(s=>Oi(e,s,i))}function yt(e,t){return e.indexOf(t)>-1}function Jo(e,t){t!=null&&e!=null&&t.forEach(i=>e.push(i))}var Zo="__ag_Grid_Stop_Propagation",Pl=["touchstart","touchend","touchmove","touchcancel","scroll"],Ss={};function Bt(e){e[Zo]=!0}function et(e){return e[Zo]===!0}var en=(()=>{const e={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return t=>{if(typeof Ss[t]=="boolean")return Ss[t];const i=document.createElement(e[t]||"div");return Ss[t="on"+t]=t in i}})();function ys(e,t,i){let s=t;for(;s;){const o=si(e,s,i);if(o)return o;s=s.parentElement}return null}function Dl(e,t){return!(!t||!e)&&function(i){const s=i;return s.path?s.path:s.composedPath?s.composedPath():function(o){const n=[];let r=o.target;for(;r;)n.push(r),r=r.parentElement;return n}(s)}(t).indexOf(e)>=0}var b=class{constructor(){this.destroyFunctions=[],this.destroyed=!1,this.__v_skip=!0,this.propertyListenerId=0,this.lastChangeSetIdLookup={},this.isAlive=()=>!this.destroyed}preWireBeans(e){this.frameworkOverrides=e.frameworkOverrides,this.stubContext=e.context,this.eventService=e.eventService,this.gos=e.gos,this.localeService=e.localeService}getFrameworkOverrides(){return this.frameworkOverrides}destroy(){for(let e=0;e<this.destroyFunctions.length;e++)this.destroyFunctions[e]();this.destroyFunctions.length=0,this.destroyed=!0,this.dispatchLocalEvent({type:"destroyed"})}addEventListener(e,t,i){this.localEventService||(this.localEventService=new Ot),this.localEventService.addEventListener(e,t,i)}removeEventListener(e,t,i){this.localEventService&&this.localEventService.removeEventListener(e,t,i)}dispatchLocalEvent(e){this.localEventService&&this.localEventService.dispatchEvent(e)}addManagedElementListeners(e,t){return this._setupListeners(e,t)}addManagedEventListeners(e){return this._setupListeners(this.eventService,e)}addManagedListeners(e,t){return this._setupListeners(e,t)}_setupListeners(e,t){const i=[];for(const s in t){const o=t[s];o&&i.push(this._setupListener(e,s,o))}return i}_setupListener(e,t,i){if(this.destroyed)return()=>null;e instanceof HTMLElement?function(o,n,r,l){const a=yt(Pl,r)?{passive:!0}:void 0;o&&o.addEventListener&&o.addEventListener(n,r,l,a)}(this.getFrameworkOverrides(),e,t,i):e.addEventListener(t,i);const s=()=>(e.removeEventListener(t,i),null);return this.destroyFunctions.push(s),()=>(s(),this.destroyFunctions=this.destroyFunctions.filter(o=>o!==s),null)}setupGridOptionListener(e,t){this.gos.addPropertyEventListener(e,t);const i=()=>(this.gos.removePropertyEventListener(e,t),null);return this.destroyFunctions.push(i),()=>(i(),this.destroyFunctions=this.destroyFunctions.filter(s=>s!==i),null)}addManagedPropertyListener(e,t){return this.destroyed?()=>null:this.setupGridOptionListener(e,t)}addManagedPropertyListeners(e,t){if(this.destroyed)return;const i=e.join("-")+this.propertyListenerId++,s=o=>{if(o.changeSet){if(o.changeSet&&o.changeSet.id===this.lastChangeSetIdLookup[i])return;this.lastChangeSetIdLookup[i]=o.changeSet.id}const n={type:"gridPropertyChanged",changeSet:o.changeSet,source:o.source};t(n)};e.forEach(o=>this.setupGridOptionListener(o,s))}addDestroyFunc(e){this.isAlive()?this.destroyFunctions.push(e):e()}createManagedBean(e,t){const i=this.createBean(e,t);return this.addDestroyFunc(this.destroyBean.bind(this,e,t)),i}createBean(e,t,i){return(t||this.stubContext).createBean(e,i)}destroyBean(e,t){return(t||this.stubContext).destroyBean(e)}destroyBeans(e,t){return(t||this.stubContext).destroyBeans(e)}};function be(e){return e instanceof Gi}var Gi=class extends b{constructor(e,t,i,s){super(),this.isColumn=!1,this.expandable=!1,this.instanceId=on(),this.expandableListenerRemoveCallback=null,this.colGroupDef=e,this.groupId=t,this.expanded=!!e&&!!e.openByDefault,this.padding=i,this.level=s}destroy(){this.expandableListenerRemoveCallback&&this.reset(null,void 0),super.destroy()}reset(e,t){this.colGroupDef=e,this.level=t,this.originalParent=null,this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback(),this.children=void 0,this.expandable=void 0}getInstanceId(){return this.instanceId}setOriginalParent(e){this.originalParent=e}getOriginalParent(){return this.originalParent}getLevel(){return this.level}isVisible(){return!!this.children&&this.children.some(e=>e.isVisible())}isPadding(){return this.padding}setExpanded(e){this.expanded=e!==void 0&&e,this.dispatchLocalEvent({type:"expandedChanged"})}isExpandable(){return this.expandable}isExpanded(){return this.expanded}getGroupId(){return this.groupId}getId(){return this.getGroupId()}setChildren(e){this.children=e}getChildren(){return this.children}getColGroupDef(){return this.colGroupDef}getLeafColumns(){const e=[];return this.addLeafColumns(e),e}addLeafColumns(e){this.children&&this.children.forEach(t=>{dt(t)?e.push(t):be(t)&&t.addLeafColumns(e)})}getColumnGroupShow(){const e=this.colGroupDef;if(e)return e.columnGroupShow}setupExpandable(){this.setExpandable(),this.expandableListenerRemoveCallback&&this.expandableListenerRemoveCallback();const e=this.onColumnVisibilityChanged.bind(this);this.getLeafColumns().forEach(t=>t.addEventListener("visibleChanged",e)),this.expandableListenerRemoveCallback=()=>{this.getLeafColumns().forEach(t=>t.removeEventListener("visibleChanged",e)),this.expandableListenerRemoveCallback=null}}setExpandable(){if(this.isPadding())return;let e=!1,t=!1,i=!1;const s=this.findChildrenRemovingPadding();for(let n=0,r=s.length;n<r;n++){const l=s[n];if(!l.isVisible())continue;const a=l.getColumnGroupShow();a==="open"?(e=!0,i=!0):a==="closed"?(t=!0,i=!0):(e=!0,t=!0)}const o=e&&t&&i;this.expandable!==o&&(this.expandable=o,this.dispatchLocalEvent({type:"expandableChanged"}))}findChildrenRemovingPadding(){const e=[],t=i=>{i.forEach(s=>{be(s)&&s.isPadding()?t(s.children):e.push(s)})};return t(this.children),e}onColumnVisibilityChanged(){this.setExpandable()}},tn="ag-Grid-ControlsColumn",El=class extends b{constructor(){super(...arguments),this.beanName="controlsColService"}createControlsCols(){const{gos:e}=this,t=e.get("rowSelection");if(!t||typeof t!="object")return[];const i=Ht(t),s=Li(t);if(i||s){const o=e.get("selectionColumnDef"),n={maxWidth:50,resizable:!1,suppressHeaderMenuButton:!0,sortable:!1,suppressMovable:!0,lockPosition:e.get("enableRtl")?"right":"left",comparator(l,a,h,d){const c=h.isSelected(),u=d.isSelected();return c&&u?0:c?1:-1},editable:!1,suppressFillHandle:!0,...o,colId:`${tn}`},r=new xs(n,null,n.colId,!1);return this.createBean(r),[r]}return[]}},Ni="ag-Grid-AutoColumn";function bs(e){const t=[],i=s=>{for(let o=0;o<s.length;o++){const n=s[o];dt(n)?t.push(n):be(n)&&i(n.getChildren())}};return i(e),t}function tt(e){return e.reduce((t,i)=>t+i.getActualWidth(),0)}function ht(e,t,i){const s={};if(!t)return;it(null,t,n=>{s[n.getInstanceId()]=n}),i&&it(null,i,n=>{s[n.getInstanceId()]=null});const o=Object.values(s).filter(n=>n!=null);e.destroyBeans(o)}function Rs(e){return e.getId().startsWith(Ni)}function ni(e){return e.getColId().startsWith(tn)}function Hi(e){let t=[];return e instanceof Array?e.some(i=>typeof i!="string")?R("if colDef.type is supplied an array it should be of type 'string[]'"):t=e:typeof e=="string"?t=e.split(","):R("colDef.type should be of type 'string' | 'string[]'"),t}var Fs=class{constructor(e){this.frameworkOverrides=e,this.wrappedListeners=new Map,this.wrappedGlobalListeners=new Map}wrap(e,t){const{frameworkOverrides:i,wrappedListeners:s}=this;let o=t;if(i.shouldWrapOutgoing){o=r=>{i.wrapOutgoing(()=>t(r))};let n=s.get(e);n||(n=new Map,s.set(e,n)),n.set(t,o)}return o}wrapGlobal(e){const{frameworkOverrides:t,wrappedGlobalListeners:i}=this;let s=e;return t.shouldWrapOutgoing&&(s=(o,n)=>{t.wrapOutgoing(()=>e(o,n))},i.set(e,s)),s}unwrap(e,t){const{wrappedListeners:i}=this,s=i.get(e);if(s){const o=s.get(t);if(o)return s.delete(t),s.size===0&&i.delete(e),o}return t}unwrapGlobal(e){const{wrappedGlobalListeners:t}=this,i=t.get(e);return i?(t.delete(e),i):e}},Ps=new Set(["__proto__","constructor","prototype"]);function Be(e,t){if(e!=null)if(Array.isArray(e))for(let i=0;i<e.length;i++)t(i.toString(),e[i]);else for(const[i,s]of Object.entries(e))t(i,s)}function sn(e){const t={},i=Object.keys(e);for(let s=0;s<i.length;s++){if(Ps.has(i[s]))continue;const o=i[s],n=e[o];t[o]=n}return t}function Ds(e,t){if(!e)return;const i=e,s={};return Object.keys(i).forEach(o=>{if(t&&t.indexOf(o)>=0||Ps.has(o))return;const n=i[o],r=Ms(n)&&n.constructor===Object;s[o]=r?Ds(n):n}),s}function Es(e){if(!e)return[];const t=Object;if(typeof t.values=="function")return t.values(e);const i=[];for(const s in e)e.hasOwnProperty(s)&&e.propertyIsEnumerable(s)&&i.push(e[s]);return i}function Re(e,t,i=!0,s=!1){M(t)&&Be(t,(o,n)=>{if(Ps.has(o))return;let r=e[o];r!==n&&(s&&r==null&&n!=null&&typeof n=="object"&&n.constructor===Object&&(r={},e[o]=r),Ms(n)&&Ms(r)&&!Array.isArray(r)?Re(r,n,i,s):(i||n!==void 0)&&(e[o]=n))})}function ri(e,t,i){if(!t||!e)return;if(!i)return e[t];const s=t.split(".");let o=e;for(let n=0;n<s.length;n++){if(o==null)return;o=o[s[n]]}return o}function Ms(e){return typeof e=="object"&&e!==null}var Ml={resizable:!0,sortable:!0},xl=0;function on(){return xl++}function dt(e){return e instanceof xs}var xs=class extends b{constructor(e,t,i,s){super(),this.isColumn=!0,this.instanceId=on(),this.autoHeaderHeight=null,this.moving=!1,this.menuVisible=!1,this.lastLeftPinned=!1,this.firstRightPinned=!1,this.filterActive=!1,this.columnEventService=new Ot,this.tooltipEnabled=!1,this.rowGroupActive=!1,this.pivotActive=!1,this.aggregationActive=!1,this.colDef=e,this.userProvidedColDef=t,this.colId=i,this.primary=s,this.setState(e)}wireBeans(e){this.columnHoverService=e.columnHoverService}getInstanceId(){return this.instanceId}setState(e){e.sort!==void 0?e.sort!=="asc"&&e.sort!=="desc"||(this.sort=e.sort):e.initialSort!=="asc"&&e.initialSort!=="desc"||(this.sort=e.initialSort);const t=e.sortIndex,i=e.initialSortIndex;t!==void 0?t!==null&&(this.sortIndex=t):i!==null&&(this.sortIndex=i);const s=e.hide,o=e.initialHide;this.visible=s!==void 0?!s:!o,e.pinned!==void 0?this.setPinned(e.pinned):this.setPinned(e.initialPinned);const n=e.flex,r=e.initialFlex;n!==void 0?this.flex=n:r!==void 0&&(this.flex=r)}setColDef(e,t,i){this.colDef=e,this.userProvidedColDef=t,this.initMinAndMaxWidths(),this.initDotNotation(),this.initTooltip(),this.columnEventService.dispatchEvent(this.createColumnEvent("colDefChanged",i))}getUserProvidedColDef(){return this.userProvidedColDef}setParent(e){this.parent=e}getParent(){return this.parent}setOriginalParent(e){this.originalParent=e}getOriginalParent(){return this.originalParent}postConstruct(){this.initMinAndMaxWidths(),this.resetActualWidth("gridInitializing"),this.initDotNotation(),this.initTooltip()}initDotNotation(){const e=this.gos.get("suppressFieldDotNotation");this.fieldContainsDots=M(this.colDef.field)&&this.colDef.field.indexOf(".")>=0&&!e,this.tooltipFieldContainsDots=M(this.colDef.tooltipField)&&this.colDef.tooltipField.indexOf(".")>=0&&!e}initMinAndMaxWidths(){const e=this.colDef;this.minWidth=e.minWidth??this.gos.environment.getDefaultColumnMinWidth(),this.maxWidth=e.maxWidth??Number.MAX_SAFE_INTEGER}initTooltip(){this.tooltipEnabled=M(this.colDef.tooltipField)||M(this.colDef.tooltipValueGetter)||M(this.colDef.tooltipComponent)}resetActualWidth(e){const t=this.calculateColInitialWidth(this.colDef);this.setActualWidth(t,e,!0)}calculateColInitialWidth(e){let t;const i=ft(e.width),s=ft(e.initialWidth);return t=i??s??200,Math.max(Math.min(t,this.maxWidth),this.minWidth)}isEmptyGroup(){return!1}isRowGroupDisplayed(e){if(K(this.colDef)||K(this.colDef.showRowGroup))return!1;const t=this.colDef.showRowGroup===!0,i=this.colDef.showRowGroup===e;return t||i}isPrimary(){return this.primary}isFilterAllowed(){return!!this.colDef.filter}isFieldContainsDots(){return this.fieldContainsDots}isTooltipEnabled(){return this.tooltipEnabled}isTooltipFieldContainsDots(){return this.tooltipFieldContainsDots}getHighlighted(){return this.highlighted}addEventListener(e,t){var s;this.frameworkOverrides.shouldWrapOutgoing&&!this.frameworkEventListenerService&&(this.columnEventService.setFrameworkOverrides(this.frameworkOverrides),this.frameworkEventListenerService=new Fs(this.frameworkOverrides));const i=((s=this.frameworkEventListenerService)==null?void 0:s.wrap(e,t))??t;this.columnEventService.addEventListener(e,i)}removeEventListener(e,t){var s;const i=((s=this.frameworkEventListenerService)==null?void 0:s.unwrap(e,t))??t;this.columnEventService.removeEventListener(e,i)}createColumnFunctionCallbackParams(e){return this.gos.addGridCommonParams({node:e,data:e.data,column:this,colDef:this.colDef})}isSuppressNavigable(e){if(typeof this.colDef.suppressNavigable=="boolean")return this.colDef.suppressNavigable;if(typeof this.colDef.suppressNavigable=="function"){const t=this.createColumnFunctionCallbackParams(e);return(0,this.colDef.suppressNavigable)(t)}return!1}isCellEditable(e){if(e.group){if(this.gos.get("treeData")){if(!e.data&&!this.gos.get("enableGroupEdit"))return!1}else if(!this.gos.get("enableGroupEdit"))return!1}return this.isColumnFunc(e,this.colDef.editable)}isSuppressFillHandle(){return!!this.colDef.suppressFillHandle}isAutoHeight(){return!!this.colDef.autoHeight}isAutoHeaderHeight(){return!!this.colDef.autoHeaderHeight}isRowDrag(e){return this.isColumnFunc(e,this.colDef.rowDrag)}isDndSource(e){return this.isColumnFunc(e,this.colDef.dndSource)}isCellCheckboxSelection(e){const t=this.gos.get("rowSelection");if(t&&typeof t!="string"){const i=ni(this)&&Ht(t);return this.isColumnFunc(e,i)}return this.isColumnFunc(e,this.colDef.checkboxSelection)}isSuppressPaste(e){return this.isColumnFunc(e,this.colDef?this.colDef.suppressPaste:null)}isResizable(){return!!this.getColDefValue("resizable")}getColDefValue(e){return this.colDef[e]??Ml[e]}isColumnFunc(e,t){return typeof t=="boolean"?t:typeof t=="function"?t(this.createColumnFunctionCallbackParams(e)):!1}setHighlighted(e){this.highlighted!==e&&(this.highlighted=e,this.columnEventService.dispatchEvent(this.createColumnEvent("headerHighlightChanged","uiColumnMoved")))}setMoving(e,t){this.moving=e,this.columnEventService.dispatchEvent(this.createColumnEvent("movingChanged",t))}createColumnEvent(e,t){return this.gos.addGridCommonParams({type:e,column:this,columns:[this],source:t})}isMoving(){return this.moving}getSort(){return this.sort}setSort(e,t){this.sort!==e&&(this.sort=e,this.columnEventService.dispatchEvent(this.createColumnEvent("sortChanged",t))),this.dispatchStateUpdatedEvent("sort")}isSortable(){return!!this.getColDefValue("sortable")}isSortAscending(){return this.sort==="asc"}isSortDescending(){return this.sort==="desc"}isSortNone(){return K(this.sort)}isSorting(){return M(this.sort)}getSortIndex(){return this.sortIndex}setSortIndex(e){this.sortIndex=e,this.dispatchStateUpdatedEvent("sortIndex")}setMenuVisible(e,t){this.menuVisible!==e&&(this.menuVisible=e,this.columnEventService.dispatchEvent(this.createColumnEvent("menuVisibleChanged",t)))}isMenuVisible(){return this.menuVisible}setAggFunc(e){this.aggFunc=e,this.dispatchStateUpdatedEvent("aggFunc")}getAggFunc(){return this.aggFunc}getLeft(){return this.left}getOldLeft(){return this.oldLeft}getRight(){return this.left+this.actualWidth}setLeft(e,t){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.columnEventService.dispatchEvent(this.createColumnEvent("leftChanged",t)))}isFilterActive(){return this.filterActive}setFilterActive(e,t,i){this.filterActive!==e&&(this.filterActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("filterActiveChanged",t)));const s=this.createColumnEvent("filterChanged",t);i&&Re(s,i),this.columnEventService.dispatchEvent(s)}isHovered(){return this.columnHoverService.isHovered(this)}setPinned(e){this.pinned=e===!0||e==="left"?"left":e==="right"?"right":null,this.dispatchStateUpdatedEvent("pinned")}setFirstRightPinned(e,t){this.firstRightPinned!==e&&(this.firstRightPinned=e,this.columnEventService.dispatchEvent(this.createColumnEvent("firstRightPinnedChanged",t)))}setLastLeftPinned(e,t){this.lastLeftPinned!==e&&(this.lastLeftPinned=e,this.columnEventService.dispatchEvent(this.createColumnEvent("lastLeftPinnedChanged",t)))}isFirstRightPinned(){return this.firstRightPinned}isLastLeftPinned(){return this.lastLeftPinned}isPinned(){return this.pinned==="left"||this.pinned==="right"}isPinnedLeft(){return this.pinned==="left"}isPinnedRight(){return this.pinned==="right"}getPinned(){return this.pinned}setVisible(e,t){const i=e===!0;this.visible!==i&&(this.visible=i,this.columnEventService.dispatchEvent(this.createColumnEvent("visibleChanged",t))),this.dispatchStateUpdatedEvent("hide")}isVisible(){return this.visible}isSpanHeaderHeight(){return!this.getColDef().suppressSpanHeaderHeight}getColumnGroupPaddingInfo(){let e=this.getParent();if(!e||!e.isPadding())return{numberOfParents:0,isSpanningTotal:!1};const t=e.getPaddingLevel()+1;let i=!0;for(;e;){if(!e.isPadding()){i=!1;break}e=e.getParent()}return{numberOfParents:t,isSpanningTotal:i}}getColDef(){return this.colDef}getDefinition(){return this.colDef}getColumnGroupShow(){return this.colDef.columnGroupShow}getColId(){return this.colId}getId(){return this.colId}getUniqueId(){return this.colId}getActualWidth(){return this.actualWidth}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){const t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}createBaseColDefParams(e){return this.gos.addGridCommonParams({node:e,data:e.data,colDef:this.colDef,column:this})}getColSpan(e){if(K(this.colDef.colSpan))return 1;const t=this.createBaseColDefParams(e),i=this.colDef.colSpan(t);return Math.max(i,1)}getRowSpan(e){if(K(this.colDef.rowSpan))return 1;const t=this.createBaseColDefParams(e),i=this.colDef.rowSpan(t);return Math.max(i,1)}setActualWidth(e,t,i=!1){e=Math.max(e,this.minWidth),e=Math.min(e,this.maxWidth),this.actualWidth!==e&&(this.actualWidth=e,this.flex&&t!=="flex"&&t!=="gridInitializing"&&(this.flex=null),i||this.fireColumnWidthChangedEvent(t)),this.dispatchStateUpdatedEvent("width")}fireColumnWidthChangedEvent(e){this.columnEventService.dispatchEvent(this.createColumnEvent("widthChanged",e))}isGreaterThanMax(e){return e>this.maxWidth}getMinWidth(){return this.minWidth}getMaxWidth(){return this.maxWidth}getFlex(){return this.flex||0}setFlex(e){this.flex!==e&&(this.flex=e),this.dispatchStateUpdatedEvent("flex")}setMinimum(e){this.setActualWidth(this.minWidth,e)}setRowGroupActive(e,t){this.rowGroupActive!==e&&(this.rowGroupActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnRowGroupChanged",t))),this.dispatchStateUpdatedEvent("rowGroup")}isRowGroupActive(){return this.rowGroupActive}setPivotActive(e,t){this.pivotActive!==e&&(this.pivotActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnPivotChanged",t))),this.dispatchStateUpdatedEvent("pivot")}isPivotActive(){return this.pivotActive}isAnyFunctionActive(){return this.isPivotActive()||this.isRowGroupActive()||this.isValueActive()}isAnyFunctionAllowed(){return this.isAllowPivot()||this.isAllowRowGroup()||this.isAllowValue()}setValueActive(e,t){this.aggregationActive!==e&&(this.aggregationActive=e,this.columnEventService.dispatchEvent(this.createColumnEvent("columnValueChanged",t)))}isValueActive(){return this.aggregationActive}isAllowPivot(){return this.colDef.enablePivot===!0}isAllowValue(){return this.colDef.enableValue===!0}isAllowRowGroup(){return this.colDef.enableRowGroup===!0}dispatchStateUpdatedEvent(e){this.columnEventService.dispatchEvent({type:"columnStateUpdated",key:e})}},Al={numericColumn:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"},rightAligned:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"}},Tl=class{constructor(){this.existingKeys={}}addExistingKeys(e){for(let t=0;t<e.length;t++)this.existingKeys[e[t]]=!0}getUniqueKey(e,t){e=us(e);let i=0;for(;;){let s;if(e?(s=e,i!==0&&(s+="_"+i)):t?(s=t,i!==0&&(s+="_"+i)):s=i,!this.existingKeys[s])return this.existingKeys[s]=!0,String(s);i++}}},Il=class extends b{constructor(){super(...arguments),this.beanName="columnFactory"}wireBeans(e){this.dataTypeService=e.dataTypeService}createColumnTree(e,t,i,s){const o=new Tl,{existingCols:n,existingGroups:r,existingColKeys:l}=this.extractExistingTreeData(i);o.addExistingKeys(l);const a=this.recursivelyCreateColumns(e,0,t,n,o,r,s),h=this.findMaxDept(a,0),d=this.balanceColumnTree(a,0,h,o);return it(null,d,(c,u)=>{be(c)&&c.setupExpandable(),c.setOriginalParent(u)}),{columnTree:d,treeDept:h}}extractExistingTreeData(e){const t=[],i=[],s=[];return e&&it(null,e,o=>{if(be(o)){const n=o;i.push(n)}else{const n=o;s.push(n.getId()),t.push(n)}}),{existingCols:t,existingGroups:i,existingColKeys:s}}balanceTreeForAutoCols(e,t){const i=[],s=this.findDepth(t);return e.forEach(o=>{let n=o;for(let r=s-1;r>=0;r--){const l=new Gi(null,`FAKE_PATH_${o.getId()}}_${r}`,!0,r);this.createBean(l),l.setChildren([n]),n.setOriginalParent(l),n=l}s===0&&o.setOriginalParent(null),i.push(n)}),[i,s]}findDepth(e){let t=0,i=e;for(;i&&i[0]&&be(i[0]);)t++,i=i[0].getChildren();return t}balanceColumnTree(e,t,i,s){const o=[];for(let n=0;n<e.length;n++){const r=e[n];if(be(r)){const l=r,a=this.balanceColumnTree(l.getChildren(),t+1,i,s);l.setChildren(a),o.push(l)}else{let l,a;for(let h=i-1;h>=t;h--){const d=s.getUniqueKey(null,null),c=this.createMergedColGroupDef(null),u=new Gi(c,d,!0,t);this.createBean(u),a&&a.setChildren([u]),a=u,l||(l=a)}if(l&&a){if(o.push(l),e.some(h=>be(h))){a.setChildren([r]);continue}a.setChildren(e);break}o.push(r)}}return o}findMaxDept(e,t){let i=t;for(let s=0;s<e.length;s++){const o=e[s];if(be(o)){const n=o,r=this.findMaxDept(n.getChildren(),t+1);i<r&&(i=r)}}return i}recursivelyCreateColumns(e,t,i,s,o,n,r){if(!e)return[];const l=new Array(e.length);for(let a=0;a<l.length;a++){const h=e[a];this.isColumnGroup(h)?l[a]=this.createColumnGroup(i,h,t,s,o,n,r):l[a]=this.createColumn(i,h,s,o,r)}return l}createColumnGroup(e,t,i,s,o,n,r){const l=this.createMergedColGroupDef(t),a=o.getUniqueKey(l.groupId||null,null),h=new Gi(l,a,!1,i);this.createBean(h);const d=this.findExistingGroup(t,n);d&&n.splice(d.idx,1);const c=d==null?void 0:d.group;c&&h.setExpanded(c.isExpanded());const u=this.recursivelyCreateColumns(l.children,i+1,e,s,o,n,r);return h.setChildren(u),h}createMergedColGroupDef(e){const t={};return Object.assign(t,this.gos.get("defaultColGroupDef")),Object.assign(t,e),t}createColumn(e,t,i,s,o){var l;const n=this.findExistingColumn(t,i);n&&(i==null||i.splice(n.idx,1));let r=n==null?void 0:n.column;if(r){const a=this.addColumnDefaultAndTypes(t,r.getColId());r.setColDef(a,t,o),this.applyColumnState(r,a,o)}else{const a=s.getUniqueKey(t.colId,t.field),h=this.addColumnDefaultAndTypes(t,a);r=new xs(h,t,a,e),this.createBean(r)}return(l=this.dataTypeService)==null||l.addColumnListeners(r),r}applyColumnState(e,t,i){const s=ft(t.flex);if(s!==void 0&&e.setFlex(s),e.getFlex()<=0){const r=ft(t.width);if(r!=null)e.setActualWidth(r,i);else{const l=e.getActualWidth();e.setActualWidth(l,i)}}t.sort!==void 0&&(t.sort=="asc"||t.sort=="desc"?e.setSort(t.sort,i):e.setSort(void 0,i));const o=ft(t.sortIndex);o!==void 0&&e.setSortIndex(o);const n=gs(t.hide);n!==void 0&&e.setVisible(!n,i),t.pinned!==void 0&&e.setPinned(t.pinned)}findExistingColumn(e,t){if(t)for(let i=0;i<t.length;i++){const s=t[i].getUserProvidedColDef();if(s){if(e.colId!=null){if(t[i].getId()===e.colId)return{idx:i,column:t[i]};continue}if(e.field!=null){if(s.field===e.field)return{idx:i,column:t[i]}}else if(s===e)return{idx:i,column:t[i]}}}}findExistingGroup(e,t){if(e.groupId!=null)for(let i=0;i<t.length;i++){const s=t[i];if(s.getColGroupDef()&&s.getId()===e.groupId)return{idx:i,group:s}}}addColumnDefaultAndTypes(e,t){var r;const i={};Re(i,this.gos.get("defaultColDef"),!1,!0);const s=this.updateColDefAndGetColumnType(i,e,t);s&&this.assignColumnTypes(s,i),Re(i,e,!1,!0);const o=this.gos.get("autoGroupColumnDef"),n=$e(this.gos);return e.rowGroup&&o&&n&&Re(i,{sort:o.sort,initialSort:o.initialSort},!1,!0),(r=this.dataTypeService)==null||r.validateColDef(i),i}updateColDefAndGetColumnType(e,t,i){var n;const s=(n=this.dataTypeService)==null?void 0:n.updateColDefAndGetColumnType(e,t,i),o=t.type??s??e.type;return e.type=o,o?Hi(o):void 0}assignColumnTypes(e,t){if(!e.length)return;const i=Object.assign({},Al);Be(this.gos.get("columnTypes")||{},(s,o)=>{s in i?R(`the column type '${s}' is a default column type and cannot be overridden.`):(o.type&&R("Column type definitions 'columnTypes' with a 'type' attribute are not supported because a column type cannot refer to another column type. Only column definitions 'columnDefs' can use the 'type' attribute to refer to a column type."),i[s]=o)}),e.forEach(s=>{const o=i[s.trim()];o?Re(t,o,!1,!0):R("colDef.type '"+s+"' does not correspond to defined gridOptions.columnTypes")})}isColumnGroup(e){return e.children!==void 0}};function it(e,t,i){if(t)for(let s=0;s<t.length;s++){const o=t[s];be(o)&&it(o,o.getChildren(),i),i(o,e)}}var Ll=class extends b{constructor(){super(...arguments),this.beanName="columnModel",this.pivotMode=!1,this.autoHeightActiveAtLeastOnce=!1,this.ready=!1,this.changeEventsDispatching=!1,this.shouldQueueResizeOperations=!1,this.resizeOperationQueue=[]}wireBeans(e){this.context=e.context,this.ctrlsService=e.ctrlsService,this.columnFactory=e.columnFactory,this.columnSizeService=e.columnSizeService,this.visibleColsService=e.visibleColsService,this.columnViewportService=e.columnViewportService,this.pivotResultColsService=e.pivotResultColsService,this.columnAnimationService=e.columnAnimationService,this.autoColService=e.autoColService,this.controlsColService=e.controlsColService,this.valueCache=e.valueCache,this.columnDefFactory=e.columnDefFactory,this.columnApplyStateService=e.columnApplyStateService,this.columnGroupStateService=e.columnGroupStateService,this.eventDispatcher=e.columnEventDispatcher,this.columnMoveService=e.columnMoveService,this.columnAutosizeService=e.columnAutosizeService,this.funcColsService=e.funcColsService,this.quickFilterService=e.quickFilterService,this.showRowGroupColsService=e.showRowGroupColsService,this.environment=e.environment}postConstruct(){const e=this.gos.get("pivotMode");this.isPivotSettingAllowed(e)&&(this.pivotMode=e),this.addManagedPropertyListeners(["groupDisplayType","treeData","treeDataDisplayType","groupHideOpenParents"],t=>this.refreshAll(bt(t.source))),this.addManagedPropertyListener("rowSelection",t=>{this.onSelectionOptionsChanged(t.currentValue,t.previousValue,bt(t.source))}),this.addManagedPropertyListener("autoGroupColumnDef",t=>this.onAutoGroupColumnDefChanged(bt(t.source))),this.addManagedPropertyListeners(["defaultColDef","defaultColGroupDef","columnTypes","suppressFieldDotNotation"],t=>this.recreateColumnDefs(bt(t.source))),this.addManagedPropertyListener("pivotMode",t=>this.setPivotMode(this.gos.get("pivotMode"),bt(t.source))),this.addManagedEventListeners({firstDataRendered:()=>this.onFirstDataRendered()})}createColsFromColDefs(e){var h,d,c;const t=this.colDefs?this.columnApplyStateService.compareColumnStatesAndDispatchEvents(e):void 0;this.valueCache.expire();const i=(h=this.colDefCols)==null?void 0:h.list,s=(d=this.colDefCols)==null?void 0:d.tree,o=this.columnFactory.createColumnTree(this.colDefs,!0,s,e);ht(this.context,(c=this.colDefCols)==null?void 0:c.tree,o.columnTree);const n=o.columnTree,r=o.treeDept,l=bs(n),a={};l.forEach(u=>a[u.getId()]=u),this.colDefCols={tree:n,treeDepth:r,list:l,map:a},this.funcColsService.extractCols(e,i),this.ready=!0,this.refreshCols(!0),this.visibleColsService.refresh(e),this.columnViewportService.checkViewportColumns(),this.eventDispatcher.everythingChanged(e),t&&(this.changeEventsDispatching=!0,t(),this.changeEventsDispatching=!1),this.eventDispatcher.newColumnsLoaded(e),e==="gridInitializing"&&this.columnSizeService.applyAutosizeStrategy()}refreshCols(e){var o,n,r;if(!this.colDefCols)return;const t=(o=this.cols)==null?void 0:o.tree;this.saveColOrder(),this.selectCols(),this.createAutoCols(),this.addAutoCols(),this.createControlsCols(),this.addControlsCols();const i=(s=this.gos,this.showingPivotResult?!s.get("enableStrictPivotColumnOrder"):s.get("maintainColumnOrder"));var s;e&&!i||this.restoreColOrder(),this.positionLockedCols(),(n=this.showRowGroupColsService)==null||n.refresh(),(r=this.quickFilterService)==null||r.refreshQuickFilterCols(),this.setColSpanActive(),this.setAutoHeightActive(),this.visibleColsService.clear(),this.columnViewportService.clear(),!at(t,this.cols.tree)&&this.eventDispatcher.gridColumns()}selectCols(){const e=this.pivotResultColsService.getPivotResultCols();if(this.showingPivotResult=e!=null,e){const{map:t,list:i,tree:s,treeDepth:o}=e;this.cols={list:i.slice(),map:{...t},tree:s.slice(),treeDepth:o},e.list.some(n=>{var r;return((r=this.cols)==null?void 0:r.map[n.getColId()])!==void 0})||(this.lastPivotOrder=null)}else{const{map:t,list:i,tree:s,treeDepth:o}=this.colDefCols;this.cols={list:i.slice(),map:{...t},tree:s.slice(),treeDepth:o}}}getColsToShow(){const e=this.isPivotMode()&&!this.isShowingPivotResult(),t=this.funcColsService.getValueColumns();return this.cols.list.filter(i=>{const s=Rs(i);if(e){const o=t&&yt(t,i);return s||o}return s||i.isVisible()})}addAutoCols(){this.autoCols!=null&&(this.cols.list=this.autoCols.list.concat(this.cols.list),this.cols.tree=this.autoCols.tree.concat(this.cols.tree),nn(this.cols))}createAutoCols(){var c;const e=Ii(this.gos,this.pivotMode),t=this.pivotMode?this.gos.get("pivotSuppressAutoColumn"):this.isSuppressAutoCol(),i=this.funcColsService.getRowGroupColumns(),s=()=>{this.autoCols&&(ht(this.context,this.autoCols.tree),this.autoCols=null)};if(!(i.length>0||this.gos.get("treeData"))||t||e||!this.autoColService)return void s();const o=this.autoColService.createAutoCols(i)??[],n=ln(o,((c=this.autoCols)==null?void 0:c.list)||null),r=this.cols.treeDepth,l=this.autoCols?this.autoCols.treeDepth:-1;if(n&&l==r)return;s();const[a,h]=this.columnFactory.balanceTreeForAutoCols(o,this.cols.tree);this.autoCols={list:o,tree:a,treeDepth:h,map:{}};const d=u=>{if(!u)return null;const g=u.filter(m=>!Rs(m));return[...o,...g]};this.lastOrder=d(this.lastOrder),this.lastPivotOrder=d(this.lastPivotOrder)}createControlsCols(){var l,a,h;const e=()=>{var d;ht(this.context,(d=this.controlsCols)==null?void 0:d.tree),this.controlsCols=null};this.controlsColService||e();const t=this.cols.treeDepth,i=(((l=this.controlsCols)==null?void 0:l.treeDepth)??-1)==t,s=((a=this.controlsColService)==null?void 0:a.createControlsCols())??[];if(ln(s,((h=this.controlsCols)==null?void 0:h.list)??[])&&i)return;e();const[o,n]=this.columnFactory.balanceTreeForAutoCols(s,this.cols.tree);this.controlsCols={list:s,tree:o,treeDepth:n,map:{}};const r=d=>{if(!d)return null;const c=d.filter(u=>!ni(u));return[...s,...c]};this.lastOrder=r(this.lastOrder),this.lastPivotOrder=r(this.lastPivotOrder)}addControlsCols(){this.controlsCols!=null&&(this.cols.list=this.controlsCols.list.concat(this.cols.list),this.cols.tree=this.controlsCols.tree.concat(this.cols.tree),nn(this.cols))}refreshAll(e){this.isReady()&&(this.refreshCols(!1),this.visibleColsService.refresh(e))}setColsVisible(e,t=!1,i){this.columnApplyStateService.applyColumnState({state:e.map(s=>({colId:typeof s=="string"?s:s.getColId(),hide:!t}))},i)}setColsPinned(e,t,i){if(!this.cols||Me(e))return;if(Ce(this.gos,"print"))return void R("Changing the column pinning status is not allowed with domLayout='print'");let s;this.columnAnimationService.start(),s=t===!0||t==="left"?"left":t==="right"?"right":null;const o=[];e.forEach(n=>{if(!n)return;const r=this.getCol(n);r&&r.getPinned()!==s&&(r.setPinned(s),o.push(r))}),o.length&&(this.visibleColsService.refresh(i),this.eventDispatcher.columnPinned(o,i)),this.columnAnimationService.finish()}setColumnGroupOpened(e,t,i){let s;s=be(e)?e.getId():e||"",this.columnGroupStateService.setColumnGroupState([{groupId:s,open:t}],i)}getProvidedColGroup(e){var i;let t=null;return it(null,(i=this.cols)==null?void 0:i.tree,s=>{be(s)&&s.getId()===e&&(t=s)}),t}isColGroupLocked(e){const t=this.gos.get("groupLockGroupColumns");return!e.isRowGroupActive()||t===0?!1:t===-1?!0:t>this.funcColsService.getRowGroupColumns().findIndex(i=>i.getColId()===e.getColId())}isSuppressAutoCol(){return this.gos.get("groupDisplayType")==="custom"?!0:this.gos.get("treeDataDisplayType")==="custom"}setAutoHeightActive(){this.autoHeightActive=this.cols.list.some(e=>e.isVisible()&&e.isAutoHeight()),this.autoHeightActive&&(this.autoHeightActiveAtLeastOnce=!0,ie(this.gos)||Ke(this.gos)||R("autoHeight columns only work with Client Side Row Model and Server Side Row Model."))}restoreColOrder(){const e=this.showingPivotResult?this.lastPivotOrder:this.lastOrder;if(!e)return;const t=new Map(e.map((l,a)=>[l,a]));if(!this.cols.list.some(l=>t.has(l)))return;const i=new Map(this.cols.list.map(l=>[l,!0])),s=e.filter(l=>i.has(l)),o=new Map(s.map(l=>[l,!0])),n=this.cols.list.filter(l=>!o.has(l)),r=s.slice();n.forEach(l=>{let a=l.getOriginalParent();if(!a)return void r.push(l);const h=[];for(;!h.length&&a;)a.getLeafColumns().forEach(u=>{const g=r.indexOf(u)>=0,m=h.indexOf(u)<0;g&&m&&h.push(u)}),a=a.getOriginalParent();if(!h.length)return void r.push(l);const d=h.map(u=>r.indexOf(u)),c=Math.max(...d);Oi(r,l,c+1)}),this.cols.list=r}sortColsLikeKeys(e){if(this.cols==null)return;let t=[];const i={};e.forEach(o=>{if(i[o])return;const n=this.cols.map[o];n&&(t.push(n),i[o]=!0)});let s=0;this.cols.list.forEach(o=>{const n=o.getColId();i[n]==null&&(n.startsWith(Ni)?Oi(t,o,s++):t.push(o))}),t=this.columnMoveService.placeLockedColumns(t),this.columnMoveService.doesMovePassMarryChildren(t)?this.cols.list=t:R("Applying column order broke a group where columns should be married together. Applying new order has been discarded.")}sortColsLikeCols(e){!e||e.length<=1||e.filter(t=>this.cols.list.indexOf(t)<0).length>0||e.sort((t,i)=>this.cols.list.indexOf(t)-this.cols.list.indexOf(i))}resetColDefIntoCol(e,t){const i=e.getUserProvidedColDef();if(!i)return!1;const s=this.columnFactory.addColumnDefaultAndTypes(i,e.getColId());return e.setColDef(s,i,t),!0}queueResizeOperations(){this.shouldQueueResizeOperations=!0}isShouldQueueResizeOperations(){return this.shouldQueueResizeOperations}processResizeOperations(){this.shouldQueueResizeOperations=!1,this.resizeOperationQueue.forEach(e=>e()),this.resizeOperationQueue=[]}pushResizeOperation(e){this.resizeOperationQueue.push(e)}moveInCols(e,t,i){var s;Xo((s=this.cols)==null?void 0:s.list,e,t),this.visibleColsService.refresh(i)}positionLockedCols(){this.cols.list=this.columnMoveService.placeLockedColumns(this.cols.list)}saveColOrder(){var e,t;this.showingPivotResult?this.lastPivotOrder=(e=this.cols)==null?void 0:e.list:this.lastOrder=(t=this.cols)==null?void 0:t.list}getColumnDefs(){if(!this.colDefCols)return;const e=this.colDefCols.list.slice();this.showingPivotResult?e.sort((s,o)=>this.lastOrder.indexOf(s)-this.lastOrder.indexOf(o)):this.lastOrder&&e.sort((s,o)=>this.cols.list.indexOf(s)-this.cols.list.indexOf(o));const t=this.funcColsService.getRowGroupColumns(),i=this.funcColsService.getPivotColumns();return this.columnDefFactory.buildColumnDefs(e,t,i)}isShowingPivotResult(){return this.showingPivotResult}isChangeEventsDispatching(){return this.changeEventsDispatching}isColSpanActive(){return this.colSpanActive}isProvidedColGroupsPresent(){var e;return((e=this.colDefCols)==null?void 0:e.treeDepth)>0}setColSpanActive(){this.colSpanActive=this.cols.list.some(e=>e.getColDef().colSpan!=null)}isAutoRowHeightActive(){return this.autoHeightActive}wasAutoRowHeightEverActive(){return this.autoHeightActiveAtLeastOnce}getHeaderRowCount(){return this.cols?this.cols.treeDepth+1:-1}isReady(){return this.ready}isPivotMode(){return this.pivotMode}setPivotMode(e,t){e!==this.pivotMode&&this.isPivotSettingAllowed(this.pivotMode)&&(this.pivotMode=e,this.ready&&(this.refreshCols(!1),this.visibleColsService.refresh(t),this.eventDispatcher.pivotModeChanged()))}isPivotSettingAllowed(e){return!e||!this.gos.get("treeData")||(R("Pivot mode not available with treeData."),!1)}isPivotActive(){const e=this.funcColsService.getPivotColumns();return this.pivotMode&&!Me(e)}recreateColumnDefs(e){this.cols&&(this.autoCols&&this.autoColService.updateAutoCols(this.autoCols.list,e),this.createColsFromColDefs(e))}setColumnDefs(e,t){this.colDefs=e,this.createColsFromColDefs(t)}destroy(){var e,t,i;ht(this.context,(e=this.colDefCols)==null?void 0:e.tree),ht(this.context,(t=this.autoCols)==null?void 0:t.tree),ht(this.context,(i=this.controlsCols)==null?void 0:i.tree),super.destroy()}getColTree(){return this.cols.tree}getColDefColTree(){return this.colDefCols.tree}getColDefCols(){var e;return(e=this.colDefCols)!=null&&e.list?this.colDefCols.list:null}getCols(){var e;return((e=this.cols)==null?void 0:e.list)??[]}getAllCols(){var i,s,o;const e=this.pivotResultColsService.getPivotResultCols(),t=e==null?void 0:e.list;return[((i=this.colDefCols)==null?void 0:i.list)??[],((s=this.autoCols)==null?void 0:s.list)??[],((o=this.controlsCols)==null?void 0:o.list)??[],t??[]].flat()}getColsForKeys(e){return e?e.map(t=>this.getCol(t)).filter(t=>t!=null):[]}getColDefCol(e){var t;return(t=this.colDefCols)!=null&&t.list?this.getColFromCollection(e,this.colDefCols):null}getCol(e){return e==null?null:this.getColFromCollection(e,this.cols)}getColFromCollection(e,t){if(t==null)return null;const{map:i,list:s}=t;if(typeof e=="string"&&i[e])return i[e];for(let o=0;o<s.length;o++)if(rn(s[o],e))return s[o];return this.getAutoCol(e)}getAutoCol(e){var t;return((t=this.autoCols)==null?void 0:t.list.find(i=>rn(i,e)))??null}getAutoCols(){var e;return((e=this.autoCols)==null?void 0:e.list)??null}setColHeaderHeight(e,t){e.setAutoHeaderHeight(t)&&(e.isColumn?this.eventDispatcher.headerHeight(e):this.eventDispatcher.groupHeaderHeight(e))}getGroupRowsHeight(){const e=[],t=this.ctrlsService.getHeaderRowContainerCtrls();for(const i of t){if(!i)continue;const s=i.getGroupRowCount()||0;for(let o=0;o<s;o++){const n=i.getGroupRowCtrlAtIndex(o),r=e[o];if(n){const l=this.getColumnGroupHeaderRowHeight(n);(r==null||l>r)&&(e[o]=l)}}}return e}getColumnGroupHeaderRowHeight(e){const t=this.isPivotMode()?this.getPivotGroupHeaderHeight():this.getGroupHeaderHeight();let i=0;const s=e.getHeaderCtrls();for(const o of s){const n=o.getColumn();if(n.isAutoHeaderHeight()){const r=n.getAutoHeaderHeight();r!=null&&r>i&&(i=r)}}return Math.max(t,i)}getColumnHeaderRowHeight(){const e=this.isPivotMode()?this.getPivotHeaderHeight():this.getHeaderHeight(),t=this.visibleColsService.getAllCols().filter(i=>i.isAutoHeaderHeight()).map(i=>i.getAutoHeaderHeight()||0);return Math.max(e,...t)}getHeaderHeight(){return this.gos.get("headerHeight")??this.environment.getDefaultHeaderHeight()}getFloatingFiltersHeight(){return this.gos.get("floatingFiltersHeight")??this.getHeaderHeight()}getGroupHeaderHeight(){return this.gos.get("groupHeaderHeight")??this.getHeaderHeight()}getPivotHeaderHeight(){return this.gos.get("pivotHeaderHeight")??this.getHeaderHeight()}getPivotGroupHeaderHeight(){return this.gos.get("pivotGroupHeaderHeight")??this.getGroupHeaderHeight()}onFirstDataRendered(){const e=this.gos.get("autoSizeStrategy");if((e==null?void 0:e.type)!=="fitCellContents")return;const{colIds:t,skipHeader:i}=e;setTimeout(()=>{t?this.columnAutosizeService.autoSizeCols({colKeys:t,skipHeader:i,source:"autosizeColumns"}):this.columnAutosizeService.autoSizeAllColumns("autosizeColumns",i)})}onAutoGroupColumnDefChanged(e){this.autoCols&&this.autoColService.updateAutoCols(this.autoCols.list,e)}onSelectionOptionsChanged(e,t,i){const s=(t&&typeof t!="string"?Ht(t):void 0)!==(e&&typeof e!="string"?Ht(e):void 0),o=t&&typeof t!="string"?Li(t):void 0,n=e&&typeof e!="string"?Li(e):void 0;(s||o!==n)&&this.refreshAll(i)}};function bt(e){return e==="gridOptionsUpdated"?"gridOptionsChanged":e}function nn(e){e.map={},e.list.forEach(t=>e.map[t.getId()]=t)}function rn(e,t){const i=e===t,s=e.getColDef()===t,o=e.getColId()==t;return i||s||o}function ln(e,t){return at(e,t,(i,s)=>i.getColId()===s.getColId())}var kl=class extends b{constructor(){super(...arguments),this.beanName="columnAutosizeService",this.timesDelayed=0}wireBeans(e){this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.animationFrameService=e.animationFrameService,this.autoWidthCalculator=e.autoWidthCalculator,this.eventDispatcher=e.columnEventDispatcher,this.ctrlsService=e.ctrlsService,this.renderStatusService=e.renderStatusService}autoSizeCols(e){if(this.columnModel.isShouldQueueResizeOperations())return void this.columnModel.pushResizeOperation(()=>this.autoSizeCols(e));const{colKeys:t,skipHeader:i,skipHeaderGroups:s,stopAtGroup:o,source:n="api"}=e;if(this.animationFrameService.flushAllFrames(),this.timesDelayed<5&&this.renderStatusService&&!this.renderStatusService.areHeaderCellsRendered())return this.timesDelayed++,void setTimeout(()=>this.autoSizeCols(e));this.timesDelayed=0;const r=[];let l=-1;const a=i??this.gos.get("skipHeaderOnAutoSize"),h=s??a;for(;l!==0;){l=0;const d=[];t.forEach(c=>{if(!c)return;const u=this.columnModel.getCol(c);if(!u||r.indexOf(u)>=0)return;const g=this.autoWidthCalculator.getPreferredWidthForColumn(u,a);if(g>0){const m=this.normaliseColumnWidth(u,g);u.setActualWidth(m,n),r.push(u),l++}d.push(u)}),d.length&&this.visibleColsService.refresh(n)}h||this.autoSizeColumnGroupsByColumns(t,n,o),this.eventDispatcher.columnResized(r,!0,"autosizeColumns")}autoSizeColumn(e,t,i){e&&this.autoSizeCols({colKeys:[e],skipHeader:i,skipHeaderGroups:!0,source:t})}autoSizeColumnGroupsByColumns(e,t,i){const s=new Set;let o;this.columnModel.getColsForKeys(e).forEach(n=>{let r=n.getParent();for(;r&&r!=i;)r.isPadding()||s.add(r),r=r.getParent()});for(const n of s){for(const r of this.ctrlsService.getHeaderRowContainerCtrls())if(o=r.getHeaderCtrlForColumn(n),o)break;o&&o.resizeLeafColumnsToFit(t)}return[]}autoSizeAllColumns(e,t){if(this.columnModel.isShouldQueueResizeOperations())return void this.columnModel.pushResizeOperation(()=>this.autoSizeAllColumns(e,t));const i=this.visibleColsService.getAllCols();this.autoSizeCols({colKeys:i,skipHeader:t,source:e})}normaliseColumnWidth(e,t){const i=e.getMinWidth();t<i&&(t=i);const s=e.getMaxWidth();return e.isGreaterThanMax(t)&&(t=s),t}},Ol=class extends b{constructor(){super(...arguments),this.beanName="funcColsService",this.rowGroupCols=[],this.valueCols=[],this.pivotCols=[]}wireBeans(e){this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher,this.aggFuncService=e.aggFuncService,this.visibleColsService=e.visibleColsService}getModifyColumnsNoEventsCallbacks(){return{addGroupCol:e=>this.rowGroupCols.push(e),removeGroupCol:e=>ye(this.rowGroupCols,e),addPivotCol:e=>this.pivotCols.push(e),removePivotCol:e=>ye(this.pivotCols,e),addValueCol:e=>this.valueCols.push(e),removeValueCol:e=>ye(this.valueCols,e)}}getSourceColumnsForGroupColumn(e){const t=e.getColDef().showRowGroup;if(!t)return null;if(t===!0)return this.rowGroupCols.slice(0);const i=this.columnModel.getColDefCol(t);return i?[i]:null}sortRowGroupColumns(e){this.rowGroupCols.sort(e)}sortPivotColumns(e){this.pivotCols.sort(e)}getValueColumns(){return this.valueCols?this.valueCols:[]}getPivotColumns(){return this.pivotCols?this.pivotCols:[]}getRowGroupColumns(){return this.rowGroupCols?this.rowGroupCols:[]}isRowGroupEmpty(){return Me(this.rowGroupCols)}setColumnAggFunc(e,t,i){if(!e)return;const s=this.columnModel.getColDefCol(e);s&&(s.setAggFunc(t),this.eventDispatcher.columnChanged("columnValueChanged",[s],i))}setRowGroupColumns(e,t){this.setColList(e,this.rowGroupCols,"columnRowGroupChanged",!0,!0,(i,s)=>this.setRowGroupActive(i,s,t),t)}setRowGroupActive(e,t,i){e!==t.isRowGroupActive()&&(t.setRowGroupActive(e,i),e&&!this.gos.get("suppressRowGroupHidesColumns")&&this.columnModel.setColsVisible([t],!1,i),e||this.gos.get("suppressMakeColumnVisibleAfterUnGroup")||this.columnModel.setColsVisible([t],!0,i))}addRowGroupColumns(e,t){this.updateColList(e,this.rowGroupCols,!0,!0,i=>this.setRowGroupActive(!0,i,t),"columnRowGroupChanged",t)}removeRowGroupColumns(e,t){this.updateColList(e,this.rowGroupCols,!1,!0,i=>this.setRowGroupActive(!1,i,t),"columnRowGroupChanged",t)}addPivotColumns(e,t){this.updateColList(e,this.pivotCols,!0,!1,i=>i.setPivotActive(!0,t),"columnPivotChanged",t)}setPivotColumns(e,t){this.setColList(e,this.pivotCols,"columnPivotChanged",!0,!1,(i,s)=>{s.setPivotActive(i,t)},t)}removePivotColumns(e,t){this.updateColList(e,this.pivotCols,!1,!1,i=>i.setPivotActive(!1,t),"columnPivotChanged",t)}setValueColumns(e,t){this.setColList(e,this.valueCols,"columnValueChanged",!1,!1,(i,s)=>this.setValueActive(i,s,t),t)}setValueActive(e,t,i){if(e!==t.isValueActive()&&(t.setValueActive(e,i),e&&!t.getAggFunc()&&this.aggFuncService)){const s=this.aggFuncService.getDefaultAggFunc(t);t.setAggFunc(s)}}addValueColumns(e,t){this.updateColList(e,this.valueCols,!0,!1,i=>this.setValueActive(!0,i,t),"columnValueChanged",t)}removeValueColumns(e,t){this.updateColList(e,this.valueCols,!1,!1,i=>this.setValueActive(!1,i,t),"columnValueChanged",t)}moveRowGroupColumn(e,t,i){if(this.isRowGroupEmpty())return;const s=this.rowGroupCols[e],o=this.rowGroupCols.slice(e,t);this.rowGroupCols.splice(e,1),this.rowGroupCols.splice(t,0,s),this.eventDispatcher.rowGroupChanged(o,i)}setColList(e,t,i,s,o,n,r){if(!this.columnModel.getCols())return;const l=new Map;t.forEach((a,h)=>l.set(a,h)),t.length=0,M(e)&&e.forEach(a=>{const h=this.columnModel.getColDefCol(a);h&&t.push(h)}),t.forEach((a,h)=>{const d=l.get(a);d!==void 0?s&&d!==h||l.delete(a):l.set(a,0)}),(this.columnModel.getColDefCols()||[]).forEach(a=>{const h=t.indexOf(a)>=0;n(h,a)}),o&&this.columnModel.refreshCols(!1),this.visibleColsService.refresh(r),this.eventDispatcher.columnChanged(i,[...l.keys()],r)}updateColList(e,t,i,s,o,n,r){if(!e||Me(e))return;let l=!1;const a=new Set;e.forEach(h=>{if(!h)return;const d=this.columnModel.getColDefCol(h);if(d){if(a.add(d),i){if(t.indexOf(d)>=0)return;t.push(d)}else{const c=t.indexOf(d);if(c<0)return;for(let u=c+1;u<t.length;u++)a.add(t[u]);ye(t,d)}o(d),l=!0}}),l&&(s&&this.columnModel.refreshCols(!1),this.visibleColsService.refresh(r),this.eventDispatcher.genericColumnEvent(n,Array.from(a),r))}extractCols(e,t){this.extractRowGroupCols(e,t),this.extractPivotCols(e,t),this.extractValueCols(e,t)}extractValueCols(e,t){this.valueCols=this.extractColsCommon(t,this.valueCols,(i,s)=>i.setValueActive(s,e),()=>{},()=>{},i=>{const s=i.aggFunc;return s===null||s===""?null:s!==void 0?!!s:void 0},i=>i.initialAggFunc!=null&&i.initialAggFunc!=""),this.valueCols.forEach(i=>{const s=i.getColDef();s.aggFunc!=null&&s.aggFunc!=""?i.setAggFunc(s.aggFunc):i.getAggFunc()||i.setAggFunc(s.initialAggFunc)})}extractRowGroupCols(e,t){this.rowGroupCols=this.extractColsCommon(t,this.rowGroupCols,(i,s)=>i.setRowGroupActive(s,e),i=>i.rowGroupIndex,i=>i.initialRowGroupIndex,i=>i.rowGroup,i=>i.initialRowGroup)}extractPivotCols(e,t){this.pivotCols=this.extractColsCommon(t,this.pivotCols,(i,s)=>i.setPivotActive(s,e),i=>i.pivotIndex,i=>i.initialPivotIndex,i=>i.pivot,i=>i.initialPivot)}extractColsCommon(e=[],t=[],i,s,o,n,r){const l=[],a=[];(this.columnModel.getColDefCols()||[]).forEach(c=>{const u=e.indexOf(c)<0,g=c.getColDef(),m=gs(n(g)),f=gs(r(g)),C=ft(s(g)),v=ft(o(g));let w;w=m!==void 0?m:C!==void 0?C!==null&&C>=0:u?f!==void 0?f:v!==void 0&&v!=null&&v>=0:t.indexOf(c)>=0,w&&((u?C!=null||v!=null:C!=null)?l.push(c):a.push(c))});const h=c=>{const u=s(c.getColDef()),g=o(c.getColDef());return u??g};l.sort((c,u)=>{const g=h(c),m=h(u);return g===m?0:g<m?-1:1});const d=[].concat(l);return t.forEach(c=>{a.indexOf(c)>=0&&d.push(c)}),a.forEach(c=>{d.indexOf(c)<0&&d.push(c)}),t.forEach(c=>{d.indexOf(c)<0&&i(c,!1)}),d.forEach(c=>{t.indexOf(c)<0&&i(c,!0)}),d}generateColumnStateForRowGroupAndPivotIndexes(e,t){const i={},s=(o,n,r,l,a,h)=>{const d=this.columnModel.getColDefCols();if(!n.length||!d)return[];const c=Object.keys(o),u=new Set(c),g=new Set(c),m=new Set(n.map(E=>{const D=E.getColId();return g.delete(D),D}).concat(c)),f=[],C={};let v=0;for(let E=0;E<d.length;E++){const D=d[E].getColId();m.has(D)&&(f.push(D),C[D]=v++)}let w=1e3,P=!1,S=0;const F=E=>{const D=C[E];for(let A=S;A<D;A++){const L=f[A];g.has(L)&&(o[L][a]=w++,g.delete(L))}S=D};n.forEach(E=>{const D=E.getColId();if(u.has(D))F(D),o[D][a]=w++;else{const A=E.getColDef();(A[a]===null||A[a]===void 0&&A[h]==null)&&(P||(A[r]||A[r]===void 0&&A[l]?F(D):(g.forEach(L=>{o[L][a]=w+C[L]}),w+=f.length,P=!0)),i[D]||(i[D]={colId:D}),i[D][a]=w++)}})};return s(e,this.rowGroupCols,"rowGroup","initialRowGroup","rowGroupIndex","initialRowGroupIndex"),s(t,this.pivotCols,"pivot","initialPivot","pivotIndex","initialPivotIndex"),Object.values(i)}},Gl=class extends b{constructor(){super(...arguments),this.beanName="columnApplyStateService"}wireBeans(e){this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher,this.sortController=e.sortController,this.columnGetStateService=e.columnGetStateService,this.funcColsService=e.funcColsService,this.visibleColsService=e.visibleColsService,this.columnAnimationService=e.columnAnimationService,this.pivotResultColsService=e.pivotResultColsService}applyColumnState(e,t){const i=this.columnModel.getColDefCols()||[];if(Me(i))return!1;if(e&&e.state&&!e.state.forEach)return R("applyColumnState() - the state attribute should be an array, however an array was not found. Please provide an array of items (one for each col you want to change) for state."),!1;const s=this.funcColsService.getModifyColumnsNoEventsCallbacks(),o=(l,a,h)=>{const d=this.compareColumnStatesAndDispatchEvents(t),c=a.slice(),u={},g={},m=[],f=[];let C=0;const v=this.funcColsService.getRowGroupColumns().slice(),w=this.funcColsService.getPivotColumns().slice();l.forEach(F=>{const E=F.colId||"";if(E.startsWith(Ni))return m.push(F),void f.push(F);const D=h(E);D?(this.syncColumnWithStateItem(D,F,e.defaultState,u,g,!1,t,s),ye(c,D)):(f.push(F),C+=1)});const P=F=>this.syncColumnWithStateItem(F,null,e.defaultState,u,g,!1,t,s);c.forEach(P),this.funcColsService.sortRowGroupColumns(an.bind(this,u,v)),this.funcColsService.sortPivotColumns(an.bind(this,g,w)),this.columnModel.refreshCols(!1);const S=(this.columnModel.getAutoCols()||[]).slice();return m.forEach(F=>{const E=this.columnModel.getAutoCol(F.colId);ye(S,E),this.syncColumnWithStateItem(E,F,e.defaultState,null,null,!0,t,s)}),S.forEach(P),this.orderLiveColsLikeState(e),this.visibleColsService.refresh(t),this.eventDispatcher.everythingChanged(t),d(),{unmatchedAndAutoStates:f,unmatchedCount:C}};this.columnAnimationService.start();let{unmatchedAndAutoStates:n,unmatchedCount:r}=o(e.state||[],i,l=>this.columnModel.getColDefCol(l));if(n.length>0||M(e.defaultState)){const l=this.pivotResultColsService.getPivotResultCols(),a=l==null?void 0:l.list;r=o(n,a||[],h=>this.pivotResultColsService.getPivotResultCol(h)).unmatchedCount}return this.columnAnimationService.finish(),r===0}resetColumnState(e){if(Me(this.columnModel.getColDefCols()))return;const t=bs(this.columnModel.getColDefColTree()),i=[];let s=1e3,o=1e3,n=[];const r=this.columnModel.getAutoCols();r&&(n=n.concat(r)),t&&(n=n.concat(t)),n.forEach(l=>{const a=this.getColumnStateFromColDef(l);K(a.rowGroupIndex)&&a.rowGroup&&(a.rowGroupIndex=s++),K(a.pivotIndex)&&a.pivot&&(a.pivotIndex=o++),i.push(a)}),this.applyColumnState({state:i,applyOrder:!0},e)}getColumnStateFromColDef(e){const t=(m,f)=>m??f??null,i=e.getColDef(),s=t(i.sort,i.initialSort),o=t(i.sortIndex,i.initialSortIndex),n=t(i.hide,i.initialHide),r=t(i.pinned,i.initialPinned),l=t(i.width,i.initialWidth),a=t(i.flex,i.initialFlex);let h=t(i.rowGroupIndex,i.initialRowGroupIndex),d=t(i.rowGroup,i.initialRowGroup);h!=null||d!=null&&d!=0||(h=null,d=null);let c=t(i.pivotIndex,i.initialPivotIndex),u=t(i.pivot,i.initialPivot);c!=null||u!=null&&u!=0||(c=null,u=null);const g=t(i.aggFunc,i.initialAggFunc);return{colId:e.getColId(),sort:s,sortIndex:o,hide:n,pinned:r,width:l,flex:a,rowGroup:d,rowGroupIndex:h,pivot:u,pivotIndex:c,aggFunc:g}}syncColumnWithStateItem(e,t,i,s,o,n,r,l){if(!e)return;const a=(S,F)=>{const E={value1:void 0,value2:void 0};let D=!1;return t&&(t[S]!==void 0&&(E.value1=t[S],D=!0),M(F)&&t[F]!==void 0&&(E.value2=t[F],D=!0)),!D&&i&&(i[S]!==void 0&&(E.value1=i[S]),M(F)&&i[F]!==void 0&&(E.value2=i[F])),E},h=a("hide").value1;h!==void 0&&e.setVisible(!h,r);const d=a("pinned").value1;d!==void 0&&e.setPinned(d);const c=e.getColDef().minWidth??this.gos.environment.getDefaultColumnMinWidth(),u=a("flex").value1;if(u!==void 0&&e.setFlex(u),u==null){const S=a("width").value1;S!=null&&c!=null&&S>=c&&e.setActualWidth(S,r)}const g=a("sort").value1;g!==void 0&&(g==="desc"||g==="asc"?e.setSort(g,r):e.setSort(void 0,r));const m=a("sortIndex").value1;if(m!==void 0&&e.setSortIndex(m),n||!e.isPrimary())return;const f=a("aggFunc").value1;f!==void 0&&(typeof f=="string"?(e.setAggFunc(f),e.isValueActive()||(e.setValueActive(!0,r),l.addValueCol(e))):(M(f)&&R("stateItem.aggFunc must be a string. if using your own aggregation functions, register the functions first before using them in get/set state. This is because it is intended for the column state to be stored and retrieved as simple JSON."),e.isValueActive()&&(e.setValueActive(!1,r),l.removeValueCol(e))));const{value1:C,value2:v}=a("rowGroup","rowGroupIndex");C===void 0&&v===void 0||(typeof v=="number"||C?(e.isRowGroupActive()||(e.setRowGroupActive(!0,r),l.addGroupCol(e)),s&&typeof v=="number"&&(s[e.getId()]=v)):e.isRowGroupActive()&&(e.setRowGroupActive(!1,r),l.removeGroupCol(e)));const{value1:w,value2:P}=a("pivot","pivotIndex");w===void 0&&P===void 0||(typeof P=="number"||w?(e.isPivotActive()||(e.setPivotActive(!0,r),l.addPivotCol(e)),o&&typeof P=="number"&&(o[e.getId()]=P)):e.isPivotActive()&&(e.setPivotActive(!1,r),l.removePivotCol(e)))}orderLiveColsLikeState(e){if(!e.applyOrder||!e.state)return;const t=[];e.state.forEach(i=>{i.colId!=null&&t.push(i.colId)}),this.columnModel.sortColsLikeKeys(t)}compareColumnStatesAndDispatchEvents(e){const t={rowGroupColumns:this.funcColsService.getRowGroupColumns().slice(),pivotColumns:this.funcColsService.getPivotColumns().slice(),valueColumns:this.funcColsService.getValueColumns().slice()},i=this.columnGetStateService.getColumnState(),s={};return i.forEach(o=>{s[o.colId]=o}),()=>{const o=this.columnModel.getAllCols(),n=(d,c,u,g)=>{if(at(c.map(g),u.map(g)))return;const m=new Set(c);u.forEach(C=>{m.delete(C)||m.add(C)});const f=[...m];this.eventService.dispatchEvent({type:d,columns:f,column:f.length===1?f[0]:null,source:e})},r=d=>{const c=[];return o.forEach(u=>{const g=s[u.getColId()];g&&d(g,u)&&c.push(u)}),c},l=d=>d.getColId();n("columnRowGroupChanged",t.rowGroupColumns,this.funcColsService.getRowGroupColumns(),l),n("columnPivotChanged",t.pivotColumns,this.funcColsService.getPivotColumns(),l);const a=r((d,c)=>{const u=d.aggFunc!=null,g=u!=c.isValueActive(),m=u&&d.aggFunc!=c.getAggFunc();return g||m});a.length>0&&this.eventDispatcher.columnChanged("columnValueChanged",a,e),this.eventDispatcher.columnResized(r((d,c)=>d.width!=c.getActualWidth()),!0,e),this.eventDispatcher.columnPinned(r((d,c)=>d.pinned!=c.getPinned()),e),this.eventDispatcher.columnVisible(r((d,c)=>d.hide==c.isVisible()),e);const h=r((d,c)=>d.sort!=c.getSort()||d.sortIndex!=c.getSortIndex());h.length>0&&this.sortController.dispatchSortChangedEvents(e,h),this.normaliseColumnMovedEventForColumnState(i,e)}}normaliseColumnMovedEventForColumnState(e,t){const i=this.columnGetStateService.getColumnState(),s={};i.forEach(a=>s[a.colId]=a);const o={};e.forEach(a=>{s[a.colId]&&(o[a.colId]=!0)});const n=e.filter(a=>o[a.colId]),r=i.filter(a=>o[a.colId]),l=[];r.forEach((a,h)=>{const d=n&&n[h];if(d&&d.colId!==a.colId){const c=this.columnModel.getCol(d.colId);c&&l.push(c)}}),l.length&&this.eventDispatcher.columnMoved({movedColumns:l,source:t,finished:!0})}},an=(e,t,i,s)=>{const o=e[i.getId()],n=e[s.getId()],r=o!=null,l=n!=null;if(r&&l)return o-n;if(r)return-1;if(l)return 1;const a=t.indexOf(i),h=t.indexOf(s),d=a>=0;return d&&h>=0?a-h:d?-1:1},Nl=class extends b{constructor(){super(...arguments),this.beanName="columnMoveService"}wireBeans(e){this.columnModel=e.columnModel,this.columnAnimationService=e.columnAnimationService,this.eventDispatcher=e.columnEventDispatcher}moveColumnByIndex(e,t,i){const s=this.columnModel.getCols();if(!s)return;const o=s[e];this.moveColumns([o],t,i)}moveColumns(e,t,i,s=!0){const o=this.columnModel.getCols();if(!o)return;if(t>o.length-e.length)return R("tried to insert columns in invalid location, toIndex = ",t),void R("remember that you should not count the moving columns when calculating the new index");this.columnAnimationService.start();const n=this.columnModel.getColsForKeys(e);this.doesMovePassRules(n,t)&&(this.columnModel.moveInCols(n,t,i),this.eventDispatcher.columnMoved({movedColumns:n,source:i,toIndex:t,finished:s})),this.columnAnimationService.finish()}doesMovePassRules(e,t){const i=this.getProposedColumnOrder(e,t);return this.doesOrderPassRules(i)}doesOrderPassRules(e){return!!this.doesMovePassMarryChildren(e)&&!!this.doesMovePassLockedPositions(e)}getProposedColumnOrder(e,t){const i=this.columnModel.getCols().slice();return Xo(i,e,t),i}doesMovePassLockedPositions(e){const t=this.gos.get("enableRtl");let i=t?1:-1,s=!0;return e.forEach(o=>{const n=(r=o.getColDef().lockPosition)?r==="left"||r===!0?-1:1:0;var r;t?n>i&&(s=!1):n<i&&(s=!1),i=n}),s}doesMovePassMarryChildren(e){let t=!0;return it(null,this.columnModel.getColTree(),i=>{if(!be(i))return;const s=i,o=s.getColGroupDef();if(!(o&&o.marryChildren))return;const n=[];s.getLeafColumns().forEach(r=>{const l=e.indexOf(r);n.push(l)}),Math.max.apply(Math,n)-Math.min.apply(Math,n)>s.getLeafColumns().length-1&&(t=!1)}),t}placeLockedColumns(e){const t=[],i=[],s=[];return e.forEach(o=>{const n=o.getColDef().lockPosition;n==="right"?s.push(o):n==="left"||n===!0?t.push(o):i.push(o)}),this.gos.get("enableRtl")?[...s,...i,...t]:[...t,...i,...s]}},Hl=/[&<>"']/g,Bl={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function _e(e,t){if(e==null)return null;const i=e.toString().toString();return t?i:i.replace(Hl,s=>Bl[s])}var Vl=class extends b{constructor(){super(...arguments),this.beanName="columnNameService"}wireBeans(e){this.expressionService=e.expressionService,this.funcColsService=e.funcColsService,this.columnModel=e.columnModel}getDisplayNameForColumn(e,t,i=!1){if(!e)return null;const s=this.getHeaderName(e.getColDef(),e,null,null,t);return i?this.wrapHeaderNameWithAggFunc(e,s):s}getDisplayNameForProvidedColumnGroup(e,t,i){const s=t?t.getColGroupDef():null;return s?this.getHeaderName(s,null,e,t,i):null}getDisplayNameForColumnGroup(e,t){return this.getDisplayNameForProvidedColumnGroup(e,e.getProvidedColumnGroup(),t)}getHeaderName(e,t,i,s,o){const n=e.headerValueGetter;if(n){const l=this.gos.addGridCommonParams({colDef:e,column:t,columnGroup:i,providedColumnGroup:s,location:o});return typeof n=="function"?n(l):typeof n=="string"?this.expressionService.evaluate(n,l):(R("headerValueGetter must be a function or a string"),"")}return e.headerName!=null?e.headerName:e.field?(r=e.field)&&r!=null?r.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z])([a-z])/g,"$1 $2$3").replace(/\./g," ").split(" ").map(l=>l.substring(0,1).toUpperCase()+(l.length>1?l.substring(1,l.length):"")).join(" "):null:"";var r}wrapHeaderNameWithAggFunc(e,t){if(this.gos.get("suppressAggFuncInHeader"))return t;const i=e.getColDef().pivotValueColumn;let s,o=null;if(M(i)){const n=this.funcColsService.getValueColumns(),r=this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&n.length===1,l=e.getColDef().pivotTotalColumnIds!==void 0;if(r&&!l)return t;o=i?i.getAggFunc():null,s=!0}else{const n=e.isValueActive(),r=this.columnModel.isPivotMode()||!this.funcColsService.isRowGroupEmpty();n&&r?(o=e.getAggFunc(),s=!0):s=!1}if(s){const n=typeof o=="string"?o:"func";return`${this.localeService.getLocaleTextFunc()(n,n)}(${t})`}return t}},Wl=class extends b{constructor(){super(...arguments),this.beanName="pivotResultColsService"}wireBeans(e){this.context=e.context,this.columnModel=e.columnModel,this.columnFactory=e.columnFactory,this.visibleColsService=e.visibleColsService}destroy(){var e;ht(this.context,(e=this.pivotResultCols)==null?void 0:e.tree),super.destroy()}isPivotResultColsPresent(){return this.pivotResultCols!=null}lookupPivotResultCol(e,t){if(this.pivotResultCols==null)return null;const i=this.columnModel.getColDefCol(t);let s=null;return this.pivotResultCols.list.forEach(o=>{const n=o.getColDef().pivotKeys,r=o.getColDef().pivotValueColumn;at(n,e)&&r===i&&(s=o)}),s}getPivotResultCols(){return this.pivotResultCols}getPivotResultCol(e){return this.pivotResultCols?this.columnModel.getColFromCollection(e,this.pivotResultCols):null}setPivotResultCols(e,t){var i,s;if(this.columnModel.isReady()&&(e!=null||this.pivotResultCols!=null)){if(e){this.processPivotResultColDef(e);const o=this.columnFactory.createColumnTree(e,!1,((i=this.pivotResultCols)==null?void 0:i.tree)||this.previousPivotResultCols||void 0,t);ht(this.context,(s=this.pivotResultCols)==null?void 0:s.tree,o.columnTree);const n=o.columnTree,r=o.treeDept,l=bs(n),a={};this.pivotResultCols={tree:n,treeDepth:r,list:l,map:a},this.pivotResultCols.list.forEach(d=>this.pivotResultCols.map[d.getId()]=d);const h=!!this.previousPivotResultCols;this.previousPivotResultCols=null,this.columnModel.refreshCols(!h)}else this.previousPivotResultCols=this.pivotResultCols?this.pivotResultCols.tree:null,this.pivotResultCols=null,this.columnModel.refreshCols(!1);this.visibleColsService.refresh(t)}}processPivotResultColDef(e){const t=this.gos.get("processPivotResultColDef"),i=this.gos.get("processPivotResultColGroupDef");if(!t&&!i)return;const s=o=>{o.forEach(n=>{if(M(n.children)){const r=n;i&&i(r),s(r.children)}else t&&t(n)})};e&&s(e)}},zl=class extends b{constructor(){super(...arguments),this.beanName="columnSizeService"}wireBeans(e){this.columnModel=e.columnModel,this.columnViewportService=e.columnViewportService,this.eventDispatcher=e.columnEventDispatcher,this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService}setColumnWidths(e,t,i,s){const o=[];e.forEach(n=>{const r=this.columnModel.getColDefCol(n.key)||this.columnModel.getCol(n.key);if(r&&(o.push({width:n.newWidth,ratios:[1],columns:[r]}),this.gos.get("colResizeDefault")==="shift"&&(t=!t),t)){const l=this.visibleColsService.getColAfter(r);if(!l)return;const a=r.getActualWidth()-n.newWidth,h=l.getActualWidth()+a;o.push({width:h,ratios:[1],columns:[l]})}}),o.length!==0&&this.resizeColumnSets({resizeSets:o,finished:i,source:s})}resizeColumnSets(e){const{resizeSets:t,finished:i,source:s}=e;if(!(!t||t.every(h=>this.checkMinAndMaxWidthsForSet(h)))){if(i){const h=t&&t.length>0?t[0].columns:null;this.eventDispatcher.columnResized(h,i,s)}return}const o=[],n=[];t.forEach(h=>{const{width:d,columns:c,ratios:u}=h,g={},m={};c.forEach(v=>n.push(v));let f=!0,C=0;for(;f;){if(C++,C>1e3){Q("infinite loop in resizeColumnSets");break}f=!1;const v=[];let w=0,P=d;c.forEach((F,E)=>{if(m[F.getId()])P-=g[F.getId()];else{v.push(F);const D=u[E];w+=D}});const S=1/w;v.forEach((F,E)=>{let D;E===v.length-1?D=P:(D=Math.round(u[E]*d*S),P-=D);const A=F.getMinWidth(),L=F.getMaxWidth();D<A?(D=A,m[F.getId()]=!0,f=!0):L>0&&D>L&&(D=L,m[F.getId()]=!0,f=!0),g[F.getId()]=D})}c.forEach(v=>{const w=g[v.getId()];v.getActualWidth()!==w&&(v.setActualWidth(w,s),o.push(v))})});const r=o.length>0;let l=[];r&&(l=this.refreshFlexedColumns({resizingCols:n,skipSetLeft:!0}),this.visibleColsService.setLeftValues(s),this.visibleColsService.updateBodyWidths(),this.columnViewportService.checkViewportColumns());const a=n.concat(l);(r||i)&&this.eventDispatcher.columnResized(a,i,s,l)}checkMinAndMaxWidthsForSet(e){const{columns:t,width:i}=e;let s=0,o=0,n=!0;return t.forEach(r=>{const l=r.getMinWidth();s+=l||0;const a=r.getMaxWidth();a>0?o+=a:n=!1}),i>=s&&(!n||i<=o)}refreshFlexedColumns(e={}){const t=e.source?e.source:"flex";if(e.viewportWidth!=null&&(this.flexViewportWidth=e.viewportWidth),!this.flexViewportWidth)return[];const i=this.visibleColsService.getCenterCols();let s=-1;if(e.resizingCols){const u=new Set(e.resizingCols);for(let g=i.length-1;g>=0;g--)if(u.has(i[g])){s=g;break}}let o=0,n=[],r=0,l=0;for(let u=0;u<i.length;u++)i[u].getFlex()&&u>s?(n.push(i[u]),l+=i[u].getFlex(),r+=i[u].getMinWidth()):o+=i[u].getActualWidth();if(!n.length)return[];let a=[];o+r>this.flexViewportWidth&&(n.forEach(u=>u.setActualWidth(u.getMinWidth(),t)),a=n,n=[]);const h=[];let d;e:for(;;){d=this.flexViewportWidth-o;const u=d/l;for(let g=0;g<n.length;g++){const m=n[g],f=u*m.getFlex();let C=0;const v=m.getMinWidth(),w=m.getMaxWidth();if(f<v?C=v:f>w&&(C=w),C){m.setActualWidth(C,t),Yo(n,m),l-=m.getFlex(),a.push(m),o+=m.getActualWidth();continue e}h[g]=Math.floor(f)}break}let c=d;return n.forEach((u,g)=>{const m=g<n.length-1?Math.min(h[g],c):Math.max(h[g],c);u.setActualWidth(m,t),a.push(u),c-=h[g]}),e.skipSetLeft||this.visibleColsService.setLeftValues(t),e.updateBodyWidths&&this.visibleColsService.updateBodyWidths(),e.fireResizedEvent&&this.eventDispatcher.columnResized(a,!0,t,n),n}sizeColumnsToFit(e,t="sizeColumnsToFit",i,s){var u;if(this.columnModel.isShouldQueueResizeOperations())return void this.columnModel.pushResizeOperation(()=>this.sizeColumnsToFit(e,t,i,s));const o={};s&&((u=s==null?void 0:s.columnLimits)==null||u.forEach(({key:g,...m})=>{o[typeof g=="string"?g:g.getColId()]=m}));const n=this.visibleColsService.getAllCols(),r=e===tt(n);if(e<=0||!n.length||r)return;const l=[],a=[];n.forEach(g=>{g.getColDef().suppressSizeToFit===!0?a.push(g):l.push(g)});const h=l.slice(0);let d=!1;const c=g=>{ye(l,g),a.push(g)};for(l.forEach(g=>{g.resetActualWidth(t);const m=o==null?void 0:o[g.getId()],f=(m==null?void 0:m.minWidth)??(s==null?void 0:s.defaultMinWidth),C=(m==null?void 0:m.maxWidth)??(s==null?void 0:s.defaultMaxWidth),v=g.getActualWidth();typeof f=="number"&&v<f?g.setActualWidth(f,t,!0):typeof C=="number"&&v>C&&g.setActualWidth(C,t,!0)});!d;){d=!0;const g=e-tt(a);if(g<=0)l.forEach(m=>{var C;const f=((C=o==null?void 0:o[m.getId()])==null?void 0:C.minWidth)??(s==null?void 0:s.defaultMinWidth);typeof f!="number"?m.setMinimum(t):m.setActualWidth(f,t,!0)});else{const m=g/tt(l);let f=g;for(let C=l.length-1;C>=0;C--){const v=l[C],w=o==null?void 0:o[v.getId()],P=(w==null?void 0:w.minWidth)??(s==null?void 0:s.defaultMinWidth),S=(w==null?void 0:w.maxWidth)??(s==null?void 0:s.defaultMaxWidth),F=v.getMinWidth(),E=v.getMaxWidth(),D=typeof P=="number"&&P>F?P:F,A=typeof S=="number"&&S<E?S:E;let L=Math.round(v.getActualWidth()*m);L<D?(L=D,c(v),d=!1):L>A?(L=A,c(v),d=!1):C===0&&(L=f),v.setActualWidth(L,t,!0),f-=L}}}h.forEach(g=>{g.fireColumnWidthChangedEvent(t)}),this.visibleColsService.setLeftValues(t),this.visibleColsService.updateBodyWidths(),i||this.eventDispatcher.columnResized(h,!0,t)}applyAutosizeStrategy(){const e=this.gos.get("autoSizeStrategy");if(!e)return;const{type:t}=e;setTimeout(()=>{if(t==="fitGridWidth"){const{columnLimits:i,defaultMinWidth:s,defaultMaxWidth:o}=e,n=i==null?void 0:i.map(({colId:r,minWidth:l,maxWidth:a})=>({key:r,minWidth:l,maxWidth:a}));this.ctrlsService.getGridBodyCtrl().sizeColumnsToFit({defaultMinWidth:s,defaultMaxWidth:o,columnLimits:n})}else t==="fitProvidedWidth"&&this.sizeColumnsToFit(e.width,"sizeColumnsToFit")})}};function hn(e,t){return e+"_"+t}function de(e){return e instanceof dn}var dn=class extends b{constructor(e,t,i,s){super(),this.isColumn=!1,this.displayedChildren=[],this.autoHeaderHeight=null,this.parent=null,this.groupId=t,this.partId=i,this.providedColumnGroup=e,this.pinned=s}reset(){this.parent=null,this.children=null,this.displayedChildren=null}getParent(){return this.parent}setParent(e){this.parent=e}getUniqueId(){return hn(this.groupId,this.partId)}isEmptyGroup(){return this.displayedChildren.length===0}isMoving(){const e=this.getProvidedColumnGroup().getLeafColumns();return!(!e||e.length===0)&&e.every(t=>t.isMoving())}checkLeft(){if(this.displayedChildren.forEach(e=>{de(e)&&e.checkLeft()}),this.displayedChildren.length>0)if(this.gos.get("enableRtl")){const e=$(this.displayedChildren).getLeft();this.setLeft(e)}else{const e=this.displayedChildren[0].getLeft();this.setLeft(e)}else this.setLeft(null)}getLeft(){return this.left}getOldLeft(){return this.oldLeft}setLeft(e){this.oldLeft=this.left,this.left!==e&&(this.left=e,this.dispatchLocalEvent({type:"leftChanged"}))}getPinned(){return this.pinned}getGroupId(){return this.groupId}getPartId(){return this.partId}getActualWidth(){let e=0;return this.displayedChildren&&this.displayedChildren.forEach(t=>{e+=t.getActualWidth()}),e}isResizable(){if(!this.displayedChildren)return!1;let e=!1;return this.displayedChildren.forEach(t=>{t.isResizable()&&(e=!0)}),e}getMinWidth(){let e=0;return this.displayedChildren.forEach(t=>{e+=t.getMinWidth()}),e}addChild(e){this.children||(this.children=[]),this.children.push(e)}getDisplayedChildren(){return this.displayedChildren}getLeafColumns(){const e=[];return this.addLeafColumns(e),e}getDisplayedLeafColumns(){const e=[];return this.addDisplayedLeafColumns(e),e}getDefinition(){return this.providedColumnGroup.getColGroupDef()}getColGroupDef(){return this.providedColumnGroup.getColGroupDef()}isPadding(){return this.providedColumnGroup.isPadding()}isExpandable(){return this.providedColumnGroup.isExpandable()}isExpanded(){return this.providedColumnGroup.isExpanded()}setExpanded(e){this.providedColumnGroup.setExpanded(e)}isAutoHeaderHeight(){var e;return!!((e=this.getColGroupDef())!=null&&e.autoHeaderHeight)}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){const t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}addDisplayedLeafColumns(e){this.displayedChildren.forEach(t=>{dt(t)?e.push(t):de(t)&&t.addDisplayedLeafColumns(e)})}addLeafColumns(e){this.children.forEach(t=>{dt(t)?e.push(t):de(t)&&t.addLeafColumns(e)})}getChildren(){return this.children}getColumnGroupShow(){return this.providedColumnGroup.getColumnGroupShow()}getProvidedColumnGroup(){return this.providedColumnGroup}getPaddingLevel(){const e=this.getParent();return this.isPadding()&&e&&e.isPadding()?1+e.getPaddingLevel():0}calculateDisplayedColumns(){this.displayedChildren=[];let e=this;for(;e!=null&&e.isPadding();)e=e.getParent();if(!(e&&e.getProvidedColumnGroup().isExpandable()))return this.displayedChildren=this.children,void this.dispatchLocalEvent({type:"displayedChildrenChanged"});this.children.forEach(t=>{if(!(de(t)&&(!t.displayedChildren||!t.displayedChildren.length)))switch(t.getColumnGroupShow()){case"open":e.getProvidedColumnGroup().isExpanded()&&this.displayedChildren.push(t);break;case"closed":e.getProvidedColumnGroup().isExpanded()||this.displayedChildren.push(t);break;default:this.displayedChildren.push(t)}}),this.dispatchLocalEvent({type:"displayedChildrenChanged"})}},cn=class{constructor(){this.existingIds={}}getInstanceIdForKey(e){const t=this.existingIds[e];let i;return i=typeof t!="number"?0:t+1,this.existingIds[e]=i,i}},Ul=class extends b{constructor(){super(...arguments),this.beanName="visibleColsService",this.colsAndGroupsMap={},this.columnsLeft=[],this.columnsRight=[],this.columnsCenter=[],this.columns=[],this.bodyWidth=0,this.leftWidth=0,this.rightWidth=0,this.bodyWidthDirty=!0}wireBeans(e){this.columnModel=e.columnModel,this.columnSizeService=e.columnSizeService,this.columnViewportService=e.columnViewportService,this.eventDispatcher=e.columnEventDispatcher}refresh(e,t=!1){t||this.buildTrees(),this.updateOpenClosedVisibilityInColumnGroups(),this.columnsLeft=As(this.treeLeft),this.columnsCenter=As(this.treeCenter),this.columnsRight=As(this.treeRight),this.joinColsAriaOrder(),this.joinCols(),this.setLeftValues(e),this.autoHeightCols=this.columns.filter(i=>i.isAutoHeight()),this.columnSizeService.refreshFlexedColumns(),this.updateBodyWidths(),this.columnViewportService.checkViewportColumns(!1),this.setFirstRightAndLastLeftPinned(e),this.eventDispatcher.visibleCols(e)}updateBodyWidths(){const e=tt(this.columnsCenter),t=tt(this.columnsLeft),i=tt(this.columnsRight);this.bodyWidthDirty=this.bodyWidth!==e,(this.bodyWidth!==e||this.leftWidth!==t||this.rightWidth!==i)&&(this.bodyWidth=e,this.leftWidth=t,this.rightWidth=i,this.eventService.dispatchEvent({type:"columnContainerWidthChanged"}),this.eventService.dispatchEvent({type:"displayedColumnsWidthChanged"}))}setLeftValues(e){this.setLeftValuesOfCols(e),this.setLeftValuesOfGroups()}setFirstRightAndLastLeftPinned(e){let t,i;this.gos.get("enableRtl")?(t=this.columnsLeft?this.columnsLeft[0]:null,i=this.columnsRight?$(this.columnsRight):null):(t=this.columnsLeft?$(this.columnsLeft):null,i=this.columnsRight?this.columnsRight[0]:null),this.columnModel.getCols().forEach(s=>{s.setLastLeftPinned(s===t,e),s.setFirstRightPinned(s===i,e)})}buildTrees(){const e=this.columnModel.getColsToShow(),t=e.filter(n=>n.getPinned()=="left"),i=e.filter(n=>n.getPinned()=="right"),s=e.filter(n=>n.getPinned()!="left"&&n.getPinned()!="right"),o=new cn;this.treeLeft=this.createGroups({columns:t,idCreator:o,pinned:"left",oldDisplayedGroups:this.treeLeft}),this.treeRight=this.createGroups({columns:i,idCreator:o,pinned:"right",oldDisplayedGroups:this.treeRight}),this.treeCenter=this.createGroups({columns:s,idCreator:o,pinned:null,oldDisplayedGroups:this.treeCenter}),this.updateColsAndGroupsMap()}clear(){this.columnsLeft=[],this.columnsRight=[],this.columnsCenter=[],this.columns=[],this.ariaOrderColumns=[]}joinColsAriaOrder(){const e=this.columnModel.getCols(),t=[],i=[],s=[];for(const o of e){const n=o.getPinned();n?n===!0||n==="left"?t.push(o):s.push(o):i.push(o)}this.ariaOrderColumns=t.concat(i).concat(s)}getAriaColIndex(e){let t;return t=de(e)?e.getLeafColumns()[0]:e,this.ariaOrderColumns.indexOf(t)+1}getAllAutoHeightCols(){return this.autoHeightCols}setLeftValuesOfGroups(){[this.treeLeft,this.treeRight,this.treeCenter].forEach(e=>{e.forEach(t=>{de(t)&&t.checkLeft()})})}setLeftValuesOfCols(e){if(!this.columnModel.getColDefCols())return;const t=this.columnModel.getCols().slice(0),i=this.gos.get("enableRtl");[this.columnsLeft,this.columnsRight,this.columnsCenter].forEach(s=>{if(i){let o=tt(s);s.forEach(n=>{o-=n.getActualWidth(),n.setLeft(o,e)})}else{let o=0;s.forEach(n=>{n.setLeft(o,e),o+=n.getActualWidth()})}(function(o,n){for(let r=0;r<n.length;r++)Yo(o,n[r])})(t,s)}),t.forEach(s=>{s.setLeft(null,e)})}joinCols(){this.gos.get("enableRtl")?this.columns=this.columnsRight.concat(this.columnsCenter).concat(this.columnsLeft):this.columns=this.columnsLeft.concat(this.columnsCenter).concat(this.columnsRight)}getColsCenter(){return this.columnsCenter}getAllTrees(){return this.treeLeft&&this.treeRight&&this.treeCenter?this.treeLeft.concat(this.treeCenter).concat(this.treeRight):null}getTreeLeft(){return this.treeLeft}getTreeRight(){return this.treeRight}getTreeCenter(){return this.treeCenter}getAllCols(){return this.columns}isColDisplayed(e){return this.getAllCols().indexOf(e)>=0}getLeftColsForRow(e){return this.columnModel.isColSpanActive()?this.getColsForRow(e,this.columnsLeft):this.columnsLeft}getRightColsForRow(e){return this.columnModel.isColSpanActive()?this.getColsForRow(e,this.columnsRight):this.columnsRight}getColsForRow(e,t,i,s){const o=[];let n=null;for(let r=0;r<t.length;r++){const l=t[r],a=t.length-r,h=Math.min(l.getColSpan(e),a),d=[l];if(h>1){const u=h-1;for(let g=1;g<=u;g++)d.push(t[r+g]);r+=u}let c;i?(c=!1,d.forEach(u=>{i(u)&&(c=!0)})):c=!0,c&&(o.length===0&&n&&s&&s(l)&&o.push(n),o.push(l)),n=l}return o}getBodyContainerWidth(){return this.bodyWidth}getContainerWidth(e){switch(e){case"left":return this.leftWidth;case"right":return this.rightWidth;default:return this.bodyWidth}}getCenterCols(){return this.columnsCenter}getLeftCols(){return this.columnsLeft}getRightCols(){return this.columnsRight}getColBefore(e){const t=this.getAllCols(),i=t.indexOf(e);return i>0?t[i-1]:null}getGroupAtDirection(e,t){const i=e.getProvidedColumnGroup().getLevel()+e.getPaddingLevel(),s=e.getDisplayedLeafColumns(),o=t==="After"?$(s):s[0],n=`getCol${t}`;for(;;){const r=this[n](o);if(!r)return null;const l=this.getColGroupAtLevel(r,i);if(l!==e)return l}}getColGroupAtLevel(e,t){let i,s,o=e.getParent();for(;i=o.getProvidedColumnGroup().getLevel(),s=o.getPaddingLevel(),!(i+s<=t);)o=o.getParent();return o}isPinningLeft(){return this.columnsLeft.length>0}isPinningRight(){return this.columnsRight.length>0}updateColsAndGroupsMap(){this.colsAndGroupsMap={};const e=t=>{this.colsAndGroupsMap[t.getUniqueId()]=t};Rt(this.treeCenter,!1,e),Rt(this.treeLeft,!1,e),Rt(this.treeRight,!1,e)}isVisible(e){return this.colsAndGroupsMap[e.getUniqueId()]===e}updateOpenClosedVisibilityInColumnGroups(){Rt(this.getAllTrees(),!1,e=>{de(e)&&e.calculateDisplayedColumns()})}getFirstColumn(){const e=this.gos.get("enableRtl"),t=["getLeftCols","getCenterCols","getRightCols"];e&&t.reverse();for(let i=0;i<t.length;i++){const s=this[t[i]]();if(s.length)return e?$(s):s[0]}return null}getColumnGroup(e,t){if(!e)return null;if(de(e))return e;const i=this.getAllTrees(),s=typeof t=="number";let o=null;return Rt(i,!1,n=>{if(de(n)){const r=n;let l;l=s?e===r.getGroupId()&&t===r.getPartId():e===r.getGroupId(),l&&(o=r)}}),o}getColAfter(e){const t=this.getAllCols(),i=t.indexOf(e);return i<t.length-1?t[i+1]:null}isBodyWidthDirty(){return this.bodyWidthDirty}setBodyWidthDirty(){this.bodyWidthDirty=!0}getColsLeftWidth(){return tt(this.columnsLeft)}getDisplayedColumnsRightWidth(){return tt(this.columnsRight)}isColAtEdge(e,t){const i=this.getAllCols();if(!i.length)return!1;const s=t==="first";let o;if(de(e)){const n=e.getDisplayedLeafColumns();if(!n.length)return!1;o=s?n[0]:$(n)}else o=e;return(s?i[0]:$(i))===o}createGroups(e){const{columns:t,idCreator:i,pinned:s,oldDisplayedGroups:o,isStandaloneStructure:n}=e,r=this.mapOldGroupsById(o),l=[];let a=t;for(;a.length;){const h=a;a=[];let d=0;const c=u=>{const g=d;d=u;const m=h[g],f=(de(m)?m.getProvidedColumnGroup():m).getOriginalParent();if(f==null){for(let v=g;v<u;v++)l.push(h[v]);return}const C=this.createColGroup(f,i,r,s,n);for(let v=g;v<u;v++)C.addChild(h[v]);a.push(C)};for(let u=1;u<h.length;u++){const g=h[u],m=(de(g)?g.getProvidedColumnGroup():g).getOriginalParent(),f=h[d];m!==(de(f)?f.getProvidedColumnGroup():f).getOriginalParent()&&c(u)}d<h.length&&c(h.length)}return n||this.setupParentsIntoCols(l,null),l}createColGroup(e,t,i,s,o){const n=e.getGroupId(),r=t.getInstanceIdForKey(n);let l=i[hn(n,r)];return l&&l.getProvidedColumnGroup()!==e&&(l=null),M(l)?l.reset():(l=new dn(e,n,r,s),o||this.createBean(l)),l}mapOldGroupsById(e){const t={},i=s=>{s.forEach(o=>{if(de(o)){const n=o;t[o.getUniqueId()]=n,i(n.getChildren())}})};return e&&i(e),t}setupParentsIntoCols(e,t){e.forEach(i=>{if(i.setParent(t),de(i)){const s=i;this.setupParentsIntoCols(s.getChildren(),s)}})}};function Rt(e,t,i){if(e)for(let s=0;s<e.length;s++){const o=e[s];de(o)&&Rt(t?o.getDisplayedChildren():o.getChildren(),t,i),i(o)}}function As(e){const t=[];return Rt(e,!0,i=>{dt(i)&&t.push(i)}),t}var un=["columnEverythingChanged","newColumnsLoaded","columnPivotModeChanged","pivotMaxColumnsExceeded","columnRowGroupChanged","expandOrCollapseAll","columnPivotChanged","gridColumnsChanged","columnValueChanged","columnMoved","columnVisible","columnPinned","columnGroupOpened","columnResized","displayedColumnsChanged","virtualColumnsChanged","columnHeaderMouseOver","columnHeaderMouseLeave","columnHeaderClicked","columnHeaderContextMenu","asyncTransactionsFlushed","rowGroupOpened","rowDataUpdated","pinnedRowDataChanged","rangeSelectionChanged","cellSelectionChanged","chartCreated","chartRangeSelectionChanged","chartOptionsChanged","chartDestroyed","toolPanelVisibleChanged","toolPanelSizeChanged","modelUpdated","cutStart","cutEnd","pasteStart","pasteEnd","fillStart","fillEnd","cellSelectionDeleteStart","cellSelectionDeleteEnd","rangeDeleteStart","rangeDeleteEnd","undoStarted","undoEnded","redoStarted","redoEnded","cellClicked","cellDoubleClicked","cellMouseDown","cellContextMenu","cellValueChanged","cellEditRequest","rowValueChanged","headerFocused","cellFocused","rowSelected","selectionChanged","tooltipShow","tooltipHide","cellKeyDown","cellMouseOver","cellMouseOut","filterChanged","filterModified","filterOpened","advancedFilterBuilderVisibleChanged","sortChanged","virtualRowRemoved","rowClicked","rowDoubleClicked","gridReady","gridPreDestroyed","gridSizeChanged","viewportChanged","firstDataRendered","dragStarted","dragStopped","dragCancelled","rowEditingStarted","rowEditingStopped","cellEditingStarted","cellEditingStopped","bodyScroll","bodyScrollEnd","paginationChanged","componentStateChanged","storeRefreshed","stateUpdated","columnMenuVisibleChanged","contextMenuVisibleChanged","rowDragEnter","rowDragMove","rowDragLeave","rowDragEnd","rowDragCancel"],Kl=[...un,"scrollbarWidthChanged","keyShortcutChangedCellStart","keyShortcutChangedCellEnd","pinnedHeightChanged","cellFocusCleared","fullWidthRowFocused","checkboxChanged","heightScaleChanged","suppressMovableColumns","suppressMenuHide","suppressFieldDotNotation","columnPanelItemDragStart","columnPanelItemDragEnd","bodyHeightChanged","columnContainerWidthChanged","displayedColumnsWidthChanged","scrollVisibilityChanged","scrollGapChanged","columnHoverChanged","flashCells","paginationPixelOffsetChanged","displayedRowsChanged","leftPinnedWidthChanged","rightPinnedWidthChanged","rowContainerHeightChanged","headerHeightChanged","columnGroupHeaderHeightChanged","columnHeaderHeightChanged","gridStylesChanged","storeUpdated","filterDestroyed","rowDataUpdateStarted","rowCountReady","advancedFilterEnabledChanged","dataTypesInferred","fieldValueChanged","fieldPickerValueSelected","richSelectListRowSelected","sideBarUpdated","alignedGridScroll","alignedGridColumn","gridOptionsChanged","chartTitleEdit","recalculateRowBounds","stickyTopOffsetChanged","overlayExclusiveChanged"],$l={enableBrowserTooltips:!0,tooltipTrigger:!0,tooltipMouseTrack:!0,tooltipShowMode:!0,tooltipInteraction:!0,defaultColGroupDef:!0,suppressAutoSize:!0,skipHeaderOnAutoSize:!0,autoSizeStrategy:!0,components:!0,stopEditingWhenCellsLoseFocus:!0,undoRedoCellEditing:!0,undoRedoCellEditingLimit:!0,excelStyles:!0,cacheQuickFilter:!0,advancedFilterModel:!0,customChartThemes:!0,chartThemeOverrides:!0,chartToolPanelsDef:!0,loadingCellRendererSelector:!0,localeText:!0,keepDetailRows:!0,keepDetailRowsCount:!0,detailRowHeight:!0,detailRowAutoHeight:!0,tabIndex:!0,valueCache:!0,valueCacheNeverExpires:!0,enableCellExpressions:!0,suppressTouch:!0,suppressAsyncEvents:!0,suppressBrowserResizeObserver:!0,suppressPropertyNamesCheck:!0,debug:!0,dragAndDropImageComponent:!0,loadingOverlayComponent:!0,suppressLoadingOverlay:!0,noRowsOverlayComponent:!0,paginationPageSizeSelector:!0,paginateChildRows:!0,pivotPanelShow:!0,pivotSuppressAutoColumn:!0,suppressExpandablePivotGroups:!0,aggFuncs:!0,suppressAggFuncInHeader:!0,allowShowChangeAfterFilter:!0,ensureDomOrder:!0,enableRtl:!0,suppressColumnVirtualisation:!0,suppressMaxRenderedRowRestriction:!0,suppressRowVirtualisation:!0,rowDragText:!0,suppressGroupMaintainValueType:!0,groupLockGroupColumns:!0,rowGroupPanelSuppressSort:!0,suppressGroupRowsSticky:!0,rowModelType:!0,cacheOverflowSize:!0,infiniteInitialRowCount:!0,serverSideInitialRowCount:!0,suppressServerSideInfiniteScroll:!0,maxBlocksInCache:!0,maxConcurrentDatasourceRequests:!0,blockLoadDebounceMillis:!0,serverSideOnlyRefreshFilteredGroups:!0,serverSidePivotResultFieldSeparator:!0,viewportRowModelPageSize:!0,viewportRowModelBufferSize:!0,debounceVerticalScrollbar:!0,suppressAnimationFrame:!0,suppressPreventDefaultOnMouseWheel:!0,scrollbarWidth:!0,icons:!0,suppressRowTransform:!0,gridId:!0,enableGroupEdit:!0,initialState:!0,processUnpinnedColumns:!0,createChartContainer:!0,getLocaleText:!0,getRowId:!0,reactiveCustomComponents:!0,columnMenu:!0,suppressSetFilterByDefault:!0},ve=class{};ve.STRING_PROPERTIES=["overlayLoadingTemplate","overlayNoRowsTemplate","gridId","quickFilterText","rowModelType","editType","domLayout","clipboardDelimiter","rowGroupPanelShow","multiSortKey","pivotColumnGroupTotals","pivotRowTotals","pivotPanelShow","fillHandleDirection","groupDisplayType","treeDataDisplayType","colResizeDefault","tooltipTrigger","serverSidePivotResultFieldSeparator","columnMenu","tooltipShowMode","grandTotalRow"],ve.OBJECT_PROPERTIES=["components","rowStyle","context","autoGroupColumnDef","localeText","icons","datasource","dragAndDropImageComponentParams","serverSideDatasource","viewportDatasource","groupRowRendererParams","aggFuncs","fullWidthCellRendererParams","defaultColGroupDef","defaultColDef","defaultCsvExportParams","defaultExcelExportParams","columnTypes","rowClassRules","detailCellRendererParams","loadingCellRendererParams","loadingOverlayComponentParams","noRowsOverlayComponentParams","popupParent","statusBar","sideBar","theme","chartThemeOverrides","customChartThemes","chartToolPanelsDef","dataTypeDefinitions","advancedFilterModel","advancedFilterParent","advancedFilterBuilderParams","initialState","autoSizeStrategy","cellSelection","selectionColumnDef"],ve.ARRAY_PROPERTIES=["sortingOrder","alignedGrids","rowData","columnDefs","excelStyles","pinnedTopRowData","pinnedBottomRowData","chartThemes","rowClass","paginationPageSizeSelector"],ve.NUMBER_PROPERTIES=["rowHeight","detailRowHeight","rowBuffer","headerHeight","groupHeaderHeight","groupLockGroupColumns","floatingFiltersHeight","pivotHeaderHeight","pivotGroupHeaderHeight","groupDefaultExpanded","pivotDefaultExpanded","viewportRowModelPageSize","viewportRowModelBufferSize","autoSizePadding","maxBlocksInCache","maxConcurrentDatasourceRequests","tooltipShowDelay","tooltipHideDelay","cacheOverflowSize","paginationPageSize","cacheBlockSize","infiniteInitialRowCount","serverSideInitialRowCount","scrollbarWidth","asyncTransactionWaitMillis","blockLoadDebounceMillis","keepDetailRowsCount","undoRedoCellEditingLimit","cellFlashDelay","cellFadeDelay","cellFlashDuration","cellFadeDuration","tabIndex","pivotMaxGeneratedColumns"],ve.BOOLEAN_PROPERTIES=["suppressMakeColumnVisibleAfterUnGroup","suppressRowClickSelection","suppressCellFocus","suppressHeaderFocus","suppressHorizontalScroll","groupSelectsChildren","alwaysShowHorizontalScroll","alwaysShowVerticalScroll","debug","enableBrowserTooltips","enableCellExpressions","groupIncludeTotalFooter","groupSuppressBlankHeader","suppressMenuHide","suppressRowDeselection","unSortIcon","suppressMultiSort","alwaysMultiSort","singleClickEdit","suppressLoadingOverlay","suppressNoRowsOverlay","suppressAutoSize","skipHeaderOnAutoSize","suppressColumnMoveAnimation","suppressMoveWhenColumnDragging","suppressMovableColumns","suppressFieldDotNotation","enableRangeSelection","enableRangeHandle","enableFillHandle","suppressClearOnFillReduction","deltaSort","suppressTouch","suppressAsyncEvents","allowContextMenuWithControlKey","suppressContextMenu","enableCellChangeFlash","suppressDragLeaveHidesColumns","suppressRowGroupHidesColumns","suppressMiddleClickScrolls","suppressPreventDefaultOnMouseWheel","suppressCopyRowsToClipboard","copyHeadersToClipboard","copyGroupHeadersToClipboard","pivotMode","suppressAggFuncInHeader","suppressColumnVirtualisation","alwaysAggregateAtRootLevel","suppressFocusAfterRefresh","functionsReadOnly","animateRows","groupSelectsFiltered","groupRemoveSingleChildren","groupRemoveLowestSingleChildren","enableRtl","suppressClickEdit","rowDragEntireRow","rowDragManaged","suppressRowDrag","suppressMoveWhenRowDragging","rowDragMultiRow","enableGroupEdit","embedFullWidthRows","suppressPaginationPanel","groupHideOpenParents","groupAllowUnbalanced","pagination","paginationAutoPageSize","suppressScrollOnNewData","suppressScrollWhenPopupsAreOpen","purgeClosedRowNodes","cacheQuickFilter","includeHiddenColumnsInQuickFilter","ensureDomOrder","accentedSort","suppressChangeDetection","valueCache","valueCacheNeverExpires","aggregateOnlyChangedColumns","suppressAnimationFrame","suppressExcelExport","suppressCsvExport","includeHiddenColumnsInAdvancedFilter","suppressMultiRangeSelection","enterNavigatesVerticallyAfterEdit","enterNavigatesVertically","suppressPropertyNamesCheck","rowMultiSelectWithClick","suppressRowHoverHighlight","suppressRowTransform","suppressClipboardPaste","suppressLastEmptyLineOnPaste","enableCharts","suppressMaintainUnsortedOrder","enableCellTextSelection","suppressBrowserResizeObserver","suppressMaxRenderedRowRestriction","excludeChildrenWhenTreeDataFiltering","tooltipMouseTrack","tooltipInteraction","keepDetailRows","paginateChildRows","preventDefaultOnContextMenu","undoRedoCellEditing","allowDragFromColumnsToolPanel","pivotSuppressAutoColumn","suppressExpandablePivotGroups","debounceVerticalScrollbar","detailRowAutoHeight","serverSideSortAllLevels","serverSideEnableClientSideSort","serverSideOnlyRefreshFilteredGroups","serverSideSortOnServer","serverSideFilterOnServer","suppressAggFilteredOnly","showOpenedGroup","suppressClipboardApi","suppressModelUpdateAfterUpdateTransaction","stopEditingWhenCellsLoseFocus","groupMaintainOrder","columnHoverHighlight","readOnlyEdit","suppressRowVirtualisation","enableCellEditingOnBackspace","resetRowDataOnUpdate","removePivotHeaderRowWhenSingleValueColumn","suppressCopySingleCellRanges","suppressGroupRowsSticky","suppressCutToClipboard","suppressServerSideInfiniteScroll","rowGroupPanelSuppressSort","allowShowChangeAfterFilter","enableAdvancedFilter","masterDetail","treeData","suppressGroupMaintainValueType","reactiveCustomComponents","applyQuickFilterBeforePivotOrAgg","suppressServerSideFullWidthLoadingRow","suppressAdvancedFilterEval","loading","maintainColumnOrder","enableStrictPivotColumnOrder","suppressSetFilterByDefault"],ve.OTHER_PROPERTIES=["suppressStickyTotalRow","loadThemeGoogleFonts","rowSelection"],ve.FUNCTION_PROPERTIES=["doesExternalFilterPass","processPivotResultColDef","processPivotResultColGroupDef","getBusinessKeyForNode","isRowSelectable","rowDragText","groupRowRenderer","dragAndDropImageComponent","fullWidthCellRenderer","loadingCellRenderer","loadingOverlayComponent","noRowsOverlayComponent","detailCellRenderer","quickFilterParser","quickFilterMatcher","getLocaleText","isExternalFilterPresent","getRowHeight","getRowClass","getRowStyle","getContextMenuItems","getMainMenuItems","processRowPostCreate","processCellForClipboard","getGroupRowAgg","isFullWidthRow","sendToClipboard","focusGridInnerElement","navigateToNextHeader","tabToNextHeader","navigateToNextCell","tabToNextCell","processCellFromClipboard","getDocument","postProcessPopup","getChildCount","getDataPath","isRowMaster","postSortRows","processHeaderForClipboard","processUnpinnedColumns","processGroupHeaderForClipboard","paginationNumberFormatter","processDataFromClipboard","getServerSideGroupKey","isServerSideGroup","createChartContainer","getChartToolbarItems","fillOperation","isApplyServerSideTransaction","getServerSideGroupLevelParams","isServerSideGroupOpenByDefault","isGroupOpenByDefault","initialGroupOrderComparator","groupIncludeFooter","loadingCellRendererSelector","getRowId","groupAggFiltering","chartMenuItems","groupTotalRow"],ve.ALL_PROPERTIES=[...ve.ARRAY_PROPERTIES,...ve.OBJECT_PROPERTIES,...ve.STRING_PROPERTIES,...ve.NUMBER_PROPERTIES,...ve.FUNCTION_PROPERTIES,...ve.BOOLEAN_PROPERTIES,...ve.OTHER_PROPERTIES];var li=ve,Ie=class{static getCallbackForEvent(e){return!e||e.length<2?e:"on"+e[0].toUpperCase()+e.substring(1)}};Ie.VUE_OMITTED_PROPERTY="AG-VUE-OMITTED-PROPERTY",Ie.PUBLIC_EVENTS=un,Ie.EVENT_CALLBACKS=Kl.map(e=>Ie.getCallbackForEvent(e)),Ie.BOOLEAN_PROPERTIES=li.BOOLEAN_PROPERTIES,Ie.ALL_PROPERTIES=li.ALL_PROPERTIES,Ie.ALL_PROPERTIES_AND_CALLBACKS=[...Ie.ALL_PROPERTIES,...Ie.EVENT_CALLBACKS],Ie.ALL_PROPERTIES_AND_CALLBACKS_SET=new Set(Ie.ALL_PROPERTIES_AND_CALLBACKS);var ai=Ie,Vt=class extends b{};function hi(e,t,i){return i&&e.addDestroyFunc(()=>t.destroyBean(i)),i??e}var di=class{constructor(e){this.cssClassStates={},this.getGui=e}addCssClass(e){const t=(e||"").split(" ");if(t.length>1)return void t.forEach(i=>this.addCssClass(i));if(this.cssClassStates[e]!==!0&&e.length){const i=this.getGui();i&&i.classList.add(e),this.cssClassStates[e]=!0}}removeCssClass(e){const t=(e||"").split(" ");if(t.length>1)return void t.forEach(i=>this.removeCssClass(i));if(this.cssClassStates[e]!==!1&&e.length){const i=this.getGui();i&&i.classList.remove(e),this.cssClassStates[e]=!1}}containsCssClass(e){const t=this.getGui();return!!t&&t.classList.contains(e)}addOrRemoveCssClass(e,t){if(e){if(e.indexOf(" ")>=0){const i=(e||"").split(" ");if(i.length>1)return void i.forEach(s=>this.addOrRemoveCssClass(s,t))}if(this.cssClassStates[e]!==t&&e.length){const i=this.getGui();i&&i.classList.toggle(e,t),this.cssClassStates[e]=t}}}};function st(e,t,i){i==null||typeof i=="string"&&i==""?gn(e,t):je(e,t,i)}function je(e,t,i){e.setAttribute(pn(t),i.toString())}function gn(e,t){e.removeAttribute(pn(t))}function pn(e){return`aria-${e}`}function Ve(e,t){t?e.setAttribute("role",t):e.removeAttribute("role")}function Wt(e,t){st(e,"label",t)}function ci(e,t){st(e,"labelledby",t)}function mn(e,t){st(e,"live",t)}function Cn(e,t){st(e,"hidden",t)}function Bi(e,t){je(e,"expanded",t)}function fn(e,t){je(e,"colindex",t)}function Vi(e,t){st(e,"selected",t)}function Ts(e,t){return t===void 0?e("ariaIndeterminate","indeterminate"):t===!0?e("ariaChecked","checked"):e("ariaUnchecked","unchecked")}var vn="[disabled], .ag-disabled:not(.ag-button), .ag-disabled *";function Is(e){const t=Element.prototype.matches||Element.prototype.msMatchesSelector,i=t.call(e,"input, select, button, textarea"),s=t.call(e,vn),o=qe(e);return i&&!s&&o}function le(e,t,i={}){const{skipAriaHidden:s}=i;e.classList.toggle("ag-hidden",!t),s||Cn(e,!t)}function ui(e,t){const i="disabled",s=t?o=>o.setAttribute(i,""):o=>o.removeAttribute(i);s(e),bn(e.querySelectorAll("input"),o=>s(o))}function zt(e,t,i){let s=0;for(;e;){if(e.classList.contains(t))return!0;if(e=e.parentElement,typeof i=="number"){if(++s>i)break}else if(e===i)break}return!1}function Ft(e){const{height:t,width:i,borderTopWidth:s,borderRightWidth:o,borderBottomWidth:n,borderLeftWidth:r,paddingTop:l,paddingRight:a,paddingBottom:h,paddingLeft:d,marginTop:c,marginRight:u,marginBottom:g,marginLeft:m,boxSizing:f}=window.getComputedStyle(e);return{height:parseFloat(t||"0"),width:parseFloat(i||"0"),borderTopWidth:parseFloat(s||"0"),borderRightWidth:parseFloat(o||"0"),borderBottomWidth:parseFloat(n||"0"),borderLeftWidth:parseFloat(r||"0"),paddingTop:parseFloat(l||"0"),paddingRight:parseFloat(a||"0"),paddingBottom:parseFloat(h||"0"),paddingLeft:parseFloat(d||"0"),marginTop:parseFloat(c||"0"),marginRight:parseFloat(u||"0"),marginBottom:parseFloat(g||"0"),marginLeft:parseFloat(m||"0"),boxSizing:f}}function Ls(e){const t=Ft(e);return t.boxSizing==="border-box"?t.height-t.paddingTop-t.paddingBottom:t.height}function gi(e){const t=Ft(e);return t.boxSizing==="border-box"?t.width-t.paddingLeft-t.paddingRight:t.width}function wn(e){const{height:t,marginBottom:i,marginTop:s}=Ft(e);return Math.floor(t+i+s)}function Wi(e){const{width:t,marginLeft:i,marginRight:s}=Ft(e);return Math.floor(t+i+s)}function Sn(e){const t=e.getBoundingClientRect(),{borderTopWidth:i,borderLeftWidth:s,borderRightWidth:o,borderBottomWidth:n}=Ft(e);return{top:t.top+(i||0),left:t.left+(s||0),right:t.right+(o||0),bottom:t.bottom+(n||0)}}function zi(e,t){let i=e.scrollLeft;return t&&(i=Math.abs(i)),i}function Ui(e,t,i){i&&(t*=-1),e.scrollLeft=t}function xe(e){for(;e&&e.firstChild;)e.removeChild(e.firstChild)}function Pt(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function yn(e){return!!e.offsetParent}function qe(e){const t=e;return t.checkVisibility?t.checkVisibility({checkVisibilityCSS:!0}):!(!yn(e)||window.getComputedStyle(e).visibility!=="visible")}function pi(e){const t=document.createElement("div");return t.innerHTML=(e||"").trim(),t.firstChild}function Ki(e,t){t==="flex"?(e.style.removeProperty("width"),e.style.removeProperty("minWidth"),e.style.removeProperty("maxWidth"),e.style.flex="1 1 auto"):We(e,t)}function We(e,t){t=ks(t),e.style.width=t.toString(),e.style.maxWidth=t.toString(),e.style.minWidth=t.toString()}function mi(e,t){t=ks(t),e.style.height=t.toString(),e.style.maxHeight=t.toString(),e.style.minHeight=t.toString()}function ks(e){return typeof e=="number"?`${e}px`:e}function Os(e){return e instanceof Node||e instanceof HTMLElement}function Le(e,t,i){i==null||i===""?e.removeAttribute(t):e.setAttribute(t,i.toString())}function bn(e,t){if(e!=null)for(let i=0;i<e.length;i++)t(e[i])}var Gs,$i,Ns,Hs,Bs,Vs,Ws,zs,Us,Ut=class{constructor(e=0,t=1){this.nextValue=e,this.step=t}next(){const e=this.nextValue;return this.nextValue+=this.step,e}peek(){return this.nextValue}skip(e){this.nextValue+=e}};function ot(){return Gs===void 0&&(Gs=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)),Gs}function Rn(){if($i===void 0)if(ot()){const e=navigator.userAgent.match(/version\/(\d+)/i);e&&($i=e[1]!=null?parseFloat(e[1]):0)}else $i=0;return $i}function Ks(){return Hs===void 0&&(Hs=/(firefox)/i.test(navigator.userAgent)),Hs}function Fn(){return Bs===void 0&&(Bs=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)),Bs}function ct(){return Vs===void 0&&(Vs=/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1),Vs}function Pn(){return!ot()||Rn()>=15}function $s(e){if(!e)return null;const t=e.tabIndex,i=e.getAttribute("tabIndex");return t!==-1||i!==null&&(i!==""||Ks())?t.toString():null}function Dn(){const e=document.body,t=document.createElement("div");t.style.width=t.style.height="100px",t.style.opacity="0",t.style.overflow="scroll",t.style.msOverflowStyle="scrollbar",t.style.position="absolute",e.appendChild(t);let i=t.offsetWidth-t.clientWidth;i===0&&t.clientWidth===0&&(i=null),t.parentNode&&t.parentNode.removeChild(t),i!=null&&(zs=i,Ws=i===0)}function En(){return Ws==null&&Dn(),Ws}var Mn=class Lt extends b{constructor(t,i,s,o){super(),this.parentComp=t,this.tooltipShowDelayOverride=i,this.tooltipHideDelayOverride=s,this.shouldDisplayTooltip=o,this.interactionEnabled=!1,this.isInteractingWithTooltip=!1,this.state=0,this.tooltipInstanceCount=0,this.tooltipMouseTrack=!1}wireBeans(t){this.popupService=t.popupService,this.userComponentFactory=t.userComponentFactory}postConstruct(){this.gos.get("tooltipInteraction")&&(this.interactionEnabled=!0),this.tooltipTrigger=this.getTooltipTrigger(),this.tooltipMouseTrack=this.gos.get("tooltipMouseTrack");const t=this.parentComp.getGui();this.tooltipTrigger===0&&this.addManagedListeners(t,{mouseenter:this.onMouseEnter.bind(this),mouseleave:this.onMouseLeave.bind(this)}),this.tooltipTrigger===1&&this.addManagedListeners(t,{focusin:this.onFocusIn.bind(this),focusout:this.onFocusOut.bind(this)}),this.addManagedListeners(t,{mousemove:this.onMouseMove.bind(this)}),this.interactionEnabled||this.addManagedListeners(t,{mousedown:this.onMouseDown.bind(this),keydown:this.onKeyDown.bind(this)})}getGridOptionsTooltipDelay(t){const i=this.gos.get(t);return i<0&&R(`${t} should not be lower than 0`),Math.max(200,i)}getTooltipDelay(t){return t==="show"?this.tooltipShowDelayOverride??this.getGridOptionsTooltipDelay("tooltipShowDelay"):this.tooltipHideDelayOverride??this.getGridOptionsTooltipDelay("tooltipHideDelay")}destroy(){this.setToDoNothing(),super.destroy()}getTooltipTrigger(){const t=this.gos.get("tooltipTrigger");return t&&t!=="hover"?1:0}onMouseEnter(t){this.interactionEnabled&&this.interactiveTooltipTimeoutId&&(this.unlockService(),this.startHideTimeout()),ct()||(Lt.isLocked?this.showTooltipTimeoutId=window.setTimeout(()=>{this.prepareToShowTooltip(t)},100):this.prepareToShowTooltip(t))}onMouseMove(t){this.lastMouseEvent&&(this.lastMouseEvent=t),this.tooltipMouseTrack&&this.state===2&&this.tooltipComp&&this.positionTooltip()}onMouseDown(){this.setToDoNothing()}onMouseLeave(){this.interactionEnabled?this.lockService():this.setToDoNothing()}onFocusIn(){this.prepareToShowTooltip()}onFocusOut(t){var n;const i=t.relatedTarget,s=this.parentComp.getGui(),o=(n=this.tooltipComp)==null?void 0:n.getGui();this.isInteractingWithTooltip||s.contains(i)||this.interactionEnabled&&(o!=null&&o.contains(i))||this.setToDoNothing()}onKeyDown(){this.isInteractingWithTooltip&&(this.isInteractingWithTooltip=!1),this.setToDoNothing()}prepareToShowTooltip(t){if(this.state!=0||Lt.isLocked)return;let i=0;t&&(i=this.isLastTooltipHiddenRecently()?200:this.getTooltipDelay("show")),this.lastMouseEvent=t||null,this.showTooltipTimeoutId=window.setTimeout(this.showTooltip.bind(this),i),this.state=1}isLastTooltipHiddenRecently(){return new Date().getTime()-Lt.lastTooltipHideTime<1e3}setToDoNothing(t){t||this.state!==2||this.hideTooltip(),this.onBodyScrollEventCallback&&(this.onBodyScrollEventCallback(),this.onBodyScrollEventCallback=void 0),this.onColumnMovedEventCallback&&(this.onColumnMovedEventCallback(),this.onColumnMovedEventCallback=void 0),this.onDocumentKeyDownCallback&&(this.onDocumentKeyDownCallback(),this.onDocumentKeyDownCallback=void 0),this.clearTimeouts(),this.state=0,this.lastMouseEvent=null}showTooltip(){const t={...this.parentComp.getTooltipParams()};if(!M(t.value)||this.shouldDisplayTooltip&&!this.shouldDisplayTooltip())return void this.setToDoNothing();this.state=2,this.tooltipInstanceCount++;const i=this.newTooltipComponentCallback.bind(this,this.tooltipInstanceCount);this.userComponentFactory.getTooltipCompDetails(t).newAgStackInstance().then(i)}hideTooltip(t){!t&&this.isInteractingWithTooltip||(this.tooltipComp&&(this.destroyTooltipComp(),Lt.lastTooltipHideTime=new Date().getTime()),this.eventService.dispatchEvent({type:"tooltipHide",parentGui:this.parentComp.getGui()}),t&&(this.isInteractingWithTooltip=!1),this.setToDoNothing(!0))}newTooltipComponentCallback(t,i){if(this.state!==2||this.tooltipInstanceCount!==t)return void this.destroyBean(i);const s=i.getGui();this.tooltipComp=i,s.classList.contains("ag-tooltip")||s.classList.add("ag-tooltip-custom"),this.tooltipTrigger===0&&s.classList.add("ag-tooltip-animate"),this.interactionEnabled&&s.classList.add("ag-tooltip-interactive");const o=this.localeService.getLocaleTextFunc(),n=this.popupService.addPopup({eChild:s,ariaLabel:o("ariaLabelTooltip","Tooltip")});if(n&&(this.tooltipPopupDestroyFunc=n.hideFunc),this.positionTooltip(),this.tooltipTrigger===1){const r=()=>this.setToDoNothing();[this.onBodyScrollEventCallback,this.onColumnMovedEventCallback]=this.addManagedEventListeners({bodyScroll:r,columnMoved:r})}this.interactionEnabled&&([this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener]=this.addManagedElementListeners(s,{mouseenter:this.onTooltipMouseEnter.bind(this),mouseleave:this.onTooltipMouseLeave.bind(this)}),[this.onDocumentKeyDownCallback]=this.addManagedElementListeners(ae(this.gos),{keydown:r=>{s.contains(r==null?void 0:r.target)||this.onKeyDown()}}),this.tooltipTrigger===1&&([this.tooltipFocusInListener,this.tooltipFocusOutListener]=this.addManagedElementListeners(s,{focusin:this.onTooltipFocusIn.bind(this),focusout:this.onTooltipFocusOut.bind(this)}))),this.eventService.dispatchEvent({type:"tooltipShow",tooltipGui:s,parentGui:this.parentComp.getGui()}),this.startHideTimeout()}onTooltipMouseEnter(){this.isInteractingWithTooltip=!0,this.unlockService()}onTooltipMouseLeave(){this.isTooltipFocused()||(this.isInteractingWithTooltip=!1,this.lockService())}onTooltipFocusIn(){this.isInteractingWithTooltip=!0}isTooltipFocused(){var s;const t=(s=this.tooltipComp)==null?void 0:s.getGui(),i=re(this.gos);return!!t&&t.contains(i)}onTooltipFocusOut(t){const i=this.parentComp.getGui();this.isTooltipFocused()||(this.isInteractingWithTooltip=!1,i.contains(t.relatedTarget)?this.startHideTimeout():this.hideTooltip())}positionTooltip(){const t={type:"tooltip",ePopup:this.tooltipComp.getGui(),nudgeY:18,skipObserver:this.tooltipMouseTrack};this.lastMouseEvent?this.popupService.positionPopupUnderMouseEvent({...t,mouseEvent:this.lastMouseEvent}):this.popupService.positionPopupByComponent({...t,eventSource:this.parentComp.getGui(),position:"under",keepWithinBounds:!0,nudgeY:5})}destroyTooltipComp(){this.tooltipComp.getGui().classList.add("ag-tooltip-hiding");const t=this.tooltipPopupDestroyFunc,i=this.tooltipComp,s=this.tooltipTrigger===0?1e3:0;window.setTimeout(()=>{t(),this.destroyBean(i)},s),this.clearTooltipListeners(),this.tooltipPopupDestroyFunc=void 0,this.tooltipComp=void 0}clearTooltipListeners(){[this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener,this.tooltipFocusInListener,this.tooltipFocusOutListener].forEach(t=>{t&&t()}),this.tooltipMouseEnterListener=this.tooltipMouseLeaveListener=this.tooltipFocusInListener=this.tooltipFocusOutListener=null}lockService(){Lt.isLocked=!0,this.interactiveTooltipTimeoutId=window.setTimeout(()=>{this.unlockService(),this.setToDoNothing()},100)}unlockService(){Lt.isLocked=!1,this.clearInteractiveTimeout()}startHideTimeout(){this.clearHideTimeout(),this.hideTooltipTimeoutId=window.setTimeout(this.hideTooltip.bind(this),this.getTooltipDelay("hide"))}clearShowTimeout(){this.showTooltipTimeoutId&&(window.clearTimeout(this.showTooltipTimeoutId),this.showTooltipTimeoutId=void 0)}clearHideTimeout(){this.hideTooltipTimeoutId&&(window.clearTimeout(this.hideTooltipTimeoutId),this.hideTooltipTimeoutId=void 0)}clearInteractiveTimeout(){this.interactiveTooltipTimeoutId&&(window.clearTimeout(this.interactiveTooltipTimeoutId),this.interactiveTooltipTimeoutId=void 0)}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout(),this.clearInteractiveTimeout()}};Mn.isLocked=!1;var _l=Mn,Kt=class extends b{constructor(e,t){super(),this.ctrl=e,t&&(this.beans=t)}wireBeans(e){this.beans=e}postConstruct(){this.refreshToolTip()}setBrowserTooltip(e){const t="title",i=this.ctrl.getGui();i&&(e!=null&&e!=""?i.setAttribute(t,e):i.removeAttribute(t))}updateTooltipText(){this.tooltip=this.ctrl.getTooltipValue()}createTooltipFeatureIfNeeded(){var t,i,s,o;if(this.tooltipManager!=null)return;const e={getTooltipParams:()=>this.getTooltipParams(),getGui:()=>this.ctrl.getGui()};this.tooltipManager=this.createBean(new _l(e,(i=(t=this.ctrl).getTooltipShowDelayOverride)==null?void 0:i.call(t),(o=(s=this.ctrl).getTooltipHideDelayOverride)==null?void 0:o.call(s),this.ctrl.shouldDisplayTooltip),this.beans.context)}refreshToolTip(){this.browserTooltips=this.beans.gos.get("enableBrowserTooltips"),this.updateTooltipText(),this.browserTooltips?(this.setBrowserTooltip(this.tooltip),this.tooltipManager&&(this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context))):(this.setBrowserTooltip(null),this.createTooltipFeatureIfNeeded())}getTooltipParams(){var o,n,r,l,a;const e=this.ctrl,t=(o=e.getColumn)==null?void 0:o.call(e),i=(n=e.getColDef)==null?void 0:n.call(e),s=(r=e.getRowNode)==null?void 0:r.call(e);return{location:e.getLocation(),colDef:i,column:t,rowIndex:(l=e.getRowIndex)==null?void 0:l.call(e),node:s,data:s==null?void 0:s.data,value:this.getTooltipText(),valueFormatted:(a=e.getValueFormatted)==null?void 0:a.call(e),hideTooltipCallback:()=>{var h;return(h=this.tooltipManager)==null?void 0:h.hideTooltip(!0)}}}getTooltipText(){return this.tooltip}destroy(){this.tooltipManager&&(this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context)),super.destroy()}},jl=new Ut,O=null,ee=class hl extends b{constructor(t,i){super(),this.suppressDataRefValidation=!1,this.displayed=!0,this.visible=!0,this.compId=jl.next(),this.cssClassManager=new di(()=>this.eGui),this.componentSelectors=new Map((i??[]).map(s=>[s.selector,s])),t&&this.setTemplate(t)}preWireBeans(t){super.preWireBeans(t)}preConstruct(){this.usingBrowserTooltips=this.gos.get("enableBrowserTooltips"),this.wireTemplate(this.getGui())}wireTemplate(t,i){t&&this.gos&&(this.applyElementsToComponent(t),this.createChildComponentsFromTags(t,i))}getCompId(){return this.compId}getTooltipParams(){return{value:this.tooltipText,location:"UNKNOWN"}}setTooltip(t){const{newTooltipText:i,showDelayOverride:s,hideDelayOverride:o,location:n,shouldDisplayTooltip:r}=t||{};this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),this.tooltipText!==i&&(this.tooltipText=i);const l=()=>this.tooltipText;i!=null&&(this.tooltipFeature=this.createBean(new Kt({getTooltipValue:l,getGui:()=>this.getGui(),getLocation:()=>n??"UNKNOWN",getColDef:t==null?void 0:t.getColDef,getColumn:t==null?void 0:t.getColumn,getTooltipShowDelayOverride:s!=null?()=>s:void 0,getTooltipHideDelayOverride:o!=null?()=>o:void 0,shouldDisplayTooltip:r})))}getDataRefAttribute(t){return t.getAttribute?t.getAttribute("data-ref"):null}applyElementsToComponent(t,i,s,o=null){if(i===void 0&&(i=this.getDataRefAttribute(t)),i){const n=this[i];if(n===O)this[i]=o??t;else{const r=s&&s[i];this.suppressDataRefValidation||r||R(`Issue with data-ref: ${i} on ${this.constructor.name} with ${n}`)}}}createChildComponentsFromTags(t,i){(function(s){if(s==null)return[];const o=[];return bn(s,n=>o.push(n)),o})(t.childNodes).forEach(s=>{if(!(s instanceof HTMLElement))return;const o=this.createComponentFromElement(s,n=>{n.getGui()&&this.copyAttributesFromNode(s,n.getGui())},i);if(o){if(o.addItems&&s.children.length){this.createChildComponentsFromTags(s,i);const n=Array.prototype.slice.call(s.children);o.addItems(n)}this.swapComponentForNode(o,t,s)}else s.childNodes&&this.createChildComponentsFromTags(s,i)})}createComponentFromElement(t,i,s){const o=t.nodeName,n=this.getDataRefAttribute(t),r=o.indexOf("AG-")===0,l=r?this.componentSelectors.get(o):null;let a=null;if(l){hl.elementGettingCreated=t;const h=s&&n?s[n]:void 0;a=new l.component(h),a.setParentComponent(this),this.createBean(a,null,i)}else r&&R(`Missing selector: ${o}`);return this.applyElementsToComponent(t,n,s,a),a}copyAttributesFromNode(t,i){(function(s,o){if(s)for(let n=0;n<s.length;n++){const r=s[n];o(r.name,r.value)}})(t.attributes,(s,o)=>i.setAttribute(s,o))}swapComponentForNode(t,i,s){const o=t.getGui();i.replaceChild(o,s),i.insertBefore(document.createComment(s.nodeName),o),this.addDestroyFunc(this.destroyBean.bind(this,t))}activateTabIndex(t){const i=this.gos.get("tabIndex");t||(t=[]),t.length||t.push(this.getGui()),t.forEach(s=>s.setAttribute("tabindex",i.toString()))}setTemplate(t,i,s){const o=pi(t);this.setTemplateFromElement(o,i,s)}setTemplateFromElement(t,i,s,o=!1){if(this.eGui=t,this.suppressDataRefValidation=o,i)for(let n=0;n<i.length;n++){const r=i[n];this.componentSelectors.set(r.selector,r)}this.wireTemplate(t,s)}getGui(){return this.eGui}getFocusableElement(){return this.eGui}getAriaElement(){return this.getFocusableElement()}setParentComponent(t){this.parentComponent=t}getParentComponent(){return this.parentComponent}setGui(t){this.eGui=t}queryForHtmlElement(t){return this.eGui.querySelector(t)}getContainerAndElement(t,i){let s=i;return t==null?null:(s||(s=this.eGui),Os(t)?{element:t,parent:s}:{element:t.getGui(),parent:s})}prependChild(t,i){const{element:s,parent:o}=this.getContainerAndElement(t,i)||{};s&&o&&o.insertAdjacentElement("afterbegin",s)}appendChild(t,i){const{element:s,parent:o}=this.getContainerAndElement(t,i)||{};s&&o&&o.appendChild(s)}isDisplayed(){return this.displayed}setVisible(t,i={}){if(t!==this.visible){this.visible=t;const{skipAriaHidden:s}=i;(function(o,n,r={}){const{skipAriaHidden:l}=r;o.classList.toggle("ag-invisible",!n),l||Cn(o,!n)})(this.eGui,t,{skipAriaHidden:s})}}setDisplayed(t,i={}){if(t!==this.displayed){this.displayed=t;const{skipAriaHidden:s}=i;le(this.eGui,t,{skipAriaHidden:s});const o={type:"displayChanged",visible:this.displayed};this.dispatchLocalEvent(o)}}destroy(){this.parentComponent&&(this.parentComponent=void 0),this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),super.destroy()}addGuiEventListener(t,i,s){this.eGui.addEventListener(t,i,s),this.addDestroyFunc(()=>this.eGui.removeEventListener(t,i))}addCssClass(t){this.cssClassManager.addCssClass(t)}removeCssClass(t){this.cssClassManager.removeCssClass(t)}containsCssClass(t){return this.cssClassManager.containsCssClass(t)}addOrRemoveCssClass(t,i){this.cssClassManager.addOrRemoveCssClass(t,i)}},xn={columnGroupOpened:"expanded",columnGroupClosed:"contracted",columnSelectClosed:"tree-closed",columnSelectOpen:"tree-open",columnSelectIndeterminate:"tree-indeterminate",columnMovePin:"pin",columnMoveHide:"eye-slash",columnMoveMove:"arrows",columnMoveLeft:"left",columnMoveRight:"right",columnMoveGroup:"group",columnMoveValue:"aggregation",columnMovePivot:"pivot",dropNotAllowed:"not-allowed",groupContracted:"tree-closed",groupExpanded:"tree-open",setFilterGroupClosed:"tree-closed",setFilterGroupOpen:"tree-open",setFilterGroupIndeterminate:"tree-indeterminate",chart:"chart",close:"cross",cancel:"cancel",check:"tick",first:"first",previous:"previous",next:"next",last:"last",linked:"linked",unlinked:"unlinked",colorPicker:"color-picker",groupLoading:"loading",menu:"menu",menuAlt:"menu-alt",filter:"filter",columns:"columns",maximize:"maximize",minimize:"minimize",menuPin:"pin",menuValue:"aggregation",menuAddRowGroup:"group",menuRemoveRowGroup:"group",clipboardCopy:"copy",clipboardCut:"cut",clipboardPaste:"paste",pivotPanel:"pivot",rowGroupPanel:"group",valuePanel:"aggregation",columnDrag:"grip",rowDrag:"grip",save:"save",csvExport:"csv",excelExport:"excel",smallDown:"small-down",smallLeft:"small-left",smallRight:"small-right",smallUp:"small-up",sortAscending:"asc",sortDescending:"desc",sortUnSort:"none",advancedFilterBuilder:"group",advancedFilterBuilderDrag:"grip",advancedFilterBuilderInvalid:"not-allowed",advancedFilterBuilderMoveUp:"up",advancedFilterBuilderMoveDown:"down",advancedFilterBuilderAdd:"plus",advancedFilterBuilderRemove:"minus",chartsMenuEdit:"chart",chartsMenuAdvancedSettings:"settings",chartsMenuAdd:"plus",checkboxChecked:"checkbox-checked",checkboxIndeterminate:"checkbox-indeterminate",checkboxUnchecked:"checkbox-unchecked",radioButtonOn:"radio-button-on",radioButtonOff:"radio-button-off"},ql=(()=>{const e=new Set(Object.values(xn));return e.add("eye"),e})();function Ae(e,t,i,s){let o=null;const n=i&&i.getColDef().icons;if(n&&(o=n[e]),t&&!o){const r=t.get("icons");r&&(o=r[e])}if(!o){const r=document.createElement("span");let l=xn[e]??(ql.has(e)?e:void 0);return l||(R(`Did not find icon ${e}`),l=""),r.setAttribute("class",`ag-icon ag-icon-${l}`),r.setAttribute("unselectable","on"),Ve(r,"presentation"),r}{let r;if(typeof o=="function")r=o();else{if(typeof o!="string")throw new Error("icon from grid options needs to be a string or a function");r=o}if(typeof r=="string")return pi(r);if(Os(r))return r;R("iconRenderer should return back a string or a dom object")}}var Ql=class extends ee{constructor(){super(...arguments),this.dragSource=null,this.eIcon=O,this.eLabel=O}postConstruct(){const e=t=>function(i,s,o){const n=Ae(i,s,o);if(n){const{className:l}=n;if(typeof l=="string"&&l.indexOf("ag-icon")>-1||typeof l=="object"&&l["ag-icon"])return n}const r=document.createElement("span");return r.appendChild(n),r}(t,this.gos,null);this.dropIconMap={pinned:e("columnMovePin"),hide:e("columnMoveHide"),move:e("columnMoveMove"),left:e("columnMoveLeft"),right:e("columnMoveRight"),group:e("columnMoveGroup"),aggregate:e("columnMoveValue"),pivot:e("columnMovePivot"),notAllowed:e("dropNotAllowed")}}init(e){this.dragSource=e.dragSource,this.setTemplate(`<div class="ag-dnd-ghost ag-unselectable">
2
2
  <span data-ref="eIcon" class="ag-dnd-ghost-icon ag-shake-left-to-right"></span>
3
3
  <div data-ref="eLabel" class="ag-dnd-ghost-label"></div>
4
4
  </div>`)}destroy(){this.dragSource=null,super.destroy()}setIcon(e,t=!1){var s,o;xe(this.eIcon);let i=null;e||(e=(s=this.dragSource)!=null&&s.getDefaultIconName?(o=this.dragSource)==null?void 0:o.getDefaultIconName():"notAllowed"),i=this.dropIconMap[e],this.eIcon.classList.toggle("ag-shake-left-to-right",t),i===this.dropIconMap.hide&&this.gos.get("suppressDragLeaveHidesColumns")||i&&this.eIcon.appendChild(i)}setLabel(e){this.eLabel.textContent=_e(e)}};function An(e,t,i){if(i===0)return!1;const s=Math.abs(e.clientX-t.clientX),o=Math.abs(e.clientY-t.clientY);return Math.max(s,o)<=i}var ut=class{constructor(e,t=!1){this.DOUBLE_TAP_MILLIS=500,this.destroyFuncs=[],this.touching=!1,this.localEventService=new Ot,this.eElement=e,this.preventMouseClick=t;const i=this.onTouchStart.bind(this),s=this.onTouchMove.bind(this),o=this.onTouchEnd.bind(this);this.eElement.addEventListener("touchstart",i,{passive:!0}),this.eElement.addEventListener("touchmove",s,{passive:!0}),this.eElement.addEventListener("touchend",o,{passive:!1}),this.destroyFuncs.push(()=>{this.eElement.removeEventListener("touchstart",i,{passive:!0}),this.eElement.removeEventListener("touchmove",s,{passive:!0}),this.eElement.removeEventListener("touchend",o,{passive:!1})})}getActiveTouch(e){for(let t=0;t<e.length;t++)if(e[t].identifier===this.touchStart.identifier)return e[t];return null}addEventListener(e,t){this.localEventService.addEventListener(e,t)}removeEventListener(e,t){this.localEventService.removeEventListener(e,t)}onTouchStart(e){if(this.touching)return;this.touchStart=e.touches[0],this.touching=!0,this.moved=!1;const t=this.touchStart;window.setTimeout(()=>{const i=this.touchStart===t;if(this.touching&&i&&!this.moved){this.moved=!0;const s={type:"longTap",touchStart:this.touchStart,touchEvent:e};this.localEventService.dispatchEvent(s)}},500)}onTouchMove(e){if(!this.touching)return;const t=this.getActiveTouch(e.touches);t&&!An(t,this.touchStart,4)&&(this.moved=!0)}onTouchEnd(e){if(this.touching){if(!this.moved){const t={type:"tap",touchStart:this.touchStart};this.localEventService.dispatchEvent(t),this.checkForDoubleTap()}this.preventMouseClick&&e.cancelable&&e.preventDefault(),this.touching=!1}}checkForDoubleTap(){const e=new Date().getTime();if(this.lastTapTime&&this.lastTapTime>0)if(e-this.lastTapTime>this.DOUBLE_TAP_MILLIS){const t={type:"doubleTap",touchStart:this.touchStart};this.localEventService.dispatchEvent(t),this.lastTapTime=null}else this.lastTapTime=e;else this.lastTapTime=e}destroy(){this.destroyFuncs.forEach(e=>e())}};function Ci(e,t){return`<span data-ref="eSort${e}" class="ag-sort-indicator-icon ag-sort-${t} ag-hidden" aria-hidden="true"></span>`}var Yl=`<span class="ag-sort-indicator-container">
@@ -83,7 +83,7 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`}else o=`AG
83
83
  <ag-input-text-field data-ref="eReadOnlyText"></ag-input-text-field>
84
84
  <div data-ref="eDateWrapper" style="display: flex;"></div>
85
85
  </div>`,[qi]),this.eReadOnlyText=O,this.eDateWrapper=O}wireBeans(e){super.wireBeans(e),this.context=e.context,this.userComponentFactory=e.userComponentFactory}getDefaultFilterOptions(){return Zn}init(e){super.init(e),this.params=e,this.filterParams=e.filterParams,this.createDateComponent(),this.filterModelFormatter=new er(this.filterParams,this.localeService,this.optionsFactory);const t=this.localeService.getLocaleTextFunc();this.eReadOnlyText.setDisabled(!0).setInputAriaLabel(t("ariaDateFilterInput","Date Filter Input"))}onParamsUpdated(e){this.refresh(e)}refresh(e){super.refresh(e),this.params=e,this.filterParams=e.filterParams,this.updateDateComponent(),this.filterModelFormatter.updateParams({optionsFactory:this.optionsFactory,dateFilterParams:this.filterParams}),this.updateCompOnModelChange(e.currentParentModel())}updateCompOnModelChange(e){const t=!this.isReadOnly()&&this.canWeEditAfterModelFromParentFilter(e);if(this.setEditable(t),t){if(e){const i=e;this.dateComp.setDate(De(i.dateFrom))}else this.dateComp.setDate(null);this.eReadOnlyText.setValue("")}else this.eReadOnlyText.setValue(this.filterModelFormatter.getModelAsString(e)),this.dateComp.setDate(null)}setEditable(e){le(this.eDateWrapper,e),le(this.eReadOnlyText.getGui(),!e)}onParentModelChanged(e,t){this.isEventFromFloatingFilter(t)||this.isEventFromDataChange(t)||(super.setLastTypeFromModel(e),this.updateCompOnModelChange(e))}onDateChanged(){const e=ke(this.dateComp.getDate());this.params.parentFilterInstance(t=>{if(t){const i=De(e);t.onFloatingFilterChanged(this.getLastType()||null,i)}})}getDateComponentParams(){const e=Js(this.params.filterParams,this.getDefaultDebounceMs());return{onDateChanged:Se(this.onDateChanged.bind(this),e),filterParams:this.params.column.getColDef().filterParams}}createDateComponent(){this.dateComp=new Jn(this.context,this.userComponentFactory,this.getDateComponentParams(),this.eDateWrapper,e=>{e.setInputAriaLabel(this.getAriaLabel(this.params))}),this.addDestroyFunc(()=>this.dateComp.destroy())}updateDateComponent(){const e=this.gos.addGridCommonParams(this.getDateComponentParams());this.dateComp.updateParams(e)}getFilterModelFormatter(){return this.filterModelFormatter}}}]},cr={version:G,moduleName:"@ag-grid-community/quick-filter-core",beans:[class extends b{constructor(){super(...arguments),this.beanName="quickFilterService",this.quickFilter=null,this.quickFilterParts=null}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.rowModel=e.rowModel,this.pivotResultColsService=e.pivotResultColsService}postConstruct(){const e=this.resetQuickFilterCache.bind(this);this.addManagedEventListeners({columnPivotModeChanged:e,newColumnsLoaded:e,columnRowGroupChanged:e,columnVisible:()=>{this.gos.get("includeHiddenColumnsInQuickFilter")||this.resetQuickFilterCache()}}),this.addManagedPropertyListener("quickFilterText",t=>this.setQuickFilter(t.currentValue)),this.addManagedPropertyListeners(["includeHiddenColumnsInQuickFilter","applyQuickFilterBeforePivotOrAgg"],()=>this.onQuickFilterColumnConfigChanged()),this.quickFilter=this.parseQuickFilter(this.gos.get("quickFilterText")),this.parser=this.gos.get("quickFilterParser"),this.matcher=this.gos.get("quickFilterMatcher"),this.setQuickFilterParts(),this.addManagedPropertyListeners(["quickFilterMatcher","quickFilterParser"],()=>this.setQuickFilterParserAndMatcher())}refreshQuickFilterCols(){var o;const e=this.columnModel.isPivotMode(),t=this.columnModel.getAutoCols(),i=this.columnModel.getColDefCols();let s=(e&&!this.gos.get("applyQuickFilterBeforePivotOrAgg")?(o=this.pivotResultColsService.getPivotResultCols())==null?void 0:o.list:i)??[];t&&(s=s.concat(t)),this.colsForQuickFilter=this.gos.get("includeHiddenColumnsInQuickFilter")?s:s.filter(n=>n.isVisible()||n.isRowGroupActive())}isQuickFilterPresent(){return this.quickFilter!==null}doesRowPassQuickFilter(e){const t=this.gos.get("cacheQuickFilter");return this.matcher?this.doesRowPassQuickFilterMatcher(t,e):this.quickFilterParts.every(i=>t?this.doesRowPassQuickFilterCache(e,i):this.doesRowPassQuickFilterNoCache(e,i))}resetQuickFilterCache(){this.rowModel.forEachNode(e=>e.quickFilterAggregateText=null)}setQuickFilterParts(){const{quickFilter:e,parser:t}=this;this.quickFilterParts=e?t?t(e):e.split(" "):null}parseQuickFilter(e){return M(e)?ie(this.gos)?e.toUpperCase():(R("Quick filtering only works with the Client-Side Row Model"),null):null}setQuickFilter(e){if(e!=null&&typeof e!="string")return void R("Grid option quickFilterText only supports string inputs, received: "+typeof e);const t=this.parseQuickFilter(e);this.quickFilter!==t&&(this.quickFilter=t,this.setQuickFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"}))}setQuickFilterParserAndMatcher(){const e=this.gos.get("quickFilterParser"),t=this.gos.get("quickFilterMatcher"),i=e!==this.parser||t!==this.matcher;this.parser=e,this.matcher=t,i&&(this.setQuickFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"}))}onQuickFilterColumnConfigChanged(){this.refreshQuickFilterCols(),this.resetQuickFilterCache(),this.isQuickFilterPresent()&&this.dispatchLocalEvent({type:"quickFilterChanged"})}doesRowPassQuickFilterNoCache(e,t){return this.colsForQuickFilter.some(i=>{const s=this.getQuickFilterTextForColumn(i,e);return M(s)&&s.indexOf(t)>=0})}doesRowPassQuickFilterCache(e,t){return this.checkGenerateQuickFilterAggregateText(e),e.quickFilterAggregateText.indexOf(t)>=0}doesRowPassQuickFilterMatcher(e,t){let i;e?(this.checkGenerateQuickFilterAggregateText(t),i=t.quickFilterAggregateText):i=this.getQuickFilterAggregateText(t);const{quickFilterParts:s,matcher:o}=this;return o(s,i)}checkGenerateQuickFilterAggregateText(e){e.quickFilterAggregateText||(e.quickFilterAggregateText=this.getQuickFilterAggregateText(e))}getQuickFilterTextForColumn(e,t){let i=this.valueService.getValue(e,t,!0);const s=e.getColDef();if(s.getQuickFilterText){const o=this.gos.addGridCommonParams({value:i,node:t,data:t.data,column:e,colDef:s});i=s.getQuickFilterText(o)}return M(i)?i.toString().toUpperCase():null}getQuickFilterAggregateText(e){const t=[];return this.colsForQuickFilter.forEach(i=>{const s=this.getQuickFilterTextForColumn(i,e);M(s)&&t.push(s)}),t.join(`
86
- `)}}],dependantModules:[lo]},Ja={version:G,moduleName:"@ag-grid-community/filter",dependantModules:[Xa,Ya,{version:G,moduleName:"@ag-grid-community/quick-filter",dependantModules:[cr,{version:G,moduleName:"@ag-grid-community/quick-filter-api",apiFunctions:{isQuickFilterPresent:function(e){var t;return!!((t=e.filterManager)!=null&&t.isQuickFilterPresent())},getQuickFilter:function(e){return e.gos.get("quickFilterText")},resetQuickFilter:function(e){var t;(t=e.filterManager)==null||t.resetQuickFilterCache()}},dependantModules:[cr]}]},Qa]},ho=(e=>(e.COLUMN_GROUP="group",e.COLUMN="column",e.FLOATING_FILTER="filter",e))(ho||{}),Za=class extends b{constructor(){super(...arguments),this.beanName="headerNavigationService",this.currentHeaderRowWithoutSpan=-1}wireBeans(e){this.focusService=e.focusService,this.headerPositionUtils=e.headerPositionUtils,this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.visibleColService=e.visibleColsService}postConstruct(){this.ctrlsService.whenReady(this,t=>{this.gridBodyCon=t.gridBodyCtrl});const e=ae(this.gos);this.addManagedElementListeners(e,{mousedown:()=>this.setCurrentHeaderRowWithoutSpan(-1)})}getHeaderRowCount(){var e;return((e=this.ctrlsService.getHeaderRowContainerCtrl())==null?void 0:e.getRowCount())??0}getHeaderPositionForColumn(e,t){let i;if(typeof e=="string"?(i=this.columnModel.getCol(e),i||(i=this.visibleColService.getColumnGroup(e))):i=e,!i)return null;const s=this.ctrlsService.getHeaderRowContainerCtrl(),o=s==null?void 0:s.getAllCtrls(),n=$(o||[]).getType()==="filter",r=this.getHeaderRowCount()-1;let l=-1,a=i;for(;a;)l++,a=a.getParent();let h=l;return t&&n&&h===r-1&&h++,h===-1?null:{headerRowIndex:h,column:i}}navigateVertically(e,t,i){if(t||(t=this.focusService.getFocusedHeader()),!t)return!1;const{headerRowIndex:s}=t,o=t.column,n=this.getHeaderRowCount(),r=e===0;let{headerRowIndex:l,column:a,headerRowIndexWithoutSpan:h}=r?this.headerPositionUtils.getColumnVisibleParent(o,s):this.headerPositionUtils.getColumnVisibleChild(o,s),d=!1;return l<0&&(l=0,a=o,d=!0),l>=n?(l=-1,this.setCurrentHeaderRowWithoutSpan(-1)):h!==void 0&&(this.currentHeaderRowWithoutSpan=h),!(!d&&!a)&&this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:l,column:a},allowUserOverride:!0,event:i})}setCurrentHeaderRowWithoutSpan(e){this.currentHeaderRowWithoutSpan=e}navigateHorizontally(e,t=!1,i){const s=this.focusService.getFocusedHeader(),o=e===2,n=this.gos.get("enableRtl");let r,l;if(this.currentHeaderRowWithoutSpan!==-1?s.headerRowIndex=this.currentHeaderRowWithoutSpan:this.currentHeaderRowWithoutSpan=s.headerRowIndex,o!==n?(l="Before",r=this.headerPositionUtils.findHeader(s,l)):(l="After",r=this.headerPositionUtils.findHeader(s,l)),r||!t)return this.focusService.focusHeaderPosition({headerPosition:r,direction:l,fromTab:t,allowUserOverride:!0,event:i});if(t){const a=this.gos.getCallback("tabToNextHeader");if(a)return this.focusService.focusHeaderPositionFromUserFunc({userFunc:a,headerPosition:r,direction:l})}return this.focusNextHeaderRow(s,l,i)}focusNextHeaderRow(e,t,i){const s=e.headerRowIndex;let o,n=null;if(t==="Before"?s>0&&(o=s-1,this.currentHeaderRowWithoutSpan-=1,n=this.headerPositionUtils.findColAtEdgeForHeaderRow(o,"end")):(o=s+1,this.currentHeaderRowWithoutSpan<this.getHeaderRowCount()?this.currentHeaderRowWithoutSpan+=1:this.setCurrentHeaderRowWithoutSpan(-1),n=this.headerPositionUtils.findColAtEdgeForHeaderRow(o,"start")),!n)return!1;const{column:r,headerRowIndex:l}=this.headerPositionUtils.getHeaderIndexToFocus(n.column,n==null?void 0:n.headerRowIndex);return this.focusService.focusHeaderPosition({headerPosition:{column:r,headerRowIndex:l},direction:t,fromTab:!0,allowUserOverride:!0,event:i})}scrollToColumn(e,t="After"){if(e.getPinned())return;let i;if(de(e)){const s=e.getDisplayedLeafColumns();i=t==="Before"?$(s):s[0]}else i=e;this.gridBodyCon.getScrollFeature().ensureColumnVisible(i)}},eh=class extends b{wireBeans(e){this.animationFrameService=e.animationFrameService,this.headerNavigationService=e.headerNavigationService,this.focusService=e.focusService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService,this.filterManager=e.filterManager,this.menuService=e.menuService}setComp(e,t,i){this.comp=e,this.eGui=t,this.createManagedBean(new Et(i,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addManagedEventListeners({columnPivotModeChanged:this.onPivotModeChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),this.onPivotModeChanged(),this.setupHeaderHeight();const s=this.onHeaderContextMenu.bind(this);this.addManagedElementListeners(this.eGui,{contextmenu:s}),this.mockContextMenuForIPad(s),this.ctrlsService.register("gridHeaderCtrl",this)}setupHeaderHeight(){const e=this.setHeaderHeight.bind(this);e(),this.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],e),this.addManagedEventListeners({displayedColumnsChanged:e,columnHeaderHeightChanged:e,columnGroupHeaderHeightChanged:()=>this.animationFrameService.requestAnimationFrame(()=>e()),gridStylesChanged:e,advancedFilterEnabledChanged:e})}getHeaderHeight(){return this.headerHeight}setHeaderHeight(){var n;const{columnModel:e}=this;let t=0;const i=this.columnModel.getGroupRowsHeight().reduce((r,l)=>r+l,0),s=this.columnModel.getColumnHeaderRowHeight();if((n=this.filterManager)!=null&&n.hasFloatingFilters()&&(t+=e.getFloatingFiltersHeight()),t+=i,t+=s,this.headerHeight===t)return;this.headerHeight=t;const o=`${t+1}px`;this.comp.setHeightAndMinHeight(o),this.eventService.dispatchEvent({type:"headerHeightChanged"})}onPivotModeChanged(){const e=this.columnModel.isPivotMode();this.comp.addOrRemoveCssClass("ag-pivot-on",e),this.comp.addOrRemoveCssClass("ag-pivot-off",!e)}onDisplayedColumnsChanged(){const e=this.visibleColsService.getAllCols().some(t=>t.isSpanHeaderHeight());this.comp.addOrRemoveCssClass("ag-header-allow-overflow",e)}onTabKeyDown(e){const t=this.gos.get("enableRtl"),i=e.shiftKey,s=i!==t?2:3;(this.headerNavigationService.navigateHorizontally(s,!0,e)||!i&&this.focusService.focusOverlay(!1)||this.focusService.focusNextGridCoreContainer(i,!0))&&e.preventDefault()}handleKeyDown(e){let t=null;switch(e.key){case y.LEFT:t=2;case y.RIGHT:M(t)||(t=3),this.headerNavigationService.navigateHorizontally(t,!1,e)&&e.preventDefault();break;case y.UP:t=0;case y.DOWN:M(t)||(t=1),this.headerNavigationService.navigateVertically(t,null,e)&&e.preventDefault();break;default:return}}onFocusOut(e){const{relatedTarget:t}=e;!t&&this.eGui.contains(re(this.gos))||this.eGui.contains(t)||this.focusService.clearFocusedHeader()}onHeaderContextMenu(e,t,i){var o;if(!e&&!i||!this.menuService.isHeaderContextMenuEnabled())return;const{target:s}=e??t;s!==this.eGui&&s!==((o=this.ctrlsService.getHeaderRowContainerCtrl())==null?void 0:o.getViewportElement())||this.menuService.showHeaderContextMenu(void 0,e,i)}mockContextMenuForIPad(e){if(!ct())return;const t=new ut(this.eGui);this.addManagedListeners(t,{longTap:i=>{e(void 0,i.touchStart,i.touchEvent)}}),this.addDestroyFunc(()=>t.destroy())}},co=class extends b{constructor(e,t=!1){super(),this.callback=e,this.addSpacer=t}wireBeans(e){this.visibleColsService=e.visibleColsService,this.scrollVisibleService=e.scrollVisibleService}postConstruct(){const e=this.setWidth.bind(this);this.addManagedPropertyListener("domLayout",e),this.addManagedEventListeners({columnContainerWidthChanged:e,displayedColumnsChanged:e,leftPinnedWidthChanged:e}),this.addSpacer&&this.addManagedEventListeners({rightPinnedWidthChanged:e,scrollVisibilityChanged:e,scrollbarWidthChanged:e}),this.setWidth()}setWidth(){const e=Ce(this.gos,"print"),t=this.visibleColsService.getBodyContainerWidth(),i=this.visibleColsService.getColsLeftWidth(),s=this.visibleColsService.getDisplayedColumnsRightWidth();let o;e?o=t+i+s:(o=t,this.addSpacer&&(this.gos.get("enableRtl")?i:s)===0&&this.scrollVisibleService.isVerticalScrollShowing()&&(o+=this.scrollVisibleService.getScrollbarWidth())),this.callback(o)}},th=class extends b{constructor(e){super(),this.columnsToAggregate=[],this.columnsToGroup=[],this.columnsToPivot=[],this.pinned=e}wireBeans(e){this.funcColsService=e.funcColsService}onDragEnter(e){if(this.clearColumnsList(),this.gos.get("functionsReadOnly"))return;const t=e.dragItem.columns;t&&t.forEach(i=>{i.isPrimary()&&(i.isAnyFunctionActive()||(i.isAllowValue()?this.columnsToAggregate.push(i):i.isAllowRowGroup()?this.columnsToGroup.push(i):i.isAllowPivot()&&this.columnsToPivot.push(i)))})}getIconName(){return this.columnsToAggregate.length+this.columnsToGroup.length+this.columnsToPivot.length>0?this.pinned?"pinned":"move":null}onDragLeave(e){this.clearColumnsList()}clearColumnsList(){this.columnsToAggregate.length=0,this.columnsToGroup.length=0,this.columnsToPivot.length=0}onDragging(e){}onDragStop(e){this.columnsToAggregate.length>0&&this.funcColsService.addValueColumns(this.columnsToAggregate,"toolPanelDragAndDrop"),this.columnsToGroup.length>0&&this.funcColsService.addRowGroupColumns(this.columnsToGroup,"toolPanelDragAndDrop"),this.columnsToPivot.length>0&&this.funcColsService.addPivotColumns(this.columnsToPivot,"toolPanelDragAndDrop")}onDragCancel(){this.clearColumnsList()}};function ur(e){const{isFromHeader:t,fromLeft:i,xPosition:s,fromEnter:o,fakeEvent:n,pinned:r,gos:l,columnModel:a,columnMoveService:h,visibleColsService:d}=e;let{allMovingColumns:c}=e;if(t){const F=[];c.forEach(E=>{var L;let D=null,A=E.getParent();for(;A!=null&&A.getDisplayedLeafColumns().length===1;)D=A,A=A.getParent();D!=null?((L=D.getColGroupDef())!=null&&L.marryChildren?D.getProvidedColumnGroup().getLeafColumns():D.getLeafColumns()).forEach(T=>{F.includes(T)||F.push(T)}):F.includes(E)||F.push(E)}),c=F}const u=c.slice();a.sortColsLikeCols(u);const g=function(F){const{movingCols:E,draggingRight:D,xPosition:A,pinned:L,gos:T,columnModel:k,visibleColsService:N}=F;if(T.get("suppressMovableColumns")||E.some(I=>I.getColDef().suppressMovable))return[];const U=function(I,_){switch(_){case"left":return I.getLeftCols();case"right":return I.getRightCols();default:return I.getCenterCols()}}(N,L),J=k.getCols(),X=U.filter(I=>yt(E,I)),j=U.filter(I=>!yt(E,I)),z=J.filter(I=>!yt(E,I));let W,Z=0,q=A;if(D){let I=0;X.forEach(_=>I+=_.getActualWidth()),q-=I}if(q>0){for(let I=0;I<j.length&&(q-=j[I].getActualWidth(),!(q<0));I++)Z++;D&&Z++}if(Z>0){const I=j[Z-1];W=z.indexOf(I)+1}else W=z.indexOf(j[0]),W===-1&&(W=0);const H=[W],ue=(I,_)=>I-_;if(D){let I=W+1;const _=J.length-1;for(;I<=_;)H.push(I),I++;H.sort(ue)}else{let I=W;const _=J.length-1;let fe=J[I];for(;I<=_&&U.indexOf(fe)<0;)I++,H.push(I),fe=J[I];I=W-1;const Jt=0;for(;I>=Jt;)H.push(I),I--;H.sort(ue).reverse()}return H}({movingCols:u,draggingRight:i,xPosition:s,pinned:r,gos:l,columnModel:a,visibleColsService:d}),m=function(F,E){const D=E.getCols(),A=(k=F.map(N=>D.indexOf(N)),k.sort((N,te)=>N-te)),L=A[0],T=$(A);var k;return T-L!=A.length-1?null:L}(u,a);if(g.length===0)return;const f=g[0];let C=m!==null&&!o;if(t&&(C=m!==null),C&&!n&&(!i&&f>=m||i&&f<=m))return;const v=d.getAllCols(),w=[];let P=null;for(let F=0;F<g.length;F++){const E=g[F],D=h.getProposedColumnOrder(u,E);if(!h.doesOrderPassRules(D))continue;const A=D.filter(T=>v.includes(T));if(P===null)P=A;else if(!at(A,P))break;const L=ih(D);w.push({move:E,fragCount:L})}if(w.length===0)return;w.sort((F,E)=>F.fragCount-E.fragCount);const S=w[0].move;return S>a.getCols().length-c.length?void 0:{columns:c,toIndex:S}}function uo(e){const{columns:t,toIndex:i}=ur(e)||{},{finished:s,columnMoveService:o}=e;return t&&i!=null?(o.moveColumns(t,i,"uiColumnMoved",s),s?null:{columns:t,toIndex:i}):null}function ih(e){function t(s){const o=[];let n=s.getOriginalParent();for(;n!=null;)o.push(n),n=n.getOriginalParent();return o}let i=0;for(let s=0;s<e.length-1;s++){let o=t(e[s]),n=t(e[s+1]);[o,n]=o.length>n.length?[o,n]:[n,o],o.forEach(r=>{n.indexOf(r)===-1&&i++})}return i}function Yi(e){var h;const{pinned:t,fromKeyboard:i,gos:s,ctrlsService:o,useHeaderRow:n,skipScrollPadding:r}=e;let l=(h=o.getHeaderRowContainerCtrl(t))==null?void 0:h.getViewportElement(),{x:a}=e;return l?(i&&(a-=l.getBoundingClientRect().left),s.get("enableRtl")&&(n&&(l=l.querySelector(".ag-header-row")),a=l.clientWidth-a),t!=null||r||(a+=o.get("center").getCenterViewportScrollLeft()),a):0}function _t(e,t){for(const i of e)i.setMoving(t,"uiColumnMoved")}var sh=class extends b{constructor(e){super(),this.needToMoveLeft=!1,this.needToMoveRight=!1,this.lastMovedInfo=null,this.pinned=e,this.isCenterContainer=!M(e)}wireBeans(e){this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.columnMoveService=e.columnMoveService,this.dragAndDropService=e.dragAndDropService,this.ctrlsService=e.ctrlsService}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.gridBodyCon=e.gridBodyCtrl})}getIconName(){var t;const e=((t=this.lastDraggingEvent)==null?void 0:t.dragItem.columns)??[];for(const i of e){const s=i.getPinned();if(i.getColDef().lockPinned){if(s==this.pinned)return"move"}else{if(s===this.pinned||!this.pinned)return"move";if(!s&&this.pinned)return"pinned"}}return"notAllowed"}onDragEnter(e){const t=e.dragItem.columns;if(e.dragSource.type===0)this.setColumnsVisible(t,!0,"uiColumnDragged");else{const i=e.dragItem.visibleState,s=(t||[]).filter(o=>i[o.getId()]);this.setColumnsVisible(s,!0,"uiColumnDragged")}this.gos.get("suppressMoveWhenColumnDragging")||this.attemptToPinColumns(t,this.pinned),this.onDragging(e,!0,!0)}onDragging(e=this.lastDraggingEvent,t=!1,i=!1,s=!1){const o=this.gos.get("suppressMoveWhenColumnDragging");if(s&&!o)return void this.finishColumnMoving();if(this.lastDraggingEvent=e,!e||!s&&K(e.hDirection))return;const{pinned:n,gos:r,ctrlsService:l}=this,a=Yi({x:e.x,pinned:n,gos:r,ctrlsService:l});t||this.checkCenterForScrolling(a),o?this.handleColumnDragWhileSuppressingMovement(e,t,i,a,s):this.handleColumnDragWhileAllowingMovement(e,t,i,a,s)}onDragLeave(){this.ensureIntervalCleared(),this.clearHighlighted(),this.lastMovedInfo=null}onDragStop(){this.onDragging(this.lastDraggingEvent,!1,!0,!0),this.ensureIntervalCleared(),this.lastMovedInfo=null}onDragCancel(){this.clearHighlighted(),this.ensureIntervalCleared(),this.lastMovedInfo=null}setColumnsVisible(e,t,i){if(!e)return;const s=e.filter(o=>!o.getColDef().lockVisible);this.columnModel.setColsVisible(s,t,i)}finishColumnMoving(){if(this.clearHighlighted(),!this.lastMovedInfo)return;const{columns:e,toIndex:t}=this.lastMovedInfo;this.columnMoveService.moveColumns(e,t,"uiColumnMoved",!0)}handleColumnDragWhileSuppressingMovement(e,t,i,s,o){const n=this.getAllMovingColumns(e,!0);if(o){const r=this.isAttemptingToPin(n);r&&this.attemptToPinColumns(n,void 0,!0);const{fromLeft:l,xPosition:a}=this.getNormalisedXPositionInfo(n,r)||{};if(l==null||a==null)return void this.finishColumnMoving();this.moveColumnsAfterHighlight({allMovingColumns:n,xPosition:a,fromEnter:t,fakeEvent:i,fromLeft:l})}else{if(!this.dragAndDropService.isDropZoneWithinThisGrid(e))return;this.highlightHoveredColumn(n,s)}}handleColumnDragWhileAllowingMovement(e,t,i,s,o){const n=this.getAllMovingColumns(e),r=this.normaliseDirection(e.hDirection)===1,l=e.dragSource.type===1,a=uo({...this.getMoveColumnParams({allMovingColumns:n,isFromHeader:l,xPosition:s,fromLeft:r,fromEnter:t,fakeEvent:i}),finished:o});a&&(this.lastMovedInfo=a)}getAllMovingColumns(e,t=!1){const i=e.dragSource.getDragItem();let s=null;return t?(s=i.columnsInSplit,s||(s=i.columns)):s=i.columns,s?s.filter(o=>!o.getColDef().lockPinned||o.getPinned()==this.pinned):[]}getMoveColumnParams(e){const{allMovingColumns:t,isFromHeader:i,xPosition:s,fromLeft:o,fromEnter:n,fakeEvent:r}=e,{pinned:l,gos:a,columnModel:h,columnMoveService:d,visibleColsService:c}=this;return{allMovingColumns:t,isFromHeader:i,fromLeft:o,xPosition:s,pinned:l,fromEnter:n,fakeEvent:r,gos:a,columnModel:h,columnMoveService:d,visibleColsService:c}}findFirstAndLastMovingColumns(e){const t=e.length;let i,s;for(let o=0;o<=t;o++){if(!i){const n=e[o];n.getLeft()!=null&&(i=n)}if(!s){const n=e[t-1-o];n.getLeft()!=null&&(s=n)}if(i&&s)break}return{firstMovingCol:i,lastMovingCol:s}}highlightHoveredColumn(e,t){var d;const{gos:i,columnModel:s}=this,o=i.get("enableRtl"),n=s.getCols().filter(c=>c.isVisible()&&c.getPinned()===this.pinned);let r,l=null,a=null,h=null;for(const c of n){if(a=c.getActualWidth(),l=this.getNormalisedColumnLeft(c,0,o),l!=null&&l<=t&&l+a>=t){h=c;break}l=null,a=null}if(h)e.indexOf(h)!==-1&&(h=null);else{for(let c=n.length-1;c>=0;c--){const u=n[c],g=n[c].getParent();if(!g){h=u;break}const m=g==null?void 0:g.getDisplayedLeafColumns();if(m.length){h=$(m);break}}if(!h)return;l=this.getNormalisedColumnLeft(h,0,o),a=h.getActualWidth()}((d=this.lastHighlightedColumn)==null?void 0:d.column)!==h&&this.clearHighlighted(),h!=null&&l!=null&&a!=null&&(r=t-l<a/2!==o?0:1,h.setHighlighted(r),this.lastHighlightedColumn={column:h,position:r})}getNormalisedXPositionInfo(e,t){const{gos:i,visibleColsService:s}=this,o=i.get("enableRtl"),{firstMovingCol:n,column:r,position:l}=this.getColumnMoveAndTargetInfo(e,t,o);if(!n||!r||l==null)return;const a=s.getAllCols(),h=a.indexOf(n),d=a.indexOf(r),c=l===0!==o,u=h<d||h===d&&!c;let g=0;if(c?u&&(g-=1):u||(g+=1),d+g===h)return;const m=a[d+g];if(m)return{fromLeft:u,xPosition:this.getNormalisedColumnLeft(m,20,o)}}getColumnMoveAndTargetInfo(e,t,i){const s=this.lastHighlightedColumn||{},{firstMovingCol:o,lastMovingCol:n}=this.findFirstAndLastMovingColumns(e);if(!o||!n||s.column||!t)return{firstMovingCol:o,...s};const r=this.getPinDirection()==="left";return{firstMovingCol:o,position:r?1:0,column:r!==i?o:n}}normaliseDirection(e){if(this.gos.get("enableRtl"))switch(e){case 0:return 1;case 1:return 0}return e}getNormalisedColumnLeft(e,t,i){const{gos:s,ctrlsService:o}=this,n=e.getLeft();if(n==null)return null;const r=e.getActualWidth();return Yi({x:i?n+r-t:n+t,pinned:e.getPinned(),useHeaderRow:i,skipScrollPadding:!0,gos:s,ctrlsService:o})}isAttemptingToPin(e){const t=this.needToMoveLeft||this.needToMoveRight,i=this.failedMoveAttempts>7;return t&&i||e.some(s=>s.getPinned()!==this.pinned)}moveColumnsAfterHighlight(e){const{allMovingColumns:t,xPosition:i,fromEnter:s,fakeEvent:o,fromLeft:n}=e,r=this.getMoveColumnParams({allMovingColumns:t,isFromHeader:!0,xPosition:i,fromLeft:n,fromEnter:s,fakeEvent:o}),{columns:l,toIndex:a}=ur(r)||{};l&&a!=null&&(this.lastMovedInfo={columns:l,toIndex:a}),this.finishColumnMoving()}clearHighlighted(){this.lastHighlightedColumn&&(this.lastHighlightedColumn.column.setHighlighted(null),this.lastHighlightedColumn=null)}checkCenterForScrolling(e){if(!this.isCenterContainer)return;const t=this.ctrlsService.get("center"),i=t.getCenterViewportScrollLeft(),s=i+t.getCenterWidth();this.gos.get("enableRtl")?(this.needToMoveRight=e<i+50,this.needToMoveLeft=e>s-50):(this.needToMoveLeft=e<i+50,this.needToMoveRight=e>s-50),this.needToMoveLeft||this.needToMoveRight?this.ensureIntervalStarted():this.ensureIntervalCleared()}ensureIntervalStarted(){var e;this.movingIntervalId||(this.intervalCount=0,this.failedMoveAttempts=0,this.movingIntervalId=window.setInterval(this.moveInterval.bind(this),100),(e=this.dragAndDropService.getDragAndDropImageComponent())==null||e.setIcon(this.needToMoveLeft?"left":"right",!0))}ensureIntervalCleared(){var e;this.movingIntervalId&&(window.clearInterval(this.movingIntervalId),this.movingIntervalId=null,this.failedMoveAttempts=0,(e=this.dragAndDropService.getDragAndDropImageComponent())==null||e.setIcon(this.getIconName()))}moveInterval(){var s,o;let e;this.intervalCount++,e=10+5*this.intervalCount,e>100&&(e=100);let t=null;const i=this.gridBodyCon.getScrollFeature();if(this.needToMoveLeft?t=i.scrollHorizontally(-e):this.needToMoveRight&&(t=i.scrollHorizontally(e)),t!==0)this.onDragging(this.lastDraggingEvent),this.failedMoveAttempts=0;else{if(this.failedMoveAttempts++,this.failedMoveAttempts<=8)return;if((s=this.dragAndDropService.getDragAndDropImageComponent())==null||s.setIcon("pinned"),!this.gos.get("suppressMoveWhenColumnDragging")){const n=(o=this.lastDraggingEvent)==null?void 0:o.dragItem.columns;this.attemptToPinColumns(n,void 0,!0)}}}getPinDirection(){return this.needToMoveLeft||this.pinned==="left"?"left":this.needToMoveRight||this.pinned==="right"?"right":void 0}attemptToPinColumns(e,t,i=!1){const s=(e||[]).filter(o=>!o.getColDef().lockPinned);return s.length?(i&&(t=this.getPinDirection()),this.columnModel.setColsPinned(s,t,"uiColumnDragged"),i&&this.dragAndDropService.nudge(),s.length):0}destroy(){super.destroy(),this.lastDraggingEvent=null,this.clearHighlighted(),this.lastMovedInfo=null}},oh=class extends b{wireBeans(e){this.dragAndDropService=e.dragAndDropService,this.columnModel=e.columnModel,this.ctrlsService=e.ctrlsService}constructor(e,t){super(),this.pinned=e,this.eContainer=t}postConstruct(){this.ctrlsService.whenReady(this,e=>{switch(this.pinned){case"left":this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.left.getContainerElement()],[e.bottomLeft.getContainerElement()],[e.topLeft.getContainerElement()]];break;case"right":this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.right.getContainerElement()],[e.bottomRight.getContainerElement()],[e.topRight.getContainerElement()]];break;default:this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.center.getViewportElement()],[e.bottomCenter.getViewportElement()],[e.topCenter.getViewportElement()]]}}),this.moveColumnFeature=this.createManagedBean(new sh(this.pinned)),this.bodyDropPivotTarget=this.createManagedBean(new th(this.pinned)),this.dragAndDropService.addDropTarget(this),this.addDestroyFunc(()=>this.dragAndDropService.removeDropTarget(this))}isInterestedIn(e){return e===1||e===0&&this.gos.get("allowDragFromColumnsToolPanel")}getSecondaryContainers(){return this.eSecondaryContainers}getContainer(){return this.eContainer}getIconName(){return this.currentDropListener.getIconName()}isDropColumnInPivotMode(e){return this.columnModel.isPivotMode()&&e.dragSource.type===0}onDragEnter(e){this.currentDropListener=this.isDropColumnInPivotMode(e)?this.bodyDropPivotTarget:this.moveColumnFeature,this.currentDropListener.onDragEnter(e)}onDragLeave(e){this.currentDropListener.onDragLeave(e)}onDragging(e){this.currentDropListener.onDragging(e)}onDragStop(e){this.currentDropListener.onDragStop(e)}onDragCancel(){this.currentDropListener.onDragCancel()}},nh=class extends b{wireBeans(e){this.horizontalResizeService=e.horizontalResizeService,this.pinnedWidthService=e.pinnedWidthService,this.ctrlsService=e.ctrlsService,this.columnSizeService=e.columnSizeService,this.columnAutosizeService=e.columnAutosizeService}constructor(e,t,i,s,o){super(),this.pinned=e,this.column=t,this.eResize=i,this.comp=s,this.ctrl=o}postConstruct(){const e=[];let t,i;const s=()=>{if(le(this.eResize,t),!t)return;const r=this.horizontalResizeService.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(e.push(r),i){const l=this.gos.get("skipHeaderOnAutoSize"),a=()=>{this.columnAutosizeService.autoSizeColumn(this.column,"uiColumnResized",l)};this.eResize.addEventListener("dblclick",a);const h=new ut(this.eResize);h.addEventListener("doubleTap",a),e.push(()=>{this.eResize.removeEventListener("dblclick",a),h.removeEventListener("doubleTap",a),h.destroy()})}},o=()=>{e.forEach(r=>r()),e.length=0},n=()=>{const r=this.column.isResizable(),l=!this.gos.get("suppressAutoSize")&&!this.column.getColDef().suppressAutoSize;(r!==t||l!==i)&&(t=r,i=l,o(),s())};n(),this.addDestroyFunc(o),this.ctrl.setRefreshFunction("resize",n)}onResizing(e,t){const{column:i,lastResizeAmount:s,resizeStartWidth:o}=this,n=this.normaliseResizeAmount(t),r=[{key:i,newWidth:o+n}];this.column.getPinned()&&this.pinnedWidthService.getPinnedLeftWidth()+this.pinnedWidthService.getPinnedRightWidth()+(n-s)>gi(this.ctrlsService.getGridBodyCtrl().getBodyViewportElement())-50||(this.lastResizeAmount=n,this.columnSizeService.setColumnWidths(r,this.resizeWithShiftKey,e,"uiColumnResized"),e&&this.toggleColumnResizing(!1))}onResizeStart(e){this.resizeStartWidth=this.column.getActualWidth(),this.lastResizeAmount=0,this.resizeWithShiftKey=e,this.toggleColumnResizing(!0)}toggleColumnResizing(e){this.comp.addOrRemoveCssClass("ag-column-resizing",e)}normaliseResizeAmount(e){let t=e;const i=this.pinned!=="left",s=this.pinned==="right";return this.gos.get("enableRtl")?i&&(t*=-1):s&&(t*=-1),t}},rh=class extends b{constructor(e){super(),this.cbSelectAllVisible=!1,this.processingEventFromCheckbox=!1,this.column=e}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}onSpaceKeyDown(e){const t=this.cbSelectAll;t.isDisplayed()&&!t.getGui().contains(re(this.gos))&&(e.preventDefault(),t.setValue(!t.getValue()))}getCheckboxGui(){return this.cbSelectAll.getGui()}setComp(e){this.headerCellCtrl=e,this.cbSelectAll=this.createManagedBean(new qs),this.cbSelectAll.addCssClass("ag-header-select-all"),Ve(this.cbSelectAll.getGui(),"presentation"),this.showOrHideSelectAll(),this.addManagedEventListeners({newColumnsLoaded:this.onNewColumnsLoaded.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),selectionChanged:this.onSelectionChanged.bind(this),paginationChanged:this.onSelectionChanged.bind(this),modelUpdated:this.onModelChanged.bind(this)}),this.addManagedListeners(this.cbSelectAll,{fieldValueChanged:this.onCbSelectAll.bind(this)}),this.cbSelectAll.getInputElement().setAttribute("tabindex","-1"),this.refreshSelectAllLabel()}onNewColumnsLoaded(){this.showOrHideSelectAll()}onDisplayedColumnsChanged(){this.isAlive()&&this.showOrHideSelectAll()}showOrHideSelectAll(){this.cbSelectAllVisible=this.isCheckboxSelection(),this.cbSelectAll.setDisplayed(this.cbSelectAllVisible),this.cbSelectAllVisible&&(this.checkRightRowModelType("selectAllCheckbox"),this.checkSelectionType("selectAllCheckbox"),this.updateStateOfCheckbox()),this.refreshSelectAllLabel()}onModelChanged(){this.cbSelectAllVisible&&this.updateStateOfCheckbox()}onSelectionChanged(){this.cbSelectAllVisible&&this.updateStateOfCheckbox()}updateStateOfCheckbox(){if(this.processingEventFromCheckbox)return;this.processingEventFromCheckbox=!0;const e=this.selectionService.getSelectAllState(this.isFilteredOnly(),this.isCurrentPageOnly());this.cbSelectAll.setValue(e);const t=this.selectionService.hasNodesToSelect(this.isFilteredOnly(),this.isCurrentPageOnly());this.cbSelectAll.setDisabled(!t),this.refreshSelectAllLabel(),this.processingEventFromCheckbox=!1}refreshSelectAllLabel(){const e=this.localeService.getLocaleTextFunc(),t=this.cbSelectAll.getValue()?e("ariaChecked","checked"):e("ariaUnchecked","unchecked"),i=e("ariaRowSelectAll","Press Space to toggle all rows selection");this.cbSelectAllVisible?this.headerCellCtrl.setAriaDescriptionProperty("selectAll",`${i} (${t})`):this.headerCellCtrl.setAriaDescriptionProperty("selectAll",null),this.cbSelectAll.setInputAriaLabel(e("ariaHeaderSelection","Column with Header Selection")),this.headerCellCtrl.announceAriaDescription()}checkSelectionType(e){return!!Qo(this.gos)||(R(`${e} is only available if using 'multiRow' selection mode.`),!1)}checkRightRowModelType(e){return!(!ie(this.gos)&&!Ke(this.gos))||(R(`${e} is only available if using 'clientSide' or 'serverSide' rowModelType, you are using ${this.rowModel.getType()}.`),!1)}onCbSelectAll(){if(this.processingEventFromCheckbox||!this.cbSelectAllVisible)return;const e=this.cbSelectAll.getValue(),t=this.isFilteredOnly(),i=this.isCurrentPageOnly();let s="uiSelectAll";i?s="uiSelectAllCurrentPage":t&&(s="uiSelectAllFiltered");const o={source:s,justFiltered:t,justCurrentPage:i};e?this.selectionService.selectAllRowNodes(o):this.selectionService.deselectAllRowNodes(o)}isCheckboxSelection(){const e=this.gos.get("rowSelection"),t=typeof e=="object"&&Li(e)&&ni(this.column),i=this.column.getColDef().headerCheckboxSelection;let s=!1;return s=!!t||(typeof i=="function"?i(this.gos.addGridCommonParams({column:this.column,colDef:this.column.getColDef()})):!!i),s&&this.checkRightRowModelType(t?"headerCheckbox":"headerCheckboxSelection")&&this.checkSelectionType(t?"headerCheckbox":"headerCheckboxSelection")}isFilteredOnly(){const e=this.gos.get("rowSelection");return typeof e=="object"?e.mode==="multiRow"&&e.selectAll==="filtered":!!this.column.getColDef().headerCheckboxSelectionFilteredOnly}isCurrentPageOnly(){const e=this.gos.get("rowSelection");return typeof e=="object"?e.mode==="multiRow"&&e.selectAll==="currentPage":!!this.column.getColDef().headerCheckboxSelectionCurrentPageOnly}},lh=class extends Qi{constructor(e,t,i){super(e,t,i),this.refreshFunctions={},this.userHeaderClasses=new Set,this.ariaDescriptionProperties=new Map,this.column=e}setComp(e,t,i,s,o){this.comp=e,o=hi(this,this.beans.context,o),this.setGui(t,o),this.updateState(),this.setupWidth(o),this.setupMovingCss(o),this.setupMenuClass(o),this.setupSortableClass(o),this.setupWrapTextClass(),this.refreshSpanHeaderHeight(),this.setupAutoHeight({wrapperElement:s,checkMeasuringCallback:r=>this.setRefreshFunction("measuring",r),compBean:o}),this.addColumnHoverListener(o),this.setupFilterClass(o),this.setupClassesFromColDef(),this.setupTooltip(o),this.addActiveHeaderMouseListeners(o),this.setupSelectAll(o),this.setupUserComp(o),this.refreshAria(),this.resizeFeature=o.createManagedBean(new nh(this.getPinned(),this.column,i,e,this)),o.createManagedBean(new ro([this.column],t)),o.createManagedBean(new no(this.column,t,this.beans)),o.createManagedBean(new Et(t,{shouldStopEventPropagation:r=>this.shouldStopEventPropagation(r),onTabKeyDown:()=>null,handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addResizeAndMoveKeyboardListeners(o),o.addManagedPropertyListeners(["suppressMovableColumns","suppressMenuHide","suppressAggFuncInHeader"],()=>this.refresh(o)),o.addManagedListeners(this.column,{colDefChanged:()=>this.refresh(o)}),o.addManagedListeners(this.column,{headerHighlightChanged:this.onHeaderHighlightChanged.bind(this)});const n=()=>this.checkDisplayName(o);o.addManagedEventListeners({columnValueChanged:n,columnRowGroupChanged:n,columnPivotChanged:n,headerHeightChanged:this.onHeaderHeightChanged.bind(this)}),o.addDestroyFunc(()=>{this.refreshFunctions={},this.selectAllFeature=null,this.dragSourceElement=void 0,this.userCompDetails=null,this.userHeaderClasses.clear(),this.ariaDescriptionProperties.clear(),this.clearComponent()})}resizeHeader(e,t){if(!this.column.isResizable())return;const i=this.column.getActualWidth(),s=this.column.getMinWidth(),o=this.column.getMaxWidth(),n=Math.min(Math.max(i+e,s),o);this.beans.columnSizeService.setColumnWidths([{key:this.column,newWidth:n}],t,!0,"uiColumnResized")}moveHeader(e){const{eGui:t,beans:i,column:s,ctrlsService:o}=this,{gos:n,columnModel:r,columnMoveService:l,visibleColsService:a}=i,h=this.getPinned(),d=t.getBoundingClientRect().left,c=s.getActualWidth(),u=Yi({x:e===0!==n.get("enableRtl")?d-20:d+c+20,pinned:h,fromKeyboard:!0,gos:n,ctrlsService:o}),g=this.focusService.getFocusedHeader();uo({allMovingColumns:[s],isFromHeader:!0,fromLeft:e===1,xPosition:u,pinned:h,fromEnter:!1,fakeEvent:!1,gos:n,columnModel:r,columnMoveService:l,visibleColsService:a,finished:!0}),o.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(s,"auto"),this.isAlive()&&!this.beans.gos.get("ensureDomOrder")||!g||this.restoreFocus(g)}restoreFocus(e){this.focusService.focusHeaderPosition({headerPosition:{...e,column:this.column}})}setupUserComp(e){const t=this.lookupUserCompDetails(e);this.setCompDetails(t)}setCompDetails(e){this.userCompDetails=e,this.comp.setUserCompDetails(e)}lookupUserCompDetails(e){const t=this.createParams(e),i=this.column.getColDef();return this.userComponentFactory.getHeaderCompDetails(i,t)}createParams(e){return this.gos.addGridCommonParams({column:this.column,displayName:this.displayName,enableSorting:this.column.isSortable(),enableMenu:this.menuEnabled,enableFilterButton:this.openFilterEnabled&&this.menuService.isHeaderFilterButtonEnabled(this.column),enableFilterIcon:!this.openFilterEnabled||this.menuService.isLegacyMenuEnabled(),showColumnMenu:t=>{this.menuService.showColumnMenu({column:this.column,buttonElement:t,positionBy:"button"})},showColumnMenuAfterMouseClick:t=>{this.menuService.showColumnMenu({column:this.column,mouseEvent:t,positionBy:"mouse"})},showFilter:t=>{this.menuService.showFilterMenu({column:this.column,buttonElement:t,containerType:"columnFilter",positionBy:"button"})},progressSort:t=>{this.beans.sortController.progressSort(this.column,!!t,"uiColumnSorted")},setSort:(t,i)=>{this.beans.sortController.setSortForColumn(this.column,t,!!i,"uiColumnSorted")},eGridHeader:this.getGui(),setTooltip:(t,i)=>{this.setupTooltip(e,t,i)}})}setupSelectAll(e){this.selectAllFeature=e.createManagedBean(new rh(this.column)),this.selectAllFeature.setComp(this)}getSelectAllGui(){return this.selectAllFeature.getCheckboxGui()}handleKeyDown(e){super.handleKeyDown(e),e.key===y.SPACE&&this.selectAllFeature.onSpaceKeyDown(e),e.key===y.ENTER&&this.onEnterKeyDown(e),e.key===y.DOWN&&e.altKey&&this.showMenuOnKeyPress(e,!1)}onEnterKeyDown(e){if(e.ctrlKey||e.metaKey)this.showMenuOnKeyPress(e,!0);else if(this.sortable){const t=e.shiftKey;this.beans.sortController.progressSort(this.column,t,"uiColumnSorted")}}showMenuOnKeyPress(e,t){const i=this.comp.getUserCompInstance();i&&i instanceof js&&i.onMenuKeyboardShortcut(t)&&e.preventDefault()}onFocusIn(e){if(!this.getGui().contains(e.relatedTarget)){const t=this.getRowIndex();this.focusService.setFocusedHeader(t,this.column),this.announceAriaDescription()}this.focusService.isKeyboardMode()&&this.setActiveHeader(!0)}onFocusOut(e){this.getGui().contains(e.relatedTarget)||this.setActiveHeader(!1)}setupTooltip(e,t,i){this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature));const s=this.gos.get("tooltipShowMode")==="whenTruncated",o=this.eGui,n=this.column.getColDef();i||!s||n.headerComponent||(i=()=>{const a=o.querySelector(".ag-header-cell-text");return!a||a.scrollWidth>a.clientWidth});const r={getColumn:()=>this.column,getColDef:()=>this.column.getColDef(),getGui:()=>o,getLocation:()=>"header",getTooltipValue:()=>t??this.column.getColDef().headerTooltip,shouldDisplayTooltip:i},l=e.createManagedBean(new Kt(r));this.setRefreshFunction("tooltip",()=>l.refreshToolTip())}setupClassesFromColDef(){const e=()=>{const t=ir(this.column.getColDef(),this.gos,this.column,null),i=this.userHeaderClasses;this.userHeaderClasses=new Set(t),t.forEach(s=>{i.has(s)?i.delete(s):this.comp.addOrRemoveCssClass(s,!0)}),i.forEach(s=>this.comp.addOrRemoveCssClass(s,!1))};this.setRefreshFunction("headerClasses",e),e()}setDragSource(e){if(this.dragSourceElement=e,this.removeDragSource(),!e||!this.draggable)return;const{column:t,beans:i,displayName:s,dragAndDropService:o,gos:n}=this,{columnModel:r}=i;let l=!this.gos.get("suppressDragLeaveHidesColumns");const a=this.dragSource={type:1,eElement:e,getDefaultIconName:()=>l?"hide":"notAllowed",getDragItem:()=>this.createDragItem(t),dragItemName:s,onDragStarted:()=>{l=!n.get("suppressDragLeaveHidesColumns"),_t([t],!0)},onDragStopped:()=>_t([t],!1),onDragCancelled:()=>_t([t],!1),onGridEnter:h=>{var d;if(l){const c=((d=h==null?void 0:h.columns)==null?void 0:d.filter(u=>!u.getColDef().lockVisible))||[];r.setColsVisible(c,!0,"uiColumnMoved")}},onGridExit:h=>{var d;if(l){const c=((d=h==null?void 0:h.columns)==null?void 0:d.filter(u=>!u.getColDef().lockVisible))||[];r.setColsVisible(c,!1,"uiColumnMoved")}}};o.addDragSource(a,!0)}createDragItem(e){const t={};return t[e.getId()]=e.isVisible(),{columns:[e],visibleState:t}}updateState(){this.menuEnabled=this.menuService.isColumnMenuInHeaderEnabled(this.column),this.openFilterEnabled=this.menuService.isFilterMenuInHeaderEnabled(this.column),this.sortable=this.column.isSortable(),this.displayName=this.calculateDisplayName(),this.draggable=this.workOutDraggable()}setRefreshFunction(e,t){this.refreshFunctions[e]=t}refresh(e){this.updateState(),this.refreshHeaderComp(e),this.refreshAria(),Object.values(this.refreshFunctions).forEach(t=>t())}refreshHeaderComp(e){const t=this.lookupUserCompDetails(e);this.comp.getUserCompInstance()!=null&&this.userCompDetails.componentClass==t.componentClass&&this.attemptHeaderCompRefresh(t.params)?this.setDragSource(this.dragSourceElement):this.setCompDetails(t)}attemptHeaderCompRefresh(e){const t=this.comp.getUserCompInstance();return!t||!t.refresh?!1:t.refresh(e)}calculateDisplayName(){return this.beans.columnNameService.getDisplayNameForColumn(this.column,"header",!0)}checkDisplayName(e){this.displayName!==this.calculateDisplayName()&&this.refresh(e)}workOutDraggable(){const e=this.column.getColDef();return!this.gos.get("suppressMovableColumns")&&!e.suppressMovable&&!e.lockPosition||!!e.enableRowGroup||!!e.enablePivot}setupWidth(e){const t=()=>{const i=this.column.getActualWidth();this.comp.setWidth(`${i}px`)};e.addManagedListeners(this.column,{widthChanged:t}),t()}setupMovingCss(e){const t=()=>{this.comp.addOrRemoveCssClass("ag-header-cell-moving",this.column.isMoving())};e.addManagedListeners(this.column,{movingChanged:t}),t()}setupMenuClass(e){const t=()=>{this.comp.addOrRemoveCssClass("ag-column-menu-visible",this.column.isMenuVisible())};e.addManagedListeners(this.column,{menuVisibleChanged:t}),t()}setupSortableClass(e){const t=()=>{this.comp.addOrRemoveCssClass("ag-header-cell-sortable",!!this.sortable)};t(),this.setRefreshFunction("updateSortable",t),e.addManagedEventListeners({sortChanged:this.refreshAriaSort.bind(this)})}setupFilterClass(e){const t=()=>{const i=this.column.isFilterActive();this.comp.addOrRemoveCssClass("ag-header-cell-filtered",i),this.refreshAria()};e.addManagedListeners(this.column,{filterActiveChanged:t}),t()}setupWrapTextClass(){const e=()=>{const t=!!this.column.getColDef().wrapHeaderText;this.comp.addOrRemoveCssClass("ag-header-cell-wrap-text",t)};e(),this.setRefreshFunction("wrapText",e)}onHeaderHighlightChanged(){const e=this.column.getHighlighted(),t=e===0,i=e===1;this.comp.addOrRemoveCssClass("ag-header-highlight-before",t),this.comp.addOrRemoveCssClass("ag-header-highlight-after",i)}onDisplayedColumnsChanged(){super.onDisplayedColumnsChanged(),this.isAlive()&&this.onHeaderHeightChanged()}onHeaderHeightChanged(){this.refreshSpanHeaderHeight()}refreshSpanHeaderHeight(){const{eGui:e,column:t,comp:i,beans:s}=this,o=this.beans.columnModel.getGroupRowsHeight(),n=o.reduce((c,u)=>c+u,0)===0;if(i.addOrRemoveCssClass("ag-header-parent-hidden",n),!t.isSpanHeaderHeight())return e.style.removeProperty("top"),e.style.removeProperty("height"),i.addOrRemoveCssClass("ag-header-span-height",!1),void i.addOrRemoveCssClass("ag-header-span-total",!1);const{numberOfParents:r,isSpanningTotal:l}=this.column.getColumnGroupPaddingInfo();i.addOrRemoveCssClass("ag-header-span-height",r>0);const{columnModel:a}=s,h=a.getColumnHeaderRowHeight();if(r===0)return i.addOrRemoveCssClass("ag-header-span-total",!1),e.style.setProperty("top","0px"),void e.style.setProperty("height",`${h}px`);i.addOrRemoveCssClass("ag-header-span-total",l);let d=0;for(let c=0;c<r;c++)d+=o[o.length-1-c];e.style.setProperty("top",-d+"px"),e.style.setProperty("height",`${h+d}px`)}refreshAriaSort(){if(this.sortable){const e=this.localeService.getLocaleTextFunc(),t=this.beans.sortController.getDisplaySortForColumn(this.column)||null;this.comp.setAriaSort(function(i){let s;return s=i==="asc"?"ascending":i==="desc"?"descending":i==="mixed"?"other":"none",s}(t)),this.setAriaDescriptionProperty("sort",e("ariaSortableColumn","Press ENTER to sort"))}else this.comp.setAriaSort(),this.setAriaDescriptionProperty("sort",null)}refreshAriaMenu(){if(this.menuEnabled){const e=this.localeService.getLocaleTextFunc();this.setAriaDescriptionProperty("menu",e("ariaMenuColumn","Press ALT DOWN to open column menu"))}else this.setAriaDescriptionProperty("menu",null)}refreshAriaFilterButton(){if(this.openFilterEnabled&&!this.menuService.isLegacyMenuEnabled()){const e=this.localeService.getLocaleTextFunc();this.setAriaDescriptionProperty("filterButton",e("ariaFilterColumn","Press CTRL ENTER to open filter"))}else this.setAriaDescriptionProperty("filterButton",null)}refreshAriaFiltered(){const e=this.localeService.getLocaleTextFunc();this.column.isFilterActive()?this.setAriaDescriptionProperty("filter",e("ariaColumnFiltered","Column Filtered")):this.setAriaDescriptionProperty("filter",null)}setAriaDescriptionProperty(e,t){t!=null?this.ariaDescriptionProperties.set(e,t):this.ariaDescriptionProperties.delete(e)}announceAriaDescription(){if(!this.eGui.contains(re(this.beans.gos)))return;const e=Array.from(this.ariaDescriptionProperties.keys()).sort((t,i)=>t==="filter"?-1:i.charCodeAt(0)-t.charCodeAt(0)).map(t=>this.ariaDescriptionProperties.get(t)).join(". ");this.beans.ariaAnnouncementService.announceValue(e,"columnHeader")}refreshAria(){this.refreshAriaSort(),this.refreshAriaMenu(),this.refreshAriaFilterButton(),this.refreshAriaFiltered()}addColumnHoverListener(e){const t=()=>{if(!this.gos.get("columnHoverHighlight"))return;const i=this.beans.columnHoverService.isHovered(this.column);this.comp.addOrRemoveCssClass("ag-column-hover",i)};e.addManagedEventListeners({columnHoverChanged:t}),t()}getColId(){return this.column.getColId()}addActiveHeaderMouseListeners(e){const t=i=>this.handleMouseOverChange(i.type==="mouseenter");e.addManagedListeners(this.getGui(),{mouseenter:t,mouseleave:t,click:()=>this.dispatchColumnMouseEvent("columnHeaderClicked",this.column),contextmenu:i=>this.handleContextMenuMouseEvent(i,void 0,this.column)})}handleMouseOverChange(e){this.setActiveHeader(e),this.eventService.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column})}setActiveHeader(e){this.comp.addOrRemoveCssClass("ag-header-active",e)}getAnchorElementForMenu(e){const t=this.comp.getUserCompInstance();return t instanceof js?t.getAnchorElementForMenu(e):this.getGui()}destroy(){super.destroy()}},ah=class extends b{wireBeans(e){this.horizontalResizeService=e.horizontalResizeService,this.autoWidthCalculator=e.autoWidthCalculator,this.visibleColsService=e.visibleColsService,this.columnSizeService=e.columnSizeService,this.columnAutosizeService=e.columnAutosizeService}constructor(e,t,i,s){super(),this.eResize=t,this.comp=e,this.pinned=i,this.columnGroup=s}postConstruct(){if(!this.columnGroup.isResizable())return void this.comp.setResizableDisplayed(!1);const e=this.horizontalResizeService.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(this.addDestroyFunc(e),!this.gos.get("suppressAutoSize")){const t=this.gos.get("skipHeaderOnAutoSize");this.eResize.addEventListener("dblclick",()=>{const i=[];this.columnGroup.getDisplayedLeafColumns().forEach(s=>{s.getColDef().suppressAutoSize||i.push(s.getColId())}),i.length>0&&this.columnAutosizeService.autoSizeCols({colKeys:i,skipHeader:t,stopAtGroup:this.columnGroup,source:"uiColumnResized"}),this.resizeLeafColumnsToFit("uiColumnResized")})}}onResizeStart(e){const t=this.getInitialValues(e);this.storeLocalValues(t),this.toggleColumnResizing(!0)}onResizing(e,t,i="uiColumnResized"){const s=this.normaliseDragChange(t),o=this.resizeStartWidth+s;this.resizeColumnsFromLocalValues(o,i,e)}getInitialValues(e){const t=this.getColumnsToResize(),i=this.getInitialSizeOfColumns(t),s={columnsToResize:t,resizeStartWidth:i,resizeRatios:this.getSizeRatiosOfColumns(t,i)};let o=null;if(e&&(o=this.visibleColsService.getGroupAtDirection(this.columnGroup,"After")),o){const n=o.getDisplayedLeafColumns(),r=s.groupAfterColumns=n.filter(a=>a.isResizable()),l=s.groupAfterStartWidth=this.getInitialSizeOfColumns(r);s.groupAfterRatios=this.getSizeRatiosOfColumns(r,l)}else s.groupAfterColumns=void 0,s.groupAfterStartWidth=void 0,s.groupAfterRatios=void 0;return s}storeLocalValues(e){const{columnsToResize:t,resizeStartWidth:i,resizeRatios:s,groupAfterColumns:o,groupAfterStartWidth:n,groupAfterRatios:r}=e;this.resizeCols=t,this.resizeStartWidth=i,this.resizeRatios=s,this.resizeTakeFromCols=o,this.resizeTakeFromStartWidth=n,this.resizeTakeFromRatios=r}clearLocalValues(){this.resizeCols=void 0,this.resizeRatios=void 0,this.resizeTakeFromCols=void 0,this.resizeTakeFromRatios=void 0}resizeLeafColumnsToFit(e){const t=this.autoWidthCalculator.getPreferredWidthForColumnGroup(this.columnGroup),i=this.getInitialValues();t>i.resizeStartWidth&&this.resizeColumns(i,t,e,!0)}resizeColumnsFromLocalValues(e,t,i=!0){if(!this.resizeCols||!this.resizeRatios)return;const s={columnsToResize:this.resizeCols,resizeStartWidth:this.resizeStartWidth,resizeRatios:this.resizeRatios,groupAfterColumns:this.resizeTakeFromCols??void 0,groupAfterStartWidth:this.resizeTakeFromStartWidth??void 0,groupAfterRatios:this.resizeTakeFromRatios??void 0};this.resizeColumns(s,e,t,i)}resizeColumns(e,t,i,s=!0){const{columnsToResize:o,resizeStartWidth:n,resizeRatios:r,groupAfterColumns:l,groupAfterStartWidth:a,groupAfterRatios:h}=e,d=[];if(d.push({columns:o,ratios:r,width:t}),l){const c=t-n;d.push({columns:l,ratios:h,width:a-c})}this.columnSizeService.resizeColumnSets({resizeSets:d,finished:s,source:i}),s&&this.toggleColumnResizing(!1)}toggleColumnResizing(e){this.comp.addOrRemoveCssClass("ag-column-resizing",e)}getColumnsToResize(){return this.columnGroup.getDisplayedLeafColumns().filter(e=>e.isResizable())}getInitialSizeOfColumns(e){return e.reduce((t,i)=>t+i.getActualWidth(),0)}getSizeRatiosOfColumns(e,t){return e.map(i=>i.getActualWidth()/t)}normaliseDragChange(e){let t=e;return this.gos.get("enableRtl")?this.pinned!=="left"&&(t*=-1):this.pinned==="right"&&(t*=-1),t}destroy(){super.destroy(),this.clearLocalValues()}},hh=class extends b{constructor(e,t){super(),this.removeChildListenersFuncs=[],this.columnGroup=t,this.comp=e}postConstruct(){this.addListenersToChildrenColumns(),this.addManagedListeners(this.columnGroup,{displayedChildrenChanged:this.onDisplayedChildrenChanged.bind(this)}),this.onWidthChanged(),this.addDestroyFunc(this.removeListenersOnChildrenColumns.bind(this))}addListenersToChildrenColumns(){this.removeListenersOnChildrenColumns();const e=this.onWidthChanged.bind(this);this.columnGroup.getLeafColumns().forEach(t=>{t.addEventListener("widthChanged",e),t.addEventListener("visibleChanged",e),this.removeChildListenersFuncs.push(()=>{t.removeEventListener("widthChanged",e),t.removeEventListener("visibleChanged",e)})})}removeListenersOnChildrenColumns(){this.removeChildListenersFuncs.forEach(e=>e()),this.removeChildListenersFuncs=[]}onDisplayedChildrenChanged(){this.addListenersToChildrenColumns(),this.onWidthChanged()}onWidthChanged(){const e=this.columnGroup.getActualWidth();this.comp.setWidth(`${e}px`),this.comp.addOrRemoveCssClass("ag-hidden",e===0)}},dh=class extends Qi{constructor(e,t,i){super(e,t,i),this.onSuppressColMoveChange=()=>{if(!this.isAlive()||this.isSuppressMoving())this.removeDragSource();else if(!this.dragSource){const s=this.getGui();this.setDragSource(s)}},this.column=e}setComp(e,t,i,s,o){this.comp=e,o=hi(this,this.beans.context,o),this.setGui(t,o),this.displayName=this.beans.columnNameService.getDisplayNameForColumnGroup(this.column,"header"),this.addClasses(),this.setupMovingCss(o),this.setupExpandable(o),this.setupTooltip(o),this.setupAutoHeight({wrapperElement:s,compBean:o}),this.setupUserComp(o),this.addHeaderMouseListeners(o),this.addManagedPropertyListener("groupHeaderHeight",this.refreshMaxHeaderHeight.bind(this)),this.refreshMaxHeaderHeight();const n=this.getParentRowCtrl().getPinned(),r=this.column.getProvidedColumnGroup().getLeafColumns();o.createManagedBean(new ro(r,t)),o.createManagedBean(new no(this.column,t,this.beans)),o.createManagedBean(new hh(e,this.column)),this.resizeFeature=o.createManagedBean(new ah(e,i,n,this.column)),o.createManagedBean(new Et(t,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:()=>{},handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)})),this.addHighlightListeners(o,r),o.addManagedPropertyListener("suppressMovableColumns",this.onSuppressColMoveChange),this.addResizeAndMoveKeyboardListeners(o),o.addDestroyFunc(()=>this.clearComponent())}refreshMaxHeaderHeight(){const{gos:e,comp:t}=this,i=e.get("groupHeaderHeight");i!=null?i===0?t.setHeaderWrapperHidden(!0):t.setHeaderWrapperMaxHeight(i):(t.setHeaderWrapperHidden(!1),t.setHeaderWrapperMaxHeight(null))}addHighlightListeners(e,t){if(this.beans.gos.get("suppressMoveWhenColumnDragging"))for(const i of t)e.addManagedListeners(i,{headerHighlightChanged:this.onLeafColumnHighlightChanged.bind(this,i)})}onLeafColumnHighlightChanged(e){const t=this.column.getDisplayedLeafColumns(),i=t[0]===e,s=$(t)===e;if(!i&&!s)return;const o=e.getHighlighted();let n=!1,r=!1;if(this.getParentRowCtrl().findHeaderCellCtrl(l=>l.getColumnGroupChild().isMoving())){const l=this.beans.gos.get("enableRtl"),a=o===1,h=o===0;i&&(l?r=a:n=h),s&&(l?n=h:r=a)}this.comp.addOrRemoveCssClass("ag-header-highlight-before",n),this.comp.addOrRemoveCssClass("ag-header-highlight-after",r)}getColumn(){return this.column}resizeHeader(e,t){if(!this.resizeFeature)return;const i=this.resizeFeature.getInitialValues(t);this.resizeFeature.resizeColumns(i,i.resizeStartWidth+e,"uiColumnResized",!0)}moveHeader(e){const{beans:t,eGui:i,column:s,ctrlsService:o}=this,{gos:n,columnModel:r,columnMoveService:l,visibleColsService:a}=t,h=n.get("enableRtl"),d=e===0,c=this.getPinned(),u=i.getBoundingClientRect(),g=u.left,m=u.width,f=Yi({x:d!==h?g-20:g+m+20,pinned:c,fromKeyboard:!0,gos:n,ctrlsService:o}),C=s.getGroupId(),v=this.focusService.getFocusedHeader();uo({allMovingColumns:this.column.getLeafColumns(),isFromHeader:!0,fromLeft:e===1,xPosition:f,pinned:c,fromEnter:!1,fakeEvent:!1,gos:n,columnModel:r,columnMoveService:l,visibleColsService:a,finished:!0});const w=s.getDisplayedLeafColumns(),P=d?w[0]:$(w);this.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(P,"auto"),this.isAlive()&&!this.beans.gos.get("ensureDomOrder")||!v||this.restoreFocus(C,s,v)}restoreFocus(e,t,i){const s=t.getLeafColumns();if(!s.length)return;const o=s[0].getParent();if(!o)return;const n=this.findGroupWidthId(o,e);n&&this.focusService.focusHeaderPosition({headerPosition:{...i,column:n}})}findGroupWidthId(e,t){for(;e;){if(e.getGroupId()===t)return e;e=e.getParent()}return null}resizeLeafColumnsToFit(e){this.resizeFeature&&this.resizeFeature.resizeLeafColumnsToFit(e)}setupUserComp(e){const t=this.gos.addGridCommonParams({displayName:this.displayName,columnGroup:this.column,setExpanded:s=>{this.beans.columnModel.setColumnGroupOpened(this.column.getProvidedColumnGroup(),s,"gridInitializing")},setTooltip:(s,o)=>{this.setupTooltip(e,s,o)}}),i=this.userComponentFactory.getHeaderGroupCompDetails(t);this.comp.setUserCompDetails(i)}addHeaderMouseListeners(e){const t=i=>this.handleMouseOverChange(i.type==="mouseenter");e.addManagedListeners(this.getGui(),{mouseenter:t,mouseleave:t,click:()=>this.dispatchColumnMouseEvent("columnHeaderClicked",this.column.getProvidedColumnGroup()),contextmenu:i=>this.handleContextMenuMouseEvent(i,void 0,this.column.getProvidedColumnGroup())})}handleMouseOverChange(e){this.eventService.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column.getProvidedColumnGroup()})}setupTooltip(e,t,i){this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature));const s=this.column.getColGroupDef(),o=this.gos.get("tooltipShowMode")==="whenTruncated",n=this.eGui;i||!o||s!=null&&s.headerGroupComponent||(i=()=>{const l=n.querySelector(".ag-header-group-text");return!l||l.scrollWidth>l.clientWidth});const r={getColumn:()=>this.column,getGui:()=>n,getLocation:()=>"headerGroup",getTooltipValue:()=>t??(s&&s.headerTooltip),shouldDisplayTooltip:i};s&&(r.getColDef=()=>s),e.createManagedBean(new Kt(r))}setupExpandable(e){const t=this.column.getProvidedColumnGroup();this.refreshExpanded();const i=this.refreshExpanded.bind(this);e.addManagedListeners(t,{expandedChanged:i,expandableChanged:i})}refreshExpanded(){const{column:e}=this;this.expandable=e.isExpandable();const t=e.isExpanded();this.expandable?this.comp.setAriaExpanded(t?"true":"false"):this.comp.setAriaExpanded(void 0)}getColId(){return this.column.getUniqueId()}addClasses(){const e=this.column.getColGroupDef(),t=ir(e,this.gos,null,this.column);this.column.isPadding()?(t.push("ag-header-group-cell-no-group"),this.column.getLeafColumns().every(i=>i.isSpanHeaderHeight())&&t.push("ag-header-span-height")):(t.push("ag-header-group-cell-with-group"),e!=null&&e.wrapHeaderText&&t.push("ag-header-cell-wrap-text")),t.forEach(i=>this.comp.addOrRemoveCssClass(i,!0))}setupMovingCss(e){const t=this.column.getProvidedColumnGroup().getLeafColumns(),i=()=>this.comp.addOrRemoveCssClass("ag-header-cell-moving",this.column.isMoving());t.forEach(s=>{e.addManagedListeners(s,{movingChanged:i})}),i()}onFocusIn(e){if(!this.eGui.contains(e.relatedTarget)){const t=this.getRowIndex();this.beans.focusService.setFocusedHeader(t,this.column)}}handleKeyDown(e){super.handleKeyDown(e);const t=this.getWrapperHasFocus();if(this.expandable&&t&&e.key===y.ENTER){const i=this.column,s=!i.isExpanded();this.beans.columnModel.setColumnGroupOpened(i.getProvidedColumnGroup(),s,"uiColumnExpanded")}}setDragSource(e){if(!this.isAlive()||this.isSuppressMoving()||(this.removeDragSource(),!e))return;const{beans:t,column:i,displayName:s,gos:o,dragAndDropService:n}=this,{columnModel:r}=t,l=i.getProvidedColumnGroup().getLeafColumns();let a=!o.get("suppressDragLeaveHidesColumns");const h=this.dragSource={type:1,eElement:e,getDefaultIconName:()=>a?"hide":"notAllowed",dragItemName:s,getDragItem:()=>this.getDragItemForGroup(i),onDragStarted:()=>{a=!o.get("suppressDragLeaveHidesColumns"),_t(l,!0)},onDragStopped:()=>_t(l,!1),onDragCancelled:()=>_t(l,!1),onGridEnter:d=>{if(a){const{columns:c=[],visibleState:u}=d??{},g=c.filter(m=>!m.getColDef().lockVisible&&(!u||u[m.getColId()]));r.setColsVisible(g,!0,"uiColumnMoved")}},onGridExit:d=>{var c;if(a){const u=((c=d==null?void 0:d.columns)==null?void 0:c.filter(g=>!g.getColDef().lockVisible))||[];r.setColsVisible(u,!1,"uiColumnMoved")}}};n.addDragSource(h,!0)}getDragItemForGroup(e){const t=e.getProvidedColumnGroup().getLeafColumns(),i={};t.forEach(r=>i[r.getId()]=r.isVisible());const s=[];this.beans.visibleColsService.getAllCols().forEach(r=>{t.indexOf(r)>=0&&(s.push(r),ye(t,r))}),t.forEach(r=>s.push(r));const o=[],n=e.getLeafColumns();for(const r of s)n.indexOf(r)!==-1&&o.push(r);return{columns:s,columnsInSplit:o,visibleState:i}}isSuppressMoving(){let e=!1;return this.column.getLeafColumns().forEach(t=>{(t.getColDef().suppressMovable||t.getColDef().lockPosition)&&(e=!0)}),e||this.gos.get("suppressMovableColumns")}destroy(){super.destroy()}},ch=0,go=class extends b{constructor(e,t,i){super(),this.instanceId=ch++,this.rowIndex=e,this.pinned=t,this.type=i;const s=i=="group"?"ag-header-row-column-group":i=="filter"?"ag-header-row-column-filter":"ag-header-row-column";this.headerRowClass=`ag-header-row ${s}`}wireBeans(e){this.beans=e}postConstruct(){this.isPrintLayout=Ce(this.gos,"print"),this.isEnsureDomOrder=this.gos.get("ensureDomOrder")}areCellsRendered(){return!!this.comp&&this.getHeaderCellCtrls().every(e=>e.getGui()!=null)}setComp(e,t,i=!0){this.comp=e,t=hi(this,this.beans.context,t),i&&(this.onRowHeightChanged(),this.onVirtualColumnsChanged()),this.setWidth(),this.addEventListeners(t)}getHeaderRowClass(){return this.headerRowClass}getAriaRowIndex(){return this.rowIndex+1}addEventListeners(e){const t=this.onRowHeightChanged.bind(this);e.addManagedEventListeners({columnResized:this.onColumnResized.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),virtualColumnsChanged:i=>this.onVirtualColumnsChanged(i.afterScroll),columnGroupHeaderHeightChanged:t,columnHeaderHeightChanged:t,gridStylesChanged:t,advancedFilterEnabledChanged:t}),e.addManagedPropertyListener("domLayout",this.onDisplayedColumnsChanged.bind(this)),e.addManagedPropertyListener("ensureDomOrder",i=>this.isEnsureDomOrder=i.currentValue),e.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],t)}getHeaderCellCtrl(e){if(this.headerCellCtrls)return Mi(this.headerCellCtrls).find(t=>t.getColumnGroupChild()===e)}onDisplayedColumnsChanged(){this.isPrintLayout=Ce(this.gos,"print"),this.onVirtualColumnsChanged(),this.setWidth(),this.onRowHeightChanged()}getType(){return this.type}onColumnResized(){this.setWidth()}setWidth(){const e=this.getWidthForRow();this.comp.setWidth(`${e}px`)}getWidthForRow(){const{visibleColsService:e}=this.beans;return this.isPrintLayout?this.pinned!=null?0:e.getContainerWidth("right")+e.getContainerWidth("left")+e.getContainerWidth(null):e.getContainerWidth(this.pinned)}onRowHeightChanged(){const{topOffset:e,rowHeight:t}=this.getTopAndHeight();this.comp.setTop(e+"px"),this.comp.setHeight(t+"px")}getTopAndHeight(){const{columnModel:e,filterManager:t}=this.beans,i=[],s=e.getGroupRowsHeight(),o=e.getColumnHeaderRowHeight();i.push(...s),i.push(o),t!=null&&t.hasFloatingFilters()&&i.push(e.getFloatingFiltersHeight());let n=0;for(let r=0;r<this.rowIndex;r++)n+=i[r];return{topOffset:n,rowHeight:i[this.rowIndex]}}getPinned(){return this.pinned}getRowIndex(){return this.rowIndex}onVirtualColumnsChanged(e=!1){const t=this.getHeaderCtrls(),i=this.isEnsureDomOrder||this.isPrintLayout;this.comp.setHeaderCtrls(t,i,e)}getHeaderCtrls(){const e=this.headerCellCtrls;this.headerCellCtrls=new Map;const t=this.getColumnsInViewport();for(const s of t)this.recycleAndCreateHeaderCtrls(s,e);const i=s=>{const{focusService:o,visibleColsService:n}=this.beans;return o.isHeaderWrapperFocused(s)?n.isVisible(s.getColumnGroupChild()):!1};if(e)for(const[s,o]of e)i(o)?this.headerCellCtrls.set(s,o):this.destroyBean(o);return this.getHeaderCellCtrls()}getHeaderCellCtrls(){var e;return Array.from(((e=this.headerCellCtrls)==null?void 0:e.values())??[])}recycleAndCreateHeaderCtrls(e,t){if(!this.headerCellCtrls||e.isEmptyGroup())return;const i=e.getUniqueId();let s;if(t&&(s=t.get(i),t.delete(i)),s&&s.getColumnGroupChild()!=e&&(this.destroyBean(s),s=void 0),s==null)switch(this.type){case"filter":s=this.createBean(this.beans.ctrlsFactory.getInstance("headerFilterCell",e,this.beans,this));break;case"group":s=this.createBean(new dh(e,this.beans,this));break;default:s=this.createBean(new lh(e,this.beans,this))}this.headerCellCtrls.set(i,s)}getColumnsInViewport(){return this.isPrintLayout?this.getColumnsInViewportPrintLayout():this.getColumnsInViewportNormalLayout()}getColumnsInViewportPrintLayout(){if(this.pinned!=null)return[];let e=[];const t=this.getActualDepth(),{columnViewportService:i}=this.beans;return["left",null,"right"].forEach(s=>{const o=i.getHeadersToRender(s,t);e=e.concat(o)}),e}getActualDepth(){return this.type=="filter"?this.rowIndex-1:this.rowIndex}getColumnsInViewportNormalLayout(){return this.beans.columnViewportService.getHeadersToRender(this.pinned,this.getActualDepth())}findHeaderCellCtrl(e){if(!this.headerCellCtrls)return;const t=this.getHeaderCellCtrls();let i;return i=typeof e=="function"?t.find(e):t.find(s=>s.getColumnGroupChild()==e),i}focusHeader(e,t){const i=this.findHeaderCellCtrl(e);return i?i.focus(t):!1}destroy(){var e;(e=this.headerCellCtrls)==null||e.forEach(t=>{this.destroyBean(t)}),this.headerCellCtrls=void 0,super.destroy()}},uh=class extends b{constructor(e){super(),this.hidden=!1,this.includeFloatingFilter=!1,this.groupsRowCtrls=[],this.pinned=e}wireBeans(e){this.ctrlsService=e.ctrlsService,this.scrollVisibleService=e.scrollVisibleService,this.pinnedWidthService=e.pinnedWidthService,this.columnModel=e.columnModel,this.focusService=e.focusService,this.filterManager=e.filterManager}setComp(e,t){this.comp=e,this.eViewport=t,this.setupCenterWidth(),this.setupPinnedWidth(),this.setupDragAndDrop(this.eViewport);const i=this.onDisplayedColumnsChanged.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),displayedColumnsChanged:i,advancedFilterEnabledChanged:i});const s=`${typeof this.pinned=="string"?this.pinned:"center"}Header`;this.ctrlsService.register(s,this),this.columnModel.isReady()&&this.refresh()}getAllCtrls(){const e=[...this.groupsRowCtrls];return this.columnsRowCtrl&&e.push(this.columnsRowCtrl),this.filtersRowCtrl&&e.push(this.filtersRowCtrl),e}refresh(e=!1){const t=new Ut,i=this.focusService.getFocusHeaderToUseAfterRefresh();(()=>{const o=this.columnModel.getHeaderRowCount()-1;this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls);for(let n=0;n<o;n++){const r=this.createBean(new go(t.next(),this.pinned,"group"));this.groupsRowCtrls.push(r)}})(),(()=>{const o=t.next(),n=!(this.hidden||this.columnsRowCtrl!=null&&e&&this.columnsRowCtrl.getRowIndex()===o);(n||this.hidden)&&(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl)),n&&(this.columnsRowCtrl=this.createBean(new go(o,this.pinned,"column")))})(),(()=>{var r;this.includeFloatingFilter=!!((r=this.filterManager)!=null&&r.hasFloatingFilters())&&!this.hidden;const o=()=>{this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)};if(!this.includeFloatingFilter)return void o();const n=t.next();if(this.filtersRowCtrl){const l=this.filtersRowCtrl.getRowIndex()!==n;e&&!l||o()}this.filtersRowCtrl||(this.filtersRowCtrl=this.createBean(new go(n,this.pinned,"filter")))})();const s=this.getAllCtrls();this.comp.setCtrls(s),this.restoreFocusOnHeader(i)}getHeaderCtrlForColumn(e){var t;if(dt(e))return(t=this.columnsRowCtrl)==null?void 0:t.getHeaderCellCtrl(e);if(this.groupsRowCtrls.length!==0)for(let i=0;i<this.groupsRowCtrls.length;i++){const s=this.groupsRowCtrls[i].getHeaderCellCtrl(e);if(s)return s}}getHtmlElementForColumnHeader(e){const t=this.getHeaderCtrlForColumn(e);return t?t.getGui():null}getRowType(e){const t=this.getAllCtrls()[e];return t?t.getType():void 0}focusHeader(e,t,i){const s=this.getAllCtrls()[e];return!!s&&s.focusHeader(t,i)}getViewportElement(){return this.eViewport}getGroupRowCount(){return this.groupsRowCtrls.length}getGroupRowCtrlAtIndex(e){return this.groupsRowCtrls[e]}getRowCount(){return this.groupsRowCtrls.length+(this.columnsRowCtrl?1:0)+(this.filtersRowCtrl?1:0)}setHorizontalScroll(e){this.comp.setViewportScrollLeft(e)}onScrollCallback(e){this.addManagedElementListeners(this.getViewportElement(),{scroll:e})}destroy(){this.filtersRowCtrl&&(this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)),this.columnsRowCtrl&&(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl)),this.groupsRowCtrls&&this.groupsRowCtrls.length&&(this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls)),super.destroy()}setupDragAndDrop(e){const t=new oh(this.pinned,e);this.createManagedBean(t)}restoreFocusOnHeader(e){if(!e)return;const{column:t}=e;t.getPinned()==this.pinned&&this.focusService.focusHeaderPosition({headerPosition:e})}onGridColumnsChanged(){this.refresh(!0)}onDisplayedColumnsChanged(){var t;const e=((t=this.filterManager)==null?void 0:t.hasFloatingFilters())&&!this.hidden;this.includeFloatingFilter!==e&&this.refresh(!0)}setupCenterWidth(){this.pinned==null&&this.createManagedBean(new co(e=>this.comp.setCenterWidth(`${e}px`),!0))}setupPinnedWidth(){if(this.pinned==null)return;const e=this.pinned==="left",t=this.pinned==="right";this.hidden=!0;const i=()=>{const s=e?this.pinnedWidthService.getPinnedLeftWidth():this.pinnedWidthService.getPinnedRightWidth();if(s==null)return;const o=s==0,n=this.hidden!==o,r=this.gos.get("enableRtl"),l=this.scrollVisibleService.getScrollbarWidth(),a=this.scrollVisibleService.isVerticalScrollShowing()&&(r&&e||!r&&t)?s+l:s;this.comp.setPinnedContainerWidth(`${a}px`),this.comp.setDisplayed(!o),n&&(this.hidden=o,this.refresh())};this.addManagedEventListeners({leftPinnedWidthChanged:i,rightPinnedWidthChanged:i,scrollVisibilityChanged:i,scrollbarWidthChanged:i})}},po=class extends b{constructor(e){super(),this.view=e}postConstruct(){this.addManagedPropertyListener("domLayout",this.updateLayoutClasses.bind(this)),this.updateLayoutClasses()}updateLayoutClasses(){const e=this.getDomLayout(),t={autoHeight:e==="autoHeight",normal:e==="normal",print:e==="print"},i=t.autoHeight?"ag-layout-auto-height":t.print?"ag-layout-print":"ag-layout-normal";this.view.updateLayoutClasses(i,t)}getDomLayout(){const e=this.gos.get("domLayout")??"normal";return["normal","print","autoHeight"].indexOf(e)===-1?(R(`${e} is not valid for DOM Layout, valid values are 'normal', 'autoHeight', 'print'.`),"normal"):e}},gh=class extends ee{constructor(){super(`
86
+ `)}}],dependantModules:[lo]},Ja={version:G,moduleName:"@ag-grid-community/filter",dependantModules:[Xa,Ya,{version:G,moduleName:"@ag-grid-community/quick-filter",dependantModules:[cr,{version:G,moduleName:"@ag-grid-community/quick-filter-api",apiFunctions:{isQuickFilterPresent:function(e){var t;return!!((t=e.filterManager)!=null&&t.isQuickFilterPresent())},getQuickFilter:function(e){return e.gos.get("quickFilterText")},resetQuickFilter:function(e){var t;(t=e.filterManager)==null||t.resetQuickFilterCache()}},dependantModules:[cr]}]},Qa]},ho=(e=>(e.COLUMN_GROUP="group",e.COLUMN="column",e.FLOATING_FILTER="filter",e))(ho||{}),Za=class extends b{constructor(){super(...arguments),this.beanName="headerNavigationService",this.currentHeaderRowWithoutSpan=-1}wireBeans(e){this.focusService=e.focusService,this.headerPositionUtils=e.headerPositionUtils,this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.visibleColService=e.visibleColsService}postConstruct(){this.ctrlsService.whenReady(this,t=>{this.gridBodyCon=t.gridBodyCtrl});const e=ae(this.gos);this.addManagedElementListeners(e,{mousedown:()=>this.setCurrentHeaderRowWithoutSpan(-1)})}getHeaderRowCount(){var e;return((e=this.ctrlsService.getHeaderRowContainerCtrl())==null?void 0:e.getRowCount())??0}getHeaderPositionForColumn(e,t){let i;if(typeof e=="string"?(i=this.columnModel.getCol(e),i||(i=this.visibleColService.getColumnGroup(e))):i=e,!i)return null;const s=this.ctrlsService.getHeaderRowContainerCtrl(),o=s==null?void 0:s.getAllCtrls(),n=$(o||[]).getType()==="filter",r=this.getHeaderRowCount()-1;let l=-1,a=i;for(;a;)l++,a=a.getParent();let h=l;return t&&n&&h===r-1&&h++,h===-1?null:{headerRowIndex:h,column:i}}navigateVertically(e,t,i){if(t||(t=this.focusService.getFocusedHeader()),!t)return!1;const{headerRowIndex:s}=t,o=t.column,n=this.getHeaderRowCount(),r=e===0;let{headerRowIndex:l,column:a,headerRowIndexWithoutSpan:h}=r?this.headerPositionUtils.getColumnVisibleParent(o,s):this.headerPositionUtils.getColumnVisibleChild(o,s),d=!1;return l<0&&(l=0,a=o,d=!0),l>=n?(l=-1,this.setCurrentHeaderRowWithoutSpan(-1)):h!==void 0&&(this.currentHeaderRowWithoutSpan=h),!(!d&&!a)&&this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:l,column:a},allowUserOverride:!0,event:i})}setCurrentHeaderRowWithoutSpan(e){this.currentHeaderRowWithoutSpan=e}navigateHorizontally(e,t=!1,i){const s=this.focusService.getFocusedHeader(),o=e===2,n=this.gos.get("enableRtl");let r,l;if(this.currentHeaderRowWithoutSpan!==-1?s.headerRowIndex=this.currentHeaderRowWithoutSpan:this.currentHeaderRowWithoutSpan=s.headerRowIndex,o!==n?(l="Before",r=this.headerPositionUtils.findHeader(s,l)):(l="After",r=this.headerPositionUtils.findHeader(s,l)),r||!t)return this.focusService.focusHeaderPosition({headerPosition:r,direction:l,fromTab:t,allowUserOverride:!0,event:i});if(t){const a=this.gos.getCallback("tabToNextHeader");if(a)return this.focusService.focusHeaderPositionFromUserFunc({userFunc:a,headerPosition:r,direction:l})}return this.focusNextHeaderRow(s,l,i)}focusNextHeaderRow(e,t,i){const s=e.headerRowIndex;let o,n=null;if(t==="Before"?s>0&&(o=s-1,this.currentHeaderRowWithoutSpan-=1,n=this.headerPositionUtils.findColAtEdgeForHeaderRow(o,"end")):(o=s+1,this.currentHeaderRowWithoutSpan<this.getHeaderRowCount()?this.currentHeaderRowWithoutSpan+=1:this.setCurrentHeaderRowWithoutSpan(-1),n=this.headerPositionUtils.findColAtEdgeForHeaderRow(o,"start")),!n)return!1;const{column:r,headerRowIndex:l}=this.headerPositionUtils.getHeaderIndexToFocus(n.column,n==null?void 0:n.headerRowIndex);return this.focusService.focusHeaderPosition({headerPosition:{column:r,headerRowIndex:l},direction:t,fromTab:!0,allowUserOverride:!0,event:i})}scrollToColumn(e,t="After"){if(e.getPinned())return;let i;if(de(e)){const s=e.getDisplayedLeafColumns();i=t==="Before"?$(s):s[0]}else i=e;this.gridBodyCon.getScrollFeature().ensureColumnVisible(i)}},eh=class extends b{wireBeans(e){this.animationFrameService=e.animationFrameService,this.headerNavigationService=e.headerNavigationService,this.focusService=e.focusService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService,this.filterManager=e.filterManager,this.menuService=e.menuService}setComp(e,t,i){this.comp=e,this.eGui=t,this.createManagedBean(new Et(i,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addManagedEventListeners({columnPivotModeChanged:this.onPivotModeChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),this.onPivotModeChanged(),this.setupHeaderHeight();const s=this.onHeaderContextMenu.bind(this);this.addManagedElementListeners(this.eGui,{contextmenu:s}),this.mockContextMenuForIPad(s),this.ctrlsService.register("gridHeaderCtrl",this)}setupHeaderHeight(){const e=this.setHeaderHeight.bind(this);e(),this.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],e),this.addManagedEventListeners({displayedColumnsChanged:e,columnHeaderHeightChanged:e,columnGroupHeaderHeightChanged:()=>this.animationFrameService.requestAnimationFrame(()=>e()),gridStylesChanged:e,advancedFilterEnabledChanged:e})}getHeaderHeight(){return this.headerHeight}setHeaderHeight(){var n;const{columnModel:e}=this;let t=0;const i=this.columnModel.getGroupRowsHeight().reduce((r,l)=>r+l,0),s=this.columnModel.getColumnHeaderRowHeight();if((n=this.filterManager)!=null&&n.hasFloatingFilters()&&(t+=e.getFloatingFiltersHeight()),t+=i,t+=s,this.headerHeight===t)return;this.headerHeight=t;const o=`${t+1}px`;this.comp.setHeightAndMinHeight(o),this.eventService.dispatchEvent({type:"headerHeightChanged"})}onPivotModeChanged(){const e=this.columnModel.isPivotMode();this.comp.addOrRemoveCssClass("ag-pivot-on",e),this.comp.addOrRemoveCssClass("ag-pivot-off",!e)}onDisplayedColumnsChanged(){const e=this.visibleColsService.getAllCols().some(t=>t.isSpanHeaderHeight());this.comp.addOrRemoveCssClass("ag-header-allow-overflow",e)}onTabKeyDown(e){const t=this.gos.get("enableRtl"),i=e.shiftKey,s=i!==t?2:3;(this.headerNavigationService.navigateHorizontally(s,!0,e)||!i&&this.focusService.focusOverlay(!1)||this.focusService.focusNextGridCoreContainer(i,!0))&&e.preventDefault()}handleKeyDown(e){let t=null;switch(e.key){case y.LEFT:t=2;case y.RIGHT:M(t)||(t=3),this.headerNavigationService.navigateHorizontally(t,!1,e)&&e.preventDefault();break;case y.UP:t=0;case y.DOWN:M(t)||(t=1),this.headerNavigationService.navigateVertically(t,null,e)&&e.preventDefault();break;default:return}}onFocusOut(e){const{relatedTarget:t}=e;!t&&this.eGui.contains(re(this.gos))||this.eGui.contains(t)||this.focusService.clearFocusedHeader()}onHeaderContextMenu(e,t,i){var o;if(!e&&!i||!this.menuService.isHeaderContextMenuEnabled())return;const{target:s}=e??t;s!==this.eGui&&s!==((o=this.ctrlsService.getHeaderRowContainerCtrl())==null?void 0:o.getViewportElement())||this.menuService.showHeaderContextMenu(void 0,e,i)}mockContextMenuForIPad(e){if(!ct())return;const t=new ut(this.eGui);this.addManagedListeners(t,{longTap:i=>{e(void 0,i.touchStart,i.touchEvent)}}),this.addDestroyFunc(()=>t.destroy())}},co=class extends b{constructor(e,t=!1){super(),this.callback=e,this.addSpacer=t}wireBeans(e){this.visibleColsService=e.visibleColsService,this.scrollVisibleService=e.scrollVisibleService}postConstruct(){const e=this.setWidth.bind(this);this.addManagedPropertyListener("domLayout",e),this.addManagedEventListeners({columnContainerWidthChanged:e,displayedColumnsChanged:e,leftPinnedWidthChanged:e}),this.addSpacer&&this.addManagedEventListeners({rightPinnedWidthChanged:e,scrollVisibilityChanged:e,scrollbarWidthChanged:e}),this.setWidth()}setWidth(){const e=Ce(this.gos,"print"),t=this.visibleColsService.getBodyContainerWidth(),i=this.visibleColsService.getColsLeftWidth(),s=this.visibleColsService.getDisplayedColumnsRightWidth();let o;e?o=t+i+s:(o=t,this.addSpacer&&(this.gos.get("enableRtl")?i:s)===0&&this.scrollVisibleService.isVerticalScrollShowing()&&(o+=this.scrollVisibleService.getScrollbarWidth())),this.callback(o)}},th=class extends b{constructor(e){super(),this.columnsToAggregate=[],this.columnsToGroup=[],this.columnsToPivot=[],this.pinned=e}wireBeans(e){this.funcColsService=e.funcColsService}onDragEnter(e){if(this.clearColumnsList(),this.gos.get("functionsReadOnly"))return;const t=e.dragItem.columns;t&&t.forEach(i=>{i.isPrimary()&&(i.isAnyFunctionActive()||(i.isAllowValue()?this.columnsToAggregate.push(i):i.isAllowRowGroup()?this.columnsToGroup.push(i):i.isAllowPivot()&&this.columnsToPivot.push(i)))})}getIconName(){return this.columnsToAggregate.length+this.columnsToGroup.length+this.columnsToPivot.length>0?this.pinned?"pinned":"move":null}onDragLeave(e){this.clearColumnsList()}clearColumnsList(){this.columnsToAggregate.length=0,this.columnsToGroup.length=0,this.columnsToPivot.length=0}onDragging(e){}onDragStop(e){this.columnsToAggregate.length>0&&this.funcColsService.addValueColumns(this.columnsToAggregate,"toolPanelDragAndDrop"),this.columnsToGroup.length>0&&this.funcColsService.addRowGroupColumns(this.columnsToGroup,"toolPanelDragAndDrop"),this.columnsToPivot.length>0&&this.funcColsService.addPivotColumns(this.columnsToPivot,"toolPanelDragAndDrop")}onDragCancel(){this.clearColumnsList()}};function ur(e){const{isFromHeader:t,fromLeft:i,xPosition:s,fromEnter:o,fakeEvent:n,pinned:r,gos:l,columnModel:a,columnMoveService:h,visibleColsService:d}=e;let{allMovingColumns:c}=e;if(t){const F=[];c.forEach(E=>{var L;let D=null,A=E.getParent();for(;A!=null&&A.getDisplayedLeafColumns().length===1;)D=A,A=A.getParent();D!=null?((L=D.getColGroupDef())!=null&&L.marryChildren?D.getProvidedColumnGroup().getLeafColumns():D.getLeafColumns()).forEach(T=>{F.includes(T)||F.push(T)}):F.includes(E)||F.push(E)}),c=F}const u=c.slice();a.sortColsLikeCols(u);const g=function(F){const{movingCols:E,draggingRight:D,xPosition:A,pinned:L,gos:T,columnModel:k,visibleColsService:N}=F;if(T.get("suppressMovableColumns")||E.some(I=>I.getColDef().suppressMovable))return[];const U=function(I,_){switch(_){case"left":return I.getLeftCols();case"right":return I.getRightCols();default:return I.getCenterCols()}}(N,L),J=k.getCols(),X=U.filter(I=>yt(E,I)),j=U.filter(I=>!yt(E,I)),z=J.filter(I=>!yt(E,I));let W,Z=0,q=A;if(D){let I=0;X.forEach(_=>I+=_.getActualWidth()),q-=I}if(q>0){for(let I=0;I<j.length&&(q-=j[I].getActualWidth(),!(q<0));I++)Z++;D&&Z++}if(Z>0){const I=j[Z-1];W=z.indexOf(I)+1}else W=z.indexOf(j[0]),W===-1&&(W=0);const H=[W],ue=(I,_)=>I-_;if(D){let I=W+1;const _=J.length-1;for(;I<=_;)H.push(I),I++;H.sort(ue)}else{let I=W;const _=J.length-1;let fe=J[I];for(;I<=_&&U.indexOf(fe)<0;)I++,H.push(I),fe=J[I];I=W-1;const Jt=0;for(;I>=Jt;)H.push(I),I--;H.sort(ue).reverse()}return H}({movingCols:u,draggingRight:i,xPosition:s,pinned:r,gos:l,columnModel:a,visibleColsService:d}),m=function(F,E){const D=E.getCols(),A=(k=F.map(N=>D.indexOf(N)),k.sort((N,te)=>N-te)),L=A[0],T=$(A);var k;return T-L!==A.length-1?null:L}(u,a);if(g.length===0)return;const f=g[0];let C=m!==null&&!o;if(t&&(C=m!==null),C&&!n&&(!i&&f>=m||i&&f<=m))return;const v=d.getAllCols(),w=[];let P=null;for(let F=0;F<g.length;F++){const E=g[F],D=h.getProposedColumnOrder(u,E);if(!h.doesOrderPassRules(D))continue;const A=D.filter(T=>v.includes(T));if(P===null)P=A;else if(!at(A,P))break;const L=ih(D);w.push({move:E,fragCount:L})}if(w.length===0)return;w.sort((F,E)=>F.fragCount-E.fragCount);const S=w[0].move;return S>a.getCols().length-c.length?void 0:{columns:c,toIndex:S}}function uo(e){const{columns:t,toIndex:i}=ur(e)||{},{finished:s,columnMoveService:o}=e;return t&&i!=null?(o.moveColumns(t,i,"uiColumnMoved",s),s?null:{columns:t,toIndex:i}):null}function ih(e){function t(s){const o=[];let n=s.getOriginalParent();for(;n!=null;)o.push(n),n=n.getOriginalParent();return o}let i=0;for(let s=0;s<e.length-1;s++){let o=t(e[s]),n=t(e[s+1]);[o,n]=o.length>n.length?[o,n]:[n,o],o.forEach(r=>{n.indexOf(r)===-1&&i++})}return i}function Yi(e){var h;const{pinned:t,fromKeyboard:i,gos:s,ctrlsService:o,useHeaderRow:n,skipScrollPadding:r}=e;let l=(h=o.getHeaderRowContainerCtrl(t))==null?void 0:h.getViewportElement(),{x:a}=e;return l?(i&&(a-=l.getBoundingClientRect().left),s.get("enableRtl")&&(n&&(l=l.querySelector(".ag-header-row")),a=l.clientWidth-a),t!=null||r||(a+=o.get("center").getCenterViewportScrollLeft()),a):0}function _t(e,t){for(const i of e)i.setMoving(t,"uiColumnMoved")}var sh=class extends b{constructor(e){super(),this.needToMoveLeft=!1,this.needToMoveRight=!1,this.lastMovedInfo=null,this.pinned=e,this.isCenterContainer=!M(e)}wireBeans(e){this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.columnMoveService=e.columnMoveService,this.dragAndDropService=e.dragAndDropService,this.ctrlsService=e.ctrlsService}postConstruct(){this.ctrlsService.whenReady(this,e=>{this.gridBodyCon=e.gridBodyCtrl})}getIconName(){var t;const e=((t=this.lastDraggingEvent)==null?void 0:t.dragItem.columns)??[];for(const i of e){const s=i.getPinned();if(i.getColDef().lockPinned){if(s==this.pinned)return"move"}else{if(s===this.pinned||!this.pinned)return"move";if(!s&&this.pinned)return"pinned"}}return"notAllowed"}onDragEnter(e){const t=e.dragItem.columns;if(e.dragSource.type===0)this.setColumnsVisible(t,!0,"uiColumnDragged");else{const i=e.dragItem.visibleState,s=(t||[]).filter(o=>i[o.getId()]);this.setColumnsVisible(s,!0,"uiColumnDragged")}this.gos.get("suppressMoveWhenColumnDragging")||this.attemptToPinColumns(t,this.pinned),this.onDragging(e,!0,!0)}onDragging(e=this.lastDraggingEvent,t=!1,i=!1,s=!1){const o=this.gos.get("suppressMoveWhenColumnDragging");if(s&&!o)return void this.finishColumnMoving();if(this.lastDraggingEvent=e,!e||!s&&K(e.hDirection))return;const{pinned:n,gos:r,ctrlsService:l}=this,a=Yi({x:e.x,pinned:n,gos:r,ctrlsService:l});t||this.checkCenterForScrolling(a),o?this.handleColumnDragWhileSuppressingMovement(e,t,i,a,s):this.handleColumnDragWhileAllowingMovement(e,t,i,a,s)}onDragLeave(){this.ensureIntervalCleared(),this.clearHighlighted(),this.lastMovedInfo=null}onDragStop(){this.onDragging(this.lastDraggingEvent,!1,!0,!0),this.ensureIntervalCleared(),this.lastMovedInfo=null}onDragCancel(){this.clearHighlighted(),this.ensureIntervalCleared(),this.lastMovedInfo=null}setColumnsVisible(e,t,i){if(!e)return;const s=e.filter(o=>!o.getColDef().lockVisible);this.columnModel.setColsVisible(s,t,i)}finishColumnMoving(){if(this.clearHighlighted(),!this.lastMovedInfo)return;const{columns:e,toIndex:t}=this.lastMovedInfo;this.columnMoveService.moveColumns(e,t,"uiColumnMoved",!0)}handleColumnDragWhileSuppressingMovement(e,t,i,s,o){const n=this.getAllMovingColumns(e,!0);if(o){const r=this.isAttemptingToPin(n);r&&this.attemptToPinColumns(n,void 0,!0);const{fromLeft:l,xPosition:a}=this.getNormalisedXPositionInfo(n,r)||{};if(l==null||a==null)return void this.finishColumnMoving();this.moveColumnsAfterHighlight({allMovingColumns:n,xPosition:a,fromEnter:t,fakeEvent:i,fromLeft:l})}else{if(!this.dragAndDropService.isDropZoneWithinThisGrid(e))return;this.highlightHoveredColumn(n,s)}}handleColumnDragWhileAllowingMovement(e,t,i,s,o){const n=this.getAllMovingColumns(e),r=this.normaliseDirection(e.hDirection)===1,l=e.dragSource.type===1,a=uo({...this.getMoveColumnParams({allMovingColumns:n,isFromHeader:l,xPosition:s,fromLeft:r,fromEnter:t,fakeEvent:i}),finished:o});a&&(this.lastMovedInfo=a)}getAllMovingColumns(e,t=!1){const i=e.dragSource.getDragItem();let s=null;return t?(s=i.columnsInSplit,s||(s=i.columns)):s=i.columns,s?s.filter(o=>!o.getColDef().lockPinned||o.getPinned()==this.pinned):[]}getMoveColumnParams(e){const{allMovingColumns:t,isFromHeader:i,xPosition:s,fromLeft:o,fromEnter:n,fakeEvent:r}=e,{pinned:l,gos:a,columnModel:h,columnMoveService:d,visibleColsService:c}=this;return{allMovingColumns:t,isFromHeader:i,fromLeft:o,xPosition:s,pinned:l,fromEnter:n,fakeEvent:r,gos:a,columnModel:h,columnMoveService:d,visibleColsService:c}}findFirstAndLastMovingColumns(e){const t=e.length;let i,s;for(let o=0;o<=t;o++){if(!i){const n=e[o];n.getLeft()!=null&&(i=n)}if(!s){const n=e[t-1-o];n.getLeft()!=null&&(s=n)}if(i&&s)break}return{firstMovingCol:i,lastMovingCol:s}}highlightHoveredColumn(e,t){var d;const{gos:i,columnModel:s}=this,o=i.get("enableRtl"),n=s.getCols().filter(c=>c.isVisible()&&c.getPinned()===this.pinned);let r,l=null,a=null,h=null;for(const c of n){if(a=c.getActualWidth(),l=this.getNormalisedColumnLeft(c,0,o),l!=null&&l<=t&&l+a>=t){h=c;break}l=null,a=null}if(h)e.indexOf(h)!==-1&&(h=null);else{for(let c=n.length-1;c>=0;c--){const u=n[c],g=n[c].getParent();if(!g){h=u;break}const m=g==null?void 0:g.getDisplayedLeafColumns();if(m.length){h=$(m);break}}if(!h)return;l=this.getNormalisedColumnLeft(h,0,o),a=h.getActualWidth()}((d=this.lastHighlightedColumn)==null?void 0:d.column)!==h&&this.clearHighlighted(),h!=null&&l!=null&&a!=null&&(r=t-l<a/2!==o?0:1,h.setHighlighted(r),this.lastHighlightedColumn={column:h,position:r})}getNormalisedXPositionInfo(e,t){const{gos:i,visibleColsService:s}=this,o=i.get("enableRtl"),{firstMovingCol:n,column:r,position:l}=this.getColumnMoveAndTargetInfo(e,t,o);if(!n||!r||l==null)return;const a=s.getAllCols(),h=a.indexOf(n),d=a.indexOf(r),c=l===0!==o,u=h<d||h===d&&!c;let g=0;if(c?u&&(g-=1):u||(g+=1),d+g===h)return;const m=a[d+g];if(m)return{fromLeft:u,xPosition:this.getNormalisedColumnLeft(m,20,o)}}getColumnMoveAndTargetInfo(e,t,i){const s=this.lastHighlightedColumn||{},{firstMovingCol:o,lastMovingCol:n}=this.findFirstAndLastMovingColumns(e);if(!o||!n||s.column||!t)return{firstMovingCol:o,...s};const r=this.getPinDirection()==="left";return{firstMovingCol:o,position:r?1:0,column:r!==i?o:n}}normaliseDirection(e){if(this.gos.get("enableRtl"))switch(e){case 0:return 1;case 1:return 0}return e}getNormalisedColumnLeft(e,t,i){const{gos:s,ctrlsService:o}=this,n=e.getLeft();if(n==null)return null;const r=e.getActualWidth();return Yi({x:i?n+r-t:n+t,pinned:e.getPinned(),useHeaderRow:i,skipScrollPadding:!0,gos:s,ctrlsService:o})}isAttemptingToPin(e){const t=this.needToMoveLeft||this.needToMoveRight,i=this.failedMoveAttempts>7;return t&&i||e.some(s=>s.getPinned()!==this.pinned)}moveColumnsAfterHighlight(e){const{allMovingColumns:t,xPosition:i,fromEnter:s,fakeEvent:o,fromLeft:n}=e,r=this.getMoveColumnParams({allMovingColumns:t,isFromHeader:!0,xPosition:i,fromLeft:n,fromEnter:s,fakeEvent:o}),{columns:l,toIndex:a}=ur(r)||{};l&&a!=null&&(this.lastMovedInfo={columns:l,toIndex:a}),this.finishColumnMoving()}clearHighlighted(){this.lastHighlightedColumn&&(this.lastHighlightedColumn.column.setHighlighted(null),this.lastHighlightedColumn=null)}checkCenterForScrolling(e){if(!this.isCenterContainer)return;const t=this.ctrlsService.get("center"),i=t.getCenterViewportScrollLeft(),s=i+t.getCenterWidth();this.gos.get("enableRtl")?(this.needToMoveRight=e<i+50,this.needToMoveLeft=e>s-50):(this.needToMoveLeft=e<i+50,this.needToMoveRight=e>s-50),this.needToMoveLeft||this.needToMoveRight?this.ensureIntervalStarted():this.ensureIntervalCleared()}ensureIntervalStarted(){var e;this.movingIntervalId||(this.intervalCount=0,this.failedMoveAttempts=0,this.movingIntervalId=window.setInterval(this.moveInterval.bind(this),100),(e=this.dragAndDropService.getDragAndDropImageComponent())==null||e.setIcon(this.needToMoveLeft?"left":"right",!0))}ensureIntervalCleared(){var e;this.movingIntervalId&&(window.clearInterval(this.movingIntervalId),this.movingIntervalId=null,this.failedMoveAttempts=0,(e=this.dragAndDropService.getDragAndDropImageComponent())==null||e.setIcon(this.getIconName()))}moveInterval(){var s,o;let e;this.intervalCount++,e=10+5*this.intervalCount,e>100&&(e=100);let t=null;const i=this.gridBodyCon.getScrollFeature();if(this.needToMoveLeft?t=i.scrollHorizontally(-e):this.needToMoveRight&&(t=i.scrollHorizontally(e)),t!==0)this.onDragging(this.lastDraggingEvent),this.failedMoveAttempts=0;else{if(this.failedMoveAttempts++,this.failedMoveAttempts<=8)return;if((s=this.dragAndDropService.getDragAndDropImageComponent())==null||s.setIcon("pinned"),!this.gos.get("suppressMoveWhenColumnDragging")){const n=(o=this.lastDraggingEvent)==null?void 0:o.dragItem.columns;this.attemptToPinColumns(n,void 0,!0)}}}getPinDirection(){return this.needToMoveLeft||this.pinned==="left"?"left":this.needToMoveRight||this.pinned==="right"?"right":void 0}attemptToPinColumns(e,t,i=!1){const s=(e||[]).filter(o=>!o.getColDef().lockPinned);return s.length?(i&&(t=this.getPinDirection()),this.columnModel.setColsPinned(s,t,"uiColumnDragged"),i&&this.dragAndDropService.nudge(),s.length):0}destroy(){super.destroy(),this.lastDraggingEvent=null,this.clearHighlighted(),this.lastMovedInfo=null}},oh=class extends b{wireBeans(e){this.dragAndDropService=e.dragAndDropService,this.columnModel=e.columnModel,this.ctrlsService=e.ctrlsService}constructor(e,t){super(),this.pinned=e,this.eContainer=t}postConstruct(){this.ctrlsService.whenReady(this,e=>{switch(this.pinned){case"left":this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.left.getContainerElement()],[e.bottomLeft.getContainerElement()],[e.topLeft.getContainerElement()]];break;case"right":this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.right.getContainerElement()],[e.bottomRight.getContainerElement()],[e.topRight.getContainerElement()]];break;default:this.eSecondaryContainers=[[e.gridBodyCtrl.getBodyViewportElement(),e.center.getViewportElement()],[e.bottomCenter.getViewportElement()],[e.topCenter.getViewportElement()]]}}),this.moveColumnFeature=this.createManagedBean(new sh(this.pinned)),this.bodyDropPivotTarget=this.createManagedBean(new th(this.pinned)),this.dragAndDropService.addDropTarget(this),this.addDestroyFunc(()=>this.dragAndDropService.removeDropTarget(this))}isInterestedIn(e){return e===1||e===0&&this.gos.get("allowDragFromColumnsToolPanel")}getSecondaryContainers(){return this.eSecondaryContainers}getContainer(){return this.eContainer}getIconName(){return this.currentDropListener.getIconName()}isDropColumnInPivotMode(e){return this.columnModel.isPivotMode()&&e.dragSource.type===0}onDragEnter(e){this.currentDropListener=this.isDropColumnInPivotMode(e)?this.bodyDropPivotTarget:this.moveColumnFeature,this.currentDropListener.onDragEnter(e)}onDragLeave(e){this.currentDropListener.onDragLeave(e)}onDragging(e){this.currentDropListener.onDragging(e)}onDragStop(e){this.currentDropListener.onDragStop(e)}onDragCancel(){this.currentDropListener.onDragCancel()}},nh=class extends b{wireBeans(e){this.horizontalResizeService=e.horizontalResizeService,this.pinnedWidthService=e.pinnedWidthService,this.ctrlsService=e.ctrlsService,this.columnSizeService=e.columnSizeService,this.columnAutosizeService=e.columnAutosizeService}constructor(e,t,i,s,o){super(),this.pinned=e,this.column=t,this.eResize=i,this.comp=s,this.ctrl=o}postConstruct(){const e=[];let t,i;const s=()=>{if(le(this.eResize,t),!t)return;const r=this.horizontalResizeService.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(e.push(r),i){const l=this.gos.get("skipHeaderOnAutoSize"),a=()=>{this.columnAutosizeService.autoSizeColumn(this.column,"uiColumnResized",l)};this.eResize.addEventListener("dblclick",a);const h=new ut(this.eResize);h.addEventListener("doubleTap",a),e.push(()=>{this.eResize.removeEventListener("dblclick",a),h.removeEventListener("doubleTap",a),h.destroy()})}},o=()=>{e.forEach(r=>r()),e.length=0},n=()=>{const r=this.column.isResizable(),l=!this.gos.get("suppressAutoSize")&&!this.column.getColDef().suppressAutoSize;(r!==t||l!==i)&&(t=r,i=l,o(),s())};n(),this.addDestroyFunc(o),this.ctrl.setRefreshFunction("resize",n)}onResizing(e,t){const{column:i,lastResizeAmount:s,resizeStartWidth:o}=this,n=this.normaliseResizeAmount(t),r=[{key:i,newWidth:o+n}];this.column.getPinned()&&this.pinnedWidthService.getPinnedLeftWidth()+this.pinnedWidthService.getPinnedRightWidth()+(n-s)>gi(this.ctrlsService.getGridBodyCtrl().getBodyViewportElement())-50||(this.lastResizeAmount=n,this.columnSizeService.setColumnWidths(r,this.resizeWithShiftKey,e,"uiColumnResized"),e&&this.toggleColumnResizing(!1))}onResizeStart(e){this.resizeStartWidth=this.column.getActualWidth(),this.lastResizeAmount=0,this.resizeWithShiftKey=e,this.toggleColumnResizing(!0)}toggleColumnResizing(e){this.comp.addOrRemoveCssClass("ag-column-resizing",e)}normaliseResizeAmount(e){let t=e;const i=this.pinned!=="left",s=this.pinned==="right";return this.gos.get("enableRtl")?i&&(t*=-1):s&&(t*=-1),t}},rh=class extends b{constructor(e){super(),this.cbSelectAllVisible=!1,this.processingEventFromCheckbox=!1,this.column=e}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}onSpaceKeyDown(e){const t=this.cbSelectAll;t.isDisplayed()&&!t.getGui().contains(re(this.gos))&&(e.preventDefault(),t.setValue(!t.getValue()))}getCheckboxGui(){return this.cbSelectAll.getGui()}setComp(e){this.headerCellCtrl=e,this.cbSelectAll=this.createManagedBean(new qs),this.cbSelectAll.addCssClass("ag-header-select-all"),Ve(this.cbSelectAll.getGui(),"presentation"),this.showOrHideSelectAll(),this.addManagedEventListeners({newColumnsLoaded:this.onNewColumnsLoaded.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),selectionChanged:this.onSelectionChanged.bind(this),paginationChanged:this.onSelectionChanged.bind(this),modelUpdated:this.onModelChanged.bind(this)}),this.addManagedListeners(this.cbSelectAll,{fieldValueChanged:this.onCbSelectAll.bind(this)}),this.cbSelectAll.getInputElement().setAttribute("tabindex","-1"),this.refreshSelectAllLabel()}onNewColumnsLoaded(){this.showOrHideSelectAll()}onDisplayedColumnsChanged(){this.isAlive()&&this.showOrHideSelectAll()}showOrHideSelectAll(){this.cbSelectAllVisible=this.isCheckboxSelection(),this.cbSelectAll.setDisplayed(this.cbSelectAllVisible),this.cbSelectAllVisible&&(this.checkRightRowModelType("selectAllCheckbox"),this.checkSelectionType("selectAllCheckbox"),this.updateStateOfCheckbox()),this.refreshSelectAllLabel()}onModelChanged(){this.cbSelectAllVisible&&this.updateStateOfCheckbox()}onSelectionChanged(){this.cbSelectAllVisible&&this.updateStateOfCheckbox()}updateStateOfCheckbox(){if(this.processingEventFromCheckbox)return;this.processingEventFromCheckbox=!0;const e=this.selectionService.getSelectAllState(this.isFilteredOnly(),this.isCurrentPageOnly());this.cbSelectAll.setValue(e);const t=this.selectionService.hasNodesToSelect(this.isFilteredOnly(),this.isCurrentPageOnly());this.cbSelectAll.setDisabled(!t),this.refreshSelectAllLabel(),this.processingEventFromCheckbox=!1}refreshSelectAllLabel(){const e=this.localeService.getLocaleTextFunc(),t=this.cbSelectAll.getValue()?e("ariaChecked","checked"):e("ariaUnchecked","unchecked"),i=e("ariaRowSelectAll","Press Space to toggle all rows selection");this.cbSelectAllVisible?this.headerCellCtrl.setAriaDescriptionProperty("selectAll",`${i} (${t})`):this.headerCellCtrl.setAriaDescriptionProperty("selectAll",null),this.cbSelectAll.setInputAriaLabel(e("ariaHeaderSelection","Column with Header Selection")),this.headerCellCtrl.announceAriaDescription()}checkSelectionType(e){return!!Qo(this.gos)||(R(`${e} is only available if using 'multiRow' selection mode.`),!1)}checkRightRowModelType(e){return!(!ie(this.gos)&&!Ke(this.gos))||(R(`${e} is only available if using 'clientSide' or 'serverSide' rowModelType, you are using ${this.rowModel.getType()}.`),!1)}onCbSelectAll(){if(this.processingEventFromCheckbox||!this.cbSelectAllVisible)return;const e=this.cbSelectAll.getValue(),t=this.isFilteredOnly(),i=this.isCurrentPageOnly();let s="uiSelectAll";i?s="uiSelectAllCurrentPage":t&&(s="uiSelectAllFiltered");const o={source:s,justFiltered:t,justCurrentPage:i};e?this.selectionService.selectAllRowNodes(o):this.selectionService.deselectAllRowNodes(o)}isCheckboxSelection(){const e=this.gos.get("rowSelection"),t=typeof e=="object"&&Li(e)&&ni(this.column),i=this.column.getColDef().headerCheckboxSelection;let s=!1;return s=!!t||(typeof i=="function"?i(this.gos.addGridCommonParams({column:this.column,colDef:this.column.getColDef()})):!!i),s&&this.checkRightRowModelType(t?"headerCheckbox":"headerCheckboxSelection")&&this.checkSelectionType(t?"headerCheckbox":"headerCheckboxSelection")}isFilteredOnly(){const e=this.gos.get("rowSelection");return typeof e=="object"?e.mode==="multiRow"&&e.selectAll==="filtered":!!this.column.getColDef().headerCheckboxSelectionFilteredOnly}isCurrentPageOnly(){const e=this.gos.get("rowSelection");return typeof e=="object"?e.mode==="multiRow"&&e.selectAll==="currentPage":!!this.column.getColDef().headerCheckboxSelectionCurrentPageOnly}},lh=class extends Qi{constructor(e,t,i){super(e,t,i),this.refreshFunctions={},this.userHeaderClasses=new Set,this.ariaDescriptionProperties=new Map,this.column=e}setComp(e,t,i,s,o){this.comp=e,o=hi(this,this.beans.context,o),this.setGui(t,o),this.updateState(),this.setupWidth(o),this.setupMovingCss(o),this.setupMenuClass(o),this.setupSortableClass(o),this.setupWrapTextClass(),this.refreshSpanHeaderHeight(),this.setupAutoHeight({wrapperElement:s,checkMeasuringCallback:r=>this.setRefreshFunction("measuring",r),compBean:o}),this.addColumnHoverListener(o),this.setupFilterClass(o),this.setupClassesFromColDef(),this.setupTooltip(o),this.addActiveHeaderMouseListeners(o),this.setupSelectAll(o),this.setupUserComp(o),this.refreshAria(),this.resizeFeature=o.createManagedBean(new nh(this.getPinned(),this.column,i,e,this)),o.createManagedBean(new ro([this.column],t)),o.createManagedBean(new no(this.column,t,this.beans)),o.createManagedBean(new Et(t,{shouldStopEventPropagation:r=>this.shouldStopEventPropagation(r),onTabKeyDown:()=>null,handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addResizeAndMoveKeyboardListeners(o),o.addManagedPropertyListeners(["suppressMovableColumns","suppressMenuHide","suppressAggFuncInHeader"],()=>this.refresh(o)),o.addManagedListeners(this.column,{colDefChanged:()=>this.refresh(o)}),o.addManagedListeners(this.column,{headerHighlightChanged:this.onHeaderHighlightChanged.bind(this)});const n=()=>this.checkDisplayName(o);o.addManagedEventListeners({columnValueChanged:n,columnRowGroupChanged:n,columnPivotChanged:n,headerHeightChanged:this.onHeaderHeightChanged.bind(this)}),o.addDestroyFunc(()=>{this.refreshFunctions={},this.selectAllFeature=null,this.dragSourceElement=void 0,this.userCompDetails=null,this.userHeaderClasses.clear(),this.ariaDescriptionProperties.clear(),this.clearComponent()})}resizeHeader(e,t){if(!this.column.isResizable())return;const i=this.column.getActualWidth(),s=this.column.getMinWidth(),o=this.column.getMaxWidth(),n=Math.min(Math.max(i+e,s),o);this.beans.columnSizeService.setColumnWidths([{key:this.column,newWidth:n}],t,!0,"uiColumnResized")}moveHeader(e){const{eGui:t,beans:i,column:s,ctrlsService:o}=this,{gos:n,columnModel:r,columnMoveService:l,visibleColsService:a}=i,h=this.getPinned(),d=t.getBoundingClientRect().left,c=s.getActualWidth(),u=Yi({x:e===0!==n.get("enableRtl")?d-20:d+c+20,pinned:h,fromKeyboard:!0,gos:n,ctrlsService:o}),g=this.focusService.getFocusedHeader();uo({allMovingColumns:[s],isFromHeader:!0,fromLeft:e===1,xPosition:u,pinned:h,fromEnter:!1,fakeEvent:!1,gos:n,columnModel:r,columnMoveService:l,visibleColsService:a,finished:!0}),o.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(s,"auto"),this.isAlive()&&!this.beans.gos.get("ensureDomOrder")||!g||this.restoreFocus(g)}restoreFocus(e){this.focusService.focusHeaderPosition({headerPosition:{...e,column:this.column}})}setupUserComp(e){const t=this.lookupUserCompDetails(e);this.setCompDetails(t)}setCompDetails(e){this.userCompDetails=e,this.comp.setUserCompDetails(e)}lookupUserCompDetails(e){const t=this.createParams(e),i=this.column.getColDef();return this.userComponentFactory.getHeaderCompDetails(i,t)}createParams(e){return this.gos.addGridCommonParams({column:this.column,displayName:this.displayName,enableSorting:this.column.isSortable(),enableMenu:this.menuEnabled,enableFilterButton:this.openFilterEnabled&&this.menuService.isHeaderFilterButtonEnabled(this.column),enableFilterIcon:!this.openFilterEnabled||this.menuService.isLegacyMenuEnabled(),showColumnMenu:t=>{this.menuService.showColumnMenu({column:this.column,buttonElement:t,positionBy:"button"})},showColumnMenuAfterMouseClick:t=>{this.menuService.showColumnMenu({column:this.column,mouseEvent:t,positionBy:"mouse"})},showFilter:t=>{this.menuService.showFilterMenu({column:this.column,buttonElement:t,containerType:"columnFilter",positionBy:"button"})},progressSort:t=>{this.beans.sortController.progressSort(this.column,!!t,"uiColumnSorted")},setSort:(t,i)=>{this.beans.sortController.setSortForColumn(this.column,t,!!i,"uiColumnSorted")},eGridHeader:this.getGui(),setTooltip:(t,i)=>{this.setupTooltip(e,t,i)}})}setupSelectAll(e){this.selectAllFeature=e.createManagedBean(new rh(this.column)),this.selectAllFeature.setComp(this)}getSelectAllGui(){return this.selectAllFeature.getCheckboxGui()}handleKeyDown(e){super.handleKeyDown(e),e.key===y.SPACE&&this.selectAllFeature.onSpaceKeyDown(e),e.key===y.ENTER&&this.onEnterKeyDown(e),e.key===y.DOWN&&e.altKey&&this.showMenuOnKeyPress(e,!1)}onEnterKeyDown(e){if(e.ctrlKey||e.metaKey)this.showMenuOnKeyPress(e,!0);else if(this.sortable){const t=e.shiftKey;this.beans.sortController.progressSort(this.column,t,"uiColumnSorted")}}showMenuOnKeyPress(e,t){const i=this.comp.getUserCompInstance();i&&i instanceof js&&i.onMenuKeyboardShortcut(t)&&e.preventDefault()}onFocusIn(e){if(!this.getGui().contains(e.relatedTarget)){const t=this.getRowIndex();this.focusService.setFocusedHeader(t,this.column),this.announceAriaDescription()}this.focusService.isKeyboardMode()&&this.setActiveHeader(!0)}onFocusOut(e){this.getGui().contains(e.relatedTarget)||this.setActiveHeader(!1)}setupTooltip(e,t,i){this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature));const s=this.gos.get("tooltipShowMode")==="whenTruncated",o=this.eGui,n=this.column.getColDef();i||!s||n.headerComponent||(i=()=>{const a=o.querySelector(".ag-header-cell-text");return!a||a.scrollWidth>a.clientWidth});const r={getColumn:()=>this.column,getColDef:()=>this.column.getColDef(),getGui:()=>o,getLocation:()=>"header",getTooltipValue:()=>t??this.column.getColDef().headerTooltip,shouldDisplayTooltip:i},l=e.createManagedBean(new Kt(r));this.setRefreshFunction("tooltip",()=>l.refreshToolTip())}setupClassesFromColDef(){const e=()=>{const t=ir(this.column.getColDef(),this.gos,this.column,null),i=this.userHeaderClasses;this.userHeaderClasses=new Set(t),t.forEach(s=>{i.has(s)?i.delete(s):this.comp.addOrRemoveCssClass(s,!0)}),i.forEach(s=>this.comp.addOrRemoveCssClass(s,!1))};this.setRefreshFunction("headerClasses",e),e()}setDragSource(e){if(this.dragSourceElement=e,this.removeDragSource(),!e||!this.draggable)return;const{column:t,beans:i,displayName:s,dragAndDropService:o,gos:n}=this,{columnModel:r}=i;let l=!this.gos.get("suppressDragLeaveHidesColumns");const a=this.dragSource={type:1,eElement:e,getDefaultIconName:()=>l?"hide":"notAllowed",getDragItem:()=>this.createDragItem(t),dragItemName:s,onDragStarted:()=>{l=!n.get("suppressDragLeaveHidesColumns"),_t([t],!0)},onDragStopped:()=>_t([t],!1),onDragCancelled:()=>_t([t],!1),onGridEnter:h=>{var d;if(l){const c=((d=h==null?void 0:h.columns)==null?void 0:d.filter(u=>!u.getColDef().lockVisible))||[];r.setColsVisible(c,!0,"uiColumnMoved")}},onGridExit:h=>{var d;if(l){const c=((d=h==null?void 0:h.columns)==null?void 0:d.filter(u=>!u.getColDef().lockVisible))||[];r.setColsVisible(c,!1,"uiColumnMoved")}}};o.addDragSource(a,!0)}createDragItem(e){const t={};return t[e.getId()]=e.isVisible(),{columns:[e],visibleState:t}}updateState(){this.menuEnabled=this.menuService.isColumnMenuInHeaderEnabled(this.column),this.openFilterEnabled=this.menuService.isFilterMenuInHeaderEnabled(this.column),this.sortable=this.column.isSortable(),this.displayName=this.calculateDisplayName(),this.draggable=this.workOutDraggable()}setRefreshFunction(e,t){this.refreshFunctions[e]=t}refresh(e){this.updateState(),this.refreshHeaderComp(e),this.refreshAria(),Object.values(this.refreshFunctions).forEach(t=>t())}refreshHeaderComp(e){const t=this.lookupUserCompDetails(e);this.comp.getUserCompInstance()!=null&&this.userCompDetails.componentClass==t.componentClass&&this.attemptHeaderCompRefresh(t.params)?this.setDragSource(this.dragSourceElement):this.setCompDetails(t)}attemptHeaderCompRefresh(e){const t=this.comp.getUserCompInstance();return!t||!t.refresh?!1:t.refresh(e)}calculateDisplayName(){return this.beans.columnNameService.getDisplayNameForColumn(this.column,"header",!0)}checkDisplayName(e){this.displayName!==this.calculateDisplayName()&&this.refresh(e)}workOutDraggable(){const e=this.column.getColDef();return!this.gos.get("suppressMovableColumns")&&!e.suppressMovable&&!e.lockPosition||!!e.enableRowGroup||!!e.enablePivot}setupWidth(e){const t=()=>{const i=this.column.getActualWidth();this.comp.setWidth(`${i}px`)};e.addManagedListeners(this.column,{widthChanged:t}),t()}setupMovingCss(e){const t=()=>{this.comp.addOrRemoveCssClass("ag-header-cell-moving",this.column.isMoving())};e.addManagedListeners(this.column,{movingChanged:t}),t()}setupMenuClass(e){const t=()=>{this.comp.addOrRemoveCssClass("ag-column-menu-visible",this.column.isMenuVisible())};e.addManagedListeners(this.column,{menuVisibleChanged:t}),t()}setupSortableClass(e){const t=()=>{this.comp.addOrRemoveCssClass("ag-header-cell-sortable",!!this.sortable)};t(),this.setRefreshFunction("updateSortable",t),e.addManagedEventListeners({sortChanged:this.refreshAriaSort.bind(this)})}setupFilterClass(e){const t=()=>{const i=this.column.isFilterActive();this.comp.addOrRemoveCssClass("ag-header-cell-filtered",i),this.refreshAria()};e.addManagedListeners(this.column,{filterActiveChanged:t}),t()}setupWrapTextClass(){const e=()=>{const t=!!this.column.getColDef().wrapHeaderText;this.comp.addOrRemoveCssClass("ag-header-cell-wrap-text",t)};e(),this.setRefreshFunction("wrapText",e)}onHeaderHighlightChanged(){const e=this.column.getHighlighted(),t=e===0,i=e===1;this.comp.addOrRemoveCssClass("ag-header-highlight-before",t),this.comp.addOrRemoveCssClass("ag-header-highlight-after",i)}onDisplayedColumnsChanged(){super.onDisplayedColumnsChanged(),this.isAlive()&&this.onHeaderHeightChanged()}onHeaderHeightChanged(){this.refreshSpanHeaderHeight()}refreshSpanHeaderHeight(){const{eGui:e,column:t,comp:i,beans:s}=this,o=this.beans.columnModel.getGroupRowsHeight(),n=o.reduce((c,u)=>c+u,0)===0;if(i.addOrRemoveCssClass("ag-header-parent-hidden",n),!t.isSpanHeaderHeight())return e.style.removeProperty("top"),e.style.removeProperty("height"),i.addOrRemoveCssClass("ag-header-span-height",!1),void i.addOrRemoveCssClass("ag-header-span-total",!1);const{numberOfParents:r,isSpanningTotal:l}=this.column.getColumnGroupPaddingInfo();i.addOrRemoveCssClass("ag-header-span-height",r>0);const{columnModel:a}=s,h=a.getColumnHeaderRowHeight();if(r===0)return i.addOrRemoveCssClass("ag-header-span-total",!1),e.style.setProperty("top","0px"),void e.style.setProperty("height",`${h}px`);i.addOrRemoveCssClass("ag-header-span-total",l);let d=0;for(let c=0;c<r;c++)d+=o[o.length-1-c];e.style.setProperty("top",-d+"px"),e.style.setProperty("height",`${h+d}px`)}refreshAriaSort(){if(this.sortable){const e=this.localeService.getLocaleTextFunc(),t=this.beans.sortController.getDisplaySortForColumn(this.column)||null;this.comp.setAriaSort(function(i){let s;return s=i==="asc"?"ascending":i==="desc"?"descending":i==="mixed"?"other":"none",s}(t)),this.setAriaDescriptionProperty("sort",e("ariaSortableColumn","Press ENTER to sort"))}else this.comp.setAriaSort(),this.setAriaDescriptionProperty("sort",null)}refreshAriaMenu(){if(this.menuEnabled){const e=this.localeService.getLocaleTextFunc();this.setAriaDescriptionProperty("menu",e("ariaMenuColumn","Press ALT DOWN to open column menu"))}else this.setAriaDescriptionProperty("menu",null)}refreshAriaFilterButton(){if(this.openFilterEnabled&&!this.menuService.isLegacyMenuEnabled()){const e=this.localeService.getLocaleTextFunc();this.setAriaDescriptionProperty("filterButton",e("ariaFilterColumn","Press CTRL ENTER to open filter"))}else this.setAriaDescriptionProperty("filterButton",null)}refreshAriaFiltered(){const e=this.localeService.getLocaleTextFunc();this.column.isFilterActive()?this.setAriaDescriptionProperty("filter",e("ariaColumnFiltered","Column Filtered")):this.setAriaDescriptionProperty("filter",null)}setAriaDescriptionProperty(e,t){t!=null?this.ariaDescriptionProperties.set(e,t):this.ariaDescriptionProperties.delete(e)}announceAriaDescription(){if(!this.eGui.contains(re(this.beans.gos)))return;const e=Array.from(this.ariaDescriptionProperties.keys()).sort((t,i)=>t==="filter"?-1:i.charCodeAt(0)-t.charCodeAt(0)).map(t=>this.ariaDescriptionProperties.get(t)).join(". ");this.beans.ariaAnnouncementService.announceValue(e,"columnHeader")}refreshAria(){this.refreshAriaSort(),this.refreshAriaMenu(),this.refreshAriaFilterButton(),this.refreshAriaFiltered()}addColumnHoverListener(e){const t=()=>{if(!this.gos.get("columnHoverHighlight"))return;const i=this.beans.columnHoverService.isHovered(this.column);this.comp.addOrRemoveCssClass("ag-column-hover",i)};e.addManagedEventListeners({columnHoverChanged:t}),t()}getColId(){return this.column.getColId()}addActiveHeaderMouseListeners(e){const t=i=>this.handleMouseOverChange(i.type==="mouseenter");e.addManagedListeners(this.getGui(),{mouseenter:t,mouseleave:t,click:()=>this.dispatchColumnMouseEvent("columnHeaderClicked",this.column),contextmenu:i=>this.handleContextMenuMouseEvent(i,void 0,this.column)})}handleMouseOverChange(e){this.setActiveHeader(e),this.eventService.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column})}setActiveHeader(e){this.comp.addOrRemoveCssClass("ag-header-active",e)}getAnchorElementForMenu(e){const t=this.comp.getUserCompInstance();return t instanceof js?t.getAnchorElementForMenu(e):this.getGui()}destroy(){super.destroy()}},ah=class extends b{wireBeans(e){this.horizontalResizeService=e.horizontalResizeService,this.autoWidthCalculator=e.autoWidthCalculator,this.visibleColsService=e.visibleColsService,this.columnSizeService=e.columnSizeService,this.columnAutosizeService=e.columnAutosizeService}constructor(e,t,i,s){super(),this.eResize=t,this.comp=e,this.pinned=i,this.columnGroup=s}postConstruct(){if(!this.columnGroup.isResizable())return void this.comp.setResizableDisplayed(!1);const e=this.horizontalResizeService.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(this.addDestroyFunc(e),!this.gos.get("suppressAutoSize")){const t=this.gos.get("skipHeaderOnAutoSize");this.eResize.addEventListener("dblclick",()=>{const i=[];this.columnGroup.getDisplayedLeafColumns().forEach(s=>{s.getColDef().suppressAutoSize||i.push(s.getColId())}),i.length>0&&this.columnAutosizeService.autoSizeCols({colKeys:i,skipHeader:t,stopAtGroup:this.columnGroup,source:"uiColumnResized"}),this.resizeLeafColumnsToFit("uiColumnResized")})}}onResizeStart(e){const t=this.getInitialValues(e);this.storeLocalValues(t),this.toggleColumnResizing(!0)}onResizing(e,t,i="uiColumnResized"){const s=this.normaliseDragChange(t),o=this.resizeStartWidth+s;this.resizeColumnsFromLocalValues(o,i,e)}getInitialValues(e){const t=this.getColumnsToResize(),i=this.getInitialSizeOfColumns(t),s={columnsToResize:t,resizeStartWidth:i,resizeRatios:this.getSizeRatiosOfColumns(t,i)};let o=null;if(e&&(o=this.visibleColsService.getGroupAtDirection(this.columnGroup,"After")),o){const n=o.getDisplayedLeafColumns(),r=s.groupAfterColumns=n.filter(a=>a.isResizable()),l=s.groupAfterStartWidth=this.getInitialSizeOfColumns(r);s.groupAfterRatios=this.getSizeRatiosOfColumns(r,l)}else s.groupAfterColumns=void 0,s.groupAfterStartWidth=void 0,s.groupAfterRatios=void 0;return s}storeLocalValues(e){const{columnsToResize:t,resizeStartWidth:i,resizeRatios:s,groupAfterColumns:o,groupAfterStartWidth:n,groupAfterRatios:r}=e;this.resizeCols=t,this.resizeStartWidth=i,this.resizeRatios=s,this.resizeTakeFromCols=o,this.resizeTakeFromStartWidth=n,this.resizeTakeFromRatios=r}clearLocalValues(){this.resizeCols=void 0,this.resizeRatios=void 0,this.resizeTakeFromCols=void 0,this.resizeTakeFromRatios=void 0}resizeLeafColumnsToFit(e){const t=this.autoWidthCalculator.getPreferredWidthForColumnGroup(this.columnGroup),i=this.getInitialValues();t>i.resizeStartWidth&&this.resizeColumns(i,t,e,!0)}resizeColumnsFromLocalValues(e,t,i=!0){if(!this.resizeCols||!this.resizeRatios)return;const s={columnsToResize:this.resizeCols,resizeStartWidth:this.resizeStartWidth,resizeRatios:this.resizeRatios,groupAfterColumns:this.resizeTakeFromCols??void 0,groupAfterStartWidth:this.resizeTakeFromStartWidth??void 0,groupAfterRatios:this.resizeTakeFromRatios??void 0};this.resizeColumns(s,e,t,i)}resizeColumns(e,t,i,s=!0){const{columnsToResize:o,resizeStartWidth:n,resizeRatios:r,groupAfterColumns:l,groupAfterStartWidth:a,groupAfterRatios:h}=e,d=[];if(d.push({columns:o,ratios:r,width:t}),l){const c=t-n;d.push({columns:l,ratios:h,width:a-c})}this.columnSizeService.resizeColumnSets({resizeSets:d,finished:s,source:i}),s&&this.toggleColumnResizing(!1)}toggleColumnResizing(e){this.comp.addOrRemoveCssClass("ag-column-resizing",e)}getColumnsToResize(){return this.columnGroup.getDisplayedLeafColumns().filter(e=>e.isResizable())}getInitialSizeOfColumns(e){return e.reduce((t,i)=>t+i.getActualWidth(),0)}getSizeRatiosOfColumns(e,t){return e.map(i=>i.getActualWidth()/t)}normaliseDragChange(e){let t=e;return this.gos.get("enableRtl")?this.pinned!=="left"&&(t*=-1):this.pinned==="right"&&(t*=-1),t}destroy(){super.destroy(),this.clearLocalValues()}},hh=class extends b{constructor(e,t){super(),this.removeChildListenersFuncs=[],this.columnGroup=t,this.comp=e}postConstruct(){this.addListenersToChildrenColumns(),this.addManagedListeners(this.columnGroup,{displayedChildrenChanged:this.onDisplayedChildrenChanged.bind(this)}),this.onWidthChanged(),this.addDestroyFunc(this.removeListenersOnChildrenColumns.bind(this))}addListenersToChildrenColumns(){this.removeListenersOnChildrenColumns();const e=this.onWidthChanged.bind(this);this.columnGroup.getLeafColumns().forEach(t=>{t.addEventListener("widthChanged",e),t.addEventListener("visibleChanged",e),this.removeChildListenersFuncs.push(()=>{t.removeEventListener("widthChanged",e),t.removeEventListener("visibleChanged",e)})})}removeListenersOnChildrenColumns(){this.removeChildListenersFuncs.forEach(e=>e()),this.removeChildListenersFuncs=[]}onDisplayedChildrenChanged(){this.addListenersToChildrenColumns(),this.onWidthChanged()}onWidthChanged(){const e=this.columnGroup.getActualWidth();this.comp.setWidth(`${e}px`),this.comp.addOrRemoveCssClass("ag-hidden",e===0)}},dh=class extends Qi{constructor(e,t,i){super(e,t,i),this.onSuppressColMoveChange=()=>{if(!this.isAlive()||this.isSuppressMoving())this.removeDragSource();else if(!this.dragSource){const s=this.getGui();this.setDragSource(s)}},this.column=e}setComp(e,t,i,s,o){this.comp=e,o=hi(this,this.beans.context,o),this.setGui(t,o),this.displayName=this.beans.columnNameService.getDisplayNameForColumnGroup(this.column,"header"),this.addClasses(),this.setupMovingCss(o),this.setupExpandable(o),this.setupTooltip(o),this.setupAutoHeight({wrapperElement:s,compBean:o}),this.setupUserComp(o),this.addHeaderMouseListeners(o),this.addManagedPropertyListener("groupHeaderHeight",this.refreshMaxHeaderHeight.bind(this)),this.refreshMaxHeaderHeight();const n=this.getParentRowCtrl().getPinned(),r=this.column.getProvidedColumnGroup().getLeafColumns();o.createManagedBean(new ro(r,t)),o.createManagedBean(new no(this.column,t,this.beans)),o.createManagedBean(new hh(e,this.column)),this.resizeFeature=o.createManagedBean(new ah(e,i,n,this.column)),o.createManagedBean(new Et(t,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:()=>{},handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)})),this.addHighlightListeners(o,r),o.addManagedPropertyListener("suppressMovableColumns",this.onSuppressColMoveChange),this.addResizeAndMoveKeyboardListeners(o),o.addDestroyFunc(()=>this.clearComponent())}refreshMaxHeaderHeight(){const{gos:e,comp:t}=this,i=e.get("groupHeaderHeight");i!=null?i===0?t.setHeaderWrapperHidden(!0):t.setHeaderWrapperMaxHeight(i):(t.setHeaderWrapperHidden(!1),t.setHeaderWrapperMaxHeight(null))}addHighlightListeners(e,t){if(this.beans.gos.get("suppressMoveWhenColumnDragging"))for(const i of t)e.addManagedListeners(i,{headerHighlightChanged:this.onLeafColumnHighlightChanged.bind(this,i)})}onLeafColumnHighlightChanged(e){const t=this.column.getDisplayedLeafColumns(),i=t[0]===e,s=$(t)===e;if(!i&&!s)return;const o=e.getHighlighted();let n=!1,r=!1;if(this.getParentRowCtrl().findHeaderCellCtrl(l=>l.getColumnGroupChild().isMoving())){const l=this.beans.gos.get("enableRtl"),a=o===1,h=o===0;i&&(l?r=a:n=h),s&&(l?n=h:r=a)}this.comp.addOrRemoveCssClass("ag-header-highlight-before",n),this.comp.addOrRemoveCssClass("ag-header-highlight-after",r)}getColumn(){return this.column}resizeHeader(e,t){if(!this.resizeFeature)return;const i=this.resizeFeature.getInitialValues(t);this.resizeFeature.resizeColumns(i,i.resizeStartWidth+e,"uiColumnResized",!0)}moveHeader(e){const{beans:t,eGui:i,column:s,ctrlsService:o}=this,{gos:n,columnModel:r,columnMoveService:l,visibleColsService:a}=t,h=n.get("enableRtl"),d=e===0,c=this.getPinned(),u=i.getBoundingClientRect(),g=u.left,m=u.width,f=Yi({x:d!==h?g-20:g+m+20,pinned:c,fromKeyboard:!0,gos:n,ctrlsService:o}),C=s.getGroupId(),v=this.focusService.getFocusedHeader();uo({allMovingColumns:this.column.getLeafColumns(),isFromHeader:!0,fromLeft:e===1,xPosition:f,pinned:c,fromEnter:!1,fakeEvent:!1,gos:n,columnModel:r,columnMoveService:l,visibleColsService:a,finished:!0});const w=s.getDisplayedLeafColumns(),P=d?w[0]:$(w);this.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(P,"auto"),this.isAlive()&&!this.beans.gos.get("ensureDomOrder")||!v||this.restoreFocus(C,s,v)}restoreFocus(e,t,i){const s=t.getLeafColumns();if(!s.length)return;const o=s[0].getParent();if(!o)return;const n=this.findGroupWidthId(o,e);n&&this.focusService.focusHeaderPosition({headerPosition:{...i,column:n}})}findGroupWidthId(e,t){for(;e;){if(e.getGroupId()===t)return e;e=e.getParent()}return null}resizeLeafColumnsToFit(e){this.resizeFeature&&this.resizeFeature.resizeLeafColumnsToFit(e)}setupUserComp(e){const t=this.gos.addGridCommonParams({displayName:this.displayName,columnGroup:this.column,setExpanded:s=>{this.beans.columnModel.setColumnGroupOpened(this.column.getProvidedColumnGroup(),s,"gridInitializing")},setTooltip:(s,o)=>{this.setupTooltip(e,s,o)}}),i=this.userComponentFactory.getHeaderGroupCompDetails(t);this.comp.setUserCompDetails(i)}addHeaderMouseListeners(e){const t=i=>this.handleMouseOverChange(i.type==="mouseenter");e.addManagedListeners(this.getGui(),{mouseenter:t,mouseleave:t,click:()=>this.dispatchColumnMouseEvent("columnHeaderClicked",this.column.getProvidedColumnGroup()),contextmenu:i=>this.handleContextMenuMouseEvent(i,void 0,this.column.getProvidedColumnGroup())})}handleMouseOverChange(e){this.eventService.dispatchEvent({type:e?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column.getProvidedColumnGroup()})}setupTooltip(e,t,i){this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature));const s=this.column.getColGroupDef(),o=this.gos.get("tooltipShowMode")==="whenTruncated",n=this.eGui;i||!o||s!=null&&s.headerGroupComponent||(i=()=>{const l=n.querySelector(".ag-header-group-text");return!l||l.scrollWidth>l.clientWidth});const r={getColumn:()=>this.column,getGui:()=>n,getLocation:()=>"headerGroup",getTooltipValue:()=>t??(s&&s.headerTooltip),shouldDisplayTooltip:i};s&&(r.getColDef=()=>s),e.createManagedBean(new Kt(r))}setupExpandable(e){const t=this.column.getProvidedColumnGroup();this.refreshExpanded();const i=this.refreshExpanded.bind(this);e.addManagedListeners(t,{expandedChanged:i,expandableChanged:i})}refreshExpanded(){const{column:e}=this;this.expandable=e.isExpandable();const t=e.isExpanded();this.expandable?this.comp.setAriaExpanded(t?"true":"false"):this.comp.setAriaExpanded(void 0)}getColId(){return this.column.getUniqueId()}addClasses(){const e=this.column.getColGroupDef(),t=ir(e,this.gos,null,this.column);this.column.isPadding()?(t.push("ag-header-group-cell-no-group"),this.column.getLeafColumns().every(i=>i.isSpanHeaderHeight())&&t.push("ag-header-span-height")):(t.push("ag-header-group-cell-with-group"),e!=null&&e.wrapHeaderText&&t.push("ag-header-cell-wrap-text")),t.forEach(i=>this.comp.addOrRemoveCssClass(i,!0))}setupMovingCss(e){const t=this.column.getProvidedColumnGroup().getLeafColumns(),i=()=>this.comp.addOrRemoveCssClass("ag-header-cell-moving",this.column.isMoving());t.forEach(s=>{e.addManagedListeners(s,{movingChanged:i})}),i()}onFocusIn(e){if(!this.eGui.contains(e.relatedTarget)){const t=this.getRowIndex();this.beans.focusService.setFocusedHeader(t,this.column)}}handleKeyDown(e){super.handleKeyDown(e);const t=this.getWrapperHasFocus();if(this.expandable&&t&&e.key===y.ENTER){const i=this.column,s=!i.isExpanded();this.beans.columnModel.setColumnGroupOpened(i.getProvidedColumnGroup(),s,"uiColumnExpanded")}}setDragSource(e){if(!this.isAlive()||this.isSuppressMoving()||(this.removeDragSource(),!e))return;const{beans:t,column:i,displayName:s,gos:o,dragAndDropService:n}=this,{columnModel:r}=t,l=i.getProvidedColumnGroup().getLeafColumns();let a=!o.get("suppressDragLeaveHidesColumns");const h=this.dragSource={type:1,eElement:e,getDefaultIconName:()=>a?"hide":"notAllowed",dragItemName:s,getDragItem:()=>this.getDragItemForGroup(i),onDragStarted:()=>{a=!o.get("suppressDragLeaveHidesColumns"),_t(l,!0)},onDragStopped:()=>_t(l,!1),onDragCancelled:()=>_t(l,!1),onGridEnter:d=>{if(a){const{columns:c=[],visibleState:u}=d??{},g=c.filter(m=>!m.getColDef().lockVisible&&(!u||u[m.getColId()]));r.setColsVisible(g,!0,"uiColumnMoved")}},onGridExit:d=>{var c;if(a){const u=((c=d==null?void 0:d.columns)==null?void 0:c.filter(g=>!g.getColDef().lockVisible))||[];r.setColsVisible(u,!1,"uiColumnMoved")}}};n.addDragSource(h,!0)}getDragItemForGroup(e){const t=e.getProvidedColumnGroup().getLeafColumns(),i={};t.forEach(r=>i[r.getId()]=r.isVisible());const s=[];this.beans.visibleColsService.getAllCols().forEach(r=>{t.indexOf(r)>=0&&(s.push(r),ye(t,r))}),t.forEach(r=>s.push(r));const o=[],n=e.getLeafColumns();for(const r of s)n.indexOf(r)!==-1&&o.push(r);return{columns:s,columnsInSplit:o,visibleState:i}}isSuppressMoving(){let e=!1;return this.column.getLeafColumns().forEach(t=>{(t.getColDef().suppressMovable||t.getColDef().lockPosition)&&(e=!0)}),e||this.gos.get("suppressMovableColumns")}destroy(){super.destroy()}},ch=0,go=class extends b{constructor(e,t,i){super(),this.instanceId=ch++,this.rowIndex=e,this.pinned=t,this.type=i;const s=i=="group"?"ag-header-row-column-group":i=="filter"?"ag-header-row-column-filter":"ag-header-row-column";this.headerRowClass=`ag-header-row ${s}`}wireBeans(e){this.beans=e}postConstruct(){this.isPrintLayout=Ce(this.gos,"print"),this.isEnsureDomOrder=this.gos.get("ensureDomOrder")}areCellsRendered(){return!!this.comp&&this.getHeaderCellCtrls().every(e=>e.getGui()!=null)}setComp(e,t,i=!0){this.comp=e,t=hi(this,this.beans.context,t),i&&(this.onRowHeightChanged(),this.onVirtualColumnsChanged()),this.setWidth(),this.addEventListeners(t)}getHeaderRowClass(){return this.headerRowClass}getAriaRowIndex(){return this.rowIndex+1}addEventListeners(e){const t=this.onRowHeightChanged.bind(this);e.addManagedEventListeners({columnResized:this.onColumnResized.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),virtualColumnsChanged:i=>this.onVirtualColumnsChanged(i.afterScroll),columnGroupHeaderHeightChanged:t,columnHeaderHeightChanged:t,gridStylesChanged:t,advancedFilterEnabledChanged:t}),e.addManagedPropertyListener("domLayout",this.onDisplayedColumnsChanged.bind(this)),e.addManagedPropertyListener("ensureDomOrder",i=>this.isEnsureDomOrder=i.currentValue),e.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],t)}getHeaderCellCtrl(e){if(this.headerCellCtrls)return Mi(this.headerCellCtrls).find(t=>t.getColumnGroupChild()===e)}onDisplayedColumnsChanged(){this.isPrintLayout=Ce(this.gos,"print"),this.onVirtualColumnsChanged(),this.setWidth(),this.onRowHeightChanged()}getType(){return this.type}onColumnResized(){this.setWidth()}setWidth(){const e=this.getWidthForRow();this.comp.setWidth(`${e}px`)}getWidthForRow(){const{visibleColsService:e}=this.beans;return this.isPrintLayout?this.pinned!=null?0:e.getContainerWidth("right")+e.getContainerWidth("left")+e.getContainerWidth(null):e.getContainerWidth(this.pinned)}onRowHeightChanged(){const{topOffset:e,rowHeight:t}=this.getTopAndHeight();this.comp.setTop(e+"px"),this.comp.setHeight(t+"px")}getTopAndHeight(){const{columnModel:e,filterManager:t}=this.beans,i=[],s=e.getGroupRowsHeight(),o=e.getColumnHeaderRowHeight();i.push(...s),i.push(o),t!=null&&t.hasFloatingFilters()&&i.push(e.getFloatingFiltersHeight());let n=0;for(let r=0;r<this.rowIndex;r++)n+=i[r];return{topOffset:n,rowHeight:i[this.rowIndex]}}getPinned(){return this.pinned}getRowIndex(){return this.rowIndex}onVirtualColumnsChanged(e=!1){const t=this.getHeaderCtrls(),i=this.isEnsureDomOrder||this.isPrintLayout;this.comp.setHeaderCtrls(t,i,e)}getHeaderCtrls(){const e=this.headerCellCtrls;this.headerCellCtrls=new Map;const t=this.getColumnsInViewport();for(const s of t)this.recycleAndCreateHeaderCtrls(s,e);const i=s=>{const{focusService:o,visibleColsService:n}=this.beans;return o.isHeaderWrapperFocused(s)?n.isVisible(s.getColumnGroupChild()):!1};if(e)for(const[s,o]of e)i(o)?this.headerCellCtrls.set(s,o):this.destroyBean(o);return this.getHeaderCellCtrls()}getHeaderCellCtrls(){var e;return Array.from(((e=this.headerCellCtrls)==null?void 0:e.values())??[])}recycleAndCreateHeaderCtrls(e,t){if(!this.headerCellCtrls||e.isEmptyGroup())return;const i=e.getUniqueId();let s;if(t&&(s=t.get(i),t.delete(i)),s&&s.getColumnGroupChild()!=e&&(this.destroyBean(s),s=void 0),s==null)switch(this.type){case"filter":s=this.createBean(this.beans.ctrlsFactory.getInstance("headerFilterCell",e,this.beans,this));break;case"group":s=this.createBean(new dh(e,this.beans,this));break;default:s=this.createBean(new lh(e,this.beans,this))}this.headerCellCtrls.set(i,s)}getColumnsInViewport(){return this.isPrintLayout?this.getColumnsInViewportPrintLayout():this.getColumnsInViewportNormalLayout()}getColumnsInViewportPrintLayout(){if(this.pinned!=null)return[];let e=[];const t=this.getActualDepth(),{columnViewportService:i}=this.beans;return["left",null,"right"].forEach(s=>{const o=i.getHeadersToRender(s,t);e=e.concat(o)}),e}getActualDepth(){return this.type=="filter"?this.rowIndex-1:this.rowIndex}getColumnsInViewportNormalLayout(){return this.beans.columnViewportService.getHeadersToRender(this.pinned,this.getActualDepth())}findHeaderCellCtrl(e){if(!this.headerCellCtrls)return;const t=this.getHeaderCellCtrls();let i;return i=typeof e=="function"?t.find(e):t.find(s=>s.getColumnGroupChild()==e),i}focusHeader(e,t){const i=this.findHeaderCellCtrl(e);return i?i.focus(t):!1}destroy(){var e;(e=this.headerCellCtrls)==null||e.forEach(t=>{this.destroyBean(t)}),this.headerCellCtrls=void 0,super.destroy()}},uh=class extends b{constructor(e){super(),this.hidden=!1,this.includeFloatingFilter=!1,this.groupsRowCtrls=[],this.pinned=e}wireBeans(e){this.ctrlsService=e.ctrlsService,this.scrollVisibleService=e.scrollVisibleService,this.pinnedWidthService=e.pinnedWidthService,this.columnModel=e.columnModel,this.focusService=e.focusService,this.filterManager=e.filterManager}setComp(e,t){this.comp=e,this.eViewport=t,this.setupCenterWidth(),this.setupPinnedWidth(),this.setupDragAndDrop(this.eViewport);const i=this.onDisplayedColumnsChanged.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),displayedColumnsChanged:i,advancedFilterEnabledChanged:i});const s=`${typeof this.pinned=="string"?this.pinned:"center"}Header`;this.ctrlsService.register(s,this),this.columnModel.isReady()&&this.refresh()}getAllCtrls(){const e=[...this.groupsRowCtrls];return this.columnsRowCtrl&&e.push(this.columnsRowCtrl),this.filtersRowCtrl&&e.push(this.filtersRowCtrl),e}refresh(e=!1){const t=new Ut,i=this.focusService.getFocusHeaderToUseAfterRefresh();(()=>{const o=this.columnModel.getHeaderRowCount()-1;this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls);for(let n=0;n<o;n++){const r=this.createBean(new go(t.next(),this.pinned,"group"));this.groupsRowCtrls.push(r)}})(),(()=>{const o=t.next(),n=!(this.hidden||this.columnsRowCtrl!=null&&e&&this.columnsRowCtrl.getRowIndex()===o);(n||this.hidden)&&(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl)),n&&(this.columnsRowCtrl=this.createBean(new go(o,this.pinned,"column")))})(),(()=>{var r;this.includeFloatingFilter=!!((r=this.filterManager)!=null&&r.hasFloatingFilters())&&!this.hidden;const o=()=>{this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)};if(!this.includeFloatingFilter)return void o();const n=t.next();if(this.filtersRowCtrl){const l=this.filtersRowCtrl.getRowIndex()!==n;e&&!l||o()}this.filtersRowCtrl||(this.filtersRowCtrl=this.createBean(new go(n,this.pinned,"filter")))})();const s=this.getAllCtrls();this.comp.setCtrls(s),this.restoreFocusOnHeader(i)}getHeaderCtrlForColumn(e){var t;if(dt(e))return(t=this.columnsRowCtrl)==null?void 0:t.getHeaderCellCtrl(e);if(this.groupsRowCtrls.length!==0)for(let i=0;i<this.groupsRowCtrls.length;i++){const s=this.groupsRowCtrls[i].getHeaderCellCtrl(e);if(s)return s}}getHtmlElementForColumnHeader(e){const t=this.getHeaderCtrlForColumn(e);return t?t.getGui():null}getRowType(e){const t=this.getAllCtrls()[e];return t?t.getType():void 0}focusHeader(e,t,i){const s=this.getAllCtrls()[e];return!!s&&s.focusHeader(t,i)}getViewportElement(){return this.eViewport}getGroupRowCount(){return this.groupsRowCtrls.length}getGroupRowCtrlAtIndex(e){return this.groupsRowCtrls[e]}getRowCount(){return this.groupsRowCtrls.length+(this.columnsRowCtrl?1:0)+(this.filtersRowCtrl?1:0)}setHorizontalScroll(e){this.comp.setViewportScrollLeft(e)}onScrollCallback(e){this.addManagedElementListeners(this.getViewportElement(),{scroll:e})}destroy(){this.filtersRowCtrl&&(this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)),this.columnsRowCtrl&&(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl)),this.groupsRowCtrls&&this.groupsRowCtrls.length&&(this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls)),super.destroy()}setupDragAndDrop(e){const t=new oh(this.pinned,e);this.createManagedBean(t)}restoreFocusOnHeader(e){if(!e)return;const{column:t}=e;t.getPinned()==this.pinned&&this.focusService.focusHeaderPosition({headerPosition:e})}onGridColumnsChanged(){this.refresh(!0)}onDisplayedColumnsChanged(){var t;const e=((t=this.filterManager)==null?void 0:t.hasFloatingFilters())&&!this.hidden;this.includeFloatingFilter!==e&&this.refresh(!0)}setupCenterWidth(){this.pinned==null&&this.createManagedBean(new co(e=>this.comp.setCenterWidth(`${e}px`),!0))}setupPinnedWidth(){if(this.pinned==null)return;const e=this.pinned==="left",t=this.pinned==="right";this.hidden=!0;const i=()=>{const s=e?this.pinnedWidthService.getPinnedLeftWidth():this.pinnedWidthService.getPinnedRightWidth();if(s==null)return;const o=s==0,n=this.hidden!==o,r=this.gos.get("enableRtl"),l=this.scrollVisibleService.getScrollbarWidth(),a=this.scrollVisibleService.isVerticalScrollShowing()&&(r&&e||!r&&t)?s+l:s;this.comp.setPinnedContainerWidth(`${a}px`),this.comp.setDisplayed(!o),n&&(this.hidden=o,this.refresh())};this.addManagedEventListeners({leftPinnedWidthChanged:i,rightPinnedWidthChanged:i,scrollVisibilityChanged:i,scrollbarWidthChanged:i})}},po=class extends b{constructor(e){super(),this.view=e}postConstruct(){this.addManagedPropertyListener("domLayout",this.updateLayoutClasses.bind(this)),this.updateLayoutClasses()}updateLayoutClasses(){const e=this.getDomLayout(),t={autoHeight:e==="autoHeight",normal:e==="normal",print:e==="print"},i=t.autoHeight?"ag-layout-auto-height":t.print?"ag-layout-print":"ag-layout-normal";this.view.updateLayoutClasses(i,t)}getDomLayout(){const e=this.gos.get("domLayout")??"normal";return["normal","print","autoHeight"].indexOf(e)===-1?(R(`${e} is not valid for DOM Layout, valid values are 'normal', 'autoHeight', 'print'.`),"normal"):e}},gh=class extends ee{constructor(){super(`
87
87
  <div class="ag-overlay" role="presentation">
88
88
  <div class="ag-overlay-panel" role="presentation">
89
89
  <div class="ag-overlay-wrapper" data-ref="eOverlayWrapper" role="presentation"></div>
@@ -139,4 +139,4 @@ To run logic when the grid is about to be destroyed use the gridPreDestroy event
139
139
  If you want to hide the page size selector, set paginationPageSizeSelector to false.`}},rowSelection:{validate:({rowSelection:t})=>t&&typeof t=="string"?'As of version 32.2.1, using `rowSelection` with the values "single" or "multiple" has been deprecated. Use the object value instead.':t&&typeof t!="object"?"Expected `RowSelectionOptions` object for the `rowSelection` property.":null},cellSelection:{module:"@ag-grid-enterprise/range-selection"},columnDefs:()=>Qt,defaultColDef:()=>Qt,defaultColGroupDef:()=>Qt,autoGroupColumnDef:()=>Qt,selectionColumnDef:()=>Qt}})}validateApiFunction(e,t){return function(i,s,o){const n=Yd[i];if(n){const{version:l,new:a,old:h,message:d}=n,c=h??i;return(...u)=>(R(`Since ${l} api.${c} is deprecated. ${a?`Please use ${a} instead. `:""}${d??""}`),s.apply(s,u))}const r=Qd[i];return r?(...l)=>{const a=o.rowModel.getType();if(r.includes(a))return s.apply(s,l);Q(`api.${i} can only be called when gridOptions.rowModelType is ${r.join(" or ")}`)}:s}(e,t,this.beans)}processOptions(e,t){const{validations:i,deprecations:s,allProperties:o,propertyExceptions:n,objectName:r,docsUrl:l}=t;o&&this.gridOptions.suppressPropertyNamesCheck!==!0&&this.checkProperties(e,[...n??[],...Object.keys(s)],o,r,l);const a=new Set;Object.keys(e).forEach(h=>{const d=s[h];if(d)if("renamed"in d){const{renamed:w,version:P}=d;a.add(`As of v${P}, ${String(h)} is deprecated. Please use ${String(w)} instead.`),e[w]=e[h]}else{const{message:w,version:P}=d;a.add(`As of v${P}, ${String(h)} is deprecated. ${w??""}`)}const c=e[h];if(c==null||c===!1)return;const u=i[h];let g;if(!u)return;if(typeof u=="function"){const w=u(e,this.gridOptions);if(!w)return;if("objectName"in w){const P=e[h];return Array.isArray(P)?void P.forEach(S=>{this.processOptions(S,w)}):void this.processOptions(e[h],w)}g=w}else g=u;const{module:m,dependencies:f,validate:C,supportedRowModels:v}=g;if(v){const w=this.gridOptions.rowModelType??"clientSide";if(!v.includes(w))return void a.add(`${String(h)} is not supported with the '${w}' row model.`)}if(m){const w=Array.isArray(m)?m:[m];let P=!0;if(w.forEach(S=>{this.gos.assertModuleRegistered(S,String(h))||(P=!1,a.add(`${String(h)} is only available when ${S} is loaded.`))}),!P)return}if(f){const w=this.checkForRequiredDependencies(h,f,e);if(w)return void a.add(w)}if(C){const w=C(e,this.gridOptions);if(w)return void a.add(w)}}),a.size>0&&a.forEach(h=>{R(h)})}checkForRequiredDependencies(e,t,i){const s=Object.entries(t).find(([r,l])=>{const a=i[r];return!l.includes(a)});if(!s)return null;const[o,n]=s;return n.length>1?`'${String(e)}' requires '${o}' to be one of [${n.join(", ")}].`:`'${String(e)}' requires '${o}' to be ${n[0]}.`}checkProperties(e,t,i,s,o){const n=function(r,l,a){const h={},d=r.filter(c=>!l.some(u=>u===c));return d.length>0&&d.forEach(c=>h[c]=Ln({inputValue:c,allSuggestions:a}).values),h}(Object.getOwnPropertyNames(e),["__ob__","__v_skip","__metadata__",...t,...i],i);if(Be(n,(r,l)=>{let a=`invalid ${s} property '${r}' did you mean any of these: ${l.slice(0,8).join(", ")}.`;i.includes("context")&&(a+=`
140
140
  If you are trying to annotate ${s} with application data, use the '${s}.context' property instead.`),R(a)}),Object.keys(n).length>0&&o){const r=this.getFrameworkOverrides().getDocLink(o);R(`to see all the valid ${s} properties please check: ${r}`)}}}]},id,Ja,$d,zd,Wd,qd,Ud]},Zd=class extends b{constructor(){super(...arguments),this.beanName="gridDestroyService",this.destroyCalled=!1}wireBeans(e){this.beans=e}destroy(){var e,t;this.destroyCalled||(this.eventService.dispatchEvent({type:"gridPreDestroyed",state:((e=this.beans.stateService)==null?void 0:e.getState())??{}}),this.destroyCalled=!0,(t=this.beans.ctrlsService.get("gridCtrl"))==null||t.destroyGridUi(),this.beans.context.destroy(),super.destroy())}isDestroyCalled(){return this.destroyCalled}},os=new Set(["gridPreDestroyed","fillStart","pasteStart"]),ec=new Map([...li.BOOLEAN_PROPERTIES.map(e=>[e,ps]),...li.NUMBER_PROPERTIES.map(e=>[e,Xn]),["groupAggFiltering",e=>typeof e=="function"?e:ps(e)],["pageSize",Ye(1)],["autoSizePadding",Ye(0)],["keepDetailRowsCount",Ye(1)],["rowBuffer",Ye(0)],["infiniteInitialRowCount",Ye(1)],["cacheOverflowSize",Ye(1)],["cacheBlockSize",Ye(1)],["serverSideInitialRowCount",Ye(1)],["viewportRowModelPageSize",Ye(1)],["viewportRowModelBufferSize",Ye(0)]]);function Kr(e,t){const i=ec.get(e);return i?i(t):t}var $r=class pl extends b{constructor(){super(...arguments),this.beanName="gos",this.domDataKey="__AG_"+Math.random().toString(),this.propertyEventService=new Ot,this.globalEventHandlerFactory=t=>(i,s)=>{if(!this.isAlive())return;const o=os.has(i);if(o&&!t||!o&&t)return;const n=ai.getCallbackForEvent(i),r=this.gridOptions[n];typeof r=="function"&&this.frameworkOverrides.wrapOutgoing(()=>{r(s)})}}wireBeans(t){this.gridOptions=t.gridOptions,this.eGridDiv=t.eGridDiv,this.validationService=t.validationService,this.environment=t.environment,this.api=t.gridApi,this.gridId=t.context.getGridId()}get gridOptionsContext(){return this.gridOptions.context}postConstruct(){const t=!this.get("suppressAsyncEvents");this.eventService.addGlobalListener(this.globalEventHandlerFactory().bind(this),t),this.eventService.addGlobalListener(this.globalEventHandlerFactory(!0).bind(this),!1),this.propertyEventService.setFrameworkOverrides(this.frameworkOverrides),this.addManagedEventListeners({gridOptionsChanged:({options:i})=>{this.updateGridOptions({options:i,force:!0,source:"gridOptionsUpdated"})}})}get(t){return this.gridOptions[t]??Jd[t]}getCallback(t){return this.mergeGridCommonParams(this.gridOptions[t])}exists(t){return M(this.gridOptions[t])}mergeGridCommonParams(t){return t&&(i=>{const s=i;return s.api=this.api,s.context=this.gridOptionsContext,t(s)})}updateGridOptions({options:t,force:i,source:s="api"}){var r;const o={id:pl.changeSetId++,properties:[]},n=[];Object.entries(t).forEach(([l,a])=>{s==="api"&&$l[l]&&R(`${l} is an initial property and cannot be updated.`);const h=Kr(l,a),d=i||typeof h=="object"&&s==="api",c=this.gridOptions[l];if(d||c!==h){this.gridOptions[l]=h;const u={type:l,currentValue:h,previousValue:c,changeSet:o,source:s};n.push(u)}}),(r=this.validationService)==null||r.processGridOptions(this.gridOptions),o.properties=n.map(l=>l.type),n.forEach(l=>{this.gridOptions.debug&&He(`Updated property ${l.type} from`,l.previousValue," to ",l.currentValue),this.propertyEventService.dispatchEvent(l)})}addPropertyEventListener(t,i){this.propertyEventService.addEventListener(t,i)}removePropertyEventListener(t,i){this.propertyEventService.removeEventListener(t,i)}getDomDataKey(){return this.domDataKey}getGridCommonParams(){return{api:this.api,context:this.gridOptionsContext}}addGridCommonParams(t){const i=t;return i.api=this.api,i.context=this.gridOptionsContext,i}assertModuleRegistered(t,i){return Qe.__assertRegistered(t,i,this.gridId)}isModuleRegistered(t){return Qe.__isRegistered(t,this.gridId)}};$r.changeSetId=0;var tc=$r,ic=class extends b{constructor(){super(...arguments),this.beanName="headerPositionUtils"}wireBeans(e){this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService}findHeader(e,t){let i,s;if(de(e.column)?i=this.visibleColsService.getGroupAtDirection(e.column,t):(s=`getCol${t}`,i=this.visibleColsService[s](e.column)),!i)return;const{headerRowIndex:o}=e;if(this.getHeaderRowType(o)!=="filter"){const l=[i];for(;i.getParent();)i=i.getParent(),l.push(i);i=l[l.length-1-o]}const{column:n,headerRowIndex:r}=this.getHeaderIndexToFocus(i,o);return{column:n,headerRowIndex:r}}getHeaderIndexToFocus(e,t){let i;if(de(e)&&this.isAnyChildSpanningHeaderHeight(e)&&e.isPadding()){const s=e;i=s.getLeafColumns()[0];let o=i;for(;o!==s;)t++,o=o.getParent()}return{column:i||e,headerRowIndex:t}}isAnyChildSpanningHeaderHeight(e){return!!e&&e.getLeafColumns().some(t=>t.isSpanHeaderHeight())}getColumnVisibleParent(e,t){const i=this.getHeaderRowType(t),s=i==="column";let o=i==="filter"?e:e.getParent(),n=t-1,r=n;if(s&&this.isAnyChildSpanningHeaderHeight(e.getParent())){for(;o&&o.isPadding();)o=o.getParent(),n--;r=n,n<0&&(o=e,n=t,r=void 0)}return{column:o,headerRowIndex:n,headerRowIndexWithoutSpan:r}}getColumnVisibleChild(e,t,i="After"){let s=e,o=t+1;const n=o;if(this.getHeaderRowType(t)==="group"){const r=e.getDisplayedLeafColumns(),l=i==="After"?r[0]:$(r),a=[];let h=l;for(;h.getParent()!==e;)h=h.getParent(),a.push(h);if(s=l,l.isSpanHeaderHeight())for(let d=a.length-1;d>=0;d--){const c=a[d];if(!c.isPadding()){s=c;break}o++}else s=$(a),s||(s=l)}return{column:s,headerRowIndex:o,headerRowIndexWithoutSpan:n}}getHeaderRowType(e){const t=this.ctrlsService.getHeaderRowContainerCtrl();if(t)return t.getRowType(e)}findColAtEdgeForHeaderRow(e,t){const i=this.visibleColsService.getAllCols(),s=i[t==="start"?0:i.length-1];if(!s)return;const o=this.ctrlsService.getHeaderRowContainerCtrl(s.getPinned()),n=o==null?void 0:o.getRowType(e);return n=="group"?{headerRowIndex:e,column:this.visibleColsService.getColGroupAtLevel(s,e)}:{headerRowIndex:n==null?-1:e,column:s}}},sc=class extends b{constructor(){super(...arguments),this.beanName="localeService"}getLocaleTextFunc(){const e=this.gos.getCallback("getLocaleText");if(e)return(i,s,o)=>e({key:i,defaultValue:s,variableValues:o});const t=this.gos.get("localeText");return(i,s,o)=>{let n=t&&t[i];if(n&&o&&o.length){let r=0;for(;!(r>=o.length)&&n.indexOf("${variable}")!==-1;)n=n.replace("${variable}",o[r++])}return n??s}}},oc=class extends b{constructor(){super(...arguments),this.beanName="apiEventService",this.syncEventListeners=new Map,this.asyncEventListeners=new Map,this.syncGlobalEventListeners=new Set,this.globalEventListenerPairs=new Map}postConstruct(){this.frameworkEventWrappingService=new Fs(this.getFrameworkOverrides())}addEventListener(e,t){const i=this.frameworkEventWrappingService.wrap(e,t),s=Ai(this.gos)&&!os.has(e),o=s?this.asyncEventListeners:this.syncEventListeners;o.has(e)||o.set(e,new Set),o.get(e).add(i),this.eventService.addEventListener(e,i,s)}removeEventListener(e,t){var n;const i=this.frameworkEventWrappingService.unwrap(e,t),s=this.asyncEventListeners.get(e),o=!!(s!=null&&s.delete(i));o||((n=this.syncEventListeners.get(e))==null||n.delete(i)),this.eventService.removeEventListener(e,i,o)}addGlobalListener(e){const t=this.frameworkEventWrappingService.wrapGlobal(e);if(Ai(this.gos)){const i=(o,n)=>{os.has(o)&&t(o,n)},s=(o,n)=>{os.has(o)||t(o,n)};this.globalEventListenerPairs.set(e,{syncListener:i,asyncListener:s}),this.eventService.addGlobalListener(i,!1),this.eventService.addGlobalListener(s,!0)}else this.syncGlobalEventListeners.add(t),this.eventService.addGlobalListener(t,!1)}removeGlobalListener(e){const t=this.frameworkEventWrappingService.unwrapGlobal(e);if(this.globalEventListenerPairs.has(t)){const{syncListener:i,asyncListener:s}=this.globalEventListenerPairs.get(t);this.eventService.removeGlobalListener(i,!1),this.eventService.removeGlobalListener(s,!0),this.globalEventListenerPairs.delete(e)}else this.syncGlobalEventListeners.delete(t),this.eventService.removeGlobalListener(t,!1)}destroyEventListeners(e,t){e.forEach((i,s)=>{i.forEach(o=>this.eventService.removeEventListener(s,o,t)),i.clear()}),e.clear()}destroyGlobalListeners(e,t){e.forEach(i=>this.eventService.removeGlobalListener(i,t)),e.clear()}destroy(){super.destroy(),this.destroyEventListeners(this.syncEventListeners,!1),this.destroyEventListeners(this.asyncEventListeners,!0),this.destroyGlobalListeners(this.syncGlobalEventListeners,!1),this.globalEventListenerPairs.forEach(({syncListener:e,asyncListener:t})=>{this.eventService.removeGlobalListener(e,!1),this.eventService.removeGlobalListener(t,!0)}),this.globalEventListenerPairs.clear()}},nc=class extends b{constructor(){super(...arguments),this.beanName="pageBoundsListener"}wireBeans(e){this.rowModel=e.rowModel,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService}postConstruct(){this.addManagedEventListeners({modelUpdated:this.onModelUpdated.bind(this),recalculateRowBounds:this.calculatePages.bind(this)}),this.onModelUpdated()}onModelUpdated(e){this.calculatePages(),this.eventService.dispatchEvent({type:"paginationChanged",animate:(e==null?void 0:e.animate)??!1,newData:(e==null?void 0:e.newData)??!1,newPage:(e==null?void 0:e.newPage)??!1,newPageSize:(e==null?void 0:e.newPageSize)??!1,keepRenderedRows:(e==null?void 0:e.keepRenderedRows)??!1})}calculatePages(){this.paginationService?this.paginationService.calculatePages():this.pageBoundsService.calculateBounds(0,this.rowModel.getRowCount()-1)}},rc=class extends b{constructor(){super(...arguments),this.beanName="pageBoundsService",this.pixelOffset=0}wireBeans(e){this.rowModel=e.rowModel}getFirstRow(){return this.topRowBounds?this.topRowBounds.rowIndex:-1}getLastRow(){return this.bottomRowBounds?this.bottomRowBounds.rowIndex:-1}getCurrentPageHeight(){return K(this.topRowBounds)||K(this.bottomRowBounds)?0:Math.max(this.bottomRowBounds.rowTop+this.bottomRowBounds.rowHeight-this.topRowBounds.rowTop,0)}getCurrentPagePixelRange(){return{pageFirstPixel:this.topRowBounds?this.topRowBounds.rowTop:0,pageLastPixel:this.bottomRowBounds?this.bottomRowBounds.rowTop+this.bottomRowBounds.rowHeight:0}}calculateBounds(e,t){this.topRowBounds=this.rowModel.getRowBounds(e),this.topRowBounds&&(this.topRowBounds.rowIndex=e),this.bottomRowBounds=this.rowModel.getRowBounds(t),this.bottomRowBounds&&(this.bottomRowBounds.rowIndex=t),this.calculatePixelOffset()}getPixelOffset(){return this.pixelOffset}calculatePixelOffset(){const e=M(this.topRowBounds)?this.topRowBounds.rowTop:0;this.pixelOffset!==e&&(this.pixelOffset=e,this.eventService.dispatchEvent({type:"paginationPixelOffsetChanged"}))}},lc=class extends b{constructor(){super(),this.beanName="ariaAnnouncementService",this.descriptionContainer=null,this.pendingAnnouncements=new Map,this.updateAnnouncement=Se(this.updateAnnouncement.bind(this),200)}wireBeans(e){this.eGridDiv=e.eGridDiv}postConstruct(){const e=ae(this.gos),t=this.descriptionContainer=e.createElement("div");t.classList.add("ag-aria-description-container"),mn(t,"polite"),st(t,"relevant","additions text"),function(i,s){st(i,"atomic",s)}(t,!0),this.eGridDiv.appendChild(t)}announceValue(e,t){this.pendingAnnouncements.set(t,e),this.updateAnnouncement()}updateAnnouncement(){if(!this.descriptionContainer)return;const e=Array.from(this.pendingAnnouncements.values()).join(". ");this.pendingAnnouncements.clear(),this.descriptionContainer.textContent="",setTimeout(()=>{this.isAlive()&&this.descriptionContainer&&(this.descriptionContainer.textContent=e)},50)}destroy(){super.destroy();const{descriptionContainer:e}=this;e&&(xe(e),e.parentElement&&e.parentElement.removeChild(e)),this.descriptionContainer=null,this.eGridDiv=null,this.pendingAnnouncements.clear()}},ac=class extends b{constructor(){super(...arguments),this.beanName="columnAnimationService",this.executeNextFuncs=[],this.executeLaterFuncs=[],this.active=!1,this.activeNext=!1,this.suppressAnimation=!1,this.animationThreadCount=0}wireBeans(e){this.ctrlsService=e.ctrlsService}postConstruct(){this.ctrlsService.whenReady(this,e=>this.gridBodyCtrl=e.gridBodyCtrl)}isActive(){return this.active&&!this.suppressAnimation}setSuppressAnimation(e){this.suppressAnimation=e}start(){this.active||this.gos.get("suppressColumnMoveAnimation")||this.gos.get("enableRtl")||(this.ensureAnimationCssClassPresent(),this.active=!0,this.activeNext=!0)}finish(){this.active&&this.flush(()=>this.activeNext=!1,()=>this.active=!1)}executeNextVMTurn(e){this.activeNext?this.executeNextFuncs.push(e):e()}executeLaterVMTurn(e){this.active?this.executeLaterFuncs.push(e):e()}ensureAnimationCssClassPresent(){this.animationThreadCount++;const e=this.animationThreadCount;this.gridBodyCtrl.setColumnMovingCss(!0),this.executeLaterFuncs.push(()=>{this.animationThreadCount===e&&this.gridBodyCtrl.setColumnMovingCss(!1)})}flush(e,t){if(this.executeNextFuncs.length===0&&this.executeLaterFuncs.length===0)return e(),void t();const i=s=>{for(;s.length;){const o=s.pop();o&&o()}};this.getFrameworkOverrides().wrapIncoming(()=>{window.setTimeout(()=>{e(),i(this.executeNextFuncs)},0),window.setTimeout(()=>{t(),i(this.executeLaterFuncs)},200)})}},hc=class extends b{constructor(){super(...arguments),this.beanName="columnHoverService"}setMouseOver(e){this.updateState(e)}clearMouseOver(){this.updateState(null)}isHovered(e){return!!this.selectedColumns&&this.selectedColumns.indexOf(e)>=0}updateState(e){this.selectedColumns=e,this.eventService.dispatchEvent({type:"columnHoverChanged"})}},dc=class extends b{constructor(){super(...arguments),this.beanName="overlayService",this.state=0,this.showInitialOverlay=!0,this.wrapperPadding=0}wireBeans(e){this.userComponentFactory=e.userComponentFactory,this.rowModel=e.rowModel,this.columnModel=e.columnModel,this.ctrlsService=e.ctrlsService}postConstruct(){this.isClientSide=ie(this.gos);const e=()=>this.updateOverlayVisibility();this.addManagedEventListeners({newColumnsLoaded:e,rowDataUpdated:e,gridSizeChanged:this.onGridSizeChanged.bind(this),rowCountReady:()=>{this.showInitialOverlay=!1,this.updateOverlayVisibility()}}),this.addManagedPropertyListener("loading",e)}setOverlayWrapperComp(e){this.overlayWrapperComp=e,this.updateOverlayVisibility()}isVisible(){return this.state!==0&&!!this.overlayWrapperComp}isExclusive(){return this.state===1&&!!this.overlayWrapperComp}getOverlayWrapper(){return this.overlayWrapperComp}showLoadingOverlay(){this.showInitialOverlay=!1;const e=this.gos.get("loading");(e||e===void 0&&!this.gos.get("suppressLoadingOverlay"))&&this.doShowLoadingOverlay()}showNoRowsOverlay(){this.showInitialOverlay=!1,this.gos.get("loading")||this.gos.get("suppressNoRowsOverlay")||this.doShowNoRowsOverlay()}hideOverlay(){this.showInitialOverlay=!1,this.gos.get("loading")?R("Since v32, `api.hideOverlay()` does not hide the loading overlay when `loading=true`. Set `loading=false` instead."):this.doHideOverlay()}updateOverlayVisibility(){if(!this.overlayWrapperComp)return void(this.state=0);let e=this.gos.get("loading");this.showInitialOverlay&&e===void 0&&!this.gos.get("suppressLoadingOverlay")&&(e=!this.gos.get("columnDefs")||!this.columnModel.isReady()||!this.gos.get("rowData")&&this.isClientSide),e?this.state!==1&&this.doShowLoadingOverlay():(this.showInitialOverlay=!1,this.rowModel.isEmpty()&&!this.gos.get("suppressNoRowsOverlay")&&this.isClientSide?this.state!==2&&this.doShowNoRowsOverlay():this.state!==0&&this.doHideOverlay())}doShowLoadingOverlay(){this.overlayWrapperComp&&(this.state=1,this.showOverlay(this.userComponentFactory.getLoadingOverlayCompDetails({}),"ag-overlay-loading-wrapper","loadingOverlayComponentParams"),this.updateExclusive())}doShowNoRowsOverlay(){this.overlayWrapperComp&&(this.state=2,this.showOverlay(this.userComponentFactory.getNoRowsOverlayCompDetails({}),"ag-overlay-no-rows-wrapper","noRowsOverlayComponentParams"),this.updateExclusive())}doHideOverlay(){this.overlayWrapperComp&&(this.state=0,this.overlayWrapperComp.hideOverlay(),this.updateExclusive())}showOverlay(e,t,i){var o;const s=e.newAgStackInstance();(o=this.overlayWrapperComp)==null||o.showOverlay(s,t,this.isExclusive(),i),this.refreshWrapperPadding()}updateExclusive(){const e=this.exclusive;this.exclusive=this.isExclusive(),this.exclusive!==e&&this.eventService.dispatchEvent({type:"overlayExclusiveChanged"})}onGridSizeChanged(){this.refreshWrapperPadding()}refreshWrapperPadding(){if(!this.overlayWrapperComp)return;let e=0;if(this.state===2){const t=this.ctrlsService.get("gridHeaderCtrl");e=(t==null?void 0:t.getHeaderHeight())||0}else this.wrapperPadding!==0&&(e=0);this.wrapperPadding!==e&&(this.wrapperPadding=e,this.overlayWrapperComp.updateOverlayWrapperPaddingTop(e))}},cc=class extends b{constructor(){super(...arguments),this.beanName="rowCssClassCalculator"}wireBeans(e){this.stylingService=e.stylingService}getInitialRowClasses(e){const t=[];return M(e.extraCssClass)&&t.push(e.extraCssClass),t.push("ag-row"),t.push(e.rowFocused?"ag-row-focus":"ag-row-no-focus"),e.fadeRowIn&&t.push("ag-opacity-zero"),t.push(e.rowIsEven?"ag-row-even":"ag-row-odd"),e.rowNode.isRowPinned()&&t.push("ag-row-pinned"),e.rowNode.isSelected()&&t.push("ag-row-selected"),e.rowNode.footer&&t.push("ag-row-footer"),t.push("ag-row-level-"+e.rowLevel),e.rowNode.stub&&t.push("ag-row-loading"),e.fullWidthRow&&t.push("ag-full-width-row"),e.expandable&&(t.push("ag-row-group"),t.push(e.rowNode.expanded?"ag-row-group-expanded":"ag-row-group-contracted")),e.rowNode.dragging&&t.push("ag-row-dragging"),Jo(t,this.processClassesFromGridOptions(e.rowNode)),Jo(t,this.preProcessRowClassRules(e.rowNode)),t.push(e.printLayout?"ag-row-position-relative":"ag-row-position-absolute"),e.firstRowOnPage&&t.push("ag-row-first"),e.lastRowOnPage&&t.push("ag-row-last"),e.fullWidthRow&&(e.pinned==="left"&&t.push("ag-cell-last-left-pinned"),e.pinned==="right"&&t.push("ag-cell-first-right-pinned")),t}processClassesFromGridOptions(e){const t=[],i=n=>{typeof n=="string"?t.push(n):Array.isArray(n)&&n.forEach(r=>t.push(r))},s=this.gos.get("rowClass");if(s){if(typeof s=="function")return R("rowClass should not be a function, please use getRowClass instead"),[];i(s)}const o=this.gos.getCallback("getRowClass");return o&&i(o({data:e.data,node:e,rowIndex:e.rowIndex})),t}preProcessRowClassRules(e){const t=[];return this.processRowClassRules(e,i=>{t.push(i)},()=>{}),t}processRowClassRules(e,t,i){const s=this.gos.addGridCommonParams({data:e.data,node:e,rowIndex:e.rowIndex});this.stylingService.processClassRules(void 0,this.gos.get("rowClassRules"),s,t,i)}calculateRowLevel(e){return e.group?e.level:e.parent?e.parent.level+1:0}},uc=class extends b{constructor(){super(...arguments),this.beanName="rowContainerHeightService",this.scrollY=0,this.uiBodyHeight=0}wireBeans(e){this.ctrlsService=e.ctrlsService}postConstruct(){this.addManagedEventListeners({bodyHeightChanged:this.updateOffset.bind(this)}),this.maxDivHeight=function(){if(Us!==void 0)return Us;if(!document.body)return-1;let e=1e6;const t=Ks()?6e6:1e9,i=document.createElement("div");for(document.body.appendChild(i);;){const s=2*e;if(i.style.height=s+"px",s>t||i.clientHeight!==s)break;e=s}return document.body.removeChild(i),Us=e,e}(),this.gos.get("debug")&&He("RowContainerHeightService - maxDivHeight = "+this.maxDivHeight)}isStretching(){return this.stretching}getDivStretchOffset(){return this.divStretchOffset}updateOffset(){if(!this.stretching)return;const e=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition().top,t=this.getUiBodyHeight();(e!==this.scrollY||t!==this.uiBodyHeight)&&(this.scrollY=e,this.uiBodyHeight=t,this.calculateOffset())}calculateOffset(){this.setUiContainerHeight(this.maxDivHeight),this.pixelsToShave=this.modelHeight-this.uiContainerHeight,this.maxScrollY=this.uiContainerHeight-this.uiBodyHeight;const e=this.scrollY/this.maxScrollY,t=e*this.pixelsToShave;this.gos.get("debug")&&He(`RowContainerHeightService - Div Stretch Offset = ${t} (${this.pixelsToShave} * ${e})`),this.setDivStretchOffset(t)}setUiContainerHeight(e){e!==this.uiContainerHeight&&(this.uiContainerHeight=e,this.eventService.dispatchEvent({type:"rowContainerHeightChanged"}))}clearOffset(){this.setUiContainerHeight(this.modelHeight),this.pixelsToShave=0,this.setDivStretchOffset(0)}setDivStretchOffset(e){const t=typeof e=="number"?Math.floor(e):null;this.divStretchOffset!==t&&(this.divStretchOffset=t,this.eventService.dispatchEvent({type:"heightScaleChanged"}))}setModelHeight(e){this.modelHeight=e,this.stretching=e!=null&&this.maxDivHeight>0&&e>this.maxDivHeight,this.stretching?this.calculateOffset():this.clearOffset()}getUiContainerHeight(){return this.uiContainerHeight}getRealPixelPosition(e){return e-this.divStretchOffset}getUiBodyHeight(){const e=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition();return e.bottom-e.top}getScrollPositionForPixel(e){if(this.pixelsToShave<=0)return e;const t=e/(this.modelHeight-this.getUiBodyHeight());return this.maxScrollY*t}},gc=class extends b{constructor(){super(...arguments),this.beanName="rowNodeSorter"}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.showRowGroupColsService=e.showRowGroupColsService}postConstruct(){this.isAccentedSort=this.gos.get("accentedSort"),this.primaryColumnsSortGroups=$e(this.gos),this.addManagedPropertyListener("accentedSort",e=>this.isAccentedSort=e.currentValue),this.addManagedPropertyListener("autoGroupColumnDef",()=>this.primaryColumnsSortGroups=$e(this.gos))}doFullSort(e,t){const i=e.map((s,o)=>({currentPos:o,rowNode:s}));return i.sort(this.compareRowNodes.bind(this,t)),i.map(s=>s.rowNode)}compareRowNodes(e,t,i){const s=t.rowNode,o=i.rowNode;for(let n=0,r=e.length;n<r;n++){const l=e[n],a=l.sort==="desc",h=this.getValue(s,l.column),d=this.getValue(o,l.column);let c;const u=this.getComparator(l,s);if(c=u?u(h,d,s,o,a):Fl(h,d,this.isAccentedSort),!isNaN(c)&&c!==0)return l.sort==="asc"?c:-1*c}return t.currentPos-i.currentPos}getComparator(e,t){const i=e.column,s=i.getColDef().comparator;if(s!=null)return s;if(!i.getColDef().showRowGroup)return;const o=!t.group&&i.getColDef().field;if(!o)return;const n=this.columnModel.getColDefCol(o);return n?n.getColDef().comparator:void 0}getValue(e,t){var i,s,o;if(!this.primaryColumnsSortGroups)return this.valueService.getValue(t,e,!1,!1);if(e.rowGroupColumn===t){if(Ii(this.gos,this.columnModel.isPivotActive())){const r=(i=e.allLeafChildren)==null?void 0:i[0];return r?this.valueService.getValue(t,r,!1,!1):void 0}const n=(s=this.showRowGroupColsService)==null?void 0:s.getShowRowGroupCol(t.getId());return n?(o=e.groupData)==null?void 0:o[n.getId()]:void 0}return e.group&&t.getColDef().showRowGroup?void 0:this.valueService.getValue(t,e,!1,!1)}},ns=class{constructor(e,t){this.active=!0,this.nodeIdsToColumns={},this.mapToItems={},this.keepingColumns=e,this.pathRoot={rowNode:t,children:null},this.mapToItems[t.id]=this.pathRoot}setInactive(){this.active=!1}isActive(){return this.active}depthFirstSearchChangedPath(e,t){if(e.children)for(let i=0;i<e.children.length;i++)this.depthFirstSearchChangedPath(e.children[i],t);t(e.rowNode)}depthFirstSearchEverything(e,t,i){if(e.childrenAfterGroup)for(let s=0;s<e.childrenAfterGroup.length;s++){const o=e.childrenAfterGroup[s];o.childrenAfterGroup?this.depthFirstSearchEverything(e.childrenAfterGroup[s],t,i):i&&t(o)}t(e)}forEachChangedNodeDepthFirst(e,t=!1,i=!1){this.active&&!i?this.depthFirstSearchChangedPath(this.pathRoot,e):this.depthFirstSearchEverything(this.pathRoot.rowNode,e,t)}executeFromRootNode(e){e(this.pathRoot.rowNode)}createPathItems(e){let t=e,i=0;for(;!this.mapToItems[t.id];){const s={rowNode:t,children:null};this.mapToItems[t.id]=s,i++,t=t.parent}return i}populateColumnsMap(e,t){if(!this.keepingColumns||!t)return;let i=e;for(;i;)this.nodeIdsToColumns[i.id]||(this.nodeIdsToColumns[i.id]={}),t.forEach(s=>this.nodeIdsToColumns[i.id][s.getId()]=!0),i=i.parent}linkPathItems(e,t){let i=e;for(let s=0;s<t;s++){const o=this.mapToItems[i.id],n=this.mapToItems[i.parent.id];n.children||(n.children=[]),n.children.push(o),i=i.parent}}addParentNode(e,t){if(!e||e.isRowPinned())return;const i=this.createPathItems(e);this.linkPathItems(e,i),this.populateColumnsMap(e,t)}canSkip(e){return this.active&&!this.mapToItems[e.id]}getValueColumnsForNode(e,t){if(!this.keepingColumns)return t;const i=this.nodeIdsToColumns[e.id];return t.filter(s=>i[s.getId()])}getNotValueColumnsForNode(e,t){if(!this.keepingColumns)return null;const i=this.nodeIdsToColumns[e.id];return t.filter(s=>!i[s.getId()])}},_r=class extends b{constructor(){super(...arguments),this.beanName="selectionService",this.selectedNodes=new Map,this.selectionCtx=new dd,this.rowSelectionMode=void 0}wireBeans(e){this.rowModel=e.rowModel,this.pageBoundsService=e.pageBoundsService}postConstruct(){const{gos:e,rowModel:t,onRowSelected:i}=this;this.selectionCtx.init(t),this.rowSelectionMode=ki(e),this.groupSelectsChildren=St(e),this.addManagedPropertyListeners(["groupSelectsChildren","rowSelection"],()=>{const s=St(e),o=ki(e);s===this.groupSelectsChildren&&o===this.rowSelectionMode||(this.groupSelectsChildren=s,this.rowSelectionMode=o,this.deselectAllRowNodes({source:"api"}))}),this.addManagedEventListeners({rowSelected:i.bind(this)})}destroy(){super.destroy(),this.resetNodes(),this.selectionCtx.reset()}isMultiSelect(){return this.rowSelectionMode==="multiRow"}overrideSelectionValue(e,t){if(!(s=>s==="checkboxSelected"||s==="rowClicked"||s==="spaceKey"||s==="uiSelectAll"||s==="uiSelectAllCurrentPage"||s==="uiSelectAllFiltered")(t))return e;const i=this.selectionCtx.getRoot();return!i||(i.isSelected()??!1)}setNodesSelected(e){var c;const{newValue:t,clearSelection:i,suppressFinishActions:s,rangeSelect:o,nodes:n,event:r,source:l}=e;if(n.length===0)return 0;if(n.length>1&&!this.isMultiSelect())return R("cannot multi select unless selection mode is 'multiRow'"),0;const a=this.groupSelectsChildren&&e.groupSelectsFiltered===!0,h=n.map(u=>u.footer?u.sibling:u);if(o){if(h.length>1)return R("cannot range select while selecting multiple rows"),0;const u=h[0],g=this.overrideSelectionValue(t,l);if(this.isMultiSelect()){if(this.selectionCtx.isInRange(u)){const m=this.selectionCtx.truncate(u);return g&&this.selectRange(m.discard,!1,l),this.selectRange(m.keep,g,l)}if(this.selectionCtx.getRoot()!==u){const m=this.selectionCtx.extend(u,this.groupSelectsChildren);return g&&this.selectRange(m.discard,!1,l),this.selectRange(m.keep,g,l)}}}s||this.selectionCtx.setRoot(h[0]);let d=0;for(let u=0;u<h.length;u++){const g=h[u];a&&g.group||g.selectThisNode(t,r,l)&&d++,this.groupSelectsChildren&&((c=g.childrenAfterGroup)!=null&&c.length)&&(d+=this.selectChildren(g,t,a,l))}return s||(t&&(i||!this.isMultiSelect())&&(d+=this.clearOtherNodes(h[0],l)),d>0&&(this.updateGroupsFromChildrenSelections(l),this.dispatchSelectionChanged(l))),d}selectRange(e,t,i){let s=0;return e.forEach(o=>{o.group&&this.groupSelectsChildren||o.selectThisNode(t,void 0,i)&&s++}),s>0&&(this.updateGroupsFromChildrenSelections(i),this.dispatchSelectionChanged(i)),s}selectChildren(e,t,i,s){const o=i?e.childrenAfterAggFilter:e.childrenAfterGroup;return K(o)?0:this.setNodesSelected({newValue:t,clearSelection:!1,suppressFinishActions:!0,groupSelectsFiltered:i,source:s,nodes:o})}getSelectedNodes(){const e=[];return this.selectedNodes.forEach(t=>{t&&e.push(t)}),e}getSelectedRows(){const e=[];return this.selectedNodes.forEach(t=>{t&&t.data&&e.push(t.data)}),e}getSelectionCount(){return this.selectedNodes.size}filterFromSelection(e){const t=new Map;this.selectedNodes.forEach((i,s)=>{i&&e(i)&&t.set(s,i)}),this.selectedNodes=t}updateGroupsFromChildrenSelections(e,t){if(!this.groupSelectsChildren||!ie(this.gos))return!1;const i=this.rowModel.getRootNode();t||(t=new ns(!0,i)).setInactive();let s=!1;return t.forEachChangedNodeDepthFirst(o=>{if(o!==i){const n=o.calculateSelectedFromChildren();s=o.selectThisNode(n!==null&&n,void 0,e)||s}}),s}clearOtherNodes(e,t){const i=new Map;let s=0;return this.selectedNodes.forEach(o=>{if(o&&o.id!==e.id){const n=this.selectedNodes.get(o.id);s+=n.setSelectedParams({newValue:!1,clearSelection:!1,suppressFinishActions:!0,source:t}),this.groupSelectsChildren&&o.parent&&i.set(o.parent.id,o.parent)}}),i.forEach(o=>{const n=o.calculateSelectedFromChildren();o.selectThisNode(n!==null&&n,void 0,t)}),s}onRowSelected(e){const t=e.node;this.groupSelectsChildren&&t.group||(t.isSelected()?this.selectedNodes.set(t.id,t):this.selectedNodes.delete(t.id))}syncInRowNode(e,t){this.syncInOldRowNode(e,t),this.syncInNewRowNode(e)}syncInOldRowNode(e,t){if(M(t)&&e.id!==t.id&&t){const i=t.id;this.selectedNodes.get(i)==e&&this.selectedNodes.set(t.id,t)}}syncInNewRowNode(e){this.selectedNodes.has(e.id)?(e.setSelectedInitialValue(!0),this.selectedNodes.set(e.id,e)):e.setSelectedInitialValue(!1)}reset(e){const t=this.getSelectionCount();this.resetNodes(),t&&this.dispatchSelectionChanged(e)}resetNodes(){var e;(e=this.selectedNodes)==null||e.clear()}getBestCostNodeSelection(){if(!ie(this.gos))return;const e=this.rowModel.getTopLevelNodes();if(e===null)return;const t=[];return function i(s){for(let o=0,n=s.length;o<n;o++){const r=s[o];if(r.isSelected())t.push(r);else{const l=r;l.group&&l.children&&i(l.children)}}}(e),t}isEmpty(){let e=0;return this.selectedNodes.forEach(t=>{t&&e++}),e===0}deselectAllRowNodes(e){const t=r=>r.selectThisNode(!1,void 0,s),i=ie(this.gos),{source:s,justFiltered:o,justCurrentPage:n}=e;if(n||o){if(!i)return void Q("selecting just filtered only works when gridOptions.rowModelType='clientSide'");this.getNodesToSelect(o,n).forEach(t)}else this.selectedNodes.forEach(r=>{r&&t(r)}),this.reset(s);this.selectionCtx.reset(),i&&this.groupSelectsChildren&&this.updateGroupsFromChildrenSelections(s),this.dispatchSelectionChanged(s)}getSelectedCounts(e,t){let i=0,s=0;return this.getNodesToSelect(e,t).forEach(o=>{this.groupSelectsChildren&&o.group||(o.isSelected()?i++:o.selectable&&s++)}),{selectedCount:i,notSelectedCount:s}}getSelectAllState(e,t){const{selectedCount:i,notSelectedCount:s}=this.getSelectedCounts(e,t);return(i!==0||s!==0)&&(i>0&&s>0?null:i>0)}hasNodesToSelect(e=!1,t=!1){return this.getNodesToSelect(e,t).filter(i=>i.selectable).length>0}getNodesToSelect(e=!1,t=!1){this.validateSelectAllType();const i=[];if(t)return this.forEachNodeOnPage(o=>{if(o.group)if(o.expanded)this.groupSelectsChildren||i.push(o);else{const n=r=>{var l;i.push(r),(l=r.childrenAfterFilter)!=null&&l.length&&r.childrenAfterFilter.forEach(n)};n(o)}else i.push(o)}),i;const s=this.rowModel;return e?(s.forEachNodeAfterFilter(o=>{i.push(o)}),i):(s.forEachNode(o=>{i.push(o)}),i)}forEachNodeOnPage(e){const t=this.pageBoundsService.getFirstRow(),i=this.pageBoundsService.getLastRow();for(let s=t;s<=i;s++){const o=this.rowModel.getRow(s);o&&e(o)}}selectAllRowNodes(e){if(typeof this.gos.get("rowSelection")!="string"&&!Qo(this.gos))return R("cannot multi select unless selection mode is 'multiRow'");this.validateSelectAllType();const{source:t,justFiltered:i,justCurrentPage:s}=e,o=this.getNodesToSelect(i,s);o.forEach(n=>n.selectThisNode(!0,void 0,t)),this.selectionCtx.setRoot(o[0]??null),this.selectionCtx.setEndRange($(o)??null),ie(this.gos)&&this.groupSelectsChildren&&this.updateGroupsFromChildrenSelections(t),this.dispatchSelectionChanged(t)}getSelectionState(){const e=[];return this.selectedNodes.forEach(t=>{t!=null&&t.id&&e.push(t.id)}),e.length?e:null}setSelectionState(e,t){if(!Array.isArray(e))return Q("Invalid selection state. When using client-side row model, the state must conform to `string[]`.");const i=new Set(e),s=[];this.rowModel.forEachNode(o=>{i.has(o.id)&&s.push(o)}),this.setNodesSelected({newValue:!0,nodes:s,source:t})}dispatchSelectionChanged(e){this.eventService.dispatchEvent({type:"selectionChanged",source:e})}validateSelectAllType(){if(!ie(this.gos))throw new Error(`selectAll only available when rowModelType='clientSide', ie not ${this.rowModel.getType()}`)}},pc=class extends b{constructor(){super(...arguments),this.beanName="selectableService"}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}postConstruct(){this.addManagedPropertyListeners(["isRowSelectable","rowSelection"],()=>this.updateSelectable())}updateSelectableAfterGrouping(){this.updateSelectable(!0)}updateSelectable(e=!1){const{gos:t}=this,i=xi(t),s=fs(t);if(!i||!s)return;const o=St(t),n=ie(t)&&o,r=[],l=a=>{if(e&&!a.group)return;if(n&&a.group){const d=a.childrenAfterGroup.some(c=>c.selectable===!0);return void a.setRowSelectable(d,!0)}const h=(s==null?void 0:s(a))??!0;a.setRowSelectable(h,!0),!h&&a.isSelected()&&r.push(a)};if(n){const a=this.rowModel;new ns(!1,a.getRootNode()).forEachChangedNodeDepthFirst(l,!0,!0)}else this.rowModel.forEachNode(l);r.length&&this.selectionService.setNodesSelected({nodes:r,newValue:!1,source:"selectableChanged"}),n&&this.selectionService instanceof _r&&this.selectionService.updateGroupsFromChildrenSelections("selectableChanged")}},jr=["asc","desc",null],mc=class extends b{constructor(){super(...arguments),this.beanName="sortController"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.showRowGroupColsService=e.showRowGroupColsService}progressSort(e,t,i){const s=this.getNextSortDirection(e);this.setSortForColumn(e,s,t,i)}setSortForColumn(e,t,i,s){t!=="asc"&&t!=="desc"&&(t=null);let o=[e];if($e(this.gos)&&e.getColDef().showRowGroup){const r=this.funcColsService.getSourceColumnsForGroupColumn(e),l=r==null?void 0:r.filter(a=>a.isSortable());l&&(o=[e,...l])}o.forEach(r=>r.setSort(t,s));const n=[];if(!((i||this.gos.get("alwaysMultiSort"))&&!this.gos.get("suppressMultiSort"))){const r=this.clearSortBarTheseColumns(o,s);n.push(...r)}this.updateSortIndex(e),n.push(...o),this.dispatchSortChangedEvents(s,n)}updateSortIndex(e){var r;const t=$e(this.gos),i=(r=this.showRowGroupColsService)==null?void 0:r.getShowRowGroupCol(e.getId()),s=t&&i||e,o=this.getColumnsWithSortingOrdered();this.columnModel.getAllCols().forEach(l=>l.setSortIndex(null));const n=o.filter(l=>(!t||!l.getColDef().showRowGroup)&&l!==s);(s.getSort()?[...n,s]:n).forEach((l,a)=>{l.setSortIndex(a)})}onSortChanged(e,t){this.dispatchSortChangedEvents(e,t)}isSortActive(){const e=this.columnModel.getAllCols().filter(t=>!!t.getSort());return e&&e.length>0}dispatchSortChangedEvents(e,t){const i={type:"sortChanged",source:e};t&&(i.columns=t),this.eventService.dispatchEvent(i)}clearSortBarTheseColumns(e,t){const i=[];return this.columnModel.getAllCols().forEach(s=>{e.includes(s)||(s.getSort()&&i.push(s),s.setSort(void 0,t))}),i}getNextSortDirection(e){let t;if(t=e.getColDef().sortingOrder?e.getColDef().sortingOrder:this.gos.get("sortingOrder")?this.gos.get("sortingOrder"):jr,!Array.isArray(t)||t.length<=0)return R(`sortingOrder must be an array with at least one element, currently it's ${t}`),null;const i=t.indexOf(e.getSort()),s=i<0,o=i==t.length-1;let n;return n=s||o?t[0]:t[i+1],jr.indexOf(n)<0?(R("invalid sort type ",n),null):n}getIndexedSortMap(){let e=this.columnModel.getAllCols().filter(n=>!!n.getSort());if(this.columnModel.isPivotMode()){const n=$e(this.gos);e=e.filter(r=>{var d;const l=!!r.getAggFunc(),a=!r.isPrimary(),h=n?(d=this.showRowGroupColsService)==null?void 0:d.getShowRowGroupCol(r.getId()):r.getColDef().showRowGroup;return l||a||h})}const t=this.funcColsService.getRowGroupColumns().filter(n=>!!n.getSort()),i={};e.forEach((n,r)=>i[n.getId()]=r),e.sort((n,r)=>{const l=n.getSortIndex(),a=r.getSortIndex();return l!=null&&a!=null?l-a:l==null&&a==null?i[n.getId()]>i[r.getId()]?1:-1:a==null?-1:1});const s=$e(this.gos)&&!!t.length;s&&(e=[...new Set(e.map(n=>{var r;return((r=this.showRowGroupColsService)==null?void 0:r.getShowRowGroupCol(n.getId()))??n}))]);const o=new Map;return e.forEach((n,r)=>o.set(n,r)),s&&t.forEach(n=>{const r=this.showRowGroupColsService.getShowRowGroupCol(n.getId());o.set(n,o.get(r))}),o}getColumnsWithSortingOrdered(){return[...this.getIndexedSortMap().entries()].sort(([e,t],[i,s])=>t-s).map(([e])=>e)}getSortModel(){return this.getColumnsWithSortingOrdered().filter(e=>e.getSort()).map(e=>({sort:e.getSort(),colId:e.getId()}))}getSortOptions(){return this.getColumnsWithSortingOrdered().filter(e=>e.getSort()).map(e=>({sort:e.getSort(),column:e}))}canColumnDisplayMixedSort(e){const t=$e(this.gos),i=!!e.getColDef().showRowGroup;return t&&i}getDisplaySortForColumn(e){const t=this.funcColsService.getSourceColumnsForGroupColumn(e);if(!this.canColumnDisplayMixedSort(e)||!(t!=null&&t.length))return e.getSort();const i=e.getColDef().field!=null||e.getColDef().valueGetter?[e,...t]:t,s=i[0].getSort();return i.every(o=>o.getSort()==s)?s:"mixed"}getDisplaySortIndexForColumn(e){return this.getIndexedSortMap().get(e)}},Cc=class extends b{constructor(){super(...arguments),this.beanName="syncService",this.waitingForColumns=!1}wireBeans(e){this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.rowModel=e.rowModel}postConstruct(){this.addManagedPropertyListener("columnDefs",e=>this.setColumnDefs(e))}start(){this.ctrlsService.whenReady(this,()=>{const e=this.gos.get("columnDefs");e?this.setColumnsAndData(e):this.waitingForColumns=!0,this.gridReady()})}setColumnsAndData(e){this.columnModel.setColumnDefs(e??[],"gridInitializing"),this.rowModel.start()}gridReady(){this.eventService.dispatchEvent({type:"gridReady"});const e=this.gos.isModuleRegistered("@ag-grid-enterprise/core");this.gos.get("debug")&&He(`initialised successfully, enterprise = ${e}`)}setColumnDefs(e){const t=this.gos.get("columnDefs");if(t)return this.waitingForColumns?(this.waitingForColumns=!1,void this.setColumnsAndData(t)):void this.columnModel.setColumnDefs(t,bt(e.source))}},fc=class extends b{constructor(){super(...arguments),this.beanName="changeDetectionService"}wireBeans(e){this.rowModel=e.rowModel,this.rowRenderer=e.rowRenderer}postConstruct(){ie(this.gos)&&(this.clientSideRowModel=this.rowModel),this.addManagedEventListeners({cellValueChanged:this.onCellValueChanged.bind(this)})}onCellValueChanged(e){e.source!=="paste"&&this.doChangeDetection(e.node,e.column)}doChangeDetection(e,t){if(this.gos.get("suppressChangeDetection"))return;const i=[e];if(this.clientSideRowModel&&!e.isRowPinned()){const s=this.gos.get("aggregateOnlyChangedColumns"),o=new ns(s,this.clientSideRowModel.getRootNode());o.addParentNode(e.parent,[t]),this.clientSideRowModel.doAggregate(o),o.forEachChangedNodeDepthFirst(n=>{i.push(n)})}this.rowRenderer.refreshCells({rowNodes:i})}},vc=class extends b{constructor(){super(...arguments),this.beanName="expressionService",this.expressionToFunctionCache={}}evaluate(e,t){if(typeof e=="string")return this.evaluateExpression(e,t);Q("value should be either a string or a function",e)}evaluateExpression(e,t){try{return this.createExpressionFunction(e)(t.value,t.context,t.oldValue,t.newValue,t.value,t.node,t.data,t.colDef,t.rowIndex,t.api,t.getValue,t.column,t.columnGroup)}catch(i){return He("Processing of the expression failed"),He("Expression = ",e),He("Params = ",t),He("Exception = ",i),null}}createExpressionFunction(e){if(this.expressionToFunctionCache[e])return this.expressionToFunctionCache[e];const t=this.createFunctionBody(e),i=new Function("x, ctx, oldValue, newValue, value, node, data, colDef, rowIndex, api, getValue, column, columnGroup",t);return this.expressionToFunctionCache[e]=i,i}createFunctionBody(e){return e.indexOf("return")>=0?e:"return "+e+";"}},wc=class extends b{constructor(){super(...arguments),this.beanName="valueCache",this.cacheVersion=0}postConstruct(){this.active=this.gos.get("valueCache"),this.neverExpires=this.gos.get("valueCacheNeverExpires")}onDataChanged(){this.neverExpires||this.expire()}expire(){this.cacheVersion++}setValue(e,t,i){this.active&&(e.__cacheVersion!==this.cacheVersion&&(e.__cacheVersion=this.cacheVersion,e.__cacheData={}),e.__cacheData[t]=i)}getValue(e,t){if(this.active&&e.__cacheVersion===this.cacheVersion)return e.__cacheData[t]}},Sc=class extends b{constructor(){super(...arguments),this.beanName="valueService",this.initialised=!1,this.isSsrm=!1}wireBeans(e){this.expressionService=e.expressionService,this.columnModel=e.columnModel,this.valueCache=e.valueCache,this.dataTypeService=e.dataTypeService}postConstruct(){this.initialised||this.init()}init(){this.isSsrm=Ke(this.gos),this.cellExpressions=this.gos.get("enableCellExpressions"),this.isTreeData=this.gos.get("treeData"),this.initialised=!0;const e=i=>this.callColumnCellValueChangedHandler(i),t=Ai(this.gos);this.eventService.addEventListener("cellValueChanged",e,t),this.addDestroyFunc(()=>this.eventService.removeEventListener("cellValueChanged",e,t)),this.addManagedPropertyListener("treeData",i=>this.isTreeData=i.currentValue)}getValueForDisplay(e,t){const i=t.leafGroup&&this.columnModel.isPivotMode(),s=t.group&&t.expanded&&!t.footer&&!i,o=this.gos.get("groupSuppressBlankHeader");if(!s||o)return this.getValue(e,t);let n=!1;const r=this.gos.get("groupTotalRow")??this.gos.get("groupIncludeFooter");typeof r!="function"?n=!!r:n=!!(this.gos.getCallback("groupTotalRow")??this.gos.getCallback("groupIncludeFooter"))({node:this});const l=s&&n;return this.getValue(e,t,!1,l)}getValue(e,t,i=!1,s=!1){if(this.initialised||this.init(),!t)return;const o=e.getColDef(),n=o.field,r=e.getColId(),l=t.data;let a;const h=t.groupData&&t.groupData[r]!==void 0,d=!s&&t.aggData&&t.aggData[r]!==void 0,c=this.isSsrm&&s&&!!e.getColDef().aggFunc,u=this.isSsrm&&t.footer&&t.field&&(e.getColDef().showRowGroup===!0||e.getColDef().showRowGroup===t.field);if(i&&o.filterValueGetter?a=this.executeFilterValueGetter(o.filterValueGetter,l,e,t):this.isTreeData&&d?a=t.aggData[r]:this.isTreeData&&o.valueGetter?a=this.executeValueGetter(o.valueGetter,l,e,t):this.isTreeData&&n&&l?a=ri(l,n,e.isFieldContainsDots()):h?a=t.groupData[r]:d?a=t.aggData[r]:o.valueGetter?a=this.executeValueGetter(o.valueGetter,l,e,t):u?a=ri(l,t.field,e.isFieldContainsDots()):n&&l&&!c&&(a=ri(l,n,e.isFieldContainsDots())),this.cellExpressions&&typeof a=="string"&&a.indexOf("=")===0){const g=a.substring(1);a=this.executeValueGetter(g,l,e,t)}if(a==null){const g=this.getOpenedGroup(t,e);if(g!=null)return g}return a}parseValue(e,t,i,s){const o=e.getColDef(),n=o.valueParser;if(M(n)){const r=this.gos.addGridCommonParams({node:t,data:t==null?void 0:t.data,oldValue:s,newValue:i,colDef:o,column:e});return typeof n=="function"?n(r):this.expressionService.evaluate(n,r)}return i}getDeleteValue(e,t){return M(e.getColDef().valueParser)?this.parseValue(e,t,"",this.getValueForDisplay(e,t))??null:null}formatValue(e,t,i,s,o=!0){let n,r=null;const l=e.getColDef();if(s?n=s:o&&(n=l.valueFormatter),n){const a=this.gos.addGridCommonParams({value:i,node:t,data:t?t.data:null,colDef:l,column:e});r=typeof n=="function"?n(a):this.expressionService.evaluate(n,a)}else if(l.refData)return l.refData[i]||"";return r==null&&Array.isArray(i)&&(r=i.join(", ")),r}getOpenedGroup(e,t){if(!this.gos.get("showOpenedGroup")||!t.getColDef().showRowGroup)return;const i=t.getColDef().showRowGroup;let s=e.parent;for(;s!=null;){if(s.rowGroupColumn&&(i===!0||i===s.rowGroupColumn.getColId()))return s.key;s=s.parent}}setValue(e,t,i,s){const o=this.columnModel.getColDefCol(t);if(!e||!o)return!1;K(e.data)&&(e.data={});const{field:n,valueSetter:r}=o.getColDef();if(K(n)&&K(r))return R("you need either field or valueSetter set on colDef for editing to work"),!1;if(this.dataTypeService&&!this.dataTypeService.checkType(o,i))return R("Data type of the new value does not match the cell data type of the column"),!1;const l=this.gos.addGridCommonParams({node:e,data:e.data,oldValue:this.getValue(o,e),newValue:i,colDef:o.getColDef(),column:o});let a;if(l.newValue=i,a=M(r)?typeof r=="function"?r(l):this.expressionService.evaluate(r,l):this.setValueUsingField(e.data,n,i,o.isFieldContainsDots()),a===void 0&&(a=!0),!a)return!1;e.resetQuickFilterAggregateText(),this.valueCache.onDataChanged();const h=this.getValue(o,e);return this.eventService.dispatchEvent({type:"cellValueChanged",event:null,rowIndex:e.rowIndex,rowPinned:e.rowPinned,column:l.column,colDef:l.colDef,data:e.data,node:e,oldValue:l.oldValue,newValue:h,value:h,source:s}),!0}callColumnCellValueChangedHandler(e){const t=e.colDef.onCellValueChanged;typeof t=="function"&&this.getFrameworkOverrides().wrapOutgoing(()=>{t({node:e.node,data:e.data,oldValue:e.oldValue,newValue:e.newValue,colDef:e.colDef,column:e.column,api:e.api,context:e.context})})}setValueUsingField(e,t,i,s){if(!t)return!1;let o=!1;if(s){const n=t.split(".");let r=e;for(;n.length>0&&r;){const l=n.shift();n.length===0?(o=r[l]===i,o||(r[l]=i)):r=r[l]}}else o=e[t]===i,o||(e[t]=i);return!o}executeFilterValueGetter(e,t,i,s){const o=this.gos.addGridCommonParams({data:t,node:s,column:i,colDef:i.getColDef(),getValue:this.getValueCallback.bind(this,s)});return typeof e=="function"?e(o):this.expressionService.evaluate(e,o)}executeValueGetter(e,t,i,s){const o=i.getColId(),n=this.valueCache.getValue(s,o);if(n!==void 0)return n;const r=this.gos.addGridCommonParams({data:t,node:s,column:i,colDef:i.getColDef(),getValue:this.getValueCallback.bind(this,s)});let l;return l=typeof e=="function"?e(r):this.expressionService.evaluate(e,r),this.valueCache.setValue(s,o,l),l}getValueCallback(e,t){const i=this.columnModel.getColDefCol(t);return i?this.getValue(i,e):null}getKeyForNode(e,t){const i=this.getValue(e,t),s=e.getColDef().keyCreator;let o=i;return s&&(o=s(this.gos.addGridCommonParams({value:i,colDef:e.getColDef(),column:e,node:t,data:t.data}))),typeof o=="string"||o==null||(o=String(o),o==="[object Object]"&&R("a column you are grouping or pivoting by has objects as values. If you want to group by complex objects then either a) use a colDef.keyCreator (se AG Grid docs) or b) to toString() on the object to return a key")),o}},wo=class kt{static applyGlobalGridOptions(t){if(!kt.gridOptions)return t;let i={};return Re(i,kt.gridOptions,!0,!0),kt.mergeStrategy==="deep"?Re(i,t,!0,!0):i={...i,...t},kt.gridOptions.context&&(i.context=kt.gridOptions.context),t.context&&(kt.mergeStrategy==="deep"&&i.context&&Re(t.context,i.context,!0,!0),i.context=t.context),i}};wo.gridOptions=void 0,wo.mergeStrategy="shallow";var qr=wo,yc=1,bc=class{create(e,t,i,s,o){const n=function(c){const u={};return Object.entries(c).forEach(([g,m])=>{const f=Kr(g,m);u[g]=f}),u}(qr.applyGlobalGridOptions(t)),r=n.gridId??String(yc++),l=this.getRegisteredModules(o,r),a=this.createBeansList(n.rowModelType,l,r),h=this.createProvidedBeans(e,n,o);if(!a)return void Q("Failed to create grid.");const d=new xa({providedBeanInstances:h,beanClasses:a,gridId:r,beanInitComparator:Md,beanDestroyComparator:xd,derivedBeans:[Sd]});return this.registerModuleUserComponents(d,l),this.registerControllers(d,l),this.registerModuleApiFunctions(d,l),i(d),d.getBean("syncService").start(),s&&s(d),d.getBean("gridApi")}registerControllers(e,t){const i=e.getBean("ctrlsFactory");t.forEach(s=>{s.controllers&&s.controllers.forEach(o=>i.register(o))})}getRegisteredModules(e,t){const i=e?e.modules:null,s=Qe.__getRegisteredModules(t),o=[],n={},r=(l,a,h)=>{var d;n[(d=a).moduleName]||(n[d.moduleName]=!0,o.push(d),Qe.__register(d,l,h)),a.dependantModules&&a.dependantModules.forEach(c=>r(l,c,h))};return r(!!(i!=null&&i.length)||!Qe.__isPackageBased(),Ur,void 0),i&&i.forEach(l=>r(!0,l,t)),s&&s.forEach(l=>r(!Qe.__isPackageBased(),l,void 0)),o}registerModuleUserComponents(e,t){const i=this.extractModuleEntity(t,o=>o.userComponents?o.userComponents:[]),s=e.getBean("userComponentRegistry");i.forEach(({name:o,classImp:n,params:r})=>{s.registerDefaultComponent(o,n,r)})}registerModuleApiFunctions(e,t){const i=e.getBean("apiFunctionService");t.forEach(s=>{const o=s.apiFunctions;o&&Object.keys(o).forEach(n=>{i==null||i.addFunction(n,o[n])})})}createProvidedBeans(e,t,i){let s=i?i.frameworkOverrides:null;K(s)&&(s=new xr);const o={gridOptions:t,eGridDiv:e,globalEventListener:i?i.globalEventListener:null,globalSyncEventListener:i?i.globalSyncEventListener:null,frameworkOverrides:s};return i&&i.providedBeanInstances&&Object.assign(o,i.providedBeanInstances),o}createBeansList(e="clientSide",t,i){const s=t.filter(a=>!a.rowModel||a.rowModel===e),o={clientSide:"@ag-grid-community/client-side-row-model",infinite:"@ag-grid-community/infinite-row-model",serverSide:"@ag-grid-enterprise/server-side-row-model",viewport:"@ag-grid-enterprise/viewport-row-model"};if(!o[e])return void Q("Could not find row model for rowModelType = ",e);if(!Qe.__assertRegistered(o[e],`rowModelType = '${e}'`,i))return;const n=[kd,Id,ic,Zd,wd,ha,Dd,Ed,$h,Gn,uc,Uh,sc,ld,La,Ul,Nd,tc,md,_r,Ll,Za,rc,nc,nd,vc,Il,zh,wc,Sc,sd,Kh,Aa,Hd,Wh,Od,fd,cd,Vh,mc,hc,ac,pc,fc,_h,yd,cc,gc,Td,Bd,Ld,Ad,Cc,dc,jh,oc,lc,qh,Gl,bd,Nl,kl,Rd,Fd,zl,Ol,Vl,Pd,Wl,El],r=this.extractModuleEntity(s,a=>a.beans?a.beans:[]);n.push(...r);const l=[];return n.forEach(a=>{l.indexOf(a)<0&&l.push(a)}),l}extractModuleEntity(e,t){return[].concat(...e.map(t))}},Qr=class extends b{constructor(){super(...arguments),this.beanName="rowModelHelperService"}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){const e=this.rowModel;switch(e.getType()){case"clientSide":this.clientSideRowModel=e;break;case"infinite":this.infiniteRowModel=e;break;case"serverSide":this.serverSideRowModel=e}}getClientSideRowModel(){return this.clientSideRowModel}getInfiniteRowModel(){return this.infiniteRowModel}getServerSideRowModel(){return this.serverSideRowModel}},Rc={version:G,moduleName:"@ag-grid-community/csrm-ssrm-shared-api",apiFunctions:{expandAll:function(e){e.expansionService.expandAll(!0)},collapseAll:function(e){e.expansionService.expandAll(!1)},onRowHeightChanged:function(e){var s,o;const t=(s=e.rowModelHelperService)==null?void 0:s.getClientSideRowModel(),i=(o=e.rowModelHelperService)==null?void 0:o.getServerSideRowModel();t?t.onRowHeightChanged():i&&i.onRowHeightChanged()}}},Fc={version:G,moduleName:"@ag-grid-community/ssrm-infinite-shared-api",apiFunctions:{setRowCount:function(e,t,i){var n,r;const s=(n=e.rowModelHelperService)==null?void 0:n.getServerSideRowModel();if(s)return e.funcColsService.isRowGroupEmpty()?void s.setRowCount(t,i):void Q("setRowCount cannot be used while using row grouping.");const o=(r=e.rowModelHelperService)==null?void 0:r.getInfiniteRowModel();o&&o.setRowCount(t,i)},getCacheBlockState:function(e){var t;return((t=e.rowNodeBlockLoader)==null?void 0:t.getBlockState())??{}},isLastRowIndexKnown:function(e){return e.rowModel.isLastRowIndexKnown()}}},Pc=class{wrap(e,t,i=[],s){const o=this.createWrapper(e,s);return t.forEach(n=>{this.createMethod(o,n,!0)}),i.forEach(n=>{this.createMethod(o,n,!1)}),o}createMethod(e,t,i){e.addMethod(t,this.createMethodProxy(e,t,i))}createMethodProxy(e,t,i){return function(){return e.hasMethod(t)?e.callMethod(t,arguments):(i&&R("Framework component is missing the method "+t+"()"),null)}}},Yt=typeof global>"u"?{}:global;Yt.HTMLElement=typeof HTMLElement>"u"?{}:HTMLElement,Yt.HTMLButtonElement=typeof HTMLButtonElement>"u"?{}:HTMLButtonElement,Yt.HTMLSelectElement=typeof HTMLSelectElement>"u"?{}:HTMLSelectElement,Yt.HTMLInputElement=typeof HTMLInputElement>"u"?{}:HTMLInputElement,Yt.Node=typeof Node>"u"?{}:Node,Yt.MouseEvent=typeof MouseEvent>"u"?{}:MouseEvent;var Dc=class{constructor(e,t,i,s,o,n){this.nextId=0,this.rowCountReady=!1,this.allNodesMap={},this.rootNode=e,this.gos=t,this.eventService=i,this.funcColsService=s,this.beans=n,this.selectionService=o,this.rootNode.group=!0,this.rootNode.level=-1,this.rootNode.id="ROOT_NODE_ID",this.rootNode.allLeafChildren=[],this.rootNode.childrenAfterGroup=[],this.rootNode.childrenAfterSort=[],this.rootNode.childrenAfterAggFilter=[],this.rootNode.childrenAfterFilter=[]}getCopyOfNodesMap(){return sn(this.allNodesMap)}getRowNode(e){return this.allNodesMap[e]}setRowData(e){if(typeof e=="string")return void R("rowData must be an array.");this.rowCountReady=!0,this.dispatchRowDataUpdateStartedEvent(e);const t=this.rootNode,i=this.rootNode.sibling;t.childrenAfterFilter=null,t.childrenAfterGroup=null,t.childrenAfterAggFilter=null,t.childrenAfterSort=null,t.childrenMapped=null,t.updateHasChildren(),this.nextId=0,this.allNodesMap={},e?t.allLeafChildren=e.map((s,o)=>this.createNode(s,this.rootNode,0,o)):(t.allLeafChildren=[],t.childrenAfterGroup=[]),i&&(i.childrenAfterFilter=t.childrenAfterFilter,i.childrenAfterGroup=t.childrenAfterGroup,i.childrenAfterAggFilter=t.childrenAfterAggFilter,i.childrenAfterSort=t.childrenAfterSort,i.childrenMapped=t.childrenMapped,i.allLeafChildren=t.allLeafChildren)}updateRowData(e){this.rowCountReady=!0,this.dispatchRowDataUpdateStartedEvent(e.add);const t={rowNodeTransaction:{remove:[],update:[],add:[]},rowsInserted:!1},i=[];return this.executeRemove(e,t,i),this.executeUpdate(e,t,i),this.executeAdd(e,t),this.updateSelection(i,"rowDataChanged"),t}updateRowOrderFromRowData(e){const t=this.rootNode.allLeafChildren,i=(t==null?void 0:t.length)??0,s=new Map;let o=-1,n=-1;for(let r=0;r<i;++r){const l=t[r],a=l.data;a!==e[r]&&(n<0&&(o=r),n=r,s.set(a,l))}if(o<0)return!1;for(let r=o;r<=n;++r){const l=s.get(e[r]);l!==void 0&&(t[r]=l,l.sourceRowIndex=r)}return!0}isRowCountReady(){return this.rowCountReady}dispatchRowDataUpdateStartedEvent(e){this.eventService.dispatchEvent({type:"rowDataUpdateStarted",firstRowData:e!=null&&e.length?e[0]:null})}updateSelection(e,t){const i=e.length>0;i&&this.selectionService.setNodesSelected({newValue:!1,nodes:e,suppressFinishActions:!0,source:t}),this.selectionService.updateGroupsFromChildrenSelections(t),i&&this.eventService.dispatchEvent({type:"selectionChanged",source:t})}executeAdd(e,t){const i=e.add;if(Me(i))return;const s=this.rootNode.allLeafChildren;let o=s.length;if(typeof e.addIndex=="number"&&(o=this.sanitizeAddIndex(e.addIndex),o>0)&&this.gos.get("treeData"))for(let l=0;l<s.length;l++){const a=s[l];if((a==null?void 0:a.rowIndex)==o-1){o=l+1;break}}const n=i.map((l,a)=>this.createNode(l,this.rootNode,0,o+a));if(o<s.length){const l=s.slice(0,o),a=s.slice(o,s.length),h=l.length+n.length;for(let d=0,c=a.length;d<c;++d)a[d].sourceRowIndex=h+d;this.rootNode.allLeafChildren=[...l,...n,...a],t.rowsInserted=!0}else this.rootNode.allLeafChildren=s.concat(n);const r=this.rootNode.sibling;r&&(r.allLeafChildren=s),t.rowNodeTransaction.add=n}sanitizeAddIndex(e){var i;const t=((i=this.rootNode.allLeafChildren)==null?void 0:i.length)??0;return e<0||e>=t||Number.isNaN(e)?t:Math.ceil(e)}executeRemove(e,{rowNodeTransaction:t},i){var r,l;const{remove:s}=e;if(Me(s))return;const o={};s.forEach(a=>{const h=this.lookupRowNode(a);h&&(h.isSelected()&&i.push(h),h.clearRowTopAndRowIndex(),o[h.id]=!0,delete this.allNodesMap[h.id],t.remove.push(h))}),this.rootNode.allLeafChildren=((r=this.rootNode.allLeafChildren)==null?void 0:r.filter(a=>!o[a.id]))??null,(l=this.rootNode.allLeafChildren)==null||l.forEach((a,h)=>{a.sourceRowIndex=h});const n=this.rootNode.sibling;n&&(n.allLeafChildren=this.rootNode.allLeafChildren)}executeUpdate(e,{rowNodeTransaction:t},i){const{update:s}=e;Me(s)||s.forEach(o=>{const n=this.lookupRowNode(o);n&&(n.updateData(o),!n.selectable&&n.isSelected()&&i.push(n),this.setMasterForRow(n,o,0,!1),t.update.push(n))})}lookupRowNode(e){var s;const t=Nt(this.gos);let i;if(t){const o=t({data:e,level:0});if(i=this.allNodesMap[o],!i)return Q(`could not find row id=${o}, data item was not found for this id`),null}else if(i=(s=this.rootNode.allLeafChildren)==null?void 0:s.find(o=>o.data===e),!i)return Q("could not find data item as object was not found",e),Q("Consider using getRowId to help the Grid find matching row data"),null;return i||null}createNode(e,t,i,s){const o=new nt(this.beans);return o.sourceRowIndex=s,o.group=!1,this.setMasterForRow(o,e,i,!0),t&&(o.parent=t),o.level=i,o.setDataAndId(e,this.nextId.toString()),this.allNodesMap[o.id]&&R(`duplicate node id '${o.id}' detected from getRowId callback, this could cause issues in your grid.`),this.allNodesMap[o.id]=o,this.nextId++,o}setMasterForRow(e,t,i,s){if(this.gos.get("treeData"))e.setMaster(!1),s&&(e.expanded=!1);else{if(this.gos.get("masterDetail")){const o=this.gos.get("isRowMaster");o?e.setMaster(o(t)):e.setMaster(!0)}else e.setMaster(!1);if(s){const o=this.funcColsService.getRowGroupColumns(),n=i+(o?o.length:0);e.expanded=!!e.master&&this.isExpanded(n)}}}isExpanded(e){const t=this.gos.get("groupDefaultExpanded");return t===-1||e<t}},So="32.3.7",Yr={version:So,moduleName:"@ag-grid-community/client-side-row-model-core",rowModel:"clientSide",beans:[class extends b{constructor(){super(...arguments),this.beanName="rowModel",this.onRowHeightChanged_debounced=Se(this.onRowHeightChanged.bind(this),100),this.rowsToDisplay=[],this.hasStarted=!1,this.shouldSkipSettingDataOnStart=!1,this.isRefreshingModel=!1,this.rowCountReady=!1}wireBeans(e){this.beans=e,this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.selectionService=e.selectionService,this.valueCache=e.valueCache,this.environment=e.environment,this.filterStage=e.filterStage,this.sortStage=e.sortStage,this.flattenStage=e.flattenStage,this.groupStage=e.groupStage,this.aggregationStage=e.aggregationStage,this.pivotStage=e.pivotStage,this.filterAggregatesStage=e.filterAggregatesStage}postConstruct(){const e=this.refreshModel.bind(this,{step:"group"}),t=!this.gos.get("suppressAnimationFrame"),i=this.refreshModel.bind(this,{step:"group",afterColumnsChanged:!0,keepRenderedRows:!0,animate:t});this.addManagedEventListeners({newColumnsLoaded:i,columnRowGroupChanged:e,columnValueChanged:this.onValueChanged.bind(this),columnPivotChanged:this.refreshModel.bind(this,{step:"pivot"}),filterChanged:this.onFilterChanged.bind(this),sortChanged:this.onSortChanged.bind(this),columnPivotModeChanged:e,gridStylesChanged:this.onGridStylesChanges.bind(this),gridReady:this.onGridReady.bind(this)}),this.addPropertyListeners(),this.rootNode=new nt(this.beans),this.nodeManager=new Dc(this.rootNode,this.gos,this.eventService,this.funcColsService,this.selectionService,this.beans)}addPropertyListeners(){const e=new Set(["treeData","masterDetail"]),t=new Set(["groupDefaultExpanded","groupAllowUnbalanced","initialGroupOrderComparator","groupHideOpenParents","groupDisplayType"]),i=new Set(["excludeChildrenWhenTreeDataFiltering"]),s=new Set(["removePivotHeaderRowWhenSingleValueColumn","pivotRowTotals","pivotColumnGroupTotals","suppressExpandablePivotGroups"]),o=new Set(["getGroupRowAgg","alwaysAggregateAtRootLevel","groupIncludeTotalFooter","suppressAggFilteredOnly","grandTotalRow"]),n=new Set(["postSortRows","groupDisplayType","accentedSort"]),r=new Set([]),l=new Set(["groupRemoveSingleChildren","groupRemoveLowestSingleChildren","groupIncludeFooter","groupTotalRow"]),a=[...e,...t,...i,...s,...s,...o,...n,...r,...l];this.addManagedPropertyListeners(a,h=>{var u;const d=(u=h.changeSet)==null?void 0:u.properties;if(!d)return;const c=g=>d.some(m=>g.has(m));c(e)?this.setRowData(this.rootNode.allLeafChildren.map(g=>g.data)):c(t)?this.refreshModel({step:"group"}):c(i)?this.refreshModel({step:"filter"}):c(s)?this.refreshModel({step:"pivot"}):c(o)?this.refreshModel({step:"aggregate"}):c(n)?this.refreshModel({step:"sort"}):c(r)?this.refreshModel({step:"filter_aggregates"}):c(l)&&this.refreshModel({step:"map"})}),this.addManagedPropertyListener("rowHeight",()=>this.resetRowHeights())}start(){this.hasStarted=!0,this.shouldSkipSettingDataOnStart?this.dispatchUpdateEventsAndRefresh():this.setInitialData()}setInitialData(){const e=this.gos.get("rowData");e&&(this.shouldSkipSettingDataOnStart=!0,this.setRowData(e))}ensureRowHeightsValid(e,t,i,s){let o,n=!1;do{o=!1;const r=this.getRowIndexAtPixel(e),l=this.getRowIndexAtPixel(t),a=Math.max(r,i),h=Math.min(l,s);for(let d=a;d<=h;d++){const c=this.getRow(d);if(c.rowHeightEstimated){const u=lt(this.gos,c);c.setRowHeight(u.height),o=!0,n=!0}}o&&this.setRowTopAndRowIndex()}while(o);return n}setRowTopAndRowIndex(){const e=this.environment.getDefaultRowHeight();let t=0;const i=new Set,s=Ce(this.gos,"normal");for(let o=0;o<this.rowsToDisplay.length;o++){const n=this.rowsToDisplay[o];if(n.id!=null&&i.add(n.id),n.rowHeight==null){const r=lt(this.gos,n,s,e);n.setRowHeight(r.height,r.estimated)}n.setRowTop(t),n.setRowIndex(o),t+=n.rowHeight}return i}clearRowTopAndRowIndex(e,t){const i=e.isActive(),s=n=>{n&&n.id!=null&&!t.has(n.id)&&n.clearRowTopAndRowIndex()},o=n=>{if(s(n),s(n.detailNode),s(n.sibling),n.hasChildren()&&n.childrenAfterGroup){const r=n.level==-1;i&&!r&&!n.expanded||n.childrenAfterGroup.forEach(o)}};o(this.rootNode)}ensureRowsAtPixel(e,t,i=0){const s=this.getRowIndexAtPixel(t),o=this.getRow(s),n=!this.gos.get("suppressAnimationFrame");if(o===e[0])return!1;const r=this.rootNode.allLeafChildren;return e.forEach(l=>{ye(r,l)}),e.forEach((l,a)=>{Oi(r,l,Math.max(s+i,0)+a)}),e.forEach((l,a)=>{l.sourceRowIndex=a}),this.refreshModel({step:"group",keepRenderedRows:!0,keepEditingRows:!0,animate:n,rowNodesOrderChanged:!0}),!0}highlightRowAtPixel(e,t){const i=t!=null?this.getRowIndexAtPixel(t):null,s=i!=null?this.getRow(i):null;if(!s||!e||t==null)return void this.clearHighlightedRow();const o=this.getHighlightPosition(t,s),n=this.isHighlightingCurrentPosition(e,s,o),r=this.lastHighlightedRow!=null&&this.lastHighlightedRow!==s;(n||r)&&(this.clearHighlightedRow(),n)||(s.setHighlighted(o),this.lastHighlightedRow=s)}getHighlightPosition(e,t){if(!t){const o=this.getRowIndexAtPixel(e);if(!(t=this.getRow(o||0)))return 1}const{rowTop:i,rowHeight:s}=t;return e-i<s/2?0:1}getLastHighlightedRowNode(){return this.lastHighlightedRow}isHighlightingCurrentPosition(e,t,i){if(e===t)return!0;const s=i===0?-1:1;return this.getRow(t.rowIndex+s)===e}clearHighlightedRow(){this.lastHighlightedRow&&(this.lastHighlightedRow.setHighlighted(null),this.lastHighlightedRow=null)}isLastRowIndexKnown(){return!0}getRowCount(){return this.rowsToDisplay?this.rowsToDisplay.length:0}getTopLevelRowCount(){if(this.rowsToDisplay.length===0)return 0;if(this.rowsToDisplay&&this.rowsToDisplay[0]===this.rootNode)return 1;const e=this.rootNode.childrenAfterAggFilter,t=this.rootNode.sibling?1:0;return(e?e.length:0)+t}getTopLevelRowDisplayedIndex(e){if(this.rowsToDisplay&&this.rowsToDisplay[0]===this.rootNode)return e;let t=e;if(this.rowsToDisplay[0].footer){if(e===0)return 0;t-=1}const i=this.rowsToDisplay[this.rowsToDisplay.length-1],s=t>=this.rootNode.childrenAfterSort.length;if(i.footer&&s)return i.rowIndex;let o=this.rootNode.childrenAfterSort[t];if(this.gos.get("groupHideOpenParents"))for(;o.expanded&&o.childrenAfterSort&&o.childrenAfterSort.length>0;)o=o.childrenAfterSort[0];return o.rowIndex}getRowBounds(e){if(K(this.rowsToDisplay))return null;const t=this.rowsToDisplay[e];return t?{rowTop:t.rowTop,rowHeight:t.rowHeight}:null}onRowGroupOpened(){const e=Gt(this.gos);this.refreshModel({step:"map",keepRenderedRows:!0,animate:e})}onFilterChanged(e){if(e.afterDataChange)return;const t=Gt(this.gos),i=e.columns.length===0||e.columns.some(s=>s.isPrimary())?"filter":"filter_aggregates";this.refreshModel({step:i,keepRenderedRows:!0,animate:t})}onSortChanged(){const e=Gt(this.gos);this.refreshModel({step:"sort",keepRenderedRows:!0,animate:e,keepEditingRows:!0})}getType(){return"clientSide"}onValueChanged(){this.columnModel.isPivotActive()?this.refreshModel({step:"pivot"}):this.refreshModel({step:"aggregate"})}createChangePath(e){const t=Me(e),i=new ns(!1,this.rootNode);return t&&i.setInactive(),i}isSuppressModelUpdateAfterUpdateTransaction(e){if(!this.gos.get("suppressModelUpdateAfterUpdateTransaction")||e.rowNodeTransactions==null)return!1;const t=e.rowNodeTransactions.filter(i=>i.add!=null&&i.add.length>0||i.remove!=null&&i.remove.length>0);return t==null||t.length==0}buildRefreshModelParams(e){let t="group";const i={everything:"group",group:"group",filter:"filter",map:"map",aggregate:"aggregate",filter_aggregates:"filter_aggregates",sort:"sort",pivot:"pivot",nothing:"nothing"};return M(e)&&(t=i[e]),K(t)?void Q(`invalid step ${e}, available steps are ${Object.keys(i).join(", ")}`):{step:t,keepRenderedRows:!0,keepEditingRows:!0,animate:!this.gos.get("suppressAnimationFrame")}}refreshModel(e){if(!this.hasStarted||this.isRefreshingModel||this.columnModel.isChangeEventsDispatching())return;const t=typeof e=="object"&&"step"in e?e:this.buildRefreshModelParams(e);if(!t||this.isSuppressModelUpdateAfterUpdateTransaction(t))return;const i=this.createChangePath(t.rowNodeTransactions);switch(this.isRefreshingModel=!0,t.step){case"group":this.doRowGrouping(t.rowNodeTransactions,i,!!t.rowNodesOrderChanged,!!t.afterColumnsChanged);case"filter":this.doFilter(i);case"pivot":this.doPivot(i);case"aggregate":this.doAggregate(i);case"filter_aggregates":this.doFilterAggregates(i);case"sort":this.doSort(t.rowNodeTransactions,i);case"map":this.doRowsToDisplay()}const s=this.setRowTopAndRowIndex();this.clearRowTopAndRowIndex(i,s),this.isRefreshingModel=!1,this.eventService.dispatchEvent({type:"modelUpdated",animate:t.animate,keepRenderedRows:t.keepRenderedRows,newData:t.newData,newPage:!1,keepUndoRedoStack:t.keepUndoRedoStack})}isEmpty(){const e=K(this.rootNode.allLeafChildren)||this.rootNode.allLeafChildren.length===0;return K(this.rootNode)||e||!this.columnModel.isReady()}isRowsToRender(){return M(this.rowsToDisplay)&&this.rowsToDisplay.length>0}getNodesInRangeForSelection(e,t){let i=!1,s=!1;const o=[],n=St(this.gos);return this.forEachNodeAfterFilterAndSort(r=>{if(!s){if(i&&(r===t||r===e)&&(s=!0,r.group&&n))return void o.push(...r.allLeafChildren);if(!i){if(r!==t&&r!==e)return;i=!0}(!r.group||!n)&&o.push(r)}}),o}setDatasource(e){Q("should never call setDatasource on clientSideRowController")}getTopLevelNodes(){return this.rootNode?this.rootNode.childrenAfterGroup:null}getRootNode(){return this.rootNode}getRow(e){return this.rowsToDisplay[e]}isRowPresent(e){return this.rowsToDisplay.indexOf(e)>=0}getRowIndexAtPixel(e){if(this.isEmpty()||this.rowsToDisplay.length===0)return-1;let t=0,i=this.rowsToDisplay.length-1;if(e<=0)return 0;if($(this.rowsToDisplay).rowTop<=e)return this.rowsToDisplay.length-1;let s=-1,o=-1;for(;;){const n=Math.floor((t+i)/2),r=this.rowsToDisplay[n];if(this.isRowInPixel(r,e)||(r.rowTop<e?t=n+1:r.rowTop>e&&(i=n-1),s===t&&o===i))return n;s=t,o=i}}isRowInPixel(e,t){const i=e.rowTop,s=e.rowTop+e.rowHeight;return i<=t&&s>t}forEachLeafNode(e){this.rootNode.allLeafChildren&&this.rootNode.allLeafChildren.forEach((t,i)=>e(t,i))}forEachNode(e,t=!1){this.recursivelyWalkNodesAndCallback({nodes:[...this.rootNode.childrenAfterGroup||[]],callback:e,recursionType:0,index:0,includeFooterNodes:t})}forEachNodeAfterFilter(e,t=!1){this.recursivelyWalkNodesAndCallback({nodes:[...this.rootNode.childrenAfterAggFilter||[]],callback:e,recursionType:1,index:0,includeFooterNodes:t})}forEachNodeAfterFilterAndSort(e,t=!1){this.recursivelyWalkNodesAndCallback({nodes:[...this.rootNode.childrenAfterSort||[]],callback:e,recursionType:2,index:0,includeFooterNodes:t})}forEachPivotNode(e,t=!1){this.recursivelyWalkNodesAndCallback({nodes:[this.rootNode],callback:e,recursionType:3,index:0,includeFooterNodes:t})}recursivelyWalkNodesAndCallback(e){const{nodes:t,callback:i,recursionType:s,includeFooterNodes:o}=e;let{index:n}=e;const r=l=>{var u;const a=(u=t[0])==null?void 0:u.parent;if(!a)return;const h=o&&Uo(this.gos),d=Ko(this.gos),c=o&&d({node:a});a===this.rootNode?h===l&&(a.createFooter(),i(a.sibling,n++)):c===l&&(a.createFooter(),i(a.sibling,n++))};r("top");for(let l=0;l<t.length;l++){const a=t[l];if(i(a,n++),a.hasChildren()&&!a.footer){let h=null;switch(s){case 0:h=a.childrenAfterGroup;break;case 1:h=a.childrenAfterAggFilter;break;case 2:h=a.childrenAfterSort;break;case 3:h=a.leafGroup?null:a.childrenAfterSort}h&&(n=this.recursivelyWalkNodesAndCallback({nodes:[...h],callback:i,recursionType:s,index:n,includeFooterNodes:o}))}}return r("bottom"),n}doAggregate(e){var t;(t=this.aggregationStage)==null||t.execute({rowNode:this.rootNode,changedPath:e})}doFilterAggregates(e){this.filterAggregatesStage?this.filterAggregatesStage.execute({rowNode:this.rootNode,changedPath:e}):this.rootNode.childrenAfterAggFilter=this.rootNode.childrenAfterFilter}expandOrCollapseAll(e){const t=this.gos.get("treeData"),i=this.columnModel.isPivotActive(),s=o=>{o&&o.forEach(n=>{const r=()=>{n.expanded=e,s(n.childrenAfterGroup)};if(t)return void(M(n.childrenAfterGroup)&&r());if(i)return void(!n.leafGroup&&r());n.group&&r()})};this.rootNode&&s(this.rootNode.childrenAfterGroup),this.refreshModel({step:"map"}),this.eventService.dispatchEvent({type:"expandOrCollapseAll",source:e?"expandAll":"collapseAll"})}doSort(e,t){this.sortStage.execute({rowNode:this.rootNode,rowNodeTransactions:e,changedPath:t})}doRowGrouping(e,t,i,s){if(this.groupStage)e?this.groupStage.execute({rowNode:this.rootNode,rowNodeTransactions:e,rowNodesOrderChanged:i,changedPath:t}):this.groupStage.execute({rowNode:this.rootNode,changedPath:t,afterColumnsChanged:s}),St(this.gos)&&this.selectionService.updateGroupsFromChildrenSelections("rowGroupChanged",t)&&this.eventService.dispatchEvent({type:"selectionChanged",source:"rowGroupChanged"});else{const o=this.rootNode,n=o.sibling;o.childrenAfterGroup=o.allLeafChildren,n&&(n.childrenAfterGroup=o.childrenAfterGroup),this.rootNode.updateHasChildren()}this.nodeManager.isRowCountReady()&&(this.rowCountReady=!0,this.eventService.dispatchEventOnce({type:"rowCountReady"}))}doFilter(e){this.filterStage.execute({rowNode:this.rootNode,changedPath:e})}doPivot(e){var t;(t=this.pivotStage)==null||t.execute({rowNode:this.rootNode,changedPath:e})}getNodeManager(){return this.nodeManager}getRowNode(e){if(typeof e=="string"&&e.indexOf(nt.ID_PREFIX_ROW_GROUP)==0){let t;return this.forEachNode(i=>{i.id===e&&(t=i)}),t}return this.nodeManager.getRowNode(e)}setRowData(e){this.selectionService.reset("rowDataChanged"),this.nodeManager.setRowData(e),this.hasStarted&&this.dispatchUpdateEventsAndRefresh()}dispatchUpdateEventsAndRefresh(){this.eventService.dispatchEvent({type:"rowDataUpdated"}),this.refreshModel({step:"group",newData:!0})}batchUpdateRowData(e,t){if(this.applyAsyncTransactionsTimeout==null){this.rowDataTransactionBatch=[];const i=this.gos.get("asyncTransactionWaitMillis");this.applyAsyncTransactionsTimeout=window.setTimeout(()=>{this.isAlive()&&this.executeBatchUpdateRowData()},i)}this.rowDataTransactionBatch.push({rowDataTransaction:e,callback:t})}flushAsyncTransactions(){this.applyAsyncTransactionsTimeout!=null&&(clearTimeout(this.applyAsyncTransactionsTimeout),this.executeBatchUpdateRowData())}executeBatchUpdateRowData(){var s;this.valueCache.onDataChanged();const e=[],t=[];let i=!1;(s=this.rowDataTransactionBatch)==null||s.forEach(o=>{const{rowNodeTransaction:n,rowsInserted:r}=this.nodeManager.updateRowData(o.rowDataTransaction);r&&(i=!0),t.push(n),o.callback&&e.push(o.callback.bind(null,n))}),this.commonUpdateRowData(t,i),e.length>0&&window.setTimeout(()=>{e.forEach(o=>o())},0),t.length>0&&this.eventService.dispatchEvent({type:"asyncTransactionsFlushed",results:t}),this.rowDataTransactionBatch=null,this.applyAsyncTransactionsTimeout=void 0}updateRowData(e){this.valueCache.onDataChanged();const{rowNodeTransaction:t,rowsInserted:i}=this.nodeManager.updateRowData(e);return this.commonUpdateRowData([t],i),t}afterImmutableDataChange(e,t){this.commonUpdateRowData([e],t)}commonUpdateRowData(e,t){if(!this.hasStarted)return;const i=!this.gos.get("suppressAnimationFrame");this.eventService.dispatchEvent({type:"rowDataUpdated"}),this.refreshModel({step:"group",rowNodeTransactions:e,rowNodesOrderChanged:t,keepRenderedRows:!0,keepEditingRows:!0,animate:i})}doRowsToDisplay(){this.rowsToDisplay=this.flattenStage.execute({rowNode:this.rootNode})}onRowHeightChanged(){this.refreshModel({step:"map",keepRenderedRows:!0,keepEditingRows:!0,keepUndoRedoStack:!0})}onRowHeightChangedDebounced(){this.onRowHeightChanged_debounced()}resetRowHeights(){const e=this.resetRowHeightsForAllRowNodes();this.rootNode.setRowHeight(this.rootNode.rowHeight,!0),this.rootNode.sibling&&this.rootNode.sibling.setRowHeight(this.rootNode.sibling.rowHeight,!0),e&&this.onRowHeightChanged()}resetRowHeightsForAllRowNodes(){let e=!1;return this.forEachNode(t=>{t.setRowHeight(t.rowHeight,!0);const i=t.detailNode;i&&i.setRowHeight(i.rowHeight,!0),t.sibling&&t.sibling.setRowHeight(t.sibling.rowHeight,!0),e=!0}),e}onGridStylesChanges(e){if(e.rowHeightChanged){if(this.columnModel.isAutoRowHeightActive())return;this.resetRowHeights()}}onGridReady(){this.hasStarted||this.setInitialData()}isRowDataLoaded(){return this.rowCountReady}destroy(){super.destroy(),this.clearHighlightedRow()}},class extends b{constructor(){super(...arguments),this.beanName="filterStage"}wireBeans(e){this.filterManager=e.filterManager}execute(e){const{changedPath:t}=e;this.filter(t)}filter(e){var i;const t=!!((i=this.filterManager)!=null&&i.isChildFilterPresent());this.filterNodes(t,e)}filterNodes(e,t){const i=(s,o)=>{s.hasChildren()?s.childrenAfterFilter=e&&!o?s.childrenAfterGroup.filter(n=>{const r=n.childrenAfterFilter&&n.childrenAfterFilter.length>0,l=n.data&&this.filterManager.doesRowPassFilter({rowNode:n});return r||l}):s.childrenAfterGroup:s.childrenAfterFilter=s.childrenAfterGroup,s.sibling&&(s.sibling.childrenAfterFilter=s.childrenAfterFilter)};if(this.doingTreeDataFiltering()){const s=(n,r)=>{if(n.childrenAfterGroup)for(let l=0;l<n.childrenAfterGroup.length;l++){const a=n.childrenAfterGroup[l],h=r||this.filterManager.doesRowPassFilter({rowNode:a});a.childrenAfterGroup?s(n.childrenAfterGroup[l],h):i(a,h)}i(n,r)},o=n=>s(n,!1);t.executeFromRootNode(o)}else{const s=o=>i(o,!1);t.forEachChangedNodeDepthFirst(s,!0)}}doingTreeDataFiltering(){return this.gos.get("treeData")&&!this.gos.get("excludeChildrenWhenTreeDataFiltering")}},class extends b{constructor(){super(...arguments),this.beanName="sortStage"}wireBeans(e){this.sortService=e.sortService,this.sortController=e.sortController}execute(e){const t=this.sortController.getSortOptions(),i=M(t)&&t.length>0,s=i&&M(e.rowNodeTransactions)&&this.gos.get("deltaSort"),o=t.some(n=>$e(this.gos)?n.column.isPrimary()&&n.column.isRowGroupActive():!!n.column.getColDef().showRowGroup);this.sortService.sort(t,i,s,e.rowNodeTransactions,e.changedPath,o)}},class extends b{constructor(){super(...arguments),this.beanName="flattenStage"}wireBeans(e){this.beans=e,this.columnModel=e.columnModel}execute(e){const t=e.rowNode,i=[],s=this.columnModel.isPivotMode(),o=s&&t.leafGroup,n=o?[t]:t.childrenAfterSort,r=this.getFlattenDetails();if(this.recursivelyAddToRowsToDisplay(r,n,i,s,0),!o&&i.length>0&&r.grandTotalRow){t.createFooter();const l=r.grandTotalRow==="top";this.addRowNodeToRowsToDisplay(r,t.sibling,i,0,l)}return i}getFlattenDetails(){const e=this.gos.get("groupRemoveSingleChildren");return{groupRemoveLowestSingleChildren:!e&&this.gos.get("groupRemoveLowestSingleChildren"),groupRemoveSingleChildren:e,isGroupMultiAutoColumn:$o(this.gos),hideOpenParents:this.gos.get("groupHideOpenParents"),grandTotalRow:Uo(this.gos),groupTotalRow:Ko(this.gos)}}recursivelyAddToRowsToDisplay(e,t,i,s,o){if(!Me(t))for(let n=0;n<t.length;n++){const r=t[n],l=r.hasChildren(),a=s&&!l,h=e.groupRemoveSingleChildren&&l&&r.childrenAfterGroup.length===1,d=e.groupRemoveLowestSingleChildren&&l&&r.leafGroup&&r.childrenAfterGroup.length===1,c=s&&r.leafGroup,u=e.hideOpenParents&&r.expanded&&!r.master&&!c;if(!(a||u||h||d)&&this.addRowNodeToRowsToDisplay(e,r,i,o),!s||!r.leafGroup){if(l){const g=h||d;if(r.expanded||g){const m=e.groupTotalRow({node:r});m||r.destroyFooter();const f=g?o:o+1;m==="top"&&(r.createFooter(),this.addRowNodeToRowsToDisplay(e,r.sibling,i,f)),this.recursivelyAddToRowsToDisplay(e,r.childrenAfterSort,i,s,f),m==="bottom"&&(r.createFooter(),this.addRowNodeToRowsToDisplay(e,r.sibling,i,f))}}else if(r.master&&r.expanded){const g=this.createDetailNode(r);this.addRowNodeToRowsToDisplay(e,g,i,o)}}}}addRowNodeToRowsToDisplay(e,t,i,s,o){o?i.unshift(t):i.push(t),t.setUiLevel(e.isGroupMultiAutoColumn?0:s)}createDetailNode(e){if(M(e.detailNode))return e.detailNode;const t=new nt(this.beans);return t.detail=!0,t.selectable=!1,t.parent=e,M(e.id)&&(t.id="detail_"+e.id),t.data=e.data,t.level=e.level+1,e.detailNode=t,t}},class extends b{constructor(){super(...arguments),this.beanName="sortService"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.rowNodeSorter=e.rowNodeSorter,this.showRowGroupColsService=e.showRowGroupColsService}sort(e,t,i,s,o,n){const r=this.gos.get("groupMaintainOrder"),l=this.columnModel.getCols().some(u=>u.isRowGroupActive());let a={};i&&s&&(a=this.calculateDirtyNodes(s));const h=this.columnModel.isPivotMode(),d=this.gos.getCallback("postSortRows"),c=u=>{var m;this.pullDownGroupDataForHideOpenParents(u.childrenAfterAggFilter,!0);const g=h&&u.leafGroup;if(r&&l&&!u.leafGroup&&!n){const f=(m=this.funcColsService.getRowGroupColumns())==null?void 0:m[u.level+1],C=(f==null?void 0:f.getSort())===null,v=u.childrenAfterAggFilter.slice(0);if(u.childrenAfterSort&&!C){const w={};u.childrenAfterSort.forEach((P,S)=>{w[P.id]=S}),v.sort((P,S)=>(w[P.id]??0)-(w[S.id]??0))}u.childrenAfterSort=v}else u.childrenAfterSort=!t||g?u.childrenAfterAggFilter.slice(0):i?this.doDeltaSort(u,a,o,e):this.rowNodeSorter.doFullSort(u.childrenAfterAggFilter,e);if(u.sibling&&(u.sibling.childrenAfterSort=u.childrenAfterSort),this.updateChildIndexes(u),d){const f={nodes:u.childrenAfterSort};d(f)}};o&&o.forEachChangedNodeDepthFirst(c),this.updateGroupDataForHideOpenParents(o)}calculateDirtyNodes(e){const t={},i=s=>{s&&s.forEach(o=>t[o.id]=!0)};return e&&e.forEach(s=>{i(s.add),i(s.update),i(s.remove)}),t}doDeltaSort(e,t,i,s){const o=e.childrenAfterAggFilter,n=e.childrenAfterSort;if(!n)return this.rowNodeSorter.doFullSort(o,s);const r={},l=[];o.forEach(c=>{t[c.id]||!i.canSkip(c)?l.push(c):r[c.id]=!0});const a=n.filter(c=>r[c.id]),h=(c,u)=>({currentPos:u,rowNode:c}),d=l.map(h).sort((c,u)=>this.rowNodeSorter.compareRowNodes(s,c,u));return this.mergeSortedArrays(s,d,a.map(h)).map(({rowNode:c})=>c)}mergeSortedArrays(e,t,i){const s=[];let o=0,n=0;for(;o<t.length&&n<i.length;)this.rowNodeSorter.compareRowNodes(e,t[o],i[n])<0?s.push(t[o++]):s.push(i[n++]);for(;o<t.length;)s.push(t[o++]);for(;n<i.length;)s.push(i[n++]);return s}updateChildIndexes(e){if(K(e.childrenAfterSort))return;const t=e.childrenAfterSort;for(let i=0;i<t.length;i++){const s=t[i],o=i===0,n=i===e.childrenAfterSort.length-1;s.setFirstChild(o),s.setLastChild(n),s.setChildIndex(i)}}updateGroupDataForHideOpenParents(e){if(!this.gos.get("groupHideOpenParents"))return;if(this.gos.get("treeData"))return R("The property hideOpenParents dose not work with Tree Data. This is because Tree Data has values at the group level, it doesn't make sense to hide them."),!1;const t=i=>{this.pullDownGroupDataForHideOpenParents(i.childrenAfterSort,!1),i.childrenAfterSort.forEach(s=>{s.hasChildren()&&t(s)})};e&&e.executeFromRootNode(i=>t(i))}pullDownGroupDataForHideOpenParents(e,t){this.gos.get("groupHideOpenParents")&&!K(e)&&e.forEach(i=>{var s;(((s=this.showRowGroupColsService)==null?void 0:s.getShowRowGroupCols())??[]).forEach(o=>{const n=o.getColDef().showRowGroup;if(typeof n!="string")return void Q("groupHideOpenParents only works when specifying specific columns for colDef.showRowGroup");const r=n,l=this.columnModel.getColDefCol(r);if(l!==i.rowGroupColumn)if(t)i.setGroupValue(o.getId(),void 0);else{const a=this.getFirstChildOfFirstChild(i,l);a&&i.setGroupValue(o.getId(),a.key)}})})}getFirstChildOfFirstChild(e,t){let i=e;for(;i;){const s=i.parent;if(!s||!i.firstChild)return null;if(s.rowGroupColumn===t)return s;i=s}return null}},class extends b{constructor(){super(...arguments),this.beanName="immutableService"}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}postConstruct(){ie(this.gos)&&(this.clientSideRowModel=this.rowModel,this.addManagedPropertyListener("rowData",()=>this.onRowDataUpdated()))}isActive(){const e=this.gos.exists("getRowId");return!this.gos.get("resetRowDataOnUpdate")&&e}setRowData(e){const t=this.createTransactionForRowData(e);if(!t)return;const i=this.clientSideRowModel.getNodeManager(),{rowNodeTransaction:s,rowsInserted:o}=i.updateRowData(t);let n=!1;this.gos.get("suppressMaintainUnsortedOrder")||(n=i.updateRowOrderFromRowData(e)),this.clientSideRowModel.afterImmutableDataChange(s,n||o)}createTransactionForRowData(e){if(!ie(this.gos))return Q("ImmutableService only works with ClientSideRowModel"),null;const t=Nt(this.gos);if(t==null)return Q("ImmutableService requires getRowId() callback to be implemented, your row data needs IDs!"),null;const i=this.clientSideRowModel.getNodeManager().getCopyOfNodesMap(),s=[],o=[],n=[];return M(e)&&e.forEach(r=>{const l=t({data:r,level:0}),a=i[l];a?(a.data!==r&&o.push(r),i[l]=void 0):n.push(r)}),Be(i,(r,l)=>{l&&s.push(l.data)}),{remove:s,update:o,add:n}}onRowDataUpdated(){const e=this.gos.get("rowData");e&&(this.isActive()?this.setRowData(e):(this.selectionService.reset("rowDataChanged"),this.clientSideRowModel.setRowData(e)))}}]},Ec={version:So,moduleName:"@ag-grid-community/client-side-row-model",dependantModules:[Yr,{version:So,moduleName:"@ag-grid-community/client-side-row-model-api",beans:[Qr],apiFunctions:{onGroupExpandedOrCollapsed:function(e){e.expansionService.onGroupExpandedOrCollapsed()},refreshClientSideRowModel:function(e,t){var i,s;(s=(i=e.rowModelHelperService)==null?void 0:i.getClientSideRowModel())==null||s.refreshModel(t)},isRowDataEmpty:function(e){var t,i;return((i=(t=e.rowModelHelperService)==null?void 0:t.getClientSideRowModel())==null?void 0:i.isEmpty())??!0},forEachLeafNode:function(e,t){var i,s;(s=(i=e.rowModelHelperService)==null?void 0:i.getClientSideRowModel())==null||s.forEachLeafNode(t)},forEachNodeAfterFilter:function(e,t){var i,s;(s=(i=e.rowModelHelperService)==null?void 0:i.getClientSideRowModel())==null||s.forEachNodeAfterFilter(t)},forEachNodeAfterFilterAndSort:function(e,t){var i,s;(s=(i=e.rowModelHelperService)==null?void 0:i.getClientSideRowModel())==null||s.forEachNodeAfterFilterAndSort(t)},resetRowHeights:function(e){var t,i;e.columnModel.isAutoRowHeightActive()?R("calling gridApi.resetRowHeights() makes no sense when using Auto Row Height."):(i=(t=e.rowModelHelperService)==null?void 0:t.getClientSideRowModel())==null||i.resetRowHeights()},applyTransaction:function(e,t){return e.frameworkOverrides.wrapIncoming(()=>{var i,s;return(s=(i=e.rowModelHelperService)==null?void 0:i.getClientSideRowModel())==null?void 0:s.updateRowData(t)})},applyTransactionAsync:function(e,t,i){e.frameworkOverrides.wrapIncoming(()=>{var s,o;return(o=(s=e.rowModelHelperService)==null?void 0:s.getClientSideRowModel())==null?void 0:o.batchUpdateRowData(t,i)})},flushAsyncTransactions:function(e){e.frameworkOverrides.wrapIncoming(()=>{var t,i;return(i=(t=e.rowModelHelperService)==null?void 0:t.getClientSideRowModel())==null?void 0:i.flushAsyncTransactions()})},getBestCostNodeSelection:function(e){return e.selectionService.getBestCostNodeSelection()}},dependantModules:[Yr,Rc]}]},Mc=class extends b{setBeans(e){this.beans=e}getFileName(e){const t=this.getDefaultFileExtension();return e!=null&&e.length||(e=this.getDefaultFileName()),e.indexOf(".")===-1?`${e}.${t}`:e}getData(e){const t=this.createSerializingSession(e);return this.beans.gridSerializer.serialize(t,e)}getDefaultFileName(){return`export.${this.getDefaultFileExtension()}`}},xc=class{constructor(e){this.groupColumns=[];const{columnModel:t,funcColsService:i,columnNameService:s,valueService:o,gos:n,processCellCallback:r,processHeaderCallback:l,processGroupHeaderCallback:a,processRowGroupCallback:h}=e;this.columnModel=t,this.funcColsService=i,this.columnNameService=s,this.valueService=o,this.gos=n,this.processCellCallback=r,this.processHeaderCallback=l,this.processGroupHeaderCallback=a,this.processRowGroupCallback=h}prepare(e){this.groupColumns=e.filter(t=>!!t.getColDef().showRowGroup)}extractHeaderValue(e){return this.getHeaderName(this.processHeaderCallback,e)??""}extractRowCellValue(e,t,i,s,o){const n=this.gos.get("groupHideOpenParents")&&!o.footer||!this.shouldRenderGroupSummaryCell(o,e,t)?this.valueService.getValue(e,o):this.createValueForGroupNode(e,o);return this.processCell({accumulatedRowIndex:i,rowNode:o,column:e,value:n,processCellCallback:this.processCellCallback,type:s})}shouldRenderGroupSummaryCell(e,t,i){var o;if(!(e&&e.group))return!1;if(this.groupColumns.indexOf(t)!==-1){const n=(o=e.groupData)==null?void 0:o[t.getId()],r=this.gos.get("suppressGroupMaintainValueType");if(r&&n!=null||!r&&n!==void 0||Ke(this.gos)&&e.group)return!0;if(e.footer&&e.level===-1){const l=t.getColDef();return l==null||l.showRowGroup===!0||l.showRowGroup===this.funcColsService.getRowGroupColumns()[0].getId()}}const s=Ii(this.gos,this.columnModel.isPivotMode());return i===0&&s}getHeaderName(e,t){return e?e(this.gos.addGridCommonParams({column:t})):this.columnNameService.getDisplayNameForColumn(t,"csv",!0)}createValueForGroupNode(e,t){if(this.processRowGroupCallback)return this.processRowGroupCallback(this.gos.addGridCommonParams({column:e,node:t}));const i=this.gos.get("treeData"),s=this.gos.get("suppressGroupMaintainValueType"),o=a=>{var d;if(i||s)return a.key;const h=(d=a.groupData)==null?void 0:d[e.getId()];return h&&a.rowGroupColumn&&a.rowGroupColumn.getColDef().useValueFormatterForExport!==!1?this.valueService.formatValue(a.rowGroupColumn,a,h)??h:h},n=t.footer,r=[o(t)];if(!$o(this.gos))for(;t.parent;)t=t.parent,r.push(o(t));const l=r.reverse().join(" -> ");return n?`Total ${l}`:l}processCell(e){const{accumulatedRowIndex:t,rowNode:i,column:s,value:o,processCellCallback:n,type:r}=e;return n?{value:n(this.gos.addGridCommonParams({accumulatedRowIndex:t,column:s,node:i,value:o,type:r,parseValue:l=>this.valueService.parseValue(s,i,l,this.valueService.getValue(s,i)),formatValue:l=>this.valueService.formatValue(s,i,l)??l}))??""}:s.getColDef().useValueFormatterForExport!==!1?{value:o??"",valueFormatted:this.valueService.formatValue(s,i,o)}:{value:o??""}}},Ac=class{static download(e,t){const i=document.defaultView||window;if(!i)return void R("There is no `window` associated with the current `document`");const s=document.createElement("a"),o=i.URL.createObjectURL(t);s.setAttribute("href",o),s.setAttribute("download",e),s.style.display="none",document.body.appendChild(s),s.dispatchEvent(new MouseEvent("click",{bubbles:!1,cancelable:!0,view:i})),document.body.removeChild(s),i.setTimeout(()=>{i.URL.revokeObjectURL(o)},0)}},Tc=class extends xc{constructor(e){super(e),this.isFirstLine=!0,this.result="";const{suppressQuotes:t,columnSeparator:i}=e;this.suppressQuotes=t,this.columnSeparator=i}addCustomContent(e){e&&(typeof e=="string"?(/^\s*\n/.test(e)||this.beginNewLine(),e=e.replace(/\r?\n/g,`\r
141
141
  `),this.result+=e):e.forEach(t=>{this.beginNewLine(),t.forEach((i,s)=>{s!==0&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(i.data.value||""),i.mergeAcross&&this.appendEmptyCells(i.mergeAcross)})}))}onNewHeaderGroupingRow(){return this.beginNewLine(),{onColumn:this.onNewHeaderGroupingRowColumn.bind(this)}}onNewHeaderGroupingRowColumn(e,t,i,s){i!=0&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(t),this.appendEmptyCells(s)}appendEmptyCells(e){for(let t=1;t<=e;t++)this.result+=this.columnSeparator+this.putInQuotes("")}onNewHeaderRow(){return this.beginNewLine(),{onColumn:this.onNewHeaderRowColumn.bind(this)}}onNewHeaderRowColumn(e,t){t!=0&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(this.extractHeaderValue(e))}onNewBodyRow(){return this.beginNewLine(),{onColumn:this.onNewBodyRowColumn.bind(this)}}onNewBodyRowColumn(e,t,i){t!=0&&(this.result+=this.columnSeparator);const s=this.extractRowCellValue(e,t,t,"csv",i);this.result+=this.putInQuotes(s.valueFormatted??s.value)}putInQuotes(e){if(this.suppressQuotes)return e;if(e==null)return'""';let t;return typeof e=="string"?t=e:typeof e.toString=="function"?t=e.toString():(R("unknown value type during csv conversion"),t=""),'"'+t.replace(/"/g,'""')+'"'}parse(){return this.result}beginNewLine(){this.isFirstLine||(this.result+=`\r
142
- `),this.isFirstLine=!1}},yo="32.3.7",Xr={version:yo,moduleName:"@ag-grid-community/csv-export-core",beans:[class extends Mc{constructor(){super(...arguments),this.beanName="csvCreator"}wireBeans(e){this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.funcColsService=e.funcColsService,this.valueService=e.valueService,this.gridSerializer=e.gridSerializer}postConstruct(){this.setBeans({gridSerializer:this.gridSerializer,gos:this.gos})}getMergedParams(e){const t=this.gos.get("defaultCsvExportParams");return Object.assign({},t,e)}export(e){if(this.isExportSuppressed())return void R("Export cancelled. Export is not allowed as per your configuration.");const t=this.getMergedParams(e),i=this.getData(t),s=new Blob(["\uFEFF",i],{type:"text/plain"}),o=typeof t.fileName=="function"?t.fileName(this.gos.getGridCommonParams()):t.fileName;Ac.download(this.getFileName(o),s)}exportDataAsCsv(e){this.export(e)}getDataAsCsv(e,t=!1){const i=t?Object.assign({},e):this.getMergedParams(e);return this.getData(i)}getDefaultFileExtension(){return"csv"}createSerializingSession(e){const{columnModel:t,columnNameService:i,funcColsService:s,valueService:o,gos:n}=this,{processCellCallback:r,processHeaderCallback:l,processGroupHeaderCallback:a,processRowGroupCallback:h,suppressQuotes:d,columnSeparator:c}=e;return new Tc({columnModel:t,columnNameService:i,funcColsService:s,valueService:o,gos:n,processCellCallback:r||void 0,processHeaderCallback:l||void 0,processGroupHeaderCallback:a||void 0,processRowGroupCallback:h||void 0,suppressQuotes:d||!1,columnSeparator:c||","})}isExportSuppressed(){return this.gos.get("suppressCsvExport")}},class extends b{constructor(){super(...arguments),this.beanName="gridSerializer"}wireBeans(e){this.visibleColsService=e.visibleColsService,this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.rowModel=e.rowModel,this.pinnedRowModel=e.pinnedRowModel,this.selectionService=e.selectionService,this.rowNodeSorter=e.rowNodeSorter,this.sortController=e.sortController}serialize(e,t={}){const{allColumns:i,columnKeys:s,skipRowGroups:o}=t,n=this.getColumnsToExport(i,o,s);return function(...r){return l=>r.reduce((a,h)=>h(a),l)}(this.prepareSession(n),this.prependContent(t),this.exportColumnGroups(t,n),this.exportHeaders(t,n),this.processPinnedTopRows(t,n),this.processRows(t,n),this.processPinnedBottomRows(t,n),this.appendContent(t))(e).parse()}processRow(e,t,i,s){var m;const o=t.shouldRowBeSkipped||(()=>!1),n=this.gos.get("groupRemoveSingleChildren"),r=this.gos.get("groupRemoveLowestSingleChildren"),l=t.rowPositions!=null||!!t.onlySelected,a=this.gos.get("groupHideOpenParents")&&!l,h=this.columnModel.isPivotMode()?s.leafGroup:!s.group,d=!!s.footer,c=r&&s.leafGroup,u=s.allChildrenCount===1&&((m=s.childrenAfterGroup)==null?void 0:m.length)===1&&(n||c);if(!h&&!d&&(t.skipRowGroups||u||a)||t.onlySelected&&!s.isSelected()||t.skipPinnedTop&&s.rowPinned==="top"||t.skipPinnedBottom&&s.rowPinned==="bottom"||s.level===-1&&!h&&!d||o(this.gos.addGridCommonParams({node:s})))return;const g=e.onNewBodyRow(s);if(i.forEach((f,C)=>{g.onColumn(f,C,s)}),t.getCustomContentBelowRow){const f=t.getCustomContentBelowRow(this.gos.addGridCommonParams({node:s}));f&&e.addCustomContent(f)}}appendContent(e){return t=>{const i=e.appendContent;return i&&t.addCustomContent(i),t}}prependContent(e){return t=>{const i=e.prependContent;return i&&t.addCustomContent(i),t}}prepareSession(e){return t=>(t.prepare(e),t)}exportColumnGroups(e,t){return i=>{if(!e.skipColumnGroupHeaders){const s=new cn,o=this.visibleColsService.createGroups({columns:t,idCreator:s,pinned:null,isStandaloneStructure:!0});this.recursivelyAddHeaderGroups(o,i,e.processGroupHeaderCallback)}return i}}exportHeaders(e,t){return i=>{if(!e.skipColumnHeaders){const s=i.onNewHeaderRow();t.forEach((o,n)=>{s.onColumn(o,n,void 0)})}return i}}processPinnedTopRows(e,t){return i=>{const s=this.processRow.bind(this,i,e,t);return e.rowPositions?e.rowPositions.filter(o=>o.rowPinned==="top").sort((o,n)=>o.rowIndex-n.rowIndex).map(o=>this.pinnedRowModel.getPinnedTopRow(o.rowIndex)).forEach(s):this.pinnedRowModel.forEachPinnedRow("top",s),i}}processRows(e,t){return i=>{const s=this.rowModel,o=ie(this.gos),n=Ke(this.gos),r=!o&&e.onlySelected,l=this.processRow.bind(this,i,e,t),{exportedRows:a="filteredAndSorted"}=e;if(e.rowPositions)e.rowPositions.filter(h=>h.rowPinned==null).sort((h,d)=>h.rowIndex-d.rowIndex).map(h=>s.getRow(h.rowIndex)).forEach(l);else if(this.columnModel.isPivotMode())o?s.forEachPivotNode(l,!0):n?s.forEachNodeAfterFilterAndSort(l,!0):s.forEachNode(l);else if(e.onlySelectedAllPages||r){const h=this.selectionService.getSelectedNodes();this.replicateSortedOrder(h),h.forEach(l)}else a==="all"?s.forEachNode(l):o||n?s.forEachNodeAfterFilterAndSort(l,!0):s.forEachNode(l);return i}}replicateSortedOrder(e){const t=this.sortController.getSortOptions(),i=(s,o)=>{var n,r;return s.rowIndex!=null&&o.rowIndex!=null?s.rowIndex-o.rowIndex:s.level===o.level?((n=s.parent)==null?void 0:n.id)===((r=o.parent)==null?void 0:r.id)?this.rowNodeSorter.compareRowNodes(t,{rowNode:s,currentPos:s.rowIndex??-1},{rowNode:o,currentPos:o.rowIndex??-1}):i(s.parent,o.parent):s.level>o.level?i(s.parent,o):i(s,o.parent)};e.sort(i)}processPinnedBottomRows(e,t){return i=>{const s=this.processRow.bind(this,i,e,t);return e.rowPositions?e.rowPositions.filter(o=>o.rowPinned==="bottom").sort((o,n)=>o.rowIndex-n.rowIndex).map(o=>this.pinnedRowModel.getPinnedBottomRow(o.rowIndex)).forEach(s):this.pinnedRowModel.forEachPinnedRow("bottom",s),i}}getColumnsToExport(e=!1,t=!1,i){const s=this.columnModel.isPivotMode();if(i&&i.length)return this.columnModel.getColsForKeys(i);const o=this.gos.get("treeData");let n=[];return n=e&&!s?this.columnModel.getCols():this.visibleColsService.getAllCols(),t&&!o&&(n=n.filter(r=>!Rs(r)&&!ni(r))),n}recursivelyAddHeaderGroups(e,t,i){const s=[];e.forEach(o=>{const n=o;n.getChildren&&n.getChildren().forEach(r=>s.push(r))}),e.length>0&&de(e[0])&&this.doAddHeaderHeader(t,e,i),s&&s.length>0&&this.recursivelyAddHeaderGroups(s,t,i)}doAddHeaderHeader(e,t,i){const s=e.onNewHeaderGroupingRow();let o=0;t.forEach(n=>{const r=n;let l;l=i?i(this.gos.addGridCommonParams({columnGroup:r})):this.columnNameService.getDisplayNameForColumnGroup(r,"header");const a=r.getLeafColumns().reduce((h,d,c,u)=>{let g=$(h);return d.getColumnGroupShow()==="open"?g&&g[1]==null||(g=[c],h.push(g)):g&&g[1]==null&&(g[1]=c-1),c===u.length-1&&g&&g[1]==null&&(g[1]=c),h},[]);s.onColumn(r,l||"",o++,r.getLeafColumns().length-1,a)})}}]},Ic={version:yo,moduleName:"@ag-grid-community/csv-export",dependantModules:[Xr,{version:yo,moduleName:"@ag-grid-community/csv-export-api",apiFunctions:{getDataAsCsv:function(e,t){var i;return(i=e.csvCreator)==null?void 0:i.getDataAsCsv(t)},exportDataAsCsv:function(e,t){var i;(i=e.csvCreator)==null||i.exportDataAsCsv(t)}},dependantModules:[Xr]}]},Lc=class extends ad{wireBeans(e){this.beans=e}constructor(e,t,i){super(e),this.parentCache=t,this.params=i,this.startRow=e*i.blockSize,this.endRow=this.startRow+i.blockSize}postConstruct(){this.createRowNodes()}getBlockStateJson(){return{id:""+this.getId(),state:{blockNumber:this.getId(),startRow:this.getStartRow(),endRow:this.getEndRow(),pageStatus:this.getState()}}}setDataAndId(e,t,i){M(t)?e.setDataAndId(t,i.toString()):e.setDataAndId(void 0,void 0)}loadFromDatasource(){const e=this.createLoadParams();K(this.params.datasource.getRows)?R("datasource is missing getRows method"):window.setTimeout(()=>{this.params.datasource.getRows(e)},0)}processServerFail(){}createLoadParams(){return{startRow:this.getStartRow(),endRow:this.getEndRow(),successCallback:this.pageLoaded.bind(this,this.getVersion()),failCallback:this.pageLoadFailed.bind(this,this.getVersion()),sortModel:this.params.sortModel,filterModel:this.params.filterModel,context:this.gos.getGridCommonParams().context}}forEachNode(e,t,i){this.rowNodes.forEach((s,o)=>{this.startRow+o<i&&e(s,t.next())})}getLastAccessed(){return this.lastAccessed}getRow(e,t=!1){t||(this.lastAccessed=this.params.lastAccessedSequence.next());const i=e-this.startRow;return this.rowNodes[i]}getStartRow(){return this.startRow}getEndRow(){return this.endRow}createRowNodes(){this.rowNodes=[];for(let e=0;e<this.params.blockSize;e++){const t=this.startRow+e,i=new nt(this.beans);i.setRowHeight(this.params.rowHeight),i.uiLevel=0,i.setRowIndex(t),i.setRowTop(this.params.rowHeight*t),this.rowNodes.push(i)}}processServerResult(e){this.rowNodes.forEach((i,s)=>{const o=e.rowData?e.rowData[s]:void 0;!i.id&&i.alreadyRendered&&o&&(this.rowNodes[s]=new nt(this.beans),this.rowNodes[s].setRowIndex(i.rowIndex),this.rowNodes[s].setRowTop(i.rowTop),this.rowNodes[s].setRowHeight(i.rowHeight),i.clearRowTopAndRowIndex()),this.setDataAndId(this.rowNodes[s],o,this.startRow+s)});const t=e.rowCount!=null&&e.rowCount>=0?e.rowCount:void 0;this.parentCache.pageLoaded(this,t)}destroy(){this.rowNodes.forEach(e=>{e.clearRowTopAndRowIndex()}),super.destroy()}},kc=class extends b{constructor(e){super(),this.lastRowIndexKnown=!1,this.blocks={},this.blockCount=0,this.rowCount=e.initialRowCount,this.params=e}wireBeans(e){this.rowRenderer=e.rowRenderer,this.focusService=e.focusService}getRow(e,t=!1){const i=Math.floor(e/this.params.blockSize);let s=this.blocks[i];if(!s){if(t)return;s=this.createBlock(i)}return s.getRow(e)}createBlock(e){const t=this.createBean(new Lc(e,this,this.params));return this.blocks[t.getId()]=t,this.blockCount++,this.purgeBlocksIfNeeded(t),this.params.rowNodeBlockLoader.addBlock(t),t}refreshCache(){this.blockCount==0?this.purgeCache():(this.getBlocksInOrder().forEach(e=>e.setStateWaitingToLoad()),this.params.rowNodeBlockLoader.checkBlockToLoad())}destroy(){this.getBlocksInOrder().forEach(e=>this.destroyBlock(e)),super.destroy()}getRowCount(){return this.rowCount}isLastRowIndexKnown(){return this.lastRowIndexKnown}pageLoaded(e,t){this.isAlive()&&(this.gos.get("debug")&&He(`InfiniteCache - onPageLoaded: page = ${e.getId()}, lastRow = ${t}`),this.checkRowCount(e,t),this.onCacheUpdated())}purgeBlocksIfNeeded(e){const t=this.getBlocksInOrder().filter(o=>o!=e);t.sort((o,n)=>n.getLastAccessed()-o.getLastAccessed());const i=this.params.maxBlocksInCache>0,s=i?this.params.maxBlocksInCache-1:null;t.forEach((o,n)=>{if(o.getState()==="needsLoading"&&n>=1||i&&n>=s){if(this.isBlockCurrentlyDisplayed(o)||this.isBlockFocused(o))return;this.removeBlockFromCache(o)}})}isBlockFocused(e){const t=this.focusService.getFocusCellToUseAfterRefresh();if(!t||t.rowPinned!=null)return!1;const i=e.getStartRow(),s=e.getEndRow();return t.rowIndex>=i&&t.rowIndex<s}isBlockCurrentlyDisplayed(e){const t=e.getStartRow(),i=e.getEndRow()-1;return this.rowRenderer.isRangeInRenderedViewport(t,i)}removeBlockFromCache(e){e&&this.destroyBlock(e)}checkRowCount(e,t){if(typeof t=="number"&&t>=0)this.rowCount=t,this.lastRowIndexKnown=!0;else if(!this.lastRowIndexKnown){const i=(e.getId()+1)*this.params.blockSize+this.params.overflowSize;this.rowCount<i&&(this.rowCount=i)}}setRowCount(e,t){this.rowCount=e,M(t)&&(this.lastRowIndexKnown=t),this.lastRowIndexKnown||this.rowCount%this.params.blockSize==0&&this.rowCount++,this.onCacheUpdated()}forEachNodeDeep(e){const t=new Ut;this.getBlocksInOrder().forEach(i=>i.forEachNode(e,t,this.rowCount))}getBlocksInOrder(){return Es(this.blocks).sort((e,t)=>e.getId()-t.getId())}destroyBlock(e){delete this.blocks[e.getId()],this.destroyBean(e),this.blockCount--,this.params.rowNodeBlockLoader.removeBlock(e)}onCacheUpdated(){this.isAlive()&&(this.destroyAllBlocksPastVirtualRowCount(),this.eventService.dispatchEvent({type:"storeUpdated"}))}destroyAllBlocksPastVirtualRowCount(){const e=[];this.getBlocksInOrder().forEach(t=>{t.getId()*this.params.blockSize>=this.rowCount&&e.push(t)}),e.length>0&&e.forEach(t=>this.destroyBlock(t))}purgeCache(){this.getBlocksInOrder().forEach(e=>this.removeBlockFromCache(e)),this.lastRowIndexKnown=!1,this.rowCount===0&&(this.rowCount=this.params.initialRowCount),this.onCacheUpdated()}getRowNodesInRange(e,t){const i=[];let s=-1,o=!1;const n=new Ut;let r=!1;return this.getBlocksInOrder().forEach(l=>{r||(o&&s+1!==l.getId()?r=!0:(s=l.getId(),l.forEachNode(a=>{const h=a===e||a===t;(o||h)&&i.push(a),h&&(o=!o)},n,this.rowCount)))}),r||o?[]:i}},bo="32.3.7",Jr={version:bo,moduleName:"@ag-grid-community/infinite-row-model-core",rowModel:"infinite",beans:[class extends b{constructor(){super(...arguments),this.beanName="rowModel"}wireBeans(e){this.filterManager=e.filterManager,this.sortController=e.sortController,this.selectionService=e.selectionService,this.rowRenderer=e.rowRenderer,this.rowNodeBlockLoader=e.rowNodeBlockLoader}getRowBounds(e){return{rowHeight:this.rowHeight,rowTop:this.rowHeight*e}}ensureRowHeightsValid(){return!1}postConstruct(){this.gos.get("rowModelType")==="infinite"&&(this.rowHeight=vt(this.gos),this.addEventListeners(),this.addDestroyFunc(()=>this.destroyCache()),this.verifyProps())}verifyProps(){this.gos.exists("initialGroupOrderComparator")&&R("initialGroupOrderComparator cannot be used with Infinite Row Model as sorting is done on the server side")}start(){this.setDatasource(this.gos.get("datasource"))}destroy(){this.destroyDatasource(),super.destroy()}destroyDatasource(){this.datasource&&(this.destroyBean(this.datasource),this.rowRenderer.datasourceChanged(),this.datasource=null)}addEventListeners(){this.addManagedEventListeners({filterChanged:this.onFilterChanged.bind(this),sortChanged:this.onSortChanged.bind(this),newColumnsLoaded:this.onColumnEverything.bind(this),storeUpdated:this.onCacheUpdated.bind(this)}),this.addManagedPropertyListener("datasource",()=>this.setDatasource(this.gos.get("datasource"))),this.addManagedPropertyListener("cacheBlockSize",()=>this.resetCache()),this.addManagedPropertyListener("rowHeight",()=>{this.rowHeight=vt(this.gos),this.cacheParams.rowHeight=this.rowHeight,this.updateRowHeights()})}onFilterChanged(){this.reset()}onSortChanged(){this.reset()}onColumnEverything(){let e;e=!this.cacheParams||this.isSortModelDifferent(),e&&this.reset()}isSortModelDifferent(){return!ii(this.cacheParams.sortModel,this.sortController.getSortModel())}getType(){return"infinite"}setDatasource(e){this.destroyDatasource(),this.datasource=e,e&&this.reset()}isEmpty(){return!this.infiniteCache}isRowsToRender(){return!!this.infiniteCache}getNodesInRangeForSelection(e,t){return this.infiniteCache?this.infiniteCache.getRowNodesInRange(e,t):[]}reset(){this.datasource&&(Nt(this.gos)!=null||this.selectionService.reset("rowDataChanged"),this.resetCache())}dispatchModelUpdatedEvent(){this.eventService.dispatchEvent({type:"modelUpdated",newPage:!1,newPageSize:!1,newData:!1,keepRenderedRows:!0,animate:!1})}resetCache(){var e;this.destroyCache(),this.cacheParams={datasource:this.datasource,filterModel:((e=this.filterManager)==null?void 0:e.getFilterModel())??{},sortModel:this.sortController.getSortModel(),rowNodeBlockLoader:this.rowNodeBlockLoader,initialRowCount:this.gos.get("infiniteInitialRowCount"),maxBlocksInCache:this.gos.get("maxBlocksInCache"),rowHeight:vt(this.gos),overflowSize:this.gos.get("cacheOverflowSize"),blockSize:this.gos.get("cacheBlockSize"),lastAccessedSequence:new Ut},this.infiniteCache=this.createBean(new kc(this.cacheParams)),this.eventService.dispatchEventOnce({type:"rowCountReady"}),this.dispatchModelUpdatedEvent()}updateRowHeights(){this.forEachNode(e=>{e.setRowHeight(this.rowHeight),e.setRowTop(this.rowHeight*e.rowIndex)}),this.dispatchModelUpdatedEvent()}destroyCache(){this.infiniteCache&&(this.infiniteCache=this.destroyBean(this.infiniteCache))}onCacheUpdated(){this.dispatchModelUpdatedEvent()}getRow(e){if(this.infiniteCache&&!(e>=this.infiniteCache.getRowCount()))return this.infiniteCache.getRow(e)}getRowNode(e){let t;return this.forEachNode(i=>{i.id===e&&(t=i)}),t}forEachNode(e){this.infiniteCache&&this.infiniteCache.forEachNodeDeep(e)}getTopLevelRowCount(){return this.getRowCount()}getTopLevelRowDisplayedIndex(e){return e}getRowIndexAtPixel(e){if(this.rowHeight!==0){const t=Math.floor(e/this.rowHeight),i=this.getRowCount()-1;return t>i?i:t}return 0}getRowCount(){return this.infiniteCache?this.infiniteCache.getRowCount():0}isRowPresent(e){return!!this.getRowNode(e.id)}refreshCache(){this.infiniteCache&&this.infiniteCache.refreshCache()}purgeCache(){this.infiniteCache&&this.infiniteCache.purgeCache()}isLastRowIndexKnown(){return!!this.infiniteCache&&this.infiniteCache.isLastRowIndexKnown()}setRowCount(e,t){this.infiniteCache&&this.infiniteCache.setRowCount(e,t)}}],dependantModules:[hd]},Oc={version:bo,moduleName:"@ag-grid-community/infinite-row-model",dependantModules:[Jr,{version:bo,moduleName:"@ag-grid-community/infinite-row-model-api",beans:[Qr],apiFunctions:{refreshInfiniteCache:function(e){var t,i;(i=(t=e.rowModelHelperService)==null?void 0:t.getInfiniteRowModel())==null||i.refreshCache()},purgeInfiniteCache:function(e){var t,i;(i=(t=e.rowModelHelperService)==null?void 0:t.getInfiniteRowModel())==null||i.purgeCache()},getInfiniteRowCount:function(e){var t,i;return(i=(t=e.rowModelHelperService)==null?void 0:t.getInfiniteRowModel())==null?void 0:i.getRowCount()}},dependantModules:[Jr,Fc]}]};Qe.__registerModules([Ur,Ec,Oc,Ic],!1,void 0);var we=x.createContext({}),Pi=(e,t,i,s)=>{if(!e||e.componentFromFramework||t.isDestroyed())return;const o=e.newAgStackInstance();if(o==null)return;let n,r,l=!1;return o.then(a=>{l?t.destroyBean(a):(n=a,r=n.getGui(),i.appendChild(r),Zr(s,n))}),()=>{var a;l=!0,n&&((a=r==null?void 0:r.parentElement)==null||a.removeChild(r),t.destroyBean(n),s&&Zr(s,void 0))}},Zr=(e,t)=>{e&&(e instanceof Function?e(t):e.current=t)},ze=(...e)=>e.filter(t=>t!=null&&t!=="").join(" "),Oe=class ml{constructor(...t){this.classesMap={},t.forEach(i=>{this.classesMap[i]=!0})}setClass(t,i){if(!!this.classesMap[t]==i)return this;const s=new ml;return s.classesMap={...this.classesMap},s.classesMap[t]=i,s}toString(){return Object.keys(this.classesMap).filter(t=>this.classesMap[t]).join(" ")}},Xt=e=>typeof e=="function"&&!(e.prototype&&e.prototype.isReactComponent)||typeof e=="object"&&e.$$typeof===(typeof Symbol=="function"&&Symbol.for?Symbol.for("react.memo"):60115),Ro=(al=x.version)==null?void 0:al.split(".")[0],Gc=Ro==="16"||Ro==="17",rs=!1,Fo=(e,t)=>{Gc||!e||rs?t():vl.flushSync(t)};function Po(e,t,i){if(t==null||e==null)return t;if(e===t||t.length===0&&e.length===0)return e;if(i||e.length===0&&t.length>0||e.length>0&&t.length===0)return t;const s=[],o=[],n=new Map,r=new Map;for(let l=0;l<t.length;l++){const a=t[l];r.set(a.instanceId,a)}for(let l=0;l<e.length;l++){const a=e[l];n.set(a.instanceId,a),r.has(a.instanceId)&&s.push(a)}for(let l=0;l<t.length;l++){const a=t[l],h=a.instanceId;n.has(h)||o.push(a)}return s.length===e.length&&o.length===0?e:s.length===0&&o.length===t.length?t:s.length===0?o:o.length===0?s:[...s,...o]}var el=p.forwardRef((e,t)=>{var j;const{ctrlsFactory:i,context:s}=p.useContext(we),o=p.useRef(null),n=p.useRef(null),r=p.useRef(null),l=p.useRef(null),a=p.useRef(null),h=p.useRef(),[d,c]=p.useState(),[u,g]=p.useState(),[m,f]=p.useState(),[C,v]=p.useState(()=>new Oe),[w,P]=p.useState(()=>new Oe("ag-hidden")),[S,F]=p.useState(()=>new Oe("ag-hidden")),[E,D]=p.useState(()=>new Oe("ag-invisible"));p.useImperativeHandle(t,()=>({refresh:()=>!1})),p.useLayoutEffect(()=>Pi(d,s,n.current),[d]);const A=p.useCallback(z=>{if(o.current=z,!z)return void(h.current=s.destroyBean(h.current));const W={setInnerRenderer:(q,H)=>{c(q),f(H)},setChildCount:q=>g(q),addOrRemoveCssClass:(q,H)=>v(ue=>ue.setClass(q,H)),setContractedDisplayed:q=>F(H=>H.setClass("ag-hidden",!q)),setExpandedDisplayed:q=>P(H=>H.setClass("ag-hidden",!q)),setCheckboxVisible:q=>D(H=>H.setClass("ag-invisible",!q))},Z=i.getInstance("groupCellRendererCtrl");Z&&(h.current=s.createBean(Z),h.current.init(W,z,r.current,l.current,a.current,el,e))},[]),L=p.useMemo(()=>`ag-cell-wrapper ${C.toString()}`,[C]),T=p.useMemo(()=>`ag-group-expanded ${w.toString()}`,[w]),k=p.useMemo(()=>`ag-group-contracted ${S.toString()}`,[S]),N=p.useMemo(()=>`ag-group-checkbox ${E.toString()}`,[E]),te=d&&d.componentFromFramework,U=te?d.componentClass:void 0,J=d==null&&m!=null,X=_e(m,!0);return x.createElement("span",{className:L,ref:A,...e.colDef?{}:{role:(j=h.current)==null?void 0:j.getCellAriaRole()}},x.createElement("span",{className:T,ref:l}),x.createElement("span",{className:k,ref:a}),x.createElement("span",{className:N,ref:r}),x.createElement("span",{className:"ag-group-value",ref:n},J&&x.createElement(x.Fragment,null,X),te&&x.createElement(U,{...d.params})),x.createElement("span",{className:"ag-group-child-count"},u))}),tl=el,Do=p.createContext({setMethods:()=>{}}),Nc=p.memo(e=>{const{initialProps:t,addUpdateCallback:i,CustomComponentClass:s,setMethods:o}=e,[{key:n,...r},l]=p.useState(t);return p.useEffect(()=>{i(a=>l(a))},[]),x.createElement(Do.Provider,{value:{setMethods:o}},x.createElement(s,{key:n,...r}))}),Hc=0;function il(){return"agPortalKey_"+ ++Hc}var sl=class{constructor(e,t,i,s){this.portal=null,this.oldPortal=null,this.reactComponent=e,this.portalManager=t,this.componentType=i,this.suppressFallbackMethods=!!s,this.statelessComponent=this.isStateless(this.reactComponent),this.key=il(),this.portalKey=il(),this.instanceCreated=this.isStatelessComponent()?he.resolve(!1):new he(o=>{this.resolveInstanceCreated=o})}getGui(){return this.eParentElement}getRootElement(){return this.eParentElement.firstChild}destroy(){this.componentInstance&&typeof this.componentInstance.destroy=="function"&&this.componentInstance.destroy();const e=this.portal;e&&this.portalManager.destroyPortal(e)}createParentElement(e){const t=this.portalManager.getComponentWrappingElement(),i=document.createElement(t||"div");return i.classList.add("ag-react-container"),e.reactContainer=i,i}addParentContainerStyleAndClasses(){this.componentInstance&&(this.componentInstance.getReactContainerStyle&&this.componentInstance.getReactContainerStyle()&&(R('Since v31.1 "getReactContainerStyle" is deprecated. Apply styling directly to ".ag-react-container" if needed.'),Object.assign(this.eParentElement.style,this.componentInstance.getReactContainerStyle())),this.componentInstance.getReactContainerClasses&&this.componentInstance.getReactContainerClasses())&&(R('Since v31.1 "getReactContainerClasses" is deprecated. Apply styling directly to ".ag-react-container" if needed.'),this.componentInstance.getReactContainerClasses().forEach(e=>this.eParentElement.classList.add(e)))}statelessComponentRendered(){return this.eParentElement.childElementCount>0||this.eParentElement.childNodes.length>0}getFrameworkComponentInstance(){return this.componentInstance}isStatelessComponent(){return this.statelessComponent}getReactComponentName(){return this.reactComponent.name}getMemoType(){return this.hasSymbol()?Symbol.for("react.memo"):60115}hasSymbol(){return typeof Symbol=="function"&&Symbol.for}isStateless(e){return typeof e=="function"&&!(e.prototype&&e.prototype.isReactComponent)||typeof e=="object"&&e.$$typeof===this.getMemoType()}hasMethod(e){const t=this.getFrameworkComponentInstance();return!!t&&t[e]!=null||this.fallbackMethodAvailable(e)}callMethod(e,t){const i=this.getFrameworkComponentInstance();if(this.isStatelessComponent())return this.fallbackMethod(e,t&&t[0]?t[0]:{});if(!i)return void setTimeout(()=>this.callMethod(e,t));const s=i[e];return s?s.apply(i,t):this.fallbackMethodAvailable(e)?this.fallbackMethod(e,t&&t[0]?t[0]:{}):void 0}addMethod(e,t){this[e]=t}init(e){return this.eParentElement=this.createParentElement(e),this.createOrUpdatePortal(e),new he(t=>this.createReactComponent(t))}createOrUpdatePortal(e){this.isStatelessComponent()||(this.ref=t=>{var i;this.componentInstance=t,this.addParentContainerStyleAndClasses(),(i=this.resolveInstanceCreated)==null||i.call(this,!0),this.resolveInstanceCreated=void 0},e.ref=this.ref),this.reactElement=this.createElement(this.reactComponent,{...e,key:this.key}),this.portal=ko.createPortal(this.reactElement,this.eParentElement,this.portalKey)}createElement(e,t){return p.createElement(e,t)}createReactComponent(e){this.portalManager.mountReactPortal(this.portal,this,e)}rendered(){return this.isStatelessComponent()&&this.statelessComponentRendered()||!(this.isStatelessComponent()||!this.getFrameworkComponentInstance())}refreshComponent(e){this.oldPortal=this.portal,this.createOrUpdatePortal(e),this.portalManager.updateReactPortal(this.oldPortal,this.portal)}fallbackMethod(e,t){const i=this[`${e}Component`];if(!this.suppressFallbackMethods&&i)return i.bind(this)(t)}fallbackMethodAvailable(e){return this.suppressFallbackMethods?!1:!!this[`${e}Component`]}};function Eo(e,t,i){e.forEach(s=>{const o=t[s];o&&(i[s]=o)})}var Xe=class extends sl{constructor(){super(...arguments),this.awaitUpdateCallback=new he(e=>{this.resolveUpdateCallback=e}),this.wrapperComponent=Nc}init(e){return this.sourceParams=e,super.init(this.getProps())}addMethod(){}getInstance(){return this.instanceCreated.then(()=>this.componentInstance)}getFrameworkComponentInstance(){return this}createElement(e,t){return super.createElement(this.wrapperComponent,{initialProps:t,CustomComponentClass:e,setMethods:i=>this.setMethods(i),addUpdateCallback:i=>{this.updateCallback=()=>(i(this.getProps()),new he(s=>{setTimeout(()=>{s()})})),this.resolveUpdateCallback()}})}setMethods(e){this.providedMethods=e,Eo(this.getOptionalMethods(),this.providedMethods,this)}getOptionalMethods(){return[]}getProps(){return{...this.sourceParams,key:this.key,ref:this.ref}}refreshProps(){return this.updateCallback?this.updateCallback():new he(e=>this.awaitUpdateCallback.then(()=>{this.updateCallback().then(()=>e())}))}},Bc=class extends Xe{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},Vc=class extends Xe{constructor(){super(...arguments),this.date=null,this.onDateChange=e=>this.updateDate(e)}getDate(){return this.date}setDate(e){this.date=e,this.refreshProps()}refresh(e){this.sourceParams=e,this.refreshProps()}getOptionalMethods(){return["afterGuiAttached","setInputPlaceholder","setInputAriaLabel","setDisabled"]}updateDate(e){this.setDate(e),this.sourceParams.onDateChanged()}getProps(){const e=super.getProps();return e.date=this.date,e.onDateChange=this.onDateChange,delete e.onDateChanged,e}},Wc=class extends Xe{constructor(){super(...arguments),this.label="",this.icon=null,this.shake=!1}setIcon(e,t){this.icon=e,this.shake=t,this.refreshProps()}setLabel(e){this.label=e,this.refreshProps()}getProps(){const e=super.getProps(),{label:t,icon:i,shake:s}=this;return e.label=t,e.icon=i,e.shake=s,e}},zc=class extends Xe{constructor(){super(...arguments),this.model=null,this.onModelChange=e=>this.updateModel(e),this.onUiChange=()=>this.sourceParams.filterChangedCallback(),this.expectingNewMethods=!0,this.hasBeenActive=!1}isFilterActive(){return this.model!=null}doesFilterPass(e){return this.providedMethods.doesFilterPass(e)}getModel(){return this.model}setModel(e){return this.expectingNewMethods=!0,this.model=e,this.hasBeenActive||(this.hasBeenActive=this.isFilterActive()),this.refreshProps()}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}getOptionalMethods(){return["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onAnyFilterChanged"]}setMethods(e){var t;this.expectingNewMethods===!1&&this.hasBeenActive&&((t=this.providedMethods)==null?void 0:t.doesFilterPass)!==(e==null?void 0:e.doesFilterPass)&&setTimeout(()=>{this.sourceParams.filterChangedCallback()}),this.expectingNewMethods=!1,super.setMethods(e)}updateModel(e){this.setModel(e).then(()=>this.sourceParams.filterChangedCallback())}getProps(){const e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e.onUiChange=this.onUiChange,delete e.filterChangedCallback,delete e.filterModifiedCallback,delete e.valueGetter,e}};function ol(e,t){e.parentFilterInstance(i=>{(i.setModel(t)||he.resolve()).then(()=>{e.filterParams.filterChangedCallback()})})}var Uc=class{constructor(e,t){this.floatingFilterParams=e,this.refreshProps=t,this.model=null,this.onModelChange=i=>this.updateModel(i)}getProps(){return{...this.floatingFilterParams,model:this.model,onModelChange:this.onModelChange}}onParentModelChanged(e){this.model=e,this.refreshProps()}refresh(e){this.floatingFilterParams=e,this.refreshProps()}setMethods(e){Eo(this.getOptionalMethods(),e,this)}getOptionalMethods(){return["afterGuiAttached"]}updateModel(e){this.model=e,this.refreshProps(),ol(this.floatingFilterParams,e)}},Kc=class extends Xe{constructor(){super(...arguments),this.model=null,this.onModelChange=e=>this.updateModel(e)}onParentModelChanged(e){this.model=e,this.refreshProps()}refresh(e){this.sourceParams=e,this.refreshProps()}getOptionalMethods(){return["afterGuiAttached"]}updateModel(e){this.model=e,this.refreshProps(),ol(this.sourceParams,e)}getProps(){const e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e}},$c=class extends Xe{refresh(e){this.sourceParams=e,this.refreshProps()}},_c=class extends Xe{constructor(){super(...arguments),this.active=!1,this.expanded=!1,this.onActiveChange=e=>this.updateActive(e)}setActive(e){this.awaitSetActive(e)}setExpanded(e){this.expanded=e,this.refreshProps()}getOptionalMethods(){return["select","configureDefaults"]}awaitSetActive(e){return this.active=e,this.refreshProps()}updateActive(e){const t=this.awaitSetActive(e);e&&t.then(()=>this.sourceParams.onItemActivated())}getProps(){const e=super.getProps();return e.active=this.active,e.expanded=this.expanded,e.onActiveChange=this.onActiveChange,delete e.onItemActivated,e}},jc=class extends Xe{refresh(e){this.sourceParams=e,this.refreshProps()}},qc=class extends Xe{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},Qc=class extends Xe{constructor(){super(...arguments),this.onStateChange=e=>this.updateState(e)}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}getState(){return this.state}updateState(e){this.state=e,this.refreshProps(),this.sourceParams.onStateUpdated()}getProps(){const e=super.getProps();return e.state=this.state,e.onStateChange=this.onStateChange,e}};function Mo(){R("As of v32, using custom components with `reactiveCustomComponents = false` is deprecated.")}var Yc=class{constructor(e,t,i){this.destroyed=!1,this.portals=[],this.hasPendingPortalUpdate=!1,this.wrappingElement=t||"div",this.refresher=e,this.maxComponentCreationTimeMs=i||1e3}getPortals(){return this.portals}destroy(){this.destroyed=!0}destroyPortal(e){this.portals=this.portals.filter(t=>t!==e),this.batchUpdate()}getComponentWrappingElement(){return this.wrappingElement}mountReactPortal(e,t,i){this.portals=[...this.portals,e],this.waitForInstance(t,i),this.batchUpdate()}updateReactPortal(e,t){this.portals[this.portals.indexOf(e)]=t,this.batchUpdate()}batchUpdate(){this.hasPendingPortalUpdate||(setTimeout(()=>{this.destroyed||(this.refresher(),this.hasPendingPortalUpdate=!1)}),this.hasPendingPortalUpdate=!0)}waitForInstance(e,t,i=Date.now()){if(this.destroyed)t(null);else if(e.rendered())t(e);else{if(Date.now()-i>=this.maxComponentCreationTimeMs&&!this.hasPendingPortalUpdate)return;window.setTimeout(()=>{this.waitForInstance(e,t,i)})}}},Xc=p.memo(({ctrl:e})=>{const t=e.isAlive(),{context:i}=p.useContext(we),s=t?e.getColId():void 0,[o,n]=p.useState(),r=p.useRef(),l=p.useRef(null),a=p.useRef(null),h=p.useRef(null),d=p.useRef(),c=p.useRef();t&&!c.current&&(c.current=new di(()=>l.current));const u=p.useCallback(C=>{var P;if(l.current=C,r.current=C?i.createBean(new Vt):i.destroyBean(r.current),!C||!t)return;const v={setWidth:S=>{l.current&&(l.current.style.width=S)},addOrRemoveCssClass:(S,F)=>c.current.addOrRemoveCssClass(S,F),setAriaSort:S=>{l.current&&(S?function(F,E){je(F,"sort",E)}(l.current,S):gn(l.current,"sort"))},setUserCompDetails:S=>n(S),getUserCompInstance:()=>d.current||void 0};e.setComp(v,C,a.current,h.current,r.current);const w=e.getSelectAllGui();(P=a.current)==null||P.insertAdjacentElement("afterend",w),r.current.addDestroyFunc(()=>w.remove())},[]);p.useLayoutEffect(()=>Pi(o,i,h.current,d),[o]),p.useEffect(()=>{e.setDragSource(l.current)},[o]);const g=p.useMemo(()=>!!(o!=null&&o.componentFromFramework&&Xt(o.componentClass)),[o]),m=o&&o.componentFromFramework,f=o&&o.componentClass;return x.createElement("div",{ref:u,className:"ag-header-cell","col-id":s,role:"columnheader"},x.createElement("div",{ref:a,className:"ag-header-cell-resize",role:"presentation"}),x.createElement("div",{ref:h,className:"ag-header-cell-comp-wrapper",role:"presentation"},m&&g&&x.createElement(f,{...o.params}),m&&!g&&x.createElement(f,{...o.params,ref:d})))}),Jc=p.memo(({ctrl:e})=>{const{context:t,gos:i}=p.useContext(we),[s,o]=p.useState(()=>new Oe("ag-header-cell","ag-floating-filter")),[n,r]=p.useState(()=>new Oe),[l,a]=p.useState(()=>new Oe("ag-floating-filter-button","ag-hidden")),[h,d]=p.useState("false"),[c,u]=p.useState(),[,g]=p.useState(1),m=p.useRef(),f=p.useRef(null),C=p.useRef(null),v=p.useRef(null),w=p.useRef(null),P=p.useRef(),S=p.useRef(),F=X=>{X!=null&&P.current&&P.current(X)},E=p.useCallback(X=>{if(f.current=X,m.current=X?t.createBean(new Vt):t.destroyBean(m.current),!X)return;S.current=new he(z=>{P.current=z});const j={addOrRemoveCssClass:(z,W)=>o(Z=>Z.setClass(z,W)),addOrRemoveBodyCssClass:(z,W)=>r(Z=>Z.setClass(z,W)),setButtonWrapperDisplayed:z=>{a(W=>W.setClass("ag-hidden",!z)),d(z?"false":"true")},setWidth:z=>{f.current&&(f.current.style.width=z)},setCompDetails:z=>u(z),getFloatingFilterComp:()=>S.current?S.current:null,setMenuIcon:z=>{var W;return(W=w.current)==null?void 0:W.appendChild(z)}};e.setComp(j,X,w.current,C.current,m.current)},[]);p.useLayoutEffect(()=>Pi(c,t,C.current,F),[c]);const D=p.useMemo(()=>s.toString(),[s]),A=p.useMemo(()=>n.toString(),[n]),L=p.useMemo(()=>l.toString(),[l]),T=p.useMemo(()=>!!(c&&c.componentFromFramework&&Xt(c.componentClass)),[c]),k=p.useMemo(()=>i.get("reactiveCustomComponents"),[]),N=p.useMemo(()=>{if(c){if(k){const X=new Uc(c.params,()=>g(j=>j+1));return F(X),X}c.componentFromFramework&&Mo()}},[c]),te=N==null?void 0:N.getProps(),U=c&&c.componentFromFramework,J=c&&c.componentClass;return x.createElement("div",{ref:E,className:D,role:"gridcell"},x.createElement("div",{ref:C,className:A,role:"presentation"},U&&!k&&x.createElement(J,{...c.params,ref:T?()=>{}:F}),U&&k&&x.createElement(Do.Provider,{value:{setMethods:X=>N.setMethods(X)}},x.createElement(J,{...te}))),x.createElement("div",{ref:v,"aria-hidden":h,className:L,role:"presentation"},x.createElement("button",{ref:w,type:"button",className:"ag-button ag-floating-filter-button-button",tabIndex:-1})))}),Zc=p.memo(({ctrl:e})=>{const{context:t}=p.useContext(we),[i,s]=p.useState(()=>new Oe),[o,n]=p.useState(()=>new Oe),[r,l]=p.useState("false"),[a,h]=p.useState(),[d,c]=p.useState(),u=p.useMemo(()=>e.getColId(),[]),g=p.useRef(),m=p.useRef(null),f=p.useRef(null),C=p.useRef(null),v=p.useRef(),w=p.useCallback(A=>{if(m.current=A,g.current=A?t.createBean(new Vt):t.destroyBean(g.current),!A)return;const L={setWidth:T=>{m.current&&(m.current.style.width=T)},addOrRemoveCssClass:(T,k)=>s(N=>N.setClass(T,k)),setHeaderWrapperHidden:T=>{const k=C.current;k&&(T?k.style.setProperty("display","none"):k.style.removeProperty("display"))},setHeaderWrapperMaxHeight:T=>{const k=C.current;k&&(T!=null?k.style.setProperty("max-height",`${T}px`):k.style.removeProperty("max-height"),k.classList.toggle("ag-header-cell-comp-wrapper-limited-height",T!=null))},setUserCompDetails:T=>c(T),setResizableDisplayed:T=>{n(k=>k.setClass("ag-hidden",!T)),l(T?"false":"true")},setAriaExpanded:T=>h(T),getUserCompInstance:()=>v.current||void 0};e.setComp(L,A,f.current,C.current,g.current)},[]);p.useLayoutEffect(()=>Pi(d,t,C.current),[d]),p.useEffect(()=>{m.current&&e.setDragSource(m.current)},[d]);const P=p.useMemo(()=>!!(d!=null&&d.componentFromFramework&&Xt(d.componentClass)),[d]),S=p.useMemo(()=>"ag-header-group-cell "+i.toString(),[i]),F=p.useMemo(()=>"ag-header-cell-resize "+o.toString(),[o]),E=d&&d.componentFromFramework,D=d&&d.componentClass;return x.createElement("div",{ref:w,className:S,"col-id":u,role:"columnheader","aria-expanded":a},x.createElement("div",{ref:C,className:"ag-header-cell-comp-wrapper",role:"presentation"},E&&P&&x.createElement(D,{...d.params}),E&&!P&&x.createElement(D,{...d.params,ref:v})),x.createElement("div",{ref:f,"aria-hidden":r,className:F}))}),eu=p.memo(({ctrl:e})=>{const{context:t}=p.useContext(we),{topOffset:i,rowHeight:s}=p.useMemo(()=>e.getTopAndHeight(),[]),o=e.getAriaRowIndex(),n=e.getHeaderRowClass(),[r,l]=p.useState(()=>s+"px"),[a,h]=p.useState(()=>i+"px"),d=p.useRef(null),c=p.useRef(null),[u,g]=p.useState(()=>e.getHeaderCtrls()),m=p.useRef(),f=p.useRef(null),C=p.useCallback(P=>{if(f.current=P,m.current=P?t.createBean(new Vt):t.destroyBean(m.current),!P)return;const S={setHeight:F=>l(F),setTop:F=>h(F),setHeaderCtrls:(F,E,D)=>{c.current=d.current,d.current=F;const A=Po(c.current,F,E);A!==c.current&&Fo(D,()=>g(A))},setWidth:F=>{f.current&&(f.current.style.width=F)}};e.setComp(S,m.current,!1)},[]),v=p.useMemo(()=>({height:r,top:a}),[r,a]),w=p.useCallback(P=>{switch(e.getType()){case ho.COLUMN_GROUP:return x.createElement(Zc,{ctrl:P,key:P.instanceId});case ho.FLOATING_FILTER:return x.createElement(Jc,{ctrl:P,key:P.instanceId});default:return x.createElement(Xc,{ctrl:P,key:P.instanceId})}},[]);return x.createElement("div",{ref:C,className:n,role:"row",style:v,"aria-rowindex":o},u.map(w))}),xo=p.memo(({pinned:e})=>{const[t,i]=p.useState(!0),[s,o]=p.useState([]),{context:n}=p.useContext(we),r=p.useRef(null),l=p.useRef(null),a=p.useRef(),h=e==="left",d=e==="right",c=!h&&!d,u=p.useCallback(f=>{if(r.current=f,a.current=f?n.createBean(new uh(e)):n.destroyBean(a.current),!f)return;const C={setDisplayed:i,setCtrls:v=>o(v),setCenterWidth:v=>{l.current&&(l.current.style.width=v)},setViewportScrollLeft:v=>{r.current&&(r.current.scrollLeft=v)},setPinnedContainerWidth:v=>{r.current&&(r.current.style.width=v,r.current.style.minWidth=v,r.current.style.maxWidth=v)}};a.current.setComp(C,r.current)},[]),g=t?"":"ag-hidden",m=()=>s.map(f=>x.createElement(eu,{ctrl:f,key:f.instanceId}));return x.createElement(x.Fragment,null,h&&x.createElement("div",{ref:u,className:"ag-pinned-left-header "+g,"aria-hidden":!t,role:"rowgroup"},m()),d&&x.createElement("div",{ref:u,className:"ag-pinned-right-header "+g,"aria-hidden":!t,role:"rowgroup"},m()),c&&x.createElement("div",{ref:u,className:"ag-header-viewport "+g,role:"presentation"},x.createElement("div",{ref:l,className:"ag-header-container",role:"rowgroup"},m())))}),tu=p.memo(()=>{const[e,t]=p.useState(()=>new Oe),[i,s]=p.useState(),{context:o}=p.useContext(we),n=p.useRef(null),r=p.useRef(),l=p.useCallback(d=>{if(n.current=d,r.current=d?o.createBean(new eh):o.destroyBean(r.current),!d)return;const c={addOrRemoveCssClass:(u,g)=>t(m=>m.setClass(u,g)),setHeightAndMinHeight:u=>s(u)};r.current.setComp(c,d,d)},[]),a=p.useMemo(()=>"ag-header "+e.toString(),[e]),h=p.useMemo(()=>({height:i,minHeight:i}),[i]);return x.createElement("div",{ref:l,className:a,style:h,role:"presentation"},x.createElement(xo,{pinned:"left"}),x.createElement(xo,{pinned:null}),x.createElement(xo,{pinned:"right"}))}),It=(e,t)=>{p.useEffect(()=>{const i=t.current;if(i){const s=i.parentElement;if(s){const o=document.createComment(e);return s.insertBefore(o,i),()=>{s.removeChild(o)}}}},[e])},iu=class{constructor(e,t){this.cellEditorParams=e,this.refreshProps=t,this.instanceCreated=new he(i=>{this.resolveInstanceCreated=i}),this.onValueChange=i=>this.updateValue(i),this.value=e.value}getProps(){return{...this.cellEditorParams,initialValue:this.cellEditorParams.value,value:this.value,onValueChange:this.onValueChange}}getValue(){return this.value}refresh(e){this.cellEditorParams=e,this.refreshProps()}setMethods(e){Eo(this.getOptionalMethods(),e,this)}getInstance(){return this.instanceCreated.then(()=>this.componentInstance)}setRef(e){var t;this.componentInstance=e,(t=this.resolveInstanceCreated)==null||t.call(this),this.resolveInstanceCreated=void 0}getOptionalMethods(){return["isCancelBeforeStart","isCancelAfterEnd","focusIn","focusOut","afterGuiAttached"]}updateValue(e){this.value=e,this.refreshProps()}},nl=p.memo(e=>{const[t,i]=p.useState(),{context:s,popupService:o,localeService:n,gos:r,editService:l}=p.useContext(we);return(a=>{const h=p.useRef(a),d=p.useRef(),c=p.useRef(!1),u=p.useRef(!1),[,g]=p.useState(0);c.current&&(u.current=!0),p.useEffect(()=>(c.current||(d.current=h.current(),c.current=!0),g(m=>m+1),()=>{var m;u.current&&((m=d.current)==null||m.call(d))}),[])})(()=>{var S,F;const{editDetails:a,cellCtrl:h,eParentCell:d}=e,{compDetails:c}=a,u=r.get("stopEditingWhenCellsLoseFocus"),g=s.createBean(l.createPopupEditorWrapper(c.params)),m=g.getGui();if(e.jsChildComp){const E=e.jsChildComp.getGui();E&&m.appendChild(E)}const f={column:h.getColumn(),rowNode:h.getRowNode(),type:"popupCellEditor",eventSource:d,ePopup:m,position:a.popupPosition,keepWithinBounds:!0},C=o.positionPopupByComponent.bind(o,f),v=n.getLocaleTextFunc(),w=o.addPopup({modal:u,eChild:m,closeOnEsc:!0,closedCallback:()=>{h.onPopupEditorClosed()},anchorToElement:d,positionCallback:C,ariaLabel:v("ariaLabelCellEditor","Cell Editor")}),P=w?w.hideFunc:void 0;return i(g),(F=(S=e.jsChildComp)==null?void 0:S.afterGuiAttached)==null||F.call(S),()=>{P==null||P(),s.destroyBean(g)}}),x.createElement(x.Fragment,null,t&&e.wrappedContent&&ko.createPortal(e.wrappedContent,t.getGui()))}),su=(e,t,i,s,o,n)=>{const{context:r}=p.useContext(we),l=p.useCallback(()=>{const a=o.current;if(!a)return;const h=a.getGui();h&&h.parentElement&&h.parentElement.removeChild(h),r.destroyBean(a),o.current=void 0},[]);p.useEffect(()=>{const a=e!=null,h=(e==null?void 0:e.compDetails)&&!e.compDetails.componentFromFramework;if(!(a&&h&&!(t&&i==null)))return void l();const d=e.compDetails;if(o.current){const u=o.current,g=u.refresh!=null&&e.force==0&&u.refresh(d.params);if(g===!0||g===void 0)return;l()}const c=d.newAgStackInstance();c!=null&&c.then(u=>{if(!u)return;const g=u.getGui();g&&((t?i:n.current).appendChild(g),o.current=u)})},[e,t,s]),p.useEffect(()=>l,[])},rl=(e,t,i)=>{const s=e.compProxy;return x.createElement(x.Fragment,null,s?((o,n,r)=>{const{compProxy:l}=o;r(l);const a=l.getProps(),h=Xt(n);return x.createElement(Do.Provider,{value:{setMethods:d=>l.setMethods(d)}},h?x.createElement(n,{...a}):x.createElement(n,{...a,ref:d=>l.setRef(d)}))})(e,t,i):x.createElement(t,{...e.compDetails.params,ref:i}))},ou=p.memo(({cellCtrl:e,printLayout:t,editingRow:i})=>{const{context:s}=p.useContext(we),{colIdSanitised:o,instanceId:n}=e,r=p.useRef(),[l,a]=p.useState(()=>e.isCellRenderer()?void 0:{compDetails:void 0,value:e.getValueToDisplay(),force:!1}),[h,d]=p.useState(),[c,u]=p.useState(1),[g,m]=p.useState(),[f,C]=p.useState(!1),[v,w]=p.useState(!1),[P,S]=p.useState(!1),[F,E]=p.useState(),D=p.useMemo(()=>e.isForceWrapper(),[e]),A=p.useMemo(()=>e.getCellAriaRole(),[e]),L=p.useRef(null),T=p.useRef(null),k=p.useRef(),N=p.useRef(),te=p.useRef(),U=p.useRef([]),J=p.useRef(),[X,j]=p.useState(0),z=p.useCallback(B=>{J.current=B,j(oe=>oe+1)},[]),W=D||l!=null&&(f||P||v),Z=p.useCallback(B=>{if(N.current=B,B){const oe=B.isCancelBeforeStart&&B.isCancelBeforeStart();setTimeout(()=>{oe?(e.stopEditing(!0),e.focusCell(!0)):e.cellEditorAttached()})}},[e]),q=p.useRef();q.current||(q.current=new di(()=>L.current)),su(l,W,J.current,X,k,L);const H=p.useRef();p.useLayoutEffect(()=>{var se;const B=H.current,oe=l;if(H.current=l,B==null||B.compDetails==null||oe==null||oe.compDetails==null)return;const ce=B.compDetails,V=oe.compDetails;ce.componentClass==V.componentClass&&((se=T.current)==null?void 0:se.refresh)!=null&&T.current.refresh(V.params)!=1&&u(ne=>ne+1)},[l]),p.useLayoutEffect(()=>{if(!(h&&!h.compDetails.componentFromFramework))return;const B=h.compDetails,oe=h.popup===!0,ce=B.newAgStackInstance();return ce.then(V=>{if(!V)return;const se=V.getGui();if(Z(V),!oe){const ne=(D?te:L).current;ne==null||ne.appendChild(se),V.afterGuiAttached&&V.afterGuiAttached()}E(V)}),()=>{ce.then(V=>{var ne;const se=V.getGui();s.destroyBean(V),Z(void 0),E(void 0),(ne=se==null?void 0:se.parentElement)==null||ne.removeChild(se)})}},[h]);const ue=p.useCallback(B=>{if(te.current=B,!B)return U.current.forEach(ce=>ce()),void(U.current=[]);const oe=ce=>{if(ce){const V=ce.getGui();B.insertAdjacentElement("afterbegin",V),U.current.push(()=>{s.destroyBean(ce),Pt(V)})}return ce};f&&oe(e.createSelectionCheckbox()),P&&oe(e.createDndSource()),v&&oe(e.createRowDragComp())},[e,s,P,v,f]),I=p.useCallback(B=>{if(L.current=B,r.current=B?s.createBean(new Vt):s.destroyBean(r.current),!B||!e)return;const oe={addOrRemoveCssClass:(V,se)=>q.current.addOrRemoveCssClass(V,se),setUserStyles:V=>m(V),getFocusableElement:()=>L.current,setIncludeSelection:V=>C(V),setIncludeRowDrag:V=>w(V),setIncludeDndSource:V=>S(V),getCellEditor:()=>N.current||null,getCellRenderer:()=>T.current??k.current,getParentOfValue:()=>J.current??te.current??L.current,setRenderDetails:(V,se,ne)=>{a(ge=>(ge==null?void 0:ge.compDetails)!==V||(ge==null?void 0:ge.value)!==se||(ge==null?void 0:ge.force)!==ne?{value:se,compDetails:V,force:ne}:ge)},setEditDetails:(V,se,ne,ge)=>{if(V){let me;ge?me=new iu(V.params,()=>u(Ne=>Ne+1)):V.componentFromFramework&&Mo(),d({compDetails:V,popup:se,popupPosition:ne,compProxy:me}),se||a(void 0)}else d(me=>{me!=null&&me.compProxy&&(N.current=void 0)})}},ce=te.current||void 0;e.setComp(oe,B,ce,t,i,r.current)},[]),_=p.useMemo(()=>{var B;return!!((B=l==null?void 0:l.compDetails)!=null&&B.componentFromFramework&&Xt(l.compDetails.componentClass))},[l]);p.useLayoutEffect(()=>{var B;L.current&&(q.current.addOrRemoveCssClass("ag-cell-value",!W),q.current.addOrRemoveCssClass("ag-cell-inline-editing",!!h&&!h.popup),q.current.addOrRemoveCssClass("ag-cell-popup-editing",!!h&&!!h.popup),q.current.addOrRemoveCssClass("ag-cell-not-inline-editing",!h||!!h.popup),(B=e.getRowCtrl())==null||B.setInlineEditingCss(),e.shouldRestoreFocus()&&!e.isEditing()&&L.current.focus({preventScroll:!0}))});const fe=()=>x.createElement(x.Fragment,null,l!=null&&((B,oe,ce,V,se,ne,ge)=>{const{compDetails:me,value:Ne}=B,Zt=!me,Ei=me&&me.componentFromFramework,rt=me&&me.componentClass,Te=Ne!=null&&Ne.toString?Ne.toString():Ne,Ct=()=>x.createElement(x.Fragment,null,Zt&&x.createElement(x.Fragment,null,Te),Ei&&!ne&&x.createElement(rt,{...me.params,key:oe,ref:V}),Ei&&ne&&x.createElement(rt,{...me.params,key:oe}));return x.createElement(x.Fragment,null,se?x.createElement("span",{role:"presentation",id:`cell-${ce}`,className:"ag-cell-value",ref:ge},Ct()):Ct())})(l,c,n,T,W,_,z),h!=null&&((B,oe,ce,V,se)=>{const ne=B.compDetails,ge=ne.componentClass,me=ne.componentFromFramework&&!B.popup,Ne=ne.componentFromFramework&&B.popup,Zt=!ne.componentFromFramework&&B.popup;return x.createElement(x.Fragment,null,me&&rl(B,ge,oe),Ne&&x.createElement(nl,{editDetails:B,cellCtrl:V,eParentCell:ce,wrappedContent:rl(B,ge,oe)}),Zt&&se&&x.createElement(nl,{editDetails:B,cellCtrl:V,eParentCell:ce,jsChildComp:se}))})(h,Z,L.current,e,F)),Jt=p.useCallback(()=>e.onFocusOut(),[]);return x.createElement("div",{ref:I,style:g,role:A,"col-id":o,onBlur:Jt},W?x.createElement("div",{className:"ag-cell-wrapper",role:"presentation",ref:ue},fe()):fe())}),nu=p.memo(({rowCtrl:e,containerType:t})=>{const{context:i,gos:s}=p.useContext(we),o=p.useRef(),n=p.useRef(e.getDomOrder()),r=e.isFullWidth(),l=e.getRowNode().displayed,[a,h]=p.useState(()=>l?e.getRowIndex():null),[d,c]=p.useState(()=>e.getRowId()),[u,g]=p.useState(()=>e.getBusinessKey()),[m,f]=p.useState(()=>e.getRowStyles()),C=p.useRef(null),v=p.useRef(null),[w,P]=p.useState(()=>null),[S,F]=p.useState(),[E,D]=p.useState(()=>l?e.getInitialRowTop(t):void 0),[A,L]=p.useState(()=>l?e.getInitialTransform(t):void 0),T=p.useRef(null),k=p.useRef(),N=p.useRef(!1),[te,U]=p.useState(0);p.useEffect(()=>{var ue;if(N.current||!S||te>10)return;const H=(ue=T.current)==null?void 0:ue.firstChild;H?(e.setupDetailRowAutoHeight(H),N.current=!0):U(I=>I+1)},[S,te]);const J=p.useRef();J.current||(J.current=new di(()=>T.current));const X=p.useCallback(H=>{if(T.current=H,o.current=H?i.createBean(new Vt):i.destroyBean(o.current),!H)return void e.unsetComp(t);if(!e.isAlive())return;const ue={setTop:D,setTransform:L,addOrRemoveCssClass:(I,_)=>J.current.addOrRemoveCssClass(I,_),setDomOrder:I=>n.current=I,setRowIndex:h,setRowId:c,setRowBusinessKey:g,setUserStyles:f,setCellCtrls:(I,_)=>{v.current=C.current,C.current=I;const fe=Po(v.current,I,n.current);fe!==v.current&&Fo(_,()=>P(fe))},showFullWidth:I=>F(I),getFullWidthCellRenderer:()=>k.current,refreshFullWidth:I=>q.current?(F(_=>({..._,params:I()})),!0):!(!k.current||!k.current.refresh)&&k.current.refresh(I())};e.setComp(ue,H,t,o.current)},[]);p.useLayoutEffect(()=>Pi(S,i,T.current,k),[S]);const j=p.useMemo(()=>{const H={top:E,transform:A};return Object.assign(H,m),H},[E,A,m]),z=r&&(S==null?void 0:S.componentFromFramework),W=!r&&w!=null,Z=p.useMemo(()=>!!(S!=null&&S.componentFromFramework&&Xt(S.componentClass)),[S]),q=p.useRef(!1);return p.useEffect(()=>{q.current=Z&&!!S&&!!s.get("reactiveCustomComponents")},[Z,S]),x.createElement("div",{ref:X,role:"row",style:j,"row-index":a,"row-id":d,"row-business-key":u},W&&(w==null?void 0:w.map(H=>x.createElement(ou,{cellCtrl:H,editingRow:e.isEditing(),printLayout:e.isPrintLayout(),key:H.instanceId}))),z&&(()=>{const H=S.componentClass;return x.createElement(x.Fragment,null,Z?x.createElement(H,{...S.params}):x.createElement(H,{...S.params,ref:k}))})())}),ru=p.memo(({name:e})=>{const{context:t}=p.useContext(we),i=p.useMemo(()=>jt(e),[e]),s=p.useRef(null),o=p.useRef(null),n=p.useRef([]),r=p.useRef([]),[l,a]=p.useState(()=>[]),h=p.useRef(!1),d=p.useRef(),c=p.useMemo(()=>ze(i.viewport),[i]),u=p.useMemo(()=>ze(i.container),[i]),g=i.type==="center";It(" AG Row Container "+e+" ",g?s:o);const m=p.useCallback(()=>g?s.current!=null&&o.current!=null:o.current!=null,[]),f=p.useCallback(()=>g?s.current==null&&o.current==null:o.current==null,[]),C=p.useCallback(()=>{if(f()&&(d.current=t.destroyBean(d.current)),m()){const S=E=>{const D=Po(r.current,n.current,h.current);D!==r.current&&(r.current=D,Fo(E,()=>a(D)))},F={setHorizontalScroll:E=>{s.current&&(s.current.scrollLeft=E)},setViewportHeight:E=>{s.current&&(s.current.style.height=E)},setRowCtrls:({rowCtrls:E,useFlushSync:D})=>{const A=!!D&&n.current.length>0&&E.length>0;n.current=E,S(A)},setDomOrder:E=>{h.current!=E&&(h.current=E,S(!1))},setContainerWidth:E=>{o.current&&(o.current.style.width=E)},setOffsetTop:E=>{o.current&&(o.current.style.transform=`translateY(${E})`)}};d.current=t.createBean(new Hh(e)),d.current.setComp(F,o.current,s.current)}},[m,f]),v=p.useCallback(S=>{o.current=S,C()},[C]),w=p.useCallback(S=>{s.current=S,C()},[C]),P=()=>x.createElement("div",{className:u,ref:v,role:"rowgroup"},l.map(S=>x.createElement(nu,{rowCtrl:S,containerType:i.type,key:S.instanceId})));return x.createElement(x.Fragment,null,g?x.createElement("div",{className:c,ref:w,role:"presentation"},P()):P())}),lu=p.memo(()=>{const{context:e,resizeObserverService:t}=p.useContext(we),[i,s]=p.useState(""),[o,n]=p.useState(0),[r,l]=p.useState(0),[a,h]=p.useState("0px"),[d,c]=p.useState("0px"),[u,g]=p.useState("100%"),[m,f]=p.useState("0px"),[C,v]=p.useState("0px"),[w,P]=p.useState("100%"),[S,F]=p.useState(""),[E,D]=p.useState(""),[A,L]=p.useState(null),[T,k]=p.useState(""),[N,te]=p.useState(null),[U,J]=p.useState("ag-layout-normal"),X=p.useRef();X.current||(X.current=new di(()=>j.current));const j=p.useRef(null),z=p.useRef(null),W=p.useRef(null),Z=p.useRef(null),q=p.useRef(null),H=p.useRef(null),ue=p.useRef(null),I=p.useRef([]),_=p.useRef([]);It(" AG Grid Body ",j),It(" AG Pinned Top ",z),It(" AG Sticky Top ",W),It(" AG Middle ",H),It(" AG Pinned Bottom ",ue);const fe=p.useCallback(Te=>{if(j.current=Te,!Te)return I.current=e.destroyBeans(I.current),_.current.forEach(pe=>pe()),void(_.current=[]);if(!e)return;const Ct=(pe,Ue)=>{pe.appendChild(Ue),_.current.push(()=>pe.removeChild(Ue))},ei=(pe,Ue,Cl)=>{Ct(pe,document.createComment(Cl)),Ct(pe,(fl=>{const Lo=e.createBean(new fl);return I.current.push(Lo),Lo})(Ue).getGui())};ei(Te,ph," AG Fake Horizontal Scroll "),ei(Te,gh," AG Overlay Wrapper "),q.current&&ei(q.current,mh," AG Fake Vertical Scroll ");const ls={setRowAnimationCssOnBodyViewport:s,setColumnCount:pe=>{j.current&&je(j.current,"colcount",pe)},setRowCount:pe=>{j.current&&je(j.current,"rowcount",pe)},setTopHeight:n,setBottomHeight:l,setStickyTopHeight:h,setStickyTopTop:c,setStickyTopWidth:g,setTopDisplay:F,setBottomDisplay:D,setColumnMovingCss:(pe,Ue)=>X.current.addOrRemoveCssClass(pe,Ue),updateLayoutClasses:J,setAlwaysVerticalScrollClass:L,setPinnedTopBottomOverflowY:k,setCellSelectableCss:(pe,Ue)=>te(Ue?pe:null),setBodyViewportWidth:pe=>{H.current&&(H.current.style.width=pe)},registerBodyViewportResizeListener:pe=>{if(H.current){const Ue=t.observeResize(H.current,pe);_.current.push(()=>Ue())}},setStickyBottomHeight:f,setStickyBottomBottom:v,setStickyBottomWidth:P},Io=e.createBean(new Bh);I.current.push(Io),Io.setComp(ls,Te,H.current,z.current,ue.current,W.current,Z.current)},[]),Jt=p.useMemo(()=>ze("ag-root","ag-unselectable",U),[U]),B=p.useMemo(()=>ze("ag-body-viewport",i,U,A,N),[i,U,A,N]),oe=p.useMemo(()=>ze("ag-body",U),[U]),ce=p.useMemo(()=>ze("ag-floating-top",N),[N]),V=p.useMemo(()=>ze("ag-sticky-top",N),[N]),se=p.useMemo(()=>ze("ag-sticky-bottom",m==="0px"?"ag-hidden":null,N),[N,m]),ne=p.useMemo(()=>ze("ag-floating-bottom",N),[N]),ge=p.useMemo(()=>({height:o,minHeight:o,display:S,overflowY:T}),[o,S,T]),me=p.useMemo(()=>({height:a,top:d,width:u}),[a,d,u]),Ne=p.useMemo(()=>({height:m,bottom:C,width:w}),[m,C,w]),Zt=p.useMemo(()=>({height:r,minHeight:r,display:E,overflowY:T}),[r,E,T]),Ei=Te=>x.createElement(ru,{name:Te,key:`${Te}-container`}),rt=({section:Te,children:Ct,className:ei,style:ls})=>x.createElement("div",{ref:Te,className:ei,role:"presentation",style:ls},Ct.map(Ei));return x.createElement("div",{ref:fe,className:Jt,role:"treegrid"},x.createElement(tu,null),rt({section:z,className:ce,style:ge,children:["topLeft","topCenter","topRight","topFullWidth"]}),x.createElement("div",{className:oe,ref:q,role:"presentation"},rt({section:H,className:B,children:["left","center","right","fullWidth"]})),rt({section:W,className:V,style:me,children:["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"]}),rt({section:Z,className:se,style:Ne,children:["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"]}),rt({section:ue,className:ne,style:Zt,children:["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"]}))}),au=p.forwardRef((e,t)=>{const{children:i,eFocusableElement:s,onTabKeyDown:o,gridCtrl:n,forceFocusOutWhenTabGuardsAreEmpty:r}=e,{context:l}=p.useContext(we),a=p.useRef(null),h=p.useRef(null),d=p.useRef(),c=C=>{const v=C==null?void 0:parseInt(C,10).toString();[a,h].forEach(w=>{var P,S;v===void 0?(P=w.current)==null||P.removeAttribute("tabindex"):(S=w.current)==null||S.setAttribute("tabindex",v)})};p.useImperativeHandle(t,()=>({forceFocusOutOfContainer(C){var v;(v=d.current)==null||v.forceFocusOutOfContainer(C)}}));const u=p.useCallback(()=>{const C=a.current,v=h.current;if(C||v){if(C&&v){const w={setTabIndex:c};d.current=l.createBean(new Mr({comp:w,eTopGuard:C,eBottomGuard:v,eFocusableElement:s,onTabKeyDown:o,forceFocusOutWhenTabGuardsAreEmpty:r,focusInnerElement:P=>n.focusInnerElement(P)}))}}else d.current=l.destroyBean(d.current)},[]),g=p.useCallback(C=>{a.current=C,u()},[u]),m=p.useCallback(C=>{h.current=C,u()},[u]),f=C=>{const v=C==="top"?ss.TAB_GUARD_TOP:ss.TAB_GUARD_BOTTOM;return x.createElement("div",{className:`${ss.TAB_GUARD} ${v}`,role:"presentation",ref:C==="top"?g:m})};return x.createElement(x.Fragment,null,f("top"),i,f("bottom"))}),hu=p.memo(au),du=p.memo(({context:e})=>{const[t,i]=p.useState(""),[s,o]=p.useState(""),[n,r]=p.useState(""),[l,a]=p.useState(null),[h,d]=p.useState(null),[c,u]=p.useState(!1),[g,m]=p.useState(),f=p.useRef(),C=p.useRef(null),v=p.useRef(),[w,P]=p.useState(null),S=p.useRef(()=>{}),F=p.useRef(),E=p.useRef([]),D=p.useCallback(()=>{},[]),A=p.useMemo(()=>e.isDestroyed()?null:e.getBeans(),[e]);It(" AG Grid ",C);const L=p.useCallback(U=>{if(C.current=U,f.current=U?e.createBean(new Vd):e.destroyBean(f.current),!U||e.isDestroyed())return;const J=f.current;S.current=J.focusInnerElement.bind(J);const X={destroyGridUi:()=>{},setRtlClass:i,setGridThemeClass:o,forceFocusOutOfContainer:j=>{var z,W;j||!((z=F.current)!=null&&z.isDisplayed())?(W=v.current)==null||W.forceFocusOutOfContainer(j):F.current.forceFocusOutOfContainer(j)},updateLayoutClasses:r,getFocusableContainers:()=>{var W;const j=[],z=(W=C.current)==null?void 0:W.querySelector(".ag-root");return z&&j.push({getGui:()=>z}),E.current.forEach(Z=>{Z.isDisplayed()&&j.push(Z)}),j},setCursor:a,setUserSelect:d};J.setComp(X,U,U),u(!0)},[]);p.useEffect(()=>{const U=f.current,J=C.current;if(!(g&&A&&U&&w&&J))return;const X=[],{watermarkSelector:j,paginationSelector:z,sideBarSelector:W,statusBarSelector:Z,gridHeaderDropZonesSelector:q}=U.getOptionalSelectors(),H=[];if(q){const I=e.createBean(new q.component),_=I.getGui();J.insertAdjacentElement("afterbegin",_),H.push(_),X.push(I)}if(W){const I=e.createBean(new W.component),_=I.getGui(),fe=w.querySelector(".ag-tab-guard-bottom");fe&&(fe.insertAdjacentElement("beforebegin",_),H.push(_)),X.push(I),E.current.push(I)}const ue=I=>{const _=e.createBean(new I),fe=_.getGui();return J.insertAdjacentElement("beforeend",fe),H.push(fe),X.push(_),_};if(Z&&ue(Z.component),z){const I=ue(z.component);F.current=I,E.current.push(I)}return j&&ue(j.component),()=>{e.destroyBeans(X),H.forEach(I=>{var _;(_=I.parentElement)==null||_.removeChild(I)})}},[g,w,A]);const T=p.useMemo(()=>ze("ag-root-wrapper",t,s,n),[t,s,n]),k=p.useMemo(()=>ze("ag-root-wrapper-body","ag-focus-managed",n),[n]),N=p.useMemo(()=>({userSelect:h??"",WebkitUserSelect:h??"",cursor:l??""}),[h,l]),te=p.useCallback(U=>{v.current=U,m(U!==null)},[]);return x.createElement("div",{ref:L,className:T,style:N,role:"presentation"},x.createElement("div",{className:k,ref:P,role:"presentation"},c&&w&&A&&x.createElement(we.Provider,{value:A},x.createElement(hu,{ref:te,eFocusableElement:w,onTabKeyDown:D,gridCtrl:f.current,forceFocusOutWhenTabGuardsAreEmpty:!0},x.createElement(lu,null)))))}),cu=class extends b{wireBeans(e){this.ctrlsService=e.ctrlsService}areHeaderCellsRendered(){return this.ctrlsService.getHeaderRowContainerCtrls().every(e=>e.getAllCtrls().every(t=>t.areCellsRendered()))}},ll=e=>{var C;const t=p.useRef(),i=p.useRef(null),s=p.useRef(null),o=p.useRef([]),n=p.useRef([]),r=p.useRef(e),l=p.useRef(),a=p.useRef(),h=p.useRef(!1),[d,c]=p.useState(void 0),[,u]=p.useState(0),g=p.useCallback(v=>{var L;if(i.current=v,!v)return o.current.forEach(T=>T()),void(o.current.length=0);const w=e.modules||[];s.current||(s.current=new Yc(()=>u(T=>T+1),e.componentWrappingElement,e.maxComponentCreationTimeMs),o.current.push(()=>{var T;(T=s.current)==null||T.destroy(),s.current=null}));const P=function(T,k){typeof T!="object"&&(T={});const N={...T};return ai.ALL_PROPERTIES_AND_CALLBACKS.forEach(te=>{const U=k[te];U!==void 0&&U!==ai.VUE_OMITTED_PROPERTY&&(N[te]=U)}),N}(e.gridOptions,e),S=new pu(()=>{if(h.current){const T=()=>{var N;return(N=l.current)!=null&&N.shouldQueueUpdates()?void 0:n.current.shift()};let k=T();for(;k;)k(),k=T()}});l.current=S;const F=new cu,E={providedBeanInstances:{frameworkComponentWrapper:new uu(s.current,P.reactiveCustomComponents??(D="reactiveCustomComponents",(L=qr.gridOptions)==null?void 0:L[D])??!0),renderStatusService:F},modules:w,frameworkOverrides:S};var D;const A=new bc;P.gridId??(P.gridId=a.current),t.current=A.create(v,P,T=>{c(T),T.createBean(F),o.current.push(()=>{T.destroy()}),T.getBean("ctrlsService").whenReady({addDestroyFunc:k=>{o.current.push(k)}},()=>{var N;if(T.isDestroyed())return;const k=t.current;k&&((N=e.setGridApi)==null||N.call(e,k))})},T=>{T.getBean("ctrlsService").whenReady({addDestroyFunc:k=>{o.current.push(k)}},()=>{n.current.forEach(k=>k()),n.current.length=0,h.current=!0})},E),o.current.push(()=>{t.current=void 0}),t.current&&(a.current=t.current.getGridId())},[]),m=p.useMemo(()=>({height:"100%",...e.containerStyle||{}}),[e.containerStyle]),f=p.useCallback(v=>{var w;h.current&&!((w=l.current)!=null&&w.shouldQueueUpdates())?v():n.current.push(v)},[]);return p.useEffect(()=>{const v=function(w,P){const S={};return Object.keys(P).forEach(F=>{const E=P[F];w[F]!==E&&(S[F]=E)}),S}(r.current,e);r.current=e,f(()=>{t.current&&function(w,P){if(!w)return;const S={};let F=!1;if(Object.keys(w).filter(A=>ai.ALL_PROPERTIES_AND_CALLBACKS_SET.has(A)).forEach(A=>{S[A]=w[A],F=!0}),!F)return;const E={type:"gridOptionsChanged",options:S};P.dispatchEvent(E);const D={type:"componentStateChanged"};Be(S,(A,L)=>{D[A]=L}),P.dispatchEvent(D)}(v,t.current)})},[e]),x.createElement("div",{style:m,className:e.className,ref:g},d&&!d.isDestroyed()?x.createElement(du,{context:d}):null,((C=s.current)==null?void 0:C.getPortals())??null)},uu=class extends Pc{constructor(e,t){super(),this.parent=e,this.reactiveCustomComponents=t}createWrapper(e,t){if(this.reactiveCustomComponents){const s=(o=>{switch(o){case"filter":return zc;case"floatingFilterComponent":return Kc;case"dateComponent":return Vc;case"dragAndDropImageComponent":return Wc;case"loadingOverlayComponent":return $c;case"noRowsOverlayComponent":return jc;case"statusPanel":return qc;case"toolPanel":return Qc;case"menuItem":return _c;case"cellRenderer":return Bc}})(t.propertyName);if(s)return new s(e,this.parent,t)}else switch(t.propertyName){case"filter":case"floatingFilterComponent":case"dateComponent":case"dragAndDropImageComponent":case"loadingOverlayComponent":case"noRowsOverlayComponent":case"statusPanel":case"toolPanel":case"menuItem":case"cellRenderer":Mo()}const i=!t.cellRenderer&&t.propertyName!=="toolPanel";return new sl(e,this.parent,t,i)}},gu=p.forwardRef((e,t)=>{const{ctrlsFactory:i,context:s,gos:o,resizeObserverService:n,rowModel:r}=p.useContext(we),[l,a]=p.useState(()=>new Oe),[h,d]=p.useState(()=>new Oe),[c,u]=p.useState(),[g,m]=p.useState(),f=p.useRef(),C=p.useRef(null),v=p.useRef(),w=p.useMemo(()=>Qe.__getGridRegisteredModules(e.api.getGridId()),[e]),P=p.useMemo(()=>l.toString()+" ag-details-row",[l]),S=p.useMemo(()=>h.toString()+" ag-details-grid",[h]);t&&p.useImperativeHandle(t,()=>({refresh:()=>{var D;return((D=f.current)==null?void 0:D.refresh())??!1}})),e.template&&R("detailCellRendererParams.template is not supported by AG Grid React. To change the template, provide a Custom Detail Cell Renderer. See https://ag-grid.com/react-data-grid/master-detail-custom-detail/");const F=p.useCallback(D=>{var T;if(C.current=D,!D)return f.current=s.destroyBean(f.current),void((T=v.current)==null?void 0:T.call(v));const A={addOrRemoveCssClass:(k,N)=>a(te=>te.setClass(k,N)),addOrRemoveDetailGridCssClass:(k,N)=>d(te=>te.setClass(k,N)),setDetailGrid:k=>u(k),setRowData:k=>m(k),getGui:()=>C.current},L=i.getInstance("detailCellRenderer");if(L&&(s.createBean(L),L.init(A,e),f.current=L,o.get("detailRowAutoHeight"))){const k=()=>{if(C.current==null)return;const N=C.current.clientHeight;N!=null&&N>0&&setTimeout(()=>{e.node.setRowHeight(N),(ie(o)||Ke(o))&&r.onRowHeightChanged()},0)};v.current=n.observeResize(D,k),k()}},[]),E=p.useCallback(D=>{var A;(A=f.current)==null||A.registerDetailWithMaster(D)},[]);return x.createElement("div",{className:P,ref:F},c&&x.createElement(ll,{className:S,...c,modules:w,rowData:g,setGridApi:E}))}),pu=class extends xr{constructor(e){super("react"),this.processQueuedUpdates=e,this.queueUpdates=!1,this.frameworkComponents={agGroupCellRenderer:tl,agGroupRowRenderer:tl,agDetailCellRenderer:gu},this.wrapIncoming=(t,i)=>{return i==="ensureVisible"?(s=t,rs||setTimeout(()=>rs=!1,0),rs=!0,s()):t();var s},this.renderingEngine="react"}frameworkComponent(e){return this.frameworkComponents[e]}isFrameworkComponent(e){if(!e)return!1;const t=e.prototype;return!(t&&"getGui"in t)}getLockOnRefresh(){this.queueUpdates=!0}releaseLockOnRefresh(){this.queueUpdates=!1,this.processQueuedUpdates()}shouldQueueUpdates(){return this.queueUpdates}runWhenReadyAsync(){return Ro==="19"}},mu=class extends p.Component{constructor(){super(...arguments),this.apiListeners=[],this.setGridApi=e=>{this.api=e,this.apiListeners.forEach(t=>t(e))}}registerApiListener(e){this.apiListeners.push(e)}componentWillUnmount(){this.apiListeners.length=0}render(){return x.createElement(ll,{...this.props,setGridApi:this.setGridApi})}};function Cu(e){switch(e){case"string":default:return"agTextCellEditor";case"number":return"agNumberCellEditor";case"boolean":return"agCheckboxCellEditor"}}const fu=({data:e,edits:t,pagination:i,pageSize:s,fieldTypes:o,onAddEdits:n,onAddRows:r,columnSizingMode:l})=>{const{theme:a}=wl(),h=p.useRef(null),d=p.useMemo(()=>o?o.map(([S])=>S):function(S){return S.length===0?[]:Object.keys(S[0])}(e),[e,o]),c=p.useMemo(()=>{for(const S of t)if(S.rowIdx>=e.length){const F={[S.columnId]:S.value};e.push(F)}else e[S.rowIdx][S.columnId]=S.value;return e},[e,t]),u=p.useMemo(()=>{const S=[];for(const F of d)S.push({field:F,editable:!0,sortable:!1,filter:!1,cellEditorSelector:E=>{var L,T;const D=E.column.getColId(),A=((T=(L=o==null?void 0:o.find(([k])=>k===D))==null?void 0:L[1])==null?void 0:T[0])||"string";return typeof E.value=="string"&&E.value.length>60?{component:"agLargeTextCellEditor",popup:!0}:{component:Cu(A)}}});return S},[d,o]),g=p.useMemo(()=>({sortable:!0,filter:!0,minWidth:100}),[]),m=p.useCallback(()=>{var F;const S=(F=h.current)==null?void 0:F.api;S&&(l==="fit"?S.sizeColumnsToFit():l==="auto"&&S.autoSizeAllColumns())},[l]),f=p.useCallback(S=>{m()},[m]);p.useEffect(()=>{m()},[l,m]);const C=p.useCallback(S=>{if(!S.valueChanged||S.rowIndex===null)return;const F={rowIdx:S.rowIndex,columnId:S.column.getColId(),value:S.newValue};n([F])},[n]),v=e.length,w=i&&v>s,P=p.useCallback(()=>{var E;const S=Object.fromEntries(d.map(D=>{var A,L;switch(((L=(A=o==null?void 0:o.find(([T])=>T===D))==null?void 0:A[1])==null?void 0:L[0])||"string"){case"boolean":return[D,!1];case"integer":case"number":return[D,0];case"date":return[D,new Date];default:return[D,""]}}));r([S]);const F={add:[S],addIndex:c.length};(E=h.current)==null||E.api.applyTransaction(F)},[o,r,d,c]);return ti.jsxs("div",{className:Sl(a==="dark"?"ag-theme-quartz-dark":"ag-theme-quartz","ag-theme-marimo flex h-[400px] flex-col","relative"),children:[ti.jsx(mu,{ref:h,rowData:c,columnDefs:u,defaultColDef:g,cellSelection:!0,pagination:w,paginationPageSize:s,onGridReady:f,undoRedoCellEditing:!0,stopEditingWhenCellsLoseFocus:!0,onCellEditingStopped:C,animateRows:!1,singleClickEdit:!0,suppressFieldDotNotation:!0,headerHeight:40,rowHeight:35}),ti.jsx("div",{className:"p-2 border-t flex justify-end",children:ti.jsxs(yl,{variant:"text",size:"xs",onClick:P,children:[ti.jsx(bl,{className:"w-3 h-3 mr-1"}),"Add Row"]})})]})};export{fu as default};
142
+ `),this.isFirstLine=!1}},yo="32.3.7",Xr={version:yo,moduleName:"@ag-grid-community/csv-export-core",beans:[class extends Mc{constructor(){super(...arguments),this.beanName="csvCreator"}wireBeans(e){this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.funcColsService=e.funcColsService,this.valueService=e.valueService,this.gridSerializer=e.gridSerializer}postConstruct(){this.setBeans({gridSerializer:this.gridSerializer,gos:this.gos})}getMergedParams(e){const t=this.gos.get("defaultCsvExportParams");return Object.assign({},t,e)}export(e){if(this.isExportSuppressed())return void R("Export cancelled. Export is not allowed as per your configuration.");const t=this.getMergedParams(e),i=this.getData(t),s=new Blob(["\uFEFF",i],{type:"text/plain"}),o=typeof t.fileName=="function"?t.fileName(this.gos.getGridCommonParams()):t.fileName;Ac.download(this.getFileName(o),s)}exportDataAsCsv(e){this.export(e)}getDataAsCsv(e,t=!1){const i=t?Object.assign({},e):this.getMergedParams(e);return this.getData(i)}getDefaultFileExtension(){return"csv"}createSerializingSession(e){const{columnModel:t,columnNameService:i,funcColsService:s,valueService:o,gos:n}=this,{processCellCallback:r,processHeaderCallback:l,processGroupHeaderCallback:a,processRowGroupCallback:h,suppressQuotes:d,columnSeparator:c}=e;return new Tc({columnModel:t,columnNameService:i,funcColsService:s,valueService:o,gos:n,processCellCallback:r||void 0,processHeaderCallback:l||void 0,processGroupHeaderCallback:a||void 0,processRowGroupCallback:h||void 0,suppressQuotes:d||!1,columnSeparator:c||","})}isExportSuppressed(){return this.gos.get("suppressCsvExport")}},class extends b{constructor(){super(...arguments),this.beanName="gridSerializer"}wireBeans(e){this.visibleColsService=e.visibleColsService,this.columnModel=e.columnModel,this.columnNameService=e.columnNameService,this.rowModel=e.rowModel,this.pinnedRowModel=e.pinnedRowModel,this.selectionService=e.selectionService,this.rowNodeSorter=e.rowNodeSorter,this.sortController=e.sortController}serialize(e,t={}){const{allColumns:i,columnKeys:s,skipRowGroups:o}=t,n=this.getColumnsToExport(i,o,s);return function(...r){return l=>r.reduce((a,h)=>h(a),l)}(this.prepareSession(n),this.prependContent(t),this.exportColumnGroups(t,n),this.exportHeaders(t,n),this.processPinnedTopRows(t,n),this.processRows(t,n),this.processPinnedBottomRows(t,n),this.appendContent(t))(e).parse()}processRow(e,t,i,s){var m;const o=t.shouldRowBeSkipped||(()=>!1),n=this.gos.get("groupRemoveSingleChildren"),r=this.gos.get("groupRemoveLowestSingleChildren"),l=t.rowPositions!=null||!!t.onlySelected,a=this.gos.get("groupHideOpenParents")&&!l,h=this.columnModel.isPivotMode()?s.leafGroup:!s.group,d=!!s.footer,c=r&&s.leafGroup,u=s.allChildrenCount===1&&((m=s.childrenAfterGroup)==null?void 0:m.length)===1&&(n||c);if(!h&&!d&&(t.skipRowGroups||u||a)||t.onlySelected&&!s.isSelected()||t.skipPinnedTop&&s.rowPinned==="top"||t.skipPinnedBottom&&s.rowPinned==="bottom"||s.level===-1&&!h&&!d||o(this.gos.addGridCommonParams({node:s})))return;const g=e.onNewBodyRow(s);if(i.forEach((f,C)=>{g.onColumn(f,C,s)}),t.getCustomContentBelowRow){const f=t.getCustomContentBelowRow(this.gos.addGridCommonParams({node:s}));f&&e.addCustomContent(f)}}appendContent(e){return t=>{const i=e.appendContent;return i&&t.addCustomContent(i),t}}prependContent(e){return t=>{const i=e.prependContent;return i&&t.addCustomContent(i),t}}prepareSession(e){return t=>(t.prepare(e),t)}exportColumnGroups(e,t){return i=>{if(!e.skipColumnGroupHeaders){const s=new cn,o=this.visibleColsService.createGroups({columns:t,idCreator:s,pinned:null,isStandaloneStructure:!0});this.recursivelyAddHeaderGroups(o,i,e.processGroupHeaderCallback)}return i}}exportHeaders(e,t){return i=>{if(!e.skipColumnHeaders){const s=i.onNewHeaderRow();t.forEach((o,n)=>{s.onColumn(o,n,void 0)})}return i}}processPinnedTopRows(e,t){return i=>{const s=this.processRow.bind(this,i,e,t);return e.rowPositions?e.rowPositions.filter(o=>o.rowPinned==="top").sort((o,n)=>o.rowIndex-n.rowIndex).map(o=>this.pinnedRowModel.getPinnedTopRow(o.rowIndex)).forEach(s):this.pinnedRowModel.forEachPinnedRow("top",s),i}}processRows(e,t){return i=>{const s=this.rowModel,o=ie(this.gos),n=Ke(this.gos),r=!o&&e.onlySelected,l=this.processRow.bind(this,i,e,t),{exportedRows:a="filteredAndSorted"}=e;if(e.rowPositions)e.rowPositions.filter(h=>h.rowPinned==null).sort((h,d)=>h.rowIndex-d.rowIndex).map(h=>s.getRow(h.rowIndex)).forEach(l);else if(this.columnModel.isPivotMode())o?s.forEachPivotNode(l,!0):n?s.forEachNodeAfterFilterAndSort(l,!0):s.forEachNode(l);else if(e.onlySelectedAllPages||r){const h=this.selectionService.getSelectedNodes();this.replicateSortedOrder(h),h.forEach(l)}else a==="all"?s.forEachNode(l):o||n?s.forEachNodeAfterFilterAndSort(l,!0):s.forEachNode(l);return i}}replicateSortedOrder(e){const t=this.sortController.getSortOptions(),i=(s,o)=>{var n,r;return s.rowIndex!=null&&o.rowIndex!=null?s.rowIndex-o.rowIndex:s.level===o.level?((n=s.parent)==null?void 0:n.id)===((r=o.parent)==null?void 0:r.id)?this.rowNodeSorter.compareRowNodes(t,{rowNode:s,currentPos:s.rowIndex??-1},{rowNode:o,currentPos:o.rowIndex??-1}):i(s.parent,o.parent):s.level>o.level?i(s.parent,o):i(s,o.parent)};e.sort(i)}processPinnedBottomRows(e,t){return i=>{const s=this.processRow.bind(this,i,e,t);return e.rowPositions?e.rowPositions.filter(o=>o.rowPinned==="bottom").sort((o,n)=>o.rowIndex-n.rowIndex).map(o=>this.pinnedRowModel.getPinnedBottomRow(o.rowIndex)).forEach(s):this.pinnedRowModel.forEachPinnedRow("bottom",s),i}}getColumnsToExport(e=!1,t=!1,i){const s=this.columnModel.isPivotMode();if(i&&i.length)return this.columnModel.getColsForKeys(i);const o=this.gos.get("treeData");let n=[];return n=e&&!s?this.columnModel.getCols():this.visibleColsService.getAllCols(),t&&!o&&(n=n.filter(r=>!Rs(r)&&!ni(r))),n}recursivelyAddHeaderGroups(e,t,i){const s=[];e.forEach(o=>{const n=o;n.getChildren&&n.getChildren().forEach(r=>s.push(r))}),e.length>0&&de(e[0])&&this.doAddHeaderHeader(t,e,i),s&&s.length>0&&this.recursivelyAddHeaderGroups(s,t,i)}doAddHeaderHeader(e,t,i){const s=e.onNewHeaderGroupingRow();let o=0;t.forEach(n=>{const r=n;let l;l=i?i(this.gos.addGridCommonParams({columnGroup:r})):this.columnNameService.getDisplayNameForColumnGroup(r,"header");const a=r.getLeafColumns().reduce((h,d,c,u)=>{let g=$(h);return d.getColumnGroupShow()==="open"?g&&g[1]==null||(g=[c],h.push(g)):g&&g[1]==null&&(g[1]=c-1),c===u.length-1&&g&&g[1]==null&&(g[1]=c),h},[]);s.onColumn(r,l||"",o++,r.getLeafColumns().length-1,a)})}}]},Ic={version:yo,moduleName:"@ag-grid-community/csv-export",dependantModules:[Xr,{version:yo,moduleName:"@ag-grid-community/csv-export-api",apiFunctions:{getDataAsCsv:function(e,t){var i;return(i=e.csvCreator)==null?void 0:i.getDataAsCsv(t)},exportDataAsCsv:function(e,t){var i;(i=e.csvCreator)==null||i.exportDataAsCsv(t)}},dependantModules:[Xr]}]},Lc=class extends ad{wireBeans(e){this.beans=e}constructor(e,t,i){super(e),this.parentCache=t,this.params=i,this.startRow=e*i.blockSize,this.endRow=this.startRow+i.blockSize}postConstruct(){this.createRowNodes()}getBlockStateJson(){return{id:""+this.getId(),state:{blockNumber:this.getId(),startRow:this.getStartRow(),endRow:this.getEndRow(),pageStatus:this.getState()}}}setDataAndId(e,t,i){M(t)?e.setDataAndId(t,i.toString()):e.setDataAndId(void 0,void 0)}loadFromDatasource(){const e=this.createLoadParams();K(this.params.datasource.getRows)?R("datasource is missing getRows method"):window.setTimeout(()=>{this.params.datasource.getRows(e)},0)}processServerFail(){}createLoadParams(){return{startRow:this.getStartRow(),endRow:this.getEndRow(),successCallback:this.pageLoaded.bind(this,this.getVersion()),failCallback:this.pageLoadFailed.bind(this,this.getVersion()),sortModel:this.params.sortModel,filterModel:this.params.filterModel,context:this.gos.getGridCommonParams().context}}forEachNode(e,t,i){this.rowNodes.forEach((s,o)=>{this.startRow+o<i&&e(s,t.next())})}getLastAccessed(){return this.lastAccessed}getRow(e,t=!1){t||(this.lastAccessed=this.params.lastAccessedSequence.next());const i=e-this.startRow;return this.rowNodes[i]}getStartRow(){return this.startRow}getEndRow(){return this.endRow}createRowNodes(){this.rowNodes=[];for(let e=0;e<this.params.blockSize;e++){const t=this.startRow+e,i=new nt(this.beans);i.setRowHeight(this.params.rowHeight),i.uiLevel=0,i.setRowIndex(t),i.setRowTop(this.params.rowHeight*t),this.rowNodes.push(i)}}processServerResult(e){this.rowNodes.forEach((i,s)=>{const o=e.rowData?e.rowData[s]:void 0;!i.id&&i.alreadyRendered&&o&&(this.rowNodes[s]=new nt(this.beans),this.rowNodes[s].setRowIndex(i.rowIndex),this.rowNodes[s].setRowTop(i.rowTop),this.rowNodes[s].setRowHeight(i.rowHeight),i.clearRowTopAndRowIndex()),this.setDataAndId(this.rowNodes[s],o,this.startRow+s)});const t=e.rowCount!=null&&e.rowCount>=0?e.rowCount:void 0;this.parentCache.pageLoaded(this,t)}destroy(){this.rowNodes.forEach(e=>{e.clearRowTopAndRowIndex()}),super.destroy()}},kc=class extends b{constructor(e){super(),this.lastRowIndexKnown=!1,this.blocks={},this.blockCount=0,this.rowCount=e.initialRowCount,this.params=e}wireBeans(e){this.rowRenderer=e.rowRenderer,this.focusService=e.focusService}getRow(e,t=!1){const i=Math.floor(e/this.params.blockSize);let s=this.blocks[i];if(!s){if(t)return;s=this.createBlock(i)}return s.getRow(e)}createBlock(e){const t=this.createBean(new Lc(e,this,this.params));return this.blocks[t.getId()]=t,this.blockCount++,this.purgeBlocksIfNeeded(t),this.params.rowNodeBlockLoader.addBlock(t),t}refreshCache(){this.blockCount==0?this.purgeCache():(this.getBlocksInOrder().forEach(e=>e.setStateWaitingToLoad()),this.params.rowNodeBlockLoader.checkBlockToLoad())}destroy(){this.getBlocksInOrder().forEach(e=>this.destroyBlock(e)),super.destroy()}getRowCount(){return this.rowCount}isLastRowIndexKnown(){return this.lastRowIndexKnown}pageLoaded(e,t){this.isAlive()&&(this.gos.get("debug")&&He(`InfiniteCache - onPageLoaded: page = ${e.getId()}, lastRow = ${t}`),this.checkRowCount(e,t),this.onCacheUpdated())}purgeBlocksIfNeeded(e){const t=this.getBlocksInOrder().filter(o=>o!=e);t.sort((o,n)=>n.getLastAccessed()-o.getLastAccessed());const i=this.params.maxBlocksInCache>0,s=i?this.params.maxBlocksInCache-1:null;t.forEach((o,n)=>{if(o.getState()==="needsLoading"&&n>=1||i&&n>=s){if(this.isBlockCurrentlyDisplayed(o)||this.isBlockFocused(o))return;this.removeBlockFromCache(o)}})}isBlockFocused(e){const t=this.focusService.getFocusCellToUseAfterRefresh();if(!t||t.rowPinned!=null)return!1;const i=e.getStartRow(),s=e.getEndRow();return t.rowIndex>=i&&t.rowIndex<s}isBlockCurrentlyDisplayed(e){const t=e.getStartRow(),i=e.getEndRow()-1;return this.rowRenderer.isRangeInRenderedViewport(t,i)}removeBlockFromCache(e){e&&this.destroyBlock(e)}checkRowCount(e,t){if(typeof t=="number"&&t>=0)this.rowCount=t,this.lastRowIndexKnown=!0;else if(!this.lastRowIndexKnown){const i=(e.getId()+1)*this.params.blockSize+this.params.overflowSize;this.rowCount<i&&(this.rowCount=i)}}setRowCount(e,t){this.rowCount=e,M(t)&&(this.lastRowIndexKnown=t),this.lastRowIndexKnown||this.rowCount%this.params.blockSize===0&&this.rowCount++,this.onCacheUpdated()}forEachNodeDeep(e){const t=new Ut;this.getBlocksInOrder().forEach(i=>i.forEachNode(e,t,this.rowCount))}getBlocksInOrder(){return Es(this.blocks).sort((e,t)=>e.getId()-t.getId())}destroyBlock(e){delete this.blocks[e.getId()],this.destroyBean(e),this.blockCount--,this.params.rowNodeBlockLoader.removeBlock(e)}onCacheUpdated(){this.isAlive()&&(this.destroyAllBlocksPastVirtualRowCount(),this.eventService.dispatchEvent({type:"storeUpdated"}))}destroyAllBlocksPastVirtualRowCount(){const e=[];this.getBlocksInOrder().forEach(t=>{t.getId()*this.params.blockSize>=this.rowCount&&e.push(t)}),e.length>0&&e.forEach(t=>this.destroyBlock(t))}purgeCache(){this.getBlocksInOrder().forEach(e=>this.removeBlockFromCache(e)),this.lastRowIndexKnown=!1,this.rowCount===0&&(this.rowCount=this.params.initialRowCount),this.onCacheUpdated()}getRowNodesInRange(e,t){const i=[];let s=-1,o=!1;const n=new Ut;let r=!1;return this.getBlocksInOrder().forEach(l=>{r||(o&&s+1!==l.getId()?r=!0:(s=l.getId(),l.forEachNode(a=>{const h=a===e||a===t;(o||h)&&i.push(a),h&&(o=!o)},n,this.rowCount)))}),r||o?[]:i}},bo="32.3.7",Jr={version:bo,moduleName:"@ag-grid-community/infinite-row-model-core",rowModel:"infinite",beans:[class extends b{constructor(){super(...arguments),this.beanName="rowModel"}wireBeans(e){this.filterManager=e.filterManager,this.sortController=e.sortController,this.selectionService=e.selectionService,this.rowRenderer=e.rowRenderer,this.rowNodeBlockLoader=e.rowNodeBlockLoader}getRowBounds(e){return{rowHeight:this.rowHeight,rowTop:this.rowHeight*e}}ensureRowHeightsValid(){return!1}postConstruct(){this.gos.get("rowModelType")==="infinite"&&(this.rowHeight=vt(this.gos),this.addEventListeners(),this.addDestroyFunc(()=>this.destroyCache()),this.verifyProps())}verifyProps(){this.gos.exists("initialGroupOrderComparator")&&R("initialGroupOrderComparator cannot be used with Infinite Row Model as sorting is done on the server side")}start(){this.setDatasource(this.gos.get("datasource"))}destroy(){this.destroyDatasource(),super.destroy()}destroyDatasource(){this.datasource&&(this.destroyBean(this.datasource),this.rowRenderer.datasourceChanged(),this.datasource=null)}addEventListeners(){this.addManagedEventListeners({filterChanged:this.onFilterChanged.bind(this),sortChanged:this.onSortChanged.bind(this),newColumnsLoaded:this.onColumnEverything.bind(this),storeUpdated:this.onCacheUpdated.bind(this)}),this.addManagedPropertyListener("datasource",()=>this.setDatasource(this.gos.get("datasource"))),this.addManagedPropertyListener("cacheBlockSize",()=>this.resetCache()),this.addManagedPropertyListener("rowHeight",()=>{this.rowHeight=vt(this.gos),this.cacheParams.rowHeight=this.rowHeight,this.updateRowHeights()})}onFilterChanged(){this.reset()}onSortChanged(){this.reset()}onColumnEverything(){let e;e=!this.cacheParams||this.isSortModelDifferent(),e&&this.reset()}isSortModelDifferent(){return!ii(this.cacheParams.sortModel,this.sortController.getSortModel())}getType(){return"infinite"}setDatasource(e){this.destroyDatasource(),this.datasource=e,e&&this.reset()}isEmpty(){return!this.infiniteCache}isRowsToRender(){return!!this.infiniteCache}getNodesInRangeForSelection(e,t){return this.infiniteCache?this.infiniteCache.getRowNodesInRange(e,t):[]}reset(){this.datasource&&(Nt(this.gos)!=null||this.selectionService.reset("rowDataChanged"),this.resetCache())}dispatchModelUpdatedEvent(){this.eventService.dispatchEvent({type:"modelUpdated",newPage:!1,newPageSize:!1,newData:!1,keepRenderedRows:!0,animate:!1})}resetCache(){var e;this.destroyCache(),this.cacheParams={datasource:this.datasource,filterModel:((e=this.filterManager)==null?void 0:e.getFilterModel())??{},sortModel:this.sortController.getSortModel(),rowNodeBlockLoader:this.rowNodeBlockLoader,initialRowCount:this.gos.get("infiniteInitialRowCount"),maxBlocksInCache:this.gos.get("maxBlocksInCache"),rowHeight:vt(this.gos),overflowSize:this.gos.get("cacheOverflowSize"),blockSize:this.gos.get("cacheBlockSize"),lastAccessedSequence:new Ut},this.infiniteCache=this.createBean(new kc(this.cacheParams)),this.eventService.dispatchEventOnce({type:"rowCountReady"}),this.dispatchModelUpdatedEvent()}updateRowHeights(){this.forEachNode(e=>{e.setRowHeight(this.rowHeight),e.setRowTop(this.rowHeight*e.rowIndex)}),this.dispatchModelUpdatedEvent()}destroyCache(){this.infiniteCache&&(this.infiniteCache=this.destroyBean(this.infiniteCache))}onCacheUpdated(){this.dispatchModelUpdatedEvent()}getRow(e){if(this.infiniteCache&&!(e>=this.infiniteCache.getRowCount()))return this.infiniteCache.getRow(e)}getRowNode(e){let t;return this.forEachNode(i=>{i.id===e&&(t=i)}),t}forEachNode(e){this.infiniteCache&&this.infiniteCache.forEachNodeDeep(e)}getTopLevelRowCount(){return this.getRowCount()}getTopLevelRowDisplayedIndex(e){return e}getRowIndexAtPixel(e){if(this.rowHeight!==0){const t=Math.floor(e/this.rowHeight),i=this.getRowCount()-1;return t>i?i:t}return 0}getRowCount(){return this.infiniteCache?this.infiniteCache.getRowCount():0}isRowPresent(e){return!!this.getRowNode(e.id)}refreshCache(){this.infiniteCache&&this.infiniteCache.refreshCache()}purgeCache(){this.infiniteCache&&this.infiniteCache.purgeCache()}isLastRowIndexKnown(){return!!this.infiniteCache&&this.infiniteCache.isLastRowIndexKnown()}setRowCount(e,t){this.infiniteCache&&this.infiniteCache.setRowCount(e,t)}}],dependantModules:[hd]},Oc={version:bo,moduleName:"@ag-grid-community/infinite-row-model",dependantModules:[Jr,{version:bo,moduleName:"@ag-grid-community/infinite-row-model-api",beans:[Qr],apiFunctions:{refreshInfiniteCache:function(e){var t,i;(i=(t=e.rowModelHelperService)==null?void 0:t.getInfiniteRowModel())==null||i.refreshCache()},purgeInfiniteCache:function(e){var t,i;(i=(t=e.rowModelHelperService)==null?void 0:t.getInfiniteRowModel())==null||i.purgeCache()},getInfiniteRowCount:function(e){var t,i;return(i=(t=e.rowModelHelperService)==null?void 0:t.getInfiniteRowModel())==null?void 0:i.getRowCount()}},dependantModules:[Jr,Fc]}]};Qe.__registerModules([Ur,Ec,Oc,Ic],!1,void 0);var we=x.createContext({}),Pi=(e,t,i,s)=>{if(!e||e.componentFromFramework||t.isDestroyed())return;const o=e.newAgStackInstance();if(o==null)return;let n,r,l=!1;return o.then(a=>{l?t.destroyBean(a):(n=a,r=n.getGui(),i.appendChild(r),Zr(s,n))}),()=>{var a;l=!0,n&&((a=r==null?void 0:r.parentElement)==null||a.removeChild(r),t.destroyBean(n),s&&Zr(s,void 0))}},Zr=(e,t)=>{e&&(e instanceof Function?e(t):e.current=t)},ze=(...e)=>e.filter(t=>t!=null&&t!=="").join(" "),Oe=class ml{constructor(...t){this.classesMap={},t.forEach(i=>{this.classesMap[i]=!0})}setClass(t,i){if(!!this.classesMap[t]==i)return this;const s=new ml;return s.classesMap={...this.classesMap},s.classesMap[t]=i,s}toString(){return Object.keys(this.classesMap).filter(t=>this.classesMap[t]).join(" ")}},Xt=e=>typeof e=="function"&&!(e.prototype&&e.prototype.isReactComponent)||typeof e=="object"&&e.$$typeof===(typeof Symbol=="function"&&Symbol.for?Symbol.for("react.memo"):60115),Ro=(al=x.version)==null?void 0:al.split(".")[0],Gc=Ro==="16"||Ro==="17",rs=!1,Fo=(e,t)=>{Gc||!e||rs?t():vl.flushSync(t)};function Po(e,t,i){if(t==null||e==null)return t;if(e===t||t.length===0&&e.length===0)return e;if(i||e.length===0&&t.length>0||e.length>0&&t.length===0)return t;const s=[],o=[],n=new Map,r=new Map;for(let l=0;l<t.length;l++){const a=t[l];r.set(a.instanceId,a)}for(let l=0;l<e.length;l++){const a=e[l];n.set(a.instanceId,a),r.has(a.instanceId)&&s.push(a)}for(let l=0;l<t.length;l++){const a=t[l],h=a.instanceId;n.has(h)||o.push(a)}return s.length===e.length&&o.length===0?e:s.length===0&&o.length===t.length?t:s.length===0?o:o.length===0?s:[...s,...o]}var el=p.forwardRef((e,t)=>{var j;const{ctrlsFactory:i,context:s}=p.useContext(we),o=p.useRef(null),n=p.useRef(null),r=p.useRef(null),l=p.useRef(null),a=p.useRef(null),h=p.useRef(),[d,c]=p.useState(),[u,g]=p.useState(),[m,f]=p.useState(),[C,v]=p.useState(()=>new Oe),[w,P]=p.useState(()=>new Oe("ag-hidden")),[S,F]=p.useState(()=>new Oe("ag-hidden")),[E,D]=p.useState(()=>new Oe("ag-invisible"));p.useImperativeHandle(t,()=>({refresh:()=>!1})),p.useLayoutEffect(()=>Pi(d,s,n.current),[d]);const A=p.useCallback(z=>{if(o.current=z,!z)return void(h.current=s.destroyBean(h.current));const W={setInnerRenderer:(q,H)=>{c(q),f(H)},setChildCount:q=>g(q),addOrRemoveCssClass:(q,H)=>v(ue=>ue.setClass(q,H)),setContractedDisplayed:q=>F(H=>H.setClass("ag-hidden",!q)),setExpandedDisplayed:q=>P(H=>H.setClass("ag-hidden",!q)),setCheckboxVisible:q=>D(H=>H.setClass("ag-invisible",!q))},Z=i.getInstance("groupCellRendererCtrl");Z&&(h.current=s.createBean(Z),h.current.init(W,z,r.current,l.current,a.current,el,e))},[]),L=p.useMemo(()=>`ag-cell-wrapper ${C.toString()}`,[C]),T=p.useMemo(()=>`ag-group-expanded ${w.toString()}`,[w]),k=p.useMemo(()=>`ag-group-contracted ${S.toString()}`,[S]),N=p.useMemo(()=>`ag-group-checkbox ${E.toString()}`,[E]),te=d&&d.componentFromFramework,U=te?d.componentClass:void 0,J=d==null&&m!=null,X=_e(m,!0);return x.createElement("span",{className:L,ref:A,...e.colDef?{}:{role:(j=h.current)==null?void 0:j.getCellAriaRole()}},x.createElement("span",{className:T,ref:l}),x.createElement("span",{className:k,ref:a}),x.createElement("span",{className:N,ref:r}),x.createElement("span",{className:"ag-group-value",ref:n},J&&x.createElement(x.Fragment,null,X),te&&x.createElement(U,{...d.params})),x.createElement("span",{className:"ag-group-child-count"},u))}),tl=el,Do=p.createContext({setMethods:()=>{}}),Nc=p.memo(e=>{const{initialProps:t,addUpdateCallback:i,CustomComponentClass:s,setMethods:o}=e,[{key:n,...r},l]=p.useState(t);return p.useEffect(()=>{i(a=>l(a))},[]),x.createElement(Do.Provider,{value:{setMethods:o}},x.createElement(s,{key:n,...r}))}),Hc=0;function il(){return"agPortalKey_"+ ++Hc}var sl=class{constructor(e,t,i,s){this.portal=null,this.oldPortal=null,this.reactComponent=e,this.portalManager=t,this.componentType=i,this.suppressFallbackMethods=!!s,this.statelessComponent=this.isStateless(this.reactComponent),this.key=il(),this.portalKey=il(),this.instanceCreated=this.isStatelessComponent()?he.resolve(!1):new he(o=>{this.resolveInstanceCreated=o})}getGui(){return this.eParentElement}getRootElement(){return this.eParentElement.firstChild}destroy(){this.componentInstance&&typeof this.componentInstance.destroy=="function"&&this.componentInstance.destroy();const e=this.portal;e&&this.portalManager.destroyPortal(e)}createParentElement(e){const t=this.portalManager.getComponentWrappingElement(),i=document.createElement(t||"div");return i.classList.add("ag-react-container"),e.reactContainer=i,i}addParentContainerStyleAndClasses(){this.componentInstance&&(this.componentInstance.getReactContainerStyle&&this.componentInstance.getReactContainerStyle()&&(R('Since v31.1 "getReactContainerStyle" is deprecated. Apply styling directly to ".ag-react-container" if needed.'),Object.assign(this.eParentElement.style,this.componentInstance.getReactContainerStyle())),this.componentInstance.getReactContainerClasses&&this.componentInstance.getReactContainerClasses())&&(R('Since v31.1 "getReactContainerClasses" is deprecated. Apply styling directly to ".ag-react-container" if needed.'),this.componentInstance.getReactContainerClasses().forEach(e=>this.eParentElement.classList.add(e)))}statelessComponentRendered(){return this.eParentElement.childElementCount>0||this.eParentElement.childNodes.length>0}getFrameworkComponentInstance(){return this.componentInstance}isStatelessComponent(){return this.statelessComponent}getReactComponentName(){return this.reactComponent.name}getMemoType(){return this.hasSymbol()?Symbol.for("react.memo"):60115}hasSymbol(){return typeof Symbol=="function"&&Symbol.for}isStateless(e){return typeof e=="function"&&!(e.prototype&&e.prototype.isReactComponent)||typeof e=="object"&&e.$$typeof===this.getMemoType()}hasMethod(e){const t=this.getFrameworkComponentInstance();return!!t&&t[e]!=null||this.fallbackMethodAvailable(e)}callMethod(e,t){const i=this.getFrameworkComponentInstance();if(this.isStatelessComponent())return this.fallbackMethod(e,t&&t[0]?t[0]:{});if(!i)return void setTimeout(()=>this.callMethod(e,t));const s=i[e];return s?s.apply(i,t):this.fallbackMethodAvailable(e)?this.fallbackMethod(e,t&&t[0]?t[0]:{}):void 0}addMethod(e,t){this[e]=t}init(e){return this.eParentElement=this.createParentElement(e),this.createOrUpdatePortal(e),new he(t=>this.createReactComponent(t))}createOrUpdatePortal(e){this.isStatelessComponent()||(this.ref=t=>{var i;this.componentInstance=t,this.addParentContainerStyleAndClasses(),(i=this.resolveInstanceCreated)==null||i.call(this,!0),this.resolveInstanceCreated=void 0},e.ref=this.ref),this.reactElement=this.createElement(this.reactComponent,{...e,key:this.key}),this.portal=ko.createPortal(this.reactElement,this.eParentElement,this.portalKey)}createElement(e,t){return p.createElement(e,t)}createReactComponent(e){this.portalManager.mountReactPortal(this.portal,this,e)}rendered(){return this.isStatelessComponent()&&this.statelessComponentRendered()||!(this.isStatelessComponent()||!this.getFrameworkComponentInstance())}refreshComponent(e){this.oldPortal=this.portal,this.createOrUpdatePortal(e),this.portalManager.updateReactPortal(this.oldPortal,this.portal)}fallbackMethod(e,t){const i=this[`${e}Component`];if(!this.suppressFallbackMethods&&i)return i.bind(this)(t)}fallbackMethodAvailable(e){return this.suppressFallbackMethods?!1:!!this[`${e}Component`]}};function Eo(e,t,i){e.forEach(s=>{const o=t[s];o&&(i[s]=o)})}var Xe=class extends sl{constructor(){super(...arguments),this.awaitUpdateCallback=new he(e=>{this.resolveUpdateCallback=e}),this.wrapperComponent=Nc}init(e){return this.sourceParams=e,super.init(this.getProps())}addMethod(){}getInstance(){return this.instanceCreated.then(()=>this.componentInstance)}getFrameworkComponentInstance(){return this}createElement(e,t){return super.createElement(this.wrapperComponent,{initialProps:t,CustomComponentClass:e,setMethods:i=>this.setMethods(i),addUpdateCallback:i=>{this.updateCallback=()=>(i(this.getProps()),new he(s=>{setTimeout(()=>{s()})})),this.resolveUpdateCallback()}})}setMethods(e){this.providedMethods=e,Eo(this.getOptionalMethods(),this.providedMethods,this)}getOptionalMethods(){return[]}getProps(){return{...this.sourceParams,key:this.key,ref:this.ref}}refreshProps(){return this.updateCallback?this.updateCallback():new he(e=>this.awaitUpdateCallback.then(()=>{this.updateCallback().then(()=>e())}))}},Bc=class extends Xe{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},Vc=class extends Xe{constructor(){super(...arguments),this.date=null,this.onDateChange=e=>this.updateDate(e)}getDate(){return this.date}setDate(e){this.date=e,this.refreshProps()}refresh(e){this.sourceParams=e,this.refreshProps()}getOptionalMethods(){return["afterGuiAttached","setInputPlaceholder","setInputAriaLabel","setDisabled"]}updateDate(e){this.setDate(e),this.sourceParams.onDateChanged()}getProps(){const e=super.getProps();return e.date=this.date,e.onDateChange=this.onDateChange,delete e.onDateChanged,e}},Wc=class extends Xe{constructor(){super(...arguments),this.label="",this.icon=null,this.shake=!1}setIcon(e,t){this.icon=e,this.shake=t,this.refreshProps()}setLabel(e){this.label=e,this.refreshProps()}getProps(){const e=super.getProps(),{label:t,icon:i,shake:s}=this;return e.label=t,e.icon=i,e.shake=s,e}},zc=class extends Xe{constructor(){super(...arguments),this.model=null,this.onModelChange=e=>this.updateModel(e),this.onUiChange=()=>this.sourceParams.filterChangedCallback(),this.expectingNewMethods=!0,this.hasBeenActive=!1}isFilterActive(){return this.model!=null}doesFilterPass(e){return this.providedMethods.doesFilterPass(e)}getModel(){return this.model}setModel(e){return this.expectingNewMethods=!0,this.model=e,this.hasBeenActive||(this.hasBeenActive=this.isFilterActive()),this.refreshProps()}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}getOptionalMethods(){return["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onAnyFilterChanged"]}setMethods(e){var t;this.expectingNewMethods===!1&&this.hasBeenActive&&((t=this.providedMethods)==null?void 0:t.doesFilterPass)!==(e==null?void 0:e.doesFilterPass)&&setTimeout(()=>{this.sourceParams.filterChangedCallback()}),this.expectingNewMethods=!1,super.setMethods(e)}updateModel(e){this.setModel(e).then(()=>this.sourceParams.filterChangedCallback())}getProps(){const e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e.onUiChange=this.onUiChange,delete e.filterChangedCallback,delete e.filterModifiedCallback,delete e.valueGetter,e}};function ol(e,t){e.parentFilterInstance(i=>{(i.setModel(t)||he.resolve()).then(()=>{e.filterParams.filterChangedCallback()})})}var Uc=class{constructor(e,t){this.floatingFilterParams=e,this.refreshProps=t,this.model=null,this.onModelChange=i=>this.updateModel(i)}getProps(){return{...this.floatingFilterParams,model:this.model,onModelChange:this.onModelChange}}onParentModelChanged(e){this.model=e,this.refreshProps()}refresh(e){this.floatingFilterParams=e,this.refreshProps()}setMethods(e){Eo(this.getOptionalMethods(),e,this)}getOptionalMethods(){return["afterGuiAttached"]}updateModel(e){this.model=e,this.refreshProps(),ol(this.floatingFilterParams,e)}},Kc=class extends Xe{constructor(){super(...arguments),this.model=null,this.onModelChange=e=>this.updateModel(e)}onParentModelChanged(e){this.model=e,this.refreshProps()}refresh(e){this.sourceParams=e,this.refreshProps()}getOptionalMethods(){return["afterGuiAttached"]}updateModel(e){this.model=e,this.refreshProps(),ol(this.sourceParams,e)}getProps(){const e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e}},$c=class extends Xe{refresh(e){this.sourceParams=e,this.refreshProps()}},_c=class extends Xe{constructor(){super(...arguments),this.active=!1,this.expanded=!1,this.onActiveChange=e=>this.updateActive(e)}setActive(e){this.awaitSetActive(e)}setExpanded(e){this.expanded=e,this.refreshProps()}getOptionalMethods(){return["select","configureDefaults"]}awaitSetActive(e){return this.active=e,this.refreshProps()}updateActive(e){const t=this.awaitSetActive(e);e&&t.then(()=>this.sourceParams.onItemActivated())}getProps(){const e=super.getProps();return e.active=this.active,e.expanded=this.expanded,e.onActiveChange=this.onActiveChange,delete e.onItemActivated,e}},jc=class extends Xe{refresh(e){this.sourceParams=e,this.refreshProps()}},qc=class extends Xe{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},Qc=class extends Xe{constructor(){super(...arguments),this.onStateChange=e=>this.updateState(e)}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}getState(){return this.state}updateState(e){this.state=e,this.refreshProps(),this.sourceParams.onStateUpdated()}getProps(){const e=super.getProps();return e.state=this.state,e.onStateChange=this.onStateChange,e}};function Mo(){R("As of v32, using custom components with `reactiveCustomComponents = false` is deprecated.")}var Yc=class{constructor(e,t,i){this.destroyed=!1,this.portals=[],this.hasPendingPortalUpdate=!1,this.wrappingElement=t||"div",this.refresher=e,this.maxComponentCreationTimeMs=i||1e3}getPortals(){return this.portals}destroy(){this.destroyed=!0}destroyPortal(e){this.portals=this.portals.filter(t=>t!==e),this.batchUpdate()}getComponentWrappingElement(){return this.wrappingElement}mountReactPortal(e,t,i){this.portals=[...this.portals,e],this.waitForInstance(t,i),this.batchUpdate()}updateReactPortal(e,t){this.portals[this.portals.indexOf(e)]=t,this.batchUpdate()}batchUpdate(){this.hasPendingPortalUpdate||(setTimeout(()=>{this.destroyed||(this.refresher(),this.hasPendingPortalUpdate=!1)}),this.hasPendingPortalUpdate=!0)}waitForInstance(e,t,i=Date.now()){if(this.destroyed)t(null);else if(e.rendered())t(e);else{if(Date.now()-i>=this.maxComponentCreationTimeMs&&!this.hasPendingPortalUpdate)return;window.setTimeout(()=>{this.waitForInstance(e,t,i)})}}},Xc=p.memo(({ctrl:e})=>{const t=e.isAlive(),{context:i}=p.useContext(we),s=t?e.getColId():void 0,[o,n]=p.useState(),r=p.useRef(),l=p.useRef(null),a=p.useRef(null),h=p.useRef(null),d=p.useRef(),c=p.useRef();t&&!c.current&&(c.current=new di(()=>l.current));const u=p.useCallback(C=>{var P;if(l.current=C,r.current=C?i.createBean(new Vt):i.destroyBean(r.current),!C||!t)return;const v={setWidth:S=>{l.current&&(l.current.style.width=S)},addOrRemoveCssClass:(S,F)=>c.current.addOrRemoveCssClass(S,F),setAriaSort:S=>{l.current&&(S?function(F,E){je(F,"sort",E)}(l.current,S):gn(l.current,"sort"))},setUserCompDetails:S=>n(S),getUserCompInstance:()=>d.current||void 0};e.setComp(v,C,a.current,h.current,r.current);const w=e.getSelectAllGui();(P=a.current)==null||P.insertAdjacentElement("afterend",w),r.current.addDestroyFunc(()=>w.remove())},[]);p.useLayoutEffect(()=>Pi(o,i,h.current,d),[o]),p.useEffect(()=>{e.setDragSource(l.current)},[o]);const g=p.useMemo(()=>!!(o!=null&&o.componentFromFramework&&Xt(o.componentClass)),[o]),m=o&&o.componentFromFramework,f=o&&o.componentClass;return x.createElement("div",{ref:u,className:"ag-header-cell","col-id":s,role:"columnheader"},x.createElement("div",{ref:a,className:"ag-header-cell-resize",role:"presentation"}),x.createElement("div",{ref:h,className:"ag-header-cell-comp-wrapper",role:"presentation"},m&&g&&x.createElement(f,{...o.params}),m&&!g&&x.createElement(f,{...o.params,ref:d})))}),Jc=p.memo(({ctrl:e})=>{const{context:t,gos:i}=p.useContext(we),[s,o]=p.useState(()=>new Oe("ag-header-cell","ag-floating-filter")),[n,r]=p.useState(()=>new Oe),[l,a]=p.useState(()=>new Oe("ag-floating-filter-button","ag-hidden")),[h,d]=p.useState("false"),[c,u]=p.useState(),[,g]=p.useState(1),m=p.useRef(),f=p.useRef(null),C=p.useRef(null),v=p.useRef(null),w=p.useRef(null),P=p.useRef(),S=p.useRef(),F=X=>{X!=null&&P.current&&P.current(X)},E=p.useCallback(X=>{if(f.current=X,m.current=X?t.createBean(new Vt):t.destroyBean(m.current),!X)return;S.current=new he(z=>{P.current=z});const j={addOrRemoveCssClass:(z,W)=>o(Z=>Z.setClass(z,W)),addOrRemoveBodyCssClass:(z,W)=>r(Z=>Z.setClass(z,W)),setButtonWrapperDisplayed:z=>{a(W=>W.setClass("ag-hidden",!z)),d(z?"false":"true")},setWidth:z=>{f.current&&(f.current.style.width=z)},setCompDetails:z=>u(z),getFloatingFilterComp:()=>S.current?S.current:null,setMenuIcon:z=>{var W;return(W=w.current)==null?void 0:W.appendChild(z)}};e.setComp(j,X,w.current,C.current,m.current)},[]);p.useLayoutEffect(()=>Pi(c,t,C.current,F),[c]);const D=p.useMemo(()=>s.toString(),[s]),A=p.useMemo(()=>n.toString(),[n]),L=p.useMemo(()=>l.toString(),[l]),T=p.useMemo(()=>!!(c&&c.componentFromFramework&&Xt(c.componentClass)),[c]),k=p.useMemo(()=>i.get("reactiveCustomComponents"),[]),N=p.useMemo(()=>{if(c){if(k){const X=new Uc(c.params,()=>g(j=>j+1));return F(X),X}c.componentFromFramework&&Mo()}},[c]),te=N==null?void 0:N.getProps(),U=c&&c.componentFromFramework,J=c&&c.componentClass;return x.createElement("div",{ref:E,className:D,role:"gridcell"},x.createElement("div",{ref:C,className:A,role:"presentation"},U&&!k&&x.createElement(J,{...c.params,ref:T?()=>{}:F}),U&&k&&x.createElement(Do.Provider,{value:{setMethods:X=>N.setMethods(X)}},x.createElement(J,{...te}))),x.createElement("div",{ref:v,"aria-hidden":h,className:L,role:"presentation"},x.createElement("button",{ref:w,type:"button",className:"ag-button ag-floating-filter-button-button",tabIndex:-1})))}),Zc=p.memo(({ctrl:e})=>{const{context:t}=p.useContext(we),[i,s]=p.useState(()=>new Oe),[o,n]=p.useState(()=>new Oe),[r,l]=p.useState("false"),[a,h]=p.useState(),[d,c]=p.useState(),u=p.useMemo(()=>e.getColId(),[]),g=p.useRef(),m=p.useRef(null),f=p.useRef(null),C=p.useRef(null),v=p.useRef(),w=p.useCallback(A=>{if(m.current=A,g.current=A?t.createBean(new Vt):t.destroyBean(g.current),!A)return;const L={setWidth:T=>{m.current&&(m.current.style.width=T)},addOrRemoveCssClass:(T,k)=>s(N=>N.setClass(T,k)),setHeaderWrapperHidden:T=>{const k=C.current;k&&(T?k.style.setProperty("display","none"):k.style.removeProperty("display"))},setHeaderWrapperMaxHeight:T=>{const k=C.current;k&&(T!=null?k.style.setProperty("max-height",`${T}px`):k.style.removeProperty("max-height"),k.classList.toggle("ag-header-cell-comp-wrapper-limited-height",T!=null))},setUserCompDetails:T=>c(T),setResizableDisplayed:T=>{n(k=>k.setClass("ag-hidden",!T)),l(T?"false":"true")},setAriaExpanded:T=>h(T),getUserCompInstance:()=>v.current||void 0};e.setComp(L,A,f.current,C.current,g.current)},[]);p.useLayoutEffect(()=>Pi(d,t,C.current),[d]),p.useEffect(()=>{m.current&&e.setDragSource(m.current)},[d]);const P=p.useMemo(()=>!!(d!=null&&d.componentFromFramework&&Xt(d.componentClass)),[d]),S=p.useMemo(()=>"ag-header-group-cell "+i.toString(),[i]),F=p.useMemo(()=>"ag-header-cell-resize "+o.toString(),[o]),E=d&&d.componentFromFramework,D=d&&d.componentClass;return x.createElement("div",{ref:w,className:S,"col-id":u,role:"columnheader","aria-expanded":a},x.createElement("div",{ref:C,className:"ag-header-cell-comp-wrapper",role:"presentation"},E&&P&&x.createElement(D,{...d.params}),E&&!P&&x.createElement(D,{...d.params,ref:v})),x.createElement("div",{ref:f,"aria-hidden":r,className:F}))}),eu=p.memo(({ctrl:e})=>{const{context:t}=p.useContext(we),{topOffset:i,rowHeight:s}=p.useMemo(()=>e.getTopAndHeight(),[]),o=e.getAriaRowIndex(),n=e.getHeaderRowClass(),[r,l]=p.useState(()=>s+"px"),[a,h]=p.useState(()=>i+"px"),d=p.useRef(null),c=p.useRef(null),[u,g]=p.useState(()=>e.getHeaderCtrls()),m=p.useRef(),f=p.useRef(null),C=p.useCallback(P=>{if(f.current=P,m.current=P?t.createBean(new Vt):t.destroyBean(m.current),!P)return;const S={setHeight:F=>l(F),setTop:F=>h(F),setHeaderCtrls:(F,E,D)=>{c.current=d.current,d.current=F;const A=Po(c.current,F,E);A!==c.current&&Fo(D,()=>g(A))},setWidth:F=>{f.current&&(f.current.style.width=F)}};e.setComp(S,m.current,!1)},[]),v=p.useMemo(()=>({height:r,top:a}),[r,a]),w=p.useCallback(P=>{switch(e.getType()){case ho.COLUMN_GROUP:return x.createElement(Zc,{ctrl:P,key:P.instanceId});case ho.FLOATING_FILTER:return x.createElement(Jc,{ctrl:P,key:P.instanceId});default:return x.createElement(Xc,{ctrl:P,key:P.instanceId})}},[]);return x.createElement("div",{ref:C,className:n,role:"row",style:v,"aria-rowindex":o},u.map(w))}),xo=p.memo(({pinned:e})=>{const[t,i]=p.useState(!0),[s,o]=p.useState([]),{context:n}=p.useContext(we),r=p.useRef(null),l=p.useRef(null),a=p.useRef(),h=e==="left",d=e==="right",c=!h&&!d,u=p.useCallback(f=>{if(r.current=f,a.current=f?n.createBean(new uh(e)):n.destroyBean(a.current),!f)return;const C={setDisplayed:i,setCtrls:v=>o(v),setCenterWidth:v=>{l.current&&(l.current.style.width=v)},setViewportScrollLeft:v=>{r.current&&(r.current.scrollLeft=v)},setPinnedContainerWidth:v=>{r.current&&(r.current.style.width=v,r.current.style.minWidth=v,r.current.style.maxWidth=v)}};a.current.setComp(C,r.current)},[]),g=t?"":"ag-hidden",m=()=>s.map(f=>x.createElement(eu,{ctrl:f,key:f.instanceId}));return x.createElement(x.Fragment,null,h&&x.createElement("div",{ref:u,className:"ag-pinned-left-header "+g,"aria-hidden":!t,role:"rowgroup"},m()),d&&x.createElement("div",{ref:u,className:"ag-pinned-right-header "+g,"aria-hidden":!t,role:"rowgroup"},m()),c&&x.createElement("div",{ref:u,className:"ag-header-viewport "+g,role:"presentation"},x.createElement("div",{ref:l,className:"ag-header-container",role:"rowgroup"},m())))}),tu=p.memo(()=>{const[e,t]=p.useState(()=>new Oe),[i,s]=p.useState(),{context:o}=p.useContext(we),n=p.useRef(null),r=p.useRef(),l=p.useCallback(d=>{if(n.current=d,r.current=d?o.createBean(new eh):o.destroyBean(r.current),!d)return;const c={addOrRemoveCssClass:(u,g)=>t(m=>m.setClass(u,g)),setHeightAndMinHeight:u=>s(u)};r.current.setComp(c,d,d)},[]),a=p.useMemo(()=>"ag-header "+e.toString(),[e]),h=p.useMemo(()=>({height:i,minHeight:i}),[i]);return x.createElement("div",{ref:l,className:a,style:h,role:"presentation"},x.createElement(xo,{pinned:"left"}),x.createElement(xo,{pinned:null}),x.createElement(xo,{pinned:"right"}))}),It=(e,t)=>{p.useEffect(()=>{const i=t.current;if(i){const s=i.parentElement;if(s){const o=document.createComment(e);return s.insertBefore(o,i),()=>{s.removeChild(o)}}}},[e])},iu=class{constructor(e,t){this.cellEditorParams=e,this.refreshProps=t,this.instanceCreated=new he(i=>{this.resolveInstanceCreated=i}),this.onValueChange=i=>this.updateValue(i),this.value=e.value}getProps(){return{...this.cellEditorParams,initialValue:this.cellEditorParams.value,value:this.value,onValueChange:this.onValueChange}}getValue(){return this.value}refresh(e){this.cellEditorParams=e,this.refreshProps()}setMethods(e){Eo(this.getOptionalMethods(),e,this)}getInstance(){return this.instanceCreated.then(()=>this.componentInstance)}setRef(e){var t;this.componentInstance=e,(t=this.resolveInstanceCreated)==null||t.call(this),this.resolveInstanceCreated=void 0}getOptionalMethods(){return["isCancelBeforeStart","isCancelAfterEnd","focusIn","focusOut","afterGuiAttached"]}updateValue(e){this.value=e,this.refreshProps()}},nl=p.memo(e=>{const[t,i]=p.useState(),{context:s,popupService:o,localeService:n,gos:r,editService:l}=p.useContext(we);return(a=>{const h=p.useRef(a),d=p.useRef(),c=p.useRef(!1),u=p.useRef(!1),[,g]=p.useState(0);c.current&&(u.current=!0),p.useEffect(()=>(c.current||(d.current=h.current(),c.current=!0),g(m=>m+1),()=>{var m;u.current&&((m=d.current)==null||m.call(d))}),[])})(()=>{var S,F;const{editDetails:a,cellCtrl:h,eParentCell:d}=e,{compDetails:c}=a,u=r.get("stopEditingWhenCellsLoseFocus"),g=s.createBean(l.createPopupEditorWrapper(c.params)),m=g.getGui();if(e.jsChildComp){const E=e.jsChildComp.getGui();E&&m.appendChild(E)}const f={column:h.getColumn(),rowNode:h.getRowNode(),type:"popupCellEditor",eventSource:d,ePopup:m,position:a.popupPosition,keepWithinBounds:!0},C=o.positionPopupByComponent.bind(o,f),v=n.getLocaleTextFunc(),w=o.addPopup({modal:u,eChild:m,closeOnEsc:!0,closedCallback:()=>{h.onPopupEditorClosed()},anchorToElement:d,positionCallback:C,ariaLabel:v("ariaLabelCellEditor","Cell Editor")}),P=w?w.hideFunc:void 0;return i(g),(F=(S=e.jsChildComp)==null?void 0:S.afterGuiAttached)==null||F.call(S),()=>{P==null||P(),s.destroyBean(g)}}),x.createElement(x.Fragment,null,t&&e.wrappedContent&&ko.createPortal(e.wrappedContent,t.getGui()))}),su=(e,t,i,s,o,n)=>{const{context:r}=p.useContext(we),l=p.useCallback(()=>{const a=o.current;if(!a)return;const h=a.getGui();h&&h.parentElement&&h.parentElement.removeChild(h),r.destroyBean(a),o.current=void 0},[]);p.useEffect(()=>{const a=e!=null,h=(e==null?void 0:e.compDetails)&&!e.compDetails.componentFromFramework;if(!(a&&h&&!(t&&i==null)))return void l();const d=e.compDetails;if(o.current){const u=o.current,g=u.refresh!=null&&e.force==0&&u.refresh(d.params);if(g===!0||g===void 0)return;l()}const c=d.newAgStackInstance();c!=null&&c.then(u=>{if(!u)return;const g=u.getGui();g&&((t?i:n.current).appendChild(g),o.current=u)})},[e,t,s]),p.useEffect(()=>l,[])},rl=(e,t,i)=>{const s=e.compProxy;return x.createElement(x.Fragment,null,s?((o,n,r)=>{const{compProxy:l}=o;r(l);const a=l.getProps(),h=Xt(n);return x.createElement(Do.Provider,{value:{setMethods:d=>l.setMethods(d)}},h?x.createElement(n,{...a}):x.createElement(n,{...a,ref:d=>l.setRef(d)}))})(e,t,i):x.createElement(t,{...e.compDetails.params,ref:i}))},ou=p.memo(({cellCtrl:e,printLayout:t,editingRow:i})=>{const{context:s}=p.useContext(we),{colIdSanitised:o,instanceId:n}=e,r=p.useRef(),[l,a]=p.useState(()=>e.isCellRenderer()?void 0:{compDetails:void 0,value:e.getValueToDisplay(),force:!1}),[h,d]=p.useState(),[c,u]=p.useState(1),[g,m]=p.useState(),[f,C]=p.useState(!1),[v,w]=p.useState(!1),[P,S]=p.useState(!1),[F,E]=p.useState(),D=p.useMemo(()=>e.isForceWrapper(),[e]),A=p.useMemo(()=>e.getCellAriaRole(),[e]),L=p.useRef(null),T=p.useRef(null),k=p.useRef(),N=p.useRef(),te=p.useRef(),U=p.useRef([]),J=p.useRef(),[X,j]=p.useState(0),z=p.useCallback(B=>{J.current=B,j(oe=>oe+1)},[]),W=D||l!=null&&(f||P||v),Z=p.useCallback(B=>{if(N.current=B,B){const oe=B.isCancelBeforeStart&&B.isCancelBeforeStart();setTimeout(()=>{oe?(e.stopEditing(!0),e.focusCell(!0)):e.cellEditorAttached()})}},[e]),q=p.useRef();q.current||(q.current=new di(()=>L.current)),su(l,W,J.current,X,k,L);const H=p.useRef();p.useLayoutEffect(()=>{var se;const B=H.current,oe=l;if(H.current=l,B==null||B.compDetails==null||oe==null||oe.compDetails==null)return;const ce=B.compDetails,V=oe.compDetails;ce.componentClass==V.componentClass&&((se=T.current)==null?void 0:se.refresh)!=null&&T.current.refresh(V.params)!=1&&u(ne=>ne+1)},[l]),p.useLayoutEffect(()=>{if(!(h&&!h.compDetails.componentFromFramework))return;const B=h.compDetails,oe=h.popup===!0,ce=B.newAgStackInstance();return ce.then(V=>{if(!V)return;const se=V.getGui();if(Z(V),!oe){const ne=(D?te:L).current;ne==null||ne.appendChild(se),V.afterGuiAttached&&V.afterGuiAttached()}E(V)}),()=>{ce.then(V=>{var ne;const se=V.getGui();s.destroyBean(V),Z(void 0),E(void 0),(ne=se==null?void 0:se.parentElement)==null||ne.removeChild(se)})}},[h]);const ue=p.useCallback(B=>{if(te.current=B,!B)return U.current.forEach(ce=>ce()),void(U.current=[]);const oe=ce=>{if(ce){const V=ce.getGui();B.insertAdjacentElement("afterbegin",V),U.current.push(()=>{s.destroyBean(ce),Pt(V)})}return ce};f&&oe(e.createSelectionCheckbox()),P&&oe(e.createDndSource()),v&&oe(e.createRowDragComp())},[e,s,P,v,f]),I=p.useCallback(B=>{if(L.current=B,r.current=B?s.createBean(new Vt):s.destroyBean(r.current),!B||!e)return;const oe={addOrRemoveCssClass:(V,se)=>q.current.addOrRemoveCssClass(V,se),setUserStyles:V=>m(V),getFocusableElement:()=>L.current,setIncludeSelection:V=>C(V),setIncludeRowDrag:V=>w(V),setIncludeDndSource:V=>S(V),getCellEditor:()=>N.current||null,getCellRenderer:()=>T.current??k.current,getParentOfValue:()=>J.current??te.current??L.current,setRenderDetails:(V,se,ne)=>{a(ge=>(ge==null?void 0:ge.compDetails)!==V||(ge==null?void 0:ge.value)!==se||(ge==null?void 0:ge.force)!==ne?{value:se,compDetails:V,force:ne}:ge)},setEditDetails:(V,se,ne,ge)=>{if(V){let me;ge?me=new iu(V.params,()=>u(Ne=>Ne+1)):V.componentFromFramework&&Mo(),d({compDetails:V,popup:se,popupPosition:ne,compProxy:me}),se||a(void 0)}else d(me=>{me!=null&&me.compProxy&&(N.current=void 0)})}},ce=te.current||void 0;e.setComp(oe,B,ce,t,i,r.current)},[]),_=p.useMemo(()=>{var B;return!!((B=l==null?void 0:l.compDetails)!=null&&B.componentFromFramework&&Xt(l.compDetails.componentClass))},[l]);p.useLayoutEffect(()=>{var B;L.current&&(q.current.addOrRemoveCssClass("ag-cell-value",!W),q.current.addOrRemoveCssClass("ag-cell-inline-editing",!!h&&!h.popup),q.current.addOrRemoveCssClass("ag-cell-popup-editing",!!h&&!!h.popup),q.current.addOrRemoveCssClass("ag-cell-not-inline-editing",!h||!!h.popup),(B=e.getRowCtrl())==null||B.setInlineEditingCss(),e.shouldRestoreFocus()&&!e.isEditing()&&L.current.focus({preventScroll:!0}))});const fe=()=>x.createElement(x.Fragment,null,l!=null&&((B,oe,ce,V,se,ne,ge)=>{const{compDetails:me,value:Ne}=B,Zt=!me,Ei=me&&me.componentFromFramework,rt=me&&me.componentClass,Te=Ne!=null&&Ne.toString?Ne.toString():Ne,Ct=()=>x.createElement(x.Fragment,null,Zt&&x.createElement(x.Fragment,null,Te),Ei&&!ne&&x.createElement(rt,{...me.params,key:oe,ref:V}),Ei&&ne&&x.createElement(rt,{...me.params,key:oe}));return x.createElement(x.Fragment,null,se?x.createElement("span",{role:"presentation",id:`cell-${ce}`,className:"ag-cell-value",ref:ge},Ct()):Ct())})(l,c,n,T,W,_,z),h!=null&&((B,oe,ce,V,se)=>{const ne=B.compDetails,ge=ne.componentClass,me=ne.componentFromFramework&&!B.popup,Ne=ne.componentFromFramework&&B.popup,Zt=!ne.componentFromFramework&&B.popup;return x.createElement(x.Fragment,null,me&&rl(B,ge,oe),Ne&&x.createElement(nl,{editDetails:B,cellCtrl:V,eParentCell:ce,wrappedContent:rl(B,ge,oe)}),Zt&&se&&x.createElement(nl,{editDetails:B,cellCtrl:V,eParentCell:ce,jsChildComp:se}))})(h,Z,L.current,e,F)),Jt=p.useCallback(()=>e.onFocusOut(),[]);return x.createElement("div",{ref:I,style:g,role:A,"col-id":o,onBlur:Jt},W?x.createElement("div",{className:"ag-cell-wrapper",role:"presentation",ref:ue},fe()):fe())}),nu=p.memo(({rowCtrl:e,containerType:t})=>{const{context:i,gos:s}=p.useContext(we),o=p.useRef(),n=p.useRef(e.getDomOrder()),r=e.isFullWidth(),l=e.getRowNode().displayed,[a,h]=p.useState(()=>l?e.getRowIndex():null),[d,c]=p.useState(()=>e.getRowId()),[u,g]=p.useState(()=>e.getBusinessKey()),[m,f]=p.useState(()=>e.getRowStyles()),C=p.useRef(null),v=p.useRef(null),[w,P]=p.useState(()=>null),[S,F]=p.useState(),[E,D]=p.useState(()=>l?e.getInitialRowTop(t):void 0),[A,L]=p.useState(()=>l?e.getInitialTransform(t):void 0),T=p.useRef(null),k=p.useRef(),N=p.useRef(!1),[te,U]=p.useState(0);p.useEffect(()=>{var ue;if(N.current||!S||te>10)return;const H=(ue=T.current)==null?void 0:ue.firstChild;H?(e.setupDetailRowAutoHeight(H),N.current=!0):U(I=>I+1)},[S,te]);const J=p.useRef();J.current||(J.current=new di(()=>T.current));const X=p.useCallback(H=>{if(T.current=H,o.current=H?i.createBean(new Vt):i.destroyBean(o.current),!H)return void e.unsetComp(t);if(!e.isAlive())return;const ue={setTop:D,setTransform:L,addOrRemoveCssClass:(I,_)=>J.current.addOrRemoveCssClass(I,_),setDomOrder:I=>n.current=I,setRowIndex:h,setRowId:c,setRowBusinessKey:g,setUserStyles:f,setCellCtrls:(I,_)=>{v.current=C.current,C.current=I;const fe=Po(v.current,I,n.current);fe!==v.current&&Fo(_,()=>P(fe))},showFullWidth:I=>F(I),getFullWidthCellRenderer:()=>k.current,refreshFullWidth:I=>q.current?(F(_=>({..._,params:I()})),!0):!(!k.current||!k.current.refresh)&&k.current.refresh(I())};e.setComp(ue,H,t,o.current)},[]);p.useLayoutEffect(()=>Pi(S,i,T.current,k),[S]);const j=p.useMemo(()=>{const H={top:E,transform:A};return Object.assign(H,m),H},[E,A,m]),z=r&&(S==null?void 0:S.componentFromFramework),W=!r&&w!=null,Z=p.useMemo(()=>!!(S!=null&&S.componentFromFramework&&Xt(S.componentClass)),[S]),q=p.useRef(!1);return p.useEffect(()=>{q.current=Z&&!!S&&!!s.get("reactiveCustomComponents")},[Z,S]),x.createElement("div",{ref:X,role:"row",style:j,"row-index":a,"row-id":d,"row-business-key":u},W&&(w==null?void 0:w.map(H=>x.createElement(ou,{cellCtrl:H,editingRow:e.isEditing(),printLayout:e.isPrintLayout(),key:H.instanceId}))),z&&(()=>{const H=S.componentClass;return x.createElement(x.Fragment,null,Z?x.createElement(H,{...S.params}):x.createElement(H,{...S.params,ref:k}))})())}),ru=p.memo(({name:e})=>{const{context:t}=p.useContext(we),i=p.useMemo(()=>jt(e),[e]),s=p.useRef(null),o=p.useRef(null),n=p.useRef([]),r=p.useRef([]),[l,a]=p.useState(()=>[]),h=p.useRef(!1),d=p.useRef(),c=p.useMemo(()=>ze(i.viewport),[i]),u=p.useMemo(()=>ze(i.container),[i]),g=i.type==="center";It(" AG Row Container "+e+" ",g?s:o);const m=p.useCallback(()=>g?s.current!=null&&o.current!=null:o.current!=null,[]),f=p.useCallback(()=>g?s.current==null&&o.current==null:o.current==null,[]),C=p.useCallback(()=>{if(f()&&(d.current=t.destroyBean(d.current)),m()){const S=E=>{const D=Po(r.current,n.current,h.current);D!==r.current&&(r.current=D,Fo(E,()=>a(D)))},F={setHorizontalScroll:E=>{s.current&&(s.current.scrollLeft=E)},setViewportHeight:E=>{s.current&&(s.current.style.height=E)},setRowCtrls:({rowCtrls:E,useFlushSync:D})=>{const A=!!D&&n.current.length>0&&E.length>0;n.current=E,S(A)},setDomOrder:E=>{h.current!=E&&(h.current=E,S(!1))},setContainerWidth:E=>{o.current&&(o.current.style.width=E)},setOffsetTop:E=>{o.current&&(o.current.style.transform=`translateY(${E})`)}};d.current=t.createBean(new Hh(e)),d.current.setComp(F,o.current,s.current)}},[m,f]),v=p.useCallback(S=>{o.current=S,C()},[C]),w=p.useCallback(S=>{s.current=S,C()},[C]),P=()=>x.createElement("div",{className:u,ref:v,role:"rowgroup"},l.map(S=>x.createElement(nu,{rowCtrl:S,containerType:i.type,key:S.instanceId})));return x.createElement(x.Fragment,null,g?x.createElement("div",{className:c,ref:w,role:"presentation"},P()):P())}),lu=p.memo(()=>{const{context:e,resizeObserverService:t}=p.useContext(we),[i,s]=p.useState(""),[o,n]=p.useState(0),[r,l]=p.useState(0),[a,h]=p.useState("0px"),[d,c]=p.useState("0px"),[u,g]=p.useState("100%"),[m,f]=p.useState("0px"),[C,v]=p.useState("0px"),[w,P]=p.useState("100%"),[S,F]=p.useState(""),[E,D]=p.useState(""),[A,L]=p.useState(null),[T,k]=p.useState(""),[N,te]=p.useState(null),[U,J]=p.useState("ag-layout-normal"),X=p.useRef();X.current||(X.current=new di(()=>j.current));const j=p.useRef(null),z=p.useRef(null),W=p.useRef(null),Z=p.useRef(null),q=p.useRef(null),H=p.useRef(null),ue=p.useRef(null),I=p.useRef([]),_=p.useRef([]);It(" AG Grid Body ",j),It(" AG Pinned Top ",z),It(" AG Sticky Top ",W),It(" AG Middle ",H),It(" AG Pinned Bottom ",ue);const fe=p.useCallback(Te=>{if(j.current=Te,!Te)return I.current=e.destroyBeans(I.current),_.current.forEach(pe=>pe()),void(_.current=[]);if(!e)return;const Ct=(pe,Ue)=>{pe.appendChild(Ue),_.current.push(()=>pe.removeChild(Ue))},ei=(pe,Ue,Cl)=>{Ct(pe,document.createComment(Cl)),Ct(pe,(fl=>{const Lo=e.createBean(new fl);return I.current.push(Lo),Lo})(Ue).getGui())};ei(Te,ph," AG Fake Horizontal Scroll "),ei(Te,gh," AG Overlay Wrapper "),q.current&&ei(q.current,mh," AG Fake Vertical Scroll ");const ls={setRowAnimationCssOnBodyViewport:s,setColumnCount:pe=>{j.current&&je(j.current,"colcount",pe)},setRowCount:pe=>{j.current&&je(j.current,"rowcount",pe)},setTopHeight:n,setBottomHeight:l,setStickyTopHeight:h,setStickyTopTop:c,setStickyTopWidth:g,setTopDisplay:F,setBottomDisplay:D,setColumnMovingCss:(pe,Ue)=>X.current.addOrRemoveCssClass(pe,Ue),updateLayoutClasses:J,setAlwaysVerticalScrollClass:L,setPinnedTopBottomOverflowY:k,setCellSelectableCss:(pe,Ue)=>te(Ue?pe:null),setBodyViewportWidth:pe=>{H.current&&(H.current.style.width=pe)},registerBodyViewportResizeListener:pe=>{if(H.current){const Ue=t.observeResize(H.current,pe);_.current.push(()=>Ue())}},setStickyBottomHeight:f,setStickyBottomBottom:v,setStickyBottomWidth:P},Io=e.createBean(new Bh);I.current.push(Io),Io.setComp(ls,Te,H.current,z.current,ue.current,W.current,Z.current)},[]),Jt=p.useMemo(()=>ze("ag-root","ag-unselectable",U),[U]),B=p.useMemo(()=>ze("ag-body-viewport",i,U,A,N),[i,U,A,N]),oe=p.useMemo(()=>ze("ag-body",U),[U]),ce=p.useMemo(()=>ze("ag-floating-top",N),[N]),V=p.useMemo(()=>ze("ag-sticky-top",N),[N]),se=p.useMemo(()=>ze("ag-sticky-bottom",m==="0px"?"ag-hidden":null,N),[N,m]),ne=p.useMemo(()=>ze("ag-floating-bottom",N),[N]),ge=p.useMemo(()=>({height:o,minHeight:o,display:S,overflowY:T}),[o,S,T]),me=p.useMemo(()=>({height:a,top:d,width:u}),[a,d,u]),Ne=p.useMemo(()=>({height:m,bottom:C,width:w}),[m,C,w]),Zt=p.useMemo(()=>({height:r,minHeight:r,display:E,overflowY:T}),[r,E,T]),Ei=Te=>x.createElement(ru,{name:Te,key:`${Te}-container`}),rt=({section:Te,children:Ct,className:ei,style:ls})=>x.createElement("div",{ref:Te,className:ei,role:"presentation",style:ls},Ct.map(Ei));return x.createElement("div",{ref:fe,className:Jt,role:"treegrid"},x.createElement(tu,null),rt({section:z,className:ce,style:ge,children:["topLeft","topCenter","topRight","topFullWidth"]}),x.createElement("div",{className:oe,ref:q,role:"presentation"},rt({section:H,className:B,children:["left","center","right","fullWidth"]})),rt({section:W,className:V,style:me,children:["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"]}),rt({section:Z,className:se,style:Ne,children:["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"]}),rt({section:ue,className:ne,style:Zt,children:["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"]}))}),au=p.forwardRef((e,t)=>{const{children:i,eFocusableElement:s,onTabKeyDown:o,gridCtrl:n,forceFocusOutWhenTabGuardsAreEmpty:r}=e,{context:l}=p.useContext(we),a=p.useRef(null),h=p.useRef(null),d=p.useRef(),c=C=>{const v=C==null?void 0:parseInt(C,10).toString();[a,h].forEach(w=>{var P,S;v===void 0?(P=w.current)==null||P.removeAttribute("tabindex"):(S=w.current)==null||S.setAttribute("tabindex",v)})};p.useImperativeHandle(t,()=>({forceFocusOutOfContainer(C){var v;(v=d.current)==null||v.forceFocusOutOfContainer(C)}}));const u=p.useCallback(()=>{const C=a.current,v=h.current;if(C||v){if(C&&v){const w={setTabIndex:c};d.current=l.createBean(new Mr({comp:w,eTopGuard:C,eBottomGuard:v,eFocusableElement:s,onTabKeyDown:o,forceFocusOutWhenTabGuardsAreEmpty:r,focusInnerElement:P=>n.focusInnerElement(P)}))}}else d.current=l.destroyBean(d.current)},[]),g=p.useCallback(C=>{a.current=C,u()},[u]),m=p.useCallback(C=>{h.current=C,u()},[u]),f=C=>{const v=C==="top"?ss.TAB_GUARD_TOP:ss.TAB_GUARD_BOTTOM;return x.createElement("div",{className:`${ss.TAB_GUARD} ${v}`,role:"presentation",ref:C==="top"?g:m})};return x.createElement(x.Fragment,null,f("top"),i,f("bottom"))}),hu=p.memo(au),du=p.memo(({context:e})=>{const[t,i]=p.useState(""),[s,o]=p.useState(""),[n,r]=p.useState(""),[l,a]=p.useState(null),[h,d]=p.useState(null),[c,u]=p.useState(!1),[g,m]=p.useState(),f=p.useRef(),C=p.useRef(null),v=p.useRef(),[w,P]=p.useState(null),S=p.useRef(()=>{}),F=p.useRef(),E=p.useRef([]),D=p.useCallback(()=>{},[]),A=p.useMemo(()=>e.isDestroyed()?null:e.getBeans(),[e]);It(" AG Grid ",C);const L=p.useCallback(U=>{if(C.current=U,f.current=U?e.createBean(new Vd):e.destroyBean(f.current),!U||e.isDestroyed())return;const J=f.current;S.current=J.focusInnerElement.bind(J);const X={destroyGridUi:()=>{},setRtlClass:i,setGridThemeClass:o,forceFocusOutOfContainer:j=>{var z,W;j||!((z=F.current)!=null&&z.isDisplayed())?(W=v.current)==null||W.forceFocusOutOfContainer(j):F.current.forceFocusOutOfContainer(j)},updateLayoutClasses:r,getFocusableContainers:()=>{var W;const j=[],z=(W=C.current)==null?void 0:W.querySelector(".ag-root");return z&&j.push({getGui:()=>z}),E.current.forEach(Z=>{Z.isDisplayed()&&j.push(Z)}),j},setCursor:a,setUserSelect:d};J.setComp(X,U,U),u(!0)},[]);p.useEffect(()=>{const U=f.current,J=C.current;if(!(g&&A&&U&&w&&J))return;const X=[],{watermarkSelector:j,paginationSelector:z,sideBarSelector:W,statusBarSelector:Z,gridHeaderDropZonesSelector:q}=U.getOptionalSelectors(),H=[];if(q){const I=e.createBean(new q.component),_=I.getGui();J.insertAdjacentElement("afterbegin",_),H.push(_),X.push(I)}if(W){const I=e.createBean(new W.component),_=I.getGui(),fe=w.querySelector(".ag-tab-guard-bottom");fe&&(fe.insertAdjacentElement("beforebegin",_),H.push(_)),X.push(I),E.current.push(I)}const ue=I=>{const _=e.createBean(new I),fe=_.getGui();return J.insertAdjacentElement("beforeend",fe),H.push(fe),X.push(_),_};if(Z&&ue(Z.component),z){const I=ue(z.component);F.current=I,E.current.push(I)}return j&&ue(j.component),()=>{e.destroyBeans(X),H.forEach(I=>{var _;(_=I.parentElement)==null||_.removeChild(I)})}},[g,w,A]);const T=p.useMemo(()=>ze("ag-root-wrapper",t,s,n),[t,s,n]),k=p.useMemo(()=>ze("ag-root-wrapper-body","ag-focus-managed",n),[n]),N=p.useMemo(()=>({userSelect:h??"",WebkitUserSelect:h??"",cursor:l??""}),[h,l]),te=p.useCallback(U=>{v.current=U,m(U!==null)},[]);return x.createElement("div",{ref:L,className:T,style:N,role:"presentation"},x.createElement("div",{className:k,ref:P,role:"presentation"},c&&w&&A&&x.createElement(we.Provider,{value:A},x.createElement(hu,{ref:te,eFocusableElement:w,onTabKeyDown:D,gridCtrl:f.current,forceFocusOutWhenTabGuardsAreEmpty:!0},x.createElement(lu,null)))))}),cu=class extends b{wireBeans(e){this.ctrlsService=e.ctrlsService}areHeaderCellsRendered(){return this.ctrlsService.getHeaderRowContainerCtrls().every(e=>e.getAllCtrls().every(t=>t.areCellsRendered()))}},ll=e=>{var C;const t=p.useRef(),i=p.useRef(null),s=p.useRef(null),o=p.useRef([]),n=p.useRef([]),r=p.useRef(e),l=p.useRef(),a=p.useRef(),h=p.useRef(!1),[d,c]=p.useState(void 0),[,u]=p.useState(0),g=p.useCallback(v=>{var L;if(i.current=v,!v)return o.current.forEach(T=>T()),void(o.current.length=0);const w=e.modules||[];s.current||(s.current=new Yc(()=>u(T=>T+1),e.componentWrappingElement,e.maxComponentCreationTimeMs),o.current.push(()=>{var T;(T=s.current)==null||T.destroy(),s.current=null}));const P=function(T,k){typeof T!="object"&&(T={});const N={...T};return ai.ALL_PROPERTIES_AND_CALLBACKS.forEach(te=>{const U=k[te];U!==void 0&&U!==ai.VUE_OMITTED_PROPERTY&&(N[te]=U)}),N}(e.gridOptions,e),S=new pu(()=>{if(h.current){const T=()=>{var N;return(N=l.current)!=null&&N.shouldQueueUpdates()?void 0:n.current.shift()};let k=T();for(;k;)k(),k=T()}});l.current=S;const F=new cu,E={providedBeanInstances:{frameworkComponentWrapper:new uu(s.current,P.reactiveCustomComponents??(D="reactiveCustomComponents",(L=qr.gridOptions)==null?void 0:L[D])??!0),renderStatusService:F},modules:w,frameworkOverrides:S};var D;const A=new bc;P.gridId??(P.gridId=a.current),t.current=A.create(v,P,T=>{c(T),T.createBean(F),o.current.push(()=>{T.destroy()}),T.getBean("ctrlsService").whenReady({addDestroyFunc:k=>{o.current.push(k)}},()=>{var N;if(T.isDestroyed())return;const k=t.current;k&&((N=e.setGridApi)==null||N.call(e,k))})},T=>{T.getBean("ctrlsService").whenReady({addDestroyFunc:k=>{o.current.push(k)}},()=>{n.current.forEach(k=>k()),n.current.length=0,h.current=!0})},E),o.current.push(()=>{t.current=void 0}),t.current&&(a.current=t.current.getGridId())},[]),m=p.useMemo(()=>({height:"100%",...e.containerStyle||{}}),[e.containerStyle]),f=p.useCallback(v=>{var w;h.current&&!((w=l.current)!=null&&w.shouldQueueUpdates())?v():n.current.push(v)},[]);return p.useEffect(()=>{const v=function(w,P){const S={};return Object.keys(P).forEach(F=>{const E=P[F];w[F]!==E&&(S[F]=E)}),S}(r.current,e);r.current=e,f(()=>{t.current&&function(w,P){if(!w)return;const S={};let F=!1;if(Object.keys(w).filter(A=>ai.ALL_PROPERTIES_AND_CALLBACKS_SET.has(A)).forEach(A=>{S[A]=w[A],F=!0}),!F)return;const E={type:"gridOptionsChanged",options:S};P.dispatchEvent(E);const D={type:"componentStateChanged"};Be(S,(A,L)=>{D[A]=L}),P.dispatchEvent(D)}(v,t.current)})},[e]),x.createElement("div",{style:m,className:e.className,ref:g},d&&!d.isDestroyed()?x.createElement(du,{context:d}):null,((C=s.current)==null?void 0:C.getPortals())??null)},uu=class extends Pc{constructor(e,t){super(),this.parent=e,this.reactiveCustomComponents=t}createWrapper(e,t){if(this.reactiveCustomComponents){const s=(o=>{switch(o){case"filter":return zc;case"floatingFilterComponent":return Kc;case"dateComponent":return Vc;case"dragAndDropImageComponent":return Wc;case"loadingOverlayComponent":return $c;case"noRowsOverlayComponent":return jc;case"statusPanel":return qc;case"toolPanel":return Qc;case"menuItem":return _c;case"cellRenderer":return Bc}})(t.propertyName);if(s)return new s(e,this.parent,t)}else switch(t.propertyName){case"filter":case"floatingFilterComponent":case"dateComponent":case"dragAndDropImageComponent":case"loadingOverlayComponent":case"noRowsOverlayComponent":case"statusPanel":case"toolPanel":case"menuItem":case"cellRenderer":Mo()}const i=!t.cellRenderer&&t.propertyName!=="toolPanel";return new sl(e,this.parent,t,i)}},gu=p.forwardRef((e,t)=>{const{ctrlsFactory:i,context:s,gos:o,resizeObserverService:n,rowModel:r}=p.useContext(we),[l,a]=p.useState(()=>new Oe),[h,d]=p.useState(()=>new Oe),[c,u]=p.useState(),[g,m]=p.useState(),f=p.useRef(),C=p.useRef(null),v=p.useRef(),w=p.useMemo(()=>Qe.__getGridRegisteredModules(e.api.getGridId()),[e]),P=p.useMemo(()=>l.toString()+" ag-details-row",[l]),S=p.useMemo(()=>h.toString()+" ag-details-grid",[h]);t&&p.useImperativeHandle(t,()=>({refresh:()=>{var D;return((D=f.current)==null?void 0:D.refresh())??!1}})),e.template&&R("detailCellRendererParams.template is not supported by AG Grid React. To change the template, provide a Custom Detail Cell Renderer. See https://ag-grid.com/react-data-grid/master-detail-custom-detail/");const F=p.useCallback(D=>{var T;if(C.current=D,!D)return f.current=s.destroyBean(f.current),void((T=v.current)==null?void 0:T.call(v));const A={addOrRemoveCssClass:(k,N)=>a(te=>te.setClass(k,N)),addOrRemoveDetailGridCssClass:(k,N)=>d(te=>te.setClass(k,N)),setDetailGrid:k=>u(k),setRowData:k=>m(k),getGui:()=>C.current},L=i.getInstance("detailCellRenderer");if(L&&(s.createBean(L),L.init(A,e),f.current=L,o.get("detailRowAutoHeight"))){const k=()=>{if(C.current==null)return;const N=C.current.clientHeight;N!=null&&N>0&&setTimeout(()=>{e.node.setRowHeight(N),(ie(o)||Ke(o))&&r.onRowHeightChanged()},0)};v.current=n.observeResize(D,k),k()}},[]),E=p.useCallback(D=>{var A;(A=f.current)==null||A.registerDetailWithMaster(D)},[]);return x.createElement("div",{className:P,ref:F},c&&x.createElement(ll,{className:S,...c,modules:w,rowData:g,setGridApi:E}))}),pu=class extends xr{constructor(e){super("react"),this.processQueuedUpdates=e,this.queueUpdates=!1,this.frameworkComponents={agGroupCellRenderer:tl,agGroupRowRenderer:tl,agDetailCellRenderer:gu},this.wrapIncoming=(t,i)=>{return i==="ensureVisible"?(s=t,rs||setTimeout(()=>rs=!1,0),rs=!0,s()):t();var s},this.renderingEngine="react"}frameworkComponent(e){return this.frameworkComponents[e]}isFrameworkComponent(e){if(!e)return!1;const t=e.prototype;return!(t&&"getGui"in t)}getLockOnRefresh(){this.queueUpdates=!0}releaseLockOnRefresh(){this.queueUpdates=!1,this.processQueuedUpdates()}shouldQueueUpdates(){return this.queueUpdates}runWhenReadyAsync(){return Ro==="19"}},mu=class extends p.Component{constructor(){super(...arguments),this.apiListeners=[],this.setGridApi=e=>{this.api=e,this.apiListeners.forEach(t=>t(e))}}registerApiListener(e){this.apiListeners.push(e)}componentWillUnmount(){this.apiListeners.length=0}render(){return x.createElement(ll,{...this.props,setGridApi:this.setGridApi})}};function Cu(e){switch(e){case"string":default:return"agTextCellEditor";case"number":return"agNumberCellEditor";case"boolean":return"agCheckboxCellEditor"}}const fu=({data:e,edits:t,pagination:i,pageSize:s,fieldTypes:o,onAddEdits:n,onAddRows:r,columnSizingMode:l})=>{const{theme:a}=wl(),h=p.useRef(null),d=p.useMemo(()=>o?o.map(([S])=>S):function(S){return S.length===0?[]:Object.keys(S[0])}(e),[e,o]),c=p.useMemo(()=>{for(const S of t)if(S.rowIdx>=e.length){const F={[S.columnId]:S.value};e.push(F)}else e[S.rowIdx][S.columnId]=S.value;return e},[e,t]),u=p.useMemo(()=>{const S=[];for(const F of d)S.push({field:F,editable:!0,sortable:!1,filter:!1,cellEditorSelector:E=>{var L,T;const D=E.column.getColId(),A=((T=(L=o==null?void 0:o.find(([k])=>k===D))==null?void 0:L[1])==null?void 0:T[0])||"string";return typeof E.value=="string"&&E.value.length>60?{component:"agLargeTextCellEditor",popup:!0}:{component:Cu(A)}}});return S},[d,o]),g=p.useMemo(()=>({sortable:!0,filter:!0,minWidth:100}),[]),m=p.useCallback(()=>{var F;const S=(F=h.current)==null?void 0:F.api;S&&(l==="fit"?S.sizeColumnsToFit():l==="auto"&&S.autoSizeAllColumns())},[l]),f=p.useCallback(S=>{m()},[m]);p.useEffect(()=>{m()},[l,m]);const C=p.useCallback(S=>{if(!S.valueChanged||S.rowIndex===null)return;const F={rowIdx:S.rowIndex,columnId:S.column.getColId(),value:S.newValue};n([F])},[n]),v=e.length,w=i&&v>s,P=p.useCallback(()=>{var E;const S=Object.fromEntries(d.map(D=>{var A,L;switch(((L=(A=o==null?void 0:o.find(([T])=>T===D))==null?void 0:A[1])==null?void 0:L[0])||"string"){case"boolean":return[D,!1];case"integer":case"number":return[D,0];case"date":return[D,new Date];default:return[D,""]}}));r([S]);const F={add:[S],addIndex:c.length};(E=h.current)==null||E.api.applyTransaction(F)},[o,r,d,c]);return ti.jsxs("div",{className:Sl(a==="dark"?"ag-theme-quartz-dark":"ag-theme-quartz","ag-theme-marimo flex h-[400px] flex-col","relative"),children:[ti.jsx(mu,{ref:h,rowData:c,columnDefs:u,defaultColDef:g,cellSelection:!0,pagination:w,paginationPageSize:s,onGridReady:f,undoRedoCellEditing:!0,stopEditingWhenCellsLoseFocus:!0,onCellEditingStopped:C,animateRows:!1,singleClickEdit:!0,suppressFieldDotNotation:!0,headerHeight:40,rowHeight:35}),ti.jsx("div",{className:"p-2 border-t flex justify-end",children:ti.jsxs(yl,{variant:"text",size:"xs",onClick:P,children:[ti.jsx(bl,{className:"w-3 h-3 mr-1"}),"Add Row"]})})]})};export{fu as default};