@marimo-team/frontend 0.13.7-dev7 → 0.13.7-dev8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/ConnectedDataExplorerComponent-CLc0tWMC.js +19 -0
- package/dist/assets/VegaLite-DeIA1FjI.js +189 -0
- package/dist/assets/_baseEach-Cyw-LuDI.js +1 -0
- package/dist/assets/_baseMap-C1RlaUrw.js +1 -0
- package/dist/assets/_baseUniq-Q2eJnBNa.js +1 -0
- package/dist/assets/_createAggregator-UrANbXdP.js +1 -0
- package/dist/assets/{any-language-editor-CzgTNb1K.js → any-language-editor-Cfa0V48Y.js} +3 -1
- package/dist/assets/apl-CXdQSnD-.js +1 -1
- package/dist/assets/arc-Cuwikxov.js +1 -1
- package/dist/assets/architectureDiagram-IEHRJDOE-CP5nWQay.js +36 -0
- package/dist/assets/asciiarmor-D5V0T9Cu.js +1 -1
- package/dist/assets/asn1-DWPaVWf6.js +1 -1
- package/dist/assets/asterisk-B46aRdXb.js +1 -1
- package/dist/assets/blockDiagram-JOT3LUYC-pMp2cXt0.js +121 -0
- package/dist/assets/brainfuck-CtZaYBKt.js +1 -1
- package/dist/assets/c4Diagram-VJAJSXHY-Bn4nvkHl.js +10 -0
- package/dist/assets/channel-pbDhyq1Y.js +1 -0
- package/dist/assets/chunk-4BMEZGHF-BVHPUEv5.js +1 -0
- package/dist/assets/chunk-A2AXSNBT-Cr_zhb-n.js +164 -0
- package/dist/assets/chunk-AEK57VVT-Cw97WREt.js +220 -0
- package/dist/assets/chunk-D6G4REZN-CbomMNl3.js +1 -0
- package/dist/assets/chunk-RZ5BOZE2-D-i5I5dS.js +1 -0
- package/dist/assets/chunk-XZIHB7SX-BxAeN6c9.js +1 -0
- package/dist/assets/{circle-play-DJJzVByn.js → circle-play-NJSP28OU.js} +1 -2
- package/dist/assets/classDiagram-GIVACNV2-DrKh0GDa.js +1 -0
- package/dist/assets/classDiagram-v2-COTLJTTW-DrKh0GDa.js +1 -0
- package/dist/assets/clike-BgBwzOhw.js +1 -1
- package/dist/assets/clojure-DR_hEDJv.js +1 -1
- package/dist/assets/clone-DTrfPVDc.js +1 -0
- package/dist/assets/cmake-DXn5xaP-.js +1 -1
- package/dist/assets/cobol-stawOqaz.js +1 -1
- package/dist/assets/coffeescript-BTDxI-eT.js +1 -1
- package/dist/assets/colors-bszWmPJw.js +1 -1
- package/dist/assets/commonlisp-vq6DHwts.js +1 -1
- package/dist/assets/compile-B99z9p1c.js +10 -0
- package/dist/assets/crystal-CRzZ78HM.js +1 -1
- package/dist/assets/css-ZjFoif2m.js +1 -1
- package/dist/assets/cypher-gJDei3ni.js +1 -1
- package/dist/assets/cytoscape.esm-C5gjFiAL.js +10 -0
- package/dist/assets/d-BShv7fp-.js +1 -1
- package/dist/assets/dagre-OKDRZEBW-DFwLfrsP.js +4 -0
- package/dist/assets/data-editor-BnkfFTyP.js +142 -0
- package/dist/assets/diagram-SSKATNLV-DNHawSaS.js +43 -0
- package/dist/assets/diagram-VNBRO52H-mAGMWxSF.js +24 -0
- package/dist/assets/diff-UJJ5BM9S.js +1 -1
- package/dist/assets/dockerfile-knGOOxt4.js +1 -1
- package/dist/assets/dtd-DI9Herc-.js +1 -1
- package/dist/assets/dylan-CHJ5qNM_.js +1 -1
- package/dist/assets/ebnf-B-Df8AvO.js +1 -1
- package/dist/assets/ecl-DPFc0Uaf.js +1 -1
- package/dist/assets/edit-page-DqQ_uRQm.js +134 -0
- package/dist/assets/eiffel-DR5c0IrL.js +1 -1
- package/dist/assets/elm-D7xaZ7Da.js +1 -1
- package/dist/assets/erDiagram-Q7BY3M3F-B7JQx89Q.js +60 -0
- package/dist/assets/erlang-BuqgqA5h.js +1 -1
- package/dist/assets/fcl-CVaBTCzQ.js +1 -1
- package/dist/assets/flowDiagram-4HSFHLVR-CrIteLwE.js +161 -0
- package/dist/assets/forth-Dri_5nFc.js +1 -1
- package/dist/assets/fortran-DL7KluxX.js +1 -1
- package/dist/assets/ganttDiagram-APWFNJXF-B82yNILY.js +257 -0
- package/dist/assets/gas-5kEe4nk0.js +1 -1
- package/dist/assets/gherkin-B6X1vGSW.js +1 -1
- package/dist/assets/gitGraphDiagram-7IBYFJ6S-BX1zzD_4.js +65 -0
- package/dist/assets/graph-n5raD8-X.js +1 -0
- package/dist/assets/groovy-DnIzCrpZ.js +1 -1
- package/dist/assets/haskell-CmdsSjFB.js +1 -1
- package/dist/assets/haxe-D25e-2l-.js +1 -1
- package/dist/assets/home-page-CAkv18DE.js +9 -0
- package/dist/assets/http-BKJkqRj4.js +1 -1
- package/dist/assets/idl-pcmmZuaN.js +1 -1
- package/dist/assets/index-2V-aA6ro.js +19 -0
- package/dist/assets/index-2n81G4S2.js +1 -0
- package/dist/assets/index-BLczHwIF.js +1 -0
- package/dist/assets/index-BVjb7S6F.js +1 -0
- package/dist/assets/index-BaaSOg-V.js +1 -0
- package/dist/assets/index-C4VFj4aB.js +476 -0
- package/dist/assets/index-CGXa2hxu.js +1 -0
- package/dist/assets/index-CHjC2BHW.js +1 -0
- package/dist/assets/index-CJD1KDty.js +1 -0
- package/dist/assets/index-CVS30d8t.js +1 -0
- package/dist/assets/index-Ch51YLFK.js +1 -0
- package/dist/assets/index-ChvXZz4O.js +1 -0
- package/dist/assets/index-CiXJGIA5.js +7 -0
- package/dist/assets/index-D2X6Wktl.js +1 -0
- package/dist/assets/index-DWX453Nv.css +1 -0
- package/dist/assets/index-De6_X4XZ.js +1 -0
- package/dist/assets/index-DoMH_weu.js +1 -0
- package/dist/assets/index-HeByvlyV.js +1 -0
- package/dist/assets/index-MuEQoKhf.js +1 -0
- package/dist/assets/index-f2YtY2NK.js +1 -0
- package/dist/assets/infoDiagram-PH2N3AL5-BEA8jVe9.js +2 -0
- package/dist/assets/init-DLRA0X12.js +1 -1
- package/dist/assets/javascript-D48wDJXV.js +1 -1
- package/dist/assets/jinja2-DhgKlfW7.js +1 -1
- package/dist/assets/journeyDiagram-U35MCT3I-BFBt52HP.js +138 -0
- package/dist/assets/julia-DjdwvFuI.js +1 -1
- package/dist/assets/kanban-definition-NDS4AKOZ-D6o6rwO8.js +88 -0
- package/dist/assets/katex-BsnJiHtx.js +261 -0
- package/dist/assets/layout-BuG044DG.js +1 -0
- package/dist/assets/linear-HjYCbFKN.js +1 -0
- package/dist/assets/livescript-HO6ttBFx.js +1 -1
- package/dist/assets/loro_wasm_bg-DHBNbovs.wasm +0 -0
- package/dist/assets/lua-8DXOpKDz.js +1 -1
- package/dist/assets/mathematica-IIbmv7SK.js +1 -1
- package/dist/assets/mbox-z_N2Mo3d.js +1 -0
- package/dist/assets/mermaid-DNnTn1ax.js +152 -0
- package/dist/assets/mhchem-C_nT2J_7.js +1 -0
- package/dist/assets/min-DUCyIShx.js +1 -0
- package/dist/assets/mindmap-definition-ALO5MXBD-CKIhzL5r.js +95 -0
- package/dist/assets/mirc-DkvFAiy5.js +1 -1
- package/dist/assets/mllike-3c2dg9RT.js +1 -1
- package/dist/assets/modelica-DSrSSXCg.js +1 -1
- package/dist/assets/mscgen-B2igx18G.js +1 -1
- package/dist/assets/mumps-zvxmGV4l.js +1 -1
- package/dist/assets/nginx-B4hAVlXN.js +1 -1
- package/dist/assets/ntriples-FFvkTduk.js +1 -1
- package/dist/assets/octave-C4hdQ5Hf.js +1 -1
- package/dist/assets/ordinal-DDUp3AbE.js +1 -1
- package/dist/assets/oz-qQq7irPq.js +1 -1
- package/dist/assets/pascal-CafrKXZF.js +1 -1
- package/dist/assets/perl-tdMlh9QA.js +1 -1
- package/dist/assets/pieDiagram-IB7DONF6-Cl9LWE0V.js +30 -0
- package/dist/assets/pig-CwGJVRC4.js +1 -1
- package/dist/assets/powershell-D1ly3AHC.js +1 -1
- package/dist/assets/properties-_nPj978X.js +1 -1
- package/dist/assets/protobuf-B4y9do6W.js +1 -1
- package/dist/assets/pug-_kJOm_E2.js +1 -1
- package/dist/assets/puppet-Bc-yJKzi.js +1 -1
- package/dist/assets/python-DD-Q2bae.js +1 -1
- package/dist/assets/q-B0kTJ4cI.js +1 -1
- package/dist/assets/quadrantDiagram-7GDLP6J5-BWkeBvxF.js +7 -0
- package/dist/assets/r-BA4EbLKE.js +1 -1
- package/dist/assets/radar-MK3ICKWK-DfEvYX9n.js +126 -0
- package/dist/assets/range-CtcPcB_L.js +1 -1
- package/dist/assets/react-plotly-DnYa98wl.js +4074 -0
- package/dist/assets/requirementDiagram-KVF5MWMF-B3GypB5w.js +64 -0
- package/dist/assets/rpm-DI_rRufH.js +1 -1
- package/dist/assets/ruby-CR-u2WLS.js +1 -1
- package/dist/assets/run-page-AYFVu0sg.js +1 -0
- package/dist/assets/sankeyDiagram-QLVOVGJD-Duwbvz1H.js +10 -0
- package/dist/assets/sas-Bqaci40L.js +1 -1
- package/dist/assets/save-worker-Metbq5yy.js +1 -0
- package/dist/assets/scheme-qjP0V5Ag.js +1 -1
- package/dist/assets/sequenceDiagram-X6HHIX6F-CPZ3p0P0.js +122 -0
- package/dist/assets/shell-BLav31RL.js +1 -1
- package/dist/assets/sieve-r025o_jW.js +1 -1
- package/dist/assets/simple-mode-C3vEBAcb.js +1 -1
- package/dist/assets/slides-component-ji4ZW29g.js +1 -0
- package/dist/assets/smalltalk-C7J3IyEP.js +1 -1
- package/dist/assets/solr-78MBEUkU.js +1 -1
- package/dist/assets/sortBy-Bb9JPW3o.js +1 -0
- package/dist/assets/sparql-BRLJFz69.js +1 -1
- package/dist/assets/spreadsheet-CGlWr0eM.js +1 -1
- package/dist/assets/sql-B3SPsWL6.js +1 -1
- package/dist/assets/stateDiagram-DGXRK772-DBMoid7W.js +1 -0
- package/dist/assets/stateDiagram-v2-YXO3MK2T-C6Yw638v.js +1 -0
- package/dist/assets/step-BwsUM5iJ.js +1 -1
- package/dist/assets/stylus-OdhglgkO.js +1 -1
- package/dist/assets/swift-B_XXVlXX.js +1 -1
- package/dist/assets/tcl-B2fODqDH.js +1 -1
- package/dist/assets/terminal-BvrOH4Uo.js +9 -0
- package/dist/assets/terminal-WqMRJt5Z.css +1 -0
- package/dist/assets/textile-BuVhTOzU.js +1 -1
- package/dist/assets/tiddlywiki-BgR6AEZu.js +1 -1
- package/dist/assets/tiki-CI-ztowC.js +1 -1
- package/dist/assets/time-Dhxp9qd9.js +1 -0
- package/dist/assets/timeline-definition-BDJGKUSR-D3iIxPo0.js +61 -0
- package/dist/assets/timer-DFzT7np-.js +1 -1
- package/dist/assets/toml-BQXy8elZ.js +1 -1
- package/dist/assets/tracing-gp4drB6-.js +2 -0
- package/dist/assets/transform-Cyp0GDF-.js +1 -0
- package/dist/assets/tree-BMOusOrc.js +17 -0
- package/dist/assets/troff-Ce85hlLp.js +1 -1
- package/dist/assets/ttcn-BxnYHtq8.js +1 -1
- package/dist/assets/ttcn-cfg-CKJxb-l2.js +1 -1
- package/dist/assets/turtle-BkSuIpt-.js +1 -1
- package/dist/assets/useMarimoWebSocket-BsUbqg1d.js +27 -0
- package/dist/assets/vb-BHgjm0DN.js +1 -1
- package/dist/assets/vbscript-Dawdd5GZ.js +1 -1
- package/dist/assets/vega-component-DZEBlVKg.js +1 -0
- package/dist/assets/velocity-BdD_26Jv.js +1 -1
- package/dist/assets/verilog-B4LBqg_1.js +1 -1
- package/dist/assets/vhdl-CWWH2SUo.js +1 -1
- package/dist/assets/web-vitals-Buym0gfC.js +1 -0
- package/dist/assets/webidl-CGwyPRYs.js +1 -1
- package/dist/assets/worker--c-Qm4dm.js +1 -0
- package/dist/assets/worker-kTJmA5be.js +1 -0
- package/dist/assets/xquery-CVDBqZPY.js +1 -1
- package/dist/assets/xychartDiagram-VJFVF3MP-lnK1D7Dl.js +7 -0
- package/dist/assets/yacas-I8QjZlxf.js +1 -1
- package/dist/assets/z80-D8p3gKXp.js +1 -1
- package/dist/assets/zoom-COrs4lFh.js +1 -1
- package/dist/index.html +2 -2
- package/package.json +5 -4
- package/dist/assets/ConnectedDataExplorerComponent-CsepDyah.js +0 -22
- package/dist/assets/VegaLite-C1HXtrMV.js +0 -11
- package/dist/assets/_baseEach-DD_63bhv.js +0 -1
- package/dist/assets/_baseMap-B4VCibcY.js +0 -1
- package/dist/assets/_baseUniq-CYFxhDYw.js +0 -1
- package/dist/assets/_createAggregator-BzziiCHf.js +0 -1
- package/dist/assets/architectureDiagram-IEHRJDOE-C-U-iPbK.js +0 -1
- package/dist/assets/blockDiagram-JOT3LUYC-wp_uDvyw.js +0 -1
- package/dist/assets/c4Diagram-VJAJSXHY-DVvpvjIh.js +0 -1
- package/dist/assets/channel-nBjz4H-G.js +0 -1
- package/dist/assets/chunk-4BMEZGHF-DTOzlx-M.js +0 -1
- package/dist/assets/chunk-A2AXSNBT-D0aB6LMu.js +0 -1
- package/dist/assets/chunk-AEK57VVT-BXKRbqgm.js +0 -1
- package/dist/assets/chunk-D6G4REZN-DJIklw-B.js +0 -1
- package/dist/assets/chunk-RZ5BOZE2-DbLPmled.js +0 -1
- package/dist/assets/chunk-XZIHB7SX-BPf8SbRg.js +0 -1
- package/dist/assets/classDiagram-GIVACNV2-D62d1n5s.js +0 -1
- package/dist/assets/classDiagram-v2-COTLJTTW-D62d1n5s.js +0 -1
- package/dist/assets/clone-BpRHUGO-.js +0 -1
- package/dist/assets/compile-BrbPA1FV.js +0 -1
- package/dist/assets/cytoscape.esm-bH-fs5wT.js +0 -9
- package/dist/assets/dagre-OKDRZEBW-DMUTu875.js +0 -1
- package/dist/assets/data-editor-BAugqar1.js +0 -1
- package/dist/assets/diagram-SSKATNLV-CgktwEzE.js +0 -1
- package/dist/assets/diagram-VNBRO52H-DM157GSt.js +0 -1
- package/dist/assets/edit-page-D5MazIt2.js +0 -8
- package/dist/assets/erDiagram-Q7BY3M3F-CfYnS787.js +0 -1
- package/dist/assets/flowDiagram-4HSFHLVR-BE2xZTx5.js +0 -1
- package/dist/assets/ganttDiagram-APWFNJXF-LN8qz0YV.js +0 -1
- package/dist/assets/gitGraphDiagram-7IBYFJ6S-BRJVT_zn.js +0 -1
- package/dist/assets/graph-UIDUJmse.js +0 -1
- package/dist/assets/home-page-CRQcruYX.js +0 -7
- package/dist/assets/index-2SONYAJm.js +0 -1
- package/dist/assets/index-5ldyqPzW.js +0 -1
- package/dist/assets/index-BJDDQR-b.js +0 -1
- package/dist/assets/index-BbEv2iVN.css +0 -1
- package/dist/assets/index-BcRkZK42.js +0 -1
- package/dist/assets/index-BeUu3ch_.js +0 -1
- package/dist/assets/index-Bsc9SEYH.js +0 -87
- package/dist/assets/index-Bul_n0Oy.js +0 -1
- package/dist/assets/index-BxZz8_b9.js +0 -1
- package/dist/assets/index-C4iGahsq.js +0 -1
- package/dist/assets/index-C8U61zo_.js +0 -1
- package/dist/assets/index-CE_UMLrN.js +0 -1
- package/dist/assets/index-CF6xeTk8.js +0 -1
- package/dist/assets/index-CPXRGKlr.js +0 -1
- package/dist/assets/index-Ce6UaJ0J.js +0 -1
- package/dist/assets/index-DYy6_SSS.js +0 -1
- package/dist/assets/index-DdDVFm9B.js +0 -1
- package/dist/assets/index-b_tRbrpS.js +0 -1
- package/dist/assets/index-bkSNWDvj.js +0 -1
- package/dist/assets/index-i7xW5_nS.js +0 -1
- package/dist/assets/infoDiagram-PH2N3AL5-HPC1FDCJ.js +0 -1
- package/dist/assets/journeyDiagram-U35MCT3I-C2DEy4EI.js +0 -1
- package/dist/assets/kanban-definition-NDS4AKOZ-B_EEiPWw.js +0 -1
- package/dist/assets/katex-Blph-pX_.js +0 -1
- package/dist/assets/layout-D_LRJAfC.js +0 -1
- package/dist/assets/linear-D5vU7l3E.js +0 -1
- package/dist/assets/mbox-DoeuZPxA.js +0 -1
- package/dist/assets/mermaid-R60l6R69.js +0 -7
- package/dist/assets/mhchem-9pkdwevO.js +0 -1
- package/dist/assets/min-C-OQ4NGo.js +0 -1
- package/dist/assets/mindmap-definition-ALO5MXBD-D4QoDDy8.js +0 -1
- package/dist/assets/pieDiagram-IB7DONF6-SF9agpbB.js +0 -1
- package/dist/assets/quadrantDiagram-7GDLP6J5-BLMHLPC_.js +0 -1
- package/dist/assets/radar-MK3ICKWK-BHuNvtv1.js +0 -1
- package/dist/assets/react-plotly-BL5FdwhT.js +0 -71
- package/dist/assets/requirementDiagram-KVF5MWMF-DxjKoyr_.js +0 -1
- package/dist/assets/run-page-CmD3K-_E.js +0 -1
- package/dist/assets/sankeyDiagram-QLVOVGJD-CstUhZQp.js +0 -1
- package/dist/assets/save-worker-CQvBUha3.js +0 -1
- package/dist/assets/sequenceDiagram-X6HHIX6F-C0DUaj1h.js +0 -1
- package/dist/assets/slides-component-ciQA86ZI.js +0 -1
- package/dist/assets/sortBy-DtnQOB1o.js +0 -1
- package/dist/assets/stateDiagram-DGXRK772-DLwZeaFq.js +0 -1
- package/dist/assets/stateDiagram-v2-YXO3MK2T-B0FkKF8G.js +0 -1
- package/dist/assets/terminal-DVzybcfs.css +0 -1
- package/dist/assets/terminal-th4WQMuZ.js +0 -1
- package/dist/assets/time-xufRr6_w.js +0 -1
- package/dist/assets/timeline-definition-BDJGKUSR-bfHyV-7E.js +0 -1
- package/dist/assets/tracing-DVLROVSe.js +0 -8
- package/dist/assets/transform-DjHZbYKP.js +0 -1
- package/dist/assets/tree-Bc56h0bS.js +0 -8
- package/dist/assets/useMarimoWebSocket-C5cupBS4.js +0 -15
- package/dist/assets/vega-component-BCCNIpr4.js +0 -1
- package/dist/assets/web-vitals-rCWRSGQR.js +0 -1
- package/dist/assets/worker-DMKWnagd.js +0 -1
- package/dist/assets/worker-DXe6aoib.js +0 -1
- package/dist/assets/xychartDiagram-VJFVF3MP-DxMG0q6v.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e;import{S as t,R as i,ad as s,ae as o,af as n,j as r,ag as l,a2 as a,ah as d}from"./index-Bsc9SEYH.js";var h=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 0===this.allSyncListeners.size&&0===this.allAsyncListeners.size&&0===this.globalSyncListeners.size&&0===this.globalAsyncListeners.size}addEventListener(e,t,i=!1){this.getListeners(e,i,!0).add(t)}removeEventListener(e,t,i=!1){const s=this.getListeners(e,i,!1);if(s&&(s.delete(t),0===s.size)){(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 t=e.event;t instanceof Event&&(e.eventPath=t.composedPath())}const s=(i,s)=>i.forEach((i=>{if(!s.has(i))return;const o=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming((()=>i(e))):()=>i(e);t?this.dispatchAsync(o):o()})),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((s=>{const o=this.frameworkOverrides?()=>this.frameworkOverrides.wrapIncoming((()=>s(i,e))):()=>s(i,e);t?this.dispatchAsync(o):o()}))}dispatchAsync(e){if(this.asyncFunctionsQueue.push(e),!this.scheduled){const e=()=>{window.setTimeout(this.flushAsyncQueue.bind(this),0)};this.frameworkOverrides?this.frameworkOverrides.wrapIncoming(e):e(),this.scheduled=!0}}flushAsyncQueue(){this.scheduled=!1;const e=this.asyncFunctionsQueue.slice();this.asyncFunctionsQueue=[],e.forEach((e=>e()))}},u=(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))(u||{}),c={};function g(e,t){c[t]||(e(),c[t]=!0)}function p(e,...t){console.log("AG Grid: "+e,...t)}function m(e,...t){g((()=>console.warn("AG Grid: "+e,...t)),e+(null==t?void 0:t.join("")))}function v(e,...t){g((()=>console.error("AG Grid: "+e,...t)),e+(null==t?void 0:t.join("")))}function C(e){return!!(e&&e.constructor&&e.call&&e.apply)}function f(e){!function(e,t=0){e.length>0&&window.setTimeout((()=>e.forEach((e=>e()))),t)}(e,400)}var w=[],S=!1;function y(e){w.push(e),S||(S=!0,window.setTimeout((()=>{const e=w.slice();w.length=0,S=!1,e.forEach((e=>e()))}),0))}function b(e,t){let i;return function(...s){const o=this;window.clearTimeout(i),i=window.setTimeout((function(){e.apply(o,s)}),t)}}function R(e,t){let i=0;return function(...s){const o=(new Date).getTime();o-i<t||(i=o,e.apply(this,s))}}function F(e){return null==e||""===e?null:e}function P(e,t=!1){return null!=e&&(""!==e||t)}function D(e){return!P(e)}function E(e){return null==e||0===e.length}function M(e){return null!=e&&"function"==typeof e.toString?e.toString():null}function x(e){if(void 0===e)return;if(null===e||""===e)return null;if("number"==typeof e)return isNaN(e)?void 0:e;const t=parseInt(e,10);return isNaN(t)?void 0:t}function A(e){if(void 0!==e)return null!==e&&""!==e&&T(e)}function T(e){return"boolean"==typeof e?e:"string"==typeof e&&("TRUE"===e.toUpperCase()||""==e)}function I(e,t){return(e?JSON.stringify(e):null)===(t?JSON.stringify(t):null)}function L(e,t,i=!1){const s=null==e,o=null==t;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(e,t){return e>t?1:e<t?-1:0}if("string"!=typeof e)return n(e,t);if(!i)return n(e,t);try{return e.localeCompare(t)}catch(r){return n(e,t)}}function k(e){if(e instanceof Set||e instanceof Map){const t=[];return e.forEach((e=>t.push(e))),t}return Object.values(e)}function O(e,t){return e.get("rowModelType")===t}function G(e){return O(e,"clientSide")}function N(e){return O(e,"serverSide")}function H(e,t){return e.get("domLayout")===t}function B(e){return void 0!==pe(e)}function V(e){return!e.get("suppressAsyncEvents")}function W(e){return"function"==typeof e.get("getRowHeight")}function z(e,t,i=!1,s){if(null==s&&(s=e.environment.getDefaultRowHeight()),W(e)){if(i)return{height:s,estimated:!0};const o={node:t,data:t.data},n=e.getCallback("getRowHeight")(o);if(K(n))return 0===n&&m("The return of `getRowHeight` cannot be zero. If the intention is to hide rows, use a filter instead."),{height:Math.max(1,n),estimated:!1}}if(t.detail&&e.get("masterDetail"))return function(e){if(e.get("detailRowAutoHeight"))return{height:1,estimated:!1};const t=e.get("detailRowHeight");if(K(t))return{height:t,estimated:!1};return{height:300,estimated:!1}}(e);const o=e.get("rowHeight");return{height:o&&K(o)?o:s,estimated:!1}}function U(e){const{environment:t}=e,i=e.get("rowHeight");if(!i||D(i))return t.getDefaultRowHeight();const s=t.refreshRowHeightVariable();return-1!==s?s:(m("row height must be a number if not using standard row model"),t.getDefaultRowHeight())}function K(e){return!isNaN(e)&&"number"==typeof e&&isFinite(e)}function _(e,t,i){const s=t[e.getDomDataKey()];return s?s[i]:void 0}function $(e,t,i,s){const o=e.getDomDataKey();let n=t[o];D(n)&&(n={},t[o]=n),n[i]=s}function j(e){let t=null;const i=e.get("getDocument");return i&&P(i)?t=i():e.eGridDiv&&(t=e.eGridDiv.ownerDocument),t&&P(t)?t:document}function q(e){return j(e).defaultView||window}function Q(e){return e.eGridDiv.getRootNode()}function Y(e){return Q(e).activeElement}function X(e){const t=j(e),i=Y(e);return null===i||i===t.body}function J(e){return!e.get("ensureDomOrder")&&e.get("animateRows")}function Z(e){return!(e.get("paginateChildRows")||e.get("groupHideOpenParents")||H(e,"print"))}function ee(e){const t=e.get("autoGroupColumnDef");return!(null==t?void 0:t.comparator)&&!e.get("treeData")}function te(e){const t=e.get("groupAggFiltering");return"function"==typeof t?e.getCallback("groupAggFiltering"):!0===t?()=>!0:void 0}function ie(e){const t=e.get("grandTotalRow");if(t)return t;return e.get("groupIncludeTotalFooter")?"bottom":void 0}function se(e){const t=e.get("groupTotalRow");if("function"==typeof t)return e.getCallback("groupTotalRow");if(t)return()=>t;const i=e.get("groupIncludeFooter");if("function"==typeof i){const t=e.getCallback("groupIncludeFooter");return e=>t(e)?"bottom":void 0}return()=>i?"bottom":void 0}function oe(e){return e.exists("groupDisplayType")?"multipleColumns"===e.get("groupDisplayType"):e.get("groupHideOpenParents")}function ne(e,t){return!t&&"groupRows"===e.get("groupDisplayType")}function re(e){const t=e.getCallback("getRowId");return void 0===t?t:e=>{let i=t(e);return"string"!=typeof i&&(m("The getRowId callback must return a string. The ID ",i," is being cast to a string."),i=String(i)),i}}function le(e){return(null==e?void 0:e.checkboxes)??!0}function ae(e){return"multiRow"===(null==e?void 0:e.mode)&&(e.headerCheckbox??!0)}function de(e){const t=e.get("cellSelection");return void 0!==t?!!t:e.get("enableRangeSelection")}function he(e){var t;const i=e.get("cellSelection");return void 0!==i?"boolean"!=typeof i&&"fill"===(null==(t=i.handle)?void 0:t.mode):e.get("enableFillHandle")}function ue(e){const t=e.get("rowSelection")??"single";if("string"==typeof t){const t=e.get("suppressRowClickSelection"),i=e.get("suppressRowDeselection");return(!t||!i)&&(t?"enableDeselection":!i||"enableSelection")}return("singleRow"===t.mode||"multiRow"===t.mode)&&(t.enableClickSelection??!1)}function ce(e){const t=ue(e);return!0===t||"enableDeselection"===t}function ge(e){const t=e.get("rowSelection");return"string"==typeof t?e.get("isRowSelectable"):null==t?void 0:t.isRowSelectable}function pe(e){const t=e.get("rowSelection");if("string"==typeof t)switch(t){case"multiple":return"multiRow";case"single":return"singleRow";default:return}return null==t?void 0:t.mode}function me(e){return"multiRow"===pe(e)}function ve(e){const t=e.get("rowSelection");if("string"==typeof t){const t=e.get("groupSelectsChildren"),i=e.get("groupSelectsFiltered");return t&&i?"filteredDescendants":t?"descendants":"self"}return"multiRow"===(null==t?void 0:t.mode)?t.groupSelects:void 0}function Ce(e){const t=ve(e);return"descendants"===t||"filteredDescendants"===t}function fe(e){return e.isModuleRegistered("@ag-grid-enterprise/set-filter")&&!e.get("suppressSetFilterByDefault")}function we(e){if(e&&e.length)return e[e.length-1]}function Se(e,t,i){return null==e&&null==t||null!=e&&null!=t&&e.length===t.length&&e.every(((e,s)=>i?i(e,t[s]):t[s]===e))}function ye(e,t){const i=e.indexOf(t);i>=0&&(e[i]=e[e.length-1],e.pop())}function be(e,t){const i=e.indexOf(t);i>=0&&e.splice(i,1)}function Re(e,t,i){e.splice(i,0,t)}function Fe(e,t,i){!function(e,t){for(let i=0;i<t.length;i++)be(e,t[i])}(e,t),t.slice().reverse().forEach((t=>Re(e,t,i)))}function Pe(e,t){return e.indexOf(t)>-1}function De(e,t){null!=t&&null!=e&&t.forEach((t=>e.push(t)))}var Ee="__ag_Grid_Stop_Propagation",Me=["touchstart","touchend","touchmove","touchcancel","scroll"],xe={};function Ae(e){e[Ee]=!0}function Te(e){return!0===e[Ee]}var Ie=(()=>{const e={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return t=>{if("boolean"==typeof xe[t])return xe[t];const i=document.createElement(e[t]||"div");return xe[t="on"+t]=t in i}})();function Le(e,t,i){let s=t;for(;s;){const t=_(e,s,i);if(t)return t;s=s.parentElement}return null}function ke(e,t){return!(!t||!e)&&function(e){const t=e;if(t.path)return t.path;if(t.composedPath)return t.composedPath();return function(e){const t=[];let i=e.target;for(;i;)t.push(i),i=i.parentElement;return t}(t)}(t).indexOf(e)>=0}var Oe=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 h),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(e,t,i,s){const o=Pe(Me,i)?{passive:!0}:void 0;e&&e.addEventListener&&e.addEventListener(t,i,s,o)}(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((e=>e!==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((e=>e!==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=e=>{if(e.changeSet){if(e.changeSet&&e.changeSet.id===this.lastChangeSetIdLookup[i])return;this.lastChangeSetIdLookup[i]=e.changeSet.id}const s={type:"gridPropertyChanged",changeSet:e.changeSet,source:e.source};t(s)};e.forEach((e=>this.setupGridOptionListener(e,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 Ge(e){return e instanceof Ne}var Ne=class extends Oe{constructor(e,t,i,s){super(),this.isColumn=!1,this.expandable=!1,this.instanceId=ot(),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=void 0!==e&&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=>{nt(t)?e.push(t):Ge(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 o=s[n];if(!o.isVisible())continue;const r=o.getColumnGroupShow();"open"===r?(e=!0,i=!0):"closed"===r?(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((i=>{Ge(i)&&i.isPadding()?t(i.children):e.push(i)}))};return t(this.children),e}onColumnVisibilityChanged(){this.setExpandable()}},He="ag-Grid-ControlsColumn",Be=class extends Oe{constructor(){super(...arguments),this.beanName="controlsColService"}createControlsCols(){const{gos:e}=this,t=e.get("rowSelection");if(!t||"object"!=typeof t)return[];const i=le(t),s=ae(t);if(i||s){const t=e.get("selectionColumnDef"),i={maxWidth:50,resizable:!1,suppressHeaderMenuButton:!0,sortable:!1,suppressMovable:!0,lockPosition:e.get("enableRtl")?"right":"left",comparator(e,t,i,s){const o=i.isSelected(),n=s.isSelected();return o&&n?0:o?1:-1},editable:!1,suppressFillHandle:!0,...t,colId:`${He}`},s=new rt(i,null,i.colId,!1);return this.createBean(s),[s]}return[]}},Ve="ag-Grid-AutoColumn";function We(e){const t=[],i=e=>{for(let s=0;s<e.length;s++){const o=e[s];nt(o)?t.push(o):Ge(o)&&i(o.getChildren())}};return i(e),t}function ze(e){return e.reduce(((e,t)=>e+t.getActualWidth()),0)}function Ue(e,t,i){const s={};if(!t)return;ht(null,t,(e=>{s[e.getInstanceId()]=e})),i&&ht(null,i,(e=>{s[e.getInstanceId()]=null}));const o=Object.values(s).filter((e=>null!=e));e.destroyBeans(o)}function Ke(e){return e.getId().startsWith(Ve)}function _e(e){return e.getColId().startsWith(He)}function $e(e){let t=[];if(e instanceof Array){e.some((e=>"string"!=typeof e))?m("if colDef.type is supplied an array it should be of type 'string[]'"):t=e}else"string"==typeof e?t=e.split(","):m("colDef.type should be of type 'string' | 'string[]'");return t}var je=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=e=>{i.wrapOutgoing((()=>t(e)))};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=(i,s)=>{t.wrapOutgoing((()=>e(i,s)))},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),0===s.size&&i.delete(e),o}return t}unwrapGlobal(e){const{wrappedGlobalListeners:t}=this,i=t.get(e);return i?(t.delete(e),i):e}},qe=new Set(["__proto__","constructor","prototype"]);function Qe(e,t){if(null!=e)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 Ye(e){const t={},i=Object.keys(e);for(let s=0;s<i.length;s++){if(qe.has(i[s]))continue;const o=i[s],n=e[o];t[o]=n}return t}function Xe(e,t){if(!e)return;const i=e,s={};return Object.keys(i).forEach((e=>{if(t&&t.indexOf(e)>=0||qe.has(e))return;const o=i[e],n=tt(o)&&o.constructor===Object;s[e]=n?Xe(o):o})),s}function Je(e){if(!e)return[];const t=Object;if("function"==typeof t.values)return t.values(e);const i=[];for(const s in e)e.hasOwnProperty(s)&&e.propertyIsEnumerable(s)&&i.push(e[s]);return i}function Ze(e,t,i=!0,s=!1){P(t)&&Qe(t,((t,o)=>{if(qe.has(t))return;let n=e[t];if(n!==o){if(s){if(null==n&&null!=o){"object"==typeof o&&o.constructor===Object&&(n={},e[t]=n)}}tt(o)&&tt(n)&&!Array.isArray(n)?Ze(n,o,i,s):(i||void 0!==o)&&(e[t]=o)}}))}function et(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(null==o)return;o=o[s[n]]}return o}function tt(e){return"object"==typeof e&&null!==e}var it={resizable:!0,sortable:!0},st=0;function ot(){return st++}function nt(e){return e instanceof rt}var rt=class extends Oe{constructor(e,t,i,s){super(),this.isColumn=!0,this.instanceId=ot(),this.autoHeaderHeight=null,this.moving=!1,this.menuVisible=!1,this.lastLeftPinned=!1,this.firstRightPinned=!1,this.filterActive=!1,this.columnEventService=new h,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){void 0!==e.sort?"asc"!==e.sort&&"desc"!==e.sort||(this.sort=e.sort):"asc"!==e.initialSort&&"desc"!==e.initialSort||(this.sort=e.initialSort);const t=e.sortIndex,i=e.initialSortIndex;void 0!==t?null!==t&&(this.sortIndex=t):null!==i&&(this.sortIndex=i);const s=e.hide,o=e.initialHide;this.visible=void 0!==s?!s:!o,void 0!==e.pinned?this.setPinned(e.pinned):this.setPinned(e.initialPinned);const n=e.flex,r=e.initialFlex;void 0!==n?this.flex=n:void 0!==r&&(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=P(this.colDef.field)&&this.colDef.field.indexOf(".")>=0&&!e,this.tooltipFieldContainsDots=P(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=P(this.colDef.tooltipField)||P(this.colDef.tooltipValueGetter)||P(this.colDef.tooltipComponent)}resetActualWidth(e){const t=this.calculateColInitialWidth(this.colDef);this.setActualWidth(t,e,!0)}calculateColInitialWidth(e){let t;const i=x(e.width),s=x(e.initialWidth);return t=null!=i?i:null!=s?s:200,Math.max(Math.min(t,this.maxWidth),this.minWidth)}isEmptyGroup(){return!1}isRowGroupDisplayed(e){if(D(this.colDef)||D(this.colDef.showRowGroup))return!1;const t=!0===this.colDef.showRowGroup,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 i;this.frameworkOverrides.shouldWrapOutgoing&&!this.frameworkEventListenerService&&(this.columnEventService.setFrameworkOverrides(this.frameworkOverrides),this.frameworkEventListenerService=new je(this.frameworkOverrides));const s=(null==(i=this.frameworkEventListenerService)?void 0:i.wrap(e,t))??t;this.columnEventService.addEventListener(e,s)}removeEventListener(e,t){var i;const s=(null==(i=this.frameworkEventListenerService)?void 0:i.unwrap(e,t))??t;this.columnEventService.removeEventListener(e,s)}createColumnFunctionCallbackParams(e){return this.gos.addGridCommonParams({node:e,data:e.data,column:this,colDef:this.colDef})}isSuppressNavigable(e){if("boolean"==typeof this.colDef.suppressNavigable)return this.colDef.suppressNavigable;if("function"==typeof this.colDef.suppressNavigable){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&&"string"!=typeof t){const i=_e(this)&&le(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]??it[e]}isColumnFunc(e,t){if("boolean"==typeof t)return t;if("function"==typeof t){return t(this.createColumnFunctionCallbackParams(e))}return!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"asc"===this.sort}isSortDescending(){return"desc"===this.sort}isSortNone(){return D(this.sort)}isSorting(){return P(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&&Ze(s,i),this.columnEventService.dispatchEvent(s)}isHovered(){return this.columnHoverService.isHovered(this)}setPinned(e){this.pinned=!0===e||"left"===e?"left":"right"===e?"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"left"===this.pinned||"right"===this.pinned}isPinnedLeft(){return"left"===this.pinned}isPinnedRight(){return"right"===this.pinned}getPinned(){return this.pinned}setVisible(e,t){const i=!0===e;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(D(this.colDef.colSpan))return 1;const t=this.createBaseColDefParams(e),i=this.colDef.colSpan(t);return Math.max(i,1)}getRowSpan(e){if(D(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&&"flex"!==t&&"gridInitializing"!==t&&(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!0===this.colDef.enablePivot}isAllowValue(){return!0===this.colDef.enableValue}isAllowRowGroup(){return!0===this.colDef.enableRowGroup}dispatchStateUpdatedEvent(e){this.columnEventService.dispatchEvent({type:"columnStateUpdated",key:e})}},lt={numericColumn:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"},rightAligned:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"}},at=class{constructor(){this.existingKeys={}}addExistingKeys(e){for(let t=0;t<e.length;t++)this.existingKeys[e[t]]=!0}getUniqueKey(e,t){e=M(e);let i=0;for(;;){let s;if(e?(s=e,0!==i&&(s+="_"+i)):t?(s=t,0!==i&&(s+="_"+i)):s=i,!this.existingKeys[s])return this.existingKeys[s]=!0,String(s);i++}}},dt=class extends Oe{constructor(){super(...arguments),this.beanName="columnFactory"}wireBeans(e){this.dataTypeService=e.dataTypeService}createColumnTree(e,t,i,s){const o=new at,{existingCols:n,existingGroups:r,existingColKeys:l}=this.extractExistingTreeData(i);o.addExistingKeys(l);const a=this.recursivelyCreateColumns(e,0,t,n,o,r,s),d=this.findMaxDept(a,0),h=this.balanceColumnTree(a,0,d,o);return ht(null,h,((e,t)=>{Ge(e)&&e.setupExpandable(),e.setOriginalParent(t)})),{columnTree:h,treeDept:d}}extractExistingTreeData(e){const t=[],i=[],s=[];return e&&ht(null,e,(e=>{if(Ge(e)){const t=e;i.push(t)}else{const i=e;s.push(i.getId()),t.push(i)}})),{existingCols:t,existingGroups:i,existingColKeys:s}}balanceTreeForAutoCols(e,t){const i=[],s=this.findDepth(t);return e.forEach((e=>{let t=e;for(let i=s-1;i>=0;i--){const s=new Ne(null,`FAKE_PATH_${e.getId()}}_${i}`,!0,i);this.createBean(s),s.setChildren([t]),t.setOriginalParent(s),t=s}0===s&&e.setOriginalParent(null),i.push(t)})),[i,s]}findDepth(e){let t=0,i=e;for(;i&&i[0]&&Ge(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(Ge(r)){const e=r,n=this.balanceColumnTree(e.getChildren(),t+1,i,s);e.setChildren(n),o.push(e)}else{let n,l;for(let e=i-1;e>=t;e--){const e=s.getUniqueKey(null,null),i=this.createMergedColGroupDef(null),o=new Ne(i,e,!0,t);this.createBean(o),l&&l.setChildren([o]),l=o,n||(n=l)}if(n&&l){o.push(n);if(e.some((e=>Ge(e)))){l.setChildren([r]);continue}l.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(Ge(o)){const e=o,s=this.findMaxDept(e.getChildren(),t+1);i<s&&(i=s)}}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 d=e[a];this.isColumnGroup(d)?l[a]=this.createColumnGroup(i,d,t,s,o,n,r):l[a]=this.createColumn(i,d,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),d=new Ne(l,a,!1,i);this.createBean(d);const h=this.findExistingGroup(t,n);h&&n.splice(h.idx,1);const u=null==h?void 0:h.group;u&&d.setExpanded(u.isExpanded());const c=this.recursivelyCreateColumns(l.children,i+1,e,s,o,n,r);return d.setChildren(c),d}createMergedColGroupDef(e){const t={};return Object.assign(t,this.gos.get("defaultColGroupDef")),Object.assign(t,e),t}createColumn(e,t,i,s,o){var n;const r=this.findExistingColumn(t,i);r&&(null==i||i.splice(r.idx,1));let l=null==r?void 0:r.column;if(l){const e=this.addColumnDefaultAndTypes(t,l.getColId());l.setColDef(e,t,o),this.applyColumnState(l,e,o)}else{const i=s.getUniqueKey(t.colId,t.field),o=this.addColumnDefaultAndTypes(t,i);l=new rt(o,t,i,e),this.createBean(l)}return null==(n=this.dataTypeService)||n.addColumnListeners(l),l}applyColumnState(e,t,i){const s=x(t.flex);void 0!==s&&e.setFlex(s);if(e.getFlex()<=0){const s=x(t.width);if(null!=s)e.setActualWidth(s,i);else{const t=e.getActualWidth();e.setActualWidth(t,i)}}void 0!==t.sort&&("asc"==t.sort||"desc"==t.sort?e.setSort(t.sort,i):e.setSort(void 0,i));const o=x(t.sortIndex);void 0!==o&&e.setSortIndex(o);const n=A(t.hide);void 0!==n&&e.setVisible(!n,i),void 0!==t.pinned&&e.setPinned(t.pinned)}findExistingColumn(e,t){if(t)for(let i=0;i<t.length;i++){const s=t[i].getUserProvidedColDef();if(!s)continue;if(null!=e.colId){if(t[i].getId()===e.colId)return{idx:i,column:t[i]};continue}if(null!=e.field){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(null!=e.groupId)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 i;const s={};Ze(s,this.gos.get("defaultColDef"),!1,!0);const o=this.updateColDefAndGetColumnType(s,e,t);o&&this.assignColumnTypes(o,s),Ze(s,e,!1,!0);const n=this.gos.get("autoGroupColumnDef"),r=ee(this.gos);return e.rowGroup&&n&&r&&Ze(s,{sort:n.sort,initialSort:n.initialSort},!1,!0),null==(i=this.dataTypeService)||i.validateColDef(s),s}updateColDefAndGetColumnType(e,t,i){var s;const o=null==(s=this.dataTypeService)?void 0:s.updateColDefAndGetColumnType(e,t,i),n=t.type??o??e.type;return e.type=n,n?$e(n):void 0}assignColumnTypes(e,t){if(!e.length)return;const i=Object.assign({},lt);Qe(this.gos.get("columnTypes")||{},((e,t)=>{if(e in i)m(`the column type '${e}' is a default column type and cannot be overridden.`);else{t.type&&m("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[e]=t}})),e.forEach((e=>{const s=i[e.trim()];s?Ze(t,s,!1,!0):m("colDef.type '"+e+"' does not correspond to defined gridOptions.columnTypes")}))}isColumnGroup(e){return void 0!==e.children}};function ht(e,t,i){if(t)for(let s=0;s<t.length;s++){const o=t[s];Ge(o)&&ht(o,o.getChildren(),i),i(o,e)}}var ut=class extends Oe{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"],(e=>this.refreshAll(ct(e.source)))),this.addManagedPropertyListener("rowSelection",(e=>{this.onSelectionOptionsChanged(e.currentValue,e.previousValue,ct(e.source))})),this.addManagedPropertyListener("autoGroupColumnDef",(e=>this.onAutoGroupColumnDefChanged(ct(e.source)))),this.addManagedPropertyListeners(["defaultColDef","defaultColGroupDef","columnTypes","suppressFieldDotNotation"],(e=>this.recreateColumnDefs(ct(e.source)))),this.addManagedPropertyListener("pivotMode",(e=>this.setPivotMode(this.gos.get("pivotMode"),ct(e.source)))),this.addManagedEventListeners({firstDataRendered:()=>this.onFirstDataRendered()})}createColsFromColDefs(e){var t,i,s;const o=this.colDefs?this.columnApplyStateService.compareColumnStatesAndDispatchEvents(e):void 0;this.valueCache.expire();const n=null==(t=this.colDefCols)?void 0:t.list,r=null==(i=this.colDefCols)?void 0:i.tree,l=this.columnFactory.createColumnTree(this.colDefs,!0,r,e);Ue(this.context,null==(s=this.colDefCols)?void 0:s.tree,l.columnTree);const a=l.columnTree,d=l.treeDept,h=We(a),u={};h.forEach((e=>u[e.getId()]=e)),this.colDefCols={tree:a,treeDepth:d,list:h,map:u},this.funcColsService.extractCols(e,n),this.ready=!0,this.refreshCols(!0),this.visibleColsService.refresh(e),this.columnViewportService.checkViewportColumns(),this.eventDispatcher.everythingChanged(e),o&&(this.changeEventsDispatching=!0,o(),this.changeEventsDispatching=!1),this.eventDispatcher.newColumnsLoaded(e),"gridInitializing"===e&&this.columnSizeService.applyAutosizeStrategy()}refreshCols(e){var t,i,s;if(!this.colDefCols)return;const o=null==(t=this.cols)?void 0:t.tree;this.saveColOrder(),this.selectCols(),this.createAutoCols(),this.addAutoCols(),this.createControlsCols(),this.addControlsCols();const n=(r=this.gos,this.showingPivotResult?!r.get("enableStrictPivotColumnOrder"):r.get("maintainColumnOrder"));var r;e&&!n||this.restoreColOrder(),this.positionLockedCols(),null==(i=this.showRowGroupColsService)||i.refresh(),null==(s=this.quickFilterService)||s.refreshQuickFilterCols(),this.setColSpanActive(),this.setAutoHeightActive(),this.visibleColsService.clear(),this.columnViewportService.clear();!Se(o,this.cols.tree)&&this.eventDispatcher.gridColumns()}selectCols(){const e=this.pivotResultColsService.getPivotResultCols();if(this.showingPivotResult=null!=e,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((e=>{var t;return void 0!==(null==(t=this.cols)?void 0:t.map[e.getColId()])}))||(this.lastPivotOrder=null)}else{const{map:e,list:t,tree:i,treeDepth:s}=this.colDefCols;this.cols={list:t.slice(),map:{...e},tree:i.slice(),treeDepth:s}}}getColsToShow(){const e=this.isPivotMode()&&!this.isShowingPivotResult(),t=this.funcColsService.getValueColumns();return this.cols.list.filter((i=>{const s=Ke(i);if(e){const e=t&&Pe(t,i);return s||e}return s||i.isVisible()}))}addAutoCols(){null!=this.autoCols&&(this.cols.list=this.autoCols.list.concat(this.cols.list),this.cols.tree=this.autoCols.tree.concat(this.cols.tree),gt(this.cols))}createAutoCols(){var e;const t=ne(this.gos,this.pivotMode),i=this.pivotMode?this.gos.get("pivotSuppressAutoColumn"):this.isSuppressAutoCol(),s=this.funcColsService.getRowGroupColumns(),o=()=>{this.autoCols&&(Ue(this.context,this.autoCols.tree),this.autoCols=null)};if(!(s.length>0||this.gos.get("treeData"))||i||t||!this.autoColService)return void o();const n=this.autoColService.createAutoCols(s)??[],r=mt(n,(null==(e=this.autoCols)?void 0:e.list)||null),l=this.cols.treeDepth,a=this.autoCols?this.autoCols.treeDepth:-1;if(r&&a==l)return;o();const[d,h]=this.columnFactory.balanceTreeForAutoCols(n,this.cols.tree);this.autoCols={list:n,tree:d,treeDepth:h,map:{}};const u=e=>{if(!e)return null;const t=e.filter((e=>!Ke(e)));return[...n,...t]};this.lastOrder=u(this.lastOrder),this.lastPivotOrder=u(this.lastPivotOrder)}createControlsCols(){var e,t,i;const s=()=>{var e;Ue(this.context,null==(e=this.controlsCols)?void 0:e.tree),this.controlsCols=null};this.controlsColService||s();const o=this.cols.treeDepth,n=((null==(e=this.controlsCols)?void 0:e.treeDepth)??-1)==o,r=(null==(t=this.controlsColService)?void 0:t.createControlsCols())??[];if(mt(r,(null==(i=this.controlsCols)?void 0:i.list)??[])&&n)return;s();const[l,a]=this.columnFactory.balanceTreeForAutoCols(r,this.cols.tree);this.controlsCols={list:r,tree:l,treeDepth:a,map:{}};const d=e=>{if(!e)return null;const t=e.filter((e=>!_e(e)));return[...r,...t]};this.lastOrder=d(this.lastOrder),this.lastPivotOrder=d(this.lastPivotOrder)}addControlsCols(){null!=this.controlsCols&&(this.cols.list=this.controlsCols.list.concat(this.cols.list),this.cols.tree=this.controlsCols.tree.concat(this.cols.tree),gt(this.cols))}refreshAll(e){this.isReady()&&(this.refreshCols(!1),this.visibleColsService.refresh(e))}setColsVisible(e,t=!1,i){this.columnApplyStateService.applyColumnState({state:e.map((e=>({colId:"string"==typeof e?e:e.getColId(),hide:!t})))},i)}setColsPinned(e,t,i){if(!this.cols)return;if(E(e))return;if(H(this.gos,"print"))return void m("Changing the column pinning status is not allowed with domLayout='print'");let s;this.columnAnimationService.start(),s=!0===t||"left"===t?"left":"right"===t?"right":null;const o=[];e.forEach((e=>{if(!e)return;const t=this.getCol(e);t&&t.getPinned()!==s&&(t.setPinned(s),o.push(t))})),o.length&&(this.visibleColsService.refresh(i),this.eventDispatcher.columnPinned(o,i)),this.columnAnimationService.finish()}setColumnGroupOpened(e,t,i){let s;s=Ge(e)?e.getId():e||"",this.columnGroupStateService.setColumnGroupState([{groupId:s,open:t}],i)}getProvidedColGroup(e){var t;let i=null;return ht(null,null==(t=this.cols)?void 0:t.tree,(t=>{Ge(t)&&t.getId()===e&&(i=t)})),i}isColGroupLocked(e){const t=this.gos.get("groupLockGroupColumns");if(!e.isRowGroupActive()||0===t)return!1;if(-1===t)return!0;return t>this.funcColsService.getRowGroupColumns().findIndex((t=>t.getColId()===e.getColId()))}isSuppressAutoCol(){if("custom"===this.gos.get("groupDisplayType"))return!0;return"custom"===this.gos.get("treeDataDisplayType")}setAutoHeightActive(){if(this.autoHeightActive=this.cols.list.some((e=>e.isVisible()&&e.isAutoHeight())),this.autoHeightActive){this.autoHeightActiveAtLeastOnce=!0;G(this.gos)||N(this.gos)||m("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(((e,t)=>[e,t])));if(!this.cols.list.some((e=>t.has(e))))return;const i=new Map(this.cols.list.map((e=>[e,!0]))),s=e.filter((e=>i.has(e))),o=new Map(s.map((e=>[e,!0]))),n=this.cols.list.filter((e=>!o.has(e))),r=s.slice();n.forEach((e=>{let t=e.getOriginalParent();if(!t)return void r.push(e);const i=[];for(;!i.length&&t;){t.getLeafColumns().forEach((e=>{const t=r.indexOf(e)>=0,s=i.indexOf(e)<0;t&&s&&i.push(e)})),t=t.getOriginalParent()}if(!i.length)return void r.push(e);const s=i.map((e=>r.indexOf(e))),o=Math.max(...s);Re(r,e,o+1)})),this.cols.list=r}sortColsLikeKeys(e){if(null==this.cols)return;let t=[];const i={};e.forEach((e=>{if(i[e])return;const s=this.cols.map[e];s&&(t.push(s),i[e]=!0)}));let s=0;this.cols.list.forEach((e=>{const o=e.getColId();if(null!=i[o])return;o.startsWith(Ve)?Re(t,e,s++):t.push(e)})),t=this.columnMoveService.placeLockedColumns(t),this.columnMoveService.doesMovePassMarryChildren(t)?this.cols.list=t:m("Applying column order broke a group where columns should be married together. Applying new order has been discarded.")}sortColsLikeCols(e){if(!e||e.length<=1)return;e.filter((e=>this.cols.list.indexOf(e)<0)).length>0||e.sort(((e,t)=>this.cols.list.indexOf(e)-this.cols.list.indexOf(t)))}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;Fe(null==(s=this.cols)?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=null==(e=this.cols)?void 0:e.list:this.lastOrder=null==(t=this.cols)?void 0:t.list}getColumnDefs(){if(!this.colDefCols)return;const e=this.colDefCols.list.slice();this.showingPivotResult?e.sort(((e,t)=>this.lastOrder.indexOf(e)-this.lastOrder.indexOf(t))):this.lastOrder&&e.sort(((e,t)=>this.cols.list.indexOf(e)-this.cols.list.indexOf(t)));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(null==(e=this.colDefCols)?void 0:e.treeDepth)>0}setColSpanActive(){this.colSpanActive=this.cols.list.some((e=>null!=e.getColDef().colSpan))}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")||(m("Pivot mode not available with treeData."),!1)}isPivotActive(){const e=this.funcColsService.getPivotColumns();return this.pivotMode&&!E(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;Ue(this.context,null==(e=this.colDefCols)?void 0:e.tree),Ue(this.context,null==(t=this.autoCols)?void 0:t.tree),Ue(this.context,null==(i=this.controlsCols)?void 0:i.tree),super.destroy()}getColTree(){return this.cols.tree}getColDefColTree(){return this.colDefCols.tree}getColDefCols(){var e;return(null==(e=this.colDefCols)?void 0:e.list)?this.colDefCols.list:null}getCols(){var e;return(null==(e=this.cols)?void 0:e.list)??[]}getAllCols(){var e,t,i;const s=this.pivotResultColsService.getPivotResultCols(),o=null==s?void 0:s.list;return[(null==(e=this.colDefCols)?void 0:e.list)??[],(null==(t=this.autoCols)?void 0:t.list)??[],(null==(i=this.controlsCols)?void 0:i.list)??[],o??[]].flat()}getColsForKeys(e){return e?e.map((e=>this.getCol(e))).filter((e=>null!=e)):[]}getColDefCol(e){var t;return(null==(t=this.colDefCols)?void 0:t.list)?this.getColFromCollection(e,this.colDefCols):null}getCol(e){return null==e?null:this.getColFromCollection(e,this.cols)}getColFromCollection(e,t){if(null==t)return null;const{map:i,list:s}=t;if("string"==typeof e&&i[e])return i[e];for(let o=0;o<s.length;o++)if(pt(s[o],e))return s[o];return this.getAutoCol(e)}getAutoCol(e){var t;return(null==(t=this.autoCols)?void 0:t.list.find((t=>pt(t,e))))??null}getAutoCols(){var e;return(null==(e=this.autoCols)?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 t=i.getGroupRowCount()||0;for(let s=0;s<t;s++){const t=i.getGroupRowCtrlAtIndex(s),o=e[s];if(t){const i=this.getColumnGroupHeaderRowHeight(t);(null==o||i>o)&&(e[s]=i)}}}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 e=o.getColumn();if(e.isAutoHeaderHeight()){const t=e.getAutoHeaderHeight();null!=t&&t>i&&(i=t)}}return Math.max(t,i)}getColumnHeaderRowHeight(){const e=this.isPivotMode()?this.getPivotHeaderHeight():this.getHeaderHeight(),t=this.visibleColsService.getAllCols().filter((e=>e.isAutoHeaderHeight())).map((e=>e.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("fitCellContents"!==(null==e?void 0:e.type))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&&"string"!=typeof t?le(t):void 0)!==(e&&"string"!=typeof e?le(e):void 0),o=t&&"string"!=typeof t?ae(t):void 0,n=e&&"string"!=typeof e?ae(e):void 0;(s||o!==n)&&this.refreshAll(i)}};function ct(e){return"gridOptionsUpdated"===e?"gridOptionsChanged":e}function gt(e){e.map={},e.list.forEach((t=>e.map[t.getId()]=t))}function pt(e,t){const i=e===t,s=e.getColDef()===t,o=e.getColId()==t;return i||s||o}function mt(e,t){return Se(e,t,((e,t)=>e.getColId()===t.getColId()))}var vt=class extends Oe{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=null!=i?i:this.gos.get("skipHeaderOnAutoSize"),d=null!=s?s:a;for(;0!==l;){l=0;const e=[];t.forEach((t=>{if(!t)return;const i=this.columnModel.getCol(t);if(!i)return;if(r.indexOf(i)>=0)return;const s=this.autoWidthCalculator.getPreferredWidthForColumn(i,a);if(s>0){const e=this.normaliseColumnWidth(i,s);i.setActualWidth(e,n),r.push(i),l++}e.push(i)})),e.length&&this.visibleColsService.refresh(n)}d||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((e=>{let t=e.getParent();for(;t&&t!=i;)t.isPadding()||s.add(t),t=t.getParent()}));for(const n of s){for(const e of this.ctrlsService.getHeaderRowContainerCtrls())if(o=e.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}},Ct=class extends Oe{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=>be(this.rowGroupCols,e),addPivotCol:e=>this.pivotCols.push(e),removePivotCol:e=>be(this.pivotCols,e),addValueCol:e=>this.valueCols.push(e),removeValueCol:e=>be(this.valueCols,e)}}getSourceColumnsForGroupColumn(e){const t=e.getColDef().showRowGroup;if(!t)return null;if(!0===t)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 E(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,((e,i)=>this.setRowGroupActive(e,i,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,(e=>this.setRowGroupActive(!0,e,t)),"columnRowGroupChanged",t)}removeRowGroupColumns(e,t){this.updateColList(e,this.rowGroupCols,!1,!0,(e=>this.setRowGroupActive(!1,e,t)),"columnRowGroupChanged",t)}addPivotColumns(e,t){this.updateColList(e,this.pivotCols,!0,!1,(e=>e.setPivotActive(!0,t)),"columnPivotChanged",t)}setPivotColumns(e,t){this.setColList(e,this.pivotCols,"columnPivotChanged",!0,!1,((e,i)=>{i.setPivotActive(e,t)}),t)}removePivotColumns(e,t){this.updateColList(e,this.pivotCols,!1,!1,(e=>e.setPivotActive(!1,t)),"columnPivotChanged",t)}setValueColumns(e,t){this.setColList(e,this.valueCols,"columnValueChanged",!1,!1,((e,i)=>this.setValueActive(e,i,t)),t)}setValueActive(e,t,i){if(e!==t.isValueActive()&&(t.setValueActive(e,i),e&&!t.getAggFunc()&&this.aggFuncService)){const e=this.aggFuncService.getDefaultAggFunc(t);t.setAggFunc(e)}}addValueColumns(e,t){this.updateColList(e,this.valueCols,!0,!1,(e=>this.setValueActive(!0,e,t)),"columnValueChanged",t)}removeValueColumns(e,t){this.updateColList(e,this.valueCols,!1,!1,(e=>this.setValueActive(!1,e,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(((e,t)=>l.set(e,t))),t.length=0,P(e)&&e.forEach((e=>{const i=this.columnModel.getColDefCol(e);i&&t.push(i)})),t.forEach(((e,t)=>{const i=l.get(e);void 0!==i?s&&i!==t||l.delete(e):l.set(e,0)}));(this.columnModel.getColDefCols()||[]).forEach((e=>{const i=t.indexOf(e)>=0;n(i,e)})),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||E(e))return;let l=!1;const a=new Set;e.forEach((e=>{if(!e)return;const s=this.columnModel.getColDefCol(e);if(s){if(a.add(s),i){if(t.indexOf(s)>=0)return;t.push(s)}else{const e=t.indexOf(s);if(e<0)return;for(let i=e+1;i<t.length;i++)a.add(t[i]);be(t,s)}o(s),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,((t,i)=>t.setValueActive(i,e)),(()=>{}),(()=>{}),(e=>{const t=e.aggFunc;return null===t||""===t?null:void 0!==t?!!t:void 0}),(e=>null!=e.initialAggFunc&&""!=e.initialAggFunc)),this.valueCols.forEach((e=>{const t=e.getColDef();null!=t.aggFunc&&""!=t.aggFunc?e.setAggFunc(t.aggFunc):e.getAggFunc()||e.setAggFunc(t.initialAggFunc)}))}extractRowGroupCols(e,t){this.rowGroupCols=this.extractColsCommon(t,this.rowGroupCols,((t,i)=>t.setRowGroupActive(i,e)),(e=>e.rowGroupIndex),(e=>e.initialRowGroupIndex),(e=>e.rowGroup),(e=>e.initialRowGroup))}extractPivotCols(e,t){this.pivotCols=this.extractColsCommon(t,this.pivotCols,((t,i)=>t.setPivotActive(i,e)),(e=>e.pivotIndex),(e=>e.initialPivotIndex),(e=>e.pivot),(e=>e.initialPivot))}extractColsCommon(e=[],t=[],i,s,o,n,r){const l=[],a=[];(this.columnModel.getColDefCols()||[]).forEach((i=>{const d=e.indexOf(i)<0,h=i.getColDef(),u=A(n(h)),c=A(r(h)),g=x(s(h)),p=x(o(h));let m;if(m=void 0!==u?u:void 0!==g?null!==g&&g>=0:d?void 0!==c?c:!!(void 0!==p)&&(null!=p&&p>=0):t.indexOf(i)>=0,m){(d?null!=g||null!=p:null!=g)?l.push(i):a.push(i)}}));const d=e=>{const t=s(e.getColDef()),i=o(e.getColDef());return null!=t?t:i};l.sort(((e,t)=>{const i=d(e),s=d(t);return i===s?0:i<s?-1:1}));const h=[].concat(l);return t.forEach((e=>{a.indexOf(e)>=0&&h.push(e)})),a.forEach((e=>{h.indexOf(e)<0&&h.push(e)})),t.forEach((e=>{h.indexOf(e)<0&&i(e,!1)})),h.forEach((e=>{t.indexOf(e)<0&&i(e,!0)})),h}generateColumnStateForRowGroupAndPivotIndexes(e,t){const i={},s=(e,t,s,o,n,r)=>{const l=this.columnModel.getColDefCols();if(!t.length||!l)return[];const a=Object.keys(e),d=new Set(a),h=new Set(a),u=new Set(t.map((e=>{const t=e.getColId();return h.delete(t),t})).concat(a)),c=[],g={};let p=0;for(let i=0;i<l.length;i++){const e=l[i].getColId();u.has(e)&&(c.push(e),g[e]=p++)}let m=1e3,v=!1,C=0;const f=t=>{const i=g[t];for(let s=C;s<i;s++){const t=c[s];h.has(t)&&(e[t][n]=m++,h.delete(t))}C=i};t.forEach((t=>{const l=t.getColId();if(d.has(l))f(l),e[l][n]=m++;else{const a=t.getColDef();if(null===a[n]||void 0===a[n]&&null==a[r]){if(!v){a[s]||void 0===a[s]&&a[o]?f(l):(h.forEach((t=>{e[t][n]=m+g[t]})),m+=c.length,v=!0)}i[l]||(i[l]={colId:l}),i[l][n]=m++}}}))};return s(e,this.rowGroupCols,"rowGroup","initialRowGroup","rowGroupIndex","initialRowGroupIndex"),s(t,this.pivotCols,"pivot","initialPivot","pivotIndex","initialPivotIndex"),Object.values(i)}},ft=class extends Oe{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(E(i))return!1;if(e&&e.state&&!e.state.forEach)return m("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=(i,o,n)=>{const r=this.compareColumnStatesAndDispatchEvents(t),l=o.slice(),a={},d={},h=[],u=[];let c=0;const g=this.funcColsService.getRowGroupColumns().slice(),p=this.funcColsService.getPivotColumns().slice();i.forEach((i=>{const o=i.colId||"";if(o.startsWith(Ve))return h.push(i),void u.push(i);const r=n(o);r?(this.syncColumnWithStateItem(r,i,e.defaultState,a,d,!1,t,s),be(l,r)):(u.push(i),c+=1)}));const m=i=>this.syncColumnWithStateItem(i,null,e.defaultState,a,d,!1,t,s);l.forEach(m),this.funcColsService.sortRowGroupColumns(wt.bind(this,a,g)),this.funcColsService.sortPivotColumns(wt.bind(this,d,p)),this.columnModel.refreshCols(!1);const v=(this.columnModel.getAutoCols()||[]).slice();return h.forEach((i=>{const o=this.columnModel.getAutoCol(i.colId);be(v,o),this.syncColumnWithStateItem(o,i,e.defaultState,null,null,!0,t,s)})),v.forEach(m),this.orderLiveColsLikeState(e),this.visibleColsService.refresh(t),this.eventDispatcher.everythingChanged(t),r(),{unmatchedAndAutoStates:u,unmatchedCount:c}};this.columnAnimationService.start();let{unmatchedAndAutoStates:n,unmatchedCount:r}=o(e.state||[],i,(e=>this.columnModel.getColDefCol(e)));if(n.length>0||P(e.defaultState)){const e=this.pivotResultColsService.getPivotResultCols();r=o(n,(null==e?void 0:e.list)||[],(e=>this.pivotResultColsService.getPivotResultCol(e))).unmatchedCount}return this.columnAnimationService.finish(),0===r}resetColumnState(e){if(E(this.columnModel.getColDefCols()))return;const t=We(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((e=>{const t=this.getColumnStateFromColDef(e);D(t.rowGroupIndex)&&t.rowGroup&&(t.rowGroupIndex=s++),D(t.pivotIndex)&&t.pivot&&(t.pivotIndex=o++),i.push(t)})),this.applyColumnState({state:i,applyOrder:!0},e)}getColumnStateFromColDef(e){const t=(e,t)=>null!=e?e:null!=t?t: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 d=t(i.rowGroupIndex,i.initialRowGroupIndex),h=t(i.rowGroup,i.initialRowGroup);null!=d||null!=h&&0!=h||(d=null,h=null);let u=t(i.pivotIndex,i.initialPivotIndex),c=t(i.pivot,i.initialPivot);null!=u||null!=c&&0!=c||(u=null,c=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:h,rowGroupIndex:d,pivot:c,pivotIndex:u,aggFunc:g}}syncColumnWithStateItem(e,t,i,s,o,n,r,l){if(!e)return;const a=(e,s)=>{const o={value1:void 0,value2:void 0};let n=!1;return t&&(void 0!==t[e]&&(o.value1=t[e],n=!0),P(s)&&void 0!==t[s]&&(o.value2=t[s],n=!0)),!n&&i&&(void 0!==i[e]&&(o.value1=i[e]),P(s)&&void 0!==i[s]&&(o.value2=i[s])),o},d=a("hide").value1;void 0!==d&&e.setVisible(!d,r);const h=a("pinned").value1;void 0!==h&&e.setPinned(h);const u=e.getColDef().minWidth??this.gos.environment.getDefaultColumnMinWidth(),c=a("flex").value1;if(void 0!==c&&e.setFlex(c),null==c){const t=a("width").value1;null!=t&&null!=u&&t>=u&&e.setActualWidth(t,r)}const g=a("sort").value1;void 0!==g&&("desc"===g||"asc"===g?e.setSort(g,r):e.setSort(void 0,r));const p=a("sortIndex").value1;if(void 0!==p&&e.setSortIndex(p),n||!e.isPrimary())return;const v=a("aggFunc").value1;void 0!==v&&("string"==typeof v?(e.setAggFunc(v),e.isValueActive()||(e.setValueActive(!0,r),l.addValueCol(e))):(P(v)&&m("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:f}=a("rowGroup","rowGroupIndex");void 0===C&&void 0===f||("number"==typeof f||C?(e.isRowGroupActive()||(e.setRowGroupActive(!0,r),l.addGroupCol(e)),s&&"number"==typeof f&&(s[e.getId()]=f)):e.isRowGroupActive()&&(e.setRowGroupActive(!1,r),l.removeGroupCol(e)));const{value1:w,value2:S}=a("pivot","pivotIndex");void 0===w&&void 0===S||("number"==typeof S||w?(e.isPivotActive()||(e.setPivotActive(!0,r),l.addPivotCol(e)),o&&"number"==typeof S&&(o[e.getId()]=S)):e.isPivotActive()&&(e.setPivotActive(!1,r),l.removePivotCol(e)))}orderLiveColsLikeState(e){if(!e.applyOrder||!e.state)return;const t=[];e.state.forEach((e=>{null!=e.colId&&t.push(e.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((e=>{s[e.colId]=e})),()=>{const o=this.columnModel.getAllCols(),n=(t,i,s,o)=>{if(Se(i.map(o),s.map(o)))return;const n=new Set(i);s.forEach((e=>{n.delete(e)||n.add(e)}));const r=[...n];this.eventService.dispatchEvent({type:t,columns:r,column:1===r.length?r[0]:null,source:e})},r=e=>{const t=[];return o.forEach((i=>{const o=s[i.getColId()];o&&e(o,i)&&t.push(i)})),t},l=e=>e.getColId();n("columnRowGroupChanged",t.rowGroupColumns,this.funcColsService.getRowGroupColumns(),l),n("columnPivotChanged",t.pivotColumns,this.funcColsService.getPivotColumns(),l);const a=r(((e,t)=>{const i=null!=e.aggFunc,s=i!=t.isValueActive(),o=i&&e.aggFunc!=t.getAggFunc();return s||o}));a.length>0&&this.eventDispatcher.columnChanged("columnValueChanged",a,e);this.eventDispatcher.columnResized(r(((e,t)=>e.width!=t.getActualWidth())),!0,e);this.eventDispatcher.columnPinned(r(((e,t)=>e.pinned!=t.getPinned())),e);this.eventDispatcher.columnVisible(r(((e,t)=>e.hide==t.isVisible())),e);const d=r(((e,t)=>e.sort!=t.getSort()||e.sortIndex!=t.getSortIndex()));d.length>0&&this.sortController.dispatchSortChangedEvents(e,d),this.normaliseColumnMovedEventForColumnState(i,e)}}normaliseColumnMovedEventForColumnState(e,t){const i=this.columnGetStateService.getColumnState(),s={};i.forEach((e=>s[e.colId]=e));const o={};e.forEach((e=>{s[e.colId]&&(o[e.colId]=!0)}));const n=e.filter((e=>o[e.colId])),r=i.filter((e=>o[e.colId])),l=[];r.forEach(((e,t)=>{const i=n&&n[t];if(i&&i.colId!==e.colId){const e=this.columnModel.getCol(i.colId);e&&l.push(e)}})),l.length&&this.eventDispatcher.columnMoved({movedColumns:l,source:t,finished:!0})}},wt=(e,t,i,s)=>{const o=e[i.getId()],n=e[s.getId()],r=null!=o,l=null!=n;if(r&&l)return o-n;if(r)return-1;if(l)return 1;const a=t.indexOf(i),d=t.indexOf(s),h=a>=0;return h&&d>=0?a-d:h?-1:1},St=class extends Oe{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 m("tried to insert columns in invalid location, toIndex = ",t),void m("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 Fe(i,e,t),i}doesMovePassLockedPositions(e){const t=this.gos.get("enableRtl");let i=t?1:-1,s=!0;return e.forEach((e=>{const o=(n=e.getColDef().lockPosition)?"left"===n||!0===n?-1:1:0;var n;t?o>i&&(s=!1):o<i&&(s=!1),i=o})),s}doesMovePassMarryChildren(e){let t=!0;return ht(null,this.columnModel.getColTree(),(i=>{if(!Ge(i))return;const s=i,o=s.getColGroupDef();if(!(o&&o.marryChildren))return;const n=[];s.getLeafColumns().forEach((t=>{const i=e.indexOf(t);n.push(i)}));Math.max.apply(Math,n)-Math.min.apply(Math,n)>s.getLeafColumns().length-1&&(t=!1)})),t}placeLockedColumns(e){const t=[],i=[],s=[];e.forEach((e=>{const o=e.getColDef().lockPosition;"right"===o?s.push(e):"left"===o||!0===o?t.push(e):i.push(e)}));return this.gos.get("enableRtl")?[...s,...i,...t]:[...t,...i,...s]}},yt=/[&<>"']/g,bt={"&":"&","<":"<",">":">",'"':""","'":"'"};function Rt(e,t){if(null==e)return null;const i=e.toString().toString();return t?i:i.replace(yt,(e=>bt[e]))}var Ft=class extends Oe{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 r=this.gos.addGridCommonParams({colDef:e,column:t,columnGroup:i,providedColumnGroup:s,location:o});return"function"==typeof n?n(r):"string"==typeof n?this.expressionService.evaluate(n,r):(m("headerValueGetter must be a function or a string"),"")}return null!=e.headerName?e.headerName:e.field?(r=e.field)&&null!=r?r.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z])([a-z])/g,"$1 $2$3").replace(/\./g," ").split(" ").map((e=>e.substring(0,1).toUpperCase()+(e.length>1?e.substring(1,e.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(P(i)){const n=this.funcColsService.getValueColumns(),r=this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&1===n.length,l=void 0!==e.getColDef().pivotTotalColumnIds;if(r&&!l)return t;o=i?i.getAggFunc():null,s=!0}else{const t=e.isValueActive(),i=this.columnModel.isPivotMode()||!this.funcColsService.isRowGroupEmpty();t&&i?(o=e.getAggFunc(),s=!0):s=!1}if(s){const e="string"==typeof o?o:"func";return`${this.localeService.getLocaleTextFunc()(e,e)}(${t})`}return t}},Pt=class extends Oe{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;Ue(this.context,null==(e=this.pivotResultCols)?void 0:e.tree),super.destroy()}isPivotResultColsPresent(){return null!=this.pivotResultCols}lookupPivotResultCol(e,t){if(null==this.pivotResultCols)return null;const i=this.columnModel.getColDefCol(t);let s=null;return this.pivotResultCols.list.forEach((t=>{const o=t.getColDef().pivotKeys,n=t.getColDef().pivotValueColumn;Se(o,e)&&n===i&&(s=t)})),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()&&(null!=e||null!=this.pivotResultCols)){if(e){this.processPivotResultColDef(e);const o=this.columnFactory.createColumnTree(e,!1,(null==(i=this.pivotResultCols)?void 0:i.tree)||this.previousPivotResultCols||void 0,t);Ue(this.context,null==(s=this.pivotResultCols)?void 0:s.tree,o.columnTree);const n=o.columnTree,r=o.treeDept,l=We(n),a={};this.pivotResultCols={tree:n,treeDepth:r,list:l,map:a},this.pivotResultCols.list.forEach((e=>this.pivotResultCols.map[e.getId()]=e));const d=!!this.previousPivotResultCols;this.previousPivotResultCols=null,this.columnModel.refreshCols(!d)}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=e=>{e.forEach((e=>{if(P(e.children)){const t=e;i&&i(t),s(t.children)}else{t&&t(e)}}))};e&&s(e)}},Dt=class extends Oe{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((e=>{const i=this.columnModel.getColDefCol(e.key)||this.columnModel.getCol(e.key);if(!i)return;o.push({width:e.newWidth,ratios:[1],columns:[i]});if("shift"===this.gos.get("colResizeDefault")&&(t=!t),t){const t=this.visibleColsService.getColAfter(i);if(!t)return;const s=i.getActualWidth()-e.newWidth,n=t.getActualWidth()+s;o.push({width:n,ratios:[1],columns:[t]})}})),0!==o.length&&this.resizeColumnSets({resizeSets:o,finished:i,source:s})}resizeColumnSets(e){const{resizeSets:t,finished:i,source:s}=e;if(!(!t||t.every((e=>this.checkMinAndMaxWidthsForSet(e))))){if(i){const e=t&&t.length>0?t[0].columns:null;this.eventDispatcher.columnResized(e,i,s)}return}const o=[],n=[];t.forEach((e=>{const{width:t,columns:i,ratios:r}=e,l={},a={};i.forEach((e=>n.push(e)));let d=!0,h=0;for(;d;){if(h++,h>1e3){v("infinite loop in resizeColumnSets");break}d=!1;const e=[];let s=0,o=t;i.forEach(((t,i)=>{if(a[t.getId()])o-=l[t.getId()];else{e.push(t);const o=r[i];s+=o}}));const n=1/s;e.forEach(((i,s)=>{let h;s===e.length-1?h=o:(h=Math.round(r[s]*t*n),o-=h);const u=i.getMinWidth(),c=i.getMaxWidth();h<u?(h=u,a[i.getId()]=!0,d=!0):c>0&&h>c&&(h=c,a[i.getId()]=!0,d=!0),l[i.getId()]=h}))}i.forEach((e=>{const t=l[e.getId()];e.getActualWidth()!==t&&(e.setActualWidth(t,s),o.push(e))}))}));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;t.forEach((e=>{const t=e.getMinWidth();s+=t||0;const i=e.getMaxWidth();i>0?o+=i:n=!1}));return i>=s&&(!n||i<=o)}refreshFlexedColumns(e={}){const t=e.source?e.source:"flex";if(null!=e.viewportWidth&&(this.flexViewportWidth=e.viewportWidth),!this.flexViewportWidth)return[];const i=this.visibleColsService.getCenterCols();let s=-1;if(e.resizingCols){const t=new Set(e.resizingCols);for(let e=i.length-1;e>=0;e--)if(t.has(i[e])){s=e;break}}let o=0,n=[],r=0,l=0;for(let c=0;c<i.length;c++){i[c].getFlex()&&c>s?(n.push(i[c]),l+=i[c].getFlex(),r+=i[c].getMinWidth()):o+=i[c].getActualWidth()}if(!n.length)return[];let a=[];o+r>this.flexViewportWidth&&(n.forEach((e=>e.setActualWidth(e.getMinWidth(),t))),a=n,n=[]);const d=[];let h;e:for(;;){h=this.flexViewportWidth-o;const e=h/l;for(let i=0;i<n.length;i++){const s=n[i],r=e*s.getFlex();let h=0;const u=s.getMinWidth(),c=s.getMaxWidth();if(r<u?h=u:r>c&&(h=c),h){s.setActualWidth(h,t),ye(n,s),l-=s.getFlex(),a.push(s),o+=s.getActualWidth();continue e}d[i]=Math.floor(r)}break}let u=h;return n.forEach(((e,i)=>{const s=i<n.length-1?Math.min(d[i],u):Math.max(d[i],u);e.setActualWidth(s,t),a.push(e),u-=d[i]})),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 o;if(this.columnModel.isShouldQueueResizeOperations())return void this.columnModel.pushResizeOperation((()=>this.sizeColumnsToFit(e,t,i,s)));const n={};s&&(null==(o=null==s?void 0:s.columnLimits)||o.forEach((({key:e,...t})=>{n["string"==typeof e?e:e.getColId()]=t})));const r=this.visibleColsService.getAllCols(),l=e===ze(r);if(e<=0||!r.length||l)return;const a=[],d=[];r.forEach((e=>{!0===e.getColDef().suppressSizeToFit?d.push(e):a.push(e)}));const h=a.slice(0);let u=!1;const c=e=>{be(a,e),d.push(e)};for(a.forEach((e=>{e.resetActualWidth(t);const i=null==n?void 0:n[e.getId()],o=(null==i?void 0:i.minWidth)??(null==s?void 0:s.defaultMinWidth),r=(null==i?void 0:i.maxWidth)??(null==s?void 0:s.defaultMaxWidth),l=e.getActualWidth();"number"==typeof o&&l<o?e.setActualWidth(o,t,!0):"number"==typeof r&&l>r&&e.setActualWidth(r,t,!0)}));!u;){u=!0;const i=e-ze(d);if(i<=0)a.forEach((e=>{var i;const o=(null==(i=null==n?void 0:n[e.getId()])?void 0:i.minWidth)??(null==s?void 0:s.defaultMinWidth);"number"!=typeof o?e.setMinimum(t):e.setActualWidth(o,t,!0)}));else{const e=i/ze(a);let o=i;for(let i=a.length-1;i>=0;i--){const r=a[i],l=null==n?void 0:n[r.getId()],d=(null==l?void 0:l.minWidth)??(null==s?void 0:s.defaultMinWidth),h=(null==l?void 0:l.maxWidth)??(null==s?void 0:s.defaultMaxWidth),g=r.getMinWidth(),p=r.getMaxWidth(),m="number"==typeof d&&d>g?d:g,v="number"==typeof h&&h<p?h:p;let C=Math.round(r.getActualWidth()*e);C<m?(C=m,c(r),u=!1):C>v?(C=v,c(r),u=!1):0===i&&(C=o),r.setActualWidth(C,t,!0),o-=C}}}h.forEach((e=>{e.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("fitGridWidth"===t){const{columnLimits:t,defaultMinWidth:i,defaultMaxWidth:s}=e,o=null==t?void 0:t.map((({colId:e,minWidth:t,maxWidth:i})=>({key:e,minWidth:t,maxWidth:i})));this.ctrlsService.getGridBodyCtrl().sizeColumnsToFit({defaultMinWidth:i,defaultMaxWidth:s,columnLimits:o})}else"fitProvidedWidth"===t&&this.sizeColumnsToFit(e.width,"sizeColumnsToFit")}))}};function Et(e,t){return e+"_"+t}function Mt(e){return e instanceof xt}var xt=class extends Oe{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 Et(this.groupId,this.partId)}isEmptyGroup(){return 0===this.displayedChildren.length}isMoving(){const e=this.getProvidedColumnGroup().getLeafColumns();return!(!e||0===e.length)&&e.every((e=>e.isMoving()))}checkLeft(){if(this.displayedChildren.forEach((e=>{Mt(e)&&e.checkLeft()})),this.displayedChildren.length>0)if(this.gos.get("enableRtl")){const e=we(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!!(null==(e=this.getColGroupDef())?void 0:e.autoHeaderHeight)}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(e){const t=e!==this.autoHeaderHeight;return this.autoHeaderHeight=e,t}addDisplayedLeafColumns(e){this.displayedChildren.forEach((t=>{nt(t)?e.push(t):Mt(t)&&t.addDisplayedLeafColumns(e)}))}addLeafColumns(e){this.children.forEach((t=>{nt(t)?e.push(t):Mt(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(;null!=e&&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(Mt(t)&&(!t.displayedChildren||!t.displayedChildren.length))return;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"})}},At=class{constructor(){this.existingIds={}}getInstanceIdForKey(e){const t=this.existingIds[e];let i;return i="number"!=typeof t?0:t+1,this.existingIds[e]=i,i}},Tt=class extends Oe{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=Lt(this.treeLeft),this.columnsCenter=Lt(this.treeCenter),this.columnsRight=Lt(this.treeRight),this.joinColsAriaOrder(),this.joinCols(),this.setLeftValues(e),this.autoHeightCols=this.columns.filter((e=>e.isAutoHeight())),this.columnSizeService.refreshFlexedColumns(),this.updateBodyWidths(),this.columnViewportService.checkViewportColumns(!1),this.setFirstRightAndLastLeftPinned(e),this.eventDispatcher.visibleCols(e)}updateBodyWidths(){const e=ze(this.columnsCenter),t=ze(this.columnsLeft),i=ze(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?we(this.columnsRight):null):(t=this.columnsLeft?we(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((e=>"left"==e.getPinned())),i=e.filter((e=>"right"==e.getPinned())),s=e.filter((e=>"left"!=e.getPinned()&&"right"!=e.getPinned())),o=new At;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 e=o.getPinned();e?!0===e||"left"===e?t.push(o):s.push(o):i.push(o)}this.ariaOrderColumns=t.concat(i).concat(s)}getAriaColIndex(e){let t;return t=Mt(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((e=>{if(Mt(e)){e.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 t=ze(s);s.forEach((i=>{t-=i.getActualWidth(),i.setLeft(t,e)}))}else{let t=0;s.forEach((i=>{i.setLeft(t,e),t+=i.getActualWidth()}))}!function(e,t){for(let i=0;i<t.length;i++)ye(e,t[i])}(t,s)})),t.forEach((t=>{t.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,d=Math.min(l.getColSpan(e),a),h=[l];if(d>1){const e=d-1;for(let i=1;i<=e;i++)h.push(t[r+i]);r+=e}let u;if(i?(u=!1,h.forEach((e=>{i(e)&&(u=!0)}))):u=!0,u){if(0===o.length&&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="After"===t?we(s):s[0],n=`getCol${t}`;for(;;){const t=this[n](o);if(!t)return null;const s=this.getColGroupAtLevel(t,i);if(s!==e)return s}}getColGroupAtLevel(e,t){let i,s,o=e.getParent();for(;;){if(i=o.getProvidedColumnGroup().getLevel(),s=o.getPaddingLevel(),i+s<=t)break;o=o.getParent()}return o}isPinningLeft(){return this.columnsLeft.length>0}isPinningRight(){return this.columnsRight.length>0}updateColsAndGroupsMap(){this.colsAndGroupsMap={};const e=e=>{this.colsAndGroupsMap[e.getUniqueId()]=e};It(this.treeCenter,!1,e),It(this.treeLeft,!1,e),It(this.treeRight,!1,e)}isVisible(e){return this.colsAndGroupsMap[e.getUniqueId()]===e}updateOpenClosedVisibilityInColumnGroups(){It(this.getAllTrees(),!1,(e=>{Mt(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?we(s):s[0]}return null}getColumnGroup(e,t){if(!e)return null;if(Mt(e))return e;const i=this.getAllTrees(),s="number"==typeof t;let o=null;return It(i,!1,(i=>{if(Mt(i)){const n=i;let r;r=s?e===n.getGroupId()&&t===n.getPartId():e===n.getGroupId(),r&&(o=n)}})),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 ze(this.columnsLeft)}getDisplayedColumnsRightWidth(){return ze(this.columnsRight)}isColAtEdge(e,t){const i=this.getAllCols();if(!i.length)return!1;const s="first"===t;let o;if(Mt(e)){const t=e.getDisplayedLeafColumns();if(!t.length)return!1;o=s?t[0]:we(t)}else o=e;return(s?i[0]:we(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 e=a;a=[];let t=0;const o=o=>{const d=t;t=o;const h=e[d],u=(Mt(h)?h.getProvidedColumnGroup():h).getOriginalParent();if(null==u){for(let t=d;t<o;t++)l.push(e[t]);return}const c=this.createColGroup(u,i,r,s,n);for(let t=d;t<o;t++)c.addChild(e[t]);a.push(c)};for(let i=1;i<e.length;i++){const s=e[i],n=(Mt(s)?s.getProvidedColumnGroup():s).getOriginalParent(),r=e[t];n!==(Mt(r)?r.getProvidedColumnGroup():r).getOriginalParent()&&o(i)}t<e.length&&o(e.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[Et(n,r)];return l&&l.getProvidedColumnGroup()!==e&&(l=null),P(l)?l.reset():(l=new xt(e,n,r,s),o||this.createBean(l)),l}mapOldGroupsById(e){const t={},i=e=>{e.forEach((e=>{if(Mt(e)){const s=e;t[e.getUniqueId()]=s,i(s.getChildren())}}))};return e&&i(e),t}setupParentsIntoCols(e,t){e.forEach((e=>{if(e.setParent(t),Mt(e)){const t=e;this.setupParentsIntoCols(t.getChildren(),t)}}))}};function It(e,t,i){if(e)for(let s=0;s<e.length;s++){const o=e[s];if(Mt(o)){It(t?o.getDisplayedChildren():o.getChildren(),t,i)}i(o)}}function Lt(e){const t=[];return It(e,!0,(e=>{nt(e)&&t.push(e)})),t}var kt=["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"],Ot=[...kt,"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"],Gt={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},Nt=class{};Nt.STRING_PROPERTIES=["overlayLoadingTemplate","overlayNoRowsTemplate","gridId","quickFilterText","rowModelType","editType","domLayout","clipboardDelimiter","rowGroupPanelShow","multiSortKey","pivotColumnGroupTotals","pivotRowTotals","pivotPanelShow","fillHandleDirection","groupDisplayType","treeDataDisplayType","colResizeDefault","tooltipTrigger","serverSidePivotResultFieldSeparator","columnMenu","tooltipShowMode","grandTotalRow"],Nt.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"],Nt.ARRAY_PROPERTIES=["sortingOrder","alignedGrids","rowData","columnDefs","excelStyles","pinnedTopRowData","pinnedBottomRowData","chartThemes","rowClass","paginationPageSizeSelector"],Nt.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"],Nt.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"],Nt.OTHER_PROPERTIES=["suppressStickyTotalRow","loadThemeGoogleFonts","rowSelection"],Nt.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"],Nt.ALL_PROPERTIES=[...Nt.ARRAY_PROPERTIES,...Nt.OBJECT_PROPERTIES,...Nt.STRING_PROPERTIES,...Nt.NUMBER_PROPERTIES,...Nt.FUNCTION_PROPERTIES,...Nt.BOOLEAN_PROPERTIES,...Nt.OTHER_PROPERTIES];var Ht=Nt,Bt=class{static getCallbackForEvent(e){return!e||e.length<2?e:"on"+e[0].toUpperCase()+e.substring(1)}};Bt.VUE_OMITTED_PROPERTY="AG-VUE-OMITTED-PROPERTY",Bt.PUBLIC_EVENTS=kt,Bt.EVENT_CALLBACKS=Ot.map((e=>Bt.getCallbackForEvent(e))),Bt.BOOLEAN_PROPERTIES=Ht.BOOLEAN_PROPERTIES,Bt.ALL_PROPERTIES=Ht.ALL_PROPERTIES,Bt.ALL_PROPERTIES_AND_CALLBACKS=[...Bt.ALL_PROPERTIES,...Bt.EVENT_CALLBACKS],Bt.ALL_PROPERTIES_AND_CALLBACKS_SET=new Set(Bt.ALL_PROPERTIES_AND_CALLBACKS);var Vt=Bt;var Wt=class extends Oe{};function zt(e,t,i){return i&&e.addDestroyFunc((()=>t.destroyBean(i))),i??e}var Ut=class{constructor(e){this.cssClassStates={},this.getGui=e}addCssClass(e){const t=(e||"").split(" ");if(t.length>1)return void t.forEach((e=>this.addCssClass(e)));if(!0!==this.cssClassStates[e]&&e.length){const t=this.getGui();t&&t.classList.add(e),this.cssClassStates[e]=!0}}removeCssClass(e){const t=(e||"").split(" ");if(t.length>1)return void t.forEach((e=>this.removeCssClass(e)));if(!1!==this.cssClassStates[e]&&e.length){const t=this.getGui();t&&t.classList.remove(e),this.cssClassStates[e]=!1}}containsCssClass(e){const t=this.getGui();return!!t&&t.classList.contains(e)}addOrRemoveCssClass(e,t){if(!e)return;if(e.indexOf(" ")>=0){const i=(e||"").split(" ");if(i.length>1)return void i.forEach((e=>this.addOrRemoveCssClass(e,t)))}if(this.cssClassStates[e]!==t&&e.length){const i=this.getGui();i&&i.classList.toggle(e,t),this.cssClassStates[e]=t}}};function Kt(e,t,i){null==i||"string"==typeof i&&""==i?$t(e,t):_t(e,t,i)}function _t(e,t,i){e.setAttribute(jt(t),i.toString())}function $t(e,t){e.removeAttribute(jt(t))}function jt(e){return`aria-${e}`}function qt(e,t){t?e.setAttribute("role",t):e.removeAttribute("role")}function Qt(e,t){Kt(e,"label",t)}function Yt(e,t){Kt(e,"labelledby",t)}function Xt(e,t){Kt(e,"live",t)}function Jt(e,t){Kt(e,"hidden",t)}function Zt(e,t){_t(e,"expanded",t)}function ei(e,t){_t(e,"colindex",t)}function ti(e,t){Kt(e,"selected",t)}function ii(e,t){return void 0===t?e("ariaIndeterminate","indeterminate"):!0===t?e("ariaChecked","checked"):e("ariaUnchecked","unchecked")}var si="[disabled], .ag-disabled:not(.ag-button), .ag-disabled *";function oi(e){const t=Element.prototype.matches||Element.prototype.msMatchesSelector,i=t.call(e,"input, select, button, textarea"),s=t.call(e,si),o=wi(e);return i&&!s&&o}function ni(e,t,i={}){const{skipAriaHidden:s}=i;e.classList.toggle("ag-hidden",!t),s||Jt(e,!t)}function ri(e,t){const i="disabled",s=t?e=>e.setAttribute(i,""):e=>e.removeAttribute(i);s(e),Ei(e.querySelectorAll("input"),(e=>s(e)))}function li(e,t,i){let s=0;for(;e;){if(e.classList.contains(t))return!0;if(e=e.parentElement,"number"==typeof i){if(++s>i)break}else if(e===i)break}return!1}function ai(e){const{height:t,width:i,borderTopWidth:s,borderRightWidth:o,borderBottomWidth:n,borderLeftWidth:r,paddingTop:l,paddingRight:a,paddingBottom:d,paddingLeft:h,marginTop:u,marginRight:c,marginBottom:g,marginLeft:p,boxSizing:m}=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(d||"0"),paddingLeft:parseFloat(h||"0"),marginTop:parseFloat(u||"0"),marginRight:parseFloat(c||"0"),marginBottom:parseFloat(g||"0"),marginLeft:parseFloat(p||"0"),boxSizing:m}}function di(e){const t=ai(e);return"border-box"===t.boxSizing?t.height-t.paddingTop-t.paddingBottom:t.height}function hi(e){const t=ai(e);return"border-box"===t.boxSizing?t.width-t.paddingLeft-t.paddingRight:t.width}function ui(e){const{height:t,marginBottom:i,marginTop:s}=ai(e);return Math.floor(t+i+s)}function ci(e){const{width:t,marginLeft:i,marginRight:s}=ai(e);return Math.floor(t+i+s)}function gi(e){const t=e.getBoundingClientRect(),{borderTopWidth:i,borderLeftWidth:s,borderRightWidth:o,borderBottomWidth:n}=ai(e);return{top:t.top+(i||0),left:t.left+(s||0),right:t.right+(o||0),bottom:t.bottom+(n||0)}}function pi(e,t){let i=e.scrollLeft;return t&&(i=Math.abs(i)),i}function mi(e,t,i){i&&(t*=-1),e.scrollLeft=t}function vi(e){for(;e&&e.firstChild;)e.removeChild(e.firstChild)}function Ci(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function fi(e){return!!e.offsetParent}function wi(e){const t=e;if(t.checkVisibility)return t.checkVisibility({checkVisibilityCSS:!0});return!(!fi(e)||"visible"!==window.getComputedStyle(e).visibility)}function Si(e){const t=document.createElement("div");return t.innerHTML=(e||"").trim(),t.firstChild}function yi(e,t){"flex"===t?(e.style.removeProperty("width"),e.style.removeProperty("minWidth"),e.style.removeProperty("maxWidth"),e.style.flex="1 1 auto"):bi(e,t)}function bi(e,t){t=Fi(t),e.style.width=t.toString(),e.style.maxWidth=t.toString(),e.style.minWidth=t.toString()}function Ri(e,t){t=Fi(t),e.style.height=t.toString(),e.style.maxHeight=t.toString(),e.style.minHeight=t.toString()}function Fi(e){return"number"==typeof e?`${e}px`:e}function Pi(e){return e instanceof Node||e instanceof HTMLElement}function Di(e,t,i){null==i||""===i?e.removeAttribute(t):e.setAttribute(t,i.toString())}function Ei(e,t){if(null!=e)for(let i=0;i<e.length;i++)t(e[i])}var Mi,xi,Ai,Ti,Ii,Li,ki,Oi,Gi,Ni=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 Hi(){return void 0===Mi&&(Mi=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)),Mi}function Bi(){if(void 0===xi)if(Hi()){const e=navigator.userAgent.match(/version\/(\d+)/i);e&&(xi=null!=e[1]?parseFloat(e[1]):0)}else xi=0;return xi}function Vi(){return void 0===Ti&&(Ti=/(firefox)/i.test(navigator.userAgent)),Ti}function Wi(){return void 0===Ii&&(Ii=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)),Ii}function zi(){return void 0===Li&&(Li=/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1),Li}function Ui(){return!Hi()||Bi()>=15}function Ki(e){if(!e)return null;const t=e.tabIndex,i=e.getAttribute("tabIndex");return-1!==t||null!==i&&(""!==i||Vi())?t.toString():null}function _i(){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;0===i&&0===t.clientWidth&&(i=null),t.parentNode&&t.parentNode.removeChild(t),null!=i&&(Oi=i,ki=0===i)}function $i(){return null==ki&&_i(),ki}var ji=class e extends Oe{constructor(e,t,i,s){super(),this.parentComp=e,this.tooltipShowDelayOverride=t,this.tooltipHideDelayOverride=i,this.shouldDisplayTooltip=s,this.interactionEnabled=!1,this.isInteractingWithTooltip=!1,this.state=0,this.tooltipInstanceCount=0,this.tooltipMouseTrack=!1}wireBeans(e){this.popupService=e.popupService,this.userComponentFactory=e.userComponentFactory}postConstruct(){this.gos.get("tooltipInteraction")&&(this.interactionEnabled=!0),this.tooltipTrigger=this.getTooltipTrigger(),this.tooltipMouseTrack=this.gos.get("tooltipMouseTrack");const e=this.parentComp.getGui();0===this.tooltipTrigger&&this.addManagedListeners(e,{mouseenter:this.onMouseEnter.bind(this),mouseleave:this.onMouseLeave.bind(this)}),1===this.tooltipTrigger&&this.addManagedListeners(e,{focusin:this.onFocusIn.bind(this),focusout:this.onFocusOut.bind(this)}),this.addManagedListeners(e,{mousemove:this.onMouseMove.bind(this)}),this.interactionEnabled||this.addManagedListeners(e,{mousedown:this.onMouseDown.bind(this),keydown:this.onKeyDown.bind(this)})}getGridOptionsTooltipDelay(e){const t=this.gos.get(e);return t<0&&m(`${e} should not be lower than 0`),Math.max(200,t)}getTooltipDelay(e){return"show"===e?this.tooltipShowDelayOverride??this.getGridOptionsTooltipDelay("tooltipShowDelay"):this.tooltipHideDelayOverride??this.getGridOptionsTooltipDelay("tooltipHideDelay")}destroy(){this.setToDoNothing(),super.destroy()}getTooltipTrigger(){const e=this.gos.get("tooltipTrigger");return e&&"hover"!==e?1:0}onMouseEnter(t){this.interactionEnabled&&this.interactiveTooltipTimeoutId&&(this.unlockService(),this.startHideTimeout()),zi()||(e.isLocked?this.showTooltipTimeoutId=window.setTimeout((()=>{this.prepareToShowTooltip(t)}),100):this.prepareToShowTooltip(t))}onMouseMove(e){this.lastMouseEvent&&(this.lastMouseEvent=e),this.tooltipMouseTrack&&2===this.state&&this.tooltipComp&&this.positionTooltip()}onMouseDown(){this.setToDoNothing()}onMouseLeave(){this.interactionEnabled?this.lockService():this.setToDoNothing()}onFocusIn(){this.prepareToShowTooltip()}onFocusOut(e){var t;const i=e.relatedTarget,s=this.parentComp.getGui(),o=null==(t=this.tooltipComp)?void 0:t.getGui();this.isInteractingWithTooltip||s.contains(i)||this.interactionEnabled&&(null==o?void 0:o.contains(i))||this.setToDoNothing()}onKeyDown(){this.isInteractingWithTooltip&&(this.isInteractingWithTooltip=!1),this.setToDoNothing()}prepareToShowTooltip(t){if(0!=this.state||e.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()-e.lastTooltipHideTime<1e3}setToDoNothing(e){e||2!==this.state||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 e={...this.parentComp.getTooltipParams()};if(!P(e.value)||this.shouldDisplayTooltip&&!this.shouldDisplayTooltip())return void this.setToDoNothing();this.state=2,this.tooltipInstanceCount++;const t=this.newTooltipComponentCallback.bind(this,this.tooltipInstanceCount);this.userComponentFactory.getTooltipCompDetails(e).newAgStackInstance().then(t)}hideTooltip(t){!t&&this.isInteractingWithTooltip||(this.tooltipComp&&(this.destroyTooltipComp(),e.lastTooltipHideTime=(new Date).getTime()),this.eventService.dispatchEvent({type:"tooltipHide",parentGui:this.parentComp.getGui()}),t&&(this.isInteractingWithTooltip=!1),this.setToDoNothing(!0))}newTooltipComponentCallback(e,t){if(2!==this.state||this.tooltipInstanceCount!==e)return void this.destroyBean(t);const i=t.getGui();this.tooltipComp=t,i.classList.contains("ag-tooltip")||i.classList.add("ag-tooltip-custom"),0===this.tooltipTrigger&&i.classList.add("ag-tooltip-animate"),this.interactionEnabled&&i.classList.add("ag-tooltip-interactive");const s=this.localeService.getLocaleTextFunc(),o=this.popupService.addPopup({eChild:i,ariaLabel:s("ariaLabelTooltip","Tooltip")});if(o&&(this.tooltipPopupDestroyFunc=o.hideFunc),this.positionTooltip(),1===this.tooltipTrigger){const e=()=>this.setToDoNothing();[this.onBodyScrollEventCallback,this.onColumnMovedEventCallback]=this.addManagedEventListeners({bodyScroll:e,columnMoved:e})}this.interactionEnabled&&([this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener]=this.addManagedElementListeners(i,{mouseenter:this.onTooltipMouseEnter.bind(this),mouseleave:this.onTooltipMouseLeave.bind(this)}),[this.onDocumentKeyDownCallback]=this.addManagedElementListeners(j(this.gos),{keydown:e=>{i.contains(null==e?void 0:e.target)||this.onKeyDown()}}),1===this.tooltipTrigger&&([this.tooltipFocusInListener,this.tooltipFocusOutListener]=this.addManagedElementListeners(i,{focusin:this.onTooltipFocusIn.bind(this),focusout:this.onTooltipFocusOut.bind(this)}))),this.eventService.dispatchEvent({type:"tooltipShow",tooltipGui:i,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 e;const t=null==(e=this.tooltipComp)?void 0:e.getGui(),i=Y(this.gos);return!!t&&t.contains(i)}onTooltipFocusOut(e){const t=this.parentComp.getGui();this.isTooltipFocused()||(this.isInteractingWithTooltip=!1,t.contains(e.relatedTarget)?this.startHideTimeout():this.hideTooltip())}positionTooltip(){const e={type:"tooltip",ePopup:this.tooltipComp.getGui(),nudgeY:18,skipObserver:this.tooltipMouseTrack};this.lastMouseEvent?this.popupService.positionPopupUnderMouseEvent({...e,mouseEvent:this.lastMouseEvent}):this.popupService.positionPopupByComponent({...e,eventSource:this.parentComp.getGui(),position:"under",keepWithinBounds:!0,nudgeY:5})}destroyTooltipComp(){this.tooltipComp.getGui().classList.add("ag-tooltip-hiding");const e=this.tooltipPopupDestroyFunc,t=this.tooltipComp,i=0===this.tooltipTrigger?1e3:0;window.setTimeout((()=>{e(),this.destroyBean(t)}),i),this.clearTooltipListeners(),this.tooltipPopupDestroyFunc=void 0,this.tooltipComp=void 0}clearTooltipListeners(){[this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener,this.tooltipFocusInListener,this.tooltipFocusOutListener].forEach((e=>{e&&e()})),this.tooltipMouseEnterListener=this.tooltipMouseLeaveListener=this.tooltipFocusInListener=this.tooltipFocusOutListener=null}lockService(){e.isLocked=!0,this.interactiveTooltipTimeoutId=window.setTimeout((()=>{this.unlockService(),this.setToDoNothing()}),100)}unlockService(){e.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()}};ji.isLocked=!1;var qi=ji,Qi=class extends Oe{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&&(null!=e&&""!=e?i.setAttribute(t,e):i.removeAttribute(t))}updateTooltipText(){this.tooltip=this.ctrl.getTooltipValue()}createTooltipFeatureIfNeeded(){var e,t,i,s;if(null!=this.tooltipManager)return;const o={getTooltipParams:()=>this.getTooltipParams(),getGui:()=>this.ctrl.getGui()};this.tooltipManager=this.createBean(new qi(o,null==(t=(e=this.ctrl).getTooltipShowDelayOverride)?void 0:t.call(e),null==(s=(i=this.ctrl).getTooltipHideDelayOverride)?void 0:s.call(i),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 e,t,i,s,o;const n=this.ctrl,r=null==(e=n.getColumn)?void 0:e.call(n),l=null==(t=n.getColDef)?void 0:t.call(n),a=null==(i=n.getRowNode)?void 0:i.call(n);return{location:n.getLocation(),colDef:l,column:r,rowIndex:null==(s=n.getRowIndex)?void 0:s.call(n),node:a,data:null==a?void 0:a.data,value:this.getTooltipText(),valueFormatted:null==(o=n.getValueFormatted)?void 0:o.call(n),hideTooltipCallback:()=>{var e;return null==(e=this.tooltipManager)?void 0:e.hideTooltip(!0)}}}getTooltipText(){return this.tooltip}destroy(){this.tooltipManager&&(this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context)),super.destroy()}},Yi=new Ni,Xi=null,Ji=class e extends Oe{constructor(e,t){super(),this.suppressDataRefValidation=!1,this.displayed=!0,this.visible=!0,this.compId=Yi.next(),this.cssClassManager=new Ut((()=>this.eGui)),this.componentSelectors=new Map((t??[]).map((e=>[e.selector,e]))),e&&this.setTemplate(e)}preWireBeans(e){super.preWireBeans(e)}preConstruct(){this.usingBrowserTooltips=this.gos.get("enableBrowserTooltips"),this.wireTemplate(this.getGui())}wireTemplate(e,t){e&&this.gos&&(this.applyElementsToComponent(e),this.createChildComponentsFromTags(e,t))}getCompId(){return this.compId}getTooltipParams(){return{value:this.tooltipText,location:"UNKNOWN"}}setTooltip(e){const{newTooltipText:t,showDelayOverride:i,hideDelayOverride:s,location:o,shouldDisplayTooltip:n}=e||{};this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),this.tooltipText!==t&&(this.tooltipText=t);const r=()=>this.tooltipText;null!=t&&(this.tooltipFeature=this.createBean(new Qi({getTooltipValue:r,getGui:()=>this.getGui(),getLocation:()=>o??"UNKNOWN",getColDef:null==e?void 0:e.getColDef,getColumn:null==e?void 0:e.getColumn,getTooltipShowDelayOverride:null!=i?()=>i:void 0,getTooltipHideDelayOverride:null!=s?()=>s:void 0,shouldDisplayTooltip:n})))}getDataRefAttribute(e){return e.getAttribute?e.getAttribute("data-ref"):null}applyElementsToComponent(e,t,i,s=null){if(void 0===t&&(t=this.getDataRefAttribute(e)),t){const o=this[t];if(o===Xi)this[t]=s??e;else{const e=i&&i[t];this.suppressDataRefValidation||e||m(`Issue with data-ref: ${t} on ${this.constructor.name} with ${o}`)}}}createChildComponentsFromTags(e,t){(function(e){if(null==e)return[];const t=[];return Ei(e,(e=>t.push(e))),t})(e.childNodes).forEach((i=>{if(!(i instanceof HTMLElement))return;const s=this.createComponentFromElement(i,(e=>{e.getGui()&&this.copyAttributesFromNode(i,e.getGui())}),t);if(s){if(s.addItems&&i.children.length){this.createChildComponentsFromTags(i,t);const e=Array.prototype.slice.call(i.children);s.addItems(e)}this.swapComponentForNode(s,e,i)}else i.childNodes&&this.createChildComponentsFromTags(i,t)}))}createComponentFromElement(t,i,s){const o=t.nodeName,n=this.getDataRefAttribute(t),r=0===o.indexOf("AG-"),l=r?this.componentSelectors.get(o):null;let a=null;if(l){e.elementGettingCreated=t;const o=s&&n?s[n]:void 0;a=new l.component(o),a.setParentComponent(this),this.createBean(a,null,i)}else r&&m(`Missing selector: ${o}`);return this.applyElementsToComponent(t,n,s,a),a}copyAttributesFromNode(e,t){!function(e,t){if(e)for(let i=0;i<e.length;i++){const s=e[i];t(s.name,s.value)}}(e.attributes,((e,i)=>t.setAttribute(e,i)))}swapComponentForNode(e,t,i){const s=e.getGui();t.replaceChild(s,i),t.insertBefore(document.createComment(i.nodeName),s),this.addDestroyFunc(this.destroyBean.bind(this,e))}activateTabIndex(e){const t=this.gos.get("tabIndex");e||(e=[]),e.length||e.push(this.getGui()),e.forEach((e=>e.setAttribute("tabindex",t.toString())))}setTemplate(e,t,i){const s=Si(e);this.setTemplateFromElement(s,t,i)}setTemplateFromElement(e,t,i,s=!1){if(this.eGui=e,this.suppressDataRefValidation=s,t)for(let o=0;o<t.length;o++){const e=t[o];this.componentSelectors.set(e.selector,e)}this.wireTemplate(e,i)}getGui(){return this.eGui}getFocusableElement(){return this.eGui}getAriaElement(){return this.getFocusableElement()}setParentComponent(e){this.parentComponent=e}getParentComponent(){return this.parentComponent}setGui(e){this.eGui=e}queryForHtmlElement(e){return this.eGui.querySelector(e)}getContainerAndElement(e,t){let i=t;return null==e?null:(i||(i=this.eGui),Pi(e)?{element:e,parent:i}:{element:e.getGui(),parent:i})}prependChild(e,t){const{element:i,parent:s}=this.getContainerAndElement(e,t)||{};i&&s&&s.insertAdjacentElement("afterbegin",i)}appendChild(e,t){const{element:i,parent:s}=this.getContainerAndElement(e,t)||{};i&&s&&s.appendChild(i)}isDisplayed(){return this.displayed}setVisible(e,t={}){if(e!==this.visible){this.visible=e;const{skipAriaHidden:i}=t;!function(e,t,i={}){const{skipAriaHidden:s}=i;e.classList.toggle("ag-invisible",!t),s||Jt(e,!t)}(this.eGui,e,{skipAriaHidden:i})}}setDisplayed(e,t={}){if(e!==this.displayed){this.displayed=e;const{skipAriaHidden:i}=t;ni(this.eGui,e,{skipAriaHidden:i});const s={type:"displayChanged",visible:this.displayed};this.dispatchLocalEvent(s)}}destroy(){this.parentComponent&&(this.parentComponent=void 0),this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature)),super.destroy()}addGuiEventListener(e,t,i){this.eGui.addEventListener(e,t,i),this.addDestroyFunc((()=>this.eGui.removeEventListener(e,t)))}addCssClass(e){this.cssClassManager.addCssClass(e)}removeCssClass(e){this.cssClassManager.removeCssClass(e)}containsCssClass(e){return this.cssClassManager.containsCssClass(e)}addOrRemoveCssClass(e,t){this.cssClassManager.addOrRemoveCssClass(e,t)}},Zi={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"},es=(()=>{const e=new Set(Object.values(Zi));return e.add("eye"),e})();function ts(e,t,i,s){let o=null;const n=i&&i.getColDef().icons;if(n&&(o=n[e]),t&&!o){const i=t.get("icons");i&&(o=i[e])}if(!o){const t=document.createElement("span");let i=Zi[e]??(es.has(e)?e:void 0);return i||(m(`Did not find icon ${e}`),i=""),t.setAttribute("class",`ag-icon ag-icon-${i}`),t.setAttribute("unselectable","on"),qt(t,"presentation"),t}{let e;if("function"==typeof o)e=o();else{if("string"!=typeof o)throw new Error("icon from grid options needs to be a string or a function");e=o}if("string"==typeof e)return Si(e);if(Pi(e))return e;m("iconRenderer should return back a string or a dom object")}}var is=class extends Ji{constructor(){super(...arguments),this.dragSource=null,this.eIcon=Xi,this.eLabel=Xi}postConstruct(){const e=e=>function(e,t,i){const s=ts(e,t,i);if(s){const{className:e}=s;if("string"==typeof e&&e.indexOf("ag-icon")>-1||"object"==typeof e&&e["ag-icon"])return s}const o=document.createElement("span");return o.appendChild(s),o}(e,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">\n <span data-ref="eIcon" class="ag-dnd-ghost-icon ag-shake-left-to-right"></span>\n <div data-ref="eLabel" class="ag-dnd-ghost-label"></div>\n </div>')}destroy(){this.dragSource=null,super.destroy()}setIcon(e,t=!1){var i,s;vi(this.eIcon);let o=null;e||(e=(null==(i=this.dragSource)?void 0:i.getDefaultIconName)?null==(s=this.dragSource)?void 0:s.getDefaultIconName():"notAllowed"),o=this.dropIconMap[e],this.eIcon.classList.toggle("ag-shake-left-to-right",t),o===this.dropIconMap.hide&&this.gos.get("suppressDragLeaveHidesColumns")||o&&this.eIcon.appendChild(o)}setLabel(e){this.eLabel.textContent=Rt(e)}};function ss(e,t,i){if(0===i)return!1;const s=Math.abs(e.clientX-t.clientX),o=Math.abs(e.clientY-t.clientY);return Math.max(s,o)<=i}var os=class{constructor(e,t=!1){this.DOUBLE_TAP_MILLIS=500,this.destroyFuncs=[],this.touching=!1,this.localEventService=new h,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 t={type:"longTap",touchStart:this.touchStart,touchEvent:e};this.localEventService.dispatchEvent(t)}}),500)}onTouchMove(e){if(!this.touching)return;const t=this.getActiveTouch(e.touches);if(!t)return;!ss(t,this.touchStart,4)&&(this.moved=!0)}onTouchEnd(e){if(this.touching){if(!this.moved){const e={type:"tap",touchStart:this.touchStart};this.localEventService.dispatchEvent(e),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 e={type:"doubleTap",touchStart:this.touchStart};this.localEventService.dispatchEvent(e),this.lastTapTime=null}else this.lastTapTime=e}else this.lastTapTime=e}destroy(){this.destroyFuncs.forEach((e=>e()))}};function ns(e,t){return`<span data-ref="eSort${e}" class="ag-sort-indicator-icon ag-sort-${t} ag-hidden" aria-hidden="true"></span>`}var rs=`<span class="ag-sort-indicator-container">\n ${ns("Order","order")}\n ${ns("Asc","ascending-icon")}\n ${ns("Desc","descending-icon")}\n ${ns("Mixed","mixed-icon")}\n ${ns("None","none-icon")}\n </span>`,ls=class extends Ji{constructor(e){super(),this.eSortOrder=Xi,this.eSortAsc=Xi,this.eSortDesc=Xi,this.eSortMixed=Xi,this.eSortNone=Xi,e||this.setTemplate(rs)}wireBeans(e){this.sortController=e.sortController}attachCustomElements(e,t,i,s,o){this.eSortOrder=e,this.eSortAsc=t,this.eSortDesc=i,this.eSortMixed=s,this.eSortNone=o}setupSort(e,t=!1){if(this.column=e,this.suppressOrder=t,this.setupMultiSortIndicator(),!this.column.isSortable()&&!this.column.getColDef().showRowGroup)return;this.addInIcon("sortAscending",this.eSortAsc,e),this.addInIcon("sortDescending",this.eSortDesc,e),this.addInIcon("sortUnSort",this.eSortNone,e);const i=this.updateIcons.bind(this),s=this.onSortChanged.bind(this);this.addManagedPropertyListener("unSortIcon",i),this.addManagedEventListeners({newColumnsLoaded:i,sortChanged:s,columnRowGroupChanged:s}),this.onSortChanged()}addInIcon(e,t,i){if(null==t)return;const s=ts(e,this.gos,i);s&&t.appendChild(s)}onSortChanged(){this.updateIcons(),this.suppressOrder||this.updateSortOrder()}updateIcons(){const e=this.sortController.getDisplaySortForColumn(this.column);if(this.eSortAsc){const t="asc"===e;ni(this.eSortAsc,t,{skipAriaHidden:!0})}if(this.eSortDesc){const t="desc"===e;ni(this.eSortDesc,t,{skipAriaHidden:!0})}if(this.eSortNone){const t=!this.column.getColDef().unSortIcon&&!this.gos.get("unSortIcon"),i=null==e;ni(this.eSortNone,!t&&i,{skipAriaHidden:!0})}}setupMultiSortIndicator(){this.addInIcon("sortUnSort",this.eSortMixed,this.column);const e=this.column.getColDef().showRowGroup;ee(this.gos)&&e&&(this.addManagedEventListeners({sortChanged:this.updateMultiSortIndicator.bind(this),columnRowGroupChanged:this.updateMultiSortIndicator.bind(this)}),this.updateMultiSortIndicator())}updateMultiSortIndicator(){if(this.eSortMixed){const e="mixed"===this.sortController.getDisplaySortForColumn(this.column);ni(this.eSortMixed,e,{skipAriaHidden:!0})}}updateSortOrder(){if(!this.eSortOrder)return;const e=this.sortController.getColumnsWithSortingOrdered(),t=this.sortController.getDisplaySortIndexForColumn(this.column)??-1,i=e.some((e=>this.sortController.getDisplaySortIndexForColumn(e)??!1)),s=t>=0&&i;ni(this.eSortOrder,s,{skipAriaHidden:!0}),t>=0?this.eSortOrder.textContent=(t+1).toString():vi(this.eSortOrder)}},as={selector:"AG-SORT-INDICATOR",component:ls},ds=class extends Ji{constructor(){super(...arguments),this.eFilter=Xi,this.eFilterButton=Xi,this.eSortIndicator=Xi,this.eMenu=Xi,this.eLabel=Xi,this.eText=Xi,this.eSortOrder=Xi,this.eSortAsc=Xi,this.eSortDesc=Xi,this.eSortMixed=Xi,this.eSortNone=Xi,this.lastMovingChanged=0}wireBeans(e){this.sortController=e.sortController,this.menuService=e.menuService,this.funcColsService=e.funcColsService}destroy(){super.destroy()}refresh(e){const t=this.params;return this.params=e,this.workOutTemplate()==this.currentTemplate&&this.workOutShowMenu()==this.currentShowMenu&&this.workOutSort()==this.currentSort&&this.shouldSuppressMenuHide()==this.currentSuppressMenuHide&&t.enableFilterButton==e.enableFilterButton&&t.enableFilterIcon==e.enableFilterIcon&&(this.setDisplayName(e),!0)}workOutTemplate(){let e=this.params.template??'<div class="ag-cell-label-container" role="presentation">\n <span data-ref="eMenu" class="ag-header-icon ag-header-cell-menu-button" aria-hidden="true"></span>\n <span data-ref="eFilterButton" class="ag-header-icon ag-header-cell-filter-button" aria-hidden="true"></span>\n <div data-ref="eLabel" class="ag-header-cell-label" role="presentation">\n <span data-ref="eText" class="ag-header-cell-text"></span>\n <span data-ref="eFilter" class="ag-header-icon ag-header-label-icon ag-filter-icon" aria-hidden="true"></span>\n <ag-sort-indicator data-ref="eSortIndicator"></ag-sort-indicator>\n </div>\n </div>';return e=e&&e.trim?e.trim():e,e}init(e){this.params=e,this.currentTemplate=this.workOutTemplate(),this.setTemplate(this.currentTemplate,[as]),this.setupTap(),this.setMenu(),this.setupSort(),this.setupFilterIcon(),this.setupFilterButton(),this.setDisplayName(e)}setDisplayName(e){if(this.currentDisplayName!=e.displayName){this.currentDisplayName=e.displayName;const t=Rt(this.currentDisplayName,!0);this.eText&&(this.eText.textContent=t)}}addInIcon(e,t,i){if(null==t)return;const s=ts(e,this.gos,i);s&&t.appendChild(s)}setupTap(){const{gos:e}=this;if(e.get("suppressTouch"))return;const t=new os(this.getGui(),!0),i=this.shouldSuppressMenuHide(),s=i&&P(this.eMenu),o=s?new os(this.eMenu,!0):t;if(this.params.enableMenu){const e=s?"tap":"longTap",t=e=>this.params.showColumnMenuAfterMouseClick(e.touchStart);this.addManagedListeners(o,{[e]:t})}if(this.params.enableSorting){const e=e=>{var t,s;const o=e.touchStart.target;i&&((null==(t=this.eMenu)?void 0:t.contains(o))||(null==(s=this.eFilterButton)?void 0:s.contains(o)))||this.sortController.progressSort(this.params.column,!1,"uiColumnSorted")};this.addManagedListeners(t,{tap:e})}if(this.params.enableFilterButton){const e=new os(this.eFilterButton,!0);this.addManagedListeners(e,{tap:()=>this.params.showFilter(this.eFilterButton)}),this.addDestroyFunc((()=>e.destroy()))}this.addDestroyFunc((()=>t.destroy())),s&&this.addDestroyFunc((()=>o.destroy()))}workOutShowMenu(){return this.params.enableMenu&&this.menuService.isHeaderMenuButtonEnabled()}shouldSuppressMenuHide(){return this.menuService.isHeaderMenuButtonAlwaysShowEnabled()}setMenu(){if(!this.eMenu)return;if(this.currentShowMenu=this.workOutShowMenu(),!this.currentShowMenu)return Ci(this.eMenu),void(this.eMenu=void 0);const e=this.menuService.isLegacyMenuEnabled();this.addInIcon(e?"menu":"menuAlt",this.eMenu,this.params.column),this.eMenu.classList.toggle("ag-header-menu-icon",!e),this.currentSuppressMenuHide=this.shouldSuppressMenuHide(),this.addManagedElementListeners(this.eMenu,{click:()=>this.params.showColumnMenu(this.eMenu)}),this.eMenu.classList.toggle("ag-header-menu-always-show",this.currentSuppressMenuHide)}onMenuKeyboardShortcut(e){const t=this.params.column,i=this.menuService.isLegacyMenuEnabled();if(e&&!i){if(this.menuService.isFilterMenuInHeaderEnabled(t))return this.params.showFilter(this.eFilterButton??this.eMenu??this.getGui()),!0}else if(this.params.enableMenu)return this.params.showColumnMenu(this.eMenu??this.eFilterButton??this.getGui()),!0;return!1}workOutSort(){return this.params.enableSorting}setupSort(){if(this.currentSort=this.params.enableSorting,this.eSortIndicator||(this.eSortIndicator=this.createBean(new ls(!0)),this.eSortIndicator.attachCustomElements(this.eSortOrder,this.eSortAsc,this.eSortDesc,this.eSortMixed,this.eSortNone)),this.eSortIndicator.setupSort(this.params.column),!this.currentSort)return;this.addManagedListeners(this.params.column,{movingChanged:()=>{this.lastMovingChanged=(new Date).getTime()}}),this.eLabel&&this.addManagedElementListeners(this.eLabel,{click:e=>{const t=this.params.column.isMoving(),i=(new Date).getTime()-this.lastMovingChanged<50;if(!(t||i)){const t="ctrl"===this.gos.get("multiSortKey")?e.ctrlKey||e.metaKey:e.shiftKey;this.params.progressSort(t)}}});const e=()=>{const e=this.params.column.getSort();if(this.addOrRemoveCssClass("ag-header-cell-sorted-asc","asc"===e),this.addOrRemoveCssClass("ag-header-cell-sorted-desc","desc"===e),this.addOrRemoveCssClass("ag-header-cell-sorted-none",!e),this.params.column.getColDef().showRowGroup){const e=this.funcColsService.getSourceColumnsForGroupColumn(this.params.column),t=!(null==e?void 0:e.every((e=>this.params.column.getSort()==e.getSort())));this.addOrRemoveCssClass("ag-header-cell-sorted-mixed",t)}};this.addManagedEventListeners({sortChanged:e,columnRowGroupChanged:e})}setupFilterIcon(){this.eFilter&&this.configureFilter(this.params.enableFilterIcon,this.eFilter,this.onFilterChangedIcon.bind(this))}setupFilterButton(){if(!this.eFilterButton)return;this.configureFilter(this.params.enableFilterButton,this.eFilterButton,this.onFilterChangedButton.bind(this))?this.addManagedElementListeners(this.eFilterButton,{click:()=>this.params.showFilter(this.eFilterButton)}):this.eFilterButton=void 0}configureFilter(e,t,i){if(!e)return Ci(t),!1;const s=this.params.column;return this.addInIcon("filter",t,s),this.addManagedListeners(s,{filterChanged:i}),i(),!0}onFilterChangedIcon(){const e=this.params.column.isFilterActive();ni(this.eFilter,e,{skipAriaHidden:!0})}onFilterChangedButton(){const e=this.params.column.isFilterActive();this.eFilterButton.classList.toggle("ag-filter-active",e)}getAnchorElementForMenu(e){return e?this.eFilterButton??this.eMenu??this.getGui():this.eMenu??this.eFilterButton??this.getGui()}},hs=class extends Ji{constructor(){super('<div class="ag-header-group-cell-label" role="presentation">\n <span data-ref="agLabel" class="ag-header-group-text" role="presentation"></span>\n <span data-ref="agOpened" class="ag-header-icon ag-header-expand-icon ag-header-expand-icon-expanded"></span>\n <span data-ref="agClosed" class="ag-header-icon ag-header-expand-icon ag-header-expand-icon-collapsed"></span>\n </div>'),this.agOpened=Xi,this.agClosed=Xi,this.agLabel=Xi}wireBeans(e){this.columnModel=e.columnModel}destroy(){super.destroy()}init(e){this.params=e,this.checkWarnings(),this.setupLabel(),this.addGroupExpandIcon(),this.setupExpandIcons()}checkWarnings(){this.params.template&&m("A template was provided for Header Group Comp - templates are only supported for Header Comps (not groups)")}setupExpandIcons(){this.addInIcon("columnGroupOpened",this.agOpened),this.addInIcon("columnGroupClosed",this.agClosed);const e=e=>{if(Te(e))return;const t=!this.params.columnGroup.isExpanded();this.columnModel.setColumnGroupOpened(this.params.columnGroup.getProvidedColumnGroup(),t,"uiColumnExpanded")};this.addTouchAndClickListeners(this.agClosed,e),this.addTouchAndClickListeners(this.agOpened,e);const t=e=>{Ae(e)};this.addManagedElementListeners(this.agClosed,{dblclick:t}),this.addManagedElementListeners(this.agOpened,{dblclick:t}),this.addManagedElementListeners(this.getGui(),{dblclick:e}),this.updateIconVisibility();const i=this.params.columnGroup.getProvidedColumnGroup(),s=this.updateIconVisibility.bind(this);this.addManagedListeners(i,{expandedChanged:s,expandableChanged:s})}addTouchAndClickListeners(e,t){const i=new os(e,!0);this.addManagedListeners(i,{tap:t}),this.addDestroyFunc((()=>i.destroy())),this.addManagedElementListeners(e,{click:t})}updateIconVisibility(){if(this.params.columnGroup.isExpandable()){const e=this.params.columnGroup.isExpanded();ni(this.agOpened,e),ni(this.agClosed,!e)}else ni(this.agOpened,!1),ni(this.agClosed,!1)}addInIcon(e,t){const i=ts(e,this.gos,null);i&&t.appendChild(i)}addGroupExpandIcon(){if(!this.params.columnGroup.isExpandable())return ni(this.agOpened,!1),void ni(this.agClosed,!1)}setupLabel(){var e;const{displayName:t,columnGroup:i}=this.params;if(P(t)){const e=Rt(t,!0);this.agLabel.textContent=e}this.addOrRemoveCssClass("ag-sticky-label",!(null==(e=i.getColGroupDef())?void 0:e.suppressStickyLabel))}},us=class extends Ji{constructor(){super(),this.refreshCount=0;const e=document.createElement("span"),t=document.createElement("span");t.setAttribute("class","ag-value-change-delta");const i=document.createElement("span");i.setAttribute("class","ag-value-change-value"),e.appendChild(t),e.appendChild(i),this.setTemplateFromElement(e)}wireBeans(e){this.filterManager=e.filterManager}init(e){this.eValue=this.queryForHtmlElement(".ag-value-change-value"),this.eDelta=this.queryForHtmlElement(".ag-value-change-delta"),this.refresh(e,!0)}showDelta(e,t){const i=Math.abs(t),s=e.formatValue(i),o=P(s)?s:i,n=t>=0;this.eDelta.textContent=n?"↑"+o:"↓"+o,this.eDelta.classList.toggle("ag-value-change-delta-up",n),this.eDelta.classList.toggle("ag-value-change-delta-down",!n)}setTimerToRemoveDelta(){this.refreshCount++;const e=this.refreshCount;this.getFrameworkOverrides().wrapIncoming((()=>{window.setTimeout((()=>{e===this.refreshCount&&this.hideDeltaValue()}),2e3)}))}hideDeltaValue(){this.eValue.classList.remove("ag-value-change-value-highlight"),vi(this.eDelta)}refresh(e,t=!1){var i;const s=e.value;if(s===this.lastValue)return!1;if(P(e.valueFormatted)?this.eValue.textContent=e.valueFormatted:P(e.value)?this.eValue.textContent=s:vi(this.eValue),null==(i=this.filterManager)?void 0:i.isSuppressFlashingCellsBecauseFiltering())return!1;if("number"==typeof s&&"number"==typeof this.lastValue){const t=s-this.lastValue;this.showDelta(e,t)}return this.lastValue&&this.eValue.classList.add("ag-value-change-value-highlight"),t||this.setTimerToRemoveDelta(),this.lastValue=s,!0}},cs=class extends Ji{constructor(){super(),this.refreshCount=0;const e=document.createElement("span"),t=document.createElement("span");t.setAttribute("class","ag-value-slide-current"),e.appendChild(t),this.setTemplateFromElement(e),this.eCurrent=this.queryForHtmlElement(".ag-value-slide-current")}wireBeans(e){this.filterManager=e.filterManager}init(e){this.refresh(e,!0)}addSlideAnimation(){this.refreshCount++;const e=this.refreshCount;this.ePrevious&&this.getGui().removeChild(this.ePrevious);const t=document.createElement("span");t.setAttribute("class","ag-value-slide-previous ag-value-slide-out"),this.ePrevious=t,this.ePrevious.textContent=this.eCurrent.textContent,this.getGui().insertBefore(this.ePrevious,this.eCurrent),this.getFrameworkOverrides().wrapIncoming((()=>{window.setTimeout((()=>{e===this.refreshCount&&this.ePrevious.classList.add("ag-value-slide-out-end")}),50),window.setTimeout((()=>{e===this.refreshCount&&(this.getGui().removeChild(this.ePrevious),this.ePrevious=null)}),3e3)}))}refresh(e,t=!1){var i;let s=e.value;return D(s)&&(s=""),s!==this.lastValue&&(!(null==(i=this.filterManager)?void 0:i.isSuppressFlashingCellsBecauseFiltering())&&(t||this.addSlideAnimation(),this.lastValue=s,P(e.valueFormatted)?this.eCurrent.textContent=e.valueFormatted:P(e.value)?this.eCurrent.textContent=s:vi(this.eCurrent),!0))}},gs=class{};gs.BACKSPACE="Backspace",gs.TAB="Tab",gs.ENTER="Enter",gs.ESCAPE="Escape",gs.SPACE=" ",gs.LEFT="ArrowLeft",gs.UP="ArrowUp",gs.RIGHT="ArrowRight",gs.DOWN="ArrowDown",gs.DELETE="Delete",gs.F2="F2",gs.PAGE_UP="PageUp",gs.PAGE_DOWN="PageDown",gs.PAGE_HOME="Home",gs.PAGE_END="End",gs.A="KeyA",gs.C="KeyC",gs.D="KeyD",gs.V="KeyV",gs.X="KeyX",gs.Y="KeyY",gs.Z="KeyZ";var ps=class extends Ji{constructor(e,t,i){super(t,i),this.labelSeparator="",this.labelAlignment="left",this.disabled=!1,this.label="",this.config=e||{}}postConstruct(){this.addCssClass("ag-labeled"),this.eLabel.classList.add("ag-label");const{labelSeparator:e,label:t,labelWidth:i,labelAlignment:s,disabled:o}=this.config;null!=o&&this.setDisabled(o),null!=e&&this.setLabelSeparator(e),null!=t&&this.setLabel(t),null!=i&&this.setLabelWidth(i),this.setLabelAlignment(s||this.labelAlignment),this.refreshLabel()}refreshLabel(){vi(this.eLabel),"string"==typeof this.label?this.eLabel.innerText=this.label+this.labelSeparator:this.label&&this.eLabel.appendChild(this.label),""===this.label?(ni(this.eLabel,!1),qt(this.eLabel,"presentation")):(ni(this.eLabel,!0),qt(this.eLabel,null))}setLabelSeparator(e){return this.labelSeparator===e||(this.labelSeparator=e,null!=this.label&&this.refreshLabel()),this}getLabelId(){return this.eLabel.id=this.eLabel.id||`ag-${this.getCompId()}-label`,this.eLabel.id}getLabel(){return this.label}setLabel(e){return this.label===e||(this.label=e,this.refreshLabel()),this}setLabelAlignment(e){const t=this.getGui().classList;return t.toggle("ag-label-align-left","left"===e),t.toggle("ag-label-align-right","right"===e),t.toggle("ag-label-align-top","top"===e),this}setLabelEllipsis(e){return this.eLabel.classList.toggle("ag-label-ellipsis",e),this}setLabelWidth(e){return null==this.label||yi(this.eLabel,e),this}setDisabled(e){e=!!e;const t=this.getGui();return ri(t,e),t.classList.toggle("ag-disabled",e),this.disabled=e,this}isDisabled(){return!!this.disabled}},ms=class extends ps{constructor(e,t,i,s){super(e,t,i),this.className=s}postConstruct(){super.postConstruct();const{width:e,value:t,onValueChange:i}=this.config;null!=e&&this.setWidth(e),null!=t&&this.setValue(t),null!=i&&this.onValueChange(i),this.className&&this.addCssClass(this.className),this.refreshAriaLabelledBy()}setLabel(e){return super.setLabel(e),this.refreshAriaLabelledBy(),this}refreshAriaLabelledBy(){const e=this.getAriaElement(),t=this.getLabelId(),i=this.getLabel();null==i||""==i||null!==e.getAttribute("aria-label")?Yt(e,""):Yt(e,t??"")}setAriaLabel(e){return Qt(this.getAriaElement(),e),this.refreshAriaLabelledBy(),this}onValueChange(e){return this.addManagedListeners(this,{fieldValueChanged:()=>e(this.getValue())}),this}getWidth(){return this.getGui().clientWidth}setWidth(e){return bi(this.getGui(),e),this}getPreviousValue(){return this.previousValue}getValue(){return this.value}setValue(e,t){return this.value===e||(this.previousValue=this.value,this.value=e,t||this.dispatchLocalEvent({type:"fieldValueChanged"})),this}},vs=class extends ms{constructor(e,t,i="text",s="input"){super(e,(null==e?void 0:e.template)??`\n <div role="presentation">\n <div data-ref="eLabel" class="ag-input-field-label"></div>\n <div data-ref="eWrapper" class="ag-wrapper ag-input-wrapper" role="presentation">\n <${s} data-ref="eInput" class="ag-input-field-input"></${s}>\n </div>\n </div>`,[],t),this.inputType=i,this.displayFieldTag=s,this.eLabel=Xi,this.eWrapper=Xi,this.eInput=Xi}postConstruct(){super.postConstruct(),this.setInputType(),this.eLabel.classList.add(`${this.className}-label`),this.eWrapper.classList.add(`${this.className}-input-wrapper`),this.eInput.classList.add(`${this.className}-input`),this.addCssClass("ag-input-field"),this.eInput.id=this.eInput.id||`ag-${this.getCompId()}-input`;const{inputName:e,inputWidth:t}=this.config;null!=e&&this.setInputName(e),null!=t&&this.setInputWidth(t),this.addInputListeners(),this.activateTabIndex([this.eInput])}addInputListeners(){this.addManagedElementListeners(this.eInput,{input:e=>this.setValue(e.target.value)})}setInputType(){"input"===this.displayFieldTag&&this.eInput.setAttribute("type",this.inputType)}getInputElement(){return this.eInput}setInputWidth(e){return yi(this.eWrapper,e),this}setInputName(e){return this.getInputElement().setAttribute("name",e),this}getFocusableElement(){return this.eInput}setMaxLength(e){return this.eInput.maxLength=e,this}setInputPlaceholder(e){return Di(this.eInput,"placeholder",e),this}setInputAriaLabel(e){return Qt(this.eInput,e),this.refreshAriaLabelledBy(),this}setDisabled(e){return ri(this.eInput,e),super.setDisabled(e)}setAutoComplete(e){if(!0===e)Di(this.eInput,"autocomplete",null);else{const t="string"==typeof e?e:"off";Di(this.eInput,"autocomplete",t)}return this}},Cs=class extends vs{constructor(e,t="ag-checkbox",i="checkbox"){super(e,t,i),this.labelAlignment="right",this.selected=!1,this.readOnly=!1,this.passive=!1}postConstruct(){super.postConstruct();const{readOnly:e,passive:t}=this.config;"boolean"==typeof e&&this.setReadOnly(e),"boolean"==typeof t&&this.setPassive(t)}addInputListeners(){this.addManagedElementListeners(this.eInput,{click:this.onCheckboxClick.bind(this)}),this.addManagedElementListeners(this.eLabel,{click:this.toggle.bind(this)})}getNextValue(){return void 0===this.selected||!this.selected}setPassive(e){this.passive=e}isReadOnly(){return this.readOnly}setReadOnly(e){this.eWrapper.classList.toggle("ag-disabled",e),this.eInput.disabled=e,this.readOnly=e}setDisabled(e){return this.eWrapper.classList.toggle("ag-disabled",e),super.setDisabled(e)}toggle(){if(this.eInput.disabled)return;const e=this.isSelected(),t=this.getNextValue();this.passive?this.dispatchChange(t,e):this.setValue(t)}getValue(){return this.isSelected()}setValue(e,t){return this.refreshSelectedClass(e),this.setSelected(e,t),this}setName(e){return this.getInputElement().name=e,this}isSelected(){return this.selected}setSelected(e,t){this.isSelected()!==e&&(this.previousValue=this.isSelected(),e=this.selected="boolean"==typeof e?e:void 0,this.eInput.checked=e,this.eInput.indeterminate=void 0===e,t||this.dispatchChange(this.selected,this.previousValue))}dispatchChange(e,t,i){this.dispatchLocalEvent({type:"fieldValueChanged",selected:e,previousValue:t,event:i});const s=this.getInputElement();this.eventService.dispatchEvent({type:"checkboxChanged",id:s.id,name:s.name,selected:e,previousValue:t})}onCheckboxClick(e){if(this.passive||this.eInput.disabled)return;const t=this.isSelected(),i=this.selected=e.target.checked;this.refreshSelectedClass(i),this.dispatchChange(i,t,e)}refreshSelectedClass(e){this.eWrapper.classList.toggle("ag-checked",!0===e),this.eWrapper.classList.toggle("ag-indeterminate",null==e)}},fs={selector:"AG-CHECKBOX",component:Cs},ws=class extends Ji{constructor(){super('\n <div class="ag-cell-wrapper ag-checkbox-cell" role="presentation">\n <ag-checkbox role="presentation" data-ref="eCheckbox"></ag-checkbox>\n </div>',[fs]),this.eCheckbox=Xi}init(e){this.refresh(e);const t=this.eCheckbox.getInputElement();t.setAttribute("tabindex","-1"),Xt(t,"polite"),this.addManagedListeners(t,{click:e=>{if(Ae(e),this.eCheckbox.isDisabled())return;const t=this.eCheckbox.getValue();this.onCheckboxChanged(t)},dblclick:e=>{Ae(e)}}),this.addManagedElementListeners(this.params.eGridCell,{keydown:e=>{if(e.key===gs.SPACE&&!this.eCheckbox.isDisabled()){this.params.eGridCell===Y(this.gos)&&this.eCheckbox.toggle();const t=this.eCheckbox.getValue();this.onCheckboxChanged(t),e.preventDefault()}}})}refresh(e){return this.params=e,this.updateCheckbox(e),!0}updateCheckbox(e){var t;let i,s=!0;if(e.node.group&&e.column)if("boolean"==typeof e.value)i=e.value;else{const t=e.column.getColId();t.startsWith(Ve)?i=null==e.value||""===e.value?void 0:"true"===e.value:e.node.aggData&&void 0!==e.node.aggData[t]?i=e.value??void 0:s=!1}else i=e.value??void 0;if(!s)return void this.eCheckbox.setDisplayed(!1);this.eCheckbox.setValue(i);const o=null!=e.disabled?e.disabled:!(null==(t=e.column)?void 0:t.isCellEditable(e.node));this.eCheckbox.setDisabled(o);const n=this.localeService.getLocaleTextFunc(),r=ii(n,i),l=o?r:`${n("ariaToggleCellValue","Press SPACE to toggle cell value")} (${r})`;this.eCheckbox.setInputAriaLabel(l)}onCheckboxChanged(e){const{column:t,node:i,value:s}=this.params;this.eventService.dispatchEvent({type:"cellEditingStarted",column:t,colDef:null==t?void 0:t.getColDef(),data:i.data,node:i,rowIndex:i.rowIndex,rowPinned:i.rowPinned,value:s});const o=this.params.node.setDataValue(this.params.column,e,"edit");this.eventService.dispatchEvent({type:"cellEditingStopped",column:t,colDef:null==t?void 0:t.getColDef(),data:i.data,node:i,rowIndex:i.rowIndex,rowPinned:i.rowPinned,value:s,oldValue:s,newValue:e,valueChanged:o}),o||this.updateCheckbox(this.params)}},Ss=class extends Ji{constructor(){super('<div class="ag-loading">\n <span class="ag-loading-icon" data-ref="eLoadingIcon"></span>\n <span class="ag-loading-text" data-ref="eLoadingText"></span>\n </div>'),this.eLoadingIcon=Xi,this.eLoadingText=Xi}init(e){e.node.failedLoad?this.setupFailed():this.setupLoading()}setupFailed(){const e=this.localeService.getLocaleTextFunc();this.eLoadingText.innerText=e("loadingError","ERR")}setupLoading(){const e=ts("groupLoading",this.gos,null);e&&this.eLoadingIcon.appendChild(e);const t=this.localeService.getLocaleTextFunc();this.eLoadingText.innerText=t("loadingOoo","Loading")}refresh(e){return!1}destroy(){super.destroy()}},ys=class extends Ji{constructor(){super('<div class="ag-skeleton-container"></div>')}init(e){const t=`ag-cell-skeleton-renderer-${this.getCompId()}`;this.getGui().setAttribute("id",t),this.addDestroyFunc((()=>Yt(e.eParentOfValue))),Yt(e.eParentOfValue,t),e.node.failedLoad?this.setupFailed():this.setupLoading(e)}setupFailed(){const e=this.localeService.getLocaleTextFunc();this.getGui().innerText=e("loadingError","ERR");const t=e("ariaSkeletonCellLoadingFailed","Row failed to load");Qt(this.getGui(),t)}setupLoading(e){const t=j(this.gos).createElement("div");t.classList.add("ag-skeleton-effect");const i=e.node.rowIndex;if(null!=i){const e=75+25*(i%2==0?Math.sin(i):Math.cos(i));t.style.width=`${e}%`}this.getGui().appendChild(t);const s=this.localeService.getLocaleTextFunc()("ariaSkeletonCellLoading","Row data is loading");Qt(this.getGui(),s)}refresh(e){return!1}destroy(){super.destroy()}},bs=class extends Ji{constructor(){super()}destroy(){super.destroy()}},Rs=class extends bs{init(){var e;const t=F(null==(e=this.gos.get("overlayLoadingTemplate"))?void 0:e.trim());if(this.setTemplate(t??'<span aria-live="polite" aria-atomic="true" class="ag-overlay-loading-center"></span>'),!t){const e=this.localeService.getLocaleTextFunc();setTimeout((()=>{this.getGui().textContent=e("loadingOoo","Loading...")}))}}},Fs=class extends bs{init(){var e;const t=F(null==(e=this.gos.get("overlayNoRowsTemplate"))?void 0:e.trim());if(this.setTemplate(t??'<span class="ag-overlay-no-rows-center"></span>'),!t){const e=this.localeService.getLocaleTextFunc();setTimeout((()=>{this.getGui().textContent=e("noRowsToShow","No Rows To Show")}))}}},Ps=class extends Ji{isPopup(){return!0}setParentComponent(e){e.addCssClass("ag-has-popup"),super.setParentComponent(e)}destroy(){const e=this.parentComponent;e&&e.isAlive()&&e.getGui().classList.remove("ag-has-popup"),super.destroy()}},Ds=class extends Ps{constructor(){super('<div class="ag-tooltip"></div>')}init(e){const{value:t}=e;this.getGui().textContent=Rt(t,!0)}};function Es(e){const{inputValue:t,allSuggestions:i,hideIrrelevant:s,filterByPercentageOfBestMatch:o,addSequentialWeight:n}=e;let r=i.map(((e,i)=>({value:e,relevance:Ms(t.toLowerCase(),e.toLocaleLowerCase(),n),idx:i})));if(r.sort(((e,t)=>t.relevance-e.relevance)),s&&(r=r.filter((e=>0!==e.relevance))),r.length>0&&o&&o>0){const e=r[0].relevance*o;r=r.filter((t=>e-t.relevance<0))}const l=[],a=[];for(const d of r)l.push(d.value),a.push(d.idx);return{values:l,indices:a}}function Ms(e,t,i=!1){const s=e.replace(/\s/g,""),o=t.replace(/\s/g,""),n=s.length,r=o.length,l=new Array(n+1).fill(null).map((()=>new Array(r+1).fill(0)));for(let h=0;h<=n;h+=1)l[h][0]=h;for(let h=0;h<=r;h+=1)l[0][h]=h;for(let h=1;h<=n;h++)for(let e=1;e<=r;e++)s[h-1]===o[e-1]?l[h][e]=l[h-1][e-1]:l[h][e]=1+Math.min(l[h][e-1],Math.min(l[h-1][e],l[h-1][e-1]));const a=l[n][r];let d=Math.max(n,r)-a;if(i){const e=function(e){const t=[],i=e.length;for(let s=1;s<=i;s++)for(let o=0;o<=i-s;o++){const i=o+s-1;t.push(e.slice(o,i+1))}return t}(s);for(let t=0;t<e.length;t++){const i=e[t];-1!==o.indexOf(i)&&(d+=1,d*=i.length)}}return d}var xs=class extends Oe{constructor(){super(...arguments),this.beanName="userComponentRegistry",this.agGridDefaults={agDragAndDropImage:is,agColumnHeader:ds,agColumnGroupHeader:hs,agSortIndicator:ls,agAnimateShowChangeCellRenderer:us,agAnimateSlideCellRenderer:cs,agLoadingCellRenderer:Ss,agSkeletonCellRenderer:ys,agCheckboxCellRenderer:ws,agLoadingOverlay:Rs,agNoRowsOverlay:Fs,agTooltipComponent:Ds},this.agGridDefaultParams={},this.enterpriseAgDefaultCompsModule={agSetColumnFilter:"@ag-grid-enterprise/set-filter",agSetColumnFloatingFilter:"@ag-grid-enterprise/set-filter",agMultiColumnFilter:"@ag-grid-enterprise/multi-filter",agMultiColumnFloatingFilter:"@ag-grid-enterprise/multi-filter",agGroupColumnFilter:"@ag-grid-enterprise/row-grouping",agGroupColumnFloatingFilter:"@ag-grid-enterprise/row-grouping",agGroupCellRenderer:"@ag-grid-enterprise/row-grouping",agGroupRowRenderer:"@ag-grid-enterprise/row-grouping",agRichSelect:"@ag-grid-enterprise/rich-select",agRichSelectCellEditor:"@ag-grid-enterprise/rich-select",agDetailCellRenderer:"@ag-grid-enterprise/master-detail",agSparklineCellRenderer:"@ag-grid-enterprise/sparklines"},this.jsComps={}}postConstruct(){const e=this.gos.get("components");null!=e&&Qe(e,((e,t)=>this.registerJsComponent(e,t)))}registerDefaultComponent(e,t,i){this.agGridDefaults[e]=t,i&&(this.agGridDefaultParams[e]=i)}registerJsComponent(e,t){this.jsComps[e]=t}retrieve(e,t){const i=(e,t,i)=>({componentFromFramework:t,component:e,params:i}),s=this.getFrameworkOverrides().frameworkComponent(t,this.gos.get("components"));if(null!=s)return i(s,!0);const o=this.jsComps[t];if(o){return i(o,this.getFrameworkOverrides().isFrameworkComponent(o))}const n=this.agGridDefaults[t];if(n)return i(n,!1,this.agGridDefaultParams[t]);const r=this.enterpriseAgDefaultCompsModule[t];return r?this.gos.assertModuleRegistered(r,`AG Grid '${e}' component: ${t}`):g((()=>{this.warnAboutMissingComponent(e,t)}),"MissingComp"+t),null}warnAboutMissingComponent(e,t){const i=Es({inputValue:t,allSuggestions:[...Object.keys(this.agGridDefaults).filter((e=>!["agCellEditor","agGroupRowRenderer","agSortIndicator"].includes(e))),...Object.keys(this.jsComps)],hideIrrelevant:!0,filterByPercentageOfBestMatch:.8}).values;m(`Could not find '${t}' component. It was configured as "${e}: '${t}'" but it wasn't found in the list of registered components.`),i.length>0&&m(` Did you mean: [${i.slice(0,3)}]?`),m(`If using a custom component check it has been registered as described in: ${this.getFrameworkOverrides().getDocLink("components/")}`)}},As=class e{constructor(e){this.status=0,this.resolution=null,this.waiters=[],e((e=>this.onDone(e)),(e=>this.onReject(e)))}static all(t){return t.length?new e((e=>{let i=t.length;const s=new Array(i);t.forEach(((t,o)=>{t.then((t=>{s[o]=t,i--,0===i&&e(s)}))}))})):e.resolve()}static resolve(t=null){return new e((e=>e(t)))}then(t){return new e((e=>{1===this.status?e(t(this.resolution)):this.waiters.push((i=>e(t(i))))}))}onDone(e){this.status=1,this.resolution=e,this.waiters.forEach((t=>t(e)))}onReject(e){}},Ts={propertyName:"dateComponent",cellRenderer:!1},Is={propertyName:"dragAndDropImageComponent",cellRenderer:!1},Ls={propertyName:"headerComponent",cellRenderer:!1},ks={propertyName:"headerGroupComponent",cellRenderer:!1},Os={propertyName:"cellRenderer",cellRenderer:!0},Gs={propertyName:"cellRenderer",cellRenderer:!1},Ns={propertyName:"loadingCellRenderer",cellRenderer:!0},Hs={propertyName:"cellEditor",cellRenderer:!1},Bs={propertyName:"innerRenderer",cellRenderer:!0},Vs={propertyName:"loadingOverlayComponent",cellRenderer:!1},Ws={propertyName:"noRowsOverlayComponent",cellRenderer:!1},zs={propertyName:"tooltipComponent",cellRenderer:!1},Us={propertyName:"filter",cellRenderer:!1},Ks={propertyName:"floatingFilterComponent",cellRenderer:!1},_s={propertyName:"toolPanel",cellRenderer:!1},$s={propertyName:"statusPanel",cellRenderer:!1},js={propertyName:"fullWidthCellRenderer",cellRenderer:!0},qs={propertyName:"loadingCellRenderer",cellRenderer:!0},Qs={propertyName:"groupRowRenderer",cellRenderer:!0},Ys={propertyName:"detailCellRenderer",cellRenderer:!0},Xs={propertyName:"menuItem",cellRenderer:!1},Js=class e extends Oe{constructor(){super(...arguments),this.beanName="userComponentFactory"}wireBeans(e){this.agComponentUtils=e.agComponentUtils,this.componentMetadataProvider=e.componentMetadataProvider,this.userComponentRegistry=e.userComponentRegistry,this.frameworkComponentWrapper=e.frameworkComponentWrapper,this.gridOptions=e.gridOptions}getDragAndDropImageCompDetails(e){return this.getCompDetails(this.gridOptions,Is,"agDragAndDropImage",e,!0)}getHeaderCompDetails(e,t){return this.getCompDetails(e,Ls,"agColumnHeader",t)}getHeaderGroupCompDetails(e){const t=e.columnGroup.getColGroupDef();return this.getCompDetails(t,ks,"agColumnGroupHeader",e)}getFullWidthCellRendererDetails(e){return this.getCompDetails(this.gridOptions,js,null,e,!0)}getFullWidthLoadingCellRendererDetails(e){return this.getCompDetails(this.gridOptions,qs,"agLoadingCellRenderer",e,!0)}getFullWidthGroupCellRendererDetails(e){return this.getCompDetails(this.gridOptions,Qs,"agGroupRowRenderer",e,!0)}getFullWidthDetailCellRendererDetails(e){return this.getCompDetails(this.gridOptions,Ys,"agDetailCellRenderer",e,!0)}getInnerRendererDetails(e,t){return this.getCompDetails(e,Bs,null,t)}getFullWidthGroupRowInnerCellRenderer(e,t){return this.getCompDetails(e,Bs,null,t)}getCellRendererDetails(e,t){return this.getCompDetails(e,Os,null,t)}getEditorRendererDetails(e,t){return this.getCompDetails(e,Gs,null,t)}getLoadingCellRendererDetails(e,t){return this.getCompDetails(e,Ns,"agSkeletonCellRenderer",t,!0)}getCellEditorDetails(e,t){return this.getCompDetails(e,Hs,"agCellEditor",t,!0)}getFilterDetails(e,t,i){return this.getCompDetails(e,Us,i,t,!0)}getDateCompDetails(e){return this.getCompDetails(this.gridOptions,Ts,"agDateInput",e,!0)}getLoadingOverlayCompDetails(e){return this.getCompDetails(this.gridOptions,Vs,"agLoadingOverlay",e,!0)}getNoRowsOverlayCompDetails(e){return this.getCompDetails(this.gridOptions,Ws,"agNoRowsOverlay",e,!0)}getTooltipCompDetails(e){return this.getCompDetails(e.colDef,zs,"agTooltipComponent",e,!0)}getSetFilterCellRendererDetails(e,t){return this.getCompDetails(e,Os,null,t)}getFloatingFilterCompDetails(e,t,i){return this.getCompDetails(e,Ks,i,t)}getToolPanelCompDetails(e,t){return this.getCompDetails(e,_s,null,t,!0)}getStatusPanelCompDetails(e,t){return this.getCompDetails(e,$s,null,t,!0)}getMenuItemCompDetails(e,t){return this.getCompDetails(e,Xs,"agMenuItem",t,!0)}getCompDetails(t,i,s,o,n=!1){const{propertyName:r,cellRenderer:l}=i;let a,{compName:d,jsComp:h,fwComp:u,paramsFromSelector:c,popupFromSelector:g,popupPositionFromSelector:p}=e.getCompKeys(this.frameworkOverrides,t,i,o);const m=e=>{const t=this.userComponentRegistry.retrieve(r,e);t&&(h=t.componentFromFramework?void 0:t.component,u=t.componentFromFramework?t.component:void 0,a=t.params)};if(null!=d&&m(d),null==h&&null==u&&null!=s&&m(s),h&&l&&!this.agComponentUtils.doesImplementIComponent(h)&&(h=this.agComponentUtils.adaptFunction(r,h)),!h&&!u)return void(n&&v(`Could not find component ${d}, did you forget to configure this component?`));const C=this.mergeParamsWithApplicationProvidedParams(t,i,o,c,a),f=null==h,w=h||u;return{componentFromFramework:f,componentClass:w,params:C,type:i,popupFromSelector:g,popupPositionFromSelector:p,newAgStackInstance:()=>this.newAgStackInstance(w,f,C,i)}}static getCompKeys(e,t,i,s){const{propertyName:o}=i;let n,r,l,a,d,h;if(t){const i=t,u=i[o+"Selector"],c=u?u(s):null,g=t=>{if("string"==typeof t)n=t;else if(null!=t&&!0!==t){e.isFrameworkComponent(t)?l=t:r=t}};c?(g(c.component),a=c.params,d=c.popup,h=c.popupPosition):g(i[o])}return{compName:n,jsComp:r,fwComp:l,paramsFromSelector:a,popupFromSelector:d,popupPositionFromSelector:h}}newAgStackInstance(e,t,i,s){const o=s.propertyName;let n;if(!t)n=new e;else{const t=this.componentMetadataProvider.retrieve(o);n=this.frameworkComponentWrapper.wrap(e,t.mandatoryMethodList,t.optionalMethodList,s)}const r=this.initComponent(n,i);return null==r?As.resolve(n):r.then((()=>n))}mergeParamsWithApplicationProvidedParams(e,t,i,s=null,o){const n=this.gos.getGridCommonParams();Ze(n,i),o&&Ze(n,o);const r=e&&e[t.propertyName+"Params"];if("function"==typeof r){Ze(n,r(i))}else"object"==typeof r&&Ze(n,r);return Ze(n,s),n}initComponent(e,t){if(this.createBean(e),null!=e.init)return e.init(t)}};function Zs(e){const t=e;return null!=t&&null!=t.getFrameworkComponentInstance?t.getFrameworkComponentInstance():e}var eo=class e{static register(t){e.__register(t,!0,void 0)}static registerModules(t){e.__registerModules(t,!0,void 0)}static __register(t,i,s){e.runVersionChecks(t),void 0!==s?(e.areGridScopedModules=!0,void 0===e.gridModulesMap[s]&&(e.gridModulesMap[s]={}),e.gridModulesMap[s][t.moduleName]=t):e.globalModulesMap[t.moduleName]=t,e.setModuleBased(i)}static __unRegisterGridModules(t){delete e.gridModulesMap[t]}static __registerModules(t,i,s){e.setModuleBased(i),t&&t.forEach((t=>e.__register(t,i,s)))}static isValidModuleVersion(t){const[i,s]=t.version.split(".")||[],[o,n]=e.currentModuleVersion.split(".")||[];return i===o&&s===n}static runVersionChecks(t){e.currentModuleVersion||(e.currentModuleVersion=t.version);const i=e=>`You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. ${e} Please update all modules to the same version.`;if(t.version?e.isValidModuleVersion(t)||v(i(`'${t.moduleName}' is version ${t.version} but the other modules are version ${e.currentModuleVersion}.`)):v(i(`'${t.moduleName}' is incompatible.`)),t.validate){const e=t.validate();if(!e.isValid){v(`${e.message}`)}}}static setModuleBased(t){void 0===e.moduleBased?e.moduleBased=t:e.moduleBased!==t&&(v("AG Grid: You are mixing modules (i.e. @ag-grid-community/core) and packages (ag-grid-community) - you can only use one or the other of these mechanisms."),v("Please see https://www.ag-grid.com/javascript-grid/modules/ for more information."))}static __setIsBundled(){e.isBundled=!0}static __assertRegistered(t,i,s){var o;if(this.__isRegistered(t,s))return!0;let n;if(e.isBundled)n=`AG Grid: unable to use ${i} as 'ag-grid-enterprise' has not been loaded. Check you are using the Enterprise bundle:\n \n <script src="https://cdn.jsdelivr.net/npm/ag-grid-enterprise@AG_GRID_VERSION/dist/ag-grid-enterprise.min.js"><\/script>\n \nFor more info see: https://ag-grid.com/javascript-data-grid/getting-started/#getting-started-with-ag-grid-enterprise`;else if(e.moduleBased||void 0===e.moduleBased){const r=null==(o=Object.entries(u).find((([e,i])=>i===t)))?void 0:o[0];n=`AG Grid: unable to use ${i} as the ${r} is not registered${e.areGridScopedModules?` for gridId: ${s}`:""}. Check if you have registered the module:\n \n import { ModuleRegistry } from '@ag-grid-community/core';\n import { ${r} } from '${t}';\n \n ModuleRegistry.registerModules([ ${r} ]);\n\nFor more info see: https://www.ag-grid.com/javascript-grid/modules/`}else n=`AG Grid: unable to use ${i} as package 'ag-grid-enterprise' has not been imported. Check that you have imported the package:\n \n import 'ag-grid-enterprise';`;return v(n),!1}static __isRegistered(t,i){var s;return!!e.globalModulesMap[t]||!!(null==(s=e.gridModulesMap[i])?void 0:s[t])}static __getRegisteredModules(t){return[...k(e.globalModulesMap),...k(e.gridModulesMap[t]||{})]}static __getGridRegisteredModules(t){return k(e.gridModulesMap[t]??{})||[]}static __isPackageBased(){return!e.moduleBased}};eo.globalModulesMap={},eo.gridModulesMap={},eo.areGridScopedModules=!1;var to=eo,io=class{constructor(e){this.beans={},this.createdBeans=[],this.destroyed=!1,e&&e.beanClasses&&(this.beanDestroyComparator=e.beanDestroyComparator,this.init(e))}init(e){var t;Object.entries(e.providedBeanInstances).forEach((([e,t])=>{this.beans[e]=t})),e.beanClasses.forEach((e=>{const t=new e;t.beanName?this.beans[t.beanName]=t:console.error(`Bean ${e.name} is missing beanName`),this.createdBeans.push(t)})),null==(t=e.derivedBeans)||t.forEach((e=>{const{beanName:t,bean:i}=e(this);this.beans[t]=i,this.createdBeans.push(i)})),e.beanInitComparator&&this.createdBeans.sort(e.beanInitComparator),this.initBeans(this.createdBeans)}getBeanInstances(){return Object.values(this.beans)}createBean(e,t){if(!e)throw Error("Can't wire to bean since it is null");return this.initBeans([e],t),e}initBeans(e,t){e.forEach((e=>{var t,i;null==(t=e.preWireBeans)||t.call(e,this.beans),null==(i=e.wireBeans)||i.call(e,this.beans)})),e.forEach((e=>{var t;return null==(t=e.preConstruct)?void 0:t.call(e)})),t&&e.forEach(t),e.forEach((e=>{var t;return null==(t=e.postConstruct)?void 0:t.call(e)}))}getBeans(){return this.beans}getBean(e){return this.beans[e]}destroy(){if(this.destroyed)return;this.destroyed=!0;const e=this.getBeanInstances();this.beanDestroyComparator&&e.sort(this.beanDestroyComparator),this.destroyBeans(e),this.beans={},this.createdBeans=[]}destroyBean(e){var t;null==(t=null==e?void 0:e.destroy)||t.call(e)}destroyBeans(e){if(e)for(let t=0;t<e.length;t++)this.destroyBean(e[t]);return[]}isDestroyed(){return this.destroyed}},so=class extends io{init(e){this.gridId=e.gridId,this.beans.context=this,super.init(e)}destroy(){super.destroy(),to.__unRegisterGridModules(this.gridId)}getGridId(){return this.gridId}},oo=(e=>(e[e.Left=0]="Left",e[e.Right=1]="Right",e))(oo||{}),no=class extends Oe{constructor(){super(...arguments),this.beanName="dragAndDropService",this.dragSourceAndParamsList=[],this.dropTargets=[]}wireBeans(e){this.ctrlsService=e.ctrlsService,this.dragService=e.dragService,this.mouseEventService=e.mouseEventService,this.environment=e.environment,this.userComponentFactory=e.userComponentFactory}addDragSource(e,t=!1){const i={eElement:e.eElement,dragStartPixels:e.dragStartPixels,onDragStart:this.onDragStart.bind(this,e),onDragStop:this.onDragStop.bind(this),onDragging:this.onDragging.bind(this),onDragCancel:this.onDragCancel.bind(this),includeTouch:t};this.dragSourceAndParamsList.push({params:i,dragSource:e}),this.dragService.addDragSource(i)}getDragAndDropImageComponent(){const{dragAndDropImageComp:e}=this;return e&&e.comp?e.comp:null}removeDragSource(e){const t=this.dragSourceAndParamsList.find((t=>t.dragSource===e));t&&(this.dragService.removeDragSource(t.params),be(this.dragSourceAndParamsList,t))}destroy(){this.dragSourceAndParamsList.forEach((e=>this.dragService.removeDragSource(e.params))),this.dragSourceAndParamsList.length=0,this.dropTargets.length=0,this.clearDragAndDropProperties(),super.destroy()}nudge(){this.dragging&&this.onDragging(this.eventLastTime,!0)}onDragStart(e,t){var i,s;this.dragging=!0,this.dragSource=e,this.eventLastTime=t,this.dragItem=this.dragSource.getDragItem(),null==(s=(i=this.dragSource).onDragStarted)||s.call(i),this.createDragAndDropImageComponent()}onDragStop(e){var t,i,s;if(null==(i=null==(t=this.dragSource)?void 0:t.onDragStopped)||i.call(t),null==(s=this.lastDropTarget)?void 0:s.onDragStop){const t=this.createDropTargetEvent(this.lastDropTarget,e,null,null,!1);this.lastDropTarget.onDragStop(t)}this.clearDragAndDropProperties()}onDragCancel(){var e,t,i;null==(t=null==(e=this.dragSource)?void 0:e.onDragCancelled)||t.call(e),(null==(i=this.lastDropTarget)?void 0:i.onDragCancel)&&this.lastDropTarget.onDragCancel(this.createDropTargetEvent(this.lastDropTarget,this.eventLastTime,null,null,!1)),this.clearDragAndDropProperties()}clearDragAndDropProperties(){this.eventLastTime=null,this.dragging=!1,this.lastDropTarget=void 0,this.dragItem=null,this.dragSource=null,this.removeDragAndDropImageComponent()}onDragging(e,t=!1){var i,s,o,n;const r=this.getHorizontalDirection(e),l=this.getVerticalDirection(e);this.eventLastTime=e,this.positionDragAndDropImageComp(e);const a=this.dropTargets.filter((t=>this.isMouseOnDropTarget(e,t))),d=this.findCurrentDropTarget(e,a);if(d!==this.lastDropTarget){if(this.leaveLastTargetIfExists(e,r,l,t),null!==this.lastDropTarget&&null===d&&(null==(s=null==(i=this.dragSource)?void 0:i.onGridExit)||s.call(i,this.dragItem)),null===this.lastDropTarget&&null!==d&&(null==(n=null==(o=this.dragSource)?void 0:o.onGridEnter)||n.call(o,this.dragItem)),this.enterDragTargetIfExists(d,e,r,l,t),d&&this.dragAndDropImageComp){const{comp:e,promise:t}=this.dragAndDropImageComp;e?e.setIcon(d.getIconName?d.getIconName():null):t.then((e=>{e&&e.setIcon(d.getIconName?d.getIconName():null)}))}this.lastDropTarget=d}else if(d&&d.onDragging){const i=this.createDropTargetEvent(d,e,r,l,t);d.onDragging(i)}}getAllContainersFromDropTarget(e){const t=e.getSecondaryContainers?e.getSecondaryContainers():null,i=[[e.getContainer()]];return t?i.concat(t):i}allContainersIntersect(e,t){for(const i of t){const{width:t,height:s,left:o,right:n,top:r,bottom:l}=i.getBoundingClientRect();if(0===t||0===s)return!1;const a=e.clientX>=o&&e.clientX<n,d=e.clientY>=r&&e.clientY<l;if(!a||!d)return!1}return!0}isMouseOnDropTarget(e,t){const i=this.getAllContainersFromDropTarget(t);let s=!1;for(const r of i)if(this.allContainersIntersect(e,r)){s=!0;break}const{eElement:o,type:n}=this.dragSource;return!(t.targetContainsSource&&!t.getContainer().contains(o))&&(s&&t.isInterestedIn(n,o))}findCurrentDropTarget(e,t){const i=t.length;if(0===i)return null;if(1===i)return t[0];const s=Q(this.gos).elementsFromPoint(e.clientX,e.clientY);for(const n of s)for(const e of t){if(-1!==((null==(o=this.getAllContainersFromDropTarget(e))?void 0:o.flatMap((e=>e)))??[]).indexOf(n))return e}var o;return null}enterDragTargetIfExists(e,t,i,s,o){if(e&&e.onDragEnter){const n=this.createDropTargetEvent(e,t,i,s,o);e.onDragEnter(n)}}leaveLastTargetIfExists(e,t,i,s){if(!this.lastDropTarget)return;if(this.lastDropTarget.onDragLeave){const o=this.createDropTargetEvent(this.lastDropTarget,e,t,i,s);this.lastDropTarget.onDragLeave(o)}const o=this.getDragAndDropImageComponent();o&&o.setIcon(null)}addDropTarget(e){this.dropTargets.push(e)}removeDropTarget(e){this.dropTargets=this.dropTargets.filter((t=>t.getContainer()!==e.getContainer()))}hasExternalDropZones(){return this.dropTargets.some((e=>e.external))}findExternalZone(e){return this.dropTargets.filter((e=>e.external)).find((t=>t.getContainer()===e.getContainer()))||null}isDropZoneWithinThisGrid(e){const t=this.ctrlsService.getGridBodyCtrl().getGui(),{dropZoneTarget:i}=e;return t.contains(i)}getHorizontalDirection(e){const t=this.eventLastTime&&this.eventLastTime.clientX,i=e.clientX;return t===i?null:t>i?0:1}getVerticalDirection(e){const t=this.eventLastTime&&this.eventLastTime.clientY,i=e.clientY;return t===i?null:t>i?0:1}createDropTargetEvent(e,t,i,s,o){const n=e.getContainer(),r=n.getBoundingClientRect(),{dragItem:l,dragSource:a}=this,d=t.clientX-r.left,h=t.clientY-r.top;return this.gos.addGridCommonParams({event:t,x:d,y:h,vDirection:s,hDirection:i,dragSource:a,fromNudge:o,dragItem:l,dropZoneTarget:n})}positionDragAndDropImageComp(e){const t=this.getDragAndDropImageComponent();if(!t)return;const i=t.getGui(),s=i.getBoundingClientRect().height,o=((null==(n=document.body)?void 0:n.clientWidth)??(window.innerHeight||(null==(r=document.documentElement)?void 0:r.clientWidth)||-1))-2;var n,r;const l=function(){var e,t;return(null==(e=document.body)?void 0:e.clientHeight)??(window.innerHeight||(null==(t=document.documentElement)?void 0:t.clientHeight)||-1)}()-2;if(!i.offsetParent)return;const a=gi(i.offsetParent),{clientY:d,clientX:h}=e;let u=d-a.top-s/2,c=h-a.left-10;const g=j(this.gos),p=g.defaultView||window,m=p.pageYOffset||g.documentElement.scrollTop,v=p.pageXOffset||g.documentElement.scrollLeft;o>0&&c+i.clientWidth>o+v&&(c=o+v-i.clientWidth),c<0&&(c=0),l>0&&u+i.clientHeight>l+m&&(u=l+m-i.clientHeight),u<0&&(u=0),i.style.left=`${c}px`,i.style.top=`${u}px`}removeDragAndDropImageComponent(){if(this.dragAndDropImageComp){const{comp:e}=this.dragAndDropImageComp;if(e){const t=e.getGui();this.dragAndDropImageParent&&this.dragAndDropImageParent.removeChild(t),this.destroyBean(e)}}this.dragAndDropImageComp=null}createDragAndDropImageComponent(){const{dragSource:e}=this;if(!e)return;const t=this.userComponentFactory.getDragAndDropImageCompDetails({dragSource:e}).newAgStackInstance();this.dragAndDropImageComp={promise:t},t.then((e=>{e&&this.isAlive()&&(this.processDragAndDropImageComponent(e),this.dragAndDropImageComp.comp=e)}))}processDragAndDropImageComponent(e){const{dragSource:t,mouseEventService:i,environment:s}=this;if(!t)return;const o=e.getGui();o.style.setProperty("position","absolute"),o.style.setProperty("z-index","9999"),i.stampTopLevelGridCompWithGridInstance(o),s.applyThemeClasses(o),e.setIcon(null);let{dragItemName:n}=t;C(n)&&(n=n()),e.setLabel(n||""),o.style.top="20px",o.style.left="20px";const r=j(this.gos);let l=null,a=null;try{l=r.fullscreenElement}catch(d){}finally{l||(l=Q(this.gos));const e=l.querySelector("body");a=e||(l instanceof ShadowRoot?l:l instanceof Document?null==l?void 0:l.documentElement:l)}this.dragAndDropImageParent=a,a?a.appendChild(o):m("Could not find document body, it is needed for drag and drop.")}},ro=class{constructor(e){this.tickingInterval=null,this.onScrollCallback=null,this.scrollContainer=e.scrollContainer,this.scrollHorizontally=-1!==e.scrollAxis.indexOf("x"),this.scrollVertically=-1!==e.scrollAxis.indexOf("y"),this.scrollByTick=null!=e.scrollByTick?e.scrollByTick:20,e.onScrollCallback&&(this.onScrollCallback=e.onScrollCallback),this.scrollVertically&&(this.getVerticalPosition=e.getVerticalPosition,this.setVerticalPosition=e.setVerticalPosition),this.scrollHorizontally&&(this.getHorizontalPosition=e.getHorizontalPosition,this.setHorizontalPosition=e.setHorizontalPosition),this.shouldSkipVerticalScroll=e.shouldSkipVerticalScroll||(()=>!1),this.shouldSkipHorizontalScroll=e.shouldSkipHorizontalScroll||(()=>!1)}check(e,t=!1){const i=t||this.shouldSkipVerticalScroll();if(i&&this.shouldSkipHorizontalScroll())return;const s=this.scrollContainer.getBoundingClientRect(),o=this.scrollByTick;this.tickLeft=e.clientX<s.left+o,this.tickRight=e.clientX>s.right-o,this.tickUp=e.clientY<s.top+o&&!i,this.tickDown=e.clientY>s.bottom-o&&!i,this.tickLeft||this.tickRight||this.tickUp||this.tickDown?this.ensureTickingStarted():this.ensureCleared()}ensureTickingStarted(){null===this.tickingInterval&&(this.tickingInterval=window.setInterval(this.doTick.bind(this),100),this.tickCount=0)}doTick(){this.tickCount++;const e=this.tickCount>20?200:this.tickCount>10?80:40;if(this.scrollVertically){const t=this.getVerticalPosition();this.tickUp&&this.setVerticalPosition(t-e),this.tickDown&&this.setVerticalPosition(t+e)}if(this.scrollHorizontally){const t=this.getHorizontalPosition();this.tickLeft&&this.setHorizontalPosition(t-e),this.tickRight&&this.setHorizontalPosition(t+e)}this.onScrollCallback&&this.onScrollCallback()}ensureCleared(){this.tickingInterval&&(window.clearInterval(this.tickingInterval),this.tickingInterval=null)}},lo=class extends Oe{wireBeans(e){this.dragAndDropService=e.dragAndDropService,this.rowModel=e.rowModel,this.pageBoundsService=e.pageBoundsService,this.focusService=e.focusService,this.sortController=e.sortController,this.filterManager=e.filterManager,this.selectionService=e.selectionService,this.mouseEventService=e.mouseEventService,this.ctrlsService=e.ctrlsService,this.funcColsService=e.funcColsService,this.rangeService=e.rangeService}constructor(e){super(),this.eContainer=e}postConstruct(){G(this.gos)&&(this.clientSideRowModel=this.rowModel),this.ctrlsService.whenReady(this,(e=>{const t=e.gridBodyCtrl;this.autoScrollService=new ro({scrollContainer:t.getBodyViewportElement(),scrollAxis:"y",getVerticalPosition:()=>t.getScrollFeature().getVScrollPosition().top,setVerticalPosition:e=>t.getScrollFeature().setVerticalScrollPosition(e),onScrollCallback:()=>{this.onDragging(this.lastDraggingEvent)}})}))}getContainer(){return this.eContainer}isInterestedIn(e){return 2===e}getIconName(){return this.gos.get("rowDragManaged")&&this.shouldPreventRowMove()?"notAllowed":"move"}shouldPreventRowMove(){var e;if(this.funcColsService.getRowGroupColumns().length)return!0;if(null==(e=this.filterManager)?void 0:e.isAnyFilterPresent())return!0;return!!this.sortController.isSortActive()}getRowNodes(e){if(!this.isFromThisGrid(e))return e.dragItem.rowNodes||[];const t=e.dragItem.rowNode;if(this.gos.get("rowDragMultiRow")){const e=[...this.selectionService.getSelectedNodes()].sort(((e,t)=>null==e.rowIndex||null==t.rowIndex?0:this.getRowIndexNumber(e)-this.getRowIndexNumber(t)));if(-1!==e.indexOf(t))return e}return[t]}onDragEnter(e){e.dragItem.rowNodes=this.getRowNodes(e),this.dispatchGridEvent("rowDragEnter",e),this.getRowNodes(e).forEach((e=>{e.setDragging(!0)})),this.onEnterOrDragging(e)}onDragging(e){this.onEnterOrDragging(e)}isFromThisGrid(e){const{dragSourceDomDataKey:t}=e.dragSource;return t===this.gos.getDomDataKey()}onEnterOrDragging(e){this.dispatchGridEvent("rowDragMove",e),this.lastDraggingEvent=e;const t=this.mouseEventService.getNormalisedPosition(e).y;this.gos.get("rowDragManaged")&&this.doManagedDrag(e,t),this.autoScrollService.check(e.event)}doManagedDrag(e,t){const i=this.isFromThisGrid(e),s=this.gos.get("rowDragManaged"),o=e.dragItem.rowNodes;s&&this.shouldPreventRowMove()||(this.gos.get("suppressMoveWhenRowDragging")||!i?this.dragAndDropService.isDropZoneWithinThisGrid(e)&&this.clientSideRowModel.highlightRowAtPixel(o[0],t):this.moveRows(o,t))}getRowIndexNumber(e){const t=e.getRowIndexString();return parseInt(we(t.split("-")),10)}moveRowAndClearHighlight(e){const t=this.clientSideRowModel.getLastHighlightedRowNode(),i=t&&1===t.highlighted,s=this.mouseEventService.getNormalisedPosition(e).y,o=e.dragItem.rowNodes;let n=i?1:0;if(this.isFromThisGrid(e))o.forEach((e=>{e.rowTop<s&&(n-=1)})),this.moveRows(o,s,n);else{const e=re(this.gos);let t=this.clientSideRowModel.getRowIndexAtPixel(s)+1;0===this.clientSideRowModel.getHighlightPosition(s)&&t--,this.clientSideRowModel.updateRowData({add:o.filter((t=>!this.clientSideRowModel.getRowNode((null==e?void 0:e({data:t.data,level:0,rowPinned:t.rowPinned}))??t.data.id))).map((e=>e.data)),addIndex:t})}this.clearRowHighlight()}clearRowHighlight(){this.clientSideRowModel.highlightRowAtPixel(null)}moveRows(e,t,i=0){var s;this.clientSideRowModel.ensureRowsAtPixel(e,t,i)&&(this.focusService.clearFocusedCell(),null==(s=this.rangeService)||s.removeAllCellRanges())}addRowDropZone(e){if(!e.getContainer())return void m("addRowDropZone - A container target needs to be provided");if(this.dragAndDropService.findExternalZone(e))return void m("addRowDropZone - target already exists in the list of DropZones. Use `removeRowDropZone` before adding it again.");let t={getContainer:e.getContainer};e.fromGrid?t=e:(e.onDragEnter&&(t.onDragEnter=t=>{e.onDragEnter(this.draggingToRowDragEvent("rowDragEnter",t))}),e.onDragLeave&&(t.onDragLeave=t=>{e.onDragLeave(this.draggingToRowDragEvent("rowDragLeave",t))}),e.onDragging&&(t.onDragging=t=>{e.onDragging(this.draggingToRowDragEvent("rowDragMove",t))}),e.onDragStop&&(t.onDragStop=t=>{e.onDragStop(this.draggingToRowDragEvent("rowDragEnd",t))}),e.onDragCancel&&(t.onDragCancel=t=>{e.onDragCancel(this.draggingToRowDragEvent("rowDragCancel",t))}));const i={isInterestedIn:e=>2===e,getIconName:()=>"move",external:!0,...t};this.dragAndDropService.addDropTarget(i),this.addDestroyFunc((()=>this.dragAndDropService.removeDropTarget(i)))}getRowDropZone(e){const t=this.getContainer.bind(this),i=this.onDragEnter.bind(this),s=this.onDragLeave.bind(this),o=this.onDragging.bind(this),n=this.onDragStop.bind(this),r=this.onDragCancel.bind(this);let l;return l=e?{getContainer:t,onDragEnter:e.onDragEnter?t=>{i(t),e.onDragEnter(this.draggingToRowDragEvent("rowDragEnter",t))}:i,onDragLeave:e.onDragLeave?t=>{s(t),e.onDragLeave(this.draggingToRowDragEvent("rowDragLeave",t))}:s,onDragging:e.onDragging?t=>{o(t),e.onDragging(this.draggingToRowDragEvent("rowDragMove",t))}:o,onDragStop:e.onDragStop?t=>{n(t),e.onDragStop(this.draggingToRowDragEvent("rowDragEnd",t))}:n,onDragCancel:e.onDragCancel?t=>{r(t),e.onDragCancel(this.draggingToRowDragEvent("rowDragCancel",t))}:r,fromGrid:!0}:{getContainer:t,onDragEnter:i,onDragLeave:s,onDragging:o,onDragStop:n,onDragCancel:r,fromGrid:!0},l}draggingToRowDragEvent(e,t){const i=this.mouseEventService.getNormalisedPosition(t).y;let s,o,n=-1;switch(i>this.pageBoundsService.getCurrentPageHeight()||(n=this.rowModel.getRowIndexAtPixel(i),s=this.rowModel.getRow(n)),t.vDirection){case 1:o="down";break;case 0:o="up";break;default:o=null}return this.gos.addGridCommonParams({type:e,event:t.event,node:t.dragItem.rowNode,nodes:t.dragItem.rowNodes,overIndex:n,overNode:s,y:i,vDirection:o})}dispatchGridEvent(e,t){const i=this.draggingToRowDragEvent(e,t);this.eventService.dispatchEvent(i)}onDragLeave(e){this.dispatchGridEvent("rowDragLeave",e),this.stopDragging(e),this.gos.get("rowDragManaged")&&this.clearRowHighlight()}onDragStop(e){this.dispatchGridEvent("rowDragEnd",e),this.stopDragging(e),this.gos.get("rowDragManaged")&&(this.gos.get("suppressMoveWhenRowDragging")||!this.isFromThisGrid(e))&&this.dragAndDropService.isDropZoneWithinThisGrid(e)&&this.moveRowAndClearHighlight(e)}onDragCancel(e){this.dispatchGridEvent("rowDragCancel",e),this.stopDragging(e),this.gos.get("rowDragManaged")&&(this.gos.get("suppressMoveWhenRowDragging")||!this.isFromThisGrid(e))&&this.dragAndDropService.isDropZoneWithinThisGrid(e)&&this.clearRowHighlight()}stopDragging(e){this.autoScrollService.ensureCleared(),this.getRowNodes(e).forEach((e=>{e.setDragging(!1)}))}},ao=class extends Oe{constructor(){super(...arguments),this.beanName="dragService",this.dragEndFunctions=[],this.dragSources=[]}wireBeans(e){this.mouseEventService=e.mouseEventService}destroy(){this.dragSources.forEach(this.removeListener.bind(this)),this.dragSources.length=0,super.destroy()}removeListener(e){const t=e.dragSource.eElement,i=e.mouseDownListener;if(t.removeEventListener("mousedown",i),e.touchEnabled){const i=e.touchStartListener;t.removeEventListener("touchstart",i,{passive:!0})}}removeDragSource(e){const t=this.dragSources.find((t=>t.dragSource===e));t&&(this.removeListener(t),be(this.dragSources,t))}isDragging(){return this.dragging}addDragSource(e){const t=this.onMouseDown.bind(this,e),{eElement:i,includeTouch:s,stopPropagationForTouch:o}=e;i.addEventListener("mousedown",t);let n=null;const r=this.gos.get("suppressTouch");s&&!r&&(n=t=>{oi(t.target)||(o&&t.stopPropagation(),this.onTouchStart(e,t))},i.addEventListener("touchstart",n,{passive:!1})),this.dragSources.push({dragSource:e,mouseDownListener:t,touchStartListener:n,touchEnabled:!!s})}getStartTarget(){return this.startTarget}onTouchStart(e,t){this.currentDragParams=e,this.dragging=!1;const i=t.touches[0];this.touchLastTime=i,this.touchStart=i;const s=t=>this.onTouchUp(t,e.eElement),o=t.target,n=[{target:Q(this.gos),type:"touchmove",listener:e=>{e.cancelable&&e.preventDefault()},options:{passive:!1}},{target:o,type:"touchmove",listener:t=>this.onTouchMove(t,e.eElement),options:{passive:!0}},{target:o,type:"touchend",listener:s,options:{passive:!0}},{target:o,type:"touchcancel",listener:s,options:{passive:!0}}];this.addTemporaryEvents(n),0===e.dragStartPixels&&this.onCommonMove(i,this.touchStart,e.eElement)}onMouseDown(e,t){const i=t;if(e.skipMouseEvent&&e.skipMouseEvent(t))return;if(i._alreadyProcessedByDragService)return;if(i._alreadyProcessedByDragService=!0,0!==t.button)return;this.shouldPreventMouseEvent(t)&&t.preventDefault(),this.currentDragParams=e,this.dragging=!1,this.mouseStartEvent=t,this.startTarget=t.target;const s=Q(this.gos),o=[{target:s,type:"mousemove",listener:t=>this.onMouseMove(t,e.eElement)},{target:s,type:"mouseup",listener:t=>this.onMouseUp(t,e.eElement)},{target:s,type:"contextmenu",listener:e=>e.preventDefault()},{target:s,type:"keydown",listener:t=>{t.key===gs.ESCAPE&&this.cancelDrag(e.eElement)}}];this.addTemporaryEvents(o),0===e.dragStartPixels&&this.onMouseMove(t,e.eElement)}addTemporaryEvents(e){e.forEach((e=>{const{target:t,type:i,listener:s,options:o}=e;t.addEventListener(i,s,o)})),this.dragEndFunctions.push((()=>{e.forEach((e=>{const{target:t,type:i,listener:s,options:o}=e;t.removeEventListener(i,s,o)}))}))}isEventNearStartEvent(e,t){const{dragStartPixels:i}=this.currentDragParams;return ss(e,t,P(i)?i:4)}getFirstActiveTouch(e){for(let t=0;t<e.length;t++)if(e[t].identifier===this.touchStart.identifier)return e[t];return null}onCommonMove(e,t,i){var s;if(!this.dragging){if(this.isEventNearStartEvent(e,t))return;if(this.dragging=!0,this.eventService.dispatchEvent({type:"dragStarted",target:i}),this.currentDragParams.onDragStart(t),!this.currentDragParams)return void(this.dragging=!1);this.currentDragParams.onDragging(t)}null==(s=this.currentDragParams)||s.onDragging(e)}onTouchMove(e,t){const i=this.getFirstActiveTouch(e.touches);i&&this.onCommonMove(i,this.touchStart,t)}onMouseMove(e,t){var i;if(Hi()){null==(i=j(this.gos).getSelection())||i.removeAllRanges()}this.shouldPreventMouseEvent(e)&&e.preventDefault(),this.onCommonMove(e,this.mouseStartEvent,t)}shouldPreventMouseEvent(e){const t=this.gos.get("enableCellTextSelection"),i="mousemove"===e.type;return t&&i&&e.cancelable&&this.mouseEventService.isEventFromThisGrid(e)&&!this.isOverFormFieldElement(e)}isOverFormFieldElement(e){const t=e.target,i=null==t?void 0:t.tagName.toLocaleLowerCase();return!!(null==i?void 0:i.match("^a$|textarea|input|select|button"))}onTouchUp(e,t){let i=this.getFirstActiveTouch(e.changedTouches);i||(i=this.touchLastTime),this.onUpCommon(i,t)}onMouseUp(e,t){this.onUpCommon(e,t)}onUpCommon(e,t){this.dragging&&(this.dragging=!1,this.currentDragParams.onDragStop(e),this.eventService.dispatchEvent({type:"dragStopped",target:t})),this.resetDragProperties()}cancelDrag(e){var t,i;this.eventService.dispatchEvent({type:"dragCancelled",target:e}),null==(i=null==(t=this.currentDragParams)?void 0:t.onDragCancel)||i.call(t),this.resetDragProperties()}resetDragProperties(){this.mouseStartEvent=null,this.startTarget=null,this.touchStart=null,this.touchLastTime=null,this.currentDragParams=null,this.dragEndFunctions.forEach((e=>e())),this.dragEndFunctions.length=0}},ho=class extends Ji{constructor(e,t,i,s,o,n){super(),this.cellValueFn=e,this.rowNode=t,this.column=i,this.customGui=s,this.dragStartPixels=o,this.suppressVisibilityChange=n,this.dragSource=null}wireBeans(e){this.beans=e}isCustomGui(){return null!=this.customGui}postConstruct(){if(this.customGui?this.setDragElement(this.customGui,this.dragStartPixels):(this.setTemplate('<div class="ag-drag-handle ag-row-drag" aria-hidden="true"></div>'),this.getGui().appendChild(ts("rowDrag",this.gos,null)),this.addDragSource()),this.checkCompatibility(),!this.suppressVisibilityChange){const e=this.gos.get("rowDragManaged")?new go(this,this.beans,this.rowNode,this.column):new co(this,this.beans,this.rowNode,this.column);this.createManagedBean(e,this.beans.context)}}setDragElement(e,t){this.setTemplateFromElement(e,void 0,void 0,!0),this.addDragSource(t)}getSelectedNodes(){if(!this.gos.get("rowDragMultiRow"))return[this.rowNode];const e=this.beans.selectionService.getSelectedNodes();return-1!==e.indexOf(this.rowNode)?e:[this.rowNode]}checkCompatibility(){const e=this.gos.get("rowDragManaged");this.gos.get("treeData")&&e&&m("If using row drag with tree data, you cannot have rowDragManaged=true")}getDragItem(){return{rowNode:this.rowNode,rowNodes:this.getSelectedNodes(),columns:this.column?[this.column]:void 0,defaultTextValue:this.cellValueFn()}}getRowDragText(e){if(e){const t=e.getColDef();if(t.rowDragText)return t.rowDragText}return this.gos.get("rowDragText")}addDragSource(e=4){this.dragSource&&this.removeDragSource();const t=this.getGui();this.gos.get("enableCellTextSelection")&&(this.removeMouseDownListener(),this.mouseDownListener=this.addManagedElementListeners(t,{mousedown:e=>{null==e||e.preventDefault()}})[0]);const i=this.localeService.getLocaleTextFunc();this.dragSource={type:2,eElement:t,dragItemName:()=>{var e;const t=this.getDragItem(),s=(null==(e=t.rowNodes)?void 0:e.length)||1,o=this.getRowDragText(this.column);return o?o(t,s):1===s?this.cellValueFn():`${s} ${i("rowDragRows","rows")}`},getDragItem:()=>this.getDragItem(),dragStartPixels:e,dragSourceDomDataKey:this.gos.getDomDataKey()},this.beans.dragAndDropService.addDragSource(this.dragSource,!0)}destroy(){this.removeDragSource(),this.removeMouseDownListener(),super.destroy()}removeDragSource(){this.dragSource&&(this.beans.dragAndDropService.removeDragSource(this.dragSource),this.dragSource=null)}removeMouseDownListener(){this.mouseDownListener&&(this.mouseDownListener(),this.mouseDownListener=void 0)}},uo=class extends Oe{constructor(e,t,i){super(),this.parent=e,this.rowNode=t,this.column=i}setDisplayedOrVisible(e){const t={skipAriaHidden:!0};if(e)this.parent.setDisplayed(!1,t);else{let e=!0,i=!1;this.column&&(e=this.column.isRowDrag(this.rowNode)||this.parent.isCustomGui(),i=C(this.column.getColDef().rowDrag)),i?(this.parent.setDisplayed(!0,t),this.parent.setVisible(e,t)):(this.parent.setDisplayed(e,t),this.parent.setVisible(!0,t))}}},co=class extends uo{constructor(e,t,i,s){super(e,i,s),this.beans=t}postConstruct(){this.addManagedPropertyListener("suppressRowDrag",this.onSuppressRowDrag.bind(this));const e=this.workOutVisibility.bind(this);this.addManagedListeners(this.rowNode,{dataChanged:e,cellChanged:e}),this.addManagedListeners(this.beans.eventService,{newColumnsLoaded:e}),this.workOutVisibility()}onSuppressRowDrag(){this.workOutVisibility()}workOutVisibility(){const e=this.gos.get("suppressRowDrag");this.setDisplayedOrVisible(e)}},go=class extends uo{constructor(e,t,i,s){super(e,i,s),this.beans=t}postConstruct(){const e=this.workOutVisibility.bind(this);this.addManagedListeners(this.beans.eventService,{sortChanged:e,filterChanged:e,columnRowGroupChanged:e,newColumnsLoaded:e}),this.addManagedListeners(this.rowNode,{dataChanged:e,cellChanged:e}),this.addManagedPropertyListener("suppressRowDrag",this.onSuppressRowDrag.bind(this)),this.workOutVisibility()}onSuppressRowDrag(){this.workOutVisibility()}workOutVisibility(){const e=this.beans.ctrlsService.getGridBodyCtrl().getRowDragFeature(),t=e&&e.shouldPreventRowMove(),i=this.gos.get("suppressRowDrag"),s=this.beans.dragAndDropService.hasExternalDropZones(),o=t&&!s||i;this.setDisplayedOrVisible(o)}},po=new Set(["localEventService","__objectId","sticky","__autoHeights","checkAutoHeightsDebounced"]),mo=class e{constructor(t){this.rowIndex=null,this.key=null,this.sourceRowIndex=-1,this.childrenMapped={},this.treeNode=null,this.treeNodeFlags=0,this.displayed=!1,this.rowTop=null,this.oldRowTop=null,this.selectable=!0,this.__objectId=e.OBJECT_ID_SEQUENCE++,this.__autoHeights={},this.alreadyRendered=!1,this.highlighted=null,this.hovered=!1,this.selected=!1,this.beans=t}setData(e){this.setDataCommon(e,!1)}updateData(e){this.setDataCommon(e,!0)}setDataCommon(e,t){var i;const s=this.data;this.data=e,this.beans.valueCache.onDataChanged(),this.updateDataOnDetailNode(),this.checkRowSelectable(),this.resetQuickFilterAggregateText();const o=this.createDataChangedEvent(e,s,t);null==(i=this.localEventService)||i.dispatchEvent(o)}updateDataOnDetailNode(){this.detailNode&&(this.detailNode.data=this.data)}createDataChangedEvent(e,t,i){return{type:"dataChanged",node:this,oldData:t,newData:e,update:i}}getRowIndexString(){return null==this.rowIndex?(v("Could not find rowIndex, this means tasks are being executed on a rowNode that has been removed from the grid."),null):"top"===this.rowPinned?e.ID_PREFIX_TOP_PINNED+this.rowIndex:"bottom"===this.rowPinned?e.ID_PREFIX_BOTTOM_PINNED+this.rowIndex:this.rowIndex.toString()}createDaemonNode(){const t=new e(this.beans);return t.id=this.id,t.data=this.data,t.__daemon=!0,t.selected=this.selected,t.level=this.level,t}setDataAndId(e,t){var i;const s=P(this.id)?this.createDaemonNode():null,o=this.data;this.data=e,this.updateDataOnDetailNode(),this.setId(t),this.checkRowSelectable(),this.beans.selectionService.syncInRowNode(this,s);const n=this.createDataChangedEvent(e,o,!1);null==(i=this.localEventService)||i.dispatchEvent(n)}checkRowSelectable(){const e=ge(this.beans.gos);this.setRowSelectable(!e||e(this))}setRowSelectable(e,t){if(this.selectable!==e){if(this.selectable=e,this.dispatchRowEvent("selectableChanged"),t)return;if(Ce(this.beans.gos)){const e=this.calculateSelectedFromChildren();return void this.setSelectedParams({newValue:e??!1,source:"selectableChanged"})}this.isSelected()&&!this.selectable&&this.setSelectedParams({newValue:!1,source:"selectableChanged"})}}setId(t){var i;const s=re(this.beans.gos);if(s)if(this.data){const t=(null==(i=this.parent)?void 0:i.getRoute())??[];this.id=s({data:this.data,parentKeys:t.length>0?t:void 0,level:this.level,rowPinned:this.rowPinned}),this.id.startsWith(e.ID_PREFIX_ROW_GROUP)&&v(`Row IDs cannot start with ${e.ID_PREFIX_ROW_GROUP}, this is a reserved prefix for AG Grid's row grouping feature.`)}else this.id=void 0;else this.id=t}setRowTop(e){this.oldRowTop=this.rowTop,this.rowTop!==e&&(this.rowTop=e,this.dispatchRowEvent("topChanged"),this.setDisplayed(null!==e))}clearRowTopAndRowIndex(){this.oldRowTop=null,this.setRowTop(null),this.setRowIndex(null)}setHovered(e){this.hovered=e}isHovered(){return this.hovered}setMaster(e){this.master!==e&&(this.master&&!e&&(this.expanded=!1),this.master=e,this.dispatchRowEvent("masterChanged"))}setGroup(e){this.group!==e&&(this.group&&!e&&(this.expanded=!1),this.group=e,this.updateHasChildren(),this.checkRowSelectable(),this.dispatchRowEvent("groupChanged"))}setRowHeight(e,t=!1){this.rowHeight=e,this.rowHeightEstimated=t,this.dispatchRowEvent("heightChanged")}setRowAutoHeight(e,t){this.__autoHeights||(this.__autoHeights={}),this.__autoHeights[t.getId()]=e,null!=e&&(null==this.checkAutoHeightsDebounced&&(this.checkAutoHeightsDebounced=b(this.checkAutoHeights.bind(this),1)),this.checkAutoHeightsDebounced())}checkAutoHeights(){var e;let t=!1,i=!0,s=0;const o=this.__autoHeights;if(null==o)return;if(this.beans.visibleColsService.getAllAutoHeightCols().forEach((e=>{let n=o[e.getId()];if(null==n){if(!this.beans.columnModel.isColSpanActive())return void(t=!0);{let i=[];switch(e.getPinned()){case"left":i=this.beans.visibleColsService.getLeftColsForRow(this);break;case"right":i=this.beans.visibleColsService.getRightColsForRow(this);break;case null:i=this.beans.columnViewportService.getColsWithinViewport(this)}if(i.includes(e))return void(t=!0);n=-1}}else i=!1;n>s&&(s=n)})),t)return;if((i||s<10)&&(s=z(this.beans.gos,this).height),s==this.rowHeight)return;this.setRowHeight(s);const n=this.beans.rowModel;null==(e=n.onRowHeightChangedDebounced)||e.call(n)}setExpanded(e,t,i){if(this.expanded===e)return;this.expanded=e,this.dispatchRowEvent("expandedChanged");const s={...this.createGlobalRowEvent("rowGroupOpened"),expanded:e,event:t||null};this.beans.rowNodeEventThrottle.dispatchExpanded(s,i),this.beans.rowRenderer.refreshCells({rowNodes:[this]})}createGlobalRowEvent(e){return this.beans.gos.addGridCommonParams({type:e,node:this,data:this.data,rowIndex:this.rowIndex,rowPinned:this.rowPinned})}setDataValue(e,t,i){const s=(()=>"string"!=typeof e?e:this.beans.columnModel.getCol(e)??this.beans.columnModel.getColDefCol(e))(),o=this.beans.valueService.getValueForDisplay(s,this);if(this.beans.gos.get("readOnlyEdit"))return this.beans.eventService.dispatchEvent({type:"cellEditRequest",event:null,rowIndex:this.rowIndex,rowPinned:this.rowPinned,column:s,colDef:s.getColDef(),data:this.data,node:this,oldValue:o,newValue:t,value:t,source:i}),!1;const n=this.beans.valueService.setValue(this,s,t,i);return this.dispatchCellChangedEvent(s,t,o),this.checkRowSelectable(),n}setGroupValue(e,t){const i=this.beans.columnModel.getCol(e);D(this.groupData)&&(this.groupData={});const s=i.getColId(),o=this.groupData[s];o!==t&&(this.groupData[s]=t,this.dispatchCellChangedEvent(i,t,o))}setAggData(e){const t=this.aggData;if(this.aggData=e,this.localEventService){const i=e=>{const i=this.aggData?this.aggData[e]:void 0,s=t?t[e]:void 0;if(i===s)return;const o=this.beans.columnModel.getCol(e);o&&this.dispatchCellChangedEvent(o,i,s)};for(const e in t)i(e);for(const s in e)t&&s in t||i(s)}}updateHasChildren(){let e=this.group&&!this.footer||this.childrenAfterGroup&&this.childrenAfterGroup.length>0;if(N(this.beans.gos)){const t=this.beans.gos.get("treeData"),i=this.beans.gos.get("isServerSideGroup");e=!this.stub&&!this.footer&&(t?!!i&&i(this.data):!!this.group)}e!==this.__hasChildren&&(this.__hasChildren=!!e,this.dispatchRowEvent("hasChildrenChanged"))}hasChildren(){return null==this.__hasChildren&&this.updateHasChildren(),this.__hasChildren}dispatchCellChangedEvent(e,t,i){var s;const o={type:"cellChanged",node:this,column:e,newValue:t,oldValue:i};null==(s=this.localEventService)||s.dispatchEvent(o)}resetQuickFilterAggregateText(){this.quickFilterAggregateText=null}isExpandable(){return!this.footer&&(this.beans.columnModel.isPivotMode()?this.hasChildren()&&!this.leafGroup:this.hasChildren()||!!this.master)}isSelected(){return this.footer?this.sibling.isSelected():this.selected}depthFirstSearch(e){this.childrenAfterGroup&&this.childrenAfterGroup.forEach((t=>t.depthFirstSearch(e))),e(this)}calculateSelectedFromChildren(){var e;let t=!1,i=!1;if(!(null==(e=this.childrenAfterGroup)?void 0:e.length))return this.selectable?this.selected:null;for(let s=0;s<this.childrenAfterGroup.length;s++){const e=this.childrenAfterGroup[s];let o=e.isSelected();if(!e.selectable){const t=e.calculateSelectedFromChildren();if(null===t)continue;o=t}switch(o){case!0:t=!0;break;case!1:i=!0;break;default:return}}return t&&i?void 0:!!t||!i&&(this.selectable?this.selected:null)}setSelectedInitialValue(e){this.selected=e}dispatchRowEvent(e){var t;null==(t=this.localEventService)||t.dispatchEvent({type:e,node:this})}selectThisNode(e,t,i="api"){const s=!this.selectable&&e,o=this.selected===e;if(s||o)return!1;this.selected=e,this.dispatchRowEvent("rowSelected");const n=this.sibling;return n&&n.footer&&n.localEventService&&n.dispatchRowEvent("rowSelected"),this.beans.eventService.dispatchEvent({...this.createGlobalRowEvent("rowSelected"),event:t||null,source:i}),!0}setSelected(e,t=!1,i="api"){"boolean"!=typeof i?this.setSelectedParams({newValue:e,clearSelection:t,rangeSelect:!1,source:i}):m("since version v30, rowNode.setSelected() property `suppressFinishActions` has been removed, please use `gridApi.setNodesSelected()` for bulk actions, and the event `source` property for ignoring events instead.")}setSelectedParams(e){return this.rowPinned?(m("cannot select pinned rows"),0):void 0===this.id?(m("cannot select node until id for node is known"),0):this.beans.selectionService.setNodesSelected({...e,nodes:[this.footer?this.sibling:this]})}isRowPinned(){return!!this.rowPinned}addEventListener(e,t){var i;this.localEventService||(this.localEventService=new h),this.beans.frameworkOverrides.shouldWrapOutgoing&&!this.frameworkEventListenerService&&(this.localEventService.setFrameworkOverrides(this.beans.frameworkOverrides),this.frameworkEventListenerService=new je(this.beans.frameworkOverrides));const s=(null==(i=this.frameworkEventListenerService)?void 0:i.wrap(e,t))??t;this.localEventService.addEventListener(e,s)}removeEventListener(e,t){var i;if(!this.localEventService)return;const s=(null==(i=this.frameworkEventListenerService)?void 0:i.unwrap(e,t))??t;this.localEventService.removeEventListener(e,s),this.localEventService.noRegisteredListenersExist()&&(this.localEventService=null)}onMouseEnter(){this.dispatchRowEvent("mouseEnter")}onMouseLeave(){this.dispatchRowEvent("mouseLeave")}isFullWidthCell(){if(m("since version v32.2.0, rowNode.isFullWidthCell() has been deprecated. Instead check `rowNode.detail` followed by the user provided `isFullWidthRow` grid option."),this.detail)return!0;const e=this.beans.gos.getCallback("isFullWidthRow");return!!e&&e({rowNode:this})}getRoute(){if(-1===this.level)return[];if(null==this.key)return;const e=[];let t=this;for(;t&&null!=t.key;)e.push(t.key),t=t.parent;return e.reverse()}createFooter(){if(this.sibling)return;const t=new e(this.beans);Object.keys(this).forEach((e=>{po.has(e)||(t[e]=this[e])})),t.footer=!0,t.setRowTop(null),t.setRowIndex(null),t.oldRowTop=null,t.id="rowGroupFooter_"+this.id,t.sibling=this,this.sibling=t}destroyFooter(){this.sibling&&(this.sibling.setRowTop(null),this.sibling.setRowIndex(null),this.sibling=void 0)}setFirstChild(e){this.firstChild!==e&&(this.firstChild=e,this.dispatchRowEvent("firstChildChanged"))}setLastChild(e){this.lastChild!==e&&(this.lastChild=e,this.dispatchRowEvent("lastChildChanged"))}setChildIndex(e){this.childIndex!==e&&(this.childIndex=e,this.dispatchRowEvent("childIndexChanged"))}setDisplayed(e){this.displayed!==e&&(this.displayed=e,this.dispatchRowEvent("displayedChanged"))}setDragging(e){this.dragging!==e&&(this.dragging=e,this.dispatchRowEvent("draggingChanged"))}setHighlighted(e){this.highlighted!==e&&(this.highlighted=e,this.dispatchRowEvent("rowHighlightChanged"))}setAllChildrenCount(e){this.allChildrenCount!==e&&(this.allChildrenCount=e,this.dispatchRowEvent("allChildrenCountChanged"))}setRowIndex(e){this.rowIndex!==e&&(this.rowIndex=e,this.dispatchRowEvent("rowIndexChanged"))}setUiLevel(e){this.uiLevel!==e&&(this.uiLevel=e,this.dispatchRowEvent("uiLevelChanged"))}};mo.ID_PREFIX_ROW_GROUP="row-group-",mo.ID_PREFIX_TOP_PINNED="t-",mo.ID_PREFIX_BOTTOM_PINNED="b-",mo.OBJECT_ID_SEQUENCE=0;var vo=mo,Co=class extends Ji{constructor(e,t){super('<div class="ag-filter"></div>'),this.column=e,this.source=t,this.filterWrapper=null}wireBeans(e){this.filterManager=e.filterManager,this.columnModel=e.columnModel}postConstruct(){this.createFilter(!0),this.addManagedEventListeners({filterDestroyed:this.onFilterDestroyed.bind(this)})}hasFilter(){return!!this.filterWrapper}getFilter(){var e;return(null==(e=this.filterWrapper)?void 0:e.filterPromise)??null}afterInit(){var e,t;return(null==(t=null==(e=this.filterWrapper)?void 0:e.filterPromise)?void 0:t.then((()=>{})))??As.resolve()}afterGuiAttached(e){var t,i;null==(i=null==(t=this.filterWrapper)?void 0:t.filterPromise)||i.then((t=>{var i;null==(i=null==t?void 0:t.afterGuiAttached)||i.call(t,e)}))}afterGuiDetached(){var e,t;null==(t=null==(e=this.filterWrapper)?void 0:e.filterPromise)||t.then((e=>{var t;null==(t=null==e?void 0:e.afterGuiDetached)||t.call(e)}))}createFilter(e){var t,i;const{column:s,source:o}=this;this.filterWrapper=(null==(t=this.filterManager)?void 0:t.getOrCreateFilterWrapper(s))??null,(null==(i=this.filterWrapper)?void 0:i.filterPromise)&&this.filterWrapper.filterPromise.then((t=>{const i=t.getGui();P(i)||m(`getGui method from filter returned ${i}; it should be a DOM element.`),this.appendChild(i),e&&this.eventService.dispatchEvent({type:"filterOpened",column:s,source:o,eGui:this.getGui()})}))}onFilterDestroyed(e){"api"!==e.source&&"paramsUpdated"!==e.source||e.column.getId()!==this.column.getId()||!this.columnModel.getColDefCol(this.column)||(vi(this.getGui()),this.createFilter())}destroy(){this.filterWrapper=null,super.destroy()}},fo="ag-resizer-wrapper",wo=(e,t)=>`<div data-ref="${e}Resizer" class="ag-resizer ag-resizer-${t}"></div>`,So=`<div class="${fo}">\n ${wo("eTopLeft","topLeft")}\n ${wo("eTop","top")}\n ${wo("eTopRight","topRight")}\n ${wo("eRight","right")}\n ${wo("eBottomRight","bottomRight")}\n ${wo("eBottom","bottom")}\n ${wo("eBottomLeft","bottomLeft")}\n ${wo("eLeft","left")}\n </div>`,yo=class extends Oe{constructor(e,t){super(),this.element=e,this.dragStartPosition={x:0,y:0},this.position={x:0,y:0},this.lastSize={width:-1,height:-1},this.positioned=!1,this.resizersAdded=!1,this.resizeListeners=[],this.boundaryEl=null,this.isResizing=!1,this.isMoving=!1,this.resizable={},this.movable=!1,this.currentResizer=null,this.config=Object.assign({},{popup:!1},t)}wireBeans(e){this.popupService=e.popupService,this.resizeObserverService=e.resizeObserverService,this.dragService=e.dragService}center(){const{clientHeight:e,clientWidth:t}=this.offsetParent,i=t/2-this.getWidth()/2,s=e/2-this.getHeight()/2;this.offsetElement(i,s)}initialisePosition(){if(this.positioned)return;const{centered:e,forcePopupParentAsOffsetParent:t,minWidth:i,width:s,minHeight:o,height:n,x:r,y:l}=this.config;this.offsetParent||this.setOffsetParent();let a=0,d=0;const h=wi(this.element);if(h){const e=this.findBoundaryElement(),t=window.getComputedStyle(e);if(null!=t.minWidth){const i=e.offsetWidth-this.element.offsetWidth;d=parseInt(t.minWidth,10)-i}if(null!=t.minHeight){const i=e.offsetHeight-this.element.offsetHeight;a=parseInt(t.minHeight,10)-i}}if(this.minHeight=o||a,this.minWidth=i||d,s&&this.setWidth(s),n&&this.setHeight(n),s&&n||this.refreshSize(),e)this.center();else if(r||l)this.offsetElement(r,l);else if(h&&t){let e=this.boundaryEl,t=!0;if(e||(e=this.findBoundaryElement(),t=!1),e){const i=parseFloat(e.style.top),s=parseFloat(e.style.left);t?this.offsetElement(isNaN(s)?0:s,isNaN(i)?0:i):this.setPosition(s,i)}}this.positioned=!!this.offsetParent}isPositioned(){return this.positioned}getPosition(){return this.position}setMovable(e,t){if(!this.config.popup||e===this.movable)return;this.movable=e;const i=this.moveElementDragListener||{eElement:t,onDragStart:this.onMoveStart.bind(this),onDragging:this.onMove.bind(this),onDragStop:this.onMoveEnd.bind(this)};e?(this.dragService.addDragSource(i),this.moveElementDragListener=i):(this.dragService.removeDragSource(i),this.moveElementDragListener=void 0)}setResizable(e){if(this.clearResizeListeners(),e?this.addResizers():this.removeResizers(),"boolean"==typeof e){if(!1===e)return;e={topLeft:e,top:e,topRight:e,right:e,bottomRight:e,bottom:e,bottomLeft:e,left:e}}Object.keys(e).forEach((t=>{const i=!!e[t],s=this.getResizerElement(t),o={dragStartPixels:0,eElement:s,onDragStart:e=>this.onResizeStart(e,t),onDragging:this.onResize.bind(this),onDragStop:e=>this.onResizeEnd(e,t)};(i||!this.isAlive()&&!i)&&(i?(this.dragService.addDragSource(o),this.resizeListeners.push(o),s.style.pointerEvents="all"):s.style.pointerEvents="none",this.resizable[t]=i)}))}removeSizeFromEl(){this.element.style.removeProperty("height"),this.element.style.removeProperty("width"),this.element.style.removeProperty("flex")}restoreLastSize(){this.element.style.flex="0 0 auto";const{height:e,width:t}=this.lastSize;-1!==t&&(this.element.style.width=`${t}px`),-1!==e&&(this.element.style.height=`${e}px`)}getHeight(){return this.element.offsetHeight}setHeight(e){const{popup:t}=this.config,i=this.element;let s=!1;if("string"==typeof e&&-1!==e.indexOf("%"))Ri(i,e),e=ui(i),s=!0;else if(e=Math.max(this.minHeight,e),this.positioned){const t=this.getAvailableHeight();t&&e>t&&(e=t)}this.getHeight()!==e&&(s?(i.style.maxHeight="unset",i.style.minHeight="unset"):t?Ri(i,e):(i.style.height=`${e}px`,i.style.flex="0 0 auto",this.lastSize.height="number"==typeof e?e:parseFloat(e)))}getAvailableHeight(){const{popup:e,forcePopupParentAsOffsetParent:t}=this.config;this.positioned||this.initialisePosition();const{clientHeight:i}=this.offsetParent;if(!i)return null;const s=this.element.getBoundingClientRect(),o=this.offsetParent.getBoundingClientRect(),n=e?this.position.y:s.top,r=e?0:o.top;let l=0;if(t){const e=this.element.parentElement;if(e){const{bottom:t}=e.getBoundingClientRect();l=t-s.bottom}}return i+r-n-l}getWidth(){return this.element.offsetWidth}setWidth(e){const t=this.element,{popup:i}=this.config;let s=!1;if("string"==typeof e&&-1!==e.indexOf("%"))bi(t,e),e=ci(t),s=!0;else if(this.positioned){e=Math.max(this.minWidth,e);const{clientWidth:t}=this.offsetParent,s=i?this.position.x:this.element.getBoundingClientRect().left;t&&e+s>t&&(e=t-s)}this.getWidth()!==e&&(s?(t.style.maxWidth="unset",t.style.minWidth="unset"):this.config.popup?bi(t,e):(t.style.width=`${e}px`,t.style.flex=" unset",this.lastSize.width="number"==typeof e?e:parseFloat(e)))}offsetElement(e=0,t=0){const{forcePopupParentAsOffsetParent:i}=this.config,s=i?this.boundaryEl:this.element;s&&(this.popupService.positionPopup({ePopup:s,keepWithinBounds:!0,skipObserver:this.movable||this.isResizable(),updatePosition:()=>({x:e,y:t})}),this.setPosition(parseFloat(s.style.left),parseFloat(s.style.top)))}constrainSizeToAvailableHeight(e){if(!this.config.forcePopupParentAsOffsetParent)return;const t=()=>{const e=this.getAvailableHeight();this.element.style.setProperty("max-height",`${e}px`)};e?this.resizeObserverSubscriber=this.resizeObserverService.observeResize(this.popupService.getPopupParent(),t):(this.element.style.removeProperty("max-height"),this.resizeObserverSubscriber&&(this.resizeObserverSubscriber(),this.resizeObserverSubscriber=void 0))}setPosition(e,t){this.position.x=e,this.position.y=t}updateDragStartPosition(e,t){this.dragStartPosition={x:e,y:t}}calculateMouseMovement(e){const{e:t,isLeft:i,isTop:s,anywhereWithin:o,topBuffer:n}=e,r=t.clientX-this.dragStartPosition.x,l=t.clientY-this.dragStartPosition.y;return{movementX:this.shouldSkipX(t,!!i,!!o,r)?0:r,movementY:this.shouldSkipY(t,!!s,n,l)?0:l}}shouldSkipX(e,t,i,s){const o=this.element.getBoundingClientRect(),n=this.offsetParent.getBoundingClientRect(),r=this.boundaryEl.getBoundingClientRect(),l=this.config.popup?this.position.x:o.left;let a=l<=0&&n.left>=e.clientX||n.right<=e.clientX&&n.right<=r.right;return!!a||(a=t?s<0&&e.clientX>l+n.left||s>0&&e.clientX<l+n.left:i?s<0&&e.clientX>r.right||s>0&&e.clientX<l+n.left:s<0&&e.clientX>r.right||s>0&&e.clientX<r.right,a)}shouldSkipY(e,t,i=0,s){const o=this.element.getBoundingClientRect(),n=this.offsetParent.getBoundingClientRect(),r=this.boundaryEl.getBoundingClientRect(),l=this.config.popup?this.position.y:o.top;let a=l<=0&&n.top>=e.clientY||n.bottom<=e.clientY&&n.bottom<=r.bottom;return!!a||(a=t?s<0&&e.clientY>l+n.top+i||s>0&&e.clientY<l+n.top:s<0&&e.clientY>r.bottom||s>0&&e.clientY<r.bottom,a)}createResizeMap(){const e=this.element;this.resizerMap={topLeft:{element:e.querySelector("[data-ref=eTopLeftResizer]")},top:{element:e.querySelector("[data-ref=eTopResizer]")},topRight:{element:e.querySelector("[data-ref=eTopRightResizer]")},right:{element:e.querySelector("[data-ref=eRightResizer]")},bottomRight:{element:e.querySelector("[data-ref=eBottomRightResizer]")},bottom:{element:e.querySelector("[data-ref=eBottomResizer]")},bottomLeft:{element:e.querySelector("[data-ref=eBottomLeftResizer]")},left:{element:e.querySelector("[data-ref=eLeftResizer]")}}}addResizers(){if(this.resizersAdded)return;const e=this.element;if(!e)return;const t=(new DOMParser).parseFromString(So,"text/html").body;e.appendChild(t.firstChild),this.createResizeMap(),this.resizersAdded=!0}removeResizers(){this.resizerMap=void 0;const e=this.element.querySelector(`.${fo}`);e&&this.element.removeChild(e),this.resizersAdded=!1}getResizerElement(e){return this.resizerMap[e].element}onResizeStart(e,t){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.currentResizer={isTop:!!t.match(/top/i),isRight:!!t.match(/right/i),isBottom:!!t.match(/bottom/i),isLeft:!!t.match(/left/i)},this.element.classList.add("ag-resizing"),this.resizerMap[t].element.classList.add("ag-active");const{popup:i,forcePopupParentAsOffsetParent:s}=this.config;i||s||this.applySizeToSiblings(this.currentResizer.isBottom||this.currentResizer.isTop),this.isResizing=!0,this.updateDragStartPosition(e.clientX,e.clientY)}getSiblings(){const e=this.element.parentElement;return e?Array.prototype.slice.call(e.children).filter((e=>!e.classList.contains("ag-hidden"))):null}getMinSizeOfSiblings(){const e=this.getSiblings()||[];let t=0,i=0;for(let s=0;s<e.length;s++){const o=e[s],n=!!o.style.flex&&"0 0 auto"!==o.style.flex;if(o===this.element)continue;let r=this.minHeight||0,l=this.minWidth||0;if(n){const e=window.getComputedStyle(o);e.minHeight&&(r=parseInt(e.minHeight,10)),e.minWidth&&(l=parseInt(e.minWidth,10))}else r=o.offsetHeight,l=o.offsetWidth;t+=r,i+=l}return{height:t,width:i}}applySizeToSiblings(e){let t=null;const i=this.getSiblings();if(i){for(let s=0;s<i.length;s++){const o=i[s];o!==t&&(e?o.style.height=`${o.offsetHeight}px`:o.style.width=`${o.offsetWidth}px`,o.style.flex="0 0 auto",o===this.element&&(t=i[s+1]))}t&&(t.style.removeProperty("height"),t.style.removeProperty("min-height"),t.style.removeProperty("max-height"),t.style.flex="1 1 auto")}}isResizable(){return Object.values(this.resizable).some((e=>e))}onResize(e){if(!this.isResizing||!this.currentResizer)return;const{popup:t,forcePopupParentAsOffsetParent:i}=this.config,{isTop:s,isRight:o,isBottom:n,isLeft:r}=this.currentResizer,l=o||r,a=n||s,{movementX:d,movementY:h}=this.calculateMouseMovement({e:e,isLeft:r,isTop:s}),u=this.position.x,c=this.position.y;let g=0,p=0;if(l&&d){const e=r?-1:1,t=this.getWidth(),i=t+d*e;let s=!1;r&&(g=t-i,(u+g<=0||i<=this.minWidth)&&(s=!0,g=0)),s||this.setWidth(i)}if(a&&h){const e=s?-1:1,t=this.getHeight(),i=t+h*e;let o=!1;s?(p=t-i,(c+p<=0||i<=this.minHeight)&&(o=!0,p=0)):!this.config.popup&&!this.config.forcePopupParentAsOffsetParent&&t<i&&this.getMinSizeOfSiblings().height+i>this.element.parentElement.offsetHeight&&(o=!0),o||this.setHeight(i)}this.updateDragStartPosition(e.clientX,e.clientY),((t||i)&&g||p)&&this.offsetElement(u+g,c+p)}onResizeEnd(e,t){this.isResizing=!1,this.currentResizer=null,this.boundaryEl=null,this.element.classList.remove("ag-resizing"),this.resizerMap[t].element.classList.remove("ag-active"),this.dispatchLocalEvent({type:"resize"})}refreshSize(){const e=this.element;this.config.popup&&(this.config.width||this.setWidth(e.offsetWidth),this.config.height||this.setHeight(e.offsetHeight))}onMoveStart(e){this.boundaryEl=this.findBoundaryElement(),this.positioned||this.initialisePosition(),this.isMoving=!0,this.element.classList.add("ag-moving"),this.updateDragStartPosition(e.clientX,e.clientY)}onMove(e){if(!this.isMoving)return;const{x:t,y:i}=this.position;let s;this.config.calculateTopBuffer&&(s=this.config.calculateTopBuffer());const{movementX:o,movementY:n}=this.calculateMouseMovement({e:e,isTop:!0,anywhereWithin:!0,topBuffer:s});this.offsetElement(t+o,i+n),this.updateDragStartPosition(e.clientX,e.clientY)}onMoveEnd(){this.isMoving=!1,this.boundaryEl=null,this.element.classList.remove("ag-moving")}setOffsetParent(){this.config.forcePopupParentAsOffsetParent?this.offsetParent=this.popupService.getPopupParent():this.offsetParent=this.element.offsetParent}findBoundaryElement(){let e=this.element;for(;e;){if("static"!==window.getComputedStyle(e).position)return e;e=e.parentElement}return this.element}clearResizeListeners(){for(;this.resizeListeners.length;){const e=this.resizeListeners.pop();this.dragService.removeDragSource(e)}}destroy(){super.destroy(),this.moveElementDragListener&&this.dragService.removeDragSource(this.moveElementDragListener),this.constrainSizeToAvailableHeight(!1),this.clearResizeListeners(),this.removeResizers()}},bo=class e extends Oe{constructor(e,t={}){super(),this.eFocusableElement=e,this.callbacks=t,this.callbacks={shouldStopEventPropagation:()=>!1,onTabKeyDown:e=>{if(e.defaultPrevented)return;const t=this.focusService.findNextFocusableElement(this.eFocusableElement,!1,e.shiftKey);t&&(t.focus(),e.preventDefault())},...t}}wireBeans(e){this.focusService=e.focusService}postConstruct(){this.eFocusableElement.classList.add(e.FOCUS_MANAGED_CLASS),this.addKeyDownListeners(this.eFocusableElement),this.callbacks.onFocusIn&&this.addManagedElementListeners(this.eFocusableElement,{focusin:this.callbacks.onFocusIn}),this.callbacks.onFocusOut&&this.addManagedElementListeners(this.eFocusableElement,{focusout:this.callbacks.onFocusOut})}addKeyDownListeners(e){this.addManagedElementListeners(e,{keydown:e=>{e.defaultPrevented||Te(e)||(this.callbacks.shouldStopEventPropagation(e)?Ae(e):e.key===gs.TAB?this.callbacks.onTabKeyDown(e):this.callbacks.handleKeyDown&&this.callbacks.handleKeyDown(e))}})}};bo.FOCUS_MANAGED_CLASS="ag-focus-managed";var Ro=bo,Fo={applyFilter:"Apply",clearFilter:"Clear",resetFilter:"Reset",cancelFilter:"Cancel",textFilter:"Text Filter",numberFilter:"Number Filter",dateFilter:"Date Filter",setFilter:"Set Filter",filterOoo:"Filter...",empty:"Choose one",equals:"Equals",notEqual:"Does not equal",lessThan:"Less than",greaterThan:"Greater than",inRange:"Between",inRangeStart:"From",inRangeEnd:"To",lessThanOrEqual:"Less than or equal to",greaterThanOrEqual:"Greater than or equal to",contains:"Contains",notContains:"Does not contain",startsWith:"Begins with",endsWith:"Ends with",blank:"Blank",notBlank:"Not blank",before:"Before",after:"After",andCondition:"AND",orCondition:"OR",dateFormatOoo:"yyyy-mm-dd"};function Po(e,t){return Do(e)?(null!=e.debounceMs&&m("debounceMs is ignored when apply button is present"),0):null!=e.debounceMs?e.debounceMs:t}function Do(e){return!!e.buttons&&e.buttons.indexOf("apply")>=0}var Eo=class extends Ji{constructor(e){super(),this.filterNameKey=e,this.applyActive=!1,this.hidePopup=null,this.debouncePending=!1,this.appliedModel=null,this.eFilterBody=Xi,this.buttonListeners=[]}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.resetTemplate(),this.createManagedBean(new Ro(this.getFocusableElement(),{handleKeyDown:this.handleKeyDown.bind(this)})),this.positionableFeature=new yo(this.getPositionableElement(),{forcePopupParentAsOffsetParent:!0}),this.createBean(this.positionableFeature)}handleKeyDown(e){}getFilterTitle(){return this.translate(this.filterNameKey)}isFilterActive(){return!!this.appliedModel}resetTemplate(e){let t=this.getGui();t&&t.removeEventListener("submit",this.onFormSubmit);const i=`\n <form class="ag-filter-wrapper">\n <div class="ag-filter-body-wrapper ag-${this.getCssIdentifier()}-body-wrapper" data-ref="eFilterBody">\n ${this.createBodyTemplate()}\n </div>\n </form>`;this.setTemplate(i,this.getAgComponents(),e),t=this.getGui(),t&&t.addEventListener("submit",this.onFormSubmit)}isReadOnly(){return!!this.providedFilterParams.readOnly}init(e){this.setParams(e),this.resetUiToDefaults(!0).then((()=>{this.updateUiVisibility(),this.setupOnBtApplyDebounce()}))}setParams(e){this.providedFilterParams=e,this.applyActive=Do(e),this.resetButtonsPanel(e)}updateParams(e){this.providedFilterParams=e,this.applyActive=Do(e),this.resetUiToActiveModel(this.getModel(),(()=>{this.updateUiVisibility(),this.setupOnBtApplyDebounce()}))}resetButtonsPanel(e,t){const{buttons:i,readOnly:s}=t??{},{buttons:o,readOnly:n}=e;if(s===n&&I(i,o))return;const r=o&&o.length>0&&!this.isReadOnly();if(this.eButtonsPanel?(vi(this.eButtonsPanel),this.buttonListeners.forEach((e=>e())),this.buttonListeners=[]):r&&(this.eButtonsPanel=document.createElement("div"),this.eButtonsPanel.classList.add("ag-filter-apply-panel")),!r)return void(this.eButtonsPanel&&Ci(this.eButtonsPanel));const l=document.createDocumentFragment(),a=e=>{let t,i;switch(e){case"apply":t=this.translate("applyFilter"),i=e=>this.onBtApply(!1,!1,e);break;case"clear":t=this.translate("clearFilter"),i=()=>this.onBtClear();break;case"reset":t=this.translate("resetFilter"),i=()=>this.onBtReset();break;case"cancel":t=this.translate("cancelFilter"),i=e=>{this.onBtCancel(e)};break;default:return void m("Unknown button type specified")}const s=Si(`<button\n type="${"apply"===e?"submit":"button"}"\n data-ref="${e}FilterButton"\n class="ag-button ag-standard-button ag-filter-apply-panel-button"\n >${t}\n </button>`);this.buttonListeners.push(...this.addManagedElementListeners(s,{click:i})),l.append(s)};o.forEach((e=>a(e))),this.eButtonsPanel.append(l),this.getGui().appendChild(this.eButtonsPanel)}getDefaultDebounceMs(){return 0}setupOnBtApplyDebounce(){const e=Po(this.providedFilterParams,this.getDefaultDebounceMs()),t=b(this.checkApplyDebounce.bind(this),e);this.onBtApplyDebounce=()=>{this.debouncePending=!0,t()}}checkApplyDebounce(){this.debouncePending&&(this.debouncePending=!1,this.onBtApply())}getModel(){return this.appliedModel?this.appliedModel:null}setModel(e){return(null!=e?this.setModelIntoUi(e):this.resetUiToDefaults()).then((()=>{this.updateUiVisibility(),this.applyModel("api")}))}onBtCancel(e){this.resetUiToActiveModel(this.getModel(),(()=>{this.handleCancelEnd(e)}))}handleCancelEnd(e){this.providedFilterParams.closeOnApply&&this.close(e)}resetUiToActiveModel(e,t){const i=()=>{this.onUiChanged(!1,"prevent"),null==t||t()};null!=e?this.setModelIntoUi(e).then(i):this.resetUiToDefaults().then(i)}onBtClear(){this.resetUiToDefaults().then((()=>this.onUiChanged()))}onBtReset(){this.onBtClear(),this.onBtApply()}applyModel(e="api"){const t=this.getModelFromUi();if(!this.isModelValid(t))return!1;const i=this.appliedModel;return this.appliedModel=t,!this.areModelsEqual(i,t)}isModelValid(e){return!0}onFormSubmit(e){e.preventDefault()}onBtApply(e=!1,t=!1,i){if(i&&i.preventDefault(),this.applyModel(t?"rowDataUpdated":"ui")){const i="columnFilter";this.providedFilterParams.filterChangedCallback({afterFloatingFilter:e,afterDataChange:t,source:i})}const{closeOnApply:s}=this.providedFilterParams;s&&this.applyActive&&!e&&!t&&this.close(i)}onNewRowsLoaded(){}close(e){if(!this.hidePopup)return;const t=e,i=t&&t.key;let s;"Enter"!==i&&"Space"!==i||(s={keyboardEvent:t}),this.hidePopup(s),this.hidePopup=null}onUiChanged(e=!1,t){if(this.updateUiVisibility(),this.providedFilterParams.filterModifiedCallback(),this.applyActive&&!this.isReadOnly()){const e=this.isModelValid(this.getModelFromUi()),t=this.queryForHtmlElement('[data-ref="applyFilterButton"]');t&&ri(t,!e)}e&&!t||"immediately"===t?this.onBtApply(e):(this.applyActive||t)&&"debounce"!==t||this.onBtApplyDebounce()}afterGuiAttached(e){e&&(this.hidePopup=e.hidePopup),this.refreshFilterResizer(null==e?void 0:e.container)}refreshFilterResizer(e){if(!this.positionableFeature||"toolPanel"===e)return;const t="floatingFilter"===e||"columnFilter"===e,{positionableFeature:i,gos:s}=this;t?(i.restoreLastSize(),i.setResizable(s.get("enableRtl")?{bottom:!0,bottomLeft:!0,left:!0}:{bottom:!0,bottomRight:!0,right:!0})):(this.positionableFeature.removeSizeFromEl(),this.positionableFeature.setResizable(!1)),this.positionableFeature.constrainSizeToAvailableHeight(!0)}afterGuiDetached(){this.checkApplyDebounce(),this.positionableFeature&&this.positionableFeature.constrainSizeToAvailableHeight(!1)}refresh(e){const t=this.providedFilterParams;return this.providedFilterParams=e,this.resetButtonsPanel(e,t),!0}destroy(){const e=this.getGui();e&&e.removeEventListener("submit",this.onFormSubmit),this.hidePopup=null,this.positionableFeature&&(this.positionableFeature=this.destroyBean(this.positionableFeature)),this.appliedModel=null,super.destroy()}translate(e){return this.localeService.getLocaleTextFunc()(e,Fo[e])}getCellValue(e){return this.providedFilterParams.getValue(e)}getPositionableElement(){return this.eFilterBody}},Mo=class extends Cs{constructor(e){super(e,"ag-radio-button","radio")}isSelected(){return this.eInput.checked}toggle(){this.eInput.disabled||this.isSelected()||this.setValue(!0)}addInputListeners(){super.addInputListeners(),this.addManagedEventListeners({checkboxChanged:this.onChange.bind(this)})}onChange(e){e.selected&&e.name&&this.eInput.name&&this.eInput.name===e.name&&e.id&&this.eInput.id!==e.id&&this.setValue(!1,!0)}},xo=class extends Ji{constructor(e="default",t=!1){super(`<div class="ag-list ag-${e}-list" role="listbox"></div>`),this.cssIdentifier=e,this.unFocusable=t,this.activeClass="ag-active-item",this.options=[],this.itemEls=[]}postConstruct(){const e=this.getGui();this.addManagedElementListeners(e,{mouseleave:()=>this.clearHighlighted()}),this.unFocusable||this.addManagedElementListeners(e,{keydown:this.handleKeyDown.bind(this)})}handleKeyDown(e){const t=e.key;switch(t){case gs.ENTER:if(this.highlightedEl){const e=this.itemEls.indexOf(this.highlightedEl);this.setValueByIndex(e)}else this.setValue(this.getValue());break;case gs.DOWN:case gs.UP:e.preventDefault(),this.navigate(t);break;case gs.PAGE_DOWN:case gs.PAGE_UP:case gs.PAGE_HOME:case gs.PAGE_END:e.preventDefault(),this.navigateToPage(t)}}navigate(e){const t=e===gs.DOWN;let i;if(this.highlightedEl){let e=this.itemEls.indexOf(this.highlightedEl)+(t?1:-1);e=Math.min(Math.max(e,0),this.itemEls.length-1),i=this.itemEls[e]}else i=this.itemEls[t?0:this.itemEls.length-1];this.highlightItem(i)}navigateToPage(e){if(!this.highlightedEl||0===this.itemEls.length)return;const t=this.itemEls.indexOf(this.highlightedEl),i=this.options.length-1,s=this.itemEls[0].clientHeight,o=Math.floor(this.getGui().clientHeight/s);let n=-1;e===gs.PAGE_HOME?n=0:e===gs.PAGE_END?n=i:e===gs.PAGE_DOWN?n=Math.min(t+o,i):e===gs.PAGE_UP&&(n=Math.max(t-o,0)),-1!==n&&this.highlightItem(this.itemEls[n])}addOptions(e){return e.forEach((e=>this.addOption(e))),this}addOption(e){const{value:t,text:i}=e,s=i||t;return this.options.push({value:t,text:s}),this.renderOption(t,s),this.updateIndices(),this}clearOptions(){this.options=[],this.reset(!0),this.itemEls.forEach((e=>{Ci(e)})),this.itemEls=[]}updateIndices(){const e=this.getGui().querySelectorAll(".ag-list-item");e.forEach(((t,i)=>{_t(t,"posinset",i+1),function(e,t){_t(e,"setsize",t)}(t,e.length)}))}renderOption(e,t){const i=j(this.gos),s=i.createElement("div");qt(s,"option"),s.classList.add("ag-list-item",`ag-${this.cssIdentifier}-list-item`);const o=i.createElement("span");s.appendChild(o),o.textContent=t,this.unFocusable||(s.tabIndex=-1),this.itemEls.push(s),this.addManagedListeners(s,{mouseover:()=>this.highlightItem(s),mousedown:t=>{t.preventDefault(),t.stopPropagation(),this.setValue(e)}}),this.createManagedBean(new Qi({getTooltipValue:()=>t,getGui:()=>s,getLocation:()=>"UNKNOWN",shouldDisplayTooltip:()=>o.scrollWidth>o.clientWidth})),this.getGui().appendChild(s)}setValue(e,t){if(this.value===e)return this.fireItemSelected(),this;if(null==e)return this.reset(t),this;const i=this.options.findIndex((t=>t.value===e));if(-1!==i){const e=this.options[i];this.value=e.value,this.displayValue=e.text,this.highlightItem(this.itemEls[i]),t||this.fireChangeEvent()}return this}setValueByIndex(e){return this.setValue(this.options[e].value)}getValue(){return this.value}getDisplayValue(){return this.displayValue}refreshHighlighted(){this.clearHighlighted();const e=this.options.findIndex((e=>e.value===this.value));-1!==e&&this.highlightItem(this.itemEls[e])}reset(e){this.value=null,this.displayValue=null,this.clearHighlighted(),e||this.fireChangeEvent()}highlightItem(e){if(!wi(e))return;this.clearHighlighted(),this.highlightedEl=e,this.highlightedEl.classList.add(this.activeClass),ti(this.highlightedEl,!0);const t=this.getGui(),{scrollTop:i,clientHeight:s}=t,{offsetTop:o,offsetHeight:n}=e;(o+n>i+s||o<i)&&this.highlightedEl.scrollIntoView({block:"nearest"}),this.unFocusable||this.highlightedEl.focus()}clearHighlighted(){this.highlightedEl&&wi(this.highlightedEl)&&(this.highlightedEl.classList.remove(this.activeClass),ti(this.highlightedEl,!1),this.highlightedEl=null)}fireChangeEvent(){this.dispatchLocalEvent({type:"fieldValueChanged"}),this.fireItemSelected()}fireItemSelected(){this.dispatchLocalEvent({type:"selectedItem"})}},Ao=class extends ms{constructor(e){if(super(e,(null==e?void 0:e.template)||'\n <div class="ag-picker-field" role="presentation">\n <div data-ref="eLabel"></div>\n <div data-ref="eWrapper" class="ag-wrapper ag-picker-field-wrapper ag-picker-collapsed">\n <div data-ref="eDisplayField" class="ag-picker-field-display"></div>\n <div data-ref="eIcon" class="ag-picker-field-icon" aria-hidden="true"></div>\n </div>\n </div>',(null==e?void 0:e.agComponents)||[],null==e?void 0:e.className),this.isPickerDisplayed=!1,this.skipClick=!1,this.pickerGap=4,this.hideCurrentPicker=null,this.eLabel=Xi,this.eWrapper=Xi,this.eDisplayField=Xi,this.eIcon=Xi,this.ariaRole=null==e?void 0:e.ariaRole,this.onPickerFocusIn=this.onPickerFocusIn.bind(this),this.onPickerFocusOut=this.onPickerFocusOut.bind(this),!e)return;const{pickerGap:t,maxPickerHeight:i,variableWidth:s,minPickerWidth:o,maxPickerWidth:n}=e;null!=t&&(this.pickerGap=t),this.variableWidth=!!s,null!=i&&this.setPickerMaxHeight(i),null!=o&&this.setPickerMinWidth(o),null!=n&&this.setPickerMaxWidth(n)}wireBeans(e){this.popupService=e.popupService}postConstruct(){super.postConstruct(),this.setupAria();const e=`ag-${this.getCompId()}-display`;this.eDisplayField.setAttribute("id",e);const t=this.getAriaElement();this.addManagedElementListeners(t,{keydown:this.onKeyDown.bind(this)}),this.addManagedElementListeners(this.eLabel,{mousedown:this.onLabelOrWrapperMouseDown.bind(this)}),this.addManagedElementListeners(this.eWrapper,{mousedown:this.onLabelOrWrapperMouseDown.bind(this)});const{pickerIcon:i,inputWidth:s}=this.config;if(i){const e=ts(i,this.gos);e&&this.eIcon.appendChild(e)}null!=s&&this.setInputWidth(s)}setupAria(){const e=this.getAriaElement();e.setAttribute("tabindex",this.gos.get("tabIndex").toString()),Zt(e,!1),this.ariaRole&&qt(e,this.ariaRole)}onLabelOrWrapperMouseDown(e){if(e){const t=this.getFocusableElement();if(t!==this.eWrapper&&(null==e?void 0:e.target)===t)return;e.preventDefault(),this.getFocusableElement().focus()}this.skipClick?this.skipClick=!1:this.isDisabled()||(this.isPickerDisplayed?this.hidePicker():this.showPicker())}onKeyDown(e){switch(e.key){case gs.UP:case gs.DOWN:case gs.ENTER:case gs.SPACE:e.preventDefault(),this.onLabelOrWrapperMouseDown();break;case gs.ESCAPE:this.isPickerDisplayed&&(e.preventDefault(),e.stopPropagation(),this.hideCurrentPicker&&this.hideCurrentPicker())}}showPicker(){this.isPickerDisplayed=!0,this.pickerComponent||(this.pickerComponent=this.createPickerComponent());const e=this.pickerComponent.getGui();e.addEventListener("focusin",this.onPickerFocusIn),e.addEventListener("focusout",this.onPickerFocusOut),this.hideCurrentPicker=this.renderAndPositionPicker(),this.toggleExpandedStyles(!0)}renderAndPositionPicker(){const e=this.pickerComponent.getGui();this.gos.get("suppressScrollWhenPopupsAreOpen")||([this.destroyMouseWheelFunc]=this.addManagedEventListeners({bodyScroll:()=>{this.hidePicker()}}));const t=this.localeService.getLocaleTextFunc(),{pickerAriaLabelKey:i,pickerAriaLabelValue:s,modalPicker:o=!0}=this.config,n={modal:o,eChild:e,closeOnEsc:!0,closedCallback:()=>{const e=X(this.gos);this.beforeHidePicker(),e&&this.isAlive()&&this.getFocusableElement().focus()},ariaLabel:t(i,s),anchorToElement:this.eWrapper};e.style.position="absolute";const r=this.popupService.addPopup(n),{maxPickerHeight:l,minPickerWidth:a,maxPickerWidth:d,variableWidth:h}=this;h?(a&&(e.style.minWidth=a),e.style.width=Fi(ci(this.eWrapper)),d&&(e.style.maxWidth=d)):yi(e,d??ci(this.eWrapper));const u=l??`${di(this.popupService.getPopupParent())}px`;return e.style.setProperty("max-height",u),this.alignPickerToComponent(),r.hideFunc}alignPickerToComponent(){if(!this.pickerComponent)return;const{pickerType:e}=this.config,{pickerGap:t}=this,i=this.gos.get("enableRtl")?"right":"left";this.popupService.positionPopupByComponent({type:e,eventSource:this.eWrapper,ePopup:this.pickerComponent.getGui(),position:"under",alignSide:i,keepWithinBounds:!0,nudgeY:t})}beforeHidePicker(){this.destroyMouseWheelFunc&&(this.destroyMouseWheelFunc(),this.destroyMouseWheelFunc=void 0),this.toggleExpandedStyles(!1);const e=this.pickerComponent.getGui();e.removeEventListener("focusin",this.onPickerFocusIn),e.removeEventListener("focusout",this.onPickerFocusOut),this.isPickerDisplayed=!1,this.pickerComponent=void 0,this.hideCurrentPicker=null}toggleExpandedStyles(e){if(!this.isAlive())return;Zt(this.getAriaElement(),e),this.eWrapper.classList.toggle("ag-picker-expanded",e),this.eWrapper.classList.toggle("ag-picker-collapsed",!e)}onPickerFocusIn(){this.togglePickerHasFocus(!0)}onPickerFocusOut(e){var t;(null==(t=this.pickerComponent)?void 0:t.getGui().contains(e.relatedTarget))||this.togglePickerHasFocus(!1)}togglePickerHasFocus(e){this.pickerComponent&&this.eWrapper.classList.toggle("ag-picker-has-focus",e)}hidePicker(){this.hideCurrentPicker&&this.hideCurrentPicker()}setInputWidth(e){return yi(this.eWrapper,e),this}getFocusableElement(){return this.eWrapper}setPickerGap(e){return this.pickerGap=e,this}setPickerMinWidth(e){return"number"==typeof e&&(e=`${e}px`),this.minPickerWidth=null==e?void 0:e,this}setPickerMaxWidth(e){return"number"==typeof e&&(e=`${e}px`),this.maxPickerWidth=null==e?void 0:e,this}setPickerMaxHeight(e){return"number"==typeof e&&(e=`${e}px`),this.maxPickerHeight=null==e?void 0:e,this}destroy(){this.hidePicker(),super.destroy()}},To=class extends Ao{constructor(e){super({pickerAriaLabelKey:"ariaLabelSelectField",pickerAriaLabelValue:"Select Field",pickerType:"ag-list",className:"ag-select",pickerIcon:"smallDown",ariaRole:"combobox",...e})}postConstruct(){super.postConstruct(),this.createListComponent(),this.eWrapper.tabIndex=this.gos.get("tabIndex");const{options:e,value:t,placeholder:i}=this.config;null!=e&&this.addOptions(e),null!=t&&this.setValue(t,!0),i&&null==t&&(this.eDisplayField.textContent=i),this.addManagedElementListeners(this.eWrapper,{focusout:this.onWrapperFocusOut.bind(this)})}onWrapperFocusOut(e){this.eWrapper.contains(e.relatedTarget)||this.hidePicker()}createListComponent(){this.listComponent=this.createBean(new xo("select",!0)),this.listComponent.setParentComponent(this);const e=this.listComponent.getAriaElement(),t=`ag-select-list-${this.listComponent.getCompId()}`;var i,s;e.setAttribute("id",t),Kt(i=this.getAriaElement(),"controls",(s=e).id),Yt(s,i.id),this.listComponent.addManagedListeners(this.listComponent,{selectedItem:()=>{this.hidePicker(),this.dispatchLocalEvent({type:"selectedItem"})}}),this.listComponent.addManagedListeners(this.listComponent,{fieldValueChanged:()=>{this.listComponent&&(this.setValue(this.listComponent.getValue(),!1,!0),this.hidePicker())}})}createPickerComponent(){return this.listComponent}onKeyDown(e){var t;const{key:i}=e;switch(i===gs.TAB&&this.hidePicker(),i){case gs.ENTER:case gs.UP:case gs.DOWN:case gs.PAGE_UP:case gs.PAGE_DOWN:case gs.PAGE_HOME:case gs.PAGE_END:e.preventDefault(),this.isPickerDisplayed?null==(t=this.listComponent)||t.handleKeyDown(e):super.onKeyDown(e);break;case gs.ESCAPE:super.onKeyDown(e);break;case gs.SPACE:this.isPickerDisplayed?e.preventDefault():super.onKeyDown(e)}}showPicker(){this.listComponent&&(super.showPicker(),this.listComponent.refreshHighlighted())}addOptions(e){return e.forEach((e=>this.addOption(e))),this}addOption(e){return this.listComponent.addOption(e),this}clearOptions(){var e;return null==(e=this.listComponent)||e.clearOptions(),this}setValue(e,t,i){if(this.value===e||!this.listComponent)return this;i||this.listComponent.setValue(e,!0);if(this.listComponent.getValue()===this.getValue())return this;let s=this.listComponent.getDisplayValue();return null==s&&this.config.placeholder&&(s=this.config.placeholder),this.eDisplayField.textContent=s,this.setTooltip({newTooltipText:s??null,shouldDisplayTooltip:()=>this.eDisplayField.scrollWidth>this.eDisplayField.clientWidth}),super.setValue(e,t)}destroy(){this.listComponent&&(this.listComponent=this.destroyBean(this.listComponent)),super.destroy()}},Io={selector:"AG-SELECT",component:To},Lo=class{constructor(){this.customFilterOptions={}}init(e,t){this.filterOptions=e.filterOptions||t,this.mapCustomOptions(),this.selectDefaultItem(e)}getFilterOptions(){return this.filterOptions}mapCustomOptions(){this.filterOptions&&this.filterOptions.forEach((e=>{if("string"==typeof e)return;[["displayKey"],["displayName"],["predicate","test"]].every((t=>!!t.some((t=>null!=e[t]))||(m(`ignoring FilterOptionDef as it doesn't contain one of '${t}'`),!1)))?this.customFilterOptions[e.displayKey]=e:this.filterOptions=this.filterOptions.filter((t=>t===e))||[]}))}selectDefaultItem(e){if(e.defaultOption)this.defaultOption=e.defaultOption;else if(this.filterOptions.length>=1){const e=this.filterOptions[0];"string"==typeof e?this.defaultOption=e:e.displayKey?this.defaultOption=e.displayKey:m("invalid FilterOptionDef supplied as it doesn't contain a 'displayKey'")}else m("no filter options for filter")}getDefaultOption(){return this.defaultOption}getCustomOption(e){return this.customFilterOptions[e]}},ko=class extends Eo{constructor(){super(...arguments),this.eTypes=[],this.eJoinOperatorPanels=[],this.eJoinOperatorsAnd=[],this.eJoinOperatorsOr=[],this.eConditionBodies=[],this.listener=()=>this.onUiChanged(),this.lastUiCompletePosition=null,this.joinOperatorId=0}getNumberOfInputs(e){const t=this.optionsFactory.getCustomOption(e);if(t){const{numberOfInputs:e}=t;return null!=e?e:1}return e&&["empty","notBlank","blank"].indexOf(e)>=0?0:"inRange"===e?2:1}onFloatingFilterChanged(e,t){this.setTypeFromFloatingFilter(e),this.setValueFromFloatingFilter(t),this.onUiChanged(!0)}setTypeFromFloatingFilter(e){this.eTypes.forEach(((t,i)=>{0===i?t.setValue(e,!0):t.setValue(this.optionsFactory.getDefaultOption(),!0)}))}getModelFromUi(){const e=this.getUiCompleteConditions();return 0===e.length?null:this.maxNumConditions>1&&e.length>1?{filterType:this.getFilterType(),operator:this.getJoinOperator(),conditions:e}:e[0]}getConditionTypes(){return this.eTypes.map((e=>e.getValue()))}getConditionType(e){return this.eTypes[e].getValue()}getJoinOperator(){return 0===this.eJoinOperatorsOr.length?this.defaultJoinOperator:!0===this.eJoinOperatorsOr[0].getValue()?"OR":"AND"}areModelsEqual(e,t){if(!e&&!t)return!0;if(!e&&t||e&&!t)return!1;const i=!e.operator,s=!t.operator;if(!i&&s||i&&!s)return!1;let o;if(i){const i=e,s=t;o=this.areSimpleModelsEqual(i,s)}else{const i=e,s=t;o=i.operator===s.operator&&Se(i.conditions,s.conditions,((e,t)=>this.areSimpleModelsEqual(e,t)))}return o}shouldRefresh(e){var t;const i=this.getModel(),s=i?i.conditions??[i]:null,o=(null==(t=e.filterOptions)?void 0:t.map((e=>"string"==typeof e?e:e.displayKey)))??this.getDefaultFilterOptions();return!(s&&!s.every((e=>void 0!==o.find((t=>t===e.type)))))&&!("number"==typeof e.maxNumConditions&&s&&s.length>e.maxNumConditions)}refresh(e){if(!this.shouldRefresh(e))return!1;return!!super.refresh(e)&&(this.setParams(e),this.removeConditionsAndOperators(0),this.createOption(),this.setModel(this.getModel()),!0)}setModelIntoUi(e){if(e.operator){const t=e;let i=t.conditions;null==i&&(i=[],m("Filter model is missing 'conditions'"));const s=this.validateAndUpdateConditions(i),o=this.getNumConditions();if(s<o)this.removeConditionsAndOperators(s);else if(s>o)for(let e=o;e<s;e++)this.createJoinOperatorPanel(),this.createOption();const n="OR"===t.operator;this.eJoinOperatorsAnd.forEach((e=>e.setValue(!n,!0))),this.eJoinOperatorsOr.forEach((e=>e.setValue(n,!0))),i.forEach(((e,t)=>{this.eTypes[t].setValue(e.type,!0),this.setConditionIntoUi(e,t)}))}else{const t=e;this.getNumConditions()>1&&this.removeConditionsAndOperators(1),this.eTypes[0].setValue(t.type,!0),this.setConditionIntoUi(t,0)}return this.lastUiCompletePosition=this.getNumConditions()-1,this.createMissingConditionsAndOperators(),this.onUiChanged(),As.resolve()}validateAndUpdateConditions(e){let t=e.length;return t>this.maxNumConditions&&(e.splice(this.maxNumConditions),m('Filter Model contains more conditions than "filterParams.maxNumConditions". Additional conditions have been ignored.'),t=this.maxNumConditions),t}doesFilterPass(e){const t=this.getModel();if(null==t)return!0;const{operator:i}=t,s=[];if(i){const e=t;s.push(...e.conditions??[])}else s.push(t);return s[i&&"OR"===i?"some":"every"]((t=>this.individualConditionPasses(e,t)))}setParams(e){super.setParams(e),this.setNumConditions(e),this.defaultJoinOperator=this.getDefaultJoinOperator(e.defaultJoinOperator),this.filterPlaceholder=e.filterPlaceholder,this.optionsFactory=new Lo,this.optionsFactory.init(e,this.getDefaultFilterOptions()),this.createFilterListOptions(),this.createOption(),this.createMissingConditionsAndOperators(),this.isReadOnly()&&this.eFilterBody.setAttribute("tabindex","-1")}setNumConditions(e){this.maxNumConditions=e.maxNumConditions??2,this.maxNumConditions<1&&(m('"filterParams.maxNumConditions" must be greater than or equal to zero.'),this.maxNumConditions=1),this.numAlwaysVisibleConditions=e.numAlwaysVisibleConditions??1,this.numAlwaysVisibleConditions<1&&(m('"filterParams.numAlwaysVisibleConditions" must be greater than or equal to zero.'),this.numAlwaysVisibleConditions=1),this.numAlwaysVisibleConditions>this.maxNumConditions&&(m('"filterParams.numAlwaysVisibleConditions" cannot be greater than "filterParams.maxNumConditions".'),this.numAlwaysVisibleConditions=this.maxNumConditions)}createOption(){const e=this.createManagedBean(new To);this.eTypes.push(e),e.addCssClass("ag-filter-select"),this.eFilterBody.appendChild(e.getGui());const t=this.createValueElement();this.eConditionBodies.push(t),this.eFilterBody.appendChild(t),this.putOptionsIntoDropdown(e),this.resetType(e);const i=this.getNumConditions()-1;this.forEachPositionInput(i,(e=>this.resetInput(e))),this.addChangedListeners(e,i)}createJoinOperatorPanel(){const e=document.createElement("div");this.eJoinOperatorPanels.push(e),e.classList.add("ag-filter-condition");const t=this.createJoinOperator(this.eJoinOperatorsAnd,e,"and"),i=this.createJoinOperator(this.eJoinOperatorsOr,e,"or");this.eFilterBody.appendChild(e);const s=this.eJoinOperatorPanels.length-1,o=this.joinOperatorId++;this.resetJoinOperatorAnd(t,s,o),this.resetJoinOperatorOr(i,s,o),this.isReadOnly()||(t.onValueChange(this.listener),i.onValueChange(this.listener))}createJoinOperator(e,t,i){const s=this.createManagedBean(new Mo);return e.push(s),s.addCssClass("ag-filter-condition-operator"),s.addCssClass(`ag-filter-condition-operator-${i}`),t.appendChild(s.getGui()),s}getDefaultJoinOperator(e){return"AND"===e||"OR"===e?e:"AND"}createFilterListOptions(){const e=this.optionsFactory.getFilterOptions();this.filterListOptions=e.map((e=>"string"==typeof e?this.createBoilerplateListOption(e):this.createCustomListOption(e)))}putOptionsIntoDropdown(e){this.filterListOptions.forEach((t=>{e.addOption(t)})),e.setDisabled(this.filterListOptions.length<=1)}createBoilerplateListOption(e){return{value:e,text:this.translate(e)}}createCustomListOption(e){const{displayKey:t}=e,i=this.optionsFactory.getCustomOption(e.displayKey);return{value:t,text:i?this.localeService.getLocaleTextFunc()(i.displayKey,i.displayName):this.translate(t)}}createBodyTemplate(){return""}getAgComponents(){return[]}getCssIdentifier(){return"simple-filter"}updateUiVisibility(){const e=this.getJoinOperator();this.updateNumConditions(),this.updateConditionStatusesAndValues(this.lastUiCompletePosition,e)}updateNumConditions(){let e=-1,t=!0;for(let i=0;i<this.getNumConditions();i++)this.isConditionUiComplete(i)?e=i:t=!1;if(this.shouldAddNewConditionAtEnd(t))this.createJoinOperatorPanel(),this.createOption();else{const t=this.lastUiCompletePosition??this.getNumConditions()-2;if(e<t){this.removeConditionsAndOperators(t+1);const i=e+1,s=t-i;s>0&&this.removeConditionsAndOperators(i,s),this.createMissingConditionsAndOperators()}}this.lastUiCompletePosition=e}updateConditionStatusesAndValues(e,t){this.eTypes.forEach(((t,i)=>{const s=this.isConditionDisabled(i,e);t.setDisabled(s||this.filterListOptions.length<=1),1===i&&(ri(this.eJoinOperatorPanels[0],s),this.eJoinOperatorsAnd[0].setDisabled(s),this.eJoinOperatorsOr[0].setDisabled(s))})),this.eConditionBodies.forEach(((e,t)=>{ni(e,this.isConditionBodyVisible(t))}));const i="OR"===(t??this.getJoinOperator());this.eJoinOperatorsAnd.forEach((e=>{e.setValue(!i,!0)})),this.eJoinOperatorsOr.forEach((e=>{e.setValue(i,!0)})),this.forEachInput(((t,i,s,o)=>{this.setElementDisplayed(t,i<o),this.setElementDisabled(t,this.isConditionDisabled(s,e))})),this.resetPlaceholder()}shouldAddNewConditionAtEnd(e){return e&&this.getNumConditions()<this.maxNumConditions&&!this.isReadOnly()}removeConditionsAndOperators(e,t){if(e>=this.getNumConditions())return;this.removeComponents(this.eTypes,e,t),this.removeElements(this.eConditionBodies,e,t),this.removeValueElements(e,t);const i=Math.max(e-1,0);this.removeElements(this.eJoinOperatorPanels,i,t),this.removeComponents(this.eJoinOperatorsAnd,i,t),this.removeComponents(this.eJoinOperatorsOr,i,t)}removeElements(e,t,i){this.removeItems(e,t,i).forEach((e=>Ci(e)))}removeComponents(e,t,i){this.removeItems(e,t,i).forEach((e=>{Ci(e.getGui()),this.destroyBean(e)}))}removeItems(e,t,i){return null==i?e.splice(t):e.splice(t,i)}afterGuiAttached(e){if(super.afterGuiAttached(e),this.resetPlaceholder(),!(null==e?void 0:e.suppressFocus))if(this.isReadOnly())this.eFilterBody.focus();else{const e=this.getInputs(0)[0];if(!e)return;e instanceof vs&&e.getInputElement().focus()}}afterGuiDetached(){super.afterGuiDetached();const e=this.getModel();this.resetUiToActiveModel(e);let t=-1,i=-1,s=!1;const o=this.getJoinOperator();for(let r=this.getNumConditions()-1;r>=0;r--)if(this.isConditionUiComplete(r))-1===t&&(t=r,i=r);else{const e=r<t;(r>=this.numAlwaysVisibleConditions&&!this.isConditionUiComplete(r-1)||e)&&(this.removeConditionsAndOperators(r,1),s=!0,e&&i--)}let n=!1;this.getNumConditions()<this.numAlwaysVisibleConditions&&(this.createMissingConditionsAndOperators(),n=!0),this.shouldAddNewConditionAtEnd(i===this.getNumConditions()-1)&&(this.createJoinOperatorPanel(),this.createOption(),n=!0),n&&this.updateConditionStatusesAndValues(i,o),s&&this.updateJoinOperatorsDisabled(),this.lastUiCompletePosition=i}getPlaceholderText(e,t){let i=this.translate(e);if(C(this.filterPlaceholder)){const e=this.filterPlaceholder,s=this.eTypes[t].getValue();i=e({filterOptionKey:s,filterOption:this.translate(s),placeholder:i})}else"string"==typeof this.filterPlaceholder&&(i=this.filterPlaceholder);return i}resetPlaceholder(){const e=this.localeService.getLocaleTextFunc();this.forEachInput(((t,i,s,o)=>{if(!(t instanceof vs))return;const n=0===i&&o>1?"inRangeStart":0===i?"filterOoo":"inRangeEnd",r=0===i&&o>1?e("ariaFilterFromValue","Filter from value"):0===i?e("ariaFilterValue","Filter Value"):e("ariaFilterToValue","Filter to Value");t.setInputPlaceholder(this.getPlaceholderText(n,s)),t.setInputAriaLabel(r)}))}setElementValue(e,t,i){e instanceof vs&&e.setValue(null!=t?String(t):null,!0)}setElementDisplayed(e,t){e instanceof Ji&&ni(e.getGui(),t)}setElementDisabled(e,t){e instanceof Ji&&ri(e.getGui(),t)}attachElementOnChange(e,t){e instanceof vs&&e.onValueChange(t)}forEachInput(e){this.getConditionTypes().forEach(((t,i)=>{this.forEachPositionTypeInput(i,t,e)}))}forEachPositionInput(e,t){const i=this.getConditionType(e);this.forEachPositionTypeInput(e,i,t)}forEachPositionTypeInput(e,t,i){const s=this.getNumberOfInputs(t),o=this.getInputs(e);for(let n=0;n<o.length;n++){const t=o[n];null!=t&&i(t,n,e,s)}}isConditionDisabled(e,t){return!!this.isReadOnly()||0!==e&&e>t+1}isConditionBodyVisible(e){const t=this.getConditionType(e);return this.getNumberOfInputs(t)>0}isConditionUiComplete(e){if(e>=this.getNumConditions())return!1;return"empty"!==this.getConditionType(e)&&!this.getValues(e).some((e=>null==e))}getNumConditions(){return this.eTypes.length}getUiCompleteConditions(){const e=[];for(let t=0;t<this.getNumConditions();t++)this.isConditionUiComplete(t)&&e.push(this.createCondition(t));return e}createMissingConditionsAndOperators(){if(!this.isReadOnly())for(let e=this.getNumConditions();e<this.numAlwaysVisibleConditions;e++)this.createJoinOperatorPanel(),this.createOption()}resetUiToDefaults(e){return this.removeConditionsAndOperators(this.isReadOnly()?1:this.numAlwaysVisibleConditions),this.eTypes.forEach((e=>this.resetType(e))),this.eJoinOperatorsAnd.forEach(((e,t)=>this.resetJoinOperatorAnd(e,t,this.joinOperatorId+t))),this.eJoinOperatorsOr.forEach(((e,t)=>this.resetJoinOperatorOr(e,t,this.joinOperatorId+t))),this.joinOperatorId++,this.forEachInput((e=>this.resetInput(e))),this.resetPlaceholder(),this.createMissingConditionsAndOperators(),this.lastUiCompletePosition=null,e||this.onUiChanged(),As.resolve()}resetType(e){const t=this.localeService.getLocaleTextFunc()("ariaFilteringOperator","Filtering operator");e.setValue(this.optionsFactory.getDefaultOption(),!0).setAriaLabel(t).setDisabled(this.isReadOnly()||this.filterListOptions.length<=1)}resetJoinOperatorAnd(e,t,i){this.resetJoinOperator(e,t,this.isDefaultOperator("AND"),this.translate("andCondition"),i)}resetJoinOperatorOr(e,t,i){this.resetJoinOperator(e,t,this.isDefaultOperator("OR"),this.translate("orCondition"),i)}resetJoinOperator(e,t,i,s,o){this.updateJoinOperatorDisabled(e.setValue(i,!0).setName(`ag-simple-filter-and-or-${this.getCompId()}-${o}`).setLabel(s),t)}updateJoinOperatorsDisabled(){this.eJoinOperatorsAnd.forEach(((e,t)=>this.updateJoinOperatorDisabled(e,t))),this.eJoinOperatorsOr.forEach(((e,t)=>this.updateJoinOperatorDisabled(e,t)))}updateJoinOperatorDisabled(e,t){e.setDisabled(this.isReadOnly()||t>0)}resetInput(e){this.setElementValue(e,null),this.setElementDisabled(e,this.isReadOnly())}setConditionIntoUi(e,t){const i=this.mapValuesFromModel(e);this.forEachInput(((e,s,o)=>{o===t&&this.setElementValue(e,null!=i[s]?i[s]:null)}))}setValueFromFloatingFilter(e){this.forEachInput(((t,i,s)=>{this.setElementValue(t,0===i&&0===s?e:null,!0)}))}isDefaultOperator(e){return e===this.defaultJoinOperator}addChangedListeners(e,t){this.isReadOnly()||(e.onValueChange(this.listener),this.forEachPositionInput(t,(e=>{this.attachElementOnChange(e,this.listener)})))}individualConditionPasses(e,t){const i=this.getCellValue(e.node),s=this.mapValuesFromModel(t),o=this.optionsFactory.getCustomOption(t.type),n=this.evaluateCustomFilter(o,s,i);return null!=n?n:null==i?this.evaluateNullValue(t.type):this.evaluateNonNullValue(s,i,t,e)}evaluateCustomFilter(e,t,i){if(null==e)return;const{predicate:s}=e;return null==s||t.some((e=>null==e))?void 0:s(t,i)}isBlank(e){return null==e||"string"==typeof e&&0===e.trim().length}hasInvalidInputs(){return!1}},Oo=class extends ko{setParams(e){super.setParams(e),this.scalarFilterParams=e}evaluateNullValue(e){switch(e){case"equals":if(this.scalarFilterParams.includeBlanksInEquals)return!0;break;case"notEqual":if(this.scalarFilterParams.includeBlanksInNotEqual)return!0;break;case"greaterThan":case"greaterThanOrEqual":if(this.scalarFilterParams.includeBlanksInGreaterThan)return!0;break;case"lessThan":case"lessThanOrEqual":if(this.scalarFilterParams.includeBlanksInLessThan)return!0;break;case"inRange":if(this.scalarFilterParams.includeBlanksInRange)return!0;break;case"blank":return!0;case"notBlank":return!1}return!1}evaluateNonNullValue(e,t,i){const s=this.comparator(),o=null!=e[0]?s(e[0],t):0;switch(i.type){case"equals":return 0===o;case"notEqual":return 0!==o;case"greaterThan":return o>0;case"greaterThanOrEqual":return o>=0;case"lessThan":return o<0;case"lessThanOrEqual":return o<=0;case"inRange":{const i=s(e[1],t);return this.scalarFilterParams.inRangeInclusive?o>=0&&i<=0:o>0&&i<0}case"blank":return this.isBlank(t);case"notBlank":return!this.isBlank(t);default:return m('Unexpected type of filter "'+i.type+'", it looks like the filter was configured with incorrect Filter Options'),!0}}};function Go(e){var t;if(e.altKey||e.ctrlKey||e.metaKey)return!1;return 1===(null==(t=e.key)?void 0:t.length)}function No(e,t,i,s,o){const n=s?s.getColDef().suppressKeyboardEvent:void 0;if(!n)return!1;const r=e.addGridCommonParams({event:t,editing:o,column:s,node:i,data:i.data,colDef:s.getColDef()});if(n){if(n(r))return!0}return!1}var Ho=class extends vs{constructor(e,t="ag-text-field",i="text"){super(e,t,i)}postConstruct(){super.postConstruct(),this.config.allowedCharPattern&&this.preventDisallowedCharacters()}setValue(e,t){return this.eInput.value!==e&&(this.eInput.value=P(e)?e:""),super.setValue(e,t)}setStartValue(e){this.setValue(e,!0)}preventDisallowedCharacters(){const e=new RegExp(`[${this.config.allowedCharPattern}]`);this.addManagedListeners(this.eInput,{keydown:t=>{Go(t)&&t.key&&!e.test(t.key)&&t.preventDefault()},paste:t=>{var i;const s=null==(i=t.clipboardData)?void 0:i.getData("text");s&&s.split("").some((t=>!e.test(t)))&&t.preventDefault()}})}},Bo={selector:"AG-INPUT-TEXT-FIELD",component:Ho},Vo=class extends Ho{constructor(e){super(e,"ag-number-field","number")}postConstruct(){super.postConstruct(),this.addManagedListeners(this.eInput,{blur:()=>{const e=parseFloat(this.eInput.value),t=isNaN(e)?"":this.normalizeValue(e.toString());this.value!==t&&this.setValue(t)},wheel:this.onWheel.bind(this)}),this.eInput.step="any";const{precision:e,min:t,max:i,step:s}=this.config;"number"==typeof e&&this.setPrecision(e),"number"==typeof t&&this.setMin(t),"number"==typeof i&&this.setMax(i),"number"==typeof s&&this.setStep(s)}onWheel(e){Y(this.gos)===this.eInput&&e.preventDefault()}normalizeValue(e){if(""===e)return"";null!=this.precision&&(e=this.adjustPrecision(e));const t=parseFloat(e);return null!=this.min&&t<this.min?e=this.min.toString():null!=this.max&&t>this.max&&(e=this.max.toString()),e}adjustPrecision(e,t){if(null==this.precision)return e;if(t){const t=parseFloat(e).toFixed(this.precision);return parseFloat(t).toString()}const i=String(e).split(".");if(i.length>1){if(i[1].length<=this.precision)return e;if(this.precision>0)return`${i[0]}.${i[1].slice(0,this.precision)}`}return i[0]}setMin(e){return this.min===e||(this.min=e,Di(this.eInput,"min",e)),this}setMax(e){return this.max===e||(this.max=e,Di(this.eInput,"max",e)),this}setPrecision(e){return this.precision=e,this}setStep(e){return this.step===e||(this.step=e,Di(this.eInput,"step",e)),this}setValue(e,t){return this.setValueOrInputValue((e=>super.setValue(e,t)),(()=>this),e)}setStartValue(e){return this.setValueOrInputValue((e=>super.setValue(e,!0)),(e=>{this.eInput.value=e}),e)}setValueOrInputValue(e,t,i){if(P(i)){let s=this.isScientificNotation(i);if(s&&this.eInput.validity.valid)return e(i);if(!s){s=(i=this.adjustPrecision(i))!=this.normalizeValue(i)}if(s)return t(i)}return e(i)}getValue(){if(!this.eInput.validity.valid)return;const e=this.eInput.value;return this.isScientificNotation(e)?this.adjustPrecision(e,!0):super.getValue()}isScientificNotation(e){return"string"==typeof e&&e.includes("e")}},Wo={selector:"AG-INPUT-NUMBER-FIELD",component:Vo},zo=["equals","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","inRange","blank","notBlank"],Uo=class{constructor(e,t,i){this.localeService=e,this.optionsFactory=t,this.valueFormatter=i}getModelAsString(e){if(!e)return null;const t=null!=e.operator,i=this.localeService.getLocaleTextFunc();if(t){const t=e,s=(t.conditions??[]).map((e=>this.getModelAsString(e))),o="AND"===t.operator?"andCondition":"orCondition";return s.join(` ${i(o,Fo[o])} `)}if("blank"===e.type||"notBlank"===e.type)return i(e.type,e.type);{const t=e,s=this.optionsFactory.getCustomOption(t.type),{displayKey:o,displayName:n,numberOfInputs:r}=s||{};return o&&n&&0===r?(i(o,n),n):this.conditionToString(t,s)}}updateParams(e){this.optionsFactory=e.optionsFactory}formatValue(e){return this.valueFormatter?this.valueFormatter(e??null)??"":String(e)}},Ko=class extends Uo{conditionToString(e,t){const{numberOfInputs:i}=t||{};return"inRange"==e.type||2===i?`${this.formatValue(e.filter)}-${this.formatValue(e.filterTo)}`:null!=e.filter?this.formatValue(e.filter):`${e.type}`}};function _o(e){const{allowedCharPattern:t}=e??{};return t??null}var $o=["contains","notContains","equals","notEqual","startsWith","endsWith","blank","notBlank"],jo=class extends Uo{conditionToString(e,t){const{numberOfInputs:i}=t||{};return"inRange"==e.type||2===i?`${e.filter}-${e.filterTo}`:null!=e.filter?`${e.filter}`:`${e.type}`}};function qo(e){const t=e&&e.trim();return""===t?e:t}function Qo(e){if("number"==typeof e)return e;if("string"==typeof e){const t=parseInt(e);if(isNaN(t))return;return t}}function Yo(e,t=Number.MAX_VALUE){return i=>{const s=Qo(i);if(!(null==s||s<e||s>t))return s}}function Xo(e,t){return e.toString().padStart(t,"0")}function Jo(e,t=!0,i="-"){if(!e)return null;let s=[e.getFullYear(),e.getMonth()+1,e.getDate()].map((e=>Xo(e,2))).join(i);return t&&(s+=" "+[e.getHours(),e.getMinutes(),e.getSeconds()].map((e=>Xo(e,2))).join(":")),s}var Zo=e=>{if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd"}return"th"};function en(e,t="YYYY-MM-DD"){const i=Xo(e.getFullYear(),4),s=["January","February","March","April","May","June","July","August","September","October","November","December"],o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],n={YYYY:()=>i.slice(i.length-4,i.length),YY:()=>i.slice(i.length-2,i.length),Y:()=>`${e.getFullYear()}`,MMMM:()=>s[e.getMonth()],MMM:()=>s[e.getMonth()].slice(0,3),MM:()=>Xo(e.getMonth()+1,2),Mo:()=>`${e.getMonth()+1}${Zo(e.getMonth()+1)}`,M:()=>`${e.getMonth()+1}`,Do:()=>`${e.getDate()}${Zo(e.getDate())}`,DD:()=>Xo(e.getDate(),2),D:()=>`${e.getDate()}`,dddd:()=>o[e.getDay()],ddd:()=>o[e.getDay()].slice(0,3),dd:()=>o[e.getDay()].slice(0,2),do:()=>`${e.getDay()}${Zo(e.getDay())}`,d:()=>`${e.getDay()}`},r=new RegExp(Object.keys(n).join("|"),"g");return t.replace(r,(e=>e in n?n[e]():e))}function tn(e){if(!e)return null;const[t,i]=e.split(" ");if(!t)return null;const s=t.split("-").map((e=>parseInt(e,10)));if(3!==s.filter((e=>!isNaN(e))).length)return null;const[o,n,r]=s,l=new Date(o,n-1,r);if(l.getFullYear()!==o||l.getMonth()!==n-1||l.getDate()!==r)return null;if(!i||"00:00:00"===i)return l;const[a,d,h]=i.split(":").map((e=>parseInt(e,10)));return a>=0&&a<24&&l.setHours(a),d>=0&&d<60&&l.setMinutes(d),h>=0&&h<60&&l.setSeconds(h),l}var sn=class{constructor(e,t,i,s,o){this.alive=!0,this.context=e,this.eParent=s;t.getDateCompDetails(i).newAgStackInstance().then((t=>{this.alive?(this.dateComp=t,t&&(s.appendChild(t.getGui()),t.afterGuiAttached&&t.afterGuiAttached(),this.tempValue&&t.setDate(this.tempValue),null!=this.disabled&&this.setDateCompDisabled(this.disabled),null==o||o(this))):e.destroyBean(t)}))}destroy(){this.alive=!1,this.dateComp=this.context.destroyBean(this.dateComp)}getDate(){return this.dateComp?this.dateComp.getDate():this.tempValue}setDate(e){this.dateComp?this.dateComp.setDate(e):this.tempValue=e}setDisabled(e){this.dateComp?this.setDateCompDisabled(e):this.disabled=e}setDisplayed(e){ni(this.eParent,e)}setInputPlaceholder(e){this.dateComp&&this.dateComp.setInputPlaceholder&&this.dateComp.setInputPlaceholder(e)}setInputAriaLabel(e){this.dateComp&&this.dateComp.setInputAriaLabel&&this.dateComp.setInputAriaLabel(e)}afterGuiAttached(e){this.dateComp&&"function"==typeof this.dateComp.afterGuiAttached&&this.dateComp.afterGuiAttached(e)}updateParams(e){var t,i;let s=!1;if((null==(t=this.dateComp)?void 0:t.refresh)&&"function"==typeof this.dateComp.refresh){null!==this.dateComp.refresh(e)&&(s=!0)}if(!s&&(null==(i=this.dateComp)?void 0:i.onParamsUpdated)&&"function"==typeof this.dateComp.onParamsUpdated){null!==this.dateComp.onParamsUpdated(e)&&m("Custom date component method 'onParamsUpdated' is deprecated. Use 'refresh' instead.")}}setDateCompDisabled(e){null!=this.dateComp&&null!=this.dateComp.setDisabled&&this.dateComp.setDisabled(e)}},on=["equals","notEqual","lessThan","greaterThan","inRange","blank","notBlank"],nn=class extends Uo{constructor(e,t,i){super(t,i),this.dateFilterParams=e}conditionToString(e,t){const{type:i}=e,{numberOfInputs:s}=t||{},o="inRange"==i||2===s,n=tn(e.dateFrom),r=tn(e.dateTo),l=this.dateFilterParams.inRangeFloatingFilterDateFormat;if(o){return`${null!==n?en(n,l):"null"}-${null!==r?en(r,l):"null"}`}return null!=n?en(n,l):`${i}`}updateParams(e){super.updateParams(e),this.dateFilterParams=e.dateFilterParams}},rn=1/0,ln=class extends Oe{constructor(e,t,i,s){super(),this.columnOrGroup=e,this.columnOrGroup=e,this.eCell=t,this.ariaEl=this.eCell.querySelector("[role=columnheader]")||this.eCell,this.colsSpanning=s,this.beans=i}setColsSpanning(e){this.colsSpanning=e,this.onLeftChanged()}getColumnOrGroup(){return this.beans.gos.get("enableRtl")&&this.colsSpanning?we(this.colsSpanning):this.columnOrGroup}postConstruct(){const e=this.onLeftChanged.bind(this);this.addManagedListeners(this.columnOrGroup,{leftChanged:e}),this.setLeftFirstTime(),this.addManagedEventListeners({displayedColumnsWidthChanged:e}),this.addManagedPropertyListener("domLayout",e)}setLeftFirstTime(){const e=this.beans.gos.get("suppressColumnMoveAnimation"),t=P(this.columnOrGroup.getOldLeft());this.beans.columnAnimationService.isActive()&&t&&!e?this.animateInLeft():this.onLeftChanged()}animateInLeft(){const e=this.getColumnOrGroup(),t=e.getLeft(),i=e.getOldLeft(),s=this.modifyLeftForPrintLayout(e,i),o=this.modifyLeftForPrintLayout(e,t);this.setLeft(s),this.actualLeft=o,this.beans.columnAnimationService.executeNextVMTurn((()=>{this.actualLeft===o&&this.setLeft(o)}))}onLeftChanged(){const e=this.getColumnOrGroup(),t=e.getLeft();this.actualLeft=this.modifyLeftForPrintLayout(e,t),this.setLeft(this.actualLeft)}modifyLeftForPrintLayout(e,t){if(!H(this.beans.gos,"print"))return t;if("left"===e.getPinned())return t;const i=this.beans.visibleColsService.getColsLeftWidth();if("right"===e.getPinned()){return i+this.beans.visibleColsService.getBodyContainerWidth()+t}return i+t}setLeft(e){if(P(e)&&(this.eCell.style.left=`${e}px`),Mt(this.columnOrGroup)){const e=this.columnOrGroup.getLeafColumns();if(!e.length)return;e.length>1&&(t=this.ariaEl,i=e.length,_t(t,"colspan",i))}var t,i}};function an(e,t,i,s){return D(e)?[]:function(e,t,i,s,o){if(D(e))return[];let n;if("function"==typeof e){const r=function(e,t,i,s){return t.addGridCommonParams({colDef:e,column:i,columnGroup:s})}(t,i,s,o);n=e(r)}else n=e;if("string"==typeof n)return[n];if(Array.isArray(n))return[...n];return[]}(e.headerClass,e,t,i,s)}function dn(e,t,i){e.addOrRemoveCssClass("ag-column-first",i.isColAtEdge(t,"first")),e.addOrRemoveCssClass("ag-column-last",i.isColAtEdge(t,"last"))}var hn=0,un=class e extends Oe{constructor(e,t,i){super(),this.resizeToggleTimeout=0,this.resizeMultiplier=1,this.resizeFeature=null,this.lastFocusEvent=null,this.dragSource=null,this.columnGroupChild=e,this.parentRowCtrl=i,this.beans=t,this.instanceId=e.getUniqueId()+"-"+hn++}wireBeans(e){this.pinnedWidthService=e.pinnedWidthService,this.focusService=e.focusService,this.userComponentFactory=e.userComponentFactory,this.ctrlsService=e.ctrlsService,this.dragAndDropService=e.dragAndDropService,this.menuService=e.menuService}postConstruct(){const e=this.refreshTabIndex.bind(this);this.addManagedPropertyListeners(["suppressHeaderFocus"],e),this.addManagedEventListeners({overlayExclusiveChanged:e})}shouldStopEventPropagation(e){const{headerRowIndex:t,column:i}=this.focusService.getFocusedHeader();return function(e,t,i,s){const o=s.getDefinition(),n=o&&o.suppressHeaderKeyboardEvent;return!!P(n)&&!!n(e.addGridCommonParams({colDef:o,column:s,headerRowIndex:i,event:t}))}(this.gos,e,t,i)}getWrapperHasFocus(){return Y(this.gos)===this.eGui}setGui(e,t){this.eGui=e,this.addDomData(t),t.addManagedListeners(this.beans.eventService,{displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),t.addManagedElementListeners(this.eGui,{focus:this.onGuiFocus.bind(this)}),this.onDisplayedColumnsChanged(),this.refreshTabIndex()}onGuiFocus(){this.eventService.dispatchEvent({type:"headerFocused",column:this.column})}setupAutoHeight(e){const{wrapperElement:t,checkMeasuringCallback:i,compBean:s}=e,{animationFrameService:o,resizeObserverService:n,columnModel:r,gos:l}=this.beans,a=e=>{if(!this.isAlive()||!s.isAlive())return;const{paddingTop:i,paddingBottom:n,borderBottomWidth:d,borderTopWidth:h}=ai(this.getGui()),u=i+n+d+h,c=t.offsetHeight+u;if(e<5){const i=j(l);if(!i||!i.contains(t)||0==c)return void o.requestAnimationFrame((()=>a(e+1)))}r.setColHeaderHeight(this.column,c)};let d,h=!1;const u=()=>{const e=this.column.isAutoHeaderHeight();e&&!h&&c(),!e&&h&&g()},c=()=>{h=!0,a(0),this.comp.addOrRemoveCssClass("ag-header-cell-auto-height",!0),d=n.observeResize(t,(()=>a(0)))},g=()=>{h=!1,d&&d(),this.comp.addOrRemoveCssClass("ag-header-cell-auto-height",!1),d=void 0};u(),s.addDestroyFunc((()=>g())),s.addManagedListeners(this.column,{widthChanged:()=>h&&a(0)}),s.addManagedEventListeners({sortChanged:()=>{h&&window.setTimeout((()=>a(0)))}}),i&&i(u)}onDisplayedColumnsChanged(){const{comp:e,column:t,beans:i,eGui:s}=this;e&&t&&s&&(dn(e,t,i.visibleColsService),ei(s,i.visibleColsService.getAriaColIndex(t)))}addResizeAndMoveKeyboardListeners(e){this.resizeFeature&&e.addManagedListeners(this.eGui,{keydown:this.onGuiKeyDown.bind(this),keyup:this.onGuiKeyUp.bind(this)})}refreshTabIndex(){const e=this.focusService.isHeaderFocusSuppressed();this.eGui&&Di(this.eGui,"tabindex",e?null:"-1")}onGuiKeyDown(e){var t;const i=Y(this.gos),s=e.key===gs.LEFT||e.key===gs.RIGHT;if(this.isResizing&&(e.preventDefault(),e.stopImmediatePropagation()),i!==this.eGui||!e.shiftKey&&!e.altKey)return;if((this.isResizing||s)&&(e.preventDefault(),e.stopImmediatePropagation()),!s)return;const o=e.key===gs.LEFT!==this.gos.get("enableRtl"),n=oo[o?"Left":"Right"];if(e.altKey){this.isResizing=!0,this.resizeMultiplier+=1;const i=this.getViewportAdjustedResizeDiff(e);this.resizeHeader(i,e.shiftKey),null==(t=this.resizeFeature)||t.toggleColumnResizing(!0)}else this.moveHeader(n)}getViewportAdjustedResizeDiff(e){let t=this.getResizeDiff(e);if(this.column.getPinned()){const e=this.pinnedWidthService.getPinnedLeftWidth(),i=this.pinnedWidthService.getPinnedRightWidth(),s=hi(this.ctrlsService.getGridBodyCtrl().getBodyViewportElement())-50;if(e+i+t>s){if(!(s>e+i))return 0;t=s-e-i}}return t}getResizeDiff(e){let t=e.key===gs.LEFT!==this.gos.get("enableRtl");const i=this.column.getPinned(),s=this.gos.get("enableRtl");return i&&s!==("right"===i)&&(t=!t),(t?-1:1)*this.resizeMultiplier}onGuiKeyUp(){this.isResizing&&(this.resizeToggleTimeout&&(window.clearTimeout(this.resizeToggleTimeout),this.resizeToggleTimeout=0),this.isResizing=!1,this.resizeMultiplier=1,this.resizeToggleTimeout=window.setTimeout((()=>{var e;null==(e=this.resizeFeature)||e.toggleColumnResizing(!1)}),150))}handleKeyDown(e){const t=this.getWrapperHasFocus();switch(e.key){case gs.PAGE_DOWN:case gs.PAGE_UP:case gs.PAGE_HOME:case gs.PAGE_END:t&&e.preventDefault()}}addDomData(t){const i=e.DOM_DATA_KEY_HEADER_CTRL;$(this.gos,this.eGui,i,this),t.addDestroyFunc((()=>$(this.gos,this.eGui,i,null)))}getGui(){return this.eGui}focus(e){return!!this.eGui&&(this.lastFocusEvent=e||null,this.eGui.focus(),!0)}getRowIndex(){return this.parentRowCtrl.getRowIndex()}getParentRowCtrl(){return this.parentRowCtrl}getPinned(){return this.parentRowCtrl.getPinned()}getColumnGroupChild(){return this.columnGroupChild}removeDragSource(){this.dragSource&&(this.dragAndDropService.removeDragSource(this.dragSource),this.dragSource=null)}handleContextMenuMouseEvent(e,t,i){const s=e??t;this.gos.get("preventDefaultOnContextMenu")&&s.preventDefault(),this.menuService.isHeaderContextMenuEnabled(i)&&this.menuService.showHeaderContextMenu(i,e,t),this.dispatchColumnMouseEvent("columnHeaderContextMenu",i)}dispatchColumnMouseEvent(e,t){this.eventService.dispatchEvent({type:e,column:t})}clearComponent(){this.removeDragSource(),this.resizeFeature=null,this.comp=null,this.eGui=null}destroy(){super.destroy(),this.column=null,this.lastFocusEvent=null,this.columnGroupChild=null,this.parentRowCtrl=null}};un.DOM_DATA_KEY_HEADER_CTRL="headerCtrl";var cn=un,gn=class extends Oe{wireBeans(e){this.columnHoverService=e.columnHoverService}constructor(e,t){super(),this.columns=e,this.element=t}postConstruct(){this.gos.get("columnHoverHighlight")&&this.addMouseHoverListeners()}addMouseHoverListeners(){this.addManagedListeners(this.element,{mouseout:this.onMouseOut.bind(this),mouseover:this.onMouseOver.bind(this)})}onMouseOut(){this.columnHoverService.clearMouseOver()}onMouseOver(){this.columnHoverService.setMouseOver(this.columns)}};var pn="32.3.7";var mn={january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December"},vn=["january","february","march","april","may","june","july","august","september","october","november","december"];var Cn=class extends Ji{wireBeans(e){this.columnNameService=e.columnNameService}getDefaultDebounceMs(){return 0}destroy(){super.destroy()}isEventFromFloatingFilter(e){return e&&e.afterFloatingFilter}isEventFromDataChange(e){return null==e?void 0:e.afterDataChange}getLastType(){return this.lastType}isReadOnly(){return this.readOnly}setLastTypeFromModel(e){if(!e)return void(this.lastType=this.optionsFactory.getDefaultOption());let t;if(e.operator){t=e.conditions[0]}else t=e;this.lastType=t.type}canWeEditAfterModelFromParentFilter(e){if(!e)return this.isTypeEditable(this.lastType);if(e.operator)return!1;const t=e;return this.isTypeEditable(t.type)}init(e){this.setSimpleParams(e,!1)}setSimpleParams(e,t=!0){this.optionsFactory=new Lo,this.optionsFactory.init(e.filterParams,this.getDefaultFilterOptions()),t||(this.lastType=this.optionsFactory.getDefaultOption()),this.readOnly=!!e.filterParams.readOnly;const i=this.isTypeEditable(this.optionsFactory.getDefaultOption());this.setEditable(i)}onParamsUpdated(e){this.refresh(e)}refresh(e){this.setSimpleParams(e)}doesFilterHaveSingleInput(e){const t=this.optionsFactory.getCustomOption(e),{numberOfInputs:i}=t||{};return null==i||1==i}isTypeEditable(e){return!!e&&!this.isReadOnly()&&this.doesFilterHaveSingleInput(e)&&["inRange","empty","blank","notBlank"].indexOf(e)<0}getAriaLabel(e){return`${this.columnNameService.getDisplayNameForColumn(e.column,"header",!0)} ${this.localeService.getLocaleTextFunc()("ariaFilterInput","Filter Input")}`}},fn=class extends Oe{constructor(e){super(),this.params=e,this.eFloatingFilterTextInput=Xi,this.valueChangedListener=()=>{}}setupGui(e){var t;this.eFloatingFilterTextInput=this.createManagedBean(new Ho(null==(t=this.params)?void 0:t.config));const i=this.eFloatingFilterTextInput.getGui();e.appendChild(i);const s=e=>this.valueChangedListener(e);this.addManagedListeners(i,{input:s,keydown:s})}setEditable(e){this.eFloatingFilterTextInput.setDisabled(!e)}setAutoComplete(e){this.eFloatingFilterTextInput.setAutoComplete(e)}getValue(){return this.eFloatingFilterTextInput.getValue()}setValue(e,t){this.eFloatingFilterTextInput.setValue(e,t)}setValueChangedListener(e){this.valueChangedListener=e}setParams(e){this.setAriaLabel(e.ariaLabel),void 0!==e.autoComplete&&this.setAutoComplete(e.autoComplete)}setAriaLabel(e){this.eFloatingFilterTextInput.setInputAriaLabel(e)}},wn=class extends Cn{constructor(){super(...arguments),this.eFloatingFilterInputContainer=Xi}postConstruct(){this.setTemplate('\n <div class="ag-floating-filter-input" role="presentation" data-ref="eFloatingFilterInputContainer"></div>\n ')}getDefaultDebounceMs(){return 500}onParentModelChanged(e,t){this.isEventFromFloatingFilter(t)||this.isEventFromDataChange(t)||(this.setLastTypeFromModel(e),this.setEditable(this.canWeEditAfterModelFromParentFilter(e)),this.floatingFilterInputService.setValue(this.getFilterModelFormatter().getModelAsString(e)))}init(e){this.setupFloatingFilterInputService(e),super.init(e),this.setTextInputParams(e)}setupFloatingFilterInputService(e){this.floatingFilterInputService=this.createFloatingFilterInputService(e),this.floatingFilterInputService.setupGui(this.eFloatingFilterInputContainer)}setTextInputParams(e){this.params=e;const t=e.browserAutoComplete??!1;if(this.floatingFilterInputService.setParams({ariaLabel:this.getAriaLabel(e),autoComplete:t}),this.applyActive=Do(this.params.filterParams),!this.isReadOnly()){const e=Po(this.params.filterParams,this.getDefaultDebounceMs()),t=b(this.syncUpWithParentFilter.bind(this),e);this.floatingFilterInputService.setValueChangedListener(t)}}onParamsUpdated(e){this.refresh(e)}refresh(e){super.refresh(e),this.setTextInputParams(e)}recreateFloatingFilterInputService(e){const t=this.floatingFilterInputService.getValue();vi(this.eFloatingFilterInputContainer),this.destroyBean(this.floatingFilterInputService),this.setupFloatingFilterInputService(e),this.floatingFilterInputService.setValue(t,!0)}syncUpWithParentFilter(e){const t=e.key===gs.ENTER;if(this.applyActive&&!t)return;let i=this.floatingFilterInputService.getValue();this.params.filterParams.trimInput&&(i=qo(i),this.floatingFilterInputService.setValue(i,!0)),this.params.parentFilterInstance((e=>{e&&e.onFloatingFilterChanged(this.getLastType()||null,i||null)}))}setEditable(e){this.floatingFilterInputService.setEditable(e)}},Sn=class extends Oe{constructor(){super(...arguments),this.valueChangedListener=()=>{},this.numberInputActive=!0}setupGui(e){this.eFloatingFilterNumberInput=this.createManagedBean(new Vo),this.eFloatingFilterTextInput=this.createManagedBean(new Ho),this.eFloatingFilterTextInput.setDisabled(!0);const t=this.eFloatingFilterNumberInput.getGui(),i=this.eFloatingFilterTextInput.getGui();e.appendChild(t),e.appendChild(i),this.setupListeners(t,(e=>this.valueChangedListener(e))),this.setupListeners(i,(e=>this.valueChangedListener(e)))}setEditable(e){this.numberInputActive=e,this.eFloatingFilterNumberInput.setDisplayed(this.numberInputActive),this.eFloatingFilterTextInput.setDisplayed(!this.numberInputActive)}setAutoComplete(e){this.eFloatingFilterNumberInput.setAutoComplete(e),this.eFloatingFilterTextInput.setAutoComplete(e)}getValue(){return this.getActiveInputElement().getValue()}setValue(e,t){this.getActiveInputElement().setValue(e,t)}getActiveInputElement(){return this.numberInputActive?this.eFloatingFilterNumberInput:this.eFloatingFilterTextInput}setValueChangedListener(e){this.valueChangedListener=e}setupListeners(e,t){this.addManagedListeners(e,{input:t,keydown:t})}setParams(e){this.setAriaLabel(e.ariaLabel),void 0!==e.autoComplete&&this.setAutoComplete(e.autoComplete)}setAriaLabel(e){this.eFloatingFilterNumberInput.setInputAriaLabel(e),this.eFloatingFilterTextInput.setInputAriaLabel(e)}};var yn={version:pn,moduleName:"@ag-grid-community/filter-core",beans:[class extends Oe{constructor(){super(...arguments),this.beanName="filterManager",this.advancedFilterModelUpdateQueue=[]}wireBeans(e){this.columnModel=e.columnModel,this.dataTypeService=e.dataTypeService,this.quickFilterService=e.quickFilterService,this.advancedFilterService=e.advancedFilterService,this.columnFilterService=e.columnFilterService}postConstruct(){const e=this.refreshFiltersForAggregations.bind(this),t=this.updateAdvancedFilterColumns.bind(this);this.addManagedEventListeners({columnValueChanged:e,columnPivotChanged:e,columnPivotModeChanged:e,newColumnsLoaded:t,columnVisible:t,advancedFilterEnabledChanged:({enabled:e})=>this.onAdvancedFilterEnabledChanged(e),dataTypesInferred:this.processFilterModelUpdateQueue.bind(this)}),this.externalFilterPresent=this.isExternalFilterPresentCallback(),this.addManagedPropertyListeners(["isExternalFilterPresent","doesExternalFilterPass"],(()=>{this.onFilterChanged({source:"api"})})),this.updateAggFiltering(),this.addManagedPropertyListener("groupAggFiltering",(()=>{this.updateAggFiltering(),this.onFilterChanged()})),this.addManagedPropertyListener("advancedFilterModel",(e=>this.setAdvancedFilterModel(e.currentValue))),this.quickFilterService&&this.addManagedListeners(this.quickFilterService,{quickFilterChanged:()=>this.onFilterChanged({source:"quickFilter"})})}isExternalFilterPresentCallback(){const e=this.gos.getCallback("isExternalFilterPresent");return"function"==typeof e&&e({})}doesExternalFilterPass(e){const t=this.gos.get("doesExternalFilterPass");return"function"==typeof t&&t(e)}setFilterModel(e,t="api"){var i;this.isAdvancedFilterEnabled()?this.warnAdvancedFilters():null==(i=this.columnFilterService)||i.setFilterModel(e,t)}getFilterModel(){var e;return(null==(e=this.columnFilterService)?void 0:e.getFilterModel())??{}}isColumnFilterPresent(){var e;return!!(null==(e=this.columnFilterService)?void 0:e.isColumnFilterPresent())}isAggregateFilterPresent(){var e;return!!(null==(e=this.columnFilterService)?void 0:e.isAggregateFilterPresent())}isExternalFilterPresent(){return this.externalFilterPresent}isChildFilterPresent(){return this.isColumnFilterPresent()||this.isQuickFilterPresent()||this.isExternalFilterPresent()||this.isAdvancedFilterPresent()}isAdvancedFilterPresent(){return this.isAdvancedFilterEnabled()&&this.advancedFilterService.isFilterPresent()}onAdvancedFilterEnabledChanged(e){var t,i;e?(null==(t=this.columnFilterService)?void 0:t.disableColumnFilters())&&this.onFilterChanged({source:"advancedFilter"}):(null==(i=this.advancedFilterService)?void 0:i.isFilterPresent())&&(this.advancedFilterService.setModel(null),this.onFilterChanged({source:"advancedFilter"}))}isAdvancedFilterEnabled(){var e;return!!(null==(e=this.advancedFilterService)?void 0:e.isEnabled())}isAdvancedFilterHeaderActive(){return this.isAdvancedFilterEnabled()&&this.advancedFilterService.isHeaderActive()}isAnyFilterPresent(){return this.isQuickFilterPresent()||this.isColumnFilterPresent()||this.isAggregateFilterPresent()||this.isExternalFilterPresent()||this.isAdvancedFilterPresent()}resetQuickFilterCache(){var e;null==(e=this.quickFilterService)||e.resetQuickFilterCache()}refreshFiltersForAggregations(){te(this.gos)&&this.onFilterChanged()}onFilterChanged(e={}){const{source:t,additionalEventAttributes:i,columns:s=[]}=e;this.externalFilterPresent=this.isExternalFilterPresentCallback(),(this.columnFilterService?this.columnFilterService.updateBeforeFilterChanged(e):As.resolve()).then((()=>{var e;const o={source:t,type:"filterChanged",columns:s};i&&Ze(o,i),this.eventService.dispatchEvent(o),null==(e=this.columnFilterService)||e.updateAfterFilterChanged()}))}isSuppressFlashingCellsBecauseFiltering(){var e;return!!(null==(e=this.columnFilterService)?void 0:e.isSuppressFlashingCellsBecauseFiltering())}isQuickFilterPresent(){var e;return!!(null==(e=this.quickFilterService)?void 0:e.isQuickFilterPresent())}updateAggFiltering(){this.aggFiltering=!!te(this.gos)}isAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&this.shouldApplyQuickFilterAfterAgg()}isNonAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&!this.shouldApplyQuickFilterAfterAgg()}shouldApplyQuickFilterAfterAgg(){return(this.aggFiltering||this.columnModel.isPivotMode())&&!this.gos.get("applyQuickFilterBeforePivotOrAgg")}doesRowPassOtherFilters(e,t){return this.doesRowPassFilter({rowNode:t,filterInstanceToSkip:e})}doesRowPassAggregateFilters(e){return!(this.isAggregateQuickFilterPresent()&&!this.quickFilterService.doesRowPassQuickFilter(e.rowNode))&&!(this.isAggregateFilterPresent()&&!this.columnFilterService.doAggregateFiltersPass(e.rowNode,e.filterInstanceToSkip))}doesRowPassFilter(e){return!(this.isNonAggregateQuickFilterPresent()&&!this.quickFilterService.doesRowPassQuickFilter(e.rowNode))&&(!(this.isExternalFilterPresent()&&!this.doesExternalFilterPass(e.rowNode))&&(!(this.isColumnFilterPresent()&&!this.columnFilterService.doColumnFiltersPass(e.rowNode,e.filterInstanceToSkip))&&!(this.isAdvancedFilterPresent()&&!this.advancedFilterService.doesFilterPass(e.rowNode))))}isFilterActive(e){var t;return!!(null==(t=this.columnFilterService)?void 0:t.isFilterActive(e))}getOrCreateFilterWrapper(e){var t;return(null==(t=this.columnFilterService)?void 0:t.getOrCreateFilterWrapper(e))??null}getDefaultFloatingFilter(e){return this.columnFilterService.getDefaultFloatingFilter(e)}createFilterParams(e,t){return this.columnFilterService.createFilterParams(e,t)}isFilterAllowed(e){var t;return!this.isAdvancedFilterEnabled()&&!!(null==(t=this.columnFilterService)?void 0:t.isFilterAllowed(e))}getFloatingFilterCompDetails(e,t){var i;return null==(i=this.columnFilterService)?void 0:i.getFloatingFilterCompDetails(e,t)}getCurrentFloatingFilterParentModel(e){var t;return null==(t=this.columnFilterService)?void 0:t.getCurrentFloatingFilterParentModel(e)}destroyFilter(e,t="api"){var i;null==(i=this.columnFilterService)||i.destroyFilter(e,t)}areFilterCompsDifferent(e,t){var i;return!!(null==(i=this.columnFilterService)?void 0:i.areFilterCompsDifferent(e,t))}getAdvancedFilterModel(){return this.isAdvancedFilterEnabled()?this.advancedFilterService.getModel():null}setAdvancedFilterModel(e){var t;this.isAdvancedFilterEnabled()&&((null==(t=this.dataTypeService)?void 0:t.isPendingInference())?this.advancedFilterModelUpdateQueue.push(e):(this.advancedFilterService.setModel(e??null),this.onFilterChanged({source:"advancedFilter"})))}toggleAdvancedFilterBuilder(e,t){this.isAdvancedFilterEnabled()&&this.advancedFilterService.getCtrl().toggleFilterBuilder({source:t,force:e})}updateAdvancedFilterColumns(){this.isAdvancedFilterEnabled()&&this.advancedFilterService.updateValidity()&&this.onFilterChanged({source:"advancedFilter"})}hasFloatingFilters(){var e;return!this.isAdvancedFilterEnabled()&&!!(null==(e=this.columnFilterService)?void 0:e.hasFloatingFilters())}getFilterInstance(e,t){var i;if(!this.isAdvancedFilterEnabled())return null==(i=this.columnFilterService)?void 0:i.getFilterInstance(e,t);this.warnAdvancedFilters()}getColumnFilterInstance(e){var t;return this.isAdvancedFilterEnabled()?(this.warnAdvancedFilters(),Promise.resolve(void 0)):(null==(t=this.columnFilterService)?void 0:t.getColumnFilterInstance(e))??Promise.resolve(void 0)}warnAdvancedFilters(){m("Column Filter API methods have been disabled as Advanced Filters are enabled.")}setupAdvancedFilterHeaderComp(e){var t;null==(t=this.advancedFilterService)||t.getCtrl().setupHeaderComp(e)}getHeaderRowCount(){return this.isAdvancedFilterHeaderActive()?1:0}getHeaderHeight(){return this.isAdvancedFilterHeaderActive()?this.advancedFilterService.getCtrl().getHeaderHeight():0}processFilterModelUpdateQueue(){this.advancedFilterModelUpdateQueue.forEach((e=>this.setAdvancedFilterModel(e))),this.advancedFilterModelUpdateQueue=[]}getColumnFilterModel(e){var t;return null==(t=this.columnFilterService)?void 0:t.getColumnFilterModel(e)}setColumnFilterModel(e,t){var i;return this.isAdvancedFilterEnabled()?(this.warnAdvancedFilters(),Promise.resolve()):(null==(i=this.columnFilterService)?void 0:i.setColumnFilterModel(e,t))??Promise.resolve()}setColDefPropertiesForDataType(e,t,i){var s;null==(s=this.columnFilterService)||s.setColDefPropertiesForDataType(e,t,i)}}]},bn={version:pn,moduleName:"@ag-grid-community/filter-api",apiFunctions:{isAnyFilterPresent:function(e){var t;return!!(null==(t=e.filterManager)?void 0:t.isAnyFilterPresent())},onFilterChanged:function(e,t="api"){var i;null==(i=e.filterManager)||i.onFilterChanged({source:t})}},dependantModules:[yn]},Rn={version:pn,moduleName:"@ag-grid-community/column-filter",beans:[class extends Oe{constructor(){super(...arguments),this.beanName="columnFilterService",this.allColumnFilters=new Map,this.allColumnListeners=new Map,this.activeAggregateFilters=[],this.activeColumnFilters=[],this.processingFilterChange=!1,this.filterModelUpdateQueue=[],this.columnFilterModelUpdateQueue=[]}wireBeans(e){this.valueService=e.valueService,this.columnModel=e.columnModel,this.rowModel=e.rowModel,this.userComponentFactory=e.userComponentFactory,this.rowRenderer=e.rowRenderer,this.dataTypeService=e.dataTypeService,this.filterManager=e.filterManager}postConstruct(){var e,t;this.addManagedEventListeners({gridColumnsChanged:this.onColumnsChanged.bind(this),rowDataUpdated:()=>this.onNewRowsLoaded("rowDataUpdated"),dataTypesInferred:this.processFilterModelUpdateQueue.bind(this)}),this.initialFilterModel={...(null==(t=null==(e=this.gos.get("initialState"))?void 0:e.filter)?void 0:t.filterModel)??{}}}setFilterModel(e,t="api"){var i;if(null==(i=this.dataTypeService)?void 0:i.isPendingInference())return void this.filterModelUpdateQueue.push({model:e,source:t});const s=[],o=this.getFilterModel(!0);if(e){const t=new Set(Object.keys(e));this.allColumnFilters.forEach(((i,o)=>{const n=e[o];s.push(this.setModelOnFilterWrapper(i.filterPromise,n)),t.delete(o)})),t.forEach((t=>{const i=this.columnModel.getColDefCol(t)||this.columnModel.getCol(t);if(!i)return void m("setFilterModel() - no column found for colId: "+t);if(!i.isFilterAllowed())return void m("setFilterModel() - unable to fully apply model, filtering disabled for colId: "+t);const o=this.getOrCreateFilterWrapper(i);o?s.push(this.setModelOnFilterWrapper(o.filterPromise,e[t])):m("setFilterModel() - unable to fully apply model, unable to create filter for colId: "+t)}))}else this.allColumnFilters.forEach((e=>{s.push(this.setModelOnFilterWrapper(e.filterPromise,null))}));As.all(s).then((()=>{var e;const i=this.getFilterModel(!0),s=[];this.allColumnFilters.forEach(((e,t)=>{I(o?o[t]:null,i?i[t]:null)||s.push(e.column)})),s.length>0&&(null==(e=this.filterManager)||e.onFilterChanged({columns:s,source:t}))}))}setModelOnFilterWrapper(e,t){return new As((i=>{e.then((e=>{"function"!=typeof e.setModel&&(m("filter missing setModel method, which is needed for setFilterModel"),i()),(e.setModel(t)||As.resolve()).then((()=>i()))}))}))}getFilterModel(e){const t={},{allColumnFilters:i,initialFilterModel:s}=this;return i.forEach(((e,i)=>{const s=this.getModelFromFilterWrapper(e);P(s)&&(t[i]=s)})),e||Object.entries(s).forEach((([e,s])=>{var o;P(s)&&!i.has(e)&&(null==(o=this.columnModel.getCol(e))?void 0:o.isFilterAllowed())&&(t[e]=s)})),t}getModelFromFilterWrapper(e){const{filter:t}=e;return t?"function"!=typeof t.getModel?(m("filter API missing getModel method, which is needed for getFilterModel"),null):t.getModel():this.getModelFromInitialState(e.column)}getModelFromInitialState(e){return this.initialFilterModel[e.getColId()]??null}isColumnFilterPresent(){return this.activeColumnFilters.length>0}isAggregateFilterPresent(){return!!this.activeAggregateFilters.length}disableColumnFilters(){return!!this.allColumnFilters.size&&(this.allColumnFilters.forEach((e=>this.disposeFilterWrapper(e,"advancedFilterEnabled"))),!0)}doAggregateFiltersPass(e,t){return this.doColumnFiltersPass(e,t,!0)}updateActiveFilters(){const e=!!te(this.gos),t=t=>{if(!t.isPrimary())return!0;const i=!this.columnModel.isPivotActive();return!(!t.isValueActive()||!i)&&(!!this.columnModel.isPivotMode()||e)},i=[],s=[];return this.forEachColumnFilter(((e,o)=>{const n=(e=>!!e&&(e.isFilterActive?e.isFilterActive():(m("Filter is missing isFilterActive() method"),!1)))(e);n&&(t(o.column)?i.push(e):s.push(e))})).then((()=>{this.activeAggregateFilters=i,this.activeColumnFilters=s}))}updateFilterFlagInColumns(e,t){return this.forEachColumnFilter(((i,s)=>s.column.setFilterActive(i.isFilterActive(),e,t)))}forEachColumnFilter(e){return As.all(Array.from(this.allColumnFilters.values()).map((t=>t.filterPromise.then((i=>e(i,t))))))}doColumnFiltersPass(e,t,i){const{data:s,aggData:o}=e,n=i?this.activeAggregateFilters:this.activeColumnFilters,r=i?o:s;for(let l=0;l<n.length;l++){const i=n[l];if(null!=i&&i!==t){if("function"!=typeof i.doesFilterPass)throw new Error("Filter is missing method doesFilterPass");if(!i.doesFilterPass({node:e,data:r}))return!1}}return!0}callOnFilterChangedOutsideRenderCycle(e){const t=()=>{var t;return null==(t=this.filterManager)?void 0:t.onFilterChanged(e)};this.rowRenderer.isRefreshInProgress()?setTimeout(t,0):t()}updateBeforeFilterChanged(e={}){const{filterInstance:t,additionalEventAttributes:i}=e;return this.updateDependentFilters(),this.updateActiveFilters().then((()=>this.updateFilterFlagInColumns("filterChanged",i).then((()=>{this.allColumnFilters.forEach((e=>{e.filterPromise&&e.filterPromise.then((e=>{e&&e!==t&&e.onAnyFilterChanged&&e.onAnyFilterChanged()}))})),this.processingFilterChange=!0}))))}updateAfterFilterChanged(){this.processingFilterChange=!1}isSuppressFlashingCellsBecauseFiltering(){return!(this.gos.get("allowShowChangeAfterFilter")??!1)&&this.processingFilterChange}onNewRowsLoaded(e){this.forEachColumnFilter((e=>{e.onNewRowsLoaded&&e.onNewRowsLoaded()})).then((()=>this.updateFilterFlagInColumns(e,{afterDataChange:!0}))).then((()=>this.updateActiveFilters()))}createValueGetter(e){return({node:t})=>this.valueService.getValue(e,t,!0)}createGetValue(e){return(t,i)=>{const s=i?this.columnModel.getCol(i):e;return s?this.valueService.getValue(s,t,!0):void 0}}isFilterActive(e){const{filter:t}=this.cachedFilter(e)??{};return t?t.isFilterActive():null!=this.getModelFromInitialState(e)}getOrCreateFilterWrapper(e){if(!e.isFilterAllowed())return null;let t=this.cachedFilter(e);return t||(t=this.createFilterWrapper(e),this.setColumnFilterWrapper(e,t)),t}cachedFilter(e){return this.allColumnFilters.get(e.getColId())}getDefaultFilter(e){var t;let i;if(fe(this.gos))i="agSetColumnFilter";else{const s=null==(t=this.dataTypeService)?void 0:t.getBaseDataType(e);i="number"===s?"agNumberColumnFilter":"date"===s||"dateString"===s?"agDateColumnFilter":"agTextColumnFilter"}return i}getDefaultFloatingFilter(e){var t;let i;if(fe(this.gos))i="agSetColumnFloatingFilter";else{const s=null==(t=this.dataTypeService)?void 0:t.getBaseDataType(e);i="number"===s?"agNumberColumnFloatingFilter":"date"===s||"dateString"===s?"agDateColumnFloatingFilter":"agTextColumnFloatingFilter"}return i}createFilterInstance(e,t){const i=this.getDefaultFilter(e),s=e.getColDef();let o;const n={...this.createFilterParams(e,s),filterModifiedCallback:()=>this.filterModifiedCallbackFactory(o,e)(),filterChangedCallback:t=>this.filterChangedCallbackFactory(o,e)(t),doesRowPassOtherFilter:e=>!this.filterManager||this.filterManager.doesRowPassOtherFilters(o,e)},r=this.userComponentFactory.getFilterDetails(s,n,i);return r?{filterPromise:()=>{const e=r.newAgStackInstance();return null!=e&&e.then((e=>{o=e,t&&(t.filter=e)})),e},compDetails:r}:{filterPromise:null,compDetails:null}}createFilterParams(e,t){return this.gos.addGridCommonParams({column:e,colDef:Ye(t),rowModel:this.rowModel,filterChangedCallback:()=>{},filterModifiedCallback:()=>{},valueGetter:this.createValueGetter(e),getValue:this.createGetValue(e),doesRowPassOtherFilter:()=>!0})}createFilterWrapper(e){const t={column:e,filterPromise:null,compiledElement:null,compDetails:null},{filterPromise:i,compDetails:s}=this.createFilterInstance(e,t);return t.filterPromise=(null==i?void 0:i())??null,t.compDetails=s,t}onColumnsChanged(){var e;const t=[];this.allColumnFilters.forEach(((e,i)=>{let s;s=e.column.isPrimary()?this.columnModel.getColDefCol(i):this.columnModel.getCol(i),s&&s===e.column||(t.push(e.column),this.disposeFilterWrapper(e,"columnChanged"),this.disposeColumnListener(i))}));const i=t.every((e=>"agGroupColumnFilter"===e.getColDef().filter));t.length>0&&!i?null==(e=this.filterManager)||e.onFilterChanged({columns:t,source:"api"}):this.updateDependentFilters()}updateDependentFilters(){const e=this.columnModel.getAutoCols();null==e||e.forEach((e=>{"agGroupColumnFilter"===e.getColDef().filter&&this.getOrCreateFilterWrapper(e)}))}isFilterAllowed(e){if(!e.isFilterAllowed())return!1;const{filter:t}=this.allColumnFilters.get(e.getColId())??{};return!t||("function"!=typeof(null==t?void 0:t.isFilterAllowed)||t.isFilterAllowed())}getFloatingFilterCompDetails(e,t){const i=t=>{var i;const s=null==(i=this.getOrCreateFilterWrapper(e))?void 0:i.filterPromise;null!=s&&s.then((e=>{t(Zs(e))}))},s=e.getColDef(),o={...this.createFilterParams(e,s),filterChangedCallback:()=>i((t=>this.filterChangedCallbackFactory(t,e)()))},n=this.userComponentFactory.mergeParamsWithApplicationProvidedParams(s,Us,o);let r=function(e,t,i){if(null==t)return null;let s=null;const{compName:o,jsComp:n,fwComp:r}=Js.getCompKeys(e,t,Us);o?s={set:"agSetColumnFloatingFilter",agSetColumnFilter:"agSetColumnFloatingFilter",multi:"agMultiColumnFloatingFilter",agMultiColumnFilter:"agMultiColumnFloatingFilter",group:"agGroupColumnFloatingFilter",agGroupColumnFilter:"agGroupColumnFloatingFilter",number:"agNumberColumnFloatingFilter",agNumberColumnFilter:"agNumberColumnFloatingFilter",date:"agDateColumnFloatingFilter",agDateColumnFilter:"agDateColumnFloatingFilter",text:"agTextColumnFloatingFilter",agTextColumnFilter:"agTextColumnFloatingFilter"}[o]:null==n&&null==r&&!0===t.filter&&(s=i());return s}(this.frameworkOverrides,s,(()=>this.getDefaultFloatingFilter(e)));null==r&&(r="agReadOnlyFloatingFilter");const l={column:e,filterParams:n,currentParentModel:()=>this.getCurrentFloatingFilterParentModel(e),parentFilterInstance:i,showParentFilter:t,suppressFilterButton:!1};return this.userComponentFactory.getFloatingFilterCompDetails(s,l,r)}getCurrentFloatingFilterParentModel(e){return this.getModelFromFilterWrapper(this.cachedFilter(e)??{column:e})}destroyFilter(e,t="api"){var i;const s=e.getColId(),o=this.allColumnFilters.get(s);this.disposeColumnListener(s),delete this.initialFilterModel[s],o&&(this.disposeFilterWrapper(o,t),null==(i=this.filterManager)||i.onFilterChanged({columns:[e],source:"api"}))}disposeColumnListener(e){const t=this.allColumnListeners.get(e);t&&(this.allColumnListeners.delete(e),t())}disposeFilterWrapper(e,t){e.filterPromise.then((i=>{this.destroyBean(i),e.column.setFilterActive(!1,"filterDestroyed"),this.allColumnFilters.delete(e.column.getColId()),this.eventService.dispatchEvent({type:"filterDestroyed",source:t,column:e.column})}))}filterModifiedCallbackFactory(e,t){return()=>{this.eventService.dispatchEvent({type:"filterModified",column:t,filterInstance:e})}}filterChangedCallbackFactory(e,t){return i=>{const s=(null==i?void 0:i.source)??"columnFilter",o={filter:e,additionalEventAttributes:i,columns:[t],source:s};this.callOnFilterChangedOutsideRenderCycle(o)}}checkDestroyFilter(e){const t=this.allColumnFilters.get(e);if(!t)return;const i=t.column,{compDetails:s}=i.isFilterAllowed()?this.createFilterInstance(i):{compDetails:null};if(this.areFilterCompsDifferent(t.compDetails,s))return void this.destroyFilter(i,"paramsUpdated");const o=i.getColDef().filterParams;t.filterPromise?t.filterPromise.then((e=>{!1===(!(null==e?void 0:e.refresh)||e.refresh({...this.createFilterParams(i,i.getColDef()),filterModifiedCallback:this.filterModifiedCallbackFactory(e,i),filterChangedCallback:this.filterChangedCallbackFactory(e,i),doesRowPassOtherFilter:t=>!this.filterManager||this.filterManager.doesRowPassOtherFilters(e,t),...o}))&&this.destroyFilter(i,"paramsUpdated")})):this.destroyFilter(i,"paramsUpdated")}setColumnFilterWrapper(e,t){const i=e.getColId();this.allColumnFilters.set(i,t),this.allColumnListeners.set(i,this.addManagedListeners(e,{colDefChanged:()=>this.checkDestroyFilter(i)})[0])}areFilterCompsDifferent(e,t){if(!t||!e)return!0;const{componentClass:i}=e,{componentClass:s}=t;return!(i===s||(null==i?void 0:i.render)&&(null==s?void 0:s.render)&&i.render===s.render)}hasFloatingFilters(){return this.columnModel.getCols().some((e=>e.getColDef().floatingFilter))}getFilterInstance(e,t){t&&this.getFilterInstanceImpl(e).then((e=>{const i=Zs(e);t(i)}))}getColumnFilterInstance(e){return new Promise((t=>{this.getFilterInstanceImpl(e).then((e=>{t(Zs(e))}))}))}getFilterInstanceImpl(e){var t;const i=this.columnModel.getColDefCol(e);if(!i)return As.resolve(void 0);return(null==(t=this.getOrCreateFilterWrapper(i))?void 0:t.filterPromise)??As.resolve(null)}processFilterModelUpdateQueue(){this.filterModelUpdateQueue.forEach((({model:e,source:t})=>this.setFilterModel(e,t))),this.filterModelUpdateQueue=[],this.columnFilterModelUpdateQueue.forEach((({key:e,model:t,resolve:i})=>{this.setColumnFilterModel(e,t).then((()=>i()))})),this.columnFilterModelUpdateQueue=[]}getColumnFilterModel(e){const t=this.getFilterWrapper(e);return t?this.getModelFromFilterWrapper(t):null}setColumnFilterModel(e,t){var i;if(null==(i=this.dataTypeService)?void 0:i.isPendingInference()){let i=()=>{};const s=new Promise((e=>{i=e}));return this.columnFilterModelUpdateQueue.push({key:e,model:t,resolve:i}),s}const s=this.columnModel.getColDefCol(e),o=s?this.getOrCreateFilterWrapper(s):null;return o?(n=this.setModelOnFilterWrapper(o.filterPromise,t),new Promise((e=>{n.then((t=>e(t)))}))):Promise.resolve();var n}getFilterWrapper(e){const t=this.columnModel.getColDefCol(e);return t?this.cachedFilter(t)??null:null}setColDefPropertiesForDataType(e,t,i){const s=fe(this.gos),o=this.localeService.getLocaleTextFunc(),n=t=>{const{filterParams:i}=e;e.filterParams="object"==typeof i?{...i,...t}:t};switch(t.baseDataType){case"number":s&&n({comparator:(e,t)=>{const i=null==e?0:parseInt(e),s=null==t?0:parseInt(t);return i===s?0:i>s?1:-1}});break;case"boolean":n(s?{valueFormatter:e=>P(e.value)?o(String(e.value),e.value?"True":"False"):o("blanks","(Blanks)")}:{maxNumConditions:1,debounceMs:0,filterOptions:["empty",{displayKey:"true",displayName:"True",predicate:(e,t)=>t,numberOfInputs:0},{displayKey:"false",displayName:"False",predicate:(e,t)=>!1===t,numberOfInputs:0}]});break;case"date":s&&n({valueFormatter:e=>{const t=i(e);return P(t)?t:o("blanks","(Blanks)")},treeList:!0,treeListFormatter:(e,t)=>{if(1===t&&null!=e){const t=vn[Number(e)-1];return o(t,mn[t])}return e??o("blanks","(Blanks)")}});break;case"dateString":{const e=t.dateParser;n(s?{valueFormatter:e=>{const t=i(e);return P(t)?t:o("blanks","(Blanks)")},treeList:!0,treeListPathGetter:t=>{const i=e(t??void 0);return i?[String(i.getFullYear()),String(i.getMonth()+1),String(i.getDate())]:null},treeListFormatter:(e,t)=>{if(1===t&&null!=e){const t=vn[Number(e)-1];return o(t,mn[t])}return e??o("blanks","(Blanks)")}}:{comparator:(t,i)=>{const s=e(i);return null==i||s<t?-1:s>t?1:0}});break}case"object":s?n({valueFormatter:e=>{const t=i(e);return P(t)?t:o("blanks","(Blanks)")}}):e.filterValueGetter=e=>i({column:e.column,node:e.node,value:this.valueService.getValue(e.column,e.node)})}}destroy(){super.destroy(),this.allColumnFilters.forEach((e=>this.disposeFilterWrapper(e,"gridDestroyed"))),this.allColumnListeners.clear()}}],dependantModules:[yn]},Fn={version:pn,moduleName:"@ag-grid-community/column-filter-api",apiFunctions:{isColumnFilterPresent:function(e){var t,i;return!!(null==(t=e.filterManager)?void 0:t.isColumnFilterPresent())||!!(null==(i=e.filterManager)?void 0:i.isAggregateFilterPresent())},getFilterInstance:function(e,t,i){var s;return null==(s=e.filterManager)?void 0:s.getFilterInstance(t,i)},getColumnFilterInstance:function(e,t){var i;return(null==(i=e.filterManager)?void 0:i.getColumnFilterInstance(t))??Promise.resolve(void 0)},destroyFilter:function(e,t){var i;const s=e.columnModel.getColDefCol(t);if(s)return null==(i=e.filterManager)?void 0:i.destroyFilter(s,"api")},setFilterModel:function(e,t){e.frameworkOverrides.wrapIncoming((()=>{var i;return null==(i=e.filterManager)?void 0:i.setFilterModel(t)}))},getFilterModel:function(e){var t;return(null==(t=e.filterManager)?void 0:t.getFilterModel())??{}},getColumnFilterModel:function(e,t){var i;return(null==(i=e.filterManager)?void 0:i.getColumnFilterModel(t))??null},setColumnFilterModel:function(e,t,i){var s;return(null==(s=e.filterManager)?void 0:s.setColumnFilterModel(t,i))??Promise.resolve()},showColumnFilter:function(e,t){const i=e.columnModel.getCol(t);i?e.menuService.showFilterMenu({column:i,containerType:"columnFilter",positionBy:"auto"}):v(`column '${t}' not found`)}},dependantModules:[Rn,bn]},Pn={version:pn,moduleName:"@ag-grid-community/floating-filter-core",controllers:[{name:"headerFilterCell",classImp:class extends cn{constructor(e,t,i){super(e,t,i),this.iconCreated=!1,this.column=e}setComp(e,t,i,s,o){this.comp=e,o=zt(this,this.beans.context,o),this.eButtonShowMainFilter=i,this.eFloatingFilterBody=s,this.setGui(t,o),this.setupActive(),this.setupWidth(o),this.setupLeft(o),this.setupHover(o),this.setupFocus(o),this.setupAria(),this.setupFilterButton(),this.setupUserComp(),this.setupSyncWithFilter(o),this.setupUi(),o.addManagedElementListeners(this.eButtonShowMainFilter,{click:this.showParentFilter.bind(this)}),this.setupFilterChangedListener(o),o.addManagedListeners(this.column,{colDefChanged:()=>this.onColDefChanged(o)}),o.addDestroyFunc((()=>{this.eButtonShowMainFilter=null,this.eFloatingFilterBody=null,this.userCompDetails=null,this.clearComponent()}))}resizeHeader(){}moveHeader(){}setupActive(){const e=this.column.getColDef(),t=!!e.filter,i=!!e.floatingFilter;this.active=t&&i}setupUi(){if(this.comp.setButtonWrapperDisplayed(!this.suppressFilterButton&&this.active),this.comp.addOrRemoveBodyCssClass("ag-floating-filter-full-body",this.suppressFilterButton),this.comp.addOrRemoveBodyCssClass("ag-floating-filter-body",!this.suppressFilterButton),!this.active||this.iconCreated)return;const e=ts("filter",this.gos,this.column);e&&(this.iconCreated=!0,this.eButtonShowMainFilter.appendChild(e))}setupFocus(e){e.createManagedBean(new Ro(this.eGui,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)}))}setupAria(){const e=this.localeService.getLocaleTextFunc();Qt(this.eButtonShowMainFilter,e("ariaFilterMenuOpen","Open Filter Menu"))}onTabKeyDown(e){if(Y(this.gos)===this.eGui)return;const t=this.focusService.findNextFocusableElement(this.eGui,null,e.shiftKey);if(t)return this.beans.headerNavigationService.scrollToColumn(this.column),e.preventDefault(),void t.focus();const i=this.findNextColumnWithFloatingFilter(e.shiftKey);i&&this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:this.getParentRowCtrl().getRowIndex(),column:i},event:e})&&e.preventDefault()}findNextColumnWithFloatingFilter(e){const t=this.beans.visibleColsService;let i=this.column;do{if(i=e?t.getColBefore(i):t.getColAfter(i),!i)break}while(!i.getColDef().filter||!i.getColDef().floatingFilter);return i}handleKeyDown(e){super.handleKeyDown(e);const t=this.getWrapperHasFocus();switch(e.key){case gs.UP:case gs.DOWN:t||e.preventDefault();case gs.LEFT:case gs.RIGHT:if(t)return;e.stopPropagation();case gs.ENTER:t&&this.focusService.focusInto(this.eGui)&&e.preventDefault();break;case gs.ESCAPE:t||this.eGui.focus()}}onFocusIn(e){if(this.eGui.contains(e.relatedTarget))return;const t=!!e.relatedTarget&&!e.relatedTarget.classList.contains("ag-floating-filter"),i=!!e.relatedTarget&&li(e.relatedTarget,"ag-floating-filter");if(t&&i&&e.target===this.eGui){const e=this.lastFocusEvent,t=!(!e||e.key!==gs.TAB);if(e&&t){const t=e.shiftKey;this.focusService.focusInto(this.eGui,t)}}const s=this.getRowIndex();this.beans.focusService.setFocusedHeader(s,this.column)}setupHover(e){e.createManagedBean(new gn([this.column],this.eGui));const t=()=>{if(!this.gos.get("columnHoverHighlight"))return;const e=this.beans.columnHoverService.isHovered(this.column);this.comp.addOrRemoveCssClass("ag-column-hover",e)};e.addManagedEventListeners({columnHoverChanged:t}),t()}setupLeft(e){const t=new ln(this.column,this.eGui,this.beans);e.createManagedBean(t)}setupFilterButton(){this.suppressFilterButton=!this.menuService.isFloatingFilterButtonEnabled(this.column),this.highlightFilterButtonWhenActive=!this.menuService.isLegacyMenuEnabled()}setupUserComp(){var e;if(!this.active)return;const t=null==(e=this.beans.filterManager)?void 0:e.getFloatingFilterCompDetails(this.column,(()=>this.showParentFilter()));t&&this.setCompDetails(t)}setCompDetails(e){this.userCompDetails=e,this.comp.setCompDetails(e)}showParentFilter(){const e=this.suppressFilterButton?this.eFloatingFilterBody:this.eButtonShowMainFilter;this.menuService.showFilterMenu({column:this.column,buttonElement:e,containerType:"floatingFilter",positionBy:"button"})}setupSyncWithFilter(e){if(!this.active)return;const{filterManager:t}=this.beans,i=e=>{if("filterDestroyed"===(null==e?void 0:e.source)&&!this.isAlive())return;const i=this.comp.getFloatingFilterComp();i&&i.then((i=>{if(i){const s=null==t?void 0:t.getCurrentFloatingFilterParentModel(this.column),o=e?{...e,columns:e.columns??[],source:"api"===e.source?"api":"columnFilter"}:null;i.onParentModelChanged(s,o)}}))};[this.destroySyncListener]=e.addManagedListeners(this.column,{filterChanged:i}),(null==t?void 0:t.isFilterActive(this.column))&&i(null)}setupWidth(e){const t=()=>{const e=`${this.column.getActualWidth()}px`;this.comp.setWidth(e)};e.addManagedListeners(this.column,{widthChanged:t}),t()}setupFilterChangedListener(e){this.active&&([this.destroyFilterChangedListener]=e.addManagedListeners(this.column,{filterChanged:this.updateFilterButton.bind(this)}),this.updateFilterButton())}updateFilterButton(){var e;if(!this.suppressFilterButton&&this.comp){const t=!!(null==(e=this.beans.filterManager)?void 0:e.isFilterAllowed(this.column));this.comp.setButtonWrapperDisplayed(t),this.highlightFilterButtonWhenActive&&t&&this.eButtonShowMainFilter.classList.toggle("ag-filter-active",this.column.isFilterActive())}}onColDefChanged(e){var t;const i=this.active;this.setupActive();const s=!i&&this.active;i&&!this.active&&(this.destroySyncListener(),this.destroyFilterChangedListener());const o=this.active?null==(t=this.beans.filterManager)?void 0:t.getFloatingFilterCompDetails(this.column,(()=>this.showParentFilter())):null,n=this.comp.getFloatingFilterComp();n&&o?n.then((t=>{var i;!t||(null==(i=this.beans.filterManager)?void 0:i.areFilterCompsDifferent(this.userCompDetails??null,o))?this.updateCompDetails(e,o,s):this.updateFloatingFilterParams(o)})):this.updateCompDetails(e,o,s)}updateCompDetails(e,t,i){this.isAlive()&&(this.setCompDetails(t),this.setupFilterButton(),this.setupUi(),i&&(this.setupSyncWithFilter(e),this.setupFilterChangedListener(e)))}updateFloatingFilterParams(e){var t;if(!e)return;const i=e.params;null==(t=this.comp.getFloatingFilterComp())||t.then((e=>{let t=!1;if((null==e?void 0:e.refresh)&&"function"==typeof e.refresh){null!==e.refresh(i)&&(t=!0)}if(!t&&(null==e?void 0:e.onParamsUpdated)&&"function"==typeof e.onParamsUpdated){null!==e.onParamsUpdated(i)&&m("Custom floating filter method 'onParamsUpdated' is deprecated. Use 'refresh' instead.")}}))}destroy(){super.destroy(),this.destroySyncListener=null,this.destroyFilterChangedListener=null}}}],dependantModules:[Rn]},Dn={version:pn,moduleName:"@ag-grid-community/read-only-floating-filter",userComponents:[{name:"agReadOnlyFloatingFilter",classImp:class extends Ji{constructor(){super('\n <div class="ag-floating-filter-input" role="presentation">\n <ag-input-text-field data-ref="eFloatingFilterText"></ag-input-text-field>\n </div>',[Bo]),this.eFloatingFilterText=Xi}wireBeans(e){this.columnNameService=e.columnNameService}destroy(){super.destroy()}init(e){this.params=e;const t=this.columnNameService.getDisplayNameForColumn(e.column,"header",!0),i=this.localeService.getLocaleTextFunc();this.eFloatingFilterText.setDisabled(!0).setInputAriaLabel(`${t} ${i("ariaFilterInput","Filter Input")}`)}onParentModelChanged(e){null!=e?this.params.parentFilterInstance((t=>{if(t.getModelAsString){const i=t.getModelAsString(e);this.eFloatingFilterText.setValue(i)}})):this.eFloatingFilterText.setValue("")}onParamsUpdated(e){this.refresh(e)}refresh(e){this.init(e)}}}],dependantModules:[Pn]},En={version:pn,moduleName:"@ag-grid-community/simple-floating-filter",dependantModules:[{version:pn,moduleName:"@ag-grid-community/simple-filter",dependantModules:[Rn],userComponents:[{name:"agTextColumnFilter",classImp:class extends ko{constructor(){super("textFilter"),this.defaultFormatter=e=>e,this.defaultLowercaseFormatter=e=>null==e?null:e.toString().toLowerCase(),this.defaultMatcher=({filterOption:e,value:t,filterText:i})=>{if(null==i)return!1;switch(e){case"contains":return t.indexOf(i)>=0;case"notContains":return t.indexOf(i)<0;case"equals":return t===i;case"notEqual":return t!=i;case"startsWith":return 0===t.indexOf(i);case"endsWith":{const e=t.lastIndexOf(i);return e>=0&&e===t.length-i.length}default:return!1}},this.eValuesFrom=[],this.eValuesTo=[]}getDefaultDebounceMs(){return 500}setParams(e){this.textFilterParams=e,super.setParams(e),this.matcher=this.getTextMatcher(),this.formatter=this.textFilterParams.textFormatter||(this.textFilterParams.caseSensitive?this.defaultFormatter:this.defaultLowercaseFormatter),this.filterModelFormatter=new jo(this.localeService,this.optionsFactory)}getTextMatcher(){const e=this.textFilterParams.textCustomComparator;return e?(m("textCustomComparator is deprecated, use textMatcher instead."),({filterOption:t,value:i,filterText:s})=>e(t,i,s)):this.textFilterParams.textMatcher||this.defaultMatcher}createCondition(e){const t=this.getConditionType(e),i={filterType:this.getFilterType(),type:t},s=this.getValuesWithSideEffects(e,!0);return s.length>0&&(i.filter=s[0]),s.length>1&&(i.filterTo=s[1]),i}getFilterType(){return"text"}areSimpleModelsEqual(e,t){return e.filter===t.filter&&e.filterTo===t.filterTo&&e.type===t.type}getInputs(e){return e>=this.eValuesFrom.length?[null,null]:[this.eValuesFrom[e],this.eValuesTo[e]]}getValues(e){return this.getValuesWithSideEffects(e,!1)}getValuesWithSideEffects(e,t){const i=[];return this.forEachPositionInput(e,((e,s,o,n)=>{if(s<n){let s=F(e.getValue());t&&this.textFilterParams.trimInput&&(s=qo(s)??null,e.setValue(s,!0)),i.push(s)}})),i}getDefaultFilterOptions(){return $o}createValueElement(){const e=document.createElement("div");return e.classList.add("ag-filter-body"),qt(e,"presentation"),this.createFromToElement(e,this.eValuesFrom,"from"),this.createFromToElement(e,this.eValuesTo,"to"),e}createFromToElement(e,t,i){const s=this.createManagedBean(new Ho);s.addCssClass(`ag-filter-${i}`),s.addCssClass("ag-filter-filter"),t.push(s),e.appendChild(s.getGui())}removeValueElements(e,t){this.removeComponents(this.eValuesFrom,e,t),this.removeComponents(this.eValuesTo,e,t)}mapValuesFromModel(e){const{filter:t,filterTo:i,type:s}=e||{};return[t||null,i||null].slice(0,this.getNumberOfInputs(s))}evaluateNullValue(e){return!!e&&["notEqual","notContains","blank"].indexOf(e)>=0}evaluateNonNullValue(e,t,i,s){const o=e.map((e=>this.formatter(e)))||[],n=this.formatter(t),{api:r,colDef:l,column:a,context:d,textFormatter:h}=this.textFilterParams;if("blank"===i.type)return this.isBlank(t);if("notBlank"===i.type)return!this.isBlank(t);const u={api:r,colDef:l,column:a,context:d,node:s.node,data:s.data,filterOption:i.type,value:n,textFormatter:h};return o.some((e=>this.matcher({...u,filterText:e})))}getModelAsString(e){return this.filterModelFormatter.getModelAsString(e)??""}}},{name:"agNumberColumnFilter",classImp:class extends Oo{constructor(){super("numberFilter"),this.eValuesFrom=[],this.eValuesTo=[]}refresh(e){return this.numberFilterParams.allowedCharPattern===e.allowedCharPattern&&super.refresh(e)}mapValuesFromModel(e){const{filter:t,filterTo:i,type:s}=e||{};return[this.processValue(t),this.processValue(i)].slice(0,this.getNumberOfInputs(s))}getDefaultDebounceMs(){return 500}comparator(){return(e,t)=>e===t?0:e<t?1:-1}setParams(e){this.numberFilterParams=e,super.setParams(e),this.filterModelFormatter=new Ko(this.localeService,this.optionsFactory,this.numberFilterParams.numberFormatter)}getDefaultFilterOptions(){return zo}setElementValue(e,t,i){const s=!i&&this.numberFilterParams.numberFormatter?this.numberFilterParams.numberFormatter(t??null):t;super.setElementValue(e,s)}createValueElement(){const e=_o(this.numberFilterParams),t=document.createElement("div");return t.classList.add("ag-filter-body"),qt(t,"presentation"),this.createFromToElement(t,this.eValuesFrom,"from",e),this.createFromToElement(t,this.eValuesTo,"to",e),t}createFromToElement(e,t,i,s){const o=this.createManagedBean(s?new Ho({allowedCharPattern:s}):new Vo);o.addCssClass(`ag-filter-${i}`),o.addCssClass("ag-filter-filter"),t.push(o),e.appendChild(o.getGui())}removeValueElements(e,t){this.removeComponents(this.eValuesFrom,e,t),this.removeComponents(this.eValuesTo,e,t)}getValues(e){const t=[];return this.forEachPositionInput(e,((e,i,s,o)=>{i<o&&t.push(this.processValue(this.stringToFloat(e.getValue())))})),t}areSimpleModelsEqual(e,t){return e.filter===t.filter&&e.filterTo===t.filterTo&&e.type===t.type}getFilterType(){return"number"}processValue(e){return null==e||isNaN(e)?null:e}stringToFloat(e){if("number"==typeof e)return e;let t=F(e);return null!=t&&""===t.trim()&&(t=null),this.numberFilterParams.numberParser?this.numberFilterParams.numberParser(t):null==t||"-"===t.trim()?null:parseFloat(t)}createCondition(e){const t=this.getConditionType(e),i={filterType:this.getFilterType(),type:t},s=this.getValues(e);return s.length>0&&(i.filter=s[0]),s.length>1&&(i.filterTo=s[1]),i}getInputs(e){return e>=this.eValuesFrom.length?[null,null]:[this.eValuesFrom[e],this.eValuesTo[e]]}getModelAsString(e){return this.filterModelFormatter.getModelAsString(e)??""}hasInvalidInputs(){let e=!1;return this.forEachInput((t=>{t.getInputElement().validity.valid||(e=!0)})),e}}},{name:"agDateColumnFilter",classImp:class extends Oo{constructor(){super("dateFilter"),this.eConditionPanelsFrom=[],this.eConditionPanelsTo=[],this.dateConditionFromComps=[],this.dateConditionToComps=[],this.minValidYear=1e3,this.maxValidYear=rn,this.minValidDate=null,this.maxValidDate=null}wireBeans(e){super.wireBeans(e),this.context=e.context,this.userComponentFactory=e.userComponentFactory}afterGuiAttached(e){super.afterGuiAttached(e),this.dateConditionFromComps[0].afterGuiAttached(e)}mapValuesFromModel(e){const{dateFrom:t,dateTo:i,type:s}=e||{};return[t&&tn(t)||null,i&&tn(i)||null].slice(0,this.getNumberOfInputs(s))}comparator(){return this.dateFilterParams.comparator?this.dateFilterParams.comparator:this.defaultComparator.bind(this)}defaultComparator(e,t){return null==t||t<e?-1:t>e?1:0}setParams(e){this.dateFilterParams=e,super.setParams(e);const t=(t,i)=>{if(null!=e[t]){if(!isNaN(e[t]))return null==e[t]?i:Number(e[t]);m(`DateFilter ${t} is not a number`)}return i};this.minValidYear=t("minValidYear",1e3),this.maxValidYear=t("maxValidYear",rn),this.minValidYear>this.maxValidYear&&m("DateFilter minValidYear should be <= maxValidYear"),e.minValidDate?this.minValidDate=e.minValidDate instanceof Date?e.minValidDate:tn(e.minValidDate):this.minValidDate=null,e.maxValidDate?this.maxValidDate=e.maxValidDate instanceof Date?e.maxValidDate:tn(e.maxValidDate):this.maxValidDate=null,this.minValidDate&&this.maxValidDate&&this.minValidDate>this.maxValidDate&&m("DateFilter minValidDate should be <= maxValidDate"),this.filterModelFormatter=new nn(this.dateFilterParams,this.localeService,this.optionsFactory)}createDateCompWrapper(e){const t=new sn(this.context,this.userComponentFactory,{onDateChanged:()=>this.onUiChanged(),filterParams:this.dateFilterParams},e);return this.addDestroyFunc((()=>t.destroy())),t}setElementValue(e,t){e.setDate(t)}setElementDisplayed(e,t){e.setDisplayed(t)}setElementDisabled(e,t){e.setDisabled(t)}getDefaultFilterOptions(){return on}createValueElement(){const e=j(this.gos).createElement("div");return e.classList.add("ag-filter-body"),this.createFromToElement(e,this.eConditionPanelsFrom,this.dateConditionFromComps,"from"),this.createFromToElement(e,this.eConditionPanelsTo,this.dateConditionToComps,"to"),e}createFromToElement(e,t,i,s){const o=j(this.gos).createElement("div");o.classList.add(`ag-filter-${s}`),o.classList.add(`ag-filter-date-${s}`),t.push(o),e.appendChild(o),i.push(this.createDateCompWrapper(o))}removeValueElements(e,t){this.removeDateComps(this.dateConditionFromComps,e,t),this.removeDateComps(this.dateConditionToComps,e,t),this.removeItems(this.eConditionPanelsFrom,e,t),this.removeItems(this.eConditionPanelsTo,e,t)}removeDateComps(e,t,i){this.removeItems(e,t,i).forEach((e=>e.destroy()))}isValidDateValue(e){if(null===e)return!1;if(this.minValidDate){if(e<this.minValidDate)return!1}else if(e.getUTCFullYear()<this.minValidYear)return!1;if(this.maxValidDate){if(e>this.maxValidDate)return!1}else if(e.getUTCFullYear()>this.maxValidYear)return!1;return!0}isConditionUiComplete(e){if(!super.isConditionUiComplete(e))return!1;let t=!0;return this.forEachInput(((i,s,o,n)=>{o!==e||!t||s>=n||(t=t&&this.isValidDateValue(i.getDate()))})),t}areSimpleModelsEqual(e,t){return e.dateFrom===t.dateFrom&&e.dateTo===t.dateTo&&e.type===t.type}getFilterType(){return"date"}createCondition(e){const t=this.getConditionType(e),i={},s=this.getValues(e);return s.length>0&&(i.dateFrom=Jo(s[0])),s.length>1&&(i.dateTo=Jo(s[1])),{dateFrom:null,dateTo:null,filterType:this.getFilterType(),type:t,...i}}resetPlaceholder(){const e=this.localeService.getLocaleTextFunc(),t=this.translate("dateFormatOoo"),i=e("ariaFilterValue","Filter Value");this.forEachInput((e=>{e.setInputPlaceholder(t),e.setInputAriaLabel(i)}))}getInputs(e){return e>=this.dateConditionFromComps.length?[null,null]:[this.dateConditionFromComps[e],this.dateConditionToComps[e]]}getValues(e){const t=[];return this.forEachPositionInput(e,((e,i,s,o)=>{i<o&&t.push(e.getDate())})),t}translate(e){return"lessThan"===e?super.translate("before"):"greaterThan"===e?super.translate("after"):super.translate(e)}getModelAsString(e){return this.filterModelFormatter.getModelAsString(e)??""}}},{name:"agDateInput",classImp:class extends Ji{constructor(){super('\n <div class="ag-filter-filter">\n <ag-input-text-field class="ag-date-filter" data-ref="eDateInput"></ag-input-text-field>\n </div>',[Bo]),this.eDateInput=Xi}destroy(){super.destroy()}init(e){this.params=e,this.setParams(e);const t=this.eDateInput.getInputElement();this.addManagedListeners(t,{mouseDown:()=>{this.eDateInput.isDisabled()||this.usingSafariDatePicker||t.focus()},input:e=>{e.target===Y(this.gos)&&(this.eDateInput.isDisabled()||this.params.onDateChanged())}})}setParams(e){const t=this.eDateInput.getInputElement(),i=this.shouldUseBrowserDatePicker(e);this.usingSafariDatePicker=i&&Hi(),t.type=i?"date":"text";const{minValidYear:s,maxValidYear:o,minValidDate:n,maxValidDate:r}=e.filterParams||{};if(n&&s&&m("DateFilter should not have both minValidDate and minValidYear parameters set at the same time! minValidYear will be ignored."),r&&o&&m("DateFilter should not have both maxValidDate and maxValidYear parameters set at the same time! maxValidYear will be ignored."),n&&r){const[e,t]=[n,r].map((e=>e instanceof Date?e:tn(e)));e&&t&&e.getTime()>t.getTime()&&m("DateFilter parameter minValidDate should always be lower than or equal to parameter maxValidDate.")}n?n instanceof Date?t.min=en(n):t.min=n:s&&(t.min=`${s}-01-01`),r?r instanceof Date?t.max=en(r):t.max=r:o&&(t.max=`${o}-12-31`)}onParamsUpdated(e){this.refresh(e)}refresh(e){this.params=e,this.setParams(e)}getDate(){return tn(this.eDateInput.getValue())}setDate(e){this.eDateInput.setValue(Jo(e,!1))}setInputPlaceholder(e){this.eDateInput.setInputPlaceholder(e)}setInputAriaLabel(e){this.eDateInput.setAriaLabel(e)}setDisabled(e){this.eDateInput.setDisabled(e)}afterGuiAttached(e){e&&e.suppressFocus||this.eDateInput.getInputElement().focus()}shouldUseBrowserDatePicker(e){return e.filterParams&&null!=e.filterParams.browserDatePicker?e.filterParams.browserDatePicker:function(){if(void 0===Ai){const e=window;Ai=!!e.chrome&&(!!e.chrome.webstore||!!e.chrome.runtime)||/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)}return Ai}()||Vi()||Hi()&&Bi()>=14.1}}}]},Pn],userComponents:[{name:"agTextColumnFloatingFilter",classImp:class extends wn{init(e){super.init(e),this.filterModelFormatter=new jo(this.localeService,this.optionsFactory)}onParamsUpdated(e){this.refresh(e)}refresh(e){super.refresh(e),this.filterModelFormatter.updateParams({optionsFactory:this.optionsFactory})}getDefaultFilterOptions(){return $o}getFilterModelFormatter(){return this.filterModelFormatter}createFloatingFilterInputService(){return this.createManagedBean(new fn)}}},{name:"agNumberColumnFloatingFilter",classImp:class extends wn{init(e){var t;super.init(e),this.filterModelFormatter=new Ko(this.localeService,this.optionsFactory,null==(t=e.filterParams)?void 0:t.numberFormatter)}onParamsUpdated(e){this.refresh(e)}refresh(e){_o(e.filterParams)!==this.allowedCharPattern&&this.recreateFloatingFilterInputService(e),super.refresh(e),this.filterModelFormatter.updateParams({optionsFactory:this.optionsFactory})}getDefaultFilterOptions(){return zo}getFilterModelFormatter(){return this.filterModelFormatter}createFloatingFilterInputService(e){return this.allowedCharPattern=_o(e.filterParams),this.allowedCharPattern?this.createManagedBean(new fn({config:{allowedCharPattern:this.allowedCharPattern}})):this.createManagedBean(new Sn)}}},{name:"agDateColumnFloatingFilter",classImp:class extends Cn{constructor(){super('\n <div class="ag-floating-filter-input" role="presentation">\n <ag-input-text-field data-ref="eReadOnlyText"></ag-input-text-field>\n <div data-ref="eDateWrapper" style="display: flex;"></div>\n </div>',[Bo]),this.eReadOnlyText=Xi,this.eDateWrapper=Xi}wireBeans(e){super.wireBeans(e),this.context=e.context,this.userComponentFactory=e.userComponentFactory}getDefaultFilterOptions(){return on}init(e){super.init(e),this.params=e,this.filterParams=e.filterParams,this.createDateComponent(),this.filterModelFormatter=new nn(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 t=e;this.dateComp.setDate(tn(t.dateFrom))}else this.dateComp.setDate(null);this.eReadOnlyText.setValue("")}else this.eReadOnlyText.setValue(this.filterModelFormatter.getModelAsString(e)),this.dateComp.setDate(null)}setEditable(e){ni(this.eDateWrapper,e),ni(this.eReadOnlyText.getGui(),!e)}onParentModelChanged(e,t){this.isEventFromFloatingFilter(t)||this.isEventFromDataChange(t)||(super.setLastTypeFromModel(e),this.updateCompOnModelChange(e))}onDateChanged(){const e=Jo(this.dateComp.getDate());this.params.parentFilterInstance((t=>{if(t){const i=tn(e);t.onFloatingFilterChanged(this.getLastType()||null,i)}}))}getDateComponentParams(){const e=Po(this.params.filterParams,this.getDefaultDebounceMs());return{onDateChanged:b(this.onDateChanged.bind(this),e),filterParams:this.params.column.getColDef().filterParams}}createDateComponent(){this.dateComp=new sn(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}}}]},Mn={version:pn,moduleName:"@ag-grid-community/quick-filter-core",beans:[class extends Oe{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",(e=>this.setQuickFilter(e.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 e;const t=this.columnModel.isPivotMode(),i=this.columnModel.getAutoCols(),s=this.columnModel.getColDefCols();let o=(t&&!this.gos.get("applyQuickFilterBeforePivotOrAgg")?null==(e=this.pivotResultColsService.getPivotResultCols())?void 0:e.list:s)??[];i&&(o=o.concat(i)),this.colsForQuickFilter=this.gos.get("includeHiddenColumnsInQuickFilter")?o:o.filter((e=>e.isVisible()||e.isRowGroupActive()))}isQuickFilterPresent(){return null!==this.quickFilter}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 P(e)?G(this.gos)?e.toUpperCase():(m("Quick filtering only works with the Client-Side Row Model"),null):null}setQuickFilter(e){if(null!=e&&"string"!=typeof e)return void m("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 P(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 P(i)?i.toString().toUpperCase():null}getQuickFilterAggregateText(e){const t=[];return this.colsForQuickFilter.forEach((i=>{const s=this.getQuickFilterTextForColumn(i,e);P(s)&&t.push(s)})),t.join("\n")}}],dependantModules:[yn]},xn={version:pn,moduleName:"@ag-grid-community/filter",dependantModules:[En,Dn,{version:pn,moduleName:"@ag-grid-community/quick-filter",dependantModules:[Mn,{version:pn,moduleName:"@ag-grid-community/quick-filter-api",apiFunctions:{isQuickFilterPresent:function(e){var t;return!!(null==(t=e.filterManager)?void 0:t.isQuickFilterPresent())},getQuickFilter:function(e){return e.gos.get("quickFilterText")},resetQuickFilter:function(e){var t;null==(t=e.filterManager)||t.resetQuickFilterCache()}},dependantModules:[Mn]}]},Fn]},An=(e=>(e.COLUMN_GROUP="group",e.COLUMN="column",e.FLOATING_FILTER="filter",e))(An||{}),Tn=class extends Oe{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,(e=>{this.gridBodyCon=e.gridBodyCtrl}));const e=j(this.gos);this.addManagedElementListeners(e,{mousedown:()=>this.setCurrentHeaderRowWithoutSpan(-1)})}getHeaderRowCount(){var e;return(null==(e=this.ctrlsService.getHeaderRowContainerCtrl())?void 0:e.getRowCount())??0}getHeaderPositionForColumn(e,t){let i;if("string"==typeof e?(i=this.columnModel.getCol(e),i||(i=this.visibleColService.getColumnGroup(e))):i=e,!i)return null;const s=this.ctrlsService.getHeaderRowContainerCtrl(),o="filter"===we((null==s?void 0:s.getAllCtrls())||[]).getType(),n=this.getHeaderRowCount()-1;let r=-1,l=i;for(;l;)r++,l=l.getParent();let a=r;return t&&o&&a===n-1&&a++,-1===a?null:{headerRowIndex:a,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=0===e;let{headerRowIndex:l,column:a,headerRowIndexWithoutSpan:d}=r?this.headerPositionUtils.getColumnVisibleParent(o,s):this.headerPositionUtils.getColumnVisibleChild(o,s),h=!1;return l<0&&(l=0,a=o,h=!0),l>=n?(l=-1,this.setCurrentHeaderRowWithoutSpan(-1)):void 0!==d&&(this.currentHeaderRowWithoutSpan=d),!(!h&&!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=2===e,n=this.gos.get("enableRtl");let r,l;if(-1!==this.currentHeaderRowWithoutSpan?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 e=this.gos.getCallback("tabToNextHeader");if(e)return this.focusService.focusHeaderPositionFromUserFunc({userFunc:e,headerPosition:r,direction:l})}return this.focusNextHeaderRow(s,l,i)}focusNextHeaderRow(e,t,i){const s=e.headerRowIndex;let o,n=null;if("Before"===t?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,null==n?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(Mt(e)){const s=e.getDisplayedLeafColumns();i="Before"===t?we(s):s[0]}else i=e;this.gridBodyCon.getScrollFeature().ensureColumnVisible(i)}},In=class extends Oe{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 Ro(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 e;const{columnModel:t}=this;let i=0;const s=this.columnModel.getGroupRowsHeight().reduce(((e,t)=>e+t),0),o=this.columnModel.getColumnHeaderRowHeight();if((null==(e=this.filterManager)?void 0:e.hasFloatingFilters())&&(i+=t.getFloatingFiltersHeight()),i+=s,i+=o,this.headerHeight===i)return;this.headerHeight=i;const n=`${i+1}px`;this.comp.setHeightAndMinHeight(n),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((e=>e.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 gs.LEFT:t=2;case gs.RIGHT:P(t)||(t=3),this.headerNavigationService.navigateHorizontally(t,!1,e)&&e.preventDefault();break;case gs.UP:t=0;case gs.DOWN:P(t)||(t=1),this.headerNavigationService.navigateVertically(t,null,e)&&e.preventDefault();break;default:return}}onFocusOut(e){const{relatedTarget:t}=e;!t&&this.eGui.contains(Y(this.gos))||this.eGui.contains(t)||this.focusService.clearFocusedHeader()}onHeaderContextMenu(e,t,i){var s;if(!e&&!i||!this.menuService.isHeaderContextMenuEnabled())return;const{target:o}=e??t;o!==this.eGui&&o!==(null==(s=this.ctrlsService.getHeaderRowContainerCtrl())?void 0:s.getViewportElement())||this.menuService.showHeaderContextMenu(void 0,e,i)}mockContextMenuForIPad(e){if(!zi())return;const t=new os(this.eGui);this.addManagedListeners(t,{longTap:t=>{e(void 0,t.touchStart,t.touchEvent)}}),this.addDestroyFunc((()=>t.destroy()))}},Ln=class extends Oe{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=H(this.gos,"print"),t=this.visibleColsService.getBodyContainerWidth(),i=this.visibleColsService.getColsLeftWidth(),s=this.visibleColsService.getDisplayedColumnsRightWidth();let o;if(e)o=t+i+s;else if(o=t,this.addSpacer){0===(this.gos.get("enableRtl")?i:s)&&this.scrollVisibleService.isVerticalScrollShowing()&&(o+=this.scrollVisibleService.getScrollbarWidth())}this.callback(o)}},kn=class extends Oe{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((e=>{e.isPrimary()&&(e.isAnyFunctionActive()||(e.isAllowValue()?this.columnsToAggregate.push(e):e.isAllowRowGroup()?this.columnsToGroup.push(e):e.isAllowPivot()&&this.columnsToPivot.push(e)))}))}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 On(e){const{isFromHeader:t,fromLeft:i,xPosition:s,fromEnter:o,fakeEvent:n,pinned:r,gos:l,columnModel:a,columnMoveService:d,visibleColsService:h}=e;let{allMovingColumns:u}=e;if(t){const e=[];u.forEach((t=>{var i;let s=null,o=t.getParent();for(;null!=o&&1===o.getDisplayedLeafColumns().length;)s=o,o=o.getParent();if(null!=s){(!!(null==(i=s.getColGroupDef())?void 0:i.marryChildren)?s.getProvidedColumnGroup().getLeafColumns():s.getLeafColumns()).forEach((t=>{e.includes(t)||e.push(t)}))}else e.includes(t)||e.push(t)})),u=e}const c=u.slice();a.sortColsLikeCols(c);const g=function(e){const{movingCols:t,draggingRight:i,xPosition:s,pinned:o,gos:n,columnModel:r,visibleColsService:l}=e,a=n.get("suppressMovableColumns")||t.some((e=>e.getColDef().suppressMovable));if(a)return[];const d=function(e,t){switch(t){case"left":return e.getLeftCols();case"right":return e.getRightCols();default:return e.getCenterCols()}}(l,o),h=r.getCols(),u=d.filter((e=>Pe(t,e))),c=d.filter((e=>!Pe(t,e))),g=h.filter((e=>!Pe(t,e)));let p,m=0,v=s;if(i){let e=0;u.forEach((t=>e+=t.getActualWidth())),v-=e}if(v>0){for(let e=0;e<c.length;e++){if(v-=c[e].getActualWidth(),v<0)break;m++}i&&m++}if(m>0){const e=c[m-1];p=g.indexOf(e)+1}else p=g.indexOf(c[0]),-1===p&&(p=0);const C=[p],f=(e,t)=>e-t;if(i){let e=p+1;const t=h.length-1;for(;e<=t;)C.push(e),e++;C.sort(f)}else{let e=p;const t=h.length-1;let i=h[e];for(;e<=t&&d.indexOf(i)<0;)e++,C.push(e),i=h[e];e=p-1;const s=0;for(;e>=s;)C.push(e),e--;C.sort(f).reverse()}return C}({movingCols:c,draggingRight:i,xPosition:s,pinned:r,gos:l,columnModel:a,visibleColsService:h}),p=function(e,t){const i=t.getCols(),s=(r=e.map((e=>i.indexOf(e))),r.sort(((e,t)=>e-t))),o=s[0],n=we(s);var r;return n-o!=s.length-1?null:o}(c,a);if(0===g.length)return;const m=g[0];let v=null!==p&&!o;if(t&&(v=null!==p),v&&!n){if(!i&&m>=p)return;if(i&&m<=p)return}const C=h.getAllCols(),f=[];let w=null;for(let y=0;y<g.length;y++){const e=g[y],t=d.getProposedColumnOrder(c,e);if(!d.doesOrderPassRules(t))continue;const i=t.filter((e=>C.includes(e)));if(null===w)w=i;else if(!Se(i,w))break;const s=Nn(t);f.push({move:e,fragCount:s})}if(0===f.length)return;f.sort(((e,t)=>e.fragCount-t.fragCount));const S=f[0].move;return S>a.getCols().length-u.length?void 0:{columns:u,toIndex:S}}function Gn(e){const{columns:t,toIndex:i}=On(e)||{},{finished:s,columnMoveService:o}=e;return t&&null!=i?(o.moveColumns(t,i,"uiColumnMoved",s),s?null:{columns:t,toIndex:i}):null}function Nn(e){function t(e){const t=[];let i=e.getOriginalParent();for(;null!=i;)t.push(i),i=i.getOriginalParent();return t}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((e=>{-1===n.indexOf(e)&&i++}))}return i}function Hn(e){var t;const{pinned:i,fromKeyboard:s,gos:o,ctrlsService:n,useHeaderRow:r,skipScrollPadding:l}=e;let a=null==(t=n.getHeaderRowContainerCtrl(i))?void 0:t.getViewportElement(),{x:d}=e;return a?(s&&(d-=a.getBoundingClientRect().left),o.get("enableRtl")&&(r&&(a=a.querySelector(".ag-header-row")),d=a.clientWidth-d),null!=i||l||(d+=n.get("center").getCenterViewportScrollLeft()),d):0}function Bn(e,t){for(const i of e)i.setMoving(t,"uiColumnMoved")}var Vn=class extends Oe{constructor(e){super(),this.needToMoveLeft=!1,this.needToMoveRight=!1,this.lastMovedInfo=null,this.pinned=e,this.isCenterContainer=!P(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 e;const t=(null==(e=this.lastDraggingEvent)?void 0:e.dragItem.columns)??[];for(const i of t){const e=i.getPinned();if(i.getColDef().lockPinned){if(e==this.pinned)return"move"}else{if(e===this.pinned||!this.pinned)return"move";if(!e&&this.pinned)return"pinned"}}return"notAllowed"}onDragEnter(e){const t=e.dragItem.columns;if(0===e.dragSource.type)this.setColumnsVisible(t,!0,"uiColumnDragged");else{const i=e.dragItem.visibleState,s=(t||[]).filter((e=>i[e.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&&D(e.hDirection))return;const{pinned:n,gos:r,ctrlsService:l}=this,a=Hn({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((e=>!e.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 e=this.isAttemptingToPin(n);e&&this.attemptToPinColumns(n,void 0,!0);const{fromLeft:s,xPosition:o}=this.getNormalisedXPositionInfo(n,e)||{};if(null==s||null==o)return void this.finishColumnMoving();this.moveColumnsAfterHighlight({allMovingColumns:n,xPosition:o,fromEnter:t,fakeEvent:i,fromLeft:s})}else{if(!this.dragAndDropService.isDropZoneWithinThisGrid(e))return;this.highlightHoveredColumn(n,s)}}handleColumnDragWhileAllowingMovement(e,t,i,s,o){const n=this.getAllMovingColumns(e),r=1===this.normaliseDirection(e.hDirection),l=1===e.dragSource.type,a=Gn({...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;t?(s=i.columnsInSplit,s||(s=i.columns)):s=i.columns;return s?s.filter((e=>!e.getColDef().lockPinned||e.getPinned()==this.pinned)):[]}getMoveColumnParams(e){const{allMovingColumns:t,isFromHeader:i,xPosition:s,fromLeft:o,fromEnter:n,fakeEvent:r}=e,{pinned:l,gos:a,columnModel:d,columnMoveService:h,visibleColsService:u}=this;return{allMovingColumns:t,isFromHeader:i,fromLeft:o,xPosition:s,pinned:l,fromEnter:n,fakeEvent:r,gos:a,columnModel:d,columnMoveService:h,visibleColsService:u}}findFirstAndLastMovingColumns(e){const t=e.length;let i,s;for(let o=0;o<=t;o++){if(!i){const t=e[o];null!=t.getLeft()&&(i=t)}if(!s){const i=e[t-1-o];null!=i.getLeft()&&(s=i)}if(i&&s)break}return{firstMovingCol:i,lastMovingCol:s}}highlightHoveredColumn(e,t){var i;const{gos:s,columnModel:o}=this,n=s.get("enableRtl"),r=o.getCols().filter((e=>e.isVisible()&&e.getPinned()===this.pinned));let l,a=null,d=null,h=null;for(const u of r){if(d=u.getActualWidth(),a=this.getNormalisedColumnLeft(u,0,n),null!=a){if(a<=t&&a+d>=t){h=u;break}}a=null,d=null}if(h)-1!==e.indexOf(h)&&(h=null);else{for(let e=r.length-1;e>=0;e--){const t=r[e],i=r[e].getParent();if(!i){h=t;break}const s=null==i?void 0:i.getDisplayedLeafColumns();if(s.length){h=we(s);break}}if(!h)return;a=this.getNormalisedColumnLeft(h,0,n),d=h.getActualWidth()}(null==(i=this.lastHighlightedColumn)?void 0:i.column)!==h&&this.clearHighlighted(),null!=h&&null!=a&&null!=d&&(l=t-a<d/2!==n?0:1,h.setHighlighted(l),this.lastHighlightedColumn={column:h,position:l})}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||null==l)return;const a=s.getAllCols(),d=a.indexOf(n),h=a.indexOf(r),u=0===l!==o,c=d<h||d===h&&!u;let g=0;if(u?c&&(g-=1):c||(g+=1),h+g===d)return;const p=a[h+g];if(!p)return;return{fromLeft:c,xPosition:this.getNormalisedColumnLeft(p,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="left"===this.getPinDirection();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(null==n)return null;const r=e.getActualWidth();return Hn({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((e=>e.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}=On(r)||{};l&&null!=a&&(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),null==(e=this.dragAndDropService.getDragAndDropImageComponent())||e.setIcon(this.needToMoveLeft?"left":"right",!0))}ensureIntervalCleared(){var e;this.movingIntervalId&&(window.clearInterval(this.movingIntervalId),this.movingIntervalId=null,this.failedMoveAttempts=0,null==(e=this.dragAndDropService.getDragAndDropImageComponent())||e.setIcon(this.getIconName()))}moveInterval(){var e,t;let i;this.intervalCount++,i=10+5*this.intervalCount,i>100&&(i=100);let s=null;const o=this.gridBodyCon.getScrollFeature();if(this.needToMoveLeft?s=o.scrollHorizontally(-i):this.needToMoveRight&&(s=o.scrollHorizontally(i)),0!==s)this.onDragging(this.lastDraggingEvent),this.failedMoveAttempts=0;else{if(this.failedMoveAttempts++,this.failedMoveAttempts<=8)return;if(null==(e=this.dragAndDropService.getDragAndDropImageComponent())||e.setIcon("pinned"),!this.gos.get("suppressMoveWhenColumnDragging")){const e=null==(t=this.lastDraggingEvent)?void 0:t.dragItem.columns;this.attemptToPinColumns(e,void 0,!0)}}}getPinDirection(){return this.needToMoveLeft||"left"===this.pinned?"left":this.needToMoveRight||"right"===this.pinned?"right":void 0}attemptToPinColumns(e,t,i=!1){const s=(e||[]).filter((e=>!e.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}},Wn=class extends Oe{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 Vn(this.pinned)),this.bodyDropPivotTarget=this.createManagedBean(new kn(this.pinned)),this.dragAndDropService.addDropTarget(this),this.addDestroyFunc((()=>this.dragAndDropService.removeDropTarget(this)))}isInterestedIn(e){return 1===e||0===e&&this.gos.get("allowDragFromColumnsToolPanel")}getSecondaryContainers(){return this.eSecondaryContainers}getContainer(){return this.eContainer}getIconName(){return this.currentDropListener.getIconName()}isDropColumnInPivotMode(e){return this.columnModel.isPivotMode()&&0===e.dragSource.type}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()}},zn=class extends Oe{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(ni(this.eResize,t),!t)return;const s=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(s),i){const t=this.gos.get("skipHeaderOnAutoSize"),i=()=>{this.columnAutosizeService.autoSizeColumn(this.column,"uiColumnResized",t)};this.eResize.addEventListener("dblclick",i);const s=new os(this.eResize);s.addEventListener("doubleTap",i),e.push((()=>{this.eResize.removeEventListener("dblclick",i),s.removeEventListener("doubleTap",i),s.destroy()}))}},o=()=>{e.forEach((e=>e())),e.length=0},n=()=>{const e=this.column.isResizable(),n=!this.gos.get("suppressAutoSize")&&!this.column.getColDef().suppressAutoSize;(e!==t||n!==i)&&(t=e,i=n,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}];if(this.column.getPinned()){if(this.pinnedWidthService.getPinnedLeftWidth()+this.pinnedWidthService.getPinnedRightWidth()+(n-s)>hi(this.ctrlsService.getGridBodyCtrl().getBodyViewportElement())-50)return}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="left"!==this.pinned,s="right"===this.pinned;return this.gos.get("enableRtl")?i&&(t*=-1):s&&(t*=-1),t}},Un=class extends Oe{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(Y(this.gos))&&(e.preventDefault(),t.setValue(!t.getValue()))}getCheckboxGui(){return this.cbSelectAll.getGui()}setComp(e){this.headerCellCtrl=e,this.cbSelectAll=this.createManagedBean(new Cs),this.cbSelectAll.addCssClass("ag-header-select-all"),qt(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!!me(this.gos)||(m(`${e} is only available if using 'multiRow' selection mode.`),!1)}checkRightRowModelType(e){return!(!G(this.gos)&&!N(this.gos))||(m(`${e} is only available if using 'clientSide' or 'serverSide' rowModelType, you are using ${this.rowModel.getType()}.`),!1)}onCbSelectAll(){if(this.processingEventFromCheckbox)return;if(!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="object"==typeof e&&ae(e)&&_e(this.column),i=this.column.getColDef().headerCheckboxSelection;let s=!1;return s=!!t||("function"==typeof i?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"object"==typeof e?"multiRow"===e.mode&&"filtered"===e.selectAll:!!this.column.getColDef().headerCheckboxSelectionFilteredOnly}isCurrentPageOnly(){const e=this.gos.get("rowSelection");return"object"==typeof e?"multiRow"===e.mode&&"currentPage"===e.selectAll:!!this.column.getColDef().headerCheckboxSelectionCurrentPageOnly}},Kn=class extends cn{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=zt(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:e=>this.setRefreshFunction("measuring",e),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 zn(this.getPinned(),this.column,i,e,this)),o.createManagedBean(new gn([this.column],t)),o.createManagedBean(new ln(this.column,t,this.beans)),o.createManagedBean(new Ro(t,{shouldStopEventPropagation:e=>this.shouldStopEventPropagation(e),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,d=this.getPinned(),h=t.getBoundingClientRect().left,u=s.getActualWidth(),c=Hn({x:0===e!==n.get("enableRtl")?h-20:h+u+20,pinned:d,fromKeyboard:!0,gos:n,ctrlsService:o}),g=this.focusService.getFocusedHeader();Gn({allMovingColumns:[s],isFromHeader:!0,fromLeft:1===e,xPosition:c,pinned:d,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:e=>{this.menuService.showColumnMenu({column:this.column,buttonElement:e,positionBy:"button"})},showColumnMenuAfterMouseClick:e=>{this.menuService.showColumnMenu({column:this.column,mouseEvent:e,positionBy:"mouse"})},showFilter:e=>{this.menuService.showFilterMenu({column:this.column,buttonElement:e,containerType:"columnFilter",positionBy:"button"})},progressSort:e=>{this.beans.sortController.progressSort(this.column,!!e,"uiColumnSorted")},setSort:(e,t)=>{this.beans.sortController.setSortForColumn(this.column,e,!!t,"uiColumnSorted")},eGridHeader:this.getGui(),setTooltip:(t,i)=>{this.setupTooltip(e,t,i)}})}setupSelectAll(e){this.selectAllFeature=e.createManagedBean(new Un(this.column)),this.selectAllFeature.setComp(this)}getSelectAllGui(){return this.selectAllFeature.getCheckboxGui()}handleKeyDown(e){super.handleKeyDown(e),e.key===gs.SPACE&&this.selectAllFeature.onSpaceKeyDown(e),e.key===gs.ENTER&&this.onEnterKeyDown(e),e.key===gs.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 ds&&i.onMenuKeyboardShortcut(t)&&e.preventDefault()}onFocusIn(e){if(!this.getGui().contains(e.relatedTarget)){const e=this.getRowIndex();this.focusService.setFocusedHeader(e,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="whenTruncated"===this.gos.get("tooltipShowMode"),o=this.eGui,n=this.column.getColDef();i||!s||n.headerComponent||(i=()=>{const e=o.querySelector(".ag-header-cell-text");return!e||e.scrollWidth>e.clientWidth});const r={getColumn:()=>this.column,getColDef:()=>this.column.getColDef(),getGui:()=>o,getLocation:()=>"header",getTooltipValue:()=>{if(null!=t)return t;return this.column.getColDef().headerTooltip},shouldDisplayTooltip:i},l=e.createManagedBean(new Qi(r));this.setRefreshFunction("tooltip",(()=>l.refreshToolTip()))}setupClassesFromColDef(){const e=()=>{const e=an(this.column.getColDef(),this.gos,this.column,null),t=this.userHeaderClasses;this.userHeaderClasses=new Set(e),e.forEach((e=>{t.has(e)?t.delete(e):this.comp.addOrRemoveCssClass(e,!0)})),t.forEach((e=>this.comp.addOrRemoveCssClass(e,!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"),Bn([t],!0)},onDragStopped:()=>Bn([t],!1),onDragCancelled:()=>Bn([t],!1),onGridEnter:e=>{var t;if(l){const i=(null==(t=null==e?void 0:e.columns)?void 0:t.filter((e=>!e.getColDef().lockVisible)))||[];r.setColsVisible(i,!0,"uiColumnMoved")}},onGridExit:e=>{var t;if(l){const i=(null==(t=null==e?void 0:e.columns)?void 0:t.filter((e=>!e.getColDef().lockVisible)))||[];r.setColsVisible(i,!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((e=>e()))}refreshHeaderComp(e){const t=this.lookupUserCompDetails(e);!!(null!=this.comp.getUserCompInstance()&&this.userCompDetails.componentClass==t.componentClass)&&this.attemptHeaderCompRefresh(t.params)?this.setDragSource(this.dragSourceElement):this.setCompDetails(t)}attemptHeaderCompRefresh(e){const t=this.comp.getUserCompInstance();if(!t)return!1;if(!t.refresh)return!1;return 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 e=this.column.getActualWidth();this.comp.setWidth(`${e}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 e=this.column.isFilterActive();this.comp.addOrRemoveCssClass("ag-header-cell-filtered",e),this.refreshAria()};e.addManagedListeners(this.column,{filterActiveChanged:t}),t()}setupWrapTextClass(){const e=()=>{const e=!!this.column.getColDef().wrapHeaderText;this.comp.addOrRemoveCssClass("ag-header-cell-wrap-text",e)};e(),this.setRefreshFunction("wrapText",e)}onHeaderHighlightChanged(){const e=this.column.getHighlighted(),t=0===e,i=1===e;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=0===o.reduce(((e,t)=>e+t),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,d=a.getColumnHeaderRowHeight();if(0===r)return i.addOrRemoveCssClass("ag-header-span-total",!1),e.style.setProperty("top","0px"),void e.style.setProperty("height",`${d}px`);i.addOrRemoveCssClass("ag-header-span-total",l);let h=0;for(let u=0;u<r;u++)h+=o[o.length-1-u];e.style.setProperty("top",-h+"px"),e.style.setProperty("height",`${d+h}px`)}refreshAriaSort(){if(this.sortable){const e=this.localeService.getLocaleTextFunc(),t=this.beans.sortController.getDisplaySortForColumn(this.column)||null;this.comp.setAriaSort(function(e){let t;return t="asc"===e?"ascending":"desc"===e?"descending":"mixed"===e?"other":"none",t}(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){null!=t?this.ariaDescriptionProperties.set(e,t):this.ariaDescriptionProperties.delete(e)}announceAriaDescription(){if(!this.eGui.contains(Y(this.beans.gos)))return;const e=Array.from(this.ariaDescriptionProperties.keys()).sort(((e,t)=>"filter"===e?-1:t.charCodeAt(0)-e.charCodeAt(0))).map((e=>this.ariaDescriptionProperties.get(e))).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 e=this.beans.columnHoverService.isHovered(this.column);this.comp.addOrRemoveCssClass("ag-column-hover",e)};e.addManagedEventListeners({columnHoverChanged:t}),t()}getColId(){return this.column.getColId()}addActiveHeaderMouseListeners(e){const t=e=>this.handleMouseOverChange("mouseenter"===e.type);e.addManagedListeners(this.getGui(),{mouseenter:t,mouseleave:t,click:()=>this.dispatchColumnMouseEvent("columnHeaderClicked",this.column),contextmenu:e=>this.handleContextMenuMouseEvent(e,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 ds?t.getAnchorElementForMenu(e):this.getGui()}destroy(){super.destroy()}},_n=class extends Oe{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 e=this.gos.get("skipHeaderOnAutoSize");this.eResize.addEventListener("dblclick",(()=>{const t=[];this.columnGroup.getDisplayedLeafColumns().forEach((e=>{e.getColDef().suppressAutoSize||t.push(e.getColId())})),t.length>0&&this.columnAutosizeService.autoSizeCols({colKeys:t,skipHeader:e,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 e=o.getDisplayedLeafColumns(),t=s.groupAfterColumns=e.filter((e=>e.isResizable())),i=s.groupAfterStartWidth=this.getInitialSizeOfColumns(t);s.groupAfterRatios=this.getSizeRatiosOfColumns(t,i)}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:d}=e,h=[];if(h.push({columns:o,ratios:r,width:t}),l){const e=t-n;h.push({columns:l,ratios:d,width:a-e})}this.columnSizeService.resizeColumnSets({resizeSets:h,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(((e,t)=>e+t.getActualWidth()),0)}getSizeRatiosOfColumns(e,t){return e.map((e=>e.getActualWidth()/t))}normaliseDragChange(e){let t=e;return this.gos.get("enableRtl")?"left"!==this.pinned&&(t*=-1):"right"===this.pinned&&(t*=-1),t}destroy(){super.destroy(),this.clearLocalValues()}},$n=class extends Oe{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",0===e)}},jn=class extends cn{constructor(e,t,i){super(e,t,i),this.onSuppressColMoveChange=()=>{if(!this.isAlive()||this.isSuppressMoving())this.removeDragSource();else if(!this.dragSource){const e=this.getGui();this.setDragSource(e)}},this.column=e}setComp(e,t,i,s,o){this.comp=e,o=zt(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 gn(r,t)),o.createManagedBean(new ln(this.column,t,this.beans)),o.createManagedBean(new $n(e,this.column)),this.resizeFeature=o.createManagedBean(new _n(e,i,n,this.column)),o.createManagedBean(new Ro(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");null!=i?0===i?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=we(t)===e;if(!i&&!s)return;const o=e.getHighlighted();let n=!1,r=!1;if(!!this.getParentRowCtrl().findHeaderCellCtrl((e=>e.getColumnGroupChild().isMoving()))){const e=this.beans.gos.get("enableRtl"),t=1===o,l=0===o;i&&(e?r=t:n=l),s&&(e?n=l:r=t)}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,d=n.get("enableRtl"),h=0===e,u=this.getPinned(),c=i.getBoundingClientRect(),g=c.left,p=c.width,m=Hn({x:h!==d?g-20:g+p+20,pinned:u,fromKeyboard:!0,gos:n,ctrlsService:o}),v=s.getGroupId(),C=this.focusService.getFocusedHeader();Gn({allMovingColumns:this.column.getLeafColumns(),isFromHeader:!0,fromLeft:1===e,xPosition:m,pinned:u,fromEnter:!1,fakeEvent:!1,gos:n,columnModel:r,columnMoveService:l,visibleColsService:a,finished:!0});const f=s.getDisplayedLeafColumns(),w=h?f[0]:we(f);this.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(w,"auto"),this.isAlive()&&!this.beans.gos.get("ensureDomOrder")||!C||this.restoreFocus(v,s,C)}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:e=>{this.beans.columnModel.setColumnGroupOpened(this.column.getProvidedColumnGroup(),e,"gridInitializing")},setTooltip:(t,i)=>{this.setupTooltip(e,t,i)}}),i=this.userComponentFactory.getHeaderGroupCompDetails(t);this.comp.setUserCompDetails(i)}addHeaderMouseListeners(e){const t=e=>this.handleMouseOverChange("mouseenter"===e.type);e.addManagedListeners(this.getGui(),{mouseenter:t,mouseleave:t,click:()=>this.dispatchColumnMouseEvent("columnHeaderClicked",this.column.getProvidedColumnGroup()),contextmenu:e=>this.handleContextMenuMouseEvent(e,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="whenTruncated"===this.gos.get("tooltipShowMode"),n=this.eGui;i||!o||(null==s?void 0:s.headerGroupComponent)||(i=()=>{const e=n.querySelector(".ag-header-group-text");return!e||e.scrollWidth>e.clientWidth});const r={getColumn:()=>this.column,getGui:()=>n,getLocation:()=>"headerGroup",getTooltipValue:()=>t??(s&&s.headerTooltip),shouldDisplayTooltip:i};s&&(r.getColDef=()=>s),e.createManagedBean(new Qi(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=an(e,this.gos,null,this.column);if(this.column.isPadding()){t.push("ag-header-group-cell-no-group");this.column.getLeafColumns().every((e=>e.isSpanHeaderHeight()))&&t.push("ag-header-span-height")}else t.push("ag-header-group-cell-with-group"),(null==e?void 0:e.wrapHeaderText)&&t.push("ag-header-cell-wrap-text");t.forEach((e=>this.comp.addOrRemoveCssClass(e,!0)))}setupMovingCss(e){const t=this.column.getProvidedColumnGroup().getLeafColumns(),i=()=>this.comp.addOrRemoveCssClass("ag-header-cell-moving",this.column.isMoving());t.forEach((t=>{e.addManagedListeners(t,{movingChanged:i})})),i()}onFocusIn(e){if(!this.eGui.contains(e.relatedTarget)){const e=this.getRowIndex();this.beans.focusService.setFocusedHeader(e,this.column)}}handleKeyDown(e){super.handleKeyDown(e);const t=this.getWrapperHasFocus();if(this.expandable&&t&&e.key===gs.ENTER){const e=this.column,t=!e.isExpanded();this.beans.columnModel.setColumnGroupOpened(e.getProvidedColumnGroup(),t,"uiColumnExpanded")}}setDragSource(e){if(!this.isAlive()||this.isSuppressMoving())return;if(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 d=this.dragSource={type:1,eElement:e,getDefaultIconName:()=>a?"hide":"notAllowed",dragItemName:s,getDragItem:()=>this.getDragItemForGroup(i),onDragStarted:()=>{a=!o.get("suppressDragLeaveHidesColumns"),Bn(l,!0)},onDragStopped:()=>Bn(l,!1),onDragCancelled:()=>Bn(l,!1),onGridEnter:e=>{if(a){const{columns:t=[],visibleState:i}=e??{},s=t.filter((e=>!e.getColDef().lockVisible&&(!i||i[e.getColId()])));r.setColsVisible(s,!0,"uiColumnMoved")}},onGridExit:e=>{var t;if(a){const i=(null==(t=null==e?void 0:e.columns)?void 0:t.filter((e=>!e.getColDef().lockVisible)))||[];r.setColsVisible(i,!1,"uiColumnMoved")}}};n.addDragSource(d,!0)}getDragItemForGroup(e){const t=e.getProvidedColumnGroup().getLeafColumns(),i={};t.forEach((e=>i[e.getId()]=e.isVisible()));const s=[];this.beans.visibleColsService.getAllCols().forEach((e=>{t.indexOf(e)>=0&&(s.push(e),be(t,e))})),t.forEach((e=>s.push(e)));const o=[],n=e.getLeafColumns();for(const r of s)-1!==n.indexOf(r)&&o.push(r);return{columns:s,columnsInSplit:o,visibleState:i}}isSuppressMoving(){let e=!1;this.column.getLeafColumns().forEach((t=>{(t.getColDef().suppressMovable||t.getColDef().lockPosition)&&(e=!0)}));return e||this.gos.get("suppressMovableColumns")}destroy(){super.destroy()}},qn=0,Qn=class extends Oe{constructor(e,t,i){super(),this.instanceId=qn++,this.rowIndex=e,this.pinned=t,this.type=i;const s="group"==i?"ag-header-row-column-group":"filter"==i?"ag-header-row-column-filter":"ag-header-row-column";this.headerRowClass=`ag-header-row ${s}`}wireBeans(e){this.beans=e}postConstruct(){this.isPrintLayout=H(this.gos,"print"),this.isEnsureDomOrder=this.gos.get("ensureDomOrder")}areCellsRendered(){return!!this.comp&&this.getHeaderCellCtrls().every((e=>null!=e.getGui()))}setComp(e,t,i=!0){this.comp=e,t=zt(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:e=>this.onVirtualColumnsChanged(e.afterScroll),columnGroupHeaderHeightChanged:t,columnHeaderHeightChanged:t,gridStylesChanged:t,advancedFilterEnabledChanged:t}),e.addManagedPropertyListener("domLayout",this.onDisplayedColumnsChanged.bind(this)),e.addManagedPropertyListener("ensureDomOrder",(e=>this.isEnsureDomOrder=e.currentValue)),e.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],t)}getHeaderCellCtrl(e){if(this.headerCellCtrls)return k(this.headerCellCtrls).find((t=>t.getColumnGroupChild()===e))}onDisplayedColumnsChanged(){this.isPrintLayout=H(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;if(this.isPrintLayout){return null!=this.pinned?0:e.getContainerWidth("right")+e.getContainerWidth("left")+e.getContainerWidth(null)}return 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),(null==t?void 0: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=e=>{const{focusService:t,visibleColsService:i}=this.beans;if(!t.isHeaderWrapperFocused(e))return!1;return i.isVisible(e.getColumnGroupChild())};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((null==(e=this.headerCellCtrls)?void 0:e.values())??[])}recycleAndCreateHeaderCtrls(e,t){if(!this.headerCellCtrls)return;if(e.isEmptyGroup())return;const i=e.getUniqueId();let s;t&&(s=t.get(i),t.delete(i));if(s&&s.getColumnGroupChild()!=e&&(this.destroyBean(s),s=void 0),null==s)switch(this.type){case"filter":s=this.createBean(this.beans.ctrlsFactory.getInstance("headerFilterCell",e,this.beans,this));break;case"group":s=this.createBean(new jn(e,this.beans,this));break;default:s=this.createBean(new Kn(e,this.beans,this))}this.headerCellCtrls.set(i,s)}getColumnsInViewport(){return this.isPrintLayout?this.getColumnsInViewportPrintLayout():this.getColumnsInViewportNormalLayout()}getColumnsInViewportPrintLayout(){if(null!=this.pinned)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"filter"==this.type?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="function"==typeof e?t.find(e):t.find((t=>t.getColumnGroupChild()==e)),i}focusHeader(e,t){const i=this.findHeaderCellCtrl(e);if(!i)return!1;return i.focus(t)}destroy(){var e;null==(e=this.headerCellCtrls)||e.forEach((e=>{this.destroyBean(e)})),this.headerCellCtrls=void 0,super.destroy()}},Yn=class extends Oe{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=`${"string"==typeof this.pinned?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 Ni,i=this.focusService.getFocusHeaderToUseAfterRefresh();(()=>{const e=this.columnModel.getHeaderRowCount()-1;this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls);for(let i=0;i<e;i++){const e=this.createBean(new Qn(t.next(),this.pinned,"group"));this.groupsRowCtrls.push(e)}})(),(()=>{const i=t.next(),s=!(this.hidden||null!=this.columnsRowCtrl&&e&&this.columnsRowCtrl.getRowIndex()===i);(s||this.hidden)&&(this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl)),s&&(this.columnsRowCtrl=this.createBean(new Qn(i,this.pinned,"column")))})(),(()=>{var i;this.includeFloatingFilter=!!(null==(i=this.filterManager)?void 0:i.hasFloatingFilters())&&!this.hidden;const s=()=>{this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)};if(!this.includeFloatingFilter)return void s();const o=t.next();if(this.filtersRowCtrl){const t=this.filtersRowCtrl.getRowIndex()!==o;e&&!t||s()}this.filtersRowCtrl||(this.filtersRowCtrl=this.createBean(new Qn(o,this.pinned,"filter")))})();const s=this.getAllCtrls();this.comp.setCtrls(s),this.restoreFocusOnHeader(i)}getHeaderCtrlForColumn(e){var t;if(nt(e))return null==(t=this.columnsRowCtrl)?void 0:t.getHeaderCellCtrl(e);if(0!==this.groupsRowCtrls.length)for(let i=0;i<this.groupsRowCtrls.length;i++){const t=this.groupsRowCtrls[i].getHeaderCellCtrl(e);if(t)return t}}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 Wn(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 e;const t=(null==(e=this.filterManager)?void 0:e.hasFloatingFilters())&&!this.hidden;this.includeFloatingFilter!==t&&this.refresh(!0)}setupCenterWidth(){null==this.pinned&&this.createManagedBean(new Ln((e=>this.comp.setCenterWidth(`${e}px`)),!0))}setupPinnedWidth(){if(null==this.pinned)return;const e="left"===this.pinned,t="right"===this.pinned;this.hidden=!0;const i=()=>{const i=e?this.pinnedWidthService.getPinnedLeftWidth():this.pinnedWidthService.getPinnedRightWidth();if(null==i)return;const s=0==i,o=this.hidden!==s,n=this.gos.get("enableRtl"),r=this.scrollVisibleService.getScrollbarWidth(),l=this.scrollVisibleService.isVerticalScrollShowing()&&(n&&e||!n&&t)?i+r:i;this.comp.setPinnedContainerWidth(`${l}px`),this.comp.setDisplayed(!s),o&&(this.hidden=s,this.refresh())};this.addManagedEventListeners({leftPinnedWidthChanged:i,rightPinnedWidthChanged:i,scrollVisibilityChanged:i,scrollbarWidthChanged:i})}},Xn=class extends Oe{constructor(e){super(),this.view=e}postConstruct(){this.addManagedPropertyListener("domLayout",this.updateLayoutClasses.bind(this)),this.updateLayoutClasses()}updateLayoutClasses(){const e=this.getDomLayout(),t={autoHeight:"autoHeight"===e,normal:"normal"===e,print:"print"===e},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-1===["normal","print","autoHeight"].indexOf(e)?(m(`${e} is not valid for DOM Layout, valid values are 'normal', 'autoHeight', 'print'.`),"normal"):e}},Jn=class extends Ji{constructor(){super('\n <div class="ag-overlay" role="presentation">\n <div class="ag-overlay-panel" role="presentation">\n <div class="ag-overlay-wrapper" data-ref="eOverlayWrapper" role="presentation"></div>\n </div>\n </div>'),this.eOverlayWrapper=Xi,this.activePromise=null,this.activeOverlay=null,this.updateListenerDestroyFunc=null,this.activeOverlayWrapperCssClass=null,this.elToFocusAfter=null}wireBeans(e){this.overlayService=e.overlayService,this.focusService=e.focusService,this.visibleColsService=e.visibleColsService}handleKeyDown(e){if(e.key!==gs.TAB||e.defaultPrevented||Te(e))return;if(this.focusService.findNextFocusableElement(this.eOverlayWrapper,!1,e.shiftKey))return;let t=!1;t=e.shiftKey?this.focusService.focusGridView(we(this.visibleColsService.getAllCols()),!0,!1):this.focusService.focusNextGridCoreContainer(!1),t&&e.preventDefault()}updateLayoutClasses(e,t){const i=this.eOverlayWrapper.classList;i.toggle("ag-layout-auto-height",t.autoHeight),i.toggle("ag-layout-normal",t.normal),i.toggle("ag-layout-print",t.print)}postConstruct(){this.createManagedBean(new Xn(this)),this.setDisplayed(!1,{skipAriaHidden:!0}),this.overlayService.setOverlayWrapperComp(this),this.addManagedElementListeners(this.getFocusableElement(),{keydown:this.handleKeyDown.bind(this)})}setWrapperTypeClass(e){const t=this.eOverlayWrapper.classList;this.activeOverlayWrapperCssClass&&t.toggle(this.activeOverlayWrapperCssClass,!1),this.activeOverlayWrapperCssClass=e,t.toggle(e,!0)}showOverlay(e,t,i,s){if(this.setWrapperTypeClass(t),this.destroyActiveOverlay(),this.elToFocusAfter=null,this.activePromise=e,e){if(this.setDisplayed(!0,{skipAriaHidden:!0}),i&&this.focusService.isGridFocused()){const e=Y(this.gos);e&&!X(this.gos)&&(this.elToFocusAfter=e)}e.then((t=>{if(this.activePromise!==e)return void(this.activeOverlay!==t&&(this.destroyBean(t),t=null));if(this.activePromise=null,!t)return;if(this.activeOverlay!==t&&(this.eOverlayWrapper.appendChild(t.getGui()),this.activeOverlay=t,s)){const e=t;this.updateListenerDestroyFunc=this.addManagedPropertyListener(s,(({currentValue:t})=>{var i;null==(i=e.refresh)||i.call(e,this.gos.addGridCommonParams({...t??{}}))}))}const o=this.focusService;i&&o.isGridFocused()&&o.focusInto(this.eOverlayWrapper)}))}}updateOverlayWrapperPaddingTop(e){this.eOverlayWrapper.style.setProperty("padding-top",`${e}px`)}destroyActiveOverlay(){var e;this.activePromise=null;const t=this.activeOverlay;if(!t)return;let i=this.elToFocusAfter;this.activeOverlay=null,this.elToFocusAfter=null,i&&!this.focusService.isGridFocused()&&(i=null);const s=this.updateListenerDestroyFunc;s&&(s(),this.updateListenerDestroyFunc=null),this.destroyBean(t),vi(this.eOverlayWrapper),null==(e=null==i?void 0:i.focus)||e.call(i,{preventScroll:!0})}hideOverlay(){this.destroyActiveOverlay(),this.setDisplayed(!1,{skipAriaHidden:!0})}destroy(){this.elToFocusAfter=null,this.destroyActiveOverlay(),this.overlayService.setOverlayWrapperComp(void 0),super.destroy()}},Zn=class extends Ji{constructor(e,t){super(),this.direction=t,this.eViewport=Xi,this.eContainer=Xi,this.hideTimeout=null,this.setTemplate(e)}wireBeans(e){this.animationFrameService=e.animationFrameService}postConstruct(){this.addManagedEventListeners({scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this)}),this.onScrollVisibilityChanged(),this.addOrRemoveCssClass("ag-apple-scrollbar",Wi()||zi())}initialiseInvisibleScrollbar(){void 0===this.invisibleScrollbar&&(this.invisibleScrollbar=$i(),this.invisibleScrollbar&&(this.hideAndShowInvisibleScrollAsNeeded(),this.addActiveListenerToggles()))}addActiveListenerToggles(){const e=this.getGui(),t=()=>this.addOrRemoveCssClass("ag-scrollbar-active",!0),i=()=>this.addOrRemoveCssClass("ag-scrollbar-active",!1);this.addManagedListeners(e,{mouseenter:t,mousedown:t,touchstart:t,mouseleave:i,touchend:i})}onScrollVisibilityChanged(){void 0===this.invisibleScrollbar&&this.initialiseInvisibleScrollbar(),this.animationFrameService.requestAnimationFrame((()=>this.setScrollVisible()))}hideAndShowInvisibleScrollAsNeeded(){this.addManagedEventListeners({bodyScroll:e=>{e.direction===this.direction&&(null!==this.hideTimeout&&(window.clearTimeout(this.hideTimeout),this.hideTimeout=null),this.addOrRemoveCssClass("ag-scrollbar-scrolling",!0))},bodyScrollEnd:()=>{this.hideTimeout=window.setTimeout((()=>{this.addOrRemoveCssClass("ag-scrollbar-scrolling",!1),this.hideTimeout=null}),400)}})}attemptSettingScrollPosition(e){const t=this.getViewportElement();!function(e,t,i=100){const s=(new Date).getTime();let o=null,n=!1;const r=()=>{const r=(new Date).getTime()-s>i;(e()||r)&&(t(),n=!0,null!=o&&(window.clearInterval(o),o=null))};r(),n||(o=window.setInterval(r,10))}((()=>wi(t)),(()=>this.setScrollPosition(e)),100)}getViewportElement(){return this.eViewport}getContainer(){return this.eContainer}onScrollCallback(e){this.addManagedElementListeners(this.getViewportElement(),{scroll:e})}},er=class extends Zn{constructor(){super('<div class="ag-body-horizontal-scroll" aria-hidden="true">\n <div class="ag-horizontal-left-spacer" data-ref="eLeftSpacer"></div>\n <div class="ag-body-horizontal-scroll-viewport" data-ref="eViewport">\n <div class="ag-body-horizontal-scroll-container" data-ref="eContainer"></div>\n </div>\n <div class="ag-horizontal-right-spacer" data-ref="eRightSpacer"></div>\n </div>',"horizontal"),this.eLeftSpacer=Xi,this.eRightSpacer=Xi}wireBeans(e){super.wireBeans(e),this.visibleColsService=e.visibleColsService,this.pinnedRowModel=e.pinnedRowModel,this.ctrlsService=e.ctrlsService,this.scrollVisibleService=e.scrollVisibleService}postConstruct(){super.postConstruct();const e=this.setFakeHScrollSpacerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e,displayedColumnsWidthChanged:e,pinnedRowDataChanged:this.onPinnedRowDataChanged.bind(this)}),this.addManagedPropertyListener("domLayout",e),this.ctrlsService.register("fakeHScrollComp",this),this.createManagedBean(new Ln((e=>this.eContainer.style.width=`${e}px`))),this.addManagedPropertyListeners(["suppressHorizontalScroll"],this.onScrollVisibilityChanged.bind(this))}initialiseInvisibleScrollbar(){void 0===this.invisibleScrollbar&&(this.enableRtl=this.gos.get("enableRtl"),super.initialiseInvisibleScrollbar(),this.invisibleScrollbar&&this.refreshCompBottom())}onPinnedRowDataChanged(){this.refreshCompBottom()}refreshCompBottom(){if(!this.invisibleScrollbar)return;const e=this.pinnedRowModel.getPinnedBottomTotalHeight();this.getGui().style.bottom=`${e}px`}onScrollVisibilityChanged(){super.onScrollVisibilityChanged(),this.setFakeHScrollSpacerWidths()}setFakeHScrollSpacerWidths(){const e=this.scrollVisibleService.isVerticalScrollShowing();let t=this.visibleColsService.getDisplayedColumnsRightWidth();const i=!this.enableRtl&&e,s=this.scrollVisibleService.getScrollbarWidth();i&&(t+=s),bi(this.eRightSpacer,t),this.eRightSpacer.classList.toggle("ag-scroller-corner",t<=s);let o=this.visibleColsService.getColsLeftWidth();this.enableRtl&&e&&(o+=s),bi(this.eLeftSpacer,o),this.eLeftSpacer.classList.toggle("ag-scroller-corner",o<=s)}setScrollVisible(){const e=this.scrollVisibleService.isHorizontalScrollShowing(),t=this.invisibleScrollbar,i=this.gos.get("suppressHorizontalScroll"),s=e&&this.scrollVisibleService.getScrollbarWidth()||0,o=i?0:0===s&&t?16:s;this.addOrRemoveCssClass("ag-scrollbar-invisible",t),Ri(this.getGui(),o),Ri(this.eViewport,o),Ri(this.eContainer,o),this.setDisplayed(e,{skipAriaHidden:!0})}getScrollPosition(){return pi(this.getViewportElement(),this.enableRtl)}setScrollPosition(e){wi(this.getViewportElement())||this.attemptSettingScrollPosition(e),mi(this.getViewportElement(),e,this.enableRtl)}},tr=class extends Oe{wireBeans(e){this.maxDivHeightScaler=e.rowContainerHeightService}constructor(e,t){super(),this.eContainer=e,this.eViewport=t}postConstruct(){this.addManagedEventListeners({rowContainerHeightChanged:this.onHeightChanged.bind(this)})}onHeightChanged(){const e=this.maxDivHeightScaler.getUiContainerHeight(),t=null!=e?`${e}px`:"";this.eContainer.style.height=t,this.eViewport&&(this.eViewport.style.height=t)}},ir=class extends Zn{wireBeans(e){super.wireBeans(e),this.ctrlsService=e.ctrlsService,this.scrollVisibleService=e.scrollVisibleService}constructor(){super('<div class="ag-body-vertical-scroll" aria-hidden="true">\n <div class="ag-body-vertical-scroll-viewport" data-ref="eViewport">\n <div class="ag-body-vertical-scroll-container" data-ref="eContainer"></div>\n </div>\n </div>',"vertical")}postConstruct(){super.postConstruct(),this.createManagedBean(new tr(this.eContainer)),this.ctrlsService.register("fakeVScrollComp",this),this.addManagedEventListeners({rowContainerHeightChanged:this.onRowContainerHeightChanged.bind(this)})}setScrollVisible(){const e=this.scrollVisibleService.isVerticalScrollShowing(),t=this.invisibleScrollbar,i=e&&this.scrollVisibleService.getScrollbarWidth()||0,s=0===i&&t?16:i;this.addOrRemoveCssClass("ag-scrollbar-invisible",t),bi(this.getGui(),s),bi(this.eViewport,s),bi(this.eContainer,s),this.setDisplayed(e,{skipAriaHidden:!0})}onRowContainerHeightChanged(){const{ctrlsService:e}=this,t=e.getGridBodyCtrl().getBodyViewportElement(),i=this.getScrollPosition(),s=t.scrollTop;i!=s&&this.setScrollPosition(s,!0)}getScrollPosition(){return this.getViewportElement().scrollTop}setScrollPosition(e,t){t||wi(this.getViewportElement())||this.attemptSettingScrollPosition(e),this.getViewportElement().scrollTop=e}},sr=(e=>(e.FakeHScrollbar="fakeHScrollComp",e.Header="centerHeader",e.PinnedTop="topCenter",e.PinnedBottom="bottomCenter",e.StickyTop="stickyTopCenter",e.StickyBottom="stickyBottomCenter",e))(sr||{}),or=class extends Oe{constructor(e){super(),this.lastScrollSource=[null,null],this.scrollLeft=-1,this.nextScrollTop=-1,this.scrollTop=-1,this.lastOffsetHeight=-1,this.lastScrollTop=-1,this.eBodyViewport=e,this.resetLastHScrollDebounced=b((()=>this.lastScrollSource[1]=null),500),this.resetLastVScrollDebounced=b((()=>this.lastScrollSource[0]=null),500)}wireBeans(e){this.ctrlsService=e.ctrlsService,this.animationFrameService=e.animationFrameService,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService,this.rowModel=e.rowModel,this.heightScaler=e.rowContainerHeightService,this.rowRenderer=e.rowRenderer,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.addManagedEventListeners({displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this)}),this.ctrlsService.whenReady(this,(e=>{this.centerRowsCtrl=e.center,this.onDisplayedColumnsWidthChanged(),this.addScrollListener()}))}addScrollListener(){this.addHorizontalScrollListeners(),this.addVerticalScrollListeners()}addHorizontalScrollListeners(){this.addManagedElementListeners(this.centerRowsCtrl.getViewportElement(),{scroll:this.onHScroll.bind(this,"Viewport")});for(const e of Object.values(sr)){const t=this.ctrlsService.get(e);this.registerScrollPartner(t,this.onHScroll.bind(this,e))}}addVerticalScrollListeners(){const e=this.ctrlsService.get("fakeVScrollComp"),t=this.gos.get("debounceVerticalScrollbar"),i=t?b(this.onVScroll.bind(this,"Viewport"),100):this.onVScroll.bind(this,"Viewport"),s=t?b(this.onVScroll.bind(this,"fakeVScrollComp"),100):this.onVScroll.bind(this,"fakeVScrollComp");this.addManagedElementListeners(this.eBodyViewport,{scroll:i}),this.registerScrollPartner(e,s)}registerScrollPartner(e,t){e.onScrollCallback(t)}onDisplayedColumnsWidthChanged(){this.enableRtl&&this.horizontallyScrollHeaderCenterAndFloatingCenter()}horizontallyScrollHeaderCenterAndFloatingCenter(e){null==this.centerRowsCtrl||(void 0===e&&(e=this.centerRowsCtrl.getCenterViewportScrollLeft()),this.setScrollLeftForAllContainersExceptCurrent(Math.abs(e)))}setScrollLeftForAllContainersExceptCurrent(e){for(const t of[...Object.values(sr),"Viewport"]){if(this.lastScrollSource[1]===t)continue;mi(this.getViewportForSource(t),e,this.enableRtl)}}getViewportForSource(e){return"Viewport"===e?this.centerRowsCtrl.getViewportElement():this.ctrlsService.get(e).getViewportElement()}isControllingScroll(e,t){return null==this.lastScrollSource[t]?(0===t?this.lastScrollSource[0]=e:this.lastScrollSource[1]=e,!0):this.lastScrollSource[t]===e}onHScroll(e){if(!this.isControllingScroll(e,1))return;const t=this.centerRowsCtrl.getViewportElement(),{scrollLeft:i}=t;if(this.shouldBlockScrollUpdate(1,i,!0))return;const s=pi(this.getViewportForSource(e),this.enableRtl);this.doHorizontalScroll(s),this.resetLastHScrollDebounced()}onVScroll(e){if(!this.isControllingScroll(e,0))return;let t;t="Viewport"===e?this.eBodyViewport.scrollTop:this.ctrlsService.get("fakeVScrollComp").getScrollPosition(),this.shouldBlockScrollUpdate(0,t,!0)||(this.animationFrameService.setScrollTop(t),this.nextScrollTop=t,"Viewport"===e?this.ctrlsService.get("fakeVScrollComp").setScrollPosition(t):this.eBodyViewport.scrollTop=t,this.gos.get("suppressAnimationFrame")?this.scrollGridIfNeeded():this.animationFrameService.schedule(),this.resetLastVScrollDebounced())}doHorizontalScroll(e){const t=this.ctrlsService.get("fakeHScrollComp").getScrollPosition();this.scrollLeft===e&&e===t||(this.scrollLeft=e,this.fireScrollEvent(1),this.horizontallyScrollHeaderCenterAndFloatingCenter(e),this.centerRowsCtrl.onHorizontalViewportChanged(!0))}fireScrollEvent(e){const t={type:"bodyScroll",direction:1===e?"horizontal":"vertical",left:this.scrollLeft,top:this.scrollTop};this.eventService.dispatchEvent(t),window.clearTimeout(this.scrollTimer),this.scrollTimer=void 0,this.scrollTimer=window.setTimeout((()=>{this.eventService.dispatchEvent({...t,type:"bodyScrollEnd"})}),100)}shouldBlockScrollUpdate(e,t,i=!1){return!(i&&!zi())&&(0===e?this.shouldBlockVerticalScroll(t):this.shouldBlockHorizontalScroll(t))}shouldBlockVerticalScroll(e){const t=di(this.eBodyViewport),{scrollHeight:i}=this.eBodyViewport;return e<0||e+t>i}shouldBlockHorizontalScroll(e){const t=this.centerRowsCtrl.getCenterWidth(),{scrollWidth:i}=this.centerRowsCtrl.getViewportElement();if(this.enableRtl){if(e>0)return!0}else if(e<0)return!0;return Math.abs(e)+t>i}redrawRowsAfterScroll(){this.fireScrollEvent(0)}checkScrollLeft(){this.scrollLeft!==this.centerRowsCtrl.getCenterViewportScrollLeft()&&this.onHScroll("Viewport")}scrollGridIfNeeded(){const e=this.scrollTop!=this.nextScrollTop;return e&&(this.scrollTop=this.nextScrollTop,this.redrawRowsAfterScroll()),e}setHorizontalScrollPosition(e,t=!1){const i=this.centerRowsCtrl.getViewportElement().scrollWidth-this.centerRowsCtrl.getCenterWidth();!t&&this.shouldBlockScrollUpdate(1,e)&&(e=this.enableRtl?e>0?0:i:Math.min(Math.max(e,0),i)),mi(this.centerRowsCtrl.getViewportElement(),Math.abs(e),this.enableRtl),this.doHorizontalScroll(e)}setVerticalScrollPosition(e){this.eBodyViewport.scrollTop=e}getVScrollPosition(){this.lastScrollTop=this.eBodyViewport.scrollTop,this.lastOffsetHeight=this.eBodyViewport.offsetHeight;return{top:this.lastScrollTop,bottom:this.lastScrollTop+this.lastOffsetHeight}}getApproximateVScollPosition(){return this.lastScrollTop>=0&&this.lastOffsetHeight>=0?{top:this.scrollTop,bottom:this.scrollTop+this.lastOffsetHeight}:this.getVScrollPosition()}getHScrollPosition(){return this.centerRowsCtrl.getHScrollPosition()}isHorizontalScrollShowing(){return this.centerRowsCtrl.isHorizontalScrollShowing()}scrollHorizontally(e){const t=this.centerRowsCtrl.getViewportElement().scrollLeft;return this.setHorizontalScrollPosition(t+e),this.centerRowsCtrl.getViewportElement().scrollLeft-t}scrollToTop(){this.eBodyViewport.scrollTop=0}ensureNodeVisible(e,t=null){const i=this.rowModel.getRowCount();let s=-1;for(let o=0;o<i;o++){const t=this.rowModel.getRow(o);if("function"==typeof e){if(t&&e(t)){s=o;break}}else if(e===t||e===t.data){s=o;break}}s>=0&&this.ensureIndexVisible(s,t)}ensureIndexVisible(e,t){if(H(this.gos,"print"))return;const i=this.rowModel.getRowCount();if("number"!=typeof e||e<0||e>=i)return void m("Invalid row index for ensureIndexVisible: "+e);const s=this.gos.get("pagination")&&!this.gos.get("suppressPaginationPanel");this.getFrameworkOverrides().wrapIncoming((()=>{var i;s||null==(i=this.paginationService)||i.goToPageWithIndex(e);const o=this.ctrlsService.getGridBodyCtrl(),n=o.getStickyTopHeight(),r=o.getStickyBottomHeight(),l=this.rowModel.getRow(e);let a;do{const e=l.rowTop,i=l.rowHeight,s=this.pageBoundsService.getPixelOffset(),o=l.rowTop-s,d=o+l.rowHeight,h=this.getVScrollPosition(),u=this.heightScaler.getDivStretchOffset(),c=h.top+u,g=h.bottom+u,p=g-c,m=this.heightScaler.getScrollPositionForPixel(o),v=this.heightScaler.getScrollPositionForPixel(d-p),C=Math.min((m+v)/2,o);let f=null;"top"===t?f=m:"bottom"===t?f=v:"middle"===t?f=C:c+n>o?f=m-n:g-r<d&&(f=v+r),null!==f&&(this.setVerticalScrollPosition(f),this.rowRenderer.redraw({afterScroll:!0})),a=e!==l.rowTop||i!==l.rowHeight}while(a);this.animationFrameService.flushAllFrames()}))}ensureColumnVisible(e,t="auto"){const i=this.columnModel.getCol(e);if(!i)return;if(i.isPinned())return;if(!this.visibleColsService.isColDisplayed(i))return;const s=this.getPositionedHorizontalScroll(i,t);this.getFrameworkOverrides().wrapIncoming((()=>{null!==s&&this.centerRowsCtrl.setCenterViewportScrollLeft(s),this.centerRowsCtrl.onHorizontalViewportChanged(),this.animationFrameService.flushAllFrames()}))}setScrollPosition(e,t){this.getFrameworkOverrides().wrapIncoming((()=>{this.centerRowsCtrl.setCenterViewportScrollLeft(t),this.setVerticalScrollPosition(e),this.rowRenderer.redraw({afterScroll:!0}),this.animationFrameService.flushAllFrames()}))}getPositionedHorizontalScroll(e,t){const{columnBeforeStart:i,columnAfterEnd:s}=this.isColumnOutsideViewport(e),o=this.centerRowsCtrl.getCenterWidth()<e.getActualWidth(),n=this.centerRowsCtrl.getCenterWidth(),r=this.enableRtl;let l=(r?i:s)||o,a=r?s:i;"auto"!==t&&(l="start"===t,a="end"===t);const d="middle"===t;if(l||a||d){const{colLeft:t,colMiddle:i,colRight:s}=this.getColumnBounds(e);return d?i-n/2:l?r?s:t:r?t-n:s-n}return null}isColumnOutsideViewport(e){const{start:t,end:i}=this.getViewportBounds(),{colLeft:s,colRight:o}=this.getColumnBounds(e),n=this.enableRtl;return{columnBeforeStart:n?t>o:i<o,columnAfterEnd:n?i<s:t>s}}getColumnBounds(e){const t=this.enableRtl,i=this.visibleColsService.getBodyContainerWidth(),s=e.getActualWidth(),o=e.getLeft(),n=t?-1:1,r=t?i-o:o;return{colLeft:r,colMiddle:r+s/2*n,colRight:r+s*n}}getViewportBounds(){const e=this.centerRowsCtrl.getCenterWidth(),t=this.centerRowsCtrl.getCenterViewportScrollLeft();return{start:t,end:e+t,width:e}}},nr=class extends Oe{wireBeans(e){this.animationFrameService=e.animationFrameService,this.ctrlsService=e.ctrlsService,this.pinnedWidthService=e.pinnedWidthService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.columnSizeService=e.columnSizeService,this.scrollVisibleService=e.scrollVisibleService,this.columnViewportService=e.columnViewportService}constructor(e){super(),this.centerContainerCtrl=e}postConstruct(){this.ctrlsService.whenReady(this,(e=>{this.gridBodyCtrl=e.gridBodyCtrl,this.listenForResize()})),this.addManagedEventListeners({scrollbarWidthChanged:this.onScrollbarWidthChanged.bind(this)}),this.addManagedPropertyListeners(["alwaysShowHorizontalScroll","alwaysShowVerticalScroll"],(()=>{this.checkViewportAndScrolls()}))}listenForResize(){const e=()=>{this.animationFrameService.requestAnimationFrame((()=>{this.onCenterViewportResized()}))};this.centerContainerCtrl.registerViewportResizeListener(e),this.gridBodyCtrl.registerBodyViewportResizeListener(e)}onScrollbarWidthChanged(){this.checkViewportAndScrolls()}onCenterViewportResized(){if(this.scrollVisibleService.onCentreViewportResized(),this.centerContainerCtrl.isViewportInTheDOMTree()){this.keepPinnedColumnsNarrowerThanViewport(),this.checkViewportAndScrolls();const e=this.centerContainerCtrl.getCenterWidth();e!==this.centerWidth&&(this.centerWidth=e,this.columnSizeService.refreshFlexedColumns({viewportWidth:this.centerWidth,updateBodyWidths:!0,fireResizedEvent:!0}))}else this.bodyHeight=0}keepPinnedColumnsNarrowerThanViewport(){const e=hi(this.gridBodyCtrl.getBodyViewportElement());if(e<=50)return;let t=this.getPinnedColumnsOverflowingViewport(e-50);const i=this.gos.getCallback("processUnpinnedColumns");if(t.length){if(i){t=i({columns:t,viewportWidth:e})}this.columnModel.setColsPinned(t,null,"viewportSizeFeature")}}getPinnedColumnsOverflowingViewport(e){const t=this.pinnedWidthService.getPinnedRightWidth()+this.pinnedWidthService.getPinnedLeftWidth();if(t<e)return[];const i=[...this.visibleColsService.getLeftCols()],s=[...this.visibleColsService.getRightCols()];let o=0,n=0;const r=[];let l=t-0-e;for(;(n<i.length||o<s.length)&&l>0;){if(o<s.length){const e=s[o++];l-=e.getActualWidth(),r.push(e)}if(n<i.length&&l>0){const e=i[n++];l-=e.getActualWidth(),r.push(e)}}return r}checkViewportAndScrolls(){this.updateScrollVisibleService(),this.checkBodyHeight(),this.onHorizontalViewportChanged(),this.gridBodyCtrl.getScrollFeature().checkScrollLeft()}getBodyHeight(){return this.bodyHeight}checkBodyHeight(){const e=di(this.gridBodyCtrl.getBodyViewportElement());this.bodyHeight!==e&&(this.bodyHeight=e,this.eventService.dispatchEvent({type:"bodyHeightChanged"}))}updateScrollVisibleService(){this.updateScrollVisibleServiceImpl(),setTimeout(this.updateScrollVisibleServiceImpl.bind(this),500)}updateScrollVisibleServiceImpl(){const e={horizontalScrollShowing:this.isHorizontalScrollShowing(),verticalScrollShowing:this.gridBodyCtrl.isVerticalScrollShowing()};this.scrollVisibleService.setScrollsVisible(e)}isHorizontalScrollShowing(){return this.centerContainerCtrl.isHorizontalScrollShowing()}onHorizontalViewportChanged(){const e=this.centerContainerCtrl.getCenterWidth(),t=this.centerContainerCtrl.getViewportScrollLeft();this.columnViewportService.setScrollPosition(e,t)}},rr=class extends Oe{wireBeans(e){this.dragService=e.dragService,this.rangeService=e.rangeService}constructor(e){super(),this.eContainer=e}postConstruct(){if(!this.rangeService)return;this.params={eElement:this.eContainer,onDragStart:this.rangeService.onDragStart.bind(this.rangeService),onDragStop:this.rangeService.onDragStop.bind(this.rangeService),onDragging:this.rangeService.onDragging.bind(this.rangeService)},this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],(()=>{de(this.gos)?this.enableFeature():this.disableFeature()})),this.addDestroyFunc((()=>this.disableFeature()));de(this.gos)&&this.enableFeature()}enableFeature(){this.dragService.addDragSource(this.params)}disableFeature(){this.dragService.removeDragSource(this.params)}},lr=class extends Ji{constructor(){super('\n <div class="ag-selection-checkbox" role="presentation">\n <ag-checkbox role="presentation" data-ref="eCheckbox"></ag-checkbox>\n </div>',[fs]),this.eCheckbox=Xi}postConstruct(){this.eCheckbox.setPassive(!0)}getCheckboxId(){return this.eCheckbox.getInputElement().id}onDataChanged(){this.onSelectionChanged()}onSelectableChanged(){this.showOrHideSelect()}onSelectionChanged(){const e=this.localeService.getLocaleTextFunc(),t=this.rowNode.isSelected(),i=ii(e,t),[s,o]=this.rowNode.selectable?["ariaRowToggleSelection","Press Space to toggle row selection"]:["ariaRowSelectionDisabled","Row Selection is disabled for this row"],n=e(s,o);this.eCheckbox.setValue(t,!0),this.eCheckbox.setInputAriaLabel(`${n} (${i})`)}onClicked(e,t,i){return this.rowNode.setSelectedParams({newValue:e,rangeSelect:i.shiftKey,groupSelectsFiltered:t,event:i,source:"checkboxSelected"})}init(e){this.rowNode=e.rowNode,this.column=e.column,this.overrides=e.overrides,this.onSelectionChanged(),this.addManagedListeners(this.eCheckbox.getInputElement(),{dblclick:e=>Ae(e),click:e=>{Ae(e);const t="filteredDescendants"===ve(this.gos),i=this.eCheckbox.getValue();if(this.shouldHandleIndeterminateState(i,t)){0===this.onClicked(!0,t,e||{})&&this.onClicked(!1,t,e)}else i?this.onClicked(!1,t,e):this.onClicked(!0,t,e||{})}}),this.addManagedListeners(this.rowNode,{rowSelected:this.onSelectionChanged.bind(this),dataChanged:this.onDataChanged.bind(this),selectableChanged:this.onSelectableChanged.bind(this)});if(ge(this.gos)||"function"==typeof this.getIsVisible()){const e=this.showOrHideSelect.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e}),this.addManagedListeners(this.rowNode,{dataChanged:e,cellChanged:e}),this.showOrHideSelect()}this.eCheckbox.getInputElement().setAttribute("tabindex","-1")}shouldHandleIndeterminateState(e,t){return t&&(void 0===this.eCheckbox.getPreviousValue()||void 0===e)&&G(this.gos)}showOrHideSelect(){var e,t,i;let s=this.rowNode.selectable;const o=this.getIsVisible();if(s)if("function"==typeof o){const t=null==(e=this.overrides)?void 0:e.callbackParams;if(this.column){const e=this.column.createColumnFunctionCallbackParams(this.rowNode);s=o({...t,...e})}else s=o({...t,node:this.rowNode,data:this.rowNode.data})}else s=o??!1;const n=this.gos.get("rowSelection");var r;if(n&&"string"!=typeof n?!(null==(r=n)?void 0:r.hideDisabledCheckboxes):null==(t=this.column)?void 0:t.getColDef().showDisabledCheckboxes)return this.eCheckbox.setDisabled(!s),this.setVisible(!0),void this.setDisplayed(!0);(null==(i=this.overrides)?void 0:i.removeHidden)?this.setDisplayed(s):this.setVisible(s)}getIsVisible(){var e,t;if(this.overrides)return this.overrides.isVisible;const i=this.gos.get("rowSelection");return i&&"string"!=typeof i?le(i):null==(t=null==(e=this.column)?void 0:e.getColDef())?void 0:t.checkboxSelection}},ar=class extends Ji{constructor(e,t,i){super('<div class="ag-drag-handle ag-row-drag" draggable="true"></div>'),this.rowNode=e,this.column=t,this.eCell=i}postConstruct(){this.getGui().appendChild(ts("rowDrag",this.gos,null)),this.addGuiEventListener("mousedown",(e=>{e.stopPropagation()})),this.addDragSource(),this.checkVisibility()}addDragSource(){this.addGuiEventListener("dragstart",this.onDragStart.bind(this))}onDragStart(e){const t=this.column.getColDef().dndSourceOnRowDrag;e.dataTransfer.setDragImage(this.eCell,0,0);const i=()=>{try{const t=JSON.stringify(this.rowNode.data);e.dataTransfer.setData("application/json",t),e.dataTransfer.setData("text/plain",t)}catch(t){}};if(t){t(this.gos.addGridCommonParams({rowNode:this.rowNode,dragEvent:e}))}else i()}checkVisibility(){const e=this.column.isDndSource(this.rowNode);this.setDisplayed(e)}},dr=class extends Oe{constructor(e,t){super(),this.staticClasses=[],this.cellCtrl=e,this.beans=t,this.column=e.getColumn(),this.rowNode=e.getRowNode()}setComp(e){this.cellComp=e,this.applyUserStyles(),this.applyCellClassRules(),this.applyClassesFromColDef()}applyCellClassRules(){const e=this.column.getColDef(),{cellClassRules:t}=e,i=this.beans.gos.addGridCommonParams({value:this.cellCtrl.getValue(),data:this.rowNode.data,node:this.rowNode,colDef:e,column:this.column,rowIndex:this.rowNode.rowIndex});this.beans.stylingService.processClassRules(t===this.cellClassRules?void 0:this.cellClassRules,t,i,(e=>this.cellComp.addOrRemoveCssClass(e,!0)),(e=>this.cellComp.addOrRemoveCssClass(e,!1))),this.cellClassRules=t}applyUserStyles(){const e=this.column.getColDef();if(!e.cellStyle)return;let t;if("function"==typeof e.cellStyle){const i=this.beans.gos.addGridCommonParams({column:this.column,value:this.cellCtrl.getValue(),colDef:e,data:this.rowNode.data,node:this.rowNode,rowIndex:this.rowNode.rowIndex});t=(0,e.cellStyle)(i)}else t=e.cellStyle;t&&this.cellComp.setUserStyles(t)}applyClassesFromColDef(){const e=this.column.getColDef(),t=this.beans.gos.addGridCommonParams({value:this.cellCtrl.getValue(),data:this.rowNode.data,node:this.rowNode,column:this.column,colDef:e,rowIndex:this.rowNode.rowIndex});this.staticClasses.length&&this.staticClasses.forEach((e=>this.cellComp.addOrRemoveCssClass(e,!1))),this.staticClasses=this.beans.stylingService.getStaticCellClasses(e,t),this.staticClasses.length&&this.staticClasses.forEach((e=>this.cellComp.addOrRemoveCssClass(e,!0)))}destroy(){super.destroy()}},hr=class extends Oe{constructor(e,t,i,s,o){super(),this.cellCtrl=e,this.beans=t,this.rowNode=s,this.rowCtrl=o}setComp(e){this.eGui=e}onKeyDown(e){const t=e.key;switch(t){case gs.ENTER:this.onEnterKeyDown(e);break;case gs.F2:this.onF2KeyDown(e);break;case gs.ESCAPE:this.onEscapeKeyDown(e);break;case gs.TAB:this.onTabKeyDown(e);break;case gs.BACKSPACE:case gs.DELETE:this.onBackspaceOrDeleteKeyDown(t,e);break;case gs.DOWN:case gs.UP:case gs.RIGHT:case gs.LEFT:this.onNavigationKeyDown(e,t)}}onNavigationKeyDown(e,t){this.cellCtrl.isEditing()||(e.shiftKey&&this.cellCtrl.isRangeSelectionEnabled()?this.onShiftRangeSelect(e):this.beans.navigationService.navigateToNextCell(e,t,this.cellCtrl.getCellPosition(),!0),e.preventDefault())}onShiftRangeSelect(e){if(!this.beans.rangeService)return;const t=this.beans.rangeService.extendLatestRangeInDirection(e);t&&this.beans.navigationService.ensureCellVisible(t)}onTabKeyDown(e){this.beans.navigationService.onTabKeyDown(this.cellCtrl,e)}onBackspaceOrDeleteKeyDown(e,t){const{cellCtrl:i,beans:s,rowNode:o}=this,{gos:n,rangeService:r,eventService:l}=s;if(!i.isEditing()){if(l.dispatchEvent({type:"keyShortcutChangedCellStart"}),function(e,t=!1){return e===gs.DELETE||!t&&e===gs.BACKSPACE&&Wi()}(e,n.get("enableCellEditingOnBackspace"))){if(r&&de(n))r.clearCellRangeCellValues({dispatchWrapperEvents:!0,wrapperEventSource:"deleteKey"});else if(i.isCellEditable()){const e=i.getColumn(),t=this.beans.valueService.getDeleteValue(e,o);o.setDataValue(e,t,"cellClear")}}else i.startRowOrCellEdit(e,t);l.dispatchEvent({type:"keyShortcutChangedCellEnd"})}}onEnterKeyDown(e){if(this.cellCtrl.isEditing()||this.rowCtrl.isEditing())this.cellCtrl.stopEditingAndFocus(!1,e.shiftKey);else if(this.beans.gos.get("enterNavigatesVertically")){const t=e.shiftKey?gs.UP:gs.DOWN;this.beans.navigationService.navigateToNextCell(null,t,this.cellCtrl.getCellPosition(),!1)}else this.cellCtrl.startRowOrCellEdit(gs.ENTER,e),this.cellCtrl.isEditing()&&e.preventDefault()}onF2KeyDown(e){this.cellCtrl.isEditing()||this.cellCtrl.startRowOrCellEdit(gs.F2,e)}onEscapeKeyDown(e){this.cellCtrl.isEditing()&&(this.cellCtrl.stopRowOrCellEdit(!0),this.cellCtrl.focusCell(!0))}processCharacter(e){if(e.target!==this.eGui||this.cellCtrl.isEditing())return;const t=e.key;" "===t?this.onSpaceKeyDown(e):this.cellCtrl.startRowOrCellEdit(t,e)&&e.preventDefault()}onSpaceKeyDown(e){const{gos:t}=this.beans;if(!this.cellCtrl.isEditing()&&B(t)){const i=this.rowNode.isSelected(),s=!i,o="filteredDescendants"===ve(t),n=this.rowNode.setSelectedParams({newValue:s,rangeSelect:e.shiftKey,groupSelectsFiltered:o,event:e,source:"spaceKey"});void 0===i&&0===n&&this.rowNode.setSelectedParams({newValue:!1,rangeSelect:e.shiftKey,groupSelectsFiltered:o,event:e,source:"spaceKey"})}e.preventDefault()}destroy(){super.destroy()}},ur=class extends Oe{constructor(e,t,i){super(),this.cellCtrl=e,this.beans=t,this.column=i}onMouseEvent(e,t){if(!Te(t))switch(e){case"click":this.onCellClicked(t);break;case"mousedown":case"touchstart":this.onMouseDown(t);break;case"dblclick":this.onCellDoubleClicked(t);break;case"mouseout":this.onMouseOut(t);break;case"mouseover":this.onMouseOver(t)}}onCellClicked(e){if(this.isDoubleClickOnIPad())return this.onCellDoubleClicked(e),void e.preventDefault();const{eventService:t,rangeService:i,gos:s}=this.beans,o=e.ctrlKey||e.metaKey;i&&o&&i.getCellRangeCount(this.cellCtrl.getCellPosition())>1&&i.intersectLastRange(!0);const n=this.cellCtrl.createEvent(e,"cellClicked");t.dispatchEvent(n);const r=this.column.getColDef();r.onCellClicked&&window.setTimeout((()=>{this.beans.frameworkOverrides.wrapOutgoing((()=>{r.onCellClicked(n)}))}),0);!((s.get("singleClickEdit")||r.singleClickEdit)&&!s.get("suppressClickEdit"))||e.shiftKey&&0!=(null==i?void 0:i.getCellRanges().length)||this.cellCtrl.startRowOrCellEdit()}isDoubleClickOnIPad(){if(!zi()||Ie("dblclick"))return!1;const e=(new Date).getTime(),t=e-this.lastIPadMouseClickEvent<200;return this.lastIPadMouseClickEvent=e,t}onCellDoubleClicked(e){const{column:t,beans:i,cellCtrl:s}=this,{eventService:o,frameworkOverrides:n,gos:r}=i,l=t.getColDef(),a=s.createEvent(e,"cellDoubleClicked");o.dispatchEvent(a),"function"==typeof l.onCellDoubleClicked&&window.setTimeout((()=>{n.wrapOutgoing((()=>{l.onCellDoubleClicked(a)}))}),0);!r.get("singleClickEdit")&&!r.get("suppressClickEdit")&&s.startRowOrCellEdit(null,e)}onMouseDown(e){const{ctrlKey:t,metaKey:i,shiftKey:s}=e,o=e.target,{cellCtrl:n,beans:r}=this,{eventService:l,rangeService:a,focusService:d,gos:h}=r;if(this.isRightClickInExistingRange(e))return;const u=a&&0!=a.getCellRanges().length;if(!s||!u){const t=h.get("enableCellTextSelection")&&e.defaultPrevented,i=(Hi()||t)&&!n.isEditing()&&!oi(o);n.focusCell(i)}if(s&&u&&!d.isCellFocused(n.getCellPosition())){e.preventDefault();const t=d.getFocusedCell();if(t){const{column:e,rowIndex:i,rowPinned:s}=t,o=r.rowRenderer.getRowByPosition({rowIndex:i,rowPinned:s}),n=null==o?void 0:o.getCellCtrl(e);(null==n?void 0:n.isEditing())&&n.stopEditing(),d.setFocusedCell({column:e,rowIndex:i,rowPinned:s,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}}if(!this.containsWidget(o)){if(a){const e=this.cellCtrl.getCellPosition();if(s)a.extendLatestRangeToCell(e);else{const s=t||i;a.setRangeToCell(e,s)}}l.dispatchEvent(this.cellCtrl.createEvent(e,"cellMouseDown"))}}isRightClickInExistingRange(e){const{rangeService:t}=this.beans;if(t){const i=t.isCellInAnyRange(this.cellCtrl.getCellPosition()),s=2===e.button||e.ctrlKey&&this.beans.gos.get("allowContextMenuWithControlKey");if(i&&s)return!0}return!1}containsWidget(e){return li(e,"ag-selection-checkbox",3)}onMouseOut(e){this.mouseStayingInsideCell(e)||(this.beans.eventService.dispatchEvent(this.cellCtrl.createEvent(e,"cellMouseOut")),this.beans.columnHoverService.clearMouseOver())}onMouseOver(e){this.mouseStayingInsideCell(e)||(this.beans.eventService.dispatchEvent(this.cellCtrl.createEvent(e,"cellMouseOver")),this.beans.columnHoverService.setMouseOver([this.column]))}mouseStayingInsideCell(e){if(!e.target||!e.relatedTarget)return!1;const t=this.cellCtrl.getGui(),i=t.contains(e.target),s=t.contains(e.relatedTarget);return i&&s}destroy(){super.destroy()}},cr=class extends Oe{constructor(e,t){super(),this.cellCtrl=e,this.beans=t,this.column=e.getColumn(),this.rowNode=e.getRowNode()}setupRowSpan(){this.rowSpan=this.column.getRowSpan(this.rowNode),this.addManagedListeners(this.beans.eventService,{newColumnsLoaded:()=>this.onNewColumnsLoaded()})}setComp(e){this.eGui=e,this.setupColSpan(),this.setupRowSpan(),this.onLeftChanged(),this.onWidthChanged(),this.applyRowSpan()}onNewColumnsLoaded(){const e=this.column.getRowSpan(this.rowNode);this.rowSpan!==e&&(this.rowSpan=e,this.applyRowSpan(!0))}onDisplayColumnsChanged(){const e=this.getColSpanningList();Se(this.colsSpanning,e)||(this.colsSpanning=e,this.onWidthChanged(),this.onLeftChanged())}setupColSpan(){null!=this.column.getColDef().colSpan&&(this.colsSpanning=this.getColSpanningList(),this.addManagedListeners(this.beans.eventService,{displayedColumnsChanged:this.onDisplayColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onWidthChanged.bind(this)}))}onWidthChanged(){if(!this.eGui)return;const e=this.getCellWidth();this.eGui.style.width=`${e}px`}getCellWidth(){return this.colsSpanning?this.colsSpanning.reduce(((e,t)=>e+t.getActualWidth()),0):this.column.getActualWidth()}getColSpanningList(){const e=this.column.getColSpan(this.rowNode),t=[];if(1===e)t.push(this.column);else{let i=this.column;const s=this.column.getPinned();for(let o=0;i&&o<e&&(t.push(i),i=this.beans.visibleColsService.getColAfter(i),i&&!D(i))&&s===i.getPinned();o++);}return t}onLeftChanged(){if(!this.eGui)return;const e=this.modifyLeftForPrintLayout(this.getCellLeft());this.eGui.style.left=e+"px"}getCellLeft(){let e;return e=this.beans.gos.get("enableRtl")&&this.colsSpanning?we(this.colsSpanning):this.column,e.getLeft()}modifyLeftForPrintLayout(e){if(!this.cellCtrl.isPrintLayout()||"left"===this.column.getPinned())return e;const t=this.beans.visibleColsService.getColsLeftWidth();if("right"===this.column.getPinned()){return t+this.beans.visibleColsService.getBodyContainerWidth()+(e||0)}return t+(e||0)}applyRowSpan(e){if(1===this.rowSpan&&!e)return;const t=U(this.beans.gos)*this.rowSpan;this.eGui.style.height=`${t}px`,this.eGui.style.zIndex="1"}destroy(){super.destroy()}},gr="ag-cell-range-selected",pr=class{constructor(e,t){this.beans=e,this.rangeService=e.rangeService,this.selectionHandleFactory=e.selectionHandleFactory,this.cellCtrl=t}setComp(e,t){this.cellComp=e,this.eGui=t,this.onCellSelectionChanged()}onCellSelectionChanged(){this.cellComp&&(this.rangeCount=this.rangeService.getCellRangeCount(this.cellCtrl.getCellPosition()),this.hasChartRange=this.getHasChartRange(),this.cellComp.addOrRemoveCssClass(gr,0!==this.rangeCount),this.cellComp.addOrRemoveCssClass(`${gr}-1`,1===this.rangeCount),this.cellComp.addOrRemoveCssClass(`${gr}-2`,2===this.rangeCount),this.cellComp.addOrRemoveCssClass(`${gr}-3`,3===this.rangeCount),this.cellComp.addOrRemoveCssClass(`${gr}-4`,this.rangeCount>=4),this.cellComp.addOrRemoveCssClass("ag-cell-range-chart",this.hasChartRange),ti(this.eGui,this.rangeCount>0||void 0),this.cellComp.addOrRemoveCssClass("ag-cell-range-single-cell",this.isSingleCell()),this.updateRangeBorders(),this.refreshHandle())}updateRangeBorders(){const e=this.getRangeBorders(),t=this.isSingleCell(),i=!t&&e.top,s=!t&&e.right,o=!t&&e.bottom,n=!t&&e.left;this.cellComp.addOrRemoveCssClass("ag-cell-range-top",i),this.cellComp.addOrRemoveCssClass("ag-cell-range-right",s),this.cellComp.addOrRemoveCssClass("ag-cell-range-bottom",o),this.cellComp.addOrRemoveCssClass("ag-cell-range-left",n)}isSingleCell(){const{rangeService:e}=this.beans;return 1===this.rangeCount&&!!e&&!e.isMoreThanOneCell()}getHasChartRange(){const{rangeService:e}=this.beans;if(!this.rangeCount||!e)return!1;const t=e.getCellRanges();return t.length>0&&t.every((e=>Pe([1,0],e.type)))}updateRangeBordersIfRangeCount(){this.rangeCount>0&&(this.updateRangeBorders(),this.refreshHandle())}getRangeBorders(){const e=this.beans.gos.get("enableRtl");let t=!1,i=!1,s=!1,o=!1;const n=this.cellCtrl.getCellPosition().column,r=this.beans.visibleColsService;let l,a;e?(l=r.getColAfter(n),a=r.getColBefore(n)):(l=r.getColBefore(n),a=r.getColAfter(n));const d=this.rangeService.getCellRanges().filter((e=>this.rangeService.isCellInSpecificRange(this.cellCtrl.getCellPosition(),e)));l||(o=!0),a||(i=!0);for(let h=0;h<d.length&&!(t&&i&&s&&o);h++){const e=d[h],n=this.rangeService.getRangeStartRow(e),r=this.rangeService.getRangeEndRow(e);!t&&this.beans.rowPositionUtils.sameRow(n,this.cellCtrl.getCellPosition())&&(t=!0),!s&&this.beans.rowPositionUtils.sameRow(r,this.cellCtrl.getCellPosition())&&(s=!0),!o&&l&&e.columns.indexOf(l)<0&&(o=!0),!i&&a&&e.columns.indexOf(a)<0&&(i=!0)}return{top:t,right:i,bottom:s,left:o}}refreshHandle(){if(this.beans.context.isDestroyed())return;const e=this.shouldHaveSelectionHandle();this.selectionHandle&&!e&&(this.selectionHandle=this.beans.context.destroyBean(this.selectionHandle)),e&&this.addSelectionHandle(),this.cellComp.addOrRemoveCssClass("ag-cell-range-handle",!!this.selectionHandle)}shouldHaveSelectionHandle(){const e=this.beans.gos,t=this.rangeService.getCellRanges(),i=t.length;if(this.rangeCount<1||i<1)return!1;const s=we(t),o=this.cellCtrl.getCellPosition(),n=he(e)&&!this.cellCtrl.isSuppressFillHandle(),r=function(e){var t;const i=e.get("cellSelection");return void 0!==i?"boolean"!=typeof i&&"range"===(null==(t=i.handle)?void 0:t.mode):e.get("enableRangeHandle")}(e);let l=1===i&&!this.cellCtrl.isEditing()&&(n||r);if(this.hasChartRange){const e=1===t[0].type&&this.rangeService.isCellInSpecificRange(o,t[0]);this.cellComp.addOrRemoveCssClass("ag-cell-range-chart-category",e),l=0===s.type}return l&&null!=s.endRow&&this.rangeService.isContiguousRange(s)&&this.rangeService.isBottomRightCell(s,o)}addSelectionHandle(){const e=we(this.rangeService.getCellRanges()).type,t=he(this.beans.gos)&&D(e)?0:1;this.selectionHandle&&this.selectionHandle.getType()!==t&&(this.selectionHandle=this.beans.context.destroyBean(this.selectionHandle)),this.selectionHandle||(this.selectionHandle=this.selectionHandleFactory.createSelectionHandle(t)),this.selectionHandle.refresh(this.cellCtrl)}destroy(){this.beans.context.destroyBean(this.selectionHandle)}},mr=0,vr=class e extends Oe{constructor(e,t,i,s){super(),this.column=e,this.rowNode=t,this.beans=i,this.rowCtrl=s,this.cellRangeFeature=void 0,this.cellPositionFeature=void 0,this.cellCustomStyleFeature=void 0,this.tooltipFeature=void 0,this.cellMouseListenerFeature=void 0,this.cellKeyboardListenerFeature=void 0,this.suppressRefreshCell=!1,this.onCellCompAttachedFuncs=[],this.onCellEditorAttachedFuncs=[],this.instanceId=e.getId()+"-"+mr++,this.colIdSanitised=Rt(this.column.getId()),this.createCellPosition(),this.updateAndFormatValue(!1)}shouldRestoreFocus(){return this.beans.focusService.shouldRestoreFocus(this.cellPosition)}onFocusOut(){this.beans.focusService.clearRestoreFocus()}addFeatures(){this.cellPositionFeature=new cr(this,this.beans),this.cellCustomStyleFeature=new dr(this,this.beans),this.cellMouseListenerFeature=new ur(this,this.beans,this.column),this.cellKeyboardListenerFeature=new hr(this,this.beans,this.column,this.rowNode,this.rowCtrl),this.column.isTooltipEnabled()&&this.enableTooltipFeature();this.beans.rangeService&&de(this.beans.gos)&&(this.cellRangeFeature=new pr(this.beans,this))}removeFeatures(){const e=this.beans.context;this.cellPositionFeature=e.destroyBean(this.cellPositionFeature),this.cellCustomStyleFeature=e.destroyBean(this.cellCustomStyleFeature),this.cellMouseListenerFeature=e.destroyBean(this.cellMouseListenerFeature),this.cellKeyboardListenerFeature=e.destroyBean(this.cellKeyboardListenerFeature),this.cellRangeFeature=e.destroyBean(this.cellRangeFeature),this.disableTooltipFeature()}enableTooltipFeature(e,t){const i="whenTruncated"===this.beans.gos.get("tooltipShowMode");t||!i||this.isCellRenderer()||(t=()=>{const e=this.getGui(),t=0===e.children.length?e:e.querySelector(".ag-cell-value");return!t||t.scrollWidth>t.clientWidth});const s={getColumn:()=>this.column,getColDef:()=>this.column.getColDef(),getRowIndex:()=>this.cellPosition.rowIndex,getRowNode:()=>this.rowNode,getGui:()=>this.getGui(),getLocation:()=>"cell",getTooltipValue:null!=e?()=>e:()=>{const e=this.column.getColDef(),t=this.rowNode.data;if(e.tooltipField&&P(t))return et(t,e.tooltipField,this.column.isTooltipFieldContainsDots());const i=e.tooltipValueGetter;return i?i(this.beans.gos.addGridCommonParams({location:"cell",colDef:this.column.getColDef(),column:this.column,rowIndex:this.cellPosition.rowIndex,node:this.rowNode,data:this.rowNode.data,value:this.value,valueFormatted:this.valueFormatted})):null},getValueFormatted:()=>this.valueFormatted,shouldDisplayTooltip:t};this.tooltipFeature=new Qi(s,this.beans)}disableTooltipFeature(){this.tooltipFeature=this.beans.context.destroyBean(this.tooltipFeature)}setComp(e,t,i,s,o,n){var r,l,a,d;this.cellComp=e,this.eGui=t,this.printLayout=s,n??(n=this),this.addDomData(n),this.addFeatures(),n.addDestroyFunc((()=>this.removeFeatures())),this.onSuppressCellFocusChanged(this.beans.gos.get("suppressCellFocus")),this.onCellFocused(this.focusEventToRestore),this.applyStaticCssClasses(),this.setWrapText(),this.onFirstRightPinnedChanged(),this.onLastLeftPinnedChanged(),this.onColumnHover(),this.setupControlComps(),this.setupAutoHeight(i,n),this.refreshFirstAndLastStyles(),this.refreshAriaColIndex(),null==(r=this.cellPositionFeature)||r.setComp(t),null==(l=this.cellCustomStyleFeature)||l.setComp(e),null==(a=this.tooltipFeature)||a.refreshToolTip(),null==(d=this.cellKeyboardListenerFeature)||d.setComp(this.eGui),this.cellRangeFeature&&this.cellRangeFeature.setComp(e,t),o&&this.isCellEditable()?this.startEditing():this.showValue(),this.onCellCompAttachedFuncs.length&&(this.onCellCompAttachedFuncs.forEach((e=>e())),this.onCellCompAttachedFuncs=[])}setupAutoHeight(e,t){if(this.isAutoHeight=this.column.isAutoHeight(),!this.isAutoHeight||!e)return;const i=e.parentElement,s=z(this.beans.gos,this.rowNode).height,o=n=>{if(this.editing)return;if(!this.isAlive()||!t.isAlive())return;const{paddingTop:r,paddingBottom:l,borderBottomWidth:a,borderTopWidth:d}=ai(i),h=r+l+a+d,u=e.offsetHeight+h;if(n<5){const t=j(this.beans.gos);if(!t||!t.contains(e)||0==u)return void window.setTimeout((()=>o(n+1)),0)}const c=Math.max(u,s);this.rowNode.setRowAutoHeight(c,this.column)},n=()=>o(0);n();const r=this.beans.resizeObserverService.observeResize(e,n);t.addDestroyFunc((()=>{r(),this.rowNode.setRowAutoHeight(void 0,this.column)}))}getCellAriaRole(){return this.column.getColDef().cellAriaRole??"gridcell"}isCellRenderer(){const e=this.column.getColDef();return null!=e.cellRenderer||null!=e.cellRendererSelector}getValueToDisplay(){return this.valueFormatted??this.value}showValue(e=!1){var t;const{beans:i,column:s,rowNode:o,cellRangeFeature:n,cellComp:r}=this,{userComponentFactory:l,animationFrameService:a}=i,d=this.getValueToDisplay();let h;if(o.stub&&null==(null==(t=o.groupData)?void 0:t[this.column.getId()])){const e=this.createCellRendererParams();h=l.getLoadingCellRendererDetails(s.getColDef(),e)}else if(this.isCellRenderer()){const e=this.createCellRendererParams();h=l.getCellRendererDetails(s.getColDef(),e)}r.setRenderDetails(h,d,e),a.requestAnimationFrame((()=>null==n?void 0:n.refreshHandle()))}setupControlComps(){const e=this.column.getColDef();this.includeSelection=this.isIncludeControl(this.isCheckboxSelection(e)),this.includeRowDrag=this.isIncludeControl(e.rowDrag),this.includeDndSource=this.isIncludeControl(e.dndSource),this.cellComp.setIncludeSelection(this.includeSelection),this.cellComp.setIncludeDndSource(this.includeDndSource),this.cellComp.setIncludeRowDrag(this.includeRowDrag)}isForceWrapper(){return this.beans.gos.get("enableCellTextSelection")||this.column.isAutoHeight()}isIncludeControl(e){return!(null!=this.rowNode.rowPinned)&&("function"==typeof e||!0===e)}isCheckboxSelection(e){const{rowSelection:t}=this.beans.gridOptions;return e.checkboxSelection||_e(this.column)&&t&&"string"!=typeof t&&le(t)}refreshShouldDestroy(){const e=this.column.getColDef(),t=this.includeSelection!=this.isIncludeControl(this.isCheckboxSelection(e)),i=this.includeRowDrag!=this.isIncludeControl(e.rowDrag),s=this.includeDndSource!=this.isIncludeControl(e.dndSource),o=this.isAutoHeight!=this.column.isAutoHeight();return t||i||s||o}startEditing(e=null,t=!1,i=null){const{editService:s}=this.beans;return!(this.isCellEditable()&&!this.editing&&s)||(this.cellComp?s.startEditing(this,e,t,i):(this.onCellCompAttachedFuncs.push((()=>{this.startEditing(e,t,i)})),!0))}setEditing(e,t){this.editCompDetails=t,this.editing!==e&&(this.editing=e)}stopRowOrCellEdit(e=!1){"fullRow"===this.beans.gos.get("editType")?this.rowCtrl.stopEditing(e):this.stopEditing(e)}onPopupEditorClosed(){this.editing&&this.stopEditingAndFocus()}stopEditing(e=!1){this.onCellEditorAttachedFuncs=[];const{editService:t}=this.beans;return!(!this.editing||!t)&&t.stopEditing(this,e)}createCellRendererParams(){return this.beans.gos.addGridCommonParams({value:this.value,valueFormatted:this.valueFormatted,getValue:()=>this.beans.valueService.getValueForDisplay(this.column,this.rowNode),setValue:e=>this.beans.valueService.setValue(this.rowNode,this.column,e),formatValue:this.formatValue.bind(this),data:this.rowNode.data,node:this.rowNode,pinned:this.column.getPinned(),colDef:this.column.getColDef(),column:this.column,refreshCell:this.refreshCell.bind(this),eGridCell:this.getGui(),eParentOfValue:this.cellComp.getParentOfValue(),registerRowDragger:(e,t,i,s)=>this.registerRowDragger(e,t,s),setTooltip:(e,t)=>{var i;this.tooltipFeature&&this.disableTooltipFeature(),this.enableTooltipFeature(e,t),null==(i=this.tooltipFeature)||i.refreshToolTip()}})}setFocusOutOnEditor(){var e;this.editing&&(null==(e=this.beans.editService)||e.setFocusOutOnEditor(this))}setFocusInOnEditor(){var e;this.editing&&(null==(e=this.beans.editService)||e.setFocusInOnEditor(this))}onCellChanged(e){e.column===this.column&&this.refreshCell({})}refreshOrDestroyCell(e){var t;this.refreshShouldDestroy()?null==(t=this.rowCtrl)||t.recreateCell(this):this.refreshCell(e)}refreshCell(e){var t,i,s,o,n;if(this.suppressRefreshCell||this.editing)return;const r=this.column.getColDef(),l=null!=e&&!!e.newData,a=null!=e&&!!e.suppressFlash||!!r.suppressCellFlash,d=null==r.field&&null==r.valueGetter&&null==r.showRowGroup,h=e&&e.forceRefresh||d||l,u=!!this.cellComp,c=this.updateAndFormatValue(u);if(u){if(h||c){this.showValue(l);const e=null==(t=this.beans.filterManager)?void 0:t.isSuppressFlashingCellsBecauseFiltering();!a&&!e&&(this.beans.gos.get("enableCellChangeFlash")||r.enableCellChangeFlash)&&this.flashCell(),null==(i=this.cellCustomStyleFeature)||i.applyUserStyles(),null==(s=this.cellCustomStyleFeature)||s.applyClassesFromColDef()}null==(o=this.tooltipFeature)||o.refreshToolTip(),null==(n=this.cellCustomStyleFeature)||n.applyCellClassRules()}}stopEditingAndFocus(e=!1,t=!1){var i;null==(i=this.beans.editService)||i.stopEditingAndFocus(this,e,t)}flashCell(e){const t=(null==e?void 0:e.flashDuration)??(null==e?void 0:e.flashDelay),i=(null==e?void 0:e.fadeDuration)??(null==e?void 0:e.fadeDelay);this.animateCell("data-changed",t,i)}animateCell(e,t,i){if(!this.cellComp)return;const{gos:s}=this.beans;if(t||(t=s.get("cellFlashDuration")),0===t)return;P(i)||(i=s.get("cellFadeDuration"));const o=`ag-cell-${e}`,n=`ag-cell-${e}-animation`;this.cellComp.addOrRemoveCssClass(o,!0),this.cellComp.addOrRemoveCssClass(n,!1),this.beans.frameworkOverrides.wrapIncoming((()=>{window.setTimeout((()=>{this.isAlive()&&(this.cellComp.addOrRemoveCssClass(o,!1),this.cellComp.addOrRemoveCssClass(n,!0),this.eGui.style.transition=`background-color ${i}ms`,window.setTimeout((()=>{this.isAlive()&&(this.cellComp.addOrRemoveCssClass(n,!1),this.eGui.style.transition="")}),i))}),t)}))}onFlashCells(e){if(!this.cellComp)return;const t=this.beans.cellPositionUtils.createId(this.getCellPosition());e.cells[t]&&this.animateCell("highlight")}isCellEditable(){return this.column.isCellEditable(this.rowNode)}isSuppressFillHandle(){return this.column.isSuppressFillHandle()}formatValue(e){return this.callValueFormatter(e)??e}callValueFormatter(e){return this.beans.valueService.formatValue(this.column,this.rowNode,e)}updateAndFormatValue(e){const t=this.value,i=this.valueFormatted;return this.value=this.beans.valueService.getValueForDisplay(this.column,this.rowNode),this.valueFormatted=this.callValueFormatter(this.value),!e||(!this.valuesAreEqual(t,this.value)||this.valueFormatted!=i)}valuesAreEqual(e,t){const i=this.column.getColDef();return i.equals?i.equals(e,t):e===t}getComp(){return this.cellComp}getValue(){return this.value}addDomData(t){const i=this.getGui();$(this.beans.gos,i,e.DOM_DATA_KEY_CELL_CTRL,this),t.addDestroyFunc((()=>$(this.beans.gos,i,e.DOM_DATA_KEY_CELL_CTRL,null)))}createEvent(e,t){return this.beans.gos.addGridCommonParams({type:t,node:this.rowNode,data:this.rowNode.data,value:this.value,column:this.column,colDef:this.column.getColDef(),rowPinned:this.rowNode.rowPinned,event:e,rowIndex:this.rowNode.rowIndex})}processCharacter(e){var t;null==(t=this.cellKeyboardListenerFeature)||t.processCharacter(e)}onKeyDown(e){var t;null==(t=this.cellKeyboardListenerFeature)||t.onKeyDown(e)}onMouseEvent(e,t){var i;null==(i=this.cellMouseListenerFeature)||i.onMouseEvent(e,t)}getGui(){return this.eGui}getColSpanningList(){return this.cellPositionFeature.getColSpanningList()}onLeftChanged(){var e;this.cellComp&&(null==(e=this.cellPositionFeature)||e.onLeftChanged())}onDisplayedColumnsChanged(){this.eGui&&(this.refreshAriaColIndex(),this.refreshFirstAndLastStyles())}refreshFirstAndLastStyles(){const{cellComp:e,column:t,beans:i}=this;dn(e,t,i.visibleColsService)}refreshAriaColIndex(){const e=this.beans.visibleColsService.getAriaColIndex(this.column);ei(this.getGui(),e)}isSuppressNavigable(){return this.column.isSuppressNavigable(this.rowNode)}onWidthChanged(){var e;return null==(e=this.cellPositionFeature)?void 0:e.onWidthChanged()}getColumn(){return this.column}getRowNode(){return this.rowNode}isPrintLayout(){return this.printLayout}getCellPosition(){return this.cellPosition}isEditing(){return this.editing}startRowOrCellEdit(e,t=null){return this.cellComp?"fullRow"===this.beans.gos.get("editType")?this.rowCtrl.startRowEditing(e,this):this.startEditing(e,!0,t):(this.onCellCompAttachedFuncs.push((()=>{this.startRowOrCellEdit(e,t)})),!0)}getRowCtrl(){return this.rowCtrl}getRowPosition(){return{rowIndex:this.cellPosition.rowIndex,rowPinned:this.cellPosition.rowPinned}}updateRangeBordersIfRangeCount(){this.cellComp&&this.cellRangeFeature&&this.cellRangeFeature.updateRangeBordersIfRangeCount()}onCellSelectionChanged(){this.cellComp&&this.cellRangeFeature&&this.cellRangeFeature.onCellSelectionChanged()}isRangeSelectionEnabled(){return null!=this.cellRangeFeature}focusCell(e=!1){this.beans.focusService.setFocusedCell({rowIndex:this.getCellPosition().rowIndex,column:this.column,rowPinned:this.rowNode.rowPinned,forceBrowserFocus:e})}onRowIndexChanged(){this.createCellPosition(),this.onCellFocused(),this.cellRangeFeature&&this.cellRangeFeature.onCellSelectionChanged()}onSuppressCellFocusChanged(e){this.eGui&&Di(this.eGui,"tabindex",e?void 0:-1)}onFirstRightPinnedChanged(){if(!this.cellComp)return;const e=this.column.isFirstRightPinned();this.cellComp.addOrRemoveCssClass("ag-cell-first-right-pinned",e)}onLastLeftPinnedChanged(){if(!this.cellComp)return;const e=this.column.isLastLeftPinned();this.cellComp.addOrRemoveCssClass("ag-cell-last-left-pinned",e)}onCellFocused(e){if(this.beans.focusService.isCellFocusSuppressed())return;const t=this.beans.focusService.isCellFocused(this.cellPosition);if(!this.cellComp)return void(t&&(null==e?void 0:e.forceBrowserFocus)&&(this.focusEventToRestore=e));if(this.focusEventToRestore=void 0,this.cellComp.addOrRemoveCssClass("ag-cell-focus",t),t&&e&&e.forceBrowserFocus){let t=this.cellComp.getFocusableElement();if(this.editing){const e=this.beans.focusService.findFocusableElements(t,null,!0);e.length&&(t=e[0])}t.focus({preventScroll:!!e.preventScrollOnBrowserFocus})}const i="fullRow"===this.beans.gos.get("editType");t||i||!this.editing||this.stopRowOrCellEdit(),t&&this.rowCtrl.announceDescription()}createCellPosition(){this.cellPosition={rowIndex:this.rowNode.rowIndex,rowPinned:F(this.rowNode.rowPinned),column:this.column}}applyStaticCssClasses(){this.cellComp.addOrRemoveCssClass("ag-cell",!0),this.cellComp.addOrRemoveCssClass("ag-cell-not-inline-editing",!0);const e=1==this.column.isAutoHeight();this.cellComp.addOrRemoveCssClass("ag-cell-auto-height",e),this.cellComp.addOrRemoveCssClass("ag-cell-normal-height",!e)}onColumnHover(){if(!this.cellComp)return;if(!this.beans.gos.get("columnHoverHighlight"))return;const e=this.beans.columnHoverService.isHovered(this.column);this.cellComp.addOrRemoveCssClass("ag-column-hover",e)}onColDefChanged(){var e;if(!this.cellComp)return;this.column.isTooltipEnabled()?(this.disableTooltipFeature(),this.enableTooltipFeature()):this.disableTooltipFeature(),this.setWrapText(),this.editing?null==(e=this.beans.editService)||e.handleColDefChanged(this):this.refreshOrDestroyCell({forceRefresh:!0,suppressFlash:!0})}setWrapText(){const e=1==this.column.getColDef().wrapText;this.cellComp.addOrRemoveCssClass("ag-cell-wrap-text",e)}dispatchCellContextMenuEvent(e){const t=this.column.getColDef(),i=this.createEvent(e,"cellContextMenu");this.beans.eventService.dispatchEvent(i),t.onCellContextMenu&&window.setTimeout((()=>{this.beans.frameworkOverrides.wrapOutgoing((()=>{t.onCellContextMenu(i)}))}),0)}getCellRenderer(){return this.cellComp?this.cellComp.getCellRenderer():null}getCellEditor(){return this.cellComp?this.cellComp.getCellEditor():null}destroy(){this.onCellCompAttachedFuncs=[],this.onCellEditorAttachedFuncs=[],super.destroy()}createSelectionCheckbox(){const e=new lr;return this.beans.context.createBean(e),e.init({rowNode:this.rowNode,column:this.column}),e}createDndSource(){const e=new ar(this.rowNode,this.column,this.eGui);return this.beans.context.createBean(e),e}registerRowDragger(e,t,i){if(this.customRowDragComp)return void this.customRowDragComp.setDragElement(e,t);const s=this.createRowDragComp(e,t,i);s&&(this.customRowDragComp=s,this.addDestroyFunc((()=>{this.beans.context.destroyBean(s),this.customRowDragComp=null})))}createRowDragComp(e,t,i){const s=this.beans.gos.get("pagination"),o=this.beans.gos.get("rowDragManaged"),n=G(this.beans.gos);if(o){if(!n)return void m("managed row dragging is only allowed in the Client Side Row Model");if(s)return void m("managed row dragging is not possible when doing pagination")}const r=new ho((()=>this.value),this.rowNode,this.column,e,t,i);return this.beans.context.createBean(r),r}setSuppressRefreshCell(e){this.suppressRefreshCell=e}getEditCompDetails(){return this.editCompDetails}onCellEditorAttached(e){this.onCellEditorAttachedFuncs.push(e)}cellEditorAttached(){this.onCellEditorAttachedFuncs.forEach((e=>e())),this.onCellEditorAttachedFuncs=[]}};vr.DOM_DATA_KEY_CELL_CTRL="cellCtrl";var Cr=vr,fr=0,wr=class e extends Oe{constructor(e,t,i,s,o){var n;super(),this.allRowGuis=[],this.active=!0,this.centerCellCtrls={list:[],map:{}},this.leftCellCtrls={list:[],map:{}},this.rightCellCtrls={list:[],map:{}},this.slideInAnimation={left:!1,center:!1,right:!1,fullWidth:!1},this.fadeInAnimation={left:!1,center:!1,right:!1,fullWidth:!1},this.rowDragComps=[],this.lastMouseDownOnDragger=!1,this.emptyStyle={},this.updateColumnListsPending=!1,this.rowId=null,this.businessKeySanitised=null,this.beans=t,this.gos=t.gos,this.rowNode=e,this.paginationPage=(null==(n=t.paginationService)?void 0:n.getCurrentPage())??0,this.useAnimationFrameForCreate=s,this.printLayout=o,this.suppressRowTransform=this.gos.get("suppressRowTransform"),this.instanceId=e.id+"-"+fr++,this.rowId=Rt(e.id),this.initRowBusinessKey(),this.rowFocused=t.focusService.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned),this.rowLevel=t.rowCssClassCalculator.calculateRowLevel(this.rowNode),this.setRowType(),this.setAnimateFlags(i),this.rowStyles=this.processStylesFromGridOptions(),this.addListeners()}initRowBusinessKey(){this.businessKeyForNodeFunc=this.gos.get("getBusinessKeyForNode"),this.updateRowBusinessKey()}updateRowBusinessKey(){if("function"!=typeof this.businessKeyForNodeFunc)return;const e=this.businessKeyForNodeFunc(this.rowNode);this.businessKeySanitised=Rt(e)}getRowId(){return this.rowId}getRowStyles(){return this.rowStyles}isSticky(){return this.rowNode.sticky}updateGui(e,t){"left"===e?this.leftGui=t:"right"===e?this.rightGui=t:"fullWidth"===e?this.fullWidthGui=t:this.centerGui=t}setComp(e,t,i,s){const o={rowComp:e,element:t,containerType:i,compBean:s=zt(this,this.beans.context,s)};this.allRowGuis.push(o),this.updateGui(i,o),this.initialiseRowComp(o),"FullWidthLoading"===this.rowType||this.rowNode.rowPinned||this.beans.rowRenderer.dispatchFirstDataRenderedEvent()}unsetComp(e){this.allRowGuis=this.allRowGuis.filter((t=>t.containerType!==e)),this.updateGui(e,void 0)}isCacheable(){return"FullWidthDetail"===this.rowType&&this.gos.get("keepDetailRows")}setCached(e){const t=e?"none":"";this.allRowGuis.forEach((e=>e.element.style.display=t))}initialiseRowComp(t){const i=this.gos;this.onSuppressCellFocusChanged(this.beans.gos.get("suppressCellFocus")),this.listenOnDomOrder(t),this.beans.columnModel.wasAutoRowHeightEverActive()&&this.rowNode.checkAutoHeights(),this.onRowHeightChanged(t),this.updateRowIndexes(t),this.setFocusedClasses(t),this.setStylesFromGridOptions(!1,t),B(i)&&this.rowNode.selectable&&this.onRowSelected(t),this.updateColumnLists(!this.useAnimationFrameForCreate);const s=t.rowComp;this.getInitialRowClasses(t.containerType).forEach((e=>s.addOrRemoveCssClass(e,!0))),this.executeSlideAndFadeAnimations(t),this.rowNode.group&&Zt(t.element,1==this.rowNode.expanded),this.setRowCompRowId(s),this.setRowCompRowBusinessKey(s),$(i,t.element,e.DOM_DATA_KEY_ROW_CTRL,this),t.compBean.addDestroyFunc((()=>$(i,t.element,e.DOM_DATA_KEY_ROW_CTRL,null))),this.useAnimationFrameForCreate?this.beans.animationFrameService.createTask(this.addHoverFunctionality.bind(this,t),this.rowNode.rowIndex,"createTasksP2"):this.addHoverFunctionality(t),this.isFullWidth()&&this.setupFullWidth(t),i.get("rowDragEntireRow")&&this.addRowDraggerToRow(t),this.useAnimationFrameForCreate&&this.beans.animationFrameService.addDestroyTask((()=>{this.isAlive()&&t.rowComp.addOrRemoveCssClass("ag-after-created",!0)})),this.executeProcessRowPostCreateFunc()}setRowCompRowBusinessKey(e){null!=this.businessKeySanitised&&e.setRowBusinessKey(this.businessKeySanitised)}getBusinessKey(){return this.businessKeySanitised}setRowCompRowId(e){this.rowId=Rt(this.rowNode.id),null!=this.rowId&&e.setRowId(this.rowId)}executeSlideAndFadeAnimations(e){const{containerType:t}=e;this.slideInAnimation[t]&&(y((()=>{this.onTopChanged()})),this.slideInAnimation[t]=!1);this.fadeInAnimation[t]&&(y((()=>{e.rowComp.addOrRemoveCssClass("ag-opacity-zero",!1)})),this.fadeInAnimation[t]=!1)}addRowDraggerToRow(e){if(de(this.gos))return void m("Setting `rowDragEntireRow: true` in the gridOptions doesn't work with `cellSelection: true`");const t=this.beans.localeService.getLocaleTextFunc(),i=new ho((()=>`1 ${t("rowDragRow","row")}`),this.rowNode,void 0,e.element,void 0,!0),s=this.createBean(i,this.beans.context);this.rowDragComps.push(s),e.compBean.addDestroyFunc((()=>{this.rowDragComps=this.rowDragComps.filter((e=>e!==s)),this.destroyBean(s,this.beans.context)}))}setupFullWidth(e){const t=this.getPinnedForContainer(e.containerType);if("FullWidthDetail"==this.rowType&&!this.gos.assertModuleRegistered("@ag-grid-enterprise/master-detail","cell renderer 'agDetailCellRenderer' (for master detail)"))return;const i=this.createFullWidthCompDetails(e.element,t);e.rowComp.showFullWidth(i)}isPrintLayout(){return this.printLayout}getFullWidthCellRenderers(){var e,t;return this.gos.get("embedFullWidthRows")?this.allRowGuis.map((e=>{var t;return null==(t=null==e?void 0:e.rowComp)?void 0:t.getFullWidthCellRenderer()})):[null==(t=null==(e=this.fullWidthGui)?void 0:e.rowComp)?void 0:t.getFullWidthCellRenderer()]}getCellElement(e){const t=this.getCellCtrl(e);return t?t.getGui():null}executeProcessRowPostCreateFunc(){const e=this.gos.getCallback("processRowPostCreate");if(!e||!this.areAllContainersReady())return;e({eRow:this.centerGui.element,ePinnedLeftRow:this.leftGui?this.leftGui.element:void 0,ePinnedRightRow:this.rightGui?this.rightGui.element:void 0,node:this.rowNode,rowIndex:this.rowNode.rowIndex,addRenderedRowListener:this.addEventListener.bind(this)})}areAllContainersReady(){const e=!!this.leftGui||!this.beans.visibleColsService.isPinningLeft(),t=!!this.centerGui,i=!!this.rightGui||!this.beans.visibleColsService.isPinningRight();return e&&t&&i}isNodeFullWidthCell(){if(this.rowNode.detail)return!0;const e=this.beans.gos.getCallback("isFullWidthRow");return!!e&&e({rowNode:this.rowNode})}setRowType(){const e=this.rowNode.stub&&!this.gos.get("suppressServerSideFullWidthLoadingRow")&&!this.gos.get("groupHideOpenParents"),t=this.isNodeFullWidthCell(),i=this.gos.get("masterDetail")&&this.rowNode.detail,s=this.beans.columnModel.isPivotMode(),o=!!this.rowNode.group&&!this.rowNode.footer&&ne(this.gos,s);this.rowType=e?"FullWidthLoading":i?"FullWidthDetail":t?"FullWidth":o?"FullWidthGroup":"Normal"}updateColumnLists(e=!1,t=!1){if(this.isFullWidth())return;e||this.gos.get("suppressAnimationFrame")||this.printLayout?this.updateColumnListsImpl(t):this.updateColumnListsPending||(this.beans.animationFrameService.createTask((()=>{this.active&&this.updateColumnListsImpl(!0)}),this.rowNode.rowIndex,"createTasksP1"),this.updateColumnListsPending=!0)}createCellCtrls(e,t,i=null){const s={list:[],map:{}},o=(e,t,i)=>{null!=i?s.list.splice(i,0,t):s.list.push(t),s.map[e]=t},n=[];for(const r of t){const t=r.getInstanceId();let i=e.map[t];i||(i=new Cr(r,this.rowNode,this.beans,this)),o(t,i)}for(const r of e.list){const e=r.getColumn().getInstanceId();if(null!=s.map[e])continue;!this.isCellEligibleToBeRemoved(r,i)?n.push([e,r]):r.destroy()}if(n.length)for(const[r,l]of n){const e=s.list.findIndex((e=>e.getColumn().getLeft()>l.getColumn().getLeft())),t=-1===e?void 0:Math.max(e-1,0);o(r,l,t)}return s}updateColumnListsImpl(e){this.updateColumnListsPending=!1,this.createAllCellCtrls(),this.setCellCtrls(e)}setCellCtrls(e){this.allRowGuis.forEach((t=>{const i=this.getCellCtrlsForContainer(t.containerType);t.rowComp.setCellCtrls(i,e)}))}getCellCtrlsForContainer(e){switch(e){case"left":return this.leftCellCtrls.list;case"right":return this.rightCellCtrls.list;case"fullWidth":return[];case"center":return this.centerCellCtrls.list}}createAllCellCtrls(){const e=this.beans.columnViewportService,t=this.beans.visibleColsService;if(this.printLayout)this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,t.getAllCols()),this.leftCellCtrls={list:[],map:{}},this.rightCellCtrls={list:[],map:{}};else{const i=e.getColsWithinViewport(this.rowNode);this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,i);const s=t.getLeftColsForRow(this.rowNode);this.leftCellCtrls=this.createCellCtrls(this.leftCellCtrls,s,"left");const o=t.getRightColsForRow(this.rowNode);this.rightCellCtrls=this.createCellCtrls(this.rightCellCtrls,o,"right")}}isCellEligibleToBeRemoved(e,t){const i=!0;if(e.getColumn().getPinned()!=t)return i;const s=e.isEditing(),o=this.beans.focusService.isCellFocused(e.getCellPosition());if(s||o){const t=e.getColumn();return!(this.beans.visibleColsService.getAllCols().indexOf(t)>=0)&&i}return i}getDomOrder(){return this.gos.get("ensureDomOrder")||H(this.gos,"print")}listenOnDomOrder(e){e.compBean.addManagedPropertyListeners(["domLayout","ensureDomOrder"],(()=>{e.rowComp.setDomOrder(this.getDomOrder())}))}setAnimateFlags(e){if(this.isSticky()||!e)return;const t=P(this.rowNode.oldRowTop),i=this.beans.visibleColsService.isPinningLeft(),s=this.beans.visibleColsService.isPinningRight();if(t){if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows"))return void(this.slideInAnimation.fullWidth=!0);this.slideInAnimation.center=!0,this.slideInAnimation.left=i,this.slideInAnimation.right=s}else{if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows"))return void(this.fadeInAnimation.fullWidth=!0);this.fadeInAnimation.center=!0,this.fadeInAnimation.left=i,this.fadeInAnimation.right=s}}isEditing(){return this.editingRow}isFullWidth(){return"Normal"!==this.rowType}refreshFullWidth(){const e=(e,t)=>!e||e.rowComp.refreshFullWidth((()=>this.createFullWidthCompDetails(e.element,t).params)),t=e(this.fullWidthGui,null),i=e(this.centerGui,null),s=e(this.leftGui,"left"),o=e(this.rightGui,"right");return t&&i&&s&&o}addListeners(){this.addManagedListeners(this.rowNode,{heightChanged:()=>this.onRowHeightChanged(),rowSelected:()=>this.onRowSelected(),rowIndexChanged:this.onRowIndexChanged.bind(this),topChanged:this.onTopChanged.bind(this),expandedChanged:this.updateExpandedCss.bind(this),hasChildrenChanged:this.updateExpandedCss.bind(this)}),this.rowNode.detail&&this.addManagedListeners(this.rowNode.parent,{dataChanged:this.onRowNodeDataChanged.bind(this)}),this.addManagedListeners(this.rowNode,{dataChanged:this.onRowNodeDataChanged.bind(this),cellChanged:this.postProcessCss.bind(this),rowHighlightChanged:this.onRowNodeHighlightChanged.bind(this),draggingChanged:this.postProcessRowDragging.bind(this),uiLevelChanged:this.onUiLevelChanged.bind(this)}),this.addManagedListeners(this.beans.eventService,{paginationPixelOffsetChanged:this.onPaginationPixelOffsetChanged.bind(this),heightScaleChanged:this.onTopChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),virtualColumnsChanged:this.onVirtualColumnsChanged.bind(this),cellFocused:this.onCellFocusChanged.bind(this),cellFocusCleared:this.onCellFocusChanged.bind(this),paginationChanged:this.onPaginationChanged.bind(this),modelUpdated:this.refreshFirstAndLastRowStyles.bind(this),columnMoved:()=>this.updateColumnLists()}),this.addDestroyFunc((()=>{this.rowDragComps=this.destroyBeans(this.rowDragComps,this.beans.context),this.tooltipFeature&&(this.tooltipFeature=this.destroyBean(this.tooltipFeature,this.beans.context))})),this.addManagedPropertyListeners(["rowStyle","getRowStyle","rowClass","getRowClass","rowClassRules"],this.postProcessCss.bind(this)),this.addManagedPropertyListener("rowDragEntireRow",(()=>{this.gos.get("rowDragEntireRow")?this.allRowGuis.forEach((e=>{this.addRowDraggerToRow(e)})):this.rowDragComps=this.destroyBeans(this.rowDragComps,this.beans.context)})),this.addListenersForCellComps()}addListenersForCellComps(){this.addManagedListeners(this.rowNode,{rowIndexChanged:()=>{this.getAllCellCtrls().forEach((e=>e.onRowIndexChanged()))},cellChanged:e=>{this.getAllCellCtrls().forEach((t=>t.onCellChanged(e)))}})}onRowNodeDataChanged(e){if(this.isFullWidth()!==!!this.isNodeFullWidthCell())this.beans.rowRenderer.redrawRow(this.rowNode);else if(this.isFullWidth()){this.refreshFullWidth()||this.beans.rowRenderer.redrawRow(this.rowNode)}else this.getAllCellCtrls().forEach((t=>t.refreshCell({suppressFlash:!e.update,newData:!e.update}))),this.allRowGuis.forEach((e=>{this.setRowCompRowId(e.rowComp),this.updateRowBusinessKey(),this.setRowCompRowBusinessKey(e.rowComp)})),this.onRowSelected(),this.postProcessCss()}postProcessCss(){this.setStylesFromGridOptions(!0),this.postProcessClassesFromGridOptions(),this.postProcessRowClassRules(),this.postProcessRowDragging()}onRowNodeHighlightChanged(){const e=this.rowNode.highlighted;this.allRowGuis.forEach((t=>{const i=0===e,s=1===e;t.rowComp.addOrRemoveCssClass("ag-row-highlight-above",i),t.rowComp.addOrRemoveCssClass("ag-row-highlight-below",s)}))}postProcessRowDragging(){const e=this.rowNode.dragging;this.allRowGuis.forEach((t=>t.rowComp.addOrRemoveCssClass("ag-row-dragging",e)))}updateExpandedCss(){const e=this.rowNode.isExpandable(),t=1==this.rowNode.expanded;this.allRowGuis.forEach((i=>{i.rowComp.addOrRemoveCssClass("ag-row-group",e),i.rowComp.addOrRemoveCssClass("ag-row-group-expanded",e&&t),i.rowComp.addOrRemoveCssClass("ag-row-group-contracted",e&&!t),Zt(i.element,e&&t)}))}onDisplayedColumnsChanged(){this.updateColumnLists(!0),this.beans.columnModel.wasAutoRowHeightEverActive()&&this.rowNode.checkAutoHeights()}onVirtualColumnsChanged(){this.updateColumnLists(!1,!0)}getRowPosition(){return{rowPinned:F(this.rowNode.rowPinned),rowIndex:this.rowNode.rowIndex}}findFullWidthRowGui(e){return this.allRowGuis.find((t=>t.element.contains(e)))}onKeyboardNavigate(e){const t=this.findFullWidthRowGui(e.target);if(!((t?t.element:null)===e.target))return;const i=this.rowNode,s=this.beans.focusService.getFocusedCell(),o={rowIndex:i.rowIndex,rowPinned:i.rowPinned,column:(null==s?void 0:s.column)??this.getColumnForFullWidth(t)};this.beans.navigationService.navigateToNextCell(e,e.key,o,!0),e.preventDefault()}onTabKeyDown(e){if(e.defaultPrevented||Te(e))return;const t=this.allRowGuis.find((t=>t.element.contains(e.target))),i=t?t.element:null,s=i===e.target,o=Y(this.gos);let n=!1;i&&o&&(n=i.contains(o)&&o.classList.contains("ag-cell"));let r=null;s||n||(r=this.beans.focusService.findNextFocusableElement(i,!1,e.shiftKey)),(this.isFullWidth()&&s||!r)&&this.beans.navigationService.onTabKeyDown(this,e)}getFullWidthElement(){return this.fullWidthGui?this.fullWidthGui.element:null}getRowYPosition(){var e;const t=null==(e=this.allRowGuis.find((e=>wi(e.element))))?void 0:e.element;return t?t.getBoundingClientRect().top:0}onSuppressCellFocusChanged(e){const t=this.isFullWidth()&&e?void 0:-1;this.allRowGuis.forEach((e=>{Di(e.element,"tabindex",t)}))}onFullWidthRowFocused(e){var t;const i=this.rowNode,s=!!e&&(this.isFullWidth()&&e.rowIndex===i.rowIndex&&e.rowPinned==i.rowPinned),o=this.fullWidthGui?this.fullWidthGui.element:null==(t=this.centerGui)?void 0:t.element;o&&(o.classList.toggle("ag-full-width-focus",s),s&&(null==e?void 0:e.forceBrowserFocus)&&o.focus({preventScroll:!0}))}recreateCell(e){this.centerCellCtrls=this.removeCellCtrl(this.centerCellCtrls,e),this.leftCellCtrls=this.removeCellCtrl(this.leftCellCtrls,e),this.rightCellCtrls=this.removeCellCtrl(this.rightCellCtrls,e),e.destroy(),this.updateColumnLists()}removeCellCtrl(e,t){const i={list:[],map:{}};return e.list.forEach((e=>{e!==t&&(i.list.push(e),i.map[e.getColumn().getInstanceId()]=e)})),i}onMouseEvent(e,t){switch(e){case"dblclick":this.onRowDblClick(t);break;case"click":this.onRowClick(t);break;case"touchstart":case"mousedown":this.onRowMouseDown(t)}}createRowEvent(e,t){return this.gos.addGridCommonParams({type:e,node:this.rowNode,data:this.rowNode.data,rowIndex:this.rowNode.rowIndex,rowPinned:this.rowNode.rowPinned,event:t})}createRowEventWithSource(e,t){const i=this.createRowEvent(e,t);return i.source=this,i}onRowDblClick(e){Te(e)||this.beans.eventService.dispatchEvent(this.createRowEventWithSource("rowDoubleClicked",e))}getColumnForFullWidth(e){const{visibleColsService:t}=this.beans;switch(null==e?void 0:e.containerType){case"center":return t.getCenterCols()[0];case"left":return t.getLeftCols()[0];case"right":return t.getRightCols()[0];default:return t.getAllCols()[0]}}onRowMouseDown(e){if(this.lastMouseDownOnDragger=li(e.target,"ag-row-drag",3),!this.isFullWidth())return;const t=this.rowNode;this.beans.rangeService&&this.beans.rangeService.removeAllCellRanges();const i=this.findFullWidthRowGui(e.target),s=null==i?void 0:i.element,o=e.target;let n=!0;s&&s.contains(o)&&oi(o)&&(n=!1),this.beans.focusService.setFocusedCell({rowIndex:t.rowIndex,column:this.getColumnForFullWidth(i),rowPinned:t.rowPinned,forceBrowserFocus:n})}onRowClick(e){if(Te(e)||this.lastMouseDownOnDragger)return;const{gos:t}=this;this.beans.eventService.dispatchEvent(this.createRowEventWithSource("rowClicked",e));const i=e.ctrlKey||e.metaKey,s=e.shiftKey,o=this.rowNode.isSelected(),n=Ce(t),r=ce(t),l=function(e){const t=ue(e);return!0===t||"enableSelection"===t}(t);if(n&&this.rowNode.group||this.isRowSelectionBlocked()||!l&&!o||!r&&o)return;const a=function(e){const t=e.get("rowSelection");return"string"==typeof t?e.get("rowMultiSelectWithClick"):(null==t?void 0:t.enableSelectionWithoutKeys)??!1}(t),d="rowClicked";if(o)a?this.rowNode.setSelectedParams({newValue:!1,event:e,source:d}):i?r&&this.rowNode.setSelectedParams({newValue:!1,event:e,source:d}):l&&this.rowNode.setSelectedParams({newValue:!0,clearSelection:!s,rangeSelect:s,event:e,source:d});else{const t=!a&&!i;this.rowNode.setSelectedParams({newValue:!0,clearSelection:t,rangeSelect:s,event:e,source:d})}}isRowSelectionBlocked(){return!this.rowNode.selectable||!!this.rowNode.rowPinned||!B(this.gos)}setupDetailRowAutoHeight(e){if("FullWidthDetail"!==this.rowType)return;if(!this.gos.get("detailRowAutoHeight"))return;const t=()=>{const t=e.clientHeight;if(null!=t&&t>0){const e=()=>{this.rowNode.setRowHeight(t),(G(this.gos)||N(this.gos))&&this.beans.rowModel.onRowHeightChanged()};window.setTimeout(e,0)}},i=this.beans.resizeObserverService.observeResize(e,t);this.addDestroyFunc(i),t()}createFullWidthCompDetails(e,t){const{gos:i,rowNode:s}=this,o=i.addGridCommonParams({fullWidth:!0,data:s.data,node:s,value:s.key,valueFormatted:s.key,eGridCell:e,eParentOfValue:e,pinned:t,addRenderedRowListener:this.addEventListener.bind(this),registerRowDragger:(e,t,i,s)=>this.addFullWidthRowDragging(e,t,i,s),setTooltip:(e,t)=>this.refreshRowTooltip(e,t)}),n=this.beans.userComponentFactory;switch(this.rowType){case"FullWidthDetail":return n.getFullWidthDetailCellRendererDetails(o);case"FullWidthGroup":return n.getFullWidthGroupCellRendererDetails(o);case"FullWidthLoading":return n.getFullWidthLoadingCellRendererDetails(o);default:return n.getFullWidthCellRendererDetails(o)}}refreshRowTooltip(e,t){if(!this.fullWidthGui)return;const i={getGui:()=>this.fullWidthGui.element,getTooltipValue:()=>e,getLocation:()=>"fullWidthRow",shouldDisplayTooltip:t};this.tooltipFeature&&this.destroyBean(this.tooltipFeature,this.beans.context),this.tooltipFeature=this.createBean(new Qi(i,this.beans))}addFullWidthRowDragging(e,t,i="",s){if(!this.isFullWidth())return;const o=new ho((()=>i),this.rowNode,void 0,e,t,s);this.createBean(o,this.beans.context),this.addDestroyFunc((()=>{this.destroyBean(o,this.beans.context)}))}onUiLevelChanged(){const e=this.beans.rowCssClassCalculator.calculateRowLevel(this.rowNode);if(this.rowLevel!=e){const t="ag-row-level-"+e,i="ag-row-level-"+this.rowLevel;this.allRowGuis.forEach((e=>{e.rowComp.addOrRemoveCssClass(t,!0),e.rowComp.addOrRemoveCssClass(i,!1)}))}this.rowLevel=e}isFirstRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBoundsService.getFirstRow()}isLastRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBoundsService.getLastRow()}refreshFirstAndLastRowStyles(){const e=this.isFirstRowOnPage(),t=this.isLastRowOnPage();this.firstRowOnPage!==e&&(this.firstRowOnPage=e,this.allRowGuis.forEach((t=>t.rowComp.addOrRemoveCssClass("ag-row-first",e)))),this.lastRowOnPage!==t&&(this.lastRowOnPage=t,this.allRowGuis.forEach((e=>e.rowComp.addOrRemoveCssClass("ag-row-last",t))))}stopEditing(e=!1){var t;this.stoppingRowEdit||null==(t=this.beans.rowEditService)||t.stopEditing(this,e)}setInlineEditingCss(){const e=this.editingRow||this.getAllCellCtrls().some((e=>e.isEditing()));this.allRowGuis.forEach((t=>{t.rowComp.addOrRemoveCssClass("ag-row-inline-editing",e),t.rowComp.addOrRemoveCssClass("ag-row-not-inline-editing",!e)}))}setEditingRow(e){this.editingRow=e}startRowEditing(e=null,t=null,i=null){var s;return!!this.editingRow||((null==(s=this.beans.rowEditService)?void 0:s.startEditing(this,e,t,i))??!0)}getAllCellCtrls(){if(0===this.leftCellCtrls.list.length&&0===this.rightCellCtrls.list.length)return this.centerCellCtrls.list;return[...this.centerCellCtrls.list,...this.leftCellCtrls.list,...this.rightCellCtrls.list]}postProcessClassesFromGridOptions(){const e=this.beans.rowCssClassCalculator.processClassesFromGridOptions(this.rowNode);e&&e.length&&e.forEach((e=>{this.allRowGuis.forEach((t=>t.rowComp.addOrRemoveCssClass(e,!0)))}))}postProcessRowClassRules(){this.beans.rowCssClassCalculator.processRowClassRules(this.rowNode,(e=>{this.allRowGuis.forEach((t=>t.rowComp.addOrRemoveCssClass(e,!0)))}),(e=>{this.allRowGuis.forEach((t=>t.rowComp.addOrRemoveCssClass(e,!1)))}))}setStylesFromGridOptions(e,t){e&&(this.rowStyles=this.processStylesFromGridOptions()),this.forEachGui(t,(e=>e.rowComp.setUserStyles(this.rowStyles)))}getPinnedForContainer(e){return"left"===e||"right"===e?e:null}getInitialRowClasses(e){const t=this.getPinnedForContainer(e),i={rowNode:this.rowNode,rowFocused:this.rowFocused,fadeRowIn:this.fadeInAnimation[e],rowIsEven:this.rowNode.rowIndex%2==0,rowLevel:this.rowLevel,fullWidthRow:this.isFullWidth(),firstRowOnPage:this.isFirstRowOnPage(),lastRowOnPage:this.isLastRowOnPage(),printLayout:this.printLayout,expandable:this.rowNode.isExpandable(),pinned:t};return this.beans.rowCssClassCalculator.getInitialRowClasses(i)}processStylesFromGridOptions(){const e=this.gos.get("rowStyle");if(e&&"function"==typeof e)return void m("rowStyle should be an object of key/value styles, not be a function, use getRowStyle() instead");const t=this.gos.getCallback("getRowStyle");let i;if(t){i=t({data:this.rowNode.data,node:this.rowNode,rowIndex:this.rowNode.rowIndex})}return i||e?Object.assign({},e,i):this.emptyStyle}onRowSelected(e){const t=!!this.rowNode.isSelected();this.forEachGui(e,(e=>{e.rowComp.addOrRemoveCssClass("ag-row-selected",t),ti(e.element,t);!e.element.contains(Y(this.gos))||e!==this.centerGui&&e!==this.fullWidthGui||this.announceDescription()}))}announceDescription(){if(this.isRowSelectionBlocked())return;const e=this.rowNode.isSelected();if(e&&!ce(this.gos))return;const t=this.beans.localeService.getLocaleTextFunc()(e?"ariaRowDeselect":"ariaRowSelect",`Press SPACE to ${e?"deselect":"select"} this row.`);this.beans.ariaAnnouncementService.announceValue(t,"rowSelection")}addHoverFunctionality(e){if(!this.active)return;const{element:t,compBean:i}=e,{rowNode:s,beans:o,gos:n}=this;i.addManagedListeners(t,{mouseenter:()=>s.onMouseEnter(),mouseleave:()=>s.onMouseLeave()}),i.addManagedListeners(s,{mouseEnter:()=>{o.dragService.isDragging()||n.get("suppressRowHoverHighlight")||(t.classList.add("ag-row-hover"),s.setHovered(!0))},mouseLeave:()=>{t.classList.remove("ag-row-hover"),s.setHovered(!1)}})}roundRowTopToBounds(e){const t=this.beans.ctrlsService.getGridBodyCtrl().getScrollFeature().getApproximateVScollPosition(),i=this.applyPaginationOffset(t.top,!0)-100,s=this.applyPaginationOffset(t.bottom,!0)+100;return Math.min(Math.max(i,e),s)}getFrameworkOverrides(){return this.beans.frameworkOverrides}forEachGui(e,t){e?t(e):this.allRowGuis.forEach(t)}onRowHeightChanged(e){if(null==this.rowNode.rowHeight)return;const t=this.rowNode.rowHeight,i=this.beans.environment.getDefaultRowHeight(),s=W(this.gos)?z(this.gos,this.rowNode).height:void 0,o=s?Math.min(i,s)-2+"px":void 0;this.forEachGui(e,(e=>{e.element.style.height=`${t}px`,o&&e.element.style.setProperty("--ag-line-height",o)}))}addEventListener(e,t){super.addEventListener(e,t)}removeEventListener(e,t){super.removeEventListener(e,t)}destroyFirstPass(e=!1){if(this.active=!1,!e&&J(this.gos)&&!this.isSticky()){if(null!=this.rowNode.rowTop){const e=this.roundRowTopToBounds(this.rowNode.rowTop);this.setRowTop(e)}else this.allRowGuis.forEach((e=>e.rowComp.addOrRemoveCssClass("ag-opacity-zero",!0)))}this.rowNode.setHovered(!1);const t=this.createRowEvent("virtualRowRemoved");this.dispatchLocalEvent(t),this.beans.eventService.dispatchEvent(t),super.destroy()}destroySecondPass(){this.allRowGuis.length=0,this.stopEditing();const e=e=>(e.list.forEach((e=>e.destroy())),{list:[],map:{}});this.centerCellCtrls=e(this.centerCellCtrls),this.leftCellCtrls=e(this.leftCellCtrls),this.rightCellCtrls=e(this.rightCellCtrls)}setFocusedClasses(e){this.forEachGui(e,(e=>{e.rowComp.addOrRemoveCssClass("ag-row-focus",this.rowFocused),e.rowComp.addOrRemoveCssClass("ag-row-no-focus",!this.rowFocused)}))}onCellFocusChanged(){const e=this.beans.focusService.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned);e!==this.rowFocused&&(this.rowFocused=e,this.setFocusedClasses()),!e&&this.editingRow&&this.stopEditing(!1)}onPaginationChanged(){var e;const t=(null==(e=this.beans.paginationService)?void 0:e.getCurrentPage())??0;this.paginationPage!==t&&(this.paginationPage=t,this.onTopChanged()),this.refreshFirstAndLastRowStyles()}onTopChanged(){this.setRowTop(this.rowNode.rowTop)}onPaginationPixelOffsetChanged(){this.onTopChanged()}applyPaginationOffset(e,t=!1){if(this.rowNode.isRowPinned()||this.rowNode.sticky)return e;return e+this.beans.pageBoundsService.getPixelOffset()*(t?1:-1)}setRowTop(e){if(!this.printLayout&&P(e)){const t=this.applyPaginationOffset(e),i=`${this.rowNode.isRowPinned()||this.rowNode.sticky?t:this.beans.rowContainerHeightService.getRealPixelPosition(t)}px`;this.setRowTopStyle(i)}}getInitialRowTop(e){return this.suppressRowTransform?this.getInitialRowTopShared(e):void 0}getInitialTransform(e){return this.suppressRowTransform?void 0:`translateY(${this.getInitialRowTopShared(e)})`}getInitialRowTopShared(e){if(this.printLayout)return"";const t=this.rowNode;let i;if(this.isSticky())i=t.stickyRowTop;else{const s=this.slideInAnimation[e]?this.roundRowTopToBounds(t.oldRowTop):t.rowTop,o=this.applyPaginationOffset(s);i=t.isRowPinned()?o:this.beans.rowContainerHeightService.getRealPixelPosition(o)}return i+"px"}setRowTopStyle(e){this.allRowGuis.forEach((t=>this.suppressRowTransform?t.rowComp.setTop(e):t.rowComp.setTransform(`translateY(${e})`)))}getRowNode(){return this.rowNode}getCellCtrl(e){let t=null;return this.getAllCellCtrls().forEach((i=>{i.getColumn()==e&&(t=i)})),null!=t||this.getAllCellCtrls().forEach((i=>{i.getColSpanningList().indexOf(e)>=0&&(t=i)})),t}onRowIndexChanged(){null!=this.rowNode.rowIndex&&(this.onCellFocusChanged(),this.updateRowIndexes(),this.postProcessCss())}getRowIndex(){return this.rowNode.getRowIndexString()}updateRowIndexes(e){var t;const i=this.rowNode.getRowIndexString();if(null===i)return;const s=this.beans.headerNavigationService.getHeaderRowCount()+((null==(t=this.beans.filterManager)?void 0:t.getHeaderRowCount())??0),o=this.rowNode.rowIndex%2==0,n=s+this.rowNode.rowIndex+1;this.forEachGui(e,(e=>{e.rowComp.setRowIndex(i),e.rowComp.addOrRemoveCssClass("ag-row-even",o),e.rowComp.addOrRemoveCssClass("ag-row-odd",!o),_t(e.element,"rowindex",n)}))}setStoppingRowEdit(e){this.stoppingRowEdit=e}};wr.DOM_DATA_KEY_ROW_CTRL="renderedRow";var Sr=wr,yr=class extends Oe{wireBeans(e){this.mouseEventService=e.mouseEventService,this.valueService=e.valueService,this.menuService=e.menuService,this.ctrlsService=e.ctrlsService,this.navigationService=e.navigationService,this.focusService=e.focusService,this.undoRedoService=e.undoRedoService,this.visibleColsService=e.visibleColsService,this.rowModel=e.rowModel,this.pinnedRowModel=e.pinnedRowModel,this.rangeService=e.rangeService,this.clipboardService=e.clipboardService}constructor(e){super(),this.element=e}postConstruct(){this.addKeyboardListeners(),this.addMouseListeners(),this.mockContextMenuForIPad()}addKeyboardListeners(){const e="keydown",t=this.processKeyboardEvent.bind(this,e);this.addManagedElementListeners(this.element,{[e]:t})}addMouseListeners(){["dblclick","contextmenu","mouseover","mouseout","click",Ie("touchstart")?"touchstart":"mousedown"].forEach((e=>{const t=this.processMouseEvent.bind(this,e);this.addManagedElementListeners(this.element,{[e]:t})}))}processMouseEvent(e,t){if(!this.mouseEventService.isEventFromThisGrid(t)||Te(t))return;const i=this.getRowForEvent(t),s=this.mouseEventService.getRenderedCellForEvent(t);"contextmenu"===e?this.handleContextMenuMouseEvent(t,void 0,i,s):(s&&s.onMouseEvent(e,t),i&&i.onMouseEvent(e,t))}mockContextMenuForIPad(){if(!zi())return;const e=new os(this.element);this.addManagedListeners(e,{longTap:e=>{const t=this.getRowForEvent(e.touchEvent),i=this.mouseEventService.getRenderedCellForEvent(e.touchEvent);this.handleContextMenuMouseEvent(void 0,e.touchEvent,t,i)}}),this.addDestroyFunc((()=>e.destroy()))}getRowForEvent(e){let t=e.target;for(;t;){const e=_(this.gos,t,Sr.DOM_DATA_KEY_ROW_CTRL);if(e)return e;t=t.parentElement}return null}handleContextMenuMouseEvent(e,t,i,s){const o=i?i.getRowNode():null,n=s?s.getColumn():null;let r=null;if(n){const i=e||t;s.dispatchCellContextMenuEvent(i??null),r=this.valueService.getValue(n,o)}const l=this.ctrlsService.getGridBodyCtrl(),a=s?s.getGui():l.getGridBodyElement();this.menuService.showContextMenu({mouseEvent:e,touchEvent:t,rowNode:o,column:n,value:r,anchorToElement:a})}getControlsForEventTarget(e){return{cellCtrl:Le(this.gos,e,Cr.DOM_DATA_KEY_CELL_CTRL),rowCtrl:Le(this.gos,e,Sr.DOM_DATA_KEY_ROW_CTRL)}}processKeyboardEvent(e,t){const{cellCtrl:i,rowCtrl:s}=this.getControlsForEventTarget(t.target);t.defaultPrevented||(i?this.processCellKeyboardEvent(i,e,t):s&&s.isFullWidth()&&this.processFullWidthRowKeyboardEvent(s,e,t))}processCellKeyboardEvent(e,t,i){const s=e.getRowNode(),o=e.getColumn(),n=e.isEditing();if(!No(this.gos,i,s,o,n)&&"keydown"===t){!n&&this.navigationService.handlePageScrollingKey(i)||e.onKeyDown(i),this.doGridOperations(i,e.isEditing()),Go(i)&&e.processCharacter(i)}"keydown"===t&&this.eventService.dispatchEvent(e.createEvent(i,"cellKeyDown"))}processFullWidthRowKeyboardEvent(e,t,i){const s=e.getRowNode(),o=this.focusService.getFocusedCell(),n=o&&o.column;if(!No(this.gos,i,s,n,!1)){const s=i.key;if("keydown"===t)switch(s){case gs.PAGE_HOME:case gs.PAGE_END:case gs.PAGE_UP:case gs.PAGE_DOWN:this.navigationService.handlePageScrollingKey(i,!0);break;case gs.UP:case gs.DOWN:e.onKeyboardNavigate(i);break;case gs.TAB:e.onTabKeyDown(i)}}"keydown"===t&&this.eventService.dispatchEvent(e.createRowEvent("cellKeyDown",i))}doGridOperations(e,t){if(!e.ctrlKey&&!e.metaKey)return;if(t)return;if(!this.mouseEventService.isEventFromThisGrid(e))return;const i=function(e){const{keyCode:t}=e;let i;switch(t){case 65:i=gs.A;break;case 67:i=gs.C;break;case 86:i=gs.V;break;case 68:i=gs.D;break;case 90:i=gs.Z;break;case 89:i=gs.Y;break;default:i=e.code}return i}(e);return i===gs.A?this.onCtrlAndA(e):i===gs.C?this.onCtrlAndC(e):i===gs.D?this.onCtrlAndD(e):i===gs.V?this.onCtrlAndV(e):i===gs.X?this.onCtrlAndX(e):i===gs.Y?this.onCtrlAndY():i===gs.Z?this.onCtrlAndZ(e):void 0}onCtrlAndA(e){const{pinnedRowModel:t,rowModel:i,rangeService:s}=this;if(s&&i.isRowsToRender()){const[e,o]=[t.isEmpty("top"),t.isEmpty("bottom")],n=e?null:"top";let r,l;o?(r=null,l=i.getRowCount()-1):(r="bottom",l=t.getPinnedBottomRowCount()-1);const a=this.visibleColsService.getAllCols();if(E(a))return;s.setCellRange({rowStartIndex:0,rowStartPinned:n,rowEndIndex:l,rowEndPinned:r,columnStart:a[0],columnEnd:we(a)})}e.preventDefault()}onCtrlAndC(e){if(!this.clipboardService||this.gos.get("enableCellTextSelection"))return;const{cellCtrl:t,rowCtrl:i}=this.getControlsForEventTarget(e.target);(null==t?void 0:t.isEditing())||(null==i?void 0:i.isEditing())||(e.preventDefault(),this.clipboardService.copyToClipboard())}onCtrlAndX(e){if(!this.clipboardService||this.gos.get("enableCellTextSelection")||this.gos.get("suppressCutToClipboard"))return;const{cellCtrl:t,rowCtrl:i}=this.getControlsForEventTarget(e.target);(null==t?void 0:t.isEditing())||(null==i?void 0:i.isEditing())||(e.preventDefault(),this.clipboardService.cutToClipboard(void 0,"ui"))}onCtrlAndV(e){const{cellCtrl:t,rowCtrl:i}=this.getControlsForEventTarget(e.target);(null==t?void 0:t.isEditing())||(null==i?void 0:i.isEditing())||this.clipboardService&&!this.gos.get("suppressClipboardPaste")&&this.clipboardService.pasteFromClipboard()}onCtrlAndD(e){this.clipboardService&&!this.gos.get("suppressClipboardPaste")&&this.clipboardService.copyRangeDown(),e.preventDefault()}onCtrlAndZ(e){this.gos.get("undoRedoCellEditing")&&this.undoRedoService&&(e.preventDefault(),e.shiftKey?this.undoRedoService.redo("ui"):this.undoRedoService.undo("ui"))}onCtrlAndY(){var e;null==(e=this.undoRedoService)||e.redo("ui")}},br=class extends Oe{wireBeans(e){this.pinnedWidthService=e.pinnedWidthService}constructor(e){super(),this.element=e}postConstruct(){this.addManagedEventListeners({leftPinnedWidthChanged:this.onPinnedLeftWidthChanged.bind(this)})}onPinnedLeftWidthChanged(){const e=this.pinnedWidthService.getPinnedLeftWidth(),t=e>0;ni(this.element,t),bi(this.element,e)}getWidth(){return this.pinnedWidthService.getPinnedLeftWidth()}},Rr=class extends Oe{wireBeans(e){this.pinnedWidthService=e.pinnedWidthService}constructor(e){super(),this.element=e}postConstruct(){this.addManagedEventListeners({rightPinnedWidthChanged:this.onPinnedRightWidthChanged.bind(this)})}onPinnedRightWidthChanged(){const e=this.pinnedWidthService.getPinnedRightWidth(),t=e>0;ni(this.element,t),bi(this.element,e)}getWidth(){return this.pinnedWidthService.getPinnedRightWidth()}},Fr=e=>e.getTopRowCtrls(),Pr=e=>e.getStickyTopRowCtrls(),Dr=e=>e.getStickyBottomRowCtrls(),Er=e=>e.getBottomRowCtrls(),Mr=e=>e.getCentreRowCtrls(),xr={center:{type:"center",container:"ag-center-cols-container",viewport:"ag-center-cols-viewport",getRowCtrls:Mr},left:{type:"left",container:"ag-pinned-left-cols-container",pinnedType:"left",getRowCtrls:Mr},right:{type:"right",container:"ag-pinned-right-cols-container",pinnedType:"right",getRowCtrls:Mr},fullWidth:{type:"fullWidth",container:"ag-full-width-container",fullWidth:!0,getRowCtrls:Mr},topCenter:{type:"center",container:"ag-floating-top-container",viewport:"ag-floating-top-viewport",getRowCtrls:Fr},topLeft:{type:"left",container:"ag-pinned-left-floating-top",pinnedType:"left",getRowCtrls:Fr},topRight:{type:"right",container:"ag-pinned-right-floating-top",pinnedType:"right",getRowCtrls:Fr},topFullWidth:{type:"fullWidth",container:"ag-floating-top-full-width-container",fullWidth:!0,getRowCtrls:Fr},stickyTopCenter:{type:"center",container:"ag-sticky-top-container",viewport:"ag-sticky-top-viewport",getRowCtrls:Pr},stickyTopLeft:{type:"left",container:"ag-pinned-left-sticky-top",pinnedType:"left",getRowCtrls:Pr},stickyTopRight:{type:"right",container:"ag-pinned-right-sticky-top",pinnedType:"right",getRowCtrls:Pr},stickyTopFullWidth:{type:"fullWidth",container:"ag-sticky-top-full-width-container",fullWidth:!0,getRowCtrls:Pr},stickyBottomCenter:{type:"center",container:"ag-sticky-bottom-container",viewport:"ag-sticky-bottom-viewport",getRowCtrls:Dr},stickyBottomLeft:{type:"left",container:"ag-pinned-left-sticky-bottom",pinnedType:"left",getRowCtrls:Dr},stickyBottomRight:{type:"right",container:"ag-pinned-right-sticky-bottom",pinnedType:"right",getRowCtrls:Dr},stickyBottomFullWidth:{type:"fullWidth",container:"ag-sticky-bottom-full-width-container",fullWidth:!0,getRowCtrls:Dr},bottomCenter:{type:"center",container:"ag-floating-bottom-container",viewport:"ag-floating-bottom-viewport",getRowCtrls:Er},bottomLeft:{type:"left",container:"ag-pinned-left-floating-bottom",pinnedType:"left",getRowCtrls:Er},bottomRight:{type:"right",container:"ag-pinned-right-floating-bottom",pinnedType:"right",getRowCtrls:Er},bottomFullWidth:{type:"fullWidth",container:"ag-floating-bottom-full-width-container",fullWidth:!0,getRowCtrls:Er}};function Ar(e){return xr[e]}var Tr=["center","left","right","fullWidth"],Ir=["stickyTopCenter","stickyBottomCenter","center","topCenter","bottomCenter"],Lr=["left","bottomLeft","topLeft","stickyTopLeft","stickyBottomLeft"],kr=["right","bottomRight","topRight","stickyTopRight","stickyBottomRight"],Or=["stickyTopCenter","stickyTopLeft","stickyTopRight"],Gr=["stickyBottomCenter","stickyBottomLeft","stickyBottomRight"],Nr=[...Or,"stickyTopFullWidth",...Gr,"stickyBottomFullWidth"],Hr=["topCenter","topLeft","topRight","bottomCenter","bottomLeft","bottomRight","center","left","right",...Or,...Gr],Br=class extends Oe{constructor(e){super(),this.visible=!0,this.EMPTY_CTRLS=[],this.name=e,this.options=Ar(e)}wireBeans(e){this.dragService=e.dragService,this.ctrlsService=e.ctrlsService,this.columnViewportService=e.columnViewportService,this.resizeObserverService=e.resizeObserverService,this.rowRenderer=e.rowRenderer}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.forContainers(["center"],(()=>{this.viewportSizeFeature=this.createManagedBean(new nr(this)),this.addManagedEventListeners({stickyTopOffsetChanged:this.onStickyTopOffsetChanged.bind(this)})}))}onStickyTopOffsetChanged(e){this.comp.setOffsetTop(`${e.offset}px`)}registerWithCtrlsService(){this.options.fullWidth||this.ctrlsService.register(this.name,this)}forContainers(e,t){e.indexOf(this.name)>=0&&t()}getContainerElement(){return this.eContainer}getViewportSizeFeature(){return this.viewportSizeFeature}setComp(e,t,i){this.comp=e,this.eContainer=t,this.eViewport=i,this.createManagedBean(new yr(this.eContainer)),this.addPreventScrollWhileDragging(),this.listenOnDomOrder();const s=()=>this.onPinnedWidthChanged();this.forContainers(Lr,(()=>{this.pinnedWidthFeature=this.createManagedBean(new br(this.eContainer)),this.addManagedEventListeners({leftPinnedWidthChanged:s})})),this.forContainers(kr,(()=>{this.pinnedWidthFeature=this.createManagedBean(new Rr(this.eContainer)),this.addManagedEventListeners({rightPinnedWidthChanged:s})})),this.forContainers(Tr,(()=>this.createManagedBean(new tr(this.eContainer,"center"===this.name?i:void 0)))),this.forContainers(Hr,(()=>this.createManagedBean(new rr(this.eContainer)))),this.forContainers(Ir,(()=>this.createManagedBean(new Ln((e=>this.comp.setContainerWidth(`${e}px`)))))),this.visible=this.isContainerVisible(),this.addListeners(),this.registerWithCtrlsService()}onScrollCallback(e){this.addManagedElementListeners(this.getViewportElement(),{scroll:e})}addListeners(){this.addManagedEventListeners({displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this),displayedRowsChanged:e=>this.onDisplayedRowsChanged(e.afterScroll)}),this.onDisplayedColumnsChanged(),this.onDisplayedColumnsWidthChanged(),this.onDisplayedRowsChanged()}listenOnDomOrder(){if(Nr.indexOf(this.name)>=0)return void this.comp.setDomOrder(!0);const e=()=>{const e=this.gos.get("ensureDomOrder"),t=H(this.gos,"print");this.comp.setDomOrder(e||t)};this.addManagedPropertyListener("domLayout",e),e()}onDisplayedColumnsChanged(){this.forContainers(["center"],(()=>this.onHorizontalViewportChanged()))}onDisplayedColumnsWidthChanged(){this.forContainers(["center"],(()=>this.onHorizontalViewportChanged()))}addPreventScrollWhileDragging(){const e=e=>{this.dragService.isDragging()&&e.cancelable&&e.preventDefault()};this.eContainer.addEventListener("touchmove",e,{passive:!1}),this.addDestroyFunc((()=>this.eContainer.removeEventListener("touchmove",e)))}onHorizontalViewportChanged(e=!1){const t=this.getCenterWidth(),i=this.getCenterViewportScrollLeft();this.columnViewportService.setScrollPosition(t,i,e)}hasHorizontalScrollGap(){return this.eContainer.clientWidth-this.eViewport.clientWidth<0}hasVerticalScrollGap(){return this.eContainer.clientHeight-this.eViewport.clientHeight<0}getCenterWidth(){return hi(this.eViewport)}getCenterViewportScrollLeft(){return pi(this.eViewport,this.enableRtl)}registerViewportResizeListener(e){const t=this.resizeObserverService.observeResize(this.eViewport,e);this.addDestroyFunc((()=>t()))}isViewportInTheDOMTree(){return fi(this.eViewport)}getViewportScrollLeft(){return pi(this.eViewport,this.enableRtl)}isHorizontalScrollShowing(){return this.gos.get("alwaysShowHorizontalScroll")||(e=this.eViewport).clientWidth<e.scrollWidth;var e}getViewportElement(){return this.eViewport}setHorizontalScroll(e){this.comp.setHorizontalScroll(e)}getHScrollPosition(){return{left:this.eViewport.scrollLeft,right:this.eViewport.scrollLeft+this.eViewport.offsetWidth}}setCenterViewportScrollLeft(e){mi(this.eViewport,e,this.enableRtl)}isContainerVisible(){return!(null!=this.options.pinnedType)||!!this.pinnedWidthFeature&&this.pinnedWidthFeature.getWidth()>0}onPinnedWidthChanged(){const e=this.isContainerVisible();this.visible!=e&&(this.visible=e,this.onDisplayedRowsChanged())}onDisplayedRowsChanged(e=!1){const t=this.options.getRowCtrls(this.rowRenderer);if(!this.visible||0===t.length)return void this.comp.setRowCtrls({rowCtrls:this.EMPTY_CTRLS});const i=H(this.gos,"print"),s=this.gos.get("embedFullWidthRows")||i,o=t.filter((e=>{const t=e.isFullWidth();return this.options.fullWidth?!s&&t:s||!t}));this.comp.setRowCtrls({rowCtrls:o,useFlushSync:e})}},Vr=class extends Oe{constructor(){super(...arguments),this.stickyTopHeight=0,this.stickyBottomHeight=0}wireBeans(e){this.animationFrameService=e.animationFrameService,this.rowContainerHeightService=e.rowContainerHeightService,this.ctrlsService=e.ctrlsService,this.columnModel=e.columnModel,this.columnSizeService=e.columnSizeService,this.scrollVisibleService=e.scrollVisibleService,this.menuService=e.menuService,this.headerNavigationService=e.headerNavigationService,this.dragAndDropService=e.dragAndDropService,this.pinnedRowModel=e.pinnedRowModel,this.rowRenderer=e.rowRenderer,this.popupService=e.popupService,this.mouseEventService=e.mouseEventService,this.rowModel=e.rowModel,this.filterManager=e.filterManager,this.environment=e.environment}getScrollFeature(){return this.bodyScrollFeature}getBodyViewportElement(){return this.eBodyViewport}setComp(e,t,i,s,o,n,r){var l;this.comp=e,this.eGridBody=t,this.eBodyViewport=i,this.eTop=s,this.eBottom=o,this.eStickyTop=n,this.eStickyBottom=r,this.eCenterColsViewport=i.querySelector(`.${Ar("center").viewport}`),this.eFullWidthContainer=i.querySelector(`.${Ar("fullWidth").container}`),this.eStickyTopFullWidthContainer=n.querySelector(`.${Ar("stickyTopFullWidth").container}`),this.eStickyBottomFullWidthContainer=r.querySelector(`.${Ar("stickyBottomFullWidth").container}`),this.setCellTextSelection(this.gos.get("enableCellTextSelection")),this.addManagedPropertyListener("enableCellTextSelection",(e=>this.setCellTextSelection(e.currentValue))),this.createManagedBean(new Xn(this.comp)),this.bodyScrollFeature=this.createManagedBean(new or(this.eBodyViewport)),this.addRowDragListener(),this.setupRowAnimationCssClass(),this.addEventListeners(),this.addFocusListeners([s,i,o,n,r]),this.onGridColumnsChanged(),this.addBodyViewportListener(),this.setFloatingHeights(),this.disableBrowserDragging(),this.addStopEditingWhenGridLosesFocus(),this.updateScrollingClasses(),null==(l=this.filterManager)||l.setupAdvancedFilterHeaderComp(s),this.ctrlsService.register("gridBodyCtrl",this)}getComp(){return this.comp}addEventListeners(){const e=this.setFloatingHeights.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this),scrollGapChanged:this.onScrollGapChanged.bind(this),pinnedRowDataChanged:e,pinnedHeightChanged:e,headerHeightChanged:this.onHeaderHeightChanged.bind(this)})}addFocusListeners(e){e.forEach((e=>{this.addManagedElementListeners(e,{focusin:t=>{const{target:i}=t,s=li(i,"ag-root",e);e.classList.toggle("ag-has-focus",!s)},focusout:t=>{const{target:i,relatedTarget:s}=t,o=e.contains(s),n=li(s,"ag-root",e);li(i,"ag-root",e)||o&&!n||e.classList.remove("ag-has-focus")}})}))}setColumnMovingCss(e){this.comp.setColumnMovingCss("ag-column-moving",e)}setCellTextSelection(e=!1){this.comp.setCellSelectableCss("ag-selectable",e)}onScrollVisibilityChanged(){const e=this.scrollVisibleService.isVerticalScrollShowing();this.setVerticalScrollPaddingVisible(e),this.setStickyWidth(e),this.setStickyBottomOffsetBottom();const t=`calc(100% + ${(e&&this.scrollVisibleService.getScrollbarWidth()||0)+($i()?16:0)}px)`;this.animationFrameService.requestAnimationFrame((()=>this.comp.setBodyViewportWidth(t))),this.updateScrollingClasses()}onScrollGapChanged(){this.updateScrollingClasses()}updateScrollingClasses(){this.eGridBody.classList.toggle("ag-body-vertical-content-no-gap",!this.scrollVisibleService.hasVerticalScrollGap()),this.eGridBody.classList.toggle("ag-body-horizontal-content-no-gap",!this.scrollVisibleService.hasHorizontalScrollGap())}onGridColumnsChanged(){const e=this.columnModel.getCols();this.comp.setColumnCount(e.length)}disableBrowserDragging(){this.addManagedElementListeners(this.eGridBody,{dragstart:e=>{if(e.target instanceof HTMLImageElement)return e.preventDefault(),!1}})}addStopEditingWhenGridLosesFocus(){if(!this.gos.get("stopEditingWhenCellsLoseFocus"))return;const e=e=>{const i=e.relatedTarget;if(null===Ki(i))return void this.rowRenderer.stopEditing();let s=t.some((e=>e.contains(i)))&&this.mouseEventService.isElementInThisGrid(i);if(!s){const e=this.popupService;s=e.getActivePopups().some((e=>e.contains(i)))||e.isElementWithinCustomPopup(i)}s||this.rowRenderer.stopEditing()},t=[this.eBodyViewport,this.eBottom,this.eTop,this.eStickyTop,this.eStickyBottom];t.forEach((t=>this.addManagedElementListeners(t,{focusout:e})))}updateRowCount(){var e;const t=this.headerNavigationService.getHeaderRowCount()+((null==(e=this.filterManager)?void 0:e.getHeaderRowCount())??0),i=this.rowModel.isLastRowIndexKnown()?this.rowModel.getRowCount():-1,s=-1===i?-1:t+i;this.comp.setRowCount(s)}registerBodyViewportResizeListener(e){this.comp.registerBodyViewportResizeListener(e)}setVerticalScrollPaddingVisible(e){const t=e?"scroll":"hidden";this.comp.setPinnedTopBottomOverflowY(t)}isVerticalScrollShowing(){const e=this.gos.get("alwaysShowVerticalScroll"),t=e?"ag-force-vertical-scroll":null,i=H(this.gos,"normal");return this.comp.setAlwaysVerticalScrollClass(t,e),e||i&&(s=this.eBodyViewport).clientHeight<s.scrollHeight;var s}setupRowAnimationCssClass(){let e=this.environment.hasMeasuredSizes();const t=()=>{const t=e&&J(this.gos)&&!this.rowContainerHeightService.isStretching(),i=t?"ag-row-animation":"ag-row-no-animation";this.comp.setRowAnimationCssOnBodyViewport(i,t)};t(),this.addManagedEventListeners({heightScaleChanged:t}),this.addManagedPropertyListener("animateRows",t),this.addManagedEventListeners({gridStylesChanged:()=>{!e&&this.environment.hasMeasuredSizes()&&(e=!0,t())}})}getGridBodyElement(){return this.eGridBody}addBodyViewportListener(){const e=this.onBodyViewportContextMenu.bind(this);this.addManagedElementListeners(this.eBodyViewport,{contextmenu:e}),this.mockContextMenuForIPad(e),this.addManagedElementListeners(this.eBodyViewport,{wheel:this.onBodyViewportWheel.bind(this)}),this.addManagedElementListeners(this.eStickyTop,{wheel:this.onStickyWheel.bind(this)}),this.addManagedElementListeners(this.eStickyBottom,{wheel:this.onStickyWheel.bind(this)}),this.addFullWidthContainerWheelListener()}addFullWidthContainerWheelListener(){this.addManagedElementListeners(this.eFullWidthContainer,{wheel:e=>this.onFullWidthContainerWheel(e)})}onFullWidthContainerWheel(e){const{deltaX:t,deltaY:i,shiftKey:s}=e;(s||Math.abs(t)>Math.abs(i))&&this.mouseEventService.isEventFromThisGrid(e)&&this.scrollGridBodyToMatchEvent(e)}onStickyWheel(e){const{deltaX:t,deltaY:i,shiftKey:s}=e,o=s||Math.abs(t)>Math.abs(i),n=e.target;o?(this.eStickyTopFullWidthContainer.contains(n)||this.eStickyBottomFullWidthContainer.contains(n))&&this.scrollGridBodyToMatchEvent(e):(e.preventDefault(),this.scrollVertically(i))}scrollGridBodyToMatchEvent(e){const{deltaX:t,deltaY:i}=e;e.preventDefault(),this.eCenterColsViewport.scrollBy({left:t||i})}onBodyViewportContextMenu(e,t,i){if(!e&&!i)return;if(this.gos.get("preventDefaultOnContextMenu")){(e||i).preventDefault()}const{target:s}=e||t;s!==this.eBodyViewport&&s!==this.ctrlsService.get("center").getViewportElement()||this.menuService.showContextMenu({mouseEvent:e,touchEvent:i,value:null,anchorToElement:this.eGridBody})}mockContextMenuForIPad(e){if(!zi())return;const t=new os(this.eBodyViewport);this.addManagedListeners(t,{longTap:t=>{e(void 0,t.touchStart,t.touchEvent)}}),this.addDestroyFunc((()=>t.destroy()))}onBodyViewportWheel(e){this.gos.get("suppressScrollWhenPopupsAreOpen")&&this.popupService.hasAnchoredPopup()&&e.preventDefault()}getGui(){return this.eGridBody}scrollVertically(e){const t=this.eBodyViewport.scrollTop;return this.bodyScrollFeature.setVerticalScrollPosition(t+e),this.eBodyViewport.scrollTop-t}addRowDragListener(){this.rowDragFeature=this.createManagedBean(new lo(this.eBodyViewport)),this.dragAndDropService.addDropTarget(this.rowDragFeature),this.addDestroyFunc((()=>this.dragAndDropService.removeDropTarget(this.rowDragFeature)))}getRowDragFeature(){return this.rowDragFeature}setFloatingHeights(){const{pinnedRowModel:e}=this,t=e.getPinnedTopTotalHeight(),i=e.getPinnedBottomTotalHeight();this.comp.setTopHeight(t),this.comp.setBottomHeight(i),this.comp.setTopDisplay(t?"inherit":"none"),this.comp.setBottomDisplay(i?"inherit":"none"),this.setStickyTopOffsetTop(),this.setStickyBottomOffsetBottom()}setStickyTopHeight(e=0){this.comp.setStickyTopHeight(`${e}px`),this.stickyTopHeight=e}getStickyTopHeight(){return this.stickyTopHeight}setStickyBottomHeight(e=0){this.comp.setStickyBottomHeight(`${e}px`),this.stickyBottomHeight=e}getStickyBottomHeight(){return this.stickyBottomHeight}setStickyWidth(e){if(e){const e=this.scrollVisibleService.getScrollbarWidth();this.comp.setStickyTopWidth(`calc(100% - ${e}px)`),this.comp.setStickyBottomWidth(`calc(100% - ${e}px)`)}else this.comp.setStickyTopWidth("100%"),this.comp.setStickyBottomWidth("100%")}onHeaderHeightChanged(){this.setStickyTopOffsetTop()}setStickyTopOffsetTop(){var e;const t=this.ctrlsService.get("gridHeaderCtrl").getHeaderHeight()+((null==(e=this.filterManager)?void 0:e.getHeaderHeight())??0),i=this.pinnedRowModel.getPinnedTopTotalHeight();let s=0;t>0&&(s+=t),i>0&&(s+=i),s>0&&(s+=1),this.comp.setStickyTopTop(`${s}px`)}setStickyBottomOffsetBottom(){const e=this.pinnedRowModel.getPinnedBottomTotalHeight()+(this.scrollVisibleService.isHorizontalScrollShowing()&&this.scrollVisibleService.getScrollbarWidth()||0);this.comp.setStickyBottomBottom(`${e}px`)}sizeColumnsToFit(e,t){const i=this.isVerticalScrollShowing()?this.scrollVisibleService.getScrollbarWidth():0,s=hi(this.eGridBody)-i;s>0?this.columnSizeService.sizeColumnsToFit(s,"sizeColumnsToFit",!1,e):void 0===t?window.setTimeout((()=>{this.sizeColumnsToFit(e,100)}),0):100===t?window.setTimeout((()=>{this.sizeColumnsToFit(e,500)}),100):500===t?window.setTimeout((()=>{this.sizeColumnsToFit(e,-1)}),500):m("tried to call sizeColumnsToFit() but the grid is coming back with zero width, maybe the grid is not visible yet on the screen?")}addScrollEventListener(e){this.eBodyViewport.addEventListener("scroll",e,{passive:!0})}removeScrollEventListener(e){this.eBodyViewport.removeEventListener("scroll",e)}};function Wr(e){return e.map((e=>`<ag-row-container name="${e}"></ag-row-container>`)).join("")}Wr(["topLeft","topCenter","topRight","topFullWidth"]),Wr(["left","center","right","fullWidth"]),Wr(["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"]),Wr(["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"]),Wr(["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"]);var zr=class extends Oe{constructor(){super(...arguments),this.beanName="scrollVisibleService"}wireBeans(e){this.ctrlsService=e.ctrlsService,this.columnAnimationService=e.columnAnimationService}postConstruct(){this.getScrollbarWidth(),this.addManagedEventListeners({displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this)})}onDisplayedColumnsChanged(){this.updateScrollVisible()}onDisplayedColumnsWidthChanged(){this.updateScrollVisible()}onCentreViewportResized(){this.updateScrollGap()}updateScrollVisible(){this.columnAnimationService.isActive()?this.columnAnimationService.executeLaterVMTurn((()=>{this.columnAnimationService.executeLaterVMTurn((()=>this.updateScrollVisibleImpl()))})):this.updateScrollVisibleImpl()}updateScrollVisibleImpl(){const e=this.ctrlsService.get("center");if(!e||this.columnAnimationService.isActive())return;const t={horizontalScrollShowing:e.isHorizontalScrollShowing(),verticalScrollShowing:this.isVerticalScrollShowing()};this.setScrollsVisible(t),this.updateScrollGap()}updateScrollGap(){const e=this.ctrlsService.get("center"),t=e.hasHorizontalScrollGap(),i=e.hasVerticalScrollGap();(this.horizontalScrollGap!==t||this.verticalScrollGap!==i)&&(this.horizontalScrollGap=t,this.verticalScrollGap=i,this.eventService.dispatchEvent({type:"scrollGapChanged"}))}setScrollsVisible(e){(this.horizontalScrollShowing!==e.horizontalScrollShowing||this.verticalScrollShowing!==e.verticalScrollShowing)&&(this.horizontalScrollShowing=e.horizontalScrollShowing,this.verticalScrollShowing=e.verticalScrollShowing,this.eventService.dispatchEvent({type:"scrollVisibilityChanged"}))}isHorizontalScrollShowing(){return this.horizontalScrollShowing}isVerticalScrollShowing(){return this.verticalScrollShowing}hasHorizontalScrollGap(){return this.horizontalScrollGap}hasVerticalScrollGap(){return this.verticalScrollGap}getScrollbarWidth(){if(null==this.scrollbarWidth){const e=this.gos.get("scrollbarWidth"),t="number"==typeof e&&e>=0?e:(null==Oi&&_i(),Oi);null!=t&&(this.scrollbarWidth=t,this.eventService.dispatchEvent({type:"scrollbarWidthChanged"}))}return this.scrollbarWidth}},Ur="__ag_grid_instance",Kr=class e extends Oe{constructor(){super(...arguments),this.beanName="mouseEventService",this.gridInstanceId=e.gridInstanceSequence.next()}wireBeans(e){this.ctrlsService=e.ctrlsService}stampTopLevelGridCompWithGridInstance(e){e[Ur]=this.gridInstanceId}getRenderedCellForEvent(e){return Le(this.gos,e.target,Cr.DOM_DATA_KEY_CELL_CTRL)}isEventFromThisGrid(e){return this.isElementInThisGrid(e.target)}isElementInThisGrid(e){let t=e;for(;t;){const e=t[Ur];if(P(e)){return e===this.gridInstanceId}t=t.parentElement}return!1}getCellPositionForEvent(e){const t=this.getRenderedCellForEvent(e);return t?t.getCellPosition():null}getNormalisedPosition(e){const t=H(this.gos,"normal"),i=e;let s,o;if(null!=i.clientX||null!=i.clientY?(s=i.clientX,o=i.clientY):(s=i.x,o=i.y),t){const e=this.ctrlsService.getGridBodyCtrl(),t=e.getScrollFeature().getVScrollPosition();s+=e.getScrollFeature().getHScrollPosition().left,o+=t.top}return{x:s,y:o}}};Kr.gridInstanceSequence=new Ni;var _r=Kr,$r=class extends Oe{constructor(){super(),this.beanName="navigationService",this.onPageDown=R(this.onPageDown,100),this.onPageUp=R(this.onPageUp,100)}wireBeans(e){this.mouseEventService=e.mouseEventService,this.pageBoundsService=e.pageBoundsService,this.focusService=e.focusService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.rowModel=e.rowModel,this.ctrlsService=e.ctrlsService,this.rowRenderer=e.rowRenderer,this.headerNavigationService=e.headerNavigationService,this.rowPositionUtils=e.rowPositionUtils,this.cellNavigationService=e.cellNavigationService,this.pinnedRowModel=e.pinnedRowModel,this.scrollVisibleService=e.scrollVisibleService,this.rangeService=e.rangeService}postConstruct(){this.ctrlsService.whenReady(this,(e=>{this.gridBodyCon=e.gridBodyCtrl}))}handlePageScrollingKey(e,t=!1){const i=e.key,s=e.altKey,o=e.ctrlKey||e.metaKey,n=!!this.rangeService&&e.shiftKey,r=this.mouseEventService.getCellPositionForEvent(e);let l=!1;switch(i){case gs.PAGE_HOME:case gs.PAGE_END:o||s||(this.onHomeOrEndKey(i),l=!0);break;case gs.LEFT:case gs.RIGHT:case gs.UP:case gs.DOWN:if(!r)return!1;!o||s||n||(this.onCtrlUpDownLeftRight(i,r),l=!0);break;case gs.PAGE_DOWN:case gs.PAGE_UP:o||s||(l=this.handlePageUpDown(i,r,t))}return l&&e.preventDefault(),l}handlePageUpDown(e,t,i){return i&&(t=this.focusService.getFocusedCell()),!!t&&(e===gs.PAGE_UP?this.onPageUp(t):this.onPageDown(t),!0)}navigateTo(e){var t;const{scrollIndex:i,scrollType:s,scrollColumn:o,focusIndex:n,focusColumn:r}=e;P(o)&&!o.isPinned()&&this.gridBodyCon.getScrollFeature().ensureColumnVisible(o),P(i)&&this.gridBodyCon.getScrollFeature().ensureIndexVisible(i,s),e.isAsync||this.gridBodyCon.getScrollFeature().ensureIndexVisible(n),this.focusService.setFocusedCell({rowIndex:n,column:r,rowPinned:null,forceBrowserFocus:!0}),null==(t=this.rangeService)||t.setRangeToCell({rowIndex:n,rowPinned:null,column:r})}onPageDown(e){const t=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition(),i=this.getViewportHeight(),s=this.pageBoundsService.getPixelOffset(),o=t.top+i,n=this.rowModel.getRowIndexAtPixel(o+s);this.columnModel.isAutoRowHeightActive()?this.navigateToNextPageWithAutoHeight(e,n):this.navigateToNextPage(e,n)}onPageUp(e){const t=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition(),i=this.pageBoundsService.getPixelOffset(),s=t.top,o=this.rowModel.getRowIndexAtPixel(s+i);this.columnModel.isAutoRowHeightActive()?this.navigateToNextPageWithAutoHeight(e,o,!0):this.navigateToNextPage(e,o,!0)}navigateToNextPage(e,t,i=!1){const s=this.getViewportHeight(),o=this.pageBoundsService.getFirstRow(),n=this.pageBoundsService.getLastRow(),r=this.pageBoundsService.getPixelOffset(),l=this.rowModel.getRow(e.rowIndex),a=i?(null==l?void 0:l.rowHeight)-s-r:s-r,d=(null==l?void 0:l.rowTop)+a;let h,u=this.rowModel.getRowIndexAtPixel(d+r);if(u===e.rowIndex){const s=i?-1:1;t=u=e.rowIndex+s}i?(h="bottom",u<o&&(u=o),t<o&&(t=o)):(h="top",u>n&&(u=n),t>n&&(t=n)),this.isRowTallerThanView(u)&&(t=u,h="top"),this.navigateTo({scrollIndex:t,scrollType:h,scrollColumn:null,focusIndex:u,focusColumn:e.column})}navigateToNextPageWithAutoHeight(e,t,i=!1){this.navigateTo({scrollIndex:t,scrollType:i?"bottom":"top",scrollColumn:null,focusIndex:t,focusColumn:e.column}),setTimeout((()=>{const s=this.getNextFocusIndexForAutoHeight(e,i);this.navigateTo({scrollIndex:t,scrollType:i?"bottom":"top",scrollColumn:null,focusIndex:s,focusColumn:e.column,isAsync:!0})}),50)}getNextFocusIndexForAutoHeight(e,t=!1){const i=t?-1:1,s=this.getViewportHeight(),o=this.pageBoundsService.getLastRow();let n=0,r=e.rowIndex;for(;r>=0&&r<=o;){const e=this.rowModel.getRow(r);if(e){const t=e.rowHeight??0;if(n+t>s)break;n+=t}r+=i}return Math.max(0,Math.min(r,o))}getViewportHeight(){const e=this.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition(),t=this.scrollVisibleService.getScrollbarWidth();let i=e.bottom-e.top;return this.ctrlsService.get("center").isHorizontalScrollShowing()&&(i-=t),i}isRowTallerThanView(e){const t=this.rowModel.getRow(e);if(!t)return!1;const i=t.rowHeight;return"number"==typeof i&&i>this.getViewportHeight()}onCtrlUpDownLeftRight(e,t){const i=this.cellNavigationService.getNextCellToFocus(e,t,!0),{rowIndex:s}=i,o=i.column;this.navigateTo({scrollIndex:s,scrollType:null,scrollColumn:o,focusIndex:s,focusColumn:o})}onHomeOrEndKey(e){const t=e===gs.PAGE_HOME,i=this.visibleColsService.getAllCols(),s=t?i[0]:we(i),o=t?this.pageBoundsService.getFirstRow():this.pageBoundsService.getLastRow();this.navigateTo({scrollIndex:o,scrollType:null,scrollColumn:s,focusIndex:o,focusColumn:s})}onTabKeyDown(e,t){const i=t.shiftKey,s=this.tabToNextCellCommon(e,i,t);if(!1===s)if(i){const{rowIndex:i,rowPinned:s}=e.getRowPosition();(s?0===i:i===this.pageBoundsService.getFirstRow())&&(0===this.gos.get("headerHeight")||this.focusService.isHeaderFocusSuppressed()?this.focusService.focusNextGridCoreContainer(!0,!0):(t.preventDefault(),this.focusService.focusPreviousFromFirstCell(t)))}else e instanceof Cr&&e.focusCell(!0),(!i&&this.focusService.focusOverlay(!1)||this.focusService.focusNextGridCoreContainer(i))&&t.preventDefault();else s?t.preventDefault():null===s&&this.focusService.allowFocusForNextGridCoreContainer(i)}tabToNextCell(e,t){const i=this.focusService.getFocusedCell();if(!i)return!1;let s=this.getCellByPosition(i);return!!(s||(s=this.rowRenderer.getRowByPosition(i),s&&s.isFullWidth()))&&!!this.tabToNextCellCommon(s,e,t)}tabToNextCellCommon(e,t,i){let s,o=e.isEditing();if(!o&&e instanceof Cr){const t=e.getRowCtrl();t&&(o=t.isEditing())}return s=o?"fullRow"===this.gos.get("editType")?this.moveToNextEditingRow(e,t,i):this.moveToNextEditingCell(e,t,i):this.moveToNextCellNotEditing(e,t),null===s?s:s||!!this.focusService.getFocusedHeader()}moveToNextEditingCell(e,t,i=null){const s=e.getCellPosition();e.getGui().focus(),e.stopEditing();const o=this.findNextCellToFocusOn(s,t,!0);return!1===o?null:null!=o&&(o.startEditing(null,!0,i),o.focusCell(!1),!0)}moveToNextEditingRow(e,t,i=null){const s=e.getCellPosition(),o=this.findNextCellToFocusOn(s,t,!0);if(!1===o)return null;if(null==o)return!1;const n=o.getCellPosition(),r=this.isCellEditable(s),l=this.isCellEditable(n),a=n&&s.rowIndex===n.rowIndex&&s.rowPinned===n.rowPinned;if(r&&e.setFocusOutOnEditor(),!a){e.getRowCtrl().stopEditing();o.getRowCtrl().startRowEditing(void 0,void 0,i)}return l?(o.setFocusInOnEditor(),o.focusCell()):o.focusCell(!0),!0}moveToNextCellNotEditing(e,t){const i=this.visibleColsService.getAllCols();let s;s=e instanceof Sr?{...e.getRowPosition(),column:t?i[0]:we(i)}:e.getCellPosition();const o=this.findNextCellToFocusOn(s,t,!1);if(!1===o)return null;if(o instanceof Cr)o.focusCell(!0);else if(o)return this.tryToFocusFullWidthRow(o.getRowPosition(),t);return P(o)}findNextCellToFocusOn(e,t,i){var s;let o=e;for(;;){e!==o&&(e=o),t||(o=this.getLastCellOfColSpan(o)),o=this.cellNavigationService.getNextTabbedCell(o,t);const n=this.gos.getCallback("tabToNextCell");if(P(n)){const s=n({backwards:t,editing:i,previousCellPosition:e,nextCellPosition:o||null});if(!0===s||null===s)null===s&&m("Returning `null` from tabToNextCell is deprecated. Return `true` to stay on the current cell, or `false` to let the browser handle the tab behaviour."),o=e;else{if(!1===s)return!1;o={rowIndex:s.rowIndex,column:s.column,rowPinned:s.rowPinned}}}if(!o)return null;if(o.rowIndex<0){const e=this.headerNavigationService.getHeaderRowCount();return this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:e+o.rowIndex,column:o.column},fromCell:!0}),null}const r="fullRow"===this.gos.get("editType");if(i&&!r){if(!this.isCellEditable(o))continue}this.ensureCellVisible(o);const l=this.getCellByPosition(o);if(!l){const e=this.rowRenderer.getRowByPosition(o);if(!e||!e.isFullWidth()||i)continue;return e}if(!l.isSuppressNavigable())return null==(s=this.rangeService)||s.setRangeToCell(o),l}}isCellEditable(e){const t=this.lookupRowNodeForCell(e);return!!t&&e.column.isCellEditable(t)}getCellByPosition(e){const t=this.rowRenderer.getRowByPosition(e);return t?t.getCellCtrl(e.column):null}lookupRowNodeForCell(e){return"top"===e.rowPinned?this.pinnedRowModel.getPinnedTopRow(e.rowIndex):"bottom"===e.rowPinned?this.pinnedRowModel.getPinnedBottomRow(e.rowIndex):this.rowModel.getRow(e.rowIndex)}navigateToNextCell(e,t,i,s){let o=i,n=!1;for(;o&&(o===i||!this.isValidNavigateCell(o));)this.gos.get("enableRtl")?t===gs.LEFT&&(o=this.getLastCellOfColSpan(o)):t===gs.RIGHT&&(o=this.getLastCellOfColSpan(o)),o=this.cellNavigationService.getNextCellToFocus(t,o),n=D(o);if(n&&e&&e.key===gs.UP&&(o={rowIndex:-1,rowPinned:null,column:i.column}),s){const s=this.gos.getCallback("navigateToNextCell");if(P(s)){const n=s({key:t,previousCellPosition:i,nextCellPosition:o||null,event:e});o=P(n)?{rowPinned:n.rowPinned,rowIndex:n.rowIndex,column:n.column}:null}}if(!o)return;if(o.rowIndex<0){const t=this.headerNavigationService.getHeaderRowCount();return void this.focusService.focusHeaderPosition({headerPosition:{headerRowIndex:t+o.rowIndex,column:i.column},event:e||void 0,fromCell:!0})}const r=this.getNormalisedPosition(o);r?this.focusPosition(r):this.tryToFocusFullWidthRow(o)}getNormalisedPosition(e){this.ensureCellVisible(e);const t=this.getCellByPosition(e);return t?(e=t.getCellPosition(),this.ensureCellVisible(e),e):null}tryToFocusFullWidthRow(e,t){const i=this.visibleColsService.getAllCols(),s=this.rowRenderer.getRowByPosition(e);if(!s||!s.isFullWidth())return!1;const o=this.focusService.getFocusedCell(),n={rowIndex:e.rowIndex,rowPinned:e.rowPinned,column:e.column||(t?we(i):i[0])};this.focusPosition(n);const r=null==t?null!=o&&this.rowPositionUtils.before(n,o):t;return this.eventService.dispatchEvent({type:"fullWidthRowFocused",rowIndex:n.rowIndex,rowPinned:n.rowPinned,column:n.column,isFullWidthCell:!0,fromBelow:r}),!0}focusPosition(e){var t;this.focusService.setFocusedCell({rowIndex:e.rowIndex,column:e.column,rowPinned:e.rowPinned,forceBrowserFocus:!0}),null==(t=this.rangeService)||t.setRangeToCell(e)}isValidNavigateCell(e){return!!this.rowPositionUtils.getRowNode(e)}getLastCellOfColSpan(e){const t=this.getCellByPosition(e);if(!t)return e;const i=t.getColSpanningList();return 1===i.length?e:{rowIndex:e.rowIndex,column:we(i),rowPinned:e.rowPinned}}ensureCellVisible(e){const t=Z(this.gos),i=this.rowModel.getRow(e.rowIndex);!(t&&(null==i?void 0:i.sticky))&&D(e.rowPinned)&&this.gridBodyCon.getScrollFeature().ensureIndexVisible(e.rowIndex),e.column.isPinned()||this.gridBodyCon.getScrollFeature().ensureColumnVisible(e.column)}},jr=class extends Oe{constructor(){super(...arguments),this.beanName="horizontalResizeService"}wireBeans(e){this.dragService=e.dragService,this.ctrlsService=e.ctrlsService}addResizeBar(e){const t={dragStartPixels:e.dragStartPixels||0,eElement:e.eResizeBar,onDragStart:this.onDragStart.bind(this,e),onDragStop:this.onDragStop.bind(this,e),onDragging:this.onDragging.bind(this,e),onDragCancel:this.onDragStop.bind(this,e),includeTouch:!0,stopPropagationForTouch:!0};this.dragService.addDragSource(t);return()=>this.dragService.removeDragSource(t)}onDragStart(e,t){this.dragStartX=t.clientX,this.setResizeIcons();const i=t instanceof MouseEvent&&!0===t.shiftKey;e.onResizeStart(i)}setResizeIcons(){const e=this.ctrlsService.get("gridCtrl");e.setResizeCursor(!0),e.disableUserSelect(!0)}onDragStop(e){e.onResizeEnd(this.resizeAmount),this.resetIcons()}resetIcons(){const e=this.ctrlsService.get("gridCtrl");e.setResizeCursor(!1),e.disableUserSelect(!1)}onDragging(e,t){this.resizeAmount=t.clientX-this.dragStartX,e.onResizing(this.resizeAmount)}},qr=class extends Oe{constructor(){super(...arguments),this.beanName="filterMenuFactory"}wireBeans(e){this.popupService=e.popupService,this.focusService=e.focusService,this.ctrlsService=e.ctrlsService,this.menuService=e.menuService}hideActiveMenu(){this.hidePopup&&this.hidePopup()}showMenuAfterMouseEvent(e,t,i){this.showPopup(e,(s=>{this.popupService.positionPopupUnderMouseEvent({column:e,type:i,mouseEvent:t,ePopup:s})}),i,t.target,this.menuService.isLegacyMenuEnabled())}showMenuAfterButtonClick(e,t,i){let s=-1,o="left";const n=this.menuService.isLegacyMenuEnabled();!n&&this.gos.get("enableRtl")&&(s=1,o="right");const r=n?void 0:4*s,l=n?void 0:4;this.showPopup(e,(s=>{this.popupService.positionPopupByComponent({type:i,eventSource:t,ePopup:s,nudgeX:r,nudgeY:l,alignSide:o,keepWithinBounds:!0,position:"under",column:e})}),i,t,n)}showPopup(e,t,i,s,o){const n=e?this.createBean(new Co(e,"COLUMN_MENU")):void 0;if(this.activeMenu=n,!(null==n?void 0:n.hasFilter())||!e)throw new Error("AG Grid - unable to show popup filter, filter instantiation failed");const r=document.createElement("div");let l;qt(r,"presentation"),r.classList.add("ag-menu"),o||r.classList.add("ag-filter-menu"),[this.tabListener]=this.addManagedElementListeners(r,{keydown:e=>this.trapFocusWithin(e,r)}),r.appendChild(null==n?void 0:n.getGui());const a=this.menuService.isColumnMenuAnchoringEnabled()?s??this.ctrlsService.getGridBodyCtrl().getGui():void 0,d=this.localeService.getLocaleTextFunc(),h=o&&"columnFilter"!==i?d("ariaLabelColumnMenu","Column Menu"):d("ariaLabelColumnFilter","Column Filter"),u=this.popupService.addPopup({modal:!0,eChild:r,closeOnEsc:!0,closedCallback:t=>{e.setMenuVisible(!1,"contextMenu");const o=t instanceof KeyboardEvent;if(this.tabListener&&(this.tabListener=this.tabListener()),o&&s&&wi(s)){const e=this.focusService.findTabbableParent(s);e&&e.focus()}null==n||n.afterGuiDetached(),this.destroyBean(this.activeMenu),this.dispatchVisibleChangedEvent(!1,i,e)},positionCallback:()=>t(r),anchorToElement:a,ariaLabel:h});u&&(this.hidePopup=l=u.hideFunc),n.afterInit().then((()=>{t(r),n.afterGuiAttached({container:i,hidePopup:l})})),e.setMenuVisible(!0,"contextMenu"),this.dispatchVisibleChangedEvent(!0,i,e)}trapFocusWithin(e,t){e.key!==gs.TAB||e.defaultPrevented||this.focusService.findNextFocusableElement(t,!1,e.shiftKey)||(e.preventDefault(),this.focusService.focusInto(t,e.shiftKey))}dispatchVisibleChangedEvent(e,t,i){this.eventService.dispatchEvent({type:"columnMenuVisibleChanged",visible:e,switchingTab:!1,key:t,column:i??null,columnGroup:null})}isMenuEnabled(e){return e.isFilterAllowed()&&(e.getColDef().menuTabs??["filterMenuTab"]).includes("filterMenuTab")}showMenuAfterContextMenuEvent(){}destroy(){this.destroyBean(this.activeMenu),super.destroy()}},Qr=class extends Oe{constructor(){super(...arguments),this.beanName="resizeObserverService"}observeResize(e,t){const i=q(this.gos).ResizeObserver,s=i?new i(t):null;return null==s||s.observe(e),()=>null==s?void 0:s.disconnect()}},Yr=class extends Oe{constructor(){super(...arguments),this.beanName="animationFrameService",this.createTasksP1={list:[],sorted:!1},this.createTasksP2={list:[],sorted:!1},this.destroyTasks=[],this.ticking=!1,this.scrollGoingDown=!0,this.lastPage=0,this.lastScrollTop=0,this.taskCount=0,this.cancelledTasks=new Set}wireBeans(e){this.ctrlsService=e.ctrlsService,this.paginationService=e.paginationService}setScrollTop(e){var t;const i=this.gos.get("pagination");if(this.scrollGoingDown=e>=this.lastScrollTop,i&&0===e){const e=(null==(t=this.paginationService)?void 0:t.getCurrentPage())??0;e!==this.lastPage&&(this.lastPage=e,this.scrollGoingDown=!0)}this.lastScrollTop=e}postConstruct(){this.useAnimationFrame=!this.gos.get("suppressAnimationFrame")}isOn(){return this.useAnimationFrame}verifyAnimationFrameOn(e){!1===this.useAnimationFrame&&m(`AnimationFrameService.${e} called but animation frames are off`)}createTask(e,t,i){this.verifyAnimationFrameOn(i);const s={task:e,index:t,createOrder:++this.taskCount};this.addTaskToList(this[i],s),this.schedule()}cancelTask(e){this.cancelledTasks.add(e)}addTaskToList(e,t){e.list.push(t),e.sorted=!1}sortTaskList(e){if(e.sorted)return;const t=this.scrollGoingDown?1:-1;e.list.sort(((e,i)=>e.index!==i.index?t*(i.index-e.index):i.createOrder-e.createOrder)),e.sorted=!0}addDestroyTask(e){this.verifyAnimationFrameOn("createTasksP3"),this.destroyTasks.push(e),this.schedule()}executeFrame(e){this.verifyAnimationFrameOn("executeFrame");const t=this.createTasksP1,i=t.list,s=this.createTasksP2,o=s.list,n=this.destroyTasks,r=(new Date).getTime();let l=(new Date).getTime()-r;const a=e<=0,d=this.ctrlsService.getGridBodyCtrl();for(;a||l<e;){if(!d.getScrollFeature().scrollGridIfNeeded()){let e;if(i.length)this.sortTaskList(t),e=i.pop().task;else if(o.length)this.sortTaskList(s),e=o.pop().task;else{if(!n.length){this.cancelledTasks.clear();break}e=n.pop()}this.cancelledTasks.has(e)||e()}l=(new Date).getTime()-r}i.length||o.length||n.length?this.requestFrame():this.stopTicking()}stopTicking(){this.ticking=!1}flushAllFrames(){this.useAnimationFrame&&this.executeFrame(-1)}schedule(){this.useAnimationFrame&&(this.ticking||(this.ticking=!0,this.requestFrame()))}requestFrame(){const e=this.executeFrame.bind(this,60);this.requestAnimationFrame(e)}requestAnimationFrame(e){const t=q(this.gos);t.requestAnimationFrame?t.requestAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitRequestAnimationFrame(e):t.setTimeout(e,0)}isQueueEmpty(){return!this.ticking}debounce(e){let t=!1;return()=>{this.isOn()?t||(t=!0,this.addDestroyTask((()=>{t=!1,e()}))):window.setTimeout(e,0)}}},Xr=class extends Oe{constructor(){super(...arguments),this.beanName="expansionService"}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.isClientSideRowModel=G(this.gos)}expandRows(e){if(!this.isClientSideRowModel)return;const t=new Set(e);this.rowModel.forEachNode((e=>{e.id&&t.has(e.id)&&(e.expanded=!0)})),this.onGroupExpandedOrCollapsed()}getExpandedRows(){const e=[];return this.rowModel.forEachNode((({expanded:t,id:i})=>{t&&i&&e.push(i)})),e}expandAll(e){this.isClientSideRowModel&&this.rowModel.expandOrCollapseAll(e)}setRowNodeExpanded(e,t,i,s){e&&(i&&e.parent&&-1!==e.parent.level&&this.setRowNodeExpanded(e.parent,t,i,s),e.setExpanded(t,void 0,s))}onGroupExpandedOrCollapsed(){this.isClientSideRowModel&&this.rowModel.refreshModel({step:"map"})}},Jr=class extends Oe{constructor(){super(...arguments),this.beanName="menuService"}wireBeans(e){this.valueService=e.valueService,this.filterMenuFactory=e.filterMenuFactory,this.ctrlsService=e.ctrlsService,this.animationFrameService=e.animationFrameService,this.filterManager=e.filterManager,this.rowRenderer=e.rowRenderer,this.columnChooserFactory=e.columnChooserFactory,this.contextMenuFactory=e.contextMenuFactory,this.enterpriseMenuFactory=e.enterpriseMenuFactory}postConstruct(){this.activeMenuFactory=this.enterpriseMenuFactory??this.filterMenuFactory}showColumnMenu(e){this.showColumnMenuCommon(this.activeMenuFactory,e,"columnMenu")}showFilterMenu(e){const t=this.enterpriseMenuFactory&&this.isLegacyMenuEnabled()?this.enterpriseMenuFactory:this.filterMenuFactory;this.showColumnMenuCommon(t,e,e.containerType,!0)}showHeaderContextMenu(e,t,i){this.activeMenuFactory.showMenuAfterContextMenuEvent(e,t,i)}getContextMenuPosition(e,t){const i=this.getRowCtrl(e),s=this.getCellGui(i,t);if(!s)return i?{x:0,y:i.getRowYPosition()}:{x:0,y:0};const o=s.getBoundingClientRect();return{x:o.x+o.width/2,y:o.y+o.height/2}}showContextMenu(e){var t;const i=e.rowNode,s=e.column;let{anchorToElement:o,value:n}=e;i&&s&&null==n&&(n=this.valueService.getValueForDisplay(s,i)),null==o&&(o=this.getContextMenuAnchorElement(i,s)),null==(t=this.contextMenuFactory)||t.onContextMenu(e.mouseEvent??null,e.touchEvent??null,i??null,s??null,n,o)}showColumnChooser(e){var t;null==(t=this.columnChooserFactory)||t.showColumnChooser(e)}hidePopupMenu(){var e;null==(e=this.contextMenuFactory)||e.hideActiveMenu(),this.activeMenuFactory.hideActiveMenu()}hideColumnChooser(){var e;null==(e=this.columnChooserFactory)||e.hideActiveColumnChooser()}isColumnMenuInHeaderEnabled(e){const{suppressMenu:t,suppressHeaderMenuButton:i}=e.getColDef();return!(i??t)&&this.activeMenuFactory.isMenuEnabled(e)&&(this.isLegacyMenuEnabled()||!!this.enterpriseMenuFactory)}isFilterMenuInHeaderEnabled(e){var t;return!e.getColDef().suppressHeaderFilterButton&&!!(null==(t=this.filterManager)?void 0:t.isFilterAllowed(e))}isHeaderContextMenuEnabled(e){const t=e&&nt(e)?e.getColDef():null==e?void 0:e.getColGroupDef();return!(null==t?void 0:t.suppressHeaderContextMenu)&&"new"===this.getColumnMenuType()}isHeaderMenuButtonAlwaysShowEnabled(){return this.isSuppressMenuHide()}isHeaderMenuButtonEnabled(){const e=!this.isSuppressMenuHide();return!(zi()&&e)}isHeaderFilterButtonEnabled(e){return this.isFilterMenuInHeaderEnabled(e)&&!this.isLegacyMenuEnabled()&&!this.isFloatingFilterButtonDisplayed(e)}isFilterMenuItemEnabled(e){var t;return!(!(null==(t=this.filterManager)?void 0:t.isFilterAllowed(e))||this.isLegacyMenuEnabled()||this.isFilterMenuInHeaderEnabled(e)||this.isFloatingFilterButtonDisplayed(e))}isColumnMenuAnchoringEnabled(){return!this.isLegacyMenuEnabled()}areAdditionalColumnMenuItemsEnabled(){return"new"===this.getColumnMenuType()}isLegacyMenuEnabled(){return"legacy"===this.getColumnMenuType()}isFloatingFilterButtonEnabled(e){var t;const i=e.getColDef(),s=null==(t=i.floatingFilterComponentParams)?void 0:t.suppressFilterButton;return null!=s&&m("As of v31.1, 'colDef.floatingFilterComponentParams.suppressFilterButton' is deprecated. Use 'colDef.suppressFloatingFilterButton' instead."),null==i.suppressFloatingFilterButton?!s:!i.suppressFloatingFilterButton}getColumnMenuType(){return this.gos.get("columnMenu")}isFloatingFilterButtonDisplayed(e){return!!e.getColDef().floatingFilter&&this.isFloatingFilterButtonEnabled(e)}isSuppressMenuHide(){const e=this.gos.get("suppressMenuHide");return this.isLegacyMenuEnabled()?!!this.gos.exists("suppressMenuHide")&&e:e}showColumnMenuCommon(e,t,i,s){const{positionBy:o}=t,n=t.column;if("button"===o){const{buttonElement:o}=t;e.showMenuAfterButtonClick(n,o,i,s)}else if("mouse"===o){const{mouseEvent:o}=t;e.showMenuAfterMouseEvent(n,o,i,s)}else n&&(this.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(n,"auto"),this.animationFrameService.requestAnimationFrame((()=>{var t;const o=null==(t=this.ctrlsService.getHeaderRowContainerCtrl(n.getPinned()))?void 0:t.getHeaderCtrlForColumn(n);o&&e.showMenuAfterButtonClick(n,o.getAnchorElementForMenu(s),i,!0)})))}getRowCtrl(e){const{rowIndex:t,rowPinned:i}=e||{};if(null!=t)return this.rowRenderer.getRowByPosition({rowIndex:t,rowPinned:i})||void 0}getCellGui(e,t){if(!e||!t)return;const i=e.getCellCtrl(t);return(null==i?void 0:i.getGui())||void 0}getContextMenuAnchorElement(e,t){const i=this.ctrlsService.getGridBodyCtrl().getGridBodyElement(),s=this.getRowCtrl(e);if(!s)return i;const o=this.getCellGui(s,t);return o||(s.isFullWidth()?s.getFullWidthElement():i)}},Zr={selector:"AG-INPUT-TEXT-AREA",component:class extends vs{constructor(e){super(e,"ag-text-area",null,"textarea")}setValue(e,t){const i=super.setValue(e,t);return this.eInput.value=e,i}setCols(e){return this.eInput.cols=e,this}setRows(e){return this.eInput.rows=e,this}}},el=class extends Ps{constructor(e){super('<div class="ag-popup-editor" tabindex="-1"/>'),this.params=e}postConstruct(){$(this.gos,this.getGui(),"popupEditorWrapper",!0),this.addKeyDownListener()}addKeyDownListener(){const e=this.getGui(),t=this.params;this.addManagedElementListeners(e,{keydown:e=>{No(this.gos,e,t.node,t.column,!0)||t.onKeyDown(e)}})}},tl=class extends Ps{constructor(e){super(`\n <div class="ag-cell-edit-wrapper">\n ${e.getTemplate()}\n </div>`,e.getAgComponents()),this.cellEditorInput=e,this.eInput=Xi}init(e){this.params=e;const{cellStartedEdit:t,eventKey:i,suppressPreventDefault:s}=e,o=this.eInput;let n;this.cellEditorInput.init(o,e);let r=!0;t?(this.focusAfterAttached=!0,i===gs.BACKSPACE||i===gs.DELETE?n="":i&&1===i.length?s?r=!1:n=i:(n=this.cellEditorInput.getStartValue(),i!==gs.F2&&(this.highlightAllOnFocus=!0))):(this.focusAfterAttached=!1,n=this.cellEditorInput.getStartValue()),r&&null!=n&&o.setStartValue(n),this.addManagedElementListeners(o.getGui(),{keydown:e=>{const{key:t}=e;t!==gs.PAGE_UP&&t!==gs.PAGE_DOWN||e.preventDefault()}})}afterGuiAttached(){var e,t;const i=this.localeService.getLocaleTextFunc(),s=this.eInput;if(s.setInputAriaLabel(i("ariaInputEditor","Input Editor")),!this.focusAfterAttached)return;Hi()||s.getFocusableElement().focus();const o=s.getInputElement();this.highlightAllOnFocus?o.select():null==(t=(e=this.cellEditorInput).setCaret)||t.call(e)}focusIn(){const e=this.eInput,t=e.getFocusableElement(),i=e.getInputElement();t.focus(),i.select()}getValue(){return this.cellEditorInput.getValue()}isPopup(){return!1}},il=class{getTemplate(){return'<ag-input-text-field class="ag-cell-editor" data-ref="eInput"></ag-input-text-field>'}getAgComponents(){return[Bo]}init(e,t){this.eInput=e,this.params=t,null!=t.maxLength&&e.setMaxLength(t.maxLength)}getValue(){const e=this.eInput.getValue();return P(e)||P(this.params.value)?this.params.parseValue(e):this.params.value}getStartValue(){return this.params.useFormatter||this.params.column.getColDef().refData?this.params.formatValue(this.params.value):this.params.value}setCaret(){const e=this.eInput.getValue(),t=P(e)&&e.length||0;t&&this.eInput.getInputElement().setSelectionRange(t,t)}},sl=class extends tl{constructor(){super(new il)}},ol=class{getTemplate(){return'<ag-input-number-field class="ag-cell-editor" data-ref="eInput"></ag-input-number-field>'}getAgComponents(){return[Wo]}init(e,t){this.eInput=e,this.params=t,null!=t.max&&e.setMax(t.max),null!=t.min&&e.setMin(t.min),null!=t.precision&&e.setPrecision(t.precision),null!=t.step&&e.setStep(t.step);const i=e.getInputElement();t.preventStepping?e.addManagedElementListeners(i,{keydown:this.preventStepping}):t.showStepperButtons&&i.classList.add("ag-number-field-input-stepper")}preventStepping(e){e.key!==gs.UP&&e.key!==gs.DOWN||e.preventDefault()}getValue(){const e=this.eInput.getValue();if(!P(e)&&!P(this.params.value))return this.params.value;let t=this.params.parseValue(e);if(null==t)return t;if("string"==typeof t){if(""===t)return null;t=Number(t)}return isNaN(t)?null:t}getStartValue(){return this.params.value}setCaret(){Hi()&&this.eInput.getInputElement().focus({preventScroll:!0})}},nl={selector:"AG-INPUT-DATE-FIELD",component:class extends Ho{constructor(e){super(e,"ag-date-field","date")}postConstruct(){super.postConstruct();const e=Hi();this.addManagedListeners(this.eInput,{wheel:this.onWheel.bind(this),mousedown:()=>{this.isDisabled()||e||this.eInput.focus()}}),this.eInput.step="any"}onWheel(e){Y(this.gos)===this.eInput&&e.preventDefault()}setMin(e){const t=e instanceof Date?Jo(e??null,!1)??void 0:e;return this.min===t||(this.min=t,Di(this.eInput,"min",t)),this}setMax(e){const t=e instanceof Date?Jo(e??null,!1)??void 0:e;return this.max===t||(this.max=t,Di(this.eInput,"max",t)),this}setStep(e){return this.step===e||(this.step=e,Di(this.eInput,"step",e)),this}getDate(){if(this.eInput.validity.valid)return tn(this.getValue())??void 0}setDate(e,t){this.setValue(Jo(e??null,!1),t)}}},rl=class{getTemplate(){return'<ag-input-date-field class="ag-cell-editor" data-ref="eInput"></ag-input-date-field>'}getAgComponents(){return[nl]}init(e,t){this.eInput=e,this.params=t,null!=t.min&&e.setMin(t.min),null!=t.max&&e.setMax(t.max),null!=t.step&&e.setStep(t.step)}getValue(){const e=this.eInput.getDate();return P(e)||P(this.params.value)?e??null:this.params.value}getStartValue(){const{value:e}=this.params;if(e instanceof Date)return Jo(e,!1)}},ll=class{constructor(e){this.getDataTypeService=e}getTemplate(){return'<ag-input-date-field class="ag-cell-editor" data-ref="eInput"></ag-input-date-field>'}getAgComponents(){return[nl]}init(e,t){this.eInput=e,this.params=t,null!=t.min&&e.setMin(t.min),null!=t.max&&e.setMax(t.max),null!=t.step&&e.setStep(t.step)}getValue(){const e=this.formatDate(this.eInput.getDate());return P(e)||P(this.params.value)?this.params.parseValue(e??""):this.params.value}getStartValue(){return Jo(this.parseDate(this.params.value??void 0)??null,!1)}parseDate(e){const t=this.getDataTypeService();return t?t.getDateParserFunction(this.params.column)(e):tn(e)??void 0}formatDate(e){const t=this.getDataTypeService();return t?t.getDateFormatterFunction(this.params.column)(e):Jo(e??null,!1)??void 0}},al=class{constructor(e){this.cellValueChanges=e}},dl=class extends al{constructor(e,t,i,s){super(e),this.initialRange=t,this.finalRange=i,this.ranges=s}},hl=class{constructor(e){this.actionStack=[],this.maxStackSize=e||10,this.actionStack=new Array(this.maxStackSize)}pop(){return this.actionStack.pop()}push(e){e.cellValueChanges&&e.cellValueChanges.length>0&&(this.actionStack.length===this.maxStackSize&&this.actionStack.shift(),this.actionStack.push(e))}clear(){this.actionStack=[]}getCurrentStackSize(){return this.actionStack.length}};function ul(e,t,i="auto"){e.frameworkOverrides.wrapIncoming((()=>e.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureColumnVisible(t,i)),"ensureVisible")}function cl(e,t,i){e.frameworkOverrides.wrapIncoming((()=>e.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureIndexVisible(t,i)),"ensureVisible")}var gl={version:pn,moduleName:"@ag-grid-community/edit-core",beans:[class extends Oe{constructor(){super(...arguments),this.beanName="editService"}wireBeans(e){this.navigationService=e.navigationService,this.userComponentFactory=e.userComponentFactory,this.valueService=e.valueService}startEditing(e,t=null,i=!1,s=null){var o;const n=this.createCellEditorParams(e,t,i),r=e.getColumn().getColDef(),l=this.userComponentFactory.getCellEditorDetails(r,n),a=null!=(null==l?void 0:l.popupFromSelector)?l.popupFromSelector:!!r.cellEditorPopup,d=null!=(null==l?void 0:l.popupPositionFromSelector)?l.popupPositionFromSelector:r.cellEditorPopupPosition;return e.setEditing(!0,l),e.getComp().setEditDetails(l,a,d,this.gos.get("reactiveCustomComponents")),this.eventService.dispatchEvent(e.createEvent(s,"cellEditingStarted")),!(null==(o=null==l?void 0:l.params)?void 0:o.suppressPreventDefault)}stopEditing(e,t){const i=e.getComp(),{newValue:s,newValueExists:o}=this.takeValueFromCellEditor(t,i),n=e.getRowNode(),r=e.getColumn(),l=this.valueService.getValueForDisplay(r,n);let a=!1;return o&&(a=this.saveNewValue(e,l,s,n,r)),e.setEditing(!1,void 0),i.setEditDetails(),e.updateAndFormatValue(!1),e.refreshCell({forceRefresh:!0,suppressFlash:!0}),this.eventService.dispatchEvent({...e.createEvent(null,"cellEditingStopped"),oldValue:l,newValue:s,valueChanged:a}),a}handleColDefChanged(e){const t=e.getCellEditor();if(null==t?void 0:t.refresh){const{eventKey:i,cellStartedEdit:s}=e.getEditCompDetails().params,o=this.createCellEditorParams(e,i,s),n=e.getColumn().getColDef(),r=this.userComponentFactory.getCellEditorDetails(n,o);t.refresh(r.params)}}setFocusOutOnEditor(e){const t=e.getComp().getCellEditor();t&&t.focusOut&&t.focusOut()}setFocusInOnEditor(e){const t=e.getComp(),i=t.getCellEditor();(null==i?void 0:i.focusIn)?i.focusIn():(e.focusCell(!0),e.onCellEditorAttached((()=>{var e,i;return null==(i=null==(e=t.getCellEditor())?void 0:e.focusIn)?void 0:i.call(e)})))}stopEditingAndFocus(e,t=!1,i=!1){e.stopRowOrCellEdit(),e.focusCell(!0),t||this.navigateAfterEdit(i,e.getCellPosition())}createPopupEditorWrapper(e){return new el(e)}takeValueFromCellEditor(e,t){const i={newValueExists:!1};if(e)return i;const s=t.getCellEditor();if(!s)return i;if(s.isCancelAfterEnd&&s.isCancelAfterEnd())return i;return{newValue:s.getValue(),newValueExists:!0}}saveNewValue(e,t,i,s,o){if(i===t)return!1;e.setSuppressRefreshCell(!0);const n=s.setDataValue(o,i,"edit");return e.setSuppressRefreshCell(!1),n}createCellEditorParams(e,t,i){const s=e.getColumn(),o=e.getRowNode();return this.gos.addGridCommonParams({value:this.valueService.getValueForDisplay(s,o),eventKey:t,column:s,colDef:s.getColDef(),rowIndex:e.getCellPosition().rowIndex,node:o,data:o.data,cellStartedEdit:i,onKeyDown:e.onKeyDown.bind(e),stopEditing:e.stopEditingAndFocus.bind(e),eGridCell:e.getGui(),parseValue:t=>this.valueService.parseValue(s,o,t,e.getValue()),formatValue:e.formatValue.bind(e)})}navigateAfterEdit(e,t){if(this.gos.get("enterNavigatesVerticallyAfterEdit")){const i=e?gs.UP:gs.DOWN;this.navigationService.navigateToNextCell(null,i,t,!1)}}}]},pl={version:pn,moduleName:"@ag-grid-community/edit-api",apiFunctions:{undoCellEditing:function(e){var t;null==(t=e.undoRedoService)||t.undo("api")},redoCellEditing:function(e){var t;null==(t=e.undoRedoService)||t.redo("api")},getCellEditorInstances:function(e,t={}){return e.rowRenderer.getCellEditorInstances(t).map(Zs)},getEditingCells:function(e){return e.rowRenderer.getEditingCells()},stopEditing:function(e,t=!1){e.rowRenderer.stopEditing(t)},startEditingCell:function(e,t){const i=e.columnModel.getCol(t.colKey);if(!i)return void m(`no column found for ${t.colKey}`);const s={rowIndex:t.rowIndex,rowPinned:t.rowPinned||null,column:i};null==t.rowPinned&&cl(e,t.rowIndex),ul(e,t.colKey);const o=e.navigationService.getCellByPosition(s);if(!o)return;const{focusService:n,gos:r}=e,l=r.get("stopEditingWhenCellsLoseFocus")&&(()=>{const e=Y(r),t=o.getGui();return e!==t&&!!(null==t?void 0:t.contains(e))})();!l&&n.isCellFocused(s)||n.setFocusedCell({...s,forceBrowserFocus:l,preventScrollOnBrowserFocus:!0}),o.startRowOrCellEdit(t.key)},getCurrentUndoSize:function(e){var t;return(null==(t=e.undoRedoService)?void 0:t.getCurrentUndoStackSize())??0},getCurrentRedoSize:function(e){var t;return(null==(t=e.undoRedoService)?void 0:t.getCurrentRedoStackSize())??0}},dependantModules:[gl]},ml={version:pn,moduleName:"@ag-grid-community/default-editor",userComponents:[{name:"agCellEditor",classImp:sl}],dependantModules:[gl]},vl={version:pn,moduleName:"@ag-grid-community/editing",dependantModules:[gl,{version:pn,moduleName:"@ag-grid-community/undo-redo-edit",beans:[class extends Oe{constructor(){super(...arguments),this.beanName="undoRedoService",this.cellValueChanges=[],this.activeCellEdit=null,this.activeRowEdit=null,this.isPasting=!1,this.isRangeInAction=!1,this.onCellValueChanged=e=>{const t={column:e.column,rowIndex:e.rowIndex,rowPinned:e.rowPinned},i=null!==this.activeCellEdit&&this.cellPositionUtils.equals(this.activeCellEdit,t),s=null!==this.activeRowEdit&&this.rowPositionUtils.sameRow(this.activeRowEdit,t);if(!(i||s||this.isPasting||this.isRangeInAction))return;const{rowPinned:o,rowIndex:n,column:r,oldValue:l,value:a}=e,d={rowPinned:o,rowIndex:n,columnId:r.getColId(),newValue:a,oldValue:l};this.cellValueChanges.push(d)},this.clearStacks=()=>{this.undoStack.clear(),this.redoStack.clear()}}wireBeans(e){this.focusService=e.focusService,this.ctrlsService=e.ctrlsService,this.cellPositionUtils=e.cellPositionUtils,this.rowPositionUtils=e.rowPositionUtils,this.columnModel=e.columnModel,this.rangeService=e.rangeService}postConstruct(){if(!this.gos.get("undoRedoCellEditing"))return;const e=this.gos.get("undoRedoCellEditingLimit");if(e<=0)return;this.undoStack=new hl(e),this.redoStack=new hl(e),this.addListeners();const t=this.clearStacks.bind(this);this.addManagedEventListeners({cellValueChanged:this.onCellValueChanged.bind(this),modelUpdated:e=>{e.keepUndoRedoStack||this.clearStacks()},columnPivotModeChanged:t,newColumnsLoaded:t,columnGroupOpened:t,columnRowGroupChanged:t,columnMoved:t,columnPinned:t,columnVisible:t,rowDragEnd:t}),this.ctrlsService.whenReady(this,(e=>{this.gridBodyCtrl=e.gridBodyCtrl}))}getCurrentUndoStackSize(){return this.undoStack?this.undoStack.getCurrentStackSize():0}getCurrentRedoStackSize(){return this.redoStack?this.redoStack.getCurrentStackSize():0}undo(e){this.eventService.dispatchEvent({type:"undoStarted",source:e});const t=this.undoRedo(this.undoStack,this.redoStack,"initialRange","oldValue","undo");this.eventService.dispatchEvent({type:"undoEnded",source:e,operationPerformed:t})}redo(e){this.eventService.dispatchEvent({type:"redoStarted",source:e});const t=this.undoRedo(this.redoStack,this.undoStack,"finalRange","newValue","redo");this.eventService.dispatchEvent({type:"redoEnded",source:e,operationPerformed:t})}undoRedo(e,t,i,s,o){if(!e)return!1;const n=e.pop();return!(!n||!n.cellValueChanges)&&(this.processAction(n,(e=>e[s]),o),n instanceof dl?this.processRange(this.rangeService,n.ranges||[n[i]]):this.processCell(n.cellValueChanges),t.push(n),!0)}processAction(e,t,i){e.cellValueChanges.forEach((e=>{const{rowIndex:s,rowPinned:o,columnId:n}=e,r={rowIndex:s,rowPinned:o},l=this.rowPositionUtils.getRowNode(r);l.displayed&&l.setDataValue(n,t(e),i)}))}processRange(e,t){let i;e.removeAllCellRanges(!0),t.forEach(((s,o)=>{if(!s)return;const n=s.startRow,r=s.endRow;o===t.length-1&&(i={rowPinned:n.rowPinned,rowIndex:n.rowIndex,columnId:s.startColumn.getColId()},this.setLastFocusedCell(i));const l={rowStartIndex:n.rowIndex,rowStartPinned:n.rowPinned,rowEndIndex:r.rowIndex,rowEndPinned:r.rowPinned,columnStart:s.startColumn,columns:s.columns};e.addCellRange(l)}))}processCell(e){const t=e[0],{rowIndex:i,rowPinned:s}=t,o={rowIndex:i,rowPinned:s},n=this.rowPositionUtils.getRowNode(o),r={rowPinned:t.rowPinned,rowIndex:n.rowIndex,columnId:t.columnId};this.setLastFocusedCell(r,this.rangeService)}setLastFocusedCell(e,t){const{rowIndex:i,columnId:s,rowPinned:o}=e,n=this.gridBodyCtrl.getScrollFeature(),r=this.columnModel.getCol(s);if(!r)return;n.ensureIndexVisible(i),n.ensureColumnVisible(r);const l={rowIndex:i,column:r,rowPinned:o};this.focusService.setFocusedCell({...l,forceBrowserFocus:!0}),null==t||t.setRangeToCell(l)}addListeners(){this.addManagedEventListeners({rowEditingStarted:e=>{this.activeRowEdit={rowIndex:e.rowIndex,rowPinned:e.rowPinned}},rowEditingStopped:()=>{const e=new al(this.cellValueChanges);this.pushActionsToUndoStack(e),this.activeRowEdit=null},cellEditingStarted:e=>{this.activeCellEdit={column:e.column,rowIndex:e.rowIndex,rowPinned:e.rowPinned}},cellEditingStopped:e=>{this.activeCellEdit=null;if(e.valueChanged&&!this.activeRowEdit&&!this.isPasting&&!this.isRangeInAction){const e=new al(this.cellValueChanges);this.pushActionsToUndoStack(e)}},pasteStart:()=>{this.isPasting=!0},pasteEnd:()=>{const e=new al(this.cellValueChanges);this.pushActionsToUndoStack(e),this.isPasting=!1},fillStart:()=>{this.isRangeInAction=!0},fillEnd:e=>{const t=new dl(this.cellValueChanges,e.initialRange,e.finalRange);this.pushActionsToUndoStack(t),this.isRangeInAction=!1},keyShortcutChangedCellStart:()=>{this.isRangeInAction=!0},keyShortcutChangedCellEnd:()=>{let e;e=this.rangeService&&de(this.gos)?new dl(this.cellValueChanges,void 0,void 0,[...this.rangeService.getCellRanges()]):new al(this.cellValueChanges),this.pushActionsToUndoStack(e),this.isRangeInAction=!1}})}pushActionsToUndoStack(e){this.undoStack.push(e),this.cellValueChanges=[],this.redoStack.clear()}}],dependantModules:[gl]},{version:pn,moduleName:"@ag-grid-community/full-row-edit",beans:[class extends Oe{constructor(){super(...arguments),this.beanName="rowEditService"}startEditing(e,t=null,i=null,s=null){let o=!0;return e.getAllCellCtrls().reduce(((e,n)=>{const r=n===i;return r?o=n.startEditing(t,r,s):n.startEditing(null,r,s),!!e||n.isEditing()}),!1)&&this.setEditing(e,!0),o}stopEditing(e,t=!1){const i=e.getAllCellCtrls(),s=e.isEditing();e.setStoppingRowEdit(!0);let o=!1;for(const n of i){const e=n.stopEditing(t);s&&!t&&!o&&e&&(o=!0)}o&&this.eventService.dispatchEvent(e.createRowEvent("rowValueChanged")),s&&this.setEditing(e,!1),e.setStoppingRowEdit(!1)}setEditing(e,t){e.setEditingRow(t),e.forEachGui(void 0,(e=>e.rowComp.addOrRemoveCssClass("ag-row-editing",t)));const i=t?e.createRowEvent("rowEditingStarted"):e.createRowEvent("rowEditingStopped");this.eventService.dispatchEvent(i)}}],dependantModules:[gl]},{version:pn,moduleName:"@ag-grid-community/all-editors",dependantModules:[ml,{version:pn,moduleName:"@ag-grid-community/data-type-editors",userComponents:[{name:"agTextCellEditor",classImp:sl},{name:"agNumberCellEditor",classImp:class extends tl{constructor(){super(new ol)}},params:{suppressPreventDefault:!0}},{name:"agDateCellEditor",classImp:class extends tl{constructor(){super(new rl)}}},{name:"agDateStringCellEditor",classImp:class extends tl{wireBeans(e){this.dataTypeService=e.dataTypeService}constructor(){super(new ll((()=>this.dataTypeService)))}}},{name:"agCheckboxCellEditor",classImp:class extends Ps{constructor(){super('\n <div class="ag-cell-wrapper ag-cell-edit-wrapper ag-checkbox-edit">\n <ag-checkbox role="presentation" data-ref="eCheckbox"></ag-checkbox>\n </div>',[fs]),this.eCheckbox=Xi}init(e){this.params=e;const t=e.value??void 0;this.eCheckbox.setValue(t);this.eCheckbox.getInputElement().setAttribute("tabindex","-1"),this.setAriaLabel(t),this.addManagedListeners(this.eCheckbox,{fieldValueChanged:e=>this.setAriaLabel(e.selected)})}getValue(){return this.eCheckbox.getValue()}focusIn(){this.eCheckbox.getFocusableElement().focus()}afterGuiAttached(){this.params.cellStartedEdit&&this.focusIn()}isPopup(){return!1}setAriaLabel(e){const t=this.localeService.getLocaleTextFunc(),i=ii(t,e),s=t("ariaToggleCellValue","Press SPACE to toggle cell value");this.eCheckbox.setInputAriaLabel(`${s} (${i})`)}}}],dependantModules:[ml]},{version:pn,moduleName:"@ag-grid-community/select-editor",userComponents:[{name:"agSelectCellEditor",classImp:class extends Ps{constructor(){super('<div class="ag-cell-edit-wrapper">\n <ag-select class="ag-cell-editor" data-ref="eSelect"></ag-select>\n </div>',[Io]),this.eSelect=Xi,this.startedByEnter=!1}wireBeans(e){this.valueService=e.valueService}init(e){this.focusAfterAttached=e.cellStartedEdit;const{eSelect:t,valueService:i,gos:s}=this,{values:o,value:n,eventKey:r}=e;if(D(o))return void m("no values found for select cellEditor");this.startedByEnter=null!=r&&r===gs.ENTER;let l=!1;o.forEach((s=>{const o={value:s},r=i.formatValue(e.column,null,s),a=null!=r;o.text=a?r:s,t.addOption(o),l=l||n===s})),l?t.setValue(e.value,!0):e.values.length&&t.setValue(e.values[0],!0);const{valueListGap:a,valueListMaxWidth:d,valueListMaxHeight:h}=e;null!=a&&t.setPickerGap(a),null!=h&&t.setPickerMaxHeight(h),null!=d&&t.setPickerMaxWidth(d),"fullRow"!==s.get("editType")&&this.addManagedListeners(this.eSelect,{selectedItem:()=>e.stopEditing()})}afterGuiAttached(){this.focusAfterAttached&&this.eSelect.getFocusableElement().focus(),this.startedByEnter&&setTimeout((()=>{this.isAlive()&&this.eSelect.showPicker()}))}focusIn(){this.eSelect.getFocusableElement().focus()}getValue(){return this.eSelect.getValue()}isPopup(){return!1}}}],dependantModules:[gl]},{version:pn,moduleName:"@ag-grid-community/large-text-editor",userComponents:[{name:"agLargeTextCellEditor",classImp:class extends Ps{constructor(){super('<div class="ag-large-text">\n <ag-input-text-area data-ref="eTextArea" class="ag-large-text-input"></ag-input-text-area>\n </div>',[Zr]),this.eTextArea=Xi}init(e){this.params=e,this.focusAfterAttached=e.cellStartedEdit,this.eTextArea.setMaxLength(e.maxLength||200).setCols(e.cols||60).setRows(e.rows||10),P(e.value,!0)&&this.eTextArea.setValue(e.value.toString(),!0),this.addGuiEventListener("keydown",this.onKeyDown.bind(this)),this.activateTabIndex()}onKeyDown(e){const t=e.key;(t===gs.LEFT||t===gs.UP||t===gs.RIGHT||t===gs.DOWN||e.shiftKey&&t===gs.ENTER)&&e.stopPropagation()}afterGuiAttached(){const e=this.localeService.getLocaleTextFunc();this.eTextArea.setInputAriaLabel(e("ariaInputEditor","Input Editor")),this.focusAfterAttached&&this.eTextArea.getFocusableElement().focus()}getValue(){const e=this.eTextArea.getValue();return P(e)||P(this.params.value)?this.params.parseValue(e):this.params.value}}}],dependantModules:[gl]}]},pl]},Cl=class extends Oe{constructor(){super(...arguments),this.beanName="autoWidthCalculator"}wireBeans(e){this.rowRenderer=e.rowRenderer,this.ctrlsService=e.ctrlsService}postConstruct(){this.ctrlsService.whenReady(this,(e=>{this.centerRowContainerCtrl=e.center}))}getPreferredWidthForColumn(e,t){const i=this.getHeaderCellForColumn(e);if(!i)return-1;const s=this.rowRenderer.getAllCellsForColumn(e);return t||s.push(i),this.addElementsToContainerAndGetWidth(s)}getPreferredWidthForColumnGroup(e){const t=this.getHeaderCellForColumn(e);return t?this.addElementsToContainerAndGetWidth([t]):-1}addElementsToContainerAndGetWidth(e){const t=document.createElement("form");t.style.position="fixed";const i=this.centerRowContainerCtrl.getContainerElement();e.forEach((e=>this.cloneItemIntoDummy(e,t))),i.appendChild(t);const s=t.offsetWidth;i.removeChild(t);return s+this.getAutoSizePadding()}getAutoSizePadding(){return this.gos.get("autoSizePadding")}getHeaderCellForColumn(e){let t=null;return this.ctrlsService.getHeaderRowContainerCtrls().forEach((i=>{const s=i.getHtmlElementForColumnHeader(e);null!=s&&(t=s)})),t}cloneItemIntoDummy(e,t){const i=e.cloneNode(!0);i.style.width="",i.style.position="static",i.style.left="";const s=document.createElement("div"),o=s.classList;["ag-header-cell","ag-header-group-cell"].some((e=>i.classList.contains(e)))?(o.add("ag-header","ag-header-row"),s.style.position="static"):o.add("ag-row");let n=e.parentElement;for(;n;){if(["ag-header-row","ag-row"].some((e=>n.classList.contains(e)))){for(let e=0;e<n.classList.length;e++){const t=n.classList[e];"ag-row-position-absolute"!=t&&o.add(t)}break}n=n.parentElement}s.appendChild(i),t.appendChild(s)}},fl=class extends Oe{constructor(e,t){super(),this.createRowCon=e,this.destroyRowCtrls=t,this.stickyTopRowCtrls=[],this.stickyBottomRowCtrls=[],this.extraTopHeight=0,this.extraBottomHeight=0}wireBeans(e){this.rowModel=e.rowModel,this.rowRenderer=e.rowRenderer,this.ctrlsService=e.ctrlsService,this.pageBoundsService=e.pageBoundsService}postConstruct(){this.isClientSide=G(this.gos),this.ctrlsService.whenReady(this,(e=>{this.gridBodyCtrl=e.gridBodyCtrl})),this.resetStickyContainers()}getStickyTopRowCtrls(){return this.stickyTopRowCtrls}getStickyBottomRowCtrls(){return this.stickyBottomRowCtrls}setOffsetTop(e){this.extraTopHeight!==e&&(this.extraTopHeight=e,this.eventService.dispatchEvent({type:"stickyTopOffsetChanged",offset:e}))}setOffsetBottom(e){this.extraBottomHeight!==e&&(this.extraBottomHeight=e)}resetOffsets(){this.setOffsetBottom(0),this.setOffsetTop(0)}getExtraTopHeight(){return this.extraTopHeight}getExtraBottomHeight(){return this.extraBottomHeight}getLastPixelOfGroup(e){return this.isClientSide?this.getClientSideLastPixelOfGroup(e):this.getServerSideLastPixelOfGroup(e)}getFirstPixelOfGroup(e){return e.footer?e.sibling.rowTop+e.sibling.rowHeight-1:e.hasChildren()?e.rowTop-1:0}getServerSideLastPixelOfGroup(e){var t,i;if(this.isClientSide)throw new Error("This func should only be called in server side row model.");if(e.isExpandable()||e.footer){if(e.master)return e.detailNode.rowTop+e.detailNode.rowHeight;if(!e.sibling||1===Math.abs(e.sibling.rowIndex-e.rowIndex)){let s=null==(t=e.childStore)?void 0:t.getStoreBounds();return e.footer&&(s=null==(i=e.sibling.childStore)?void 0:i.getStoreBounds()),((null==s?void 0:s.heightPx)??0)+((null==s?void 0:s.topPx)??0)}return e.footer?e.rowTop+e.rowHeight:e.sibling.rowTop+e.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}getClientSideLastPixelOfGroup(e){if(!this.isClientSide)throw new Error("This func should only be called in client side row model.");if(e.isExpandable()||e.footer){if(e.footer&&0===e.rowIndex)return Number.MAX_SAFE_INTEGER;if(!e.sibling||1===Math.abs(e.sibling.rowIndex-e.rowIndex)){let t=e.footer?e.sibling:e;for(;t.isExpandable()&&t.expanded;)if(t.master)t=t.detailNode;else if(t.childrenAfterSort){if(0===t.childrenAfterSort.length)break;t=we(t.childrenAfterSort)}return t.rowTop+t.rowHeight}return e.footer?e.rowTop+e.rowHeight:e.sibling.rowTop+e.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}updateStickyRows(e){const t="top"===e;let i=0;if(!this.canRowsBeSticky())return this.refreshNodesAndContainerHeight(e,new Set,i);const s=t?this.rowRenderer.getFirstVisibleVerticalPixel()-this.extraTopHeight:this.rowRenderer.getLastVisibleVerticalPixel()-this.extraTopHeight,o=new Set,n=e=>{if(o.add(e),t){const t=this.getLastPixelOfGroup(e),o=s+i+e.rowHeight;e.stickyRowTop=t<o?i+(t-o):i}else{const t=this.getFirstPixelOfGroup(e),o=s-(i+e.rowHeight);e.stickyRowTop=t>o?i-(t-o):i}i=0,o.forEach((e=>{const t=e.stickyRowTop+e.rowHeight;i<t&&(i=t)}))},r=this.areFooterRowsStickySuppressed(),l=this.gos.get("suppressGroupRowsSticky"),a=t=>{if(!t.displayed)return!1;if(t.footer){if(!0===r)return!1;if("grand"===r&&-1===t.level)return!1;if("group"===r&&t.level>-1)return!1;const i=!!t.sibling.rowIndex&&t.sibling.rowIndex+1===t.rowIndex;if("bottom"===e&&i)return!1;return!o.has(t)}if(t.isExpandable()){if(!0===l)return!1;if("bottom"===e)return!1;return!o.has(t)&&t.expanded}return!1};for(let d=0;d<100;d++){let e=s+i;t||(e=s-i);const o=this.rowModel.getRowIndexAtPixel(e),r=this.rowModel.getRow(o);if(null==r)break;const l=this.getStickyAncestors(r).find((e=>(t?e.rowIndex<o:e.rowIndex>o)&&a(e)));if(l){n(l);continue}if(!(t?r.rowTop<e:r.rowTop+r.rowHeight>e)||!a(r))break;n(r)}return t||o.forEach((e=>{e.stickyRowTop=i-(e.stickyRowTop+e.rowHeight)})),this.refreshNodesAndContainerHeight(e,o,i)}areFooterRowsStickySuppressed(){const e=this.gos.get("suppressStickyTotalRow");if(!0===e)return!0;const t=!!this.gos.get("groupIncludeFooter")||"group"===e,i=!!this.gos.get("groupIncludeTotalFooter")||"grand"===e;return!(!t||!i)||(i?"grand":!!t&&"group")}canRowsBeSticky(){const e=Z(this.gos),t=this.areFooterRowsStickySuppressed(),i=this.gos.get("suppressGroupRowsSticky");return e&&(!t||!i)}getStickyAncestors(e){const t=[];let i=e.footer?e.sibling:e.parent;for(;i;)i.sibling&&t.push(i.sibling),t.push(i),i=i.parent;return t.reverse()}checkStickyRows(){const e=this.updateStickyRows("top"),t=this.updateStickyRows("bottom");return e||t}destroyStickyCtrls(){this.resetStickyContainers()}resetStickyContainers(){this.refreshNodesAndContainerHeight("top",new Set,0),this.refreshNodesAndContainerHeight("bottom",new Set,0)}refreshStickyNode(e){const t=new Set;if(this.stickyTopRowCtrls.some((t=>t.getRowNode()===e))){for(let i=0;i<this.stickyTopRowCtrls.length;i++){const s=this.stickyTopRowCtrls[i].getRowNode();s!==e&&t.add(s)}this.refreshNodesAndContainerHeight("top",t,this.topContainerHeight)&&this.checkStickyRows()}else{for(let i=0;i<this.stickyBottomRowCtrls.length;i++){const s=this.stickyBottomRowCtrls[i].getRowNode();s!==e&&t.add(s)}this.refreshNodesAndContainerHeight("bottom",t,this.bottomContainerHeight)&&this.checkStickyRows()}}refreshNodesAndContainerHeight(e,t,i){const s="top"===e,o=s?this.stickyTopRowCtrls:this.stickyBottomRowCtrls,n={},r=[];for(let c=0;c<o.length;c++){const e=o[c].getRowNode();!t.has(e)?(n[e.id]=o[c],e.sticky=!1):r.push(o[c])}const l=new Set;for(let c=0;c<r.length;c++)l.add(r[c].getRowNode());const a=[];t.forEach((e=>{l.has(e)||(e.sticky=!0,a.push(this.createRowCon(e,!1,!1)))}));let d=!!a.length||r.length!==o.length;s?this.topContainerHeight!==i&&(this.topContainerHeight=i,this.gridBodyCtrl.setStickyTopHeight(i),d=!0):this.bottomContainerHeight!==i&&(this.bottomContainerHeight=i,this.gridBodyCtrl.setStickyBottomHeight(i),d=!0),this.destroyRowCtrls(n,!1);const h=[...r,...a];h.sort(((e,t)=>t.getRowNode().rowIndex-e.getRowNode().rowIndex)),s||h.reverse(),h.forEach((e=>e.setRowTop(e.getRowNode().stickyRowTop)));let u=0;return s?(t.forEach((e=>{e.rowIndex<this.pageBoundsService.getFirstRow()&&(u+=e.rowHeight)})),u>this.topContainerHeight&&(u=this.topContainerHeight),this.setOffsetTop(u)):(t.forEach((e=>{e.rowIndex>this.pageBoundsService.getLastRow()&&(u+=e.rowHeight)})),u>this.bottomContainerHeight&&(u=this.bottomContainerHeight),this.setOffsetBottom(u)),!!d&&(s?this.stickyTopRowCtrls=h:this.stickyBottomRowCtrls=h,!0)}ensureRowHeightsValid(){let e=!1;const t=t=>{const i=t.getRowNode();if(i.rowHeightEstimated){const t=z(this.gos,i);i.setRowHeight(t.height),e=!0}};return this.stickyTopRowCtrls.forEach(t),this.stickyBottomRowCtrls.forEach(t),e}},wl=class extends Oe{constructor(){super(...arguments),this.beanName="rowRenderer",this.destroyFuncsForColumnListeners=[],this.rowCtrlsByRowIndex={},this.zombieRowCtrls={},this.allRowCtrls=[],this.topRowCtrls=[],this.bottomRowCtrls=[],this.refreshInProgress=!1,this.dataFirstRenderedFired=!1,this.setupRangeSelectionListeners=()=>{const e=()=>{this.getAllCellCtrls().forEach((e=>e.onCellSelectionChanged()))},t=()=>{this.getAllCellCtrls().forEach((e=>e.updateRangeBordersIfRangeCount()))},i=()=>{this.eventService.addEventListener("cellSelectionChanged",e),this.eventService.addEventListener("columnMoved",t),this.eventService.addEventListener("columnPinned",t),this.eventService.addEventListener("columnVisible",t)},s=()=>{this.eventService.removeEventListener("cellSelectionChanged",e),this.eventService.removeEventListener("columnMoved",t),this.eventService.removeEventListener("columnPinned",t),this.eventService.removeEventListener("columnVisible",t)};this.addDestroyFunc((()=>s())),this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],(()=>{de(this.gos)?i():s()}));de(this.gos)&&i()}}wireBeans(e){this.animationFrameService=e.animationFrameService,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.pinnedRowModel=e.pinnedRowModel,this.rowModel=e.rowModel,this.focusService=e.focusService,this.beans=e,this.rowContainerHeightService=e.rowContainerHeightService,this.ctrlsService=e.ctrlsService,this.environment=e.environment}postConstruct(){this.ctrlsService.whenReady(this,(e=>{this.gridBodyCtrl=e.gridBodyCtrl,this.initialise()}))}initialise(){this.addManagedEventListeners({paginationChanged:this.onPageLoaded.bind(this),pinnedRowDataChanged:this.onPinnedRowDataChanged.bind(this),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),bodyScroll:this.onBodyScroll.bind(this),bodyHeightChanged:this.redraw.bind(this,{})}),this.addManagedPropertyListeners(["domLayout","embedFullWidthRows"],(()=>this.onDomLayoutChanged())),this.addManagedPropertyListeners(["suppressMaxRenderedRowRestriction","rowBuffer"],(()=>this.redraw())),this.addManagedPropertyListener("suppressCellFocus",(e=>this.onSuppressCellFocusChanged(e.currentValue))),this.addManagedPropertyListeners(["groupSuppressBlankHeader","getBusinessKeyForNode","fullWidthCellRenderer","fullWidthCellRendererParams","suppressStickyTotalRow","groupRowRenderer","groupRowRendererParams","loadingCellRenderer","loadingCellRendererParams","detailCellRenderer","detailCellRendererParams","enableRangeSelection","enableCellTextSelection","rowSelection"],(()=>this.redrawRows())),Z(this.gos)&&(G(this.gos)||N(this.gos))&&(this.stickyRowFeature=this.createManagedBean(new fl(this.createRowCon.bind(this),this.destroyRowCtrls.bind(this)))),this.registerCellEventListeners(),this.initialiseCache(),this.printLayout=H(this.gos,"print"),this.embedFullWidthRows=this.printLayout||this.gos.get("embedFullWidthRows"),this.redrawAfterModelUpdate()}initialiseCache(){if(this.gos.get("keepDetailRows")){const e=this.getKeepDetailRowsCount(),t=null!=e?e:3;this.cachedRowCtrls=new Sl(t)}}getKeepDetailRowsCount(){return this.gos.get("keepDetailRowsCount")}getStickyTopRowCtrls(){return this.stickyRowFeature?this.stickyRowFeature.getStickyTopRowCtrls():[]}getStickyBottomRowCtrls(){return this.stickyRowFeature?this.stickyRowFeature.getStickyBottomRowCtrls():[]}updateAllRowCtrls(){const e=Je(this.rowCtrlsByRowIndex),t=Je(this.zombieRowCtrls),i=this.cachedRowCtrls?this.cachedRowCtrls.getEntries():[];t.length>0||i.length>0?this.allRowCtrls=[...e,...t,...i]:this.allRowCtrls=e}onCellFocusChanged(e){this.getAllCellCtrls().forEach((t=>t.onCellFocused(e))),this.getFullWidthRowCtrls().forEach((t=>t.onFullWidthRowFocused(e)))}onSuppressCellFocusChanged(e){this.getAllCellCtrls().forEach((t=>t.onSuppressCellFocusChanged(e))),this.getFullWidthRowCtrls().forEach((t=>t.onSuppressCellFocusChanged(e)))}registerCellEventListeners(){this.addManagedEventListeners({cellFocused:e=>{this.onCellFocusChanged(e)},cellFocusCleared:()=>this.onCellFocusChanged(),flashCells:e=>{this.getAllCellCtrls().forEach((t=>t.onFlashCells(e)))},columnHoverChanged:()=>{this.getAllCellCtrls().forEach((e=>e.onColumnHover()))},displayedColumnsChanged:()=>{this.getAllCellCtrls().forEach((e=>e.onDisplayedColumnsChanged()))},displayedColumnsWidthChanged:()=>{this.printLayout&&this.getAllCellCtrls().forEach((e=>e.onLeftChanged()))}}),this.setupRangeSelectionListeners(),this.refreshListenersToColumnsForCellComps(),this.addManagedEventListeners({gridColumnsChanged:this.refreshListenersToColumnsForCellComps.bind(this)}),this.addDestroyFunc(this.removeGridColumnListeners.bind(this))}removeGridColumnListeners(){this.destroyFuncsForColumnListeners.forEach((e=>e())),this.destroyFuncsForColumnListeners.length=0}refreshListenersToColumnsForCellComps(){this.removeGridColumnListeners();this.columnModel.getCols().forEach((e=>{const t=t=>{this.getAllCellCtrls().forEach((i=>{i.getColumn()===e&&t(i)}))},i=()=>{t((e=>e.onLeftChanged()))},s=()=>{t((e=>e.onWidthChanged()))},o=()=>{t((e=>e.onFirstRightPinnedChanged()))},n=()=>{t((e=>e.onLastLeftPinnedChanged()))},r=()=>{t((e=>e.onColDefChanged()))};e.addEventListener("leftChanged",i),e.addEventListener("widthChanged",s),e.addEventListener("firstRightPinnedChanged",o),e.addEventListener("lastLeftPinnedChanged",n),e.addEventListener("colDefChanged",r),this.destroyFuncsForColumnListeners.push((()=>{e.removeEventListener("leftChanged",i),e.removeEventListener("widthChanged",s),e.removeEventListener("firstRightPinnedChanged",o),e.removeEventListener("lastLeftPinnedChanged",n),e.removeEventListener("colDefChanged",r)}))}))}onDomLayoutChanged(){const e=H(this.gos,"print"),t=e||this.gos.get("embedFullWidthRows"),i=t!==this.embedFullWidthRows||this.printLayout!==e;this.printLayout=e,this.embedFullWidthRows=t,i&&this.redrawAfterModelUpdate({domLayoutChanged:!0})}datasourceChanged(){this.firstRenderedRow=0,this.lastRenderedRow=-1;const e=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(e)}onPageLoaded(e){const t={recycleRows:e.keepRenderedRows,animate:e.animate,newData:e.newData,newPage:e.newPage,onlyBody:!0};this.redrawAfterModelUpdate(t)}getAllCellsForColumn(e){const t=[];return this.getAllRowCtrls().forEach((i=>{const s=i.getCellElement(e);s&&t.push(s)})),t}refreshFloatingRowComps(){this.refreshFloatingRows(this.topRowCtrls,"top"),this.refreshFloatingRows(this.bottomRowCtrls,"bottom")}getTopRowCtrls(){return this.topRowCtrls}getCentreRowCtrls(){return this.allRowCtrls}getBottomRowCtrls(){return this.bottomRowCtrls}refreshFloatingRows(e,t){const{pinnedRowModel:i,beans:s,printLayout:o}=this,n=Object.fromEntries(e.map((e=>[e.getRowNode().id,e])));i.forEachPinnedRow(t,((r,l)=>{const a=e[l];a&&void 0===i.getPinnedRowById(a.getRowNode().id,t)&&(a.destroyFirstPass(),a.destroySecondPass()),r.id in n?(e[l]=n[r.id],delete n[r.id]):e[l]=new Sr(r,s,!1,!1,o)}));const r="top"===t?i.getPinnedTopRowCount():i.getPinnedBottomRowCount();e.length=r}onPinnedRowDataChanged(){this.redrawAfterModelUpdate({recycleRows:!0})}redrawRow(e,t=!1){var i;if(e.sticky)this.stickyRowFeature.refreshStickyNode(e);else{if(null==(i=this.cachedRowCtrls)?void 0:i.has(e))return void this.cachedRowCtrls.removeRow(e);{const t=t=>{const i=t[e.rowIndex];i&&i.getRowNode()===e&&(i.destroyFirstPass(),i.destroySecondPass(),t[e.rowIndex]=this.createRowCon(e,!1,!1))};switch(e.rowPinned){case"top":t(this.topRowCtrls);break;case"bottom":t(this.bottomRowCtrls);break;default:t(this.rowCtrlsByRowIndex),this.updateAllRowCtrls()}}}t||this.dispatchDisplayedRowsChanged(!1)}redrawRows(e){if(null!=e)return null==e||e.forEach((e=>this.redrawRow(e,!0))),void this.dispatchDisplayedRowsChanged(!1);this.redrawAfterModelUpdate()}getCellToRestoreFocusToAfterRefresh(e){const t=(null==e?void 0:e.suppressKeepFocus)?null:this.focusService.getFocusCellToUseAfterRefresh();if(null==t)return null;const i=Y(this.gos),s=_(this.gos,i,Cr.DOM_DATA_KEY_CELL_CTRL),o=_(this.gos,i,Sr.DOM_DATA_KEY_ROW_CTRL);return s||o?t:null}redrawAfterModelUpdate(e={}){this.getLockOnRefresh();const t=this.getCellToRestoreFocusToAfterRefresh(e);this.updateContainerHeights(),this.scrollToTopIfNewData(e);const i=!e.domLayoutChanged&&!!e.recycleRows,s=e.animate&&J(this.gos),o=i?this.getRowsToRecycle():null;if(i||this.removeAllRowComps(),this.workOutFirstAndLastRowsToRender(),this.stickyRowFeature){this.stickyRowFeature.checkStickyRows();const e=this.stickyRowFeature.getExtraTopHeight()+this.stickyRowFeature.getExtraBottomHeight();e&&this.updateContainerHeights(e)}this.recycleRows(o,s),this.gridBodyCtrl.updateRowCount(),e.onlyBody||this.refreshFloatingRowComps(),this.dispatchDisplayedRowsChanged(),null!=t&&this.restoreFocusedCell(t),this.releaseLockOnRefresh()}scrollToTopIfNewData(e){var t;const i=e.newData||e.newPage,s=this.gos.get("suppressScrollOnNewData");i&&!s&&(this.gridBodyCtrl.getScrollFeature().scrollToTop(),null==(t=this.stickyRowFeature)||t.resetOffsets())}updateContainerHeights(e=0){if(this.printLayout)return void this.rowContainerHeightService.setModelHeight(null);let t=this.pageBoundsService.getCurrentPageHeight();0===t&&(t=1),this.rowContainerHeightService.setModelHeight(t+e)}getLockOnRefresh(){var e,t;if(this.refreshInProgress)throw new Error("AG Grid: cannot get grid to draw rows when it is in the middle of drawing rows. Your code probably called a grid API method while the grid was in the render stage. To overcome this, put the API call into a timeout, e.g. instead of api.redrawRows(), call setTimeout(function() { api.redrawRows(); }, 0). To see what part of your code that caused the refresh check this stacktrace.");this.refreshInProgress=!0,null==(t=(e=this.frameworkOverrides).getLockOnRefresh)||t.call(e)}releaseLockOnRefresh(){var e,t;this.refreshInProgress=!1,null==(t=(e=this.frameworkOverrides).releaseLockOnRefresh)||t.call(e)}isRefreshInProgress(){return this.refreshInProgress}restoreFocusedCell(e){e&&this.focusService.restoreFocusedCell(e,(()=>{this.onCellFocusChanged(this.gos.addGridCommonParams({rowIndex:e.rowIndex,column:e.column,rowPinned:e.rowPinned,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0,type:"cellFocused"}))}))}stopEditing(e=!1){this.getAllRowCtrls().forEach((t=>{t.stopEditing(e)}))}getAllCellCtrls(){const e=[],t=this.getAllRowCtrls(),i=t.length;for(let s=0;s<i;s++){const i=t[s].getAllCellCtrls(),o=i.length;for(let t=0;t<o;t++)e.push(i[t])}return e}getAllRowCtrls(){const e=this.stickyRowFeature&&this.stickyRowFeature.getStickyTopRowCtrls()||[],t=this.stickyRowFeature&&this.stickyRowFeature.getStickyBottomRowCtrls()||[],i=[...this.topRowCtrls,...this.bottomRowCtrls,...e,...t];for(const s in this.rowCtrlsByRowIndex)i.push(this.rowCtrlsByRowIndex[s]);return i}addRenderedRowListener(e,t,i){const s=this.rowCtrlsByRowIndex[t];s&&s.addEventListener(e,i)}flashCells(e={}){this.getCellCtrls(e.rowNodes,e.columns).forEach((t=>t.flashCell(e)))}refreshCells(e={}){const t={forceRefresh:e.force,newData:!1,suppressFlash:e.suppressFlash};for(const i of this.getCellCtrls(e.rowNodes,e.columns))i.refreshOrDestroyCell(t);this.refreshFullWidth(e.rowNodes)}refreshFullWidth(e){if(!e)return;let t=null;this.stickyRowFeature&&Ui()&&(t=this.getCellToRestoreFocusToAfterRefresh()||null);for(const i of this.getRowCtrls(e)){if(!i.isFullWidth())continue;i.refreshFullWidth()||this.redrawRow(i.getRowNode(),!0)}this.dispatchDisplayedRowsChanged(!1),t&&this.restoreFocusedCell(t)}getCellRendererInstances(e){var t;const i=this.getCellCtrls(e.rowNodes,e.columns).map((e=>e.getCellRenderer())).filter((e=>null!=e));if(null==(t=e.columns)?void 0:t.length)return i;const s=[],o=this.mapRowNodes(e.rowNodes);return this.getAllRowCtrls().forEach((e=>{if(o&&!this.isRowInMap(e.getRowNode(),o))return;if(!e.isFullWidth())return;const t=e.getFullWidthCellRenderers();for(let i=0;i<t.length;i++){const e=t[i];null!=e&&s.push(e)}})),[...s,...i]}getCellEditorInstances(e){const t=[];return this.getCellCtrls(e.rowNodes,e.columns).forEach((e=>{const i=e.getCellEditor();i&&t.push(i)})),t}getEditingCells(){const e=[];return this.getAllCellCtrls().forEach((t=>{if(t.isEditing()){const i=t.getCellPosition();e.push(i)}})),e}mapRowNodes(e){if(!e)return;const t={top:{},bottom:{},normal:{}};return e.forEach((e=>{const i=e.id;switch(e.rowPinned){case"top":t.top[i]=e;break;case"bottom":t.bottom[i]=e;break;default:t.normal[i]=e}})),t}isRowInMap(e,t){const i=e.id;switch(e.rowPinned){case"top":return null!=t.top[i];case"bottom":return null!=t.bottom[i];default:return null!=t.normal[i]}}getRowCtrls(e){const t=this.mapRowNodes(e),i=this.getAllRowCtrls();return e&&t?i.filter((e=>{const i=e.getRowNode();return this.isRowInMap(i,t)})):i}getCellCtrls(e,t){let i;P(t)&&(i={},t.forEach((e=>{const t=this.columnModel.getCol(e);P(t)&&(i[t.getId()]=!0)})));const s=[];return this.getRowCtrls(e).forEach((e=>{e.getAllCellCtrls().forEach((e=>{const t=e.getColumn().getId();i&&!i[t]||s.push(e)}))})),s}destroy(){this.removeAllRowComps(!0),super.destroy()}removeAllRowComps(e=!1){const t=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(t,e),this.stickyRowFeature&&this.stickyRowFeature.destroyStickyCtrls()}getRowsToRecycle(){const e=[];Qe(this.rowCtrlsByRowIndex,((t,i)=>{null==i.getRowNode().id&&e.push(t)})),this.removeRowCtrls(e);const t={};return Qe(this.rowCtrlsByRowIndex,((e,i)=>{const s=i.getRowNode();t[s.id]=i})),this.rowCtrlsByRowIndex={},t}removeRowCtrls(e,t=!1){e.forEach((e=>{const i=this.rowCtrlsByRowIndex[e];i&&(i.destroyFirstPass(t),i.destroySecondPass()),delete this.rowCtrlsByRowIndex[e]}))}onBodyScroll(e){"vertical"===e.direction&&this.redraw({afterScroll:!0})}redraw(e={}){const{afterScroll:t}=e;let i;this.stickyRowFeature&&Ui()&&(i=this.getCellToRestoreFocusToAfterRefresh()||void 0);const s=this.firstRenderedRow,o=this.lastRenderedRow;this.workOutFirstAndLastRowsToRender();let n=!1;if(this.stickyRowFeature){n=this.stickyRowFeature.checkStickyRows();const e=this.stickyRowFeature.getExtraTopHeight()+this.stickyRowFeature.getExtraBottomHeight();e&&this.updateContainerHeights(e)}const r=this.firstRenderedRow!==s||this.lastRenderedRow!==o;if((!t||n||r)&&(this.getLockOnRefresh(),this.recycleRows(null,!1,t),this.releaseLockOnRefresh(),this.dispatchDisplayedRowsChanged(t&&!n),null!=i)){const e=this.getCellToRestoreFocusToAfterRefresh();null!=i&&null==e&&(this.animationFrameService.flushAllFrames(),this.restoreFocusedCell(i))}}removeRowCompsNotToDraw(e,t){const i={};e.forEach((e=>i[e]=!0));const s=Object.keys(this.rowCtrlsByRowIndex).filter((e=>!i[e]));this.removeRowCtrls(s,t)}calculateIndexesToDraw(e){const t=function(e,t){const i=[];for(let s=e;s<=t;s++)i.push(s);return i}(this.firstRenderedRow,this.lastRenderedRow),i=(e,i)=>{const s=i.getRowNode().rowIndex;null!=s&&(s<this.firstRenderedRow||s>this.lastRenderedRow)&&this.doNotUnVirtualiseRow(i)&&t.push(s)};Qe(this.rowCtrlsByRowIndex,i),Qe(e,i),t.sort(((e,t)=>e-t));const s=[];for(let o=0;o<t.length;o++){const e=t[o],i=this.rowModel.getRow(e);i&&!i.sticky&&s.push(e)}return s}recycleRows(e,t=!1,i=!1){const s=this.calculateIndexesToDraw(e);if((this.printLayout||i)&&(t=!1),this.removeRowCompsNotToDraw(s,!t),s.forEach((s=>{this.createOrUpdateRowCtrl(s,e,t,i)})),e){i&&!this.gos.get("suppressAnimationFrame")&&!this.printLayout?this.beans.animationFrameService.addDestroyTask((()=>{this.destroyRowCtrls(e,t),this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()})):this.destroyRowCtrls(e,t)}this.updateAllRowCtrls()}dispatchDisplayedRowsChanged(e=!1){this.eventService.dispatchEvent({type:"displayedRowsChanged",afterScroll:e})}onDisplayedColumnsChanged(){const e=this.visibleColsService.isPinningLeft(),t=this.visibleColsService.isPinningRight();(this.pinningLeft!==e||t!==this.pinningRight)&&(this.pinningLeft=e,this.pinningRight=t,this.embedFullWidthRows&&this.redrawFullWidthEmbeddedRows())}redrawFullWidthEmbeddedRows(){const e=[];this.getFullWidthRowCtrls().forEach((t=>{const i=t.getRowNode().rowIndex;e.push(i.toString())})),this.refreshFloatingRowComps(),this.removeRowCtrls(e),this.redraw({afterScroll:!0})}getFullWidthRowCtrls(e){const t=this.mapRowNodes(e);return this.getAllRowCtrls().filter((e=>{if(!e.isFullWidth())return!1;const i=e.getRowNode();return!(null!=t&&!this.isRowInMap(i,t))}))}createOrUpdateRowCtrl(e,t,i,s){let o,n=this.rowCtrlsByRowIndex[e];n||(o=this.rowModel.getRow(e),P(o)&&P(t)&&t[o.id]&&o.alreadyRendered&&(n=t[o.id],t[o.id]=null));if(!n){if(o||(o=this.rowModel.getRow(e)),!P(o))return;n=this.createRowCon(o,i,s)}return o&&(o.alreadyRendered=!0),this.rowCtrlsByRowIndex[e]=n,n}destroyRowCtrls(e,t){const i=[];Qe(e,((e,s)=>{if(s)if(this.cachedRowCtrls&&s.isCacheable())this.cachedRowCtrls.addRow(s);else if(s.destroyFirstPass(!t),t){const e=s.instanceId;this.zombieRowCtrls[e]=s,i.push((()=>{s.destroySecondPass(),delete this.zombieRowCtrls[e]}))}else s.destroySecondPass()})),t&&(i.push((()=>{this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()})),f(i))}getRowBuffer(){return this.gos.get("rowBuffer")}getRowBufferInPixels(){return this.getRowBuffer()*U(this.gos)}workOutFirstAndLastRowsToRender(){let e,t;if(this.rowContainerHeightService.updateOffset(),this.rowModel.isRowsToRender())if(this.printLayout)this.environment.refreshRowHeightVariable(),e=this.pageBoundsService.getFirstRow(),t=this.pageBoundsService.getLastRow();else{const i=this.getRowBufferInPixels(),s=this.ctrlsService.getGridBodyCtrl(),o=this.gos.get("suppressRowVirtualisation");let n,r,l=!1;do{const e=this.pageBoundsService.getPixelOffset(),{pageFirstPixel:t,pageLastPixel:a}=this.pageBoundsService.getCurrentPagePixelRange(),d=this.rowContainerHeightService.getDivStretchOffset(),h=s.getScrollFeature().getVScrollPosition(),u=h.top,c=h.bottom;o?(n=t+d,r=a+d):(n=Math.max(u+e-i,t)+d,r=Math.min(c+e+i,a)+d),this.firstVisibleVPixel=Math.max(u+e,t)+d,this.lastVisibleVPixel=Math.min(c+e,a)+d,l=this.ensureAllRowsInRangeHaveHeightsCalculated(n,r)}while(l);let a=this.rowModel.getRowIndexAtPixel(n),d=this.rowModel.getRowIndexAtPixel(r);const h=this.pageBoundsService.getFirstRow(),u=this.pageBoundsService.getLastRow();a<h&&(a=h),d>u&&(d=u),e=a,t=d}else e=0,t=-1;const i=H(this.gos,"normal"),s=this.gos.get("suppressMaxRenderedRowRestriction"),o=Math.max(this.getRowBuffer(),500);i&&!s&&t-e>o&&(t=e+o);const n=e!==this.firstRenderedRow,r=t!==this.lastRenderedRow;(n||r)&&(this.firstRenderedRow=e,this.lastRenderedRow=t,this.eventService.dispatchEvent({type:"viewportChanged",firstRow:e,lastRow:t}))}dispatchFirstDataRenderedEvent(){this.dataFirstRenderedFired||(this.dataFirstRenderedFired=!0,window.requestAnimationFrame((()=>{this.beans.eventService.dispatchEvent({type:"firstDataRendered",firstRow:this.firstRenderedRow,lastRow:this.lastRenderedRow})})))}ensureAllRowsInRangeHaveHeightsCalculated(e,t){var i,s;const o=null==(i=this.pinnedRowModel)?void 0:i.ensureRowHeightsValid(),n=null==(s=this.stickyRowFeature)?void 0:s.ensureRowHeightsValid(),r=this.rowModel.ensureRowHeightsValid(e,t,this.pageBoundsService.getFirstRow(),this.pageBoundsService.getLastRow());return(r||n)&&this.eventService.dispatchEvent({type:"recalculateRowBounds"}),!!(n||r||o)&&(this.updateContainerHeights(),!0)}getFirstVisibleVerticalPixel(){return this.firstVisibleVPixel}getLastVisibleVerticalPixel(){return this.lastVisibleVPixel}getFirstVirtualRenderedRow(){return this.firstRenderedRow}getLastVirtualRenderedRow(){return this.lastRenderedRow}doNotUnVirtualiseRow(e){const t=!1,i=e.getRowNode(),s=this.focusService.isRowNodeFocused(i),o=e.isEditing(),n=i.detail;if(!(s||o||n))return t;return!!this.isRowPresent(i)||t}isRowPresent(e){return!!this.rowModel.isRowPresent(e)&&(!this.paginationService||this.paginationService.isRowPresent(e))}createRowCon(e,t,i){const s=this.cachedRowCtrls?this.cachedRowCtrls.getRow(e):null;if(s)return s;const o=this.gos.get("suppressAnimationFrame"),n=i&&!o&&!this.printLayout;return new Sr(e,this.beans,t,n,this.printLayout)}getRenderedNodes(){const e=this.rowCtrlsByRowIndex;return Object.values(e).map((e=>e.getRowNode()))}getRowByPosition(e){let t;const{rowIndex:i}=e;switch(e.rowPinned){case"top":t=this.topRowCtrls[i];break;case"bottom":t=this.bottomRowCtrls[i];break;default:t=this.rowCtrlsByRowIndex[i],t||(t=this.getStickyTopRowCtrls().find((e=>e.getRowNode().rowIndex===i))||null,t||(t=this.getStickyBottomRowCtrls().find((e=>e.getRowNode().rowIndex===i))||null))}return t}isRangeInRenderedViewport(e,t){if(null==e||null==t)return!1;const i=e>this.lastRenderedRow;return!(t<this.firstRenderedRow)&&!i}},Sl=class{constructor(e){this.entriesMap={},this.entriesList=[],this.maxCount=e}addRow(e){if(this.entriesMap[e.getRowNode().id]=e,this.entriesList.push(e),e.setCached(!0),this.entriesList.length>this.maxCount){const e=this.entriesList[0];e.destroyFirstPass(),e.destroySecondPass(),this.removeFromCache(e)}}getRow(e){if(null==e||null==e.id)return null;const t=this.entriesMap[e.id];if(!t)return null;this.removeFromCache(t),t.setCached(!1);return t.getRowNode()!=e?null:t}has(e){return null!=this.entriesMap[e.id]}removeRow(e){const t=e.id,i=this.entriesMap[t];delete this.entriesMap[t],be(this.entriesList,i)}removeFromCache(e){const t=e.getRowNode().id;delete this.entriesMap[t],be(this.entriesList,e)}getEntries(){return this.entriesList}},yl=class extends Oe{constructor(){super(...arguments),this.beanName="pinnedRowModel",this.nextId=0,this.pinnedTopRows=new bl,this.pinnedBottomRows=new bl}wireBeans(e){this.beans=e}postConstruct(){this.setPinnedRowData(this.gos.get("pinnedTopRowData"),"top"),this.setPinnedRowData(this.gos.get("pinnedBottomRowData"),"bottom"),this.addManagedPropertyListener("pinnedTopRowData",(e=>this.setPinnedRowData(e.currentValue,"top"))),this.addManagedPropertyListener("pinnedBottomRowData",(e=>this.setPinnedRowData(e.currentValue,"bottom"))),this.addManagedEventListeners({gridStylesChanged:this.onGridStylesChanges.bind(this)})}isEmpty(e){return("top"===e?this.pinnedTopRows:this.pinnedBottomRows).isEmpty()}isRowsToRender(e){return!this.isEmpty(e)}onGridStylesChanges(e){if(e.rowHeightChanged){const e=e=>{e.setRowHeight(e.rowHeight,!0)};this.pinnedBottomRows.forEach(e),this.pinnedTopRows.forEach(e)}}ensureRowHeightsValid(){var e,t;let i=!1,s=0;const o=e=>{if(e.rowHeightEstimated){const t=z(this.gos,e);e.setRowTop(s),e.setRowHeight(t.height),s+=t.height,i=!0}};return null==(e=this.pinnedBottomRows)||e.forEach(o),s=0,null==(t=this.pinnedTopRows)||t.forEach(o),this.eventService.dispatchEvent({type:"pinnedHeightChanged"}),i}setPinnedRowData(e,t){this.updateNodesFromRowData(e,t),this.eventService.dispatchEvent({type:"pinnedRowDataChanged"})}updateNodesFromRowData(e,t){const i="top"===t?this.pinnedTopRows:this.pinnedBottomRows;if(void 0===e)return void i.clear();const s=re(this.gos),o="top"===t?vo.ID_PREFIX_TOP_PINNED:vo.ID_PREFIX_BOTTOM_PINNED,n=i.getIds(),r=[],l=new Set;let a=0,d=-1;for(const h of e){const e=(null==s?void 0:s({data:h,level:0,rowPinned:t}))??o+this.nextId++;if(l.has(e)){m("Duplicate ID",e,"found for pinned row with data",h,"When `getRowId` is defined, it must return unique IDs for all pinned rows. Use the `rowPinned` parameter.");continue}d++,l.add(e),r.push(e);const u=i.getById(e);if(void 0!==u)u.data!==h&&u.setData(h),a+=this.setRowTopAndRowIndex(u,a,d),n.delete(e);else{const s=new vo(this.beans);s.id=e,s.data=h,s.rowPinned=t,a+=this.setRowTopAndRowIndex(s,a,d),i.push(s)}}n.forEach((e=>{var t;null==(t=i.getById(e))||t.clearRowTopAndRowIndex()})),i.removeAllById(n),i.setOrder(r)}setRowTopAndRowIndex(e,t,i){return e.setRowTop(t),e.setRowHeight(z(this.gos,e).height),e.setRowIndex(i),e.rowHeight}getPinnedTopTotalHeight(){return this.getTotalHeight(this.pinnedTopRows)}getPinnedBottomTotalHeight(){return this.getTotalHeight(this.pinnedBottomRows)}getPinnedTopRowCount(){return this.pinnedTopRows.getSize()}getPinnedBottomRowCount(){return this.pinnedBottomRows.getSize()}getPinnedTopRow(e){return this.pinnedTopRows.getByIndex(e)}getPinnedBottomRow(e){return this.pinnedBottomRows.getByIndex(e)}getPinnedRowById(e,t){return"top"===t?this.pinnedTopRows.getById(e):this.pinnedBottomRows.getById(e)}forEachPinnedRow(e,t){return"top"===e?this.pinnedTopRows.forEach(t):this.pinnedBottomRows.forEach(t)}getTotalHeight(e){const t=e.getSize();if(0===t)return 0;const i=e.getByIndex(t-1);return void 0===i?0:i.rowTop+i.rowHeight}},bl=class{constructor(){this.cache={},this.ordering=[]}getById(e){return this.cache[e]}getByIndex(e){const t=this.ordering[e];return this.cache[t]}push(e){this.cache[e.id]=e,this.ordering.push(e.id)}removeAllById(e){for(const t of e)delete this.cache[t];this.ordering=this.ordering.filter((t=>!e.has(t)))}setOrder(e){this.ordering=e}forEach(e){this.ordering.forEach(((t,i)=>{const s=this.cache[t];s&&e(s,i)}))}clear(){this.ordering.length=0,this.cache={}}isEmpty(){return 0===this.ordering.length}getSize(){return this.ordering.length}getIds(){return new Set(this.ordering)}},Rl=class extends Oe{constructor(e){super(),this.state="needsLoading",this.version=0,this.id=e}getId(){return this.id}load(){this.state="loading",this.loadFromDatasource()}getVersion(){return this.version}setStateWaitingToLoad(){this.version++,this.state="needsLoading"}getState(){return this.state}pageLoadFailed(e){this.isRequestMostRecentAndLive(e)&&(this.state="failed",this.processServerFail()),this.dispatchLoadCompleted(!1)}success(e,t){this.successCommon(e,t)}pageLoaded(e,t,i){this.successCommon(e,{rowData:t,rowCount:i})}isRequestMostRecentAndLive(e){const t=e===this.version,i=this.isAlive();return t&&i}successCommon(e,t){this.dispatchLoadCompleted();this.isRequestMostRecentAndLive(e)&&(this.state="loaded",this.processServerResult(t))}dispatchLoadCompleted(e=!0){const t={type:"loadComplete",success:e,block:this};this.dispatchLocalEvent(t)}},Fl={version:pn,moduleName:"@ag-grid-community/row-node-block",beans:[class extends Oe{constructor(){super(...arguments),this.beanName="rowNodeBlockLoader",this.activeBlockLoadsCount=0,this.blocks=[],this.active=!0}wireBeans(e){this.rowModel=e.rowModel}postConstruct(){this.maxConcurrentRequests=this.getMaxConcurrentDatasourceRequests();const e=this.gos.get("blockLoadDebounceMillis");e&&e>0&&(this.checkBlockToLoadDebounce=b(this.performCheckBlocksToLoad.bind(this),e))}getMaxConcurrentDatasourceRequests(){const e=this.gos.get("maxConcurrentDatasourceRequests");return null==e?2:e<=0?void 0:e}addBlock(e){this.blocks.push(e),e.addEventListener("loadComplete",this.loadComplete.bind(this)),this.checkBlockToLoad()}removeBlock(e){be(this.blocks,e)}destroy(){super.destroy(),this.active=!1}loadComplete(){this.activeBlockLoadsCount--,this.checkBlockToLoad(),this.dispatchLocalEvent({type:"blockLoaded"}),0==this.activeBlockLoadsCount&&this.dispatchLocalEvent({type:"blockLoaderFinished"})}checkBlockToLoad(){this.checkBlockToLoadDebounce?this.checkBlockToLoadDebounce():this.performCheckBlocksToLoad()}performCheckBlocksToLoad(){if(!this.active)return;if(this.printCacheStatus(),null!=this.maxConcurrentRequests&&this.activeBlockLoadsCount>=this.maxConcurrentRequests)return void(this.gos.get("debug")&&p("RowNodeBlockLoader - checkBlockToLoad: max loads exceeded"));const e=this.getAvailableLoadingCount(),t=this.blocks.filter((e=>"needsLoading"===e.getState())).slice(0,e);this.registerLoads(t.length),t.forEach((e=>e.load())),this.printCacheStatus()}getBlockState(){if(N(this.gos)){return this.rowModel.getBlockStates()}const e={};return this.blocks.forEach((t=>{const{id:i,state:s}=t.getBlockStateJson();e[i]=s})),e}printCacheStatus(){this.gos.get("debug")&&p(`RowNodeBlockLoader - printCacheStatus: activePageLoadsCount = ${this.activeBlockLoadsCount}, blocks = ${JSON.stringify(this.getBlockState())}`)}isLoading(){return this.activeBlockLoadsCount>0}registerLoads(e){this.activeBlockLoadsCount+=e}getAvailableLoadingCount(){return void 0!==this.maxConcurrentRequests?this.maxConcurrentRequests-this.activeBlockLoadsCount:void 0}}]},Pl=class{constructor(){this.root=null,this.end=null,this.cachedRange=[]}init(e){this.rowModel=e}reset(){this.root=null,this.end=null,this.cachedRange.length=0}setRoot(e){this.root=e,this.end=null,this.cachedRange.length=0}setEndRange(e){this.end=e,this.cachedRange.length=0}getRange(){if(0===this.cachedRange.length){const e=this.getRoot(),t=this.getEnd();if(null==e||null==t)return this.cachedRange;this.cachedRange=this.rowModel.getNodesInRangeForSelection(e,t)}return this.cachedRange}isInRange(e){return null!==this.root&&this.getRange().some((t=>t.id===e.id))}getRoot(){var e;return this.root&&null===(null==(e=this.root)?void 0:e.key)&&(this.root=this.rowModel.getRowNode(this.root.id)??null),this.root}getEnd(){var e;return this.end&&null===(null==(e=this.end)?void 0:e.key)&&(this.end=this.rowModel.getRowNode(this.end.id)??null),this.end}truncate(e){const t=this.getRange();if(0===t.length)return{keep:[],discard:[]};const i=t[0].id===this.root.id,s=t.findIndex((t=>t.id===e.id));if(s>-1){const o=t.slice(0,s),n=t.slice(s+1);return this.setEndRange(e),i?{keep:o,discard:n}:{keep:n,discard:o}}return{keep:t,discard:[]}}extend(e,t=!1){const i=this.getRoot();if(null==i){const i=this.getRange().slice();return t&&e.depthFirstSearch((e=>!e.group&&i.push(e))),i.push(e),this.setRoot(e),{keep:i,discard:[]}}if(this.rowModel.getNodesInRangeForSelection(i,e).find((e=>{var t;return e.id===(null==(t=this.end)?void 0:t.id)})))return this.setEndRange(e),{keep:this.getRange(),discard:[]};{const t=this.getRange().slice();return this.setEndRange(e),{keep:this.getRange(),discard:t}}}},Dl=class extends Oe{constructor(){super(...arguments),this.beanName="stylingService"}wireBeans(e){this.expressionService=e.expressionService}processAllCellClasses(e,t,i,s){this.processClassRules(void 0,e.cellClassRules,t,i,s),this.processStaticCellClasses(e,t,i)}processClassRules(e,t,i,s,o){if(null==t&&null==e)return;const n={},r={},l=(e,t)=>{e.split(" ").forEach((e=>{""!=e.trim()&&t(e)}))};if(t){const e=Object.keys(t);for(let s=0;s<e.length;s++){const o=e[s],a=t[o];let d;"string"==typeof a?d=this.expressionService.evaluate(a,i):"function"==typeof a&&(d=a(i)),l(o,(e=>{d?n[e]=!0:r[e]=!0}))}}e&&o&&Object.keys(e).forEach((e=>l(e,(e=>{n[e]||(r[e]=!0)})))),o&&Object.keys(r).forEach(o),Object.keys(n).forEach(s)}getStaticCellClasses(e,t){const{cellClass:i}=e;if(!i)return[];let s;if("function"==typeof i){s=i(t)}else s=i;return"string"==typeof s&&(s=[s]),s||[]}processStaticCellClasses(e,t,i){this.getStaticCellClasses(e,t).forEach((e=>{i(e)}))}},El=(e=>(e.TAB_GUARD="ag-tab-guard",e.TAB_GUARD_TOP="ag-tab-guard-top",e.TAB_GUARD_BOTTOM="ag-tab-guard-bottom",e))(El||{}),Ml=class extends Oe{constructor(e){super(),this.skipTabGuardFocus=!1,this.forcingFocusOut=!1,this.allowFocus=!1;const{comp:t,eTopGuard:i,eBottomGuard:s,focusTrapActive:o,forceFocusOutWhenTabGuardsAreEmpty:n,isFocusableContainer:r,focusInnerElement:l,onFocusIn:a,onFocusOut:d,shouldStopEventPropagation:h,onTabKeyDown:u,handleKeyDown:c,eFocusableElement:g}=e;this.comp=t,this.eTopGuard=i,this.eBottomGuard=s,this.providedFocusInnerElement=l,this.eFocusableElement=g,this.focusTrapActive=!!o,this.forceFocusOutWhenTabGuardsAreEmpty=!!n,this.isFocusableContainer=!!r,this.providedFocusIn=a,this.providedFocusOut=d,this.providedShouldStopEventPropagation=h,this.providedOnTabKeyDown=u,this.providedHandleKeyDown=c}wireBeans(e){this.focusService=e.focusService}postConstruct(){this.createManagedBean(new Ro(this.eFocusableElement,{shouldStopEventPropagation:()=>this.shouldStopEventPropagation(),onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e),onFocusIn:e=>this.onFocusIn(e),onFocusOut:e=>this.onFocusOut(e)})),this.activateTabGuards(),[this.eTopGuard,this.eBottomGuard].forEach((e=>this.addManagedElementListeners(e,{focus:this.onFocus.bind(this)})))}handleKeyDown(e){this.providedHandleKeyDown&&this.providedHandleKeyDown(e)}tabGuardsAreActive(){return!!this.eTopGuard&&this.eTopGuard.hasAttribute("tabIndex")}shouldStopEventPropagation(){return!!this.providedShouldStopEventPropagation&&this.providedShouldStopEventPropagation()}activateTabGuards(){if(this.forcingFocusOut)return;const e=this.gos.get("tabIndex");this.comp.setTabIndex(e.toString())}deactivateTabGuards(){this.comp.setTabIndex()}onFocus(e){if(this.isFocusableContainer&&!this.eFocusableElement.contains(e.relatedTarget)&&!this.allowFocus)return void this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard);if(this.skipTabGuardFocus)return void(this.skipTabGuardFocus=!1);if(this.forceFocusOutWhenTabGuardsAreEmpty){if(0===this.focusService.findFocusableElements(this.eFocusableElement,".ag-tab-guard").length)return void this.findNextElementOutsideAndFocus(e.target===this.eBottomGuard)}if(this.isFocusableContainer&&this.eFocusableElement.contains(e.relatedTarget))return;const t=e.target===this.eBottomGuard;this.providedFocusInnerElement?this.providedFocusInnerElement(t):this.focusInnerElement(t)}findNextElementOutsideAndFocus(e){var t;const i=j(this.gos),s=this.focusService.findFocusableElements(i.body,null,!0),o=s.indexOf(e?this.eTopGuard:this.eBottomGuard);if(-1===o)return;let n,r;e?(n=0,r=o):(n=o+1,r=s.length);const l=s.slice(n,r),a=this.gos.get("tabIndex");l.sort(((e,t)=>{const i=parseInt(e.getAttribute("tabindex")||"0"),s=parseInt(t.getAttribute("tabindex")||"0");return s===a?1:i===a?-1:0===i?1:0===s?-1:i-s})),null==(t=l[e?l.length-1:0])||t.focus()}onFocusIn(e){this.focusTrapActive||this.forcingFocusOut||(this.providedFocusIn&&this.providedFocusIn(e),this.isFocusableContainer||this.deactivateTabGuards())}onFocusOut(e){this.focusTrapActive||(this.providedFocusOut&&this.providedFocusOut(e),this.eFocusableElement.contains(e.relatedTarget)||this.activateTabGuards())}onTabKeyDown(e){if(this.providedOnTabKeyDown)return void this.providedOnTabKeyDown(e);if(this.focusTrapActive)return;if(e.defaultPrevented)return;const t=this.tabGuardsAreActive();t&&this.deactivateTabGuards();const i=this.getNextFocusableElement(e.shiftKey);t&&setTimeout((()=>this.activateTabGuards()),0),i&&(i.focus(),e.preventDefault())}focusInnerElement(e=!1){const t=this.focusService.findFocusableElements(this.eFocusableElement);this.tabGuardsAreActive()&&(t.splice(0,1),t.splice(t.length-1,1)),t.length&&t[e?t.length-1:0].focus({preventScroll:!0})}getNextFocusableElement(e){return this.focusService.findNextFocusableElement(this.eFocusableElement,!1,e)}forceFocusOutOfContainer(e=!1){if(this.forcingFocusOut)return;const t=e?this.eTopGuard:this.eBottomGuard;this.activateTabGuards(),this.skipTabGuardFocus=!0,this.forcingFocusOut=!0,t.focus(),window.setTimeout((()=>{this.forcingFocusOut=!1,this.activateTabGuards()}))}isTabGuard(e,t){return e===this.eTopGuard&&!t||e===this.eBottomGuard&&(t??!0)}setAllowFocus(e){this.allowFocus=e}},xl=class extends Oe{constructor(e){super(),this.comp=e}initialiseTabGuard(e){this.eTopGuard=this.createTabGuard("top"),this.eBottomGuard=this.createTabGuard("bottom"),this.eFocusableElement=this.comp.getFocusableElement();const{eTopGuard:t,eBottomGuard:i,eFocusableElement:s}=this,o=[t,i],n={setTabIndex:e=>{o.forEach((t=>null!=e?t.setAttribute("tabindex",e):t.removeAttribute("tabindex")))}};this.addTabGuards(t,i);const{focusTrapActive:r=!1,onFocusIn:l,onFocusOut:a,focusInnerElement:d,handleKeyDown:h,onTabKeyDown:u,shouldStopEventPropagation:c,forceFocusOutWhenTabGuardsAreEmpty:g,isFocusableContainer:p}=e;this.tabGuardCtrl=this.createManagedBean(new Ml({comp:n,focusTrapActive:r,eTopGuard:t,eBottomGuard:i,eFocusableElement:s,onFocusIn:l,onFocusOut:a,focusInnerElement:d,handleKeyDown:h,onTabKeyDown:u,shouldStopEventPropagation:c,forceFocusOutWhenTabGuardsAreEmpty:g,isFocusableContainer:p}))}getTabGuardCtrl(){return this.tabGuardCtrl}createTabGuard(e){const t=j(this.gos).createElement("div"),i="top"===e?"ag-tab-guard-top":"ag-tab-guard-bottom";return t.classList.add("ag-tab-guard",i),qt(t,"presentation"),t}addTabGuards(e,t){this.eFocusableElement.insertAdjacentElement("afterbegin",e),this.eFocusableElement.insertAdjacentElement("beforeend",t)}removeAllChildrenExceptTabGuards(){const e=[this.eTopGuard,this.eBottomGuard];vi(this.comp.getFocusableElement()),this.addTabGuards(...e)}forceFocusOutOfContainer(e=!1){this.tabGuardCtrl.forceFocusOutOfContainer(e)}appendChild(e,t,i){Pi(t)||(t=t.getGui());const{eBottomGuard:s}=this;s?s.insertAdjacentElement("beforebegin",t):e(t,i)}},Al=class extends Ji{initialiseTabGuard(e){this.tabGuardFeature=this.createManagedBean(new xl(this)),this.tabGuardFeature.initialiseTabGuard(e)}forceFocusOutOfContainer(e=!1){this.tabGuardFeature.forceFocusOutOfContainer(e)}appendChild(e,t){this.tabGuardFeature.appendChild(super.appendChild.bind(this),e,t)}},Tl=0,Il=class extends Oe{constructor(){super(...arguments),this.beanName="popupService",this.popupList=[]}wireBeans(e){this.ctrlsService=e.ctrlsService,this.resizeObserverService=e.resizeObserverService,this.environment=e.environment}postConstruct(){this.ctrlsService.whenReady(this,(e=>{this.gridCtrl=e.gridCtrl})),this.addManagedEventListeners({gridStylesChanged:this.handleThemeChange.bind(this)})}getPopupParent(){const e=this.gos.get("popupParent");return e||this.gridCtrl.getGui()}positionPopupForMenu(e){const{eventSource:t,ePopup:i}=e,s=this.getPopupIndex(i);if(-1!==s){this.popupList[s].alignedToElement=t}const o=t.getBoundingClientRect(),n=this.getParentRect(),r=this.keepXYWithinBounds(i,o.top-n.top,0),l=i.clientWidth>0?i.clientWidth:200;i.style.minWidth=`${l}px`;const a=n.right-n.left-l;let d;function h(){return o.right-n.left-2}function u(){return o.left-n.left-l}this.gos.get("enableRtl")?(d=u(),d<0&&(d=h(),this.setAlignedStyles(i,"left")),d>a&&(d=0,this.setAlignedStyles(i,"right"))):(d=h(),d>a&&(d=u(),this.setAlignedStyles(i,"right")),d<0&&(d=0,this.setAlignedStyles(i,"left"))),i.style.left=`${d}px`,i.style.top=`${r}px`}positionPopupUnderMouseEvent(e){const{ePopup:t,nudgeX:i,nudgeY:s,skipObserver:o}=e;this.positionPopup({ePopup:t,nudgeX:i,nudgeY:s,keepWithinBounds:!0,skipObserver:o,updatePosition:()=>this.calculatePointerAlign(e.mouseEvent),postProcessCallback:()=>this.callPostProcessPopup(e.type,e.ePopup,null,e.mouseEvent,e.column,e.rowNode)})}calculatePointerAlign(e){const t=this.getParentRect();return{x:e.clientX-t.left,y:e.clientY-t.top}}positionPopupByComponent(e){const{ePopup:t,nudgeX:i,nudgeY:s,keepWithinBounds:o,eventSource:n,alignSide:r="left",position:l="over",column:a,rowNode:d,type:h}=e,u=n.getBoundingClientRect(),c=this.getParentRect(),g=this.getPopupIndex(t);if(-1!==g){this.popupList[g].alignedToElement=n}this.positionPopup({ePopup:t,nudgeX:i,nudgeY:s,keepWithinBounds:o,updatePosition:()=>{let i,o=u.left-c.left;if("right"===r&&(o-=t.offsetWidth-u.width),"over"===l)i=u.top-c.top,this.setAlignedStyles(t,"over");else{this.setAlignedStyles(t,"under");i="under"===this.shouldRenderUnderOrAbove(t,u,c,e.nudgeY||0)?u.top-c.top+u.height:u.top-t.offsetHeight-2*(s||0)-c.top}return{x:o,y:i}},postProcessCallback:()=>this.callPostProcessPopup(h,t,n,null,a,d)})}shouldRenderUnderOrAbove(e,t,i,s){const o=i.bottom-t.bottom,n=t.top-i.top,r=e.offsetHeight+s;return o>r?"under":n>r||n>o?"above":"under"}setAlignedStyles(e,t){const i=this.getPopupIndex(e);if(-1===i)return;const s=this.popupList[i],{alignedToElement:o}=s;if(!o)return;["right","left","over","above","under"].forEach((t=>{o.classList.remove(`ag-has-popup-positioned-${t}`),e.classList.remove(`ag-popup-positioned-${t}`)})),t&&(o.classList.add(`ag-has-popup-positioned-${t}`),e.classList.add(`ag-popup-positioned-${t}`))}callPostProcessPopup(e,t,i,s,o,n){const r=this.gos.getCallback("postProcessPopup");if(r){r({column:o,rowNode:n,ePopup:t,type:e,eventSource:i,mouseEvent:s})}}positionPopup(e){const{ePopup:t,keepWithinBounds:i,nudgeX:s,nudgeY:o,skipObserver:n,updatePosition:r}=e,l={width:0,height:0},a=(n=!1)=>{let{x:a,y:d}=r();n&&t.clientWidth===l.width&&t.clientHeight===l.height||(l.width=t.clientWidth,l.height=t.clientHeight,s&&(a+=s),o&&(d+=o),i&&(a=this.keepXYWithinBounds(t,a,1),d=this.keepXYWithinBounds(t,d,0)),t.style.left=`${a}px`,t.style.top=`${d}px`,e.postProcessCallback&&e.postProcessCallback())};if(a(),!n){const e=this.resizeObserverService.observeResize(t,(()=>a(!0)));setTimeout((()=>e()),200)}}getActivePopups(){return this.popupList.map((e=>e.element))}getPopupList(){return this.popupList}getParentRect(){const e=j(this.gos);let t=this.getPopupParent();return t===e.body?t=e.documentElement:"static"===getComputedStyle(t).position&&(t=t.offsetParent),gi(t)}keepXYWithinBounds(e,t,i){const s=0===i,o=s?"clientHeight":"clientWidth",n=s?"top":"left",r=s?"height":"width",l=s?"scrollTop":"scrollLeft",a=j(this.gos),d=a.documentElement,h=this.getPopupParent(),u=e.getBoundingClientRect(),c=h.getBoundingClientRect(),g=a.documentElement.getBoundingClientRect(),p=h===a.body,m=Math.ceil(u[r]);let v=p?(s?ui:ci)(d)+d[l]:h[o];p&&(v-=Math.abs(g[n]-c[n]));const C=v-m;return Math.min(Math.max(t,0),Math.abs(C))}addPopup(e){const t=j(this.gos),{eChild:i,ariaLabel:s,alwaysOnTop:o,positionCallback:n,anchorToElement:r}=e;if(!t)return m("could not find the document, document is empty"),{hideFunc:()=>{}};const l=this.getPopupIndex(i);if(-1!==l){return{hideFunc:this.popupList[l].hideFunc}}this.initialisePopupPosition(i);const a=this.createPopupWrapper(i,s,!!o),d=this.addEventListenersToPopup({...e,wrapperEl:a});return n&&n(),this.addPopupToPopupList(i,a,d,r),{hideFunc:d}}initialisePopupPosition(e){const t=this.getPopupParent().getBoundingClientRect();P(e.style.top)||(e.style.top=-1*t.top+"px"),P(e.style.left)||(e.style.left=-1*t.left+"px")}createPopupWrapper(e,t,i){const s=this.getPopupParent(),o=document.createElement("div");return this.environment.applyThemeClasses(o),o.classList.add("ag-popup"),e.classList.add(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr","ag-popup-child"),e.hasAttribute("role")||qt(e,"dialog"),Qt(e,t),o.appendChild(e),s.appendChild(o),i?this.setAlwaysOnTop(e,!0):this.bringPopupToFront(e),o}handleThemeChange(e){if(e.themeChanged)for(const t of this.popupList)this.environment.applyThemeClasses(t.wrapper)}addEventListenersToPopup(e){const t=j(this.gos),i=this.getPopupParent(),{wrapperEl:s,eChild:o,closedCallback:n,afterGuiAttached:r,closeOnEsc:l,modal:a}=e;let d=!1;const h=e=>{if(!s.contains(Y(this.gos)))return;e.key!==gs.ESCAPE||Te(e)||g({keyboardEvent:e})},u=e=>g({mouseEvent:e}),c=e=>g({touchEvent:e}),g=(e={})=>{const{mouseEvent:r,touchEvent:l,keyboardEvent:a,forceHide:g}=e;(g||!this.isEventFromCurrentPopup({mouseEvent:r,touchEvent:l},o)&&!d)&&(d=!0,i.removeChild(s),t.removeEventListener("keydown",h),t.removeEventListener("mousedown",u),t.removeEventListener("touchstart",c),t.removeEventListener("contextmenu",u),this.eventService.removeEventListener("dragStarted",u),n&&n(r||l||a),this.removePopupFromPopupList(o))};return r&&r({hidePopup:g}),window.setTimeout((()=>{l&&t.addEventListener("keydown",h),a&&(t.addEventListener("mousedown",u),this.eventService.addEventListener("dragStarted",u),t.addEventListener("touchstart",c),t.addEventListener("contextmenu",u))}),0),g}addPopupToPopupList(e,t,i,s){this.popupList.push({element:e,wrapper:t,hideFunc:i,instanceId:Tl++,isAnchored:!!s}),s&&this.setPopupPositionRelatedToElement(e,s)}getPopupIndex(e){return this.popupList.findIndex((t=>t.element===e))}setPopupPositionRelatedToElement(e,t){const i=this.getPopupIndex(e);if(-1===i)return;const s=this.popupList[i];if(s.stopAnchoringPromise&&s.stopAnchoringPromise.then((e=>e&&e())),s.stopAnchoringPromise=void 0,s.isAnchored=!1,!t)return;const o=this.keepPopupPositionedRelativeTo({element:t,ePopup:e,hidePopup:s.hideFunc});return s.stopAnchoringPromise=o,s.isAnchored=!0,o}removePopupFromPopupList(e){this.setAlignedStyles(e,null),this.setPopupPositionRelatedToElement(e,null),this.popupList=this.popupList.filter((t=>t.element!==e))}keepPopupPositionedRelativeTo(e){const t=this.getPopupParent(),i=t.getBoundingClientRect(),{element:s,ePopup:o}=e,n=s.getBoundingClientRect(),r=e=>parseInt(e.substring(0,e.length-1),10),l=(e,t)=>{const s=i[e]-n[e],l=r(o.style[e]);return{initialDiff:s,lastDiff:s,initial:l,last:l,direction:t}},a=l("top",0),d=l("left",1),h=this.getFrameworkOverrides();return new As((i=>{h.wrapIncoming((()=>{h.setInterval((()=>{const i=t.getBoundingClientRect(),n=s.getBoundingClientRect();if(0==n.top&&0==n.left&&0==n.height&&0==n.width)return void e.hidePopup();const l=(e,t)=>{const s=r(o.style[t]);e.last!==s&&(e.initial=s,e.last=s);const l=i[t]-n[t];if(l!=e.lastDiff){const i=this.keepXYWithinBounds(o,e.initial+e.initialDiff-l,e.direction);o.style[t]=`${i}px`,e.last=i}e.lastDiff=l};l(a,"top"),l(d,"left")}),200).then((e=>{i((()=>{null!=e&&window.clearInterval(e)}))}))}),"popupPositioning")}))}hasAnchoredPopup(){return this.popupList.some((e=>e.isAnchored))}isEventFromCurrentPopup(e,t){const{mouseEvent:i,touchEvent:s}=e,o=i||s;if(!o)return!1;const n=this.getPopupIndex(t);if(-1===n)return!1;for(let r=n;r<this.popupList.length;r++){if(ke(this.popupList[r].element,o))return!0}return this.isElementWithinCustomPopup(o.target)}isElementWithinCustomPopup(e){const t=j(this.gos);for(;e&&e!==t.body;){if(e.classList.contains("ag-custom-component-popup")||null===e.parentElement)return!0;e=e.parentElement}return!1}getWrapper(e){for(;!e.classList.contains("ag-popup")&&e.parentElement;)e=e.parentElement;return e.classList.contains("ag-popup")?e:null}setAlwaysOnTop(e,t){const i=this.getWrapper(e);i&&(i.classList.toggle("ag-always-on-top",!!t),t&&this.bringPopupToFront(i))}bringPopupToFront(e){const t=this.getPopupParent(),i=Array.prototype.slice.call(t.querySelectorAll(".ag-popup")),s=i.length,o=this.getWrapper(e);if(!o||s<=1||!t.contains(e))return;const n=[],r=[];for(const h of i)h!==o&&(h.classList.contains("ag-always-on-top")?r.push(h):n.push(h));const l=[],a=r.length,d=o.classList.contains("ag-always-on-top")||!a?[...n,...r,o]:[...n,o,...r];for(let h=0;h<=s;h++){const e=d[h];if(i[h]===d[h]||e===o)continue;e.querySelectorAll("div").forEach((e=>{0!==e.scrollTop&&l.push([e,e.scrollTop])})),0===h?t.insertAdjacentElement("afterbegin",e):d[h-1].insertAdjacentElement("afterend",e)}for(;l.length;){const e=l.pop();e[0].scrollTop=e[1]}}},Ll=["touchstart","touchend","touchmove","touchcancel"],kl=class{constructor(e="javascript"){this.frameworkName=e,this.renderingEngine="vanilla",this.wrapIncoming=e=>e(),this.wrapOutgoing=e=>e()}setInterval(e,t){return new As((i=>{i(window.setInterval(e,t))}))}addEventListener(e,t,i,s){const o=Pe(Ll,t);e.addEventListener(t,i,{capture:!!s,passive:o})}get shouldWrapOutgoing(){return!1}frameworkComponent(e){return null}isFrameworkComponent(e){return!1}getDocLink(e){return`https://www.ag-grid.com/${"solid"===this.frameworkName?"react":this.frameworkName}-data-grid${e?`/${e}`:""}`}},Ol=class extends Oe{constructor(){super(...arguments),this.beanName="cellNavigationService"}wireBeans(e){this.visibleColsService=e.visibleColsService,this.rowModel=e.rowModel,this.rowRenderer=e.rowRenderer,this.pinnedRowModel=e.pinnedRowModel,this.paginationService=e.paginationService,this.pageBoundsService=e.pageBoundsService}getNextCellToFocus(e,t,i=!1){return i?this.getNextCellToFocusWithCtrlPressed(e,t):this.getNextCellToFocusWithoutCtrlPressed(e,t)}getNextCellToFocusWithCtrlPressed(e,t){const i=e===gs.UP,s=e===gs.DOWN,o=e===gs.LEFT;let n,r;if(i||s)r=i?this.pageBoundsService.getFirstRow():this.pageBoundsService.getLastRow(),n=t.column;else{const e=this.visibleColsService.getAllCols(),i=this.gos.get("enableRtl");r=t.rowIndex,n=o!==i?e[0]:we(e)}return{rowIndex:r,rowPinned:null,column:n}}getNextCellToFocusWithoutCtrlPressed(e,t){let i=t,s=!1;for(;!s;){switch(e){case gs.UP:i=this.getCellAbove(i);break;case gs.DOWN:i=this.getCellBelow(i);break;case gs.RIGHT:i=this.gos.get("enableRtl")?this.getCellToLeft(i):this.getCellToRight(i);break;case gs.LEFT:i=this.gos.get("enableRtl")?this.getCellToRight(i):this.getCellToLeft(i);break;default:i=null,m("unknown key for navigation ",e)}s=!i||this.isCellGoodToFocusOn(i)}return i}isCellGoodToFocusOn(e){const t=e.column;let i;switch(e.rowPinned){case"top":i=this.pinnedRowModel.getPinnedTopRow(e.rowIndex);break;case"bottom":i=this.pinnedRowModel.getPinnedBottomRow(e.rowIndex);break;default:i=this.rowModel.getRow(e.rowIndex)}if(!i)return!1;return!t.isSuppressNavigable(i)}getCellToLeft(e){if(!e)return null;const t=this.visibleColsService.getColBefore(e.column);return t?{rowIndex:e.rowIndex,column:t,rowPinned:e.rowPinned}:null}getCellToRight(e){if(!e)return null;const t=this.visibleColsService.getColAfter(e.column);return t?{rowIndex:e.rowIndex,column:t,rowPinned:e.rowPinned}:null}getRowBelow(e){const t=e.rowIndex,i=e.rowPinned;let s=!1;if(this.isLastRowInContainer(e))switch(i){case"bottom":return null;case"top":return this.rowModel.isRowsToRender()?{rowIndex:this.pageBoundsService.getFirstRow(),rowPinned:null}:this.pinnedRowModel.isRowsToRender("bottom")?{rowIndex:0,rowPinned:"bottom"}:null;default:return this.pinnedRowModel.isRowsToRender("bottom")?{rowIndex:0,rowPinned:"bottom"}:null}else i&&(s=!0);const o=this.rowModel.getRow(e.rowIndex),n=s?void 0:this.getNextStickyPosition(o);return n||{rowIndex:t+1,rowPinned:i}}getNextStickyPosition(e,t){if(!Z(this.gos)||!e||!e.sticky)return;let i=[];i=this.rowRenderer.getStickyTopRowCtrls().some((t=>t.getRowNode().rowIndex===e.rowIndex))?[...this.rowRenderer.getStickyTopRowCtrls()].sort(((e,t)=>e.getRowNode().rowIndex-t.getRowNode().rowIndex)):[...this.rowRenderer.getStickyBottomRowCtrls()].sort(((e,t)=>t.getRowNode().rowIndex-e.getRowNode().rowIndex));const s=t?-1:1,o=i.findIndex((t=>t.getRowNode().rowIndex===e.rowIndex)),n=i[o+s];return n?{rowIndex:n.getRowNode().rowIndex,rowPinned:null}:void 0}getCellBelow(e){if(!e)return null;const t=this.getRowBelow(e);return t?{rowIndex:t.rowIndex,column:e.column,rowPinned:t.rowPinned}:null}isLastRowInContainer(e){const t=e.rowPinned,i=e.rowIndex;if("top"===t){return this.pinnedRowModel.getPinnedTopRowCount()-1<=i}if("bottom"===t){return this.pinnedRowModel.getPinnedBottomRowCount()-1<=i}return this.pageBoundsService.getLastRow()<=i}getRowAbove(e){const t=e.rowIndex,i=e.rowPinned;let s=!1;if(i?0===t:t===this.pageBoundsService.getFirstRow())return"top"===i?null:i&&this.rowModel.isRowsToRender()?this.getLastBodyCell():this.pinnedRowModel.isRowsToRender("top")?this.getLastFloatingTopRow():null;i&&(s=!0);const o=this.rowModel.getRow(e.rowIndex),n=s?void 0:this.getNextStickyPosition(o,!0);return n||{rowIndex:t-1,rowPinned:i}}getCellAbove(e){if(!e)return null;const t=this.getRowAbove({rowIndex:e.rowIndex,rowPinned:e.rowPinned});return t?{rowIndex:t.rowIndex,column:e.column,rowPinned:t.rowPinned}:null}getLastBodyCell(){return{rowIndex:this.pageBoundsService.getLastRow(),rowPinned:null}}getLastFloatingTopRow(){return{rowIndex:this.pinnedRowModel.getPinnedTopRowCount()-1,rowPinned:"top"}}getNextTabbedCell(e,t){return t?this.getNextTabbedCellBackwards(e):this.getNextTabbedCellForwards(e)}getNextTabbedCellForwards(e){var t;const i=this.visibleColsService.getAllCols();let s=e.rowIndex,o=e.rowPinned,n=this.visibleColsService.getColAfter(e.column);if(!n){n=i[0];const r=this.getRowBelow(e);if(D(r))return null;if(!r.rowPinned&&!((null==(t=this.paginationService)?void 0:t.isRowInPage(r))??1))return null;s=r?r.rowIndex:null,o=r?r.rowPinned:null}return{rowIndex:s,column:n,rowPinned:o}}getNextTabbedCellBackwards(e){var t;const i=this.visibleColsService.getAllCols();let s=e.rowIndex,o=e.rowPinned,n=this.visibleColsService.getColBefore(e.column);if(!n){n=we(i);const r=this.getRowAbove({rowIndex:e.rowIndex,rowPinned:e.rowPinned});if(D(r))return null;if(!r.rowPinned&&!((null==(t=this.paginationService)?void 0:t.isRowInPage(r))??1))return null;s=r?r.rowIndex:null,o=r?r.rowPinned:null}return{rowIndex:s,column:n,rowPinned:o}}},Gl=(e,t)=>{for(const i in t)t[i]=e;return t},Nl={...Gl("@ag-grid-community/core",{dispatchEvent:0,destroy:0,getGridId:0,getGridOption:0,isDestroyed:0,setGridOption:0,updateGridOptions:0,getState:0,setNodesSelected:0,selectAll:0,deselectAll:0,selectAllFiltered:0,deselectAllFiltered:0,selectAllOnCurrentPage:0,deselectAllOnCurrentPage:0,getSelectedNodes:0,getSelectedRows:0,redrawRows:0,setRowNodeExpanded:0,getRowNode:0,addRenderedRowListener:0,getRenderedNodes:0,forEachNode:0,getFirstDisplayedRow:0,getFirstDisplayedRowIndex:0,getLastDisplayedRow:0,getLastDisplayedRowIndex:0,getDisplayedRowAtIndex:0,getDisplayedRowCount:0,getModel:0,getVerticalPixelRange:0,getHorizontalPixelRange:0,ensureColumnVisible:0,ensureIndexVisible:0,ensureNodeVisible:0,getFocusedCell:0,clearFocusedCell:0,setFocusedCell:0,tabToNextCell:0,tabToPreviousCell:0,setFocusedHeader:0,addEventListener:0,addGlobalListener:0,removeEventListener:0,removeGlobalListener:0,expireValueCache:0,getValue:0,getCellValue:0,showColumnMenuAfterButtonClick:0,showColumnMenuAfterMouseClick:0,showColumnMenu:0,hidePopupMenu:0,onSortChanged:0,getPinnedTopRowCount:0,getPinnedBottomRowCount:0,getPinnedTopRow:0,getPinnedBottomRow:0,showLoadingOverlay:0,showNoRowsOverlay:0,hideOverlay:0,setGridAriaProperty:0,refreshCells:0,flashCells:0,refreshHeader:0,isAnimationFrameQueueEmpty:0,flushAllAnimationFrames:0,getSizesForCurrentTheme:0,getCellRendererInstances:0,addRowDropZone:0,removeRowDropZone:0,getRowDropZoneParams:0,getColumnDef:0,getColumnDefs:0,sizeColumnsToFit:0,setColumnGroupOpened:0,getColumnGroup:0,getProvidedColumnGroup:0,getDisplayNameForColumn:0,getDisplayNameForColumnGroup:0,getColumn:0,getColumns:0,applyColumnState:0,getColumnState:0,resetColumnState:0,getColumnGroupState:0,setColumnGroupState:0,resetColumnGroupState:0,isPinning:0,isPinningLeft:0,isPinningRight:0,getDisplayedColAfter:0,getDisplayedColBefore:0,setColumnVisible:0,setColumnsVisible:0,setColumnPinned:0,setColumnsPinned:0,getAllGridColumns:0,getDisplayedLeftColumns:0,getDisplayedCenterColumns:0,getDisplayedRightColumns:0,getAllDisplayedColumns:0,getAllDisplayedVirtualColumns:0,moveColumn:0,moveColumnByIndex:0,moveColumns:0,setColumnWidth:0,setColumnWidths:0,getLeftDisplayedColumnGroups:0,getCenterDisplayedColumnGroups:0,getRightDisplayedColumnGroups:0,getAllDisplayedColumnGroups:0,autoSizeColumn:0,autoSizeColumns:0,autoSizeAllColumns:0,undoCellEditing:0,redoCellEditing:0,getCellEditorInstances:0,getEditingCells:0,stopEditing:0,startEditingCell:0,getCurrentUndoSize:0,getCurrentRedoSize:0,isAnyFilterPresent:0,onFilterChanged:0,isColumnFilterPresent:0,getFilterInstance:0,getColumnFilterInstance:0,destroyFilter:0,setFilterModel:0,getFilterModel:0,getColumnFilterModel:0,setColumnFilterModel:0,showColumnFilter:0,isQuickFilterPresent:0,getQuickFilter:0,resetQuickFilter:0,paginationIsLastPageFound:0,paginationGetPageSize:0,paginationGetCurrentPage:0,paginationGetTotalPages:0,paginationGetRowCount:0,paginationGoToNextPage:0,paginationGoToPreviousPage:0,paginationGoToFirstPage:0,paginationGoToLastPage:0,paginationGoToPage:0,expandAll:0,collapseAll:0,onRowHeightChanged:0,setRowCount:0,getCacheBlockState:0,isLastRowIndexKnown:0}),...Gl("@ag-grid-community/client-side-row-model",{onGroupExpandedOrCollapsed:0,refreshClientSideRowModel:0,isRowDataEmpty:0,forEachLeafNode:0,forEachNodeAfterFilter:0,forEachNodeAfterFilterAndSort:0,resetRowHeights:0,applyTransaction:0,applyTransactionAsync:0,flushAsyncTransactions:0,getBestCostNodeSelection:0}),...Gl("@ag-grid-community/csv-export",{getDataAsCsv:0,exportDataAsCsv:0}),...Gl("@ag-grid-community/infinite-row-model",{refreshInfiniteCache:0,purgeInfiniteCache:0,getInfiniteRowCount:0}),...Gl("@ag-grid-enterprise/advanced-filter",{getAdvancedFilterModel:0,setAdvancedFilterModel:0,showAdvancedFilterBuilder:0,hideAdvancedFilterBuilder:0}),...Gl("@ag-grid-enterprise/charts",{getChartModels:0,getChartRef:0,getChartImageDataURL:0,downloadChart:0,openChartToolPanel:0,closeChartToolPanel:0,createRangeChart:0,createPivotChart:0,createCrossFilterChart:0,updateChart:0,restoreChart:0}),...Gl("@ag-grid-enterprise/clipboard",{copyToClipboard:0,cutToClipboard:0,copySelectedRowsToClipboard:0,copySelectedRangeToClipboard:0,copySelectedRangeDown:0,pasteFromClipboard:0}),...Gl("@ag-grid-enterprise/excel-export",{getDataAsExcel:0,exportDataAsExcel:0,getSheetDataForExcel:0,getMultipleSheetsAsExcel:0,exportMultipleSheetsAsExcel:0}),...Gl("@ag-grid-enterprise/master-detail",{addDetailGridInfo:0,removeDetailGridInfo:0,getDetailGridInfo:0,forEachDetailGridInfo:0}),...Gl("@ag-grid-enterprise/menu",{showContextMenu:0,showColumnChooser:0,hideColumnChooser:0}),...Gl("@ag-grid-enterprise/range-selection",{getCellRanges:0,addCellRange:0,clearRangeSelection:0,clearCellSelection:0}),...Gl("@ag-grid-enterprise/row-grouping",{addAggFunc:0,addAggFuncs:0,clearAggFuncs:0,setColumnAggFunc:0,isPivotMode:0,getPivotResultColumn:0,setValueColumns:0,getValueColumns:0,removeValueColumn:0,removeValueColumns:0,addValueColumn:0,addValueColumns:0,setRowGroupColumns:0,removeRowGroupColumn:0,removeRowGroupColumns:0,addRowGroupColumn:0,addRowGroupColumns:0,getRowGroupColumns:0,moveRowGroupColumn:0,setPivotColumns:0,removePivotColumn:0,removePivotColumns:0,addPivotColumn:0,addPivotColumns:0,getPivotColumns:0,setPivotResultColumns:0,getPivotResultColumns:0}),...Gl("@ag-grid-enterprise/server-side-row-model",{getServerSideSelectionState:0,setServerSideSelectionState:0,applyServerSideTransaction:0,applyServerSideTransactionAsync:0,applyServerSideRowData:0,retryServerSideLoads:0,flushServerSideAsyncTransactions:0,refreshServerSide:0,getServerSideGroupLevelState:0}),...Gl("@ag-grid-enterprise/side-bar",{isSideBarVisible:0,setSideBarVisible:0,setSideBarPosition:0,openToolPanel:0,closeToolPanel:0,getOpenedToolPanel:0,refreshToolPanel:0,isToolPanelShowing:0,getToolPanelInstance:0,getSideBar:0}),...Gl("@ag-grid-enterprise/status-bar",{getStatusPanel:0})},Hl={isDestroyed:()=>!0,destroy(){},preConstruct(){},postConstruct(){},preWireBeans(){},wireBeans(){}},Bl=(e,t)=>e.eventService.dispatchEvent(t),Vl=class{};Reflect.defineProperty(Vl,"name",{value:"GridApi"});var Wl=class extends Oe{constructor(){super(),this.beanName="apiFunctionService",this.api=new Vl,this.fns={...Hl,dispatchEvent:Bl},this.beans=null,this.preDestroyLink="";const{api:e}=this;for(const t in Nl)e[t]=this.makeApi(t)[t]}wireBeans(e){this.beans=e}postConstruct(){this.preDestroyLink=this.frameworkOverrides.getDocLink("grid-lifecycle/#grid-pre-destroyed")}addFunction(e,t){var i;const{fns:s,beans:o}=this;s!==Hl&&(s[e]=(null==(i=null==o?void 0:o.validationService)?void 0:i.validateApiFunction(e,t))??t)}makeApi(e){return{[e]:(...t)=>{const{beans:i,fns:{[e]:s}}=this;return s?s(i,...t):this.apiNotFound(e)}}}apiNotFound(e){const{beans:t,gos:i,preDestroyLink:s}=this;if(t){const t=Nl[e];i.assertModuleRegistered(t,`api.${e}`)&&m(`API function '${e}' not registered to module '${t}'`)}else m(`Grid API function ${e}() cannot be called as the grid has been destroyed.\nEither clear local references to the grid api, when it is destroyed, or check gridApi.isDestroyed() to avoid calling methods against a destroyed grid.\nTo run logic when the grid is about to be destroyed use the gridPreDestroy event. See: ${s}`)}destroy(){super.destroy(),this.fns=Hl,this.beans=null}};function zl(e){return{beanName:"gridApi",bean:e.getBean("apiFunctionService").api}}var Ul=class extends Oe{constructor(){super(...arguments),this.beanName="columnDefFactory"}buildColumnDefs(e,t,i){const s=[],o={};return e.forEach((e=>{let n=!0,r=this.createDefFromColumn(e,t,i),l=e.getOriginalParent(),a=null;for(;l;){let e=null;if(l.isPadding()){l=l.getOriginalParent();continue}const t=o[l.getGroupId()];if(t){t.children.push(r),n=!1;break}if(e=this.createDefFromGroup(l),e&&(e.children=[r],o[e.groupId]=e,r=e,l=l.getOriginalParent()),null!=l&&a===l){n=!1;break}a=l}n&&s.push(r)})),s}createDefFromGroup(e){const t=Xe(e.getColGroupDef(),["children"]);return t&&(t.groupId=e.getGroupId()),t}createDefFromColumn(e,t,i){const s=Xe(e.getColDef());return s.colId=e.getColId(),s.width=e.getActualWidth(),s.rowGroup=e.isRowGroupActive(),s.rowGroupIndex=e.isRowGroupActive()?t.indexOf(e):null,s.pivot=e.isPivotActive(),s.pivotIndex=e.isPivotActive()?i.indexOf(e):null,s.aggFunc=e.isValueActive()?e.getAggFunc():null,s.hide=!e.isVisible()||void 0,s.pinned=e.isPinned()?e.getPinned():null,s.sort=e.getSort()?e.getSort():null,s.sortIndex=null!=e.getSortIndex()?e.getSortIndex():null,s}},Kl=class extends Oe{constructor(){super(...arguments),this.beanName="columnEventDispatcher"}visibleCols(e){this.eventService.dispatchEvent({type:"displayedColumnsChanged",source:e})}gridColumns(){this.eventService.dispatchEvent({type:"gridColumnsChanged"})}headerHeight(e){this.eventService.dispatchEvent({type:"columnHeaderHeightChanged",column:e,columns:[e],source:"autosizeColumnHeaderHeight"})}groupHeaderHeight(e){this.eventService.dispatchEvent({type:"columnGroupHeaderHeightChanged",columnGroup:e,source:"autosizeColumnGroupHeaderHeight"})}groupOpened(e){this.eventService.dispatchEvent({type:"columnGroupOpened",columnGroup:1===e.length?e[0]:void 0,columnGroups:e})}rowGroupChanged(e,t){this.eventService.dispatchEvent({type:"columnRowGroupChanged",columns:e,column:1===e.length?e[0]:null,source:t})}genericColumnEvent(e,t,i){this.eventService.dispatchEvent({type:e,columns:t,column:1===t.length?t[0]:null,source:i})}pivotModeChanged(){this.eventService.dispatchEvent({type:"columnPivotModeChanged"})}virtualColumnsChanged(e){this.eventService.dispatchEvent({type:"virtualColumnsChanged",afterScroll:e})}newColumnsLoaded(e){this.eventService.dispatchEvent({type:"newColumnsLoaded",source:e})}everythingChanged(e){this.eventService.dispatchEvent({type:"columnEverythingChanged",source:e})}columnMoved(e){const{movedColumns:t,source:i,toIndex:s,finished:o}=e;this.eventService.dispatchEvent({type:"columnMoved",columns:t,column:t&&1===t.length?t[0]:null,toIndex:s,finished:o,source:i})}columnPinned(e,t){if(!e.length)return;const i=1===e.length?e[0]:null,s=this.getCommonValue(e,(e=>e.getPinned()));this.eventService.dispatchEvent({type:"columnPinned",pinned:null!=s?s:null,columns:e,column:i,source:t})}columnVisible(e,t){if(!e.length)return;const i=1===e.length?e[0]:null,s=this.getCommonValue(e,(e=>e.isVisible()));this.eventService.dispatchEvent({type:"columnVisible",visible:s,columns:e,column:i,source:t})}getCommonValue(e,t){if(!e||0==e.length)return;const i=t(e[0]);for(let s=1;s<e.length;s++)if(i!==t(e[s]))return;return i}columnChanged(e,t,i){this.eventService.dispatchEvent({type:e,columns:t,column:t&&1==t.length?t[0]:null,source:i})}columnResized(e,t,i,s=null){e&&e.length&&this.eventService.dispatchEvent({type:"columnResized",columns:e,column:1===e.length?e[0]:null,flexColumns:s,finished:t,source:i})}},_l=class extends Oe{constructor(){super(...arguments),this.beanName="columnGetStateService"}wireBeans(e){this.columnModel=e.columnModel,this.funcColsService=e.funcColsService}getColumnState(){if(D(this.columnModel.getColDefCols())||!this.columnModel.isAlive())return[];const e=this.columnModel.getAllCols().map((e=>this.createStateItemFromColumn(e)));return this.orderColumnStateList(e),e}createStateItemFromColumn(e){const t=this.funcColsService.getRowGroupColumns(),i=this.funcColsService.getPivotColumns(),s=e.isRowGroupActive()?t.indexOf(e):null,o=e.isPivotActive()?i.indexOf(e):null,n=e.isValueActive()?e.getAggFunc():null,r=null!=e.getSort()?e.getSort():null,l=null!=e.getSortIndex()?e.getSortIndex():null,a=null!=e.getFlex()&&e.getFlex()>0?e.getFlex():null;return{colId:e.getColId(),width:e.getActualWidth(),hide:!e.isVisible(),pinned:e.getPinned(),sort:r,sortIndex:l,aggFunc:n,rowGroup:e.isRowGroupActive(),rowGroupIndex:s,pivot:e.isPivotActive(),pivotIndex:o,flex:a}}orderColumnStateList(e){const t=this.columnModel.getCols(),i=new Map(t.map(((e,t)=>[e.getColId(),t])));e.sort(((e,t)=>(i.has(e.colId)?i.get(e.colId):-1)-(i.has(t.colId)?i.get(t.colId):-1)))}},$l=class extends Oe{constructor(){super(...arguments),this.beanName="columnGroupStateService"}wireBeans(e){this.columnModel=e.columnModel,this.columnAnimationService=e.columnAnimationService,this.eventDispatcher=e.columnEventDispatcher,this.visibleColsService=e.visibleColsService}getColumnGroupState(){const e=[];return ht(null,this.columnModel.getColTree(),(t=>{Ge(t)&&e.push({groupId:t.getGroupId(),open:t.isExpanded()})})),e}resetColumnGroupState(e){const t=this.columnModel.getColDefColTree();if(!t)return;const i=[];ht(null,t,(e=>{if(Ge(e)){const t=e.getColGroupDef(),s={groupId:e.getGroupId(),open:t?t.openByDefault:void 0};i.push(s)}})),this.setColumnGroupState(i,e)}setColumnGroupState(e,t){if(!this.columnModel.getColTree())return;this.columnAnimationService.start();const i=[];e.forEach((e=>{const t=e.groupId,s=e.open,o=this.columnModel.getProvidedColGroup(t);o&&o.isExpanded()!==s&&(o.setExpanded(s),i.push(o))})),this.visibleColsService.refresh(t,!0),i.length&&this.eventDispatcher.groupOpened(i),this.columnAnimationService.finish()}},jl=class extends Oe{constructor(){super(...arguments),this.beanName="columnViewportService",this.colsWithinViewport=[],this.headerColsWithinViewport=[],this.colsWithinViewportHash="",this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={}}wireBeans(e){this.visibleColsService=e.visibleColsService,this.columnModel=e.columnModel,this.eventDispatcher=e.columnEventDispatcher}postConstruct(){this.suppressColumnVirtualisation=this.gos.get("suppressColumnVirtualisation")}setScrollPosition(e,t,i=!1){const s=this.visibleColsService.isBodyWidthDirty();if(!(e===this.scrollWidth&&t===this.scrollPosition&&!s)){if(this.scrollWidth=e,this.scrollPosition=t,this.visibleColsService.setBodyWidthDirty(),this.gos.get("enableRtl")){const e=this.visibleColsService.getBodyContainerWidth();this.viewportLeft=e-this.scrollPosition-this.scrollWidth,this.viewportRight=e-this.scrollPosition}else this.viewportLeft=this.scrollPosition,this.viewportRight=this.scrollWidth+this.scrollPosition;this.columnModel.isReady()&&this.checkViewportColumns(i)}}getHeadersToRender(e,t){let i;switch(e){case"left":i=this.rowsOfHeadersToRenderLeft[t];break;case"right":i=this.rowsOfHeadersToRenderRight[t];break;default:i=this.rowsOfHeadersToRenderCenter[t]}return i||[]}extractViewportColumns(){const e=this.visibleColsService.getCenterCols();this.isColumnVirtualisationSuppressed()?(this.colsWithinViewport=e,this.headerColsWithinViewport=e):(this.colsWithinViewport=e.filter(this.isColumnInRowViewport.bind(this)),this.headerColsWithinViewport=e.filter(this.isColumnInHeaderViewport.bind(this)))}isColumnVirtualisationSuppressed(){return this.suppressColumnVirtualisation||0===this.viewportRight}clear(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.colsWithinViewportHash=""}isColumnInHeaderViewport(e){return!(!e.isAutoHeaderHeight()&&!this.isAnyParentAutoHeaderHeight(e))||this.isColumnInRowViewport(e)}isAnyParentAutoHeaderHeight(e){for(;e;){if(e.isAutoHeaderHeight())return!0;e=e.getParent()}return!1}isColumnInRowViewport(e){if(e.isAutoHeight())return!0;const t=e.getLeft()||0,i=t+e.getActualWidth(),s=this.viewportLeft-200,o=this.viewportRight+200;return!(t<s&&i<s)&&!(t>o&&i>o)}getViewportColumns(){const e=this.visibleColsService.getLeftCols(),t=this.visibleColsService.getRightCols();return this.colsWithinViewport.concat(e).concat(t)}getColsWithinViewport(e){if(!this.columnModel.isColSpanActive())return this.colsWithinViewport;const t=this.isColumnVirtualisationSuppressed()?void 0:this.isColumnInRowViewport.bind(this),i=this.visibleColsService.getColsCenter();return this.visibleColsService.getColsForRow(e,i,t,(e=>{const t=e.getLeft();return P(t)&&t>this.viewportLeft}))}checkViewportColumns(e=!1){this.extractViewport()&&this.eventDispatcher.virtualColumnsChanged(e)}calculateHeaderRows(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={};const e={},t=this.visibleColsService.getLeftCols(),i=this.visibleColsService.getRightCols();this.headerColsWithinViewport.concat(t).concat(i).forEach((t=>e[t.getId()]=!0));const s=(t,i,o)=>{let n=!1;for(let r=0;r<t.length;r++){const l=t[r];let a=!1;if(nt(l))a=!0===e[l.getId()];else{const e=l.getDisplayedChildren();e&&(a=s(e,i,o+1))}a&&(n=!0,i[o]||(i[o]=[]),i[o].push(l))}return n};s(this.visibleColsService.getTreeLeft(),this.rowsOfHeadersToRenderLeft,0),s(this.visibleColsService.getTreeRight(),this.rowsOfHeadersToRenderRight,0),s(this.visibleColsService.getTreeCenter(),this.rowsOfHeadersToRenderCenter,0)}extractViewport(){this.extractViewportColumns();const e=this.getViewportColumns().map((e=>`${e.getId()}-${e.getPinned()||"normal"}`)).join("#"),t=this.colsWithinViewportHash!==e;return t&&(this.colsWithinViewportHash=e,this.calculateHeaderRows()),t}},ql=class extends Oe{constructor(){super(...arguments),this.beanName="agComponentUtils"}wireBeans(e){this.componentMetadataProvider=e.componentMetadataProvider}adaptFunction(e,t){const i=this.componentMetadataProvider.retrieve(e);return i&&i.functionAdapter?i.functionAdapter(t):null}adaptCellRendererFunction(e){return class{refresh(){return!1}getGui(){return this.eGui}init(t){const i=e(t),s=typeof i;this.eGui="string"!==s&&"number"!==s&&"boolean"!==s?null!=i?i:Si("<span></span>"):Si("<span>"+i+"</span>")}}}doesImplementIComponent(e){return!!e&&(e.prototype&&"getGui"in e.prototype)}},Ql=class extends Oe{constructor(){super(...arguments),this.beanName="componentMetadataProvider"}wireBeans(e){this.agComponentUtils=e.agComponentUtils}postConstruct(){this.componentMetaData={dateComponent:{mandatoryMethodList:["getDate","setDate"],optionalMethodList:["afterGuiAttached","setInputPlaceholder","setInputAriaLabel","setDisabled","onParamsUpdated","refresh"]},detailCellRenderer:{mandatoryMethodList:[],optionalMethodList:["refresh"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},dragAndDropImageComponent:{mandatoryMethodList:["setIcon","setLabel"],optionalMethodList:[]},headerComponent:{mandatoryMethodList:[],optionalMethodList:["refresh"]},headerGroupComponent:{mandatoryMethodList:[],optionalMethodList:[]},loadingCellRenderer:{mandatoryMethodList:[],optionalMethodList:[],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},loadingOverlayComponent:{mandatoryMethodList:[],optionalMethodList:["refresh"]},noRowsOverlayComponent:{mandatoryMethodList:[],optionalMethodList:["refresh"]},floatingFilterComponent:{mandatoryMethodList:["onParentModelChanged"],optionalMethodList:["afterGuiAttached","onParamsUpdated","refresh"]},cellRenderer:{mandatoryMethodList:[],optionalMethodList:["refresh","afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},cellEditor:{mandatoryMethodList:["getValue"],optionalMethodList:["isPopup","isCancelBeforeStart","isCancelAfterEnd","getPopupPosition","focusIn","focusOut","afterGuiAttached","refresh"]},innerRenderer:{mandatoryMethodList:[],optionalMethodList:["afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},fullWidthCellRenderer:{mandatoryMethodList:[],optionalMethodList:["refresh","afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},groupRowRenderer:{mandatoryMethodList:[],optionalMethodList:["afterGuiAttached"],functionAdapter:this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)},filter:{mandatoryMethodList:["isFilterActive","doesFilterPass","getModel","setModel"],optionalMethodList:["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onFloatingFilterChanged","onAnyFilterChanged","refresh"]},statusPanel:{mandatoryMethodList:[],optionalMethodList:["refresh"]},toolPanel:{mandatoryMethodList:[],optionalMethodList:["refresh","getState"]},tooltipComponent:{mandatoryMethodList:[],optionalMethodList:[]},menuItem:{mandatoryMethodList:[],optionalMethodList:["setActive","select","setExpanded","configureDefaults"]}}}retrieve(e){return this.componentMetaData[e]}},Yl=Object.fromEntries(["rowPositionUtils","cellPositionUtils","headerPositionUtils","paginationAutoPageSizeService","apiFunctionService","gridApi","userComponentRegistry","agComponentUtils","componentMetadataProvider","resizeObserverService","userComponentFactory","rowContainerHeightService","horizontalResizeService","localeService","validationService","pinnedRowModel","dragService","visibleColsService","eventService","gos","popupService","selectionService","columnFilterService","quickFilterService","filterManager","columnModel","headerNavigationService","pageBoundsService","paginationService","pageBoundsListener","rowRenderer","expressionService","columnFactory","alignedGridsService","navigationService","valueCache","valueService","loggerFactory","autoWidthCalculator","filterMenuFactory","dragAndDropService","focusService","mouseEventService","environment","cellNavigationService","stylingService","scrollVisibleService","sortController","columnHoverService","columnAnimationService","selectableService","autoColService","controlsColService","changeDetectionService","animationFrameService","undoRedoService","columnDefFactory","rowCssClassCalculator","rowNodeBlockLoader","rowNodeSorter","ctrlsService","pinnedWidthService","rowNodeEventThrottle","ctrlsFactory","dataTypeService","syncService","overlayService","stateService","expansionService","apiEventService","ariaAnnouncementService","menuService","columnApplyStateService","columnEventDispatcher","columnMoveService","columnAutosizeService","columnGetStateService","columnGroupStateService","columnSizeService","funcColsService","columnNameService","columnViewportService","pivotResultColsService","showRowGroupColsService"].map(((e,t)=>[e,t])));function Xl(e,t){return((e.beanName?Yl[e.beanName]:void 0)??Number.MAX_SAFE_INTEGER)-((t.beanName?Yl[t.beanName]:void 0)??Number.MAX_SAFE_INTEGER)}function Jl(e,t){return"gridDestroyService"===(null==e?void 0:e.beanName)?-1:0}var Zl=class extends Oe{constructor(){super(...arguments),this.beanName="ctrlsFactory",this.registry={}}register(e){this.registry[e.name]=e.classImp}getInstance(e,...t){const i=this.registry[e];if(null!=i)return new i(...t)}},ea=class extends Oe{constructor(){super(...arguments),this.beanName="ctrlsService",this.params={gridCtrl:void 0,gridBodyCtrl:void 0,center:void 0,left:void 0,right:void 0,bottomCenter:void 0,bottomLeft:void 0,bottomRight:void 0,topCenter:void 0,topLeft:void 0,topRight:void 0,stickyTopCenter:void 0,stickyTopLeft:void 0,stickyTopRight:void 0,stickyBottomCenter:void 0,stickyBottomLeft:void 0,stickyBottomRight:void 0,fakeHScrollComp:void 0,fakeVScrollComp:void 0,gridHeaderCtrl:void 0,centerHeader:void 0,leftHeader:void 0,rightHeader:void 0},this.ready=!1,this.readyCallbacks=[],this.runReadyCallbacksAsync=!1}wireBeans(e){var t,i;this.runReadyCallbacksAsync=(null==(i=(t=e.frameworkOverrides).runWhenReadyAsync)?void 0:i.call(t))??!1}postConstruct(){this.addEventListener("ready",(()=>{this.updateReady(),this.ready&&(this.readyCallbacks.forEach((e=>e(this.params))),this.readyCallbacks.length=0)}),this.runReadyCallbacksAsync)}updateReady(){this.ready=Object.values(this.params).every((e=>(null==e?void 0:e.isAlive())??!1))}whenReady(e,t){this.ready?t(this.params):this.readyCallbacks.push(t),e.addDestroyFunc((()=>{const e=this.readyCallbacks.indexOf(t);e>=0&&this.readyCallbacks.splice(e,1)}))}register(e,t){this.params[e]=t,this.updateReady(),this.ready&&this.dispatchLocalEvent({type:"ready"}),t.addDestroyFunc((()=>{this.updateReady()}))}get(e){return this.params[e]}getGridBodyCtrl(){return this.params.gridBodyCtrl}getHeaderRowContainerCtrls(){const{leftHeader:e,centerHeader:t,rightHeader:i}=this.params;return[e,i,t]}getHeaderRowContainerCtrl(e){const t=this.params;switch(e){case"left":return t.leftHeader;case"right":return t.rightHeader;default:return t.centerHeader}}},ta=class extends Oe{constructor(){super(...arguments),this.beanName="cellPositionUtils"}createId(e){const{rowIndex:t,rowPinned:i,column:s}=e;return this.createIdFromValues({rowIndex:t,column:s,rowPinned:i})}createIdFromValues(e){const{rowIndex:t,rowPinned:i,column:s}=e;return`${t}.${null==i?"null":i}.${s.getId()}`}equals(e,t){const i=e.column===t.column,s=e.rowPinned===t.rowPinned,o=e.rowIndex===t.rowIndex;return i&&s&&o}},ia=class extends Oe{constructor(){super(...arguments),this.beanName="rowNodeEventThrottle",this.events=[]}wireBeans(e){this.animationFrameService=e.animationFrameService,this.rowModel=e.rowModel}postConstruct(){G(this.gos)&&(this.clientSideRowModel=this.rowModel)}dispatchExpanded(e,t){if(null==this.clientSideRowModel)return void this.eventService.dispatchEvent(e);this.events.push(e);const i=()=>{this.clientSideRowModel&&this.clientSideRowModel.onRowGroupOpened(),this.events.forEach((e=>this.eventService.dispatchEvent(e))),this.events=[]};t?i():(null==this.dispatchExpandedDebounced&&(this.dispatchExpandedDebounced=this.animationFrameService.debounce(i)),this.dispatchExpandedDebounced())}},sa=class extends Oe{constructor(){super(...arguments),this.beanName="rowPositionUtils"}wireBeans(e){this.rowModel=e.rowModel,this.pinnedRowModel=e.pinnedRowModel,this.pageBoundsService=e.pageBoundsService}getFirstRow(){let e,t=0;return this.pinnedRowModel.getPinnedTopRowCount()?e="top":this.rowModel.getRowCount()?(e=null,t=this.pageBoundsService.getFirstRow()):this.pinnedRowModel.getPinnedBottomRowCount()&&(e="bottom"),void 0===e?null:{rowIndex:t,rowPinned:e}}getLastRow(){let e,t=null;const i=this.pinnedRowModel.getPinnedBottomRowCount(),s=this.pinnedRowModel.getPinnedTopRowCount();return i?(t="bottom",e=i-1):this.rowModel.getRowCount()?(t=null,e=this.pageBoundsService.getLastRow()):s&&(t="top",e=s-1),void 0===e?null:{rowIndex:e,rowPinned:t}}getRowNode(e){switch(e.rowPinned){case"top":return this.pinnedRowModel.getPinnedTopRow(e.rowIndex);case"bottom":return this.pinnedRowModel.getPinnedBottomRow(e.rowIndex);default:return this.rowModel.getRow(e.rowIndex)}}sameRow(e,t){return!e&&!t||!(e&&!t||!e&&t)&&(e.rowIndex===t.rowIndex&&e.rowPinned==t.rowPinned)}before(e,t){switch(e.rowPinned){case"top":if("top"!==t.rowPinned)return!0;break;case"bottom":if("bottom"!==t.rowPinned)return!1;break;default:if(P(t.rowPinned))return"top"!==t.rowPinned}return e.rowIndex<t.rowIndex}},oa={cssName:"--ag-row-height",changeKey:"rowHeightChanged",defaultValue:42},na={cssName:"--ag-header-height",changeKey:"headerHeightChanged",defaultValue:48},ra={cssName:"--ag-list-item-height",changeKey:"listItemHeightChanged",defaultValue:24},la=class extends Oe{constructor(){super(...arguments),this.beanName="environment",this.sizeEls=new Map,this.lastKnownValues=new Map,this.ancestorThemeClasses=[],this.sizesMeasured=!1,this.gridTheme=null}wireBeans(e){this.resizeObserverService=e.resizeObserverService,this.eGridDiv=e.eGridDiv}postConstruct(){this.addManagedPropertyListener("theme",(()=>this.handleThemeGridOptionChange())),this.handleThemeGridOptionChange(),this.addDestroyFunc((()=>this.stopUsingTheme())),this.addManagedPropertyListener("rowHeight",(()=>this.refreshRowHeightVariable())),this.ancestorThemeClasses=this.readAncestorThemeClasses(),this.setUpThemeClassObservers(),this.getSizeEl(oa),this.getSizeEl(na),this.getSizeEl(ra)}getDefaultRowHeight(){return this.getCSSVariablePixelValue(oa)}getDefaultHeaderHeight(){return this.getCSSVariablePixelValue(na)}getDefaultColumnMinWidth(){return Math.min(36,this.getDefaultRowHeight())}getDefaultListItemHeight(){return this.getCSSVariablePixelValue(ra)}hasMeasuredSizes(){return this.sizesMeasured}getGridThemeClass(){var e;return(null==(e=this.gridTheme)?void 0:e.getCssClass())||null}getThemeClasses(){return this.gridTheme?[this.gridTheme.getCssClass()]:this.ancestorThemeClasses}applyThemeClasses(e){const t=this.getThemeClasses();for(const i of Array.from(e.classList))i.startsWith("ag-theme-")&&!t.includes(i)&&e.classList.remove(i);e.classList.add(...t)}refreshRowHeightVariable(){const e=this.eGridDiv.style.getPropertyValue("--ag-line-height").trim(),t=this.gos.get("rowHeight");if(null==t||isNaN(t)||!isFinite(t))return null!==e&&this.eGridDiv.style.setProperty("--ag-line-height",null),-1;const i=`${t}px`;return e!=i?(this.eGridDiv.style.setProperty("--ag-line-height",i),t):""!=e?parseFloat(e):-1}getCSSVariablePixelValue(e){const t=this.lastKnownValues.get(e);if(null!=t)return t;const i=this.measureSizeEl(e);return"detached"===i||"no-styles"===i?e.defaultValue:(this.lastKnownValues.set(e,i),i)}measureSizeEl(e){const t=this.getSizeEl(e);if(null==t.offsetParent)return"detached";const i=t.offsetWidth;return i===da?"no-styles":(this.sizesMeasured=!0,i)}getSizeEl(e){let t=this.sizeEls.get(e);if(t)return t;let i=this.eMeasurementContainer;i||(i=this.eMeasurementContainer=document.createElement("div"),i.className="ag-measurement-container",this.gos.get("theme")&&this.applyThemeClasses(i),this.eGridDiv.appendChild(i)),t=document.createElement("div"),t.style.width=`var(${e.cssName}, ${da}px)`,i.appendChild(t),this.sizeEls.set(e,t);let s=this.measureSizeEl(e);"no-styles"===s&&m(`no value for ${e.cssName}. This usually means that the grid has been initialised before styles have been loaded. The default value of ${e.defaultValue} will be used and updated when styles load.`);const o=this.resizeObserverService.observeResize(t,(()=>{const t=this.measureSizeEl(e);"detached"!==t&&"no-styles"!==t&&(this.lastKnownValues.set(e,t),t!==s&&(s=t,this.fireGridStylesChangedEvent(e.changeKey)))}));return this.addDestroyFunc((()=>o())),t}fireGridStylesChangedEvent(e){this.eventService.dispatchEvent({type:"gridStylesChanged",[e]:!0})}setUpThemeClassObservers(){const e=new MutationObserver((()=>{const e=this.readAncestorThemeClasses();aa(e,this.ancestorThemeClasses)||(this.ancestorThemeClasses=e,this.fireGridStylesChangedEvent("themeChanged"))}));let t=this.eGridDiv;for(;t;)e.observe(t||this.eGridDiv,{attributes:!0,attributeFilter:["class"]}),t=t.parentElement;this.addDestroyFunc((()=>e.disconnect()))}readAncestorThemeClasses(){let e=this.eGridDiv;const t=[];for(;e;){const i=Array.from(e.classList).filter((e=>e.startsWith("ag-theme-")));for(const e of i)t.includes(e)||t.unshift(e);e=e.parentElement}return Object.freeze(t)}handleThemeGridOptionChange(){const{gos:e,eMeasurementContainer:t,gridTheme:i}=this,s=e.get("theme")||null;s!==i&&(null==i||i.stopUse(),this.gridTheme=s,null==s||s.startUse({loadThemeGoogleFonts:e.get("loadThemeGoogleFonts"),container:this.eGridDiv}),t&&this.applyThemeClasses(t),this.fireGridStylesChangedEvent("themeChanged"))}stopUsingTheme(){var e;null==(e=this.gridTheme)||e.stopUse(),this.gridTheme=null}},aa=(e,t)=>e.length===t.length&&-1===e.findIndex(((i,s)=>e[s]!==t[s])),da=15538,ha=class extends Oe{constructor(){super(...arguments),this.beanName="eventService",this.globalEventService=new h}wireBeans(e){this.globalEventListener=e.globalEventListener,this.globalSyncEventListener=e.globalSyncEventListener}postConstruct(){if(this.globalEventListener){const e=V(this.gos);this.addGlobalListener(this.globalEventListener,e)}this.globalSyncEventListener&&this.addGlobalListener(this.globalSyncEventListener,!1)}addEventListener(e,t,i){this.globalEventService.addEventListener(e,t,i)}removeEventListener(e,t,i){this.globalEventService.removeEventListener(e,t,i)}addGlobalListener(e,t=!1){this.globalEventService.addGlobalListener(e,t)}removeGlobalListener(e,t=!1){this.globalEventService.removeGlobalListener(e,t)}dispatchLocalEvent(){}dispatchEvent(e){this.globalEventService.dispatchEvent(this.gos.addGridCommonParams(e))}dispatchEventOnce(e){this.globalEventService.dispatchEventOnce(this.gos.addGridCommonParams(e))}},ua=class e extends Oe{constructor(){super(...arguments),this.beanName="focusService"}wireBeans(e){this.eGridDiv=e.eGridDiv,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.headerNavigationService=e.headerNavigationService,this.headerPositionUtils=e.headerPositionUtils,this.rowRenderer=e.rowRenderer,this.rowPositionUtils=e.rowPositionUtils,this.cellPositionUtils=e.cellPositionUtils,this.navigationService=e.navigationService,this.ctrlsService=e.ctrlsService,this.filterManager=e.filterManager,this.rangeService=e.rangeService,this.advancedFilterService=e.advancedFilterService,this.overlayService=e.overlayService}static addKeyboardModeEvents(t){this.instanceCount>0||(t.addEventListener("keydown",e.toggleKeyboardMode),t.addEventListener("mousedown",e.toggleKeyboardMode))}static removeKeyboardModeEvents(t){this.instanceCount>0||(t.removeEventListener("keydown",e.toggleKeyboardMode),t.removeEventListener("mousedown",e.toggleKeyboardMode))}static toggleKeyboardMode(t){const i=e.keyboardModeActive,s="keydown"===t.type;s&&(t.ctrlKey||t.metaKey||t.altKey)||i!==s&&(e.keyboardModeActive=s)}postConstruct(){const e=this.clearFocusedCell.bind(this);this.addManagedEventListeners({columnPivotModeChanged:e,newColumnsLoaded:this.onColumnEverythingChanged.bind(this),columnGroupOpened:e,columnRowGroupChanged:e}),this.registerKeyboardFocusEvents(),this.ctrlsService.whenReady(this,(e=>{this.gridCtrl=e.gridCtrl}))}registerKeyboardFocusEvents(){const t=j(this.gos);e.addKeyboardModeEvents(t),e.instanceCount++,this.addDestroyFunc((()=>{e.instanceCount--,e.removeKeyboardModeEvents(t)}))}onColumnEverythingChanged(){if(!this.focusedCellPosition)return;const e=this.focusedCellPosition.column,t=this.columnModel.getCol(e.getId());e!==t&&this.clearFocusedCell()}isKeyboardMode(){return e.keyboardModeActive}getFocusCellToUseAfterRefresh(){return this.gos.get("suppressFocusAfterRefresh")||!this.focusedCellPosition||this.isDomDataMissingInHierarchy(Y(this.gos),Sr.DOM_DATA_KEY_ROW_CTRL)?null:this.focusedCellPosition}getFocusHeaderToUseAfterRefresh(){return this.gos.get("suppressFocusAfterRefresh")||!this.focusedHeaderPosition||this.isDomDataMissingInHierarchy(Y(this.gos),cn.DOM_DATA_KEY_HEADER_CTRL)?null:this.focusedHeaderPosition}isDomDataMissingInHierarchy(e,t){let i=e;for(;i;){if(_(this.gos,i,t))return!1;i=i.parentNode}return!0}getFocusedCell(){return this.focusedCellPosition}shouldRestoreFocus(e){return!!this.isCellRestoreFocused(e)&&(setTimeout((()=>{this.restoredFocusedCellPosition=null}),0),!0)}clearRestoreFocus(){this.restoredFocusedCellPosition=null,this.awaitRestoreFocusedCell=!1}restoreFocusedCell(e,t){this.awaitRestoreFocusedCell=!0,setTimeout((()=>{this.awaitRestoreFocusedCell&&(this.setRestoreFocusedCell(e),t())}))}isCellRestoreFocused(e){return null!=this.restoredFocusedCellPosition&&this.cellPositionUtils.equals(e,this.restoredFocusedCellPosition)}setRestoreFocusedCell(e){"react"===this.getFrameworkOverrides().renderingEngine&&(this.restoredFocusedCellPosition=e)}getFocusEventParams(e){const{rowIndex:t,rowPinned:i,column:s}=e,o={rowIndex:t,rowPinned:i,column:s,isFullWidthCell:!1},n=this.rowRenderer.getRowByPosition({rowIndex:t,rowPinned:i});return n&&(o.isFullWidthCell=n.isFullWidth()),o}clearFocusedCell(){if(this.restoredFocusedCellPosition=null,null==this.focusedCellPosition)return;const e=this.getFocusEventParams(this.focusedCellPosition);this.focusedCellPosition=null,this.eventService.dispatchEvent({type:"cellFocusCleared",...e})}setFocusedCell(e){const{column:t,rowIndex:i,rowPinned:s,forceBrowserFocus:o=!1,preventScrollOnBrowserFocus:n=!1}=e,r=this.columnModel.getCol(t);r?(this.focusedCellPosition={rowIndex:i,rowPinned:F(s),column:r},this.eventService.dispatchEvent({type:"cellFocused",...this.getFocusEventParams(this.focusedCellPosition),forceBrowserFocus:o,preventScrollOnBrowserFocus:n})):this.focusedCellPosition=null}isCellFocused(e){return null!=this.focusedCellPosition&&this.cellPositionUtils.equals(e,this.focusedCellPosition)}isRowNodeFocused(e){return this.isRowFocused(e.rowIndex,e.rowPinned)}isHeaderWrapperFocused(e){if(null==this.focusedHeaderPosition)return!1;const t=e.getColumnGroupChild(),i=e.getRowIndex(),s=e.getPinned(),{column:o,headerRowIndex:n}=this.focusedHeaderPosition;return t===o&&i===n&&s==o.getPinned()}clearFocusedHeader(){this.focusedHeaderPosition=null}getFocusedHeader(){return this.focusedHeaderPosition}setFocusedHeader(e,t){this.focusedHeaderPosition={headerRowIndex:e,column:t}}isHeaderFocusSuppressed(){return this.gos.get("suppressHeaderFocus")||this.overlayService.isExclusive()}isCellFocusSuppressed(){return this.gos.get("suppressCellFocus")||this.overlayService.isExclusive()}focusHeaderPosition(e){var t;if(this.isHeaderFocusSuppressed())return!1;const{direction:i,fromTab:s,allowUserOverride:o,event:n,fromCell:r,rowWithoutSpanValue:l}=e;let{headerPosition:a}=e;if(r&&(null==(t=this.filterManager)?void 0:t.isAdvancedFilterHeaderActive()))return this.focusAdvancedFilter(a);if(o){const e=this.getFocusedHeader(),t=this.headerNavigationService.getHeaderRowCount();if(s){const s=this.gos.getCallback("tabToNextHeader");s&&(a=this.getHeaderPositionFromUserFunc({userFunc:s,direction:i,currentPosition:e,headerPosition:a,headerRowCount:t}))}else{const i=this.gos.getCallback("navigateToNextHeader");if(i&&n){a=i({key:n.key,previousHeaderPosition:e,nextHeaderPosition:a,headerRowCount:t,event:n})}}}return!!a&&this.focusProvidedHeaderPosition({headerPosition:a,direction:i,event:n,fromCell:r,rowWithoutSpanValue:l})}focusHeaderPositionFromUserFunc(e){if(this.isHeaderFocusSuppressed())return!1;const{userFunc:t,headerPosition:i,direction:s,event:o}=e,n=this.getFocusedHeader(),r=this.headerNavigationService.getHeaderRowCount(),l=this.getHeaderPositionFromUserFunc({userFunc:t,direction:s,currentPosition:n,headerPosition:i,headerRowCount:r});return!!l&&this.focusProvidedHeaderPosition({headerPosition:l,direction:s,event:o})}getHeaderPositionFromUserFunc(e){const{userFunc:t,direction:i,currentPosition:s,headerPosition:o,headerRowCount:n}=e,r=t({backwards:"Before"===i,previousHeaderPosition:s,nextHeaderPosition:o,headerRowCount:n});return!0===r||null===r?(null===r&&m("Since v31.3 Returning `null` from tabToNextHeader is deprecated. Return `true` to stay on the current header, or `false` to let the browser handle the tab behaviour."),s):!1===r?null:r}focusProvidedHeaderPosition(e){var t;const{headerPosition:i,direction:s,fromCell:o,rowWithoutSpanValue:n,event:r}=e,{column:l,headerRowIndex:a}=i;if(-1===a)return(null==(t=this.filterManager)?void 0:t.isAdvancedFilterHeaderActive())?this.focusAdvancedFilter(i):this.focusGridView(l);this.headerNavigationService.scrollToColumn(l,s);const d=this.ctrlsService.getHeaderRowContainerCtrl(l.getPinned()),h=(null==d?void 0:d.focusHeader(i.headerRowIndex,l,r))||!1;return h&&(null!=n||o)&&this.headerNavigationService.setCurrentHeaderRowWithoutSpan(n??-1),h}focusFirstHeader(){if(this.overlayService.isExclusive()&&this.focusOverlay())return!0;let e=this.visibleColsService.getAllCols()[0];if(!e)return!1;e.getParent()&&(e=this.visibleColsService.getColGroupAtLevel(e,0));const t=this.headerPositionUtils.getHeaderIndexToFocus(e,0);return this.focusHeaderPosition({headerPosition:t,rowWithoutSpanValue:0})}focusLastHeader(e){if(this.overlayService.isExclusive()&&this.focusOverlay(!0))return!0;const t=this.headerNavigationService.getHeaderRowCount()-1,i=we(this.visibleColsService.getAllCols());return this.focusHeaderPosition({headerPosition:{headerRowIndex:t,column:i},rowWithoutSpanValue:-1,event:e})}focusPreviousFromFirstCell(e){var t;return(null==(t=this.filterManager)?void 0:t.isAdvancedFilterHeaderActive())?this.focusAdvancedFilter(null):this.focusLastHeader(e)}isAnyCellFocused(){return!!this.focusedCellPosition}isRowFocused(e,t){return null!=this.focusedCellPosition&&(this.focusedCellPosition.rowIndex===e&&this.focusedCellPosition.rowPinned===F(t))}findFocusableElements(e,t,i=!1){let s=si;t&&(s+=", "+t),i&&(s+=', [tabindex="-1"]');const o=Array.prototype.slice.apply(e.querySelectorAll("[tabindex], input, select, button, textarea, [href]")).filter((e=>wi(e))),n=Array.prototype.slice.apply(e.querySelectorAll(s));if(!n.length)return o;return r=n,o.filter((e=>-1===r.indexOf(e)));var r}focusInto(e,t=!1,i=!1){const s=this.findFocusableElements(e,null,i),o=t?we(s):s[0];return!!o&&(o.focus({preventScroll:!0}),!0)}findFocusableElementBeforeTabGuard(e,t){if(!t)return null;const i=this.findFocusableElements(e),s=i.indexOf(t);if(-1===s)return null;let o=-1;for(let n=s-1;n>=0;n--)if(i[n].classList.contains("ag-tab-guard-top")){o=n;break}return o<=0?null:i[o-1]}findNextFocusableElement(e=this.eGridDiv,t,i){const s=this.findFocusableElements(e,t?':not([tabindex="-1"])':null),o=Y(this.gos);let n;n=t?s.findIndex((e=>e.contains(o))):s.indexOf(o);const r=n+(i?-1:1);return r<0||r>=s.length?null:s[r]}isTargetUnderManagedComponent(e,t){if(!t)return!1;const i=e.querySelectorAll(`.${Ro.FOCUS_MANAGED_CLASS}`);if(!i.length)return!1;for(let s=0;s<i.length;s++)if(i[s].contains(t))return!0;return!1}findTabbableParent(e,t=5){let i=0;for(;e&&null===Ki(e)&&++i<=t;)e=e.parentElement;return null===Ki(e)?null:e}focusOverlay(e){var t;const i=this.overlayService.isVisible()&&(null==(t=this.overlayService.getOverlayWrapper())?void 0:t.getGui());return!!i&&this.focusInto(i,e)}focusGridViewFailed(e,t){return t&&this.focusOverlay(e)||e&&this.focusLastHeader()}focusGridView(e,t=!1,i=!0){var s,o;if(this.overlayService.isExclusive())return i&&this.focusOverlay(t);if(this.isCellFocusSuppressed())return t&&!this.isHeaderFocusSuppressed()?this.focusLastHeader():!(!i||!this.focusOverlay(t))||this.focusNextGridCoreContainer(!1);const n=t?this.rowPositionUtils.getLastRow():this.rowPositionUtils.getFirstRow();if(n){const{rowIndex:i,rowPinned:r}=n;if(e??(e=null==(s=this.getFocusedHeader())?void 0:s.column),e&&null!=i){if(this.navigationService.ensureCellVisible({rowIndex:i,column:e,rowPinned:r}),t){const e=this.rowRenderer.getRowByPosition(n);if((null==e?void 0:e.isFullWidth())&&this.navigationService.tryToFocusFullWidthRow(n,t))return!0}return this.setFocusedCell({rowIndex:i,column:e,rowPinned:F(r),forceBrowserFocus:!0}),null==(o=this.rangeService)||o.setRangeToCell({rowIndex:i,rowPinned:r,column:e}),!0}}return!(!i||!this.focusOverlay(t))||!(!t||!this.focusLastHeader())}isGridFocused(){const e=Y(this.gos);return!!e&&this.eGridDiv.contains(e)}focusNextGridCoreContainer(e,t=!1){return!(t||!this.gridCtrl.focusNextInnerContainer(e))||((t||!e&&!this.gridCtrl.isDetailGrid())&&this.gridCtrl.forceFocusOutOfContainer(e),!1)}focusAdvancedFilter(e){var t;return this.advancedFilterFocusColumn=null==e?void 0:e.column,(null==(t=this.advancedFilterService)?void 0:t.getCtrl().focusHeaderComp())??!1}focusNextFromAdvancedFilter(e,t){var i;const s=(t?void 0:this.advancedFilterFocusColumn)??(null==(i=this.visibleColsService.getAllCols())?void 0:i[0]);return e?this.focusHeaderPosition({headerPosition:{column:s,headerRowIndex:this.headerNavigationService.getHeaderRowCount()-1}}):this.focusGridView(s)}clearAdvancedFilterColumn(){this.advancedFilterFocusColumn=void 0}addFocusableContainer(e){this.gridCtrl.addFocusableContainer(e)}removeFocusableContainer(e){this.gridCtrl.removeFocusableContainer(e)}focusGridInnerElement(e){return this.gridCtrl.focusInnerElement(e)}allowFocusForNextGridCoreContainer(e){this.gridCtrl.allowFocusForNextCoreContainer(e)}};ua.keyboardModeActive=!1,ua.instanceCount=0;var ca=ua,ga=class extends Oe{constructor(){super(...arguments),this.beanName="pinnedWidthService"}wireBeans(e){this.visibleColsService=e.visibleColsService}postConstruct(){const e=this.checkContainerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:e,displayedColumnsWidthChanged:e}),this.addManagedPropertyListener("domLayout",e)}checkContainerWidths(){const e=H(this.gos,"print"),t=e?0:this.visibleColsService.getColsLeftWidth(),i=e?0:this.visibleColsService.getDisplayedColumnsRightWidth();t!=this.leftWidth&&(this.leftWidth=t,this.eventService.dispatchEvent({type:"leftPinnedWidthChanged"})),i!=this.rightWidth&&(this.rightWidth=i,this.eventService.dispatchEvent({type:"rightPinnedWidthChanged"}))}getPinnedRightWidth(){return this.rightWidth}getPinnedLeftWidth(){return this.leftWidth}},pa=class extends Oe{constructor(){super(...arguments),this.additionalFocusableContainers=new Set}wireBeans(e){this.beans=e,this.focusService=e.focusService,this.visibleColsService=e.visibleColsService}setComp(e,t,i){this.view=e,this.eGridHostDiv=t,this.eGui=i,this.eGui.setAttribute("grid-id",this.beans.context.getGridId());const{dragAndDropService:s,mouseEventService:o,ctrlsService:n,resizeObserverService:r}=this.beans,l={getContainer:()=>this.eGui,isInterestedIn:e=>1===e||0===e,getIconName:()=>"notAllowed"};s.addDropTarget(l),this.addDestroyFunc((()=>s.removeDropTarget(l))),o.stampTopLevelGridCompWithGridInstance(t),this.createManagedBean(new Xn(this.view)),this.view.setRtlClass(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr"),this.updateGridThemeClass(),this.addManagedEventListeners({gridStylesChanged:this.handleThemeChange.bind(this)});const a=r.observeResize(this.eGridHostDiv,this.onGridSizeChanged.bind(this));this.addDestroyFunc((()=>a())),n.register("gridCtrl",this)}isDetailGrid(){var e;const t=this.focusService.findTabbableParent(this.getGui());return(null==(e=null==t?void 0:t.getAttribute("row-id"))?void 0:e.startsWith("detail"))||!1}getOptionalSelectors(){var e,t,i,s,o;const n=this.beans;return{paginationSelector:null==(e=n.paginationService)?void 0:e.getPaginationSelector(),gridHeaderDropZonesSelector:null==(t=n.columnDropZonesService)?void 0:t.getDropZoneSelector(),sideBarSelector:null==(i=n.sideBarService)?void 0:i.getSideBarSelector(),statusBarSelector:null==(s=n.statusBarService)?void 0:s.getStatusPanelSelector(),watermarkSelector:null==(o=n.licenseManager)?void 0:o.getWatermarkSelector()}}onGridSizeChanged(){this.eventService.dispatchEvent({type:"gridSizeChanged",clientWidth:this.eGridHostDiv.clientWidth,clientHeight:this.eGridHostDiv.clientHeight})}destroyGridUi(){this.view.destroyGridUi()}getGui(){return this.eGui}setResizeCursor(e){this.view.setCursor(e?"ew-resize":null)}disableUserSelect(e){this.view.setUserSelect(e?"none":null)}focusNextInnerContainer(e){const t=this.getFocusableContainers(),{indexWithFocus:i,nextIndex:s}=this.getNextFocusableIndex(t,e);if(s<0||s>=t.length)return!1;if(0===s){if(i>0){const e=we(this.visibleColsService.getAllCols());if(this.focusService.focusGridView(e,!0))return!0}return!1}return this.focusContainer(t[s],e)}focusInnerElement(e){const t=this.gos.getCallback("focusGridInnerElement");if(t&&t({fromBottom:!!e}))return!0;const i=this.getFocusableContainers(),s=this.visibleColsService.getAllCols();if(e){if(i.length>1)return this.focusContainer(we(i),!0);const e=we(s);if(this.focusService.focusGridView(e,!0))return!0}if(0===this.gos.get("headerHeight")||this.focusService.isHeaderFocusSuppressed()){if(this.focusService.focusGridView(s[0]))return!0;for(let e=1;e<i.length;e++)if(this.focusService.focusInto(i[e].getGui()))return!0;return!1}return this.focusService.focusFirstHeader()}forceFocusOutOfContainer(e=!1){this.view.forceFocusOutOfContainer(e)}addFocusableContainer(e){this.additionalFocusableContainers.add(e)}removeFocusableContainer(e){this.additionalFocusableContainers.delete(e)}allowFocusForNextCoreContainer(e){var t;const i=this.view.getFocusableContainers(),{nextIndex:s,indexWithFocus:o}=this.getNextFocusableIndex(i,e);if(-1===o||s<0||s>=i.length)return;const n=i[s];null==(t=n.setAllowFocus)||t.call(n,!0),setTimeout((()=>{var e;null==(e=n.setAllowFocus)||e.call(n,!1)}))}getNextFocusableIndex(e,t){const i=Y(this.gos),s=e.findIndex((e=>e.getGui().contains(i)));return{indexWithFocus:s,nextIndex:s+(t?-1:1)}}focusContainer(e,t){var i,s;null==(i=e.setAllowFocus)||i.call(e,!0);const o=this.focusService.focusInto(e.getGui(),t);return null==(s=e.setAllowFocus)||s.call(e,!1),o}getFocusableContainers(){return[...this.view.getFocusableContainers(),...this.additionalFocusableContainers]}updateGridThemeClass(){const e=this.beans.environment.getGridThemeClass();e&&this.view.setGridThemeClass(e)}handleThemeChange(e){e.themeChanged&&this.updateGridThemeClass()}destroy(){this.additionalFocusableContainers.clear(),super.destroy()}},ma={version:pn,moduleName:"@ag-grid-community/aligned-grid",beans:[class extends Oe{constructor(){super(...arguments),this.beanName="alignedGridsService",this.consuming=!1}wireBeans(e){this.columnModel=e.columnModel,this.columnSizeService=e.columnSizeService,this.ctrlsService=e.ctrlsService,this.columnApplyStateService=e.columnApplyStateService}getAlignedGridApis(){let e=this.gos.get("alignedGrids")??[];const t="function"==typeof e;"function"==typeof e&&(e=e());const i=()=>`See ${this.getFrameworkOverrides().getDocLink("aligned-grids")}`;return e.map((e=>{var s;if(!e)return v("alignedGrids contains an undefined option."),t||v('You may want to configure via a callback to avoid setup race conditions:\n "alignedGrids: () => [linkedGrid]"'),void v(i());if(this.isGridApi(e))return e;const o=e;return"current"in o?null==(s=o.current)?void 0:s.api:(o.api||v(`alignedGrids - No api found on the linked grid. If you are passing gridOptions to alignedGrids since v31 this is no longer valid. ${i()}`),o.api)})).filter((e=>!!e&&!e.isDestroyed()))}isGridApi(e){return!!e&&!!e.dispatchEvent}postConstruct(){const e=this.fireColumnEvent.bind(this);this.addManagedEventListeners({columnMoved:e,columnVisible:e,columnPinned:e,columnGroupOpened:e,columnResized:e,bodyScroll:this.fireScrollEvent.bind(this),alignedGridColumn:({event:e})=>this.onColumnEvent(e),alignedGridScroll:({event:e})=>this.onScrollEvent(e)})}fireEvent(e){this.consuming||this.getAlignedGridApis().forEach((t=>{t.isDestroyed()||t.dispatchEvent(e)}))}onEvent(e){this.consuming=!0,e(),this.consuming=!1}fireColumnEvent(e){this.fireEvent({type:"alignedGridColumn",event:e})}fireScrollEvent(e){"horizontal"===e.direction&&this.fireEvent({type:"alignedGridScroll",event:e})}onScrollEvent(e){this.onEvent((()=>{this.ctrlsService.getGridBodyCtrl().getScrollFeature().setHorizontalScrollPosition(e.left,!0)}))}extractDataFromEvent(e,t){const i=[];return e.columns?e.columns.forEach((e=>{i.push(t(e))})):e.column&&i.push(t(e.column)),i}getMasterColumns(e){return this.extractDataFromEvent(e,(e=>e))}getColumnIds(e){return this.extractDataFromEvent(e,(e=>e.getColId()))}onColumnEvent(e){this.onEvent((()=>{switch(e.type){case"columnMoved":case"columnVisible":case"columnPinned":case"columnResized":this.processColumnEvent(e);break;case"columnGroupOpened":this.processGroupOpenedEvent(e);break;case"columnPivotChanged":m("pivoting is not supported with aligned grids. You can only use one of these features at a time in a grid.")}}))}processGroupOpenedEvent(e){const{columnModel:t}=this;e.columnGroups.forEach((e=>{let i=null;e&&(i=t.getProvidedColGroup(e.getGroupId())),e&&!i||t.setColumnGroupOpened(i,e.isExpanded(),"alignedGridChanged")}))}processColumnEvent(e){var t;const i=e.column;let s=null;if(i&&(s=this.columnModel.getColDefCol(i.getColId())),i&&!s)return;const o=this.getMasterColumns(e),{columnApplyStateService:n,columnSizeService:r,ctrlsService:l}=this;switch(e.type){case"columnMoved":{const t=e.api.getColumnState().map((e=>({colId:e.colId})));n.applyColumnState({state:t,applyOrder:!0},"alignedGridChanged")}break;case"columnVisible":{const t=e.api.getColumnState().map((e=>({colId:e.colId,hide:e.hide})));n.applyColumnState({state:t},"alignedGridChanged")}break;case"columnPinned":{const t=e.api.getColumnState().map((e=>({colId:e.colId,pinned:e.pinned})));n.applyColumnState({state:t},"alignedGridChanged")}break;case"columnResized":{const i=e,s={};o.forEach((e=>{s[e.getId()]={key:e.getColId(),newWidth:e.getActualWidth()}})),null==(t=i.flexColumns)||t.forEach((e=>{s[e.getId()]&&delete s[e.getId()]})),r.setColumnWidths(Object.values(s),!1,i.finished,"alignedGridChanged");break}}const a=l.getGridBodyCtrl().isVerticalScrollShowing();this.getAlignedGridApis().forEach((e=>{e.setGridOption("alwaysShowVerticalScroll",a)}))}}]};var va={version:pn,moduleName:"@ag-grid-community/data-type",beans:[class extends Oe{constructor(){super(...arguments),this.beanName="dataTypeService",this.dataTypeDefinitions={},this.isWaitingForRowData=!1,this.isColumnTypeOverrideInDataTypeDefinitions=!1,this.columnStateUpdatesPendingInference={},this.columnStateUpdateListenerDestroyFuncs=[]}wireBeans(e){this.rowModel=e.rowModel,this.columnModel=e.columnModel,this.funcColsService=e.funcColsService,this.valueService=e.valueService,this.columnApplyStateService=e.columnApplyStateService,this.filterManager=e.filterManager}postConstruct(){this.groupHideOpenParents=this.gos.get("groupHideOpenParents"),this.addManagedPropertyListener("groupHideOpenParents",(()=>{this.groupHideOpenParents=this.gos.get("groupHideOpenParents")})),this.processDataTypeDefinitions(),this.addManagedPropertyListener("dataTypeDefinitions",(e=>{this.processDataTypeDefinitions(),this.columnModel.recreateColumnDefs(ct(e.source))}))}processDataTypeDefinitions(){const e=this.getDefaultDataTypes();this.dataTypeDefinitions={},this.formatValueFuncs={};const t=e=>t=>{const{column:i,node:s,value:o}=t;let n=i.getColDef().valueFormatter;return n===e.groupSafeValueFormatter&&(n=e.valueFormatter),this.valueService.formatValue(i,s,o,n)};Object.entries(e).forEach((([e,i])=>{const s={...i,groupSafeValueFormatter:this.createGroupSafeValueFormatter(i)};this.dataTypeDefinitions[e]=s,this.formatValueFuncs[e]=t(s)}));const i=this.gos.get("dataTypeDefinitions")??{};this.dataTypeMatchers={},Object.entries(i).forEach((([s,o])=>{const n=this.processDataTypeDefinition(o,i,[s],e);n&&(this.dataTypeDefinitions[s]=n,o.dataTypeMatcher&&(this.dataTypeMatchers[s]=o.dataTypeMatcher),this.formatValueFuncs[s]=t(n))})),this.checkObjectValueHandlers(e),["dateString","text","number","boolean","date"].forEach((t=>{const i=this.dataTypeMatchers[t];i&&delete this.dataTypeMatchers[t],this.dataTypeMatchers[t]=i??e[t].dataTypeMatcher}))}mergeDataTypeDefinitions(e,t){const i={...e,...t};return e.columnTypes&&t.columnTypes&&t.appendColumnTypes&&(i.columnTypes=[...$e(e.columnTypes),...$e(t.columnTypes)]),i}processDataTypeDefinition(e,t,i,s){let o;const n=e.extendsDataType;if(e.columnTypes&&(this.isColumnTypeOverrideInDataTypeDefinitions=!0),e.extendsDataType===e.baseDataType){let i=s[n];const r=t[n];if(i&&r&&(i=r),!this.validateDataTypeDefinition(e,i,n))return;o=this.mergeDataTypeDefinitions(i,e)}else{if(i.includes(n))return void m('Data type definition hierarchies (via the "extendsDataType" property) cannot contain circular references.');const r=t[n];if(!this.validateDataTypeDefinition(e,r,n))return;const l=this.processDataTypeDefinition(r,t,[...i,n],s);if(!l)return;o=this.mergeDataTypeDefinitions(l,e)}return{...o,groupSafeValueFormatter:this.createGroupSafeValueFormatter(o)}}validateDataTypeDefinition(e,t,i){return t?t.baseDataType===e.baseDataType||(m('The "baseDataType" property of a data type definition must match that of its parent.'),!1):(m(`The data type definition ${i} does not exist.`),!1)}createGroupSafeValueFormatter(e){if(e.valueFormatter)return t=>{var i,s;if(null==(i=t.node)?void 0:i.group){const i=(t.colDef.pivotValueColumn??t.column).getAggFunc();if(i){if("first"===i||"last"===i)return e.valueFormatter(t);if("number"===e.baseDataType&&"count"!==i){if("number"==typeof t.value)return e.valueFormatter(t);if("object"==typeof t.value){if(!t.value)return;if("toNumber"in t.value)return e.valueFormatter({...t,value:t.value.toNumber()});if("value"in t.value)return e.valueFormatter({...t,value:t.value.value})}}return}if((this.gos.get("suppressGroupMaintainValueType")||"groupRows"===this.gos.get("groupDisplayType"))&&!this.gos.get("treeData"))return}else if(this.groupHideOpenParents&&t.column.isRowGroupActive()&&"string"==typeof t.value&&!(null==(s=e.dataTypeMatcher)?void 0:s.call(e,t.value)))return;return e.valueFormatter(t)}}updateColDefAndGetColumnType(e,t,i){let{cellDataType:s}=t;const{field:o}=t;if(void 0===s&&(s=e.cellDataType),null!=s&&!0!==s||(s=!!this.canInferCellDataType(e,t)&&this.inferCellDataType(o,i)),!s)return void(e.cellDataType=!1);const n=this.dataTypeDefinitions[s];if(n)return e.cellDataType=s,n.groupSafeValueFormatter&&(e.valueFormatter=n.groupSafeValueFormatter),n.valueParser&&(e.valueParser=n.valueParser),n.suppressDefaultProperties||this.setColDefPropertiesForBaseDataType(e,s,n,i),n.columnTypes;m(`Missing data type definition - "${s}"`)}addColumnListeners(e){if(!this.isWaitingForRowData)return;const t=this.columnStateUpdatesPendingInference[e.getColId()];if(!t)return;const i=e=>{t.add(e.key)};e.addEventListener("columnStateUpdated",i),this.columnStateUpdateListenerDestroyFuncs.push((()=>e.removeEventListener("columnStateUpdated",i)))}canInferCellDataType(e,t){if(!G(this.gos))return!1;const i={cellRenderer:!0,valueGetter:!0,valueParser:!0,refData:!0};if(this.doColDefPropsPreventInference(t,i))return!1;const s=null===t.type?e.type:t.type;if(s){const e=this.gos.get("columnTypes")??{};if($e(s).some((t=>{const s=e[t.trim()];return s&&this.doColDefPropsPreventInference(s,i)})))return!1}return!this.doColDefPropsPreventInference(e,i)}doColDefPropsPreventInference(e,t){return[["cellRenderer","agSparklineCellRenderer"],["valueGetter",void 0],["valueParser",void 0],["refData",void 0]].some((([i,s])=>this.doesColDefPropPreventInference(e,t,i,s)))}doesColDefPropPreventInference(e,t,i,s){if(!t[i])return!1;const o=e[i];return null===o?(t[i]=!1,!1):void 0===s?!!o:o===s}inferCellDataType(e,t){if(!e)return;let i;const s=this.getInitialData();if(s){const t=e.indexOf(".")>=0&&!this.gos.get("suppressFieldDotNotation");i=et(s,e,t)}else this.initWaitForRowData(t);if(null==i)return;const[o]=Object.entries(this.dataTypeMatchers).find((([e,t])=>t(i)))??["object"];return o}getInitialData(){const e=this.gos.get("rowData");if(null==e?void 0:e.length)return e[0];if(this.initialData)return this.initialData;{const e=this.rowModel.getRootNode().allLeafChildren;if(null==e?void 0:e.length)return e[0].data}return null}initWaitForRowData(e){if(this.columnStateUpdatesPendingInference[e]=new Set,this.isWaitingForRowData)return;this.isWaitingForRowData=!0;const t=this.isColumnTypeOverrideInDataTypeDefinitions;t&&this.columnModel.queueResizeOperations();const[i]=this.addManagedEventListeners({rowDataUpdateStarted:e=>{const{firstRowData:s}=e;s&&(null==i||i(),this.isWaitingForRowData=!1,this.processColumnsPendingInference(s,t),this.columnStateUpdatesPendingInference={},t&&this.columnModel.processResizeOperations(),this.eventService.dispatchEvent({type:"dataTypesInferred"}))}})}isPendingInference(){return this.isWaitingForRowData}processColumnsPendingInference(e,t){this.initialData=e;const i=[];this.destroyColumnStateUpdateListeners();const s={},o={};Object.entries(this.columnStateUpdatesPendingInference).forEach((([e,n])=>{const r=this.columnModel.getCol(e);if(!r)return;const l=r.getColDef();if(!this.columnModel.resetColDefIntoCol(r,"cellDataTypeInferred"))return;const a=r.getColDef();if(t&&a.type&&a.type!==l.type){const t=this.getUpdatedColumnState(r,n);t.rowGroup&&null==t.rowGroupIndex&&(s[e]=t),t.pivot&&null==t.pivotIndex&&(o[e]=t),i.push(t)}})),t&&i.push(...this.funcColsService.generateColumnStateForRowGroupAndPivotIndexes(s,o)),i.length&&this.columnApplyStateService.applyColumnState({state:i},"cellDataTypeInferred"),this.initialData=null}getUpdatedColumnState(e,t){const i=this.columnApplyStateService.getColumnStateFromColDef(e);return t.forEach((e=>{delete i[e],"rowGroup"===e?delete i.rowGroupIndex:"pivot"===e&&delete i.pivotIndex})),i}checkObjectValueHandlers(e){const t=this.dataTypeDefinitions.object,i=e.object;this.hasObjectValueParser=t.valueParser!==i.valueParser,this.hasObjectValueFormatter=t.valueFormatter!==i.valueFormatter}getDateStringTypeDefinition(e){return e?this.getDataTypeDefinition(e)??this.dataTypeDefinitions.dateString:this.dataTypeDefinitions.dateString}getDateParserFunction(e){return this.getDateStringTypeDefinition(e).dateParser}getDateFormatterFunction(e){return this.getDateStringTypeDefinition(e).dateFormatter}getDataTypeDefinition(e){const t=e.getColDef();if(t.cellDataType)return this.dataTypeDefinitions[t.cellDataType]}getBaseDataType(e){var t;return null==(t=this.getDataTypeDefinition(e))?void 0:t.baseDataType}checkType(e,t){var i;if(null==t)return!0;const s=null==(i=this.getDataTypeDefinition(e))?void 0:i.dataTypeMatcher;return!s||s(t)}validateColDef(e){const t=e=>m(`Cell data type is "object" but no Value ${e} has been provided. Please either provide an object data type definition with a Value ${e}, or set "colDef.value${e}"`);"object"===e.cellDataType&&(e.valueFormatter!==this.dataTypeDefinitions.object.groupSafeValueFormatter||this.hasObjectValueFormatter||t("Formatter"),e.editable&&e.valueParser===this.dataTypeDefinitions.object.valueParser&&!this.hasObjectValueParser&&t("Parser"))}getFormatValue(e){return this.formatValueFuncs[e]}setColDefPropertiesForBaseDataType(e,t,i,s){var o;const n=this.formatValueFuncs[t];switch(i.baseDataType){case"number":e.cellEditor="agNumberCellEditor";break;case"boolean":e.cellEditor="agCheckboxCellEditor",e.cellRenderer="agCheckboxCellRenderer",e.suppressKeyboardEvent=e=>!!e.colDef.editable&&e.event.key===gs.SPACE;break;case"date":e.cellEditor="agDateCellEditor",e.keyCreator=n;break;case"dateString":e.cellEditor="agDateStringCellEditor",e.keyCreator=n;break;case"object":e.cellEditorParams={useFormatter:!0},e.comparator=(e,t)=>{const i=this.columnModel.getColDefCol(s),o=null==i?void 0:i.getColDef();if(!i||!o)return 0;const r=null==e?"":n({column:i,node:null,value:e}),l=null==t?"":n({column:i,node:null,value:t});return r===l?0:r>l?1:-1},e.keyCreator=n}null==(o=this.filterManager)||o.setColDefPropertiesForDataType(e,i,n)}getDefaultDataTypes(){const e=e=>!!e.match("^\\d{4}-\\d{2}-\\d{2}$"),t=this.localeService.getLocaleTextFunc();return{number:{baseDataType:"number",valueParser:e=>{var t,i;return""===(null==(i=null==(t=e.newValue)?void 0:t.trim)?void 0:i.call(t))?null:Number(e.newValue)},valueFormatter:e=>null==e.value?"":"number"!=typeof e.value||isNaN(e.value)?t("invalidNumber","Invalid Number"):String(e.value),dataTypeMatcher:e=>"number"==typeof e},text:{baseDataType:"text",valueParser:e=>""===e.newValue?null:M(e.newValue),dataTypeMatcher:e=>"string"==typeof e},boolean:{baseDataType:"boolean",valueParser:e=>{var t,i;return null==e.newValue?e.newValue:""===(null==(i=null==(t=e.newValue)?void 0:t.trim)?void 0:i.call(t))?null:"true"===String(e.newValue).toLowerCase()},valueFormatter:e=>null==e.value?"":String(e.value),dataTypeMatcher:e=>"boolean"==typeof e},date:{baseDataType:"date",valueParser:e=>tn(null==e.newValue?null:String(e.newValue)),valueFormatter:e=>null==e.value?"":e.value instanceof Date&&!isNaN(e.value.getTime())?Jo(e.value,!1)??"":t("invalidDate","Invalid Date"),dataTypeMatcher:e=>e instanceof Date},dateString:{baseDataType:"dateString",dateParser:e=>tn(e)??void 0,dateFormatter:e=>Jo(e??null,!1)??void 0,valueParser:t=>e(String(t.newValue))?t.newValue:null,valueFormatter:t=>e(String(t.value))?t.value:"",dataTypeMatcher:t=>"string"==typeof t&&e(t)},object:{baseDataType:"object",valueParser:()=>null,valueFormatter:e=>M(e.value)??""}}}destroyColumnStateUpdateListeners(){this.columnStateUpdateListenerDestroyFuncs.forEach((e=>e())),this.columnStateUpdateListenerDestroyFuncs=[]}destroy(){this.dataTypeDefinitions={},this.dataTypeMatchers={},this.formatValueFuncs={},this.columnStateUpdatesPendingInference={},this.destroyColumnStateUpdateListeners(),super.destroy()}}]};function Ca(e,t){const{colKey:i,rowNode:s,useFormatter:o}=t,n=e.columnModel.getColDefCol(i)??e.columnModel.getCol(i);if(D(n))return null;const r=e.valueService.getValueForDisplay(n,s);if(o){return e.valueService.formatValue(n,s,r)??Rt(r,!0)}return r}function fa(e,t){e.gos.updateGridOptions({options:t})}function wa(e){return e.rowRenderer.getFirstVirtualRenderedRow()}function Sa(e){return e.rowRenderer.getLastVirtualRenderedRow()}var ya={version:pn,moduleName:"@ag-grid-community/api",dependantModules:[{version:pn,moduleName:"@ag-grid-community/core-api",apiFunctions:{getGridId:function(e){return e.context.getGridId()},destroy:function(e){e.gridDestroyService.destroy()},isDestroyed:function(e){return e.gridDestroyService.isDestroyCalled()},getGridOption:function(e,t){return e.gos.get(t)},setGridOption:function(e,t,i){fa(e,{[t]:i})},updateGridOptions:fa}},{version:pn,moduleName:"@ag-grid-community/pinned-row-api",apiFunctions:{getPinnedTopRowCount:function(e){return e.pinnedRowModel.getPinnedTopRowCount()},getPinnedBottomRowCount:function(e){return e.pinnedRowModel.getPinnedBottomRowCount()},getPinnedTopRow:function(e,t){return e.pinnedRowModel.getPinnedTopRow(t)},getPinnedBottomRow:function(e,t){return e.pinnedRowModel.getPinnedBottomRow(t)}}},{version:pn,moduleName:"@ag-grid-community/row-selection-api",apiFunctions:{setNodesSelected:function(e,t){if(!t.nodes.every((e=>e.rowPinned?(m("cannot select pinned rows"),!1):void 0!==e.id||(m("cannot select node until id for node is known"),!1))))return;const{nodes:i,source:s,newValue:o}=t,n=i;e.selectionService.setNodesSelected({nodes:n,source:s??"api",newValue:o})},selectAll:function(e,t="apiSelectAll"){e.selectionService.selectAllRowNodes({source:t})},deselectAll:function(e,t="apiSelectAll"){e.selectionService.deselectAllRowNodes({source:t})},selectAllFiltered:function(e,t="apiSelectAllFiltered"){e.selectionService.selectAllRowNodes({source:t,justFiltered:!0})},deselectAllFiltered:function(e,t="apiSelectAllFiltered"){e.selectionService.deselectAllRowNodes({source:t,justFiltered:!0})},selectAllOnCurrentPage:function(e,t="apiSelectAllCurrentPage"){e.selectionService.selectAllRowNodes({source:t,justCurrentPage:!0})},deselectAllOnCurrentPage:function(e,t="apiSelectAllCurrentPage"){e.selectionService.deselectAllRowNodes({source:t,justCurrentPage:!0})},getSelectedNodes:function(e){return e.selectionService.getSelectedNodes()},getSelectedRows:function(e){return e.selectionService.getSelectedRows()}}},{version:pn,moduleName:"@ag-grid-community/column-api",apiFunctions:{getColumnDef:function(e,t){const i=e.columnModel.getColDefCol(t);return i?i.getColDef():null},getColumnDefs:function(e){return e.columnModel.getColumnDefs()},sizeColumnsToFit:function(e,t){"number"==typeof t?e.columnSizeService.sizeColumnsToFit(t,"api"):e.ctrlsService.getGridBodyCtrl().sizeColumnsToFit(t)},setColumnGroupOpened:function(e,t,i){e.columnModel.setColumnGroupOpened(t,i,"api")},getColumnGroup:function(e,t,i){return e.visibleColsService.getColumnGroup(t,i)},getProvidedColumnGroup:function(e,t){return e.columnModel.getProvidedColGroup(t)},getDisplayNameForColumn:function(e,t,i){return e.columnNameService.getDisplayNameForColumn(t,i)||""},getDisplayNameForColumnGroup:function(e,t,i){return e.columnNameService.getDisplayNameForColumnGroup(t,i)||""},getColumn:function(e,t){return e.columnModel.getColDefCol(t)},getColumns:function(e){return e.columnModel.getColDefCols()},applyColumnState:function(e,t){return e.columnApplyStateService.applyColumnState(t,"api")},getColumnState:function(e){return e.columnGetStateService.getColumnState()},resetColumnState:function(e){e.columnApplyStateService.resetColumnState("api")},getColumnGroupState:function(e){return e.columnGroupStateService.getColumnGroupState()},setColumnGroupState:function(e,t){e.columnGroupStateService.setColumnGroupState(t,"api")},resetColumnGroupState:function(e){e.columnGroupStateService.resetColumnGroupState("api")},isPinning:function(e){return e.visibleColsService.isPinningLeft()||e.visibleColsService.isPinningRight()},isPinningLeft:function(e){return e.visibleColsService.isPinningLeft()},isPinningRight:function(e){return e.visibleColsService.isPinningRight()},getDisplayedColAfter:function(e,t){return e.visibleColsService.getColAfter(t)},getDisplayedColBefore:function(e,t){return e.visibleColsService.getColBefore(t)},setColumnVisible:function(e,t,i){e.columnModel.setColsVisible([t],i,"api")},setColumnsVisible:function(e,t,i){e.columnModel.setColsVisible(t,i,"api")},setColumnPinned:function(e,t,i){e.columnModel.setColsPinned([t],i,"api")},setColumnsPinned:function(e,t,i){e.columnModel.setColsPinned(t,i,"api")},getAllGridColumns:function(e){return e.columnModel.getCols()},getDisplayedLeftColumns:function(e){return e.visibleColsService.getLeftCols()},getDisplayedCenterColumns:function(e){return e.visibleColsService.getCenterCols()},getDisplayedRightColumns:function(e){return e.visibleColsService.getRightCols()},getAllDisplayedColumns:function(e){return e.visibleColsService.getAllCols()},getAllDisplayedVirtualColumns:function(e){return e.columnViewportService.getViewportColumns()},moveColumn:function(e,t,i){e.columnMoveService.moveColumns([t],i,"api")},moveColumnByIndex:function(e,t,i){e.columnMoveService.moveColumnByIndex(t,i,"api")},moveColumns:function(e,t,i){e.columnMoveService.moveColumns(t,i,"api")},setColumnWidth:function(e,t,i,s=!0,o="api"){e.columnSizeService.setColumnWidths([{key:t,newWidth:i}],!1,s,o)},setColumnWidths:function(e,t,i=!0,s="api"){e.columnSizeService.setColumnWidths(t,!1,i,s)},getLeftDisplayedColumnGroups:function(e){return e.visibleColsService.getTreeLeft()},getCenterDisplayedColumnGroups:function(e){return e.visibleColsService.getTreeCenter()},getRightDisplayedColumnGroups:function(e){return e.visibleColsService.getTreeRight()},getAllDisplayedColumnGroups:function(e){return e.visibleColsService.getAllTrees()},autoSizeColumn:function(e,t,i){return e.columnAutosizeService.autoSizeCols({colKeys:[t],skipHeader:i,source:"api"})},autoSizeColumns:function(e,t,i){e.columnAutosizeService.autoSizeCols({colKeys:t,skipHeader:i,source:"api"})},autoSizeAllColumns:function(e,t){e.columnAutosizeService.autoSizeAllColumns("api",t)}}},{version:pn,moduleName:"@ag-grid-community/row-api",apiFunctions:{redrawRows:function(e,t={}){const i=t?t.rowNodes:void 0;e.frameworkOverrides.wrapIncoming((()=>e.rowRenderer.redrawRows(i)))},setRowNodeExpanded:function(e,t,i,s,o){e.expansionService.setRowNodeExpanded(t,i,s,o)},getRowNode:function(e,t){return e.rowModel.getRowNode(t)},addRenderedRowListener:function(e,t,i,s){e.rowRenderer.addRenderedRowListener(t,i,s)},getRenderedNodes:function(e){return e.rowRenderer.getRenderedNodes()},forEachNode:function(e,t,i){e.rowModel.forEachNode(t,i)},getFirstDisplayedRow:function(e){return wa(e)},getFirstDisplayedRowIndex:wa,getLastDisplayedRow:function(e){return Sa(e)},getLastDisplayedRowIndex:Sa,getDisplayedRowAtIndex:function(e,t){return e.rowModel.getRow(t)},getDisplayedRowCount:function(e){return e.rowModel.getRowCount()},getModel:function(e){return e.rowModel}}},{version:pn,moduleName:"@ag-grid-community/drag-api",apiFunctions:{addRowDropZone:function(e,t){e.ctrlsService.getGridBodyCtrl().getRowDragFeature().addRowDropZone(t)},removeRowDropZone:function(e,t){const i=e.dragAndDropService.findExternalZone(t);i&&e.dragAndDropService.removeDropTarget(i)},getRowDropZoneParams:function(e,t){return e.ctrlsService.getGridBodyCtrl().getRowDragFeature().getRowDropZone(t)}}},{version:pn,moduleName:"@ag-grid-community/scroll-api",apiFunctions:{getVerticalPixelRange:function(e){return e.ctrlsService.getGridBodyCtrl().getScrollFeature().getVScrollPosition()},getHorizontalPixelRange:function(e){return e.ctrlsService.getGridBodyCtrl().getScrollFeature().getHScrollPosition()},ensureColumnVisible:ul,ensureIndexVisible:cl,ensureNodeVisible:function(e,t,i=null){e.frameworkOverrides.wrapIncoming((()=>e.ctrlsService.getGridBodyCtrl().getScrollFeature().ensureNodeVisible(t,i)),"ensureVisible")}}},{version:pn,moduleName:"@ag-grid-community/overlay-api",apiFunctions:{showLoadingOverlay:function(e){e.overlayService.showLoadingOverlay()},showNoRowsOverlay:function(e){e.overlayService.showNoRowsOverlay()},hideOverlay:function(e){e.overlayService.hideOverlay()}}},{version:pn,moduleName:"@ag-grid-community/keyboard-navigation-api",apiFunctions:{getFocusedCell:function(e){return e.focusService.getFocusedCell()},clearFocusedCell:function(e){return e.focusService.clearFocusedCell()},setFocusedCell:function(e,t,i,s){e.focusService.setFocusedCell({rowIndex:t,column:i,rowPinned:s,forceBrowserFocus:!0})},setFocusedHeader:function(e,t,i=!1){const s=e.headerNavigationService.getHeaderPositionForColumn(t,i);s&&e.focusService.focusHeaderPosition({headerPosition:s})},tabToNextCell:function(e,t){return e.navigationService.tabToNextCell(!1,t)},tabToPreviousCell:function(e,t){return e.navigationService.tabToNextCell(!0,t)}}},{version:pn,moduleName:"@ag-grid-community/event-api",apiFunctions:{addEventListener:function(e,t,i){e.apiEventService.addEventListener(t,i)},addGlobalListener:function(e,t){e.apiEventService.addGlobalListener(t)},removeEventListener:function(e,t,i){e.apiEventService.removeEventListener(t,i)},removeGlobalListener:function(e,t){e.apiEventService.removeGlobalListener(t)}}},{version:pn,moduleName:"@ag-grid-community/render-api",apiFunctions:{setGridAriaProperty:function(e,t,i){if(!t)return;const s=e.ctrlsService.getGridBodyCtrl().getGui(),o=`aria-${t}`;null===i?s.removeAttribute(o):s.setAttribute(o,i)},refreshCells:function(e,t={}){e.frameworkOverrides.wrapIncoming((()=>e.rowRenderer.refreshCells(t)))},flashCells:function(e,t={}){const i=e=>m(`Since v31.1 api.flashCells parameter '${e}Delay' is deprecated. Please use '${e}Duration' instead.`);P(t.fadeDelay)&&i("fade"),P(t.flashDelay)&&i("flash"),e.frameworkOverrides.wrapIncoming((()=>e.rowRenderer.flashCells(t)))},refreshHeader:function(e){e.frameworkOverrides.wrapIncoming((()=>e.ctrlsService.getHeaderRowContainerCtrls().forEach((e=>e.refresh()))))},isAnimationFrameQueueEmpty:function(e){return e.animationFrameService.isQueueEmpty()},flushAllAnimationFrames:function(e){e.animationFrameService.flushAllFrames()},getSizesForCurrentTheme:function(e){return{rowHeight:U(e.gos),headerHeight:e.columnModel.getHeaderHeight()}},getCellRendererInstances:function(e,t={}){return e.rowRenderer.getCellRendererInstances(t).map(Zs)}}},{version:pn,moduleName:"@ag-grid-community/cell-api",apiFunctions:{expireValueCache:function(e){e.valueCache.expire()},getValue:function(e,t,i){return Ca(e,{colKey:t,rowNode:i})},getCellValue:Ca}},{version:pn,moduleName:"@ag-grid-community/menu-api",apiFunctions:{showColumnMenuAfterButtonClick:function(e,t,i){const s=e.columnModel.getCol(t);e.menuService.showColumnMenu({column:s,buttonElement:i,positionBy:"button"})},showColumnMenuAfterMouseClick:function(e,t,i){let s=e.columnModel.getCol(t);s||(s=e.columnModel.getColDefCol(t)),s?e.menuService.showColumnMenu({column:s,mouseEvent:i,positionBy:"mouse"}):v(`column '${t}' not found`)},showColumnMenu:function(e,t){const i=e.columnModel.getCol(t);i?e.menuService.showColumnMenu({column:i,positionBy:"auto"}):v(`column '${t}' not found`)},hidePopupMenu:function(e){e.menuService.hidePopupMenu()}}},{version:pn,moduleName:"@ag-grid-community/sort-api",apiFunctions:{onSortChanged:function(e){e.sortController.onSortChanged("api")}}}]};function ba(e){if((e={...e}).version||(e.version="32.1.0"),"32.1.0"===e.version)e=function(e){return e.cellSelection=function(e,t){if(e&&"object"==typeof e)return e[t]}(e,"rangeSelection"),e}(e);return e}var Ra={version:pn,moduleName:"@ag-grid-community/state-core",beans:[class extends Oe{constructor(){super(...arguments),this.beanName="stateService",this.suppressEvents=!0,this.queuedUpdateSources=new Set,this.dispatchStateUpdateEventDebounced=b((()=>this.dispatchQueuedStateUpdateEvents()),0),this.onRowGroupOpenedDebounced=b((()=>this.updateCachedState("rowGroupExpansion",this.getRowGroupExpansionState())),0),this.onRowSelectedDebounced=b((()=>{this.staleStateKeys.delete("rowSelection"),this.updateCachedState("rowSelection",this.getRowSelectionState())}),0),this.staleStateKeys=new Set}wireBeans(e){this.filterManager=e.filterManager,this.ctrlsService=e.ctrlsService,this.pivotResultColsService=e.pivotResultColsService,this.focusService=e.focusService,this.columnModel=e.columnModel,this.visibleColsService=e.visibleColsService,this.columnGroupStateService=e.columnGroupStateService,this.columnGetStateService=e.columnGetStateService,this.paginationService=e.paginationService,this.selectionService=e.selectionService,this.expansionService=e.expansionService,this.columnAnimationService=e.columnAnimationService,this.columnApplyStateService=e.columnApplyStateService,this.sideBarService=e.sideBarService,this.rangeService=e.rangeService}postConstruct(){this.isClientSideRowModel=G(this.gos),this.cachedState=this.getInitialState(),this.setCachedStateValue("version",pn),this.ctrlsService.whenReady(this,(()=>this.suppressEventsAndDispatchInitEvent((()=>this.setupStateOnGridReady()))));const[e,t,i]=this.addManagedEventListeners({newColumnsLoaded:({source:t})=>{"gridInitializing"===t&&(e(),this.suppressEventsAndDispatchInitEvent((()=>this.setupStateOnColumnsInitialised())))},rowCountReady:()=>{null==t||t(),this.suppressEventsAndDispatchInitEvent((()=>this.setupStateOnRowCountReady()))},firstDataRendered:()=>{null==i||i(),this.suppressEventsAndDispatchInitEvent((()=>this.setupStateOnFirstDataRendered()))}})}getInitialState(){return ba(this.gos.get("initialState")??{})}getState(){return this.staleStateKeys.size&&this.refreshStaleState(),this.cachedState}setupStateOnGridReady(){this.updateCachedState("sideBar",this.getSideBarState());const e=()=>this.updateCachedState("sideBar",this.getSideBarState());this.addManagedEventListeners({toolPanelVisibleChanged:e,sideBarUpdated:e})}setupStateOnColumnsInitialised(){const e=this.getInitialState();this.setColumnState(e),this.setColumnGroupState(e),this.updateColumnState(["aggregation","columnOrder","columnPinning","columnSizing","columnVisibility","pivot","pivot","rowGroup","sort"]),this.updateCachedState("columnGroup",this.getColumnGroupState());const t=e=>()=>this.updateColumnState([e]);this.addManagedEventListeners({columnValueChanged:t("aggregation"),columnMoved:t("columnOrder"),columnPinned:t("columnPinning"),columnResized:t("columnSizing"),columnVisible:t("columnVisibility"),columnPivotChanged:t("pivot"),columnPivotModeChanged:t("pivot"),columnRowGroupChanged:t("rowGroup"),sortChanged:t("sort"),newColumnsLoaded:()=>this.updateColumnState(["aggregation","columnOrder","columnPinning","columnSizing","columnVisibility","pivot","rowGroup","sort"]),columnGroupOpened:()=>this.updateCachedState("columnGroup",this.getColumnGroupState())})}setupStateOnRowCountReady(){const{filter:e,rowGroupExpansion:t,rowSelection:i,pagination:s}=this.getInitialState(),o=this.gos.get("advancedFilterModel");(e||o)&&this.setFilterState(e,o),t&&this.setRowGroupExpansionState(t),i&&this.setRowSelectionState(i),s&&this.setPaginationState(s),this.updateCachedState("filter",this.getFilterState()),this.updateCachedState("rowGroupExpansion",this.getRowGroupExpansionState()),this.updateCachedState("rowSelection",this.getRowSelectionState()),this.updateCachedState("pagination",this.getPaginationState());const n=()=>this.updateCachedState("rowGroupExpansion",this.getRowGroupExpansionState());this.addManagedEventListeners({filterChanged:()=>this.updateCachedState("filter",this.getFilterState()),rowGroupOpened:()=>this.onRowGroupOpenedDebounced(),expandOrCollapseAll:n,columnRowGroupChanged:n,rowDataUpdated:()=>{0!==this.gos.get("groupDefaultExpanded")&&setTimeout((()=>{n()}))},selectionChanged:()=>{this.staleStateKeys.add("rowSelection"),this.onRowSelectedDebounced()},paginationChanged:e=>{(e.newPage||e.newPageSize)&&this.updateCachedState("pagination",this.getPaginationState())}})}setupStateOnFirstDataRendered(){const{scroll:e,cellSelection:t,focusedCell:i,columnOrder:s}=this.getInitialState();i&&this.setFocusedCellState(i),t&&this.setCellSelectionState(t),e&&this.setScrollState(e),this.setColumnPivotState(!!(null==s?void 0:s.orderedColIds)),this.updateCachedState("sideBar",this.getSideBarState()),this.updateCachedState("focusedCell",this.getFocusedCellState());const o=this.getRangeSelectionState();this.updateCachedState("rangeSelection",o),this.updateCachedState("cellSelection",o),this.updateCachedState("scroll",this.getScrollState()),this.addManagedEventListeners({cellFocused:()=>this.updateCachedState("focusedCell",this.getFocusedCellState()),cellSelectionChanged:e=>{if(e.finished){const e=this.getRangeSelectionState();this.updateCachedState("rangeSelection",e),this.updateCachedState("cellSelection",e)}},bodyScrollEnd:()=>this.updateCachedState("scroll",this.getScrollState())})}getColumnState(){const e=this.columnModel.isPivotMode(),t=[],i=[],s=[],o=[],n=[],r=[],l=[],a=[],d=[];let h=0;const u=this.columnGetStateService.getColumnState();for(let c=0;c<u.length;c++){const{colId:e,sort:g,sortIndex:p,rowGroup:m,rowGroupIndex:v,aggFunc:C,pivot:f,pivotIndex:w,pinned:S,hide:y,width:b,flex:R}=u[c];d.push(e),g&&(t[p??h++]={colId:e,sort:g}),m&&(i[v??0]=e),"string"==typeof C&&s.push({colId:e,aggFunc:C}),f&&(o[w??0]=e),S&&("right"===S?r:n).push(e),y&&l.push(e),(R||b)&&a.push({colId:e,flex:R??void 0,width:b})}return{sort:t.length?{sortModel:t}:void 0,rowGroup:i.length?{groupColIds:i}:void 0,aggregation:s.length?{aggregationModel:s}:void 0,pivot:o.length||e?{pivotMode:e,pivotColIds:o}:void 0,columnPinning:n.length||r.length?{leftColIds:n,rightColIds:r}:void 0,columnVisibility:l.length?{hiddenColIds:l}:void 0,columnSizing:a.length?{columnSizingModel:a}:void 0,columnOrder:d.length?{orderedColIds:d}:void 0}}setColumnState(e){const{sort:t,rowGroup:i,aggregation:s,pivot:o,columnPinning:n,columnVisibility:r,columnSizing:l,columnOrder:a,partialColumnState:d}=e,h={},u=e=>{let t=h[e];return t||(t={colId:e},h[e]=t,t)},c=d?{}:{sort:null,sortIndex:null,rowGroup:null,rowGroupIndex:null,aggFunc:null,pivot:null,pivotIndex:null,pinned:null,hide:null,flex:null};t&&(t.sortModel.forEach((({colId:e,sort:t},i)=>{const s=u(e);s.sort=t,s.sortIndex=i})),c.sort=null,c.sortIndex=null),i&&(i.groupColIds.forEach(((e,t)=>{const i=u(e);i.rowGroup=!0,i.rowGroupIndex=t})),c.rowGroup=null,c.rowGroupIndex=null),s&&(s.aggregationModel.forEach((({colId:e,aggFunc:t})=>{u(e).aggFunc=t})),c.aggFunc=null),o&&(o.pivotColIds.forEach(((e,t)=>{const i=u(e);i.pivot=!0,i.pivotIndex=t})),this.gos.updateGridOptions({options:{pivotMode:o.pivotMode},source:"gridInitializing"}),c.pivot=null,c.pivotIndex=null),n&&(n.leftColIds.forEach((e=>{u(e).pinned="left"})),n.rightColIds.forEach((e=>{u(e).pinned="right"})),c.pinned=null),r&&(r.hiddenColIds.forEach((e=>{u(e).hide=!0})),c.hide=null),l&&(l.columnSizingModel.forEach((({colId:e,flex:t,width:i})=>{const s=u(e);s.flex=t??null,s.width=i})),c.flex=null);const g=null==a?void 0:a.orderedColIds,p=!!(null==g?void 0:g.length),m=p?g.map((e=>u(e))):Object.values(h);m.length&&(this.columnStates=m,this.columnApplyStateService.applyColumnState({state:m,applyOrder:p,defaultState:c},"gridInitializing"))}setColumnPivotState(e){const t=this.columnStates;this.columnStates=void 0;const i=this.columnGroupStates;if(this.columnGroupStates=void 0,this.pivotResultColsService.isPivotResultColsPresent()){if(t){const i=[];for(const e of t)this.pivotResultColsService.getPivotResultCol(e.colId)&&i.push(e);this.columnApplyStateService.applyColumnState({state:i,applyOrder:e},"gridInitializing")}i&&this.columnGroupStateService.setColumnGroupState(i,"gridInitializing")}}getColumnGroupState(){const e=this.columnGroupStateService.getColumnGroupState(),t=[];return e.forEach((({groupId:e,open:i})=>{i&&t.push(e)})),t.length?{openColumnGroupIds:t}:void 0}setColumnGroupState(e){var t;if(!Object.prototype.hasOwnProperty.call(e,"columnGroup"))return;const i=new Set(null==(t=e.columnGroup)?void 0:t.openColumnGroupIds),s=this.columnGroupStateService.getColumnGroupState().map((({groupId:e})=>{const t=i.has(e);return t&&i.delete(e),{groupId:e,open:t}}));i.forEach((e=>{s.push({groupId:e,open:!0})})),s.length&&(this.columnGroupStates=s),this.columnGroupStateService.setColumnGroupState(s,"gridInitializing")}getFilterState(){var e,t;let i=null==(e=this.filterManager)?void 0:e.getFilterModel();i&&0===Object.keys(i).length&&(i=void 0);const s=(null==(t=this.filterManager)?void 0:t.getAdvancedFilterModel())??void 0;return i||s?{filterModel:i,advancedFilterModel:s}:void 0}setFilterState(e,t){var i,s;const{filterModel:o,advancedFilterModel:n}=e??{advancedFilterModel:t};o&&(null==(i=this.filterManager)||i.setFilterModel(o,"columnFilter")),n&&(null==(s=this.filterManager)||s.setAdvancedFilterModel(n))}getRangeSelectionState(){var e;const t=null==(e=this.rangeService)?void 0:e.getCellRanges().map((e=>{const{id:t,type:i,startRow:s,endRow:o,columns:n,startColumn:r}=e;return{id:t,type:i,startRow:s,endRow:o,colIds:n.map((e=>e.getColId())),startColId:r.getColId()}}));return(null==t?void 0:t.length)?{cellRanges:t}:void 0}setCellSelectionState(e){const{gos:t,rangeService:i,columnModel:s,visibleColsService:o}=this;if(!de(t)||!i)return;const n=[];if(e.cellRanges.forEach((e=>{const t=[];if(e.colIds.forEach((e=>{const i=s.getCol(e);i&&t.push(i)})),!t.length)return;let i=s.getCol(e.startColId);if(!i){const e=o.getAllCols(),s=new Set(t);i=e.find((e=>s.has(e)))}n.push({...e,columns:t,startColumn:i})})),function(e){return void 0!==e.get("cellSelection")}(t)&&function(e){const t=e.get("cellSelection");return void 0!==t?"boolean"!=typeof t&&((null==t?void 0:t.suppressMultiRanges)??!1):e.get("suppressMultiRangeSelection")}(t)&&n.length>1)return m("cannot add multiple ranges when `cellSelection.suppressMultiRanges = true`");i.setCellRanges(n)}getScrollState(){var e;if(!this.isClientSideRowModel)return;const t=null==(e=this.ctrlsService.getGridBodyCtrl())?void 0:e.getScrollFeature(),{left:i}=(null==t?void 0:t.getHScrollPosition())??{left:0},{top:s}=(null==t?void 0:t.getVScrollPosition())??{top:0};return s||i?{top:s,left:i}:void 0}setScrollState(e){var t;if(!this.isClientSideRowModel)return;const{top:i,left:s}=e;null==(t=this.ctrlsService.getGridBodyCtrl())||t.getScrollFeature().setScrollPosition(i,s)}getSideBarState(){var e,t;return null==(t=null==(e=this.sideBarService)?void 0:e.getSideBarComp())?void 0:t.getState()}getFocusedCellState(){if(!this.isClientSideRowModel)return;const e=this.focusService.getFocusedCell();if(e){const{column:t,rowIndex:i,rowPinned:s}=e;return{colId:t.getColId(),rowIndex:i,rowPinned:s}}}setFocusedCellState(e){if(!this.isClientSideRowModel)return;const{colId:t,rowIndex:i,rowPinned:s}=e;this.focusService.setFocusedCell({column:this.columnModel.getCol(t),rowIndex:i,rowPinned:s,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}getPaginationState(){if(!this.paginationService)return;const e=this.paginationService.getCurrentPage(),t=this.gos.get("paginationAutoPageSize")?void 0:this.paginationService.getPageSize();return e||t?{page:e,pageSize:t}:void 0}setPaginationState(e){this.paginationService&&(e.pageSize&&!this.gos.get("paginationAutoPageSize")&&this.paginationService.setPageSize(e.pageSize,"initialState"),"number"==typeof e.page&&this.paginationService.setPage(e.page))}getRowSelectionState(){var e;const t=this.selectionService.getSelectionState();return!t||!Array.isArray(t)&&(!1===t.selectAll||!1===t.selectAllChildren)&&!(null==(e=null==t?void 0:t.toggledNodes)?void 0:e.length)?void 0:t}setRowSelectionState(e){this.selectionService.setSelectionState(e,"gridInitializing")}getRowGroupExpansionState(){const e=this.expansionService.getExpandedRows();return e.length?{expandedRowGroupIds:e}:void 0}setRowGroupExpansionState(e){this.expansionService.expandRows(e.expandedRowGroupIds)}updateColumnState(e){const t=this.getColumnState();let i=!1;Object.entries(t).forEach((([e,t])=>{I(t,this.cachedState[e])||(i=!0)})),this.cachedState={...this.cachedState,...t},i&&this.dispatchStateUpdateEvent(e)}updateCachedState(e,t){const i=this.cachedState[e];this.setCachedStateValue(e,t),I(t,i)||this.dispatchStateUpdateEvent([e])}setCachedStateValue(e,t){this.cachedState={...this.cachedState,[e]:t}}refreshStaleState(){this.staleStateKeys.forEach((e=>{if("rowSelection"===e)this.setCachedStateValue(e,this.getRowSelectionState())})),this.staleStateKeys.clear()}dispatchStateUpdateEvent(e){this.suppressEvents||(e.forEach((e=>this.queuedUpdateSources.add(e))),this.dispatchStateUpdateEventDebounced())}dispatchQueuedStateUpdateEvents(){const e=Array.from(this.queuedUpdateSources);this.queuedUpdateSources.clear(),this.eventService.dispatchEvent({type:"stateUpdated",sources:e,state:this.cachedState})}suppressEventsAndDispatchInitEvent(e){this.suppressEvents=!0,this.columnAnimationService.setSuppressAnimation(!0),e(),setTimeout((()=>{this.suppressEvents=!1,this.queuedUpdateSources.clear(),this.isAlive()&&(this.columnAnimationService.setSuppressAnimation(!1),this.dispatchStateUpdateEvent(["gridInitializing"]))}))}}]},Fa={version:pn,moduleName:"@ag-grid-community/state",dependantModules:[Ra,{version:pn,moduleName:"@ag-grid-community/state-api",apiFunctions:{getState:function(e){var t;return(null==(t=e.stateService)?void 0:t.getState())??{}}},dependantModules:[Ra]}]};var Pa="paginationPageSizeSelector",Da={selector:"AG-PAGE-SIZE-SELECTOR",component:class extends Ji{constructor(){super('<span class="ag-paging-page-size"></span>'),this.hasEmptyOption=!1,this.handlePageSizeItemSelected=()=>{if(!this.selectPageSizeComp)return;const e=this.selectPageSizeComp.getValue();if(!e)return;const t=Number(e);isNaN(t)||t<1||t===this.paginationService.getPageSize()||(this.paginationService.setPageSize(t,"pageSizeSelector"),this.hasEmptyOption&&this.toggleSelectDisplay(!0),this.selectPageSizeComp.getFocusableElement().focus())}}wireBeans(e){this.paginationService=e.paginationService}postConstruct(){this.addManagedPropertyListener(Pa,(()=>{this.onPageSizeSelectorValuesChange()})),this.addManagedEventListeners({paginationChanged:e=>this.handlePaginationChanged(e)})}handlePaginationChanged(e){if(!this.selectPageSizeComp||!(null==e?void 0:e.newPageSize))return;const t=this.paginationService.getPageSize();this.getPageSizeSelectorValues().includes(t)?this.selectPageSizeComp.setValue(t.toString()):this.hasEmptyOption?this.selectPageSizeComp.setValue(""):this.toggleSelectDisplay(!0)}toggleSelectDisplay(e){this.selectPageSizeComp&&!e&&this.reset(),e&&(this.reloadPageSizesSelector(),this.selectPageSizeComp)}reset(){vi(this.getGui()),this.selectPageSizeComp&&(this.selectPageSizeComp=this.destroyBean(this.selectPageSizeComp))}onPageSizeSelectorValuesChange(){this.selectPageSizeComp&&this.shouldShowPageSizeSelector()&&this.reloadPageSizesSelector()}shouldShowPageSizeSelector(){return this.gos.get("pagination")&&!this.gos.get("suppressPaginationPanel")&&!this.gos.get("paginationAutoPageSize")&&!1!==this.gos.get(Pa)}reloadPageSizesSelector(){const e=this.getPageSizeSelectorValues(),t=this.paginationService.getPageSize(),i=!t||!e.includes(t);if(i){const i=this.gos.exists("paginationPageSize"),s=!0!==this.gos.get(Pa);m(`'paginationPageSize=${t}'${i?"":" (default value)"}, but ${t} is not included in${s?"":" the default"} paginationPageSizeSelector=[${e.join(", ")}].`),s||m(`Either set '${Pa}' to an array that includes ${t} or to 'false' to disable the page size selector.`),e.unshift("")}const s=String(i?"":t);this.selectPageSizeComp?(Se(this.pageSizeOptions,e)||(this.selectPageSizeComp.clearOptions().addOptions(this.createPageSizeSelectOptions(e)),this.pageSizeOptions=e),this.selectPageSizeComp.setValue(s,!0)):this.createPageSizeSelectorComp(e,s),this.hasEmptyOption=i}createPageSizeSelectOptions(e){return e.map((e=>({value:String(e)})))}createPageSizeSelectorComp(e,t){const i=this.localeService.getLocaleTextFunc(),s=i("pageSizeSelectorLabel","Page Size:"),o=i("ariaPageSizeSelectorLabel","Page Size");this.selectPageSizeComp=this.createManagedBean(new To).addOptions(this.createPageSizeSelectOptions(e)).setValue(t).setAriaLabel(o).setLabel(s).onValueChange((()=>this.handlePageSizeItemSelected())),this.appendChild(this.selectPageSizeComp)}getPageSizeSelectorValues(){const e=[20,50,100],t=this.gos.get(Pa);return!Array.isArray(t)||E(t)?e:[...t].sort(((e,t)=>e-t))}destroy(){this.toggleSelectDisplay(!1),super.destroy()}}},Ea={selector:"AG-PAGINATION",component:class extends Al{constructor(){super(),this.btFirst=Xi,this.btPrevious=Xi,this.btNext=Xi,this.btLast=Xi,this.lbRecordCount=Xi,this.lbFirstRowOnPage=Xi,this.lbLastRowOnPage=Xi,this.lbCurrent=Xi,this.lbTotal=Xi,this.pageSizeComp=Xi,this.previousAndFirstButtonsDisabled=!1,this.nextButtonDisabled=!1,this.lastButtonDisabled=!1,this.areListenersSetup=!1,this.allowFocusInnerElement=!1}wireBeans(e){this.rowModel=e.rowModel,this.paginationService=e.paginationService,this.focusService=e.focusService,this.ariaAnnouncementService=e.ariaAnnouncementService}postConstruct(){const e=this.gos.get("enableRtl");this.setTemplate(this.getTemplate(),[Da]);const{btFirst:t,btPrevious:i,btNext:s,btLast:o}=this;this.activateTabIndex([t,i,s,o]),t.insertAdjacentElement("afterbegin",ts(e?"last":"first",this.gos)),i.insertAdjacentElement("afterbegin",ts(e?"next":"previous",this.gos)),s.insertAdjacentElement("afterbegin",ts(e?"previous":"next",this.gos)),o.insertAdjacentElement("afterbegin",ts(e?"first":"last",this.gos)),this.addManagedPropertyListener("pagination",this.onPaginationChanged.bind(this)),this.addManagedPropertyListener("suppressPaginationPanel",this.onPaginationChanged.bind(this)),this.addManagedPropertyListeners(["paginationPageSizeSelector","paginationAutoPageSize","suppressPaginationPanel"],(()=>this.onPageSizeRelatedOptionsChange())),this.pageSizeComp.toggleSelectDisplay(this.pageSizeComp.shouldShowPageSizeSelector()),this.initialiseTabGuard({onTabKeyDown:()=>{},focusInnerElement:e=>{this.allowFocusInnerElement?this.tabGuardFeature.getTabGuardCtrl().focusInnerElement(e):this.focusService.focusGridInnerElement(e)},forceFocusOutWhenTabGuardsAreEmpty:!0}),this.onPaginationChanged()}setAllowFocus(e){this.allowFocusInnerElement=e}onPaginationChanged(){const e=this.gos.get("pagination")&&!this.gos.get("suppressPaginationPanel");this.setDisplayed(e),e&&(this.setupListeners(),this.enableOrDisableButtons(),this.updateLabels(),this.onPageSizeRelatedOptionsChange())}onPageSizeRelatedOptionsChange(){this.pageSizeComp.toggleSelectDisplay(this.pageSizeComp.shouldShowPageSizeSelector())}setupListeners(){var e,t,i;this.areListenersSetup||(this.addManagedEventListeners({paginationChanged:this.onPaginationChanged.bind(this)}),[{el:this.btFirst,fn:this.onBtFirst.bind(this)},{el:this.btPrevious,fn:this.onBtPrevious.bind(this)},{el:this.btNext,fn:this.onBtNext.bind(this)},{el:this.btLast,fn:this.onBtLast.bind(this)}].forEach((e=>{const{el:t,fn:i}=e;this.addManagedListeners(t,{click:i,keydown:e=>{e.key!==gs.ENTER&&e.key!==gs.SPACE||(e.preventDefault(),i())}})})),e=this,t=this.getGui(),i=this.focusService,e.addManagedElementListeners(t,{keydown:e=>{if(!e.defaultPrevented&&e.key===gs.TAB){const s=e.shiftKey;i.findNextFocusableElement(t,!1,s)||i.focusNextGridCoreContainer(s)&&e.preventDefault()}}}),this.areListenersSetup=!0)}onBtFirst(){this.previousAndFirstButtonsDisabled||this.paginationService.goToFirstPage()}formatNumber(e){const t=this.gos.getCallback("paginationNumberFormatter");if(t){return t({value:e})}const i=this.localeService.getLocaleTextFunc();return function(e,t,i){return"number"!=typeof e?"":e.toString().replace(".",i).replace(/(\d)(?=(\d{3})+(?!\d))/g,`$1${t}`)}(e,i("thousandSeparator",","),i("decimalSeparator","."))}getTemplate(){const e=this.localeService.getLocaleTextFunc(),t=e("page","Page"),i=e("to","to"),s=e("of","of"),o=e("firstPage","First Page"),n=e("previousPage","Previous Page"),r=e("nextPage","Next Page"),l=e("lastPage","Last Page"),a=this.getCompId();return`<div class="ag-paging-panel ag-unselectable" id="ag-${a}">\n <ag-page-size-selector data-ref="pageSizeComp"></ag-page-size-selector>\n <span class="ag-paging-row-summary-panel">\n <span id="ag-${a}-first-row" data-ref="lbFirstRowOnPage" class="ag-paging-row-summary-panel-number"></span>\n <span id="ag-${a}-to">${i}</span>\n <span id="ag-${a}-last-row" data-ref="lbLastRowOnPage" class="ag-paging-row-summary-panel-number"></span>\n <span id="ag-${a}-of">${s}</span>\n <span id="ag-${a}-row-count" data-ref="lbRecordCount" class="ag-paging-row-summary-panel-number"></span>\n </span>\n <span class="ag-paging-page-summary-panel" role="presentation">\n <div data-ref="btFirst" class="ag-button ag-paging-button" role="button" aria-label="${o}"></div>\n <div data-ref="btPrevious" class="ag-button ag-paging-button" role="button" aria-label="${n}"></div>\n <span class="ag-paging-description">\n <span id="ag-${a}-start-page">${t}</span>\n <span id="ag-${a}-start-page-number" data-ref="lbCurrent" class="ag-paging-number"></span>\n <span id="ag-${a}-of-page">${s}</span>\n <span id="ag-${a}-of-page-number" data-ref="lbTotal" class="ag-paging-number"></span>\n </span>\n <div data-ref="btNext" class="ag-button ag-paging-button" role="button" aria-label="${r}"></div>\n <div data-ref="btLast" class="ag-button ag-paging-button" role="button" aria-label="${l}"></div>\n </span>\n </div>`}onBtNext(){this.nextButtonDisabled||this.paginationService.goToNextPage()}onBtPrevious(){this.previousAndFirstButtonsDisabled||this.paginationService.goToPreviousPage()}onBtLast(){this.lastButtonDisabled||this.paginationService.goToLastPage()}enableOrDisableButtons(){const e=this.paginationService.getCurrentPage(),t=this.rowModel.isLastRowIndexKnown(),i=this.paginationService.getTotalPages();this.previousAndFirstButtonsDisabled=0===e,this.toggleButtonDisabled(this.btFirst,this.previousAndFirstButtonsDisabled),this.toggleButtonDisabled(this.btPrevious,this.previousAndFirstButtonsDisabled);const s=this.isZeroPagesToDisplay(),o=e===i-1;this.nextButtonDisabled=o||s,this.lastButtonDisabled=!t||s||e===i-1,this.toggleButtonDisabled(this.btNext,this.nextButtonDisabled),this.toggleButtonDisabled(this.btLast,this.lastButtonDisabled)}toggleButtonDisabled(e,t){!function(e,t){Kt(e,"disabled",t)}(e,t),e.classList.toggle("ag-disabled",t)}isZeroPagesToDisplay(){const e=this.rowModel.isLastRowIndexKnown(),t=this.paginationService.getTotalPages();return e&&0===t}updateLabels(){const e=this.rowModel.isLastRowIndexKnown(),t=this.paginationService.getTotalPages(),i=this.paginationService.getMasterRowCount(),s=e?i:null;if(1===s){const e=this.rowModel.getRow(0);if(e&&e.group&&!(e.groupData||e.aggData))return void this.setTotalLabelsToZero()}const o=this.paginationService.getCurrentPage(),n=this.paginationService.getPageSize();let r,l;this.isZeroPagesToDisplay()?r=l=0:(r=n*o+1,l=r+n-1,e&&l>s&&(l=s));const a=!e&&i<r+n-1,d=this.formatNumber(r);let h;this.lbFirstRowOnPage.textContent=d;const u=this.localeService.getLocaleTextFunc();h=a?u("pageLastRowUnknown","?"):this.formatNumber(l),this.lbLastRowOnPage.textContent=h;const c=t>0?o+1:0,g=this.formatNumber(c);let p,m;if(this.lbCurrent.textContent=g,e)p=this.formatNumber(t),m=this.formatNumber(s);else{const e=u("more","more");p=e,m=e}this.lbTotal.textContent=p,this.lbRecordCount.textContent=m,this.announceAriaStatus(d,h,m,g,p)}announceAriaStatus(e,t,i,s,o){const n=this.localeService.getLocaleTextFunc(),r=n("page","Page"),l=n("to","to"),a=n("of","of"),d=`${e} ${l} ${t} ${a} ${i}`,h=`${r} ${s} ${a} ${o}`;d!==this.ariaRowStatus&&(this.ariaRowStatus=d,this.ariaAnnouncementService.announceValue(d,"paginationRow")),h!==this.ariaPageStatus&&(this.ariaPageStatus=h,this.ariaAnnouncementService.announceValue(h,"paginationPage"))}setTotalLabelsToZero(){const e=this.formatNumber(0);this.lbFirstRowOnPage.textContent=e,this.lbCurrent.textContent=e,this.lbLastRowOnPage.textContent=e,this.lbTotal.textContent=e,this.lbRecordCount.textContent=e,this.announceAriaStatus(e,e,e,e,e)}}},Ma={version:pn,moduleName:"@ag-grid-community/pagination-core",beans:[class extends Oe{constructor(){super(...arguments),this.beanName="paginationService",this.currentPage=0,this.topDisplayedRowIndex=0,this.bottomDisplayedRowIndex=0,this.masterRowCount=0}wireBeans(e){this.rowModel=e.rowModel,this.pageBoundsService=e.pageBoundsService}postConstruct(){this.active=this.gos.get("pagination"),this.pageSizeFromGridOptions=this.gos.get("paginationPageSize"),this.paginateChildRows=this.isPaginateChildRows(),this.addManagedPropertyListener("pagination",this.onPaginationGridOptionChanged.bind(this)),this.addManagedPropertyListener("paginationPageSize",this.onPageSizeGridOptionChanged.bind(this))}getPaginationSelector(){return Ea}isPaginateChildRows(){return!(!this.gos.get("groupRemoveSingleChildren")&&!this.gos.get("groupRemoveLowestSingleChildren"))||this.gos.get("paginateChildRows")}onPaginationGridOptionChanged(){this.active=this.gos.get("pagination"),this.calculatePages(),this.dispatchPaginationChangedEvent({keepRenderedRows:!0})}onPageSizeGridOptionChanged(){this.setPageSize(this.gos.get("paginationPageSize"),"gridOptions")}goToPage(e){this.active&&this.currentPage!==e&&"number"==typeof this.currentPage&&(this.currentPage=e,this.calculatePages(),this.dispatchPaginationChangedEvent({newPage:!0}))}isRowPresent(e){return e.rowIndex>=this.topDisplayedRowIndex&&e.rowIndex<=this.bottomDisplayedRowIndex}getPageForIndex(e){return Math.floor(e/this.pageSize)}goToPageWithIndex(e){if(!this.active)return;const t=this.getPageForIndex(e);this.goToPage(t)}isRowInPage(e){if(!this.active)return!0;return this.getPageForIndex(e.rowIndex)===this.currentPage}getCurrentPage(){return this.currentPage}goToNextPage(){this.goToPage(this.currentPage+1)}goToPreviousPage(){this.goToPage(this.currentPage-1)}goToFirstPage(){this.goToPage(0)}goToLastPage(){const e=this.rowModel.getRowCount(),t=Math.floor(e/this.pageSize);this.goToPage(t)}getPageSize(){return this.pageSize}getTotalPages(){return this.totalPages}setPage(e){this.currentPage=e}get pageSize(){return P(this.pageSizeAutoCalculated)&&this.gos.get("paginationAutoPageSize")?this.pageSizeAutoCalculated:P(this.pageSizeFromPageSizeSelector)?this.pageSizeFromPageSizeSelector:P(this.pageSizeFromInitialState)?this.pageSizeFromInitialState:P(this.pageSizeFromGridOptions)?this.pageSizeFromGridOptions:this.defaultPageSize}calculatePages(){this.active?this.paginateChildRows?this.calculatePagesAllRows():this.calculatePagesMasterRowsOnly():this.calculatedPagesNotActive(),this.pageBoundsService.calculateBounds(this.topDisplayedRowIndex,this.bottomDisplayedRowIndex)}unsetAutoCalculatedPageSize(){if(void 0===this.pageSizeAutoCalculated)return;const e=this.pageSizeAutoCalculated;this.pageSizeAutoCalculated=void 0,this.pageSize!==e&&(this.calculatePages(),this.dispatchPaginationChangedEvent({newPageSize:!0}))}setPageSize(e,t){const i=this.pageSize;switch(t){case"autoCalculated":this.pageSizeAutoCalculated=e;break;case"pageSizeSelector":this.pageSizeFromPageSizeSelector=e,0!==this.currentPage&&this.goToFirstPage();break;case"initialState":this.pageSizeFromInitialState=e;break;case"gridOptions":this.pageSizeFromGridOptions=e,this.pageSizeFromInitialState=void 0,this.pageSizeFromPageSizeSelector=void 0,0!==this.currentPage&&this.goToFirstPage()}i!==this.pageSize&&(this.calculatePages(),this.dispatchPaginationChangedEvent({newPageSize:!0,keepRenderedRows:!0}))}setZeroRows(){this.masterRowCount=0,this.topDisplayedRowIndex=0,this.bottomDisplayedRowIndex=-1,this.currentPage=0,this.totalPages=0}adjustCurrentPageIfInvalid(){this.currentPage>=this.totalPages&&(this.currentPage=this.totalPages-1),(!isFinite(this.currentPage)||isNaN(this.currentPage)||this.currentPage<0)&&(this.currentPage=0)}calculatePagesMasterRowsOnly(){if(this.masterRowCount=this.rowModel.getTopLevelRowCount(),this.masterRowCount<=0)return void this.setZeroRows();const e=this.masterRowCount-1;this.totalPages=Math.floor(e/this.pageSize)+1,this.adjustCurrentPageIfInvalid();const t=this.pageSize*this.currentPage;let i=this.pageSize*(this.currentPage+1)-1;if(i>e&&(i=e),this.topDisplayedRowIndex=this.rowModel.getTopLevelRowDisplayedIndex(t),i===e)this.bottomDisplayedRowIndex=this.rowModel.getRowCount()-1;else{const e=this.rowModel.getTopLevelRowDisplayedIndex(i+1);this.bottomDisplayedRowIndex=e-1}}getMasterRowCount(){return this.masterRowCount}calculatePagesAllRows(){if(this.masterRowCount=this.rowModel.getRowCount(),0===this.masterRowCount)return void this.setZeroRows();const e=this.masterRowCount-1;this.totalPages=Math.floor(e/this.pageSize)+1,this.adjustCurrentPageIfInvalid(),this.topDisplayedRowIndex=this.pageSize*this.currentPage,this.bottomDisplayedRowIndex=this.pageSize*(this.currentPage+1)-1,this.bottomDisplayedRowIndex>e&&(this.bottomDisplayedRowIndex=e)}calculatedPagesNotActive(){this.setPageSize(void 0,"autoCalculated"),this.totalPages=1,this.currentPage=0,this.topDisplayedRowIndex=0,this.bottomDisplayedRowIndex=this.rowModel.getRowCount()-1}dispatchPaginationChangedEvent(e){const{keepRenderedRows:t=!1,newPage:i=!1,newPageSize:s=!1}=e;this.eventService.dispatchEvent({type:"paginationChanged",animate:!1,newData:!1,newPage:i,newPageSize:s,keepRenderedRows:t})}},class extends Oe{constructor(){super(...arguments),this.beanName="paginationAutoPageSizeService"}wireBeans(e){this.ctrlsService=e.ctrlsService,this.paginationService=e.paginationService}postConstruct(){this.ctrlsService.whenReady(this,(e=>{this.centerRowsCtrl=e.center;const t=this.checkPageSize.bind(this);this.addManagedEventListeners({bodyHeightChanged:t,scrollVisibilityChanged:t}),this.addManagedPropertyListener("paginationAutoPageSize",this.onPaginationAutoSizeChanged.bind(this)),this.checkPageSize()}))}notActive(){return!this.gos.get("paginationAutoPageSize")||null==this.centerRowsCtrl}onPaginationAutoSizeChanged(){this.notActive()?this.paginationService.unsetAutoCalculatedPageSize():this.checkPageSize()}checkPageSize(){if(this.notActive())return;const e=this.centerRowsCtrl.getViewportSizeFeature().getBodyHeight();if(e>0){const t=()=>{const t=Math.max(U(this.gos),1),i=Math.floor(e/t);this.paginationService.setPageSize(i,"autoCalculated")};this.isBodyRendered?b((()=>t()),50)():(t(),this.isBodyRendered=!0)}else this.isBodyRendered=!1}}]},xa={version:pn,moduleName:"@ag-grid-community/pagination",dependantModules:[Ma,{version:pn,moduleName:"@ag-grid-community/pagination-api",dependantModules:[Ma],apiFunctions:{paginationIsLastPageFound:function(e){return e.rowModel.isLastRowIndexKnown()},paginationGetPageSize:function(e){var t;return(null==(t=e.paginationService)?void 0:t.getPageSize())??100},paginationGetCurrentPage:function(e){var t;return(null==(t=e.paginationService)?void 0:t.getCurrentPage())??0},paginationGetTotalPages:function(e){var t;return(null==(t=e.paginationService)?void 0:t.getTotalPages())??1},paginationGetRowCount:function(e){return e.paginationService?e.paginationService.getMasterRowCount():e.rowModel.getRowCount()},paginationGoToNextPage:function(e){var t;null==(t=e.paginationService)||t.goToNextPage()},paginationGoToPreviousPage:function(e){var t;null==(t=e.paginationService)||t.goToPreviousPage()},paginationGoToFirstPage:function(e){var t;null==(t=e.paginationService)||t.goToFirstPage()},paginationGoToLastPage:function(e){var t;null==(t=e.paginationService)||t.goToLastPage()},paginationGoToPage:function(e,t){var i;null==(i=e.paginationService)||i.goToPage(t)}}}]},Aa="clientSide",Ta="serverSide",Ia="infinite",La={onGroupExpandedOrCollapsed:[Aa],refreshClientSideRowModel:[Aa],isRowDataEmpty:[Aa],forEachLeafNode:[Aa],forEachNodeAfterFilter:[Aa],forEachNodeAfterFilterAndSort:[Aa],resetRowHeights:[Aa],applyTransaction:[Aa],applyTransactionAsync:[Aa],flushAsyncTransactions:[Aa],getBestCostNodeSelection:[Aa],getServerSideSelectionState:[Ta],setServerSideSelectionState:[Ta],applyServerSideTransaction:[Ta],applyServerSideTransactionAsync:[Ta],applyServerSideRowData:[Ta],retryServerSideLoads:[Ta],flushServerSideAsyncTransactions:[Ta],refreshServerSide:[Ta],getServerSideGroupLevelState:[Ta],refreshInfiniteCache:[Ia],purgeInfiniteCache:[Ia],getInfiniteRowCount:[Ia],isLastRowIndexKnown:[Ia,Ta],expandAll:[Aa,Ta],collapseAll:[Aa,Ta],onRowHeightChanged:[Aa,Ta],setRowCount:[Ia,Ta],getCacheBlockState:[Ia,Ta]},ka={getValue:{version:"v31.3",new:"getCellValue"},getFirstDisplayedRow:{version:"v31.1",new:"getFirstDisplayedRowIndex"},getLastDisplayedRow:{version:"v31.1",new:"getLastDisplayedRowIndex"},getModel:{version:"v31.1",message:"Please use the appropriate grid API methods instead."},setColumnVisible:{version:"v31.1",old:"setColumnVisible(key,visible)",new:"setColumnsVisible([key],visible)"},setColumnPinned:{version:"v31.1",old:"setColumnPinned(key,pinned)",new:"setColumnsPinned([key],pinned)"},moveColumn:{version:"v31.1",old:"moveColumn(key, toIndex)",new:"moveColumns([key], toIndex)"},setColumnWidth:{version:"v31.1",old:"setColumnWidth(col, width)",new:"setColumnWidths([{key: col, newWidth: width}])"},autoSizeColumn:{version:"v31.1",old:"autoSizeColumn(key, skipHeader)",new:"autoSizeColumns([key], skipHeader)"},addAggFunc:{version:"v31.1",old:"addAggFunc(key, func)",new:"addAggFuncs({ key: func })"},removeValueColumn:{version:"v31.1",old:"removeValueColumn(colKey)",new:"removeValueColumns([colKey])"},addValueColumn:{version:"v31.1",old:"addValueColumn(colKey)",new:"addValueColumns([colKey])"},removeRowGroupColumn:{version:"v31.1",old:"removeRowGroupColumn(colKey)",new:"removeRowGroupColumns([colKey])"},addRowGroupColumn:{version:"v31.1",old:"addRowGroupColumn(colKey)",new:"addRowGroupColumns([colKey])"},removePivotColumn:{version:"v31.1",old:"removePivotColumn(colKey)",new:"removePivotColumns([colKey])"},addPivotColumn:{version:"v31.1",old:"addPivotColumn(colKey)",new:"addPivotColumns([colKey])"},showColumnMenuAfterButtonClick:{version:"v31.1",message:"Use 'IHeaderParams.showColumnMenu' within a header component, or 'api.showColumnMenu' elsewhere."},showColumnMenuAfterMouseClick:{version:"v31.1",message:"Use 'IHeaderParams.showColumnMenuAfterMouseClick' within a header component, or 'api.showColumnMenu' elsewhere."},getFilterInstance:{version:"v31.1",message:"'getFilterInstance' is deprecated. To get/set individual filter models, use 'getColumnFilterModel' or 'setColumnFilterModel' instead. To get hold of the filter instance, use 'getColumnFilterInstance' which returns the instance asynchronously."},showLoadingOverlay:{version:"v32",message:'`showLoadingOverlay` is deprecated. Use the grid option "loading"=true instead or setGridOption("loading", true).'},clearRangeSelection:{version:"v32.2",message:"Use `clearCellSelection` instead."},getInfiniteRowCount:{version:"v32.2",old:"getInfiniteRowCount()",new:"getDisplayedRowCount()"}};var Oa=(e,t)=>{const i=t.rowModelType??"clientSide";return"clientSide"===i||"serverSide"===i?{module:"@ag-grid-enterprise/row-grouping"}:null},Ga={enableRowGroup:Oa,rowGroup:Oa,rowGroupIndex:Oa,enablePivot:Oa,enableValue:Oa,pivot:Oa,pivotIndex:Oa,aggFunc:Oa,cellEditor:e=>"agRichSelect"===e.cellEditor||"agRichSelectCellEditor"===e.cellEditor?{module:"@ag-grid-enterprise/rich-select"}:null,menuTabs:e=>{var t;const i=["columnsMenuTab","generalMenuTab"];return(null==(t=e.menuTabs)?void 0:t.some((e=>i.includes(e))))?{module:"@ag-grid-enterprise/menu"}:null},columnsMenuParams:{module:["@ag-grid-enterprise/menu","@ag-grid-enterprise/column-tool-panel"]},columnChooserParams:{module:["@ag-grid-enterprise/menu","@ag-grid-enterprise/column-tool-panel"]},headerCheckboxSelection:{supportedRowModels:["clientSide","serverSide"],validate:(e,{rowSelection:t})=>"multiple"===t?null:"headerCheckboxSelection is only supported with rowSelection=multiple"},headerCheckboxSelectionFilteredOnly:{supportedRowModels:["clientSide"],validate:(e,{rowSelection:t})=>"multiple"===t?null:"headerCheckboxSelectionFilteredOnly is only supported with rowSelection=multiple"},headerCheckboxSelectionCurrentPageOnly:{supportedRowModels:["clientSide"],validate:(e,{rowSelection:t})=>"multiple"===t?null:"headerCheckboxSelectionCurrentPageOnly is only supported with rowSelection=multiple"},children:()=>Na},Na={objectName:"colDef",allProperties:Object.keys({headerName:void 0,columnGroupShow:void 0,headerClass:void 0,toolPanelClass:void 0,headerValueGetter:void 0,pivotKeys:void 0,groupId:void 0,colId:void 0,sort:void 0,initialSort:void 0,field:void 0,type:void 0,cellDataType:void 0,tooltipComponent:void 0,tooltipField:void 0,headerTooltip:void 0,cellClass:void 0,showRowGroup:void 0,filter:void 0,initialAggFunc:void 0,defaultAggFunc:void 0,aggFunc:void 0,pinned:void 0,initialPinned:void 0,chartDataType:void 0,cellAriaRole:void 0,cellEditorPopupPosition:void 0,headerGroupComponent:void 0,headerGroupComponentParams:void 0,cellStyle:void 0,cellRenderer:void 0,cellRendererParams:void 0,cellEditor:void 0,cellEditorParams:void 0,filterParams:void 0,pivotValueColumn:void 0,headerComponent:void 0,headerComponentParams:void 0,floatingFilterComponent:void 0,floatingFilterComponentParams:void 0,tooltipComponentParams:void 0,refData:void 0,columnsMenuParams:void 0,columnChooserParams:void 0,children:void 0,sortingOrder:void 0,allowedAggFuncs:void 0,menuTabs:void 0,pivotTotalColumnIds:void 0,cellClassRules:void 0,icons:void 0,sortIndex:void 0,initialSortIndex:void 0,flex:void 0,initialFlex:void 0,width:void 0,initialWidth:void 0,minWidth:void 0,maxWidth:void 0,rowGroupIndex:void 0,initialRowGroupIndex:void 0,pivotIndex:void 0,initialPivotIndex:void 0,suppressCellFlash:void 0,suppressColumnsToolPanel:void 0,suppressFiltersToolPanel:void 0,openByDefault:void 0,marryChildren:void 0,suppressStickyLabel:void 0,hide:void 0,initialHide:void 0,rowGroup:void 0,initialRowGroup:void 0,pivot:void 0,initialPivot:void 0,checkboxSelection:void 0,showDisabledCheckboxes:void 0,headerCheckboxSelection:void 0,headerCheckboxSelectionFilteredOnly:void 0,headerCheckboxSelectionCurrentPageOnly:void 0,suppressMenu:void 0,suppressHeaderMenuButton:void 0,suppressMovable:void 0,lockPosition:void 0,lockVisible:void 0,lockPinned:void 0,unSortIcon:void 0,suppressSizeToFit:void 0,suppressAutoSize:void 0,enableRowGroup:void 0,enablePivot:void 0,enableValue:void 0,editable:void 0,suppressPaste:void 0,suppressNavigable:void 0,enableCellChangeFlash:void 0,rowDrag:void 0,dndSource:void 0,autoHeight:void 0,wrapText:void 0,sortable:void 0,resizable:void 0,singleClickEdit:void 0,floatingFilter:void 0,cellEditorPopup:void 0,suppressFillHandle:void 0,wrapHeaderText:void 0,autoHeaderHeight:void 0,dndSourceOnRowDrag:void 0,valueGetter:void 0,valueSetter:void 0,filterValueGetter:void 0,keyCreator:void 0,valueFormatter:void 0,valueParser:void 0,comparator:void 0,equals:void 0,pivotComparator:void 0,suppressKeyboardEvent:void 0,suppressHeaderKeyboardEvent:void 0,colSpan:void 0,rowSpan:void 0,getQuickFilterText:void 0,onCellValueChanged:void 0,onCellClicked:void 0,onCellDoubleClicked:void 0,onCellContextMenu:void 0,rowDragText:void 0,tooltipValueGetter:void 0,cellRendererSelector:void 0,cellEditorSelector:void 0,suppressSpanHeaderHeight:void 0,useValueFormatterForExport:void 0,useValueParserForImport:void 0,mainMenuItems:void 0,contextMenuItems:void 0,suppressFloatingFilterButton:void 0,suppressHeaderFilterButton:void 0,suppressHeaderContextMenu:void 0,loadingCellRenderer:void 0,loadingCellRendererParams:void 0,loadingCellRendererSelector:void 0,context:void 0}),docsUrl:"column-properties/",deprecations:{columnsMenuParams:{version:"31.1",message:"Use `columnChooserParams` instead."},suppressMenu:{version:"31.1",message:"Use `suppressHeaderMenuButton` instead."},suppressCellFlash:{version:"31.2",message:"Use `enableCellChangeFlash={false}` in the ColDef"},checkboxSelection:{version:"32.2",message:"Use `rowSelection.checkboxes` in `GridOptions` instead."},headerCheckboxSelection:{version:"32.2",message:"Use `rowSelection.headerCheckbox = true` in `GridOptions` instead."},headerCheckboxSelectionFilteredOnly:{version:"32.2",message:'Use `rowSelection.selectAll = "filtered"` in `GridOptions` instead.'},headerCheckboxSelectionCurrentPageOnly:{version:"32.2",message:'Use `rowSelection.selectAll = "currentPage"` in `GridOptions` instead.'},showDisabledCheckboxes:{version:"32.2",message:"Use `rowSelection.hideDisabledCheckboxes = true` in `GridOptions` instead."}},validations:Ga},Ha={suppressContextMenu:!1,preventDefaultOnContextMenu:!1,allowContextMenuWithControlKey:!1,suppressMenuHide:!0,enableBrowserTooltips:!1,tooltipTrigger:"hover",tooltipShowDelay:2e3,tooltipHideDelay:1e4,tooltipMouseTrack:!1,tooltipShowMode:"standard",tooltipInteraction:!1,copyHeadersToClipboard:!1,copyGroupHeadersToClipboard:!1,clipboardDelimiter:"\t",suppressCopyRowsToClipboard:!1,suppressCopySingleCellRanges:!1,suppressLastEmptyLineOnPaste:!1,suppressClipboardPaste:!1,suppressClipboardApi:!1,suppressCutToClipboard:!1,maintainColumnOrder:!1,enableStrictPivotColumnOrder:!1,suppressFieldDotNotation:!1,allowDragFromColumnsToolPanel:!1,suppressMovableColumns:!1,suppressColumnMoveAnimation:!1,suppressMoveWhenColumnDragging:!1,suppressDragLeaveHidesColumns:!1,suppressRowGroupHidesColumns:!1,suppressAutoSize:!1,autoSizePadding:20,skipHeaderOnAutoSize:!1,singleClickEdit:!1,suppressClickEdit:!1,readOnlyEdit:!1,stopEditingWhenCellsLoseFocus:!1,enterNavigatesVertically:!1,enterNavigatesVerticallyAfterEdit:!1,enableCellEditingOnBackspace:!1,undoRedoCellEditing:!1,undoRedoCellEditingLimit:10,suppressCsvExport:!1,suppressExcelExport:!1,cacheQuickFilter:!1,includeHiddenColumnsInQuickFilter:!1,excludeChildrenWhenTreeDataFiltering:!1,enableAdvancedFilter:!1,includeHiddenColumnsInAdvancedFilter:!1,enableCharts:!1,masterDetail:!1,keepDetailRows:!1,keepDetailRowsCount:10,detailRowAutoHeight:!1,tabIndex:0,rowBuffer:10,valueCache:!1,valueCacheNeverExpires:!1,enableCellExpressions:!1,suppressTouch:!1,suppressFocusAfterRefresh:!1,suppressAsyncEvents:!1,suppressBrowserResizeObserver:!1,suppressPropertyNamesCheck:!1,suppressChangeDetection:!1,debug:!1,suppressLoadingOverlay:!1,suppressNoRowsOverlay:!1,pagination:!1,paginationPageSize:100,paginationPageSizeSelector:!0,paginationAutoPageSize:!1,paginateChildRows:!1,suppressPaginationPanel:!1,pivotMode:!1,pivotPanelShow:"never",pivotDefaultExpanded:0,pivotSuppressAutoColumn:!1,suppressExpandablePivotGroups:!1,functionsReadOnly:!1,suppressAggFuncInHeader:!1,alwaysAggregateAtRootLevel:!1,aggregateOnlyChangedColumns:!1,suppressAggFilteredOnly:!1,removePivotHeaderRowWhenSingleValueColumn:!1,animateRows:!0,enableCellChangeFlash:!1,cellFlashDelay:500,cellFlashDuration:500,cellFadeDelay:1e3,cellFadeDuration:1e3,allowShowChangeAfterFilter:!1,domLayout:"normal",ensureDomOrder:!1,enableRtl:!1,suppressColumnVirtualisation:!1,suppressMaxRenderedRowRestriction:!1,suppressRowVirtualisation:!1,rowDragManaged:!1,suppressRowDrag:!1,suppressMoveWhenRowDragging:!1,rowDragEntireRow:!1,rowDragMultiRow:!1,embedFullWidthRows:!1,groupDisplayType:"singleColumn",groupDefaultExpanded:0,groupMaintainOrder:!1,groupSelectsChildren:!1,groupIncludeTotalFooter:!1,groupSuppressBlankHeader:!1,groupSelectsFiltered:!1,showOpenedGroup:!1,groupRemoveSingleChildren:!1,groupRemoveLowestSingleChildren:!1,groupHideOpenParents:!1,groupAllowUnbalanced:!1,rowGroupPanelShow:"never",suppressMakeColumnVisibleAfterUnGroup:!1,treeData:!1,rowGroupPanelSuppressSort:!1,suppressGroupRowsSticky:!1,rowModelType:"clientSide",asyncTransactionWaitMillis:50,suppressModelUpdateAfterUpdateTransaction:!1,cacheOverflowSize:1,infiniteInitialRowCount:1,serverSideInitialRowCount:1,suppressServerSideInfiniteScroll:!1,cacheBlockSize:100,maxBlocksInCache:-1,maxConcurrentDatasourceRequests:2,blockLoadDebounceMillis:0,purgeClosedRowNodes:!1,serverSideSortAllLevels:!1,serverSideOnlyRefreshFilteredGroups:!1,serverSideSortOnServer:!1,serverSideFilterOnServer:!1,serverSidePivotResultFieldSeparator:"_",viewportRowModelPageSize:5,viewportRowModelBufferSize:5,alwaysShowHorizontalScroll:!1,alwaysShowVerticalScroll:!1,debounceVerticalScrollbar:!1,suppressHorizontalScroll:!1,suppressScrollOnNewData:!1,suppressScrollWhenPopupsAreOpen:!1,suppressAnimationFrame:!1,suppressMiddleClickScrolls:!1,suppressPreventDefaultOnMouseWheel:!1,rowMultiSelectWithClick:!1,suppressRowDeselection:!1,suppressRowClickSelection:!1,suppressCellFocus:!1,suppressHeaderFocus:!1,suppressMultiRangeSelection:!1,enableCellTextSelection:!1,enableRangeSelection:!1,enableRangeHandle:!1,enableFillHandle:!1,fillHandleDirection:"xy",suppressClearOnFillReduction:!1,accentedSort:!1,unSortIcon:!1,suppressMultiSort:!1,alwaysMultiSort:!1,suppressMaintainUnsortedOrder:!1,suppressRowHoverHighlight:!1,suppressRowTransform:!1,columnHoverHighlight:!1,deltaSort:!1,enableGroupEdit:!1,suppressGroupMaintainValueType:!1,groupLockGroupColumns:0,serverSideEnableClientSideSort:!1,suppressServerSideFullWidthLoadingRow:!1,pivotMaxGeneratedColumns:-1,columnMenu:"new",reactiveCustomComponents:!0,suppressSetFilterByDefault:!1};var Ba={version:pn,moduleName:"@ag-grid-community/core-community-features",dependantModules:[{version:pn,moduleName:"@ag-grid-community/core"},{version:pn,moduleName:"@ag-grid-community/core-validations",beans:[class extends Oe{constructor(){super(...arguments),this.beanName="validationService"}wireBeans(e){this.beans=e,this.gridOptions=e.gridOptions}postConstruct(){this.processGridOptions(this.gridOptions)}processGridOptions(e){this.processOptions(e,{objectName:"gridOptions",allProperties:[...Ht.ALL_PROPERTIES,...Vt.EVENT_CALLBACKS],propertyExceptions:["api"],docsUrl:"grid-options/",deprecations:{advancedFilterModel:{version:"31",message:"Use `initialState.filter.advancedFilterModel` instead."},suppressAsyncEvents:{version:"31",message:"Events should be handled asynchronously."},cellFadeDelay:{version:"31.1",renamed:"cellFadeDuration"},cellFlashDelay:{version:"31.1",renamed:"cellFlashDuration"},suppressServerSideInfiniteScroll:{version:"31.1"},serverSideSortOnServer:{version:"31.1"},serverSideFilterOnServer:{version:"31.1"},enableCellChangeFlash:{version:"31.2",message:"Use `enableCellChangeFlash` in the `ColDef` or `defaultColDef` for all columns."},groupIncludeFooter:{version:"31.3",message:"Use `groupTotalRow` instead."},groupIncludeTotalFooter:{version:"31.3",message:"Use `grandTotalRow` instead."},suppressLoadingOverlay:{version:"32",message:"Use `loading`=false instead."},enableFillHandle:{version:"32.2",message:"Use `cellSelection.handle` instead."},enableRangeHandle:{version:"32.2",message:"Use `cellSelection.handle` instead."},enableRangeSelection:{version:"32.2",message:"Use `cellSelection = true` instead."},suppressMultiRangeSelection:{version:"32.2",message:"Use `cellSelection.suppressMultiRanges` instead."},suppressClearOnFillReduction:{version:"32.2",message:"Use `cellSelection.handle.suppressClearOnFillReduction` instead."},fillHandleDirection:{version:"32.2",message:"Use `cellSelection.handle.direction` instead."},fillOperation:{version:"32.2",message:"Use `cellSelection.handle.setFillValue` instead."},suppressRowClickSelection:{version:"32.2",message:"Use `rowSelection.enableClickSelection` instead."},suppressRowDeselection:{version:"32.2",message:"Use `rowSelection.enableClickSelection` instead."},rowMultiSelectWithClick:{version:"32.2",message:"Use `rowSelection.enableSelectionWithoutKeys` instead."},groupSelectsChildren:{version:"32.2",message:'Use `rowSelection.groupSelects = "descendants"` instead.'},groupSelectsFiltered:{version:"32.2",message:'Use `rowSelection.groupSelects = "filteredDescendants"` instead.'},isRowSelectable:{version:"32.2",message:"Use `selectionOptions.isRowSelectable` instead."},suppressCopySingleCellRanges:{version:"32.2",message:"Use `rowSelection.copySelectedRows` instead."},suppressCopyRowsToClipboard:{version:"32.2",message:"Use `rowSelection.copySelectedRows` instead."},onRangeSelectionChanged:{version:"32.2",message:"Use `onCellSelectionChanged` instead."},onRangeDeleteStart:{version:"32.2",message:"Use `onCellSelectionDeleteStart` instead."},onRangeDeleteEnd:{version:"32.2",message:"Use `onCellSelectionDeleteEnd` instead."},suppressBrowserResizeObserver:{version:"32.2",message:"The grid always uses the browser's ResizeObserver, this grid option has no effect."},onColumnEverythingChanged:{version:"32.2",message:"Either use `onDisplayedColumnsChanged` which is fired at the same time, or use one of the more specific column events."}},validations:{sideBar:{module:"@ag-grid-enterprise/side-bar"},statusBar:{module:"@ag-grid-enterprise/status-bar"},enableCharts:{module:"@ag-grid-enterprise/charts"},getMainMenuItems:{module:"@ag-grid-enterprise/menu"},getContextMenuItems:{module:"@ag-grid-enterprise/menu"},allowContextMenuWithControlKey:{module:"@ag-grid-enterprise/menu"},enableAdvancedFilter:{module:"@ag-grid-enterprise/advanced-filter"},treeData:{supportedRowModels:["clientSide","serverSide"],module:"@ag-grid-enterprise/row-grouping",validate:e=>{const t=e.rowModelType??"clientSide";switch(t){case"clientSide":{const i=`treeData requires 'getDataPath' in the ${t} row model.`;return e.getDataPath?null:i}case"serverSide":{const i=`treeData requires 'isServerSideGroup' and 'getServerSideGroupKey' in the ${t} row model.`;return e.isServerSideGroup&&e.getServerSideGroupKey?null:i}}return null}},masterDetail:{module:"@ag-grid-enterprise/master-detail"},enableRangeSelection:{module:"@ag-grid-enterprise/range-selection"},enableRangeHandle:{dependencies:{enableRangeSelection:[!0]}},enableFillHandle:{dependencies:{enableRangeSelection:[!0]}},groupDefaultExpanded:{supportedRowModels:["clientSide"]},groupIncludeFooter:{supportedRowModels:["clientSide","serverSide"],validate:e=>{switch(e.rowModelType??"clientSide"){case"clientSide":return null;case"serverSide":{const t="groupIncludeFooter is not supported alongside suppressServerSideInfiniteScroll";return e.suppressServerSideInfiniteScroll?t:null}}return null}},groupHideOpenParents:{supportedRowModels:["clientSide","serverSide"],dependencies:{groupTotalRow:[void 0,"bottom"]}},groupIncludeTotalFooter:{supportedRowModels:["clientSide"]},groupRemoveSingleChildren:{dependencies:{groupHideOpenParents:[void 0,!1],groupRemoveLowestSingleChildren:[void 0,!1]}},groupRemoveLowestSingleChildren:{dependencies:{groupHideOpenParents:[void 0,!1],groupRemoveSingleChildren:[void 0,!1]}},groupSelectsChildren:{dependencies:{rowSelection:["multiple"]}},viewportDatasource:{supportedRowModels:["viewport"],module:"@ag-grid-enterprise/viewport-row-model"},serverSideDatasource:{supportedRowModels:["serverSide"],module:"@ag-grid-enterprise/server-side-row-model"},cacheBlockSize:{supportedRowModels:["serverSide","infinite"]},datasource:{supportedRowModels:["infinite"],module:"@ag-grid-community/infinite-row-model"},rowData:{supportedRowModels:["clientSide"],module:"@ag-grid-community/client-side-row-model"},paginationPageSizeSelector:{validate:e=>{const t=e.paginationPageSizeSelector;return"boolean"==typeof t||null==t||t.length?null:"'paginationPageSizeSelector' cannot be an empty array.\n If you want to hide the page size selector, set paginationPageSizeSelector to false."}},rowSelection:{validate:({rowSelection:e})=>e&&"string"==typeof e?'As of version 32.2.1, using `rowSelection` with the values "single" or "multiple" has been deprecated. Use the object value instead.':e&&"object"!=typeof e?"Expected `RowSelectionOptions` object for the `rowSelection` property.":null},cellSelection:{module:"@ag-grid-enterprise/range-selection"},columnDefs:()=>Na,defaultColDef:()=>Na,defaultColGroupDef:()=>Na,autoGroupColumnDef:()=>Na,selectionColumnDef:()=>Na}})}validateApiFunction(e,t){return function(e,t,i){const s=ka[e];if(s){const{version:i,new:o,old:n,message:r}=s,l=n??e;return(...e)=>(m(`Since ${i} api.${l} is deprecated. ${o?`Please use ${o} instead. `:""}${r??""}`),t.apply(t,e))}const o=La[e];return o?(...s)=>{const n=i.rowModel.getType();if(o.includes(n))return t.apply(t,s);v(`api.${e} can only be called when gridOptions.rowModelType is ${o.join(" or ")}`)}:t}(e,t,this.beans)}processOptions(e,t){const{validations:i,deprecations:s,allProperties:o,propertyExceptions:n,objectName:r,docsUrl:l}=t;o&&!0!==this.gridOptions.suppressPropertyNamesCheck&&this.checkProperties(e,[...n??[],...Object.keys(s)],o,r,l);const a=new Set;Object.keys(e).forEach((t=>{const o=s[t];if(o)if("renamed"in o){const{renamed:i,version:s}=o;a.add(`As of v${s}, ${String(t)} is deprecated. Please use ${String(i)} instead.`),e[i]=e[t]}else{const{message:e,version:i}=o;a.add(`As of v${i}, ${String(t)} is deprecated. ${e??""}`)}const n=e[t];if(null==n||!1===n)return;const r=i[t];let l;if(!r)return;if("function"==typeof r){const i=r(e,this.gridOptions);if(!i)return;if("objectName"in i){const s=e[t];return Array.isArray(s)?void s.forEach((e=>{this.processOptions(e,i)})):void this.processOptions(e[t],i)}l=i}else l=r;const{module:d,dependencies:h,validate:u,supportedRowModels:c}=l;if(c){const e=this.gridOptions.rowModelType??"clientSide";if(!c.includes(e))return void a.add(`${String(t)} is not supported with the '${e}' row model.`)}if(d){const e=Array.isArray(d)?d:[d];let i=!0;if(e.forEach((e=>{this.gos.assertModuleRegistered(e,String(t))||(i=!1,a.add(`${String(t)} is only available when ${e} is loaded.`))})),!i)return}if(h){const i=this.checkForRequiredDependencies(t,h,e);if(i)return void a.add(i)}if(u){const t=u(e,this.gridOptions);if(t)return void a.add(t)}})),a.size>0&&a.forEach((e=>{m(e)}))}checkForRequiredDependencies(e,t,i){const s=Object.entries(t).find((([e,t])=>{const s=i[e];return!t.includes(s)}));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(e,t,i){const s={},o=e.filter((e=>!t.some((t=>t===e))));o.length>0&&o.forEach((e=>s[e]=Es({inputValue:e,allSuggestions:i}).values));return s}(Object.getOwnPropertyNames(e),["__ob__","__v_skip","__metadata__",...t,...i],i);if(Qe(n,((e,t)=>{let o=`invalid ${s} property '${e}' did you mean any of these: ${t.slice(0,8).join(", ")}.`;i.includes("context")&&(o+=`\nIf you are trying to annotate ${s} with application data, use the '${s}.context' property instead.`),m(o)})),Object.keys(n).length>0&&o){const e=this.getFrameworkOverrides().getDocLink(o);m(`to see all the valid ${s} properties please check: ${e}`)}}}]},vl,xn,Fa,va,ma,xa,ya]},Va=class extends Oe{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:(null==(e=this.beans.stateService)?void 0:e.getState())??{}}),this.destroyCalled=!0,null==(t=this.beans.ctrlsService.get("gridCtrl"))||t.destroyGridUi(),this.beans.context.destroy(),super.destroy())}isDestroyCalled(){return this.destroyCalled}},Wa=new Set(["gridPreDestroyed","fillStart","pasteStart"]),za=new Map([...Ht.BOOLEAN_PROPERTIES.map((e=>[e,T])),...Ht.NUMBER_PROPERTIES.map((e=>[e,Qo])),["groupAggFiltering",e=>"function"==typeof e?e:T(e)],["pageSize",Yo(1)],["autoSizePadding",Yo(0)],["keepDetailRowsCount",Yo(1)],["rowBuffer",Yo(0)],["infiniteInitialRowCount",Yo(1)],["cacheOverflowSize",Yo(1)],["cacheBlockSize",Yo(1)],["serverSideInitialRowCount",Yo(1)],["viewportRowModelPageSize",Yo(1)],["viewportRowModelBufferSize",Yo(0)]]);function Ua(e,t){const i=za.get(e);return i?i(t):t}var Ka=class e extends Oe{constructor(){super(...arguments),this.beanName="gos",this.domDataKey="__AG_"+Math.random().toString(),this.propertyEventService=new h,this.globalEventHandlerFactory=e=>(t,i)=>{if(!this.isAlive())return;const s=Wa.has(t);if(s&&!e||!s&&e)return;const o=Vt.getCallbackForEvent(t),n=this.gridOptions[o];"function"==typeof n&&this.frameworkOverrides.wrapOutgoing((()=>{n(i)}))}}wireBeans(e){this.gridOptions=e.gridOptions,this.eGridDiv=e.eGridDiv,this.validationService=e.validationService,this.environment=e.environment,this.api=e.gridApi,this.gridId=e.context.getGridId()}get gridOptionsContext(){return this.gridOptions.context}postConstruct(){const e=!this.get("suppressAsyncEvents");this.eventService.addGlobalListener(this.globalEventHandlerFactory().bind(this),e),this.eventService.addGlobalListener(this.globalEventHandlerFactory(!0).bind(this),!1),this.propertyEventService.setFrameworkOverrides(this.frameworkOverrides),this.addManagedEventListeners({gridOptionsChanged:({options:e})=>{this.updateGridOptions({options:e,force:!0,source:"gridOptionsUpdated"})}})}get(e){return this.gridOptions[e]??Ha[e]}getCallback(e){return this.mergeGridCommonParams(this.gridOptions[e])}exists(e){return P(this.gridOptions[e])}mergeGridCommonParams(e){if(e){return t=>{const i=t;return i.api=this.api,i.context=this.gridOptionsContext,e(i)}}return e}updateGridOptions({options:t,force:i,source:s="api"}){var o;const n={id:e.changeSetId++,properties:[]},r=[];Object.entries(t).forEach((([e,t])=>{"api"===s&&Gt[e]&&m(`${e} is an initial property and cannot be updated.`);const o=Ua(e,t),l=i||"object"==typeof o&&"api"===s,a=this.gridOptions[e];if(l||a!==o){this.gridOptions[e]=o;const t={type:e,currentValue:o,previousValue:a,changeSet:n,source:s};r.push(t)}})),null==(o=this.validationService)||o.processGridOptions(this.gridOptions),n.properties=r.map((e=>e.type)),r.forEach((e=>{this.gridOptions.debug&&p(`Updated property ${e.type} from`,e.previousValue," to ",e.currentValue),this.propertyEventService.dispatchEvent(e)}))}addPropertyEventListener(e,t){this.propertyEventService.addEventListener(e,t)}removePropertyEventListener(e,t){this.propertyEventService.removeEventListener(e,t)}getDomDataKey(){return this.domDataKey}getGridCommonParams(){return{api:this.api,context:this.gridOptionsContext}}addGridCommonParams(e){const t=e;return t.api=this.api,t.context=this.gridOptionsContext,t}assertModuleRegistered(e,t){return to.__assertRegistered(e,t,this.gridId)}isModuleRegistered(e){return to.__isRegistered(e,this.gridId)}};Ka.changeSetId=0;var _a=Ka,$a=class extends Oe{constructor(){super(...arguments),this.beanName="headerPositionUtils"}wireBeans(e){this.visibleColsService=e.visibleColsService,this.ctrlsService=e.ctrlsService}findHeader(e,t){let i,s;if(Mt(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("filter"!==this.getHeaderRowType(o)){const e=[i];for(;i.getParent();)i=i.getParent(),e.push(i);i=e[e.length-1-o]}const{column:n,headerRowIndex:r}=this.getHeaderIndexToFocus(i,o);return{column:n,headerRowIndex:r}}getHeaderIndexToFocus(e,t){let i;if(Mt(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((e=>e.isSpanHeaderHeight()))}getColumnVisibleParent(e,t){const i=this.getHeaderRowType(t),s="column"===i;let o="filter"===i?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("group"===this.getHeaderRowType(t)){const t=e.getDisplayedLeafColumns(),n="After"===i?t[0]:we(t),r=[];let l=n;for(;l.getParent()!==e;)l=l.getParent(),r.push(l);if(s=n,n.isSpanHeaderHeight())for(let e=r.length-1;e>=0;e--){const t=r[e];if(!t.isPadding()){s=t;break}o++}else s=we(r),s||(s=n)}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["start"===t?0:i.length-1];if(!s)return;const o=this.ctrlsService.getHeaderRowContainerCtrl(s.getPinned()),n=null==o?void 0:o.getRowType(e);if("group"==n){return{headerRowIndex:e,column:this.visibleColsService.getColGroupAtLevel(s,e)}}return{headerRowIndex:null==n?-1:e,column:s}}},ja=class extends Oe{constructor(){super(...arguments),this.beanName="localeService"}getLocaleTextFunc(){const e=this.gos.getCallback("getLocaleText");if(e)return(t,i,s)=>e({key:t,defaultValue:i,variableValues:s});const t=this.gos.get("localeText");return(e,i,s)=>{let o=t&&t[e];if(o&&s&&s.length){let e=0;for(;!(e>=s.length);){if(-1===o.indexOf("${variable}"))break;o=o.replace("${variable}",s[e++])}}return o??i}}},qa=class extends Oe{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 je(this.getFrameworkOverrides())}addEventListener(e,t){const i=this.frameworkEventWrappingService.wrap(e,t),s=V(this.gos)&&!Wa.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 i;const s=this.frameworkEventWrappingService.unwrap(e,t),o=this.asyncEventListeners.get(e),n=!!(null==o?void 0:o.delete(s));n||null==(i=this.syncEventListeners.get(e))||i.delete(s),this.eventService.removeEventListener(e,s,n)}addGlobalListener(e){const t=this.frameworkEventWrappingService.wrapGlobal(e);if(V(this.gos)){const i=(e,i)=>{Wa.has(e)&&t(e,i)},s=(e,i)=>{Wa.has(e)||t(e,i)};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(((e,i)=>{e.forEach((e=>this.eventService.removeEventListener(i,e,t))),e.clear()})),e.clear()}destroyGlobalListeners(e,t){e.forEach((e=>this.eventService.removeGlobalListener(e,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()}},Qa=class extends Oe{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:(null==e?void 0:e.animate)??!1,newData:(null==e?void 0:e.newData)??!1,newPage:(null==e?void 0:e.newPage)??!1,newPageSize:(null==e?void 0:e.newPageSize)??!1,keepRenderedRows:(null==e?void 0:e.keepRenderedRows)??!1})}calculatePages(){this.paginationService?this.paginationService.calculatePages():this.pageBoundsService.calculateBounds(0,this.rowModel.getRowCount()-1)}},Ya=class extends Oe{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 D(this.topRowBounds)||D(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=P(this.topRowBounds)?this.topRowBounds.rowTop:0;this.pixelOffset!==e&&(this.pixelOffset=e,this.eventService.dispatchEvent({type:"paginationPixelOffsetChanged"}))}},Xa=class extends Oe{constructor(){super(),this.beanName="ariaAnnouncementService",this.descriptionContainer=null,this.pendingAnnouncements=new Map,this.updateAnnouncement=b(this.updateAnnouncement.bind(this),200)}wireBeans(e){this.eGridDiv=e.eGridDiv}postConstruct(){const e=j(this.gos),t=this.descriptionContainer=e.createElement("div");t.classList.add("ag-aria-description-container"),Xt(t,"polite"),Kt(t,"relevant","additions text"),function(e,t){Kt(e,"atomic",t)}(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&&(vi(e),e.parentElement&&e.parentElement.removeChild(e)),this.descriptionContainer=null,this.eGridDiv=null,this.pendingAnnouncements.clear()}},Ja=class extends Oe{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(0===this.executeNextFuncs.length&&0===this.executeLaterFuncs.length)return e(),void t();const i=e=>{for(;e.length;){const t=e.pop();t&&t()}};this.getFrameworkOverrides().wrapIncoming((()=>{window.setTimeout((()=>{e(),i(this.executeNextFuncs)}),0),window.setTimeout((()=>{t(),i(this.executeLaterFuncs)}),200)}))}},Za=class extends Oe{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"})}},ed=class extends Oe{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=G(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 0!==this.state&&!!this.overlayWrapperComp}isExclusive(){return 1===this.state&&!!this.overlayWrapperComp}getOverlayWrapper(){return this.overlayWrapperComp}showLoadingOverlay(){this.showInitialOverlay=!1;const e=this.gos.get("loading");(e||void 0===e&&!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")?m("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&&void 0===e&&!this.gos.get("suppressLoadingOverlay")&&(e=!this.gos.get("columnDefs")||!this.columnModel.isReady()||!this.gos.get("rowData")&&this.isClientSide),e?1!==this.state&&this.doShowLoadingOverlay():(this.showInitialOverlay=!1,this.rowModel.isEmpty()&&!this.gos.get("suppressNoRowsOverlay")&&this.isClientSide?2!==this.state&&this.doShowNoRowsOverlay():0!==this.state&&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 s;const o=e.newAgStackInstance();null==(s=this.overlayWrapperComp)||s.showOverlay(o,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(2===this.state){const t=this.ctrlsService.get("gridHeaderCtrl");e=(null==t?void 0:t.getHeaderHeight())||0}else 0!==this.wrapperPadding&&(e=0);this.wrapperPadding!==e&&(this.wrapperPadding=e,this.overlayWrapperComp.updateOverlayWrapperPaddingTop(e))}},td=class extends Oe{constructor(){super(...arguments),this.beanName="rowCssClassCalculator"}wireBeans(e){this.stylingService=e.stylingService}getInitialRowClasses(e){const t=[];return P(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"),De(t,this.processClassesFromGridOptions(e.rowNode)),De(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&&("left"===e.pinned&&t.push("ag-cell-last-left-pinned"),"right"===e.pinned&&t.push("ag-cell-first-right-pinned")),t}processClassesFromGridOptions(e){const t=[],i=e=>{"string"==typeof e?t.push(e):Array.isArray(e)&&e.forEach((e=>t.push(e)))},s=this.gos.get("rowClass");if(s){if("function"==typeof s)return m("rowClass should not be a function, please use getRowClass instead"),[];i(s)}const o=this.gos.getCallback("getRowClass");if(o){i(o({data:e.data,node:e,rowIndex:e.rowIndex}))}return t}preProcessRowClassRules(e){const t=[];return this.processRowClassRules(e,(e=>{t.push(e)}),(()=>{})),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}},id=class extends Oe{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(void 0!==Gi)return Gi;if(!document.body)return-1;let e=1e6;const t=Vi()?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),Gi=e,e}(),this.gos.get("debug")&&p("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")&&p(`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="number"==typeof e?Math.floor(e):null;this.divStretchOffset!==t&&(this.divStretchOffset=t,this.eventService.dispatchEvent({type:"heightScaleChanged"}))}setModelHeight(e){this.modelHeight=e,this.stretching=null!=e&&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}},sd=class extends Oe{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=ee(this.gos),this.addManagedPropertyListener("accentedSort",(e=>this.isAccentedSort=e.currentValue)),this.addManagedPropertyListener("autoGroupColumnDef",(()=>this.primaryColumnsSortGroups=ee(this.gos)))}doFullSort(e,t){const i=e.map(((e,t)=>({currentPos:t,rowNode:e})));return i.sort(this.compareRowNodes.bind(this,t)),i.map((e=>e.rowNode))}compareRowNodes(e,t,i){const s=t.rowNode,o=i.rowNode;for(let n=0,r=e.length;n<r;n++){const t=e[n],i="desc"===t.sort,r=this.getValue(s,t.column),l=this.getValue(o,t.column);let a;const d=this.getComparator(t,s);a=d?d(r,l,s,o,i):L(r,l,this.isAccentedSort);if(!isNaN(a)&&0!==a)return"asc"===t.sort?a:-1*a}return t.currentPos-i.currentPos}getComparator(e,t){const i=e.column,s=i.getColDef().comparator;if(null!=s)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(ne(this.gos,this.columnModel.isPivotActive())){const s=null==(i=e.allLeafChildren)?void 0:i[0];return s?this.valueService.getValue(t,s,!1,!1):void 0}const n=null==(s=this.showRowGroupColsService)?void 0:s.getShowRowGroupCol(t.getId());if(!n)return;return null==(o=e.groupData)?void 0:o[n.getId()]}return e.group&&t.getColDef().showRowGroup?void 0:this.valueService.getValue(t,e,!1,!1)}},od=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 e={rowNode:t,children:null};this.mapToItems[t.id]=e,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((e=>this.nodeIdsToColumns[i.id][e.getId()]=!0)),i=i.parent}linkPathItems(e,t){let i=e;for(let s=0;s<t;s++){const e=this.mapToItems[i.id],t=this.mapToItems[i.parent.id];t.children||(t.children=[]),t.children.push(e),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((e=>i[e.getId()]))}getNotValueColumnsForNode(e,t){if(!this.keepingColumns)return null;const i=this.nodeIdsToColumns[e.id];return t.filter((e=>!i[e.getId()]))}},nd=class extends Oe{constructor(){super(...arguments),this.beanName="selectionService",this.selectedNodes=new Map,this.selectionCtx=new Pl,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=pe(e),this.groupSelectsChildren=Ce(e),this.addManagedPropertyListeners(["groupSelectsChildren","rowSelection"],(()=>{const t=Ce(e),i=pe(e);t===this.groupSelectsChildren&&i===this.rowSelectionMode||(this.groupSelectsChildren=t,this.rowSelectionMode=i,this.deselectAllRowNodes({source:"api"}))})),this.addManagedEventListeners({rowSelected:i.bind(this)})}destroy(){super.destroy(),this.resetNodes(),this.selectionCtx.reset()}isMultiSelect(){return"multiRow"===this.rowSelectionMode}overrideSelectionValue(e,t){if(!(e=>"checkboxSelected"===e||"rowClicked"===e||"spaceKey"===e||"uiSelectAll"===e||"uiSelectAllCurrentPage"===e||"uiSelectAllFiltered"===e)(t))return e;const i=this.selectionCtx.getRoot();return!i||(i.isSelected()??!1)}setNodesSelected(e){var t;const{newValue:i,clearSelection:s,suppressFinishActions:o,rangeSelect:n,nodes:r,event:l,source:a}=e;if(0===r.length)return 0;if(r.length>1&&!this.isMultiSelect())return m("cannot multi select unless selection mode is 'multiRow'"),0;const d=this.groupSelectsChildren&&!0===e.groupSelectsFiltered,h=r.map((e=>e.footer?e.sibling:e));if(n){if(h.length>1)return m("cannot range select while selecting multiple rows"),0;const e=h[0],t=this.overrideSelectionValue(i,a);if(this.isMultiSelect()){if(this.selectionCtx.isInRange(e)){const i=this.selectionCtx.truncate(e);return t&&this.selectRange(i.discard,!1,a),this.selectRange(i.keep,t,a)}if(this.selectionCtx.getRoot()!==e){const i=this.selectionCtx.extend(e,this.groupSelectsChildren);return t&&this.selectRange(i.discard,!1,a),this.selectRange(i.keep,t,a)}}else;}o||this.selectionCtx.setRoot(h[0]);let u=0;for(let c=0;c<h.length;c++){const e=h[c];if(!(d&&e.group)){e.selectThisNode(i,l,a)&&u++}this.groupSelectsChildren&&(null==(t=e.childrenAfterGroup)?void 0:t.length)&&(u+=this.selectChildren(e,i,d,a))}if(!o){i&&(s||!this.isMultiSelect())&&(u+=this.clearOtherNodes(h[0],a)),u>0&&(this.updateGroupsFromChildrenSelections(a),this.dispatchSelectionChanged(a))}return u}selectRange(e,t,i){let s=0;return e.forEach((e=>{if(e.group&&this.groupSelectsChildren)return;e.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 D(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)return!1;if(!G(this.gos))return!1;const i=this.rowModel.getRootNode();t||(t=new od(!0,i)).setInactive();let s=!1;return t.forEachChangedNodeDepthFirst((t=>{if(t!==i){const i=t.calculateSelectedFromChildren();s=t.selectThisNode(null!==i&&i,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 e=this.selectedNodes.get(o.id);s+=e.setSelectedParams({newValue:!1,clearSelection:!1,suppressFinishActions:!0,source:t}),this.groupSelectsChildren&&o.parent&&i.set(o.parent.id,o.parent)}})),i.forEach((e=>{const i=e.calculateSelectedFromChildren();e.selectThisNode(null!==i&&i,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(P(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;null==(e=this.selectedNodes)||e.clear()}getBestCostNodeSelection(){if(!G(this.gos))return;const e=this.rowModel.getTopLevelNodes();if(null===e)return;const t=[];return function e(i){for(let s=0,o=i.length;s<o;s++){const o=i[s];if(o.isSelected())t.push(o);else{const t=o;t.group&&t.children&&e(t.children)}}}(e),t}isEmpty(){let e=0;return this.selectedNodes.forEach((t=>{t&&e++})),0===e}deselectAllRowNodes(e){const t=e=>e.selectThisNode(!1,void 0,s),i=G(this.gos),{source:s,justFiltered:o,justCurrentPage:n}=e;if(n||o){if(!i)return void v("selecting just filtered only works when gridOptions.rowModelType='clientSide'");this.getNodesToSelect(o,n).forEach(t)}else this.selectedNodes.forEach((e=>{e&&t(e)})),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((e=>{this.groupSelectsChildren&&e.group||(e.isSelected()?i++:e.selectable&&s++)})),{selectedCount:i,notSelectedCount:s}}getSelectAllState(e,t){const{selectedCount:i,notSelectedCount:s}=this.getSelectedCounts(e,t);return(0!==i||0!==s)&&(i>0&&s>0?null:i>0)}hasNodesToSelect(e=!1,t=!1){return this.getNodesToSelect(e,t).filter((e=>e.selectable)).length>0}getNodesToSelect(e=!1,t=!1){this.validateSelectAllType();const i=[];if(t)return this.forEachNodeOnPage((e=>{if(e.group)if(e.expanded)this.groupSelectsChildren||i.push(e);else{const t=e=>{var s;i.push(e),(null==(s=e.childrenAfterFilter)?void 0:s.length)&&e.childrenAfterFilter.forEach(t)};t(e)}else i.push(e)})),i;const s=this.rowModel;return e?(s.forEachNodeAfterFilter((e=>{i.push(e)})),i):(s.forEachNode((e=>{i.push(e)})),i)}forEachNodeOnPage(e){const t=this.pageBoundsService.getFirstRow(),i=this.pageBoundsService.getLastRow();for(let s=t;s<=i;s++){const t=this.rowModel.getRow(s);t&&e(t)}}selectAllRowNodes(e){if("string"!=typeof this.gos.get("rowSelection")&&!me(this.gos))return m("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((e=>e.selectThisNode(!0,void 0,t))),this.selectionCtx.setRoot(o[0]??null),this.selectionCtx.setEndRange(we(o)??null),G(this.gos)&&this.groupSelectsChildren&&this.updateGroupsFromChildrenSelections(t),this.dispatchSelectionChanged(t)}getSelectionState(){const e=[];return this.selectedNodes.forEach((t=>{(null==t?void 0:t.id)&&e.push(t.id)})),e.length?e:null}setSelectionState(e,t){if(!Array.isArray(e))return v("Invalid selection state. When using client-side row model, the state must conform to `string[]`.");const i=new Set(e),s=[];this.rowModel.forEachNode((e=>{i.has(e.id)&&s.push(e)})),this.setNodesSelected({newValue:!0,nodes:s,source:t})}dispatchSelectionChanged(e){this.eventService.dispatchEvent({type:"selectionChanged",source:e})}validateSelectAllType(){if(!G(this.gos))throw new Error(`selectAll only available when rowModelType='clientSide', ie not ${this.rowModel.getType()}`)}},rd=class extends Oe{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=B(t),s=ge(t);if(!i||!s)return;const o=Ce(t),n=G(t)&&o,r=[],l=t=>{if(e&&!t.group)return;if(n&&t.group){const e=t.childrenAfterGroup.some((e=>!0===e.selectable));return void t.setRowSelectable(e,!0)}const i=(null==s?void 0:s(t))??!0;t.setRowSelectable(i,!0),!i&&t.isSelected()&&r.push(t)};if(n){const e=this.rowModel;new od(!1,e.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 nd&&this.selectionService.updateGroupsFromChildrenSelections("selectableChanged")}},ld=["asc","desc",null],ad=class extends Oe{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){"asc"!==t&&"desc"!==t&&(t=null);let o=[e];if(ee(this.gos)&&e.getColDef().showRowGroup){const t=this.funcColsService.getSourceColumnsForGroupColumn(e),i=null==t?void 0:t.filter((e=>e.isSortable()));i&&(o=[e,...i])}o.forEach((e=>e.setSort(t,s)));const n=[];if(!((i||this.gos.get("alwaysMultiSort"))&&!this.gos.get("suppressMultiSort"))){const e=this.clearSortBarTheseColumns(o,s);n.push(...e)}this.updateSortIndex(e),n.push(...o),this.dispatchSortChangedEvents(s,n)}updateSortIndex(e){var t;const i=ee(this.gos),s=null==(t=this.showRowGroupColsService)?void 0:t.getShowRowGroupCol(e.getId()),o=i&&s||e,n=this.getColumnsWithSortingOrdered();this.columnModel.getAllCols().forEach((e=>e.setSortIndex(null)));const r=n.filter((e=>(!i||!e.getColDef().showRowGroup)&&e!==o));(o.getSort()?[...r,o]:r).forEach(((e,t)=>{e.setSortIndex(t)}))}onSortChanged(e,t){this.dispatchSortChangedEvents(e,t)}isSortActive(){const e=this.columnModel.getAllCols().filter((e=>!!e.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"):ld,!Array.isArray(t)||t.length<=0)return m(`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],ld.indexOf(n)<0?(m("invalid sort type ",n),null):n}getIndexedSortMap(){let e=this.columnModel.getAllCols().filter((e=>!!e.getSort()));if(this.columnModel.isPivotMode()){const t=ee(this.gos);e=e.filter((e=>{var i;const s=!!e.getAggFunc(),o=!e.isPrimary(),n=t?null==(i=this.showRowGroupColsService)?void 0:i.getShowRowGroupCol(e.getId()):e.getColDef().showRowGroup;return s||o||n}))}const t=this.funcColsService.getRowGroupColumns().filter((e=>!!e.getSort())),i={};e.forEach(((e,t)=>i[e.getId()]=t)),e.sort(((e,t)=>{const s=e.getSortIndex(),o=t.getSortIndex();if(null!=s&&null!=o)return s-o;if(null==s&&null==o){return i[e.getId()]>i[t.getId()]?1:-1}return null==o?-1:1}));const s=ee(this.gos)&&!!t.length;s&&(e=[...new Set(e.map((e=>{var t;return(null==(t=this.showRowGroupColsService)?void 0:t.getShowRowGroupCol(e.getId()))??e})))]);const o=new Map;return e.forEach(((e,t)=>o.set(e,t))),s&&t.forEach((e=>{const t=this.showRowGroupColsService.getShowRowGroupCol(e.getId());o.set(e,o.get(t))})),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=ee(this.gos),i=!!e.getColDef().showRowGroup;return t&&i}getDisplaySortForColumn(e){const t=this.funcColsService.getSourceColumnsForGroupColumn(e);if(!this.canColumnDisplayMixedSort(e)||!(null==t?void 0:t.length))return e.getSort();const i=null!=e.getColDef().field||!!e.getColDef().valueGetter?[e,...t]:t,s=i[0].getSort();return i.every((e=>e.getSort()==s))?s:"mixed"}getDisplaySortIndexForColumn(e){return this.getIndexedSortMap().get(e)}},dd=class extends Oe{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")&&p(`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,ct(e.source))}},hd=class extends Oe{constructor(){super(...arguments),this.beanName="changeDetectionService"}wireBeans(e){this.rowModel=e.rowModel,this.rowRenderer=e.rowRenderer}postConstruct(){G(this.gos)&&(this.clientSideRowModel=this.rowModel),this.addManagedEventListeners({cellValueChanged:this.onCellValueChanged.bind(this)})}onCellValueChanged(e){"paste"!==e.source&&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 od(s,this.clientSideRowModel.getRootNode());o.addParentNode(e.parent,[t]),this.clientSideRowModel.doAggregate(o),o.forEachChangedNodeDepthFirst((e=>{i.push(e)}))}this.rowRenderer.refreshCells({rowNodes:i})}},ud=class extends Oe{constructor(){super(...arguments),this.beanName="expressionService",this.expressionToFunctionCache={}}evaluate(e,t){if("string"==typeof e)return this.evaluateExpression(e,t);v("value should be either a string or a function",e)}evaluateExpression(e,t){try{const i=this.createExpressionFunction(e);return i(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 p("Processing of the expression failed"),p("Expression = ",e),p("Params = ",t),p("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+";"}},cd=class extends Oe{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]}},gd=class extends Oe{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=N(this.gos),this.cellExpressions=this.gos.get("enableCellExpressions"),this.isTreeData=this.gos.get("treeData"),this.initialised=!0;const e=e=>this.callColumnCellValueChangedHandler(e),t=V(this.gos);this.eventService.addEventListener("cellValueChanged",e,t),this.addDestroyFunc((()=>this.eventService.removeEventListener("cellValueChanged",e,t))),this.addManagedPropertyListener("treeData",(e=>this.isTreeData=e.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");if("function"!=typeof r)n=!!r;else{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 d=t.groupData&&void 0!==t.groupData[r],h=!s&&t.aggData&&void 0!==t.aggData[r],u=this.isSsrm&&s&&!!e.getColDef().aggFunc,c=this.isSsrm&&t.footer&&t.field&&(!0===e.getColDef().showRowGroup||e.getColDef().showRowGroup===t.field);if(i&&o.filterValueGetter?a=this.executeFilterValueGetter(o.filterValueGetter,l,e,t):this.isTreeData&&h?a=t.aggData[r]:this.isTreeData&&o.valueGetter?a=this.executeValueGetter(o.valueGetter,l,e,t):this.isTreeData&&n&&l?a=et(l,n,e.isFieldContainsDots()):d?a=t.groupData[r]:h?a=t.aggData[r]:o.valueGetter?a=this.executeValueGetter(o.valueGetter,l,e,t):c?a=et(l,t.field,e.isFieldContainsDots()):n&&l&&!u&&(a=et(l,n,e.isFieldContainsDots())),this.cellExpressions&&"string"==typeof a&&0===a.indexOf("=")){const i=a.substring(1);a=this.executeValueGetter(i,l,e,t)}if(null==a){const i=this.getOpenedGroup(t,e);if(null!=i)return i}return a}parseValue(e,t,i,s){const o=e.getColDef(),n=o.valueParser;if(P(n)){const r=this.gos.addGridCommonParams({node:t,data:null==t?void 0:t.data,oldValue:s,newValue:i,colDef:o,column:e});return"function"==typeof n?n(r):this.expressionService.evaluate(n,r)}return i}getDeleteValue(e,t){return P(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 s=this.gos.addGridCommonParams({value:i,node:t,data:t?t.data:null,colDef:l,column:e});r="function"==typeof n?n(s):this.expressionService.evaluate(n,s)}else if(l.refData)return l.refData[i]||"";return null==r&&Array.isArray(i)&&(r=i.join(", ")),r}getOpenedGroup(e,t){if(!this.gos.get("showOpenedGroup"))return;if(!t.getColDef().showRowGroup)return;const i=t.getColDef().showRowGroup;let s=e.parent;for(;null!=s;){if(s.rowGroupColumn&&(!0===i||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;D(e.data)&&(e.data={});const{field:n,valueSetter:r}=o.getColDef();if(D(n)&&D(r))return m("you need either field or valueSetter set on colDef for editing to work"),!1;if(this.dataTypeService&&!this.dataTypeService.checkType(o,i))return m("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=P(r)?"function"==typeof r?r(l):this.expressionService.evaluate(r,l):this.setValueUsingField(e.data,n,i,o.isFieldContainsDots()),void 0===a&&(a=!0),!a)return!1;e.resetQuickFilterAggregateText(),this.valueCache.onDataChanged();const d=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:d,value:d,source:s}),!0}callColumnCellValueChangedHandler(e){const t=e.colDef.onCellValueChanged;"function"==typeof t&&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 s=t.split(".");let n=e;for(;s.length>0&&n;){const e=s.shift();0===s.length?(o=n[e]===i,o||(n[e]=i)):n=n[e]}}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"function"==typeof e?e(o):this.expressionService.evaluate(e,o)}executeValueGetter(e,t,i,s){const o=i.getColId(),n=this.valueCache.getValue(s,o);if(void 0!==n)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="function"==typeof e?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;if(s){o=s(this.gos.addGridCommonParams({value:i,colDef:e.getColDef(),column:e,node:t,data:t.data}))}return"string"==typeof o||null==o||(o=String(o),"[object Object]"===o&&m("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}},pd=class e{static applyGlobalGridOptions(t){if(!e.gridOptions)return t;let i={};return Ze(i,e.gridOptions,!0,!0),"deep"===e.mergeStrategy?Ze(i,t,!0,!0):i={...i,...t},e.gridOptions.context&&(i.context=e.gridOptions.context),t.context&&("deep"===e.mergeStrategy&&i.context&&Ze(t.context,i.context,!0,!0),i.context=t.context),i}};pd.gridOptions=void 0,pd.mergeStrategy="shallow";var md=pd;function vd(e){var t;return null==(t=md.gridOptions)?void 0:t[e]}var Cd=1,fd=class{create(e,t,i,s,o){const n=function(e){const t={};return Object.entries(e).forEach((([e,i])=>{const s=Ua(e,i);t[e]=s})),t}(md.applyGlobalGridOptions(t)),r=n.gridId??String(Cd++),l=this.getRegisteredModules(o,r),a=this.createBeansList(n.rowModelType,l,r),d=this.createProvidedBeans(e,n,o);if(!a)return void v("Failed to create grid.");const h=new so({providedBeanInstances:d,beanClasses:a,gridId:r,beanInitComparator:Xl,beanDestroyComparator:Jl,derivedBeans:[zl]});return this.registerModuleUserComponents(h,l),this.registerControllers(h,l),this.registerModuleApiFunctions(h,l),i(h),h.getBean("syncService").start(),s&&s(h),h.getBean("gridApi")}registerControllers(e,t){const i=e.getBean("ctrlsFactory");t.forEach((e=>{e.controllers&&e.controllers.forEach((e=>i.register(e)))}))}getRegisteredModules(e,t){const i=e?e.modules:null,s=to.__getRegisteredModules(t),o=[],n={},r=(e,t,i)=>{var s;n[(s=t).moduleName]||(n[s.moduleName]=!0,o.push(s),to.__register(s,e,i)),t.dependantModules&&t.dependantModules.forEach((t=>r(e,t,i)))};return r(!!(null==i?void 0:i.length)||!to.__isPackageBased(),Ba,void 0),i&&i.forEach((e=>r(!0,e,t))),s&&s.forEach((e=>r(!to.__isPackageBased(),e,void 0))),o}registerModuleUserComponents(e,t){const i=this.extractModuleEntity(t,(e=>e.userComponents?e.userComponents:[])),s=e.getBean("userComponentRegistry");i.forEach((({name:e,classImp:t,params:i})=>{s.registerDefaultComponent(e,t,i)}))}registerModuleApiFunctions(e,t){const i=e.getBean("apiFunctionService");t.forEach((e=>{const t=e.apiFunctions;if(t){Object.keys(t).forEach((e=>{null==i||i.addFunction(e,t[e])}))}}))}createProvidedBeans(e,t,i){let s=i?i.frameworkOverrides:null;D(s)&&(s=new kl);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((t=>!t.rowModel||t.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 v("Could not find row model for rowModelType = ",e);if(!to.__assertRegistered(o[e],`rowModelType = '${e}'`,i))return;const n=[sa,ta,$a,Va,Wl,xs,ql,Ql,Qr,Js,id,jr,ja,yl,ao,Tt,ha,_a,Il,nd,ut,Tn,Ya,Qa,wl,ud,dt,$r,cd,gd,Cl,qr,no,ca,_r,la,Ol,Dl,zr,ad,Za,Ja,rd,hd,Yr,Ul,td,sd,ea,ga,ia,Zl,dd,ed,Xr,qa,Xa,Jr,ft,Kl,St,vt,_l,$l,Dt,Ct,Ft,jl,Pt,Be],r=this.extractModuleEntity(s,(e=>e.beans?e.beans:[]));n.push(...r);const l=[];return n.forEach((e=>{l.indexOf(e)<0&&l.push(e)})),l}extractModuleEntity(e,t){return[].concat(...e.map(t))}},wd=class extends Oe{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}};var Sd={version:pn,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 t,i;const s=null==(t=e.rowModelHelperService)?void 0:t.getClientSideRowModel(),o=null==(i=e.rowModelHelperService)?void 0:i.getServerSideRowModel();s?s.onRowHeightChanged():o&&o.onRowHeightChanged()}}},yd={version:pn,moduleName:"@ag-grid-community/ssrm-infinite-shared-api",apiFunctions:{setRowCount:function(e,t,i){var s,o;const n=null==(s=e.rowModelHelperService)?void 0:s.getServerSideRowModel();if(n)return e.funcColsService.isRowGroupEmpty()?void n.setRowCount(t,i):void v("setRowCount cannot be used while using row grouping.");const r=null==(o=e.rowModelHelperService)?void 0:o.getInfiniteRowModel();r&&r.setRowCount(t,i)},getCacheBlockState:function(e){var t;return(null==(t=e.rowNodeBlockLoader)?void 0:t.getBlockState())??{}},isLastRowIndexKnown:function(e){return e.rowModel.isLastRowIndexKnown()}}},bd=class{wrap(e,t,i=[],s){const o=this.createWrapper(e,s);return t.forEach((e=>{this.createMethod(o,e,!0)})),i.forEach((e=>{this.createMethod(o,e,!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&&m("Framework component is missing the method "+t+"()"),null)}}},Rd="undefined"==typeof global?{}:global;Rd.HTMLElement="undefined"==typeof HTMLElement?{}:HTMLElement,Rd.HTMLButtonElement="undefined"==typeof HTMLButtonElement?{}:HTMLButtonElement,Rd.HTMLSelectElement="undefined"==typeof HTMLSelectElement?{}:HTMLSelectElement,Rd.HTMLInputElement="undefined"==typeof HTMLInputElement?{}:HTMLInputElement,Rd.Node="undefined"==typeof Node?{}:Node,Rd.MouseEvent="undefined"==typeof MouseEvent?{}:MouseEvent;var Fd=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 Ye(this.allNodesMap)}getRowNode(e){return this.allNodesMap[e]}setRowData(e){if("string"==typeof e)return void m("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(((e,t)=>this.createNode(e,this.rootNode,0,t))):(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=(null==t?void 0:t.length)??0,s=new Map;let o=-1,n=-1;for(let r=0;r<i;++r){const i=t[r],l=i.data;l!==e[r]&&(n<0&&(o=r),n=r,s.set(l,i))}if(o<0)return!1;for(let r=o;r<=n;++r){const i=s.get(e[r]);void 0!==i&&(t[r]=i,i.sourceRowIndex=r)}return!0}isRowCountReady(){return this.rowCountReady}dispatchRowDataUpdateStartedEvent(e){this.eventService.dispatchEvent({type:"rowDataUpdateStarted",firstRowData:(null==e?void 0: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(E(i))return;const s=this.rootNode.allLeafChildren;let o=s.length;if("number"==typeof e.addIndex&&(o=this.sanitizeAddIndex(e.addIndex),o>0)){if(this.gos.get("treeData"))for(let e=0;e<s.length;e++){const t=s[e];if((null==t?void 0:t.rowIndex)==o-1){o=e+1;break}}}const n=i.map(((e,t)=>this.createNode(e,this.rootNode,0,o+t)));if(o<s.length){const e=s.slice(0,o),i=s.slice(o,s.length),r=e.length+n.length;for(let t=0,s=i.length;t<s;++t)i[t].sourceRowIndex=r+t;this.rootNode.allLeafChildren=[...e,...n,...i],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 t;const i=(null==(t=this.rootNode.allLeafChildren)?void 0:t.length)??0;return e<0||e>=i||Number.isNaN(e)?i:Math.ceil(e)}executeRemove(e,{rowNodeTransaction:t},i){var s,o;const{remove:n}=e;if(E(n))return;const r={};n.forEach((e=>{const s=this.lookupRowNode(e);s&&(s.isSelected()&&i.push(s),s.clearRowTopAndRowIndex(),r[s.id]=!0,delete this.allNodesMap[s.id],t.remove.push(s))})),this.rootNode.allLeafChildren=(null==(s=this.rootNode.allLeafChildren)?void 0:s.filter((e=>!r[e.id])))??null,null==(o=this.rootNode.allLeafChildren)||o.forEach(((e,t)=>{e.sourceRowIndex=t}));const l=this.rootNode.sibling;l&&(l.allLeafChildren=this.rootNode.allLeafChildren)}executeUpdate(e,{rowNodeTransaction:t},i){const{update:s}=e;E(s)||s.forEach((e=>{const s=this.lookupRowNode(e);s&&(s.updateData(e),!s.selectable&&s.isSelected()&&i.push(s),this.setMasterForRow(s,e,0,!1),t.update.push(s))}))}lookupRowNode(e){var t;const i=re(this.gos);let s;if(i){const t=i({data:e,level:0});if(s=this.allNodesMap[t],!s)return v(`could not find row id=${t}, data item was not found for this id`),null}else if(s=null==(t=this.rootNode.allLeafChildren)?void 0:t.find((t=>t.data===e)),!s)return v("could not find data item as object was not found",e),v("Consider using getRowId to help the Grid find matching row data"),null;return s||null}createNode(e,t,i,s){const o=new vo(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]&&m(`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 i=this.gos.get("isRowMaster");i?e.setMaster(i(t)):e.setMaster(!0)}else e.setMaster(!1);if(s){const t=this.funcColsService.getRowGroupColumns(),s=i+(t?t.length:0);e.expanded=!!e.master&&this.isExpanded(s)}}}isExpanded(e){const t=this.gos.get("groupDefaultExpanded");return-1===t||e<t}};var Pd="32.3.7",Dd={version:Pd,moduleName:"@ag-grid-community/client-side-row-model-core",rowModel:"clientSide",beans:[class extends Oe{constructor(){super(...arguments),this.beanName="rowModel",this.onRowHeightChanged_debounced=b(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 vo(this.beans),this.nodeManager=new Fd(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,(a=>{var d;const h=null==(d=a.changeSet)?void 0:d.properties;if(!h)return;const u=e=>h.some((t=>e.has(t)));u(e)?this.setRowData(this.rootNode.allLeafChildren.map((e=>e.data))):u(t)?this.refreshModel({step:"group"}):u(i)?this.refreshModel({step:"filter"}):u(s)?this.refreshModel({step:"pivot"}):u(o)?this.refreshModel({step:"aggregate"}):u(n)?this.refreshModel({step:"sort"}):u(r)?this.refreshModel({step:"filter_aggregates"}):u(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),d=Math.min(l,s);for(let e=a;e<=d;e++){const t=this.getRow(e);if(t.rowHeightEstimated){const e=z(this.gos,t);t.setRowHeight(e.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=H(this.gos,"normal");for(let o=0;o<this.rowsToDisplay.length;o++){const n=this.rowsToDisplay[o];if(null!=n.id&&i.add(n.id),null==n.rowHeight){const t=z(this.gos,n,s,e);n.setRowHeight(t.height,t.estimated)}n.setRowTop(t),n.setRowIndex(o),t+=n.rowHeight}return i}clearRowTopAndRowIndex(e,t){const i=e.isActive(),s=e=>{e&&null!=e.id&&!t.has(e.id)&&e.clearRowTopAndRowIndex()},o=e=>{if(s(e),s(e.detailNode),s(e.sibling),e.hasChildren()&&e.childrenAfterGroup){const t=-1==e.level;i&&!t&&!e.expanded||e.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((e=>{be(r,e)})),e.forEach(((e,t)=>{Re(r,e,Math.max(s+i,0)+t)})),e.forEach(((e,t)=>{e.sourceRowIndex=t})),this.refreshModel({step:"group",keepRenderedRows:!0,keepEditingRows:!0,animate:n,rowNodesOrderChanged:!0}),!0}highlightRowAtPixel(e,t){const i=null!=t?this.getRowIndexAtPixel(t):null,s=null!=i?this.getRow(i):null;if(!s||!e||null==t)return void this.clearHighlightedRow();const o=this.getHighlightPosition(t,s),n=this.isHighlightingCurrentPosition(e,s,o),r=null!=this.lastHighlightedRow&&this.lastHighlightedRow!==s;(n||r)&&(this.clearHighlightedRow(),n)||(s.setHighlighted(o),this.lastHighlightedRow=s)}getHighlightPosition(e,t){if(!t){const i=this.getRowIndexAtPixel(e);if(!(t=this.getRow(i||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=0===i?-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(0===this.rowsToDisplay.length)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(0===e)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(D(this.rowsToDisplay))return null;const t=this.rowsToDisplay[e];return t?{rowTop:t.rowTop,rowHeight:t.rowHeight}:null}onRowGroupOpened(){const e=J(this.gos);this.refreshModel({step:"map",keepRenderedRows:!0,animate:e})}onFilterChanged(e){if(e.afterDataChange)return;const t=J(this.gos),i=0===e.columns.length||e.columns.some((e=>e.isPrimary()))?"filter":"filter_aggregates";this.refreshModel({step:i,keepRenderedRows:!0,animate:t})}onSortChanged(){const e=J(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=E(e),i=new od(!1,this.rootNode);return t&&i.setInactive(),i}isSuppressModelUpdateAfterUpdateTransaction(e){if(!this.gos.get("suppressModelUpdateAfterUpdateTransaction"))return!1;if(null==e.rowNodeTransactions)return!1;const t=e.rowNodeTransactions.filter((e=>null!=e.add&&e.add.length>0||null!=e.remove&&e.remove.length>0));return null==t||0==t.length}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"};if(P(e)&&(t=i[e]),D(t))return void v(`invalid step ${e}, available steps are ${Object.keys(i).join(", ")}`);return{step:t,keepRenderedRows:!0,keepEditingRows:!0,animate:!this.gos.get("suppressAnimationFrame")}}refreshModel(e){if(!this.hasStarted||this.isRefreshingModel||this.columnModel.isChangeEventsDispatching())return;const t="object"==typeof e&&"step"in e?e:this.buildRefreshModelParams(e);if(!t)return;if(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=D(this.rootNode.allLeafChildren)||0===this.rootNode.allLeafChildren.length;return D(this.rootNode)||e||!this.columnModel.isReady()}isRowsToRender(){return P(this.rowsToDisplay)&&this.rowsToDisplay.length>0}getNodesInRangeForSelection(e,t){let i=!1,s=!1;const o=[],n=Ce(this.gos);return this.forEachNodeAfterFilterAndSort((r=>{if(s)return;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){v("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()||0===this.rowsToDisplay.length)return-1;let t=0,i=this.rowsToDisplay.length-1;if(e<=0)return 0;if(we(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))return n;r.rowTop<e?t=n+1:r.rowTop>e&&(i=n-1);if(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=e=>{var s;const r=null==(s=t[0])?void 0:s.parent;if(!r)return;const l=o&&ie(this.gos),a=se(this.gos),d=o&&a({node:r});r===this.rootNode?l===e&&(r.createFooter(),i(r.sibling,n++)):d===e&&(r.createFooter(),i(r.sibling,n++))};r("top");for(let l=0;l<t.length;l++){const e=t[l];if(i(e,n++),e.hasChildren()&&!e.footer){let t=null;switch(s){case 0:t=e.childrenAfterGroup;break;case 1:t=e.childrenAfterAggFilter;break;case 2:t=e.childrenAfterSort;break;case 3:t=e.leafGroup?null:e.childrenAfterSort}t&&(n=this.recursivelyWalkNodesAndCallback({nodes:[...t],callback:i,recursionType:s,index:n,includeFooterNodes:o}))}}return r("bottom"),n}doAggregate(e){var t;null==(t=this.aggregationStage)||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((o=>{const n=()=>{o.expanded=e,s(o.childrenAfterGroup)};if(t){return void(P(o.childrenAfterGroup)&&n())}if(i){return void(!o.leafGroup&&n())}o.group&&n()}))};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){if(e?this.groupStage.execute({rowNode:this.rootNode,rowNodeTransactions:e,rowNodesOrderChanged:i,changedPath:t}):this.groupStage.execute({rowNode:this.rootNode,changedPath:t,afterColumnsChanged:s}),Ce(this.gos)){this.selectionService.updateGroupsFromChildrenSelections("rowGroupChanged",t)&&this.eventService.dispatchEvent({type:"selectionChanged",source:"rowGroupChanged"})}}else{const e=this.rootNode,t=e.sibling;e.childrenAfterGroup=e.allLeafChildren,t&&(t.childrenAfterGroup=e.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;null==(t=this.pivotStage)||t.execute({rowNode:this.rootNode,changedPath:e})}getNodeManager(){return this.nodeManager}getRowNode(e){if("string"==typeof e&&0==e.indexOf(vo.ID_PREFIX_ROW_GROUP)){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(null==this.applyAsyncTransactionsTimeout){this.rowDataTransactionBatch=[];const e=this.gos.get("asyncTransactionWaitMillis");this.applyAsyncTransactionsTimeout=window.setTimeout((()=>{this.isAlive()&&this.executeBatchUpdateRowData()}),e)}this.rowDataTransactionBatch.push({rowDataTransaction:e,callback:t})}flushAsyncTransactions(){null!=this.applyAsyncTransactionsTimeout&&(clearTimeout(this.applyAsyncTransactionsTimeout),this.executeBatchUpdateRowData())}executeBatchUpdateRowData(){var e;this.valueCache.onDataChanged();const t=[],i=[];let s=!1;null==(e=this.rowDataTransactionBatch)||e.forEach((e=>{const{rowNodeTransaction:o,rowsInserted:n}=this.nodeManager.updateRowData(e.rowDataTransaction);n&&(s=!0),i.push(o),e.callback&&t.push(e.callback.bind(null,o))})),this.commonUpdateRowData(i,s),t.length>0&&window.setTimeout((()=>{t.forEach((e=>e()))}),0),i.length>0&&this.eventService.dispatchEvent({type:"asyncTransactionsFlushed",results:i}),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 Oe{constructor(){super(...arguments),this.beanName="filterStage"}wireBeans(e){this.filterManager=e.filterManager}execute(e){const{changedPath:t}=e;this.filter(t)}filter(e){var t;const i=!!(null==(t=this.filterManager)?void 0:t.isChildFilterPresent());this.filterNodes(i,e)}filterNodes(e,t){const i=(t,i)=>{t.hasChildren()?t.childrenAfterFilter=e&&!i?t.childrenAfterGroup.filter((e=>{const t=e.childrenAfterFilter&&e.childrenAfterFilter.length>0,i=e.data&&this.filterManager.doesRowPassFilter({rowNode:e});return t||i})):t.childrenAfterGroup:t.childrenAfterFilter=t.childrenAfterGroup,t.sibling&&(t.sibling.childrenAfterFilter=t.childrenAfterFilter)};if(this.doingTreeDataFiltering()){const e=(t,s)=>{if(t.childrenAfterGroup)for(let o=0;o<t.childrenAfterGroup.length;o++){const n=t.childrenAfterGroup[o],r=s||this.filterManager.doesRowPassFilter({rowNode:n});n.childrenAfterGroup?e(t.childrenAfterGroup[o],r):i(n,r)}i(t,s)},s=t=>e(t,!1);t.executeFromRootNode(s)}else{const e=e=>i(e,!1);t.forEachChangedNodeDepthFirst(e,!0)}}doingTreeDataFiltering(){return this.gos.get("treeData")&&!this.gos.get("excludeChildrenWhenTreeDataFiltering")}},class extends Oe{constructor(){super(...arguments),this.beanName="sortStage"}wireBeans(e){this.sortService=e.sortService,this.sortController=e.sortController}execute(e){const t=this.sortController.getSortOptions(),i=P(t)&&t.length>0,s=i&&P(e.rowNodeTransactions)&&this.gos.get("deltaSort"),o=t.some((e=>ee(this.gos)?e.column.isPrimary()&&e.column.isRowGroupActive():!!e.column.getColDef().showRowGroup));this.sortService.sort(t,i,s,e.rowNodeTransactions,e.changedPath,o)}},class extends Oe{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();this.recursivelyAddToRowsToDisplay(r,n,i,s,0);if(!o&&i.length>0&&r.grandTotalRow){t.createFooter();const e="top"===r.grandTotalRow;this.addRowNodeToRowsToDisplay(r,t.sibling,i,0,e)}return i}getFlattenDetails(){const e=this.gos.get("groupRemoveSingleChildren");return{groupRemoveLowestSingleChildren:!e&&this.gos.get("groupRemoveLowestSingleChildren"),groupRemoveSingleChildren:e,isGroupMultiAutoColumn:oe(this.gos),hideOpenParents:this.gos.get("groupHideOpenParents"),grandTotalRow:ie(this.gos),groupTotalRow:se(this.gos)}}recursivelyAddToRowsToDisplay(e,t,i,s,o){if(!E(t))for(let n=0;n<t.length;n++){const r=t[n],l=r.hasChildren(),a=s&&!l,d=e.groupRemoveSingleChildren&&l&&1===r.childrenAfterGroup.length,h=e.groupRemoveLowestSingleChildren&&l&&r.leafGroup&&1===r.childrenAfterGroup.length,u=s&&r.leafGroup,c=e.hideOpenParents&&r.expanded&&!r.master&&!u;if(!(a||c||d||h)&&this.addRowNodeToRowsToDisplay(e,r,i,o),!s||!r.leafGroup)if(l){const t=d||h;if(r.expanded||t){const n=e.groupTotalRow({node:r});n||r.destroyFooter();const l=t?o:o+1;"top"===n&&(r.createFooter(),this.addRowNodeToRowsToDisplay(e,r.sibling,i,l)),this.recursivelyAddToRowsToDisplay(e,r.childrenAfterSort,i,s,l),"bottom"===n&&(r.createFooter(),this.addRowNodeToRowsToDisplay(e,r.sibling,i,l))}}else if(r.master&&r.expanded){const t=this.createDetailNode(r);this.addRowNodeToRowsToDisplay(e,t,i,o)}}}addRowNodeToRowsToDisplay(e,t,i,s,o){o?i.unshift(t):i.push(t),t.setUiLevel(e.isGroupMultiAutoColumn?0:s)}createDetailNode(e){if(P(e.detailNode))return e.detailNode;const t=new vo(this.beans);return t.detail=!0,t.selectable=!1,t.parent=e,P(e.id)&&(t.id="detail_"+e.id),t.data=e.data,t.level=e.level+1,e.detailNode=t,t}},class extends Oe{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((e=>e.isRowGroupActive()));let a={};i&&s&&(a=this.calculateDirtyNodes(s));const d=this.columnModel.isPivotMode(),h=this.gos.getCallback("postSortRows"),u=s=>{var u;this.pullDownGroupDataForHideOpenParents(s.childrenAfterAggFilter,!0);const c=d&&s.leafGroup;if(r&&l&&!s.leafGroup&&!n){const e=null==(u=this.funcColsService.getRowGroupColumns())?void 0:u[s.level+1],t=null===(null==e?void 0:e.getSort()),i=s.childrenAfterAggFilter.slice(0);if(s.childrenAfterSort&&!t){const e={};s.childrenAfterSort.forEach(((t,i)=>{e[t.id]=i})),i.sort(((t,i)=>(e[t.id]??0)-(e[i.id]??0)))}s.childrenAfterSort=i}else s.childrenAfterSort=!t||c?s.childrenAfterAggFilter.slice(0):i?this.doDeltaSort(s,a,o,e):this.rowNodeSorter.doFullSort(s.childrenAfterAggFilter,e);if(s.sibling&&(s.sibling.childrenAfterSort=s.childrenAfterSort),this.updateChildIndexes(s),h){const e={nodes:s.childrenAfterSort};h(e)}};o&&o.forEachChangedNodeDepthFirst(u),this.updateGroupDataForHideOpenParents(o)}calculateDirtyNodes(e){const t={},i=e=>{e&&e.forEach((e=>t[e.id]=!0))};return e&&e.forEach((e=>{i(e.add),i(e.update),i(e.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((e=>{t[e.id]||!i.canSkip(e)?l.push(e):r[e.id]=!0}));const a=n.filter((e=>r[e.id])),d=(e,t)=>({currentPos:t,rowNode:e}),h=l.map(d).sort(((e,t)=>this.rowNodeSorter.compareRowNodes(s,e,t)));return this.mergeSortedArrays(s,h,a.map(d)).map((({rowNode:e})=>e))}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(D(e.childrenAfterSort))return;const t=e.childrenAfterSort;for(let i=0;i<t.length;i++){const s=t[i],o=0===i,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 m("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=e=>{this.pullDownGroupDataForHideOpenParents(e.childrenAfterSort,!1),e.childrenAfterSort.forEach((e=>{e.hasChildren()&&t(e)}))};e&&e.executeFromRootNode((e=>t(e)))}pullDownGroupDataForHideOpenParents(e,t){this.gos.get("groupHideOpenParents")&&!D(e)&&e.forEach((e=>{var i;((null==(i=this.showRowGroupColsService)?void 0:i.getShowRowGroupCols())??[]).forEach((i=>{const s=i.getColDef().showRowGroup;if("string"!=typeof s)return void v("groupHideOpenParents only works when specifying specific columns for colDef.showRowGroup");const o=s,n=this.columnModel.getColDefCol(o);if(!(n===e.rowGroupColumn))if(t)e.setGroupValue(i.getId(),void 0);else{const t=this.getFirstChildOfFirstChild(e,n);t&&e.setGroupValue(i.getId(),t.key)}}))}))}getFirstChildOfFirstChild(e,t){let i=e;for(;i;){const e=i.parent;if(!e||!i.firstChild)return null;if(e.rowGroupColumn===t)return e;i=e}return null}},class extends Oe{constructor(){super(...arguments),this.beanName="immutableService"}wireBeans(e){this.rowModel=e.rowModel,this.selectionService=e.selectionService}postConstruct(){G(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(!G(this.gos))return v("ImmutableService only works with ClientSideRowModel"),null;const t=re(this.gos);if(null==t)return v("ImmutableService requires getRowId() callback to be implemented, your row data needs IDs!"),null;const i=this.clientSideRowModel.getNodeManager().getCopyOfNodesMap(),s=[],o=[],n=[];return P(e)&&e.forEach((e=>{const s=t({data:e,level:0}),r=i[s];if(r){r.data!==e&&o.push(e),i[s]=void 0}else n.push(e)})),Qe(i,((e,t)=>{t&&s.push(t.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)))}}]},Ed={version:Pd,moduleName:"@ag-grid-community/client-side-row-model",dependantModules:[Dd,{version:Pd,moduleName:"@ag-grid-community/client-side-row-model-api",beans:[wd],apiFunctions:{onGroupExpandedOrCollapsed:function(e){e.expansionService.onGroupExpandedOrCollapsed()},refreshClientSideRowModel:function(e,t){var i,s;null==(s=null==(i=e.rowModelHelperService)?void 0:i.getClientSideRowModel())||s.refreshModel(t)},isRowDataEmpty:function(e){var t,i;return(null==(i=null==(t=e.rowModelHelperService)?void 0:t.getClientSideRowModel())?void 0:i.isEmpty())??!0},forEachLeafNode:function(e,t){var i,s;null==(s=null==(i=e.rowModelHelperService)?void 0:i.getClientSideRowModel())||s.forEachLeafNode(t)},forEachNodeAfterFilter:function(e,t){var i,s;null==(s=null==(i=e.rowModelHelperService)?void 0:i.getClientSideRowModel())||s.forEachNodeAfterFilter(t)},forEachNodeAfterFilterAndSort:function(e,t){var i,s;null==(s=null==(i=e.rowModelHelperService)?void 0:i.getClientSideRowModel())||s.forEachNodeAfterFilterAndSort(t)},resetRowHeights:function(e){var t,i;e.columnModel.isAutoRowHeightActive()?m("calling gridApi.resetRowHeights() makes no sense when using Auto Row Height."):null==(i=null==(t=e.rowModelHelperService)?void 0:t.getClientSideRowModel())||i.resetRowHeights()},applyTransaction:function(e,t){return e.frameworkOverrides.wrapIncoming((()=>{var i,s;return null==(s=null==(i=e.rowModelHelperService)?void 0:i.getClientSideRowModel())?void 0:s.updateRowData(t)}))},applyTransactionAsync:function(e,t,i){e.frameworkOverrides.wrapIncoming((()=>{var s,o;return null==(o=null==(s=e.rowModelHelperService)?void 0:s.getClientSideRowModel())?void 0:o.batchUpdateRowData(t,i)}))},flushAsyncTransactions:function(e){e.frameworkOverrides.wrapIncoming((()=>{var t,i;return null==(i=null==(t=e.rowModelHelperService)?void 0:t.getClientSideRowModel())?void 0:i.flushAsyncTransactions()}))},getBestCostNodeSelection:function(e){return e.selectionService.getBestCostNodeSelection()}},dependantModules:[Dd,Sd]}]},Md=class extends Oe{setBeans(e){this.beans=e}getFileName(e){const t=this.getDefaultFileExtension();return null!=e&&e.length||(e=this.getDefaultFileName()),-1===e.indexOf(".")?`${e}.${t}`:e}getData(e){const t=this.createSerializingSession(e);return this.beans.gridSerializer.serialize(t,e)}getDefaultFileName(){return`export.${this.getDefaultFileExtension()}`}},xd=class{constructor(e){this.groupColumns=[];const{columnModel:t,funcColsService:i,columnNameService:s,valueService:o,gos:n,processCellCallback:r,processHeaderCallback:l,processGroupHeaderCallback:a,processRowGroupCallback:d}=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=d}prepare(e){this.groupColumns=e.filter((e=>!!e.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 s;if(!(e&&e.group))return!1;if(-1!==this.groupColumns.indexOf(t)){const i=null==(s=e.groupData)?void 0:s[t.getId()],o=this.gos.get("suppressGroupMaintainValueType");if(o&&null!=i||!o&&void 0!==i)return!0;if(N(this.gos)&&e.group)return!0;if(e.footer&&-1===e.level){const e=t.getColDef();return null==e||!0===e.showRowGroup||e.showRowGroup===this.funcColsService.getRowGroupColumns()[0].getId()}}const o=ne(this.gos,this.columnModel.isPivotMode());return 0===i&&o}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=t=>{var o;if(i||s)return t.key;const n=null==(o=t.groupData)?void 0:o[e.getId()];return n&&t.rowGroupColumn&&!1!==t.rowGroupColumn.getColDef().useValueFormatterForExport?this.valueService.formatValue(t.rowGroupColumn,t,n)??n:n},n=t.footer,r=[o(t)];if(!oe(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:e=>this.valueService.parseValue(s,i,e,this.valueService.getValue(s,i)),formatValue:e=>this.valueService.formatValue(s,i,e)??e}))??""}:!1!==s.getColDef().useValueFormatterForExport?{value:o??"",valueFormatted:this.valueService.formatValue(s,i,o)}:{value:o??""}}},Ad=class{static download(e,t){const i=document.defaultView||window;if(!i)return void m("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)}},Td=class extends xd{constructor(e){super(e),this.isFirstLine=!0,this.result="";const{suppressQuotes:t,columnSeparator:i}=e;this.suppressQuotes=t,this.columnSeparator=i}addCustomContent(e){e&&("string"==typeof e?(/^\s*\n/.test(e)||this.beginNewLine(),e=e.replace(/\r?\n/g,"\r\n"),this.result+=e):e.forEach((e=>{this.beginNewLine(),e.forEach(((e,t)=>{0!==t&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(e.data.value||""),e.mergeAcross&&this.appendEmptyCells(e.mergeAcross)}))})))}onNewHeaderGroupingRow(){return this.beginNewLine(),{onColumn:this.onNewHeaderGroupingRowColumn.bind(this)}}onNewHeaderGroupingRowColumn(e,t,i,s){0!=i&&(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){0!=t&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(this.extractHeaderValue(e))}onNewBodyRow(){return this.beginNewLine(),{onColumn:this.onNewBodyRowColumn.bind(this)}}onNewBodyRowColumn(e,t,i){0!=t&&(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(null==e)return'""';let t;"string"==typeof e?t=e:"function"==typeof e.toString?t=e.toString():(m("unknown value type during csv conversion"),t="");return'"'+t.replace(/"/g,'""')+'"'}parse(){return this.result}beginNewLine(){this.isFirstLine||(this.result+="\r\n"),this.isFirstLine=!1}};var Id="32.3.7",Ld={version:Id,moduleName:"@ag-grid-community/csv-export-core",beans:[class extends Md{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 m("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="function"==typeof t.fileName?t.fileName(this.gos.getGridCommonParams()):t.fileName;Ad.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:d,suppressQuotes:h,columnSeparator:u}=e;return new Td({columnModel:t,columnNameService:i,funcColsService:s,valueService:o,gos:n,processCellCallback:r||void 0,processHeaderCallback:l||void 0,processGroupHeaderCallback:a||void 0,processRowGroupCallback:d||void 0,suppressQuotes:h||!1,columnSeparator:u||","})}isExportSuppressed(){return this.gos.get("suppressCsvExport")}},class extends Oe{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(...e){return t=>e.reduce(((e,t)=>t(e)),t)}(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 o;const n=t.shouldRowBeSkipped||(()=>!1),r=this.gos.get("groupRemoveSingleChildren"),l=this.gos.get("groupRemoveLowestSingleChildren"),a=null!=t.rowPositions||!!t.onlySelected,d=this.gos.get("groupHideOpenParents")&&!a,h=this.columnModel.isPivotMode()?s.leafGroup:!s.group,u=!!s.footer,c=l&&s.leafGroup,g=1===s.allChildrenCount&&1===(null==(o=s.childrenAfterGroup)?void 0:o.length)&&(r||c);if(!h&&!u&&(t.skipRowGroups||g||d)||t.onlySelected&&!s.isSelected()||t.skipPinnedTop&&"top"===s.rowPinned||t.skipPinnedBottom&&"bottom"===s.rowPinned)return;if(-1===s.level&&!h&&!u)return;if(n(this.gos.addGridCommonParams({node:s})))return;const p=e.onNewBodyRow(s);if(i.forEach(((e,t)=>{p.onColumn(e,t,s)})),t.getCustomContentBelowRow){const i=t.getCustomContentBelowRow(this.gos.addGridCommonParams({node:s}));i&&e.addCustomContent(i)}}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 At,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 e=i.onNewHeaderRow();t.forEach(((t,i)=>{e.onColumn(t,i,void 0)}))}return i}}processPinnedTopRows(e,t){return i=>{const s=this.processRow.bind(this,i,e,t);return e.rowPositions?e.rowPositions.filter((e=>"top"===e.rowPinned)).sort(((e,t)=>e.rowIndex-t.rowIndex)).map((e=>this.pinnedRowModel.getPinnedTopRow(e.rowIndex))).forEach(s):this.pinnedRowModel.forEachPinnedRow("top",s),i}}processRows(e,t){return i=>{const s=this.rowModel,o=G(this.gos),n=N(this.gos),r=!o&&e.onlySelected,l=this.processRow.bind(this,i,e,t),{exportedRows:a="filteredAndSorted"}=e;if(e.rowPositions)e.rowPositions.filter((e=>null==e.rowPinned)).sort(((e,t)=>e.rowIndex-t.rowIndex)).map((e=>s.getRow(e.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 e=this.selectionService.getSelectedNodes();this.replicateSortedOrder(e),e.forEach(l)}else"all"===a?s.forEachNode(l):o||n?s.forEachNodeAfterFilterAndSort(l,!0):s.forEachNode(l);return i}}replicateSortedOrder(e){const t=this.sortController.getSortOptions(),i=(e,s)=>{var o,n;return null!=e.rowIndex&&null!=s.rowIndex?e.rowIndex-s.rowIndex:e.level===s.level?(null==(o=e.parent)?void 0:o.id)===(null==(n=s.parent)?void 0:n.id)?this.rowNodeSorter.compareRowNodes(t,{rowNode:e,currentPos:e.rowIndex??-1},{rowNode:s,currentPos:s.rowIndex??-1}):i(e.parent,s.parent):e.level>s.level?i(e.parent,s):i(e,s.parent)};e.sort(i)}processPinnedBottomRows(e,t){return i=>{const s=this.processRow.bind(this,i,e,t);return e.rowPositions?e.rowPositions.filter((e=>"bottom"===e.rowPinned)).sort(((e,t)=>e.rowIndex-t.rowIndex)).map((e=>this.pinnedRowModel.getPinnedBottomRow(e.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((e=>!Ke(e)&&!_e(e)))),n}recursivelyAddHeaderGroups(e,t,i){const s=[];e.forEach((e=>{const t=e;t.getChildren&&t.getChildren().forEach((e=>s.push(e)))})),e.length>0&&Mt(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((e=>{const t=e;let n;n=i?i(this.gos.addGridCommonParams({columnGroup:t})):this.columnNameService.getDisplayNameForColumnGroup(t,"header");const r=t.getLeafColumns().reduce(((e,t,i,s)=>{let o=we(e);return"open"===t.getColumnGroupShow()?o&&null==o[1]||(o=[i],e.push(o)):o&&null==o[1]&&(o[1]=i-1),i===s.length-1&&o&&null==o[1]&&(o[1]=i),e}),[]);s.onColumn(t,n||"",o++,t.getLeafColumns().length-1,r)}))}}]},kd={version:Id,moduleName:"@ag-grid-community/csv-export",dependantModules:[Ld,{version:Id,moduleName:"@ag-grid-community/csv-export-api",apiFunctions:{getDataAsCsv:function(e,t){var i;return null==(i=e.csvCreator)?void 0:i.getDataAsCsv(t)},exportDataAsCsv:function(e,t){var i;null==(i=e.csvCreator)||i.exportDataAsCsv(t)}},dependantModules:[Ld]}]},Od=class extends Rl{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){P(t)?e.setDataAndId(t,i.toString()):e.setDataAndId(void 0,void 0)}loadFromDatasource(){const e=this.createLoadParams();D(this.params.datasource.getRows)?m("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 vo(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(((t,i)=>{const s=e.rowData?e.rowData[i]:void 0;!t.id&&t.alreadyRendered&&s&&(this.rowNodes[i]=new vo(this.beans),this.rowNodes[i].setRowIndex(t.rowIndex),this.rowNodes[i].setRowTop(t.rowTop),this.rowNodes[i].setRowHeight(t.rowHeight),t.clearRowTopAndRowIndex()),this.setDataAndId(this.rowNodes[i],s,this.startRow+i)}));const t=null!=e.rowCount&&e.rowCount>=0?e.rowCount:void 0;this.parentCache.pageLoaded(this,t)}destroy(){this.rowNodes.forEach((e=>{e.clearRowTopAndRowIndex()})),super.destroy()}},Gd=class extends Oe{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 Od(e,this,this.params));return this.blocks[t.getId()]=t,this.blockCount++,this.purgeBlocksIfNeeded(t),this.params.rowNodeBlockLoader.addBlock(t),t}refreshCache(){0==this.blockCount?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")&&p(`InfiniteCache - onPageLoaded: page = ${e.getId()}, lastRow = ${t}`),this.checkRowCount(e,t),this.onCacheUpdated())}purgeBlocksIfNeeded(e){const t=this.getBlocksInOrder().filter((t=>t!=e));t.sort(((e,t)=>t.getLastAccessed()-e.getLastAccessed()));const i=this.params.maxBlocksInCache>0,s=i?this.params.maxBlocksInCache-1:null;t.forEach(((e,t)=>{if("needsLoading"===e.getState()&&t>=1||!!i&&t>=s){if(this.isBlockCurrentlyDisplayed(e))return;if(this.isBlockFocused(e))return;this.removeBlockFromCache(e)}}))}isBlockFocused(e){const t=this.focusService.getFocusCellToUseAfterRefresh();if(!t)return!1;if(null!=t.rowPinned)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("number"==typeof t&&t>=0)this.rowCount=t,this.lastRowIndexKnown=!0;else if(!this.lastRowIndexKnown){const t=(e.getId()+1)*this.params.blockSize+this.params.overflowSize;this.rowCount<t&&(this.rowCount=t)}}setRowCount(e,t){this.rowCount=e,P(t)&&(this.lastRowIndexKnown=t),this.lastRowIndexKnown||this.rowCount%this.params.blockSize==0&&this.rowCount++,this.onCacheUpdated()}forEachNodeDeep(e){const t=new Ni;this.getBlocksInOrder().forEach((i=>i.forEachNode(e,t,this.rowCount)))}getBlocksInOrder(){return Je(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((e=>this.destroyBlock(e)))}purgeCache(){this.getBlocksInOrder().forEach((e=>this.removeBlockFromCache(e))),this.lastRowIndexKnown=!1,0===this.rowCount&&(this.rowCount=this.params.initialRowCount),this.onCacheUpdated()}getRowNodesInRange(e,t){const i=[];let s=-1,o=!1;const n=new Ni;let r=!1;this.getBlocksInOrder().forEach((l=>{r||(o&&s+1!==l.getId()?r=!0:(s=l.getId(),l.forEachNode((s=>{const n=s===e||s===t;(o||n)&&i.push(s),n&&(o=!o)}),n,this.rowCount)))}));return r||o?[]:i}};var Nd="32.3.7",Hd={version:Nd,moduleName:"@ag-grid-community/infinite-row-model-core",rowModel:"infinite",beans:[class extends Oe{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(){"infinite"===this.gos.get("rowModelType")&&(this.rowHeight=U(this.gos),this.addEventListeners(),this.addDestroyFunc((()=>this.destroyCache())),this.verifyProps())}verifyProps(){this.gos.exists("initialGroupOrderComparator")&&m("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=U(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!I(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(){if(!this.datasource)return;null!=re(this.gos)||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:(null==(e=this.filterManager)?void 0:e.getFilterModel())??{},sortModel:this.sortController.getSortModel(),rowNodeBlockLoader:this.rowNodeBlockLoader,initialRowCount:this.gos.get("infiniteInitialRowCount"),maxBlocksInCache:this.gos.get("maxBlocksInCache"),rowHeight:U(this.gos),overflowSize:this.gos.get("cacheOverflowSize"),blockSize:this.gos.get("cacheBlockSize"),lastAccessedSequence:new Ni},this.infiniteCache=this.createBean(new Gd(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(0!==this.rowHeight){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:[Fl]},Bd={version:Nd,moduleName:"@ag-grid-community/infinite-row-model",dependantModules:[Hd,{version:Nd,moduleName:"@ag-grid-community/infinite-row-model-api",beans:[wd],apiFunctions:{refreshInfiniteCache:function(e){var t,i;null==(i=null==(t=e.rowModelHelperService)?void 0:t.getInfiniteRowModel())||i.refreshCache()},purgeInfiniteCache:function(e){var t,i;null==(i=null==(t=e.rowModelHelperService)?void 0:t.getInfiniteRowModel())||i.purgeCache()},getInfiniteRowCount:function(e){var t,i;return null==(i=null==(t=e.rowModelHelperService)?void 0:t.getInfiniteRowModel())?void 0:i.getRowCount()}},dependantModules:[Hd,yd]}]};to.__registerModules([Ba,Ed,Bd,kd],!1,void 0);var Vd=i.createContext({}),Wd=(e,t,i,s)=>{if(!e||e.componentFromFramework||t.isDestroyed())return;const o=e.newAgStackInstance();if(null==o)return;let n,r,l=!1;return o.then((e=>{l?t.destroyBean(e):(n=e,r=n.getGui(),i.appendChild(r),zd(s,n))})),()=>{var e;l=!0,n&&(null==(e=null==r?void 0:r.parentElement)||e.removeChild(r),t.destroyBean(n),s&&zd(s,void 0))}},zd=(e,t)=>{if(e)if(e instanceof Function){e(t)}else{e.current=t}},Ud=(...e)=>e.filter((e=>null!=e&&""!==e)).join(" "),Kd=class e{constructor(...e){this.classesMap={},e.forEach((e=>{this.classesMap[e]=!0}))}setClass(t,i){if(!!this.classesMap[t]==i)return this;const s=new e;return s.classesMap={...this.classesMap},s.classesMap[t]=i,s}toString(){return Object.keys(this.classesMap).filter((e=>this.classesMap[e])).join(" ")}},_d=e=>"function"==typeof e&&!(e.prototype&&e.prototype.isReactComponent)||"object"==typeof e&&e.$$typeof===("function"==typeof Symbol&&Symbol.for?Symbol.for("react.memo"):60115),$d=null==(e=i.version)?void 0:e.split(".")[0],jd="16"===$d||"17"===$d;var qd=!1;var Qd=(e,t)=>{jd||!e||qd?t():o.flushSync(t)};function Yd(e,t,i){if(null==t||null==e)return t;if(e===t||0===t.length&&0===e.length)return e;if(i||0===e.length&&t.length>0||e.length>0&&0===t.length)return t;const s=[],o=[],n=new Map,r=new Map;for(let l=0;l<t.length;l++){const e=t[l];r.set(e.instanceId,e)}for(let l=0;l<e.length;l++){const t=e[l];n.set(t.instanceId,t),r.has(t.instanceId)&&s.push(t)}for(let l=0;l<t.length;l++){const e=t[l],i=e.instanceId;n.has(i)||o.push(e)}return s.length===e.length&&0===o.length?e:0===s.length&&o.length===t.length?t:0===s.length?o:0===o.length?s:[...s,...o]}var Xd=t.forwardRef(((e,s)=>{var o;const{ctrlsFactory:n,context:r}=t.useContext(Vd),l=t.useRef(null),a=t.useRef(null),d=t.useRef(null),h=t.useRef(null),u=t.useRef(null),c=t.useRef(),[g,p]=t.useState(),[m,v]=t.useState(),[C,f]=t.useState(),[w,S]=t.useState((()=>new Kd)),[y,b]=t.useState((()=>new Kd("ag-hidden"))),[R,F]=t.useState((()=>new Kd("ag-hidden"))),[P,D]=t.useState((()=>new Kd("ag-invisible")));t.useImperativeHandle(s,(()=>({refresh:()=>!1}))),t.useLayoutEffect((()=>Wd(g,r,a.current)),[g]);const E=t.useCallback((t=>{if(l.current=t,!t)return void(c.current=r.destroyBean(c.current));const i={setInnerRenderer:(e,t)=>{p(e),f(t)},setChildCount:e=>v(e),addOrRemoveCssClass:(e,t)=>S((i=>i.setClass(e,t))),setContractedDisplayed:e=>F((t=>t.setClass("ag-hidden",!e))),setExpandedDisplayed:e=>b((t=>t.setClass("ag-hidden",!e))),setCheckboxVisible:e=>D((t=>t.setClass("ag-invisible",!e)))},s=n.getInstance("groupCellRendererCtrl");s&&(c.current=r.createBean(s),c.current.init(i,t,d.current,h.current,u.current,Xd,e))}),[]),M=t.useMemo((()=>`ag-cell-wrapper ${w.toString()}`),[w]),x=t.useMemo((()=>`ag-group-expanded ${y.toString()}`),[y]),A=t.useMemo((()=>`ag-group-contracted ${R.toString()}`),[R]),T=t.useMemo((()=>`ag-group-checkbox ${P.toString()}`),[P]),I=g&&g.componentFromFramework,L=I?g.componentClass:void 0,k=null==g&&null!=C,O=Rt(C,!0);return i.createElement("span",{className:M,ref:E,...e.colDef?{}:{role:null==(o=c.current)?void 0:o.getCellAriaRole()}},i.createElement("span",{className:x,ref:h}),i.createElement("span",{className:A,ref:u}),i.createElement("span",{className:T,ref:d}),i.createElement("span",{className:"ag-group-value",ref:a},k&&i.createElement(i.Fragment,null,O),I&&i.createElement(L,{...g.params})),i.createElement("span",{className:"ag-group-child-count"},m))})),Jd=Xd,Zd=t.createContext({setMethods:()=>{}}),eh=t.memo((e=>{const{initialProps:s,addUpdateCallback:o,CustomComponentClass:n,setMethods:r}=e,[{key:l,...a},d]=t.useState(s);return t.useEffect((()=>{o((e=>d(e)))}),[]),i.createElement(Zd.Provider,{value:{setMethods:r}},i.createElement(n,{key:l,...a}))})),th=0;function ih(){return"agPortalKey_"+ ++th}var sh=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=ih(),this.portalKey=ih(),this.instanceCreated=this.isStatelessComponent()?As.resolve(!1):new As((e=>{this.resolveInstanceCreated=e}))}getGui(){return this.eParentElement}getRootElement(){return this.eParentElement.firstChild}destroy(){this.componentInstance&&"function"==typeof this.componentInstance.destroy&&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(){if(this.componentInstance&&(this.componentInstance.getReactContainerStyle&&this.componentInstance.getReactContainerStyle()&&(m('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())){m('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"function"==typeof Symbol&&Symbol.for}isStateless(e){return"function"==typeof e&&!(e.prototype&&e.prototype.isReactComponent)||"object"==typeof e&&e.$$typeof===this.getMemoType()}hasMethod(e){const t=this.getFrameworkComponentInstance();return!!t&&null!=t[e]||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 As((e=>this.createReactComponent(e)))}createOrUpdatePortal(e){this.isStatelessComponent()||(this.ref=e=>{var t;this.componentInstance=e,this.addParentContainerStyleAndClasses(),null==(t=this.resolveInstanceCreated)||t.call(this,!0),this.resolveInstanceCreated=void 0},e.ref=this.ref),this.reactElement=this.createElement(this.reactComponent,{...e,key:this.key}),this.portal=s.createPortal(this.reactElement,this.eParentElement,this.portalKey)}createElement(e,i){return t.createElement(e,i)}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){if(this.suppressFallbackMethods)return!1;return!!this[`${e}Component`]}};function oh(e,t,i){e.forEach((e=>{const s=t[e];s&&(i[e]=s)}))}var nh=class extends sh{constructor(){super(...arguments),this.awaitUpdateCallback=new As((e=>{this.resolveUpdateCallback=e})),this.wrapperComponent=eh}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:e=>this.setMethods(e),addUpdateCallback:e=>{this.updateCallback=()=>(e(this.getProps()),new As((e=>{setTimeout((()=>{e()}))}))),this.resolveUpdateCallback()}})}setMethods(e){this.providedMethods=e,oh(this.getOptionalMethods(),this.providedMethods,this)}getOptionalMethods(){return[]}getProps(){return{...this.sourceParams,key:this.key,ref:this.ref}}refreshProps(){return this.updateCallback?this.updateCallback():new As((e=>this.awaitUpdateCallback.then((()=>{this.updateCallback().then((()=>e()))}))))}},rh=class extends nh{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},lh=class extends nh{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}},ah=class extends nh{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}},dh=class extends nh{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 null!=this.model}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;!1===this.expectingNewMethods&&this.hasBeenActive&&(null==(t=this.providedMethods)?void 0:t.doesFilterPass)!==(null==e?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 hh(e,t){e.parentFilterInstance((i=>{(i.setModel(t)||As.resolve()).then((()=>{e.filterParams.filterChangedCallback()}))}))}var uh=class{constructor(e,t){this.floatingFilterParams=e,this.refreshProps=t,this.model=null,this.onModelChange=e=>this.updateModel(e)}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){oh(this.getOptionalMethods(),e,this)}getOptionalMethods(){return["afterGuiAttached"]}updateModel(e){this.model=e,this.refreshProps(),hh(this.floatingFilterParams,e)}},ch=class extends nh{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(),hh(this.sourceParams,e)}getProps(){const e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e}},gh=class extends nh{refresh(e){this.sourceParams=e,this.refreshProps()}},ph=class extends nh{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}},mh=class extends nh{refresh(e){this.sourceParams=e,this.refreshProps()}},vh=class extends nh{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},Ch=class extends nh{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 fh(){m("As of v32, using custom components with `reactiveCustomComponents = false` is deprecated.")}var wh=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)}))}}},Sh=t.memo((({ctrl:e})=>{const s=e.isAlive(),{context:o}=t.useContext(Vd),n=s?e.getColId():void 0,[r,l]=t.useState(),a=t.useRef(),d=t.useRef(null),h=t.useRef(null),u=t.useRef(null),c=t.useRef(),g=t.useRef();s&&!g.current&&(g.current=new Ut((()=>d.current)));const p=t.useCallback((t=>{var i;if(d.current=t,a.current=t?o.createBean(new Wt):o.destroyBean(a.current),!t||!s)return;const n={setWidth:e=>{d.current&&(d.current.style.width=e)},addOrRemoveCssClass:(e,t)=>g.current.addOrRemoveCssClass(e,t),setAriaSort:e=>{d.current&&(e?function(e,t){_t(e,"sort",t)}(d.current,e):$t(d.current,"sort"))},setUserCompDetails:e=>l(e),getUserCompInstance:()=>c.current||void 0};e.setComp(n,t,h.current,u.current,a.current);const r=e.getSelectAllGui();null==(i=h.current)||i.insertAdjacentElement("afterend",r),a.current.addDestroyFunc((()=>r.remove()))}),[]);t.useLayoutEffect((()=>Wd(r,o,u.current,c)),[r]),t.useEffect((()=>{e.setDragSource(d.current)}),[r]);const m=t.useMemo((()=>!!((null==r?void 0:r.componentFromFramework)&&_d(r.componentClass))),[r]),v=r&&r.componentFromFramework,C=r&&r.componentClass;return i.createElement("div",{ref:p,className:"ag-header-cell","col-id":n,role:"columnheader"},i.createElement("div",{ref:h,className:"ag-header-cell-resize",role:"presentation"}),i.createElement("div",{ref:u,className:"ag-header-cell-comp-wrapper",role:"presentation"},v&&m&&i.createElement(C,{...r.params}),v&&!m&&i.createElement(C,{...r.params,ref:c})))})),yh=t.memo((({ctrl:e})=>{const{context:s,gos:o}=t.useContext(Vd),[n,r]=t.useState((()=>new Kd("ag-header-cell","ag-floating-filter"))),[l,a]=t.useState((()=>new Kd)),[d,h]=t.useState((()=>new Kd("ag-floating-filter-button","ag-hidden"))),[u,c]=t.useState("false"),[g,p]=t.useState(),[,m]=t.useState(1),v=t.useRef(),C=t.useRef(null),f=t.useRef(null),w=t.useRef(null),S=t.useRef(null),y=t.useRef(),b=t.useRef(),R=e=>{null!=e&&y.current&&y.current(e)},F=t.useCallback((t=>{if(C.current=t,v.current=t?s.createBean(new Wt):s.destroyBean(v.current),!t)return;b.current=new As((e=>{y.current=e}));const i={addOrRemoveCssClass:(e,t)=>r((i=>i.setClass(e,t))),addOrRemoveBodyCssClass:(e,t)=>a((i=>i.setClass(e,t))),setButtonWrapperDisplayed:e=>{h((t=>t.setClass("ag-hidden",!e))),c(e?"false":"true")},setWidth:e=>{C.current&&(C.current.style.width=e)},setCompDetails:e=>p(e),getFloatingFilterComp:()=>b.current?b.current:null,setMenuIcon:e=>{var t;return null==(t=S.current)?void 0:t.appendChild(e)}};e.setComp(i,t,S.current,f.current,v.current)}),[]);t.useLayoutEffect((()=>Wd(g,s,f.current,R)),[g]);const P=t.useMemo((()=>n.toString()),[n]),D=t.useMemo((()=>l.toString()),[l]),E=t.useMemo((()=>d.toString()),[d]),M=t.useMemo((()=>!!(g&&g.componentFromFramework&&_d(g.componentClass))),[g]),x=t.useMemo((()=>o.get("reactiveCustomComponents")),[]),A=t.useMemo((()=>{if(g){if(x){const e=new uh(g.params,(()=>m((e=>e+1))));return R(e),e}g.componentFromFramework&&fh()}}),[g]),T=null==A?void 0:A.getProps(),I=g&&g.componentFromFramework,L=g&&g.componentClass;return i.createElement("div",{ref:F,className:P,role:"gridcell"},i.createElement("div",{ref:f,className:D,role:"presentation"},I&&!x&&i.createElement(L,{...g.params,ref:M?()=>{}:R}),I&&x&&i.createElement(Zd.Provider,{value:{setMethods:e=>A.setMethods(e)}},i.createElement(L,{...T}))),i.createElement("div",{ref:w,"aria-hidden":u,className:E,role:"presentation"},i.createElement("button",{ref:S,type:"button",className:"ag-button ag-floating-filter-button-button",tabIndex:-1})))})),bh=t.memo((({ctrl:e})=>{const{context:s}=t.useContext(Vd),[o,n]=t.useState((()=>new Kd)),[r,l]=t.useState((()=>new Kd)),[a,d]=t.useState("false"),[h,u]=t.useState(),[c,g]=t.useState(),p=t.useMemo((()=>e.getColId()),[]),m=t.useRef(),v=t.useRef(null),C=t.useRef(null),f=t.useRef(null),w=t.useRef(),S=t.useCallback((t=>{if(v.current=t,m.current=t?s.createBean(new Wt):s.destroyBean(m.current),!t)return;const i={setWidth:e=>{v.current&&(v.current.style.width=e)},addOrRemoveCssClass:(e,t)=>n((i=>i.setClass(e,t))),setHeaderWrapperHidden:e=>{const t=f.current;t&&(e?t.style.setProperty("display","none"):t.style.removeProperty("display"))},setHeaderWrapperMaxHeight:e=>{const t=f.current;t&&(null!=e?t.style.setProperty("max-height",`${e}px`):t.style.removeProperty("max-height"),t.classList.toggle("ag-header-cell-comp-wrapper-limited-height",null!=e))},setUserCompDetails:e=>g(e),setResizableDisplayed:e=>{l((t=>t.setClass("ag-hidden",!e))),d(e?"false":"true")},setAriaExpanded:e=>u(e),getUserCompInstance:()=>w.current||void 0};e.setComp(i,t,C.current,f.current,m.current)}),[]);t.useLayoutEffect((()=>Wd(c,s,f.current)),[c]),t.useEffect((()=>{v.current&&e.setDragSource(v.current)}),[c]);const y=t.useMemo((()=>!!((null==c?void 0:c.componentFromFramework)&&_d(c.componentClass))),[c]),b=t.useMemo((()=>"ag-header-group-cell "+o.toString()),[o]),R=t.useMemo((()=>"ag-header-cell-resize "+r.toString()),[r]),F=c&&c.componentFromFramework,P=c&&c.componentClass;return i.createElement("div",{ref:S,className:b,"col-id":p,role:"columnheader","aria-expanded":h},i.createElement("div",{ref:f,className:"ag-header-cell-comp-wrapper",role:"presentation"},F&&y&&i.createElement(P,{...c.params}),F&&!y&&i.createElement(P,{...c.params,ref:w})),i.createElement("div",{ref:C,"aria-hidden":a,className:R}))})),Rh=t.memo((({ctrl:e})=>{const{context:s}=t.useContext(Vd),{topOffset:o,rowHeight:n}=t.useMemo((()=>e.getTopAndHeight()),[]),r=e.getAriaRowIndex(),l=e.getHeaderRowClass(),[a,d]=t.useState((()=>n+"px")),[h,u]=t.useState((()=>o+"px")),c=t.useRef(null),g=t.useRef(null),[p,m]=t.useState((()=>e.getHeaderCtrls())),v=t.useRef(),C=t.useRef(null),f=t.useCallback((t=>{if(C.current=t,v.current=t?s.createBean(new Wt):s.destroyBean(v.current),!t)return;const i={setHeight:e=>d(e),setTop:e=>u(e),setHeaderCtrls:(e,t,i)=>{g.current=c.current,c.current=e;const s=Yd(g.current,e,t);s!==g.current&&Qd(i,(()=>m(s)))},setWidth:e=>{C.current&&(C.current.style.width=e)}};e.setComp(i,v.current,!1)}),[]),w=t.useMemo((()=>({height:a,top:h})),[a,h]),S=t.useCallback((t=>{switch(e.getType()){case An.COLUMN_GROUP:return i.createElement(bh,{ctrl:t,key:t.instanceId});case An.FLOATING_FILTER:return i.createElement(yh,{ctrl:t,key:t.instanceId});default:return i.createElement(Sh,{ctrl:t,key:t.instanceId})}}),[]);return i.createElement("div",{ref:f,className:l,role:"row",style:w,"aria-rowindex":r},p.map(S))})),Fh=t.memo((({pinned:e})=>{const[s,o]=t.useState(!0),[n,r]=t.useState([]),{context:l}=t.useContext(Vd),a=t.useRef(null),d=t.useRef(null),h=t.useRef(),u="left"===e,c="right"===e,g=!u&&!c,p=t.useCallback((t=>{if(a.current=t,h.current=t?l.createBean(new Yn(e)):l.destroyBean(h.current),!t)return;const i={setDisplayed:o,setCtrls:e=>r(e),setCenterWidth:e=>{d.current&&(d.current.style.width=e)},setViewportScrollLeft:e=>{a.current&&(a.current.scrollLeft=e)},setPinnedContainerWidth:e=>{a.current&&(a.current.style.width=e,a.current.style.minWidth=e,a.current.style.maxWidth=e)}};h.current.setComp(i,a.current)}),[]),m=s?"":"ag-hidden",v=()=>n.map((e=>i.createElement(Rh,{ctrl:e,key:e.instanceId})));return i.createElement(i.Fragment,null,u&&i.createElement("div",{ref:p,className:"ag-pinned-left-header "+m,"aria-hidden":!s,role:"rowgroup"},v()),c&&i.createElement("div",{ref:p,className:"ag-pinned-right-header "+m,"aria-hidden":!s,role:"rowgroup"},v()),g&&i.createElement("div",{ref:p,className:"ag-header-viewport "+m,role:"presentation"},i.createElement("div",{ref:d,className:"ag-header-container",role:"rowgroup"},v())))})),Ph=t.memo((()=>{const[e,s]=t.useState((()=>new Kd)),[o,n]=t.useState(),{context:r}=t.useContext(Vd),l=t.useRef(null),a=t.useRef(),d=t.useCallback((e=>{if(l.current=e,a.current=e?r.createBean(new In):r.destroyBean(a.current),!e)return;const t={addOrRemoveCssClass:(e,t)=>s((i=>i.setClass(e,t))),setHeightAndMinHeight:e=>n(e)};a.current.setComp(t,e,e)}),[]),h=t.useMemo((()=>"ag-header "+e.toString()),[e]),u=t.useMemo((()=>({height:o,minHeight:o})),[o]);return i.createElement("div",{ref:d,className:h,style:u,role:"presentation"},i.createElement(Fh,{pinned:"left"}),i.createElement(Fh,{pinned:null}),i.createElement(Fh,{pinned:"right"}))})),Dh=(e,i)=>{t.useEffect((()=>{const t=i.current;if(t){const i=t.parentElement;if(i){const s=document.createComment(e);return i.insertBefore(s,t),()=>{i.removeChild(s)}}}}),[e])},Eh=class{constructor(e,t){this.cellEditorParams=e,this.refreshProps=t,this.instanceCreated=new As((e=>{this.resolveInstanceCreated=e})),this.onValueChange=e=>this.updateValue(e),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){oh(this.getOptionalMethods(),e,this)}getInstance(){return this.instanceCreated.then((()=>this.componentInstance))}setRef(e){var t;this.componentInstance=e,null==(t=this.resolveInstanceCreated)||t.call(this),this.resolveInstanceCreated=void 0}getOptionalMethods(){return["isCancelBeforeStart","isCancelAfterEnd","focusIn","focusOut","afterGuiAttached"]}updateValue(e){this.value=e,this.refreshProps()}},Mh=t.memo((e=>{const[o,n]=t.useState(),{context:r,popupService:l,localeService:a,gos:d,editService:h}=t.useContext(Vd);return(e=>{const i=t.useRef(e),s=t.useRef(),o=t.useRef(!1),n=t.useRef(!1),[,r]=t.useState(0);o.current&&(n.current=!0),t.useEffect((()=>(o.current||(s.current=i.current(),o.current=!0),r((e=>e+1)),()=>{var e;n.current&&(null==(e=s.current)||e.call(s))})),[])})((()=>{var t,i;const{editDetails:s,cellCtrl:o,eParentCell:u}=e,{compDetails:c}=s,g=d.get("stopEditingWhenCellsLoseFocus"),p=r.createBean(h.createPopupEditorWrapper(c.params)),m=p.getGui();if(e.jsChildComp){const t=e.jsChildComp.getGui();t&&m.appendChild(t)}const v={column:o.getColumn(),rowNode:o.getRowNode(),type:"popupCellEditor",eventSource:u,ePopup:m,position:s.popupPosition,keepWithinBounds:!0},C=l.positionPopupByComponent.bind(l,v),f=a.getLocaleTextFunc(),w=l.addPopup({modal:g,eChild:m,closeOnEsc:!0,closedCallback:()=>{o.onPopupEditorClosed()},anchorToElement:u,positionCallback:C,ariaLabel:f("ariaLabelCellEditor","Cell Editor")}),S=w?w.hideFunc:void 0;return n(p),null==(i=null==(t=e.jsChildComp)?void 0:t.afterGuiAttached)||i.call(t),()=>{null==S||S(),r.destroyBean(p)}})),i.createElement(i.Fragment,null,o&&e.wrappedContent&&s.createPortal(e.wrappedContent,o.getGui()))})),xh=(e,i,s,o,n,r)=>{const{context:l}=t.useContext(Vd),a=t.useCallback((()=>{const e=n.current;if(!e)return;const t=e.getGui();t&&t.parentElement&&t.parentElement.removeChild(t),l.destroyBean(e),n.current=void 0}),[]);t.useEffect((()=>{const t=null!=e,o=(null==e?void 0:e.compDetails)&&!e.compDetails.componentFromFramework;if(!(t&&o&&!(i&&null==s)))return void a();const l=e.compDetails;if(n.current){const t=n.current,i=!!(null!=t.refresh&&0==e.force)&&t.refresh(l.params);if(!0===i||void 0===i)return;a()}const d=l.newAgStackInstance();null!=d&&d.then((e=>{if(!e)return;const t=e.getGui();if(!t)return;(i?s:r.current).appendChild(t),n.current=e}))}),[e,i,o]),t.useEffect((()=>a),[])},Ah=(e,t,s)=>{const o=e.compProxy;return i.createElement(i.Fragment,null,o?((e,t,s)=>{const{compProxy:o}=e;s(o);const n=o.getProps(),r=_d(t);return i.createElement(Zd.Provider,{value:{setMethods:e=>o.setMethods(e)}},r?i.createElement(t,{...n}):i.createElement(t,{...n,ref:e=>o.setRef(e)}))})(e,t,s):i.createElement(t,{...e.compDetails.params,ref:s}))},Th=t.memo((({cellCtrl:e,printLayout:s,editingRow:o})=>{const{context:n}=t.useContext(Vd),{colIdSanitised:r,instanceId:l}=e,a=t.useRef(),[d,h]=t.useState((()=>e.isCellRenderer()?void 0:{compDetails:void 0,value:e.getValueToDisplay(),force:!1})),[u,c]=t.useState(),[g,p]=t.useState(1),[m,v]=t.useState(),[C,f]=t.useState(!1),[w,S]=t.useState(!1),[y,b]=t.useState(!1),[R,F]=t.useState(),P=t.useMemo((()=>e.isForceWrapper()),[e]),D=t.useMemo((()=>e.getCellAriaRole()),[e]),E=t.useRef(null),M=t.useRef(null),x=t.useRef(),A=t.useRef(),T=t.useRef(),I=t.useRef([]),L=t.useRef(),[k,O]=t.useState(0),G=t.useCallback((e=>{L.current=e,O((e=>e+1))}),[]),N=P||null!=d&&(C||y||w),H=t.useCallback((t=>{if(A.current=t,t){const i=t.isCancelBeforeStart&&t.isCancelBeforeStart();setTimeout((()=>{i?(e.stopEditing(!0),e.focusCell(!0)):e.cellEditorAttached()}))}}),[e]),B=t.useRef();B.current||(B.current=new Ut((()=>E.current))),xh(d,N,L.current,k,x,E);const V=t.useRef();t.useLayoutEffect((()=>{var e;const t=V.current,i=d;if(V.current=d,null==t||null==t.compDetails||null==i||null==i.compDetails)return;const s=t.compDetails,o=i.compDetails;if(s.componentClass!=o.componentClass)return;if(null==(null==(e=M.current)?void 0:e.refresh))return;1!=M.current.refresh(o.params)&&p((e=>e+1))}),[d]),t.useLayoutEffect((()=>{if(!(u&&!u.compDetails.componentFromFramework))return;const e=u.compDetails,t=!0===u.popup,i=e.newAgStackInstance();return i.then((e=>{if(!e)return;const i=e.getGui();if(H(e),!t){const t=(P?T:E).current;null==t||t.appendChild(i),e.afterGuiAttached&&e.afterGuiAttached()}F(e)})),()=>{i.then((e=>{var t;const i=e.getGui();n.destroyBean(e),H(void 0),F(void 0),null==(t=null==i?void 0:i.parentElement)||t.removeChild(i)}))}}),[u]);const W=t.useCallback((t=>{if(T.current=t,!t)return I.current.forEach((e=>e())),void(I.current=[]);const i=e=>{if(e){const i=e.getGui();t.insertAdjacentElement("afterbegin",i),I.current.push((()=>{n.destroyBean(e),Ci(i)}))}return e};if(C){i(e.createSelectionCheckbox())}y&&i(e.createDndSource()),w&&i(e.createRowDragComp())}),[e,n,y,w,C]),z=t.useCallback((t=>{if(E.current=t,a.current=t?n.createBean(new Wt):n.destroyBean(a.current),!t||!e)return;const i={addOrRemoveCssClass:(e,t)=>B.current.addOrRemoveCssClass(e,t),setUserStyles:e=>v(e),getFocusableElement:()=>E.current,setIncludeSelection:e=>f(e),setIncludeRowDrag:e=>S(e),setIncludeDndSource:e=>b(e),getCellEditor:()=>A.current||null,getCellRenderer:()=>M.current??x.current,getParentOfValue:()=>L.current??T.current??E.current,setRenderDetails:(e,t,i)=>{h((s=>(null==s?void 0:s.compDetails)!==e||(null==s?void 0:s.value)!==t||(null==s?void 0:s.force)!==i?{value:t,compDetails:e,force:i}:s))},setEditDetails:(e,t,i,s)=>{if(e){let o;s?o=new Eh(e.params,(()=>p((e=>e+1)))):e.componentFromFramework&&fh(),c({compDetails:e,popup:t,popupPosition:i,compProxy:o}),t||h(void 0)}else c((e=>{(null==e?void 0:e.compProxy)&&(A.current=void 0)}))}},r=T.current||void 0;e.setComp(i,t,r,s,o,a.current)}),[]),U=t.useMemo((()=>{var e;return!!((null==(e=null==d?void 0:d.compDetails)?void 0:e.componentFromFramework)&&_d(d.compDetails.componentClass))}),[d]);t.useLayoutEffect((()=>{var t;E.current&&(B.current.addOrRemoveCssClass("ag-cell-value",!N),B.current.addOrRemoveCssClass("ag-cell-inline-editing",!!u&&!u.popup),B.current.addOrRemoveCssClass("ag-cell-popup-editing",!!u&&!!u.popup),B.current.addOrRemoveCssClass("ag-cell-not-inline-editing",!u||!!u.popup),null==(t=e.getRowCtrl())||t.setInlineEditingCss(),e.shouldRestoreFocus()&&!e.isEditing()&&E.current.focus({preventScroll:!0}))}));const K=()=>i.createElement(i.Fragment,null,null!=d&&((e,t,s,o,n,r,l)=>{const{compDetails:a,value:d}=e,h=!a,u=a&&a.componentFromFramework,c=a&&a.componentClass,g=(null==d?void 0:d.toString)?d.toString():d,p=()=>i.createElement(i.Fragment,null,h&&i.createElement(i.Fragment,null,g),u&&!r&&i.createElement(c,{...a.params,key:t,ref:o}),u&&r&&i.createElement(c,{...a.params,key:t}));return i.createElement(i.Fragment,null,n?i.createElement("span",{role:"presentation",id:`cell-${s}`,className:"ag-cell-value",ref:l},p()):p())})(d,g,l,M,N,U,G),null!=u&&((e,t,s,o,n)=>{const r=e.compDetails,l=r.componentClass,a=r.componentFromFramework&&!e.popup,d=r.componentFromFramework&&e.popup,h=!r.componentFromFramework&&e.popup;return i.createElement(i.Fragment,null,a&&Ah(e,l,t),d&&i.createElement(Mh,{editDetails:e,cellCtrl:o,eParentCell:s,wrappedContent:Ah(e,l,t)}),h&&n&&i.createElement(Mh,{editDetails:e,cellCtrl:o,eParentCell:s,jsChildComp:n}))})(u,H,E.current,e,R)),_=t.useCallback((()=>e.onFocusOut()),[]);return i.createElement("div",{ref:z,style:m,role:D,"col-id":r,onBlur:_},N?i.createElement("div",{className:"ag-cell-wrapper",role:"presentation",ref:W},K()):K())})),Ih=t.memo((({rowCtrl:e,containerType:s})=>{const{context:o,gos:n}=t.useContext(Vd),r=t.useRef(),l=t.useRef(e.getDomOrder()),a=e.isFullWidth(),d=e.getRowNode().displayed,[h,u]=t.useState((()=>d?e.getRowIndex():null)),[c,g]=t.useState((()=>e.getRowId())),[p,m]=t.useState((()=>e.getBusinessKey())),[v,C]=t.useState((()=>e.getRowStyles())),f=t.useRef(null),w=t.useRef(null),[S,y]=t.useState((()=>null)),[b,R]=t.useState(),[F,P]=t.useState((()=>d?e.getInitialRowTop(s):void 0)),[D,E]=t.useState((()=>d?e.getInitialTransform(s):void 0)),M=t.useRef(null),x=t.useRef(),A=t.useRef(!1),[T,I]=t.useState(0);t.useEffect((()=>{var t;if(A.current||!b||T>10)return;const i=null==(t=M.current)?void 0:t.firstChild;i?(e.setupDetailRowAutoHeight(i),A.current=!0):I((e=>e+1))}),[b,T]);const L=t.useRef();L.current||(L.current=new Ut((()=>M.current)));const k=t.useCallback((t=>{if(M.current=t,r.current=t?o.createBean(new Wt):o.destroyBean(r.current),!t)return void e.unsetComp(s);if(!e.isAlive())return;const i={setTop:P,setTransform:E,addOrRemoveCssClass:(e,t)=>L.current.addOrRemoveCssClass(e,t),setDomOrder:e=>l.current=e,setRowIndex:u,setRowId:g,setRowBusinessKey:m,setUserStyles:C,setCellCtrls:(e,t)=>{w.current=f.current,f.current=e;const i=Yd(w.current,e,l.current);i!==w.current&&Qd(t,(()=>y(i)))},showFullWidth:e=>R(e),getFullWidthCellRenderer:()=>x.current,refreshFullWidth:e=>B.current?(R((t=>({...t,params:e()}))),!0):!(!x.current||!x.current.refresh)&&x.current.refresh(e())};e.setComp(i,t,s,r.current)}),[]);t.useLayoutEffect((()=>Wd(b,o,M.current,x)),[b]);const O=t.useMemo((()=>{const e={top:F,transform:D};return Object.assign(e,v),e}),[F,D,v]),G=a&&(null==b?void 0:b.componentFromFramework),N=!a&&null!=S,H=t.useMemo((()=>!!((null==b?void 0:b.componentFromFramework)&&_d(b.componentClass))),[b]),B=t.useRef(!1);t.useEffect((()=>{B.current=H&&!!b&&!!n.get("reactiveCustomComponents")}),[H,b]);return i.createElement("div",{ref:k,role:"row",style:O,"row-index":h,"row-id":c,"row-business-key":p},N&&(null==S?void 0:S.map((t=>i.createElement(Th,{cellCtrl:t,editingRow:e.isEditing(),printLayout:e.isPrintLayout(),key:t.instanceId})))),G&&(()=>{const e=b.componentClass;return i.createElement(i.Fragment,null,H?i.createElement(e,{...b.params}):i.createElement(e,{...b.params,ref:x}))})())})),Lh=t.memo((({name:e})=>{const{context:s}=t.useContext(Vd),o=t.useMemo((()=>Ar(e)),[e]),n=t.useRef(null),r=t.useRef(null),l=t.useRef([]),a=t.useRef([]),[d,h]=t.useState((()=>[])),u=t.useRef(!1),c=t.useRef(),g=t.useMemo((()=>Ud(o.viewport)),[o]),p=t.useMemo((()=>Ud(o.container)),[o]),m="center"===o.type;Dh(" AG Row Container "+e+" ",m?n:r);const v=t.useCallback((()=>m?null!=n.current&&null!=r.current:null!=r.current),[]),C=t.useCallback((()=>m?null==n.current&&null==r.current:null==r.current),[]),f=t.useCallback((()=>{if(C()&&(c.current=s.destroyBean(c.current)),v()){const t=e=>{const t=Yd(a.current,l.current,u.current);t!==a.current&&(a.current=t,Qd(e,(()=>h(t))))},i={setHorizontalScroll:e=>{n.current&&(n.current.scrollLeft=e)},setViewportHeight:e=>{n.current&&(n.current.style.height=e)},setRowCtrls:({rowCtrls:e,useFlushSync:i})=>{const s=!!i&&l.current.length>0&&e.length>0;l.current=e,t(s)},setDomOrder:e=>{u.current!=e&&(u.current=e,t(!1))},setContainerWidth:e=>{r.current&&(r.current.style.width=e)},setOffsetTop:e=>{r.current&&(r.current.style.transform=`translateY(${e})`)}};c.current=s.createBean(new Br(e)),c.current.setComp(i,r.current,n.current)}}),[v,C]),w=t.useCallback((e=>{r.current=e,f()}),[f]),S=t.useCallback((e=>{n.current=e,f()}),[f]),y=()=>i.createElement("div",{className:p,ref:w,role:"rowgroup"},d.map((e=>i.createElement(Ih,{rowCtrl:e,containerType:o.type,key:e.instanceId}))));return i.createElement(i.Fragment,null,m?i.createElement("div",{className:g,ref:S,role:"presentation"},y()):y())})),kh=t.memo((()=>{const{context:e,resizeObserverService:s}=t.useContext(Vd),[o,n]=t.useState(""),[r,l]=t.useState(0),[a,d]=t.useState(0),[h,u]=t.useState("0px"),[c,g]=t.useState("0px"),[p,m]=t.useState("100%"),[v,C]=t.useState("0px"),[f,w]=t.useState("0px"),[S,y]=t.useState("100%"),[b,R]=t.useState(""),[F,P]=t.useState(""),[D,E]=t.useState(null),[M,x]=t.useState(""),[A,T]=t.useState(null),[I,L]=t.useState("ag-layout-normal"),k=t.useRef();k.current||(k.current=new Ut((()=>O.current)));const O=t.useRef(null),G=t.useRef(null),N=t.useRef(null),H=t.useRef(null),B=t.useRef(null),V=t.useRef(null),W=t.useRef(null),z=t.useRef([]),U=t.useRef([]);Dh(" AG Grid Body ",O),Dh(" AG Pinned Top ",G),Dh(" AG Sticky Top ",N),Dh(" AG Middle ",V),Dh(" AG Pinned Bottom ",W);const K=t.useCallback((t=>{if(O.current=t,!t)return z.current=e.destroyBeans(z.current),U.current.forEach((e=>e())),void(U.current=[]);if(!e)return;const i=(e,t)=>{e.appendChild(t),U.current.push((()=>e.removeChild(t)))},o=(t,s,o)=>{i(t,document.createComment(o)),i(t,(t=>{const i=e.createBean(new t);return z.current.push(i),i})(s).getGui())};o(t,er," AG Fake Horizontal Scroll "),o(t,Jn," AG Overlay Wrapper "),B.current&&o(B.current,ir," AG Fake Vertical Scroll ");const r={setRowAnimationCssOnBodyViewport:n,setColumnCount:e=>{O.current&&_t(O.current,"colcount",e)},setRowCount:e=>{O.current&&_t(O.current,"rowcount",e)},setTopHeight:l,setBottomHeight:d,setStickyTopHeight:u,setStickyTopTop:g,setStickyTopWidth:m,setTopDisplay:R,setBottomDisplay:P,setColumnMovingCss:(e,t)=>k.current.addOrRemoveCssClass(e,t),updateLayoutClasses:L,setAlwaysVerticalScrollClass:E,setPinnedTopBottomOverflowY:x,setCellSelectableCss:(e,t)=>T(t?e:null),setBodyViewportWidth:e=>{V.current&&(V.current.style.width=e)},registerBodyViewportResizeListener:e=>{if(V.current){const t=s.observeResize(V.current,e);U.current.push((()=>t()))}},setStickyBottomHeight:C,setStickyBottomBottom:w,setStickyBottomWidth:y},a=e.createBean(new Vr);z.current.push(a),a.setComp(r,t,V.current,G.current,W.current,N.current,H.current)}),[]),_=t.useMemo((()=>Ud("ag-root","ag-unselectable",I)),[I]),$=t.useMemo((()=>Ud("ag-body-viewport",o,I,D,A)),[o,I,D,A]),j=t.useMemo((()=>Ud("ag-body",I)),[I]),q=t.useMemo((()=>Ud("ag-floating-top",A)),[A]),Q=t.useMemo((()=>Ud("ag-sticky-top",A)),[A]),Y=t.useMemo((()=>Ud("ag-sticky-bottom","0px"===v?"ag-hidden":null,A)),[A,v]),X=t.useMemo((()=>Ud("ag-floating-bottom",A)),[A]),J=t.useMemo((()=>({height:r,minHeight:r,display:b,overflowY:M})),[r,b,M]),Z=t.useMemo((()=>({height:h,top:c,width:p})),[h,c,p]),ee=t.useMemo((()=>({height:v,bottom:f,width:S})),[v,f,S]),te=t.useMemo((()=>({height:a,minHeight:a,display:F,overflowY:M})),[a,F,M]),ie=e=>i.createElement(Lh,{name:e,key:`${e}-container`}),se=({section:e,children:t,className:s,style:o})=>i.createElement("div",{ref:e,className:s,role:"presentation",style:o},t.map(ie));return i.createElement("div",{ref:K,className:_,role:"treegrid"},i.createElement(Ph,null),se({section:G,className:q,style:J,children:["topLeft","topCenter","topRight","topFullWidth"]}),i.createElement("div",{className:j,ref:B,role:"presentation"},se({section:V,className:$,children:["left","center","right","fullWidth"]})),se({section:N,className:Q,style:Z,children:["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"]}),se({section:H,className:Y,style:ee,children:["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"]}),se({section:W,className:X,style:te,children:["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"]}))})),Oh=t.forwardRef(((e,s)=>{const{children:o,eFocusableElement:n,onTabKeyDown:r,gridCtrl:l,forceFocusOutWhenTabGuardsAreEmpty:a}=e,{context:d}=t.useContext(Vd),h=t.useRef(null),u=t.useRef(null),c=t.useRef(),g=e=>{const t=null==e?void 0:parseInt(e,10).toString();[h,u].forEach((e=>{var i,s;void 0===t?null==(i=e.current)||i.removeAttribute("tabindex"):null==(s=e.current)||s.setAttribute("tabindex",t)}))};t.useImperativeHandle(s,(()=>({forceFocusOutOfContainer(e){var t;null==(t=c.current)||t.forceFocusOutOfContainer(e)}})));const p=t.useCallback((()=>{const e=h.current,t=u.current;if(e||t){if(e&&t){const i={setTabIndex:g};c.current=d.createBean(new Ml({comp:i,eTopGuard:e,eBottomGuard:t,eFocusableElement:n,onTabKeyDown:r,forceFocusOutWhenTabGuardsAreEmpty:a,focusInnerElement:e=>l.focusInnerElement(e)}))}}else c.current=d.destroyBean(c.current)}),[]),m=t.useCallback((e=>{h.current=e,p()}),[p]),v=t.useCallback((e=>{u.current=e,p()}),[p]),C=e=>{const t="top"===e?El.TAB_GUARD_TOP:El.TAB_GUARD_BOTTOM;return i.createElement("div",{className:`${El.TAB_GUARD} ${t}`,role:"presentation",ref:"top"===e?m:v})};return i.createElement(i.Fragment,null,C("top"),o,C("bottom"))})),Gh=t.memo(Oh),Nh=t.memo((({context:e})=>{const[s,o]=t.useState(""),[n,r]=t.useState(""),[l,a]=t.useState(""),[d,h]=t.useState(null),[u,c]=t.useState(null),[g,p]=t.useState(!1),[m,v]=t.useState(),C=t.useRef(),f=t.useRef(null),w=t.useRef(),[S,y]=t.useState(null),b=t.useRef((()=>{})),R=t.useRef(),F=t.useRef([]),P=t.useCallback((()=>{}),[]),D=t.useMemo((()=>e.isDestroyed()?null:e.getBeans()),[e]);Dh(" AG Grid ",f);const E=t.useCallback((t=>{if(f.current=t,C.current=t?e.createBean(new pa):e.destroyBean(C.current),!t||e.isDestroyed())return;const i=C.current;b.current=i.focusInnerElement.bind(i);const s={destroyGridUi:()=>{},setRtlClass:o,setGridThemeClass:r,forceFocusOutOfContainer:e=>{var t,i;e||!(null==(t=R.current)?void 0:t.isDisplayed())?null==(i=w.current)||i.forceFocusOutOfContainer(e):R.current.forceFocusOutOfContainer(e)},updateLayoutClasses:a,getFocusableContainers:()=>{var e;const t=[],i=null==(e=f.current)?void 0:e.querySelector(".ag-root");return i&&t.push({getGui:()=>i}),F.current.forEach((e=>{e.isDisplayed()&&t.push(e)})),t},setCursor:h,setUserSelect:c};i.setComp(s,t,t),p(!0)}),[]);t.useEffect((()=>{const t=C.current,i=f.current;if(!(m&&D&&t&&S&&i))return;const s=[],{watermarkSelector:o,paginationSelector:n,sideBarSelector:r,statusBarSelector:l,gridHeaderDropZonesSelector:a}=t.getOptionalSelectors(),d=[];if(a){const t=e.createBean(new a.component),o=t.getGui();i.insertAdjacentElement("afterbegin",o),d.push(o),s.push(t)}if(r){const t=e.createBean(new r.component),i=t.getGui(),o=S.querySelector(".ag-tab-guard-bottom");o&&(o.insertAdjacentElement("beforebegin",i),d.push(i)),s.push(t),F.current.push(t)}const h=t=>{const o=e.createBean(new t),n=o.getGui();return i.insertAdjacentElement("beforeend",n),d.push(n),s.push(o),o};if(l&&h(l.component),n){const e=h(n.component);R.current=e,F.current.push(e)}return o&&h(o.component),()=>{e.destroyBeans(s),d.forEach((e=>{var t;null==(t=e.parentElement)||t.removeChild(e)}))}}),[m,S,D]);const M=t.useMemo((()=>Ud("ag-root-wrapper",s,n,l)),[s,n,l]),x=t.useMemo((()=>Ud("ag-root-wrapper-body","ag-focus-managed",l)),[l]),A=t.useMemo((()=>({userSelect:null!=u?u:"",WebkitUserSelect:null!=u?u:"",cursor:null!=d?d:""})),[u,d]),T=t.useCallback((e=>{w.current=e,v(null!==e)}),[]);return i.createElement("div",{ref:E,className:M,style:A,role:"presentation"},i.createElement("div",{className:x,ref:y,role:"presentation"},g&&S&&D&&i.createElement(Vd.Provider,{value:D},i.createElement(Gh,{ref:T,eFocusableElement:S,onTabKeyDown:P,gridCtrl:C.current,forceFocusOutWhenTabGuardsAreEmpty:!0},i.createElement(kh,null)))))})),Hh=class extends Oe{wireBeans(e){this.ctrlsService=e.ctrlsService}areHeaderCellsRendered(){return this.ctrlsService.getHeaderRowContainerCtrls().every((e=>e.getAllCtrls().every((e=>e.areCellsRendered()))))}},Bh=e=>{var s;const o=t.useRef(),n=t.useRef(null),r=t.useRef(null),l=t.useRef([]),a=t.useRef([]),d=t.useRef(e),h=t.useRef(),u=t.useRef(),c=t.useRef(!1),[g,p]=t.useState(void 0),[,m]=t.useState(0),v=t.useCallback((t=>{if(n.current=t,!t)return l.current.forEach((e=>e())),void(l.current.length=0);const i=e.modules||[];r.current||(r.current=new wh((()=>m((e=>e+1))),e.componentWrappingElement,e.maxComponentCreationTimeMs),l.current.push((()=>{var e;null==(e=r.current)||e.destroy(),r.current=null})));const s=function(e,t){"object"!=typeof e&&(e={});const i={...e};return Vt.ALL_PROPERTIES_AND_CALLBACKS.forEach((e=>{const s=t[e];void 0!==s&&s!==Vt.VUE_OMITTED_PROPERTY&&(i[e]=s)})),i}(e.gridOptions,e),d=new zh((()=>{if(c.current){const e=()=>{var e;return(null==(e=h.current)?void 0:e.shouldQueueUpdates())?void 0:a.current.shift()};let t=e();for(;t;)t(),t=e()}}));h.current=d;const g=new Hh,v={providedBeanInstances:{frameworkComponentWrapper:new Vh(r.current,s.reactiveCustomComponents??vd("reactiveCustomComponents")??!0),renderStatusService:g},modules:i,frameworkOverrides:d},C=new fd;s.gridId??(s.gridId=u.current),o.current=C.create(t,s,(t=>{p(t),t.createBean(g),l.current.push((()=>{t.destroy()})),t.getBean("ctrlsService").whenReady({addDestroyFunc:e=>{l.current.push(e)}},(()=>{var i;if(t.isDestroyed())return;const s=o.current;s&&(null==(i=e.setGridApi)||i.call(e,s))}))}),(e=>{e.getBean("ctrlsService").whenReady({addDestroyFunc:e=>{l.current.push(e)}},(()=>{a.current.forEach((e=>e())),a.current.length=0,c.current=!0}))}),v),l.current.push((()=>{o.current=void 0})),o.current&&(u.current=o.current.getGridId())}),[]),C=t.useMemo((()=>({height:"100%",...e.containerStyle||{}})),[e.containerStyle]),f=t.useCallback((e=>{var t;c.current&&!(null==(t=h.current)?void 0:t.shouldQueueUpdates())?e():a.current.push(e)}),[]);return t.useEffect((()=>{const t=function(e,t){const i={};return Object.keys(t).forEach((s=>{const o=t[s];e[s]!==o&&(i[s]=o)})),i}(d.current,e);d.current=e,f((()=>{o.current&&function(e,t){if(!e)return;const i={};let s=!1;if(Object.keys(e).filter((e=>Vt.ALL_PROPERTIES_AND_CALLBACKS_SET.has(e))).forEach((t=>{i[t]=e[t],s=!0})),!s)return;const o={type:"gridOptionsChanged",options:i};t.dispatchEvent(o);const n={type:"componentStateChanged"};Qe(i,((e,t)=>{n[e]=t})),t.dispatchEvent(n)}(t,o.current)}))}),[e]),i.createElement("div",{style:C,className:e.className,ref:v},g&&!g.isDestroyed()?i.createElement(Nh,{context:g}):null,(null==(s=r.current)?void 0:s.getPortals())??null)};var Vh=class extends bd{constructor(e,t){super(),this.parent=e,this.reactiveCustomComponents=t}createWrapper(e,t){if(this.reactiveCustomComponents){const i=(e=>{switch(e){case"filter":return dh;case"floatingFilterComponent":return ch;case"dateComponent":return lh;case"dragAndDropImageComponent":return ah;case"loadingOverlayComponent":return gh;case"noRowsOverlayComponent":return mh;case"statusPanel":return vh;case"toolPanel":return Ch;case"menuItem":return ph;case"cellRenderer":return rh}})(t.propertyName);if(i)return new i(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":fh()}const i=!t.cellRenderer&&"toolPanel"!==t.propertyName;return new sh(e,this.parent,t,i)}},Wh=t.forwardRef(((e,s)=>{const{ctrlsFactory:o,context:n,gos:r,resizeObserverService:l,rowModel:a}=t.useContext(Vd),[d,h]=t.useState((()=>new Kd)),[u,c]=t.useState((()=>new Kd)),[g,p]=t.useState(),[v,C]=t.useState(),f=t.useRef(),w=t.useRef(null),S=t.useRef(),y=t.useMemo((()=>to.__getGridRegisteredModules(e.api.getGridId())),[e]),b=t.useMemo((()=>d.toString()+" ag-details-row"),[d]),R=t.useMemo((()=>u.toString()+" ag-details-grid"),[u]);s&&t.useImperativeHandle(s,(()=>({refresh(){var e;return(null==(e=f.current)?void 0:e.refresh())??!1}}))),e.template&&m("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=t.useCallback((t=>{var i;if(w.current=t,!t)return f.current=n.destroyBean(f.current),void(null==(i=S.current)||i.call(S));const s={addOrRemoveCssClass:(e,t)=>h((i=>i.setClass(e,t))),addOrRemoveDetailGridCssClass:(e,t)=>c((i=>i.setClass(e,t))),setDetailGrid:e=>p(e),setRowData:e=>C(e),getGui:()=>w.current},d=o.getInstance("detailCellRenderer");if(d&&(n.createBean(d),d.init(s,e),f.current=d,r.get("detailRowAutoHeight"))){const i=()=>{if(null==w.current)return;const t=w.current.clientHeight;if(null!=t&&t>0){setTimeout((()=>{e.node.setRowHeight(t),(G(r)||N(r))&&a.onRowHeightChanged()}),0)}};S.current=l.observeResize(t,i),i()}}),[]),P=t.useCallback((e=>{var t;null==(t=f.current)||t.registerDetailWithMaster(e)}),[]);return i.createElement("div",{className:b,ref:F},g&&i.createElement(Bh,{className:R,...g,modules:y,rowData:v,setGridApi:P}))})),zh=class extends kl{constructor(e){super("react"),this.processQueuedUpdates=e,this.queueUpdates=!1,this.frameworkComponents={agGroupCellRenderer:Jd,agGroupRowRenderer:Jd,agDetailCellRenderer:Wh},this.wrapIncoming=(e,t)=>{return"ensureVisible"===t?(i=e,qd||setTimeout((()=>qd=!1),0),qd=!0,i()):e();var i},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"19"===$d}},Uh=class extends t.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 i.createElement(Bh,{...this.props,setGridApi:this.setGridApi})}};function Kh(e){switch(e){case"string":default:return"agTextCellEditor";case"number":return"agNumberCellEditor";case"boolean":return"agCheckboxCellEditor"}}const _h=({data:e,edits:i,pagination:s,pageSize:o,fieldTypes:h,onAddEdits:u,onAddRows:c,columnSizingMode:g})=>{const{theme:p}=n(),m=t.useRef(null),v=t.useMemo((()=>h?h.map((([e])=>e)):function(e){return 0===e.length?[]:Object.keys(e[0])}(e)),[e,h]),C=t.useMemo((()=>{for(const t of i)if(t.rowIdx>=e.length){const i={[t.columnId]:t.value};e.push(i)}else{e[t.rowIdx][t.columnId]=t.value}return e}),[e,i]),f=t.useMemo((()=>{const e=[];for(const t of v)e.push({field:t,editable:!0,sortable:!1,filter:!1,cellEditorSelector:e=>{var t,i;const s=e.column.getColId(),o=(null==(i=null==(t=null==h?void 0:h.find((([e])=>e===s)))?void 0:t[1])?void 0:i[0])||"string";return"string"==typeof e.value&&e.value.length>60?{component:"agLargeTextCellEditor",popup:!0}:{component:Kh(o)}}});return e}),[v,h]),w=t.useMemo((()=>({sortable:!0,filter:!0,minWidth:100})),[]),S=t.useCallback((()=>{var e;const t=null==(e=m.current)?void 0:e.api;t&&("fit"===g?t.sizeColumnsToFit():"auto"===g&&t.autoSizeAllColumns())}),[g]),y=t.useCallback((e=>{S()}),[S]);t.useEffect((()=>{S()}),[g,S]);const b=t.useCallback((e=>{if(!e.valueChanged||null===e.rowIndex)return;const t={rowIdx:e.rowIndex,columnId:e.column.getColId(),value:e.newValue};u([t])}),[u]),R=e.length,F=s&&R>o,P=t.useCallback((()=>{var e;const t=Object.fromEntries(v.map((e=>{var t,i;switch((null==(i=null==(t=null==h?void 0:h.find((([t])=>t===e)))?void 0:t[1])?void 0:i[0])||"string"){case"boolean":return[e,!1];case"integer":case"number":return[e,0];case"date":return[e,new Date];default:return[e,""]}})));c([t]);const i={add:[t],addIndex:C.length};null==(e=m.current)||e.api.applyTransaction(i)}),[h,c,v,C]);return r.jsxs("div",{className:l("dark"===p?"ag-theme-quartz-dark":"ag-theme-quartz","ag-theme-marimo flex h-[400px] flex-col","relative"),children:[r.jsx(Uh,{ref:m,rowData:C,columnDefs:f,defaultColDef:w,cellSelection:!0,pagination:F,paginationPageSize:o,onGridReady:y,undoRedoCellEditing:!0,stopEditingWhenCellsLoseFocus:!0,onCellEditingStopped:b,animateRows:!1,singleClickEdit:!0,suppressFieldDotNotation:!0,headerHeight:40,rowHeight:35}),r.jsx("div",{className:"p-2 border-t flex justify-end",children:r.jsxs(a,{variant:"text",size:"xs",onClick:P,children:[r.jsx(d,{className:"w-3 h-3 mr-1"}),"Add Row"]})})]})};export{_h as default};
|