Files
sigpro-grid/dist/sigpro-grid.min.js
2026-04-30 14:39:40 +02:00

71 lines
1.3 MiB
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(()=>{var{defineProperty:V2,getOwnPropertyNames:S4,getOwnPropertyDescriptor:O4}=Object,P4=Object.prototype.hasOwnProperty;function T4(Q){return this[Q]}var v4=(Q)=>{var z=(_7??=new WeakMap).get(Q),J;if(z)return z;if(z=V2({},"__esModule",{value:!0}),Q&&typeof Q==="object"||typeof Q==="function"){for(var Z of S4(Q))if(!P4.call(z,Z))V2(z,Z,{get:T4.bind(Q,Z),enumerable:!(J=O4(Q,Z))||J.enumerable})}return _7.set(Q,z),z},_7;var I4=(Q)=>Q;function C4(Q,z){this[Q]=I4.bind(null,z)}var b4=(Q,z)=>{for(var J in z)V2(Q,J,{get:z[J],enumerable:!0,configurable:!0,set:C4.bind(z,J)})};var jO={};b4(jO,{themeQuartz:()=>V6,iconSetQuartzLight:()=>g$,createGrid:()=>MJ,ModuleRegistry:()=>N5,Grid:()=>R4});function b(Q){if(!Q?.length)return;return Q[Q.length-1]}function X0(Q,z,J){if(Q===z)return!0;if(!Q||!z)return Q==null&&z==null;let Z=Q.length;if(Z!==z.length)return!1;for(let $=0;$<Z;$++)if(Q[$]!==z[$]&&!J?.(Q[$],z[$]))return!1;return!0}function I1(Q,z){if(!Q)return;for(let J of Q)if(z(J))return!0}function $0(Q,z){let J=Q.indexOf(z);if(J>=0)Q.splice(J,1)}function JJ(Q,z){let J=0,Z=0;for(;J<Q.length;J++)if(!z.includes(Q[J]))Q[Z]=Q[J],Z++;while(Z<Q.length)Q.pop()}function U7(Q,z,J){for(let Z=0;Z<z.length;Z++)$0(Q,z[Z]);for(let Z=z.length-1;Z>=0;Z--)Q.splice(J,0,z[Z])}var RQ=(Q)=>{if(Q==null||Q==="")return null;return Q};function T(Q){return Q!=null&&Q!==""}function n(Q){return!T(Q)}var c1=(Q)=>{return Q!=null&&typeof Q.toString==="function"?Q.toString():null},DZ=(Q,z)=>{let J=Q?JSON.stringify(Q):null,Z=z?JSON.stringify(z):null;return J===Z},y4=(Q,z,J=!1)=>{if(Q==null)return z==null?0:-1;if(z==null)return 1;if(typeof Q==="object"&&Q.toNumber)Q=Q.toNumber();if(typeof z==="object"&&z.toNumber)z=z.toNumber();if(!J||typeof Q!=="string"){if(Q>z)return 1;if(Q<z)return-1;return 0}return Q.localeCompare(z)},KQ=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(Q){this.frameworkOverrides=Q}getListeners(Q,z,J){let Z=z?this.allAsyncListeners:this.allSyncListeners,$=Z.get(Q);if(!$&&J)$=new Set,Z.set(Q,$);return $}noRegisteredListenersExist(){return this.allSyncListeners.size===0&&this.allAsyncListeners.size===0&&this.globalSyncListeners.size===0&&this.globalAsyncListeners.size===0}addEventListener(Q,z,J=!1){this.getListeners(Q,J,!0).add(z)}removeEventListener(Q,z,J=!1){let Z=this.getListeners(Q,J,!1);if(!Z)return;if(Z.delete(z),Z.size===0)(J?this.allAsyncListeners:this.allSyncListeners).delete(Q)}addGlobalListener(Q,z=!1){this.getGlobalListeners(z).add(Q)}removeGlobalListener(Q,z=!1){this.getGlobalListeners(z).delete(Q)}dispatchEvent(Q){this.dispatchToListeners(Q,!0),this.dispatchToListeners(Q,!1),this.firedEvents[Q.type]=!0}dispatchEventOnce(Q){if(!this.firedEvents[Q.type])this.dispatchEvent(Q)}dispatchToListeners(Q,z){let J=Q.type;if(z&&"event"in Q){let G=Q.event;if(G instanceof Event)Q.eventPath=G.composedPath()}let{frameworkOverrides:Z}=this,$=(G)=>{let q=Z?()=>Z.wrapIncoming(G):G;if(z)this.dispatchAsync(q);else q()},X=this.getListeners(J,z,!1);if((X?.size??0)>0){let G=new Set(X);for(let q of G){if(!X?.has(q))continue;$(()=>q(Q))}}let Y=this.getGlobalListeners(z);if(Y.size>0){let G=new Set(Y);for(let q of G)$(()=>q(J,Q))}}getGlobalListeners(Q){return Q?this.globalAsyncListeners:this.globalSyncListeners}dispatchAsync(Q){if(this.asyncFunctionsQueue.push(Q),!this.scheduled){let z=()=>{window.setTimeout(this.flushAsyncQueue.bind(this),0)},J=this.frameworkOverrides;if(J)J.wrapIncoming(z);else z();this.scheduled=!0}}flushAsyncQueue(){this.scheduled=!1;let Q=this.asyncFunctionsQueue.slice();this.asyncFunctionsQueue=[];for(let z of Q)z()}},x4=/[&<>"']/g,w4={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function ZJ(Q){return Q?.toString().toString()??null}function W0(Q){return ZJ(Q)?.replace(x4,(z)=>w4[z])??null}function oJ(Q){return typeof Q==="string"&&Q.startsWith("=")&&Q.length>1}function N4(Q){if(!Q||Q==null)return null;let z=/([a-z])([A-Z])/g,J=/([A-Z]+)([A-Z])([a-z])/g;return Q.replace(z,"$1 $2").replace(J,"$1 $2$3").replace(/\./g," ").split(" ").map(($)=>$.substring(0,1).toUpperCase()+($.length>1?$.substring(1,$.length):"")).join(" ")}function s0(Q){return Q.eRootDiv.getRootNode()}function d(Q){return s0(Q).activeElement}function Y0(Q){let{gos:z,eRootDiv:J}=Q,Z=null,$=z.get("getDocument");if($&&T($))Z=$();else if(J)Z=J.ownerDocument;if(Z&&T(Z))return Z;return document}function hz(Q){let z=d(Q);return z===null||z===Y0(Q).body}function j5(Q){return Y0(Q).defaultView||window}function D1(Q){let z=null,J=null;try{z=Y0(Q).fullscreenElement}catch(Z){}finally{if(!z)z=s0(Q);let Z=z.querySelector("body");if(Z)J=Z;else if(z instanceof ShadowRoot)J=z;else if(z instanceof Document)J=z?.documentElement;else J=z}return J}function g4(Q){return D1(Q)?.clientWidth??(window.innerWidth||-1)}function h4(Q){return D1(Q)?.clientHeight??(window.innerHeight||-1)}function c0(Q,z,J){if(J==null||typeof J==="string"&&J=="")R5(Q,z);else XQ(Q,z,J)}function XQ(Q,z,J){Q.setAttribute(A8(z),J.toString())}function R5(Q,z){Q.removeAttribute(A8(z))}function A8(Q){return`aria-${Q}`}function H0(Q,z){if(z)Q.setAttribute("role",z);else Q.removeAttribute("role")}function u4(Q){let z=Q?.direction;if(z==="asc")return"ascending";else if(z==="desc")return"descending";else if(z==="mixed")return"other";return"none"}function j8(Q){return Number.parseInt(Q.getAttribute("aria-posinset"),10)}function m4(Q){return Q.getAttribute("aria-label")}function E0(Q,z){c0(Q,"label",z)}function p1(Q,z){c0(Q,"labelledby",z)}function MZ(Q,z){c0(Q,"describedby",z)}function R8(Q,z){c0(Q,"live",z)}function c4(Q,z){c0(Q,"atomic",z)}function p4(Q,z){c0(Q,"relevant",z)}function S8(Q,z){c0(Q,"invalid",z)}function O8(Q,z){c0(Q,"level",z)}function P8(Q,z){c0(Q,"disabled",z)}function kZ(Q,z){c0(Q,"hidden",z)}function w0(Q,z){XQ(Q,"expanded",z)}function T8(Q){R5(Q,"expanded")}function VZ(Q,z){XQ(Q,"setsize",z)}function fZ(Q,z){XQ(Q,"posinset",z)}function i4(Q,z){XQ(Q,"multiselectable",z)}function n4(Q,z){XQ(Q,"rowcount",z)}function eJ(Q,z){XQ(Q,"rowindex",z)}function d4(Q,z){XQ(Q,"colcount",z)}function v8(Q,z){XQ(Q,"colindex",z)}function t4(Q,z){XQ(Q,"colspan",z)}function r4(Q,z){XQ(Q,"sort",z)}function s4(Q){R5(Q,"sort")}function S5(Q,z){c0(Q,"selected",z)}function I8(Q,z){XQ(Q,"checked",z===void 0?"mixed":z)}function l4(Q,z){c0(Q,"controls",z)}function C8(Q,z){l4(Q,z.id),p1(z,Q.id)}function W7(Q,z){c0(Q,"owns",z)}function b8(Q,z){c0(Q,"haspopup",z===!1?null:z)}function O5(Q,z){return z===void 0?Q("ariaIndeterminate","indeterminate"):z===!0?Q("ariaChecked","checked"):Q("ariaUnchecked","unchecked")}function P5(Q,z,J){let Z=Q.parentElement,$=Z&&Z.firstChild;while($){if(z)$.classList.toggle(z,$===Q);if(J)$.classList.toggle(J,$!==Q);$=$.nextSibling}}var a4="[tabindex], input, select, button, textarea, [href]",y8="[disabled], .ag-disabled:not(.ag-button), .ag-disabled *";function w1(Q){if(!Q)return!1;if(!Q.matches("input, select, button, textarea"))return!1;if(!Q.matches(y8))return!1;return f0(Q)}function N(Q,z,J={}){let{skipAriaHidden:Z}=J;if(Q.classList.toggle("ag-hidden",!z),!Z)kZ(Q,!z)}function o4(Q,z,J={}){let{skipAriaHidden:Z}=J;if(Q.classList.toggle("ag-invisible",!z),!Z)kZ(Q,!z)}function T5(Q,z){let Z=z?(X)=>X.setAttribute("disabled",""):(X)=>X.removeAttribute("disabled");Z(Q);let $=Q.querySelectorAll("input")??[];for(let X of $)Z(X)}function vz(Q,z,J){let Z=0;while(Q){if(Q.classList.contains(z))return!0;if(Q=Q.parentElement,typeof J=="number"){if(++Z>J)break}else if(Q===J)break}return!1}function M1(Q){let{height:z,width:J,borderTopWidth:Z,borderRightWidth:$,borderBottomWidth:X,borderLeftWidth:Y,paddingTop:G,paddingRight:q,paddingBottom:H,paddingLeft:_,marginTop:U,marginRight:W,marginBottom:B,marginLeft:E,boxSizing:K}=window.getComputedStyle(Q),L=Number.parseFloat;return{height:L(z||"0"),width:L(J||"0"),borderTopWidth:L(Z||"0"),borderRightWidth:L($||"0"),borderBottomWidth:L(X||"0"),borderLeftWidth:L(Y||"0"),paddingTop:L(G||"0"),paddingRight:L(q||"0"),paddingBottom:L(H||"0"),paddingLeft:L(_||"0"),marginTop:L(U||"0"),marginRight:L(W||"0"),marginBottom:L(B||"0"),marginLeft:L(E||"0"),boxSizing:K}}function AZ(Q){let z=M1(Q);if(z.boxSizing==="border-box")return z.height-z.paddingTop-z.paddingBottom-z.borderTopWidth-z.borderBottomWidth;return z.height}function xz(Q){let z=M1(Q);if(z.boxSizing==="border-box")return z.width-z.paddingLeft-z.paddingRight-z.borderLeftWidth-z.borderRightWidth;return z.width}function x8(Q){let{height:z,marginBottom:J,marginTop:Z}=M1(Q);return Math.floor(z+J+Z)}function w8(Q){let{width:z,marginLeft:J,marginRight:Z}=M1(Q);return Math.floor(z+J+Z)}function N8(Q){let z=Q.getBoundingClientRect(),{borderTopWidth:J,borderLeftWidth:Z,borderRightWidth:$,borderBottomWidth:X}=M1(Q);return{top:z.top+(J||0),left:z.left+(Z||0),right:z.right+($||0),bottom:z.bottom+(X||0)}}function QZ(Q,z){let J=Q.scrollLeft;if(z)J=Math.abs(J);return J}function zZ(Q,z,J){if(J)z*=-1;Q.scrollLeft=z}function z0(Q){while(Q?.firstChild)Q.firstChild.remove()}function T0(Q){if(Q?.parentNode)Q.remove()}function g8(Q){return!!Q.offsetParent}function f0(Q){if(Q.checkVisibility)return Q.checkVisibility({checkVisibilityCSS:!0});return!(!g8(Q)||window.getComputedStyle(Q).visibility!=="visible")}function v5(Q){let z=document.createElement("div");return z.innerHTML=(Q||"").trim(),z.firstChild}function h8(Q,z,J){if(J&&J.nextSibling===z)return;if(!Q.firstChild)Q.appendChild(z);else if(J)if(J.nextSibling)Q.insertBefore(z,J.nextSibling);else Q.appendChild(z);else if(Q.firstChild&&Q.firstChild!==z)Q.prepend(z)}function u8(Q,z){for(let J=0;J<z.length;J++){let Z=z[J],$=Q.children[J];if($!==Z)Q.insertBefore(Z,$)}}function e4(Q){return Q.replace(/[A-Z]/g,(z)=>`-${z.toLocaleLowerCase()}`)}function $J(Q,z){if(!z)return;for(let J of Object.keys(z)){let Z=z[J];if(!J?.length||Z==null)continue;let $=e4(J),X=Z.toString(),Y=X.replace(/\s*!important/g,""),G=Y.length!=X.length?"important":void 0;Q.style.setProperty($,Y,G)}}function i1(Q){return()=>{let z=Q();if(!z)return!0;return QG(z)||zG(z)}}function QG(Q){return Q.clientWidth<Q.scrollWidth}function zG(Q){return Q.clientHeight<Q.scrollHeight}function m8(Q,z){if(z==="flex")Q.style.removeProperty("width"),Q.style.removeProperty("minWidth"),Q.style.removeProperty("maxWidth"),Q.style.flex="1 1 auto";else SQ(Q,z)}function SQ(Q,z){z=c8(z),Q.style.width=z,Q.style.maxWidth=z,Q.style.minWidth=z}function N1(Q,z){z=c8(z),Q.style.height=z,Q.style.maxHeight=z,Q.style.minHeight=z}function c8(Q){return typeof Q==="number"?`${Q}px`:Q}function XJ(Q){return Q instanceof Node||Q instanceof HTMLElement}function Pz(Q,z,J){if(J==null||J==="")Q.removeAttribute(z);else Q.setAttribute(z,J.toString())}function JG(Q,z){if(!z.isContentEditable)return;let J=j5(Q).getSelection();if(!J)return;let Z=Y0(Q).createRange();Z.selectNodeContents(z),Z.collapse(!1),J.removeAllRanges(),J.addRange(Z)}function DQ(Q,z,J){let $=j5(Q).ResizeObserver,X=$?new $(J):null;return X?.observe(z),()=>X?.disconnect()}function YQ(Q,z){let J=j5(Q);if(J.requestAnimationFrame)J.requestAnimationFrame(z);else if(J.webkitRequestAnimationFrame)J.webkitRequestAnimationFrame(z);else J.setTimeout(z,0)}var p8="data-ref",f2;function B7(){return f2??(f2=document.createTextNode(" ")),f2.cloneNode()}function K0(Q){let{attrs:z,children:J,cls:Z,ref:$,role:X,tag:Y}=Q,G=document.createElement(Y);if(Z)G.className=Z;if($)G.setAttribute(p8,$);if(X)G.setAttribute("role",X);if(z)for(let q of Object.keys(z))G.setAttribute(q,z[q]);if(J)if(typeof J==="string")G.textContent=J;else{let q=!0;for(let H of J)if(H)if(typeof H==="string")G.appendChild(document.createTextNode(H)),q=!1;else if(typeof H==="function")G.appendChild(H());else{if(q)G.appendChild(B7()),q=!1;G.append(K0(H)),G.appendChild(B7())}}return G}var ZG=["touchstart","touchend","touchmove","touchcancel","scroll"],$G=["wheel"],A2={},a2=(()=>{let Q={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return(J)=>{if(typeof A2[J]==="boolean")return A2[J];let Z=document.createElement(Q[J]||"div");return J="on"+J,A2[J]=J in Z}})();function jZ(Q,z){if(!z||!Q)return!1;return YG(z).indexOf(Q)>=0}function XG(Q){let z=[],J=Q.target;while(J)z.push(J),J=J.parentElement;return z}function YG(Q){let z=Q;if(z.path)return z.path;if(z.composedPath)return z.composedPath();return XG(z)}function GG(Q,z,J){let Z=qG(z),$;if(Z!=null)$={passive:Z};Q.addEventListener(z,J,$)}var qG=(Q)=>{let z=ZG.includes(Q),J=$G.includes(Q);if(z)return!0;if(J)return!1};function i8(Q,z,J){if(J===0)return!1;let Z=Math.abs(Q.clientX-z.clientX),$=Math.abs(Q.clientY-z.clientY);return Math.max(Z,$)<=J}var G1=(Q,z)=>{let J=Q.identifier;for(let Z=0,$=z.length;Z<$;++Z){let X=z[Z];if(X.identifier===J)return X}return null};function n1(Q,z){return Q.gos.isElementInThisInstance(z.target)}function HG(Q,z,J){let $=Q.getBoundingClientRect().height,X=g4(J)-2,Y=h4(J)-2;if(!Q.offsetParent)return;let q=N8(Q.offsetParent),{clientY:H,clientX:_}=z,U=H-q.top-$/2,W=_-q.left-10,B=Y0(J),E=B.defaultView||window,K=E.pageYOffset||B.documentElement.scrollTop,L=E.pageXOffset||B.documentElement.scrollLeft;if(X>0&&W+Q.clientWidth>X+L)W=X+L-Q.clientWidth;if(W<0)W=0;if(Y>0&&U+Q.clientHeight>Y+K)U=Y+K-Q.clientHeight;if(U<0)U=0;Q.style.left=`${W}px`,Q.style.top=`${U}px`}var pJ=(Q,...z)=>{for(let J of z){let[Z,$,X,Y]=J;Z.addEventListener($,X,Y),Q.push(J)}},I5=(Q)=>{if(Q){for(let[z,J,Z,$]of Q)z.removeEventListener(J,Z,$);Q.length=0}},J1=(Q)=>{if(Q.cancelable)Q.preventDefault()};function _G(Q,z){return z}function n8(Q){return Q?.getLocaleTextFunc()??_G}function UG(Q,z,J,Z){let $=z[J];return Q.getLocaleTextFunc()(J,typeof $==="function"?$(Z):$,Z)}var j0=class{constructor(){this.destroyFunctions=[],this.destroyed=!1,this.__v_skip=!0,this.propertyListenerId=0,this.lastChangeSetIdLookup={},this.isAlive=()=>!this.destroyed}preWireBeans(Q){this.beans=Q,this.stubContext=Q.context,this.eventSvc=Q.eventSvc,this.gos=Q.gos}destroy(){let{destroyFunctions:Q}=this;for(let z=0;z<Q.length;z++)Q[z]();Q.length=0,this.destroyed=!0,this.dispatchLocalEvent({type:"destroyed"})}addEventListener(Q,z,J){if(!this.localEventService)this.localEventService=new KQ;this.localEventService.addEventListener(Q,z,J)}removeEventListener(Q,z,J){this.localEventService?.removeEventListener(Q,z,J)}dispatchLocalEvent(Q){this.localEventService?.dispatchEvent(Q)}addManagedElementListeners(Q,z){return this._setupListeners(Q,z)}addManagedEventListeners(Q){return this._setupListeners(this.eventSvc,Q)}addManagedListeners(Q,z){return this._setupListeners(Q,z)}_setupListeners(Q,z){let J=[];for(let Z of Object.keys(z)){let $=z[Z];if($)J.push(this._setupListener(Q,Z,$))}return J}_setupListener(Q,z,J){if(this.destroyed)return()=>null;let Z;if(WG(Q))Q.__addEventListener(z,J),Z=()=>{return Q.__removeEventListener(z,J),null};else{let $=BG(Q);if(Q instanceof HTMLElement)GG(Q,z,J);else if($)Q.addListener(z,J);else Q.addEventListener(z,J);Z=$?()=>{return Q.removeListener(z,J),null}:()=>{return Q.removeEventListener(z,J),null}}return this.destroyFunctions.push(Z),()=>{return Z(),this.destroyFunctions=this.destroyFunctions.filter(($)=>$!==Z),null}}setupPropertyListener(Q,z){let{gos:J}=this;J.addPropertyEventListener(Q,z);let Z=()=>{return J.removePropertyEventListener(Q,z),null};return this.destroyFunctions.push(Z),()=>{return Z(),this.destroyFunctions=this.destroyFunctions.filter(($)=>$!==Z),null}}addManagedPropertyListener(Q,z){if(this.destroyed)return()=>null;return this.setupPropertyListener(Q,z)}addManagedPropertyListeners(Q,z){if(this.destroyed)return;let J=Q.join("-")+this.propertyListenerId++,Z=($)=>{if($.changeSet){if($.changeSet&&$.changeSet.id===this.lastChangeSetIdLookup[J])return;this.lastChangeSetIdLookup[J]=$.changeSet.id}let X={type:"propertyChanged",changeSet:$.changeSet,source:$.source};z(X)};for(let $ of Q)this.setupPropertyListener($,Z)}getLocaleTextFunc(){return n8(this.beans.localeSvc)}addDestroyFunc(Q){if(this.isAlive())this.destroyFunctions.push(Q);else Q()}createOptionalManagedBean(Q,z){return Q?this.createManagedBean(Q,z):void 0}createManagedBean(Q,z){let J=this.createBean(Q,z);return this.addDestroyFunc(this.destroyBean.bind(this,Q,z)),J}createBean(Q,z,J){return(z||this.stubContext).createBean(Q,J)}destroyBean(Q,z){return(z||this.stubContext).destroyBean(Q)}destroyBeans(Q,z){return(z||this.stubContext).destroyBeans(Q)}};function WG(Q){return Q.__addEventListener!==void 0}function BG(Q){return Q.eventServiceType==="global"}var j=class extends j0{},o2=new Set,RZ=(Q,z)=>{if(!o2.has(z))o2.add(z),Q()};RZ._set=o2;var EG={pending:!1,funcs:[]},KG={pending:!1,funcs:[]};function e2(Q,z="setTimeout",J){let Z=z==="raf"?KG:EG;if(Z.funcs.push(Q),Z.pending)return;Z.pending=!0;let $=()=>{let X=Z.funcs.slice();Z.funcs.length=0,Z.pending=!1;for(let Y of X)Y()};if(z==="raf")YQ(J,$);else window.setTimeout($,0)}function gQ(Q,z,J){let Z;return function(...$){let X=this;return window.clearTimeout(Z),Z=window.setTimeout(function(){if(Q.isAlive())z.apply(X,$)},J),Z}}function E7(Q,z){let J=0;return function(...Z){let $=this,X=Date.now();if(X-J<z)return;J=X,Q.apply($,Z)}}function C5(Q,z,J,Z=100){let $=Date.now(),X=null,Y=!1,G=()=>{if(X!=null)window.clearInterval(X),X=null};Q.addDestroyFunc(G);let q=()=>{let H=Date.now()-$>Z;if(z()||H)J(),Y=!0,G()};if(q(),!Y)X=window.setInterval(q,10)}var LG=new Set(["__proto__","constructor","prototype"]);function FG(Q,z){if(Q==null)return;if(Array.isArray(Q)){for(let J=0;J<Q.length;J++)z(J.toString(),Q[J]);return}for(let J of Object.keys(Q).filter((Z)=>!LG.has(Z)))z(J,Q[J])}function B0(Q,z,J=!0,Z=!1){if(!T(z))return;FG(z,($,X)=>{let Y=Q[$];if(Y===X)return;if(Z){if(Y==null&&X!=null){if(typeof X==="object"&&X.constructor===Object)Y={},Q[$]=Y}}if(K7(X)&&K7(Y)&&!Array.isArray(Y))B0(Y,X,J,Z);else if(J||X!==void 0)Q[$]=X})}function K7(Q){return typeof Q==="object"&&Q!==null}var b5=class Q{static applyGlobalGridOptions(z){if(!Q.gridOptions)return{...z};let J={};if(B0(J,Q.gridOptions,!0,!0),Q.mergeStrategy==="deep")B0(J,z,!0,!0);else J={...J,...z};if(Q.gridOptions.context)J.context=Q.gridOptions.context;if(z.context){if(Q.mergeStrategy==="deep"&&J.context)B0(z.context,J.context,!0,!0);J.context=z.context}return J}static applyGlobalGridOption(z,J){if(Q.mergeStrategy==="deep"){let Z=DG(z);if(Z&&typeof Z==="object"&&typeof J==="object")return Q.applyGlobalGridOptions({[z]:J})[z]}return J}};b5.gridOptions=void 0;b5.mergeStrategy="shallow";var y5=b5;function DG(Q){return y5.gridOptions?.[Q]}var MG={suppressContextMenu:!1,preventDefaultOnContextMenu:!1,allowContextMenuWithControlKey:!1,suppressMenuHide:!0,enableBrowserTooltips:!1,tooltipTrigger:"hover",tooltipShowDelay:2000,tooltipSwitchShowDelay:200,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,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,cellFlashDuration:500,cellFadeDuration:1000,allowShowChangeAfterFilter:!1,domLayout:"normal",ensureDomOrder:!1,enableRtl:!1,suppressColumnVirtualisation:!1,suppressMaxRenderedRowRestriction:!1,suppressRowVirtualisation:!1,rowDragManaged:!1,refreshAfterGroupEdit:!1,rowDragInsertDelay:500,suppressRowDrag:!1,suppressMoveWhenRowDragging:!1,rowDragEntireRow:!1,rowDragMultiRow:!1,embedFullWidthRows:!1,groupDisplayType:"singleColumn",groupDefaultExpanded:0,groupMaintainOrder:!1,groupSelectsChildren:!1,groupSuppressBlankHeader:!1,groupSelectsFiltered:!1,showOpenedGroup:!1,groupRemoveSingleChildren:!1,groupRemoveLowestSingleChildren:!1,groupHideOpenParents:!1,groupHideColumnsUntilExpanded:!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,cacheBlockSize:100,maxBlocksInCache:-1,maxConcurrentDatasourceRequests:2,blockLoadDebounceMillis:0,purgeClosedRowNodes:!1,serverSideSortAllLevels:!1,serverSideOnlyRefreshFilteredGroups:!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,groupLockGroupColumns:0,serverSideEnableClientSideSort:!1,suppressServerSideFullWidthLoadingRow:!1,pivotMaxGeneratedColumns:-1,columnMenu:"new",reactiveCustomComponents:!0,suppressSetFilterByDefault:!1,enableFilterHandlers:!1},d8="https://www.ag-grid.com";function d1(Q,z,...J){if(Q.get("debug"))console.log("AG Grid: "+z,...J)}function zz(Q,...z){RZ(()=>t8(Q,...z),Q+z?.join(""))}function q1(Q,...z){RZ(()=>kG(Q,...z),Q+z?.join(""))}function kG(Q,...z){console.error("AG Grid: "+Q,...z)}function t8(Q,...z){console.warn("AG Grid: "+Q,...z)}var r8=new Set,JZ={},Iz={},iJ,s8=!1,l8=!1,VG=!1;function fG(Q){let[z,J]=Q.version.split(".")||[],[Z,$]=iJ.split(".")||[];return z===Z&&J===$}function AG(Q){if(!iJ)iJ=Q.version;let z=(Z)=>`You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. ${Z} Please update all modules to the same version.`;if(!Q.version)q1(z(`'${Q.moduleName}' is incompatible.`));else if(!fG(Q))q1(z(`'${Q.moduleName}' is version ${Q.version} but the other modules are version ${iJ}.`));let J=Q.validate?.();if(J&&!J.isValid)q1(`${J.message}`)}function t1(Q,z,J=!1){if(!J)s8=!0;AG(Q);let Z=Q.rowModels??["all"];r8.add(Q);let $;if(z!==void 0){if(l8=!0,Iz[z]===void 0)Iz[z]={};$=Iz[z]}else $=JZ;for(let X of Z){if($[X]===void 0)$[X]={};$[X][Q.moduleName]=Q}if(Q.dependsOn)for(let X of Q.dependsOn)t1(X,z,J)}function jG(Q){delete Iz[Q]}function Q5(Q,z,J){let Z=($)=>!!JZ[$]?.[Q]||!!Iz[z]?.[$]?.[Q];return Z(J)||Z("all")}function x5(){return l8}function RG(Q,z){let J=Iz[Q]??{};return[...Object.values(JZ.all??{}),...Object.values(J.all??{}),...Object.values(JZ[z]??{}),...Object.values(J[z]??{})]}function SG(){return new Set(r8)}function a8(Q,z){let J=Iz[Q]??{};return[...Object.values(J.all??{}),...Object.values(J[z]??{})]}function OG(){return s8}function w5(){return VG}var N5=class{static register(Q){t1(Q,void 0)}static registerModules(Q){for(let z of Q)t1(z,void 0)}};var p="35.2.1",L7=2000,F7=100,o8="_version_",e8=null,H1=`${d8}/javascript-data-grid`;function PG(Q){e8=Q}function TG(Q){H1=Q}function Q9(Q,z,J){return e8?.(Q,z)??[bG(Q,z,J)]}function SZ(Q,z,J,Z,$){Q(`${Z?"warning":"error"} #${z}`,...Q9(z,J,$))}function vG(Q){if(!Q)return String(Q);let z={};for(let J of Object.keys(Q))if(typeof Q[J]!=="object"&&typeof Q[J]!=="function")z[J]=Q[J];return JSON.stringify(z)}function IG(Q){let z=Q;if(Q instanceof Error)z=Q.toString();else if(typeof Q==="object")z=vG(Q);return z}function nJ(Q){return Q===void 0?"undefined":Q===null?"null":Q}function z5(Q,z){return`${Q}?${z.toString()}`}function CG(Q,z,J){let Z=Array.from(z.entries()).sort((X,Y)=>Y[1].length-X[1].length),$=z5(Q,z);for(let[X,Y]of Z){if(X===o8)continue;let G=$.length-J;if(G<=0)break;let q="...",H=G+q.length,_=Y.length-H>F7?Y.slice(0,Y.length-H)+q:Y.slice(0,F7)+q;z.set(X,_),$=z5(Q,z)}return $}function z9(Q,z){let J=new URLSearchParams;if(J.append(o8,p),z)for(let X of Object.keys(z))J.append(X,IG(z[X]));let Z=`${H1}/errors/${Q}`,$=z5(Z,J);return $.length<=L7?$:CG(Z,J,L7)}var bG=(Q,z,J)=>{let Z=z9(Q,z),$=`${J?J+`
`:""}Visit ${Z}`;if(w5())return $;return`${$}${J?"":`
Alternatively register the ValidationModule to see the full message in the console.`}`};function R(...Q){SZ(zz,Q[0],Q[1],!0)}function e(...Q){SZ(q1,Q[0],Q[1],!1)}function y1(Q,z,J){SZ(q1,Q,z,!1,J)}function J9(Q,z,J){SZ(zz,Q,z,!0,J)}function yG(Q,z){let J=z[0];return`error #${J} `+Q9(J,z[1],Q).join(" ")}function QQ(...Q){return yG(void 0,Q)}function Z9(Q,z){return Q.get("rowModelType")===z}function o(Q,z){return Z9(Q,"clientSide")}function Hz(Q,z){return Z9(Q,"serverSide")}function V0(Q,z){return Q.get("domLayout")===z}function hQ(Q){return ZZ(Q)!==void 0}function $9(Q){return typeof Q.get("getRowHeight")==="function"}function xG(Q,z){if(z)return!Q.get("enableStrictPivotColumnOrder");return Q.get("maintainColumnOrder")}function wG({gos:Q,formula:z}){let J=Q.get("rowNumbers");return J||!!z?.active&&J!==!1}function r1(Q,z,J=!1,Z){let{gos:$,environment:X}=Q;if(Z==null)Z=X.getDefaultRowHeight();if($9($)){if(J)return{height:Z,estimated:!0};let q={node:z,data:z.data},H=$.getCallback("getRowHeight")(q);if(J5(H)){if(H===0)R(23);return{height:Math.max(1,H),estimated:!1}}}if(z.detail&&$.get("masterDetail"))return NG($);let Y=$.get("rowHeight");return{height:Y&&J5(Y)?Y:Z,estimated:!1}}function NG(Q){if(Q.get("detailRowAutoHeight"))return{height:1,estimated:!1};let z=Q.get("detailRowHeight");if(J5(z))return{height:z,estimated:!1};return{height:300,estimated:!1}}function X9(Q){let{environment:z,gos:J}=Q,Z=J.get("rowHeight");if(!Z||n(Z))return z.getDefaultRowHeight();let $=z.refreshRowHeightVariable();if($!==-1)return $;return R(24),z.getDefaultRowHeight()}function J5(Q){return!isNaN(Q)&&typeof Q==="number"&&isFinite(Q)}function Y9(Q,z,J){let Z=z[Q.getDomDataKey()];return Z?Z[J]:void 0}function wz(Q,z,J,Z){let $=Q.getDomDataKey(),X=z[$];if(n(X))X={},z[$]=X;X[J]=Z}function _1(Q){if(Q.get("ensureDomOrder"))return!1;return Q.get("animateRows")}function k1(Q){return!(Q.get("paginateChildRows")||Q.get("groupHideOpenParents")||V0(Q,"print"))}function WQ(Q){return!Q.get("autoGroupColumnDef")?.comparator&&!Q.get("treeData")}function TQ(Q){let z=Q.get("groupAggFiltering");if(typeof z==="function")return Q.getCallback("groupAggFiltering");if(z===!0)return()=>!0;return}function _z(Q){return Q.get("grandTotalRow")}function OZ(Q){let z=Q.get("groupTotalRow");if(typeof z==="function")return Q.getCallback("groupTotalRow");return()=>z??void 0}function YJ(Q){if(!!Q.get("groupHideOpenParents"))return!0;return Q.get("groupDisplayType")==="multipleColumns"}function g5(Q){return YJ(Q)&&Q.get("groupHideColumnsUntilExpanded")&&o(Q)}function PZ(Q,z){if(z)return!1;return Q.get("groupDisplayType")==="groupRows"}function G9(Q,z,J){return!!z.group&&!z.footer&&PZ(Q,J)}function Z5(Q){let z=Q.getCallback("getRowId");if(z===void 0)return z;return(J)=>{let Z=z(J);if(typeof Z!=="string")RZ(()=>R(25,{id:Z}),"getRowIdString"),Z=String(Z);return Z}}function gG(Q,z){let J=Q.get("groupHideParentOfSingleChild");if(J===!0)return!0;if(J==="leafGroupsOnly"&&z.leafGroup)return!0;if(Q.get("groupRemoveSingleChildren"))return!0;if(Q.get("groupRemoveLowestSingleChildren")&&z.leafGroup)return!0;return!1}function TZ(Q,z){let J=Q.get("suppressGroupChangesColumnVisibility");if(J===!0)return!1;if(z&&J==="suppressHideOnGroup")return!1;if(!z&&J==="suppressShowOnUngroup")return!1;let Z=Q.get("suppressRowGroupHidesColumns");if(z&&Z===!0)return!1;let $=Q.get("suppressMakeColumnVisibleAfterUnGroup");if(!z&&$===!0)return!1;return!0}function Jz(Q){return Q?.checkboxes??!0}function dJ(Q){return Q?.mode==="multiRow"&&(Q.headerCheckbox??!0)}function E1(Q){if(typeof Q!=="object")return;return Q.checkboxLocation??"selectionColumn"}function j2(Q){return Q?.hideDisabledCheckboxes??!1}function hG(Q){return typeof Q.get("rowSelection")!=="string"}function q9(Q){return Q.get("cellSelection")!==void 0}function H9(Q){let z=Q.get("cellSelection");if(z===void 0)return Q.get("suppressMultiRangeSelection");return typeof z!=="boolean"?z?.suppressMultiRanges??!1:!1}function u0(Q){let z=Q.get("cellSelection");return z!==void 0?!!z:Q.get("enableRangeSelection")}function vZ(Q){let z=Q.get("cellSelection");if(z===void 0)return{mode:"fill",setFillValue:Q.get("fillOperation"),direction:Q.get("fillHandleDirection"),suppressClearOnFillReduction:Q.get("suppressClearOnFillReduction")};return typeof z!=="boolean"&&z.handle?.mode==="fill"?z.handle:void 0}function Zz(Q){let z=Q.get("cellSelection")??!1;return(typeof z==="object"&&z.enableColumnSelection)??!1}function _9(Q){let z=Q.get("rowSelection")??"single";if(typeof z==="string"){let J=Q.get("suppressRowClickSelection"),Z=Q.get("suppressRowDeselection");if(J&&Z)return!1;else if(J)return"enableDeselection";else if(Z)return"enableSelection";else return!0}return z.mode==="singleRow"||z.mode==="multiRow"?z.enableClickSelection??!1:!1}function uG(Q){let z=_9(Q);return z===!0||z==="enableSelection"}function mG(Q){let z=_9(Q);return z===!0||z==="enableDeselection"}function $5(Q){let z=Q.get("rowSelection");if(typeof z==="string")return Q.get("isRowSelectable");return z?.isRowSelectable}function ZZ(Q){let z="beanName"in Q&&Q.beanName==="gos"?Q.get("rowSelection"):Q.rowSelection;if(typeof z==="string")switch(z){case"multiple":return"multiRow";case"single":return"singleRow";default:return}switch(z?.mode){case"multiRow":case"singleRow":return z.mode;default:return}}function s1(Q){return ZZ(Q)==="multiRow"}function cG(Q){let z=Q.get("rowSelection");if(typeof z==="string")return Q.get("rowMultiSelectWithClick");return z?.enableSelectionWithoutKeys??!1}function $Z(Q){let z=Q.get("rowSelection");if(typeof z==="string"){let J=Q.get("groupSelectsChildren"),Z=Q.get("groupSelectsFiltered");if(J&&Z)return"filteredDescendants";else if(J)return"descendants";else return"self"}return z?.mode==="multiRow"?z.groupSelects:void 0}function U9(Q,z=!0){let J=Q.get("rowSelection");if(typeof J!=="object")return z?"all":void 0;return J.mode==="multiRow"?J.selectAll:"all"}function pG(Q){let z=Q.get("rowSelection");if(typeof z==="string")return!1;return z?.mode==="multiRow"?z.ctrlASelectsRows??!1:!1}function l1(Q){let z=$Z(Q);return z==="descendants"||z==="filteredDescendants"}function D7(Q){let z=Q.get("rowSelection");return typeof z==="object"&&z.masterSelects||"self"}function iG(Q){return Q.isModuleRegistered("SetFilter")&&!Q.get("suppressSetFilterByDefault")}function U0(Q){return Q.get("columnMenu")==="legacy"}function h5(Q){return!U0(Q)}function nG(Q){if(!Q||Q.length<2)return Q;return"on"+Q[0].toUpperCase()+Q.substring(1)}function y(Q,z){return Q.addCommon(z)}function u5({gos:Q},z){return z.button===2||z.ctrlKey&&Q.get("allowContextMenuWithControlKey")}var dG={resizable:!0,sortable:!0},tG=0;function W9(){return tG++}function JQ(Q){return Q instanceof GQ}var rG=["asc","desc",null],sG=[{type:"absolute",direction:"asc"},{type:"absolute",direction:"desc"},null],GQ=class extends j{constructor(Q,z,J,Z){super();this.colDef=Q,this.userProvidedColDef=z,this.colId=J,this.primary=Z,this.isColumn=!0,this.instanceId=W9(),this.autoHeaderHeight=null,this.sortDef=a0(),this._wasSortExplicitlyRemoved=!1,this.moving=!1,this.resizing=!1,this.menuVisible=!1,this.formulaRef=null,this.lastLeftPinned=!1,this.firstRightPinned=!1,this.filterActive=!1,this.colEventSvc=new KQ,this.tooltipEnabled=!1,this.rowGroupActive=!1,this.pivotActive=!1,this.aggregationActive=!1,this.flex=null,this.colIdSanitised=W0(J)}destroy(){super.destroy(),this.beans.rowSpanSvc?.deregister(this)}getInstanceId(){return this.instanceId}initState(){let{colDef:Q,beans:{sortSvc:z,pinnedCols:J,colFlex:Z}}=this;z?.initCol(this);let $=Q.hide;if($!==void 0)this.visible=!$;else this.visible=!Q.initialHide;J?.initCol(this),Z?.initCol(this)}setColDef(Q,z,J){let Z=Q.spanRows!==this.colDef.spanRows;if(this.colDef=Q,this.userProvidedColDef=z,this.initMinAndMaxWidths(),this.initDotNotation(),this.initTooltip(),Z)this.beans.rowSpanSvc?.deregister(this),this.initRowSpan();this.dispatchColEvent("colDefChanged",J)}getUserProvidedColDef(){return this.userProvidedColDef}getParent(){return this.parent}getOriginalParent(){return this.originalParent}postConstruct(){this.initState(),this.initMinAndMaxWidths(),this.resetActualWidth("gridInitializing"),this.initDotNotation(),this.initTooltip(),this.initRowSpan(),this.addPivotListener()}initDotNotation(){let{gos:Q,colDef:{field:z,tooltipField:J}}=this,Z=Q.get("suppressFieldDotNotation");this.fieldContainsDots=T(z)&&z.includes(".")&&!Z,this.tooltipFieldContainsDots=T(J)&&J.includes(".")&&!Z}initMinAndMaxWidths(){let Q=this.colDef;this.minWidth=Q.minWidth??this.beans.environment.getDefaultColumnMinWidth(),this.maxWidth=Q.maxWidth??Number.MAX_SAFE_INTEGER}initTooltip(){this.beans.tooltipSvc?.initCol(this)}initRowSpan(){if(this.colDef.spanRows)this.beans.rowSpanSvc?.register(this)}addPivotListener(){let Q=this.beans.pivotColDefSvc,z=this.colDef.pivotValueColumn;if(!Q||!z)return;this.addManagedListeners(z,{colDefChanged:(J)=>{let Z=Q.recreateColDef(this.colDef);this.setColDef(Z,Z,J.source)}})}resetActualWidth(Q){let z=this.calculateColInitialWidth(this.colDef);this.setActualWidth(z,Q,!0)}calculateColInitialWidth(Q){let z=Q.width??Q.initialWidth??200;return Math.max(Math.min(z,this.maxWidth),this.minWidth)}isEmptyGroup(){return!1}isRowGroupDisplayed(Q){return this.beans.showRowGroupCols?.isRowGroupDisplayed(this,Q)??!1}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(Q,z){this.colEventSvc.addEventListener(Q,z)}__removeEventListener(Q,z){this.colEventSvc.removeEventListener(Q,z)}addEventListener(Q,z){this.frameworkEventListenerService=this.beans.frameworkOverrides.createLocalEventListenerWrapper?.(this.frameworkEventListenerService,this.colEventSvc);let J=this.frameworkEventListenerService?.wrap(Q,z)??z;this.colEventSvc.addEventListener(Q,J)}removeEventListener(Q,z){let J=this.frameworkEventListenerService?.unwrap(Q,z)??z;this.colEventSvc.removeEventListener(Q,J)}createColumnFunctionCallbackParams(Q){return y(this.gos,{node:Q,data:Q.data,column:this,colDef:this.colDef})}isSuppressNavigable(Q){return this.beans.cellNavigation?.isSuppressNavigable(this,Q)??!1}isCellEditable(Q){return this.beans.editSvc?.isCellEditable({rowNode:Q,column:this})??!1}isSuppressFillHandle(){return!!this.colDef.suppressFillHandle}isAutoHeight(){return!!this.colDef.autoHeight}isAutoHeaderHeight(){return!!this.colDef.autoHeaderHeight}isRowDrag(Q){return this.isColumnFunc(Q,this.colDef.rowDrag)}isDndSource(Q){return this.isColumnFunc(Q,this.colDef.dndSource)}isCellCheckboxSelection(Q){return this.beans.selectionSvc?.isCellCheckboxSelection(this,Q)??!1}isSuppressPaste(Q){return this.isColumnFunc(Q,this.colDef?.suppressPaste??null)}isResizable(){return!!this.getColDefValue("resizable")}getColDefValue(Q){return this.colDef[Q]??dG[Q]}isColumnFunc(Q,z){if(typeof z==="boolean")return z;if(typeof z==="function"){let J=this.createColumnFunctionCallbackParams(Q);return z(J)}return!1}createColumnEvent(Q,z){return y(this.gos,{type:Q,column:this,columns:[this],source:z})}isMoving(){return this.moving}getSort(){return this.sortDef.direction}getSortDef(){if(!this.sortDef.direction)return null;return this.sortDef}getColDefAllowedSortTypes(){let Q=[],{sort:z,initialSort:J}=this.colDef,Z=z===null?z:LQ(z?.type),$=J===null?J:LQ(J?.type);if(Z)Q.push(Z);if($)Q.push($);return Q}getSortingOrder(){let Q=this.getColDefAllowedSortTypes().includes("absolute")?sG:rG;return(this.colDef.sortingOrder??this.gos.get("sortingOrder")??Q).map((z)=>a0(z))}getAvailableSortTypes(){let Q=this.getSortingOrder().reduce((z,J)=>{if(J.direction)z.push(J.type);return z},this.getColDefAllowedSortTypes());return new Set(Q)}get wasSortExplicitlyRemoved(){return this._wasSortExplicitlyRemoved}setSortDef(Q,z=!1){if(!z)this._wasSortExplicitlyRemoved=!Q.direction;this.sortDef=Q}isSortable(){return!!this.getColDefValue("sortable")}isSortAscending(){return this.getSort()==="asc"}isSortDescending(){return this.getSort()==="desc"}isSortNone(){return n(this.getSort())}isSorting(){return T(this.getSort())}getSortIndex(){return this.sortIndex}isMenuVisible(){return this.menuVisible}getAggFunc(){return this.aggFunc}getLeft(){return this.left}getOldLeft(){return this.oldLeft}getRight(){return this.left+this.actualWidth}setLeft(Q,z){if(this.oldLeft=this.left,this.left!==Q)this.left=Q,this.dispatchColEvent("leftChanged",z)}isFilterActive(){return this.filterActive}isHovered(){return R(261),!!this.beans.colHover?.isHovered(this)}setFirstRightPinned(Q,z){if(this.firstRightPinned!==Q)this.firstRightPinned=Q,this.dispatchColEvent("firstRightPinnedChanged",z)}setLastLeftPinned(Q,z){if(this.lastLeftPinned!==Q)this.lastLeftPinned=Q,this.dispatchColEvent("lastLeftPinnedChanged",z)}isFirstRightPinned(){return this.firstRightPinned}isLastLeftPinned(){return this.lastLeftPinned}isPinned(){return this.pinned==="left"||this.pinned==="right"}isPinnedLeft(){return this.pinned==="left"}isPinnedRight(){return this.pinned==="right"}getPinned(){return this.pinned}setVisible(Q,z){let J=Q===!0;if(this.visible!==J)this.visible=J,this.dispatchColEvent("visibleChanged",z);this.dispatchStateUpdatedEvent("hide")}isVisible(){return this.visible}isSpanHeaderHeight(){return!this.getColDef().suppressSpanHeaderHeight}getFirstRealParent(){let Q=this.getOriginalParent();while(Q?.isPadding())Q=Q.getOriginalParent();return Q}getColumnGroupPaddingInfo(){let Q=this.getParent();if(!Q?.isPadding())return{numberOfParents:0,isSpanningTotal:!1};let z=Q.getPaddingLevel()+1,J=!0;while(Q){if(!Q.isPadding()){J=!1;break}Q=Q.getParent()}return{numberOfParents:z,isSpanningTotal:J}}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(Q){let z=Q!==this.autoHeaderHeight;return this.autoHeaderHeight=Q,z}createBaseColDefParams(Q){return y(this.gos,{node:Q,data:Q.data,colDef:this.colDef,column:this})}getColSpan(Q){if(n(this.colDef.colSpan))return 1;let z=this.createBaseColDefParams(Q),J=this.colDef.colSpan(z);return Math.max(J,1)}getRowSpan(Q){if(n(this.colDef.rowSpan))return 1;let z=this.createBaseColDefParams(Q),J=this.colDef.rowSpan(z);return Math.max(J,1)}setActualWidth(Q,z,J=!1){if(Q=Math.max(Q,this.minWidth),Q=Math.min(Q,this.maxWidth),this.actualWidth!==Q){if(this.actualWidth=Q,this.flex!=null&&z!=="flex"&&z!=="gridInitializing")this.flex=null;if(!J)this.fireColumnWidthChangedEvent(z)}this.dispatchStateUpdatedEvent("width")}fireColumnWidthChangedEvent(Q){this.dispatchColEvent("widthChanged",Q)}isGreaterThanMax(Q){return Q>this.maxWidth}getMinWidth(){return this.minWidth}getMaxWidth(){return this.maxWidth}getFlex(){return this.flex}isRowGroupActive(){return this.rowGroupActive}isPivotActive(){return this.pivotActive}isAnyFunctionActive(){return this.isPivotActive()||this.isRowGroupActive()||this.isValueActive()}isAnyFunctionAllowed(){return this.isAllowPivot()||this.isAllowRowGroup()||this.isAllowValue()}isValueActive(){return this.aggregationActive}isAllowPivot(){return this.colDef.enablePivot===!0}isAllowValue(){return this.colDef.enableValue===!0}isAllowRowGroup(){return this.colDef.enableRowGroup===!0}isAllowFormula(){return this.colDef.allowFormula===!0}dispatchColEvent(Q,z,J){let Z=this.createColumnEvent(Q,z);if(J)B0(Z,J);this.colEventSvc.dispatchEvent(Z)}dispatchStateUpdatedEvent(Q){this.colEventSvc.dispatchEvent({type:"columnStateUpdated",key:Q})}};function a0(Q){if(U1(Q))return{direction:Q.direction,type:Q.type};return{direction:IZ(Q),type:LQ(Q)}}function $z(Q){return Q==="asc"||Q==="desc"||Q===null}function m5(Q){return Q==="default"||Q==="absolute"}function U1(Q){if(!Q||typeof Q!=="object")return!1;let z=Q;return m5(z.type)&&$z(z.direction)}function tJ(Q,z){if(!Q)return z?z.direction===null:!0;if(!z)return Q?Q.direction===null:!0;return Q.type===z.type&&Q.direction===z.direction}function IZ(Q){return $z(Q)?Q:null}function LQ(Q){return m5(Q)?Q:"default"}function c5(Q,z,J){let $=J?.()??z.sortSvc.getDisplaySortForColumn(Q),X=LQ($?.type),Y=IZ($?.direction),G=Q.getAvailableSortTypes(),q=G.has("default"),H=G.has("absolute");return{isDefaultSortAllowed:q,isAbsoluteSortAllowed:H,isAbsoluteSort:X==="absolute",isDefaultSort:X==="default",isAscending:Y==="asc",isDescending:Y==="desc",direction:Y}}function G0(Q){return Q instanceof Cz}var Cz=class extends j{constructor(Q,z,J,Z){super();this.colGroupDef=Q,this.groupId=z,this.padding=J,this.level=Z,this.isColumn=!1,this.expandable=!1,this.instanceId=W9(),this.expandableListenerRemoveCallback=null,this.expanded=!!Q?.openByDefault}destroy(){if(this.expandableListenerRemoveCallback)this.reset(null,void 0);super.destroy()}reset(Q,z){if(this.colGroupDef=Q,this.level=z,this.originalParent=null,this.expandableListenerRemoveCallback)this.expandableListenerRemoveCallback();this.children=void 0,this.expandable=void 0}getInstanceId(){return this.instanceId}getOriginalParent(){return this.originalParent}getLevel(){return this.level}isVisible(){if(this.children)return this.children.some((Q)=>Q.isVisible());return!1}isPadding(){return this.padding}setExpanded(Q){this.expanded=Q===void 0?!1:Q,this.dispatchLocalEvent({type:"expandedChanged"})}isExpandable(){return this.expandable}isExpanded(){return this.expanded}getGroupId(){return this.groupId}getId(){return this.getGroupId()}setChildren(Q){this.children=Q}getChildren(){return this.children}getColGroupDef(){return this.colGroupDef}getLeafColumns(){let Q=[];return this.addLeafColumns(Q),Q}forEachLeafColumn(Q){if(!this.children)return;for(let z of this.children)if(JQ(z))Q(z);else if(G0(z))z.forEachLeafColumn(Q)}addLeafColumns(Q){if(!this.children)return;for(let z of this.children)if(JQ(z))Q.push(z);else if(G0(z))z.addLeafColumns(Q)}getColumnGroupShow(){let Q=this.colGroupDef;if(!Q)return;return Q.columnGroupShow}setupExpandable(){if(this.setExpandable(),this.expandableListenerRemoveCallback)this.expandableListenerRemoveCallback();let Q=this.onColumnVisibilityChanged.bind(this);for(let z of this.getLeafColumns())z.__addEventListener("visibleChanged",Q);this.expandableListenerRemoveCallback=()=>{for(let z of this.getLeafColumns())z.__removeEventListener("visibleChanged",Q);this.expandableListenerRemoveCallback=null}}setExpandable(){if(this.isPadding())return;let Q=!1,z=!1,J=!1,Z=this.findChildrenRemovingPadding();for(let X=0,Y=Z.length;X<Y;X++){let G=Z[X];if(!G.isVisible())continue;let q=G.getColumnGroupShow();if(q==="open")Q=!0,J=!0;else if(q==="closed")z=!0,J=!0;else Q=!0,z=!0}let $=Q&&z&&J;if(this.expandable!==$)this.expandable=$,this.dispatchLocalEvent({type:"expandableChanged"})}findChildrenRemovingPadding(){let Q=[],z=(J)=>{for(let Z of J)if(G0(Z)&&Z.isPadding())z(Z.children);else Q.push(Z)};return z(this.children),Q}onColumnVisibilityChanged(){this.setExpandable()}},lG={numericColumn:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"},rightAligned:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"}};function X5(Q,z,J){let Z={},$=Q.gos;return Object.assign(Z,$.get("defaultColGroupDef")),Object.assign(Z,z),$.validateColDef(Z,J),Z}var aG=class{constructor(){this.existingKeys={}}addExistingKeys(Q){for(let z=0;z<Q.length;z++)this.existingKeys[Q[z]]=!0}getUniqueKey(Q,z){Q=c1(Q);let J=0;while(!0){let Z=Q??z;if(Z){if(J!==0)Z+="_"+J}else Z=J;if(!this.existingKeys[Z]){let $=String(Z);if(Q&&J>0)R(273,{providedId:Q,usedId:$});return this.existingKeys[$]=!0,$}J++}}},B9=(Q,z)=>{if(G0(Q))Q.setupExpandable();Q.originalParent=z};function E9(Q,z=null,J,Z,$){let{existingCols:X,existingGroups:Y}=K9(Z),G=new Map(X.map((K)=>[K.getId(),K])),q=new Map(Y.map((K)=>[K.getId(),K])),H=0,_=(K,L)=>{if(H=Math.max(H,L),M9(K)){if(!Q.colGroupSvc)return null;let k=K.groupId,f=q.get(k),A=X5(Q,K,k),O=new Cz(A,k,!1,L);if(Q.context.createBean(O),f)O.setExpanded(f.isExpanded());return O.setChildren(K.children.map((v)=>_(v,L+1))),O}let F=K.colId,D=G.get(F),M=uQ(Q,K,D?.getColId()??F);if(!D)D=new GQ(M,K,F,J),Q.context.createBean(D);else D.setColDef(M,K,$),D9(Q,D,M,$);return Q.dataTypeSvc?.addColumnListeners(D),D},U=z?.map((K)=>_(K,0))??[],W=0,B={getUniqueKey:(K,L)=>String(++W)},E=Q.colGroupSvc?Q.colGroupSvc.balanceColumnTree(U,0,H,B):U;return OQ(null,E,B9),{columnTree:E,treeDepth:H}}function p5(Q,z=null,J,Z,$){let X=new aG,{existingCols:Y,existingGroups:G,existingColKeys:q}=K9(Z);X.addExistingKeys(q);let H=L9(Q,z,0,J,Y,X,G,$),{colGroupSvc:_}=Q,U=_?.findMaxDepth(H,0)??0,W=_?_.balanceColumnTree(H,0,U,X):H;return OQ(null,W,B9),{columnTree:W,treeDepth:U}}function K9(Q){let z=[],J=[],Z=[];if(Q)OQ(null,Q,($)=>{if(G0($)){let X=$;J.push(X)}else{let X=$;Z.push(X.getId()),z.push(X)}});return{existingCols:z,existingGroups:J,existingColKeys:Z}}function L9(Q,z,J,Z,$,X,Y,G){if(!z)return[];let{colGroupSvc:q}=Q,H=Array(z.length);for(let _=0;_<H.length;_++){let U=z[_];if(q&&M9(U))H[_]=q.createProvidedColumnGroup(Z,U,J,$,X,Y,G);else H[_]=oG(Q,Z,U,$,X,G)}return H}function oG(Q,z,J,Z,$,X){let Y=eG(J,Z);if(Y)Z?.splice(Y.idx,1);let G=Y?.column;if(!G){let q=$.getUniqueKey(J.colId,J.field),H=uQ(Q,J,q);G=new GQ(H,J,q,z),Q.context.createBean(G)}else{let q=uQ(Q,J,G.getColId());G.setColDef(q,J,X),D9(Q,G,q,X)}return Q.dataTypeSvc?.addColumnListeners(G),G}function F9(Q,z,J,Z,$,X,Y,G){let{sortSvc:q,pinnedCols:H,colFlex:_}=Q;if(J!==void 0)z.setVisible(!J,G);if(q){if(q.updateColSort(z,Z,G),$!==void 0)q.setColSortIndex(z,$)}if(X!==void 0)H?.setColPinned(z,X);if(Y!==void 0)_?.setColFlex(z,Y)}function D9(Q,z,J,Z){F9(Q,z,J.hide,J.sort,J.sortIndex,J.pinned,J.flex,Z);let $=z.getFlex();if($!=null&&$>0)return;if(J.width!=null)z.setActualWidth(J.width,Z);else{let X=z.getActualWidth();z.setActualWidth(X,Z)}}function eG(Q,z){if(!z)return;for(let J=0;J<z.length;J++){let Z=z[J].getUserProvidedColDef();if(!Z)continue;if(Q.colId!=null){if(z[J].getId()===Q.colId)return{idx:J,column:z[J]};continue}if(Q.field!=null){if(Z.field===Q.field)return{idx:J,column:z[J]};continue}if(Z===Q)return{idx:J,column:z[J]}}return}function uQ(Q,z,J,Z){let{gos:$,dataTypeSvc:X}=Q,Y={},G=$.get("defaultColDef");B0(Y,G,!1,!0);let q=Qq(Q,Y,z,J);if(q)zq(Q,q,Y);let H=Y.cellDataType;if(B0(Y,z,!1,!0),H!==void 0)Y.cellDataType=H;let _=$.get("autoGroupColumnDef"),U=WQ($);if(z.rowGroup&&_&&U)B0(Y,{sort:_.sort,initialSort:_.initialSort},!1,!0);return X?.postProcess(Y),X?.validateColDef(Y,z,G,J),$.validateColDef(Y,J,Z),Y}function Qq(Q,z,J,Z){let $=Q.dataTypeSvc?.updateColDefAndGetColumnType(z,J,Z),X=J.type??$??z.type;return z.type=X,X?XZ(X):void 0}function zq(Q,z,J){if(!z.length)return;let Z=Object.assign({},lG),$=Q.gos.get("columnTypes")||{};for(let X of Object.keys($)){let Y=$[X];if(X in Z)R(34,{key:X});else{if(Y.type)R(35);Z[X]=Y}}for(let X of z){let Y=Z[X.trim()];if(Y)B0(J,Y,!1,!0);else R(36,{t:X})}}function M9(Q){return Q.children!==void 0}function OQ(Q,z,J){if(!z)return;for(let Z=0;Z<z.length;Z++){let $=z[Z];if(G0($))OQ($,$.getChildren(),J);J($,Q)}}var uz="ag-Grid-AutoColumn",k9="ag-Grid-SelectionColumn",V9="ag-Grid-RowNumbersColumn",f9="ag-Grid-HierarchyColumn";function CZ(Q){let z=[],J=(Z)=>{for(let $=0;$<Z.length;$++){let X=Z[$];if(JQ(X))z.push(X);else if(G0(X))J(X.getChildren())}};return J(Q),z}function NQ(Q){return Q.reduce((z,J)=>z+J.getActualWidth(),0)}function ZQ(Q,z,J){let Z={};if(!z)return;if(OQ(null,z,(X)=>{Z[X.getInstanceId()]=X}),J)OQ(null,J,(X)=>{Z[X.getInstanceId()]=null});let $=Object.values(Z).filter((X)=>X!=null);Q.context.destroyBeans($)}function mz(Q){return Q.getId().startsWith(uz)}function IQ(Q){return(typeof Q==="string"?Q:("getColId"in Q)?Q.getColId():Q.colId)?.startsWith(k9)??!1}function v0(Q){return(typeof Q==="string"?Q:("getColId"in Q)?Q.getColId():Q.colId)?.startsWith(V9)??!1}function GJ(Q){return IQ(Q)||v0(Q)}function XZ(Q){let z=[];if(Q instanceof Array)z=Q;else if(typeof Q==="string")z=Q.split(",");return z}function qJ(Q,z){return X0(Q,z,(J,Z)=>J.getColId()===Z.getColId())}function HJ(Q){Q.map={};for(let z of Q.list)Q.map[z.getId()]=z}function Xz(Q){return Q==="optionsUpdated"?"gridOptionsChanged":Q}function PQ(Q,z){return Q===z||Q.colId==z||Q.getColDef()===z}var Jq=(Q,z)=>(J,Z)=>{let $={value1:void 0,value2:void 0},X=!1;if(Q){if(Q[J]!==void 0)$.value1=Q[J],X=!0;if(T(Z)&&Q[Z]!==void 0)$.value2=Q[Z],X=!0}if(!X&&z){if(z[J]!==void 0)$.value1=z[J];if(T(Z)&&z[Z]!==void 0)$.value2=z[Z]}return $};function i5(Q,z){let J={...Q,sort:void 0,colId:z},Z=A9(Q);if(Z)J.sort=Z.direction,J.sortType=Z.type;return J}function A9(Q){let{sort:z,initialSort:J}=Q,Z=U1(z)||$z(z),$=U1(J)||$z(J);if(Z)return a0(z);if($)return a0(J);return null}function j9(Q,z){return Q+"_"+z}function _0(Q){return Q instanceof a1}var a1=class extends j{constructor(Q,z,J,Z){super();this.providedColumnGroup=Q,this.groupId=z,this.partId=J,this.pinned=Z,this.isColumn=!1,this.displayedChildren=[],this.autoHeaderHeight=null,this.parent=null,this.colIdSanitised=W0(this.getUniqueId())}reset(){this.parent=null,this.children=null,this.displayedChildren=null}getParent(){return this.parent}getUniqueId(){return j9(this.groupId,this.partId)}isEmptyGroup(){return this.displayedChildren.length===0}isMoving(){let Q=this.getProvidedColumnGroup().getLeafColumns();if(!Q||Q.length===0)return!1;return Q.every((z)=>z.isMoving())}checkLeft(){for(let Q of this.displayedChildren)if(_0(Q))Q.checkLeft();if(this.displayedChildren.length>0)if(this.gos.get("enableRtl")){let z=b(this.displayedChildren).getLeft();this.setLeft(z)}else{let Q=this.displayedChildren[0].getLeft();this.setLeft(Q)}else this.setLeft(null)}getLeft(){return this.left}getOldLeft(){return this.oldLeft}setLeft(Q){if(this.oldLeft=this.left,this.left!==Q)this.left=Q,this.dispatchLocalEvent({type:"leftChanged"})}getPinned(){return this.pinned}getGroupId(){return this.groupId}getPartId(){return this.partId}getActualWidth(){let Q=0;for(let z of this.displayedChildren??[])Q+=z.getActualWidth();return Q}isResizable(){if(!this.displayedChildren)return!1;let Q=!1;for(let z of this.displayedChildren)if(z.isResizable())Q=!0;return Q}getMinWidth(){let Q=0;for(let z of this.displayedChildren)Q+=z.getMinWidth();return Q}addChild(Q){if(!this.children)this.children=[];this.children.push(Q)}getDisplayedChildren(){return this.displayedChildren}getLeafColumns(){let Q=[];return this.addLeafColumns(Q),Q}getDisplayedLeafColumns(){let Q=[];return this.addDisplayedLeafColumns(Q),Q}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(Q){this.providedColumnGroup.setExpanded(Q)}isAutoHeaderHeight(){return!!this.getColGroupDef()?.autoHeaderHeight}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight(Q){let z=Q!==this.autoHeaderHeight;return this.autoHeaderHeight=Q,z}addDisplayedLeafColumns(Q){for(let z of this.displayedChildren??[])if(JQ(z))Q.push(z);else if(_0(z))z.addDisplayedLeafColumns(Q)}addLeafColumns(Q){for(let z of this.children??[])if(JQ(z))Q.push(z);else if(_0(z))z.addLeafColumns(Q)}getChildren(){return this.children}getColumnGroupShow(){return this.providedColumnGroup.getColumnGroupShow()}getProvidedColumnGroup(){return this.providedColumnGroup}getPaddingLevel(){let Q=this.getParent();if(!this.isPadding()||!Q?.isPadding())return 0;return 1+Q.getPaddingLevel()}calculateDisplayedColumns(){this.displayedChildren=[];let Q=this;while(Q?.isPadding())Q=Q.getParent();if(!(Q?Q.getProvidedColumnGroup().isExpandable():!1)){this.displayedChildren=this.children,this.dispatchLocalEvent({type:"displayedChildrenChanged"});return}for(let J of this.children??[]){if(_0(J)&&!J.displayedChildren?.length)continue;switch(J.getColumnGroupShow()){case"open":if(Q.getProvidedColumnGroup().isExpanded())this.displayedChildren.push(J);break;case"closed":if(!Q.getProvidedColumnGroup().isExpanded())this.displayedChildren.push(J);break;default:this.displayedChildren.push(J);break}}this.dispatchLocalEvent({type:"displayedChildrenChanged"})}},V={BACKSPACE:"Backspace",TAB:"Tab",ENTER:"Enter",ESCAPE:"Escape",SPACE:" ",LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown",DELETE:"Delete",F2:"F2",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",PAGE_HOME:"Home",PAGE_END:"End",A:"KeyA",C:"KeyC",D:"KeyD",V:"KeyV",X:"KeyX",Y:"KeyY",Z:"KeyZ"},Zq=65,$q=67,Xq=86,Yq=68,Gq=90,qq=89;function R9(Q){let{keyCode:z}=Q,J;switch(z){case Zq:J=V.A;break;case $q:J=V.C;break;case Xq:J=V.V;break;case Yq:J=V.D;break;case Gq:J=V.Z;break;case qq:J=V.Y;break;default:J=Q.code}return J}function Hq(Q,z){return new g((J)=>{J(window.setInterval(Q,z))})}var g=class Q{constructor(z){this.status=0,this.resolution=null,this.waiters=[],z((J)=>this.onDone(J),(J)=>this.onReject(J))}static all(z){return z.length?new Q((J)=>{let Z=z.length,$=Array(Z);z.forEach((X,Y)=>{X.then((G)=>{if($[Y]=G,Z--,Z===0)J($)})})}):Q.resolve()}static resolve(z=null){return new Q((J)=>J(z))}then(z){return new Q((J)=>{if(this.status===1)J(z(this.resolution));else this.waiters.push((Z)=>J(z(Z)))})}onDone(z){this.status=1,this.resolution=z;for(let J of this.waiters)J(z)}onReject(z){}},_q=class extends j0{constructor(){super(...arguments);this.beanName="dragAndDrop",this.dragSourceAndParamsList=[],this.dragItem=null,this.dragInitialSourcePointerOffsetX=0,this.dragInitialSourcePointerOffsetY=0,this.lastMouseEvent=null,this.lastDraggingEvent=null,this.dragSource=null,this.dragImageCompPromise=null,this.dragImageComp=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0,this.dropTargets=[],this.externalDropZoneCount=0,this.lastDropTarget=null}addDragSource(Q,z=!1){let J={capturePointer:!0,dragSource:Q,eElement:Q.eElement,dragStartPixels:Q.dragStartPixels,onDragStart:(Z)=>this.onDragStart(Q,Z),onDragStop:this.onDragStop.bind(this),onDragging:this.onDragging.bind(this),onDragCancel:this.onDragCancel.bind(this),includeTouch:z};this.dragSourceAndParamsList.push(J),this.beans.dragSvc.addDragSource(J)}setDragImageCompIcon(Q,z=!1){let J=this.dragImageComp;if(J&&(z||this.dragImageLastIcon!==Q))this.dragImageLastIcon=Q,J.setIcon(Q,z)}removeDragSource(Q){let{dragSourceAndParamsList:z,beans:J}=this;for(let Z=0,$=z.length;Z<$;Z++)if(z[Z].dragSource===Q){let X=z[Z];J.dragSvc?.removeDragSource(X),z.splice(Z,1);break}}destroy(){let{dragSourceAndParamsList:Q,dropTargets:z,beans:J}=this,Z=J.dragSvc;for(let $ of Q)Z?.removeDragSource($);Q.length=0,z.length=0,this.externalDropZoneCount=0,this.clearDragAndDropProperties(),super.destroy()}nudge(){let Q=this.lastMouseEvent;if(Q)this.onDragging(Q,!0)}onDragStart(Q,z){this.lastMouseEvent=z,this.dragSource=Q,this.dragItem=Q.getDragItem();let J=Q.eElement.getBoundingClientRect();this.dragInitialSourcePointerOffsetX=z.clientX-J.left,this.dragInitialSourcePointerOffsetY=z.clientY-J.top,Q.onDragStarted?.(),this.createAndUpdateDragImageComp(Q)}onDragStop(Q){let{dragSource:z,lastDropTarget:J}=this;if(z?.onDragStopped?.(),J){let Z=this.dropTargetEvent(J,Q,!1);J.onDragStop?.(Z)}this.clearDragAndDropProperties()}onDragCancel(){let{dragSource:Q,lastDropTarget:z,lastMouseEvent:J}=this;if(Q?.onDragCancelled?.(),z&&J){let Z=this.dropTargetEvent(z,J,!1);z.onDragCancel?.(Z)}this.clearDragAndDropProperties()}onDragging(Q,z=!1){this.positionDragImageComp(Q);let J=this.findCurrentDropTarget(Q),{lastDropTarget:Z,dragSource:$,dragItem:X}=this,Y=!1;if(J!==Z){if(Y=!0,Z){let G=this.dropTargetEvent(Z,Q,z);Z.onDragLeave?.(G)}if(Z!==null&&!J)this.handleExit($,X);else if(Z===null&&J)this.handleEnter($,X);if(J){let G=this.dropTargetEvent(J,Q,z);J.onDragEnter?.(G)}this.lastDropTarget=J}else if(J){let G=this.dropTargetEvent(J,Q,z);if(J.onDragging?.(G),G?.changed)Y=!0}if(this.lastMouseEvent=Q,Y)this.updateDragImageComp()}clearDragAndDropProperties(){this.removeDragImageComp(this.dragImageComp),this.dragImageCompPromise=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0,this.lastMouseEvent=null,this.lastDraggingEvent=null,this.lastDropTarget=null,this.dragItem=null,this.dragInitialSourcePointerOffsetX=0,this.dragInitialSourcePointerOffsetY=0,this.dragSource=null}getAllContainersFromDropTarget(Q){let z=Q.getContainer(),J=Q.getSecondaryContainers?.(),Z=J?.length;if(!Z)return[[z]];let $=Array(Z+1);$[0]=[z];for(let X=0;X<Z;++X)$[X+1]=J[X];return $}isMouseOnDropTarget(Q,z){let J=this.getAllContainersFromDropTarget(z),Z=!1,$=(G,q)=>{for(let H of q){let{width:_,height:U,left:W,right:B,top:E,bottom:K}=H.getBoundingClientRect();if(_===0||U===0)return!1;let L=G.clientX>=W&&G.clientX<B,F=G.clientY>=E&&G.clientY<K;if(!L||!F)return!1}return!0};for(let G of J)if($(Q,G)){Z=!0;break}let{eElement:X,type:Y}=this.dragSource;if(z.targetContainsSource&&!z.getContainer().contains(X))return!1;return Z&&z.isInterestedIn(Y,X)}findCurrentDropTarget(Q){let z=[],J=this.dropTargets;for(let Y=0,G=J.length;Y<G;++Y){let q=J[Y];if(this.isMouseOnDropTarget(Q,q))z.push(q)}let Z=z.length;if(Z===0)return null;if(Z===1)return z[0];let X=s0(this.beans).elementsFromPoint(Q.clientX,Q.clientY);for(let Y=0,G=X.length;Y<G;++Y){let q=X[Y];for(let H=0,_=z.length;H<_;H++){let U=z[H],W=this.getAllContainersFromDropTarget(U),B=!1;for(let E=0,K=W.length;E<K&&!B;E++){let L=W[E];for(let F=0,D=L.length;F<D;F++)if(L[F]===q){B=!0;break}}if(B)return U}}return null}addDropTarget(Q){if(this.dropTargets.push(Q),Q.external)this.externalDropZoneCount++}removeDropTarget(Q){let z=Q.getContainer(),J=this.dropTargets,Z=0;for(let $=0,X=J.length;$<X;++$){let Y=J[$];if(Y.getContainer()===z){if(Y.external)--this.externalDropZoneCount;continue}if(Z!==$)J[Z]=Y;++Z}J.length=Z}hasExternalDropZones(){return this.externalDropZoneCount>0}findExternalZone(Q){let z=this.dropTargets;for(let J=0,Z=z.length;J<Z;++J){let $=z[J];if($.external&&$.getContainer()===Q)return $}return null}dropTargetEvent(Q,z,J){let{dragSource:Z,dragItem:$,lastDraggingEvent:X,lastMouseEvent:Y,dragInitialSourcePointerOffsetX:G,dragInitialSourcePointerOffsetY:q}=this,H=Q.getContainer(),_=H.getBoundingClientRect(),{clientX:U,clientY:W}=z,B=U-(Y?.clientX||0),E=W-(Y?.clientY||0),K=this.createEvent({event:z,x:U-_.left,y:W-_.top,vDirection:E>0?"down":E<0?"up":null,hDirection:B<0?"left":B>0?"right":null,initialSourcePointerOffsetX:G,initialSourcePointerOffsetY:q,dragSource:Z,fromNudge:J,dragItem:$,dropZoneTarget:H,dropTarget:X?.dropTarget??null,changed:!!X?.changed});return this.lastDraggingEvent=K,K}positionDragImageComp(Q){let z=this.dragImageComp?.getGui();if(z)HG(z,Q,this.beans)}removeDragImageComp(Q){if(this.dragImageComp===Q)this.dragImageComp=null;if(Q)Q.getGui()?.remove(),this.destroyBean(Q)}createAndUpdateDragImageComp(Q){let z=this.createDragImageComp(Q)??null;this.dragImageCompPromise=z,z?.then((J)=>{let Z=this.lastMouseEvent;if(z!==this.dragImageCompPromise||!Z||!this.isAlive()){this.destroyBean(J);return}this.dragImageCompPromise=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0;let $=this.dragImageComp;if($!==J)this.dragImageComp=J,this.removeDragImageComp($);if(J)this.appendDragImageComp(J),this.updateDragImageComp(),this.positionDragImageComp(Z)})}appendDragImageComp(Q){let z=Q.getGui(),J=z.style;if(J.position="absolute",J.zIndex="9999",this.beans.dragSvc?.hasPointerCapture())J.pointerEvents="none";this.gos.setInstanceDomData(z),this.beans.environment.applyThemeClasses(z),J.top="20px",J.left="20px";let Z=D1(this.beans);if(!Z)this.warnNoBody();else Z.appendChild(z)}updateDragImageComp(){let{dragImageComp:Q,dragSource:z,lastDropTarget:J,lastDraggingEvent:Z,dragImageLastLabel:$}=this;if(!Q)return;this.setDragImageCompIcon(J?.getIconName?.(Z)??null);let X=z?.dragItemName;if(typeof X==="function")X=X(Z);if(X||(X=""),$!==X)this.dragImageLastLabel=X,Q.setLabel(X)}};function S9(Q){return typeof Q==="object"&&!!Q.component}function Uq(Q){if(!Q)return!1;return Q.prototype&&"getGui"in Q.prototype}function O9(Q,z,J,Z){let{name:$}=J,X,Y,G,q,H,_;if(z){let U=z,W=U[$+"Selector"],B=W?W(Z):null,E=(K)=>{if(typeof K==="string")X=K;else if(K!=null&&K!==!0)if(Q.isFrameworkComponent(K))G=K;else Y=K};if(B)E(B.component),q=B.params,H=B.popup,_=B.popupPosition;else E(U[$])}return{compName:X,jsComp:Y,fwComp:G,paramsFromSelector:q,popupFromSelector:H,popupPositionFromSelector:_}}var Wq=class extends j{constructor(){super(...arguments);this.beanName="userCompFactory"}wireBeans(Q){this.agCompUtils=Q.agCompUtils,this.registry=Q.registry,this.frameworkCompWrapper=Q.frameworkCompWrapper,this.gridOptions=Q.gridOptions}getCompDetailsFromGridOptions(Q,z,J,Z=!1){return this.getCompDetails(this.gridOptions,Q,z,J,Z)}getCompDetails(Q,z,J,Z,$=!1){let{name:X,cellRenderer:Y}=z,{compName:G,jsComp:q,fwComp:H,paramsFromSelector:_,popupFromSelector:U,popupPositionFromSelector:W}=O9(this.beans.frameworkOverrides,Q,z,Z),B,E,K=(M)=>{let k=this.registry.getUserComponent(X,M);if(k)q=!k.componentFromFramework?k.component:void 0,H=k.componentFromFramework?k.component:void 0,B=k.params,E=k.processParams};if(G!=null)K(G);if(q==null&&H==null&&J!=null)K(J);if(q&&Y&&!Uq(q))q=this.agCompUtils?.adaptFunction(z,q);if(!q&&!H){let{validation:M}=this.beans;if($&&(G!==J||!J))if(G){if(!M?.isProvidedUserComp(G))e(50,{compName:G})}else if(J){if(!M)e(260,{...this.gos.getModuleErrorParams(),propName:X,compName:J})}else e(216,{name:X});else if(J&&!M)e(146,{comp:J});return}let L=this.mergeParams(Q,z,Z,_,B,E),F=q==null,D=q??H;return{componentFromFramework:F,componentClass:D,params:L,type:z,popupFromSelector:U,popupPositionFromSelector:W,newAgStackInstance:()=>this.newAgStackInstance(D,F,L,z)}}newAgStackInstance(Q,z,J,Z){let $=!z,X;if($)X=new Q;else X=this.frameworkCompWrapper.wrap(Q,Z.mandatoryMethods,Z.optionalMethods,Z);this.createBean(X);let Y=X.init?.(J);if(Y==null)return g.resolve(X);return Y.then(()=>X)}mergeParams(Q,z,J,Z=null,$,X){let Y={...J,...$},q=Q?.[z.name+"Params"];if(typeof q==="function"){let H=q(J);B0(Y,H)}else if(typeof q==="object")B0(Y,q);return B0(Y,Z),X?X(Y):Y}};var Bq={name:"dragAndDropImageComponent",mandatoryMethods:["setIcon","setLabel"]},Eq={name:"headerComponent",optionalMethods:["refresh"]},Kq={name:"innerHeaderComponent"},Lq={name:"innerHeaderGroupComponent"},Fq={name:"headerGroupComponent"},Dq={name:"innerRenderer",cellRenderer:!0,optionalMethods:["afterGuiAttached"]},Mq={name:"cellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0};var kq={name:"loadingCellRenderer",cellRenderer:!0},Vq={name:"cellEditor",mandatoryMethods:["getValue"],optionalMethods:["isPopup","isCancelBeforeStart","isCancelAfterEnd","getPopupPosition","focusIn","focusOut","afterGuiAttached","refresh"]},fq={name:"tooltipComponent"},n5={name:"filter",mandatoryMethods:["isFilterActive","doesFilterPass","getModel","setModel"],optionalMethods:["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onFloatingFilterChanged","onAnyFilterChanged","refresh"]},Aq={name:"floatingFilterComponent",mandatoryMethods:["onParentModelChanged"],optionalMethods:["afterGuiAttached","refresh"]},jq={name:"fullWidthCellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0},Rq={name:"loadingCellRenderer",cellRenderer:!0},Sq={name:"groupRowRenderer",optionalMethods:["afterGuiAttached"],cellRenderer:!0},Oq={name:"detailCellRenderer",optionalMethods:["refresh"],cellRenderer:!0};function Pq(Q,z){return Q.getCompDetailsFromGridOptions(Bq,"agDragAndDropImage",z,!0)}function _J(Q,z,J){return Q.getCompDetails(z,Dq,void 0,J)}function Tq(Q,z,J){return Q.getCompDetails(z,Eq,"agColumnHeader",J)}function vq(Q,z,J){return Q.getCompDetails(z,Kq,void 0,J)}function Iq(Q,z){let J=z.columnGroup.getColGroupDef();return Q.getCompDetails(J,Fq,"agColumnGroupHeader",z)}function Cq(Q,z,J){return Q.getCompDetails(z,Lq,void 0,J)}function bq(Q,z){return Q.getCompDetailsFromGridOptions(jq,void 0,z,!0)}function yq(Q,z){return Q.getCompDetailsFromGridOptions(Rq,"agLoadingCellRenderer",z,!0)}function xq(Q,z){return Q.getCompDetailsFromGridOptions(Sq,"agGroupRowRenderer",z,!0)}function wq(Q,z){return Q.getCompDetailsFromGridOptions(Oq,"agDetailCellRenderer",z,!0)}function o1(Q,z,J){return Q.getCompDetails(z,Mq,void 0,J)}function M7(Q,z,J){return Q.getCompDetails(z,kq,"agSkeletonCellRenderer",J,!0)}function P9(Q,z,J){return Q.getCompDetails(z,Vq,"agCellEditor",J,!0)}function d5(Q,z,J,Z){let $=z.filter;if(S9($))z={filter:$.component,filterParams:z.filterParams};return Q.getCompDetails(z,n5,Z,J,!0)}function Nq(Q,z){return Q.getCompDetails(z.colDef,fq,"agTooltipComponent",z,!0)}function t5(Q,z,J,Z){return Q.getCompDetails(z,Aq,Z,J)}function T9(Q,z){return O9(Q,z,n5)}function R2(Q,z,J){return Q.mergeParams(z,n5,J)}var qQ=((Q)=>{return Q[Q.ToolPanel=0]="ToolPanel",Q[Q.HeaderCell=1]="HeaderCell",Q[Q.RowDrag=2]="RowDrag",Q[Q.ChartPanel=3]="ChartPanel",Q[Q.AdvancedFilterBuilder=4]="AdvancedFilterBuilder",Q})(qQ||{}),gq=class extends _q{createEvent(Q){return y(this.gos,Q)}createDragImageComp(Q){let{gos:z,beans:J}=this;return Pq(J.userCompFactory,y(z,{dragSource:Q}))?.newAgStackInstance()}handleEnter(Q,z){Q?.onGridEnter?.(z)}handleExit(Q,z){Q?.onGridExit?.(z)}warnNoBody(){R(54)}isDropZoneWithinThisGrid(Q){return this.beans.ctrlsSvc.getGridBodyCtrl().eGridBody.contains(Q.dropZoneTarget)}registerGridDropTarget(Q,z){let J={getContainer:Q,isInterestedIn:(Z)=>Z===1||Z===0,getIconName:()=>"notAllowed"};this.addDropTarget(J),z.addDestroyFunc(()=>this.removeDropTarget(J))}};var v9="ag-resizer-wrapper",tQ=(Q,z)=>({tag:"div",ref:`${Q}Resizer`,cls:`ag-resizer ag-resizer-${z}`}),hq={tag:"div",cls:v9,children:[tQ("eTopLeft","topLeft"),tQ("eTop","top"),tQ("eTopRight","topRight"),tQ("eRight","right"),tQ("eBottomRight","bottomRight"),tQ("eBottom","bottom"),tQ("eBottomLeft","bottomLeft"),tQ("eLeft","left")]},r5=class extends j0{constructor(Q,z){super();this.element=Q,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={popup:!1,...z}}wireBeans(Q){this.popupSvc=Q.popupSvc,this.dragSvc=Q.dragSvc}center(Q){let{clientHeight:z,clientWidth:J}=this.offsetParent,Z=J/2-this.getWidth()/2,$=z/2-this.getHeight()/2;this.offsetElement(Z,$,Q)}initialisePosition(Q){if(this.positioned)return;let{centered:z,forcePopupParentAsOffsetParent:J,minWidth:Z,width:$,minHeight:X,height:Y,x:G,y:q}=this.config;if(!this.offsetParent)this.setOffsetParent();let H=0,_=0,U=f0(this.element);if(U){let W=this.findBoundaryElement(),B=window.getComputedStyle(W);if(B.minWidth!=null){let E=W.offsetWidth-this.element.offsetWidth;_=Number.parseInt(B.minWidth,10)-E}if(B.minHeight!=null){let E=W.offsetHeight-this.element.offsetHeight;H=Number.parseInt(B.minHeight,10)-E}}if(this.minHeight=X||H,this.minWidth=Z||_,$)this.setWidth($);if(Y)this.setHeight(Y);if(!$||!Y)this.refreshSize();if(z)this.center(Q);else if(G||q)this.offsetElement(G,q,Q);else if(U&&J){let W=this.boundaryEl,B=!0;if(!W)W=this.findBoundaryElement(),B=!1;if(W){let E=Number.parseFloat(W.style.top),K=Number.parseFloat(W.style.left);if(B)this.offsetElement(Number.isNaN(K)?0:K,Number.isNaN(E)?0:E,Q);else this.setPosition(K,E)}}this.positioned=!!this.offsetParent}isPositioned(){return this.positioned}getPosition(){return this.position}setMovable(Q,z){if(!this.config.popup||Q===this.movable)return;this.movable=Q;let J=this.moveElementDragListener||{eElement:z,onDragStart:this.onMoveStart.bind(this),onDragging:this.onMove.bind(this),onDragStop:this.onMoveEnd.bind(this)};if(Q)this.dragSvc?.addDragSource(J),this.moveElementDragListener=J;else this.dragSvc?.removeDragSource(J),this.moveElementDragListener=void 0}setResizable(Q){if(this.clearResizeListeners(),Q)this.addResizers();else this.removeResizers();if(typeof Q==="boolean"){if(Q===!1)return;Q={topLeft:Q,top:Q,topRight:Q,right:Q,bottomRight:Q,bottom:Q,bottomLeft:Q,left:Q}}for(let z of Object.keys(Q)){let J=!!Q[z],Z=this.getResizerElement(z),$={dragStartPixels:0,eElement:Z,onDragStart:(X)=>this.onResizeStart(X,z),onDragging:this.onResize.bind(this),onDragStop:(X)=>this.onResizeEnd(X,z)};if(J||!this.isAlive()&&!J){if(J)this.dragSvc?.addDragSource($),this.resizeListeners.push($),Z.style.pointerEvents="all";else Z.style.pointerEvents="none";this.resizable[z]=J}}}removeSizeFromEl(){this.element.style.removeProperty("height"),this.element.style.removeProperty("width"),this.element.style.removeProperty("flex")}restoreLastSize(){this.element.style.flex="0 0 auto";let{height:Q,width:z}=this.lastSize;if(z!==-1)this.element.style.width=`${z}px`;if(Q!==-1)this.element.style.height=`${Q}px`}getHeight(){return this.element.offsetHeight}setHeight(Q){let{popup:z}=this.config,J=this.element,Z=!1;if(typeof Q==="string"&&Q.includes("%"))N1(J,Q),Q=x8(J),Z=!0;else if(Q=Math.max(this.minHeight,Q),this.positioned){let $=this.getAvailableHeight();if($&&Q>$)Q=$}if(this.getHeight()===Q)return;if(Z)J.style.maxHeight="unset",J.style.minHeight="unset";else if(z)N1(J,Q);else J.style.height=`${Q}px`,J.style.flex="0 0 auto",this.lastSize.height=typeof Q==="number"?Q:Number.parseFloat(Q)}getAvailableHeight(){let{popup:Q,forcePopupParentAsOffsetParent:z}=this.config;if(!this.positioned)this.initialisePosition();let{clientHeight:J}=this.offsetParent;if(!J)return null;let Z=this.element.getBoundingClientRect(),$=this.offsetParent.getBoundingClientRect(),X=Q?this.position.y:Z.top,Y=Q?0:$.top,G=0;if(z){let H=this.element.parentElement;if(H){let{bottom:_}=H.getBoundingClientRect();G=_-Z.bottom}}return J+Y-X-G}getWidth(){return this.element.offsetWidth}setWidth(Q){let z=this.element,{popup:J}=this.config,Z=!1;if(typeof Q==="string"&&Q.includes("%"))SQ(z,Q),Q=w8(z),Z=!0;else if(this.positioned){Q=Math.max(this.minWidth,Q);let{clientWidth:$}=this.offsetParent,X=J?this.position.x:this.element.getBoundingClientRect().left;if($&&Q+X>$)Q=$-X}if(this.getWidth()===Q)return;if(Z)z.style.maxWidth="unset",z.style.minWidth="unset";else if(this.config.popup)SQ(z,Q);else z.style.width=`${Q}px`,z.style.flex=" unset",this.lastSize.width=typeof Q==="number"?Q:Number.parseFloat(Q)}offsetElement(Q=0,z=0,J){let{forcePopupParentAsOffsetParent:Z}=this.config,$=Z?this.boundaryEl:this.element;if(!$)return;this.popupSvc?.positionPopup({ePopup:$,keepWithinBounds:!0,skipObserver:this.movable||this.isResizable(),updatePosition:()=>({x:Q,y:z}),postProcessCallback:J}),this.setPosition(Number.parseFloat($.style.left),Number.parseFloat($.style.top))}constrainSizeToAvailableHeight(Q){if(!this.config.forcePopupParentAsOffsetParent)return;let z=()=>{let J=this.getAvailableHeight();this.element.style.setProperty("max-height",`${J}px`)};if(Q&&this.popupSvc)this.resizeObserverSubscriber?.(),this.resizeObserverSubscriber=DQ(this.beans,this.popupSvc?.getPopupParent(),z);else if(this.element.style.removeProperty("max-height"),this.resizeObserverSubscriber)this.resizeObserverSubscriber(),this.resizeObserverSubscriber=void 0}setPosition(Q,z){this.position.x=Q,this.position.y=z}updateDragStartPosition(Q,z){this.dragStartPosition={x:Q,y:z}}calculateMouseMovement(Q){let{e:z,isLeft:J,isTop:Z,anywhereWithin:$,topBuffer:X}=Q,Y=z.clientX-this.dragStartPosition.x,G=z.clientY-this.dragStartPosition.y,q=this.shouldSkipX(z,!!J,!!$,Y)?0:Y,H=this.shouldSkipY(z,!!Z,X,G)?0:G;return{movementX:q,movementY:H}}shouldSkipX(Q,z,J,Z){let $=this.element.getBoundingClientRect(),X=this.offsetParent.getBoundingClientRect(),Y=this.boundaryEl.getBoundingClientRect(),G=this.config.popup?this.position.x:$.left,q=G<=0&&X.left>=Q.clientX||X.right<=Q.clientX&&X.right<=Y.right;if(q)return!0;if(z)q=Z<0&&Q.clientX>G+X.left||Z>0&&Q.clientX<G+X.left;else if(J)q=Z<0&&Q.clientX>Y.right||Z>0&&Q.clientX<G+X.left;else q=Z<0&&Q.clientX>Y.right||Z>0&&Q.clientX<Y.right;return q}shouldSkipY(Q,z,J=0,Z){let $=this.element.getBoundingClientRect(),X=this.offsetParent.getBoundingClientRect(),Y=this.boundaryEl.getBoundingClientRect(),G=this.config.popup?this.position.y:$.top,q=G<=0&&X.top>=Q.clientY||X.bottom<=Q.clientY&&X.bottom<=Y.bottom;if(q)return!0;if(z)q=Z<0&&Q.clientY>G+X.top+J||Z>0&&Q.clientY<G+X.top;else q=Z<0&&Q.clientY>Y.bottom||Z>0&&Q.clientY<Y.bottom;return q}createResizeMap(){let Q=(z)=>({element:this.element.querySelector(`[data-ref=${z}Resizer]`)});this.resizerMap={topLeft:Q("eTopLeft"),top:Q("eTop"),topRight:Q("eTopRight"),right:Q("eRight"),bottomRight:Q("eBottomRight"),bottom:Q("eBottom"),bottomLeft:Q("eBottomLeft"),left:Q("eLeft")}}addResizers(){if(this.resizersAdded)return;let Q=this.element;if(!Q)return;Q.appendChild(K0(hq)),this.createResizeMap(),this.resizersAdded=!0}removeResizers(){this.resizerMap=void 0,this.element.querySelector(`.${v9}`)?.remove(),this.resizersAdded=!1}getResizerElement(Q){return this.resizerMap[Q].element}onResizeStart(Q,z){if(this.boundaryEl=this.findBoundaryElement(),!this.positioned)this.initialisePosition();this.currentResizer={isTop:!!z.match(/top/i),isRight:!!z.match(/right/i),isBottom:!!z.match(/bottom/i),isLeft:!!z.match(/left/i)},this.element.classList.add("ag-resizing"),this.resizerMap[z].element.classList.add("ag-active");let{popup:J,forcePopupParentAsOffsetParent:Z}=this.config;if(!J&&!Z)this.applySizeToSiblings(this.currentResizer.isBottom||this.currentResizer.isTop);this.isResizing=!0,this.updateDragStartPosition(Q.clientX,Q.clientY)}getSiblings(){let z=this.element.parentElement;if(!z)return null;return Array.prototype.slice.call(z.children).filter((J)=>!J.classList.contains("ag-hidden"))}getMinSizeOfSiblings(){let Q=this.getSiblings()||[],z=0,J=0;for(let Z of Q){let $=!!Z.style.flex&&Z.style.flex!=="0 0 auto";if(Z===this.element)continue;let X=this.minHeight||0,Y=this.minWidth||0;if($){let G=window.getComputedStyle(Z);if(G.minHeight)X=Number.parseInt(G.minHeight,10);if(G.minWidth)Y=Number.parseInt(G.minWidth,10)}else X=Z.offsetHeight,Y=Z.offsetWidth;z+=X,J+=Y}return{height:z,width:J}}applySizeToSiblings(Q){let z=null,J=this.getSiblings();if(!J)return;for(let Z=0;Z<J.length;Z++){let $=J[Z];if($===z)continue;if(Q)$.style.height=`${$.offsetHeight}px`;else $.style.width=`${$.offsetWidth}px`;if($.style.flex="0 0 auto",$===this.element)z=J[Z+1]}if(z)z.style.removeProperty("height"),z.style.removeProperty("min-height"),z.style.removeProperty("max-height"),z.style.flex="1 1 auto"}isResizable(){return Object.values(this.resizable).some((Q)=>Q)}onResize(Q){if(!this.isResizing||!this.currentResizer)return;let{popup:z,forcePopupParentAsOffsetParent:J}=this.config,{isTop:Z,isRight:$,isBottom:X,isLeft:Y}=this.currentResizer,G=$||Y,q=X||Z,{movementX:H,movementY:_}=this.calculateMouseMovement({e:Q,isLeft:Y,isTop:Z}),U=this.position.x,W=this.position.y,B=0,E=0;if(G&&H){let K=Y?-1:1,L=this.getWidth(),F=L+H*K,D=!1;if(Y){if(B=L-F,U+B<=0||F<=this.minWidth)D=!0,B=0}if(!D)this.setWidth(F)}if(q&&_){let K=Z?-1:1,L=this.getHeight(),F=L+_*K,D=!1;if(Z){if(E=L-F,W+E<=0||F<=this.minHeight)D=!0,E=0}else if(!this.config.popup&&!this.config.forcePopupParentAsOffsetParent&&L<F&&this.getMinSizeOfSiblings().height+F>this.element.parentElement.offsetHeight)D=!0;if(!D)this.setHeight(F)}if(this.updateDragStartPosition(Q.clientX,Q.clientY),(z||J)&&B||E)this.offsetElement(U+B,W+E)}onResizeEnd(Q,z){this.isResizing=!1,this.currentResizer=null,this.boundaryEl=null,this.element.classList.remove("ag-resizing"),this.resizerMap[z].element.classList.remove("ag-active"),this.dispatchLocalEvent({type:"resize"})}refreshSize(){let Q=this.element;if(this.config.popup){if(!this.config.width)this.setWidth(Q.offsetWidth);if(!this.config.height)this.setHeight(Q.offsetHeight)}}onMoveStart(Q){if(this.boundaryEl=this.findBoundaryElement(),!this.positioned)this.initialisePosition();this.isMoving=!0,this.element.classList.add("ag-moving"),this.updateDragStartPosition(Q.clientX,Q.clientY)}onMove(Q){if(!this.isMoving)return;let{x:z,y:J}=this.position,Z;if(this.config.calculateTopBuffer)Z=this.config.calculateTopBuffer();let{movementX:$,movementY:X}=this.calculateMouseMovement({e:Q,isTop:!0,anywhereWithin:!0,topBuffer:Z});this.offsetElement(z+$,J+X),this.updateDragStartPosition(Q.clientX,Q.clientY)}onMoveEnd(){this.isMoving=!1,this.boundaryEl=null,this.element.classList.remove("ag-moving")}setOffsetParent(){if(this.config.forcePopupParentAsOffsetParent&&this.popupSvc)this.offsetParent=this.popupSvc.getPopupParent();else this.offsetParent=this.element.offsetParent}findBoundaryElement(){let Q=this.element;while(Q){if(window.getComputedStyle(Q).position!=="static")return Q;Q=Q.parentElement}return this.element}clearResizeListeners(){while(this.resizeListeners.length){let Q=this.resizeListeners.pop();this.dragSvc?.removeDragSource(Q)}}destroy(){if(super.destroy(),this.moveElementDragListener)this.dragSvc?.removeDragSource(this.moveElementDragListener);this.constrainSizeToAvailableHeight(!1),this.clearResizeListeners(),this.removeResizers()}},UJ=class extends r5{},S=null;function bZ(Q){return typeof Q?.getGui==="function"}var I9=class{constructor(Q){this.cssClassStates={},this.getGui=Q}toggleCss(Q,z){if(!Q)return;if(Q.includes(" ")){let Z=(Q||"").split(" ");if(Z.length>1){for(let $ of Z)this.toggleCss($,z);return}}if(this.cssClassStates[Q]!==z&&Q.length)this.getGui()?.classList.toggle(Q,z),this.cssClassStates[Q]=z}},uq=0,p0=class extends j0{constructor(Q,z){super();if(this.suppressDataRefValidation=!1,this.displayed=!0,this.visible=!0,this.compId=uq++,this.cssManager=new I9(()=>this.eGui),this.componentSelectors=new Map((z??[]).map((J)=>[J.selector,J])),Q)this.setTemplate(Q)}preConstruct(){this.wireTemplate(this.getGui()),this.addGlobalCss()}wireTemplate(Q,z){if(Q&&this.gos)this.applyElementsToComponent(Q),this.createChildComponentsFromTags(Q,z)}getCompId(){return this.compId}getDataRefAttribute(Q){if(Q.getAttribute)return Q.getAttribute(p8);return null}applyElementsToComponent(Q,z,J,Z=null){if(z===void 0)z=this.getDataRefAttribute(Q);if(z){let $=this[z];if($===S)this[z]=Z??Q;else{let X=J?.[z];if(!this.suppressDataRefValidation&&!X)throw Error(`data-ref: ${z} on ${this.constructor.name} with ${$}`)}}}createChildComponentsFromTags(Q,z){let J=[];for(let Z of Q.childNodes??[])J.push(Z);for(let Z of J){if(!(Z instanceof HTMLElement))continue;let $=this.createComponentFromElement(Z,(X)=>{let Y=X.getGui();if(Y)for(let G of Z.attributes??[])Y.setAttribute(G.name,G.value)},z);if($){if($.addItems&&Z.children.length){this.createChildComponentsFromTags(Z,z);let X=Array.prototype.slice.call(Z.children);$.addItems(X)}this.swapComponentForNode($,Q,Z)}else if(Z.childNodes)this.createChildComponentsFromTags(Z,z)}}createComponentFromElement(Q,z,J){let Z=Q.nodeName,$=this.getDataRefAttribute(Q),X=Z.indexOf("AG-")===0,Y=X?this.componentSelectors.get(Z):null,G=null;if(Y){let q=J&&$?J[$]:void 0;G=new Y.component(q),G.setParentComponent(this),this.createBean(G,null,z)}else if(X)throw Error(`selector: ${Z}`);return this.applyElementsToComponent(Q,$,J,G),G}swapComponentForNode(Q,z,J){let Z=Q.getGui();z.replaceChild(Z,J),z.insertBefore(document.createComment(J.nodeName),Z),this.addDestroyFunc(this.destroyBean.bind(this,Q))}activateTabIndex(Q,z){let J=z??this.gos.get("tabIndex");if(!Q)Q=[];if(!Q.length)Q.push(this.getGui());for(let Z of Q)Z.setAttribute("tabindex",J.toString())}setTemplate(Q,z,J){let Z;if(typeof Q==="string"||Q==null)Z=v5(Q);else Z=K0(Q);this.setTemplateFromElement(Z,z,J)}setTemplateFromElement(Q,z,J,Z=!1){if(this.eGui=Q,this.suppressDataRefValidation=Z,z)for(let $=0;$<z.length;$++){let X=z[$];this.componentSelectors.set(X.selector,X)}this.wireTemplate(Q,J)}getGui(){return this.eGui}getFocusableElement(){return this.eGui}getAriaElement(){return this.getFocusableElement()}setParentComponent(Q){this.parentComponent=Q}getParentComponent(){return this.parentComponent}setGui(Q){this.eGui=Q}queryForHtmlElement(Q){return this.eGui.querySelector(Q)}getContainerAndElement(Q,z){let J=z;if(Q==null)return null;if(!J)J=this.eGui;if(XJ(Q))return{element:Q,parent:J};return{element:Q.getGui(),parent:J}}prependChild(Q,z){let{element:J,parent:Z}=this.getContainerAndElement(Q,z)||{};if(!J||!Z)return;Z.prepend(J)}appendChild(Q,z){let{element:J,parent:Z}=this.getContainerAndElement(Q,z)||{};if(!J||!Z)return;Z.appendChild(J)}isDisplayed(){return this.displayed}setVisible(Q,z={}){if(Q!==this.visible){this.visible=Q;let{skipAriaHidden:J}=z;o4(this.eGui,Q,{skipAriaHidden:J})}}setDisplayed(Q,z={}){if(Q!==this.displayed){this.displayed=Q;let{skipAriaHidden:J}=z;N(this.eGui,Q,{skipAriaHidden:J});let Z={type:"displayChanged",visible:this.displayed};this.dispatchLocalEvent(Z)}}destroy(){if(this.parentComponent)this.parentComponent=void 0;super.destroy()}addGuiEventListener(Q,z,J){this.eGui.addEventListener(Q,z,J),this.addDestroyFunc(()=>this.eGui.removeEventListener(Q,z))}addCss(Q){this.cssManager.toggleCss(Q,!0)}removeCss(Q){this.cssManager.toggleCss(Q,!1)}toggleCss(Q,z){this.cssManager.toggleCss(Q,z)}registerCSS(Q){if(this.css===k7)this.css=[Q],this.addGlobalCss();else this.css||(this.css=[]),this.css.push(Q)}addGlobalCss(){if(Array.isArray(this.css)){let Q="component-"+Object.getPrototypeOf(this)?.constructor?.name;for(let z of this.css??[])this.beans.environment.addGlobalCSS(z,Q)}this.css=k7}},k7=Symbol(),x=class extends p0{},S2,O2,P2,T2,Y5,G5,v2;function cz(){if(S2===void 0)S2=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return S2}function yZ(){if(O2===void 0)O2=/(firefox)/i.test(navigator.userAgent);return O2}function C9(){if(P2===void 0)P2=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);return P2}function bz(){if(T2===void 0)T2=/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1;return T2}function q5(Q){if(!Q)return null;let z=Q.tabIndex,J=Q.getAttribute("tabIndex");if(z===-1&&(J===null||J===""&&!yZ()))return null;return z.toString()}function mq(){if(v2!==void 0)return v2;if(!document.body)return-1;let Q=1e6,z=yZ()?6000000:1e9,J=document.createElement("div");document.body.appendChild(J);while(!0){let Z=Q*2;if(J.style.height=Z+"px",Z>z||J.clientHeight!==Z)break;else Q=Z}return J.remove(),v2=Q,Q}function s5(){if(G5==null)b9();return G5}function b9(){let Q=document.body,z=document.createElement("div");z.style.width=z.style.height="100px",z.style.opacity="0",z.style.overflow="scroll",z.style.msOverflowStyle="scrollbar",z.style.position="absolute",Q.appendChild(z);let J=z.offsetWidth-z.clientWidth;if(J===0&&z.clientWidth===0)J=null;if(z.parentNode)z.remove();if(J!=null)G5=J,Y5=J===0}function y9(){if(Y5==null)b9();return Y5}var H5=!1,YZ=0;function cq(Q){if(YZ>0)return;Q.addEventListener("keydown",GZ),Q.addEventListener("mousedown",GZ)}function pq(Q){if(YZ>0)return;Q.removeEventListener("keydown",GZ),Q.removeEventListener("mousedown",GZ)}function GZ(Q){let z=H5,J=Q.type==="keydown";if(J){if(Q.ctrlKey||Q.metaKey||Q.altKey)return}if(z===J)return;H5=J}function iq(Q){let z=Y0(Q);return cq(z),YZ++,()=>{YZ--,pq(z)}}function V1(){return H5}function EQ(Q,z,J=!1){let Z=a4,$=y8;if(z)$+=", "+z;if(J)$+=', [tabindex="-1"]';let X=Array.prototype.slice.apply(Q.querySelectorAll(Z)).filter((q)=>{return f0(q)}),Y=Array.prototype.slice.apply(Q.querySelectorAll($));if(!Y.length)return X;return((q,H)=>q.filter((_)=>H.indexOf(_)===-1))(X,Y)}function D0(Q,z=!1,J=!1,Z=!1){let $=EQ(Q,Z?".ag-tab-guard":null,J),X=z?b($):$[0];if(X)return X.focus({preventScroll:!0}),!0;return!1}function R0(Q,z,J,Z){let $=EQ(z,J?':not([tabindex="-1"])':null),X=d(Q),Y;if(J)Y=$.findIndex((q)=>q.contains(X));else Y=$.indexOf(X);let G=Y+(Z?-1:1);if(G<0||G>=$.length)return null;return $[G]}function xZ(Q,z=5){let J=0;while(Q&&q5(Q)===null&&++J<=z)Q=Q.parentElement;if(q5(Q)===null)return null;return Q}var l5="ag-focus-managed",x9=class extends j0{constructor(Q,z={isStopPropagation:()=>!1,stopPropagation:()=>{}},J={}){super();this.eFocusable=Q,this.stopPropagationCallbacks=z,this.callbacks=J,this.callbacks={shouldStopEventPropagation:()=>!1,onTabKeyDown:(Z)=>{if(Z.defaultPrevented)return;let $=R0(this.beans,this.eFocusable,!1,Z.shiftKey);if(!$)return;$.focus(),Z.preventDefault()},...J}}postConstruct(){let{eFocusable:Q,callbacks:{onFocusIn:z,onFocusOut:J}}=this;if(Q.classList.add(l5),this.addKeyDownListeners(Q),z)this.addManagedElementListeners(Q,{focusin:z});if(J)this.addManagedElementListeners(Q,{focusout:J})}addKeyDownListeners(Q){this.addManagedElementListeners(Q,{keydown:(z)=>{if(z.defaultPrevented||this.stopPropagationCallbacks.isStopPropagation(z))return;let{callbacks:J}=this;if(J.shouldStopEventPropagation(z)){this.stopPropagationCallbacks.stopPropagation(z);return}if(z.key===V.TAB)J.onTabKeyDown(z);else if(J.handleKeyDown)J.handleKeyDown(z)}})}},w9="__ag_Grid_Stop_Propagation";function i0(Q){Q[w9]=!0}function zQ(Q){return Q[w9]===!0}var Uz={isStopPropagation:zQ,stopPropagation:i0},cQ=class extends x9{constructor(Q,z){super(Q,Uz,z)}},nq={applyFilter:"Apply",clearFilter:"Clear",resetFilter:"Reset",cancelFilter:"Cancel",textFilter:"Text Filter",numberFilter:"Number Filter",bigintFilter:"BigInt 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",filterSummaryInactive:"is (All)",filterSummaryContains:"contains",filterSummaryNotContains:"does not contain",filterSummaryTextEquals:"equals",filterSummaryTextNotEqual:"does not equal",filterSummaryStartsWith:"begins with",filterSummaryEndsWith:"ends with",filterSummaryBlank:"is blank",filterSummaryNotBlank:"is not blank",filterSummaryEquals:"=",filterSummaryNotEqual:"!=",filterSummaryGreaterThan:">",filterSummaryGreaterThanOrEqual:">=",filterSummaryLessThan:"<",filterSummaryLessThanOrEqual:"<=",filterSummaryInRange:"between",yesterday:"Yesterday",today:"Today",tomorrow:"Tomorrow",last7Days:"Last 7 Days",lastWeek:"Last Week",thisWeek:"This Week",nextWeek:"Next Week",last30Days:"Last 30 Days",lastMonth:"Last Month",thisMonth:"This Month",nextMonth:"Next Month",last90Days:"Last 90 Days",lastQuarter:"Last Quarter",thisQuarter:"This Quarter",nextQuarter:"Next Quarter",lastYear:"Last Year",thisYear:"This Year",yearToDate:"Year To Date",nextYear:"Next Year",last6Months:"Last 6 Months",last12Months:"Last 12 Months",last24Months:"Last 24 Months",filterSummaryInRangeValues:(Q)=>`(${Q[0]}, ${Q[1]})`,filterSummaryTextQuote:(Q)=>`"${Q[0]}"`,minDateValidation:(Q)=>`Date must be after ${Q[0]}`,maxDateValidation:(Q)=>`Date must be before ${Q[0]}`,strictMinValueValidation:(Q)=>`Must be greater than ${Q[0]}`,strictMaxValueValidation:(Q)=>`Must be less than ${Q[0]}`};function N9(Q,z,J){return UG(Q,nq,z,J)}function dq(Q,z){let{debounceMs:J}=Q;if(WJ(Q)){if(J!=null)R(71);return 0}return J??z}function WJ(Q){return(Q.buttons?.indexOf("apply")??-1)>=0}var wZ=class extends x{constructor(Q,z){super();this.filterNameKey=Q,this.cssIdentifier=z,this.applyActive=!1,this.debouncePending=!1,this.defaultDebounceMs=0}postConstruct(){let Q={tag:"div",cls:`ag-filter-body-wrapper ag-${this.cssIdentifier}-body-wrapper`,children:[this.createBodyTemplate()]};this.setTemplate(Q,this.getAgComponents()),this.createManagedBean(new cQ(this.getFocusableElement(),{handleKeyDown:this.handleKeyDown.bind(this)})),this.positionableFeature=this.createBean(new UJ(this.getPositionableElement(),{forcePopupParentAsOffsetParent:!0}))}handleKeyDown(Q){}init(Q){let z=Q;this.setParams(z),this.setModelIntoUi(z.state.model,!0).then(()=>this.updateUiVisibility())}areStatesEqual(Q,z){return Q===z}refresh(Q){let z=Q,J=this.params;this.params=z;let{source:Z,state:$,additionalEventAttributes:X}=z;if(Z==="colDef")this.updateParams(z,J);let Y=this.state;this.state=$;let G=X?.fromAction;if(G&&G!=="apply"||$.model!==Y.model||!this.areStatesEqual($.state,Y.state))this.setModelIntoUi($.model);return!0}setParams(Q){this.params=Q,this.state=Q.state,this.commonUpdateParams(Q)}updateParams(Q,z){this.commonUpdateParams(Q,z)}commonUpdateParams(Q,z){this.applyActive=WJ(Q),this.setupApplyDebounced()}doesFilterPass(Q){R(283);let{getHandler:z,model:J,column:Z}=this.params;return z().doesFilterPass({...Q,model:J,handlerParams:this.beans.colFilter.getHandlerParams(Z)})}getFilterTitle(){return this.translate(this.filterNameKey)}isFilterActive(){return R(284),this.params.model!=null}setupApplyDebounced(){let Q=dq(this.params,this.defaultDebounceMs),z=gQ(this,this.checkApplyDebounce.bind(this),Q);this.applyDebounced=()=>{this.debouncePending=!0,z()}}checkApplyDebounce(){if(this.debouncePending)this.debouncePending=!1,this.doApplyModel()}getModel(){return R(285),this.params.model}setModel(Q){R(286);let{beans:z,params:J}=this;return z.colFilter.setModelForColumnLegacy(J.column,Q)}applyModel(Q="api"){return this.doApplyModel()}canApply(Q){return!0}doApplyModel(Q){let{params:z,state:{valid:J=!0,model:Z}}=this;if(!J)return!1;let $=!this.areModelsEqual(z.model,Z);if($)z.onAction("apply",Q);return $}onNewRowsLoaded(){}onUiChanged(Q,z=!1){this.updateUiVisibility();let J=this.getModelFromUi(),Z={model:J,state:this.getState(),valid:this.canApply(J)};this.state=Z;let{params:$,gos:X,eventSvc:Y,applyActive:G}=this;if($.onStateChange(Z),$.onUiChange(this.getUiChangeEventParams()),!X.get("enableFilterHandlers"))Y.dispatchEvent({type:"filterModified",column:$.column,filterInstance:this});if(!Z.valid)return;if(Q??(Q=G?void 0:"debounce"),Q==="immediately")this.doApplyModel({afterFloatingFilter:z,afterDataChange:!1});else if(Q==="debounce")this.applyDebounced()}getState(){return}getUiChangeEventParams(){return}afterGuiAttached(Q){this.lastContainerType=Q?.container,this.refreshFilterResizer(Q?.container)}refreshFilterResizer(Q){let{positionableFeature:z,gos:J}=this;if(!z)return;let Z=Q==="floatingFilter"||Q==="columnFilter";if(Z)z.restoreLastSize(),z.setResizable(J.get("enableRtl")?{bottom:!0,bottomLeft:!0,left:!0}:{bottom:!0,bottomRight:!0,right:!0});else z.removeSizeFromEl(),z.setResizable(!1);z.constrainSizeToAvailableHeight(Z)}afterGuiDetached(){this.checkApplyDebounce(),this.positionableFeature?.constrainSizeToAvailableHeight(!1)}destroy(){this.positionableFeature=this.destroyBean(this.positionableFeature),super.destroy()}translate(Q,z){return N9(this,Q,z)}getPositionableElement(){return this.getGui()}areModelsEqual(Q,z){if(Q===z||Q==null&&z==null)return!0;if(Q==null||z==null)return!1;return this.areNonNullModelsEqual(Q,z)}};var a5=class extends p0{isPopup(){return!0}setParentComponent(Q){Q.addCss("ag-has-popup"),super.setParentComponent(Q)}destroy(){let Q=this.parentComponent;if(Q?.isAlive())Q.getGui().classList.remove("ag-has-popup");super.destroy()}},tq=class extends a5{constructor(){super(...arguments);this.errorMessages=null}init(Q){this.params=Q,this.initialiseEditor(Q),this.eEditor.onValueChange(()=>Q.validate())}destroy(){this.eEditor.destroy(),this.errorMessages=null,super.destroy()}};function o5(Q){let z=Q.rowModel;return z.getType()==="clientSide"?z:void 0}var V7="row-group-",rq="t-",sq="b-",lq=0,Wz=class{constructor(Q){this.id=void 0,this.destroyed=!1,this._groupData=void 0,this.master=!1,this.detail=void 0,this.rowIndex=null,this.field=null,this.rowGroupColumn=null,this.key=null,this.sourceRowIndex=-1,this._leafs=void 0,this.childrenAfterGroup=null,this.childrenAfterFilter=null,this.childrenAfterAggFilter=null,this.childrenAfterSort=null,this.allChildrenCount=null,this.childrenMapped=null,this.treeParent=null,this.treeNodeFlags=0,this._expanded=void 0,this.displayed=!1,this.rowTop=null,this.oldRowTop=null,this.selectable=!0,this.__objectId=lq++,this.alreadyRendered=!1,this.formulaRowIndex=null,this.hovered=!1,this.__selected=!1,this.beans=Q}get groupData(){let Q=this._groupData;if(Q!==void 0)return Q;if(this.footer)return this.sibling?.groupData;return this.beans.groupStage?.loadGroupData(this)??null}set groupData(Q){this._groupData=Q}get primaryRow(){let Q=this.footer&&this.sibling?this.sibling:this,{pinnedSibling:z}=Q;if(z&&Q.rowPinned){if(Q=z,Q.footer&&Q.sibling)Q=Q.sibling}return Q}get allLeafChildren(){let Q=this._leafs;return Q===void 0?this.beans.groupStage?.loadLeafs?.(this)??null:Q}set allLeafChildren(Q){this._leafs=Q}get expanded(){let Q=this.beans.expansionSvc;return Q?Q.isExpanded(this):this.level===-1?!0:!!this._expanded}set expanded(Q){this._expanded=Q}setData(Q){this.setDataCommon(Q,!1)}updateData(Q){this.setDataCommon(Q,!0)}setDataCommon(Q,z){let{valueCache:J,eventSvc:Z}=this.beans,$=this.data;this.data=Q,J?.onDataChanged(),this.updateDataOnDetailNode(),this.resetQuickFilterAggregateText();let X=this.createDataChangedEvent(Q,$,z);if(this.__localEventService?.dispatchEvent(X),this.sibling){this.sibling.data=Q;let G=this.sibling.createDataChangedEvent(Q,$,z);this.sibling.__localEventService?.dispatchEvent(G)}Z.dispatchEvent({type:"rowNodeDataChanged",node:this});let Y=this.pinnedSibling;if(Y)Y.data=Q,Y.__localEventService?.dispatchEvent(Y.createDataChangedEvent(Q,$,z)),Z.dispatchEvent({type:"rowNodeDataChanged",node:Y})}updateDataOnDetailNode(){let Q=this.detailNode;if(Q)Q.data=this.data}createDataChangedEvent(Q,z,J){return{type:"dataChanged",node:this,oldData:z,newData:Q,update:J}}getRowIndexString(){if(this.rowIndex==null)return e(13),null;if(this.rowPinned==="top")return rq+this.rowIndex;if(this.rowPinned==="bottom")return sq+this.rowIndex;return this.rowIndex.toString()}setDataAndId(Q,z){let{selectionSvc:J}=this.beans,Z=J?.createDaemonNode?.(this),$=this.data;if(this.data=Q,this.updateDataOnDetailNode(),this.setId(z),J)J.updateRowSelectable(this),J.syncInRowNode(this,Z);let X=this.createDataChangedEvent(Q,$,!1);this.__localEventService?.dispatchEvent(X)}setId(Q){let z=Z5(this.beans.gos);if(z)if(this.data){let J=this.parent?.getRoute()??[];if(this.id=z({data:this.data,parentKeys:J.length>0?J:void 0,level:this.level,rowPinned:this.rowPinned}),this.id.startsWith(V7))e(14,{groupPrefix:V7})}else this.id=void 0;else this.id=Q}setRowTop(Q){if(this.oldRowTop=this.rowTop,this.rowTop===Q)return;this.rowTop=Q,this.dispatchRowEvent("topChanged");let z=Q!==null;if(this.displayed!==z)this.displayed=z,this.dispatchRowEvent("displayedChanged")}clearRowTopAndRowIndex(){this.oldRowTop=null,this.setRowTop(null),this.setRowIndex(null)}setHovered(Q){this.hovered=Q}isHovered(){return this.hovered}setRowHeight(Q,z=!1){this.rowHeight=Q,this.rowHeightEstimated=z,this.dispatchRowEvent("heightChanged")}setExpanded(Q,z,J){this.beans.expansionSvc?.setExpanded(this,Q,z,J)}setDataValue(Q,z,J){let{colModel:Z,valueSvc:$,gos:X,editSvc:Y}=this.beans;if(Q==null)return!1;let G=Z.getCol(Q)??Z.getColDefCol(Q);if(!G)return!1;if(!this.group){let _=G.getColDef();if(_.pivotValueColumn)G=_.pivotValueColumn}let q=$.getValueForDisplay({column:G,node:this,from:"data"}).value;if(X.get("readOnlyEdit")){let{beans:{eventSvc:_},data:U,rowIndex:W,rowPinned:B}=this;return _.dispatchEvent({type:"cellEditRequest",event:null,rowIndex:W,rowPinned:B,column:G,colDef:G.colDef,data:U,node:this,oldValue:q,newValue:z,value:z,source:J}),!1}if(J!=="data"&&Y&&!Y.committing){let _=Y.setDataValue({rowNode:this,column:G},z,J);if(_!=null)return _}let H=$.setValue(this,G,z,J);if(this.dispatchCellChangedEvent(G,z,q),H)this.pinnedSibling?.dispatchCellChangedEvent(G,z,q);return H}getDataValue(Q,z="data"){let{colModel:J,valueSvc:Z,formula:$}=this.beans;if(Q==null)return;let X=J.getCol(Q)??J.getColDefCol(Q);if(!X)return;let Y=z==="data-raw",G=Y||z==="value"?"data":z,q=Z.getValue(X,this,G,Y);if(!Y){if($&&X.isAllowFormula()&&$.isFormula(q))q=$.resolveValue(X,this);if(z!=="data"&&X.getAggFunc()&&typeof q==="object"&&q!=null){if(typeof q.toNumber==="function")return q.toNumber();if("value"in q)return q.value}}return q}updateHasChildren(){let Q=this.group&&!this.footer||!!this.childrenAfterGroup?.length,{rowChildrenSvc:z}=this.beans;if(z)Q=z.getHasChildrenValue(this);if(Q!==this.__hasChildren)this.__hasChildren=!!Q,this.dispatchRowEvent("hasChildrenChanged")}hasChildren(){if(this.__hasChildren==null)this.updateHasChildren();return this.__hasChildren}dispatchCellChangedEvent(Q,z,J){let Z={type:"cellChanged",node:this,column:Q,newValue:z,oldValue:J};this.__localEventService?.dispatchEvent(Z)}resetQuickFilterAggregateText(){this.quickFilterAggregateText=null}isExpandable(){return this.beans.expansionSvc?.isExpandable(this)??!1}isSelected(){if(this.footer)return this.sibling.isSelected();let Q=this.rowPinned&&this.pinnedSibling;if(Q)return Q.isSelected();return this.__selected}depthFirstSearch(Q){let z=this.childrenAfterGroup;if(z)for(let J=0,Z=z.length;J<Z;++J)z[J].depthFirstSearch(Q);Q(this)}getAggregatedChildren(Q,z){let J=this.beans;return J.aggChildrenSvc?.getAggregatedChildren(this,J.colModel.getCol(Q),z)??[]}dispatchRowEvent(Q){this.__localEventService?.dispatchEvent({type:Q,node:this})}setSelected(Q,z=!1,J="api"){this.beans.selectionSvc?.setNodesSelected({nodes:[this],newValue:Q,clearSelection:z,source:J})}isRowPinned(){return!!this.rowPinned}__addEventListener(Q,z){(this.__localEventService??(this.__localEventService=new KQ)).addEventListener(Q,z)}__removeEventListener(Q,z){this.removeLocalListener(Q,z)}addEventListener(Q,z){this.beans.validation?.checkRowEvents(Q);let J=this.__localEventService??(this.__localEventService=new KQ);this.frameworkEventListenerService=this.beans.frameworkOverrides.createLocalEventListenerWrapper?.(this.frameworkEventListenerService,J);let Z=this.frameworkEventListenerService?.wrap(Q,z)??z;J.addEventListener(Q,Z)}removeEventListener(Q,z){let J=this.frameworkEventListenerService?.unwrap(Q,z)??z;this.removeLocalListener(Q,J)}removeLocalListener(Q,z){let J=this.__localEventService;if(J){if(J.removeEventListener(Q,z),J.noRegisteredListenersExist())this.__localEventService=null}}isFullWidthCell(){if(R(61),this.detail)return!0;let Q=this.beans.gos.getCallback("isFullWidthRow");return Q?Q({rowNode:this}):!1}getRoute(){if(this.level===-1)return[];if(this.key==null)return;let Q=[],z=this;while(z?.key!=null)Q.push(z.key),z=z.parent;return Q.reverse()}setRowIndex(Q){if(this.rowIndex!==Q)this.rowIndex=Q,this.dispatchRowEvent("rowIndexChanged")}setAllChildrenCount(Q){if(this.allChildrenCount!==Q)this.allChildrenCount=Q,this.dispatchRowEvent("allChildrenCountChanged")}setUiLevel(Q){if(this.uiLevel!==Q)this.uiLevel=Q,this.dispatchRowEvent("uiLevelChanged")}getFirstChild(){let Q=this.childStore;if(Q)return Q.getFirstNode();return this.childrenAfterSort?.[0]??null}_destroy(Q){if(this.destroyed)return!1;this.destroyed=!0;let z=this.pinnedSibling;if(z?.rowPinned&&!this.rowPinned)this.beans.pinnedRowModel?.pinRow(z,null);if(Q)this.clearRowTopAndRowIndex();else this.setRowTop(null),this.setRowIndex(null);if(!this.footer){let J=this.detailNode;if(J)J._destroy(Q);let Z=this.sibling;if(Z)Z._destroy(Q)}return!0}};function e5(Q,z,J){return y(z,{type:J,node:Q,data:Q.data,rowIndex:Q.rowIndex,rowPinned:Q.rowPinned})}var aq=new Set(["__autoHeights","__checkAutoHeightsDebounced","__localEventService","__objectId","_groupData","_leafs","childStore","groupValue","oldRowTop","sticky","treeNodeFlags","treeParent"]),g9=(Q,z)=>{let J=new Wz(z);for(let Z of Object.keys(Q)){if(aq.has(Z))continue;J[Z]=Q[Z]}return J.oldRowTop=null,J},h9=(Q,z,J)=>{if(!J)return;let Z=J.rowIndex;if(Z==null)return;Z+=z;let $=Q.getRowCount();while(Z>=0&&Z<$){let X=Q.getRow(Z);if(!X||!X.footer&&!X.detail)return X;Z+=z}return};var oq=500,eq=550,yJ,QH=(Q)=>{if(!yJ)yJ=new WeakSet;else if(yJ.has(Q))return!1;return yJ.add(Q),!0},h0=class{constructor(Q,z=!1){this.eElement=Q,this.preventClick=z,this.startListener=null,this.handlers=[],this.eventSvc=void 0,this.touchStart=null,this.lastTapTime=null,this.longPressTimer=0,this.moved=!1}addEventListener(Q,z){let J=this.eventSvc;if(!J){if(J===null)return;this.eventSvc=J=new KQ;let Z=this.onTouchStart.bind(this);this.startListener=Z,this.eElement.addEventListener("touchstart",Z,{passive:!0})}J.addEventListener(Q,z)}removeEventListener(Q,z){this.eventSvc?.removeEventListener(Q,z)}onTouchStart(Q){if(this.touchStart||!QH(Q))return;let z=Q.touches[0];this.touchStart=z;let J=this.handlers;if(!J.length){let Z=this.eElement,$=Z.ownerDocument,X=this.onTouchMove.bind(this),Y=this.onTouchEnd.bind(this),G=this.onTouchCancel.bind(this),q={passive:!0},H={passive:!1};pJ(J,[Z,"touchmove",X,q],[$,"touchcancel",G,q],[$,"touchend",Y,H],[$,"contextmenu",J1,H])}this.clearLongPress(),this.longPressTimer=window.setTimeout(()=>{if(this.longPressTimer=0,this.touchStart===z&&!this.moved)this.moved=!0,this.eventSvc?.dispatchEvent({type:"longTap",touchStart:z,touchEvent:Q})},eq)}onTouchMove(Q){let{moved:z,touchStart:J}=this;if(!z&&J){let Z=G1(J,Q.touches);if(Z&&!i8(Z,J,4))this.clearLongPress(),this.moved=!0}}onTouchEnd(Q){let z=this.touchStart;if(!z||!G1(z,Q.changedTouches))return;if(!this.moved)this.eventSvc?.dispatchEvent({type:"tap",touchStart:z}),this.checkDoubleTap(z);if(this.preventClick)J1(Q);this.cancel()}onTouchCancel(Q){let z=this.touchStart;if(!z||!G1(z,Q.changedTouches))return;this.lastTapTime=null,this.cancel()}checkDoubleTap(Q){let z=Date.now(),J=this.lastTapTime;if(J){if(z-J>oq)this.eventSvc?.dispatchEvent({type:"doubleTap",touchStart:Q}),z=null}this.lastTapTime=z}cancel(){this.clearLongPress(),I5(this.handlers),this.touchStart=null}clearLongPress(){window.clearTimeout(this.longPressTimer),this.longPressTimer=0,this.moved=!1}destroy(){let Q=this.startListener;if(Q)this.startListener=null,this.eElement.removeEventListener("touchstart",Q);this.cancel(),this.eElement=null,this.eventSvc=null}},CQ=((Q)=>{return Q[Q.VALUE=0]="VALUE",Q[Q.DIMENSION=1]="DIMENSION",Q})(CQ||{}),zH=1,JH=class{constructor(Q){if(this.beans={},this.createdBeans=[],this.destroyed=!1,this.instanceId=zH++,!Q?.beanClasses)return;this.beanDestroyComparator=Q.beanDestroyComparator,this.init(Q)}init(Q){this.id=Q.id,this.beans.context=this,this.destroyCallback=Q.destroyCallback;for(let z of Object.keys(Q.providedBeanInstances))this.beans[z]=Q.providedBeanInstances[z];for(let z of Q.beanClasses){let J=new z;if(J.beanName)this.beans[J.beanName]=J;else console.error(`Bean ${z.name} is missing beanName`);this.createdBeans.push(J)}for(let z of Q.derivedBeans??[]){let{beanName:J,bean:Z}=z(this);this.beans[J]=Z,this.createdBeans.push(Z)}if(Q.beanInitComparator)this.createdBeans.sort(Q.beanInitComparator);this.initBeans(this.createdBeans)}getBeanInstances(){return Object.values(this.beans)}createBean(Q,z){return this.initBeans([Q],z),Q}initBeans(Q,z){let J=this.beans;for(let Z of Q)Z.preWireBeans?.(J),Z.wireBeans?.(J);for(let Z of Q)Z.preConstruct?.();if(z)Q.forEach(z);for(let Z of Q)Z.postConstruct?.()}getBeans(){return this.beans}getBean(Q){return this.beans[Q]}getId(){return this.id}destroy(){if(this.destroyed)return;this.destroyed=!0;let Q=this.getBeanInstances();if(this.beanDestroyComparator)Q.sort(this.beanDestroyComparator);this.destroyBeans(Q),this.beans={},this.createdBeans=[],this.destroyCallback?.()}destroyBean(Q){Q?.destroy?.()}destroyBeans(Q){if(Q)for(let z=0;z<Q.length;z++)this.destroyBean(Q[z]);return[]}isDestroyed(){return this.destroyed}};function ZH(Q){return{beanName:"gridApi",bean:Q.getBean("apiFunctionSvc").api}}var $H=["licenseManager","environment","eventSvc","gos","paginationAutoPageSizeSvc","apiFunctionSvc","gridApi","registry","agCompUtils","userCompFactory","rowContainerHeight","horizontalResizeSvc","localeSvc","pinnedRowModel","dragSvc","colGroupSvc","visibleCols","popupSvc","selectionSvc","colFilter","quickFilter","filterManager","colModel","headerNavigation","pageBounds","pagination","pageBoundsListener","rowSpanSvc","stickyRowSvc","rowRenderer","expressionSvc","alignedGridsSvc","navigation","valueCache","valueSvc","autoWidthCalc","filterMenuFactory","dragAndDrop","focusSvc","cellNavigation","cellStyles","scrollVisibleSvc","sortSvc","colHover","colAnimation","autoColSvc","selectionColSvc","changeDetectionSvc","animationFrameSvc","undoRedo","colDefFactory","rowStyleSvc","rowNodeBlockLoader","rowNodeSorter","ctrlsSvc","pinnedCols","dataTypeSvc","syncSvc","overlays","stateSvc","expansionSvc","apiEventSvc","ariaAnnounce","menuSvc","colMoves","colAutosize","colFlex","colResize","pivotColsSvc","valueColsSvc","rowGroupColsSvc","colNames","colViewport","pivotResultCols","showRowGroupCols","validation"],f7=Object.fromEntries($H.map((Q,z)=>[Q,z]));function XH(Q,z){let J=(Q.beanName?f7[Q.beanName]:void 0)??Number.MAX_SAFE_INTEGER,Z=(z.beanName?f7[z.beanName]:void 0)??Number.MAX_SAFE_INTEGER;return J-Z}function YH(Q,z){if(Q?.beanName==="gridDestroySvc")return-1;if(z?.beanName==="gridDestroySvc")return 1;return 0}function bQ(Q){let{rowIndex:z,rowPinned:J,column:Z}=Q;return`${z}.${J==null?"null":J}.${Z.getId()}`}function f1(Q,z){let J=Q.column===z.column,Z=Q.rowPinned===z.rowPinned,$=Q.rowIndex===z.rowIndex;return J&&Z&&$}function q0(Q,z){switch(Q.rowPinned){case"top":if(z.rowPinned!=="top")return!0;break;case"bottom":if(z.rowPinned!=="bottom")return!1;break;default:if(T(z.rowPinned))return z.rowPinned!=="top";break}return Q.rowIndex<z.rowIndex}function l(Q,z){if(!Q&&!z)return!0;if(!Q||!z)return!1;return Q.rowIndex===z.rowIndex&&Q.rowPinned==z.rowPinned}function K1(Q){let z=0,J,{pinnedRowModel:Z,rowModel:$,pageBounds:X}=Q;if(Z?.getPinnedTopRowCount())J="top";else if($.getRowCount())J=null,z=X.getFirstRow();else if(Z?.getPinnedBottomRowCount())J="bottom";return J===void 0?null:{rowIndex:z,rowPinned:J}}function Gz(Q){let z,J=null,{pinnedRowModel:Z,pageBounds:$}=Q,X=Z?.getPinnedBottomRowCount(),Y=Z?.getPinnedTopRowCount();if(X)J="bottom",z=X-1;else if(Q.rowModel.getRowCount())z=$.getLastRow();else if(Y)J="top",z=Y-1;return z===void 0?null:{rowIndex:z,rowPinned:J}}function M0(Q,z){switch(z.rowPinned){case"top":return Q.pinnedRowModel?.getPinnedTopRow(z.rowIndex);case"bottom":return Q.pinnedRowModel?.getPinnedBottomRow(z.rowIndex);default:return Q.rowModel.getRow(z.rowIndex)}}function e0(Q,z){let J=Q.spannedRowRenderer?.getCellByPosition(z);if(J)return J;let Z=Q.rowRenderer.getRowByPosition(z);if(!Z)return null;return Z.getCellCtrl(z.column)}function GH(Q,z,J){let{rowModel:Z,pinnedRowModel:$}=Q,X;if(X??(X=Z?.getRowNode(z)),J)X??(X=$?.getPinnedRowById(z,J));else X??(X=$?.getPinnedRowById(z,"top")),X??(X=$?.getPinnedRowById(z,"bottom"));return X}function m0(Q,z,J=!1){let{rowIndex:Z,rowPinned:$}=z,{pageBounds:X,pinnedRowModel:Y,rowModel:G}=Q;if(Z===0){if($==="top")return null;if($==="bottom"&&G.isRowsToRender())return{rowIndex:X.getLastRow(),rowPinned:null};return Y?.isRowsToRender("top")?{rowIndex:Y.getPinnedTopRowCount()-1,rowPinned:"top"}:null}if(J){let q=$?void 0:G.getRow(Z);return u9(Q,q,!0)??{rowIndex:Z-1,rowPinned:$}}return{rowIndex:Z-1,rowPinned:$}}function Q6(Q,z){let{pinnedRowModel:J,rowModel:Z}=Q,$=J?.getPinnedTopRowCount()??0,X=Z.getRowCount(),{rowPinned:Y,rowIndex:G}=z;if(Y==="top")return G;if(Y==="bottom")return $+X+G;return $+G}function L0(Q,z,J=!1){let{rowIndex:Z,rowPinned:$}=z,{pageBounds:X,pinnedRowModel:Y,rowModel:G}=Q;if(qH(Q,z)){if($==="bottom")return null;if($==="top"&&G.isRowsToRender())return{rowIndex:X.getFirstRow(),rowPinned:null};return Y?.isRowsToRender("bottom")?{rowIndex:0,rowPinned:"bottom"}:null}if(J){let q=$?void 0:G.getRow(Z);return u9(Q,q)??{rowIndex:Z+1,rowPinned:$}}return{rowIndex:Z+1,rowPinned:$}}function u9(Q,z,J=!1){let{gos:Z,rowRenderer:$}=Q;if(!z?.sticky||!k1(Z))return;let X=$.getStickyTopRowCtrls(),Y=$.getStickyBottomRowCtrls(),G=!Y.some((U)=>U.rowNode.rowIndex===z.rowIndex),q=G?X:Y,H=(J?-1:1)*(G?-1:1),_;for(let U=0;U<q.length;U++)if(q[U].rowNode.rowIndex===z.rowIndex){_=q[U+H];break}return _?{rowIndex:_.rowNode.rowIndex,rowPinned:null}:void 0}function qH(Q,z){let{rowPinned:J,rowIndex:Z}=z,{pinnedRowModel:$,pageBounds:X}=Q;if(J==="top")return($?.getPinnedTopRowCount()??0)-1<=Z;if(J==="bottom")return($?.getPinnedBottomRowCount()??0)-1<=Z;return X.getLastRow()<=Z}function Bz(Q,z,J){z.addManagedElementListeners(J,{keydown:(Z)=>{if(!Z.defaultPrevented&&!UH(Z)&&Z.key===V.TAB){let $=Z.shiftKey;if(!R0(Q,J,!1,$)){if($Q(Q,$))Z.preventDefault()}}}})}function _Q(Q){return Q.gos.get("suppressHeaderFocus")||!!Q.overlays?.exclusive}function qZ(Q){return Q.gos.get("suppressCellFocus")||!!Q.overlays?.exclusive}function $Q(Q,z,J=!1){let Z=Q.ctrlsSvc.get("gridCtrl"),$=Z.focusNextInnerContainer(z);if($===!0)return!0;if($===!1)return $;if(J||!z&&!Z.isDetailGrid()&&Z.isFocusInsideGridBody())Z.forceFocusOutOfContainer(z);return!1}function HH(Q,z){let J=Q.focusSvc,Z=J.getFocusedCell();if(Z&&z&&f1(Z,z)){let{rowIndex:$,rowPinned:X,column:Y}=z;if(hz(Q))J.setFocusedCell({rowIndex:$,column:Y,rowPinned:X,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!V1()})}}function _H(Q,z){let J=Q.getFocusableContainerName();if(J==="gridBody")return z();return m9(Q,()=>EQ(Q.getGui(),".ag-tab-guard").length>0)?J:null}function m9(Q,z){Q.setAllowFocus?.(!0);try{return z()}finally{Q.setAllowFocus?.(!1)}}var c9="__ag_Grid_Skip_Focusable_Container";function p9(Q){Q[c9]=!0}function UH(Q){return Q[c9]===!0}function i9(Q){if(!Q.cols)return-1;return Q.cols.treeDepth+1}function l0(Q){return Q.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0}function z6(Q){let z=[],J=Q.ctrlsSvc.getHeaderRowContainerCtrls();for(let Z of J){if(!Z)continue;let $=Z.getGroupRowCount()||0;for(let X=0;X<$;X++){let Y=Z.getGroupRowCtrlAtIndex(X),G=z[X];if(Y){let q=WH(Q,Y);if(G==null||q>G)z[X]=q}}}return z}function WH(Q,z){let Z=Q.colModel.isPivotMode()?EH(Q):d9(Q),$=z.getHeaderCellCtrls();for(let X of $){let{column:Y}=X,G=Y.getAutoHeaderHeight();if(G!=null&&G>Z&&Y.isAutoHeaderHeight())Z=G}return Z}function J6(Q){let J=Q.colModel.isPivotMode()?BH(Q):NZ(Q);return Q.colModel.forAllCols((Z)=>{let $=Z.getAutoHeaderHeight();if($!=null&&$>J&&Z.isAutoHeaderHeight())J=$}),J}function NZ(Q){return Q.gos.get("headerHeight")??Q.environment.getDefaultHeaderHeight()}function n9(Q){return Q.gos.get("floatingFiltersHeight")??NZ(Q)}function d9(Q){return Q.gos.get("groupHeaderHeight")??NZ(Q)}function BH(Q){return Q.gos.get("pivotHeaderHeight")??NZ(Q)}function EH(Q){return Q.gos.get("pivotGroupHeaderHeight")??d9(Q)}function KH(Q,z){return Q.headerRowIndex===z.headerRowIndex&&Q.column===z.column}function LH(Q){return Q?.headerRowIndex!=null}var FH=class extends j{setComp(Q,z,J){this.comp=Q,this.eGui=z;let{beans:Z}=this,{headerNavigation:$,touchSvc:X,ctrlsSvc:Y}=Z;if($)this.createManagedBean(new cQ(J,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusOut:this.onFocusOut.bind(this)}));this.addManagedEventListeners({columnPivotModeChanged:this.onPivotModeChanged.bind(this,Z),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this,Z)}),this.onPivotModeChanged(Z),this.setupHeaderHeight();let G=this.onHeaderContextMenu.bind(this);this.addManagedElementListeners(this.eGui,{contextmenu:G}),X?.mockHeaderContextMenu(this,G),Y.register("gridHeaderCtrl",this)}setupHeaderHeight(){let Q=this.setHeaderHeight.bind(this);Q(),this.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],Q),this.addManagedEventListeners({headerRowsChanged:Q,columnHeaderHeightChanged:Q,columnGroupHeaderHeightChanged:()=>YQ(this.beans,()=>Q()),stylesChanged:Q,advancedFilterEnabledChanged:Q})}setHeaderHeight(){let{beans:Q}=this,z=0,J=z6(Q).reduce((Y,G)=>Y+G,0),Z=J6(Q);if(Q.filterManager?.hasFloatingFilters())z+=n9(Q);z+=J,z+=Z;let $=Q.environment.getHeaderRowBorderWidth(),X=z+$;if(this.headerHeightWithBorder!==X){this.headerHeightWithBorder=X;let Y=`${X}px`;this.comp.setHeightAndMinHeight(Y)}if(this.headerHeight!==z)this.headerHeight=z,this.eventSvc.dispatchEvent({type:"headerHeightChanged"})}onPivotModeChanged(Q){let z=Q.colModel.isPivotMode();this.comp.toggleCss("ag-pivot-on",z),this.comp.toggleCss("ag-pivot-off",!z)}onDisplayedColumnsChanged(Q){let J=Q.visibleCols.allCols.some((Z)=>Z.isSpanHeaderHeight());this.comp.toggleCss("ag-header-allow-overflow",J)}onTabKeyDown(Q){let z=this.gos.get("enableRtl"),J=Q.shiftKey,Z=J!==z?"LEFT":"RIGHT",{beans:$}=this,{headerNavigation:X,focusSvc:Y}=$;if(X.navigateHorizontally(Z,!0,Q)||!J&&Y.focusOverlay(!1)||$Q($,J,!0))Q.preventDefault()}handleKeyDown(Q){let z=null,{headerNavigation:J}=this.beans;switch(Q.key){case V.LEFT:z="LEFT";case V.RIGHT:{if(!T(z))z="RIGHT";if(J.navigateHorizontally(z,!1,Q))Q.preventDefault();break}case V.UP:z="UP";case V.DOWN:{if(!T(z))z="DOWN";if(J.navigateVertically(z,Q))Q.preventDefault();break}default:return}}onFocusOut(Q){let{relatedTarget:z}=Q,{eGui:J,beans:Z}=this;if(!z&&J.contains(d(Z)))return;if(!J.contains(z))Z.focusSvc.focusedHeader=null}onHeaderContextMenu(Q,z,J){let{menuSvc:Z,ctrlsSvc:$}=this.beans;if(!Q&&!J||!Z?.isHeaderContextMenuEnabled())return;let{target:X}=Q??z;if(X===this.eGui||X===$.getHeaderRowContainerCtrl()?.eViewport)Z.showHeaderContextMenu(void 0,Q,J)}},Z6=class extends x{constructor(Q,z){super(Q);this.ctrl=z}getCtrl(){return this.ctrl}},DH={tag:"div",cls:"ag-header-cell",role:"columnheader",children:[{tag:"div",ref:"eResize",cls:"ag-header-cell-resize",role:"presentation"},{tag:"div",ref:"eHeaderCompWrapper",cls:"ag-header-cell-comp-wrapper",role:"presentation"}]},MH=class extends Z6{constructor(Q){super(DH,Q);this.eResize=S,this.eHeaderCompWrapper=S,this.headerCompVersion=0}postConstruct(){let Q=this.getGui(),z=()=>{let Z=this.ctrl.getSelectAllGui();if(Z)this.eResize.insertAdjacentElement("afterend",Z),this.addDestroyFunc(()=>Z.remove())},J={setWidth:(Z)=>Q.style.width=Z,toggleCss:(Z,$)=>this.toggleCss(Z,$),setUserStyles:(Z)=>$J(Q,Z),setAriaSort:(Z)=>Z?r4(Q,Z):s4(Q),setUserCompDetails:(Z)=>this.setUserCompDetails(Z),getUserCompInstance:()=>this.headerComp,refreshSelectAllGui:z,removeSelectAllGui:()=>this.ctrl.getSelectAllGui()?.remove()};this.ctrl.setComp(J,this.getGui(),this.eResize,this.eHeaderCompWrapper,void 0),z()}destroy(){this.destroyHeaderComp(),super.destroy()}destroyHeaderComp(){if(this.headerComp)this.headerCompGui?.remove(),this.headerComp=this.destroyBean(this.headerComp),this.headerCompGui=void 0}setUserCompDetails(Q){this.headerCompVersion++;let z=this.headerCompVersion;Q.newAgStackInstance().then((J)=>this.afterCompCreated(z,J))}afterCompCreated(Q,z){if(Q!=this.headerCompVersion||!this.isAlive()){this.destroyBean(z);return}this.destroyHeaderComp(),this.headerComp=z,this.headerCompGui=z.getGui(),this.eHeaderCompWrapper.appendChild(this.headerCompGui),this.ctrl.setDragSource(this.getGui())}},kH={tag:"div",cls:"ag-header-group-cell",role:"columnheader",children:[{tag:"div",ref:"eHeaderCompWrapper",cls:"ag-header-cell-comp-wrapper",role:"presentation"},{tag:"div",ref:"eResize",cls:"ag-header-cell-resize",role:"presentation"}]},VH=class extends Z6{constructor(Q){super(kH,Q);this.eResize=S,this.eHeaderCompWrapper=S}postConstruct(){let Q=this.getGui(),z=(Z,$)=>$!=null?Q.setAttribute(Z,$):Q.removeAttribute(Z),J={toggleCss:(Z,$)=>this.toggleCss(Z,$),setUserStyles:(Z)=>$J(Q,Z),setHeaderWrapperHidden:(Z)=>{if(Z)this.eHeaderCompWrapper.style.setProperty("display","none");else this.eHeaderCompWrapper.style.removeProperty("display")},setHeaderWrapperMaxHeight:(Z)=>{if(Z!=null)this.eHeaderCompWrapper.style.setProperty("max-height",`${Z}px`);else this.eHeaderCompWrapper.style.removeProperty("max-height");this.eHeaderCompWrapper.classList.toggle("ag-header-cell-comp-wrapper-limited-height",Z!=null)},setResizableDisplayed:(Z)=>N(this.eResize,Z),setWidth:(Z)=>Q.style.width=Z,setAriaExpanded:(Z)=>z("aria-expanded",Z),setUserCompDetails:(Z)=>this.setUserCompDetails(Z),getUserCompInstance:()=>this.headerGroupComp};this.ctrl.setComp(J,Q,this.eResize,this.eHeaderCompWrapper,void 0)}setUserCompDetails(Q){Q.newAgStackInstance().then((z)=>this.afterHeaderCompCreated(z))}afterHeaderCompCreated(Q){let z=()=>this.destroyBean(Q);if(!this.isAlive()){z();return}let J=this.getGui(),Z=Q.getGui();this.eHeaderCompWrapper.appendChild(Z),this.addDestroyFunc(z),this.headerGroupComp=Q,this.ctrl.setDragSource(J)}},fH={tag:"div",cls:"ag-header-cell ag-floating-filter",role:"gridcell",children:[{tag:"div",ref:"eFloatingFilterBody",role:"presentation"},{tag:"div",ref:"eButtonWrapper",cls:"ag-floating-filter-button ag-hidden",role:"presentation",children:[{tag:"button",ref:"eButtonShowMainFilter",cls:"ag-button ag-floating-filter-button-button",attrs:{type:"button",tabindex:"-1"}}]}]},AH=class extends Z6{constructor(Q){super(fH,Q);this.eFloatingFilterBody=S,this.eButtonWrapper=S,this.eButtonShowMainFilter=S}postConstruct(){let Q=this.getGui(),z={toggleCss:(J,Z)=>this.toggleCss(J,Z),setUserStyles:(J)=>$J(Q,J),addOrRemoveBodyCssClass:(J,Z)=>this.eFloatingFilterBody.classList.toggle(J,Z),setButtonWrapperDisplayed:(J)=>N(this.eButtonWrapper,J),setCompDetails:(J)=>this.setCompDetails(J),getFloatingFilterComp:()=>this.compPromise,setWidth:(J)=>Q.style.width=J,setMenuIcon:(J)=>this.eButtonShowMainFilter.appendChild(J)};this.ctrl.setComp(z,Q,this.eButtonShowMainFilter,this.eFloatingFilterBody,void 0)}setCompDetails(Q){if(!Q){this.destroyFloatingFilterComp(),this.compPromise=null;return}this.compPromise=Q.newAgStackInstance(),this.compPromise.then((z)=>this.afterCompCreated(z))}destroy(){this.destroyFloatingFilterComp(),super.destroy()}destroyFloatingFilterComp(){this.floatingFilterComp?.getGui().remove(),this.floatingFilterComp=this.destroyBean(this.floatingFilterComp)}afterCompCreated(Q){if(!Q)return;if(!this.isAlive()){this.destroyBean(Q);return}this.destroyFloatingFilterComp(),this.floatingFilterComp=Q,this.eFloatingFilterBody.appendChild(Q.getGui()),Q.afterGuiAttached?.()}},jH=class extends x{constructor(Q){super({tag:"div",cls:Q.headerRowClass,role:"row"});this.ctrl=Q,this.headerComps={}}postConstruct(){this.getGui().setAttribute("tabindex",String(this.gos.get("tabIndex"))),eJ(this.getGui(),this.ctrl.getAriaRowIndex());let z={setHeight:(J)=>this.getGui().style.height=J,setTop:(J)=>this.getGui().style.top=J,setHeaderCtrls:(J,Z)=>this.setHeaderCtrls(J,Z),setWidth:(J)=>this.getGui().style.width=J,setRowIndex:(J)=>eJ(this.getGui(),J)};this.ctrl.setComp(z,void 0)}destroy(){this.setHeaderCtrls([],!1),super.destroy()}setHeaderCtrls(Q,z){if(!this.isAlive())return;let J=this.headerComps;this.headerComps={};for(let Z of Q){let $=Z.instanceId,X=J[$];if(delete J[$],X==null)X=this.createHeaderComp(Z),this.getGui().appendChild(X.getGui());this.headerComps[$]=X}if(Object.values(J).forEach((Z)=>{Z.getGui().remove(),this.destroyBean(Z)}),z){let Z=Object.values(this.headerComps);Z.sort((X,Y)=>{let G=X.getCtrl().column.getLeft(),q=Y.getCtrl().column.getLeft();return G-q});let $=Z.map((X)=>X.getGui());u8(this.getGui(),$)}}createHeaderComp(Q){let z;switch(this.ctrl.type){case"group":z=new VH(Q);break;case"filter":z=new AH(Q);break;default:z=new MH(Q);break}return this.createBean(z),z.setParentComponent(this),z}},$6=class extends j{constructor(Q,z=!1){super();this.callback=Q,this.addSpacer=z}postConstruct(){let Q=this.setWidth.bind(this);if(this.addManagedPropertyListener("domLayout",Q),this.addManagedEventListeners({columnContainerWidthChanged:Q,displayedColumnsChanged:Q,leftPinnedWidthChanged:Q}),this.addSpacer)this.addManagedEventListeners({rightPinnedWidthChanged:Q,scrollVisibilityChanged:Q,scrollbarWidthChanged:Q});this.setWidth()}setWidth(){let Q=V0(this.gos,"print"),{visibleCols:z,scrollVisibleSvc:J}=this.beans,Z=z.bodyWidth,$=z.getColsLeftWidth(),X=z.getDisplayedColumnsRightWidth(),Y;if(Q)Y=Z+$+X;else if(Y=Z,this.addSpacer){if((this.gos.get("enableRtl")?$:X)===0&&J.verticalScrollShowing)Y+=J.getScrollbarWidth()}this.callback(Y)}};function BJ(Q,z,J){if(J)Q.addDestroyFunc(()=>z.destroyBean(J));return J??Q}var X6=class extends j{constructor(Q,z,J,Z){super();this.columnOrGroup=Q,this.eCell=z,this.colsSpanning=Z,this.columnOrGroup=Q,this.ariaEl=z.querySelector("[role=columnheader]")||z,this.beans=J}setColsSpanning(Q){this.colsSpanning=Q,this.onLeftChanged()}getColumnOrGroup(){let{beans:Q,colsSpanning:z}=this;if(Q.gos.get("enableRtl")&&z)return b(z);return this.columnOrGroup}postConstruct(){let Q=this.onLeftChanged.bind(this);this.addManagedListeners(this.columnOrGroup,{leftChanged:Q}),this.setLeftFirstTime(),this.addManagedEventListeners({displayedColumnsWidthChanged:Q}),this.addManagedPropertyListener("domLayout",Q)}setLeftFirstTime(){let{gos:Q,colAnimation:z}=this.beans,J=Q.get("suppressColumnMoveAnimation"),Z=T(this.columnOrGroup.getOldLeft());if(z?.isActive()&&Z&&!J)this.animateInLeft();else this.onLeftChanged()}animateInLeft(){let Q=this.getColumnOrGroup(),z=this.modifyLeftForPrintLayout(Q,Q.getOldLeft()),J=this.modifyLeftForPrintLayout(Q,Q.getLeft());this.setLeft(z),this.actualLeft=J,this.beans.colAnimation.executeNextVMTurn(()=>{if(this.actualLeft===J)this.setLeft(J)})}onLeftChanged(){let Q=this.getColumnOrGroup(),z=Q.getLeft();this.actualLeft=this.modifyLeftForPrintLayout(Q,z),this.setLeft(this.actualLeft)}modifyLeftForPrintLayout(Q,z){let{gos:J,visibleCols:Z}=this.beans;if(!V0(J,"print"))return z;if(Q.getPinned()==="left")return z;let X=Z.getColsLeftWidth();if(Q.getPinned()==="right"){let Y=Z.bodyWidth;return X+Y+z}return X+z}setLeft(Q){if(T(Q))this.eCell.style.left=`${Q}px`;if(_0(this.columnOrGroup)){let z=this.columnOrGroup.getLeafColumns();if(!z.length)return;if(z.length>1)t4(this.ariaEl,z.length)}}},RH="ag-column-first",SH="ag-column-last";function gZ(Q,z,J,Z){if(n(Q))return[];return r9(Q.headerClass,Q,z,J,Z)}function hZ(Q,z,J,Z){if(n(Q))return[];return r9(Q.toolPanelClass,Q,z,J,Z)}function t9(Q,z,J){Q.toggleCss(RH,J.isColAtEdge(z,"first")),Q.toggleCss(SH,J.isColAtEdge(z,"last"))}function OH(Q,z,J,Z){return y(z,{colDef:Q,column:J,columnGroup:Z})}function r9(Q,z,J,Z,$){if(n(Q))return[];let X;if(typeof Q==="function"){let Y=OH(z,J,Z,$);X=Q(Y)}else X=Q;if(typeof X==="string")return[X];if(Array.isArray(X))return[...X];return[]}var PH=0,s9="headerCtrl",Y6=class extends j{constructor(Q,z){super();this.column=Q,this.rowCtrl=z,this.resizeToggleTimeout=0,this.resizeMultiplier=1,this.resizeFeature=null,this.lastFocusEvent=null,this.dragSource=null,this.reAttemptToFocus=!1,this.instanceId=Q.getUniqueId()+"-"+PH++}postConstruct(){let Q=this.refreshTabIndex.bind(this);this.addManagedPropertyListeners(["suppressHeaderFocus"],Q),this.addManagedEventListeners({overlayExclusiveChanged:Q})}setComp(Q,z,J,Z,$){if(z.setAttribute("col-id",this.column.colIdSanitised),this.wireComp(Q,z,J,Z,$),this.reAttemptToFocus)this.reAttemptToFocus=!1,this.focus(this.lastFocusEvent??void 0)}shouldStopEventPropagation(Q){let{headerRowIndex:z,column:J}=this.beans.focusSvc.focusedHeader,Z=J.getDefinition(),$=Z?.suppressHeaderKeyboardEvent;if(!T($))return!1;let X=y(this.gos,{colDef:Z,column:J,headerRowIndex:z,event:Q});return!!$(X)}getWrapperHasFocus(){return d(this.beans)===this.eGui}setGui(Q,z){this.eGui=Q,this.addDomData(z),z.addManagedListeners(this.beans.eventSvc,{displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this)}),z.addManagedElementListeners(this.eGui,{focus:this.onGuiFocus.bind(this)}),this.onDisplayedColumnsChanged(),this.refreshTabIndex()}refreshHeaderStyles(){let Q=this.column.getDefinition();if(!Q)return;let{headerStyle:z}=Q,J;if(typeof z==="function"){let Z=this.getHeaderClassParams();J=z(Z)}else J=z;if(J)this.comp.setUserStyles(J)}onGuiFocus(){this.eventSvc.dispatchEvent({type:"headerFocused",column:this.column})}setupAutoHeight(Q){let{wrapperElement:z,checkMeasuringCallback:J,compBean:Z}=Q,{beans:$}=this,X=(U)=>{if(!this.isAlive()||!Z.isAlive())return;let{paddingTop:W,paddingBottom:B,borderBottomWidth:E,borderTopWidth:K}=M1(this.eGui),L=W+B+E+K,D=z.offsetHeight+L;if(U<5){let k=!Y0($)?.contains(z),f=D==0;if(k||f){e2(()=>X(U+1),"raf",$);return}}this.setColHeaderHeight(this.column,D)},Y=!1,G,q=()=>{let U=this.column.isAutoHeaderHeight();if(U&&!Y)H();if(!U&&Y)_()},H=()=>{Y=!0,this.comp.toggleCss("ag-header-cell-auto-height",!0),X(0),G=DQ(this.beans,z,()=>X(0))},_=()=>{if(Y=!1,G)G();this.comp.toggleCss("ag-header-cell-auto-height",!1),G=void 0};if(q(),Z.addDestroyFunc(()=>_()),Z.addManagedListeners(this.column,{widthChanged:()=>Y&&X(0)}),Z.addManagedEventListeners({sortChanged:()=>{if(Y)window.setTimeout(()=>X(0))}}),J)J(q)}onDisplayedColumnsChanged(){let{comp:Q,column:z,beans:J,eGui:Z}=this;if(!Q||!z||!Z)return;t9(Q,z,J.visibleCols),v8(Z,J.visibleCols.getAriaColIndex(z))}addResizeAndMoveKeyboardListeners(Q){Q.addManagedListeners(this.eGui,{keydown:this.onGuiKeyDown.bind(this),keyup:this.onGuiKeyUp.bind(this)})}refreshTabIndex(){let Q=_Q(this.beans);if(this.eGui)Pz(this.eGui,"tabindex",Q?null:"-1")}onGuiKeyDown(Q){let z=d(this.beans),J=Q.key===V.LEFT||Q.key===V.RIGHT;if(this.isResizing)Q.preventDefault(),Q.stopImmediatePropagation();if(z!==this.eGui||!Q.shiftKey&&!Q.altKey&&!Q.ctrlKey&&!Q.metaKey)return;if(this.isResizing||J)Q.preventDefault(),Q.stopImmediatePropagation();if((Q.ctrlKey||Q.metaKey)&&R9(Q)===V.C)return this.beans.clipboardSvc?.copyToClipboard();if(!J)return;let X=Q.key===V.LEFT!==this.gos.get("enableRtl")?"left":"right";if(Q.altKey){this.isResizing=!0,this.resizeMultiplier+=1;let Y=this.getViewportAdjustedResizeDiff(Q);this.resizeHeader(Y,Q.shiftKey),this.resizeFeature?.toggleColumnResizing(!0)}else this.moveHeader(X)}moveHeader(Q){this.beans.colMoves?.moveHeader(Q,this.eGui,this.column,this.rowCtrl.pinned,this)}getViewportAdjustedResizeDiff(Q){let z=this.getResizeDiff(Q),{pinnedCols:J}=this.beans;return J?J.getHeaderResizeDiff(z,this.column):z}getResizeDiff(Q){let{gos:z,column:J}=this,Z=Q.key===V.LEFT!==z.get("enableRtl"),$=J.getPinned(),X=z.get("enableRtl");if($){if(X!==($==="right"))Z=!Z}return(Z?-1:1)*this.resizeMultiplier}onGuiKeyUp(){if(!this.isResizing)return;if(this.resizeToggleTimeout)window.clearTimeout(this.resizeToggleTimeout),this.resizeToggleTimeout=0;this.isResizing=!1,this.resizeMultiplier=1,this.resizeToggleTimeout=window.setTimeout(()=>{this.resizeFeature?.toggleColumnResizing(!1)},150)}handleKeyDown(Q){let z=this.getWrapperHasFocus();switch(Q.key){case V.PAGE_DOWN:case V.PAGE_UP:case V.PAGE_HOME:case V.PAGE_END:if(z)Q.preventDefault()}}addDomData(Q){let z=s9,{eGui:J,gos:Z}=this;wz(Z,J,z,this),Q.addDestroyFunc(()=>wz(Z,J,z,null))}focus(Q){if(!this.isAlive())return!1;let{eGui:z}=this;if(!z)this.reAttemptToFocus=!0;else this.lastFocusEvent=Q||null,z.focus();return!0}focusThis(){this.beans.focusSvc.focusedHeader={headerRowIndex:this.rowCtrl.rowIndex,column:this.column}}removeDragSource(){if(this.dragSource)this.beans.dragAndDrop?.removeDragSource(this.dragSource),this.dragSource=null}handleContextMenuMouseEvent(Q,z,J){let Z=Q??z,{menuSvc:$,gos:X}=this.beans;if(X.get("preventDefaultOnContextMenu"))Z.preventDefault();if($?.isHeaderContextMenuEnabled(J))$.showHeaderContextMenu(J,Q,z);this.dispatchColumnMouseEvent("columnHeaderContextMenu",J)}dispatchColumnMouseEvent(Q,z){this.eventSvc.dispatchEvent({type:Q,column:z})}setColHeaderHeight(Q,z){if(!Q.setAutoHeaderHeight(z))return;let{eventSvc:J}=this;if(Q.isColumn)J.dispatchEvent({type:"columnHeaderHeightChanged",column:Q,columns:[Q],source:"autosizeColumnHeaderHeight"});else J.dispatchEvent({type:"columnGroupHeaderHeightChanged",columnGroup:Q,source:"autosizeColumnGroupHeaderHeight"})}clearComponent(){this.removeDragSource(),this.resizeFeature=null,this.comp=null,this.eGui=null}destroy(){super.destroy(),this.column=null,this.lastFocusEvent=null,this.rowCtrl=null}},TH=class extends Y6{constructor(){super(...arguments);this.refreshFunctions={},this.userHeaderClasses=new Set,this.ariaDescriptionProperties=new Map}wireComp(Q,z,J,Z,$){this.comp=Q;let{rowCtrl:X,column:Y,beans:G}=this,{colResize:q,context:H,colHover:_,rangeSvc:U}=G,W=BJ(this,H,$);if(this.setGui(z,W),this.updateState(),this.setupWidth(W),this.setupMovingCss(W),this.setupMenuClass(W),this.setupSortableClass(W),this.setupWrapTextClass(),this.refreshSpanHeaderHeight(),this.setupAutoHeight({wrapperElement:Z,checkMeasuringCallback:(E)=>this.setRefreshFunction("measuring",E),compBean:W}),this.addColumnHoverListener(W),this.setupFilterClass(W),this.setupStylesFromColDef(),this.setupClassesFromColDef(),this.setupTooltip(),this.addActiveHeaderMouseListeners(W),this.setupSelectAll(W),this.setupUserComp(),this.refreshAria(),q)this.resizeFeature=W.createManagedBean(q.createResizeFeature(X.pinned,Y,J,Q,this));else N(J,!1);_?.createHoverFeature(W,[Y],z),U?.createRangeHighlightFeature(W,Y,Q),W.createManagedBean(new X6(Y,z,G)),W.createManagedBean(new cQ(z,{shouldStopEventPropagation:(E)=>this.shouldStopEventPropagation(E),onTabKeyDown:()=>null,handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this),onFocusOut:this.onFocusOut.bind(this)})),this.addResizeAndMoveKeyboardListeners(W),W.addManagedPropertyListeners(["suppressMovableColumns","suppressMenuHide","suppressAggFuncInHeader","enableAdvancedFilter"],()=>this.refresh()),W.addManagedListeners(Y,{colDefChanged:()=>this.refresh(),formulaRefChanged:()=>this.refresh(),headerHighlightChanged:this.onHeaderHighlightChanged.bind(this)});let B=()=>this.checkDisplayName();W.addManagedEventListeners({columnValueChanged:B,columnRowGroupChanged:B,columnPivotChanged:B,headerHeightChanged:this.onHeaderHeightChanged.bind(this)}),W.addDestroyFunc(()=>{this.refreshFunctions={},this.selectAllFeature=null,this.dragSourceElement=void 0,this.userCompDetails=null,this.userHeaderClasses.clear(),this.ariaDescriptionProperties.clear(),this.clearComponent()})}resizeHeader(Q,z){this.beans.colResize?.resizeHeader(this.column,Q,z)}getHeaderClassParams(){let{column:Q,beans:z}=this,J=Q.colDef;return y(z.gos,{colDef:J,column:Q,floatingFilter:!1})}setupUserComp(){let Q=this.lookupUserCompDetails();if(Q)this.setCompDetails(Q)}setCompDetails(Q){this.userCompDetails=Q,this.comp.setUserCompDetails(Q)}lookupUserCompDetails(){let Q=this.createParams(),z=this.column.getColDef();return Tq(this.beans.userCompFactory,z,Q)}createParams(){let{menuSvc:Q,sortSvc:z,colFilter:J,gos:Z}=this.beans;return y(Z,{column:this.column,displayName:this.displayName,enableSorting:this.column.isSortable(),enableMenu:this.menuEnabled,enableFilterButton:this.openFilterEnabled&&!!Q?.isHeaderFilterButtonEnabled(this.column),enableFilterIcon:!!J&&(!this.openFilterEnabled||U0(this.gos)),showColumnMenu:(X,Y)=>{Q?.showColumnMenu({column:this.column,buttonElement:X,positionBy:"button",onClosedCallback:Y})},showColumnMenuAfterMouseClick:(X,Y)=>{Q?.showColumnMenu({column:this.column,mouseEvent:X,positionBy:"mouse",onClosedCallback:Y})},showFilter:(X)=>{Q?.showFilterMenu({column:this.column,buttonElement:X,containerType:"columnFilter",positionBy:"button"})},progressSort:(X)=>{z?.progressSort(this.column,!!X,"uiColumnSorted")},setSort:(X,Y)=>{z?.setSortForColumn(this.column,a0(X),!!Y,"uiColumnSorted")},eGridHeader:this.eGui,setTooltip:(X,Y)=>{Z.assertModuleRegistered("Tooltip",3),this.setupTooltip(X,Y)}})}setupSelectAll(Q){let{selectionSvc:z}=this.beans;if(!z)return;this.selectAllFeature=Q.createOptionalManagedBean(z.createSelectAllFeature(this.column)),this.selectAllFeature?.setComp(this),Q.addManagedPropertyListener("rowSelection",()=>{let J=z.createSelectAllFeature(this.column);if(J&&!this.selectAllFeature)this.selectAllFeature=Q.createManagedBean(J),this.selectAllFeature?.setComp(this),this.comp.refreshSelectAllGui();else if(this.selectAllFeature&&!J)this.comp.removeSelectAllGui(),this.selectAllFeature=this.destroyBean(this.selectAllFeature)})}getSelectAllGui(){return this.selectAllFeature?.getCheckboxGui()}handleKeyDown(Q){if(super.handleKeyDown(Q),Q.key===V.SPACE)this.selectAllFeature?.onSpaceKeyDown(Q);else if(Q.key===V.ENTER)this.onEnterKeyDown(Q);else if(Q.key===V.DOWN&&Q.altKey)this.showMenuOnKeyPress(Q,!1)}onEnterKeyDown(Q){let{column:z,gos:J,sortable:Z,beans:$}=this,X=!1;if(Q.ctrlKey||Q.metaKey)X=this.showMenuOnKeyPress(Q,!0);if(!X){if(!Q.altKey&&Zz(J))$.rangeSvc?.handleColumnSelection(z,Q);else if(Z)$.sortSvc?.progressSort(z,Q.shiftKey,"uiColumnSorted")}}showMenuOnKeyPress(Q,z){let J=this.comp.getUserCompInstance();if(!A7(J))return!1;if(J.onMenuKeyboardShortcut(z))return Q.preventDefault(),!0;return!1}onFocusIn(Q){if(!this.eGui.contains(Q.relatedTarget))this.focusThis(),this.announceAriaDescription();if(V1())this.setActiveHeader(!0)}onFocusOut(Q){if(this.eGui.contains(Q.relatedTarget))return;this.setActiveHeader(!1)}setupTooltip(Q,z){this.tooltipFeature=this.beans.tooltipSvc?.setupHeaderTooltip(this.tooltipFeature,this,Q,z)}setupStylesFromColDef(){this.setRefreshFunction("headerStyles",this.refreshHeaderStyles.bind(this)),this.refreshHeaderStyles()}setupClassesFromColDef(){let Q=()=>{let z=this.column.getColDef(),J=gZ(z,this.gos,this.column,null),Z=this.userHeaderClasses;this.userHeaderClasses=new Set(J);for(let $ of J)if(Z.has($))Z.delete($);else this.comp.toggleCss($,!0);for(let $ of Z)this.comp.toggleCss($,!1)};this.setRefreshFunction("headerClasses",Q),Q()}setDragSource(Q){if(this.dragSourceElement=Q,this.removeDragSource(),!Q||!this.draggable)return;this.dragSource=this.beans.colMoves?.setDragSourceForHeader(Q,this.column,this.displayName)??null}updateState(){let{menuSvc:Q}=this.beans;this.menuEnabled=!!Q?.isColumnMenuInHeaderEnabled(this.column),this.openFilterEnabled=!!Q?.isFilterMenuInHeaderEnabled(this.column),this.sortable=this.column.isSortable(),this.displayName=this.calculateDisplayName(),this.draggable=this.workOutDraggable()}setRefreshFunction(Q,z){this.refreshFunctions[Q]=z}refresh(){this.updateState(),this.refreshHeaderComp(),this.refreshAria();for(let Q of Object.values(this.refreshFunctions))Q()}refreshHeaderComp(){let Q=this.lookupUserCompDetails();if(!Q)return;if(this.comp.getUserCompInstance()!=null&&this.userCompDetails.componentClass==Q.componentClass?this.attemptHeaderCompRefresh(Q.params):!1)this.setDragSource(this.dragSourceElement);else this.setCompDetails(Q)}attemptHeaderCompRefresh(Q){let z=this.comp.getUserCompInstance();if(!z)return!1;if(!z.refresh)return!1;return z.refresh(Q)}calculateDisplayName(){return this.beans.colNames.getDisplayNameForColumn(this.column,"header",!0)}checkDisplayName(){if(this.displayName!==this.calculateDisplayName())this.refresh()}workOutDraggable(){let Q=this.column.getColDef();return!this.gos.get("suppressMovableColumns")&&!Q.suppressMovable&&!Q.lockPosition||!!Q.enableRowGroup||!!Q.enablePivot}setupWidth(Q){let z=()=>{let J=this.column.getActualWidth();this.comp.setWidth(`${J}px`)};Q.addManagedListeners(this.column,{widthChanged:z}),z()}setupMovingCss(Q){let z=()=>{this.comp.toggleCss("ag-header-cell-moving",this.column.isMoving())};Q.addManagedListeners(this.column,{movingChanged:z}),z()}setupMenuClass(Q){let z=()=>{this.comp?.toggleCss("ag-column-menu-visible",this.column.isMenuVisible())};Q.addManagedListeners(this.column,{menuVisibleChanged:z}),z()}setupSortableClass(Q){let z=()=>{this.comp.toggleCss("ag-header-cell-sortable",!!this.sortable)};z(),this.setRefreshFunction("updateSortable",z),Q.addManagedEventListeners({sortChanged:this.refreshAriaSort.bind(this)})}setupFilterClass(Q){let z=()=>{let J=this.column.isFilterActive();this.comp.toggleCss("ag-header-cell-filtered",J),this.refreshAria()};Q.addManagedListeners(this.column,{filterActiveChanged:z}),z()}setupWrapTextClass(){let Q=()=>{let z=!!this.column.getColDef().wrapHeaderText;this.comp.toggleCss("ag-header-cell-wrap-text",z)};Q(),this.setRefreshFunction("wrapText",Q)}onHeaderHighlightChanged(){let Q=this.column.getHighlighted(),z=Q===0,J=Q===1;this.comp.toggleCss("ag-header-highlight-before",z),this.comp.toggleCss("ag-header-highlight-after",J)}onDisplayedColumnsChanged(){if(super.onDisplayedColumnsChanged(),!this.isAlive())return;this.onHeaderHeightChanged()}onHeaderHeightChanged(){this.refreshSpanHeaderHeight()}refreshSpanHeaderHeight(){let{eGui:Q,column:z,comp:J,beans:Z}=this,$=z6(this.beans),X=$.reduce((W,B)=>W+B,0)===0;if(J.toggleCss("ag-header-parent-hidden",X),!z.isSpanHeaderHeight()){Q.style.removeProperty("top"),Q.style.removeProperty("height"),J.toggleCss("ag-header-span-height",!1),J.toggleCss("ag-header-span-total",!1);return}let{numberOfParents:Y,isSpanningTotal:G}=this.column.getColumnGroupPaddingInfo();J.toggleCss("ag-header-span-height",Y>0);let q=J6(Z);if(Y===0){J.toggleCss("ag-header-span-total",!1),Q.style.setProperty("top","0px"),Q.style.setProperty("height",`${q}px`);return}J.toggleCss("ag-header-span-total",G);let H=(this.column.getFirstRealParent()?.getLevel()??-1)+1,_=$.length-H,U=0;for(let W=0;W<_;W++)U+=$[$.length-1-W];Q.style.setProperty("top",`${-U}px`),Q.style.setProperty("height",`${q+U}px`)}refreshAriaSort(){let Q=null,{beans:z,column:J,comp:Z,sortable:$}=this;if($){let X=this.getLocaleTextFunc(),Y=z.sortSvc?.getDisplaySortForColumn(J)??null;Z.setAriaSort(u4(Y)),Q=X("ariaSortableColumn","Press ENTER to sort")}else Z.setAriaSort();this.setAriaDescriptionProperty("sort",Q)}refreshAriaMenu(){let Q=null;if(this.menuEnabled)Q=this.getLocaleTextFunc()("ariaMenuColumn","Press ALT DOWN to open column menu");this.setAriaDescriptionProperty("menu",Q)}refreshAriaFilterButton(){let Q=null,{openFilterEnabled:z,gos:J}=this;if(z&&!U0(J))Q=this.getLocaleTextFunc()("ariaFilterColumn","Press CTRL ENTER to open filter");this.setAriaDescriptionProperty("filterButton",Q)}refreshAriaFiltered(){let Q=null;if(this.column.isFilterActive())Q=this.getLocaleTextFunc()("ariaColumnFiltered","Column Filtered");this.setAriaDescriptionProperty("filter",Q)}refreshAriaCellSelection(){let Q=null,{gos:z,column:J}=this;if(Zz(z)&&!v0(J))Q=this.getLocaleTextFunc()("ariaColumnCellSelection","Press Enter to toggle selection for all visible cells in this column");this.setAriaDescriptionProperty("cellSelection",Q)}setAriaDescriptionProperty(Q,z){let J=this.ariaDescriptionProperties;if(z!=null)J.set(Q,z);else J.delete(Q)}announceAriaDescription(){let{beans:Q,eGui:z,ariaDescriptionProperties:J}=this;if(!z.contains(d(Q)))return;let Z=Array.from(J.keys()).sort(($,X)=>$==="filter"?-1:X.charCodeAt(0)-$.charCodeAt(0)).map(($)=>J.get($)).join(". ");Q.ariaAnnounce?.announceValue(Z,"columnHeader")}refreshAria(){this.refreshAriaSort(),this.refreshAriaMenu(),this.refreshAriaFilterButton(),this.refreshAriaFiltered(),this.refreshAriaCellSelection()}addColumnHoverListener(Q){this.beans.colHover?.addHeaderColumnHoverListener(Q,this.comp,this.column)}addActiveHeaderMouseListeners(Q){let z=($)=>this.handleMouseOverChange($.type==="mouseenter"),J=()=>{this.setActiveHeader(!0),this.dispatchColumnMouseEvent("columnHeaderClicked",this.column)},Z=($)=>this.handleContextMenuMouseEvent($,void 0,this.column);Q.addManagedListeners(this.eGui,{mouseenter:z,mouseleave:z,click:J,contextmenu:Z})}handleMouseOverChange(Q){this.setActiveHeader(Q),this.eventSvc.dispatchEvent({type:Q?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column})}setActiveHeader(Q){this.comp.toggleCss("ag-header-active",Q)}getAnchorElementForMenu(Q){let z=this.comp.getUserCompInstance();if(A7(z))return z.getAnchorElementForMenu(Q);return this.eGui}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),super.destroy()}};function A7(Q){return typeof Q?.getAnchorElementForMenu==="function"&&typeof Q.onMenuKeyboardShortcut==="function"}var vH=0,I2=class extends j{constructor(Q,z,J){super();this.rowIndex=Q,this.pinned=z,this.type=J,this.instanceId=vH++,this.comp=null,this.allCtrls=[];let Z="ag-header-row-column";if(J==="group")Z="ag-header-row-group";else if(J==="filter")Z="ag-header-row-filter";this.headerRowClass=`ag-header-row ${Z}`}setRowIndex(Q){this.rowIndex=Q,this.comp?.setRowIndex(this.getAriaRowIndex()),this.onRowHeightChanged()}postConstruct(){this.isPrintLayout=V0(this.gos,"print"),this.isEnsureDomOrder=this.gos.get("ensureDomOrder")}areCellsRendered(){if(!this.comp)return!1;return this.allCtrls.every((Q)=>Q.eGui!=null)}setComp(Q,z,J=!0){if(this.comp=Q,z=BJ(this,this.beans.context,z),J)this.setRowIndex(this.rowIndex),this.onVirtualColumnsChanged();this.setWidth(),this.addEventListeners(z)}getAriaRowIndex(){return this.rowIndex+1}addEventListeners(Q){let z=this.onRowHeightChanged.bind(this),J=this.onDisplayedColumnsChanged.bind(this);Q.addManagedEventListeners({columnResized:this.setWidth.bind(this),displayedColumnsChanged:J,virtualColumnsChanged:(Z)=>this.onVirtualColumnsChanged(Z.afterScroll),columnGroupHeaderHeightChanged:z,columnHeaderHeightChanged:z,stylesChanged:z,advancedFilterEnabledChanged:z}),Q.addManagedPropertyListener("domLayout",J),Q.addManagedPropertyListener("ensureDomOrder",(Z)=>this.isEnsureDomOrder=Z.currentValue),Q.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],z)}onDisplayedColumnsChanged(){this.isPrintLayout=V0(this.gos,"print"),this.onVirtualColumnsChanged(),this.setWidth(),this.onRowHeightChanged()}setWidth(){if(!this.comp)return;let Q=this.getWidthForRow();this.comp.setWidth(`${Q}px`)}getWidthForRow(){let{visibleCols:Q}=this.beans;if(this.isPrintLayout){if(this.pinned!=null)return 0;return Q.getContainerWidth("right")+Q.getContainerWidth("left")+Q.getContainerWidth(null)}return Q.getContainerWidth(this.pinned)}onRowHeightChanged(){if(!this.comp)return;let{topOffset:Q,rowHeight:z}=this.getTopAndHeight();this.comp.setTop(Q+"px"),this.comp.setHeight(z+"px")}getTopAndHeight(){let Q=0,z=z6(this.beans);for(let $=0;$<z.length;$++){if($===this.rowIndex&&this.type==="group")return{topOffset:Q,rowHeight:z[$]};Q+=z[$]}let J=J6(this.beans);if(this.type==="column")return{topOffset:Q,rowHeight:J};Q+=J;let Z=n9(this.beans);return{topOffset:Q,rowHeight:Z}}onVirtualColumnsChanged(Q=!1){if(!this.comp)return;let z=this.getUpdatedHeaderCtrls(),J=this.isEnsureDomOrder||this.isPrintLayout;this.comp.setHeaderCtrls(z,J,Q)}getUpdatedHeaderCtrls(){let Q=this.ctrlsById;this.ctrlsById=new Map;let z=this.getColumnsInViewport();for(let Z of z)this.recycleAndCreateHeaderCtrls(Z,this.ctrlsById,Q);let J=(Z)=>{let{focusSvc:$,visibleCols:X}=this.beans;if(!$.isHeaderWrapperFocused(Z))return!1;return X.isVisible(Z.column)};if(Q)for(let[Z,$]of Q)if(J($))this.ctrlsById.set(Z,$);else this.destroyBean($);return this.allCtrls=Array.from(this.ctrlsById.values()),this.allCtrls}getHeaderCellCtrls(){return this.allCtrls}recycleAndCreateHeaderCtrls(Q,z,J){if(Q.isEmptyGroup())return;let Z=Q.getUniqueId(),$;if(J)$=J.get(Z),J.delete(Z);if($&&$.column!=Q)this.destroyBean($),$=void 0;if($==null)switch(this.type){case"filter":{$=this.createBean(this.beans.registry.createDynamicBean("headerFilterCellCtrl",!0,Q,this));break}case"group":$=this.createBean(this.beans.registry.createDynamicBean("headerGroupCellCtrl",!0,Q,this));break;default:$=this.createBean(new TH(Q,this));break}z.set(Z,$)}getColumnsInViewport(){if(!this.isPrintLayout)return this.getComponentsToRender();if(this.pinned)return[];let Q=[];for(let z of["left",null,"right"])Q.push(...this.getComponentsToRender(z));return Q}getComponentsToRender(Q=this.pinned){if(this.type==="group")return this.beans.colViewport.getHeadersToRender(Q,this.rowIndex);return this.beans.colViewport.getColumnHeadersToRender(Q)}focusHeader(Q,z){let J=this.allCtrls.find(($)=>$.column==Q);if(!J)return!1;return J.focus(z)}destroy(){this.allCtrls=this.destroyBeans(this.allCtrls),this.ctrlsById=void 0,this.comp=null,super.destroy()}},IH=class extends j{constructor(Q){super();this.pinned=Q,this.hidden=!1,this.includeFloatingFilter=!1,this.groupsRowCtrls=[]}setComp(Q,z){this.comp=Q,this.eViewport=z;let{pinnedCols:J,ctrlsSvc:Z,colModel:$,colMoves:X}=this.beans;this.setupCenterWidth(),J?.setupHeaderPinnedWidth(this),this.setupDragAndDrop(X,this.eViewport);let Y=this.refresh.bind(this,!0);this.addManagedEventListeners({displayedColumnsChanged:Y,advancedFilterEnabledChanged:Y});let G=`${typeof this.pinned==="string"?this.pinned:"center"}Header`;if(Z.register(G,this),$.ready)this.refresh()}getAllCtrls(){let Q=[...this.groupsRowCtrls];if(this.columnsRowCtrl)Q.push(this.columnsRowCtrl);if(this.filtersRowCtrl)Q.push(this.filtersRowCtrl);return Q}refresh(Q=!1){let{focusSvc:z,filterManager:J,visibleCols:Z}=this.beans,$=0,X=z.getFocusHeaderToUseAfterRefresh(),Y=()=>{let U=Z.headerGroupRowCount;if($=U,!Q)this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls);let W=this.groupsRowCtrls.length;if(W===U)return;if(W>U){for(let B=U;B<W;B++)this.destroyBean(this.groupsRowCtrls[B]);this.groupsRowCtrls.length=U;return}for(let B=W;B<U;B++){let E=this.createBean(new I2(B,this.pinned,"group"));this.groupsRowCtrls.push(E)}},G=()=>{let U=$++;if(this.hidden){this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl);return}if(this.columnsRowCtrl==null||!Q)this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl),this.columnsRowCtrl=this.createBean(new I2(U,this.pinned,"column"));else if(this.columnsRowCtrl.rowIndex!==U)this.columnsRowCtrl.setRowIndex(U)},q=()=>{this.includeFloatingFilter=!!J?.hasFloatingFilters()&&!this.hidden;let U=()=>{this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)};if(!this.includeFloatingFilter){U();return}if(!Q)U();let W=$++;if(this.filtersRowCtrl){if(this.filtersRowCtrl.rowIndex!==W)this.filtersRowCtrl.setRowIndex(W)}else this.filtersRowCtrl=this.createBean(new I2(W,this.pinned,"filter"))},H=this.getAllCtrls();Y(),G(),q();let _=this.getAllCtrls();if(this.comp.setCtrls(_),this.restoreFocusOnHeader(z,X),H.length!==_.length)this.beans.eventSvc.dispatchEvent({type:"headerRowsChanged"})}getHeaderCtrlForColumn(Q){let z=(J)=>J?.getHeaderCellCtrls().find((Z)=>Z.column===Q);if(JQ(Q))return z(this.columnsRowCtrl);if(this.groupsRowCtrls.length===0)return;for(let J=0;J<this.groupsRowCtrls.length;J++){let Z=z(this.groupsRowCtrls[J]);if(Z)return Z}}getHtmlElementForColumnHeader(Q){return this.getHeaderCtrlForColumn(Q)?.eGui??null}getRowType(Q){return this.getAllCtrls()[Q]?.type}focusHeader(Q,z,J){let $=this.getAllCtrls()[Q];if(!$)return!1;return $.focusHeader(z,J)}getGroupRowCount(){return this.groupsRowCtrls.length}getGroupRowCtrlAtIndex(Q){return this.groupsRowCtrls[Q]}getRowCount(){return this.groupsRowCtrls.length+(this.columnsRowCtrl?1:0)+(this.filtersRowCtrl?1:0)}setHorizontalScroll(Q){this.comp.setViewportScrollLeft(Q)}onScrollCallback(Q){this.addManagedElementListeners(this.eViewport,{scroll:Q})}destroy(){this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl),this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl),this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls),super.destroy()}setupDragAndDrop(Q,z){let J=Q?.createBodyDropTarget(this.pinned,z);if(J)this.createManagedBean(J)}restoreFocusOnHeader(Q,z){if(!z)return;let{column:J}=z;if(J.getPinned()!=this.pinned)return;Q.focusHeaderPosition({headerPosition:z,scroll:!1})}setupCenterWidth(){if(this.pinned!=null)return;this.createManagedBean(new $6((Q)=>this.comp.setCenterWidth(`${Q}px`),!0))}},CH={tag:"div",cls:"ag-pinned-left-header",role:"rowgroup"},bH={tag:"div",cls:"ag-pinned-right-header",role:"rowgroup"},yH={tag:"div",cls:"ag-header-viewport",role:"rowgroup",attrs:{tabindex:"-1"},children:[{tag:"div",ref:"eCenterContainer",cls:"ag-header-container",role:"presentation"}]},C2=class extends x{constructor(Q){super();this.eCenterContainer=S,this.headerRowComps={},this.rowCompsList=[],this.pinned=Q}postConstruct(){this.selectAndSetTemplate();let Q={setDisplayed:(J)=>this.setDisplayed(J),setCtrls:(J)=>this.setCtrls(J),setCenterWidth:(J)=>this.eCenterContainer.style.width=J,setViewportScrollLeft:(J)=>this.getGui().scrollLeft=J,setPinnedContainerWidth:(J)=>{let Z=this.getGui();Z.style.width=J,Z.style.maxWidth=J,Z.style.minWidth=J}};this.createManagedBean(new IH(this.pinned)).setComp(Q,this.getGui())}selectAndSetTemplate(){let Q=this.pinned=="left",z=this.pinned=="right",J=Q?CH:z?bH:yH;this.setTemplate(J),this.eRowContainer=this.eCenterContainer!==S?this.eCenterContainer:this.getGui()}destroy(){this.setCtrls([]),super.destroy()}destroyRowComp(Q){this.destroyBean(Q),Q.getGui().remove()}setCtrls(Q){let z=this.headerRowComps;this.headerRowComps={},this.rowCompsList=[];let J,Z=($)=>{let X=$.getGui();if(X.parentElement!=this.eRowContainer)this.eRowContainer.appendChild(X);if(J)h8(this.eRowContainer,X,J);J=X};for(let $ of Q){let X=$.instanceId,Y=z[X];delete z[X];let G=Y?Y:this.createBean(new jH($));this.headerRowComps[X]=G,this.rowCompsList.push(G),Z(G)}for(let $ of Object.values(z))this.destroyRowComp($)}},xH={tag:"div",cls:"ag-header",role:"presentation"},wH=class extends x{constructor(){super(xH)}postConstruct(){let Q={toggleCss:(Z,$)=>this.toggleCss(Z,$),setHeightAndMinHeight:(Z)=>{this.getGui().style.height=Z,this.getGui().style.minHeight=Z}};this.createManagedBean(new FH).setComp(Q,this.getGui(),this.getFocusableElement());let J=(Z)=>{this.createManagedBean(Z),this.appendChild(Z)};J(new C2("left")),J(new C2(null)),J(new C2("right"))}},NH={selector:"AG-HEADER-ROOT",component:wH},UQ={AUTO_HEIGHT:"ag-layout-auto-height",NORMAL:"ag-layout-normal",PRINT:"ag-layout-print"},G6=class extends j{constructor(Q){super();this.view=Q}postConstruct(){this.addManagedPropertyListener("domLayout",this.updateLayoutClasses.bind(this)),this.updateLayoutClasses()}updateLayoutClasses(){let Q=this.gos.get("domLayout"),z={autoHeight:Q==="autoHeight",normal:Q==="normal",print:Q==="print"},J=z.autoHeight?UQ.AUTO_HEIGHT:z.print?UQ.PRINT:UQ.NORMAL;this.view.updateLayoutClasses(J,z)}},l9=class extends x{constructor(Q,z){super();this.direction=z,this.eViewport=S,this.eContainer=S,this.hideTimeout=0,this.setTemplate(Q)}postConstruct(){this.addManagedEventListeners({scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this)}),this.onScrollVisibilityChanged(),this.toggleCss("ag-apple-scrollbar",C9()||bz())}destroy(){super.destroy(),window.clearTimeout(this.hideTimeout)}initialiseInvisibleScrollbar(){if(this.invisibleScrollbar!==void 0)return;if(this.invisibleScrollbar=y9(),this.invisibleScrollbar)this.hideAndShowInvisibleScrollAsNeeded(),this.addActiveListenerToggles()}addActiveListenerToggles(){let Q=this.getGui(),z=()=>this.toggleCss("ag-scrollbar-active",!0),J=()=>this.toggleCss("ag-scrollbar-active",!1);this.addManagedListeners(Q,{mouseenter:z,mousedown:z,touchstart:z,mouseleave:J,touchend:J})}onScrollVisibilityChanged(){if(this.invisibleScrollbar===void 0)this.initialiseInvisibleScrollbar();YQ(this.beans,()=>this.setScrollVisible())}hideAndShowInvisibleScrollAsNeeded(){this.addManagedEventListeners({bodyScroll:(Q)=>{if(Q.direction===this.direction){if(this.hideTimeout)window.clearTimeout(this.hideTimeout),this.hideTimeout=0;this.toggleCss("ag-scrollbar-scrolling",!0)}},bodyScrollEnd:()=>{this.hideTimeout=window.setTimeout(()=>{this.toggleCss("ag-scrollbar-scrolling",!1),this.hideTimeout=0},400)}})}attemptSettingScrollPosition(Q){let z=this.eViewport;C5(this,()=>f0(z),()=>this.setScrollPosition(Q),100)}onScrollCallback(Q){this.addManagedElementListeners(this.eViewport,{scroll:Q})}},gH={tag:"div",cls:"ag-body-horizontal-scroll",attrs:{"aria-hidden":"true"},children:[{tag:"div",ref:"eLeftSpacer",cls:"ag-horizontal-left-spacer"},{tag:"div",ref:"eViewport",cls:"ag-body-horizontal-scroll-viewport",children:[{tag:"div",ref:"eContainer",cls:"ag-body-horizontal-scroll-container"}]},{tag:"div",ref:"eRightSpacer",cls:"ag-horizontal-right-spacer"}]},hH=class extends l9{constructor(){super(gH,"horizontal");this.eLeftSpacer=S,this.eRightSpacer=S,this.setScrollVisibleDebounce=0}wireBeans(Q){this.visibleCols=Q.visibleCols,this.scrollVisibleSvc=Q.scrollVisibleSvc}postConstruct(){super.postConstruct();let Q=this.setFakeHScrollSpacerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:Q,displayedColumnsWidthChanged:Q,pinnedRowDataChanged:this.refreshCompBottom.bind(this)}),this.addManagedPropertyListener("domLayout",Q),this.beans.ctrlsSvc.register("fakeHScrollComp",this),this.createManagedBean(new $6((z)=>this.eContainer.style.width=`${z}px`)),this.addManagedPropertyListeners(["suppressHorizontalScroll"],this.onScrollVisibilityChanged.bind(this))}destroy(){window.clearTimeout(this.setScrollVisibleDebounce),super.destroy()}initialiseInvisibleScrollbar(){if(this.invisibleScrollbar!==void 0)return;if(this.enableRtl=this.gos.get("enableRtl"),super.initialiseInvisibleScrollbar(),this.invisibleScrollbar)this.refreshCompBottom()}refreshCompBottom(){if(!this.invisibleScrollbar)return;let Q=this.beans.pinnedRowModel?.getPinnedBottomTotalHeight()??0;this.getGui().style.bottom=`${Q}px`}onScrollVisibilityChanged(){super.onScrollVisibilityChanged(),this.setFakeHScrollSpacerWidths()}setFakeHScrollSpacerWidths(){let Q=this.scrollVisibleSvc.verticalScrollShowing,z=this.visibleCols.getDisplayedColumnsRightWidth(),J=!this.enableRtl&&Q,Z=this.scrollVisibleSvc.getScrollbarWidth();if(J)z+=Z;SQ(this.eRightSpacer,z),this.eRightSpacer.classList.toggle("ag-scroller-corner",z<=Z);let $=this.visibleCols.getColsLeftWidth();if(this.enableRtl&&Q)$+=Z;SQ(this.eLeftSpacer,$),this.eLeftSpacer.classList.toggle("ag-scroller-corner",$<=Z)}setScrollVisible(){let Q=this.scrollVisibleSvc.horizontalScrollShowing,z=this.invisibleScrollbar,J=this.gos.get("suppressHorizontalScroll"),Z=Q?this.scrollVisibleSvc.getScrollbarWidth()||0:0,X=!J?Z===0&&z?16:Z:0,Y=()=>{if(this.setScrollVisibleDebounce=0,this.toggleCss("ag-scrollbar-invisible",z),N1(this.getGui(),X),N1(this.eViewport,X),N1(this.eContainer,X),!X)this.eContainer.style.setProperty("min-height","1px");this.setVisible(Q,{skipAriaHidden:!0})};if(window.clearTimeout(this.setScrollVisibleDebounce),!Q)Y();else this.setScrollVisibleDebounce=window.setTimeout(Y,100)}getScrollPosition(){return QZ(this.eViewport,this.enableRtl)}setScrollPosition(Q){if(!f0(this.eViewport))this.attemptSettingScrollPosition(Q);zZ(this.eViewport,Q,this.enableRtl)}},uH={selector:"AG-FAKE-HORIZONTAL-SCROLL",component:hH},a9=class extends j{constructor(Q,z){super();this.eContainer=Q,this.eViewport=z}postConstruct(){this.addManagedEventListeners({rowContainerHeightChanged:this.onHeightChanged.bind(this,this.beans.rowContainerHeight)})}onHeightChanged(Q){let z=Q.uiContainerHeight,J=z!=null?`${z}px`:"";if(this.eContainer.style.height=J,this.eViewport)this.eViewport.style.height=J}},mH={tag:"div",cls:"ag-body-vertical-scroll",attrs:{"aria-hidden":"true"},children:[{tag:"div",ref:"eViewport",cls:"ag-body-vertical-scroll-viewport",children:[{tag:"div",ref:"eContainer",cls:"ag-body-vertical-scroll-container"}]}]},cH=class extends l9{constructor(){super(mH,"vertical")}postConstruct(){super.postConstruct(),this.createManagedBean(new a9(this.eContainer));let{ctrlsSvc:Q}=this.beans;Q.register("fakeVScrollComp",this),this.addManagedEventListeners({rowContainerHeightChanged:this.onRowContainerHeightChanged.bind(this,Q)})}setScrollVisible(){let{scrollVisibleSvc:Q}=this.beans,z=Q.verticalScrollShowing,J=this.invisibleScrollbar,Z=z?Q.getScrollbarWidth()||0:0,$=Z===0&&J?16:Z;this.toggleCss("ag-scrollbar-invisible",J),SQ(this.getGui(),$),SQ(this.eViewport,$),SQ(this.eContainer,$),this.setDisplayed(z,{skipAriaHidden:!0})}onRowContainerHeightChanged(Q){let J=Q.getGridBodyCtrl().eBodyViewport,Z=this.getScrollPosition(),$=J.scrollTop;if(Z!=$)this.setScrollPosition($,!0)}getScrollPosition(){return this.eViewport.scrollTop}setScrollPosition(Q,z){if(!z&&!f0(this.eViewport))this.attemptSettingScrollPosition(Q);this.eViewport.scrollTop=Q}},pH={selector:"AG-FAKE-VERTICAL-SCROLL",component:cH};var rQ="Viewport",j7="fakeVScrollComp",b2=["fakeHScrollComp","centerHeader","topCenter","bottomCenter","stickyTopCenter","stickyBottomCenter"],R7=100,y2=150,iH=class extends j{constructor(Q){super();this.clearRetryListenerFncs=[],this.lastScrollSource=[null,null],this.scrollLeft=-1,this.nextScrollTop=-1,this.scrollTop=-1,this.lastOffsetHeight=-1,this.lastScrollTop=-1,this.lastIsHorizontalScrollShowing=!1,this.scrollTimer=0,this.isScrollActive=!1,this.isVerticalPositionInvalidated=!0,this.isHorizontalPositionInvalidated=!0,this.eBodyViewport=Q,this.resetLastHScrollDebounced=gQ(this,()=>this.lastScrollSource[1]=null,y2),this.resetLastVScrollDebounced=gQ(this,()=>this.lastScrollSource[0]=null,y2)}wireBeans(Q){this.ctrlsSvc=Q.ctrlsSvc,this.animationFrameSvc=Q.animationFrameSvc,this.visibleCols=Q.visibleCols}destroy(){super.destroy(),this.clearRetryListenerFncs=[],window.clearTimeout(this.scrollTimer)}postConstruct(){this.enableRtl=this.gos.get("enableRtl");let Q=this.invalidateVerticalScroll.bind(this),z=this.invalidateHorizontalScroll.bind(this);this.addManagedEventListeners({displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this),bodyHeightChanged:Q,scrollGapChanged:z}),this.addManagedElementListeners(this.eBodyViewport,{scroll:Q}),this.ctrlsSvc.whenReady(this,(J)=>{this.centerRowsCtrl=J.center,this.fakeVScrollComp=J.fakeVScrollComp,this.fakeHScrollComp=J.fakeHScrollComp,this.onDisplayedColumnsWidthChanged(),this.addScrollListener()})}invalidateHorizontalScroll(){this.isHorizontalPositionInvalidated=!0}invalidateVerticalScroll(){this.isVerticalPositionInvalidated=!0}addScrollListener(){this.addHorizontalScrollListeners(),this.addVerticalScrollListeners()}addHorizontalScrollListeners(){this.addManagedElementListeners(this.centerRowsCtrl.eViewport,{scroll:this.onHScroll.bind(this,rQ)});for(let Q of b2){let z=this.ctrlsSvc.get(Q);this.registerScrollPartner(z,this.onHScroll.bind(this,Q))}}addVerticalScrollListeners(){let Q=this.gos.get("debounceVerticalScrollbar"),z=Q?gQ(this,this.onVScroll.bind(this,rQ),R7):this.onVScroll.bind(this,rQ),J=Q?gQ(this,this.onVScroll.bind(this,j7),R7):this.onVScroll.bind(this,j7);this.addManagedElementListeners(this.eBodyViewport,{scroll:z}),this.registerScrollPartner(this.fakeVScrollComp,J)}registerScrollPartner(Q,z){Q.onScrollCallback(z)}onDisplayedColumnsWidthChanged(){if(this.enableRtl)this.horizontallyScrollHeaderCenterAndFloatingCenter()}horizontallyScrollHeaderCenterAndFloatingCenter(Q){if(this.centerRowsCtrl==null)return;if(Q===void 0)Q=this.centerRowsCtrl.getCenterViewportScrollLeft();this.setScrollLeftForAllContainersExceptCurrent(Math.abs(Q))}setScrollLeftForAllContainersExceptCurrent(Q){for(let z of[...b2,rQ]){if(this.lastScrollSource[1]===z)continue;let J=this.getViewportForSource(z);zZ(J,Q,this.enableRtl)}}getViewportForSource(Q){if(Q===rQ)return this.centerRowsCtrl.eViewport;return this.ctrlsSvc.get(Q).eViewport}isControllingScroll(Q,z){if(this.lastScrollSource[z]==null){if(z===0)this.lastScrollSource[0]=Q;else this.lastScrollSource[1]=Q;return!0}return this.lastScrollSource[z]===Q}onHScroll(Q){if(!this.isControllingScroll(Q,1))return;let z=this.centerRowsCtrl.eViewport,{scrollLeft:J}=z;if(this.shouldBlockScrollUpdate(1,J,!0))return;let Z=QZ(this.getViewportForSource(Q),this.enableRtl);this.doHorizontalScroll(Z),this.resetLastHScrollDebounced()}onVScroll(Q){if(!this.isControllingScroll(Q,0))return;let z=Q===rQ?this.eBodyViewport.scrollTop:this.fakeVScrollComp.getScrollPosition(),J=z;if(this.shouldBlockScrollUpdate(0,J,!0))return;if(Q===rQ)this.fakeVScrollComp.setScrollPosition(J);else if(this.eBodyViewport.scrollTop=z,J=this.eBodyViewport.scrollTop,this.invalidateVerticalScroll(),J!==z)this.fakeVScrollComp.setScrollPosition(J,!0);let{animationFrameSvc:Z}=this;if(Z?.setScrollTop(J),this.nextScrollTop=J,Z?.active)Z.schedule();else this.scrollGridIfNeeded(!0);this.resetLastVScrollDebounced()}doHorizontalScroll(Q){let z=this.fakeHScrollComp.getScrollPosition();if(this.scrollLeft===Q&&Q===z)return;this.scrollLeft=Q,this.fireScrollEvent(1),this.horizontallyScrollHeaderCenterAndFloatingCenter(Q),this.centerRowsCtrl.onHorizontalViewportChanged(!0)}isScrolling(){return this.isScrollActive}fireScrollEvent(Q){let z={type:"bodyScroll",direction:Q===1?"horizontal":"vertical",left:this.scrollLeft,top:this.scrollTop};this.isScrollActive=!0,this.eventSvc.dispatchEvent(z),window.clearTimeout(this.scrollTimer),this.scrollTimer=window.setTimeout(()=>{this.scrollTimer=0,this.isScrollActive=!1,this.eventSvc.dispatchEvent({...z,type:"bodyScrollEnd"})},y2)}shouldBlockScrollUpdate(Q,z,J=!1){if(J&&!bz())return!1;if(Q===0)return this.shouldBlockVerticalScroll(z);return this.shouldBlockHorizontalScroll(z)}shouldBlockVerticalScroll(Q){let z=AZ(this.eBodyViewport),{scrollHeight:J}=this.eBodyViewport;return Q<0||Q+z>J}shouldBlockHorizontalScroll(Q){let z=this.centerRowsCtrl.getCenterWidth(),{scrollWidth:J}=this.centerRowsCtrl.eViewport;if(this.enableRtl){if(Q>0)return!0}else if(Q<0)return!0;return Math.abs(Q)+z>J}redrawRowsAfterScroll(){this.fireScrollEvent(0)}checkScrollLeft(){let Q=this.scrollLeft,z=!1;for(let J of b2)if(this.getViewportForSource(J).scrollLeft!==Q){z=!0;break}if(z)this.onHScroll(rQ)}scrollGridIfNeeded(Q=!1){let z=this.scrollTop!=this.nextScrollTop;if(z){if(this.scrollTop=this.nextScrollTop,Q)this.invalidateVerticalScroll();this.redrawRowsAfterScroll()}return z}setHorizontalScrollPosition(Q,z=!1){let Z=this.centerRowsCtrl.eViewport.scrollWidth-this.centerRowsCtrl.getCenterWidth();if(!z&&this.shouldBlockScrollUpdate(1,Q))if(this.enableRtl)Q=Q>0?0:Z;else Q=Math.min(Math.max(Q,0),Z);zZ(this.centerRowsCtrl.eViewport,Math.abs(Q),this.enableRtl),this.doHorizontalScroll(Q)}setVerticalScrollPosition(Q){this.invalidateVerticalScroll(),this.eBodyViewport.scrollTop=Q}getVScrollPosition(){if(!this.isVerticalPositionInvalidated){let{lastOffsetHeight:J,lastScrollTop:Z}=this;return{top:Z,bottom:Z+J}}this.isVerticalPositionInvalidated=!1;let{scrollTop:Q,offsetHeight:z}=this.eBodyViewport;return this.lastScrollTop=Q,this.lastOffsetHeight=z,{top:Q,bottom:Q+z}}getApproximateVScollPosition(){if(this.lastScrollTop>=0&&this.lastOffsetHeight>=0)return{top:this.scrollTop,bottom:this.scrollTop+this.lastOffsetHeight};return this.getVScrollPosition()}getHScrollPosition(){return this.centerRowsCtrl.getHScrollPosition()}isHorizontalScrollShowing(){if(this.isHorizontalPositionInvalidated)this.lastIsHorizontalScrollShowing=this.centerRowsCtrl.isHorizontalScrollShowing(),this.isHorizontalPositionInvalidated=!1;return this.lastIsHorizontalScrollShowing}scrollHorizontally(Q){let z=this.centerRowsCtrl.eViewport.scrollLeft;return this.setHorizontalScrollPosition(z+Q),this.centerRowsCtrl.eViewport.scrollLeft-z}scrollToTop(){this.setVerticalScrollPosition(0)}ensureNodeVisible(Q,z=null){let{rowModel:J}=this.beans,Z=J.getRowCount(),$=-1;for(let X=0;X<Z;X++){let Y=J.getRow(X);if(typeof Q==="function"){if(Y&&Q(Y)){$=X;break}}else if(Q===Y||Q===Y.data){$=X;break}}if($>=0)this.ensureIndexVisible($,z)}ensureIndexVisible(Q,z,J=0){if(V0(this.gos,"print"))return;let{rowModel:Z}=this.beans,$=Z.getRowCount();if(typeof Q!=="number"||Q<0||Q>=$){R(88,{index:Q});return}this.clearRetryListeners();let{frameworkOverrides:X,pageBounds:Y,rowContainerHeight:G,rowRenderer:q}=this.beans;X.wrapIncoming(()=>{let H=this.ctrlsSvc.getGridBodyCtrl(),_=Z.getRow(Q),U,W,B=0;this.invalidateVerticalScroll();do{let{stickyTopHeight:E,stickyBottomHeight:K}=H,L=_.rowTop,F=_.rowHeight,D=Y.getPixelOffset(),M=_.rowTop-D,k=M+_.rowHeight,f=this.getVScrollPosition(),A=G.divStretchOffset,O=f.top+A,v=f.bottom+A,I=v-O,C=G.getScrollPositionForPixel(M),m=G.getScrollPositionForPixel(k-I),w=Math.min((C+m)/2,M),a=O+E>M,t=v-K<k,u=null;if(z==="top")u=C-E;else if(z==="bottom")u=m+K;else if(z==="middle")u=w;else if(a)u=C-E;else if(t)if(m-C>I)u=C-E;else u=m+K;if(u!==null)this.setVerticalScrollPosition(u),q.redraw({afterScroll:!0});U=L!==_.rowTop||F!==_.rowHeight,W=E!==H.stickyTopHeight||K!==H.stickyBottomHeight,B++}while((U||W)&&B<10);if(this.animationFrameSvc?.flushAllFrames(),J<10&&(_?.stub||!this.beans.rowAutoHeight?.areRowsMeasured())){let E=this.getVScrollPosition().top;this.clearRetryListenerFncs=this.addManagedEventListeners({bodyScroll:()=>{let K=this.getVScrollPosition().top;if(E===K)return;this.clearRetryListeners()},modelUpdated:()=>{if(this.clearRetryListeners(),Q>=Z.getRowCount())return;this.ensureIndexVisible(Q,z,J+1)}})}})}clearRetryListeners(){for(let Q of this.clearRetryListenerFncs)Q();this.clearRetryListenerFncs=[]}ensureColumnVisible(Q,z="auto"){let{colModel:J,frameworkOverrides:Z}=this.beans,$=J.getCol(Q);if(!$)return;if($.isPinned())return;if(!this.visibleCols.isColDisplayed($))return;let X=this.getPositionedHorizontalScroll($,z);Z.wrapIncoming(()=>{if(X!==null)this.centerRowsCtrl.setCenterViewportScrollLeft(X);this.centerRowsCtrl.onHorizontalViewportChanged(),this.animationFrameSvc?.flushAllFrames()})}getPositionedHorizontalScroll(Q,z){let{columnBeforeStart:J,columnAfterEnd:Z}=this.isColumnOutsideViewport(Q),$=this.centerRowsCtrl.getCenterWidth()<Q.getActualWidth(),X=this.centerRowsCtrl.getCenterWidth(),Y=this.enableRtl,G=(Y?J:Z)||$,q=Y?Z:J;if(z!=="auto")G=z==="start",q=z==="end";let H=z==="middle";if(G||q||H){let{colLeft:_,colMiddle:U,colRight:W}=this.getColumnBounds(Q);if(H)return U-X/2;if(G)return Y?W:_;return Y?_-X:W-X}return null}isColumnOutsideViewport(Q){let{start:z,end:J}=this.getViewportBounds(),{colLeft:Z,colRight:$}=this.getColumnBounds(Q),X=this.enableRtl,Y=X?z>$:J<$,G=X?J<Z:z>Z;return{columnBeforeStart:Y,columnAfterEnd:G}}getColumnBounds(Q){let z=this.enableRtl,J=this.visibleCols.bodyWidth,Z=Q.getActualWidth(),$=Q.getLeft(),X=z?-1:1,Y=z?J-$:$,G=Y+Z*X,q=Y+Z/2*X;return{colLeft:Y,colMiddle:q,colRight:G}}getViewportBounds(){let Q=this.centerRowsCtrl.getCenterWidth(),z=this.centerRowsCtrl.getCenterViewportScrollLeft(),J=z,Z=Q+z;return{start:J,end:Z,width:Q}}},S7={horizontal:{overflow:(Q)=>Q.scrollWidth-Q.clientWidth,scrollSize:(Q)=>Q.scrollWidth,clientSize:(Q)=>Q.clientWidth,opposite:"vertical"},vertical:{overflow:(Q)=>Q.scrollHeight-Q.clientHeight,scrollSize:(Q)=>Q.scrollHeight,clientSize:(Q)=>Q.clientHeight,opposite:"horizontal"}};function nH(Q,z,J=s5()||0,Z,$){return o9(Q,z,"horizontal",J,Z,$)}function dH(Q,z,J=s5()||0,Z,$){return o9(Q,z,"vertical",J,Z,$)}function o9(Q,z,J,Z,$,X){let Y=S7[J],G=S7[Y.opposite],q=$?f0($):!0,H=X?f0(X):!0,_=Y.overflow(Q);if(_<=0)return!1;if(!z||Z===0)return!0;let U=G.overflow(z);if(U<=0)return!0;if(_<=Z){if(q&&H&&tH({candidateOverflow:U,candidateScrollSize:G.scrollSize(z),candidateClientSize:G.clientSize(z),scrollbarWidth:Z}))return!1;let W=Y.clientSize(Q)+Z;return Y.scrollSize(Q)<=W}return!0}function tH({candidateOverflow:Q,candidateScrollSize:z,candidateClientSize:J,scrollbarWidth:Z}){if(Q<=0||Q>Z)return!1;let $=J+Z;return z>J&&z<=$}var rH=class extends j{constructor(Q){super();this.centerContainerCtrl=Q}wireBeans(Q){this.scrollVisibleSvc=Q.scrollVisibleSvc}postConstruct(){this.beans.ctrlsSvc.whenReady(this,(Q)=>{this.gridBodyCtrl=Q.gridBodyCtrl,this.listenForResize()}),this.addManagedEventListeners({scrollbarWidthChanged:this.onScrollbarWidthChanged.bind(this)}),this.addManagedPropertyListeners(["alwaysShowHorizontalScroll","alwaysShowVerticalScroll"],()=>{this.checkViewportAndScrolls()})}listenForResize(){let{beans:Q,centerContainerCtrl:z,gridBodyCtrl:J}=this,Z=()=>{YQ(Q,()=>{this.onCenterViewportResized()})};z.registerViewportResizeListener(Z),J.registerBodyViewportResizeListener(Z)}onScrollbarWidthChanged(){this.checkViewportAndScrolls()}onCenterViewportResized(){if(this.scrollVisibleSvc.updateScrollGap(),this.centerContainerCtrl.isViewportInTheDOMTree()){let{pinnedCols:Q,colFlex:z}=this.beans;Q?.keepPinnedColumnsNarrowerThanViewport(),this.checkViewportAndScrolls();let J=this.centerContainerCtrl.getCenterWidth();if(J!==this.centerWidth)this.centerWidth=J,z?.refreshFlexedColumns({viewportWidth:this.centerWidth,updateBodyWidths:!0,fireResizedEvent:!0})}else this.bodyHeight=0}checkViewportAndScrolls(){this.updateScrollVisibleService(),this.checkBodyHeight(),this.onHorizontalViewportChanged(),this.gridBodyCtrl.scrollFeature.checkScrollLeft()}getBodyHeight(){return this.bodyHeight}checkBodyHeight(){let Q=this.gridBodyCtrl.eBodyViewport,z=AZ(Q);if(this.bodyHeight!==z)this.bodyHeight=z,this.eventSvc.dispatchEvent({type:"bodyHeightChanged"})}updateScrollVisibleService(){this.updateScrollVisibleServiceImpl(),setTimeout(this.updateScrollVisibleServiceImpl.bind(this),500)}updateScrollVisibleServiceImpl(){if(!this.isAlive())return;let Q={horizontalScrollShowing:this.centerContainerCtrl.isHorizontalScrollShowing(),verticalScrollShowing:this.gridBodyCtrl.isVerticalScrollShowing()};this.scrollVisibleSvc.setScrollsVisible(Q)}onHorizontalViewportChanged(){let{centerContainerCtrl:Q,beans:z}=this,J=Q.getCenterWidth(),Z=Q.getViewportScrollLeft();z.colViewport.setScrollPosition(J,Z)}};function e9(Q){if(Q.altKey||Q.ctrlKey||Q.metaKey)return!1;return Q.key?.length===1}function rJ(Q,z,J,Z){let $=z.getColDef().cellRendererParams?.suppressMouseEventHandling;return Q$(Q,z,J,Z,$)}function sH(Q,z,J,Z){let $=z?.suppressMouseEventHandling;return Q$(Q,void 0,J,Z,$)}function Q$(Q,z,J,Z,$){if(!$)return!1;return $(y(Q,{column:z,node:J,event:Z}))}function z$(Q,z,J){let Z=z;while(Z){let $=Y9(Q,Z,J);if($)return $;Z=Z.parentElement}return null}var HZ="cellCtrl";function EJ(Q,z){return z$(Q,z,HZ)}var _Z="renderedRow";function q6(Q,z){return z$(Q,z,_Z)}function _5(Q,z,J,Z,$){let X=Z?Z.getColDef().suppressKeyboardEvent:void 0;if(!X)return!1;let Y=y(Q,{event:z,editing:$,column:Z,node:J,data:J.data,colDef:Z.getColDef()});if(X){if(X(Y))return!0}return!1}function lH(Q){let{pinnedRowModel:z,rowModel:J,rangeSvc:Z,visibleCols:$}=Q;if(!Z||$.allCols.length===0)return;let X=z?.isEmpty("top")??!0,Y=z?.isEmpty("bottom")??!0,G=X?null:"top",q,H;if(Y)q=null,H=J.getRowCount()-1;else q="bottom",H=z?.getPinnedBottomRowCount()??-1;Z.setCellRange({rowStartIndex:0,rowStartPinned:G,rowEndIndex:H,rowEndPinned:q})}var aH=class extends j{constructor(Q){super();this.element=Q}postConstruct(){this.addKeyboardListeners(),this.addMouseListeners(),this.beans.touchSvc?.mockRowContextMenu(this),this.editSvc=this.beans.editSvc}addKeyboardListeners(){let z=this.processKeyboardEvent.bind(this,"keydown");this.addManagedElementListeners(this.element,{["keydown"]:z})}addMouseListeners(){let Q="mousedown";if(a2("pointerdown"))Q="pointerdown";else if(a2("touchstart"))Q="touchstart";let z=["dblclick","contextmenu","mouseover","mouseout","click",Q];for(let J of z){let Z=this.processMouseEvent.bind(this,J);this.addManagedElementListeners(this.element,{[J]:Z})}}processMouseEvent(Q,z){if(!n1(this.beans,z)||zQ(z))return;let{cellCtrl:J,rowCtrl:Z}=this.getControlsForEventTarget(z.target);if(Q==="contextmenu"){if(J?.column)J.dispatchCellContextMenuEvent(z);this.beans.contextMenuSvc?.handleContextMenuMouseEvent(z,void 0,Z,J)}else{if(J)J.onMouseEvent(Q,z);if(Z)Z.onMouseEvent(Q,z)}}getControlsForEventTarget(Q){let{gos:z}=this;return{cellCtrl:EJ(z,Q),rowCtrl:q6(z,Q)}}processKeyboardEvent(Q,z){let{cellCtrl:J,rowCtrl:Z}=this.getControlsForEventTarget(z.target);if(z.defaultPrevented)return;if(J)this.processCellKeyboardEvent(J,Q,z);else if(Z?.isFullWidth())this.processFullWidthRowKeyboardEvent(Z,Q,z)}processCellKeyboardEvent(Q,z,J){let Z=this.editSvc?.isEditing(Q,{withOpenEditor:!0})??!1;if(!_5(this.gos,J,Q.rowNode,Q.column,Z)){if(z==="keydown"){if(!(!Z&&this.beans.navigation?.handlePageScrollingKey(J)))Q.onKeyDown(J);if(this.doGridOperations(J,Z),e9(J))Q.processCharacter(J)}}if(z==="keydown")this.eventSvc.dispatchEvent(Q.createEvent(J,"cellKeyDown"))}processFullWidthRowKeyboardEvent(Q,z,J){let{rowNode:Z}=Q,{focusSvc:$,navigation:X}=this.beans,G=$.getFocusedCell()?.column;if(!_5(this.gos,J,Z,G,!1)){let H=J.key;if(z==="keydown")switch(H){case V.PAGE_HOME:case V.PAGE_END:case V.PAGE_UP:case V.PAGE_DOWN:X?.handlePageScrollingKey(J,!0);break;case V.LEFT:case V.RIGHT:if(!this.gos.get("embedFullWidthRows"))break;case V.UP:case V.DOWN:Q.onKeyboardNavigate(J);break;case V.TAB:Q.onTabKeyDown(J);break;default:}}if(z==="keydown")this.eventSvc.dispatchEvent(Q.createRowEvent("cellKeyDown",J))}doGridOperations(Q,z){if(!Q.ctrlKey&&!Q.metaKey)return;if(z)return;if(!n1(this.beans,Q))return;let J=R9(Q),{clipboardSvc:Z,undoRedo:$}=this.beans;if(J===V.A)return this.onCtrlAndA(Q);if(J===V.C)return this.onCtrlAndC(Z,Q);if(J===V.D)return this.onCtrlAndD(Z,Q);if(J===V.V)return this.onCtrlAndV(Z,Q);if(J===V.X)return this.onCtrlAndX(Z,Q);if(J===V.Y)return this.onCtrlAndY($);if(J===V.Z)return this.onCtrlAndZ($,Q)}onCtrlAndA(Q){let{beans:{rowModel:z,rangeSvc:J,selectionSvc:Z},gos:$}=this;if(J&&u0($)&&!pG($)&&z.isRowsToRender())lH(this.beans);else if(Z)Z.selectAllRowNodes({source:"keyboardSelectAll",selectAll:U9($)});Q.preventDefault()}onCtrlAndC(Q,z){if(!Q||this.gos.get("enableCellTextSelection"))return;let{cellCtrl:J}=this.getControlsForEventTarget(z.target);if(this.editSvc?.isEditing(J,{withOpenEditor:!0}))return;z.preventDefault(),Q.copyToClipboard()}onCtrlAndX(Q,z){if(!Q||this.gos.get("enableCellTextSelection")||this.gos.get("suppressCutToClipboard"))return;let{cellCtrl:J}=this.getControlsForEventTarget(z.target);if(this.editSvc?.isEditing(J,{withOpenEditor:!0}))return;z.preventDefault(),Q.cutToClipboard(void 0,"ui")}onCtrlAndV(Q,z){let{cellCtrl:J}=this.getControlsForEventTarget(z.target);if(this.editSvc?.isEditing(J,{withOpenEditor:!0}))return;if(Q&&!this.gos.get("suppressClipboardPaste"))Q.pasteFromClipboard()}onCtrlAndD(Q,z){if(Q&&!this.gos.get("suppressClipboardPaste"))Q.copyRangeDown();z.preventDefault()}onCtrlAndZ(Q,z){if(!this.gos.get("undoRedoCellEditing")||!Q)return;if(z.preventDefault(),z.shiftKey)Q.redo("ui");else Q.undo("ui")}onCtrlAndY(Q){Q?.redo("ui")}},xJ=(Q)=>Q.topRowCtrls,wJ=(Q)=>Q.getStickyTopRowCtrls(),NJ=(Q)=>Q.getStickyBottomRowCtrls(),gJ=(Q)=>Q.bottomRowCtrls,hJ=(Q)=>Q.allRowCtrls,x2=(Q)=>Q.getCtrls("top"),w2=(Q)=>Q.getCtrls("center"),N2=(Q)=>Q.getCtrls("bottom"),oH={center:{type:"center",name:"center-cols",getRowCtrls:hJ,getSpannedRowCtrls:w2},left:{type:"left",name:"pinned-left-cols",pinnedType:"left",getRowCtrls:hJ,getSpannedRowCtrls:w2},right:{type:"right",name:"pinned-right-cols",pinnedType:"right",getRowCtrls:hJ,getSpannedRowCtrls:w2},fullWidth:{type:"fullWidth",name:"full-width",fullWidth:!0,getRowCtrls:hJ},topCenter:{type:"center",name:"floating-top",getRowCtrls:xJ,getSpannedRowCtrls:x2},topLeft:{type:"left",name:"pinned-left-floating",container:"ag-pinned-left-floating-top",pinnedType:"left",getRowCtrls:xJ,getSpannedRowCtrls:x2},topRight:{type:"right",name:"pinned-right-floating",container:"ag-pinned-right-floating-top",pinnedType:"right",getRowCtrls:xJ,getSpannedRowCtrls:x2},topFullWidth:{type:"fullWidth",name:"floating-top-full-width",fullWidth:!0,getRowCtrls:xJ},stickyTopCenter:{type:"center",name:"sticky-top",getRowCtrls:wJ},stickyTopLeft:{type:"left",name:"pinned-left-sticky-top",container:"ag-pinned-left-sticky-top",pinnedType:"left",getRowCtrls:wJ},stickyTopRight:{type:"right",name:"pinned-right-sticky-top",container:"ag-pinned-right-sticky-top",pinnedType:"right",getRowCtrls:wJ},stickyTopFullWidth:{type:"fullWidth",name:"sticky-top-full-width",fullWidth:!0,getRowCtrls:wJ},stickyBottomCenter:{type:"center",name:"sticky-bottom",getRowCtrls:NJ},stickyBottomLeft:{type:"left",name:"pinned-left-sticky-bottom",container:"ag-pinned-left-sticky-bottom",pinnedType:"left",getRowCtrls:NJ},stickyBottomRight:{type:"right",name:"pinned-right-sticky-bottom",container:"ag-pinned-right-sticky-bottom",pinnedType:"right",getRowCtrls:NJ},stickyBottomFullWidth:{type:"fullWidth",name:"sticky-bottom-full-width",fullWidth:!0,getRowCtrls:NJ},bottomCenter:{type:"center",name:"floating-bottom",getRowCtrls:gJ,getSpannedRowCtrls:N2},bottomLeft:{type:"left",name:"pinned-left-floating-bottom",container:"ag-pinned-left-floating-bottom",pinnedType:"left",getRowCtrls:gJ,getSpannedRowCtrls:N2},bottomRight:{type:"right",name:"pinned-right-floating-bottom",container:"ag-pinned-right-floating-bottom",pinnedType:"right",getRowCtrls:gJ,getSpannedRowCtrls:N2},bottomFullWidth:{type:"fullWidth",name:"floating-bottom-full-width",fullWidth:!0,getRowCtrls:gJ}};function J$(Q){return`ag-${KJ(Q).name}-viewport`}function Z$(Q){let z=KJ(Q);return z.container??`ag-${z.name}-container`}function eH(Q){return`ag-${KJ(Q).name}-spanned-cells-container`}function KJ(Q){return oH[Q]}var Q_=["topCenter","topLeft","topRight"],z_=["bottomCenter","bottomLeft","bottomRight"],J_=["center","left","right"],Z_=["center","left","right","fullWidth"],$_=["stickyTopCenter","stickyBottomCenter","center","topCenter","bottomCenter"],X_=["left","bottomLeft","topLeft","stickyTopLeft","stickyBottomLeft"],Y_=["right","bottomRight","topRight","stickyTopRight","stickyBottomRight"],$$=["stickyTopCenter","stickyTopLeft","stickyTopRight"],X$=["stickyBottomCenter","stickyBottomLeft","stickyBottomRight"],G_=[...$$,"stickyTopFullWidth",...X$,"stickyBottomFullWidth"],q_=[...Q_,...z_,...J_,...$$,...X$],H_=class extends j{constructor(Q){super();this.name=Q,this.visible=!0,this.EMPTY_CTRLS=[],this.options=KJ(Q)}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.forContainers(["center"],()=>{this.viewportSizeFeature=this.createManagedBean(new rH(this)),this.addManagedEventListeners({stickyTopOffsetChanged:this.onStickyTopOffsetChanged.bind(this)})})}onStickyTopOffsetChanged(Q){this.comp.setOffsetTop(`${Q.offset}px`)}registerWithCtrlsService(){if(this.options.fullWidth)return;this.beans.ctrlsSvc.register(this.name,this)}forContainers(Q,z){if(Q.indexOf(this.name)>=0)z()}setComp(Q,z,J,Z){this.comp=Q,this.eContainer=z,this.eSpannedContainer=J,this.eViewport=Z,this.createManagedBean(new aH(this.eViewport??this.eContainer)),this.addPreventScrollWhileDragging(),this.listenOnDomOrder();let{pinnedCols:$,rangeSvc:X}=this.beans,Y=()=>this.onPinnedWidthChanged();if(this.forContainers(X_,()=>{this.pinnedWidthFeature=this.createOptionalManagedBean($?.createPinnedWidthFeature(!0,this.eContainer,this.eSpannedContainer)),this.addManagedEventListeners({leftPinnedWidthChanged:Y})}),this.forContainers(Y_,()=>{this.pinnedWidthFeature=this.createOptionalManagedBean($?.createPinnedWidthFeature(!1,this.eContainer,this.eSpannedContainer)),this.addManagedEventListeners({rightPinnedWidthChanged:Y})}),this.forContainers(Z_,()=>this.createManagedBean(new a9(this.eContainer,this.name==="center"?Z:void 0))),X)this.forContainers(q_,()=>this.createManagedBean(X.createDragListenerFeature(this.eContainer)));this.forContainers($_,()=>this.createManagedBean(new $6((G)=>this.comp.setContainerWidth(`${G}px`)))),this.visible=this.isContainerVisible(),this.addListeners(),this.registerWithCtrlsService()}onScrollCallback(Q){this.addManagedElementListeners(this.eViewport,{scroll:Q})}addListeners(){let{spannedRowRenderer:Q,gos:z}=this.beans,J=this.onDisplayedColumnsChanged.bind(this);if(this.addManagedEventListeners({displayedColumnsChanged:J,displayedColumnsWidthChanged:J,displayedRowsChanged:(Z)=>this.onDisplayedRowsChanged(Z.afterScroll)}),J(),this.onDisplayedRowsChanged(),Q&&this.options.getSpannedRowCtrls&&z.get("enableCellSpan"))this.addManagedListeners(Q,{spannedRowsUpdated:()=>{let Z=this.options.getSpannedRowCtrls(Q);if(!Z)return;this.comp.setSpannedRowCtrls(Z,!1)}})}listenOnDomOrder(){if(G_.indexOf(this.name)>=0){this.comp.setDomOrder(!0);return}let z=()=>{let J=this.gos.get("ensureDomOrder"),Z=V0(this.gos,"print");this.comp.setDomOrder(J||Z)};this.addManagedPropertyListener("domLayout",z),z()}onDisplayedColumnsChanged(){this.forContainers(["center"],()=>this.onHorizontalViewportChanged())}addPreventScrollWhileDragging(){let{dragSvc:Q}=this.beans;if(!Q)return;let z=(J)=>{if(Q.dragging){if(J.cancelable)J.preventDefault()}};this.eContainer.addEventListener("touchmove",z,{passive:!1}),this.addDestroyFunc(()=>this.eContainer.removeEventListener("touchmove",z))}onHorizontalViewportChanged(Q=!1){let z=this.getCenterWidth(),J=this.getCenterViewportScrollLeft();this.beans.colViewport.setScrollPosition(z,J,Q)}hasHorizontalScrollGap(){return this.eContainer.clientWidth-this.eViewport.clientWidth<0}hasVerticalScrollGap(){return this.eContainer.clientHeight-this.eViewport.clientHeight<0}getCenterWidth(){return xz(this.eViewport)}getCenterViewportScrollLeft(){return QZ(this.eViewport,this.enableRtl)}registerViewportResizeListener(Q){let z=DQ(this.beans,this.eViewport,Q);this.addDestroyFunc(()=>z())}isViewportInTheDOMTree(){return g8(this.eViewport)}getViewportScrollLeft(){return QZ(this.eViewport,this.enableRtl)}isHorizontalScrollShowing(){let{beans:Q,gos:z,eViewport:J}=this,Z=z.get("alwaysShowHorizontalScroll"),{ctrlsSvc:$}=Q,X=$.getGridBodyCtrl()?.eBodyViewport,Y=$.get("fakeHScrollComp")?.getGui(),G=$.get("fakeVScrollComp")?.getGui();return Z||nH(J,X,void 0,Y,G)}setHorizontalScroll(Q){this.comp.setHorizontalScroll(Q)}getHScrollPosition(){return{left:this.eViewport.scrollLeft,right:this.eViewport.scrollLeft+this.eViewport.offsetWidth}}setCenterViewportScrollLeft(Q){zZ(this.eViewport,Q,this.enableRtl)}isContainerVisible(){return this.options.pinnedType==null||!!this.pinnedWidthFeature&&this.pinnedWidthFeature.getWidth()>0}onPinnedWidthChanged(){let Q=this.isContainerVisible();if(this.visible!=Q)this.visible=Q,this.onDisplayedRowsChanged()}onDisplayedRowsChanged(Q=!1){let z=this.options.getRowCtrls(this.beans.rowRenderer);if(!this.visible||z.length===0){this.comp.setRowCtrls({rowCtrls:this.EMPTY_CTRLS});return}let J=V0(this.gos,"print"),$=this.gos.get("embedFullWidthRows")||J,X=z.filter((Y)=>{let G=Y.isFullWidth();return this.options.fullWidth?!$&&G:$||!G});this.comp.setRowCtrls({rowCtrls:X,useFlushSync:Q})}},Y$="ag-force-vertical-scroll",__="ag-selectable",U_="ag-column-moving",W_=class extends j{constructor(){super(...arguments);this.stickyTopHeight=0,this.stickyBottomHeight=0}wireBeans(Q){this.ctrlsSvc=Q.ctrlsSvc,this.colModel=Q.colModel,this.scrollVisibleSvc=Q.scrollVisibleSvc,this.pinnedRowModel=Q.pinnedRowModel,this.filterManager=Q.filterManager,this.rowGroupColsSvc=Q.rowGroupColsSvc}setComp(Q,z,J,Z,$,X,Y){this.comp=Q,this.eGridBody=z,this.eBodyViewport=J,this.eTop=Z,this.eBottom=$,this.eStickyTop=X,this.eStickyBottom=Y,this.eCenterColsViewport=J.querySelector(`.${J$("center")}`),this.eFullWidthContainer=J.querySelector(`.${Z$("fullWidth")}`),this.setCellTextSelection(this.gos.get("enableCellTextSelection")),this.addManagedPropertyListener("enableCellTextSelection",(G)=>this.setCellTextSelection(G.currentValue)),this.createManagedBean(new G6(this.comp)),this.scrollFeature=this.createManagedBean(new iH(J)),this.beans.rowDragSvc?.setupRowDrag(J,this),this.setupRowAnimationCssClass(),this.addEventListeners(),this.addFocusListeners([Z,J,$,X,Y]),this.setGridRootRole(),this.onGridColumnsChanged(),this.addBodyViewportListener(),this.setFloatingHeights(),this.disableBrowserDragging(),this.addStopEditingWhenGridLosesFocus(),this.updateScrollingClasses(),this.filterManager?.setupAdvFilterHeaderComp(Z),this.ctrlsSvc.register("gridBodyCtrl",this)}addEventListeners(){let Q=this.setFloatingHeights.bind(this),z=this.setGridRootRole.bind(this),J=this.toggleRowResizeStyles.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this),scrollGapChanged:this.updateScrollingClasses.bind(this),pinnedRowDataChanged:Q,pinnedHeightChanged:Q,pinnedRowsChanged:Q,headerHeightChanged:this.setStickyTopOffsetTop.bind(this),columnRowGroupChanged:z,columnPivotChanged:z,rowResizeStarted:J,rowResizeEnded:J}),this.addManagedPropertyListener("treeData",z)}toggleRowResizeStyles(Q){let z=Q.type==="rowResizeStarted";this.eBodyViewport.classList.toggle("ag-prevent-animation",z)}onGridColumnsChanged(){let Q=this.beans.colModel.getCols();this.comp.setColumnCount(Q.length)}onScrollVisibilityChanged(){let{scrollVisibleSvc:Q}=this,z=Q.verticalScrollShowing;this.setVerticalScrollPaddingVisible(z),this.setStickyWidth(z),this.setStickyBottomOffsetBottom();let J=z?Q.getScrollbarWidth()||0:0,Z=y9()?16:0,$=`calc(100% + ${J+Z}px)`;YQ(this.beans,()=>this.comp.setBodyViewportWidth($)),this.updateScrollingClasses()}setGridRootRole(){let{rowGroupColsSvc:Q,colModel:z,gos:J}=this,Z=J.get("treeData");if(!Z){let $=z.isPivotMode();Z=(!Q?0:Q.columns.length)>=($?2:1)}this.comp.setGridRootRole(Z?"treegrid":"grid")}addFocusListeners(Q){for(let z of Q)this.addManagedElementListeners(z,{focusin:(J)=>{let{target:Z}=J,$=vz(Z,"ag-root",z);z.classList.toggle("ag-has-focus",!$)},focusout:(J)=>{let{target:Z,relatedTarget:$}=J,X=z.contains($),Y=vz($,"ag-root",z);if(vz(Z,"ag-root",z))return;if(!X||Y)z.classList.remove("ag-has-focus")}})}setColumnMovingCss(Q){this.comp.setColumnMovingCss(U_,Q)}setCellTextSelection(Q=!1){this.comp.setCellSelectableCss(__,Q)}updateScrollingClasses(){let{eGridBody:{classList:Q},scrollVisibleSvc:z}=this;Q.toggle("ag-body-vertical-content-no-gap",!z.verticalScrollGap),Q.toggle("ag-body-horizontal-content-no-gap",!z.horizontalScrollGap)}disableBrowserDragging(){this.addManagedElementListeners(this.eGridBody,{dragstart:(Q)=>{if(Q.target instanceof HTMLImageElement)return Q.preventDefault(),!1}})}addStopEditingWhenGridLosesFocus(){this.beans.editSvc?.addStopEditingWhenGridLosesFocus([this.eBodyViewport,this.eBottom,this.eTop,this.eStickyTop,this.eStickyBottom])}updateRowCount(){let Q=(this.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0)+(this.filterManager?.getHeaderRowCount()??0),{rowModel:z}=this.beans,J=z.isLastRowIndexKnown()?z.getRowCount():-1,Z=J===-1?-1:Q+J;this.comp.setRowCount(Z)}registerBodyViewportResizeListener(Q){this.comp.registerBodyViewportResizeListener(Q)}setVerticalScrollPaddingVisible(Q){let z=Q?"scroll":"hidden";this.comp.setPinnedTopBottomOverflowY(z)}isVerticalScrollShowing(){let{gos:Q,comp:z,ctrlsSvc:J}=this,Z=Q.get("alwaysShowVerticalScroll"),$=Z?Y$:null,X=V0(Q,"normal");z.setAlwaysVerticalScrollClass($,Z);let Y=J.get("center")?.eViewport,G=J.get("fakeHScrollComp")?.getGui(),q=J.get("fakeVScrollComp")?.getGui();return Z||X&&dH(this.eBodyViewport,Y,void 0,q,G)}setupRowAnimationCssClass(){let{rowContainerHeight:Q,environment:z}=this.beans,J=z.sizesMeasured,Z=()=>{let $=J&&_1(this.gos)&&!Q.stretching,X=$?"ag-row-animation":"ag-row-no-animation";this.comp.setRowAnimationCssOnBodyViewport(X,$)};Z(),this.addManagedEventListeners({heightScaleChanged:Z}),this.addManagedPropertyListener("animateRows",Z),this.addManagedEventListeners({stylesChanged:()=>{if(!J&&z.sizesMeasured)J=!0,Z()}})}addBodyViewportListener(){let{eBodyViewport:Q,eStickyTop:z,eStickyBottom:J,eTop:Z,eBottom:$,beans:{popupSvc:X,touchSvc:Y}}=this,G=this.onBodyViewportContextMenu.bind(this);this.addManagedElementListeners(Q,{contextmenu:G}),Y?.mockBodyContextMenu(this,G),this.addManagedElementListeners(Q,{wheel:this.onBodyViewportWheel.bind(this,X)});let q=this.onStickyWheel.bind(this);for(let _ of[z,J,Z,$])this.addManagedElementListeners(_,{wheel:q});let H=this.onHorizontalWheel.bind(this);for(let _ of["left","right","topLeft","topRight","bottomLeft","bottomRight"])this.addManagedElementListeners(this.ctrlsSvc.get(_).eContainer,{wheel:H});this.addFullWidthContainerWheelListener()}addFullWidthContainerWheelListener(){this.addManagedElementListeners(this.eFullWidthContainer,{wheel:(Q)=>this.onFullWidthContainerWheel(Q)})}onFullWidthContainerWheel(Q){let{deltaX:z,deltaY:J,shiftKey:Z}=Q;if((Z||Math.abs(z)>Math.abs(J))&&n1(this.beans,Q))this.scrollGridBodyToMatchEvent(Q)}onStickyWheel(Q){let{deltaY:z}=Q;if(this.scrollVertically(z)>0)Q.preventDefault()}onHorizontalWheel(Q){let{deltaX:z,deltaY:J,shiftKey:Z}=Q;if(!(Z||Math.abs(z)>Math.abs(J)))return;this.scrollGridBodyToMatchEvent(Q)}scrollGridBodyToMatchEvent(Q){let{deltaX:z,deltaY:J}=Q;Q.preventDefault(),this.eCenterColsViewport.scrollBy({left:z||J})}onBodyViewportContextMenu(Q,z,J){if(!Q&&!J)return;if(this.gos.get("preventDefaultOnContextMenu"))(Q||J).preventDefault();let{target:Z}=Q||z;if(Z===this.eBodyViewport||Z===this.ctrlsSvc.get("center").eViewport)this.beans.contextMenuSvc?.showContextMenu({mouseEvent:Q,touchEvent:J,value:null,anchorToElement:this.eGridBody,source:"ui"})}onBodyViewportWheel(Q,z){if(!this.gos.get("suppressScrollWhenPopupsAreOpen"))return;if(Q?.hasAnchoredPopup())z.preventDefault()}scrollVertically(Q){let z=this.eBodyViewport.scrollTop;return this.scrollFeature.setVerticalScrollPosition(z+Q),this.eBodyViewport.scrollTop-z}setFloatingHeights(){let{pinnedRowModel:Q,beans:{environment:z}}=this,J=Q?.getPinnedTopTotalHeight(),Z=Q?.getPinnedBottomTotalHeight(),$=z.getPinnedRowBorderWidth(),X=z.getRowBorderWidth(),Y=$-X,G=!J?0:Y+J,q=!Z?0:Y+Z;this.comp.setTopHeight(G),this.comp.setBottomHeight(q),this.comp.setTopInvisible(G<=0),this.comp.setBottomInvisible(q<=0),this.setStickyTopOffsetTop(),this.setStickyBottomOffsetBottom()}setStickyTopHeight(Q=0){this.comp.setStickyTopHeight(`${Q}px`),this.stickyTopHeight=Q}setStickyBottomHeight(Q=0){this.comp.setStickyBottomHeight(`${Q}px`),this.stickyBottomHeight=Q}setStickyWidth(Q){if(!Q)this.comp.setStickyTopWidth("100%"),this.comp.setStickyBottomWidth("100%");else{let z=this.scrollVisibleSvc.getScrollbarWidth();this.comp.setStickyTopWidth(`calc(100% - ${z}px)`),this.comp.setStickyBottomWidth(`calc(100% - ${z}px)`)}}setStickyTopOffsetTop(){let z=this.ctrlsSvc.get("gridHeaderCtrl").headerHeight+(this.filterManager?.getHeaderHeight()??0),J=this.pinnedRowModel?.getPinnedTopTotalHeight()??0,Z=0;if(z>0)Z+=z;if(J>0)Z+=J;if(Z>0)Z+=1;this.comp.setStickyTopTop(`${Z}px`)}setStickyBottomOffsetBottom(){let{pinnedRowModel:Q,scrollVisibleSvc:z,comp:J}=this,Z=Q?.getPinnedBottomTotalHeight()??0,X=z.horizontalScrollShowing?z.getScrollbarWidth()||0:0,Y=Z+X;J.setStickyBottomBottom(`${Y}px`)}};function Z0(Q){return K0(Q)}var B_=class extends x{constructor(Q,z,J,Z,$){super();this.cellCtrl=z,this.rowResizerElement=null,this.rendererVersion=0,this.editorVersion=0,this.beans=Q,this.gos=Q.gos,this.column=z.column,this.rowNode=z.rowNode,this.eRow=Z;let X=Z0({tag:"div",role:z.getCellAriaRole(),attrs:{"comp-id":`${this.getCompId()}`,"col-id":z.column.colIdSanitised}});this.eCell=X;let Y;if(z.isCellSpanning())Y=Z0({tag:"div",cls:"ag-spanned-cell-wrapper",role:"presentation"}),Y.appendChild(X),this.setTemplateFromElement(Y);else this.setTemplateFromElement(X);this.cellCssManager=new I9(()=>X),this.forceWrapper=z.isForceWrapper(),this.refreshWrapper(!1);let G={toggleCss:(q,H)=>this.cellCssManager.toggleCss(q,H),setUserStyles:(q)=>$J(X,q),getFocusableElement:()=>X,setIncludeSelection:(q)=>this.includeSelection=q,setIncludeRowDrag:(q)=>this.includeRowDrag=q,setIncludeDndSource:(q)=>this.includeDndSource=q,setRowResizerElement:(q)=>this.setRowResizerElement(q),setRenderDetails:(q,H,_)=>this.setRenderDetails(q,H,_),setEditDetails:(q,H,_)=>this.setEditDetails(q,H,_),getCellEditor:()=>this.cellEditor||null,getCellRenderer:()=>this.cellRenderer||null,getParentOfValue:()=>this.getParentOfValue(),refreshEditStyles:(q,H)=>this.refreshEditStyles(q,H)};z.setComp(G,X,Y,this.eCellWrapper,J,$,void 0)}getParentOfValue(){return this.eCellValue??this.eCellWrapper??this.eCell}setRowResizerElement(Q){if(this.rowResizerElement)T0(this.rowResizerElement);if(this.rowResizerElement=Q,Q)this.eCell.appendChild(Q)}setRenderDetails(Q,z,J){if(this.cellEditor&&!this.cellEditorPopupWrapper)return;this.firstRender=this.firstRender==null;let $=this.refreshWrapper(!1);if(this.refreshEditStyles(!1),Q){if(!(J||$?!1:this.refreshCellRenderer(Q)))this.destroyRenderer(),this.createCellRendererInstance(Q)}else this.destroyRenderer(),this.insertValueWithoutCellRenderer(z);if(this.rowDraggingComp?.refreshVisibility(),this.rowResizerElement&&!this.rowResizerElement.parentElement)this.eCell.appendChild(this.rowResizerElement)}setEditDetails(Q,z,J){if(Q)this.createCellEditorInstance(Q,z,J);else this.destroyEditor()}removeControls(){let Q=this.beans.context;this.checkboxSelectionComp=Q.destroyBean(this.checkboxSelectionComp),this.dndSourceComp=Q.destroyBean(this.dndSourceComp),this.rowDraggingComp=Q.destroyBean(this.rowDraggingComp)}refreshWrapper(Q){let z=this.includeRowDrag||this.includeDndSource||this.includeSelection,J=z||this.forceWrapper,Z=J&&this.eCellWrapper==null;if(Z)this.eCellWrapper=Z0({tag:"div",cls:"ag-cell-wrapper",role:"presentation"}),this.eCell.appendChild(this.eCellWrapper);let $=!J&&this.eCellWrapper!=null;if($)T0(this.eCellWrapper),this.eCellWrapper=void 0;this.cellCssManager.toggleCss("ag-cell-value",!J);let X=!Q&&J,Y=X&&this.eCellValue==null;if(Y){let H=this.cellCtrl.getCellValueClass();this.eCellValue=Z0({tag:"span",cls:H,role:"presentation"}),this.eCellWrapper.appendChild(this.eCellValue)}let G=!X&&this.eCellValue!=null;if(G)T0(this.eCellValue),this.eCellValue=void 0;let q=Z||$||Y||G;if(q)this.removeControls();if(!Q&&z)this.addControls();return q}addControls(){let{cellCtrl:Q,eCellWrapper:z,eCellValue:J,includeRowDrag:Z,includeDndSource:$,includeSelection:X}=this,Y=(G)=>{if(G)z.insertBefore(G.getGui(),J)};if(Z&&this.rowDraggingComp==null)this.rowDraggingComp=Q.createRowDragComp(),Y(this.rowDraggingComp);if($&&this.dndSourceComp==null)this.dndSourceComp=Q.createDndSource(),Y(this.dndSourceComp);if(X&&this.checkboxSelectionComp==null)this.checkboxSelectionComp=Q.createSelectionCheckbox(),Y(this.checkboxSelectionComp)}createCellEditorInstance(Q,z,J){let Z=this.editorVersion,$=Q.newAgStackInstance(),{params:X}=Q;if($.then((G)=>this.afterCellEditorCreated(Z,G,X,z,J)),n(this.cellEditor)&&X.cellStartedEdit)this.cellCtrl.focusCell(!0)}insertValueWithoutCellRenderer(Q){let z=this.getParentOfValue();z0(z);let J=ZJ(Q);if(J!=null)z.textContent=J}destroyRenderer(){let{context:Q}=this.beans;this.cellRenderer=Q.destroyBean(this.cellRenderer),T0(this.cellRendererGui),this.cellRendererGui=null,this.rendererVersion++}destroyEditor(){let{context:Q}=this.beans;if(this.cellEditorPopupWrapper?.getGui().contains(d(this.beans))||this.cellCtrl.hasBrowserFocus())this.eCell.focus({preventScroll:!0});this.hideEditorPopup?.(),this.hideEditorPopup=void 0,this.cellEditor=Q.destroyBean(this.cellEditor),this.cellEditorPopupWrapper=Q.destroyBean(this.cellEditorPopupWrapper),T0(this.cellEditorGui),this.cellCtrl.disableEditorTooltipFeature(),this.cellEditorGui=null,this.editorVersion++}refreshCellRenderer(Q){if(this.cellRenderer?.refresh==null)return!1;if(this.cellRendererClass!==Q.componentClass)return!1;let z=this.cellRenderer.refresh(Q.params);return z===!0||z===void 0}createCellRendererInstance(Q){let z=this.rendererVersion,J=(X)=>(Y)=>{if(this.rendererVersion!==z||!this.isAlive())return;let q=X.newAgStackInstance(),H=this.afterCellRendererCreated.bind(this,z,X.componentClass);q?.then(H)},{animationFrameSvc:Z}=this.beans,$;if(Z?.active&&this.firstRender)$=(X,Y=!1)=>{Z.createTask(J(X),this.rowNode.rowIndex,"p2",X.componentFromFramework,Y)};else $=(X)=>J(X)();if(Q.params?.deferRender&&!this.cellCtrl.rowNode.group){let{loadingComp:X,onReady:Y}=this.cellCtrl.getDeferLoadingCellRenderer();if(X)$(X),Y.then(()=>$(Q,!0))}else $(Q)}afterCellRendererCreated(Q,z,J){if(!this.isAlive()||Q!==this.rendererVersion){this.beans.context.destroyBean(J);return}this.cellRenderer=J,this.cellRendererClass=z;let $=J.getGui();if(this.cellRendererGui=$,$!=null){let X=this.getParentOfValue();z0(X),X.appendChild($)}}afterCellEditorCreated(Q,z,J,Z,$){let X=Q!==this.editorVersion,{context:Y}=this.beans;if(X){Y.destroyBean(z);return}if(z.isCancelBeforeStart?.()){Y.destroyBean(z),this.cellCtrl.stopEditing(!0);return}if(!z.getGui){R(97,{colId:this.column.getId()}),Y.destroyBean(z);return}this.cellEditor=z,this.cellEditorGui=z.getGui();let q=Z||z.isPopup?.();if(q)this.addPopupCellEditor(J,$);else this.addInCellEditor();this.refreshEditStyles(!0,q),z.afterGuiAttached?.(),this.cellCtrl.enableEditorTooltipFeature(z),this.cellCtrl.cellEditorAttached()}refreshEditStyles(Q,z){let{cellCssManager:J}=this;J.toggleCss("ag-cell-inline-editing",Q&&!z),J.toggleCss("ag-cell-popup-editing",Q&&!!z),J.toggleCss("ag-cell-not-inline-editing",!Q||!!z)}addInCellEditor(){let{eCell:Q}=this;if(Q.contains(d(this.beans)))Q.focus();if(this.destroyRenderer(),this.refreshWrapper(!0),z0(this.getParentOfValue()),this.cellEditorGui)this.getParentOfValue().appendChild(this.cellEditorGui)}addPopupCellEditor(Q,z){let{gos:J,context:Z,popupSvc:$,editSvc:X}=this.beans;if(J.get("editType")==="fullRow")R(98);let Y=this.cellEditorPopupWrapper=Z.createBean(X.createPopupEditorWrapper(Q)),{cellEditor:G,cellEditorGui:q,eCell:H,rowNode:_,column:U,cellCtrl:W}=this,B=Y.getGui();if(q)B.appendChild(q);let E=J.get("stopEditingWhenCellsLoseFocus"),K=z!=null?z:G.getPopupPosition?.()??"over",L=J.get("enableRtl"),F={ePopup:B,additionalParams:{column:U,rowNode:_},type:"popupCellEditor",eventSource:H,position:K,alignSide:L?"right":"left",keepWithinBounds:!0},D=$.positionPopupByComponent.bind($,F),M=$.addPopup({modal:E,eChild:B,closeOnEsc:!0,closedCallback:(k)=>{W.onPopupEditorClosed(k)},anchorToElement:H,positionCallback:D,ariaOwns:H});if(M)this.hideEditorPopup=M.hideFunc}detach(){this.getGui().remove()}destroy(){this.destroyRenderer(),this.destroyEditor(),this.removeControls(),super.destroy()}},E_=class extends x{constructor(Q,z,J){super();this.cellComps=new Map,this.beans=z,this.rowCtrl=Q;let Z=Z0({tag:"div",role:"row",attrs:{"comp-id":`${this.getCompId()}`}});this.setInitialStyle(Z,J),this.setTemplateFromElement(Z);let $=Z.style;this.domOrder=this.rowCtrl.getDomOrder();let X={setDomOrder:(Y)=>this.domOrder=Y,setCellCtrls:(Y)=>this.setCellCtrls(Y),showFullWidth:(Y)=>this.showFullWidth(Y),getFullWidthCellRenderer:()=>this.fullWidthCellRenderer,getFullWidthCellRendererParams:()=>this.fullWidthCellRendererParams,toggleCss:(Y,G)=>this.toggleCss(Y,G),setUserStyles:(Y)=>$J(Z,Y),setTop:(Y)=>$.top=Y,setTransform:(Y)=>$.transform=Y,setRowIndex:(Y)=>Z.setAttribute("row-index",Y),setRowId:(Y)=>Z.setAttribute("row-id",Y),setRowBusinessKey:(Y)=>Z.setAttribute("row-business-key",Y),refreshFullWidth:(Y)=>{let G=Y();return this.fullWidthCellRendererParams=G,this.fullWidthCellRenderer?.refresh?.(G)??!1}};Q.setComp(X,this.getGui(),J,void 0),this.addDestroyFunc(()=>{Q.unsetComp(J)})}setInitialStyle(Q,z){let J=this.rowCtrl.getInitialTransform(z);if(J)Q.style.setProperty("transform",J);else{let Z=this.rowCtrl.getInitialRowTop(z);if(Z)Q.style.setProperty("top",Z)}}showFullWidth(Q){let z=(Z)=>{if(this.isAlive()){let $=Z.getGui();this.getGui().appendChild($),this.rowCtrl.setupDetailRowAutoHeight($),this.setFullWidthRowComp(Z,Q.params)}else this.beans.context.destroyBean(Z)};Q.newAgStackInstance().then(z)}setCellCtrls(Q){let z=new Map(this.cellComps);for(let J of Q){let Z=J.instanceId;if(!this.cellComps.has(Z))this.newCellComp(J);else z.delete(Z)}this.destroyCells(z),this.ensureDomOrder(Q)}ensureDomOrder(Q){if(!this.domOrder)return;let z=[];for(let J of Q){let Z=this.cellComps.get(J.instanceId);if(Z)z.push(Z.getGui())}u8(this.getGui(),z)}newCellComp(Q){let z=this.beans.editSvc?.isEditing(Q,{withOpenEditor:!0})??!1,J=new B_(this.beans,Q,this.rowCtrl.printLayout,this.getGui(),z);this.cellComps.set(Q.instanceId,J),this.getGui().appendChild(J.getGui())}destroy(){super.destroy(),this.destroyCells(this.cellComps)}setFullWidthRowComp(Q,z){this.fullWidthCellRenderer=Q,this.fullWidthCellRendererParams=z,this.addDestroyFunc(()=>{this.fullWidthCellRenderer=this.beans.context.destroyBean(this.fullWidthCellRenderer),this.fullWidthCellRendererParams=void 0})}destroyCells(Q){for(let z of Q.values()){if(!z)continue;let J=z.cellCtrl.instanceId;if(this.cellComps.get(J)!==z)continue;z.detach(),z.destroy(),this.cellComps.delete(J)}}};function K_(Q,z,J){let Z=!!J.gos.get("enableCellSpan")&&!!z.getSpannedRowCtrls,$={tag:"div",ref:"eContainer",cls:Z$(Q),role:"rowgroup"};if(z.type==="center"||Z){let X={tag:"div",ref:"eSpannedContainer",cls:`ag-spanning-container ${eH(Q)}`,role:"presentation"};return $.role="presentation",{tag:"div",ref:"eViewport",cls:`ag-viewport ${J$(Q)}`,role:"rowgroup",children:[$,Z?X:null]}}return $}var L_=class extends x{constructor(Q){super();this.eViewport=S,this.eContainer=S,this.eSpannedContainer=S,this.rowCompsNoSpan={},this.rowCompsWithSpan={},this.name=Q?.name,this.options=KJ(this.name)}postConstruct(){this.setTemplate(K_(this.name,this.options,this.beans));let Q={setHorizontalScroll:(J)=>this.eViewport.scrollLeft=J,setViewportHeight:(J)=>this.eViewport.style.height=J,setRowCtrls:({rowCtrls:J})=>this.setRowCtrls(J),setSpannedRowCtrls:(J)=>this.setRowCtrls(J,!0),setDomOrder:(J)=>{this.domOrder=J},setContainerWidth:(J)=>{if(this.eContainer.style.width=J,this.eSpannedContainer)this.eSpannedContainer.style.width=J},setOffsetTop:(J)=>{let Z=`translateY(${J})`;if(this.eContainer.style.transform=Z,this.eSpannedContainer)this.eSpannedContainer.style.transform=Z}};this.createManagedBean(new H_(this.name)).setComp(Q,this.eContainer,this.eSpannedContainer,this.eViewport)}destroy(){this.setRowCtrls([]),this.setRowCtrls([],!0),super.destroy(),this.lastPlacedElement=null}setRowCtrls(Q,z){let{beans:J,options:Z}=this,$=z?this.eSpannedContainer:this.eContainer,X=z?{...this.rowCompsWithSpan}:{...this.rowCompsNoSpan},Y={};if(z)this.rowCompsWithSpan=Y;else this.rowCompsNoSpan=Y;this.lastPlacedElement=null;let G=[];for(let q of Q){let H=q.instanceId,_=X[H],U;if(_)U=_,delete X[H];else{if(!q.rowNode.displayed)continue;U=new E_(q,J,Z.type)}Y[H]=U,G.push([U,!_])}this.removeOldRows(Object.values(X)),this.addRowNodes(G,$)}addRowNodes(Q,z){let{domOrder:J}=this;for(let[Z,$]of Q){let X=Z.getGui();if(!J){if($)z.appendChild(X)}else this.ensureDomOrder(X,z)}}removeOldRows(Q){for(let z of Q)z.getGui().remove(),z.destroy()}ensureDomOrder(Q,z){h8(z,Q,this.lastPlacedElement),this.lastPlacedElement=Q}},F_={selector:"AG-ROW-CONTAINER",component:L_};function C1(Q,z){return z.map((J)=>{let Z=`e${J[0].toUpperCase()+J.substring(1)}RowContainer`;return Q[Z]={name:J},{tag:"ag-row-container",ref:Z,attrs:{name:J}}})}function D_(Q){let z={},J={tag:"div",ref:"eGridRoot",cls:"ag-root ag-unselectable",children:[{tag:"ag-header-root"},{tag:"div",ref:"eTop",cls:"ag-floating-top",role:"presentation",children:C1(z,["topLeft","topCenter","topRight","topFullWidth"])},{tag:"div",ref:"eBody",cls:"ag-body",role:"presentation",children:[{tag:"div",ref:"eBodyViewport",cls:"ag-body-viewport",role:"presentation",children:C1(z,["left","center","right","fullWidth"])},{tag:"ag-fake-vertical-scroll"}]},{tag:"div",ref:"eStickyTop",cls:"ag-sticky-top",role:"presentation",children:C1(z,["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"])},{tag:"div",ref:"eStickyBottom",cls:"ag-sticky-bottom",role:"presentation",children:C1(z,["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"])},{tag:"div",ref:"eBottom",cls:"ag-floating-bottom",role:"presentation",children:C1(z,["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"])},{tag:"ag-fake-horizontal-scroll"},Q?{tag:"ag-overlay-wrapper"}:null]};return{paramsMap:z,elementParams:J}}var M_=class extends x{constructor(){super(...arguments);this.eGridRoot=S,this.eBodyViewport=S,this.eStickyTop=S,this.eStickyBottom=S,this.eTop=S,this.eBottom=S,this.eBody=S}postConstruct(){let{overlays:Q,rangeSvc:z}=this.beans,J=Q?.getOverlayWrapperSelector(),{paramsMap:Z,elementParams:$}=D_(!!J);this.setTemplate($,[...J?[J]:[],uH,pH,NH,F_],Z);let X=(G,q)=>{let H=`${G}px`;q.style.minHeight=H,q.style.height=H},Y={setRowAnimationCssOnBodyViewport:(G,q)=>this.setRowAnimationCssOnBodyViewport(G,q),setColumnCount:(G)=>d4(this.getGui(),G),setRowCount:(G)=>n4(this.getGui(),G),setTopHeight:(G)=>X(G,this.eTop),setBottomHeight:(G)=>X(G,this.eBottom),setTopInvisible:(G)=>this.eTop.classList.toggle("ag-invisible",G),setBottomInvisible:(G)=>this.eBottom.classList.toggle("ag-invisible",G),setStickyTopHeight:(G)=>this.eStickyTop.style.height=G,setStickyTopTop:(G)=>this.eStickyTop.style.top=G,setStickyTopWidth:(G)=>this.eStickyTop.style.width=G,setStickyBottomHeight:(G)=>{this.eStickyBottom.style.height=G,this.eStickyBottom.classList.toggle("ag-invisible",G==="0px")},setStickyBottomBottom:(G)=>this.eStickyBottom.style.bottom=G,setStickyBottomWidth:(G)=>this.eStickyBottom.style.width=G,setColumnMovingCss:(G,q)=>this.toggleCss(G,q),updateLayoutClasses:(G,q)=>{let H=[this.eBodyViewport.classList,this.eBody.classList];for(let _ of H)_.toggle(UQ.AUTO_HEIGHT,q.autoHeight),_.toggle(UQ.NORMAL,q.normal),_.toggle(UQ.PRINT,q.print);this.toggleCss(UQ.AUTO_HEIGHT,q.autoHeight),this.toggleCss(UQ.NORMAL,q.normal),this.toggleCss(UQ.PRINT,q.print)},setAlwaysVerticalScrollClass:(G,q)=>this.eBodyViewport.classList.toggle(Y$,q),registerBodyViewportResizeListener:(G)=>{let q=DQ(this.beans,this.eBodyViewport,G);this.addDestroyFunc(()=>q())},setPinnedTopBottomOverflowY:(G)=>this.eTop.style.overflowY=this.eBottom.style.overflowY=G,setCellSelectableCss:(G,q)=>{for(let H of[this.eTop,this.eBodyViewport,this.eBottom])H.classList.toggle(G,q)},setBodyViewportWidth:(G)=>this.eBodyViewport.style.width=G,setGridRootRole:(G)=>H0(this.eGridRoot,G)};if(this.ctrl=this.createManagedBean(new W_),this.ctrl.setComp(Y,this.getGui(),this.eBodyViewport,this.eTop,this.eBottom,this.eStickyTop,this.eStickyBottom),z&&u0(this.gos)||s1(this.gos))i4(this.getGui(),!0)}setRowAnimationCssOnBodyViewport(Q,z){let J=this.eBodyViewport.classList;J.toggle("ag-row-animation",z),J.toggle("ag-row-no-animation",!z)}getFocusableContainerName(){return"gridBody"}},k_={selector:"AG-GRID-BODY",component:M_},g1={TAB_GUARD:"ag-tab-guard",TAB_GUARD_TOP:"ag-tab-guard-top",TAB_GUARD_BOTTOM:"ag-tab-guard-bottom"},V_=class extends j0{constructor(Q,z){super();this.stopPropagationCallbacks=z,this.skipTabGuardFocus=!1,this.forcingFocusOut=!1,this.allowFocus=!1;let{comp:J,eTopGuard:Z,eBottomGuard:$,focusTrapActive:X,forceFocusOutWhenTabGuardsAreEmpty:Y,isFocusableContainer:G,focusInnerElement:q,onFocusIn:H,onFocusOut:_,shouldStopEventPropagation:U,onTabKeyDown:W,handleKeyDown:B,isEmpty:E,eFocusableElement:K}=Q;this.comp=J,this.eTopGuard=Z,this.eBottomGuard=$,this.providedFocusInnerElement=q,this.eFocusableElement=K,this.focusTrapActive=!!X,this.forceFocusOutWhenTabGuardsAreEmpty=!!Y,this.isFocusableContainer=!!G,this.providedFocusIn=H,this.providedFocusOut=_,this.providedShouldStopEventPropagation=U,this.providedOnTabKeyDown=W,this.providedHandleKeyDown=B,this.providedIsEmpty=E}postConstruct(){this.createManagedBean(new x9(this.eFocusableElement,this.stopPropagationCallbacks,{shouldStopEventPropagation:()=>this.shouldStopEventPropagation(),onTabKeyDown:(Q)=>this.onTabKeyDown(Q),handleKeyDown:(Q)=>this.handleKeyDown(Q),onFocusIn:(Q)=>this.onFocusIn(Q),onFocusOut:(Q)=>this.onFocusOut(Q)})),this.activateTabGuards();for(let Q of[this.eTopGuard,this.eBottomGuard])this.addManagedElementListeners(Q,{focus:this.onFocus.bind(this)})}handleKeyDown(Q){if(this.providedHandleKeyDown)this.providedHandleKeyDown(Q)}tabGuardsAreActive(){return!!this.eTopGuard&&this.eTopGuard.hasAttribute("tabIndex")}shouldStopEventPropagation(){if(this.providedShouldStopEventPropagation)return this.providedShouldStopEventPropagation();return!1}activateTabGuards(){if(this.forcingFocusOut)return;let Q=this.gos.get("tabIndex");this.comp.setTabIndex(Q.toString())}deactivateTabGuards(){this.comp.setTabIndex()}onFocus(Q){if(this.isFocusableContainer&&!this.eFocusableElement.contains(Q.relatedTarget)){if(!this.allowFocus){this.findNextElementOutsideAndFocus(Q.target===this.eBottomGuard);return}}if(this.skipTabGuardFocus){this.skipTabGuardFocus=!1;return}if(this.forceFocusOutWhenTabGuardsAreEmpty){if(this.providedIsEmpty?this.providedIsEmpty():EQ(this.eFocusableElement,".ag-tab-guard").length===0){this.findNextElementOutsideAndFocus(Q.target===this.eBottomGuard);return}}if(this.isFocusableContainer&&this.eFocusableElement.contains(Q.relatedTarget))return;let z=Q.target===this.eBottomGuard;if(!(this.providedFocusInnerElement?this.providedFocusInnerElement(z):this.focusInnerElement(z))&&this.forceFocusOutWhenTabGuardsAreEmpty)this.findNextElementOutsideAndFocus(Q.target===this.eBottomGuard)}findNextElementOutsideAndFocus(Q){let z=Y0(this.beans),J=EQ(z.body,null,!0),Z=J.indexOf(Q?this.eTopGuard:this.eBottomGuard);if(Z===-1)return;let $,X;if(Q)$=0,X=Z;else $=Z+1,X=J.length;let Y=J.slice($,X),G=this.gos.get("tabIndex");Y.sort((q,H)=>{let _=Number.parseInt(q.getAttribute("tabindex")||"0"),U=Number.parseInt(H.getAttribute("tabindex")||"0");if(U===G)return 1;if(_===G)return-1;if(_===0)return 1;if(U===0)return-1;return _-U}),Y[Q?Y.length-1:0]?.focus()}onFocusIn(Q){if(this.focusTrapActive||this.forcingFocusOut)return;if(this.providedFocusIn)this.providedFocusIn(Q);if(!this.isFocusableContainer)this.deactivateTabGuards()}onFocusOut(Q){if(this.focusTrapActive)return;if(this.providedFocusOut)this.providedFocusOut(Q);if(!this.eFocusableElement.contains(Q.relatedTarget))this.activateTabGuards()}onTabKeyDown(Q){if(this.providedOnTabKeyDown){this.providedOnTabKeyDown(Q);return}if(this.focusTrapActive)return;if(Q.defaultPrevented)return;let z=this.tabGuardsAreActive();if(z)this.deactivateTabGuards();let J=this.getNextFocusableElement(Q.shiftKey);if(z)setTimeout(()=>this.activateTabGuards(),0);if(!J)return;J.focus(),Q.preventDefault()}focusInnerElement(Q=!1){let z=EQ(this.eFocusableElement);if(this.tabGuardsAreActive())z.splice(0,1),z.splice(-1,1);if(!z.length)return!1;return z[Q?z.length-1:0].focus({preventScroll:!0}),!0}getNextFocusableElement(Q){return R0(this.beans,this.eFocusableElement,!1,Q)}forceFocusOutOfContainer(Q=!1){if(this.forcingFocusOut)return;let z=Q?this.eTopGuard:this.eBottomGuard;this.activateTabGuards(),this.skipTabGuardFocus=!0,this.forcingFocusOut=!0,z.focus(),window.setTimeout(()=>{this.forcingFocusOut=!1,this.activateTabGuards()})}isTabGuard(Q,z){return Q===this.eTopGuard&&!z||Q===this.eBottomGuard&&(z??!0)}setAllowFocus(Q){this.allowFocus=Q}},H6=class extends j0{constructor(Q,z){super();this.comp=Q,this.stopPropagationCallbacks=z}initialiseTabGuard(Q){this.eTopGuard=this.createTabGuard("top"),this.eBottomGuard=this.createTabGuard("bottom"),this.eFocusableElement=this.comp.getFocusableElement();let{eTopGuard:z,eBottomGuard:J,eFocusableElement:Z,stopPropagationCallbacks:$}=this,X=[z,J],Y={setTabIndex:(F)=>{for(let D of X)if(F==null)D.removeAttribute("tabindex");else D.setAttribute("tabindex",F)}};this.addTabGuards(z,J);let{focusTrapActive:G=!1,onFocusIn:q,onFocusOut:H,focusInnerElement:_,handleKeyDown:U,onTabKeyDown:W,shouldStopEventPropagation:B,isEmpty:E,forceFocusOutWhenTabGuardsAreEmpty:K,isFocusableContainer:L}=Q;this.tabGuardCtrl=this.createManagedBean(new V_({comp:Y,focusTrapActive:G,eTopGuard:z,eBottomGuard:J,eFocusableElement:Z,onFocusIn:q,onFocusOut:H,focusInnerElement:_,handleKeyDown:U,onTabKeyDown:W,shouldStopEventPropagation:B,isEmpty:E,forceFocusOutWhenTabGuardsAreEmpty:K,isFocusableContainer:L},$))}getTabGuardCtrl(){return this.tabGuardCtrl}createTabGuard(Q){let z=Y0(this.beans).createElement("div"),J=Q==="top"?g1.TAB_GUARD_TOP:g1.TAB_GUARD_BOTTOM;return z.classList.add(g1.TAB_GUARD,J),H0(z,"presentation"),z}addTabGuards(Q,z){let J=this.eFocusableElement;J.prepend(Q),J.append(z)}removeAllChildrenExceptTabGuards(){let Q=[this.eTopGuard,this.eBottomGuard];z0(this.comp.getFocusableElement()),this.addTabGuards(...Q)}forceFocusOutOfContainer(Q=!1){this.tabGuardCtrl.forceFocusOutOfContainer(Q)}appendChild(Q,z,J){if(!XJ(z))z=z.getGui();let{eBottomGuard:Z}=this;if(Z)Z.before(z);else Q(z,J)}destroy(){let{eTopGuard:Q,eBottomGuard:z}=this;T0(Q),T0(z),super.destroy()}},pQ=class extends p0{initialiseTabGuard(Q,z){this.tabGuardFeature=this.createManagedBean(new H6(this,z)),this.tabGuardFeature.initialiseTabGuard(Q)}forceFocusOutOfContainer(Q=!1){this.tabGuardFeature.forceFocusOutOfContainer(Q)}appendChild(Q,z){this.tabGuardFeature.appendChild(super.appendChild.bind(this),Q,z)}},_6=class extends pQ{initialiseTabGuard(Q){super.initialiseTabGuard(Q,Uz)}},O7=(Q,z)=>{return m9(Q,()=>D0(Q.getGui(),z,!1,!0))},P7=(Q)=>{return Q?.getFocusableContainerName()??"external"},f_=(Q)=>{if(Q==null)return"external";return typeof Q==="string"?Q:"gridBody"},A_=class extends j{constructor(){super(...arguments);this.additionalFocusableContainers=new Set}setComp(Q,z,J){this.view=Q,this.eGridHostDiv=z,this.eGui=J,this.eGui.setAttribute("grid-id",this.beans.context.getId());let{dragAndDrop:Z,ctrlsSvc:$}=this.beans;Z?.registerGridDropTarget(()=>this.eGui,this),this.createManagedBean(new G6(this.view)),this.view.setRtlClass(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr");let X=DQ(this.beans,this.eGridHostDiv,this.onGridSizeChanged.bind(this));this.addDestroyFunc(()=>X()),$.register("gridCtrl",this)}isDetailGrid(){return xZ(this.getGui())?.getAttribute("row-id")?.startsWith("detail")||!1}getOptionalSelectors(){let Q=this.beans;return{paginationSelector:Q.pagination?.getPaginationSelector(),gridHeaderDropZonesSelector:Q.registry?.getSelector("AG-GRID-HEADER-DROP-ZONES"),sideBarSelector:Q.sideBar?.getSelector(),statusBarSelector:Q.registry?.getSelector("AG-STATUS-BAR"),watermarkSelector:Q.licenseManager?.getWatermarkSelector()}}onGridSizeChanged(){this.eventSvc.dispatchEvent({type:"gridSizeChanged",clientWidth:this.eGridHostDiv.clientWidth,clientHeight:this.eGridHostDiv.clientHeight})}destroyGridUi(){this.view.destroyGridUi()}getGui(){return this.eGui}setResizeCursor(Q){let{view:z}=this;if(Q===!1)z.setCursor(null);else z.setCursor(Q===1?"ew-resize":"ns-resize")}disableUserSelect(Q){this.view.setUserSelect(Q?"none":null)}focusNextInnerContainer(Q){let z=this.getFocusableContainers(),{indexWithFocus:J,nextIndex:Z}=this.getNextFocusableIndex(z,Q),$=J===-1?Q?z.length-1:0:Z,{gos:X,beans:{focusSvc:Y,navigation:G}}=this,q=X.getCallback("tabToNextGridContainer");if(q){let H=Y.getDefaultTabToNextGridContainerTarget({backwards:Q,focusableContainers:z,nextIndex:$}),_=P7(z[$]),U=H==null&&_==="gridBody"?"gridBody":f_(H),W=q({backwards:Q,previousContainer:P7(z[J]),nextContainer:U,defaultTarget:H});if(W!==void 0){if(typeof W==="boolean")return W;if(typeof W==="string"){if(W==="gridBody")return this.focusGridBodyDefault(Q)||void 0;let B=z.find((E)=>E.getFocusableContainerName()===W);if(!B){t8(`tabToNextGridContainer - ${W} container not found`);return}return O7(B,Q)?!0:void 0}if(LH(W))return Y.focusHeaderPosition({headerPosition:W})||void 0;return G?.ensureCellVisible(W),Y.setFocusedCell({...W,forceBrowserFocus:!0}),Y.isCellFocused(W)||void 0}}return this.focusNextInnerContainerDefault({backwards:Q,focusableContainers:z,indexWithFocus:J,nextIndex:$})||void 0}focusInnerElement(Q){let{gos:z,beans:J,beans:{focusSvc:Z,visibleCols:$}}=this;if(z.getCallback("focusGridInnerElement")?.({fromBottom:!!Q}))return!0;let Y=this.getFocusableContainers();if(Q){if(this.focusNextInnerContainerDefault({backwards:!0,focusableContainers:Y,indexWithFocus:Y.length,nextIndex:Y.length-1}))return!0;return Z.focusGridView({column:b($.allCols),backwards:!0})}let G=$.allCols;if(z.get("headerHeight")===0||_Q(J)){if(Z.focusGridView({column:G[0],backwards:Q}))return!0;for(let q=1;q<Y.length;q++)if(D0(Y[q].getGui(),Q))return!0;return!1}return Z.focusFirstHeader()}forceFocusOutOfContainer(Q=!1){this.view.forceFocusOutOfContainer(Q)}isFocusInsideGridBody(){let Q=this.getFocusableContainers(),{indexWithFocus:z}=this.getNextFocusableIndex(Q);return Q[z]?.getFocusableContainerName()==="gridBody"}addFocusableContainer(Q){this.additionalFocusableContainers.add(Q)}removeFocusableContainer(Q){this.additionalFocusableContainers.delete(Q)}allowFocusForNextCoreContainer(Q){let z=this.view.getFocusableContainers(),{indexWithFocus:J,nextIndex:Z}=this.getNextFocusableIndex(z,Q);if(!this.focusNextInnerContainerDefault({backwards:!!Q,focusableContainers:z,indexWithFocus:J,nextIndex:Z}))this.forceFocusOutOfContainer(Q)}isFocusable(){let Q=this.beans;return!qZ(Q)||!_Q(Q)||!!Q.sideBar?.comp?.isDisplayed()}getNextFocusableIndex(Q,z){let J=d(this.beans),Z=Q.findIndex(($)=>$.getGui().contains(J));return{indexWithFocus:Z,nextIndex:Z+(z?-1:1)}}focusGridBodyDefault(Q){let{gos:z,beans:J,beans:{focusSvc:Z,visibleCols:{allCols:$}}}=this;if(Q)return Z.focusGridView({column:b($),backwards:!0});if(z.get("headerHeight")===0||_Q(J))return Z.focusGridView({column:$[0]});return Z.focusFirstHeader()}focusNextInnerContainerDefault(Q){let{backwards:z,focusableContainers:J,indexWithFocus:Z}=Q,$=z?-1:1;for(let X=Q.nextIndex;X>=0&&X<J.length;X+=$){let Y=J[X];if(Y.getFocusableContainerName()==="gridBody"){if(Z===-1||(z?Z>X:Z<X)){if(this.focusGridBodyDefault(z))return!0;continue}}if(O7(Y,z))return!0}return!1}getFocusableContainers(){return[...this.view.getFocusableContainers(),...this.additionalFocusableContainers]}destroy(){this.additionalFocusableContainers.clear(),super.destroy()}},j_=class extends _6{constructor(Q){super();this.gridBody=S,this.gridHeaderDropZones=S,this.sideBar=S,this.statusBar=S,this.pagination=S,this.rootWrapperBody=S,this.eGridDiv=Q}postConstruct(){let Q={destroyGridUi:()=>this.destroyBean(this),setRtlClass:(X)=>this.addCss(X),forceFocusOutOfContainer:this.forceFocusOutOfContainer.bind(this),updateLayoutClasses:this.updateLayoutClasses.bind(this),getFocusableContainers:this.getFocusableContainers.bind(this),setUserSelect:(X)=>{this.getGui().style.userSelect=X!=null?X:"",this.getGui().style.webkitUserSelect=X!=null?X:""},setCursor:(X)=>{this.getGui().style.cursor=X!=null?X:""}},z=this.createManagedBean(new A_),J=z.getOptionalSelectors(),Z=this.createTemplate(J),$=[k_,...Object.values(J).filter((X)=>!!X)];this.setTemplate(Z,$),z.setComp(Q,this.eGridDiv,this.getGui()),this.insertGridIntoDom(),this.initialiseTabGuard({onTabKeyDown:()=>{return},focusInnerElement:(X)=>z.focusInnerElement(X),forceFocusOutWhenTabGuardsAreEmpty:!0,isEmpty:()=>!z.isFocusable()})}insertGridIntoDom(){let Q=this.getGui();this.eGridDiv.appendChild(Q),this.addDestroyFunc(()=>{Q.remove(),d1(this.gos,"Grid removed from DOM")})}updateLayoutClasses(Q,z){let J=this.rootWrapperBody.classList,{AUTO_HEIGHT:Z,NORMAL:$,PRINT:X}=UQ,{autoHeight:Y,normal:G,print:q}=z;J.toggle(Z,Y),J.toggle($,G),J.toggle(X,q),this.toggleCss(Z,Y),this.toggleCss($,G),this.toggleCss(X,q)}createTemplate(Q){let z=Q.gridHeaderDropZonesSelector?{tag:"ag-grid-header-drop-zones",ref:"gridHeaderDropZones"}:null,J=Q.sideBarSelector?{tag:"ag-side-bar",ref:"sideBar"}:null,Z=Q.statusBarSelector?{tag:"ag-status-bar",ref:"statusBar"}:null,$=Q.watermarkSelector?{tag:"ag-watermark"}:null,X=Q.paginationSelector?{tag:"ag-pagination",ref:"pagination"}:null;return{tag:"div",cls:"ag-root-wrapper",role:"presentation",children:[z,{tag:"div",ref:"rootWrapperBody",cls:"ag-root-wrapper-body",role:"presentation",children:[{tag:"ag-grid-body",ref:"gridBody"},J]},Z,X,$]}}getFocusableElement(){return this.rootWrapperBody}forceFocusOutOfContainer(Q=!1){if(!Q&&this.pagination?.isDisplayed()){this.pagination.forceFocusOutOfContainer(Q);return}super.forceFocusOutOfContainer(Q)}getFocusableContainers(){let Q=[...this.gridHeaderDropZones?.getFocusableContainers?.()??[],this.gridBody];for(let z of[this.sideBar,this.statusBar,this.pagination])if(z)Q.push(z);return Q.filter((z)=>f0(z.getGui()))}},c=(Q,z)=>{for(let J of Object.keys(z))z[J]=Q;return z},T7={dispatchEvent:"CommunityCore",...c("CommunityCore",{destroy:0,getGridId:0,getGridOption:0,isDestroyed:0,setGridOption:0,updateGridOptions:0,isModuleRegistered:0}),...c("GridState",{getState:0,setState:0}),...c("SharedRowSelection",{setNodesSelected:0,selectAll:0,deselectAll:0,selectAllFiltered:0,deselectAllFiltered:0,selectAllOnCurrentPage:0,deselectAllOnCurrentPage:0,getSelectedNodes:0,getSelectedRows:0}),...c("RowApi",{redrawRows:0,setRowNodeExpanded:0,getRowNode:0,addRenderedRowListener:0,getRenderedNodes:0,forEachNode:0,getFirstDisplayedRowIndex:0,getLastDisplayedRowIndex:0,getDisplayedRowAtIndex:0,getDisplayedRowCount:0}),...c("ScrollApi",{getVerticalPixelRange:0,getHorizontalPixelRange:0,ensureColumnVisible:0,ensureIndexVisible:0,ensureNodeVisible:0}),...c("KeyboardNavigation",{getFocusedCell:0,clearFocusedCell:0,setFocusedCell:0,tabToNextCell:0,tabToPreviousCell:0,setFocusedHeader:0}),...c("EventApi",{addEventListener:0,addGlobalListener:0,removeEventListener:0,removeGlobalListener:0}),...c("ValueCache",{expireValueCache:0}),...c("CellApi",{getCellValue:0}),...c("SharedMenu",{showColumnMenu:0,hidePopupMenu:0}),...c("Sort",{onSortChanged:0}),...c("PinnedRow",{getPinnedTopRowCount:0,getPinnedBottomRowCount:0,getPinnedTopRow:0,getPinnedBottomRow:0,forEachPinnedRow:0}),...c("Overlay",{showLoadingOverlay:0,showNoRowsOverlay:0,hideOverlay:0}),...c("RenderApi",{setGridAriaProperty:0,refreshCells:0,refreshHeader:0,isAnimationFrameQueueEmpty:0,flushAllAnimationFrames:0,getSizesForCurrentTheme:0,getCellRendererInstances:0}),...c("HighlightChanges",{flashCells:0}),...c("RowDrag",{addRowDropZone:0,removeRowDropZone:0,getRowDropZoneParams:0,getRowDropPositionIndicator:0,setRowDropPositionIndicator:0}),...c("ColumnApi",{getColumnDefs:0,getColumnDef:0,getDisplayNameForColumn:0,getColumn:0,getColumns:0,applyColumnState:0,getColumnState:0,resetColumnState:0,isPinning:0,isPinningLeft:0,isPinningRight:0,getDisplayedColAfter:0,getDisplayedColBefore:0,setColumnsVisible:0,setColumnsPinned:0,getAllGridColumns:0,getDisplayedLeftColumns:0,getDisplayedCenterColumns:0,getDisplayedRightColumns:0,getAllDisplayedColumns:0,getAllDisplayedVirtualColumns:0}),...c("ColumnAutoSize",{sizeColumnsToFit:0,autoSizeColumns:0,autoSizeAllColumns:0}),...c("ColumnGroup",{setColumnGroupOpened:0,getColumnGroup:0,getProvidedColumnGroup:0,getDisplayNameForColumnGroup:0,getColumnGroupState:0,setColumnGroupState:0,resetColumnGroupState:0,getLeftDisplayedColumnGroups:0,getCenterDisplayedColumnGroups:0,getRightDisplayedColumnGroups:0,getAllDisplayedColumnGroups:0}),...c("ColumnMove",{moveColumnByIndex:0,moveColumns:0}),...c("ColumnResize",{setColumnWidths:0}),...c("ColumnHover",{isColumnHovered:0}),...c("EditCore",{getCellEditorInstances:0,getEditingCells:0,getEditRowValues:0,stopEditing:0,startEditingCell:0,isEditing:0,validateEdit:0}),...c("BatchEdit",{startBatchEdit:0,cancelBatchEdit:0,commitBatchEdit:0,isBatchEditing:0}),...c("UndoRedoEdit",{undoCellEditing:0,redoCellEditing:0,getCurrentUndoSize:0,getCurrentRedoSize:0}),...c("FilterCore",{isAnyFilterPresent:0,onFilterChanged:0}),...c("ColumnFilter",{isColumnFilterPresent:0,getColumnFilterInstance:0,destroyFilter:0,setFilterModel:0,getFilterModel:0,getColumnFilterModel:0,setColumnFilterModel:0,showColumnFilter:0,hideColumnFilter:0,getColumnFilterHandler:0,doFilterAction:0}),...c("QuickFilter",{isQuickFilterPresent:0,getQuickFilter:0,resetQuickFilter:0}),...c("Find",{findGetActiveMatch:0,findGetTotalMatches:0,findGoTo:0,findNext:0,findPrevious:0,findGetNumMatches:0,findGetParts:0,findClearActive:0,findRefresh:0}),...c("Pagination",{paginationIsLastPageFound:0,paginationGetPageSize:0,paginationGetCurrentPage:0,paginationGetTotalPages:0,paginationGetRowCount:0,paginationGoToNextPage:0,paginationGoToPreviousPage:0,paginationGoToFirstPage:0,paginationGoToLastPage:0,paginationGoToPage:0}),...c("CsrmSsrmSharedApi",{expandAll:0,collapseAll:0,resetRowGroupExpansion:0}),...c("SsrmInfiniteSharedApi",{setRowCount:0,getCacheBlockState:0,isLastRowIndexKnown:0}),...c("ClientSideRowModelApi",{onGroupExpandedOrCollapsed:0,refreshClientSideRowModel:0,isRowDataEmpty:0,forEachLeafNode:0,forEachNodeAfterFilter:0,forEachNodeAfterFilterAndSort:0,applyTransaction:0,applyTransactionAsync:0,flushAsyncTransactions:0,getBestCostNodeSelection:0,onRowHeightChanged:0,resetRowHeights:0}),...c("CsvExport",{getDataAsCsv:0,exportDataAsCsv:0}),...c("InfiniteRowModel",{refreshInfiniteCache:0,purgeInfiniteCache:0,getInfiniteRowCount:0}),...c("AdvancedFilter",{getAdvancedFilterModel:0,setAdvancedFilterModel:0,showAdvancedFilterBuilder:0,hideAdvancedFilterBuilder:0}),...c("IntegratedCharts",{getChartModels:0,getChartRef:0,getChartImageDataURL:0,downloadChart:0,openChartToolPanel:0,closeChartToolPanel:0,createRangeChart:0,createPivotChart:0,createCrossFilterChart:0,updateChart:0,restoreChart:0}),...c("Clipboard",{copyToClipboard:0,cutToClipboard:0,copySelectedRowsToClipboard:0,copySelectedRangeToClipboard:0,copySelectedRangeDown:0,pasteFromClipboard:0}),...c("ExcelExport",{getDataAsExcel:0,exportDataAsExcel:0,getSheetDataForExcel:0,getMultipleSheetsAsExcel:0,exportMultipleSheetsAsExcel:0}),...c("SharedMasterDetail",{addDetailGridInfo:0,removeDetailGridInfo:0,getDetailGridInfo:0,forEachDetailGridInfo:0}),...c("ContextMenu",{showContextMenu:0}),...c("ColumnMenu",{showColumnChooser:0,hideColumnChooser:0}),...c("CellSelection",{getCellRanges:0,addCellRange:0,clearRangeSelection:0,clearCellSelection:0}),...c("SharedRowGrouping",{setRowGroupColumns:0,removeRowGroupColumns:0,addRowGroupColumns:0,getRowGroupColumns:0,moveRowGroupColumn:0}),...c("SharedAggregation",{addAggFuncs:0,clearAggFuncs:0,setColumnAggFunc:0}),...c("SharedPivot",{isPivotMode:0,getPivotResultColumn:0,setValueColumns:0,getValueColumns:0,removeValueColumns:0,addValueColumns:0,setPivotColumns:0,removePivotColumns:0,addPivotColumns:0,getPivotColumns:0,setPivotResultColumns:0,getPivotResultColumns:0}),...c("ServerSideRowModelApi",{getServerSideSelectionState:0,setServerSideSelectionState:0,applyServerSideTransaction:0,applyServerSideTransactionAsync:0,applyServerSideRowData:0,retryServerSideLoads:0,flushServerSideAsyncTransactions:0,refreshServerSide:0,getServerSideGroupLevelState:0,onRowHeightChanged:0,resetRowHeights:0}),...c("SideBar",{isSideBarVisible:0,setSideBarVisible:0,setSideBarPosition:0,openToolPanel:0,closeToolPanel:0,getOpenedToolPanel:0,refreshToolPanel:0,isToolPanelShowing:0,getToolPanelInstance:0,getSideBar:0}),...c("StatusBar",{getStatusPanel:0}),...c("AiToolkit",{getStructuredSchema:0})},g2={isDestroyed:()=>!0,destroy(){},preConstruct(){},postConstruct(){},preWireBeans(){},wireBeans(){}},R_=(Q,z)=>Q.eventSvc.dispatchEvent(z),G$=class{};Reflect.defineProperty(G$,"name",{value:"GridApi"});var S_=class extends j{constructor(){super();this.beanName="apiFunctionSvc",this.api=new G$,this.fns={...g2,dispatchEvent:R_},this.preDestroyLink="";let{api:Q}=this;for(let z of Object.keys(T7))Q[z]=this.makeApi(z)[z]}postConstruct(){this.preDestroyLink=this.beans.frameworkOverrides.getDocLink("grid-lifecycle/#grid-pre-destroyed")}addFunction(Q,z){let{fns:J,beans:Z}=this;if(J!==g2)J[Q]=Z?.validation?.validateApiFunction(Q,z)??z}makeApi(Q){return{[Q]:(...z)=>{let{beans:J,fns:{[Q]:Z}}=this;return Z?Z(J,...z):this.apiNotFound(Q)}}}apiNotFound(Q){let{beans:z,gos:J,preDestroyLink:Z}=this;if(!z)R(26,{fnName:Q,preDestroyLink:Z});else{let $=T7[Q];if(J.assertModuleRegistered($,`api.${Q}`))R(27,{fnName:Q,module:$})}}destroy(){super.destroy(),this.fns=g2,this.beans=null}};function O_(Q){return Q.context.getId()}function P_(Q){Q.gridDestroySvc.destroy()}function T_(Q){return Q.gridDestroySvc.destroyCalled}function v_(Q,z){return Q.gos.get(z)}function I_(Q,z,J){q$(Q,{[z]:J})}function q$(Q,z){Q.gos.updateGridOptions({options:z})}function C_(Q,z){let J=z.replace(/Module$/,"");return Q.gos.isModuleRegistered(J)}function uZ(Q,z,J){let Z=h(Q,z,J);if(Z){let{className:X}=Z;if(typeof X==="string"&&X.includes("ag-icon")||typeof X==="object"&&X["ag-icon"])return Z}let $=Z0({tag:"span"});return $.appendChild(Z),$}function h(Q,z,J){let Z=null;if(Q==="smallDown")R(262);else if(Q==="smallLeft")R(263);else if(Q==="smallRight")R(264);let $=J?.getColDef().icons;if($)Z=$[Q];if(z.gos&&!Z){let X=z.gos.get("icons");if(X)Z=X[Q]}if(Z){let X;if(typeof Z==="function")X=Z();else if(typeof Z==="string")X=Z;else{R(38,{iconName:Q});return}if(typeof X==="string")return v5(X);if(XJ(X))return X;R(133,{iconName:Q});return}else{let X=z.registry.getIcon(Q);if(!X)z.validation?.validateIcon(Q);return Z0({tag:"span",cls:`ag-icon ag-icon-${X??Q}`,role:"presentation",attrs:{unselectable:"on"}})}}var b_=".ag-dnd-ghost{align-items:center;background-color:var(--ag-drag-and-drop-image-background-color);border:var(--ag-drag-and-drop-image-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-drag-and-drop-image-shadow);color:var(--ag-text-color);cursor:move;display:flex;font-weight:500;gap:var(--ag-cell-widget-spacing);height:var(--ag-header-height);overflow:hidden;padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding);text-overflow:ellipsis;transform:translateY(calc(var(--ag-spacing)*2));white-space:nowrap}.ag-dnd-ghost-not-allowed{border:var(--ag-drag-and-drop-image-not-allowed-border)}",y_={tag:"div",children:[{tag:"div",ref:"eGhost",cls:"ag-dnd-ghost ag-unselectable",children:[{tag:"span",ref:"eIcon",cls:"ag-dnd-ghost-icon ag-shake-left-to-right"},{tag:"div",ref:"eLabel",cls:"ag-dnd-ghost-label"}]}]},x_=class extends x{constructor(){super();this.dragSource=null,this.eIcon=S,this.eLabel=S,this.eGhost=S,this.registerCSS(b_)}postConstruct(){let Q=(z)=>uZ(z,this.beans,null);this.dropIconMap={pinned:Q("columnMovePin"),hide:Q("columnMoveHide"),move:Q("columnMoveMove"),left:Q("columnMoveLeft"),right:Q("columnMoveRight"),group:Q("columnMoveGroup"),aggregate:Q("columnMoveValue"),pivot:Q("columnMovePivot"),notAllowed:Q("dropNotAllowed")}}init(Q){this.dragSource=Q.dragSource,this.setTemplate(y_),this.beans.environment.applyThemeClasses(this.eGhost)}destroy(){this.dragSource=null,super.destroy()}setIcon(Q,z){let{eGhost:J,eIcon:Z,dragSource:$,dropIconMap:X,gos:Y}=this;z0(Z);let G=null;if(!Q)Q=$?.getDefaultIconName?$.getDefaultIconName():"notAllowed";if(G=X[Q],J.classList.toggle("ag-dnd-ghost-not-allowed",Q==="notAllowed"),Z.classList.toggle("ag-shake-left-to-right",z),G===X.hide&&Y.get("suppressDragLeaveHidesColumns"))return;if(G)Z.appendChild(G)}setLabel(Q){this.eLabel.textContent=Q}};var H$=(Q,z)=>{if(z!=null&&Q?.setPointerCapture)try{return Q.setPointerCapture(z),Q.hasPointerCapture(z)}catch{}return!1},w_=(Q,z)=>{if(typeof PointerEvent>"u"||!(z instanceof PointerEvent))return null;let J=z.pointerId;if(!H$(Q,J))return null;let Z={eElement:Q,pointerId:J,onLost($){g_(Z,$)}};return Q.addEventListener("lostpointercapture",Z.onLost),Z},N_=(Q)=>{if(!Q)return;_$(Q);let{eElement:z,pointerId:J}=Q;if(!z)return;try{z.releasePointerCapture(J)}catch{}Q.eElement=null},_$=(Q)=>{let{eElement:z,onLost:J}=Q;if(z&&J)z.removeEventListener("lostpointercapture",J),Q.onLost=null},g_=(Q,z)=>{_$(Q);let{eElement:J,pointerId:Z}=Q;if(J&&z.pointerId===Z)H$(J,Z)},ez,Z1,h2={passive:!0},sQ={passive:!1},kQ=(Q)=>{if(!Z1)Z1=new WeakSet;else if(Z1.has(Q))return!1;return Z1.add(Q),!0},h_=class extends j0{constructor(){super(...arguments);this.beanName="dragSvc",this.dragging=!1,this.drag=null,this.dragSources=[]}get startTarget(){return this.drag?.start.target??null}isPointer(){return!!ez?.has(s0(this.beans))}hasPointerCapture(){let Q=this.drag?.pointerCapture;return!!(Q&&this.beans.eRootDiv.hasPointerCapture?.(Q.pointerId))}destroy(){if(this.drag)this.cancelDrag();let Q=this.dragSources;for(let z of Q)v7(z);Q.length=0,super.destroy()}removeDragSource(Q){let z=this.dragSources;for(let J=0,Z=z.length;J<Z;++J){let $=z[J];if($.params===Q){z.splice(J,1),v7($);break}}}addDragSource(Q){if(!this.isAlive())return;let{eElement:z,includeTouch:J}=Q,Z=[],$;if(J){let H=z.style;if(H)$=H.touchAction,H.touchAction="none"}let X={handlers:Z,params:Q,oldTouchAction:$};this.dragSources.push(X),pJ(Z,[z,"pointerdown",(H)=>this.onPointerDown(Q,H),sQ],[z,"mousedown",(H)=>this.onMouseDown(Q,H)]);let q=this.gos.get("suppressTouch");if(J&&!q)pJ(Z,[z,"touchstart",(_)=>this.onTouchStart(Q,_),sQ])}cancelDrag(Q){let z=this.drag;if(Q??(Q=z?.eElement),Q)this.eventSvc.dispatchEvent({type:"dragCancelled",target:Q});z?.params.onDragCancel?.(),this.destroyDrag()}shouldPreventMouseEvent(Q){let z=Q.type;return(z==="mousemove"||z==="pointermove")&&Q.cancelable&&n1(this.beans,Q)&&!w1(m2(Q))}initDrag(Q,...z){this.drag=Q;let J=this.beans,Z=(G)=>this.onScroll(G),$=(G)=>this.onKeyDown(G),X=s0(J),Y=Y0(J);pJ(Q.handlers,[X,"contextmenu",J1],[X,"keydown",$],[Y,"scroll",Z,{capture:!0}],[Y.defaultView||window,"scroll",Z],...z)}destroyDrag(){this.dragging=!1;let Q=this.drag;if(Q){let z=Q.rootEl;if(ez?.get(z)===Q)ez.delete(z);this.drag=null,N_(Q.pointerCapture),I5(Q.handlers)}}onPointerDown(Q,z){if(this.isPointer())return;let J=this.beans;if(Z1?.has(z))return;let Z=z.pointerType;if(Z==="touch"){if(J.gos.get("suppressTouch")||!Q.includeTouch)return;if(Q.stopPropagationForTouch)z.stopPropagation();if(w1(m2(z)))return}if(!z.isPrimary)return;if(Z==="mouse"&&z.button!==0)return;this.destroyDrag();let $=s0(J),X=Q.eElement,Y=z.pointerId,G=new u2($,Q,z,Y);ez??(ez=new WeakMap),ez.set($,G);let q=(W)=>{if(W.pointerId===Y)this.onMouseOrPointerMove(W)},H=(W)=>{if(W.pointerId===Y)this.onMouseOrPointerUp(W)},_=(W)=>{if(W.pointerId===Y&&kQ(W))this.cancelDrag()},U=(W)=>this.draggingPreventDefault(W);if(this.initDrag(G,[$,"pointerup",H],[$,"pointercancel",_],[$,"pointermove",q,sQ],[$,"touchmove",U,sQ],[X,"mousemove",U,sQ]),Q.dragStartPixels===0)this.onMouseOrPointerMove(z);else kQ(z)}onTouchStart(Q,z){if(this.gos.get("suppressTouch")||!Q.includeTouch)return;if(!kQ(z))return;if(w1(m2(z)))return;if(Q.stopPropagationForTouch)z.stopPropagation();if(this.isPointer()){if(this.dragging)J1(z);return}this.destroyDrag();let Z=this.beans,$=s0(Z),X=new u2($,Q,z.touches[0]),Y=(W)=>this.onTouchMove(W),G=(W)=>this.onTouchUp(W),q=(W)=>this.onTouchCancel(W),H=(W)=>this.draggingPreventDefault(W),_=s0(Z),U=z.target??Q.eElement;if(this.initDrag(X,[U,"touchmove",Y,h2],[U,"touchend",G,h2],[U,"touchcancel",q,h2],[_,"touchmove",H,sQ],[_,"touchend",G,sQ],[_,"touchcancel",q,sQ]),Q.dragStartPixels===0)this.onMove(X.start)}draggingPreventDefault(Q){if(this.dragging)J1(Q)}onMouseDown(Q,z){if(z.button!==0)return;if(Z1?.has(z))return;if(this.isPointer())return;let J=this.beans;this.destroyDrag();let Z=new u2(s0(J),Q,z),$=(G)=>this.onMouseOrPointerMove(G),X=(G)=>this.onMouseOrPointerUp(G),Y=s0(J);if(this.initDrag(Z,[Y,"mousemove",$],[Y,"mouseup",X]),Q.dragStartPixels===0)this.onMouseOrPointerMove(z);else kQ(z)}onScroll(Q){if(!kQ(Q))return;let z=this.drag,J=z?.lastDrag;if(J&&this.dragging)z.params?.onDragging?.(J)}onMouseOrPointerMove(Q){if(!kQ(Q))return;if(cz())Y0(this.beans).getSelection()?.removeAllRanges();if(this.shouldPreventMouseEvent(Q))J1(Q);this.onMove(Q)}onTouchCancel(Q){let z=this.drag;if(!z||!kQ(Q))return;if(!G1(z.start,Q.changedTouches))return;this.cancelDrag()}onTouchMove(Q){let z=this.drag;if(!z||!kQ(Q))return;let J=G1(z.start,Q.touches);if(J)this.onMove(J),this.draggingPreventDefault(Q)}onMove(Q){let z=this.drag;if(!z)return;z.lastDrag=Q;let J=z.params;if(!this.dragging){let Z=z.start,X=J.dragStartPixels??4;if(i8(Q,Z,X))return;if(this.dragging=!0,J.capturePointer)z.pointerCapture=w_(this.beans.eRootDiv,Q);if(this.eventSvc.dispatchEvent({type:"dragStarted",target:J.eElement}),J.onDragStart?.(Z),this.drag!==z)return;if(J.onDragging?.(Z),this.drag!==z)return}J.onDragging?.(Q)}onTouchUp(Q){let z=this.drag;if(z&&kQ(Q))this.onUp(G1(z.start,Q.changedTouches))}onMouseOrPointerUp(Q){if(kQ(Q))this.onUp(Q)}onUp(Q){let z=this.drag;if(!z)return;if(!Q)Q=z.lastDrag;if(Q&&this.dragging)this.dragging=!1,z.params.onDragStop?.(Q),this.eventSvc.dispatchEvent({type:"dragStopped",target:z.params.eElement});this.destroyDrag()}onKeyDown(Q){if(Q.key===V.ESCAPE)this.cancelDrag()}},v7=(Q)=>{I5(Q.handlers);let z=Q.oldTouchAction;if(z!=null){let J=Q.params.eElement.style;if(J)J.touchAction=z}},u2=class{constructor(Q,z,J,Z=null){this.rootEl=Q,this.params=z,this.start=J,this.pointerId=Z,this.handlers=[],this.lastDrag=null,this.pointerCapture=null,this.eElement=z.eElement}},m2=(Q)=>{let z=Q.target;return z instanceof Element?z:null},u_=class extends h_{shouldPreventMouseEvent(Q){return this.gos.get("enableCellTextSelection")&&super.shouldPreventMouseEvent(Q)}},m_=class extends j{constructor(){super(...arguments);this.beanName="horizontalResizeSvc"}addResizeBar(Q){let z={dragStartPixels:Q.dragStartPixels||0,eElement:Q.eResizeBar,onDragStart:this.onDragStart.bind(this,Q),onDragStop:this.onDragStop.bind(this,Q),onDragging:this.onDragging.bind(this,Q),onDragCancel:this.onDragStop.bind(this,Q),includeTouch:!0,stopPropagationForTouch:!0},{dragSvc:J}=this.beans;return J.addDragSource(z),()=>J.removeDragSource(z)}onDragStart(Q,z){this.dragStartX=z.clientX,this.setResizeIcons();let J=z instanceof MouseEvent&&z.shiftKey===!0;Q.onResizeStart(J)}setResizeIcons(){let Q=this.beans.ctrlsSvc.get("gridCtrl");Q.setResizeCursor(1),Q.disableUserSelect(!0)}onDragStop(Q){Q.onResizeEnd(this.resizeAmount),this.resetIcons()}resetIcons(){let Q=this.beans.ctrlsSvc.get("gridCtrl");Q.setResizeCursor(!1),Q.disableUserSelect(!1)}onDragging(Q,z){this.resizeAmount=z.clientX-this.dragStartX,Q.onResizing(this.resizeAmount)}};var mZ=class{constructor(Q){if(this.tickingInterval=null,this.onScrollCallback=null,this.scrollContainer=Q.scrollContainer,this.scrollHorizontally=Q.scrollAxis.includes("x"),this.scrollVertically=Q.scrollAxis.includes("y"),this.scrollByTick=Q.scrollByTick??20,Q.onScrollCallback)this.onScrollCallback=Q.onScrollCallback;if(this.scrollVertically)this.getVerticalPosition=Q.getVerticalPosition,this.setVerticalPosition=Q.setVerticalPosition;if(this.scrollHorizontally)this.getHorizontalPosition=Q.getHorizontalPosition,this.setHorizontalPosition=Q.setHorizontalPosition;this.shouldSkipVerticalScroll=Q.shouldSkipVerticalScroll||(()=>!1),this.shouldSkipHorizontalScroll=Q.shouldSkipHorizontalScroll||(()=>!1)}get scrolling(){return this.tickingInterval!==null}check(Q,z=!1){let J=!this.scrollVertically||z||this.shouldSkipVerticalScroll(),Z=!this.scrollHorizontally||this.shouldSkipHorizontalScroll();if(J&&Z)return;let $=this.scrollContainer.getBoundingClientRect(),X=this.scrollByTick;if(this.tickLeft=!Z&&Q.clientX<$.left+X,this.tickRight=!Z&&Q.clientX>$.right-X,this.tickUp=!J&&Q.clientY<$.top+X,this.tickDown=!J&&Q.clientY>$.bottom-X,this.tickLeft||this.tickRight||this.tickUp||this.tickDown)this.ensureTickingStarted();else this.ensureCleared()}ensureTickingStarted(){if(this.tickingInterval===null)this.tickingInterval=window.setInterval(this.doTick.bind(this),100),this.tickCount=0}doTick(){this.tickCount++;let Q=this.tickCount>20?200:this.tickCount>10?80:40;if(this.scrollVertically){let z=this.getVerticalPosition();if(this.tickUp)this.setVerticalPosition(z-Q);if(this.tickDown)this.setVerticalPosition(z+Q)}if(this.scrollHorizontally){let z=this.getHorizontalPosition();if(this.tickLeft)this.setHorizontalPosition(z-Q);if(this.tickRight)this.setHorizontalPosition(z+Q)}if(this.onScrollCallback)this.onScrollCallback()}ensureCleared(){if(this.tickingInterval)window.clearInterval(this.tickingInterval),this.tickingInterval=null}},W1=class{constructor(){this.reordered=!1,this.removals=[],this.updates=new Set,this.adds=new Set}},pz=(Q)=>{let z=Q.childrenAfterGroup;while(z?.length){let J=z[0];if(J.sourceRowIndex>=0)return J;z=J.childrenAfterGroup}},U$=(Q,z,J,Z)=>{if(!z.size||!Q)return!1;let $=!1,X=Q.length??0,Y=-1;if(J){if(Y=J.sourceRowIndex,J=Y<0?pz(J):null,J)Y=J.sourceRowIndex}if(Y<0||Y>=X)Y=X;else if(!Z)++Y;let G=Y,q=Math.min(Y,X-1);for(let U of z){let W=U.sourceRowIndex;if(W<G)G=W;if(W>q)q=W}let H=G;for(let U=G;U<Y;++U){let W=Q[U];if(z.has(W))continue;if(W.sourceRowIndex!==H)W.sourceRowIndex=H,Q[H]=W,$=!0;++H}let _=q;for(let U=q;U>=Y;--U){let W=Q[U];if(z.has(W))continue;if(W.sourceRowIndex!==_)W.sourceRowIndex=_,Q[_]=W,$=!0;--_}for(let U of z){if(U.sourceRowIndex!==H)U.sourceRowIndex=H,Q[H]=U,$=!0;++H}return $};function U6(Q,z){return EJ(Q,z.target)?.getFocusedCellPosition()??null}function W6(Q,z){let J=V0(Q.gos,"normal"),Z=z,$,X;if(Z.clientX!=null||Z.clientY!=null)$=Z.clientX,X=Z.clientY;else $=Z.x,X=Z.y;let{pageFirstPixel:Y}=Q.pageBounds.getCurrentPagePixelRange();if(X+=Y,J){let G=Q.ctrlsSvc.getScrollFeature(),q=G.getVScrollPosition(),H=G.getHScrollPosition();$+=H.left,X+=q.top}return{x:$,y:X}}var cZ={moduleName:"Drag",version:p,beans:[u_]};var LJ={moduleName:"SharedDragAndDrop",version:p,beans:[gq],dependsOn:[cZ],userComponents:{agDragAndDropImage:x_},icons:{columnMovePin:"pin",columnMoveHide:"eye-slash",columnMoveMove:"arrows",columnMoveLeft:"left",columnMoveRight:"right",columnMoveGroup:"group",columnMoveValue:"aggregation",columnMovePivot:"pivot",dropNotAllowed:"not-allowed",rowDrag:"grip"}};var B6={moduleName:"HorizontalResize",version:p,beans:[m_],dependsOn:[cZ]},c_=":where(.ag-ltr) :where(.ag-column-moving){.ag-cell,.ag-header-cell,.ag-spanned-cell-wrapper{transition:left .2s}.ag-header-group-cell{transition:left .2s,width .2s}}:where(.ag-rtl) :where(.ag-column-moving){.ag-cell,.ag-header-cell,.ag-spanned-cell-wrapper{transition:right .2s}.ag-header-group-cell{transition:right .2s,width .2s}}",p_=class extends j{constructor(){super(...arguments);this.beanName="colAnimation",this.executeNextFuncs=[],this.executeLaterFuncs=[],this.active=!1,this.activeNext=!1,this.suppressAnimation=!1,this.animationThreadCount=0}postConstruct(){this.beans.ctrlsSvc.whenReady(this,(Q)=>this.gridBodyCtrl=Q.gridBodyCtrl)}isActive(){return this.active&&!this.suppressAnimation}setSuppressAnimation(Q){this.suppressAnimation=Q}start(){if(this.active)return;let{gos:Q}=this;if(Q.get("suppressColumnMoveAnimation"))return;if(Q.get("enableRtl"))return;this.ensureAnimationCssClassPresent(),this.active=!0,this.activeNext=!0}finish(){if(!this.active)return;this.flush(()=>this.activeNext=!1,()=>this.active=!1)}executeNextVMTurn(Q){if(this.activeNext)this.executeNextFuncs.push(Q);else Q()}executeLaterVMTurn(Q){if(this.active)this.executeLaterFuncs.push(Q);else Q()}ensureAnimationCssClassPresent(){this.animationThreadCount++;let Q=this.animationThreadCount,{gridBodyCtrl:z}=this;z.setColumnMovingCss(!0),this.executeLaterFuncs.push(()=>{if(this.animationThreadCount===Q)z.setColumnMovingCss(!1)})}flush(Q,z){let{executeNextFuncs:J,executeLaterFuncs:Z}=this;if(J.length===0&&Z.length===0){Q(),z();return}let $=(X)=>{while(X.length){let Y=X.pop();if(Y)Y()}};this.beans.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{Q(),$(J)},0),window.setTimeout(()=>{z(),$(Z)},200)})}};function i_(Q,z,J){Q.colMoves?.moveColumnByIndex(z,J,"api")}function n_(Q,z,J){Q.colMoves?.moveColumns(z,J,"api")}var d_=class extends j{constructor(Q){super();this.pinned=Q,this.columnsToAggregate=[],this.columnsToGroup=[],this.columnsToPivot=[]}onDragEnter(Q){if(this.clearColumnsList(),this.gos.get("functionsReadOnly"))return;let z=Q.dragItem.columns;if(!z)return;for(let J of z){if(!J.isPrimary())continue;if(J.isAnyFunctionActive())continue;if(J.isAllowValue())this.columnsToAggregate.push(J);else if(J.isAllowRowGroup())this.columnsToGroup.push(J);else if(J.isAllowPivot())this.columnsToPivot.push(J)}}getIconName(){if(this.columnsToAggregate.length+this.columnsToGroup.length+this.columnsToPivot.length>0)return this.pinned?"pinned":"move";return null}onDragLeave(Q){this.clearColumnsList()}clearColumnsList(){this.columnsToAggregate.length=0,this.columnsToGroup.length=0,this.columnsToPivot.length=0}onDragging(Q){}onDragStop(Q){let{valueColsSvc:z,rowGroupColsSvc:J,pivotColsSvc:Z}=this.beans;if(this.columnsToAggregate.length>0)z?.addColumns(this.columnsToAggregate,"toolPanelDragAndDrop");if(this.columnsToGroup.length>0)J?.addColumns(this.columnsToGroup,"toolPanelDragAndDrop");if(this.columnsToPivot.length>0)Z?.addColumns(this.columnsToPivot,"toolPanelDragAndDrop")}onDragCancel(){this.clearColumnsList()}};function t_(Q,z){if(!z||z.length<=1)return;if(z.filter((Z)=>Q.indexOf(Z)<0).length>0)return;z.sort((Z,$)=>{let X=Q.indexOf(Z),Y=Q.indexOf($);return X-Y})}function r_(Q){let z=[...Q];for(let J of Q){let Z=null,$=J.getParent();while($!=null&&$.getDisplayedLeafColumns().length===1)Z=$,$=$.getParent();if(Z!=null){let Y=Z.getColGroupDef()?.marryChildren?Z.getProvidedColumnGroup().getLeafColumns():Z.getLeafColumns();for(let G of Y)if(!z.includes(G))z.push(G)}}return z}function s_(Q,z,J,Z){let $=Z.allCols,X=null,Y=null;for(let G=0;G<Q.length;G++){let q=Q[G],H=J.getProposedColumnOrder(z,q);if(!J.doesOrderPassRules(H))continue;let _=H.filter((W)=>$.includes(W));if(Y===null)Y=_;else if(!X0(_,Y))break;let U=a_(H);if(X===null||U<X.fragCount)X={move:q,fragCount:U}}return X}function W$(Q){let{isFromHeader:z,fromLeft:J,xPosition:Z,fromEnter:$,fakeEvent:X,pinned:Y,gos:G,colModel:q,colMoves:H,visibleCols:_}=Q,{allMovingColumns:U}=Q;if(z)U=r_(U);let W=U.slice();t_(q.getCols(),W);let B=e_({movingCols:W,draggingRight:J,xPosition:Z,pinned:Y,gos:G,colModel:q,visibleCols:_}),E=l_(W,q);if(B.length===0)return;let K=B[0];if(E!==null&&(z||!$)&&!X){if(!J&&K>=E)return;if(J&&K<=E)return}let F=s_(B,W,H,_);if(!F)return;let D=F.move;if(D>q.getCols().length-W.length)return;return{columns:W,toIndex:D}}function B$(Q){let{columns:z,toIndex:J}=W$(Q)||{},{finished:Z,colMoves:$}=Q;if(!z||J==null)return null;return $.moveColumns(z,J,"uiColumnMoved",Z),Z?null:{columns:z,toIndex:J}}function l_(Q,z){let J=z.getCols(),Z=Q.map((q)=>J.indexOf(q)).sort((q,H)=>q-H),$=Z[0];return b(Z)-$!==Z.length-1?null:$}function a_(Q){function z(Z){let $=[],X=Z.getOriginalParent();while(X!=null)$.push(X),X=X.getOriginalParent();return $}let J=0;for(let Z=0;Z<Q.length-1;Z++){let $=z(Q[Z]),X=z(Q[Z+1]);[$,X]=$.length>X.length?[$,X]:[X,$];for(let Y of $)if(X.indexOf(Y)===-1)J++}return J}function o_(Q,z){switch(z){case"left":return Q.leftCols;case"right":return Q.rightCols;default:return Q.centerCols}}function e_(Q){let{movingCols:z,draggingRight:J,xPosition:Z,pinned:$,gos:X,colModel:Y,visibleCols:G}=Q;if(X.get("suppressMovableColumns")||z.some((M)=>M.getColDef().suppressMovable))return[];let H=o_(G,$),_=Y.getCols(),U=H.filter((M)=>z.includes(M)),W=H.filter((M)=>!z.includes(M)),B=_.filter((M)=>!z.includes(M)),E=0,K=Z;if(J){let M=0;for(let k of U)M+=k.getActualWidth();K-=M}if(K>0){for(let M=0;M<W.length;M++){let k=W[M];if(K-=k.getActualWidth(),K<0)break;E++}if(J)E++}let L;if(E>0){let M=W[E-1];L=B.indexOf(M)+1}else if(L=B.indexOf(W[0]),L===-1)L=0;let F=[L],D=(M,k)=>M-k;if(J){let M=L+1,k=_.length-1;while(M<=k)F.push(M),M++;F.sort(D)}else{let M=L,k=_.length-1,f=_[M];while(M<=k&&H.indexOf(f)<0)M++,F.push(M),f=_[M];M=L-1;let A=0;while(M>=A)F.push(M),M--;F.sort(D).reverse()}return F}function U5(Q){let{pinned:z,fromKeyboard:J,gos:Z,ctrlsSvc:$,useHeaderRow:X,skipScrollPadding:Y}=Q,G=$.getHeaderRowContainerCtrl(z)?.eViewport,{x:q}=Q;if(!G)return 0;if(J)q-=G.getBoundingClientRect().left;if(Z.get("enableRtl")){if(X)G=G.querySelector(".ag-header-row");q=G.clientWidth-q}if(z==null&&!Y)q+=$.get("center").getCenterViewportScrollLeft();return q}function c2(Q,z){for(let J of Q)J.moving=z,J.dispatchColEvent("movingChanged","uiColumnMoved")}var I7=7,W5=100,uJ=W5/2,QU=5,zU=100,JU=class extends j{constructor(Q){super();this.pinned=Q,this.needToMoveLeft=!1,this.needToMoveRight=!1,this.lastMovedInfo=null,this.isCenterContainer=!T(Q)}postConstruct(){this.beans.ctrlsSvc.whenReady(this,(Q)=>{this.gridBodyCon=Q.gridBodyCtrl})}getIconName(){let{pinned:Q,lastDraggingEvent:z}=this,{dragItem:J}=z||{},Z=J?.columns??[];for(let $ of Z){let X=$.getPinned();if($.getColDef().lockPinned){if(X==Q)return"move";continue}let Y=J?.containerType;if(Y===Q||!Q)return"move";if(Q&&(!X||Y!==Q))return"pinned"}return"notAllowed"}onDragEnter(Q){let z=Q.dragItem,J=z.columns;if(Q.dragSource.type===0)this.setColumnsVisible(J,!0,"uiColumnDragged");else{let $=z.visibleState,X=(J||[]).filter((Y)=>$[Y.getId()]&&!Y.isVisible());this.setColumnsVisible(X,!0,"uiColumnDragged")}if(!this.gos.get("suppressMoveWhenColumnDragging"))this.attemptToPinColumns(J,this.pinned);this.onDragging(Q,!0,!0)}onDragging(Q=this.lastDraggingEvent,z=!1,J=!1,Z=!1){let{gos:$,ctrlsSvc:X}=this.beans,Y=$.get("suppressMoveWhenColumnDragging");if(Z&&!Y){this.finishColumnMoving();return}if(this.lastDraggingEvent=Q,!Q||!Z&&n(Q.hDirection))return;let G=U5({x:Q.x,pinned:this.pinned,gos:$,ctrlsSvc:X});if(!z)this.checkCenterForScrolling(G);if(Y)this.handleColumnDragWhileSuppressingMovement(Q,z,J,G,Z);else this.handleColumnDragWhileAllowingMovement(Q,z,J,G,Z)}onDragLeave(){this.ensureIntervalCleared(),this.clearHighlighted(),this.updateDragItemContainerType(),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(Q,z,J){if(!Q?.length)return;let Z=Q.filter(($)=>!$.getColDef().lockVisible);if(!Z.length)return;this.beans.colModel.setColsVisible(Z,z,J)}finishColumnMoving(){this.clearHighlighted();let Q=this.lastMovedInfo;if(!Q)return;let{columns:z,toIndex:J}=Q;this.beans.colMoves.moveColumns(z,J,"uiColumnMoved",!0)}updateDragItemContainerType(){let{lastDraggingEvent:Q}=this;if(this.gos.get("suppressMoveWhenColumnDragging")||!Q)return;let z=Q.dragItem;if(!z)return;z.containerType=this.pinned}handleColumnDragWhileSuppressingMovement(Q,z,J,Z,$){let X=this.getAllMovingColumns(Q,!0);if($){let Y=this.isAttemptingToPin(X);if(Y)this.attemptToPinColumns(X,void 0,!0);let{fromLeft:G,xPosition:q}=this.getNormalisedXPositionInfo(X,Y)||{};if(G==null||q==null){this.finishColumnMoving();return}this.moveColumnsAfterHighlight({allMovingColumns:X,xPosition:q,fromEnter:z,fakeEvent:J,fromLeft:G})}else{if(!this.beans.dragAndDrop.isDropZoneWithinThisGrid(Q))return;this.highlightHoveredColumn(X,Z)}}handleColumnDragWhileAllowingMovement(Q,z,J,Z,$){let X=this.getAllMovingColumns(Q),Y=this.normaliseDirection(Q.hDirection)==="right",G=Q.dragSource.type===1,q=this.getMoveColumnParams({allMovingColumns:X,isFromHeader:G,xPosition:Z,fromLeft:Y,fromEnter:z,fakeEvent:J}),H=B$({...q,finished:$});if(H)this.lastMovedInfo=H}getAllMovingColumns(Q,z=!1){let J=Q.dragSource.getDragItem(),Z=null;if(z){if(Z=J.columnsInSplit,!Z)Z=J.columns}else Z=J.columns;let $=(X)=>X.getColDef().lockPinned?X.getPinned()==this.pinned:!0;if(!Z)return[];return Z.filter($)}getMoveColumnParams(Q){let{allMovingColumns:z,isFromHeader:J,xPosition:Z,fromLeft:$,fromEnter:X,fakeEvent:Y}=Q,{gos:G,colModel:q,colMoves:H,visibleCols:_}=this.beans;return{allMovingColumns:z,isFromHeader:J,fromLeft:$,xPosition:Z,pinned:this.pinned,fromEnter:X,fakeEvent:Y,gos:G,colModel:q,colMoves:H,visibleCols:_}}highlightHoveredColumn(Q,z){let{gos:J,colModel:Z}=this.beans,$=J.get("enableRtl"),X=Z.getCols().filter((_)=>_.isVisible()&&_.getPinned()===this.pinned),Y=null,G=null,q=null;for(let _ of X){if(G=_.getActualWidth(),Y=this.getNormalisedColumnLeft(_,0,$),Y!=null){let U=Y+G;if(Y<=z&&U>=z){q=_;break}}Y=null,G=null}if(!q){for(let _=X.length-1;_>=0;_--){let U=X[_],W=X[_].getParent();if(!W){q=U;break}let B=W?.getDisplayedLeafColumns();if(B.length){q=b(B);break}}if(!q)return;Y=this.getNormalisedColumnLeft(q,0,$),G=q.getActualWidth()}else if(Q.indexOf(q)!==-1)q=null;if(q==null||Y==null||G==null){if(this.lastHighlightedColumn?.column!==q)this.clearHighlighted();return}let H;if(z-Y<G/2){let _=X.indexOf(q);if(_===0)H=0;else H=1,q=X[_-1]}else H=1;if(this.lastHighlightedColumn?.column!==q||this.lastHighlightedColumn?.position!==H)this.clearHighlighted();C7(q,H),this.lastHighlightedColumn={column:q,position:H}}getNormalisedXPositionInfo(Q,z){let{gos:J,visibleCols:Z}=this.beans,$=J.get("enableRtl"),{firstMovingCol:X,column:Y,position:G}=this.getColumnMoveAndTargetInfo(Q,z,$);if(!X||!Y||G==null)return;let q=Z.allCols,H=q.indexOf(X),_=q.indexOf(Y),U=G===0,W=H<_||H===_&&!U,B=0;if(U){if(W)B-=1}else if(!W)B+=1;if(_+B===H)return;let E=q[_+B];if(!E)return;let K=this.getNormalisedColumnLeft(E,20,$);return{fromLeft:W,xPosition:K}}getColumnMoveAndTargetInfo(Q,z,J){let Z=this.lastHighlightedColumn||{},{firstMovingCol:$,lastMovingCol:X}=ZU(Q);if(!$||!X||Z.column||!z)return{firstMovingCol:$,...Z};let G=this.getPinDirection()==="left";return{firstMovingCol:$,position:G?1:0,column:G!==J?$:X}}normaliseDirection(Q){if(this.gos.get("enableRtl"))switch(Q){case"left":return"right";case"right":return"left"}return Q}getNormalisedColumnLeft(Q,z,J){let{gos:Z,ctrlsSvc:$}=this.beans,X=Q.getLeft();if(X==null)return null;let Y=Q.getActualWidth();return U5({x:J?X+Y-z:X+z,pinned:Q.getPinned(),useHeaderRow:J,skipScrollPadding:!0,gos:Z,ctrlsSvc:$})}isAttemptingToPin(Q){let z=this.needToMoveLeft||this.needToMoveRight,J=this.failedMoveAttempts>I7;return z&&J||Q.some((Z)=>Z.getPinned()!==this.pinned)}moveColumnsAfterHighlight(Q){let{allMovingColumns:z,xPosition:J,fromEnter:Z,fakeEvent:$,fromLeft:X}=Q,Y=this.getMoveColumnParams({allMovingColumns:z,isFromHeader:!0,xPosition:J,fromLeft:X,fromEnter:Z,fakeEvent:$}),{columns:G,toIndex:q}=W$(Y)||{};if(G&&q!=null)this.lastMovedInfo={columns:G,toIndex:q};this.finishColumnMoving()}clearHighlighted(){let{lastHighlightedColumn:Q}=this;if(!Q)return;C7(Q.column,null),this.lastHighlightedColumn=null}checkCenterForScrolling(Q){if(!this.isCenterContainer)return;let z=this.beans.ctrlsSvc.get("center"),J=z.getCenterViewportScrollLeft(),Z=J+z.getCenterWidth(),$,X;if(this.gos.get("enableRtl"))$=Q<J+uJ,X=Q>Z-uJ;else X=Q<J+uJ,$=Q>Z-uJ;if(this.needToMoveRight=$,this.needToMoveLeft=X,X||$)this.ensureIntervalStarted();else this.ensureIntervalCleared()}ensureIntervalStarted(){if(this.movingIntervalId)return;this.intervalCount=0,this.failedMoveAttempts=0,this.movingIntervalId=window.setInterval(this.moveInterval.bind(this),zU),this.beans.dragAndDrop.setDragImageCompIcon(this.needToMoveLeft?"left":"right",!0)}ensureIntervalCleared(){if(!this.movingIntervalId)return;window.clearInterval(this.movingIntervalId),this.movingIntervalId=null,this.failedMoveAttempts=0,this.beans.dragAndDrop.setDragImageCompIcon(this.getIconName())}moveInterval(){let Q;if(this.intervalCount++,Q=10+this.intervalCount*QU,Q>W5)Q=W5;let z=null,J=this.gridBodyCon.scrollFeature;if(this.needToMoveLeft)z=J.scrollHorizontally(-Q);else if(this.needToMoveRight)z=J.scrollHorizontally(Q);if(z!==0)this.onDragging(this.lastDraggingEvent),this.failedMoveAttempts=0;else{this.failedMoveAttempts++;let{pinnedCols:Z,dragAndDrop:$,gos:X}=this.beans;if(this.failedMoveAttempts<=I7+1||!Z)return;if($.setDragImageCompIcon("pinned"),!X.get("suppressMoveWhenColumnDragging")){let Y=this.lastDraggingEvent?.dragItem.columns;this.attemptToPinColumns(Y,void 0,!0)}}}getPinDirection(){if(this.needToMoveLeft||this.pinned==="left")return"left";if(this.needToMoveRight||this.pinned==="right")return"right"}attemptToPinColumns(Q,z,J=!1){let Z=(Q||[]).filter((Y)=>!Y.getColDef().lockPinned);if(!Z.length)return 0;if(J)z=this.getPinDirection();let{pinnedCols:$,dragAndDrop:X}=this.beans;if($?.setColsPinned(Z,z,"uiColumnDragged"),J)X.nudge();return Z.length}destroy(){super.destroy(),this.lastDraggingEvent=null,this.clearHighlighted(),this.lastMovedInfo=null}};function C7(Q,z){if(Q.highlighted===z)return;Q.highlighted=z,Q.dispatchColEvent("headerHighlightChanged","uiColumnMoved")}function ZU(Q){let z=Q.length,J,Z;for(let $=0;$<z;$++){if(!J){let X=Q[$];if(X.getLeft()!=null)J=X}if(!Z){let X=Q[z-1-$];if(X.getLeft()!=null)Z=X}if(J&&Z)break}return{firstMovingCol:J,lastMovingCol:Z}}var $U=class extends j{constructor(Q,z){super();this.pinned=Q,this.eContainer=z}postConstruct(){let{ctrlsSvc:Q,dragAndDrop:z}=this.beans,J=this.pinned;Q.whenReady(this,(Z)=>{let $,X=Z.gridBodyCtrl.eBodyViewport;switch(J){case"left":$=[[X,Z.left.eContainer],[Z.bottomLeft.eContainer],[Z.topLeft.eContainer]];break;case"right":$=[[X,Z.right.eContainer],[Z.bottomRight.eContainer],[Z.topRight.eContainer]];break;default:$=[[X,Z.center.eViewport],[Z.bottomCenter.eViewport],[Z.topCenter.eViewport]];break}this.eSecondaryContainers=$}),this.moveColumnFeature=this.createManagedBean(new JU(J)),this.bodyDropPivotTarget=this.createManagedBean(new d_(J)),z.addDropTarget(this),this.addDestroyFunc(()=>z.removeDropTarget(this))}isInterestedIn(Q){return Q===1||Q===0&&this.gos.get("allowDragFromColumnsToolPanel")}getSecondaryContainers(){return this.eSecondaryContainers}getContainer(){return this.eContainer}getIconName(){return this.currentDropListener.getIconName()}isDropColumnInPivotMode(Q){return this.beans.colModel.isPivotMode()&&Q.dragSource.type===0}onDragEnter(Q){this.currentDropListener=this.isDropColumnInPivotMode(Q)?this.bodyDropPivotTarget:this.moveColumnFeature,this.currentDropListener.onDragEnter(Q)}onDragLeave(Q){this.currentDropListener.onDragLeave(Q)}onDragging(Q){this.currentDropListener.onDragging(Q)}onDragStop(Q){this.currentDropListener.onDragStop(Q)}onDragCancel(){this.currentDropListener.onDragCancel()}};function E$(Q,z){let J=[],Z=[],$=[];if(Q.forEach((Y)=>{let G=Y.getColDef().lockPosition;if(G==="right")$.push(Y);else if(G==="left"||G===!0)J.push(Y);else Z.push(Y)}),z.get("enableRtl"))return[...$,...Z,...J];return[...J,...Z,...$]}function K$(Q,z){let J=!0;return OQ(null,z,(Z)=>{if(!G0(Z))return;let $=Z;if(!$.getColGroupDef()?.marryChildren)return;let G=[];for(let W of $.getLeafColumns()){let B=Q.indexOf(W);G.push(B)}let q=Math.max.apply(Math,G),H=Math.min.apply(Math,G),_=q-H,U=$.getLeafColumns().length-1;if(_>U)J=!1}),J}var XU=class extends j{constructor(){super(...arguments);this.beanName="colMoves"}moveColumnByIndex(Q,z,J){let Z=this.beans.colModel.getCols();if(!Z)return;let $=Z[Q];this.moveColumns([$],z,J)}moveColumns(Q,z,J,Z=!0){let{colModel:$,colAnimation:X,visibleCols:Y,eventSvc:G}=this.beans,q=$.getCols();if(!q)return;if(z>q.length-Q.length){R(30,{toIndex:z});return}X?.start();let H=$.getColsForKeys(Q);if(this.doesMovePassRules(H,z))U7($.getCols(),H,z),Y.refresh(J),G.dispatchEvent({type:"columnMoved",columns:H,column:H.length===1?H[0]:null,toIndex:z,finished:Z,source:J});X?.finish()}doesMovePassRules(Q,z){let J=this.getProposedColumnOrder(Q,z);return this.doesOrderPassRules(J)}doesOrderPassRules(Q){let{colModel:z,gos:J}=this.beans;if(!K$(Q,z.getColTree()))return!1;if(!(($)=>{let X=(H)=>{if(!H)return 0;return H==="left"||H===!0?-1:1},Y=J.get("enableRtl"),G=Y?1:-1,q=!0;for(let H of $){let _=X(H.getColDef().lockPosition);if(Y){if(_>G)q=!1}else if(_<G)q=!1;G=_}return q})(Q))return!1;return!0}getProposedColumnOrder(Q,z){let Z=this.beans.colModel.getCols().slice();return U7(Z,Q,z),Z}createBodyDropTarget(Q,z){return new $U(Q,z)}moveHeader(Q,z,J,Z,$){let{ctrlsSvc:X,gos:Y,colModel:G,visibleCols:q,focusSvc:H}=this.beans,_=z.getBoundingClientRect(),U=_.left,W=_0(J),B=W?_.width:J.getActualWidth(),E=Q==="left"!==Y.get("enableRtl"),K=U5({x:E?U-20:U+B+20,pinned:Z,fromKeyboard:!0,gos:Y,ctrlsSvc:X}),L=H.focusedHeader;B$({allMovingColumns:W?J.getLeafColumns():[J],isFromHeader:!0,fromLeft:Q==="right",xPosition:K,pinned:Z,fromEnter:!1,fakeEvent:!1,gos:Y,colModel:G,colMoves:this,visibleCols:q,finished:!0});let F;if(W){let D=J.getDisplayedLeafColumns();F=E?D[0]:b(D)}else F=J;if(X.getScrollFeature().ensureColumnVisible(F,"auto"),(!$.isAlive()||Y.get("ensureDomOrder"))&&L){let D;if(W){let M=J.getGroupId(),k=J.getLeafColumns();if(!k.length)return;let f=k[0].getParent();if(!f)return;D=YU(f,M)}else D=J;if(D)H.focusHeaderPosition({headerPosition:{...L,column:D}})}}setDragSourceForHeader(Q,z,J){let{gos:Z,colModel:$,dragAndDrop:X,visibleCols:Y}=this.beans,G=!Z.get("suppressDragLeaveHidesColumns"),q=_0(z),H=q?z.getProvidedColumnGroup().getLeafColumns():[z],U={type:1,eElement:Q,getDefaultIconName:()=>G?"hide":"notAllowed",getDragItem:q?()=>qU(z,Y.allCols):()=>GU(z),dragItemName:J,onDragStarted:()=>{G=!Z.get("suppressDragLeaveHidesColumns"),c2(H,!0)},onDragStopped:()=>c2(H,!1),onDragCancelled:()=>c2(H,!1),onGridEnter:(W)=>{if(G){let{columns:B=[],visibleState:E}=W??{},K=q?(F)=>!E||E[F.getColId()]:()=>!0,L=B.filter((F)=>!F.getColDef().lockVisible&&K(F));$.setColsVisible(L,!0,"uiColumnMoved")}},onGridExit:(W)=>{if(G){let B=W?.columns?.filter((E)=>!E.getColDef().lockVisible)||[];$.setColsVisible(B,!1,"uiColumnMoved")}}};return X.addDragSource(U,!0),U}};function YU(Q,z){while(Q){if(Q.getGroupId()===z)return Q;Q=Q.getParent()}return}function GU(Q){let z={};return z[Q.getId()]=Q.isVisible(),{columns:[Q],visibleState:z,containerType:Q.pinned}}function qU(Q,z){let J=Q.getProvidedColumnGroup().getLeafColumns(),Z={};for(let G of J)Z[G.getId()]=G.isVisible();let $=[];for(let G of z)if(J.indexOf(G)>=0)$.push(G),$0(J,G);for(let G of J)$.push(G);let X=[],Y=Q.getLeafColumns();for(let G of $)if(Y.indexOf(G)!==-1)X.push(G);return{columns:$,columnsInSplit:X,visibleState:Z,containerType:X[0]?.pinned}}var FJ={moduleName:"ColumnMove",version:p,beans:[XU,p_],apiFunctions:{moveColumnByIndex:i_,moveColumns:n_},dependsOn:[LJ],css:[c_]},HU=class extends j{constructor(){super(...arguments);this.beanName="autoWidthCalc"}postConstruct(){this.beans.ctrlsSvc.whenReady(this,(Q)=>{this.centerRowContainerCtrl=Q.center})}getPreferredWidthForColumn(Q,z){let J=this.getHeaderCellForColumn(Q);if(!J)return-1;let Z=this.beans.rowRenderer.getAllCellsNotSpanningForColumn(Q);if(!z)Z.push(J);return this.getPreferredWidthForElements(Z)}getPreferredWidthForColumnGroup(Q){let z=this.getHeaderCellForColumn(Q);if(!z)return-1;return this.getPreferredWidthForElements([z])}getPreferredWidthForElements(Q,z){let J=document.createElement("form");J.style.position="fixed";let Z=this.centerRowContainerCtrl.eContainer;for(let X of Q)this.cloneItemIntoDummy(X,J);Z.appendChild(J);let $=Math.ceil(J.getBoundingClientRect().width);return J.remove(),z=z??this.gos.get("autoSizePadding"),$+z}getHeaderCellForColumn(Q){let z=null;for(let J of this.beans.ctrlsSvc.getHeaderRowContainerCtrls()){let Z=J.getHtmlElementForColumnHeader(Q);if(Z!=null)z=Z}return z}cloneItemIntoDummy(Q,z){let J=Q.cloneNode(!0);J.style.width="",J.style.position="static",J.style.left="";let Z=document.createElement("div"),$=Z.classList;if(["ag-header-cell","ag-header-group-cell"].some((G)=>J.classList.contains(G)))$.add("ag-header","ag-header-row"),Z.style.position="static";else $.add("ag-row");let Y=Q.parentElement;while(Y){if(["ag-header-row","ag-row"].some((q)=>Y.classList.contains(q))){for(let q=0;q<Y.classList.length;q++){let H=Y.classList[q];if(H!="ag-row-position-absolute")$.add(H)}break}Y=Y.parentElement}Z.appendChild(J),z.appendChild(Z)}},L$={moduleName:"AutoWidth",version:p,beans:[HU]};function _U(Q,z,J=!0,Z="api"){Q.colResize?.setColumnWidths(z,!1,J,Z)}function F$(Q,z){if(!Q||Q.length==0)return;let J=z(Q[0]);for(let Z=1;Z<Q.length;Z++)if(J!==z(Q[Z]))return;return J}function D$(Q,z,J){if(!z.length)return;let Z=z.length===1?z[0]:null,$=F$(z,(X)=>X.getPinned());Q.dispatchEvent({type:"columnPinned",pinned:$!=null?$:null,columns:z,column:Z,source:J})}function UU(Q,z,J){if(!z.length)return;let Z=z.length===1?z[0]:null,$=F$(z,(X)=>X.isVisible());Q.dispatchEvent({type:"columnVisible",visible:$,columns:z,column:Z,source:J})}function M$(Q,z,J,Z){Q.dispatchEvent({type:z,columns:J,column:J&&J.length==1?J[0]:null,source:Z})}function L1(Q,z,J,Z,$=null){if(z?.length)Q.dispatchEvent({type:"columnResized",columns:z,column:z.length===1?z[0]:null,flexColumns:$,finished:J,source:Z})}var WU=class extends j{constructor(Q,z,J,Z){super();this.comp=Q,this.eResize=z,this.pinned=J,this.columnGroup=Z}postConstruct(){if(!this.columnGroup.isResizable()){this.comp.setResizableDisplayed(!1);return}let{horizontalResizeSvc:Q,gos:z,colAutosize:J}=this.beans,Z=Q.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(this.addDestroyFunc(Z),!z.get("suppressAutoSize")&&J)this.addDestroyFunc(J.addColumnGroupResize(this.eResize,this.columnGroup,()=>this.resizeLeafColumnsToFit("uiColumnResized")))}onResizeStart(Q){let{columnsToResize:z,resizeStartWidth:J,resizeRatios:Z,groupAfterColumns:$,groupAfterStartWidth:X,groupAfterRatios:Y}=this.getInitialValues(Q);this.resizeCols=z,this.resizeStartWidth=J,this.resizeRatios=Z,this.resizeTakeFromCols=$,this.resizeTakeFromStartWidth=X,this.resizeTakeFromRatios=Y,this.toggleColumnResizing(!0)}onResizing(Q,z,J="uiColumnResized"){let Z=this.normaliseDragChange(z),$=this.resizeStartWidth+Z;this.resizeColumnsFromLocalValues($,J,Q)}getInitialValues(Q){let z=(q)=>q.reduce((H,_)=>H+_.getActualWidth(),0),J=(q,H)=>q.map((_)=>_.getActualWidth()/H),Z=this.getColumnsToResize(),$=z(Z),X=J(Z,$),Y={columnsToResize:Z,resizeStartWidth:$,resizeRatios:X},G=null;if(Q)G=this.beans.colGroupSvc?.getGroupAtDirection(this.columnGroup,"After")??null;if(G){let q=G.getDisplayedLeafColumns(),H=Y.groupAfterColumns=q.filter((U)=>U.isResizable()),_=Y.groupAfterStartWidth=z(H);Y.groupAfterRatios=J(H,_)}else Y.groupAfterColumns=void 0,Y.groupAfterStartWidth=void 0,Y.groupAfterRatios=void 0;return Y}resizeLeafColumnsToFit(Q){let z=this.beans.autoWidthCalc.getPreferredWidthForColumnGroup(this.columnGroup),J=this.getInitialValues();if(z>J.resizeStartWidth)this.resizeColumns(J,z,Q,!0)}resizeColumnsFromLocalValues(Q,z,J=!0){if(!this.resizeCols||!this.resizeRatios)return;let Z={columnsToResize:this.resizeCols,resizeStartWidth:this.resizeStartWidth,resizeRatios:this.resizeRatios,groupAfterColumns:this.resizeTakeFromCols,groupAfterStartWidth:this.resizeTakeFromStartWidth,groupAfterRatios:this.resizeTakeFromRatios};this.resizeColumns(Z,Q,z,J)}resizeColumns(Q,z,J,Z=!0){let{columnsToResize:$,resizeStartWidth:X,resizeRatios:Y,groupAfterColumns:G,groupAfterStartWidth:q,groupAfterRatios:H}=Q,_=[];if(_.push({columns:$,ratios:Y,width:z}),G){let U=z-X;_.push({columns:G,ratios:H,width:q-U})}if(this.beans.colResize?.resizeColumnSets({resizeSets:_,finished:Z,source:J}),Z)this.toggleColumnResizing(!1)}toggleColumnResizing(Q){this.comp.toggleCss("ag-column-resizing",Q)}getColumnsToResize(){return this.columnGroup.getDisplayedLeafColumns().filter((z)=>z.isResizable())}normaliseDragChange(Q){let z=Q;if(this.gos.get("enableRtl")){if(this.pinned!=="left")z*=-1}else if(this.pinned==="right")z*=-1;return z}destroy(){super.destroy(),this.resizeCols=void 0,this.resizeRatios=void 0,this.resizeTakeFromCols=void 0,this.resizeTakeFromRatios=void 0}},BU=class extends j{constructor(Q,z,J,Z,$){super();this.pinned=Q,this.column=z,this.eResize=J,this.comp=Z,this.ctrl=$}postConstruct(){let Q=[],z,J,Z=()=>{if(N(this.eResize,z),!z)return;let{horizontalResizeSvc:Y,colAutosize:G}=this.beans,q=Y.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(Q.push(q),J&&G)Q.push(G.addColumnAutosizeListeners(this.eResize,this.column))},$=()=>{for(let Y of Q)Y();Q.length=0},X=()=>{let Y=this.column.isResizable(),G=!this.gos.get("suppressAutoSize")&&!this.column.getColDef().suppressAutoSize;if(Y!==z||G!==J)z=Y,J=G,$(),Z()};X(),this.addDestroyFunc($),this.ctrl.setRefreshFunction("resize",X)}onResizing(Q,z){let{column:J,lastResizeAmount:Z,resizeStartWidth:$,beans:X}=this,Y=this.normaliseResizeAmount(z),G=$+Y,q=[{key:J,newWidth:G}],{pinnedCols:H,ctrlsSvc:_,colResize:U}=X;if(this.column.getPinned()){let W=H?.leftWidth??0,B=H?.rightWidth??0,E=xz(_.getGridBodyCtrl().eBodyViewport)-50;if(W+B+(Y-Z)>E)return}if(this.lastResizeAmount=Y,U?.setColumnWidths(q,this.resizeWithShiftKey,Q,"uiColumnResized"),Q)this.toggleColumnResizing(!1)}onResizeStart(Q){this.resizeStartWidth=this.column.getActualWidth(),this.lastResizeAmount=0,this.resizeWithShiftKey=Q,this.toggleColumnResizing(!0)}toggleColumnResizing(Q){this.column.resizing=Q,this.comp.toggleCss("ag-column-resizing",Q)}normaliseResizeAmount(Q){let z=Q,J=this.pinned!=="left",Z=this.pinned==="right";if(this.gos.get("enableRtl")){if(J)z*=-1}else if(Z)z*=-1;return z}},EU=class extends j{constructor(){super(...arguments);this.beanName="colResize"}setColumnWidths(Q,z,J,Z){let $=[],{colModel:X,gos:Y,visibleCols:G}=this.beans;for(let q of Q){let H=X.getColDefCol(q.key)||X.getCol(q.key);if(!H)continue;if($.push({width:q.newWidth,ratios:[1],columns:[H]}),Y.get("colResizeDefault")==="shift")z=!z;if(z){let U=G.getColAfter(H);if(!U)continue;let W=H.getActualWidth()-q.newWidth,B=U.getActualWidth()+W;$.push({width:B,ratios:[1],columns:[U]})}}if($.length===0)return;this.resizeColumnSets({resizeSets:$,finished:J,source:Z})}resizeColumnSets(Q){let{resizeSets:z,finished:J,source:Z}=Q;if(!(!z||z.every((_)=>KU(_)))){if(J){let _=z&&z.length>0?z[0].columns:null;L1(this.eventSvc,_,J,Z)}return}let X=[],Y=[];for(let _ of z){let{width:U,columns:W,ratios:B}=_,E={},K={};for(let D of W)Y.push(D);let L=!0,F=0;while(L){if(F++,F>1000){e(31);break}L=!1;let D=[],M=0,k=U;W.forEach((A,O)=>{if(K[A.getId()])k-=E[A.getId()];else{D.push(A);let I=B[O];M+=I}});let f=1/M;D.forEach((A,O)=>{let v=O===D.length-1,I;if(v)I=k;else I=Math.round(B[O]*U*f),k-=I;let C=A.getMinWidth(),m=A.getMaxWidth();if(I<C)I=C,K[A.getId()]=!0,L=!0;else if(m>0&&I>m)I=m,K[A.getId()]=!0,L=!0;E[A.getId()]=I})}for(let D of W){let M=E[D.getId()];if(D.getActualWidth()!==M)D.setActualWidth(M,Z),X.push(D)}}let G=X.length>0,q=[];if(G){let{colFlex:_,visibleCols:U,colViewport:W}=this.beans;q=_?.refreshFlexedColumns({resizingCols:Y,skipSetLeft:!0})??[],U.setLeftValues(Z),U.updateBodyWidths(),W.checkViewportColumns()}let H=Y.concat(q);if(G||J)L1(this.eventSvc,H,J,Z,q)}resizeHeader(Q,z,J){if(!Q.isResizable())return;let Z=Q.getActualWidth(),$=Q.getMinWidth(),X=Q.getMaxWidth(),Y=Math.min(Math.max(Z+z,$),X);this.setColumnWidths([{key:Q,newWidth:Y}],J,!0,"uiColumnResized")}createResizeFeature(Q,z,J,Z,$){return new BU(Q,z,J,Z,$)}createGroupResizeFeature(Q,z,J,Z){return new WU(Q,z,J,Z)}};function KU(Q){let{columns:z,width:J}=Q,Z=0,$=0,X=!0;for(let q of z){let H=q.getMinWidth();Z+=H||0;let _=q.getMaxWidth();if(_>0)$+=_;else X=!1}let Y=J>=Z,G=!X||J<=$;return Y&&G}var LU={moduleName:"ColumnResize",version:p,beans:[EU],apiFunctions:{setColumnWidths:_U},dependsOn:[B6,L$]},FU=class extends j{constructor(Q,z){super();this.removeChildListenersFuncs=[],this.columnGroup=z,this.comp=Q}postConstruct(){this.addListenersToChildrenColumns(),this.addManagedListeners(this.columnGroup,{displayedChildrenChanged:this.onDisplayedChildrenChanged.bind(this)}),this.onWidthChanged(),this.addDestroyFunc(this.removeListenersOnChildrenColumns.bind(this))}addListenersToChildrenColumns(){this.removeListenersOnChildrenColumns();let Q=this.onWidthChanged.bind(this);for(let z of this.columnGroup.getLeafColumns())z.__addEventListener("widthChanged",Q),z.__addEventListener("visibleChanged",Q),this.removeChildListenersFuncs.push(()=>{z.__removeEventListener("widthChanged",Q),z.__removeEventListener("visibleChanged",Q)})}removeListenersOnChildrenColumns(){for(let Q of this.removeChildListenersFuncs)Q();this.removeChildListenersFuncs=[]}onDisplayedChildrenChanged(){this.addListenersToChildrenColumns(),this.onWidthChanged()}onWidthChanged(){let Q=this.columnGroup.getActualWidth();this.comp.setWidth(`${Q}px`),this.comp.toggleCss("ag-hidden",Q===0)}},DU=class extends Y6{constructor(){super(...arguments);this.onSuppressColMoveChange=()=>{if(!this.isAlive()||this.isSuppressMoving())this.removeDragSource();else if(!this.dragSource)this.setDragSource(this.eGui)}}wireComp(Q,z,J,Z,$){let{column:X,beans:Y}=this,{context:G,colNames:q,colHover:H,rangeSvc:_,colResize:U}=Y;this.comp=Q,$=BJ(this,G,$),this.setGui(z,$),this.displayName=q.getDisplayNameForColumnGroup(X,"header"),this.refreshHeaderStyles(),this.addClasses(),this.setupMovingCss($),this.setupExpandable($),this.setupTooltip(),this.refreshAnnouncement(),this.setupAutoHeight({wrapperElement:Z,compBean:$}),this.setupUserComp(),this.addHeaderMouseListeners($,Z),this.addManagedPropertyListener("groupHeaderHeight",this.refreshMaxHeaderHeight.bind(this)),this.refreshMaxHeaderHeight();let W=this.rowCtrl.pinned,B=X.getProvidedColumnGroup().getLeafColumns();if(H?.createHoverFeature($,B,z),_?.createRangeHighlightFeature($,X,Q),$.createManagedBean(new X6(X,z,Y)),$.createManagedBean(new FU(Q,X)),U)this.resizeFeature=$.createManagedBean(U.createGroupResizeFeature(Q,J,W,X));else Q.setResizableDisplayed(!1);$.createManagedBean(new cQ(z,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:()=>{return},handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)})),this.addHighlightListeners($,B),this.addManagedEventListeners({cellSelectionChanged:()=>this.refreshAnnouncement()}),$.addManagedPropertyListener("suppressMovableColumns",this.onSuppressColMoveChange),this.addResizeAndMoveKeyboardListeners($),$.addDestroyFunc(()=>this.clearComponent())}getHeaderClassParams(){let{column:Q,beans:z}=this,J=Q.getDefinition();return y(z.gos,{colDef:J,columnGroup:Q,floatingFilter:!1})}refreshMaxHeaderHeight(){let{gos:Q,comp:z}=this,J=Q.get("groupHeaderHeight");if(J!=null)if(J===0)z.setHeaderWrapperHidden(!0);else z.setHeaderWrapperMaxHeight(J);else z.setHeaderWrapperHidden(!1),z.setHeaderWrapperMaxHeight(null)}addHighlightListeners(Q,z){if(!this.beans.gos.get("suppressMoveWhenColumnDragging"))return;for(let J of z)Q.addManagedListeners(J,{headerHighlightChanged:this.onLeafColumnHighlightChanged.bind(this,J)})}onLeafColumnHighlightChanged(Q){let z=this.column.getDisplayedLeafColumns(),J=z[0]===Q,Z=b(z)===Q;if(!J&&!Z)return;let $=Q.getHighlighted(),X=!!this.rowCtrl.getHeaderCellCtrls().find((q)=>{return q.column.isMoving()}),Y=!1,G=!1;if(X){let q=this.beans.gos.get("enableRtl"),H=$===1,_=$===0;if(J)if(q)G=H;else Y=_;if(Z)if(q)Y=_;else G=H}this.comp.toggleCss("ag-header-highlight-before",Y),this.comp.toggleCss("ag-header-highlight-after",G)}resizeHeader(Q,z){let{resizeFeature:J}=this;if(!J)return;let Z=J.getInitialValues(z);J.resizeColumns(Z,Z.resizeStartWidth+Q,"uiColumnResized",!0)}resizeLeafColumnsToFit(Q){this.resizeFeature?.resizeLeafColumnsToFit(Q)}setupUserComp(){let{colGroupSvc:Q,userCompFactory:z,gos:J,enterpriseMenuFactory:Z}=this.beans,$=this.column,X=$.getProvidedColumnGroup(),Y=y(J,{displayName:this.displayName,columnGroup:$,setExpanded:(q)=>{Q.setColumnGroupOpened(X,q,"gridInitializing")},setTooltip:(q,H)=>{J.assertModuleRegistered("Tooltip",3),this.setupTooltip(q,H)},showColumnMenu:(q,H)=>Z?.showMenuAfterButtonClick(X,q,"columnMenu",H),showColumnMenuAfterMouseClick:(q,H)=>Z?.showMenuAfterMouseEvent(X,q,"columnMenu",H),eGridHeader:this.eGui}),G=Iq(z,Y);if(G)this.comp.setUserCompDetails(G)}addHeaderMouseListeners(Q,z){let{column:J,comp:Z,beans:{rangeSvc:$},gos:X}=this,Y=(_)=>this.handleMouseOverChange(_.type==="mouseenter"),G=()=>this.dispatchColumnMouseEvent("columnHeaderClicked",J.getProvidedColumnGroup()),q=(_)=>this.handleContextMenuMouseEvent(_,void 0,J.getProvidedColumnGroup());Q.addManagedListeners(this.eGui,{mouseenter:Y,mouseleave:Y,click:G,contextmenu:q}),Z.toggleCss("ag-header-group-cell-selectable",Zz(X));let H=$?.createHeaderGroupCellMouseListenerFeature(this.column,z);if(H)this.createManagedBean(H)}handleMouseOverChange(Q){this.eventSvc.dispatchEvent({type:Q?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column.getProvidedColumnGroup()})}setupTooltip(Q,z){this.tooltipFeature=this.beans.tooltipSvc?.setupHeaderGroupTooltip(this.tooltipFeature,this,Q,z)}setupExpandable(Q){let z=this.column.getProvidedColumnGroup();this.refreshExpanded();let J=this.refreshExpanded.bind(this);Q.addManagedListeners(z,{expandedChanged:J,expandableChanged:J})}refreshExpanded(){let{column:Q}=this;this.expandable=Q.isExpandable();let z=Q.isExpanded();if(this.expandable)this.comp.setAriaExpanded(z?"true":"false");else this.comp.setAriaExpanded(void 0);this.refreshHeaderStyles()}addClasses(){let{column:Q}=this,z=Q.getColGroupDef(),J=gZ(z,this.gos,null,Q);if(Q.isPadding()){if(J.push("ag-header-group-cell-no-group"),Q.getLeafColumns().every(($)=>$.isSpanHeaderHeight()))J.push("ag-header-span-height")}else if(J.push("ag-header-group-cell-with-group"),z?.wrapHeaderText)J.push("ag-header-cell-wrap-text");for(let Z of J)this.comp.toggleCss(Z,!0)}setupMovingCss(Q){let{column:z}=this,Z=z.getProvidedColumnGroup().getLeafColumns(),$=()=>this.comp.toggleCss("ag-header-cell-moving",z.isMoving());for(let X of Z)Q.addManagedListeners(X,{movingChanged:$});$()}onFocusIn(Q){if(!this.eGui.contains(Q.relatedTarget))this.focusThis(),this.announceAriaDescription()}handleKeyDown(Q){if(super.handleKeyDown(Q),!this.getWrapperHasFocus())return;let{column:J,expandable:Z,gos:$,beans:X}=this,Y=Zz($);if(Q.key!=V.ENTER)return;if(Y&&!Q.altKey)X.rangeSvc?.handleColumnSelection(J,Q);else if(Z){let G=!J.isExpanded();X.colGroupSvc.setColumnGroupOpened(J.getProvidedColumnGroup(),G,"uiColumnExpanded")}}refreshAnnouncement(){let Q,{gos:z}=this;if(Zz(z))Q=this.getLocaleTextFunc()("ariaColumnGroupCellSelection","Press Enter to toggle selection for all visible cells in this column group");this.ariaAnnouncement=Q}announceAriaDescription(){let{beans:Q,eGui:z,ariaAnnouncement:J}=this;if(!J||!z.contains(d(Q)))return;Q.ariaAnnounce?.announceValue(J,"columnHeader")}setDragSource(Q){if(!this.isAlive()||this.isSuppressMoving())return;if(this.removeDragSource(),!Q)return;this.dragSource=this.beans.colMoves?.setDragSourceForHeader(Q,this.column,this.displayName)??null}isSuppressMoving(){return this.gos.get("suppressMovableColumns")||this.column.getLeafColumns().some((Q)=>Q.getColDef().suppressMovable||Q.getColDef().lockPosition)}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),super.destroy()}};function MU(Q,z,J){Q.colGroupSvc?.setColumnGroupOpened(z,J,"api")}function kU(Q,z,J){return Q.colGroupSvc?.getColumnGroup(z,J)??null}function VU(Q,z){return Q.colGroupSvc?.getProvidedColGroup(z)??null}function fU(Q,z,J){return Q.colNames.getDisplayNameForColumnGroup(z,J)||""}function AU(Q){return Q.colGroupSvc?.getColumnGroupState()??[]}function jU(Q,z){Q.colGroupSvc?.setColumnGroupState(z,"api")}function RU(Q){Q.colGroupSvc?.resetColumnGroupState("api")}function SU(Q){return Q.visibleCols.treeLeft}function OU(Q){return Q.visibleCols.treeCenter}function PU(Q){return Q.visibleCols.treeRight}function TU(Q){return Q.visibleCols.getAllTrees()}var k$=class{constructor(){this.existingIds={}}getInstanceIdForKey(Q){let z=this.existingIds[Q],J;if(typeof z!=="number")J=0;else J=z+1;return this.existingIds[Q]=J,J}};function vU(Q,z){for(let J=0;J<z.length;J++){let Z=Q.indexOf(z[J]);if(Z>=0)Q[Z]=Q[Q.length-1],Q.pop()}}var IU=class extends j{constructor(){super(...arguments);this.beanName="visibleCols",this.colsAndGroupsMap={},this.leftCols=[],this.rightCols=[],this.centerCols=[],this.allCols=[],this.headerGroupRowCount=0,this.bodyWidth=0,this.leftWidth=0,this.rightWidth=0,this.isBodyWidthDirty=!0}refresh(Q,z=!1){let{colFlex:J,colModel:Z,colGroupSvc:$,colViewport:X,selectionColSvc:Y}=this.beans;if(!z)this.buildTrees(Z,$);$?.updateOpenClosedVisibility(),this.leftCols=p2(this.treeLeft),this.centerCols=p2(this.treeCenter),this.rightCols=p2(this.treeRight),Y?.refreshVisibility(this.leftCols,this.centerCols,this.rightCols),this.joinColsAriaOrder(Z),this.joinCols(),this.headerGroupRowCount=this.getHeaderRowCount(),this.setLeftValues(Q),this.autoHeightCols=this.allCols.filter((G)=>G.isAutoHeight()),J?.refreshFlexedColumns(),this.updateBodyWidths(),this.setFirstRightAndLastLeftPinned(Z,this.leftCols,this.rightCols,Q),X.checkViewportColumns(!1),this.eventSvc.dispatchEvent({type:"displayedColumnsChanged",source:Q})}getHeaderRowCount(){if(!this.gos.get("hidePaddedHeaderRows"))return this.beans.colModel.cols.treeDepth;let Q=0;for(let z of this.allCols){let J=z.getParent();while(J){if(!J.isPadding()){let Z=J.getProvidedColumnGroup().getLevel()+1;if(Z>Q)Q=Z;break}J=J.getParent()}}return Q}updateBodyWidths(){let Q=NQ(this.centerCols),z=NQ(this.leftCols),J=NQ(this.rightCols);if(this.isBodyWidthDirty=this.bodyWidth!==Q,this.bodyWidth!==Q||this.leftWidth!==z||this.rightWidth!==J)this.bodyWidth=Q,this.leftWidth=z,this.rightWidth=J,this.eventSvc.dispatchEvent({type:"columnContainerWidthChanged"}),this.eventSvc.dispatchEvent({type:"displayedColumnsWidthChanged"})}setLeftValues(Q){this.setLeftValuesOfCols(Q),this.setLeftValuesOfGroups()}setFirstRightAndLastLeftPinned(Q,z,J,Z){let $,X;if(this.gos.get("enableRtl"))$=z?z[0]:null,X=J?b(J):null;else $=z?b(z):null,X=J?J[0]:null;for(let Y of Q.getCols())Y.setLastLeftPinned(Y===$,Z),Y.setFirstRightPinned(Y===X,Z)}buildTrees(Q,z){let J=Q.getColsToShow(),Z=J.filter((q)=>q.getPinned()=="left"),$=J.filter((q)=>q.getPinned()=="right"),X=J.filter((q)=>q.getPinned()!="left"&&q.getPinned()!="right"),Y=new k$,G=(q)=>{return z?z.createColumnGroups(q):q.columns};this.treeLeft=G({columns:Z,idCreator:Y,pinned:"left",oldDisplayedGroups:this.treeLeft}),this.treeRight=G({columns:$,idCreator:Y,pinned:"right",oldDisplayedGroups:this.treeRight}),this.treeCenter=G({columns:X,idCreator:Y,pinned:null,oldDisplayedGroups:this.treeCenter}),this.updateColsAndGroupsMap()}clear(){this.leftCols=[],this.rightCols=[],this.centerCols=[],this.allCols=[],this.ariaOrderColumns=[]}joinColsAriaOrder(Q){let z=Q.getCols(),J=[],Z=[],$=[];for(let X of z){let Y=X.getPinned();if(!Y)Z.push(X);else if(Y===!0||Y==="left")J.push(X);else $.push(X)}this.ariaOrderColumns=J.concat(Z).concat($)}getAriaColIndex(Q){let z;if(_0(Q))z=Q.getLeafColumns()[0];else z=Q;return this.ariaOrderColumns.indexOf(z)+1}setLeftValuesOfGroups(){for(let Q of[this.treeLeft,this.treeRight,this.treeCenter])for(let z of Q)if(_0(z))z.checkLeft()}setLeftValuesOfCols(Q){let{colModel:z}=this.beans;if(!z.getColDefCols())return;let Z=z.getCols().slice(0),$=this.gos.get("enableRtl");for(let X of[this.leftCols,this.rightCols,this.centerCols]){if($){let Y=NQ(X);for(let G of X)Y-=G.getActualWidth(),G.setLeft(Y,Q)}else{let Y=0;for(let G of X)G.setLeft(Y,Q),Y+=G.getActualWidth()}vU(Z,X)}for(let X of Z)X.setLeft(null,Q)}joinCols(){if(this.gos.get("enableRtl"))this.allCols=this.rightCols.concat(this.centerCols).concat(this.leftCols);else this.allCols=this.leftCols.concat(this.centerCols).concat(this.rightCols)}getAllTrees(){if(this.treeLeft&&this.treeRight&&this.treeCenter)return this.treeLeft.concat(this.treeCenter).concat(this.treeRight);return null}isColDisplayed(Q){return this.allCols.indexOf(Q)>=0}getLeftColsForRow(Q){let{leftCols:z,beans:{colModel:J}}=this;if(!J.colSpanActive)return z;return this.getColsForRow(Q,z)}getRightColsForRow(Q){let{rightCols:z,beans:{colModel:J}}=this;if(!J.colSpanActive)return z;return this.getColsForRow(Q,z)}getColsForRow(Q,z,J,Z){let $=[],X=null;for(let Y=0;Y<z.length;Y++){let G=z[Y],q=z.length-Y,H=Math.min(G.getColSpan(Q),q),_=[G];if(H>1){let W=H-1;for(let B=1;B<=W;B++)_.push(z[Y+B]);Y+=W}let U;if(J){U=!1;for(let W of _)if(J(W))U=!0}else U=!0;if(U){if($.length===0&&X){if(Z?Z(G):!1)$.push(X)}$.push(G)}X=G}return $}getContainerWidth(Q){switch(Q){case"left":return this.leftWidth;case"right":return this.rightWidth;default:return this.bodyWidth}}getColBefore(Q){let z=this.allCols,J=z.indexOf(Q);if(J>0)return z[J-1];return null}isPinningLeft(){return this.leftCols.length>0}isPinningRight(){return this.rightCols.length>0}updateColsAndGroupsMap(){this.colsAndGroupsMap={};let Q=(z)=>{this.colsAndGroupsMap[z.getUniqueId()]=z};yz(this.treeCenter,!1,Q),yz(this.treeLeft,!1,Q),yz(this.treeRight,!1,Q)}isVisible(Q){return this.colsAndGroupsMap[Q.getUniqueId()]===Q}getFirstColumn(){let Q=this.gos.get("enableRtl"),z=["leftCols","centerCols","rightCols"];if(Q)z.reverse();for(let J=0;J<z.length;J++){let Z=this[z[J]];if(Z.length)return Q?b(Z):Z[0]}return null}getColAfter(Q){let z=this.allCols,J=z.indexOf(Q);if(J<z.length-1)return z[J+1];return null}getColsLeftWidth(){return NQ(this.leftCols)}getDisplayedColumnsRightWidth(){return NQ(this.rightCols)}isColAtEdge(Q,z){let J=this.allCols;if(!J.length)return!1;let Z=z==="first",$;if(_0(Q)){let X=Q.getDisplayedLeafColumns();if(!X.length)return!1;$=Z?X[0]:b(X)}else $=Q;return(Z?J[0]:b(J))===$}};function yz(Q,z,J){if(!Q)return;for(let Z=0;Z<Q.length;Z++){let $=Q[Z];if(_0($)){let X=z?$.getDisplayedChildren():$.getChildren();yz(X,z,J)}J($)}}function p2(Q){let z=[];return yz(Q,!0,(J)=>{if(JQ(J))z.push(J)}),z}var CU=class extends j{constructor(){super(...arguments);this.beanName="colGroupSvc"}getColumnGroupState(){let Q=[],z=this.beans.colModel.getColTree();return OQ(null,z,(J)=>{if(G0(J))Q.push({groupId:J.getGroupId(),open:J.isExpanded()})}),Q}resetColumnGroupState(Q){let z=this.beans.colModel.getColDefColTree();if(!z)return;let J=[];OQ(null,z,(Z)=>{if(G0(Z)){let $=Z.getColGroupDef(),X={groupId:Z.getGroupId(),open:!$?void 0:$.openByDefault};J.push(X)}}),this.setColumnGroupState(J,Q)}setColumnGroupState(Q,z){let{colModel:J,colAnimation:Z,visibleCols:$,eventSvc:X}=this.beans;if(!J.getColTree().length)return;Z?.start();let G=[];for(let q of Q){let{groupId:H,open:_}=q,U=this.getProvidedColGroup(H);if(!U)continue;if(U.isExpanded()===_)continue;U.setExpanded(_),G.push(U)}if($.refresh(z,!0),G.length)X.dispatchEvent({type:"columnGroupOpened",columnGroup:G.length===1?G[0]:void 0,columnGroups:G});Z?.finish()}setColumnGroupOpened(Q,z,J){let Z;if(G0(Q))Z=Q.getId();else Z=Q||"";this.setColumnGroupState([{groupId:Z,open:z}],J)}getProvidedColGroup(Q){let z=null;return OQ(null,this.beans.colModel.getColTree(),(J)=>{if(G0(J)){if(J.getId()===Q)z=J}}),z}getGroupAtDirection(Q,z){let J=Q.getProvidedColumnGroup().getLevel()+Q.getPaddingLevel(),Z=Q.getDisplayedLeafColumns(),$=z==="After"?b(Z):Z[0],X=`getCol${z}`;while(!0){let Y=this.beans.visibleCols[X]($);if(!Y)return null;let G=this.getColGroupAtLevel(Y,J);if(G!==Q)return G}}getColGroupAtLevel(Q,z){let J=Q.getParent(),Z,$;while(!0){if(Z=J.getProvidedColumnGroup().getLevel(),$=J.getPaddingLevel(),Z+$<=z)break;J=J.getParent()}return J}updateOpenClosedVisibility(){let Q=this.beans.visibleCols.getAllTrees();yz(Q,!1,(z)=>{if(_0(z))z.calculateDisplayedColumns()})}getColumnGroup(Q,z){if(!Q)return null;if(_0(Q))return Q;let J=this.beans.visibleCols.getAllTrees(),Z=typeof z==="number",$=null;return yz(J,!1,(X)=>{if(_0(X)){let Y=X,G;if(Z)G=Q===Y.getGroupId()&&z===Y.getPartId();else G=Q===Y.getGroupId();if(G)$=Y}}),$}createColumnGroups(Q){let{columns:z,idCreator:J,pinned:Z,oldDisplayedGroups:$,isStandaloneStructure:X}=Q,Y=this.mapOldGroupsById($),G=[],q=z;while(q.length){let H=q;q=[];let _=0,U=(W)=>{let B=_;_=W;let E=H[B],L=(_0(E)?E.getProvidedColumnGroup():E).getOriginalParent();if(L==null){for(let D=B;D<W;D++)G.push(H[D]);return}let F=this.createColumnGroup(L,J,Y,Z,X);for(let D=B;D<W;D++)F.addChild(H[D]);q.push(F)};for(let W=1;W<H.length;W++){let B=H[W],K=(_0(B)?B.getProvidedColumnGroup():B).getOriginalParent(),L=H[_],D=(_0(L)?L.getProvidedColumnGroup():L).getOriginalParent();if(K!==D)U(W)}if(_<H.length)U(H.length)}if(!X)this.setupParentsIntoCols(G,null);return G}createProvidedColumnGroup(Q,z,J,Z,$,X,Y){let G=$.getUniqueKey(z.groupId||null,null),q=X5(this.beans,z,G),H=new Cz(q,G,!1,J);this.createBean(H);let _=this.findExistingGroup(z,X);if(_)X.splice(_.idx,1);let U=_?.group;if(U)H.setExpanded(U.isExpanded());let W=L9(this.beans,q.children,J+1,Q,Z,$,X,Y);return H.setChildren(W),H}balanceColumnTree(Q,z,J,Z){let $=[];for(let X=0;X<Q.length;X++){let Y=Q[X];if(G0(Y)){let G=Y,q=this.balanceColumnTree(G.getChildren(),z+1,J,Z);G.setChildren(q),$.push(G)}else{let G,q;for(let H=z;H<J;H++){let _=Z.getUniqueKey(null,null),U=X5(this.beans,null,_),W=new Cz(U,_,!0,H);if(this.createBean(W),q)q.setChildren([W]);if(q=W,!G)G=q}if(G&&q)if($.push(G),Q.some((_)=>G0(_))){q.setChildren([Y]);continue}else{q.setChildren(Q);break}$.push(Y)}}return $}findDepth(Q){let z=0,J=Q;while(J?.[0]&&G0(J[0]))z++,J=J[0].getChildren();return z}findMaxDepth(Q,z){let J=z;for(let Z=0;Z<Q.length;Z++){let $=Q[Z];if(G0($)){let X=$,Y=this.findMaxDepth(X.getChildren(),z+1);if(J<Y)J=Y}}return J}balanceTreeForAutoCols(Q,z){let J=[];for(let Z of Q){let $=Z;for(let X=z-1;X>=0;X--){let Y=new Cz(null,`FAKE_PATH_${Z.getId()}_${X}`,!0,X);this.createBean(Y),Y.setChildren([$]),$.originalParent=Y,$=Y}if(z===0)Z.originalParent=null;J.push($)}return J}findExistingGroup(Q,z){if(Q.groupId==null)return;for(let Z=0;Z<z.length;Z++){let $=z[Z];if(!$.getColGroupDef())continue;if($.getId()===Q.groupId)return{idx:Z,group:$}}return}createColumnGroup(Q,z,J,Z,$){let X=Q.getGroupId(),Y=z.getInstanceIdForKey(X),G=j9(X,Y),q=J[G];if(q&&q.getProvidedColumnGroup()!==Q)q=null;if(T(q))q.reset();else if(q=new a1(Q,X,Y,Z),!$)this.createBean(q);return q}mapOldGroupsById(Q){let z={},J=(Z)=>{for(let $ of Z)if(_0($)){let X=$;z[$.getUniqueId()]=X,J(X.getChildren())}};if(Q)J(Q);return z}setupParentsIntoCols(Q,z){for(let J of Q??[]){if(J.parent!==z)this.beans.colViewport.colsWithinViewportHash="";if(J.parent=z,_0(J)){let Z=J;this.setupParentsIntoCols(Z.getChildren(),Z)}}}},E6={moduleName:"ColumnGroup",version:p,dynamicBeans:{headerGroupCellCtrl:DU},beans:[CU],apiFunctions:{getAllDisplayedColumnGroups:TU,getCenterDisplayedColumnGroups:OU,getColumnGroup:kU,getColumnGroupState:AU,getDisplayNameForColumnGroup:fU,getLeftDisplayedColumnGroups:SU,getProvidedColumnGroup:VU,getRightDisplayedColumnGroups:PU,resetColumnGroupState:RU,setColumnGroupOpened:MU,setColumnGroupState:jU}};function n0(Q,z,J){let{colModel:Z,rowGroupColsSvc:$,pivotColsSvc:X,autoColSvc:Y,selectionColSvc:G,colAnimation:q,visibleCols:H,pivotResultCols:_,environment:U,valueColsSvc:W,eventSvc:B,gos:E}=Q,K=Z.getColDefCols()??[],L=G?.getColumns();if(!K.length&&!L?.length)return!1;if(z?.state&&!z.state.forEach)return R(32),!1;let F=(f,A,O,v,I)=>{if(!f)return;let C=Jq(A,z.defaultState),m=C("flex").value1,w=C("sort").value1,a=C("sortType").value1,t=$z(w)||m5(a),u=LQ(a),Q0=IZ(w),r=t?{type:u,direction:Q0}:void 0;if(F9(Q,f,C("hide").value1,r,C("sortIndex").value1,C("pinned").value1,m,J),m==null){let S0=C("width").value1;if(S0!=null){let O0=f.getColDef().minWidth??U.getDefaultColumnMinWidth();if(O0!=null&&S0>=O0)f.setActualWidth(S0,J)}}if(I||!f.isPrimary())return;W?.syncColumnWithState(f,J,C),$?.syncColumnWithState(f,J,C,O),X?.syncColumnWithState(f,J,C,v)},D=(f,A,O)=>{let v=f$(Q,J),I=A.slice(),C={},m={},w=[],a=[],t=[],u=0,Q0=$?.columns.slice()??[],r=X?.columns.slice()??[];for(let k0 of f){let Az=k0.colId;if(Az.startsWith(uz)){w.push(k0),t.push(k0);continue}if(IQ(Az)){a.push(k0),t.push(k0);continue}let oz=O(Az);if(!oz)t.push(k0),u+=1;else F(oz,k0,C,m,!1),$0(I,oz)}let S0=(k0)=>F(k0,null,C,m,!1);I.forEach(S0),$?.sortColumns(y7.bind($,C,Q0)),X?.sortColumns(y7.bind(X,m,r)),Z.refreshCols(!1,J);let O0=(k0,Az,k2=[])=>{for(let oz of Az){let H7=k0(oz.colId);$0(k2,H7),F(H7,oz,null,null,!0)}k2.forEach(S0)};return O0((k0)=>Y?.getColumn(k0)??null,w,Y?.getColumns()?.slice()),O0((k0)=>G?.getColumn(k0)??null,a,G?.getColumns()?.slice()),bU(z,Z,E),H.refresh(J),B.dispatchEvent({type:"columnEverythingChanged",source:J}),v(),{unmatchedAndAutoStates:t,unmatchedCount:u}};q?.start();let{unmatchedAndAutoStates:M,unmatchedCount:k}=D(z.state||[],K,(f)=>Z.getColDefCol(f));if(M.length>0||T(z.defaultState)){let f=_?.getPivotResultCols()?.list??[];k=D(M,f,(A)=>_?.getPivotResultCol(A)??null).unmatchedCount}return q?.finish(),k===0}function V$(Q,z){let{colModel:J,autoColSvc:Z,selectionColSvc:$,eventSvc:X,gos:Y}=Q,G=J.getColDefCols();if(!G?.length)return;let q=J.getColDefColTree(),H=CZ(q),_=[],U=1000,W=1000,B=(D)=>{let M=A$(D);if(n(M.rowGroupIndex)&&M.rowGroup)M.rowGroupIndex=U++;if(n(M.pivotIndex)&&M.pivot)M.pivotIndex=W++;_.push(M)};Z?.getColumns()?.forEach(B),$?.getColumns()?.forEach(B),H?.forEach(B),n0(Q,{state:_},z);let E=Z?.getColumns()??[],F=[...$?.getColumns()??[],...E,...G].map((D)=>({colId:D.colId}));n0(Q,{state:F,applyOrder:!0},z),X.dispatchEvent(y(Y,{type:"columnsReset",source:z}))}function f$(Q,z){let{rowGroupColsSvc:J,pivotColsSvc:Z,valueColsSvc:$,colModel:X,sortSvc:Y,eventSvc:G}=Q,q={rowGroupColumns:J?.columns.slice()??[],pivotColumns:Z?.columns.slice()??[],valueColumns:$?.columns.slice()??[]},H=b7(Q),_={};for(let U of H)_[U.colId]=U;return()=>{let U=(A,O,v,I)=>{let C=O.map(I),m=v.map(I);if(X0(C,m))return;let a=new Set(O);for(let u of v)if(!a.delete(u))a.add(u);let t=[...a];G.dispatchEvent({type:A,columns:t,column:t.length===1?t[0]:null,source:z})},W=(A)=>{let O=[];return X.forAllCols((v)=>{let I=_[v.getColId()];if(I&&A(I,v))O.push(v)}),O},B=(A)=>A.getColId();U("columnRowGroupChanged",q.rowGroupColumns,J?.columns??[],B),U("columnPivotChanged",q.pivotColumns,Z?.columns??[],B);let K=W((A,O)=>{let v=A.aggFunc!=null,I=v!=O.isValueActive(),C=v&&A.aggFunc!=O.getAggFunc();return I||C});if(K.length>0)M$(G,"columnValueChanged",K,z);L1(G,W((A,O)=>A.width!=O.getActualWidth()),!0,z),D$(G,W((A,O)=>A.pinned!=O.getPinned()),z),UU(G,W((A,O)=>A.hide==O.isVisible()),z);let k=W((A,O)=>!tJ(O.getSortDef(),{type:LQ(A.sortType),direction:IZ(A.sort)})||A.sortIndex!=O.getSortIndex());if(k.length>0)Y?.dispatchSortChangedEvents(z,k);let f=b7(Q);xU(H,f,z,X,G)}}function b7(Q){let{colModel:z,rowGroupColsSvc:J,pivotColsSvc:Z}=Q,$=z.getColDefCols();if(n($)||!z.isAlive())return[];let X=J?.columns,Y=Z?.columns,G=[],q=(_)=>{let U=_.isRowGroupActive()&&X?X.indexOf(_):null,W=_.isPivotActive()&&Y?Y.indexOf(_):null,B=_.isValueActive()?_.getAggFunc():null,E=_.getSortIndex()!=null?_.getSortIndex():null;G.push({colId:_.getColId(),width:_.getActualWidth(),hide:!_.isVisible(),pinned:_.getPinned(),sort:_.getSort(),sortType:_.getSortDef()?.type,sortIndex:E,aggFunc:B,rowGroup:_.isRowGroupActive(),rowGroupIndex:U,pivot:_.isPivotActive(),pivotIndex:W,flex:_.getFlex()??null})};z.forAllCols((_)=>q(_));let H=new Map(z.getCols().map((_,U)=>[_.getColId(),U]));return G.sort((_,U)=>{let W=H.has(_.colId)?H.get(_.colId):-1,B=H.has(U.colId)?H.get(U.colId):-1;return W-B}),G}function A$(Q){let z=(L,F)=>L!=null?L:F!=null?F:null,J=Q.getColDef(),Z=a0(z(J.sort,J.initialSort)),$=Z.direction,X=Z.type,Y=z(J.sortIndex,J.initialSortIndex),G=z(J.hide,J.initialHide),q=z(J.pinned,J.initialPinned),H=z(J.width,J.initialWidth),_=z(J.flex,J.initialFlex),U=z(J.rowGroupIndex,J.initialRowGroupIndex),W=z(J.rowGroup,J.initialRowGroup);if(U==null&&!W)U=null,W=null;let B=z(J.pivotIndex,J.initialPivotIndex),E=z(J.pivot,J.initialPivot);if(B==null&&!E)B=null,E=null;let K=z(J.aggFunc,J.initialAggFunc);return{colId:Q.getColId(),sort:$,sortType:X,sortIndex:Y,hide:G,pinned:q,width:H,flex:_,rowGroup:W,rowGroupIndex:U,pivot:E,pivotIndex:B,aggFunc:K}}function bU(Q,z,J){if(!Q.applyOrder||!Q.state)return;let Z=[];for(let $ of Q.state)if($.colId!=null)Z.push($.colId);yU(z.cols,Z,z,J)}function yU(Q,z,J,Z){if(Q==null)return;let $=[],X={};for(let G of z){if(X[G])continue;let q=Q.map[G];if(q)$.push(q),X[G]=!0}let Y=0;for(let G of Q.list){let q=G.getColId();if(X[q]!=null)continue;if(q.startsWith(uz))$.splice(Y++,0,G);else $.push(G)}if($=E$($,Z),!K$($,J.getColTree())){R(39);return}Q.list=$}function xU(Q,z,J,Z,$){let X={};for(let _ of z)X[_.colId]=_;let Y={};for(let _ of Q)if(X[_.colId])Y[_.colId]=!0;let G=Q.filter((_)=>Y[_.colId]),q=z.filter((_)=>Y[_.colId]),H=[];if(q.forEach((_,U)=>{let W=G?.[U];if(W&&W.colId!==_.colId){let B=Z.getCol(W.colId);if(B)H.push(B)}}),!H.length)return;$.dispatchEvent({type:"columnMoved",columns:H,column:H.length===1?H[0]:null,finished:!0,source:J})}var y7=(Q,z,J,Z)=>{let $=Q[J.getId()],X=Q[Z.getId()],Y=$!=null,G=X!=null;if(Y&&G)return $-X;if(Y)return-1;if(G)return 1;let q=z.indexOf(J),H=z.indexOf(Z),_=q>=0,U=H>=0;if(_&&U)return q-H;if(_)return-1;return 1},wU=class extends j{constructor(){super(...arguments);this.beanName="colModel",this.pivotMode=!1,this.ready=!1,this.changeEventsDispatching=!1}postConstruct(){this.pivotMode=this.gos.get("pivotMode"),this.addManagedPropertyListeners(["groupDisplayType","treeData","treeDataDisplayType","groupHideOpenParents","groupHideColumnsUntilExpanded","rowNumbers","hidePaddedHeaderRows"],(Q)=>this.refreshAll(Xz(Q.source))),this.addManagedPropertyListeners(["defaultColDef","defaultColGroupDef","columnTypes","suppressFieldDotNotation"],this.recreateColumnDefs.bind(this)),this.addManagedPropertyListener("pivotMode",(Q)=>this.setPivotMode(this.gos.get("pivotMode"),Xz(Q.source)))}createColsFromColDefs(Q){let{beans:z}=this,{valueCache:J,colAutosize:Z,rowGroupColsSvc:$,pivotColsSvc:X,valueColsSvc:Y,visibleCols:G,eventSvc:q,groupHierarchyColSvc:H}=z,_=this.colDefs?f$(z,Q):void 0;J?.expire();let U=this.colDefCols?.list,W=this.colDefCols?.tree,B=p5(z,this.colDefs,!0,W,Q);ZQ(z,this.colDefCols?.tree,B.columnTree);let{columnTree:E,treeDepth:K}=B,L=CZ(E),F={};for(let D of L)F[D.getId()]=D;if(this.colDefCols={tree:E,treeDepth:K,list:L,map:F},this.createColumnsForService([H],this.colDefCols,Q),$?.extractCols(Q,U),X?.extractCols(Q,U),Y?.extractCols(Q,U),this.ready=!0,this.changeEventsDispatching=!0,this.refreshCols(!0,Q),this.changeEventsDispatching=!1,G.refresh(Q),q.dispatchEvent({type:"columnEverythingChanged",source:Q}),_)this.changeEventsDispatching=!0,_(),this.changeEventsDispatching=!1;if(q.dispatchEvent({type:"newColumnsLoaded",source:Q}),Q==="gridInitializing")Z?.applyAutosizeStrategy()}refreshCols(Q,z){if(!this.colDefCols)return;let J=this.cols?.tree;this.saveColOrder();let{autoColSvc:Z,selectionColSvc:$,rowNumbersSvc:X,quickFilter:Y,pivotResultCols:G,showRowGroupCols:q,rowAutoHeight:H,visibleCols:_,colViewport:U,eventSvc:W,formula:B}=this.beans,E=this.selectCols(G,this.colDefCols);B?.setFormulasActive(E),this.createColumnsForService([Z,$,X],E,z);let K=xG(this.gos,this.showingPivotResult);if(!Q||K)this.restoreColOrder(E);if(this.positionLockedCols(E),q?.refresh(),Y?.refreshCols(),this.setColSpanActive(),H?.setAutoHeightActive(E),_.clear(),U.clear(),!X0(J,this.cols.tree))W.dispatchEvent({type:"gridColumnsChanged"})}createColumnsForService(Q,z,J){for(let Z of Q){if(!Z)continue;Z.createColumns(z,($)=>{this.lastOrder=$(this.lastOrder),this.lastPivotOrder=$(this.lastPivotOrder)},J),Z.addColumns(z)}}selectCols(Q,z){let J=Q?.getPivotResultCols()??null;this.showingPivotResult=J!=null;let{map:Z,list:$,tree:X,treeDepth:Y}=J??z;if(this.cols={list:$.slice(),map:{...Z},tree:X.slice(),treeDepth:Y},J){if(!J.list.some((q)=>this.cols?.map[q.getColId()]!==void 0))this.lastPivotOrder=null}return this.cols}getColsToShow(){if(!this.cols)return[];let{beans:Q,showingPivotResult:z,cols:J}=this,{valueColsSvc:Z,selectionColSvc:$,gos:X}=Q,Y=this.isPivotMode()&&!z,G=$?.isSelectionColumnEnabled(),q=wG(Q),H=Z?.columns,_=g5(X);return J.list.filter((W)=>{let B=mz(W);if(Y)return H?.includes(W)||B&&(!_||W.isVisible())||G&&IQ(W)||q&&v0(W);else return B&&!_||W.isVisible()})}refreshAll(Q){if(!this.ready)return;this.refreshCols(!1,Q),this.beans.visibleCols.refresh(Q)}setColsVisible(Q,z=!1,J){n0(this.beans,{state:Q.map((Z)=>({colId:typeof Z==="string"?Z:Z.getColId(),hide:!z}))},J)}restoreColOrder(Q){let z=this.showingPivotResult?this.lastPivotOrder:this.lastOrder;if(!z)return;let J=z.filter((U)=>Q.map[U.getId()]!=null);if(J.length===0)return;if(J.length===Q.list.length){Q.list=J;return}let Z=(U)=>{let W=U.getOriginalParent();if(!W)return!1;if(W.getChildren().length>1)return!0;return Z(W)};if(!J.some((U)=>Z(U))){let U=new Set(J);for(let W of Q.list)if(!U.has(W))J.push(W);Q.list=J;return}let $=new Map;for(let U=0;U<J.length;U++){let W=J[U];$.set(W,U)}let X=Q.list.filter((U)=>!$.has(U));if(X.length===0){Q.list=J;return}let Y=(U,W)=>{let B=W?W.getOriginalParent():U.getOriginalParent();if(!B)return null;let E=null,K=null;for(let L of B.getChildren()){if(L===W||L===U)continue;if(L instanceof GQ){let F=$.get(L);if(F==null)continue;if(E==null||E<F)E=F,K=L;continue}L.forEachLeafColumn((F)=>{let D=$.get(F);if(D==null)return;if(E==null||E<D)E=D,K=F})}if(K==null)return Y(U,B);return K},G=[],q=new Map;for(let U of X){let W=Y(U,null);if(W==null){G.push(U);continue}let B=q.get(W);if(B===void 0)q.set(W,U);else if(Array.isArray(B))B.push(U);else q.set(W,[B,U])}let H=Array(Q.list.length),_=H.length-1;for(let U=G.length-1;U>=0;U--)H[_--]=G[U];for(let U=J.length-1;U>=0;U--){let W=J[U],B=q.get(W);if(B)if(Array.isArray(B))for(let E=B.length-1;E>=0;E--){let K=B[E];H[_--]=K}else H[_--]=B;H[_--]=W}Q.list=H}positionLockedCols(Q){Q.list=E$(Q.list,this.gos)}saveColOrder(){if(this.showingPivotResult)this.lastPivotOrder=this.cols?.list??null;else this.lastOrder=this.cols?.list??null}getColumnDefs(Q){return this.colDefCols&&this.beans.colDefFactory?.getColumnDefs(this.colDefCols.list,this.showingPivotResult,this.lastOrder,this.cols?.list??[],Q)}setColSpanActive(){this.colSpanActive=!!this.cols?.list.some((Q)=>Q.getColDef().colSpan!=null)}isPivotMode(){return this.pivotMode}setPivotMode(Q,z){if(Q===this.pivotMode)return;if(this.pivotMode=Q,!this.ready)return;this.refreshCols(!1,z);let{visibleCols:J,eventSvc:Z}=this.beans;J.refresh(z),Z.dispatchEvent({type:"columnPivotModeChanged"})}isPivotActive(){let Q=this.beans.pivotColsSvc?.columns;return this.pivotMode&&!!Q?.length}recreateColumnDefs(Q){if(!this.cols)return;this.beans.autoColSvc?.updateColumns(Q);let z=Xz(Q.source);this.createColsFromColDefs(z)}setColumnDefs(Q,z){this.colDefs=Q,this.createColsFromColDefs(z)}destroy(){ZQ(this.beans,this.colDefCols?.tree),super.destroy()}getColTree(){return this.cols?.tree??[]}getColDefColTree(){return this.colDefCols?.tree??[]}getColDefCols(){return this.colDefCols?.list??null}getCols(){return this.cols?.list??[]}forAllCols(Q){let{pivotResultCols:z,autoColSvc:J,selectionColSvc:Z,groupHierarchyColSvc:$}=this.beans;if(I1(this.colDefCols?.list,Q))return;if(I1(J?.columns?.list,Q))return;if(I1(Z?.columns?.list,Q))return;if(I1($?.columns?.list,Q))return;if(I1(z?.getPivotResultCols()?.list,Q))return}getColsForKeys(Q){if(!Q)return[];return Q.map((z)=>this.getCol(z)).filter((z)=>z!=null)}getColDefCol(Q){if(!this.colDefCols?.list)return null;return this.getColFromCollection(Q,this.colDefCols)}getCol(Q){if(Q==null)return null;return this.getColFromCollection(Q,this.cols)}getColById(Q){return this.cols?.map[Q]??null}getColFromCollection(Q,z){if(z==null)return null;let{map:J,list:Z}=z;if(typeof Q=="string"&&J[Q])return J[Q];for(let G=0;G<Z.length;G++)if(PQ(Z[G],Q))return Z[G];let{autoColSvc:$,selectionColSvc:X,groupHierarchyColSvc:Y}=this.beans;return $?.getColumn(Q)??X?.getColumn(Q)??Y?.getColumn(Q)??null}},NU=".ag-label{white-space:nowrap}:where(.ag-ltr) .ag-label{margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-label{margin-left:var(--ag-spacing)}:where(.ag-label-align-right) .ag-label{order:1}:where(.ag-ltr) :where(.ag-label-align-right) .ag-label{margin-left:var(--ag-spacing)}:where(.ag-rtl) :where(.ag-label-align-right) .ag-label{margin-right:var(--ag-spacing)}:where(.ag-label-align-right){.ag-label,.ag-wrapper{flex:none}}.ag-label-align-top{align-items:flex-start;flex-direction:column}:where(.ag-label-align-top){.ag-label,.ag-wrapper{align-self:stretch}}.ag-label-ellipsis{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(.ag-label-align-top) .ag-label{margin-bottom:calc(var(--ag-spacing)*.5)}",gU=class extends p0{constructor(Q,z,J){super(z,J);this.labelSeparator="",this.labelAlignment="left",this.disabled=!1,this.label="",this.config=Q||{},this.registerCSS(NU)}postConstruct(){this.addCss("ag-labeled"),this.eLabel.classList.add("ag-label");let{labelSeparator:Q,label:z,labelWidth:J,labelAlignment:Z,disabled:$,labelEllipsis:X}=this.config;if($!=null)this.setDisabled($);if(Q!=null)this.setLabelSeparator(Q);if(z!=null)this.setLabel(z);if(J!=null)this.setLabelWidth(J);if(X!=null)this.setLabelEllipsis(X);this.setLabelAlignment(Z||this.labelAlignment),this.refreshLabel()}refreshLabel(){let{label:Q,eLabel:z}=this;if(z0(z),typeof Q==="string")z.innerText=Q+this.labelSeparator;else if(Q)z.appendChild(Q);if(Q==="")N(z,!1),H0(z,"presentation");else N(z,!0),H0(z,null)}setLabelSeparator(Q){if(this.labelSeparator===Q)return this;if(this.labelSeparator=Q,this.label!=null)this.refreshLabel();return this}getLabelId(){let Q=this.eLabel;return Q.id=Q.id||`ag-${this.getCompId()}-label`,Q.id}getLabel(){return this.label}setLabel(Q){if(this.label===Q)return this;return this.label=Q,this.refreshLabel(),this}setLabelAlignment(Q){let J=this.getGui().classList;return J.toggle("ag-label-align-left",Q==="left"),J.toggle("ag-label-align-right",Q==="right"),J.toggle("ag-label-align-top",Q==="top"),this}setLabelEllipsis(Q){return this.eLabel.classList.toggle("ag-label-ellipsis",Q),this}setLabelWidth(Q){if(this.label==null)return this;return m8(this.eLabel,Q),this}setDisabled(Q){Q=!!Q;let z=this.getGui();return T5(z,Q),z.classList.toggle("ag-disabled",Q),this.disabled=Q,this}isDisabled(){return!!this.disabled}},hU=class extends gU{constructor(Q,z,J,Z){super(Q,z,J);this.className=Z}postConstruct(){super.postConstruct();let{width:Q,value:z,onValueChange:J,ariaLabel:Z}=this.config;if(Q!=null)this.setWidth(Q);if(z!=null)this.setValue(z);if(J!=null)this.onValueChange(J);if(Z!=null)this.setAriaLabel(Z);if(this.className)this.addCss(this.className);this.refreshAriaLabelledBy()}setLabel(Q){return super.setLabel(Q),this.refreshAriaLabelledBy(),this}refreshAriaLabelledBy(){let Q=this.getAriaElement(),z=this.getLabelId(),J=this.getLabel();if(J==null||J==""||m4(Q)!==null)p1(Q,"");else p1(Q,z??"")}setAriaLabel(Q){return E0(this.getAriaElement(),Q),this.refreshAriaLabelledBy(),this}onValueChange(Q){return this.addManagedListeners(this,{fieldValueChanged:()=>Q(this.getValue())}),this}getWidth(){return this.getGui().clientWidth}setWidth(Q){return SQ(this.getGui(),Q),this}getPreviousValue(){return this.previousValue}getValue(){return this.value}setValue(Q,z){if(this.value===Q)return this;if(this.previousValue=this.value,this.value=Q,!z)this.dispatchLocalEvent({type:"fieldValueChanged"});return this}};function uU(Q){return{tag:"div",role:"presentation",children:[{tag:"div",ref:"eLabel",cls:"ag-input-field-label"},{tag:"div",ref:"eWrapper",cls:"ag-wrapper ag-input-wrapper",role:"presentation",children:[{tag:Q,ref:"eInput",cls:"ag-input-field-input"}]}]}}var j$=class extends hU{constructor(Q,z,J="text",Z="input"){super(Q,Q?.template??uU(Z),[],z);this.inputType=J,this.displayFieldTag=Z,this.eLabel=S,this.eWrapper=S,this.eInput=S}postConstruct(){super.postConstruct(),this.setInputType(this.inputType);let{eLabel:Q,eWrapper:z,eInput:J,className:Z}=this;Q.classList.add(`${Z}-label`),z.classList.add(`${Z}-input-wrapper`),J.classList.add(`${Z}-input`),this.addCss("ag-input-field"),J.id=J.id||`ag-${this.getCompId()}-input`;let{inputName:$,inputWidth:X,inputPlaceholder:Y,autoComplete:G,tabIndex:q}=this.config;if($!=null)this.setInputName($);if(X!=null)this.setInputWidth(X);if(Y!=null)this.setInputPlaceholder(Y);if(G!=null)this.setAutoComplete(G);this.addInputListeners(),this.activateTabIndex([J],q)}addInputListeners(){this.addManagedElementListeners(this.eInput,{input:(Q)=>this.setValue(Q.target.value)})}setInputType(Q){if(this.displayFieldTag==="input")this.inputType=Q,Pz(this.eInput,"type",Q)}getInputElement(){return this.eInput}getWrapperElement(){return this.eWrapper}setInputWidth(Q){return m8(this.eWrapper,Q),this}setInputName(Q){return this.getInputElement().setAttribute("name",Q),this}getFocusableElement(){return this.eInput}setMaxLength(Q){let z=this.eInput;return z.maxLength=Q,this}setInputPlaceholder(Q){return Pz(this.eInput,"placeholder",Q),this}setInputAriaLabel(Q){return E0(this.eInput,Q),this.refreshAriaLabelledBy(),this}setDisabled(Q){return T5(this.eInput,Q),super.setDisabled(Q)}setAutoComplete(Q){if(Q===!0)Pz(this.eInput,"autocomplete",null);else{let z=typeof Q==="string"?Q:"off";Pz(this.eInput,"autocomplete",z)}return this}},K6=class extends j${constructor(Q,z="ag-checkbox",J="checkbox"){super(Q,z,J);this.labelAlignment="right",this.selected=!1,this.readOnly=!1,this.passive=!1}postConstruct(){super.postConstruct();let{readOnly:Q,passive:z,name:J}=this.config;if(typeof Q==="boolean")this.setReadOnly(Q);if(typeof z==="boolean")this.setPassive(z);if(J!=null)this.setName(J)}addInputListeners(){this.addManagedElementListeners(this.eInput,{click:this.onCheckboxClick.bind(this)}),this.addManagedElementListeners(this.eLabel,{click:this.toggle.bind(this)})}getNextValue(){return this.selected===void 0?!0:!this.selected}setPassive(Q){this.passive=Q}isReadOnly(){return this.readOnly}setReadOnly(Q){this.eWrapper.classList.toggle("ag-disabled",Q),this.eInput.disabled=Q,this.readOnly=Q}setDisabled(Q){return this.eWrapper.classList.toggle("ag-disabled",Q),super.setDisabled(Q)}toggle(){if(this.eInput.disabled)return;let Q=this.isSelected(),z=this.getNextValue();if(this.passive)this.dispatchChange(z,Q);else this.setValue(z)}getValue(){return this.isSelected()}setValue(Q,z){return this.refreshSelectedClass(Q),this.setSelected(Q,z),this}setName(Q){let z=this.getInputElement();return z.name=Q,this}isSelected(){return this.selected}setSelected(Q,z){if(this.isSelected()===Q)return;this.previousValue=this.isSelected(),Q=this.selected=typeof Q==="boolean"?Q:void 0;let J=this.eInput;if(J.checked=Q,J.indeterminate=Q===void 0,!z)this.dispatchChange(this.selected,this.previousValue)}dispatchChange(Q,z,J){this.dispatchLocalEvent({type:"fieldValueChanged",selected:Q,previousValue:z,event:J});let Z=this.getInputElement();this.eventSvc.dispatchEvent({type:"checkboxChanged",id:Z.id,name:Z.name,selected:Q,previousValue:z})}onCheckboxClick(Q){if(this.passive||this.eInput.disabled)return;let z=this.isSelected(),J=this.selected=Q.target.checked;this.refreshSelectedClass(J),this.dispatchChange(J,z,Q)}refreshSelectedClass(Q){let z=this.eWrapper.classList;z.toggle("ag-checked",Q===!0),z.toggle("ag-indeterminate",Q==null)}},yQ={selector:"AG-CHECKBOX",component:K6},mU=".ag-checkbox-cell{height:100%}",cU={tag:"div",cls:"ag-cell-wrapper ag-checkbox-cell",role:"presentation",children:[{tag:"ag-checkbox",ref:"eCheckbox",role:"presentation"}]},pU=class extends x{constructor(){super(cU,[yQ]);this.eCheckbox=S,this.registerCSS(mU)}init(Q){this.refresh(Q);let{eCheckbox:z,beans:J}=this,Z=z.getInputElement();Z.setAttribute("tabindex","-1"),R8(Z,"polite"),this.addManagedListeners(Z,{click:($)=>{if(i0($),z.isDisabled())return;let X=z.getValue();this.onCheckboxChanged(X)},dblclick:($)=>{i0($)}}),this.addManagedElementListeners(Q.eGridCell,{keydown:($)=>{if($.key===V.SPACE&&!z.isDisabled()){if(Q.eGridCell===d(J))z.toggle();let X=z.getValue();this.onCheckboxChanged(X),$.preventDefault()}}})}refresh(Q){return this.params=Q,this.updateCheckbox(Q),!0}updateCheckbox(Q){let z,J=!0,{value:Z,column:$,node:X}=Q;if(X.group&&$)if(typeof Z==="boolean")z=Z;else{let U=$.getColId();if(U.startsWith(uz))z=Z==null||Z===""?void 0:Z==="true";else if(X.aggData&&X.aggData[U]!==void 0)z=Z??void 0;else if(X.sourceRowIndex>=0)z=Z??void 0;else J=!1}else z=Z??void 0;let{eCheckbox:Y}=this;if(!J){Y.setDisplayed(!1);return}Y.setValue(z);let G=Q.disabled??!$?.isCellEditable(X);Y.setDisabled(G);let q=this.getLocaleTextFunc(),H=O5(q,z),_=G?H:`${q("ariaToggleCellValue","Press SPACE to toggle cell value")} (${H})`;Y.setInputAriaLabel(_)}onCheckboxChanged(Q){let{params:z}=this,{column:J,node:Z,value:$}=z,{editSvc:X}=this.beans;if(!J)return;let Y={rowNode:Z,column:J};X?.dispatchCellEvent(Y,null,"cellEditingStarted",{value:$});let G=Z.setDataValue(J,Q,"ui");if(X?.dispatchCellEvent(Y,null,"cellEditingStopped",{oldValue:$,newValue:Q,valueChanged:G}),!G)this.updateCheckbox(z)}},iU={tag:"div",cls:"ag-skeleton-container"},nU=class extends x{constructor(){super(iU)}init(Q){let z=`ag-cell-skeleton-renderer-${this.getCompId()}`;if(this.getGui().setAttribute("id",z),this.addDestroyFunc(()=>p1(Q.eParentOfValue)),p1(Q.eParentOfValue,z),Q.deferRender)this.setupLoading(Q);else if(Q.node.failedLoad)this.setupFailed();else this.setupLoading(Q)}setupFailed(){let Q=this.getLocaleTextFunc();this.getGui().textContent=Q("loadingError","ERR");let z=Q("ariaSkeletonCellLoadingFailed","Row failed to load");E0(this.getGui(),z)}setupLoading(Q){let z=Z0({tag:"div",cls:"ag-skeleton-effect"}),J=Q.node.rowIndex;if(J!=null){let X=75+25*(J%2===0?Math.sin(J):Math.cos(J));z.style.width=`${X}%`}this.getGui().appendChild(z);let Z=this.getLocaleTextFunc(),$=Q.deferRender?Z("ariaDeferSkeletonCellLoading","Cell is loading"):Z("ariaSkeletonCellLoading","Row data is loading");E0(this.getGui(),$)}refresh(Q){return!1}},dU={moduleName:"CheckboxCellRenderer",version:p,userComponents:{agCheckboxCellRenderer:pU}},tU={moduleName:"SkeletonCellRenderer",version:p,userComponents:{agSkeletonCellRenderer:nU}};var rU=class extends j{constructor(){super(...arguments);this.beanName="colFlex",this.columnsHidden=!1}refreshFlexedColumns(Q={}){let z=Q.source??"flex";if(Q.viewportWidth!=null)this.flexViewportWidth=Q.viewportWidth;let J=this.flexViewportWidth,{visibleCols:Z,colDelayRenderSvc:$}=this.beans,X=Z.centerCols,Y=-1;if(Q.resizingCols){let K=new Set(Q.resizingCols);for(let L=X.length-1;L>=0;L--)if(K.has(X[L])){Y=L;break}}let G=!1,q=X.map((K,L)=>{let F=K.getFlex(),D=F!=null&&F>0&&L>Y;return G||(G=D),{col:K,isFlex:D,flex:Math.max(0,F??0),initialSize:K.getActualWidth(),min:K.getMinWidth(),max:K.getMaxWidth(),targetSize:0}});if(G)$?.hideColumns("colFlex"),this.columnsHidden=!0;else if(this.columnsHidden)this.revealColumns($);if(!J||!G)return[];let H=q.length,_=q.reduce((K,L)=>K+L.flex,0),U=J,W=(K,L)=>{K.frozenSize=L,K.col.setActualWidth(L,z),U-=L,_-=K.flex,H-=1},B=(K)=>K.frozenSize!=null;for(let K of q)if(!K.isFlex)W(K,K.initialSize);while(H>0){let K=Math.round(_<1?U*_:U),L,F=0,D=0;for(let f of q){if(B(f))continue;L=f,D+=K*(f.flex/_);let A=D-F,O=Math.round(A);f.targetSize=O,F+=O}if(L)L.targetSize+=K-F;let M=0;for(let f of q){if(B(f))continue;let A=f.targetSize,O=Math.min(Math.max(A,f.min),f.max);M+=O-A,f.violationType=O===A?void 0:O<A?"max":"min",f.targetSize=O}let k=M===0?"all":M>0?"min":"max";for(let f of q){if(B(f))continue;if(k==="all"||f.violationType===k)W(f,f.targetSize)}}if(!Q.skipSetLeft)Z.setLeftValues(z);if(Q.updateBodyWidths)Z.updateBodyWidths();let E=q.filter((K)=>K.isFlex&&!K.violationType).map((K)=>K.col);if(Q.fireResizedEvent){let K=q.filter((F)=>F.initialSize!==F.frozenSize).map((F)=>F.col),L=q.filter((F)=>F.flex).map((F)=>F.col);L1(this.eventSvc,K,!0,z,L)}return this.revealColumns($),E}revealColumns(Q){if(this.columnsHidden)Q?.revealColumns("colFlex"),this.columnsHidden=!1}initCol(Q){let{flex:z,initialFlex:J}=Q.colDef;if(z!==void 0)Q.flex=z;else if(J!==void 0)Q.flex=J}setColFlex(Q,z){Q.flex=z??null,Q.dispatchStateUpdatedEvent("flex")}},qz=(Q)=>{if(typeof Q==="bigint")return Q;let z;if(typeof Q==="number")z=Q;else if(typeof Q==="string"){if(z=Q.trim(),z==="")return null;if(z.endsWith("n"))z=z.slice(0,-1);if(!/^[+-]?\d+$/.test(z))return null}if(z==null)return null;try{return BigInt(z)}catch{return null}},L6="T",sU=new RegExp(`[${L6} ]`),lU=new RegExp(`^\\d{4}-\\d{2}-\\d{2}(${L6}\\d{2}:\\d{2}:\\d{2}\\D?)?`);function Sz(Q,z){return Q.toString().padStart(z,"0")}function x7(Q,z=!0,J=L6){if(!Q)return null;let Z=[Q.getFullYear(),Q.getMonth()+1,Q.getDate()].map(($)=>Sz($,2)).join("-");if(z)Z+=J+[Q.getHours(),Q.getMinutes(),Q.getSeconds()].map(($)=>Sz($,2)).join(":");return Z}function $1(Q,z=!0){if(!Q)return null;if(z)return[String(Q.getFullYear()),String(Q.getMonth()+1),Sz(Q.getDate(),2),Sz(Q.getHours(),2),`:${Sz(Q.getMinutes(),2)}`,`:${Sz(Q.getSeconds(),2)}`];return[Q.getFullYear(),Q.getMonth()+1,Sz(Q.getDate(),2)].map(String)}var F6=["January","February","March","April","May","June","July","August","September","October","November","December"];function sJ(Q,z=!1){return!!e1(Q,z)}function aU(Q){return sJ(Q,!0)}function e1(Q,z=!1,J){if(!Q)return null;if(!J&&!lU.test(Q))return null;let[Z,$]=Q.split(sU);if(!Z)return null;let X=Z.split("-").map((B)=>Number.parseInt(B,10));if(X.filter((B)=>!isNaN(B)).length!==3)return null;let[Y,G,q]=X,H=new Date(Y,G-1,q);if(H.getFullYear()!==Y||H.getMonth()!==G-1||H.getDate()!==q)return null;if(!$&&z)return null;if(!$||$==="00:00:00")return H;let[_,U,W]=$.split(":").map((B)=>Number.parseInt(B,10));if(_>=0&&_<24)H.setHours(_);else if(z)return null;if(U>=0&&U<60)H.setMinutes(U);else if(z)return null;if(W>=0&&W<60)H.setSeconds(W);else if(z)return null;return H}function h1(Q,z,J){if(!z||!Q)return;if(!J)return Q[z];let Z=z.split("."),$=Q;for(let X=0;X<Z.length;X++){if($==null)return;$=$[Z[X]]}return $}var oU=["dateTimeString","dateString","text","number","bigint","boolean","date"],eU=class extends j{constructor(){super(...arguments);this.beanName="dataTypeSvc",this.dataTypeDefinitions={},this.isPendingInference=!1,this.isColumnTypeOverrideInDataTypeDefinitions=!1,this.columnStateUpdatesPendingInference={},this.columnStateUpdateListenerDestroyFuncs=[],this.columnDefinitionPropsPerDataType={number(){return{cellEditor:"agNumberCellEditor"}},bigint({filterModuleBean:Q}){if(Q)return{cellEditor:"agTextCellEditor"};return{cellEditor:"agTextCellEditor",comparator:{default:ZW,absolute:$W}}},boolean(){return{cellEditor:"agCheckboxCellEditor",cellRenderer:"agCheckboxCellRenderer",getFindText:()=>null,suppressKeyboardEvent:({node:Q,event:z,column:J})=>z.key===V.SPACE&&J.isCellEditable(Q)}},date({formatValue:Q}){return{cellEditor:"agDateCellEditor",keyCreator:Q}},dateString({formatValue:Q}){return{cellEditor:"agDateStringCellEditor",keyCreator:Q}},dateTime(Q){return this.date(Q)},dateTimeString(Q){return this.dateString(Q)},object({formatValue:Q,colModel:z,colId:J}){return{cellEditorParams:{useFormatter:!0},comparator:(Z,$)=>{let X=z.getColDefCol(J),Y=X?.getColDef();if(!X||!Y)return 0;let G=Z==null?"":Q({column:X,node:null,value:Z}),q=$==null?"":Q({column:X,node:null,value:$});if(G===q)return 0;return G>q?1:-1},keyCreator:Q}},text(){return{}}}}wireBeans(Q){this.colModel=Q.colModel}postConstruct(){this.processDataTypeDefinitions(),this.addManagedPropertyListener("dataTypeDefinitions",(Q)=>{this.processDataTypeDefinitions(),this.colModel.recreateColumnDefs(Q)})}processDataTypeDefinitions(){let Q=this.getDefaultDataTypes(),z={},J={},Z=(_)=>{return(U)=>{let{column:W,node:B,value:E}=U,K=W.getColDef().valueFormatter;if(K===_.groupSafeValueFormatter)K=_.valueFormatter;return this.beans.valueSvc.formatValue(W,B,E,K)}};for(let _ of Object.keys(Q)){let U=Q[_],W={...U,groupSafeValueFormatter:g7(U,this.gos)};z[_]=W,J[_]=Z(W)}let $=this.gos.get("dataTypeDefinitions")??{},X={};for(let _ of Object.keys($)){let U=$[_],W=this.processDataTypeDefinition(U,$,[_],Q);if(W){if(z[_]=W,U.dataTypeMatcher)X[_]=U.dataTypeMatcher;J[_]=Z(W)}}let{valueParser:Y,valueFormatter:G}=Q.object,{valueParser:q,valueFormatter:H}=z.object;this.hasObjectValueParser=q!==Y,this.hasObjectValueFormatter=H!==G,this.formatValueFuncs=J,this.dataTypeDefinitions=z,this.dataTypeMatchers=this.sortKeysInMatchers(X,Q)}sortKeysInMatchers(Q,z){let J={...Q};for(let Z of oU)delete J[Z],J[Z]=Q[Z]??z[Z].dataTypeMatcher;return J}processDataTypeDefinition(Q,z,J,Z){let $,X=Q.extendsDataType;if(Q.columnTypes)this.isColumnTypeOverrideInDataTypeDefinitions=!0;if(Q.extendsDataType===Q.baseDataType){let Y=Z[X],G=z[X];if(Y&&G)Y=G;if(!N7(Q,Y,X))return;$=w7(Y,Q)}else{if(J.includes(X)){R(44);return}let Y=z[X];if(!N7(Q,Y,X))return;let G=this.processDataTypeDefinition(Y,z,[...J,X],Z);if(!G)return;$=w7(G,Q)}return{...$,groupSafeValueFormatter:g7($,this.gos)}}updateColDefAndGetColumnType(Q,z,J){let{cellDataType:Z}=z;if(Z===void 0)Z=Q.cellDataType;let{field:$}=z;if(Z==null||Z===!0)Z=this.canInferCellDataType(Q,z)?this.inferCellDataType($,J):!1;if(this.addFormulaCellEditorToColDef(Q,z),!Z){Q.cellDataType=!1;return}let X=this.dataTypeDefinitions[Z];if(!X){R(47,{cellDataType:Z});return}if(Q.cellDataType=Z,X.groupSafeValueFormatter)Q.valueFormatter=X.groupSafeValueFormatter;if(X.valueParser)Q.valueParser=X.valueParser;if(!X.suppressDefaultProperties)this.setColDefPropertiesForBaseDataType(Q,Z,X,J);return X.columnTypes}addFormulaCellEditorToColDef(Q,z){if(!(z.allowFormula??Q.allowFormula)||z.cellEditor)return;Q.cellEditor="agFormulaCellEditor"}addColumnListeners(Q){if(!this.isPendingInference)return;let z=this.columnStateUpdatesPendingInference[Q.getColId()];if(!z)return;let J=(Z)=>{z.add(Z.key)};Q.__addEventListener("columnStateUpdated",J),this.columnStateUpdateListenerDestroyFuncs.push(()=>Q.__removeEventListener("columnStateUpdated",J))}canInferCellDataType(Q,z){let{gos:J}=this;if(!o(J))return!1;let Z={cellRenderer:!0,valueGetter:!0,valueParser:!0,refData:!0};if(i2(z,Z))return!1;let $=z.type===null?Q.type:z.type;if($){let X=J.get("columnTypes")??{};if(XZ($).some((G)=>{let q=X[G.trim()];return q&&i2(q,Z)}))return!1}return!i2(Q,Z)}inferCellDataType(Q,z){if(!Q)return;let J,Z=this.getInitialData();if(Z){let X=Q.includes(".")&&!this.gos.get("suppressFieldDotNotation");J=h1(Z,Q,X)}else this.initWaitForRowData(z);if(J==null)return;return Object.keys(this.dataTypeMatchers).find((X)=>this.dataTypeMatchers[X](J))??"object"}getInitialData(){let Q=this.gos.get("rowData");if(Q?.length)return Q[0];else if(this.initialData)return this.initialData;else{let z=this.beans.rowModel.rootNode?._leafs;if(z?.length)return z[0].data}return null}initWaitForRowData(Q){if(this.columnStateUpdatesPendingInference[Q]=new Set,this.isPendingInference)return;this.isPendingInference=!0;let z=this.isColumnTypeOverrideInDataTypeDefinitions,{colAutosize:J,eventSvc:Z}=this.beans;if(z&&J)J.shouldQueueResizeOperations=!0;let[$]=this.addManagedEventListeners({rowDataUpdateStarted:(X)=>{let{firstRowData:Y}=X;if(!Y)return;if($?.(),this.isPendingInference=!1,this.processColumnsPendingInference(Y,z),this.columnStateUpdatesPendingInference={},z)J?.processResizeOperations();Z.dispatchEvent({type:"dataTypesInferred"})}})}processColumnsPendingInference(Q,z){this.initialData=Q;let J=[];this.destroyColumnStateUpdateListeners();let Z={},$={};for(let X of Object.keys(this.columnStateUpdatesPendingInference)){let Y=this.columnStateUpdatesPendingInference[X],G=this.colModel.getCol(X);if(!G)continue;let q=G.getColDef();if(!this.resetColDefIntoCol(G,"cellDataTypeInferred"))continue;let H=G.getColDef();if(z&&H.type&&H.type!==q.type){let _=XW(G,Y);if(_.rowGroup&&_.rowGroupIndex==null)Z[X]=_;if(_.pivot&&_.pivotIndex==null)$[X]=_;J.push(_)}}if(z)J.push(...this.generateColumnStateForRowGroupAndPivotIndexes(Z,$));if(J.length)n0(this.beans,{state:J},"cellDataTypeInferred");this.initialData=null}generateColumnStateForRowGroupAndPivotIndexes(Q,z){let J={},{rowGroupColsSvc:Z,pivotColsSvc:$}=this.beans;return Z?.restoreColumnOrder(J,Q),$?.restoreColumnOrder(J,z),Object.values(J)}resetColDefIntoCol(Q,z){let J=Q.getUserProvidedColDef();if(!J)return!1;let Z=uQ(this.beans,J,Q.getColId());return Q.setColDef(Z,J,z),!0}getDateStringTypeDefinition(Q){let{dateString:z}=this.dataTypeDefinitions;if(!Q)return z;return this.getDataTypeDefinition(Q)??z}getDateParserFunction(Q){return this.getDateStringTypeDefinition(Q).dateParser}getDateFormatterFunction(Q){return this.getDateStringTypeDefinition(Q).dateFormatter}getDateIncludesTimeFlag(Q){return Q==="dateTime"||Q==="dateTimeString"}getDataTypeDefinition(Q){let z=Q.getColDef();if(!z.cellDataType)return;return this.dataTypeDefinitions[z.cellDataType]}getBaseDataType(Q){return this.getDataTypeDefinition(Q)?.baseDataType}checkType(Q,z){if(z==null)return!0;let J=this.getDataTypeDefinition(Q)?.dataTypeMatcher;if(!J)return!0;if(Q.getColDef().allowFormula&&this.beans.formula?.isFormula(z))return!0;return J(z)}validateColDef(Q,z,J,Z){if(Q.cellDataType==="object"){let $=(q)=>{return q?.cellDataType==null||q?.cellDataType===!0},X=$(z)&&$(J),Y=(q)=>R(48,{property:q,inferred:X,colId:Z}),{object:G}=this.dataTypeDefinitions;if(Q.valueFormatter===G.groupSafeValueFormatter&&!this.hasObjectValueFormatter)Y("Formatter");if(Q.editable&&Q.valueParser===G.valueParser&&!this.hasObjectValueParser)Y("Parser")}}postProcess(Q){let z=Q.cellDataType;if(!z||typeof z!=="string")return;let{dataTypeDefinitions:J,beans:Z,formatValueFuncs:$}=this,X=J[z];if(!X)return;Z.colFilter?.setColDefPropsForDataType(Q,X,$[z])}getFormatValue(Q){return this.formatValueFuncs[Q]}isColPendingInference(Q){return this.isPendingInference&&!!this.columnStateUpdatesPendingInference[Q]}setColDefPropertiesForBaseDataType(Q,z,J,Z){let $=this.formatValueFuncs[z],X=this.columnDefinitionPropsPerDataType[J.baseDataType]({colDef:Q,cellDataType:z,colModel:this.colModel,dataTypeDefinition:J,colId:Z,formatValue:$,filterModuleBean:this.beans.filterManager});if(Q.cellEditor==="agFormulaCellEditor"&&X.cellEditor!==Q.cellEditor)X.cellEditor=Q.cellEditor;Object.assign(Q,X)}getDateObjectTypeDef(Q){let z=this.getLocaleTextFunc(),J=this.getDateIncludesTimeFlag(Q);return{baseDataType:Q,valueParser:(Z)=>e1(Z.newValue&&String(Z.newValue)),valueFormatter:(Z)=>{if(Z.value==null)return"";if(!(Z.value instanceof Date)||isNaN(Z.value.getTime()))return z("invalidDate","Invalid Date");return x7(Z.value,J)??""},dataTypeMatcher:(Z)=>Z instanceof Date}}getDateStringTypeDef(Q){let z=this.getDateIncludesTimeFlag(Q);return{baseDataType:Q,dateParser:(J)=>e1(J)??void 0,dateFormatter:(J)=>x7(J??null,z)??void 0,valueParser:(J)=>sJ(String(J.newValue))?J.newValue:null,valueFormatter:(J)=>sJ(String(J.value))?String(J.value):"",dataTypeMatcher:(J)=>typeof J==="string"&&sJ(J)}}getDefaultDataTypes(){let Q=this.getLocaleTextFunc();return{number:{baseDataType:"number",valueParser:(z)=>z.newValue?.trim?.()===""?null:Number(z.newValue),valueFormatter:(z)=>{if(z.value==null)return"";if(typeof z.value!=="number"||isNaN(z.value))return Q("invalidNumber","Invalid Number");return String(z.value)},dataTypeMatcher:(z)=>typeof z==="number"},bigint:{baseDataType:"bigint",valueParser:(z)=>{let{newValue:J}=z;if(J==null)return null;if(typeof J==="string"&&J.trim()==="")return null;return qz(J)},valueFormatter:(z)=>{if(z.value==null)return"";if(typeof z.value!=="bigint")return Q("invalidBigInt","Invalid BigInt");return String(z.value)},dataTypeMatcher:(z)=>typeof z==="bigint"},text:{baseDataType:"text",valueParser:(z)=>z.newValue===""?null:c1(z.newValue),dataTypeMatcher:(z)=>typeof z==="string"},boolean:{baseDataType:"boolean",valueParser:(z)=>{if(z.newValue==null)return z.newValue;return z.newValue?.trim?.()===""?null:String(z.newValue).toLowerCase()==="true"},valueFormatter:(z)=>z.value==null?"":String(z.value),dataTypeMatcher:(z)=>typeof z==="boolean"},date:this.getDateObjectTypeDef("date"),dateString:this.getDateStringTypeDef("dateString"),dateTime:this.getDateObjectTypeDef("dateTime"),dateTimeString:{...this.getDateStringTypeDef("dateTimeString"),dataTypeMatcher:(z)=>typeof z==="string"&&aU(z)},object:{baseDataType:"object",valueParser:()=>null,valueFormatter:(z)=>c1(z.value)??""}}}destroyColumnStateUpdateListeners(){for(let Q of this.columnStateUpdateListenerDestroyFuncs)Q();this.columnStateUpdateListenerDestroyFuncs=[]}destroy(){this.dataTypeDefinitions={},this.dataTypeMatchers={},this.formatValueFuncs={},this.columnStateUpdatesPendingInference={},this.destroyColumnStateUpdateListeners(),super.destroy()}};function w7(Q,z){let J={...Q,...z};if(Q.columnTypes&&z.columnTypes&&z.appendColumnTypes)J.columnTypes=[...XZ(Q.columnTypes),...XZ(z.columnTypes)];return J}function N7(Q,z,J){if(!z)return R(45,{parentCellDataType:J}),!1;if(z.baseDataType!==Q.baseDataType)return R(46),!1;return!0}var QW=(Q)=>typeof Q==="bigint"||typeof Q==="number",zW=(Q)=>Q==="number"||Q==="bigint";function g7(Q,z){if(!Q.valueFormatter)return;return(J)=>{let{node:Z,colDef:$,column:X,value:Y}=J;if(Z?.group){let G=($.pivotValueColumn??X).getAggFunc();if(G){if(G==="first"||G==="last")return Q.valueFormatter(J);let{baseDataType:q}=Q;if(zW(q)&&G!=="count"){if(QW(Y))return Q.valueFormatter(J);if(Y==null)return;if(typeof Y==="object"){if(typeof Y.toNumber==="function")return Q.valueFormatter({...J,value:Y.toNumber()});if("value"in Y)return Q.valueFormatter({...J,value:Y.value})}}return}}else if(z.get("groupHideOpenParents")&&J.column.isRowGroupActive()){if(typeof J.value==="string"&&!Q.dataTypeMatcher?.(J.value))return}return Q.valueFormatter(J)}}function JW(Q,z,J,Z){if(!z[J])return!1;let $=Q[J];if($===null)return z[J]=!1,!1;else return Z===void 0?!!$:$===Z}function ZW(Q,z){if(Q==null)return z==null?0:-1;if(z==null)return 1;let J=qz(Q),Z=qz(z);if(J!=null&&Z!=null){if(J===Z)return 0;return J>Z?1:-1}return 0}function $W(Q,z){if(Q==null)return z==null?0:-1;if(z==null)return 1;let J=h7(Q),Z=h7(z);if(J!=null&&Z!=null){if(J===Z)return 0;return J>Z?1:-1}return 0}function h7(Q){let z=qz(Q);if(z==null)return null;return z<0n?-z:z}function i2(Q,z){return[["cellRenderer","agSparklineCellRenderer"],["valueGetter",void 0],["valueParser",void 0],["refData",void 0]].some(([J,Z])=>JW(Q,z,J,Z))}function XW(Q,z){let J=A$(Q);for(let Z of z)if(delete J[Z],Z==="rowGroup")delete J.rowGroupIndex;else if(Z==="pivot")delete J.pivotIndex;return J}var YW={moduleName:"DataType",version:p,beans:[eU],dependsOn:[dU]},GW={moduleName:"ColumnFlex",version:p,beans:[rU]};var qW=class extends j{constructor(){super(...arguments);this.beanName="colNames"}getDisplayNameForColumn(Q,z,J=!1){if(!Q)return null;let Z=this.getHeaderName(Q.getColDef(),Q,null,null,z),{aggColNameSvc:$}=this.beans;if(J&&$)return $.getHeaderName(Q,Z);return Z}getDisplayNameForProvidedColumnGroup(Q,z,J){let Z=z?.getColGroupDef();if(Z)return this.getHeaderName(Z,null,Q,z,J);return null}getDisplayNameForColumnGroup(Q,z){return this.getDisplayNameForProvidedColumnGroup(Q,Q.getProvidedColumnGroup(),z)}getHeaderName(Q,z,J,Z,$){let X=Q.headerValueGetter;if(X){let Y=y(this.gos,{colDef:Q,column:z,columnGroup:J,providedColumnGroup:Z,location:$});if(typeof X==="function")return X(Y);else if(typeof X==="string")return this.beans.expressionSvc?.evaluate(X,Y)??null;return""}else if(Q.headerName!=null)return Q.headerName;else if(Q.field)return N4(Q.field);return""}},HW=class extends j{constructor(){super(...arguments);this.beanName="colViewport",this.colsWithinViewport=[],this.headerColsWithinViewport=[],this.colsWithinViewportHash="",this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.columnsToRenderLeft=[],this.columnsToRenderRight=[],this.columnsToRenderCenter=[]}wireBeans(Q){this.visibleCols=Q.visibleCols,this.colModel=Q.colModel}postConstruct(){this.suppressColumnVirtualisation=this.gos.get("suppressColumnVirtualisation")}getScrollPosition(){return this.scrollPosition}setScrollPosition(Q,z,J=!1){let{visibleCols:Z}=this,$=Z.isBodyWidthDirty;if(Q===this.scrollWidth&&z===this.scrollPosition&&!$)return;if(this.scrollWidth=Q,this.scrollPosition=z,Z.isBodyWidthDirty=!0,this.gos.get("enableRtl")){let Y=Z.bodyWidth;this.viewportLeft=Y-z-Q,this.viewportRight=Y-z}else this.viewportLeft=z,this.viewportRight=Q+z;if(this.colModel.ready)this.checkViewportColumns(J)}getColumnHeadersToRender(Q){switch(Q){case"left":return this.columnsToRenderLeft;case"right":return this.columnsToRenderRight;default:return this.columnsToRenderCenter}}getHeadersToRender(Q,z){let J;switch(Q){case"left":J=this.rowsOfHeadersToRenderLeft[z];break;case"right":J=this.rowsOfHeadersToRenderRight[z];break;default:J=this.rowsOfHeadersToRenderCenter[z];break}return J??[]}extractViewportColumns(){let Q=this.visibleCols.centerCols;if(this.isColumnVirtualisationSuppressed())this.colsWithinViewport=Q,this.headerColsWithinViewport=Q;else this.colsWithinViewport=Q.filter(this.isColumnInRowViewport.bind(this)),this.headerColsWithinViewport=Q.filter(this.isColumnInHeaderViewport.bind(this))}isColumnVirtualisationSuppressed(){return this.suppressColumnVirtualisation||this.viewportRight===0}clear(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.colsWithinViewportHash=""}isColumnInHeaderViewport(Q){if(Q.isAutoHeaderHeight()||_W(Q))return!0;return this.isColumnInRowViewport(Q)}isColumnInRowViewport(Q){if(Q.isAutoHeight())return!0;let z=Q.getLeft()||0,J=z+Q.getActualWidth(),Z=this.viewportLeft-200,$=this.viewportRight+200,X=z<Z&&J<Z,Y=z>$&&J>$;return!X&&!Y}getViewportColumns(){let{leftCols:Q,rightCols:z}=this.visibleCols;return this.colsWithinViewport.concat(Q).concat(z)}getColsWithinViewport(Q){if(!this.colModel.colSpanActive)return this.colsWithinViewport;let z=(X)=>{let Y=X.getLeft();return T(Y)&&Y>this.viewportLeft},J=this.isColumnVirtualisationSuppressed()?void 0:this.isColumnInRowViewport.bind(this),{visibleCols:Z}=this,$=Z.centerCols;return Z.getColsForRow(Q,$,J,z)}checkViewportColumns(Q=!1){if(this.extractViewport())this.eventSvc.dispatchEvent({type:"virtualColumnsChanged",afterScroll:Q})}calculateHeaderRows(){let{leftCols:Q,rightCols:z}=this.visibleCols;this.columnsToRenderLeft=Q,this.columnsToRenderRight=z,this.columnsToRenderCenter=this.colsWithinViewport;let J=(Z)=>{let $=new Set,X={};for(let Y of Z){let G=Y.getParent(),q=Y.isSpanHeaderHeight();while(G){if($.has(G))break;if(q&&G.isPadding()){G=G.getParent();continue}let _=G.getProvidedColumnGroup().getLevel();X[_]??(X[_]=[]),X[_].push(G),$.add(G),G=G.getParent()}}return X};this.rowsOfHeadersToRenderLeft=J(Q),this.rowsOfHeadersToRenderRight=J(z),this.rowsOfHeadersToRenderCenter=J(this.headerColsWithinViewport)}extractViewport(){let Q=(Z)=>`${Z.getId()}-${Z.getPinned()||"normal"}`;this.extractViewportColumns();let z=this.getViewportColumns().map(Q).join("#"),J=this.colsWithinViewportHash!==z;if(J)this.colsWithinViewportHash=z,this.calculateHeaderRows();return J}};function _W(Q){while(Q){if(Q.isAutoHeaderHeight())return!0;Q=Q.getParent()}return!1}var UW=class extends j{constructor(){super(...arguments);this.beanName="agCompUtils"}adaptFunction(Q,z){if(!Q.cellRenderer)return null;class J{refresh(){return!1}getGui(){return this.eGui}init(Z){let $=z(Z),X=typeof $;if(X==="string"||X==="number"||X==="boolean"){this.eGui=v5("<span>"+$+"</span>");return}if($==null){this.eGui=Z0({tag:"span"});return}this.eGui=$}}return J}},WW={moduleName:"CellRendererFunction",version:p,beans:[UW]},BW=class extends j0{constructor(){super(...arguments);this.beanName="registry"}registerDynamicBeans(Q){if(Q){this.dynamicBeans??(this.dynamicBeans={});for(let z of Object.keys(Q))this.dynamicBeans[z]=Q[z]}}createDynamicBean(Q,z,...J){if(!this.dynamicBeans)throw Error(this.getDynamicError(Q,!0));let Z=this.dynamicBeans[Q];if(Z==null){if(z)throw Error(this.getDynamicError(Q,!1));return}return new Z(...J)}};function EW(Q){return typeof Q==="object"&&!!Q.getComp}var KW=class extends BW{constructor(){super(...arguments);this.agGridDefaults={},this.agGridDefaultOverrides={},this.jsComps={},this.selectors={},this.icons={}}postConstruct(){let Q=this.gos.get("components");if(Q!=null)for(let z of Object.keys(Q))this.jsComps[z]=Q[z]}registerModule(Q){let{icons:z,userComponents:J,dynamicBeans:Z,selectors:$}=Q;if(J){let X=(Y,G,q,H)=>{if(this.agGridDefaults[Y]=G,q||H)this.agGridDefaultOverrides[Y]={params:q,processParams:H}};for(let Y of Object.keys(J)){let G=J[Y];if(EW(G))G=G.getComp(this.beans);if(typeof G==="object"){let{classImp:q,params:H,processParams:_}=G;X(Y,q,H,_)}else X(Y,G)}}this.registerDynamicBeans(Z);for(let X of $??[])this.selectors[X.selector]=X;if(z)for(let X of Object.keys(z))this.icons[X]=z[X]}getUserComponent(Q,z){let J=(G,q,H,_)=>({componentFromFramework:q,component:G,params:H,processParams:_}),{frameworkOverrides:Z}=this.beans,$=Z.frameworkComponent(z,this.gos.get("components"));if($!=null)return J($,!0);let X=this.jsComps[z];if(X){let G=Z.isFrameworkComponent(X);return J(X,G)}let Y=this.agGridDefaults[z];if(Y){let G=this.agGridDefaultOverrides[z];return J(Y,!1,G?.params,G?.processParams)}return this.beans.validation?.missingUserComponent(Q,z,this.agGridDefaults,this.jsComps),null}getSelector(Q){return this.selectors[Q]}getIcon(Q){return this.icons[Q]}getDynamicError(Q,z){if(z)return QQ(279,{name:Q});return this.beans.validation?.missingDynamicBean(Q)??QQ(256)}},LW=23,FW=class extends j{constructor(){super(...arguments);this.beanName="ctrlsSvc",this.params={},this.ready=!1,this.readyCallbacks=[]}postConstruct(){this.addEventListener("ready",()=>{if(this.updateReady(),this.ready){for(let Q of this.readyCallbacks)Q(this.params);this.readyCallbacks.length=0}},this.beans.frameworkOverrides.runWhenReadyAsync?.()??!1)}updateReady(){let Q=Object.values(this.params);this.ready=Q.length===LW&&Q.every((z)=>{return z?.isAlive()??!1})}whenReady(Q,z){if(this.ready)z(this.params);else this.readyCallbacks.push(z);Q.addDestroyFunc(()=>{let J=this.readyCallbacks.indexOf(z);if(J>=0)this.readyCallbacks.splice(J,1)})}register(Q,z){if(this.params[Q]=z,this.updateReady(),this.ready)this.dispatchLocalEvent({type:"ready"});z.addDestroyFunc(()=>{this.updateReady()})}get(Q){return this.params[Q]}getGridBodyCtrl(){return this.params.gridBodyCtrl}getHeaderRowContainerCtrls(){let{leftHeader:Q,centerHeader:z,rightHeader:J}=this.params;return[Q,J,z]}getHeaderRowContainerCtrl(Q){let z=this.params;switch(Q){case"left":return z.leftHeader;case"right":return z.rightHeader;default:return z.centerHeader}}getScrollFeature(){return this.getGridBodyCtrl().scrollFeature}},DW=':where([class^=ag-]),:where([class^=ag-]):after,:where([class^=ag-]):before{box-sizing:border-box}:where([class^=ag-]):where(button){color:inherit}:where([class^=ag-]):where(div,span,label):focus-visible{box-shadow:inset var(--ag-focus-shadow);outline:none;&:where(.invalid){box-shadow:inset var(--ag-focus-error-shadow)}}:where([class^=ag-]) ::-ms-clear{display:none}.ag-hidden{display:none!important}.ag-invisible{visibility:hidden!important}.ag-tab-guard{display:block;height:0;position:absolute;width:0}.ag-tab-guard-top{top:1px}.ag-tab-guard-bottom{bottom:1px}.ag-measurement-container{height:0;overflow:hidden;visibility:hidden;width:0}.ag-measurement-element-border{display:inline-block}.ag-measurement-element-border:before{border-left:var(--ag-internal-measurement-border);content:"";display:block}.ag-popup-child{top:0;z-index:5}.ag-popup-child:where(:not(.ag-tooltip-custom)){box-shadow:var(--ag-popup-shadow)}.ag-input-wrapper,.ag-picker-field-wrapper{align-items:center;display:flex;flex:1 1 auto;line-height:normal;position:relative}.ag-input-field{align-items:center;display:flex;flex-direction:row}.ag-input-field-input:where(:not([type=checkbox],[type=radio])){flex:1 1 auto;min-width:0;width:100%}.ag-chart,.ag-dnd-ghost,.ag-external,.ag-popup,.ag-root-wrapper{cursor:default;line-height:normal;white-space:normal;-webkit-font-smoothing:antialiased;background-color:var(--ag-background-color);color:var(--ag-text-color);color-scheme:var(--ag-browser-color-scheme);font-family:var(--ag-font-family);font-size:var(--ag-font-size);font-weight:var(--ag-font-weight);--ag-indentation-level:0}:where(.ag-icon):before{align-items:center;background-color:currentcolor;color:inherit;content:"";display:flex;font-family:inherit;font-size:var(--ag-icon-size);font-style:normal;font-variant:normal;height:var(--ag-icon-size);justify-content:center;line-height:var(--ag-icon-size);-webkit-mask-size:contain;mask-size:contain;text-transform:none;width:var(--ag-icon-size)}.ag-icon{background-position:50%;background-repeat:no-repeat;background-size:contain;color:var(--ag-icon-color);display:block;height:var(--ag-icon-size);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--ag-icon-size)}.ag-disabled .ag-icon,[disabled] .ag-icon{opacity:.5}.ag-icon-grip.ag-disabled,.ag-icon-grip[disabled]{opacity:.35}.ag-icon-loading{animation-duration:1s;animation-iteration-count:infinite;animation-name:spin;animation-timing-function:linear}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ag-resizer{pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}:where(.ag-resizer){&.ag-resizer-topLeft{cursor:nwse-resize;height:5px;left:0;top:0;width:5px}&.ag-resizer-top{cursor:ns-resize;height:5px;left:5px;right:5px;top:0}&.ag-resizer-topRight{cursor:nesw-resize;height:5px;right:0;top:0;width:5px}&.ag-resizer-right{bottom:5px;cursor:ew-resize;right:0;top:5px;width:5px}&.ag-resizer-bottomRight{bottom:0;cursor:nwse-resize;height:5px;right:0;width:5px}&.ag-resizer-bottom{bottom:0;cursor:ns-resize;height:5px;left:5px;right:5px}&.ag-resizer-bottomLeft{bottom:0;cursor:nesw-resize;height:5px;left:0;width:5px}&.ag-resizer-left{bottom:5px;cursor:ew-resize;left:0;top:5px;width:5px}}.ag-menu{background-color:var(--ag-menu-background-color);border:var(--ag-menu-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-menu-shadow);color:var(--ag-menu-text-color);max-height:100%;overflow-y:auto;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}',D6=typeof window!=="object"||!window?.document?.fonts?.forEach,UZ=!1,Nz=(Q,z,J,Z,$,X,Y=!1)=>{if(D6||UZ)return;let G=Q;if(Z)G=`@layer ${CSS.escape(Z).replaceAll("\\.",".")} { ${Q} }`;let q=jQ.map.get(z);if(!q)q=[],jQ.map.set(z,q);if(q.some((W)=>W.injectedCss===G))return;let H=document.createElement("style");if(X)H.setAttribute("nonce",X);H.dataset.agCss=J,H.dataset.agCssVersion=p,H.textContent=G;let _={rawCss:Q,injectedCss:G,el:H,priority:$,isParams:Y},U;for(let W of q){if(W.priority>$)break;U=W}if(U){U.el.after(H);let W=q.indexOf(U);q.splice(W+1,0,_)}else{if(z.nodeName==="STYLE")z.after(H);else z.insertBefore(H,z.querySelector(":not(title, meta)"));q.push(_)}},R$=(Q,z,J,Z)=>{Nz(DW,Q,"shared",z,0,J),Z?.forEach(($,X)=>$.forEach((Y)=>Nz(Y,Q,X,z,0,J)))},MW=(Q,z,J,Z,$,X)=>{if(D6||UZ)return;let Y=jQ.grids.get(Q);if(!Y)jQ.grids.set(Q,{styleContainer:Z,paramsCss:z});else Y.paramsCss=z;if(B5(Z),z&&J)Nz(z,Z,J,$,2,X,!0)},kW=(Q)=>{let z=jQ.grids.get(Q)?.styleContainer;if(!z)return;if(jQ.grids.delete(Q),Array.from(jQ.grids.values()).some((Z)=>Z.styleContainer===z))B5(z);else B5(z,!0),jQ.map.delete(z)},B5=(Q,z=!1)=>{let J=new Set;for(let $ of jQ.grids.values())if($.styleContainer===Q)J.add($.paramsCss);let Z=jQ.map.get(Q)??[];for(let $=Z.length-1;$>=0;$--)if(z||Z[$].isParams&&!J.has(Z[$].rawCss))Z[$].el.remove(),Z.splice($,1)},S$=()=>{let Q=globalThis.agStyleInjectionVersions??(globalThis.agStyleInjectionVersions=new Map),z=Q.get(p);if(!z)z={map:new WeakMap,grids:new Map,paramsId:0},Q.set(p,z);return z},jQ=S$(),FQ=(Q)=>{return new O$(Q)},oQ="$default",VW=0,O$=class{constructor({feature:Q,params:z,modeParams:J={},css:Z,cssImports:$}){this.feature=Q,this.css=Z,this.cssImports=$,this.modeParams={[oQ]:{...J[oQ]??{},...z??{}},...J}}use(Q,z,J){let Z=this._inject;if(Z==null){let{css:$}=this;if($){let X=`ag-theme-${this.feature??"part"}-${++VW}`;if(typeof $==="function")$=$();$=`:where(.${X}) {
${$}
}
`;for(let Y of this.cssImports??[])$=`@import url(${JSON.stringify(Y)});
${$}`;Z={css:$,class:X}}else Z=!1;this._inject=Z}if(Z&&Q)Nz(Z.css,Q,Z.class,z,1,J);return Z?Z.class:!1}},fW=(Q)=>Q.replace(/[A-Z]|\d+/g,(z)=>`-${z}`).toLowerCase(),M6=(Q)=>`--ag-${fW(Q)}`,vQ=(Q)=>`var(${M6(Q)})`,AW=(Q,z,J)=>Math.max(z,Math.min(J,Q)),jW=(Q)=>{let z=new Map;return(J)=>{let Z=J;if(!z.has(Z))z.set(Z,Q(J));return z.get(Z)}},fQ=(Q)=>({ref:"accentColor",mix:Q}),r0=(Q)=>({ref:"foregroundColor",mix:Q}),o0=(Q)=>({ref:"foregroundColor",mix:Q,onto:"backgroundColor"}),RW=(Q)=>({ref:"foregroundColor",mix:Q,onto:"headerBackgroundColor"}),x0={ref:"backgroundColor"},Tz={ref:"foregroundColor"},AQ={ref:"accentColor"},WZ={backgroundColor:"#fff",foregroundColor:"#181d1f",borderColor:r0(0.15),chromeBackgroundColor:o0(0.02),browserColorScheme:"light"},SW={...WZ,textColor:Tz,accentColor:"#2196f3",invalidColor:"#e02525",fontFamily:["-apple-system","BlinkMacSystemFont","Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue","sans-serif"],subtleTextColor:{ref:"textColor",mix:0.5},borderWidth:1,borderRadius:4,spacing:8,fontSize:14,fontWeight:"inherit",focusShadow:{spread:3,color:fQ(0.5)},focusErrorShadow:{spread:3,color:{ref:"invalidColor",onto:"backgroundColor",mix:0.5}},popupShadow:"0 0 16px #00000026",cardShadow:"0 1px 4px 1px #00000018",dropdownShadow:{ref:"cardShadow"},listItemHeight:{calc:"max(iconSize, dataFontSize) + widgetVerticalSpacing"},dragAndDropImageBackgroundColor:x0,dragAndDropImageBorder:!0,dragAndDropImageNotAllowedBorder:{color:{ref:"invalidColor",onto:"dragAndDropImageBackgroundColor",mix:0.5}},dragAndDropImageShadow:{ref:"popupShadow"},iconSize:16,iconColor:"inherit",toggleButtonWidth:28,toggleButtonHeight:18,toggleButtonOnBackgroundColor:AQ,toggleButtonOffBackgroundColor:o0(0.3),toggleButtonSwitchBackgroundColor:x0,toggleButtonSwitchInset:2,tooltipBackgroundColor:{ref:"chromeBackgroundColor"},tooltipErrorBackgroundColor:{ref:"invalidColor",onto:"backgroundColor",mix:0.1},tooltipTextColor:{ref:"textColor"},tooltipErrorTextColor:{ref:"invalidColor"},tooltipBorder:!0,tooltipErrorBorder:{color:{ref:"invalidColor",onto:"backgroundColor",mix:0.25}},panelBackgroundColor:x0,panelTitleBarHeight:{ref:"headerHeight"},panelTitleBarBackgroundColor:{ref:"headerBackgroundColor"},panelTitleBarIconColor:{ref:"headerTextColor"},panelTitleBarTextColor:{ref:"headerTextColor"},panelTitleBarFontFamily:{ref:"headerFontFamily"},panelTitleBarFontSize:{ref:"headerFontSize"},panelTitleBarFontWeight:{ref:"headerFontWeight"},panelTitleBarBorder:!0,dialogShadow:{ref:"popupShadow"},dialogBorder:{color:r0(0.2)},widgetContainerHorizontalPadding:{calc:"spacing * 1.5"},widgetContainerVerticalPadding:{calc:"spacing * 1.5"},widgetHorizontalSpacing:{calc:"spacing * 1.5"},widgetVerticalSpacing:{ref:"spacing"},dataFontSize:{ref:"fontSize"},headerBackgroundColor:{ref:"chromeBackgroundColor"},headerFontFamily:{ref:"fontFamily"},headerFontSize:{ref:"fontSize"},headerFontWeight:500,headerTextColor:{ref:"textColor"},headerHeight:{calc:"max(iconSize, dataFontSize) + spacing * 4 * headerVerticalPaddingScale"},headerVerticalPaddingScale:1,menuBorder:{color:r0(0.2)},menuBackgroundColor:o0(0.03),menuTextColor:o0(0.95),menuShadow:{ref:"popupShadow"},menuSeparatorColor:{ref:"borderColor"}},OW=["colorScheme","color","length","scale","borderStyle","border","shadow","image","fontFamily","fontWeight","duration"],PW=jW((Q)=>{return Q=Q.toLowerCase(),OW.find((z)=>Q.endsWith(z.toLowerCase()))??"length"}),pZ=(Q)=>{if(typeof Q==="object"&&Q?.ref)return vQ(Q.ref);if(typeof Q==="string")return Q;if(typeof Q==="number")return String(Q);return!1},k6=(Q)=>{if(typeof Q==="string")return Q;if(typeof Q==="object"&&Q&&"ref"in Q){let z=vQ(Q.ref);if(Q.mix==null)return z;return`color-mix(in srgb, ${Q.onto?vQ(Q.onto):"transparent"}, ${z} ${AW(Q.mix*100,0,100)}%)`}return!1},TW=pZ,X1=(Q)=>{if(typeof Q==="string")return Q;if(typeof Q==="number")return`${Q}px`;if(typeof Q==="object"&&Q&&"calc"in Q)return`calc(${Q.calc.replace(/ ?[*/+] ?/g," $& ").replace(/-?\b[a-z][a-z0-9]*\b(?![-(])/gi,(J)=>J[0]==="-"?J:" "+vQ(J)+" ")})`;if(typeof Q==="object"&&Q&&"ref"in Q)return vQ(Q.ref);return!1},vW=pZ,E5=(Q,z)=>{if(typeof Q==="string")return Q;if(Q===!0)return E5({},z);if(Q===!1)return z==="columnBorder"?E5({color:"transparent"},z):"none";if(typeof Q==="object"&&Q&&"ref"in Q)return vQ(Q.ref);return P$(Q.style??"solid")+" "+X1(Q.width??{ref:"borderWidth"})+" "+k6(Q.color??{ref:"borderColor"})},u7=(Q)=>{return[X1(Q.offsetX??0),X1(Q.offsetY??0),X1(Q.radius??0),X1(Q.spread??0),k6(Q.color??{ref:"foregroundColor"}),...Q.inset?["inset"]:[]].join(" ")},IW=(Q)=>{if(typeof Q==="string")return Q;if(Q===!1)return"none";if(typeof Q==="object"&&Q&&"ref"in Q)return vQ(Q.ref);if(Array.isArray(Q))return Q.map(u7).join(", ");return u7(Q)},P$=pZ,T$=(Q)=>{if(typeof Q==="string")return Q.includes(",")?Q:m7(Q);if(typeof Q==="object"&&Q&&"googleFont"in Q)return T$(Q.googleFont);if(typeof Q==="object"&&Q&&"ref"in Q)return vQ(Q.ref);if(Array.isArray(Q))return Q.map((z)=>{if(typeof z==="object"&&"googleFont"in z)z=z.googleFont;return m7(z)}).join(", ");return!1},m7=(Q)=>/^[\w-]+$|\w\(/.test(Q)?Q:JSON.stringify(Q),CW=pZ,v$=(Q)=>{if(typeof Q==="string")return Q;if(typeof Q==="object"&&Q&&"url"in Q)return`url(${JSON.stringify(Q.url)})`;if(typeof Q==="object"&&Q&&"svg"in Q)return v$({url:`data:image/svg+xml,${encodeURIComponent(Q.svg)}`});if(typeof Q==="object"&&Q&&"ref"in Q)return vQ(Q.ref);return!1},bW=(Q,z,J)=>{if(typeof Q==="string")return Q;if(typeof Q==="number"){if(Q>=10)J?.warn(104,{value:Q,param:z});return`${Q}s`}if(typeof Q==="object"&&Q&&"ref"in Q)return vQ(Q.ref);return!1},yW={color:k6,colorScheme:TW,length:X1,scale:vW,border:E5,borderStyle:P$,shadow:IW,image:v$,fontFamily:T$,fontWeight:CW,duration:bW},xW=(Q,z,J)=>{let Z=PW(Q);return yW[Z](z,Q,J)};var wW=(Q,z)=>new I$({themeLogger:Q,overridePrefix:z}),I$=class Q{constructor(z,J=[]){this.params=z,this.parts=J}withPart(z){if(typeof z==="function")z=z();if(!(z instanceof O$))return this.params.themeLogger.preInitErr(259,"Invalid part",{part:z}),this;return new Q(this.params,[...this.parts,z])}withoutPart(z){return this.withPart(FQ({feature:z}))}withParams(z,J=oQ){return this.withPart(FQ({modeParams:{[J]:z}}))}_startUse({styleContainer:z,cssLayer:J,nonce:Z,loadThemeGoogleFonts:$,moduleCss:X}){if(D6)return;if(UZ)return;gW(),R$(z,J,Z,X);let Y=NW(this);if(Y.length>0){for(let G of Y)if($)hW(G,Z)}for(let G of this.parts)G.use(z,J,Z)}_getCssClass(){if(UZ)return"ag-theme-quartz";return this._cssClassCache??(this._cssClassCache=c7(this.parts).map((z)=>z.use(void 0,void 0,void 0)).filter(Boolean).concat(this._getParamsClassName()).join(" "))}_getParamsClassName(){return this._paramsClassName??(this._paramsClassName=`ag-theme-params-${++S$().paramsId}`)}_getModeParams(){let z=this._paramsCache;if(!z){let J={[oQ]:{...SW}};for(let Z of c7(this.parts))for(let $ of Object.keys(Z.modeParams)){let X=Z.modeParams[$];if(X){let Y=J[$]??(J[$]={}),G=new Set;for(let q of Object.keys(X)){let H=X[q];if(H!==void 0)Y[q]=H,G.add(q)}if($===oQ)for(let q of Object.keys(J)){let H=J[q];if(q!==oQ)for(let _ of G)delete H[_]}}}this._paramsCache=z=J}return z}_getParamsCss(){if(!this._paramsCssCache){let z="",J="",Z=this._getModeParams(),{overridePrefix:$,themeLogger:X}=this.params,Y=$?`--ag-${$}-`:void 0;for(let H of Object.keys(Z)){let _=Z[H];if(H!==oQ){let W=`:where([data-ag-theme-mode="${typeof CSS==="object"?CSS.escape(H):H}"]) & {
`;z+=W,J+=W}for(let U of Object.keys(_).sort()){let W=_[U],B=xW(U,W,X);if(B===!1)X.error(107,{key:U,value:W});else{let E=M6(U),K=Y?E.replace("--ag-",Y):E,L=E.replace("--ag-","--ag-inherited-");z+=` ${E}: var(${L}, ${B});
`,J+=` ${L}: var(${K});
`}}if(H!==oQ)z+=`}
`,J+=`}
`}let G=`:where(.${this._getParamsClassName()})`,q=`${G} {
${z}}
`;q+=`:has(> ${G}):not(${G}) {
${J}}
`,this._paramsCssCache=q}return this._paramsCssCache}},c7=(Q)=>{let z=new Map;for(let Z of Q)z.set(Z.feature,Z);let J=[];for(let Z of Q)if(!Z.feature||z.get(Z.feature)===Z)J.push(Z);return J},NW=(Q)=>{let z=new Set,J=(X)=>{if(Array.isArray(X))X.forEach(J);else{let Y=X?.googleFont;if(typeof Y==="string")z.add(Y)}};return Object.values(Q._getModeParams()).flatMap((X)=>Object.values(X)).forEach(J),Array.from(z).sort()},p7=!1,gW=()=>{if(p7)return;p7=!0;for(let Q of Array.from(document.head.querySelectorAll('style[data-ag-scope="legacy"]')))Q.remove()},hW=async(Q,z)=>{let J=`@import url('https://${uW}/css2?family=${encodeURIComponent(Q)}:wght@100;200;300;400;500;600;700;800;900&display=swap');
`;Nz(J,document.head,`googleFont:${Q}`,void 0,0,z)},uW="fonts.googleapis.com",i7={changeKey:"listItemHeight",type:"length",defaultValue:24},mW=class extends j0{constructor(){super(...arguments);this.beanName="environment",this.sizeEls=new Map,this.lastKnownValues=new Map,this.sizesMeasured=!1,this.globalCSS=[]}wireBeans(Q){this.eRootDiv=Q.eRootDiv}postConstruct(){let{gos:Q,eRootDiv:z}=this;Q.setInstanceDomData(z);let J=Q.get("themeStyleContainer"),Z=typeof ShadowRoot<"u",$=Z&&z.getRootNode()instanceof ShadowRoot;if(this.eStyleContainer=(typeof J==="function"?J():J)??($?z:document.head),!J&&!$&&Z)cW(z,this.shadowRootError.bind(this),this.addDestroyFunc.bind(this));this.cssLayer=Q.get("themeCssLayer"),this.styleNonce=Q.get("styleNonce"),this.addManagedPropertyListener("theme",()=>this.handleThemeChange()),this.handleThemeChange(),this.getSizeEl(i7),this.initVariables(),this.addDestroyFunc(()=>kW(this)),this.mutationObserver=new MutationObserver(()=>{this.fireStylesChangedEvent("theme")}),this.addDestroyFunc(()=>this.mutationObserver.disconnect())}applyThemeClasses(Q,z=[]){let{theme:J}=this,Z=J?J._getCssClass():this.applyLegacyThemeClasses();for(let $ of Array.from(Q.classList))if($.startsWith("ag-theme-"))Q.classList.remove($);if(Z){let $=Q.className;Q.className=`${$}${$?" ":""}${Z}${z?.length?" "+z.join(" "):""}`}}applyLegacyThemeClasses(){let Q="";this.mutationObserver.disconnect();let z=this.eRootDiv;while(z){let J=!1;for(let Z of Array.from(z.classList))if(Z.startsWith("ag-theme-"))J=!0,Q=Q?`${Q} ${Z}`:Z;if(J)this.mutationObserver.observe(z,{attributes:!0,attributeFilter:["class"]});z=z.parentElement}return Q}addGlobalCSS(Q,z){if(this.theme)Nz(Q,this.eStyleContainer,z,this.cssLayer,0,this.styleNonce);else this.globalCSS.push([Q,z])}getDefaultListItemHeight(){return this.getCSSVariablePixelValue(i7)}getCSSVariablePixelValue(Q){let z=this.lastKnownValues.get(Q);if(z!=null)return z;let J=this.measureSizeEl(Q);if(J==="detached"||J==="no-styles"){if(Q.cacheDefault)this.lastKnownValues.set(Q,Q.defaultValue);return Q.defaultValue}return this.lastKnownValues.set(Q,J),J}measureSizeEl(Q){let z=this.getSizeEl(Q);if(z.offsetParent==null)return"detached";let J=z.offsetWidth;if(J===n2)return"no-styles";return this.sizesMeasured=!0,J}getMeasurementContainer(){let Q=this.eMeasurementContainer;if(!Q)Q=this.eMeasurementContainer=K0({tag:"div",cls:"ag-measurement-container"}),this.eRootDiv.appendChild(Q);return Q}getSizeEl(Q){let z=this.sizeEls.get(Q);if(z)return z;let J=this.getMeasurementContainer();z=K0({tag:"div"});let Z=this.setSizeElStyles(z,Q);J.appendChild(z),this.sizeEls.set(Q,z);let{type:$,noWarn:X}=Q;if($!=="length"&&$!=="border")return z;let Y=this.measureSizeEl(Q);if(Y==="no-styles"&&!X)this.varError(Z,Q.defaultValue);let G=DQ(this.beans,z,()=>{let q=this.measureSizeEl(Q);if(q==="detached"||q==="no-styles")return;if(this.lastKnownValues.set(Q,q),q!==Y)Y=q,this.fireStylesChangedEvent(Q.changeKey)});return this.addDestroyFunc(()=>G()),z}setSizeElStyles(Q,z){let{changeKey:J,type:Z}=z,$=M6(J);if(Z==="border"){if($.endsWith("-width"))$=$.slice(0,-6);Q.className="ag-measurement-element-border",Q.style.setProperty("--ag-internal-measurement-border",`var(${$}, solid ${n2}px)`)}else Q.style.width=`var(${$}, ${n2}px)`;return $}handleThemeChange(){let{gos:Q,theme:z}=this,J=Q.get("theme"),Z;if(J==="legacy")Z=void 0;else{let $=J??this.getDefaultTheme();if($ instanceof I$)Z=$;else this.themeError($)}if(Z!==z)this.handleNewTheme(Z);this.postProcessThemeChange(Z,J)}handleNewTheme(Q){let{gos:z,eRootDiv:J,globalCSS:Z}=this,$=this.getAdditionalCss();if(Q){R$(this.eStyleContainer,this.cssLayer,this.styleNonce,$);for(let[X,Y]of Z)Nz(X,this.eStyleContainer,Y,this.cssLayer,0,this.styleNonce);Z.length=0}this.theme=Q,Q?._startUse({loadThemeGoogleFonts:z.get("loadThemeGoogleFonts"),styleContainer:this.eStyleContainer,cssLayer:this.cssLayer,nonce:this.styleNonce,moduleCss:$}),MW(this,Q?._getParamsCss()??null,Q?._getParamsClassName()??null,this.eStyleContainer,this.cssLayer,this.styleNonce),this.applyThemeClasses(J),this.fireStylesChangedEvent("theme")}fireStylesChangedEvent(Q){this.eventSvc.dispatchEvent({type:"stylesChanged",[`${Q}Changed`]:!0})}},n2=15538,cW=(Q,z,J)=>{let Z=60,$=setInterval(()=>{if(typeof ShadowRoot<"u"&&Q.getRootNode()instanceof ShadowRoot)z(),clearInterval($);if(Q.isConnected||--Z<0)clearInterval($)},1000);J(()=>clearInterval($))},pW=".ag-aria-description-container{border:0;z-index:9999;clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ag-unselectable{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ag-selectable{-webkit-user-select:text;-moz-user-select:text;user-select:text}.ag-shake-left-to-right{animation-direction:alternate;animation-duration:.2s;animation-iteration-count:infinite;animation-name:ag-shake-left-to-right}@keyframes ag-shake-left-to-right{0%{padding-left:6px;padding-right:2px}to{padding-left:2px;padding-right:6px}}.ag-body-horizontal-scroll-viewport,.ag-body-vertical-scroll-viewport,.ag-body-viewport,.ag-center-cols-viewport,.ag-floating-bottom-viewport,.ag-floating-top-viewport,.ag-header-viewport,.ag-sticky-bottom-viewport,.ag-sticky-top-viewport{flex:1 1 auto;height:100%;min-width:0;overflow:hidden;position:relative}.ag-viewport{position:relative}.ag-spanning-container{position:absolute;top:0;z-index:1}.ag-body-viewport,.ag-center-cols-viewport,.ag-floating-bottom-viewport,.ag-floating-top-viewport,.ag-header-viewport,.ag-sticky-bottom-viewport,.ag-sticky-top-viewport{overflow-x:auto;-ms-overflow-style:none!important;scrollbar-width:none!important}.ag-body-viewport::-webkit-scrollbar,.ag-center-cols-viewport::-webkit-scrollbar,.ag-floating-bottom-viewport::-webkit-scrollbar,.ag-floating-top-viewport::-webkit-scrollbar,.ag-header-viewport::-webkit-scrollbar,.ag-sticky-bottom-viewport::-webkit-scrollbar,.ag-sticky-top-viewport::-webkit-scrollbar{display:none!important}.ag-body-viewport{display:flex;overflow-x:hidden;&:where(.ag-layout-normal){overflow-y:auto;-webkit-overflow-scrolling:touch}}.ag-floating-bottom-container,.ag-floating-top-container,.ag-sticky-bottom-container,.ag-sticky-top-container{min-height:1px}.ag-center-cols-viewport{min-height:100%;width:100%}.ag-body-horizontal-scroll-viewport{overflow-x:scroll}.ag-body-vertical-scroll-viewport{overflow-y:scroll}.ag-body-container,.ag-body-horizontal-scroll-container,.ag-body-vertical-scroll-container,.ag-center-cols-container,.ag-floating-bottom-container,.ag-floating-bottom-full-width-container,.ag-floating-top-container,.ag-full-width-container,.ag-header-container,.ag-pinned-left-cols-container,.ag-pinned-left-sticky-bottom,.ag-pinned-right-cols-container,.ag-pinned-right-sticky-bottom,.ag-sticky-bottom-container,.ag-sticky-top-container{position:relative}.ag-floating-bottom-container,.ag-floating-top-container,.ag-header-container,.ag-pinned-left-floating-bottom,.ag-pinned-left-floating-top,.ag-pinned-right-floating-bottom,.ag-pinned-right-floating-top,.ag-sticky-bottom-container,.ag-sticky-top-container{height:100%;white-space:nowrap}.ag-center-cols-container,.ag-pinned-right-cols-container{display:block}.ag-body-horizontal-scroll-container{height:100%}.ag-body-vertical-scroll-container{width:100%}.ag-floating-bottom-full-width-container,.ag-floating-top-full-width-container,.ag-full-width-container,.ag-sticky-bottom-full-width-container,.ag-sticky-top-full-width-container{pointer-events:none;position:absolute;top:0}:where(.ag-ltr) .ag-floating-bottom-full-width-container,:where(.ag-ltr) .ag-floating-top-full-width-container,:where(.ag-ltr) .ag-full-width-container,:where(.ag-ltr) .ag-sticky-bottom-full-width-container,:where(.ag-ltr) .ag-sticky-top-full-width-container{left:0}:where(.ag-rtl) .ag-floating-bottom-full-width-container,:where(.ag-rtl) .ag-floating-top-full-width-container,:where(.ag-rtl) .ag-full-width-container,:where(.ag-rtl) .ag-sticky-bottom-full-width-container,:where(.ag-rtl) .ag-sticky-top-full-width-container{right:0}.ag-full-width-container{width:100%}.ag-floating-bottom-full-width-container,.ag-floating-top-full-width-container{display:inline-block;height:100%;overflow:hidden;width:100%}.ag-body{display:flex;flex:1 1 auto;flex-direction:row!important;min-height:0;position:relative}.ag-body-horizontal-scroll,.ag-body-vertical-scroll{display:flex;min-height:0;min-width:0;position:relative;&:where(.ag-scrollbar-invisible){bottom:0;position:absolute;&:where(.ag-apple-scrollbar){opacity:0;transition:opacity .4s;visibility:hidden;&:where(.ag-scrollbar-active),&:where(.ag-scrollbar-scrolling){opacity:1;visibility:visible}}}}.ag-body-horizontal-scroll{width:100%;&:where(.ag-scrollbar-invisible){left:0;right:0}}.ag-body-vertical-scroll{height:100%;&:where(.ag-scrollbar-invisible){top:0;z-index:10}}:where(.ag-ltr) .ag-body-vertical-scroll{&:where(.ag-scrollbar-invisible){right:0}}:where(.ag-rtl) .ag-body-vertical-scroll{&:where(.ag-scrollbar-invisible){left:0}}.ag-force-vertical-scroll{overflow-y:scroll!important}.ag-horizontal-left-spacer,.ag-horizontal-right-spacer{height:100%;min-width:0;overflow-x:scroll;&:where(.ag-scroller-corner){overflow-x:hidden}}:where(.ag-row-animation) .ag-row{transition:transform .4s,top .4s,opacity .2s;&:where(.ag-after-created){transition:transform .4s,top .4s,height .4s,opacity .2s}}:where(.ag-row-animation.ag-prevent-animation) .ag-row{transition:none!important;&:where(.ag-row.ag-after-created){transition:none!important}}:where(.ag-row-no-animation) .ag-row{transition:none}.ag-row-loading{align-items:center;display:flex}.ag-row-position-absolute{position:absolute}.ag-row-position-relative{position:relative}.ag-full-width-row{overflow:hidden;pointer-events:all}.ag-row-inline-editing{z-index:1}.ag-row-dragging{z-index:2}.ag-stub-cell{align-items:center;display:flex}.ag-cell{display:inline-block;height:100%;position:absolute;white-space:nowrap;&:focus-visible{box-shadow:none}}.ag-cell-value{flex:1 1 auto}.ag-cell-value:not(.ag-allow-overflow),.ag-group-value{overflow:hidden;text-overflow:ellipsis}.ag-cell-wrap-text{white-space:normal;word-break:break-word}:where(.ag-cell) .ag-icon{display:inline-block;vertical-align:middle}.ag-floating-top{display:flex;overflow:hidden;position:relative;white-space:nowrap;width:100%}:where(.ag-floating-top:not(.ag-invisible)){border-bottom:var(--ag-pinned-row-border)}.ag-floating-bottom{display:flex;overflow:hidden;position:relative;white-space:nowrap;width:100%}:where(.ag-floating-bottom:not(.ag-invisible)){border-top:var(--ag-pinned-row-border)}.ag-sticky-bottom,.ag-sticky-top{background-color:var(--ag-data-background-color);display:flex;height:0;overflow:hidden;position:absolute;width:100%;z-index:1}.ag-sticky-bottom{box-sizing:content-box!important;:where(.ag-pinned-left-sticky-bottom),:where(.ag-pinned-right-sticky-bottom),:where(.ag-sticky-bottom-container){border-top:var(--ag-row-border);box-sizing:border-box}}.ag-opacity-zero{opacity:0!important}.ag-cell-label-container{align-items:center;display:flex;flex-direction:row-reverse;height:100%;justify-content:space-between;width:100%}:where(.ag-right-aligned-header){.ag-cell-label-container{flex-direction:row}.ag-header-cell-text{text-align:end}}.ag-column-group-icons{display:block;:where(.ag-column-group-closed-icon),:where(.ag-column-group-opened-icon){cursor:pointer}}:where(.ag-ltr){direction:ltr;.ag-body,.ag-body-horizontal-scroll,.ag-body-viewport,.ag-floating-bottom,.ag-floating-top,.ag-header,.ag-sticky-bottom,.ag-sticky-top{flex-direction:row}}:where(.ag-rtl){direction:rtl;text-align:right;.ag-body,.ag-body-horizontal-scroll,.ag-body-viewport,.ag-floating-bottom,.ag-floating-top,.ag-header,.ag-sticky-bottom,.ag-sticky-top{flex-direction:row-reverse}.ag-icon-contracted,.ag-icon-expanded,.ag-icon-tree-closed{display:block}}:where(.ag-rtl){.ag-icon-contracted,.ag-icon-expanded,.ag-icon-tree-closed{transform:rotate(180deg)}}:where(.ag-rtl){.ag-icon-contracted,.ag-icon-expanded,.ag-icon-tree-closed{transform:rotate(-180deg)}}:where(.ag-ltr) .ag-row:not(.ag-row-level-0) .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}:where(.ag-rtl) .ag-row:not(.ag-row-level-0) .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}:where(.ag-ltr) .ag-row-group-leaf-indent{margin-left:calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size))}:where(.ag-rtl) .ag-row-group-leaf-indent{margin-right:calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size))}.ag-value-change-delta{padding:0 2px}.ag-value-change-delta-up{color:var(--ag-value-change-delta-up-color)}.ag-value-change-delta-down{color:var(--ag-value-change-delta-down-color)}.ag-value-change-value{background-color:transparent;border-radius:1px;padding-left:1px;padding-right:1px;transition:background-color 1s}.ag-value-change-value-highlight{background-color:var(--ag-value-change-value-highlight-background-color);transition:background-color .1s}.ag-cell-data-changed{background-color:var(--ag-value-change-value-highlight-background-color)!important}.ag-cell-data-changed-animation{background-color:transparent}.ag-cell-highlight{background-color:var(--ag-range-selection-highlight-color)!important}.ag-row,.ag-spanned-row{color:var(--ag-cell-text-color);font-family:var(--ag-cell-font-family);font-size:var(--ag-cell-font-size);font-weight:var(--ag-cell-font-weight);white-space:nowrap;--ag-internal-content-line-height:calc(min(var(--ag-row-height), var(--ag-line-height, 1000px)) - var(--ag-internal-row-border-width, 1px) - 2px)}.ag-row{background-color:var(--ag-data-background-color);border-bottom:var(--ag-row-border);height:var(--ag-row-height);width:100%;&.ag-row-editing-invalid{background-color:var(--ag-full-row-edit-invalid-background-color)}}:where(.ag-body-vertical-content-no-gap>div>div>div,.ag-body-vertical-content-no-gap>div>div>div>div)>.ag-row-last{border-bottom-color:transparent}.ag-group-contracted,.ag-group-expanded{cursor:pointer}.ag-cell,.ag-full-width-row .ag-cell-wrapper.ag-row-group{border:1px solid transparent;line-height:var(--ag-internal-content-line-height);-webkit-font-smoothing:subpixel-antialiased}:where(.ag-ltr) .ag-cell{border-right:var(--ag-column-border)}:where(.ag-rtl) .ag-cell{border-left:var(--ag-column-border)}.ag-spanned-cell-wrapper{background-color:var(--ag-data-background-color);position:absolute}.ag-spanned-cell-wrapper>.ag-spanned-cell{display:block;position:relative}:where(.ag-ltr) :where(.ag-body-horizontal-content-no-gap) .ag-column-last{border-right-color:transparent}:where(.ag-rtl) :where(.ag-body-horizontal-content-no-gap) .ag-column-last{border-left-color:transparent}.ag-cell-wrapper{align-items:center;display:flex;>:where(:not(.ag-cell-value,.ag-group-value)){align-items:center;display:flex;height:var(--ag-internal-content-line-height)}&:where(.ag-row-group){align-items:flex-start}:where(.ag-full-width-row) &:where(.ag-row-group){align-items:center;height:100%}}:where(.ag-ltr) .ag-cell-wrapper{padding-left:calc(var(--ag-indentation-level)*var(--ag-row-group-indent-size))}:where(.ag-rtl) .ag-cell-wrapper{padding-right:calc(var(--ag-indentation-level)*var(--ag-row-group-indent-size))}:where(.ag-cell-wrap-text:not(.ag-cell-auto-height)) .ag-cell-wrapper{align-items:normal;height:100%;:where(.ag-cell-value){height:100%}}:where(.ag-ltr) .ag-row>.ag-cell-wrapper.ag-row-group{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size)*var(--ag-indentation-level))}:where(.ag-rtl) .ag-row>.ag-cell-wrapper.ag-row-group{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size)*var(--ag-indentation-level))}.ag-cell-focus:not(.ag-cell-range-selected):focus-within,.ag-cell-range-single-cell,.ag-cell-range-single-cell.ag-cell-range-handle,.ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),.ag-context-menu-open .ag-full-width-row.ag-row-focus .ag-cell-wrapper.ag-row-group,.ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group{border:1px solid;border-color:var(--ag-range-selection-border-color);border-style:var(--ag-range-selection-border-style);outline:initial}.ag-full-width-row.ag-row-focus:focus{box-shadow:none}:where(.ag-ltr) .ag-group-contracted,:where(.ag-ltr) .ag-group-expanded,:where(.ag-ltr) .ag-row-drag,:where(.ag-ltr) .ag-selection-checkbox{margin-right:var(--ag-cell-widget-spacing)}:where(.ag-rtl) .ag-group-contracted,:where(.ag-rtl) .ag-group-expanded,:where(.ag-rtl) .ag-row-drag,:where(.ag-rtl) .ag-selection-checkbox{margin-left:var(--ag-cell-widget-spacing)}.ag-drag-handle-disabled{opacity:.35;pointer-events:none}:where(.ag-ltr) .ag-group-child-count{margin-left:3px}:where(.ag-rtl) .ag-group-child-count{margin-right:3px}.ag-row-highlight-above:after,.ag-row-highlight-below:after,.ag-row-highlight-inside:after{background-color:var(--ag-row-drag-indicator-color);border-radius:calc(var(--ag-row-drag-indicator-width)/2);content:\"\";height:var(--ag-row-drag-indicator-width);pointer-events:none;position:absolute;width:calc(100% - 1px)}:where(.ag-ltr) .ag-row-highlight-above:after,:where(.ag-ltr) .ag-row-highlight-below:after,:where(.ag-ltr) .ag-row-highlight-inside:after{left:1px}:where(.ag-rtl) .ag-row-highlight-above:after,:where(.ag-rtl) .ag-row-highlight-below:after,:where(.ag-rtl) .ag-row-highlight-inside:after{right:1px}.ag-row-highlight-above:after{top:0}.ag-row-highlight-below:after{bottom:0}.ag-row-highlight-indent:after{display:block;width:auto}:where(.ag-ltr) .ag-row-highlight-indent:after{left:calc((var(--ag-cell-widget-spacing) + var(--ag-icon-size))*2 + var(--ag-cell-horizontal-padding) + var(--ag-row-highlight-level)*var(--ag-row-group-indent-size));right:1px}:where(.ag-rtl) .ag-row-highlight-indent:after{left:1px;right:calc((var(--ag-cell-widget-spacing) + var(--ag-icon-size))*2 + var(--ag-cell-horizontal-padding) + var(--ag-row-highlight-level)*var(--ag-row-group-indent-size))}.ag-row-highlight-inside:after{background-color:var(--ag-selected-row-background-color);border:1px solid var(--ag-range-selection-border-color);display:block;height:auto;inset:0;width:auto}.ag-body,.ag-floating-bottom,.ag-floating-top{background-color:var(--ag-data-background-color)}.ag-row-odd{background-color:var(--ag-odd-row-background-color)}.ag-row-selected:before{background-color:var(--ag-selected-row-background-color);content:\"\";display:block;inset:0;pointer-events:none;position:absolute}.ag-row-hover.ag-full-width-row.ag-row-group:before,.ag-row-hover:not(.ag-full-width-row):before{background-color:var(--ag-row-hover-color);content:\"\";display:block;inset:0;pointer-events:none;position:absolute}.ag-row-hover.ag-row-selected:before{background-color:var(--ag-row-hover-color);background-image:linear-gradient(var(--ag-selected-row-background-color),var(--ag-selected-row-background-color))}.ag-row.ag-full-width-row.ag-row-group>*{position:relative}.ag-column-hover{background-color:var(--ag-column-hover-color)}.ag-header-range-highlight{background-color:var(--ag-range-header-highlight-color)}.ag-right-aligned-cell{font-variant-numeric:tabular-nums}:where(.ag-ltr) .ag-right-aligned-cell{text-align:right}:where(.ag-rtl) .ag-right-aligned-cell{text-align:left}.ag-right-aligned-cell .ag-cell-value,.ag-right-aligned-cell .ag-group-value{margin-left:auto}:where(.ag-ltr) .ag-cell:not(.ag-cell-inline-editing),:where(.ag-ltr) .ag-full-width-row .ag-cell-wrapper.ag-row-group{padding-left:calc(var(--ag-cell-horizontal-padding) - 1px + var(--ag-row-group-indent-size)*var(--ag-indentation-level));padding-right:calc(var(--ag-cell-horizontal-padding) - 1px)}:where(.ag-rtl) .ag-cell:not(.ag-cell-inline-editing),:where(.ag-rtl) .ag-full-width-row .ag-cell-wrapper.ag-row-group{padding-left:calc(var(--ag-cell-horizontal-padding) - 1px);padding-right:calc(var(--ag-cell-horizontal-padding) - 1px + var(--ag-row-group-indent-size)*var(--ag-indentation-level))}.ag-row>.ag-cell-wrapper{padding-left:calc(var(--ag-cell-horizontal-padding) - 1px);padding-right:calc(var(--ag-cell-horizontal-padding) - 1px)}.ag-row-dragging{cursor:move;opacity:.5}.ag-details-row{background-color:var(--ag-data-background-color);padding:calc(var(--ag-spacing)*3.75)}.ag-layout-auto-height,.ag-layout-print{.ag-center-cols-container,.ag-center-cols-viewport{min-height:150px}}.ag-overlay-exporting-wrapper,.ag-overlay-loading-wrapper,.ag-overlay-modal-wrapper{background-color:var(--ag-modal-overlay-background-color)}.ag-skeleton-container{align-content:center;height:100%;width:100%}.ag-skeleton-effect{animation:ag-skeleton-loading 1.5s ease-in-out .5s infinite;background-color:var(--ag-row-loading-skeleton-effect-color);border-radius:.25rem;height:1em;width:100%}:where(.ag-ltr) .ag-right-aligned-cell .ag-skeleton-effect{margin-left:auto}:where(.ag-rtl) .ag-right-aligned-cell .ag-skeleton-effect{margin-right:auto}@keyframes ag-skeleton-loading{0%{background-color:var(--ag-row-loading-skeleton-effect-color)}50%{background-color:color-mix(in srgb,transparent,var(--ag-row-loading-skeleton-effect-color) 40%)}to{background-color:var(--ag-row-loading-skeleton-effect-color)}}.ag-loading{align-items:center;display:flex;height:100%}:where(.ag-ltr) .ag-loading{padding-left:var(--ag-cell-horizontal-padding)}:where(.ag-rtl) .ag-loading{padding-right:var(--ag-cell-horizontal-padding)}:where(.ag-ltr) .ag-loading-icon{padding-right:var(--ag-cell-widget-spacing)}:where(.ag-rtl) .ag-loading-icon{padding-left:var(--ag-cell-widget-spacing)}.ag-header{background-color:var(--ag-header-background-color);border-bottom:var(--ag-header-row-border);color:var(--ag-header-text-color);display:flex;font-family:var(--ag-header-font-family);font-size:var(--ag-header-font-size);font-weight:var(--ag-header-font-weight);overflow:hidden;white-space:nowrap;width:100%}.ag-header-row{height:var(--ag-header-height);position:absolute}.ag-floating-filter-button-button,.ag-header-cell-filter-button,.ag-header-cell-menu-button,.ag-header-expand-icon,.ag-panel-title-bar-button,:where(.ag-header-cell-sortable) .ag-header-cell-label,:where(.ag-header-group-cell-selectable) .ag-header-cell-comp-wrapper{cursor:pointer}:where(.ag-ltr) .ag-header-expand-icon{margin-left:4px}:where(.ag-rtl) .ag-header-expand-icon{margin-right:4px}.ag-header-row:where(:not(:first-child)){:where(.ag-header-cell:not(.ag-header-span-height.ag-header-span-total,.ag-header-parent-hidden)),:where(.ag-header-group-cell.ag-header-group-cell-with-group){border-top:var(--ag-header-row-border)}}.ag-header-row:where(:not(.ag-header-row-column-group)){overflow:hidden}:where(.ag-header.ag-header-allow-overflow) .ag-header-row{overflow:visible}.ag-header-cell{display:inline-flex;overflow:hidden}.ag-header-group-cell{contain:paint;display:flex}.ag-header-cell,.ag-header-group-cell{align-items:center;gap:var(--ag-cell-widget-spacing);height:100%;padding:0 var(--ag-cell-horizontal-padding);position:absolute}@property --ag-internal-moving-color{syntax:\"<color>\";inherits:false;initial-value:transparent}@property --ag-internal-hover-color{syntax:\"<color>\";inherits:false;initial-value:transparent}.ag-header-cell:where(:not(.ag-floating-filter)):before,.ag-header-group-cell:before{background-image:linear-gradient(var(--ag-internal-hover-color),var(--ag-internal-hover-color)),linear-gradient(var(--ag-internal-moving-color),var(--ag-internal-moving-color));content:\"\";inset:0;position:absolute;--ag-internal-moving-color:transparent;--ag-internal-hover-color:transparent;transition:--ag-internal-moving-color var(--ag-header-cell-background-transition-duration),--ag-internal-hover-color var(--ag-header-cell-background-transition-duration)}.ag-header-cell:where(:not(.ag-floating-filter)):where(:hover):before,.ag-header-group-cell:where(:hover):before{--ag-internal-hover-color:var(--ag-header-cell-hover-background-color)}.ag-header-cell:where(:not(.ag-floating-filter)):where(.ag-header-cell-moving):before,.ag-header-group-cell:where(.ag-header-cell-moving):before{--ag-internal-moving-color:var(--ag-header-cell-moving-background-color);--ag-internal-hover-color:var(--ag-header-cell-hover-background-color)}:where(.ag-header-cell:not(.ag-floating-filter)>*,.ag-header-group-cell>*){position:relative;z-index:1}.ag-header-cell-menu-button:where(:not(.ag-header-menu-always-show)){opacity:0;transition:opacity .2s}.ag-header-cell-filter-button,:where(.ag-header-cell.ag-header-active) .ag-header-cell-menu-button{opacity:1}.ag-header-cell-label,.ag-header-group-cell-label{align-items:center;align-self:stretch;display:flex;flex:1 1 auto;overflow:hidden;padding:5px 0}:where(.ag-ltr) .ag-sort-indicator-icon{padding-left:var(--ag-spacing)}:where(.ag-rtl) .ag-sort-indicator-icon{padding-right:var(--ag-spacing)}.ag-header-cell-label{text-overflow:ellipsis}.ag-header-group-cell-label.ag-sticky-label{flex:none;max-width:100%;overflow:visible;position:sticky}:where(.ag-ltr) .ag-header-group-cell-label.ag-sticky-label{left:var(--ag-cell-horizontal-padding)}:where(.ag-rtl) .ag-header-group-cell-label.ag-sticky-label{right:var(--ag-cell-horizontal-padding)}.ag-header-cell-text,.ag-header-group-text{overflow:hidden;text-overflow:ellipsis}.ag-header-cell-text{word-break:break-word}.ag-header-cell-comp-wrapper{width:100%}:where(.ag-header-group-cell) .ag-header-cell-comp-wrapper{display:flex}:where(.ag-header-cell:not(.ag-header-cell-auto-height)) .ag-header-cell-comp-wrapper{align-items:center;display:flex;height:100%}.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper{white-space:normal}.ag-header-cell-comp-wrapper-limited-height>*{overflow:hidden}:where(.ag-right-aligned-header) .ag-header-cell-label{flex-direction:row-reverse}:where(.ag-header-cell:not(.ag-right-aligned-header)){.ag-header-col-ref{color:var(--ag-subtle-text-color)}}:where(.ag-ltr) :where(.ag-header-cell:not(.ag-right-aligned-header)){.ag-header-col-ref{margin-right:var(--ag-spacing)}.ag-header-label-icon,.ag-header-menu-icon{margin-left:var(--ag-spacing)}}:where(.ag-rtl) :where(.ag-header-cell:not(.ag-right-aligned-header)){.ag-header-col-ref{margin-left:var(--ag-spacing)}.ag-header-label-icon,.ag-header-menu-icon{margin-right:var(--ag-spacing)}}:where(.ag-header-cell.ag-right-aligned-header){.ag-header-col-ref{color:var(--ag-subtle-text-color)}}:where(.ag-ltr) :where(.ag-header-cell.ag-right-aligned-header){.ag-header-col-ref{margin-left:var(--ag-spacing)}.ag-header-label-icon,.ag-header-menu-icon{margin-right:var(--ag-spacing)}}:where(.ag-rtl) :where(.ag-header-cell.ag-right-aligned-header){.ag-header-col-ref{margin-right:var(--ag-spacing)}.ag-header-label-icon,.ag-header-menu-icon{margin-left:var(--ag-spacing)}}.ag-header-cell:after,.ag-header-group-cell:where(:not(.ag-header-span-height.ag-header-group-cell-no-group)):after{content:\"\";height:var(--ag-header-column-border-height);position:absolute;top:calc(50% - var(--ag-header-column-border-height)*.5);z-index:1}:where(.ag-ltr) .ag-header-cell:after,:where(.ag-ltr) .ag-header-group-cell:where(:not(.ag-header-span-height.ag-header-group-cell-no-group)):after{border-right:var(--ag-header-column-border);right:0}:where(.ag-rtl) .ag-header-cell:after,:where(.ag-rtl) .ag-header-group-cell:where(:not(.ag-header-span-height.ag-header-group-cell-no-group)):after{border-left:var(--ag-header-column-border);left:0}.ag-header-highlight-after:after,.ag-header-highlight-before:after{background-color:var(--ag-column-drag-indicator-color);border-radius:calc(var(--ag-column-drag-indicator-width)/2);content:\"\";height:100%;position:absolute;top:0;width:var(--ag-column-drag-indicator-width)}:where(.ag-ltr) .ag-header-highlight-before:after{left:0}:where(.ag-rtl) .ag-header-highlight-before:after{right:0}:where(.ag-ltr) .ag-header-highlight-after:after{right:0;:where(.ag-pinned-left-header) &{right:1px}}:where(.ag-rtl) .ag-header-highlight-after:after{left:0;:where(.ag-pinned-left-header) &{left:1px}}.ag-header-cell-resize{align-items:center;cursor:ew-resize;display:flex;height:100%;position:absolute;top:0;width:8px;z-index:2}:where(.ag-ltr) .ag-header-cell-resize{right:-3px}:where(.ag-rtl) .ag-header-cell-resize{left:-3px}.ag-header-cell-resize:after{background-color:var(--ag-header-column-resize-handle-color);content:\"\";height:var(--ag-header-column-resize-handle-height);position:absolute;top:calc(50% - var(--ag-header-column-resize-handle-height)*.5);width:var(--ag-header-column-resize-handle-width);z-index:1}:where(.ag-ltr) .ag-header-cell-resize:after{left:calc(50% - var(--ag-header-column-resize-handle-width))}:where(.ag-rtl) .ag-header-cell-resize:after{right:calc(50% - var(--ag-header-column-resize-handle-width))}:where(.ag-header-cell.ag-header-span-height) .ag-header-cell-resize:after{height:calc(100% - var(--ag-spacing)*4);top:calc(var(--ag-spacing)*2)}.ag-header-group-cell-no-group:where(.ag-header-span-height){display:none}.ag-sort-indicator-container{display:flex;gap:var(--ag-spacing)}.ag-layout-print{&.ag-body{display:block;height:unset}&.ag-root-wrapper{container-type:normal;display:inline-block}.ag-body-horizontal-scroll,.ag-body-vertical-scroll{display:none}&.ag-force-vertical-scroll{overflow-y:visible!important}}@media print{.ag-root-wrapper.ag-layout-print{container-type:normal;display:table;.ag-body-horizontal-scroll-viewport,.ag-body-viewport,.ag-center-cols-container,.ag-center-cols-viewport,.ag-root,.ag-root-wrapper-body,.ag-virtual-list-viewport{display:block!important;height:auto!important;overflow:hidden!important}.ag-cell,.ag-row{-moz-column-break-inside:avoid;break-inside:avoid}}}ag-grid,ag-grid-angular{display:block}.ag-root-wrapper{border:var(--ag-wrapper-border);border-radius:var(--ag-wrapper-border-radius);container-type:inline-size;display:flex;flex-direction:column;overflow:hidden;position:relative;&.ag-layout-normal{height:100%}}.ag-root-wrapper-body{display:flex;flex-direction:row;&.ag-layout-normal{flex:1 1 auto;height:0;min-height:0}}.ag-root{display:flex;flex-direction:column;position:relative;&.ag-layout-auto-height,&.ag-layout-normal{flex:1 1 auto;overflow:hidden;width:0}&.ag-layout-normal{height:100%}}.ag-drag-handle{color:var(--ag-drag-handle-color);cursor:grab;:where(.ag-icon){color:var(--ag-drag-handle-color)}}.ag-chart-menu-icon,.ag-chart-settings-next,.ag-chart-settings-prev,.ag-column-group-icons,.ag-column-select-header-icon,.ag-filter-toolpanel-expand,.ag-floating-filter-button-button,.ag-group-title-bar-icon,.ag-header-cell-filter-button,.ag-header-cell-menu-button,.ag-header-expand-icon,.ag-panel-title-bar-button,.ag-panel-title-bar-button-icon,.ag-set-filter-group-icons,:where(.ag-group-contracted) .ag-icon,:where(.ag-group-expanded) .ag-icon{background-color:var(--ag-icon-button-background-color);border-radius:var(--ag-icon-button-border-radius);box-shadow:0 0 0 var(--ag-icon-button-background-spread) var(--ag-icon-button-background-color);color:var(--ag-icon-button-color)}.ag-chart-menu-icon:hover,.ag-chart-settings-next:hover,.ag-chart-settings-prev:hover,.ag-column-group-icons:hover,.ag-column-select-header-icon:hover,.ag-filter-toolpanel-expand:hover,.ag-floating-filter-button-button:hover,.ag-group-title-bar-icon:hover,.ag-header-cell-filter-button:hover,.ag-header-cell-menu-button:hover,.ag-header-expand-icon:hover,.ag-panel-title-bar-button-icon:hover,.ag-panel-title-bar-button:hover,.ag-set-filter-group-icons:hover,:where(.ag-group-contracted) .ag-icon:hover,:where(.ag-group-expanded) .ag-icon:hover{background-color:var(--ag-icon-button-hover-background-color);box-shadow:0 0 0 var(--ag-icon-button-background-spread) var(--ag-icon-button-hover-background-color);color:var(--ag-icon-button-hover-color)}:where(.ag-filter-active),:where(.ag-filter-toolpanel-group-instance-header-icon),:where(.ag-filter-toolpanel-instance-header-icon){position:relative}:where(.ag-filter-active):after,:where(.ag-filter-toolpanel-group-instance-header-icon):after,:where(.ag-filter-toolpanel-instance-header-icon):after{background-color:var(--ag-icon-button-active-indicator-color);border-radius:50%;content:\"\";height:6px;position:absolute;top:-1px;width:6px}:where(.ag-ltr) :where(.ag-filter-active):after,:where(.ag-ltr) :where(.ag-filter-toolpanel-group-instance-header-icon):after,:where(.ag-ltr) :where(.ag-filter-toolpanel-instance-header-icon):after{right:-1px}:where(.ag-rtl) :where(.ag-filter-active):after,:where(.ag-rtl) :where(.ag-filter-toolpanel-group-instance-header-icon):after,:where(.ag-rtl) :where(.ag-filter-toolpanel-instance-header-icon):after{left:-1px}.ag-filter-active{background-image:linear-gradient(var(--ag-icon-button-active-background-color),var(--ag-icon-button-active-background-color));border-radius:1px;outline:solid var(--ag-icon-button-background-spread) var(--ag-icon-button-active-background-color);:where(.ag-icon-filter){clip-path:path(\"M8,0C8,4.415 11.585,8 16,8L16,16L0,16L0,0L8,0Z\");color:var(--ag-icon-button-active-color)}}",iW={wrapperBorder:!0,rowBorder:!0,headerRowBorder:!0,footerRowBorder:{ref:"rowBorder"},columnBorder:{style:"solid",width:1,color:"transparent"},headerColumnBorder:!1,headerColumnBorderHeight:"100%",pinnedColumnBorder:!0,pinnedRowBorder:!0,sidePanelBorder:!0,sideBarPanelWidth:250,sideBarPanelAnimationDuration:0,sideBarBackgroundColor:{ref:"chromeBackgroundColor"},sideButtonBarBackgroundColor:{ref:"sideBarBackgroundColor"},sideButtonBarTopPadding:0,sideButtonSelectedUnderlineWidth:2,sideButtonSelectedUnderlineColor:"transparent",sideButtonSelectedUnderlineTransitionDuration:0,sideButtonBackgroundColor:"transparent",sideButtonTextColor:{ref:"textColor"},sideButtonHoverBackgroundColor:{ref:"sideButtonBackgroundColor"},sideButtonHoverTextColor:{ref:"sideButtonTextColor"},sideButtonSelectedBackgroundColor:x0,sideButtonSelectedTextColor:{ref:"sideButtonTextColor"},sideButtonBorder:"solid 1px transparent",sideButtonSelectedBorder:!0,sideButtonLeftPadding:{ref:"spacing"},sideButtonRightPadding:{ref:"spacing"},sideButtonVerticalPadding:{calc:"spacing * 3"},cellFontFamily:{ref:"fontFamily"},cellFontSize:{ref:"dataFontSize"},cellFontWeight:{ref:"fontWeight"},headerCellHoverBackgroundColor:"transparent",headerCellMovingBackgroundColor:{ref:"headerCellHoverBackgroundColor"},headerCellBackgroundTransitionDuration:"0.2s",cellTextColor:{ref:"textColor"},rangeSelectionBorderStyle:"solid",rangeSelectionBorderColor:AQ,rangeSelectionBackgroundColor:fQ(0.2),rangeSelectionChartBackgroundColor:"#0058FF1A",rangeSelectionChartCategoryBackgroundColor:"#00FF841A",rangeSelectionHighlightColor:fQ(0.5),rangeHeaderHighlightColor:RW(0.08),rowNumbersSelectedColor:fQ(0.5),rowHoverColor:fQ(0.08),columnHoverColor:fQ(0.05),selectedRowBackgroundColor:fQ(0.12),modalOverlayBackgroundColor:{ref:"backgroundColor",mix:0.66},dataBackgroundColor:x0,oddRowBackgroundColor:{ref:"dataBackgroundColor"},wrapperBorderRadius:8,cellHorizontalPadding:{calc:"spacing * 2 * cellHorizontalPaddingScale"},cellWidgetSpacing:{calc:"spacing * 1.5"},cellHorizontalPaddingScale:1,rowGroupIndentSize:{calc:"cellWidgetSpacing + iconSize"},valueChangeDeltaUpColor:"#43a047",valueChangeDeltaDownColor:"#e53935",valueChangeValueHighlightBackgroundColor:"#16a08580",rowHeight:{calc:"max(iconSize, cellFontSize) + spacing * 3.25 * rowVerticalPaddingScale"},rowVerticalPaddingScale:1,paginationPanelHeight:{ref:"rowHeight",calc:"max(rowHeight, 22px)"},dragHandleColor:r0(0.7),headerColumnResizeHandleHeight:"30%",headerColumnResizeHandleWidth:2,headerColumnResizeHandleColor:{ref:"borderColor"},iconButtonColor:{ref:"iconColor"},iconButtonBackgroundColor:"transparent",iconButtonBackgroundSpread:4,iconButtonBorderRadius:1,iconButtonHoverColor:{ref:"iconButtonColor"},iconButtonHoverBackgroundColor:r0(0.1),iconButtonActiveColor:AQ,iconButtonActiveBackgroundColor:fQ(0.28),iconButtonActiveIndicatorColor:AQ,setFilterIndentSize:{ref:"iconSize"},chartMenuPanelWidth:260,chartMenuLabelColor:r0(0.8),cellEditingBorder:{color:AQ},cellEditingShadow:{ref:"cardShadow"},fullRowEditInvalidBackgroundColor:{ref:"invalidColor",onto:"backgroundColor",mix:0.25},columnSelectIndentSize:{ref:"iconSize"},toolPanelSeparatorBorder:!0,columnDropCellBackgroundColor:r0(0.07),columnDropCellTextColor:{ref:"textColor"},columnDropCellDragHandleColor:{ref:"textColor"},columnDropCellBorder:{color:r0(0.13)},selectCellBackgroundColor:r0(0.07),selectCellBorder:{color:r0(0.13)},advancedFilterBuilderButtonBarBorder:!0,advancedFilterBuilderIndentSize:{calc:"spacing * 2 + iconSize"},advancedFilterBuilderJoinPillColor:"#f08e8d",advancedFilterBuilderColumnPillColor:"#a6e194",advancedFilterBuilderOptionPillColor:"#f3c08b",advancedFilterBuilderValuePillColor:"#85c0e4",filterPanelApplyButtonColor:x0,filterPanelApplyButtonBackgroundColor:AQ,columnPanelApplyButtonColor:x0,columnPanelApplyButtonBackgroundColor:AQ,filterPanelCardSubtleColor:{ref:"textColor",mix:0.7},filterPanelCardSubtleHoverColor:{ref:"textColor"},findMatchColor:Tz,findMatchBackgroundColor:"#ffff00",findActiveMatchColor:Tz,findActiveMatchBackgroundColor:"#ffa500",filterToolPanelGroupIndent:{ref:"spacing"},rowLoadingSkeletonEffectColor:r0(0.15),statusBarLabelColor:Tz,statusBarLabelFontWeight:500,statusBarValueColor:Tz,statusBarValueFontWeight:500,pinnedSourceRowTextColor:{ref:"textColor"},pinnedSourceRowBackgroundColor:{ref:"dataBackgroundColor"},pinnedSourceRowFontWeight:600,pinnedRowFontWeight:600,pinnedRowBackgroundColor:{ref:"dataBackgroundColor"},pinnedRowTextColor:{ref:"textColor"},rowDragIndicatorColor:{ref:"rangeSelectionBorderColor"},rowDragIndicatorWidth:2,columnDragIndicatorColor:{ref:"accentColor"},columnDragIndicatorWidth:2},nW=".ag-cell-batch-edit{background-color:var(--ag-cell-batch-edit-background-color);color:var(--ag-cell-batch-edit-text-color);display:inherit}.ag-row-batch-edit{background-color:var(--ag-row-batch-edit-background-color);color:var(--ag-row-batch-edit-text-color)}",C$={cellBatchEditBackgroundColor:"rgba(220 181 139 / 16%)",cellBatchEditTextColor:"#422f00",rowBatchEditBackgroundColor:{ref:"cellBatchEditBackgroundColor"},rowBatchEditTextColor:{ref:"cellBatchEditTextColor"}},dW={...C$,cellBatchEditTextColor:"#f3d0b3"},tW=()=>FQ({feature:"batchEditStyle",params:C$,css:nW}),rW=tW(),sW=":where(.ag-button){background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0;text-indent:inherit;text-shadow:inherit;text-transform:inherit;word-spacing:inherit;&:disabled{cursor:default}&:focus-visible{box-shadow:var(--ag-focus-shadow);outline:none}}.ag-standard-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--ag-button-background-color);border:var(--ag-button-border);border-radius:var(--ag-button-border-radius);color:var(--ag-button-text-color);cursor:pointer;font-weight:var(--ag-button-font-weight);padding:var(--ag-button-vertical-padding) var(--ag-button-horizontal-padding);&:active{background-color:var(--ag-button-active-background-color);border:var(--ag-button-active-border);color:var(--ag-button-active-text-color)}&:disabled{background-color:var(--ag-button-disabled-background-color);border:var(--ag-button-disabled-border);color:var(--ag-button-disabled-text-color)}}.ag-standard-button:hover{background-color:var(--ag-button-hover-background-color);border:var(--ag-button-hover-border);color:var(--ag-button-hover-text-color)}",lW={buttonTextColor:"inherit",buttonFontWeight:"normal",buttonBackgroundColor:"transparent",buttonBorder:!1,buttonBorderRadius:{ref:"borderRadius"},buttonHorizontalPadding:{calc:"spacing * 2"},buttonVerticalPadding:{ref:"spacing"},buttonHoverTextColor:{ref:"buttonTextColor"},buttonHoverBackgroundColor:{ref:"buttonBackgroundColor"},buttonHoverBorder:{ref:"buttonBorder"},buttonActiveTextColor:{ref:"buttonHoverTextColor"},buttonActiveBackgroundColor:{ref:"buttonHoverBackgroundColor"},buttonActiveBorder:{ref:"buttonHoverBorder"},buttonDisabledTextColor:{ref:"inputDisabledTextColor"},buttonDisabledBackgroundColor:{ref:"inputDisabledBackgroundColor"},buttonDisabledBorder:{ref:"inputDisabledBorder"}};var aW=()=>FQ({feature:"buttonStyle",params:{...lW,buttonBackgroundColor:x0,buttonBorder:!0,buttonHoverBackgroundColor:{ref:"rowHoverColor"},buttonActiveBorder:{color:AQ}},css:sW}),oW=aW();var eW=".ag-column-drop-vertical-empty-message{align-items:center;border:dashed var(--ag-border-width);border-color:var(--ag-border-color);display:flex;inset:0;justify-content:center;margin:calc(var(--ag-spacing)*1.5) calc(var(--ag-spacing)*2);overflow:hidden;padding:calc(var(--ag-spacing)*2);position:absolute}";var QB=()=>{return FQ({feature:"columnDropStyle",css:eW})},b$=QB();var zB={formulaToken1Color:"#3269c6",formulaToken1BackgroundColor:{ref:"formulaToken1Color",mix:0.08},formulaToken1Border:{color:{ref:"formulaToken1Color"}},formulaToken2Color:"#c0343f",formulaToken2BackgroundColor:{ref:"formulaToken2Color",mix:0.06},formulaToken2Border:{color:{ref:"formulaToken2Color"}},formulaToken3Color:"#8156b8",formulaToken3BackgroundColor:{ref:"formulaToken3Color",mix:0.08},formulaToken3Border:{color:{ref:"formulaToken3Color"}},formulaToken4Color:"#007c1f",formulaToken4BackgroundColor:{ref:"formulaToken4Color",mix:0.06},formulaToken4Border:{color:{ref:"formulaToken4Color"}},formulaToken5Color:"#b03e85",formulaToken5BackgroundColor:{ref:"formulaToken5Color",mix:0.08},formulaToken5Border:{color:{ref:"formulaToken5Color"}},formulaToken6Color:"#b74900",formulaToken6BackgroundColor:{ref:"formulaToken6Color",mix:0.06},formulaToken6Border:{color:{ref:"formulaToken6Color"}},formulaToken7Color:"#247492",formulaToken7BackgroundColor:{ref:"formulaToken7Color",mix:0.08},formulaToken7Border:{color:{ref:"formulaToken7Color"}}},JB=()=>FQ({feature:"formulaStyle",params:zB}),ZB=JB(),$B={warn:(...Q)=>{R(Q[0],Q[1])},error:(...Q)=>{e(Q[0],Q[1])},preInitErr:(...Q)=>{y1(Q[0],Q[2],Q[1])}},XB=()=>wW($B).withParams(iW).withPart(oW).withPart(b$).withPart(rW).withPart(ZB),YB='.ag-checkbox-input-wrapper,.ag-radio-button-input-wrapper{background-color:var(--ag-checkbox-unchecked-background-color);border:solid var(--ag-checkbox-border-width) var(--ag-checkbox-unchecked-border-color);flex:none;height:var(--ag-icon-size);position:relative;width:var(--ag-icon-size);&:where(.ag-checked){background-color:var(--ag-checkbox-checked-background-color);border-color:var(--ag-checkbox-checked-border-color)}&:where(.ag-checked):after{background-color:var(--ag-checkbox-checked-shape-color)}&:where(.ag-disabled){filter:grayscale();opacity:.5}}.ag-checkbox-input,.ag-radio-button-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:block;height:var(--ag-icon-size);margin:0;opacity:0;width:var(--ag-icon-size)}.ag-checkbox-input-wrapper:after,.ag-radio-button-input-wrapper:after{content:"";display:block;inset:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;pointer-events:none;position:absolute}.ag-checkbox-input-wrapper:where(:focus-within,:active),.ag-radio-button-input-wrapper:where(:focus-within,:active){box-shadow:var(--ag-focus-shadow)}.ag-checkbox-input-wrapper{border-radius:var(--ag-checkbox-border-radius);&:where(.ag-checked):after{-webkit-mask-image:var(--ag-checkbox-checked-shape-image);mask-image:var(--ag-checkbox-checked-shape-image)}&:where(.ag-indeterminate){background-color:var(--ag-checkbox-indeterminate-background-color);border-color:var(--ag-checkbox-indeterminate-border-color)}&:where(.ag-indeterminate):after{background-color:var(--ag-checkbox-indeterminate-shape-color);-webkit-mask-image:var(--ag-checkbox-indeterminate-shape-image);mask-image:var(--ag-checkbox-indeterminate-shape-image)}}.ag-cell-editing-error .ag-checkbox-input-wrapper:focus-within{box-shadow:var(--ag-focus-error-shadow)}.ag-radio-button-input-wrapper{border-radius:100%;&:where(.ag-checked):after{-webkit-mask-image:var(--ag-radio-checked-shape-image);mask-image:var(--ag-radio-checked-shape-image)}}',GB=()=>FQ({feature:"checkboxStyle",params:{checkboxBorderWidth:1,checkboxBorderRadius:{ref:"borderRadius"},checkboxUncheckedBackgroundColor:x0,checkboxUncheckedBorderColor:o0(0.3),checkboxCheckedBackgroundColor:AQ,checkboxCheckedBorderColor:{ref:"checkboxCheckedBackgroundColor"},checkboxCheckedShapeImage:{svg:'<svg xmlns="http://www.w3.org/2000/svg" width="10" height="7" fill="none"><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.75" d="M1 3.5 3.5 6l5-5"/></svg>'},checkboxCheckedShapeColor:x0,checkboxIndeterminateBackgroundColor:o0(0.3),checkboxIndeterminateBorderColor:{ref:"checkboxIndeterminateBackgroundColor"},checkboxIndeterminateShapeImage:{svg:'<svg xmlns="http://www.w3.org/2000/svg" width="10" height="2" fill="none"><rect width="10" height="2" fill="#000" rx="1"/></svg>'},checkboxIndeterminateShapeColor:x0,radioCheckedShapeImage:{svg:'<svg xmlns="http://www.w3.org/2000/svg" width="6" height="6" fill="none"><circle cx="3" cy="3" r="3" fill="#000"/></svg>'}},css:YB}),qB=GB();var y$=()=>({...WZ,...dW,backgroundColor:"hsl(217, 0%, 17%)",foregroundColor:"#FFF",chromeBackgroundColor:o0(0.05),rowHoverColor:fQ(0.15),selectedRowBackgroundColor:fQ(0.2),menuBackgroundColor:o0(0.1),browserColorScheme:"dark",popupShadow:"0 0px 20px #000A",cardShadow:"0 1px 4px 1px #000A",advancedFilterBuilderJoinPillColor:"#7a3a37",advancedFilterBuilderColumnPillColor:"#355f2d",advancedFilterBuilderOptionPillColor:"#5a3168",advancedFilterBuilderValuePillColor:"#374c86",filterPanelApplyButtonColor:Tz,columnPanelApplyButtonColor:Tz,findMatchColor:x0,findActiveMatchColor:x0,checkboxUncheckedBorderColor:o0(0.4),toggleButtonOffBackgroundColor:o0(0.4),rowBatchEditBackgroundColor:o0(0.1),formulaToken1Color:"#4da3e5",formulaToken2Color:"#f55864",formulaToken3Color:"#b688f2",formulaToken4Color:"#24bb4a",formulaToken5Color:"#e772ba",formulaToken6Color:"#f69b5f",formulaToken7Color:"#a3e6ff"});var HB=()=>({...y$(),backgroundColor:"#1f2836"});var _B=()=>FQ({feature:"colorScheme",params:WZ,modeParams:{light:WZ,dark:y$(),"dark-blue":HB()}}),UB=_B();var x$={aggregation:'<path d="M18 7V4H6l6 8-6 8h12v-3"/>',arrows:'<polyline points="5 9 2 12 5 15"/><polyline points="9 5 12 2 15 5"/><polyline points="15 19 12 22 9 19"/><polyline points="19 9 22 12 19 15"/><line x1="2" x2="22" y1="12" y2="12"/><line x1="12" x2="12" y1="2" y2="22"/>',asc:'<path d="m5 12 7-7 7 7"/><path d="M12 19V5"/>',cancel:'<path d="m18 6-12 12"/><path d="m6 6 12 12"/>',chart:'<line x1="18" x2="18" y1="20" y2="10"/><line x1="12" x2="12" y1="20" y2="4"/><line x1="6" x2="6" y1="20" y2="14"/>',"color-picker":'<path d="m19 11-8-8-8.6 8.6a2 2 0 0 0 0 2.8l5.2 5.2c.8.8 2 .8 2.8 0L19 11Z"/><path d="m5 2 5 5"/><path d="M2 13h15"/><path d="M22 20a2 2 0 1 1-4 0c0-1.6 1.7-2.4 2-4 .3 1.6 2 2.4 2 4Z"/>',columns:'<path d="M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"/>',contracted:'<path d="m9 18 6-6-6-6"/>',copy:'<rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>',cross:'<path d="M18 6 6 18"/><path d="m6 6 12 12"/>',csv:'<path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/><path d="M8 13h2"/><path d="M8 17h2"/><path d="M14 13h2"/><path d="M14 17h2"/>',cut:'<circle cx="6" cy="6" r="3"/><path d="M8.12 8.12 12 12"/><path d="M20 4 8.12 15.88"/><circle cx="6" cy="18" r="3"/><path d="M14.8 14.8 20 20"/>',desc:'<path d="M12 5v14"/><path d="m19 12-7 7-7-7"/>',down:'<path d="M12 5v14"/><path d="m19 12-7 7-7-7"/>',excel:'<path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/><path d="M8 13h2"/><path d="M8 17h2"/><path d="M14 13h2"/><path d="M14 17h2"/>',expanded:'<path d="m15 18-6-6 6-6"/>',eye:'<path d="M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"/><circle cx="12" cy="12" r="3"/>',"eye-slash":'<path d="M9.88 9.88a3 3 0 1 0 4.24 4.24"/><path d="M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"/><path d="M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"/><line x1="2" x2="22" y1="2" y2="22"/>',filter:'<path d="M3 6h18"/><path d="M7 12h10"/><path d="M10 18h4"/>',first:'<path d="m17 18-6-6 6-6"/><path d="M7 6v12"/>',grip:'<circle cx="5" cy="8" r="0.5"/><circle cx="12" cy="8" r="0.5"/><circle cx="19" cy="8" r="0.5"/><circle cx="5" cy="16" r="0.5"/><circle cx="12" cy="16" r="0.5"/><circle cx="19" cy="16" r="0.5"/><g stroke="none" fill="currentColor"><circle cx="5" cy="8" r="1"/><circle cx="12" cy="8" r="1"/><circle cx="19" cy="8" r="1"/><circle cx="5" cy="16" r="1"/><circle cx="12" cy="16" r="1"/><circle cx="19" cy="16" r="1"/></g>',group:'<path d="M16 12H3"/><path d="M16 18H3"/><path d="M10 6H3"/><path d="M21 18V8a2 2 0 0 0-2-2h-5"/><path d="m16 8-2-2 2-2"/>',last:'<path d="m7 18 6-6-6-6"/><path d="M17 6v12"/>',left:'<path d="m12 19-7-7 7-7"/><path d="M19 12H5"/>',linked:'<path d="M9 17H7A5 5 0 0 1 7 7h2"/><path d="M15 7h2a5 5 0 1 1 0 10h-2"/><line x1="8" x2="16" y1="12" y2="12"/>',loading:'<line x1="12" x2="12" y1="2" y2="6"/><line x1="12" x2="12" y1="18" y2="22"/><line x1="4.93" x2="7.76" y1="4.93" y2="7.76"/><line x1="16.24" x2="19.07" y1="16.24" y2="19.07"/><line x1="2" x2="6" y1="12" y2="12"/><line x1="18" x2="22" y1="12" y2="12"/><line x1="4.93" x2="7.76" y1="19.07" y2="16.24"/><line x1="16.24" x2="19.07" y1="7.76" y2="4.93"/>',maximize:'<polyline points="15 3 21 3 21 9"/><polyline points="9 21 3 21 3 15"/><line x1="21" x2="14" y1="3" y2="10"/><line x1="3" x2="10" y1="21" y2="14"/>',menu:'<line x1="4" x2="20" y1="12" y2="12"/><line x1="4" x2="20" y1="6" y2="6"/><line x1="4" x2="20" y1="18" y2="18"/>',"menu-alt":'<circle cx="12" cy="5" r="0.75" fill="#D9D9D9"/><circle cx="12" cy="12" r="0.75" fill="#D9D9D9"/><circle cx="12" cy="19" r="0.75" fill="#D9D9D9"/>',minimize:'<polyline points="4 14 10 14 10 20"/><polyline points="20 10 14 10 14 4"/><line x1="14" x2="21" y1="10" y2="3"/><line x1="3" x2="10" y1="21" y2="14"/>',minus:'<circle cx="12" cy="12" r="10"/><path d="M8 12h8"/>',next:'<path d="m9 18 6-6-6-6"/>',none:'<path d="m7 15 5 5 5-5"/><path d="m7 9 5-5 5 5"/>',"not-allowed":'<circle cx="12" cy="12" r="10"/><path d="m4.9 4.9 14.2 14.2"/>',paste:'<path d="M15 2H9a1 1 0 0 0-1 1v2c0 .6.4 1 1 1h6c.6 0 1-.4 1-1V3c0-.6-.4-1-1-1Z"/><path d="M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2M16 4h2a2 2 0 0 1 2 2v2M11 14h10"/><path d="m17 10 4 4-4 4"/>',pin:'<line x1="12" x2="12" y1="17" y2="22"/><path d="M5 17h14v-1.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V6h1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4h1v4.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24Z"/>',pivot:'<path d="M15 3v18"/><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M21 9H3"/><path d="M21 15H3"/>',plus:'<circle cx="12" cy="12" r="10"/><path d="M8 12h8"/><path d="M12 8v8"/>',previous:'<path d="m15 18-6-6 6-6"/>',right:'<path d="M5 12h14"/><path d="m12 5 7 7-7 7"/>',save:'<path d="M12 17V3"/><path d="m6 11 6 6 6-6"/><path d="M19 21H5"/>',settings:'<path d="M20 7h-9"/><path d="M14 17H5"/><circle cx="17" cy="17" r="3"/><circle cx="7" cy="7" r="3"/>',"small-left":'<path d="m15 18-6-6 6-6"/>',"small-right":'<path d="m9 18 6-6-6-6"/>',tick:'<path d="M20 6 9 17l-5-5"/>',"tree-closed":'<path d="m9 18 6-6-6-6"/>',"tree-indeterminate":'<path d="M5 12h14"/>',"tree-open":'<path d="m6 9 6 6 6-6"/>',unlinked:'<path d="M9 17H7A5 5 0 0 1 7 7"/><path d="M15 7h2a5 5 0 0 1 4 8"/><line x1="8" x2="12" y1="12" y2="12"/><line x1="2" x2="22" y1="2" y2="22"/>',up:'<path d="m5 12 7-7 7 7"/><path d="M12 19V5"/>'},w$={aasc:'<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.2012 8.07928C13.6346 8.0793 14.0128 8.15365 14.3359 8.30193C14.6609 8.45018 14.9141 8.65595 15.0947 8.9201C15.2754 9.18439 15.3683 9.49109 15.374 9.83904H14.1904C14.1676 9.60898 14.0695 9.4303 13.8965 9.30291C13.7235 9.1756 13.4889 9.1115 13.1924 9.1115C12.9909 9.1115 12.8204 9.1404 12.6816 9.19744C12.543 9.25255 12.4364 9.32917 12.3623 9.42791C12.2901 9.52678 12.2539 9.63933 12.2539 9.76482C12.2501 9.8692 12.272 9.9604 12.3193 10.0383C12.3688 10.1162 12.4369 10.1843 12.5225 10.2414C12.6079 10.2964 12.7064 10.3451 12.8184 10.3869C12.9304 10.4268 13.0505 10.4609 13.1777 10.4894L13.7031 10.6144C13.9578 10.6715 14.1914 10.7479 14.4043 10.8429C14.6173 10.938 14.8021 11.0547 14.958 11.1935C15.1138 11.3323 15.2348 11.4957 15.3203 11.6838C15.4077 11.8719 15.4522 12.088 15.4541 12.3312C15.4522 12.6885 15.3611 12.9986 15.1807 13.2609C15.0019 13.5214 14.7427 13.7248 14.4043 13.8693C14.0678 14.0118 13.6617 14.0832 13.1865 14.0832C12.7153 14.0832 12.3048 14.0107 11.9551 13.8664C11.6071 13.7219 11.3345 13.5071 11.1387 13.2238C10.9449 12.9387 10.8435 12.5862 10.834 12.1662H12.0283C12.0416 12.362 12.0984 12.5252 12.1973 12.6564C12.298 12.7857 12.4323 12.8838 12.5996 12.9504C12.7688 13.0149 12.96 13.047 13.1729 13.047C13.3817 13.047 13.563 13.0169 13.7168 12.9562C13.8727 12.8954 13.9935 12.8106 14.0791 12.7023C14.1647 12.5939 14.208 12.469 14.208 12.3283C14.2079 12.1974 14.1686 12.0875 14.0908 11.9982C14.0148 11.9089 13.9022 11.8324 13.7539 11.7697C13.6076 11.707 13.4276 11.6501 13.2148 11.5988L12.5791 11.4387C12.0869 11.3189 11.6982 11.1318 11.4131 10.8771C11.128 10.6224 10.9855 10.2793 10.9873 9.84783C10.9854 9.49418 11.0804 9.18439 11.2705 8.9201C11.4625 8.65603 11.7261 8.45015 12.0605 8.30193C12.3951 8.15369 12.7754 8.07928 13.2012 8.07928Z" fill="black"/><path fill-rule="evenodd" clip-rule="evenodd" d="M5.8125 14.0002H4.48926L4.05664 12.6681H1.94824L1.51465 14.0002H0.19043L2.20703 8.15935H3.79883L5.8125 14.0002ZM2.26172 11.7043H3.74316L3.02539 9.49334H2.98047L2.26172 11.7043Z" fill="black"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.45215 8.15935C8.88165 8.15935 9.24031 8.22251 9.52734 8.34978C9.81445 8.47717 10.0303 8.65477 10.1748 8.88103C10.3192 9.10536 10.3916 9.36368 10.3916 9.65642C10.3916 9.88452 10.3461 10.085 10.2549 10.258C10.1637 10.4289 10.0384 10.5696 9.87891 10.6799C9.72117 10.7882 9.54024 10.8657 9.33691 10.9113V10.9679C9.55917 10.9775 9.76716 11.0406 9.96094 11.1564C10.1568 11.2724 10.3158 11.4356 10.4375 11.6447C10.5591 11.8519 10.6201 12.099 10.6201 12.3859C10.6201 12.6958 10.5427 12.9727 10.3887 13.216C10.2366 13.4573 10.0113 13.6486 9.71289 13.7892C9.41443 13.9299 9.04655 14.0002 8.60938 14.0002H6.11426V8.15935H8.45215ZM7.34863 12.9904H8.35547C8.69943 12.9904 8.95057 12.9252 9.1084 12.7941C9.26621 12.661 9.34473 12.4834 9.34473 12.2629C9.34468 12.1014 9.30643 11.9587 9.22852 11.8351C9.15056 11.7116 9.03903 11.6145 8.89453 11.5441C8.75195 11.4738 8.58148 11.4387 8.38379 11.4387H7.34863V12.9904ZM7.34863 10.6037H8.26465C8.43369 10.6036 8.58376 10.5737 8.71484 10.5148C8.84793 10.454 8.95227 10.3683 9.02832 10.258C9.10628 10.1477 9.14551 10.0155 9.14551 9.8615C9.14546 9.65055 9.07008 9.48001 8.91992 9.35076C8.77165 9.22169 8.56064 9.15741 8.28711 9.1574H7.34863V10.6037Z" fill="black"/><path d="M7.16602 0.377127C7.44584 0.189493 7.82551 0.20905 8.08496 0.442557L11.418 3.44256C11.7257 3.71966 11.7507 4.19428 11.4736 4.50213C11.1966 4.80961 10.7228 4.83441 10.415 4.55779L7.60938 2.03338L5.11328 4.53045C4.82042 4.82326 4.34562 4.82322 4.05273 4.53045C3.75986 4.23757 3.75989 3.7628 4.05273 3.4699L7.05273 0.4699L7.16602 0.377127Z" fill="black"/></svg>',adesc:'<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.3867 11.4697C10.6796 11.1771 11.1544 11.1769 11.4473 11.4697C11.7399 11.7626 11.7399 12.2374 11.4473 12.5303L8.44727 15.5303L8.33398 15.623C8.05425 15.8106 7.67449 15.7909 7.41504 15.5576L4.08203 12.5576C3.77415 12.2805 3.74927 11.8059 4.02637 11.498C4.30342 11.1907 4.77722 11.1657 5.08496 11.4424L7.89062 13.9668L10.3867 11.4697Z" fill="black"/><path d="M13.2012 3.0791C13.6346 3.07912 14.0128 3.1535 14.3359 3.30176C14.6611 3.45006 14.9141 3.65661 15.0947 3.9209C15.2752 4.18513 15.3683 4.49104 15.374 4.83887H14.1904C14.1676 4.60882 14.0695 4.43012 13.8965 4.30273C13.7235 4.17546 13.4889 4.11133 13.1924 4.11133C12.9909 4.11133 12.8204 4.14023 12.6816 4.19727C12.5431 4.25236 12.4364 4.32902 12.3623 4.42773C12.2901 4.52659 12.2539 4.63919 12.2539 4.76465C12.2501 4.86901 12.272 4.96023 12.3193 5.03809C12.3688 5.11604 12.4369 5.18417 12.5225 5.24121C12.6079 5.29623 12.7064 5.34496 12.8184 5.38672C12.9304 5.42661 13.0505 5.46075 13.1777 5.48926L13.7031 5.61426C13.9578 5.67128 14.1914 5.74776 14.4043 5.84277C14.6172 5.93784 14.8021 6.05457 14.958 6.19336C15.1139 6.33216 15.2348 6.49633 15.3203 6.68457C15.4076 6.8727 15.4522 7.08885 15.4541 7.33203C15.4521 7.68929 15.3612 7.99944 15.1807 8.26172C15.0019 8.52216 14.7427 8.72465 14.4043 8.86914C14.0678 9.01165 13.6617 9.08301 13.1865 9.08301C12.7153 9.08299 12.3048 9.01057 11.9551 8.86621C11.6072 8.72173 11.3345 8.50786 11.1387 8.22461C10.9447 7.9394 10.8435 7.58622 10.834 7.16602H12.0283C12.0416 7.36176 12.0985 7.52509 12.1973 7.65625C12.298 7.78554 12.4323 7.88365 12.5996 7.9502C12.7688 8.01477 12.96 8.04785 13.1729 8.04785C13.3817 8.04781 13.5629 8.01678 13.7168 7.95605C13.8727 7.89522 13.9935 7.81051 14.0791 7.70215C14.1646 7.59387 14.2079 7.46965 14.208 7.3291C14.208 7.19796 14.1687 7.08739 14.0908 6.99805C14.0148 6.90868 13.9022 6.83228 13.7539 6.76953C13.6076 6.70685 13.4276 6.64993 13.2148 6.59863L12.5791 6.43848C12.0868 6.31871 11.6982 6.13163 11.4131 5.87695C11.1279 5.62221 10.9855 5.27916 10.9873 4.84766C10.9854 4.49404 11.0804 4.18517 11.2705 3.9209C11.4625 3.65661 11.7259 3.45006 12.0605 3.30176C12.3951 3.15353 12.7754 3.0791 13.2012 3.0791Z" fill="black"/><path fill-rule="evenodd" clip-rule="evenodd" d="M5.8125 9H4.48926L4.05664 7.66797H1.94824L1.51465 9H0.19043L2.20703 3.15918H3.79883L5.8125 9ZM2.26172 6.7041H3.74316L3.02539 4.49414H2.98047L2.26172 6.7041Z" fill="black"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.45215 3.15918C8.88181 3.15918 9.24025 3.22322 9.52734 3.35059C9.81445 3.47798 10.0303 3.6546 10.1748 3.88086C10.3193 4.10518 10.3916 4.36351 10.3916 4.65625C10.3916 4.88432 10.3461 5.08484 10.2549 5.25781C10.1636 5.4289 10.0386 5.57039 9.87891 5.68066C9.72118 5.78898 9.54022 5.86549 9.33691 5.91113V5.96875C9.55913 5.9783 9.76719 6.04044 9.96094 6.15625C10.1568 6.27223 10.3158 6.43538 10.4375 6.64453C10.5591 6.85173 10.6201 7.09875 10.6201 7.38574C10.6201 7.69567 10.5427 7.97245 10.3887 8.21582C10.2366 8.45719 10.0113 8.64841 9.71289 8.78906C9.41442 8.9297 9.04658 8.99999 8.60938 9H6.11426V3.15918H8.45215ZM7.34863 7.99023H8.35547C8.69948 7.99023 8.95057 7.92504 9.1084 7.79395C9.26621 7.66085 9.34473 7.48325 9.34473 7.2627C9.34466 7.10125 9.3064 6.95844 9.22852 6.83496C9.15056 6.71143 9.03899 6.61427 8.89453 6.54395C8.75196 6.47365 8.58145 6.43848 8.38379 6.43848H7.34863V7.99023ZM7.34863 5.60352H8.26465C8.43369 5.60347 8.58376 5.57354 8.71484 5.51465C8.84791 5.45381 8.95228 5.36807 9.02832 5.25781C9.10623 5.14755 9.14551 5.01529 9.14551 4.86133C9.14542 4.65046 9.07002 4.48078 8.91992 4.35156C8.77163 4.22228 8.56087 4.15724 8.28711 4.15723H7.34863V5.60352Z" fill="black"/></svg>',"chevron-down":'<svg width="16" height="16" viewBox="0 0 16 16" class="ag-icon" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 6L8 10L4 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>',"chevron-left":'<svg width="16" height="16" viewBox="0 0 16 16" class="ag-icon" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 12L6 8L10 4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>',"chevron-right":'<svg width="16" height="16" viewBox="0 0 16 16" class="ag-icon" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 12L10 8L6 4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>',"chevron-up":'<svg width="16" height="16" viewBox="0 0 16 16" class="ag-icon" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 10L8 6L12 10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>',"column-arrow":'<svg xmlns="http://www.w3.org/2000/svg" class="ag-icon" fill="none" viewBox="0 0 32 32"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 26C0 28.2092 1.79086 30 4 30H14C16.2091 30 18 28.2092 18 26V15H25.8786L24.4394 16.4393C23.8536 17.0251 23.8536 17.9749 24.4394 18.5607C25.0252 19.1464 25.9748 19.1464 26.5606 18.5607L30.5606 14.5607C31.1464 13.9749 31.1464 13.0251 30.5606 12.4393L26.5606 8.43934C25.9748 7.85356 25.0252 7.85356 24.4394 8.43934C23.8536 9.02512 23.8536 9.97488 24.4394 10.5607L25.8786 12H18V6C18 3.79086 16.2091 2 14 2H4C1.79086 2 0 3.79086 0 6V26ZM14 5H10.5V12H15V6C15 5.44772 14.5523 5 14 5ZM4 5H7.5V12H3V6C3 5.44772 3.44772 5 4 5ZM10.5 15H15V26C15 26.5522 14.5523 27 14 27H10.5V15ZM4 27H7.5V15H3V26C3 26.5522 3.44772 27 4 27Z" fill="currentColor"/></svg>',edit:'<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 10.6262V12.5012H5.375L10.905 6.97122L9.03 5.09622L3.5 10.6262ZM12.355 5.52122C12.4014 5.47497 12.4381 5.42002 12.4632 5.35953C12.4883 5.29905 12.5012 5.23421 12.5012 5.16872C12.5012 5.10324 12.4883 5.0384 12.4632 4.97791C12.4381 4.91742 12.4014 4.86248 12.355 4.81622L11.185 3.64622C11.1387 3.59987 11.0838 3.5631 11.0233 3.53801C10.9628 3.51291 10.898 3.5 10.8325 3.5C10.767 3.5 10.7022 3.51291 10.6417 3.53801C10.5812 3.5631 10.5263 3.59987 10.48 3.64622L9.565 4.56122L11.44 6.43622L12.355 5.52122Z" fill="currentColor"/></svg>',"filter-add":'<svg width="16" height="16" viewBox="0 0 16 16" class="ag-icon" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.12126 7.75L10.8517 7.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/><path d="M6.65934 11.748L9.32778 11.748" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/><path d="M12.2943 1.04872V6.19184M14.9886 3.74341H9.68478" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/><path d="M8.25488 3C8.04799 3.18323 7.91706 3.45099 7.91699 3.74902C7.91713 4.04868 8.04988 4.31681 8.25879 4.5H2C1.58579 4.5 1.25 4.16421 1.25 3.75C1.25 3.33579 1.58579 3 2 3H8.25488Z" fill="currentColor"/></svg>',"pinned-bottom":'<svg xmlns="http://www.w3.org/2000/svg" fill="none" class="ag-icon" viewBox="0 0 16 16"><path fill="currentColor" d="M3.47 12.28A.75.75 0 0 1 4 11h8a.75.75 0 0 1 0 1.5H4a.75.75 0 0 1-.53-.22ZM12.731 5.256a.75.75 0 0 1-.2.524l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06l2.72 2.72V2a.75.75 0 0 1 1.5 0v5.44l2.72-2.72a.75.75 0 0 1 1.26.536Z"/></svg>',"pinned-top":'<svg xmlns="http://www.w3.org/2000/svg" class="ag-icon" fill="none" viewBox="0 0 16 16"><path fill="currentColor" d="M12.53 3.72A.75.75 0 0 1 12 5H4a.75.75 0 0 1 0-1.5h8a.75.75 0 0 1 .53.22ZM3.269 10.744a.75.75 0 0 1 .2-.524l4-4a.75.75 0 0 1 1.06 0l4 4a.75.75 0 1 1-1.06 1.06L8.75 8.56V14a.75.75 0 0 1-1.5 0V8.56l-2.72 2.72a.75.75 0 0 1-1.26-.536Z"/></svg>',"small-down":'<svg xmlns="http://www.w3.org/2000/svg" class="ag-icon" fill="black" stroke="none" viewBox="0 0 32 32"><path d="M7.334 10.667 16 21.334l8.667-10.667H7.334Z"/></svg>',"small-up":'<svg xmlns="http://www.w3.org/2000/svg" class="ag-icon" fill="black" stroke="none" viewBox="0 0 32 32"><path d="M7.334 21.333 16 10.666l8.667 10.667H7.334Z"/></svg>',"un-pin":'<svg xmlns="http://www.w3.org/2000/svg" fill="none" class="ag-icon" viewBox="0 0 16 16"><path fill="currentColor" d="M8 11a.75.75 0 0 0-.75.75v3.333a.75.75 0 1 0 1.5 0V11.75A.75.75 0 0 0 8 11Z"/><path fill="currentColor" d="M13.11 1.436a.75.75 0 0 0-1.22-.872l-10 14a.75.75 0 1 0 1.22.872L5.207 12.5h7.376a.75.75 0 0 0 .75-.75v-1.174a2.08 2.08 0 0 0-1.153-1.863l-1.185-.599-.005-.002a.58.58 0 0 1-.323-.522V5.165a2.083 2.083 0 0 0 1.854-2.904l.589-.825Zm-3.943 5.52v.634a2.08 2.08 0 0 0 1.153 1.863l1.185.6.005.002a.58.58 0 0 1 .323.522V11H6.28l2.887-4.044ZM9.277 1H5.25a2.084 2.084 0 0 0-.083 4.165v1.676l1.5-2.132v-.292a.75.75 0 0 0-.75-.75H5.25a.584.584 0 0 1 0-1.167h2.972L9.277 1Z"/></svg>'},WB=(Q={})=>{let z="";for(let J of[...Object.keys(x$),...Object.keys(w$)]){let Z=BB(J,Q.strokeWidth);z+=`.ag-icon-${J}::before { mask-image: url('data:image/svg+xml,${encodeURIComponent(Z)}'); }
`}return z},BB=(Q,z=1.5)=>{let J=w$[Q];if(J)return J;let Z=x$[Q];if(!Z)throw Error(`Missing icon data for ${Q}`);return`<svg xmlns="http://www.w3.org/2000/svg" class="ag-icon" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke="black" stroke-width="${z}" viewBox="0 0 24 24"><style>* { vector-effect: non-scaling-stroke; }</style>`+Z+"</svg>"},N$=(Q={})=>{return FQ({feature:"iconSet",css:()=>WB(Q)})},g$=N$({strokeWidth:1}),EB=N$();var KB=":where(.ag-input-field-input[type=number]:not(.ag-number-field-input-stepper)){-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}}.ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){background-color:var(--ag-input-background-color);border:var(--ag-input-border);border-radius:var(--ag-input-border-radius);color:var(--ag-input-text-color);font-family:inherit;font-size:inherit;line-height:inherit;margin:0;min-height:var(--ag-input-height);padding:0;&:where(:disabled){background-color:var(--ag-input-disabled-background-color);border:var(--ag-input-disabled-border);color:var(--ag-input-disabled-text-color)}&:where(:focus){background-color:var(--ag-input-focus-background-color);border:var(--ag-input-focus-border);box-shadow:var(--ag-input-focus-shadow);color:var(--ag-input-focus-text-color);outline:none}&:where(:invalid){background-color:var(--ag-input-invalid-background-color);border:var(--ag-input-invalid-border);color:var(--ag-input-invalid-text-color)}&:where(.invalid){background-color:var(--ag-input-invalid-background-color);border:var(--ag-input-invalid-border);color:var(--ag-input-invalid-text-color)}&::-moz-placeholder{color:var(--ag-input-placeholder-text-color)}&::placeholder{color:var(--ag-input-placeholder-text-color)}}:where(.ag-ltr) .ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){padding-left:var(--ag-input-padding-start)}:where(.ag-rtl) .ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){padding-right:var(--ag-input-padding-start)}&:where(.ag-ltr,.ag-rtl) .ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){padding:0 var(--ag-input-padding-start)}:where(.ag-column-select-header-filter-wrapper),:where(.ag-filter-add-select),:where(.ag-filter-filter),:where(.ag-filter-toolpanel-search),:where(.ag-floating-filter-search-icon),:where(.ag-mini-filter){.ag-input-wrapper:before{background-color:currentcolor;color:var(--ag-input-icon-color);content:\"\";display:block;height:12px;-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNNS4zIDlhMy43IDMuNyAwIDEgMCAwLTcuNSAzLjcgMy43IDAgMCAwIDAgNy41Wk0xMC41IDEwLjUgOC4zIDguMiIvPjwvc3ZnPg==\");mask-image:url(\"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNNS4zIDlhMy43IDMuNyAwIDEgMCAwLTcuNSAzLjcgMy43IDAgMCAwIDAgNy41Wk0xMC41IDEwLjUgOC4zIDguMiIvPjwvc3ZnPg==\");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;opacity:.5;position:absolute;width:12px}}:where(.ag-ltr) :where(.ag-column-select-header-filter-wrapper),:where(.ag-ltr) :where(.ag-filter-add-select),:where(.ag-ltr) :where(.ag-filter-filter),:where(.ag-ltr) :where(.ag-filter-toolpanel-search),:where(.ag-ltr) :where(.ag-floating-filter-search-icon),:where(.ag-ltr) :where(.ag-mini-filter){.ag-input-wrapper:before{margin-left:var(--ag-spacing)}.ag-number-field-input,.ag-text-field-input{padding-left:calc(var(--ag-spacing)*1.5 + 12px)}}:where(.ag-rtl) :where(.ag-column-select-header-filter-wrapper),:where(.ag-rtl) :where(.ag-filter-add-select),:where(.ag-rtl) :where(.ag-filter-filter),:where(.ag-rtl) :where(.ag-filter-toolpanel-search),:where(.ag-rtl) :where(.ag-floating-filter-search-icon),:where(.ag-rtl) :where(.ag-mini-filter){.ag-input-wrapper:before{margin-right:var(--ag-spacing)}.ag-number-field-input,.ag-text-field-input{padding-right:calc(var(--ag-spacing)*1.5 + 12px)}}",LB=".ag-input-field-input:where(input:not([type]),input[type=text],input[type=number],input[type=tel],input[type=date],input[type=datetime-local],textarea){&:focus{box-shadow:var(--ag-focus-shadow);&:where(.invalid),&:where(:invalid){box-shadow:var(--ag-focus-error-shadow)}}}";var FB={inputBackgroundColor:"transparent",inputBorder:!1,inputBorderRadius:0,inputTextColor:{ref:"textColor"},inputPlaceholderTextColor:{ref:"inputTextColor",mix:0.5},inputPaddingStart:0,inputHeight:{calc:"max(iconSize, fontSize) + spacing * 2"},inputFocusBackgroundColor:{ref:"inputBackgroundColor"},inputFocusBorder:{ref:"inputBorder"},inputFocusShadow:"none",inputFocusTextColor:{ref:"inputTextColor"},inputDisabledBackgroundColor:{ref:"inputBackgroundColor"},inputDisabledBorder:{ref:"inputBorder"},inputDisabledTextColor:{ref:"inputTextColor"},inputInvalidBackgroundColor:{ref:"inputBackgroundColor"},inputInvalidBorder:{ref:"inputBorder"},inputInvalidTextColor:{ref:"inputTextColor"},inputIconColor:{ref:"inputTextColor"},pickerButtonBorder:!1,pickerButtonFocusBorder:{ref:"inputFocusBorder"},pickerButtonBackgroundColor:{ref:"backgroundColor"},pickerButtonFocusBackgroundColor:{ref:"backgroundColor"},pickerListBorder:!1,pickerListBackgroundColor:{ref:"backgroundColor"},colorPickerThumbSize:18,colorPickerTrackSize:12,colorPickerThumbBorderWidth:3,colorPickerTrackBorderRadius:12,colorPickerColorBorderRadius:4};var DB=()=>FQ({feature:"inputStyle",params:{...FB,inputBackgroundColor:x0,inputBorder:!0,inputBorderRadius:{ref:"borderRadius"},inputPaddingStart:{ref:"spacing"},inputFocusBorder:{color:AQ},inputFocusShadow:{ref:"focusShadow"},inputDisabledBackgroundColor:o0(0.06),inputDisabledTextColor:{ref:"textColor",mix:0.5},inputInvalidBorder:{color:{ref:"invalidColor"}},pickerButtonBorder:!0,pickerListBorder:!0},css:()=>KB+LB}),MB=DB();var kB=".ag-tabs-header{background-color:var(--ag-tab-bar-background-color);border-bottom:var(--ag-tab-bar-border);display:flex;flex:1;gap:var(--ag-tab-spacing);padding:var(--ag-tab-bar-top-padding) var(--ag-tab-bar-horizontal-padding) 0}.ag-tabs-header-wrapper{display:flex}.ag-tabs-close-button-wrapper{align-items:center;border:0;display:flex;padding:var(--ag-spacing)}:where(.ag-ltr) .ag-tabs-close-button-wrapper{border-right:solid var(--ag-border-width) var(--ag-border-color)}:where(.ag-rtl) .ag-tabs-close-button-wrapper{border-left:solid var(--ag-border-width) var(--ag-border-color)}.ag-tabs-close-button{background-color:unset;border:0;cursor:pointer;padding:0}.ag-tab{align-items:center;background-color:var(--ag-tab-background-color);border-left:var(--ag-tab-selected-border-width) solid transparent;border-right:var(--ag-tab-selected-border-width) solid transparent;color:var(--ag-tab-text-color);cursor:pointer;display:flex;flex:1;justify-content:center;padding:var(--ag-tab-top-padding) var(--ag-tab-horizontal-padding) var(--ag-tab-bottom-padding);position:relative}.ag-tab:hover{background-color:var(--ag-tab-hover-background-color);color:var(--ag-tab-hover-text-color)}.ag-tab.ag-tab-selected{background-color:var(--ag-tab-selected-background-color);color:var(--ag-tab-selected-text-color)}:where(.ag-ltr) .ag-tab.ag-tab-selected:where(:not(:first-of-type)){border-left-color:var(--ag-tab-selected-border-color)}:where(.ag-rtl) .ag-tab.ag-tab-selected:where(:not(:first-of-type)){border-right-color:var(--ag-tab-selected-border-color)}:where(.ag-ltr) .ag-tab.ag-tab-selected:where(:not(:last-of-type)){border-right-color:var(--ag-tab-selected-border-color)}:where(.ag-rtl) .ag-tab.ag-tab-selected:where(:not(:last-of-type)){border-left-color:var(--ag-tab-selected-border-color)}.ag-tab:after{background-color:var(--ag-tab-selected-underline-color);bottom:0;content:\"\";display:block;height:var(--ag-tab-selected-underline-width);left:0;opacity:0;position:absolute;right:0;transition:opacity var(--ag-tab-selected-underline-transition-duration)}.ag-tab.ag-tab-selected:after{opacity:1}";var VB={tabBarBackgroundColor:"transparent",tabBarHorizontalPadding:0,tabBarTopPadding:0,tabBackgroundColor:"transparent",tabTextColor:{ref:"textColor"},tabHorizontalPadding:{ref:"spacing"},tabTopPadding:{ref:"spacing"},tabBottomPadding:{ref:"spacing"},tabSpacing:"0",tabHoverBackgroundColor:{ref:"tabBackgroundColor"},tabHoverTextColor:{ref:"tabTextColor"},tabSelectedBackgroundColor:{ref:"tabBackgroundColor"},tabSelectedTextColor:{ref:"tabTextColor"},tabSelectedBorderWidth:{ref:"borderWidth"},tabSelectedBorderColor:"transparent",tabSelectedUnderlineColor:"transparent",tabSelectedUnderlineWidth:0,tabSelectedUnderlineTransitionDuration:0,tabBarBorder:!1};var fB=()=>FQ({feature:"tabStyle",params:{...VB,tabBarBorder:!0,tabBarBackgroundColor:r0(0.05),tabTextColor:{ref:"textColor",mix:0.7},tabSelectedTextColor:{ref:"textColor"},tabHoverTextColor:{ref:"textColor"},tabSelectedBorderColor:{ref:"borderColor"},tabSelectedBackgroundColor:x0},css:kB}),AB=fB();var jB=()=>({fontFamily:[{googleFont:"IBM Plex Sans"},"-apple-system","BlinkMacSystemFont","Segoe UI","Roboto","Oxygen-Sans","Ubuntu"]}),RB=()=>XB().withPart(qB).withPart(UB).withPart(EB).withPart(AB).withPart(MB).withPart(b$).withParams(jB()),V6=RB();var Ez=(Q,z,J,Z,$)=>({changeKey:Q,type:z,defaultValue:J,noWarn:Z,cacheDefault:$}),SB=Ez("cellHorizontalPadding","length",16),OB=Ez("indentationLevel","length",0,!0,!0),PB=Ez("rowGroupIndentSize","length",0),n7=Ez("rowHeight","length",42),d7=Ez("headerHeight","length",48),d2=Ez("rowBorderWidth","border",1),t7=Ez("pinnedRowBorderWidth","border",1),TB=Ez("headerRowBorderWidth","border",1);function vB(Q,z){for(let J of z.sort((Z,$)=>Z.moduleName.localeCompare($.moduleName))){let Z=J.css;if(Z)Q.set(`module-${J.moduleName}`,Z)}}var IB=class extends mW{initVariables(){this.addManagedPropertyListener("rowHeight",()=>this.refreshRowHeightVariable()),this.getSizeEl(n7),this.getSizeEl(d7),this.getSizeEl(d2),this.getSizeEl(t7),this.refreshRowBorderWidthVariable()}getPinnedRowBorderWidth(){return this.getCSSVariablePixelValue(t7)}getRowBorderWidth(){return this.getCSSVariablePixelValue(d2)}getHeaderRowBorderWidth(){return this.getCSSVariablePixelValue(TB)}getDefaultRowHeight(){return this.getCSSVariablePixelValue(n7)}getDefaultHeaderHeight(){return this.getCSSVariablePixelValue(d7)}getDefaultCellHorizontalPadding(){return this.getCSSVariablePixelValue(SB)}getCellPaddingLeft(){let Q=this.getDefaultCellHorizontalPadding(),z=this.getCSSVariablePixelValue(OB),J=this.getCSSVariablePixelValue(PB);return Q-1+J*z}getCellPadding(){let Q=this.getDefaultCellHorizontalPadding()-1;return this.getCellPaddingLeft()+Q}getDefaultColumnMinWidth(){return Math.min(36,this.getDefaultRowHeight())}refreshRowHeightVariable(){let{eRootDiv:Q}=this,z=Q.style.getPropertyValue("--ag-line-height").trim(),J=this.gos.get("rowHeight");if(J==null||isNaN(J)||!isFinite(J)){if(z!==null)Q.style.setProperty("--ag-line-height",null);return-1}let Z=`${J}px`;if(z!=Z)return Q.style.setProperty("--ag-line-height",Z),J;return z!=""?Number.parseFloat(z):-1}fireStylesChangedEvent(Q){if(Q==="rowBorderWidth")this.refreshRowBorderWidthVariable();super.fireStylesChangedEvent(Q)}refreshRowBorderWidthVariable(){let Q=this.getCSSVariablePixelValue(d2);this.eRootDiv.style.setProperty("--ag-internal-row-border-width",`${Q}px`)}postProcessThemeChange(Q,z){if(Q&&getComputedStyle(this.getMeasurementContainer()).getPropertyValue("--ag-legacy-styles-loaded"))if(z)e(106);else e(239)}getAdditionalCss(){let Q=new Map;return Q.set("core",[pW]),vB(Q,Array.from(SG())),Q}getDefaultTheme(){return V6}varError(Q,z){R(9,{variable:{cssName:Q,defaultValue:z}})}themeError(Q){e(240,{theme:Q})}shadowRootError(){e(293)}},CB=class extends j0{constructor(){super(...arguments);this.beanName="eventSvc",this.eventServiceType="global",this.globalSvc=new KQ}addListener(Q,z,J){this.globalSvc.addEventListener(Q,z,J)}removeListener(Q,z,J){this.globalSvc.removeEventListener(Q,z,J)}addGlobalListener(Q,z=!1){this.globalSvc.addGlobalListener(Q,z)}removeGlobalListener(Q,z=!1){this.globalSvc.removeGlobalListener(Q,z)}dispatchEvent(Q){this.globalSvc.dispatchEvent(this.gos.addCommon(Q))}dispatchEventOnce(Q){this.globalSvc.dispatchEventOnce(this.gos.addCommon(Q))}},bB=class extends CB{postConstruct(){let{globalListener:Q,globalSyncListener:z}=this.beans;if(Q)this.addGlobalListener(Q,!0);if(z)this.addGlobalListener(z,!1)}};function K5(Q,z,J){let Z=Q.visibleCols.headerGroupRowCount;if(J>=Z)return{column:z,headerRowIndex:J};let $=z.getParent();while($&&$.getProvidedColumnGroup().getLevel()>J)$=$.getParent();let X=z.isSpanHeaderHeight();if(!$||X&&$.isPadding())return{column:z,headerRowIndex:Z};return{column:$,headerRowIndex:$.getProvidedColumnGroup().getLevel()}}var yB=class extends j{constructor(){super(...arguments);this.beanName="headerNavigation",this.currentHeaderRowWithoutSpan=-1}postConstruct(){let Q=this.beans;Q.ctrlsSvc.whenReady(this,(J)=>{this.gridBodyCon=J.gridBodyCtrl});let z=Y0(Q);this.addManagedElementListeners(z,{mousedown:()=>{this.currentHeaderRowWithoutSpan=-1}})}getHeaderPositionForColumn(Q,z){let J,{colModel:Z,colGroupSvc:$,ctrlsSvc:X}=this.beans;if(typeof Q==="string"){if(J=Z.getCol(Q),!J)J=$?.getColumnGroup(Q)??null}else J=Q;if(!J)return null;let G=X.getHeaderRowContainerCtrl()?.getAllCtrls(),q=b(G||[]).type==="filter",H=l0(this.beans)-1,_=-1,U=J;while(U)_++,U=U.getParent();let W=_;if(z&&q&&W===H-1)W++;return W===-1?null:{headerRowIndex:W,column:J}}navigateVertically(Q,z){let{focusSvc:J,visibleCols:Z}=this.beans,{focusedHeader:$}=J;if(!$)return!1;let{headerRowIndex:X}=$,Y=$.column,G=l0(this.beans),q=this.getHeaderRowType(X),H=Z.headerGroupRowCount,{headerRowIndex:_,column:U,headerRowIndexWithoutSpan:W}=Q==="UP"?xB(q,Y,X):wB(Y,X,H),B=!1;if(_<0)_=0,U=Y,B=!0;if(_>=G)_=-1,this.currentHeaderRowWithoutSpan=-1;else if(W!==void 0)this.currentHeaderRowWithoutSpan=W;if(!B&&!U)return!1;return J.focusHeaderPosition({headerPosition:{headerRowIndex:_,column:U},allowUserOverride:!0,event:z})}navigateHorizontally(Q,z=!1,J){let{focusSvc:Z,gos:$}=this.beans,X={...Z.focusedHeader},Y,G;if(this.currentHeaderRowWithoutSpan!==-1)X.headerRowIndex=this.currentHeaderRowWithoutSpan;else this.currentHeaderRowWithoutSpan=X.headerRowIndex;if(Q==="LEFT"!==$.get("enableRtl"))G="Before",Y=this.findHeader(X,G);else G="After",Y=this.findHeader(X,G);let q=$.getCallback("tabToNextHeader");if(z&&q){let H=Z.focusHeaderPositionFromUserFunc({userFunc:q,headerPosition:Y,direction:G});if(H){let{headerRowIndex:_}=Z.focusedHeader||{};if(_!=null&&_!=X.headerRowIndex)this.currentHeaderRowWithoutSpan=_}return H}if(Y||!z)return Z.focusHeaderPosition({headerPosition:Y,direction:G,fromTab:z,allowUserOverride:!0,event:J});return this.focusNextHeaderRow(X,G,J)}focusNextHeaderRow(Q,z,J){let Z=this.beans,$=Q.headerRowIndex,X=null,Y,G=l0(Z),q=this.beans.visibleCols.allCols;if(z==="Before"){if($<=0)return!1;X=b(q),Y=$-1,this.currentHeaderRowWithoutSpan-=1}else if(X=q[0],Y=$+1,this.currentHeaderRowWithoutSpan<G)this.currentHeaderRowWithoutSpan+=1;else this.currentHeaderRowWithoutSpan=-1;let{column:H,headerRowIndex:_}=K5(this.beans,X,Y);if(_>=G)_=-1;return Z.focusSvc.focusHeaderPosition({headerPosition:{column:H,headerRowIndex:_},direction:z,fromTab:!0,allowUserOverride:!0,event:J})}scrollToColumn(Q,z="After"){if(Q.getPinned())return;let J;if(_0(Q)){let Z=Q.getDisplayedLeafColumns();J=z==="Before"?b(Z):Z[0]}else J=Q;this.gridBodyCon.scrollFeature.ensureColumnVisible(J)}findHeader(Q,z){let{colGroupSvc:J,visibleCols:Z}=this.beans,$=Q.column;if($ instanceof a1){let q=$.getDisplayedLeafColumns();$=z==="Before"?q[0]:q[q.length-1]}let X=z==="Before"?Z.getColBefore($):Z.getColAfter($);if(!X)return;let Y=Z.headerGroupRowCount;if(Q.headerRowIndex>=Y)return{headerRowIndex:Q.headerRowIndex,column:X};let G=J?.getColGroupAtLevel(X,Q.headerRowIndex);if(!G)return{headerRowIndex:X instanceof GQ&&X.isSpanHeaderHeight()?Z.headerGroupRowCount:Q.headerRowIndex,column:X};if(G.isPadding()&&X.isSpanHeaderHeight())return{headerRowIndex:Z.headerGroupRowCount,column:X};return{headerRowIndex:Q.headerRowIndex,column:G??X}}getHeaderRowType(Q){let z=this.beans.ctrlsSvc.getHeaderRowContainerCtrl();if(z)return z.getRowType(Q)}};function xB(Q,z,J){let Z=J-1;if(Q!=="filter"){let $=z instanceof GQ&&z.isSpanHeaderHeight(),X=z.getParent();while(X&&(X.getProvidedColumnGroup().getLevel()>Z||$&&X.isPadding()))X=X.getParent();if(X)if($)return{column:X,headerRowIndex:X.getProvidedColumnGroup().getLevel(),headerRowIndexWithoutSpan:Z};else return{column:X,headerRowIndex:Z,headerRowIndexWithoutSpan:Z}}return{column:z,headerRowIndex:Z,headerRowIndexWithoutSpan:Z}}function wB(Q,z,J){let Z=z+1,$={column:Q,headerRowIndex:Z,headerRowIndexWithoutSpan:Z};if(Q instanceof a1){if(Z>=J)return{column:Q.getDisplayedLeafColumns()[0],headerRowIndex:J,headerRowIndexWithoutSpan:Z};let Y=Q.getDisplayedChildren()[0];if(Y instanceof a1&&Y.isPadding()){let q=Y.getDisplayedLeafColumns()[0];if(q.isSpanHeaderHeight())Y=q}if($.column=Y,Y instanceof GQ&&Y.isSpanHeaderHeight())$.headerRowIndex=J,$.headerRowIndexWithoutSpan=Z}return $}var NB=class extends j{constructor(){super(...arguments);this.beanName="focusSvc",this.focusFallbackTimeout=null,this.needsFocusRestored=!1}wireBeans(Q){this.colModel=Q.colModel,this.visibleCols=Q.visibleCols,this.rowRenderer=Q.rowRenderer,this.navigation=Q.navigation,this.filterManager=Q.filterManager,this.overlays=Q.overlays}postConstruct(){let Q=this.clearFocusedCell.bind(this);this.addManagedEventListeners({columnPivotModeChanged:Q,newColumnsLoaded:this.onColumnEverythingChanged.bind(this),columnGroupOpened:Q,columnRowGroupChanged:Q}),this.addDestroyFunc(iq(this.beans))}attemptToRecoverFocus(){if(this.needsFocusRestored=!0,this.focusFallbackTimeout!=null)clearTimeout(this.focusFallbackTimeout);this.focusFallbackTimeout=window.setTimeout(this.setFocusRecovered.bind(this),100)}setFocusRecovered(){if(this.needsFocusRestored=!1,this.focusFallbackTimeout!=null)clearTimeout(this.focusFallbackTimeout),this.focusFallbackTimeout=null}shouldTakeFocus(){if(this.gos.get("suppressFocusAfterRefresh"))return this.setFocusRecovered(),!1;if(this.needsFocusRestored)return this.setFocusRecovered(),!0;return this.doesRowOrCellHaveBrowserFocus()}onColumnEverythingChanged(){if(!this.focusedCell)return;let Q=this.focusedCell.column,z=this.colModel.getCol(Q.getId());if(Q!==z)this.clearFocusedCell()}getFocusCellToUseAfterRefresh(){let{gos:Q,focusedCell:z}=this;if(Q.get("suppressFocusAfterRefresh")||Q.get("suppressCellFocus")||!z)return null;if(!this.doesRowOrCellHaveBrowserFocus())return null;return z}getFocusHeaderToUseAfterRefresh(){if(this.gos.get("suppressFocusAfterRefresh")||!this.focusedHeader)return null;if(!this.isDomDataPresentInHierarchy(d(this.beans),s9))return null;return this.focusedHeader}doesRowOrCellHaveBrowserFocus(){let Q=d(this.beans);if(this.isDomDataPresentInHierarchy(Q,HZ,!0))return!0;return this.isDomDataPresentInHierarchy(Q,_Z,!0)}isDomDataPresentInHierarchy(Q,z,J){let Z=Q;while(Z){let $=Y9(this.gos,Z,z);if($){if($.destroyed&&J)return this.attemptToRecoverFocus(),!1;return!0}Z=Z.parentNode}return!1}getFocusedCell(){return this.focusedCell}getFocusEventParams(Q){let{rowIndex:z,rowPinned:J,column:Z}=Q,$={rowIndex:z,rowPinned:J,column:Z,isFullWidthCell:!1},X=this.rowRenderer.getRowByPosition({rowIndex:z,rowPinned:J});if(X)$.isFullWidthCell=X.isFullWidth();return $}clearFocusedCell(){if(this.focusedCell==null)return;let Q=this.getFocusEventParams(this.focusedCell);this.focusedCell=null,this.eventSvc.dispatchEvent({type:"cellFocusCleared",...Q})}setFocusedCell(Q){this.setFocusRecovered();let{column:z,rowIndex:J,rowPinned:Z,forceBrowserFocus:$=!1,preventScrollOnBrowserFocus:X=!1,sourceEvent:Y}=Q,G=this.colModel.getCol(z);if(!G){this.focusedCell=null;return}this.focusedCell={rowIndex:J,rowPinned:RQ(Z),column:G};let q=this.getFocusEventParams(this.focusedCell);this.eventSvc.dispatchEvent({type:"cellFocused",...q,...this.previousCellFocusParams&&{previousParams:this.previousCellFocusParams},forceBrowserFocus:$,preventScrollOnBrowserFocus:X,sourceEvent:Y}),this.previousCellFocusParams=q}isCellFocused(Q){if(this.focusedCell==null)return!1;return f1(Q,this.focusedCell)}isHeaderWrapperFocused(Q){if(this.focusedHeader==null)return!1;let{column:z,rowCtrl:{rowIndex:J,pinned:Z}}=Q,{column:$,headerRowIndex:X}=this.focusedHeader;return z===$&&J===X&&Z==$.getPinned()}focusHeaderPosition(Q){if(this.setFocusRecovered(),_Q(this.beans))return!1;let{direction:z,fromTab:J,allowUserOverride:Z,event:$,fromCell:X,rowWithoutSpanValue:Y,scroll:G=!0}=Q,{headerPosition:q}=Q;if(X&&this.filterManager?.isAdvFilterHeaderActive())return this.focusAdvancedFilter(q);if(Z){let H=this.focusedHeader,_=l0(this.beans);if(J){let U=this.gos.getCallback("tabToNextHeader");if(U)q=this.getHeaderPositionFromUserFunc({userFunc:U,direction:z,currentPosition:H,headerPosition:q,headerRowCount:_})}else{let U=this.gos.getCallback("navigateToNextHeader");if(U&&$){let W={key:$.key,previousHeaderPosition:H,nextHeaderPosition:q,headerRowCount:_,event:$},B=U(W);q=B===null?H:B}}}if(!q)return!1;return this.focusProvidedHeaderPosition({headerPosition:q,direction:z,event:$,fromCell:X,rowWithoutSpanValue:Y,scroll:G})}focusHeaderPositionFromUserFunc(Q){if(_Q(this.beans))return!1;let{userFunc:z,headerPosition:J,direction:Z,event:$}=Q,X=this.focusedHeader,Y=l0(this.beans),G=this.getHeaderPositionFromUserFunc({userFunc:z,direction:Z,currentPosition:X,headerPosition:J,headerRowCount:Y});return!!G&&this.focusProvidedHeaderPosition({headerPosition:G,direction:Z,event:$})}getHeaderPositionFromUserFunc(Q){let{userFunc:z,direction:J,currentPosition:Z,headerPosition:$,headerRowCount:X}=Q,G=z({backwards:J==="Before",previousHeaderPosition:Z,nextHeaderPosition:$,headerRowCount:X});if(G===!0)return Z;if(G===!1)return null;return G}focusProvidedHeaderPosition(Q){let{headerPosition:z,direction:J,fromCell:Z,rowWithoutSpanValue:$,event:X,scroll:Y=!0}=Q,{column:G,headerRowIndex:q}=z,{filterManager:H,ctrlsSvc:_,headerNavigation:U}=this.beans;if(this.focusedHeader&&KH(Q.headerPosition,this.focusedHeader))return!1;if(q===-1){if(H?.isAdvFilterHeaderActive())return this.focusAdvancedFilter(z);return this.focusGridView({column:G,event:X})}if(Y)U?.scrollToColumn(G,J);let B=_.getHeaderRowContainerCtrl(G.getPinned())?.focusHeader(z.headerRowIndex,G,X)||!1;if(U&&B&&($!=null||Z))U.currentHeaderRowWithoutSpan=$??-1;return B}focusFirstHeader(){if(this.overlays?.exclusive&&this.focusOverlay())return!0;let Q=this.visibleCols.allCols[0];if(!Q)return!1;let z=K5(this.beans,Q,0);return this.focusHeaderPosition({headerPosition:z,rowWithoutSpanValue:0})}focusLastHeader(Q){if(this.overlays?.exclusive&&this.focusOverlay(!0))return!0;let z=l0(this.beans)-1,J=b(this.visibleCols.allCols);return this.focusHeaderPosition({headerPosition:{headerRowIndex:z,column:J},rowWithoutSpanValue:-1,event:Q})}focusPreviousFromFirstCell(Q){if(this.filterManager?.isAdvFilterHeaderActive())return this.focusAdvancedFilter(null);return this.focusLastHeader(Q)}isAnyCellFocused(){return!!this.focusedCell}isRowFocused(Q,z){if(this.focusedCell==null)return!1;return this.focusedCell.rowIndex===Q&&this.focusedCell.rowPinned===RQ(z)}focusOverlay(Q){let z=this.overlays?.isVisible()&&this.overlays.eWrapper?.getGui();return!!z&&D0(z,Q)}getDefaultTabToNextGridContainerTarget(Q){let{backwards:z,focusableContainers:J}=Q,Z=z?-1:1,$,X=()=>{if($===void 0)$=this.getGridBodyTabTarget(z);return $};for(let Y=Q.nextIndex;Y>=0&&Y<J.length;Y+=Z){let G=_H(J[Y],X);if(G)return G}return null}getGridBodyTabTarget(Q){if(Q)return this.getGridViewTabTarget({column:b(this.visibleCols.allCols),backwards:!0});let z=this.visibleCols.allCols[0];if(this.gos.get("headerHeight")===0||_Q(this.beans))return this.getGridViewTabTarget({column:z});if(!z)return null;return K5(this.beans,z,0)}getGridViewTabTarget(Q){let{backwards:z=!1}=Q,J=Q.column??this.focusedHeader?.column;if(!J)return null;if(this.overlays?.exclusive)return null;if(qZ(this.beans))return z&&!_Q(this.beans)?{headerRowIndex:l0(this.beans)-1,column:J}:null;let Z=z?Gz(this.beans):K1(this.beans);if(Z?.rowIndex==null){if(this.overlays?.isVisible())return null;if(z&&!_Q(this.beans)){let X=b(this.visibleCols.allCols);if(X)return{headerRowIndex:l0(this.beans)-1,column:X}}return null}let $=M0(this.beans,Z);if(!$||J.isSuppressNavigable($))return null;if(z){if(this.rowRenderer.getRowByPosition(Z)?.isFullWidth())return null}return{rowIndex:Z.rowIndex,rowPinned:Z.rowPinned,column:J}}focusGridView(Q){let{backwards:z=!1,canFocusOverlay:J=!0,event:Z}=Q;if(this.overlays?.exclusive)return J&&this.focusOverlay(z);if(qZ(this.beans)){if(z){if(!_Q(this.beans))return this.focusLastHeader()}if(J&&this.focusOverlay(z))return!0;if(z)return!1;return $Q(this.beans,z)}let $=z?Gz(this.beans):K1(this.beans);if($){let X=Q.column??this.focusedHeader?.column,{rowIndex:Y,rowPinned:G}=$,q=M0(this.beans,$);if(!X||!q||Y==null)return!1;if(X.isSuppressNavigable(q)){let H=this.gos.get("enableRtl"),_;if(!Z||Z.key===V.TAB)_=H?V.LEFT:V.RIGHT;else _=Z.key;return this.beans.navigation?.navigateToNextCell(null,_,{rowIndex:Y,column:X,rowPinned:G||null},!0),!0}if(this.navigation?.ensureCellVisible({rowIndex:Y,column:X,rowPinned:G}),z){if(this.rowRenderer.getRowByPosition($)?.isFullWidth()&&this.navigation?.tryToFocusFullWidthRow($,z))return!0}if(this.setFocusedCell({rowIndex:Y,column:X,rowPinned:RQ(G),forceBrowserFocus:!0}),!v0(X))this.beans.rangeSvc?.setRangeToCell({rowIndex:Y,rowPinned:G,column:X});return!0}if(J&&this.focusOverlay(z))return!0;if(z&&this.focusLastHeader())return!0;return!1}focusAdvancedFilter(Q){return this.advFilterFocusColumn=Q?.column,this.beans.advancedFilter?.getCtrl().focusHeaderComp()??!1}focusNextFromAdvancedFilter(Q,z){let J=(z?void 0:this.advFilterFocusColumn)??this.visibleCols.allCols?.[0];if(Q)return this.focusHeaderPosition({headerPosition:{column:J,headerRowIndex:l0(this.beans)-1}});return this.focusGridView({column:J})}clearAdvancedFilterColumn(){this.advFilterFocusColumn=void 0}},gB=class extends j{constructor(){super(...arguments);this.beanName="scrollVisibleSvc"}wireBeans(Q){this.ctrlsSvc=Q.ctrlsSvc,this.colAnimation=Q.colAnimation}postConstruct(){let{gos:Q}=this;this.horizontalScrollShowing=Q.get("alwaysShowHorizontalScroll")===!0,this.verticalScrollShowing=Q.get("alwaysShowVerticalScroll")===!0,this.getScrollbarWidth();let z=this.updateScrollVisible.bind(this);this.addManagedEventListeners({displayedColumnsChanged:z,displayedColumnsWidthChanged:z,newColumnsLoaded:z})}updateScrollVisible(){let{colAnimation:Q}=this;if(Q?.isActive())Q.executeLaterVMTurn(()=>{Q.executeLaterVMTurn(()=>this.updateScrollVisibleImpl())});else this.updateScrollVisibleImpl()}updateScrollVisibleImpl(){let Q=this.ctrlsSvc.get("center");if(!Q||this.colAnimation?.isActive())return;let z={horizontalScrollShowing:Q.isHorizontalScrollShowing(),verticalScrollShowing:this.verticalScrollShowing};this.setScrollsVisible(z),this.updateScrollGap()}updateScrollGap(){let Q=this.ctrlsSvc.get("center"),z=Q.hasHorizontalScrollGap(),J=Q.hasVerticalScrollGap();if(this.horizontalScrollGap!==z||this.verticalScrollGap!==J)this.horizontalScrollGap=z,this.verticalScrollGap=J,this.eventSvc.dispatchEvent({type:"scrollGapChanged"})}setScrollsVisible(Q){if(this.horizontalScrollShowing!==Q.horizontalScrollShowing||this.verticalScrollShowing!==Q.verticalScrollShowing)this.horizontalScrollShowing=Q.horizontalScrollShowing,this.verticalScrollShowing=Q.verticalScrollShowing,this.eventSvc.dispatchEvent({type:"scrollVisibilityChanged"})}getScrollbarWidth(){if(this.scrollbarWidth==null){let Q=this.gos.get("scrollbarWidth"),J=typeof Q==="number"&&Q>=0?Q:s5();if(J!=null)this.scrollbarWidth=J,this.eventSvc.dispatchEvent({type:"scrollbarWidthChanged"})}return this.scrollbarWidth}},hB=class extends j{constructor(){super(...arguments);this.beanName="gridDestroySvc",this.destroyCalled=!1}destroy(){if(this.destroyCalled)return;let{stateSvc:Q,ctrlsSvc:z,context:J}=this.beans;this.eventSvc.dispatchEvent({type:"gridPreDestroyed",state:Q?.getState()??{}}),this.destroyCalled=!0,z.get("gridCtrl")?.destroyGridUi(),J.destroy(),super.destroy()}},uB=["columnEverythingChanged","newColumnsLoaded","columnPivotModeChanged","pivotMaxColumnsExceeded","columnRowGroupChanged","expandOrCollapseAll","columnPivotChanged","gridColumnsChanged","columnValueChanged","columnMoved","columnVisible","columnPinned","columnGroupOpened","columnResized","displayedColumnsChanged","virtualColumnsChanged","columnHeaderMouseOver","columnHeaderMouseLeave","columnHeaderClicked","columnHeaderContextMenu","asyncTransactionsFlushed","rowGroupOpened","rowDataUpdated","pinnedRowDataChanged","pinnedRowsChanged","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","filterUiChanged","filterOpened","floatingFilterUiChanged","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","findChanged","rowResizeStarted","rowResizeEnded","columnsReset","bulkEditingStarted","bulkEditingStopped","batchEditingStarted","batchEditingStopped"];var lJ=new Set(["gridPreDestroyed","fillStart","pasteStart"]),f6=uB.reduce((Q,z)=>{return Q[z]=nG(z),Q},{}),B1={agSetColumnFilter:"SetFilter",agSetColumnFloatingFilter:"SetFilter",agMultiColumnFilter:"MultiFilter",agMultiColumnFloatingFilter:"MultiFilter",agGroupColumnFilter:"GroupFilter",agGroupColumnFloatingFilter:"GroupFilter",agGroupCellRenderer:"GroupCellRenderer",agGroupRowRenderer:"GroupCellRenderer",agRichSelect:"RichSelect",agRichSelectCellEditor:"RichSelect",agDetailCellRenderer:"SharedMasterDetail",agSparklineCellRenderer:"Sparklines",agDragAndDropImage:"SharedDragAndDrop",agColumnHeader:"ColumnHeaderComp",agColumnGroupHeader:"ColumnGroupHeaderComp",agSortIndicator:"Sort",agAnimateShowChangeCellRenderer:"HighlightChanges",agAnimateSlideCellRenderer:"HighlightChanges",agLoadingCellRenderer:"LoadingCellRenderer",agSkeletonCellRenderer:"SkeletonCellRenderer",agCheckboxCellRenderer:"CheckboxCellRenderer",agLoadingOverlay:"Overlay",agExportingOverlay:"Overlay",agNoRowsOverlay:"Overlay",agNoMatchingRowsOverlay:"Overlay",agTooltipComponent:"Tooltip",agReadOnlyFloatingFilter:"CustomFilter",agTextColumnFilter:"TextFilter",agNumberColumnFilter:"NumberFilter",agBigIntColumnFilter:"BigIntFilter",agDateColumnFilter:"DateFilter",agDateInput:"DateFilter",agTextColumnFloatingFilter:"TextFilter",agNumberColumnFloatingFilter:"NumberFilter",agBigIntColumnFloatingFilter:"BigIntFilter",agDateColumnFloatingFilter:"DateFilter",agFormulaCellEditor:"Formula",agCellEditor:"TextEditor",agSelectCellEditor:"SelectEditor",agTextCellEditor:"TextEditor",agNumberCellEditor:"NumberEditor",agDateCellEditor:"DateEditor",agDateStringCellEditor:"DateEditor",agCheckboxCellEditor:"CheckboxEditor",agLargeTextCellEditor:"LargeTextEditor",agMenuItem:"MenuItem",agColumnsToolPanel:"ColumnsToolPanel",agFiltersToolPanel:"FiltersToolPanel",agNewFiltersToolPanel:"NewFiltersToolPanel",agAggregationComponent:"StatusBar",agSelectedRowCountComponent:"StatusBar",agTotalRowCountComponent:"StatusBar",agFilteredRowCountComponent:"StatusBar",agTotalAndFilteredRowCountComponent:"StatusBar",agFindCellRenderer:"Find"};function r7(Q){return`"${Q}"`}var mB=()=>({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."},rowGroupingHierarchy:{version:"34.3",message:"Use `colDef.groupHierarchy` instead."}}),cB={allowFormula:"Formula",aggFunc:"SharedAggregation",autoHeight:"RowAutoHeight",cellClass:"CellStyle",cellClassRules:"CellStyle",cellEditor:({cellEditor:Q,editable:z,groupRowEditable:J})=>{if(!(!!z||!!J))return null;if(typeof Q==="string")return B1[Q]??"CustomEditor";return"CustomEditor"},cellRenderer:({cellRenderer:Q})=>{if(typeof Q!=="string")return null;return B1[Q]},cellStyle:"CellStyle",columnChooserParams:"ColumnMenu",contextMenuItems:"ContextMenu",dndSource:"DragAndDrop",dndSourceOnRowDrag:"DragAndDrop",editable:({editable:Q,cellEditor:z})=>{if(Q&&!z)return"TextEditor";return null},groupRowEditable:({groupRowEditable:Q,cellEditor:z})=>{if(!Q)return null;return z?"RowGroupingEdit":["RowGroupingEdit","TextEditor"]},groupRowValueSetter:({groupRowValueSetter:Q})=>Q?"RowGroupingEdit":null,enableCellChangeFlash:"HighlightChanges",enablePivot:"SharedPivot",enableRowGroup:"SharedRowGrouping",enableValue:"SharedAggregation",filter:({filter:Q})=>{if(Q&&typeof Q!=="string"&&typeof Q!=="boolean")return"CustomFilter";if(typeof Q==="string")return B1[Q]??"ColumnFilter";return"ColumnFilter"},floatingFilter:"ColumnFilter",getQuickFilterText:"QuickFilter",headerTooltip:"Tooltip",headerTooltipValueGetter:"Tooltip",mainMenuItems:"ColumnMenu",menuTabs:(Q)=>{let z=["columnsMenuTab","generalMenuTab"];if(Q.menuTabs?.some((J)=>z.includes(J)))return"ColumnMenu";return null},pivot:"SharedPivot",pivotIndex:"SharedPivot",rowDrag:"RowDrag",rowGroup:"SharedRowGrouping",rowGroupIndex:"SharedRowGrouping",tooltipField:"Tooltip",tooltipValueGetter:"Tooltip",tooltipComponentSelector:"Tooltip",spanRows:"CellSpan",groupHierarchy:"SharedRowGrouping"},pB=()=>{return{autoHeight:{supportedRowModels:["clientSide","serverSide"],validate:(z,{paginationAutoPageSize:J})=>{if(J)return"colDef.autoHeight is not supported with paginationAutoPageSize.";return null}},allowFormula:{supportedRowModels:["clientSide"]},cellRendererParams:{validate:(z)=>{if((z.rowGroup!=null||z.rowGroupIndex!=null||z.cellRenderer==="agGroupCellRenderer")&&"checkbox"in z.cellRendererParams)return'Since v33.0, `cellRendererParams.checkbox` has been deprecated. Use `rowSelection.checkboxLocation = "autoGroupColumn"` instead.';return null}},flex:{validate:(z,J)=>{if(J.autoSizeStrategy)return"colDef.flex is not supported with gridOptions.autoSizeStrategy";return null}},headerCheckboxSelection:{supportedRowModels:["clientSide","serverSide"],validate:(z,{rowSelection:J})=>J==="multiple"?null:"headerCheckboxSelection is only supported with rowSelection=multiple"},headerCheckboxSelectionCurrentPageOnly:{supportedRowModels:["clientSide"],validate:(z,{rowSelection:J})=>J==="multiple"?null:"headerCheckboxSelectionCurrentPageOnly is only supported with rowSelection=multiple"},headerCheckboxSelectionFilteredOnly:{supportedRowModels:["clientSide"],validate:(z,{rowSelection:J})=>J==="multiple"?null:"headerCheckboxSelectionFilteredOnly is only supported with rowSelection=multiple"},headerValueGetter:{validate:(z)=>{let J=z.headerValueGetter;if(typeof J==="function"||typeof J==="string")return null;return"headerValueGetter must be a function or a valid string expression"}},icons:{validate:({icons:z})=>{if(z){if(z.smallDown)return QQ(262);if(z.smallLeft)return QQ(263);if(z.smallRight)return QQ(264)}return null}},sort:{validate:(z)=>{if(U1(z.sort)||$z(z.sort))return null;return`sort must be of type (SortDirection | SortDef), currently it is ${typeof z.sort==="object"?JSON.stringify(z.sort):nJ(z.sort)}`}},initialSort:{validate:(z)=>{if(U1(z.initialSort)||$z(z.initialSort))return null;return`initialSort must be of non-null type (SortDirection | SortDef), currently it is ${typeof z.initialSort==="object"?JSON.stringify(z.initialSort):nJ(z.initialSort)}`}},sortingOrder:{validate:(z)=>{let J=z.sortingOrder;if(Array.isArray(J)&&J.length>0){let Z=J.filter(($)=>{return!(U1($)||$z($))});if(Z.length>0)return`sortingOrder must be an array of type non-null (SortDirection | SortDef)[], incorrect items are: [${Z.map(($)=>typeof $==="string"||$==null?nJ($):JSON.stringify($)).join(", ")}]`}else if(!Array.isArray(J)||!J.length)return`sortingOrder must be an array with at least one element, currently it is [${J}]`;return null}},type:{validate:(z)=>{let J=z.type;if(J instanceof Array){if(J.some(($)=>typeof $!=="string"))return"if colDef.type is supplied an array it should be of type 'string[]'";return null}if(typeof J==="string")return null;return"colDef.type should be of type 'string' | 'string[]'"}},rowSpan:{validate:(z,{suppressRowTransform:J})=>{if(!J)return"colDef.rowSpan requires suppressRowTransform to be enabled.";return null}},spanRows:{dependencies:{editable:{required:[!1,void 0]},groupRowEditable:{required:[!1,void 0]},rowDrag:{required:[!1,void 0]},colSpan:{required:[void 0]},rowSpan:{required:[void 0]}},validate:(z,{rowSelection:J,cellSelection:Z,suppressRowTransform:$,enableCellSpan:X,rowDragEntireRow:Y,enableCellTextSelection:G})=>{if(typeof J==="object"){if(J?.mode==="singleRow"&&J?.enableClickSelection)return"colDef.spanRows is not supported with rowSelection.clickSelection"}if(Z)return"colDef.spanRows is not supported with cellSelection.";if($)return"colDef.spanRows is not supported with suppressRowTransform.";if(!X)return"colDef.spanRows requires enableCellSpan to be enabled.";if(Y)return"colDef.spanRows is not supported with rowDragEntireRow.";if(G)return"colDef.spanRows is not supported with enableCellTextSelection.";return null}},groupHierarchy:{validate(z,{groupHierarchyConfig:J={}},Z){let $=new Set(["year","quarter","month","formattedMonth","day","hour","minute","second"]),X=[];for(let Y of z.groupHierarchy??[]){if(typeof Y==="object"){Z.validation?.validateColDef(Y);continue}if(!$.has(Y)&&!(Y in J))X.push(r7(Y))}if(X.length>0){let Y=`The following parts of colDef.groupHierarchy are not recognised: ${X.join(", ")}.`,G=`Choose one of ${[...$].map(r7).join(", ")}, or define your own parts in gridOptions.groupHierarchyConfig.`;return`${Y}
${G}`}return null}}}},iB={headerName:void 0,columnGroupShow:void 0,headerStyle: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,headerTooltipValueGetter:void 0,cellClass:void 0,showRowGroup:void 0,filter:void 0,initialAggFunc:void 0,defaultAggFunc:void 0,aggFunc:void 0,groupRowEditable:void 0,groupRowValueSetter: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,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,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,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,spanRows:void 0,getQuickFilterText:void 0,onCellValueChanged:void 0,onCellClicked:void 0,onCellDoubleClicked:void 0,onCellContextMenu:void 0,rowDragText:void 0,tooltipValueGetter:void 0,tooltipComponentSelector: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,dateComponent:void 0,dateComponentParams:void 0,getFindText:void 0,rowGroupingHierarchy:void 0,groupHierarchy:void 0,allowFormula:void 0},nB=()=>Object.keys(iB),dB=()=>({objectName:"colDef",allProperties:nB(),docsUrl:"column-properties/",deprecations:mB(),validations:pB()}),tB=["overlayLoadingTemplate","overlayNoRowsTemplate","gridId","quickFilterText","rowModelType","editType","domLayout","clipboardDelimiter","rowGroupPanelShow","multiSortKey","pivotColumnGroupTotals","pivotRowTotals","pivotPanelShow","fillHandleDirection","groupDisplayType","treeDataDisplayType","treeDataChildrenField","treeDataParentIdField","colResizeDefault","tooltipTrigger","serverSidePivotResultFieldSeparator","columnMenu","tooltipShowMode","invalidEditValueMode","grandTotalRow","themeCssLayer","findSearchValue","styleNonce","renderingMode"],rB=["components","rowStyle","context","autoGroupColumnDef","localeText","icons","datasource","dragAndDropImageComponentParams","serverSideDatasource","viewportDatasource","groupRowRendererParams","aggFuncs","fullWidthCellRendererParams","defaultColGroupDef","defaultColDef","defaultCsvExportParams","defaultExcelExportParams","columnTypes","rowClassRules","detailCellRendererParams","loadingCellRendererParams","overlayComponentParams","loadingOverlayComponentParams","noRowsOverlayComponentParams","activeOverlayParams","popupParent","themeStyleContainer","statusBar","chartThemeOverrides","customChartThemes","chartToolPanelsDef","dataTypeDefinitions","advancedFilterParent","advancedFilterBuilderParams","advancedFilterParams","formulaDataSource","formulaFuncs","initialState","autoSizeStrategy","selectionColumnDef","findOptions","filterHandlers","groupHierarchyConfig"],sB=["sortingOrder","alignedGrids","rowData","columnDefs","excelStyles","pinnedTopRowData","pinnedBottomRowData","chartThemes","rowClass","paginationPageSizeSelector","suppressOverlays"],h$=["rowHeight","detailRowHeight","rowBuffer","headerHeight","groupHeaderHeight","groupLockGroupColumns","floatingFiltersHeight","pivotHeaderHeight","pivotGroupHeaderHeight","groupDefaultExpanded","pivotDefaultExpanded","viewportRowModelPageSize","viewportRowModelBufferSize","autoSizePadding","maxBlocksInCache","maxConcurrentDatasourceRequests","tooltipShowDelay","tooltipSwitchShowDelay","tooltipHideDelay","cacheOverflowSize","paginationPageSize","cacheBlockSize","infiniteInitialRowCount","serverSideInitialRowCount","scrollbarWidth","asyncTransactionWaitMillis","blockLoadDebounceMillis","keepDetailRowsCount","undoRedoCellEditingLimit","cellFlashDuration","cellFadeDuration","tabIndex","pivotMaxGeneratedColumns","rowDragInsertDelay"],lB=["theme","rowSelection"],aB=["cellSelection","sideBar","rowNumbers","suppressGroupChangesColumnVisibility","groupAggFiltering","suppressStickyTotalRow","groupHideParentOfSingleChild","enableRowPinning"],u$=["loadThemeGoogleFonts","suppressMakeColumnVisibleAfterUnGroup","suppressRowClickSelection","suppressCellFocus","suppressHeaderFocus","suppressHorizontalScroll","groupSelectsChildren","alwaysShowHorizontalScroll","alwaysShowVerticalScroll","debug","enableBrowserTooltips","enableCellExpressions","groupSuppressBlankHeader","suppressMenuHide","suppressRowDeselection","unSortIcon","suppressMultiSort","alwaysMultiSort","singleClickEdit","suppressLoadingOverlay","suppressNoRowsOverlay","suppressAutoSize","skipHeaderOnAutoSize","suppressColumnMoveAnimation","suppressMoveWhenColumnDragging","suppressMovableColumns","suppressFieldDotNotation","enableRangeSelection","enableRangeHandle","enableFillHandle","suppressClearOnFillReduction","deltaSort","suppressTouch","allowContextMenuWithControlKey","suppressContextMenu","suppressDragLeaveHidesColumns","suppressRowGroupHidesColumns","suppressMiddleClickScrolls","suppressPreventDefaultOnMouseWheel","suppressCopyRowsToClipboard","copyHeadersToClipboard","copyGroupHeadersToClipboard","pivotMode","suppressAggFuncInHeader","suppressColumnVirtualisation","alwaysAggregateAtRootLevel","suppressFocusAfterRefresh","functionsReadOnly","animateRows","groupSelectsFiltered","groupRemoveSingleChildren","groupRemoveLowestSingleChildren","enableRtl","enableCellSpan","suppressClickEdit","rowDragEntireRow","rowDragManaged","refreshAfterGroupEdit","suppressRowDrag","suppressMoveWhenRowDragging","rowDragMultiRow","enableGroupEdit","embedFullWidthRows","suppressPaginationPanel","groupHideOpenParents","groupHideColumnsUntilExpanded","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","suppressAggFilteredOnly","showOpenedGroup","suppressClipboardApi","suppressModelUpdateAfterUpdateTransaction","stopEditingWhenCellsLoseFocus","groupMaintainOrder","columnHoverHighlight","readOnlyEdit","suppressRowVirtualisation","enableCellEditingOnBackspace","resetRowDataOnUpdate","removePivotHeaderRowWhenSingleValueColumn","suppressCopySingleCellRanges","suppressGroupRowsSticky","suppressCutToClipboard","rowGroupPanelSuppressSort","allowShowChangeAfterFilter","enableAdvancedFilter","masterDetail","treeData","reactiveCustomComponents","applyQuickFilterBeforePivotOrAgg","suppressServerSideFullWidthLoadingRow","suppressAdvancedFilterEval","loading","maintainColumnOrder","enableStrictPivotColumnOrder","suppressSetFilterByDefault","enableFilterHandlers","suppressStartEditOnTab","hidePaddedHeaderRows","ssrmExpandAllAffectsAllRows","animateColumnResizing"],oB=["doesExternalFilterPass","processPivotResultColDef","processPivotResultColGroupDef","getBusinessKeyForNode","isRowSelectable","rowDragText","groupRowRenderer","dragAndDropImageComponent","fullWidthCellRenderer","loadingCellRenderer","overlayComponent","loadingOverlayComponent","noRowsOverlayComponent","overlayComponentSelector","activeOverlay","detailCellRenderer","quickFilterParser","quickFilterMatcher","getLocaleText","isExternalFilterPresent","getRowHeight","getRowClass","getRowStyle","getFullRowEditValidationErrors","getContextMenuItems","getMainMenuItems","processRowPostCreate","processCellForClipboard","getGroupRowAgg","isFullWidthRow","sendToClipboard","focusGridInnerElement","navigateToNextHeader","tabToNextHeader","navigateToNextCell","tabToNextCell","tabToNextGridContainer","processCellFromClipboard","getDocument","postProcessPopup","getChildCount","getDataPath","isRowMaster","postSortRows","processHeaderForClipboard","processUnpinnedColumns","processGroupHeaderForClipboard","paginationNumberFormatter","processDataFromClipboard","getServerSideGroupKey","isServerSideGroup","createChartContainer","getChartToolbarItems","fillOperation","isApplyServerSideTransaction","getServerSideGroupLevelParams","isServerSideGroupOpenByDefault","isGroupOpenByDefault","initialGroupOrderComparator","loadingCellRendererSelector","getRowId","chartMenuItems","groupTotalRow","alwaysPassFilter","isRowPinnable","isRowPinned","isRowValidDropPosition"],eB=()=>[...sB,...rB,...tB,...h$,...oB,...u$,...aB,...lB];var Q3=()=>({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."},groupRemoveSingleChildren:{version:"33",message:"Use `groupHideParentOfSingleChild` instead."},groupRemoveLowestSingleChildren:{version:"33",message:'Use `groupHideParentOfSingleChild: "leafGroupsOnly"` instead.'},suppressRowGroupHidesColumns:{version:"33",message:'Use `suppressGroupChangesColumnVisibility: "suppressHideOnGroup"` instead.'},suppressMakeColumnVisibleAfterUnGroup:{version:"33",message:'Use `suppressGroupChangesColumnVisibility: "suppressShowOnUngroup"` instead.'},unSortIcon:{version:"33",message:"Use `defaultColDef.unSortIcon` instead."},sortingOrder:{version:"33",message:"Use `defaultColDef.sortingOrder` instead."},suppressPropertyNamesCheck:{version:"33",message:"`gridOptions` and `columnDefs` both have a `context` property that should be used for arbitrary user data. This means that column definitions and gridOptions should only contain valid properties making this property redundant."},suppressAdvancedFilterEval:{version:"34",message:"Advanced filter no longer uses function evaluation, so this option has no effect."}});function VQ(Q,z,J){if(typeof z==="number"||z==null){if(z==null)return null;return z>=J?null:`${Q}: value should be greater than or equal to ${J}`}return`${Q}: value should be a number`}var z3={alignedGrids:"AlignedGrids",allowContextMenuWithControlKey:"ContextMenu",autoSizeStrategy:"ColumnAutoSize",cellSelection:"CellSelection",columnHoverHighlight:"ColumnHover",datasource:"InfiniteRowModel",doesExternalFilterPass:"ExternalFilter",editType:"EditCore",invalidEditValueMode:"EditCore",enableAdvancedFilter:"AdvancedFilter",enableCellSpan:"CellSpan",enableCharts:"IntegratedCharts",enableRangeSelection:"CellSelection",enableRowPinning:"PinnedRow",findSearchValue:"Find",getFullRowEditValidationErrors:"EditCore",getContextMenuItems:"ContextMenu",getLocaleText:"Locale",getMainMenuItems:"ColumnMenu",getRowClass:"RowStyle",getRowStyle:"RowStyle",groupTotalRow:"SharedRowGrouping",grandTotalRow:"ClientSideRowModelHierarchy",initialState:"GridState",isExternalFilterPresent:"ExternalFilter",isRowPinnable:"PinnedRow",isRowPinned:"PinnedRow",localeText:"Locale",masterDetail:"SharedMasterDetail",pagination:"Pagination",pinnedBottomRowData:"PinnedRow",pinnedTopRowData:"PinnedRow",pivotMode:"SharedPivot",pivotPanelShow:"RowGroupingPanel",quickFilterText:"QuickFilter",rowClass:"RowStyle",rowClassRules:"RowStyle",rowData:"ClientSideRowModel",rowDragManaged:"RowDrag",refreshAfterGroupEdit:["RowGrouping","TreeData"],rowGroupPanelShow:"RowGroupingPanel",rowNumbers:"RowNumbers",rowSelection:"SharedRowSelection",rowStyle:"RowStyle",serverSideDatasource:"ServerSideRowModel",sideBar:"SideBar",statusBar:"StatusBar",treeData:"SharedTreeData",undoRedoCellEditing:"UndoRedoEdit",valueCache:"ValueCache",viewportDatasource:"ViewportRowModel"},J3=()=>{let Q={autoSizePadding:{validate({autoSizePadding:J}){return VQ("autoSizePadding",J,0)}},cacheBlockSize:{supportedRowModels:["serverSide","infinite"],validate({cacheBlockSize:J}){return VQ("cacheBlockSize",J,1)}},cacheOverflowSize:{validate({cacheOverflowSize:J}){return VQ("cacheOverflowSize",J,1)}},datasource:{supportedRowModels:["infinite"]},domLayout:{validate:(J)=>{let Z=J.domLayout,$=["autoHeight","normal","print"];if(Z&&!$.includes(Z))return`domLayout must be one of [${$.join()}], currently it's ${Z}`;return null}},enableFillHandle:{dependencies:{enableRangeSelection:{required:[!0]}}},enableRangeHandle:{dependencies:{enableRangeSelection:{required:[!0]}}},enableCellSpan:{supportedRowModels:["clientSide","serverSide"]},enableRangeSelection:{dependencies:{rowDragEntireRow:{required:[!1,void 0]}}},enableRowPinning:{supportedRowModels:["clientSide"],validate({enableRowPinning:J,pinnedTopRowData:Z,pinnedBottomRowData:$}){if(J&&(Z||$))return"Manual row pinning cannot be used together with pinned row data. Either set `enableRowPinning` to `false`, or remove `pinnedTopRowData` and `pinnedBottomRowData`.";return null}},isRowPinnable:{supportedRowModels:["clientSide"],validate({enableRowPinning:J,isRowPinnable:Z,pinnedTopRowData:$,pinnedBottomRowData:X}){if(Z&&($||X))return"Manual row pinning cannot be used together with pinned row data. Either remove `isRowPinnable`, or remove `pinnedTopRowData` and `pinnedBottomRowData`.";if(!J&&Z)return"`isRowPinnable` requires `enableRowPinning` to be set.";return null}},isRowPinned:{supportedRowModels:["clientSide"],validate({enableRowPinning:J,isRowPinned:Z,pinnedTopRowData:$,pinnedBottomRowData:X}){if(Z&&($||X))return"Manual row pinning cannot be used together with pinned row data. Either remove `isRowPinned`, or remove `pinnedTopRowData` and `pinnedBottomRowData`.";if(!J&&Z)return"`isRowPinned` requires `enableRowPinning` to be set.";return null}},groupDefaultExpanded:{supportedRowModels:["clientSide"]},groupHideColumnsUntilExpanded:{supportedRowModels:["clientSide"],validate({groupHideColumnsUntilExpanded:J,groupHideOpenParents:Z,groupDisplayType:$}){if(J&&!Z&&$!=="multipleColumns")return"`groupHideColumnsUntilExpanded = true` requires either `groupDisplayType = 'multipleColumns'` or `groupHideOpenParents = true`";return null}},groupHideOpenParents:{supportedRowModels:["clientSide","serverSide"],dependencies:{groupTotalRow:{required:[void 0,"bottom"]},treeData:{required:[void 0,!1],reason:"Tree Data has values at the group level so it doesn't make sense to hide them."}}},groupHideParentOfSingleChild:{dependencies:{groupHideOpenParents:{required:[void 0,!1]}}},groupRemoveLowestSingleChildren:{dependencies:{groupHideOpenParents:{required:[void 0,!1]},groupRemoveSingleChildren:{required:[void 0,!1]}}},groupRemoveSingleChildren:{dependencies:{groupHideOpenParents:{required:[void 0,!1]},groupRemoveLowestSingleChildren:{required:[void 0,!1]}}},groupSelectsChildren:{dependencies:{rowSelection:{required:["multiple"]}}},groupHierarchyConfig:{validate({groupHierarchyConfig:J={}},Z,$){for(let X of Object.keys(J))$.validation?.validateColDef(J[X]);return null}},icons:{validate:({icons:J})=>{if(J){if(J.smallDown)return QQ(262);if(J.smallLeft)return QQ(263);if(J.smallRight)return QQ(264)}return null}},infiniteInitialRowCount:{validate({infiniteInitialRowCount:J}){return VQ("infiniteInitialRowCount",J,1)}},initialGroupOrderComparator:{supportedRowModels:["clientSide"]},ssrmExpandAllAffectsAllRows:{validate:(J)=>{if(typeof J.ssrmExpandAllAffectsAllRows==="boolean"){if(J.rowModelType!=="serverSide")return"'ssrmExpandAllAffectsAllRows' is only supported with the Server Side Row Model.";if(J.ssrmExpandAllAffectsAllRows&&typeof J.getRowId!=="function")return"'getRowId' callback must be provided for Server Side Row Model grouping to work correctly."}return null}},keepDetailRowsCount:{validate({keepDetailRowsCount:J}){return VQ("keepDetailRowsCount",J,1)}},paginationPageSize:{validate({paginationPageSize:J}){return VQ("paginationPageSize",J,1)}},paginationPageSizeSelector:{validate:(J)=>{let Z=J.paginationPageSizeSelector;if(typeof Z==="boolean"||Z==null)return null;if(!Z.length)return`'paginationPageSizeSelector' cannot be an empty array.
If you want to hide the page size selector, set paginationPageSizeSelector to false.`;return null}},pivotMode:{dependencies:{treeData:{required:[!1,void 0],reason:"Pivot Mode is not supported with Tree Data."}}},quickFilterText:{supportedRowModels:["clientSide"]},rowBuffer:{validate({rowBuffer:J}){return VQ("rowBuffer",J,0)}},rowClass:{validate:(J)=>{if(typeof J.rowClass==="function")return"rowClass should not be a function, please use getRowClass instead";return null}},rowData:{supportedRowModels:["clientSide"]},rowDragManaged:{supportedRowModels:["clientSide"],dependencies:{pagination:{required:[!1,void 0]}}},rowSelection:{validate({rowSelection:J}){if(J&&typeof J==="string")return'As of version 32.2.1, using `rowSelection` with the values "single" or "multiple" has been deprecated. Use the object value instead.';if(J&&typeof J!=="object")return"Expected `RowSelectionOptions` object for the `rowSelection` property.";if(J&&J.mode!=="multiRow"&&J.mode!=="singleRow")return`Selection mode "${J.mode}" is invalid. Use one of 'singleRow' or 'multiRow'.`;return null}},rowStyle:{validate:(J)=>{let Z=J.rowStyle;if(Z&&typeof Z==="function")return"rowStyle should be an object of key/value styles, not be a function, use getRowStyle() instead";return null}},serverSideDatasource:{supportedRowModels:["serverSide"]},serverSideInitialRowCount:{supportedRowModels:["serverSide"],validate({serverSideInitialRowCount:J}){return VQ("serverSideInitialRowCount",J,1)}},serverSideOnlyRefreshFilteredGroups:{supportedRowModels:["serverSide"]},serverSideSortAllLevels:{supportedRowModels:["serverSide"]},sortingOrder:{validate:(J)=>{let Z=J.sortingOrder;if(Array.isArray(Z)&&Z.length>0){let $=Z.filter((X)=>!a0(X));if($.length>0)return`sortingOrder must be an array of type (SortDirection | SortDef)[], incorrect items are: ${$.map((X)=>typeof X==="string"||X==null?nJ(X):JSON.stringify(X))}]`}else if(!Array.isArray(Z)||!Z.length)return`sortingOrder must be an array with at least one element, currently it's ${Z}`;return null}},tooltipHideDelay:{validate:(J)=>{if(J.tooltipHideDelay&&J.tooltipHideDelay<0)return"tooltipHideDelay should not be lower than 0";return null}},tooltipShowDelay:{validate:(J)=>{if(J.tooltipShowDelay&&J.tooltipShowDelay<0)return"tooltipShowDelay should not be lower than 0";return null}},tooltipSwitchShowDelay:{validate:(J)=>{if(J.tooltipSwitchShowDelay&&J.tooltipSwitchShowDelay<0)return"tooltipSwitchShowDelay should not be lower than 0";return null}},treeData:{supportedRowModels:["clientSide","serverSide"],validate:(J)=>{let Z=J.rowModelType??"clientSide";switch(Z){case"clientSide":{let{treeDataChildrenField:$,treeDataParentIdField:X,getDataPath:Y,getRowId:G}=J;if(!$&&!X&&!Y)return"treeData requires either 'treeDataChildrenField' or 'treeDataParentIdField' or 'getDataPath' in the clientSide row model.";if($){if(Y)return"Cannot use both 'treeDataChildrenField' and 'getDataPath' at the same time.";if(X)return"Cannot use both 'treeDataChildrenField' and 'treeDataParentIdField' at the same time."}if(X){if(!G)return"getRowId callback not provided, tree data with parent id cannot be built.";if(Y)return"Cannot use both 'treeDataParentIdField' and 'getDataPath' at the same time."}return null}case"serverSide":{let $=`treeData requires 'isServerSideGroup' and 'getServerSideGroupKey' in the ${Z} row model.`;return J.isServerSideGroup&&J.getServerSideGroupKey?null:$}}return null}},viewportDatasource:{supportedRowModels:["viewport"]},viewportRowModelBufferSize:{validate({viewportRowModelBufferSize:J}){return VQ("viewportRowModelBufferSize",J,0)}},viewportRowModelPageSize:{validate({viewportRowModelPageSize:J}){return VQ("viewportRowModelPageSize",J,1)}},rowDragEntireRow:{dependencies:{cellSelection:{required:[void 0]}}},autoGroupColumnDef:{validate({autoGroupColumnDef:J,showOpenedGroup:Z}){if(J?.field&&Z)return"autoGroupColumnDef.field and showOpenedGroup are not supported when used together.";if(J?.valueGetter&&Z)return"autoGroupColumnDef.valueGetter and showOpenedGroup are not supported when used together.";return null}},renderingMode:{validate:(J)=>{let Z=J.renderingMode,$=["default","legacy"];if(Z&&!$.includes(Z))return`renderingMode must be one of [${$.join()}], currently it's ${Z}`;return null}},autoSizeStrategy:{validate:({autoSizeStrategy:J})=>{if(!J)return null;let Z=["fitCellContents","fitGridWidth","fitProvidedWidth"],$=J.type;if($!=="fitCellContents"&&$!=="fitGridWidth"&&$!=="fitProvidedWidth")return`Invalid Auto-size strategy. \`autoSizeStrategy\` must be one of ${Z.map((X)=>'"'+X+'"').join(", ")}, currently it's ${$}`;if($==="fitProvidedWidth"&&typeof J.width!="number")return`When using the 'fitProvidedWidth' auto-size strategy, must provide a numeric \`width\`. You provided ${J.width}`;return null}}},z={};for(let J of u$)z[J]={expectedType:"boolean"};for(let J of h$)z[J]={expectedType:"number"};return B0(z,Q),z},Z3=()=>({objectName:"gridOptions",allProperties:[...eB(),...Object.values(f6)],propertyExceptions:["api"],docsUrl:"grid-options/",deprecations:Q3(),validations:J3()}),$3=0,X3=0,s7="__ag_grid_instance",Y3=class extends j{constructor(){super(...arguments);this.beanName="gos",this.domDataKey="__AG_"+Math.random().toString(),this.instanceId=X3++,this.gridReadyFired=!1,this.queueEvents=[],this.propEventSvc=new KQ,this.globalEventHandlerFactory=(Q)=>{return(z,J)=>{if(!this.isAlive())return;let Z=lJ.has(z);if(Z&&!Q||!Z&&Q)return;if(!G3(z))return;let $=(X,Y)=>{let G=f6[X],q=this.gridOptions[G];if(typeof q==="function")this.beans.frameworkOverrides.wrapOutgoing(()=>q(Y))};if(this.gridReadyFired)$(z,J);else if(z==="gridReady"){$(z,J),this.gridReadyFired=!0;for(let X of this.queueEvents)$(X.eventName,X.event);this.queueEvents=[]}else this.queueEvents.push({eventName:z,event:J})}}}wireBeans(Q){this.gridOptions=Q.gridOptions,this.validation=Q.validation,this.api=Q.gridApi,this.gridId=Q.context.getId()}get gridOptionsContext(){return this.gridOptions.context}postConstruct(){this.validateGridOptions(this.gridOptions),this.eventSvc.addGlobalListener(this.globalEventHandlerFactory().bind(this),!0),this.eventSvc.addGlobalListener(this.globalEventHandlerFactory(!0).bind(this),!1),this.propEventSvc.setFrameworkOverrides(this.beans.frameworkOverrides),this.addManagedEventListeners({gridOptionsChanged:({options:Q})=>{this.updateGridOptions({options:Q,force:!0,source:"optionsUpdated"})}})}destroy(){super.destroy(),this.queueEvents=[]}get(Q){return this.gridOptions[Q]??MG[Q]}getCallback(Q){return this.mergeGridCommonParams(this.gridOptions[Q])}exists(Q){return T(this.gridOptions[Q])}mergeGridCommonParams(Q){if(Q)return(J)=>{return Q(this.addCommon(J))};return Q}updateGridOptions({options:Q,force:z,source:J="api"}){let Z={id:$3++,properties:[]},$=[],{gridOptions:X,validation:Y}=this;for(let G of Object.keys(Q)){let q=y5.applyGlobalGridOption(G,Q[G]);Y?.warnOnInitialPropertyUpdate(J,G);let H=z||typeof q==="object"&&J==="api",_=X[G];if(H||_!==q){X[G]=q;let U={type:G,currentValue:q,previousValue:_,changeSet:Z,source:J};$.push(U)}}this.validateGridOptions(this.gridOptions),Z.properties=$.map((G)=>G.type);for(let G of $)d1(this,`Updated property ${G.type} from`,G.previousValue," to ",G.currentValue),this.propEventSvc.dispatchEvent(G)}addPropertyEventListener(Q,z){this.propEventSvc.addEventListener(Q,z)}removePropertyEventListener(Q,z){this.propEventSvc.removeEventListener(Q,z)}getDomDataKey(){return this.domDataKey}addCommon(Q){return Q.api=this.api,Q.context=this.gridOptionsContext,Q}validateOptions(Q,z){for(let J of Object.keys(Q)){let Z=Q[J];if(Z==null||Z===!1)continue;let $=z[J];if(typeof $==="function")$=$(Q,this.gridOptions,this.beans);if($)this.assertModuleRegistered($,J)}}validateGridOptions(Q){this.validateOptions(Q,z3),this.validation?.processGridOptions(Q)}validateColDef(Q,z,J){if(J||!this.beans.dataTypeSvc?.isColPendingInference(z))this.validateOptions(Q,cB),this.validation?.validateColDef(Q)}assertModuleRegistered(Q,z){let J=Array.isArray(Q)?Q.some((Z)=>this.isModuleRegistered(Z)):this.isModuleRegistered(Q);if(!J)e(200,{...this.getModuleErrorParams(),moduleName:Q,reasonOrId:z});return J}getModuleErrorParams(){return{gridId:this.gridId,gridScoped:x5(),rowModelType:this.get("rowModelType"),isUmd:w5()}}isModuleRegistered(Q){return Q5(Q,this.gridId,this.get("rowModelType"))}setInstanceDomData(Q){Q[s7]=this.instanceId}isElementInThisInstance(Q){let z=Q;while(z){let J=z[s7];if(T(J))return J===this.instanceId;z=z.parentElement}return!1}};function G3(Q){return!!f6[Q]}var q3=class extends j{constructor(Q,z){super();this.column=Q,this.eGui=z,this.lastMovingChanged=0}postConstruct(){this.addManagedElementListeners(this.eGui,{click:(Q)=>Q&&this.onClick(Q)}),this.addManagedListeners(this.column,{movingChanged:()=>{this.lastMovingChanged=Date.now()}})}onClick(Q){let{sortSvc:z,rangeSvc:J,gos:Z}=this.beans;if(!(Zz(Z)?Q.altKey:!0))J?.handleColumnSelection(this.column,Q);else if(this.column.isSortable()){let X=this.column.isMoving(),G=Date.now()-this.lastMovingChanged<50;if(!(X||G))z?.progressSortFromEvent(this.column,Q)}}};function H3(Q,z){let J={"aria-hidden":"true"};return{tag:"div",cls:"ag-cell-label-container",role:"presentation",children:[{tag:"span",ref:"eMenu",cls:"ag-header-icon ag-header-cell-menu-button",attrs:J},{tag:"span",ref:"eFilterButton",cls:"ag-header-icon ag-header-cell-filter-button",attrs:J},{tag:"div",ref:"eLabel",cls:"ag-header-cell-label",role:"presentation",children:[Q?{tag:"span",ref:"eColRef",cls:"ag-header-col-ref"}:null,{tag:"span",ref:"eText",cls:"ag-header-cell-text"},{tag:"span",ref:"eFilter",cls:"ag-header-icon ag-header-label-icon ag-filter-icon",attrs:J},z?{tag:"ag-sort-indicator",ref:"eSortIndicator"}:null]}]}}var _3=class extends x{constructor(){super(...arguments);this.eFilter=S,this.eFilterButton=S,this.eSortIndicator=S,this.eMenu=S,this.eLabel=S,this.eText=S,this.eColRef=S,this.eSortOrder=S,this.eSortAsc=S,this.eSortDesc=S,this.eSortMixed=S,this.eSortNone=S,this.eSortAbsoluteAsc=S,this.eSortAbsoluteDesc=S,this.isLoadingInnerComponent=!1}refresh(Q){let z=this.params;if(this.params=Q,this.workOutTemplate(Q,!!this.beans?.sortSvc)!=this.currentTemplate||this.workOutShowMenu()!=this.currentShowMenu||Q.enableSorting!=this.currentSort||Q.column.formulaRef!=this.currentRef||this.currentSuppressMenuHide!=null&&this.shouldSuppressMenuHide()!=this.currentSuppressMenuHide||z.enableFilterButton!=Q.enableFilterButton||z.enableFilterIcon!=Q.enableFilterIcon)return!1;if(this.innerHeaderComponent){let J={...Q};B0(J,Q.innerHeaderComponentParams),this.innerHeaderComponent.refresh?.(J)}else this.setDisplayName(Q);return!0}workOutTemplate(Q,z){let{formula:J}=this.beans,Z=Q.template;if(Z)return Z?.trim?Z.trim():Z;return H3(!!J?.active,z)}init(Q){this.params=Q;let{sortSvc:z,touchSvc:J,rowNumbersSvc:Z,userCompFactory:$}=this.beans,X=z?.getSortIndicatorSelector();if(this.currentTemplate=this.workOutTemplate(Q,!!X),this.setTemplate(this.currentTemplate,X?[X]:void 0),this.eLabel)this.mouseListener??(this.mouseListener=this.createManagedBean(new q3(Q.column,this.eLabel)));J?.setupForHeader(this),this.setMenu(),this.setupSort(),this.setupColumnRefIndicator(),Z?.setupForHeader(this),this.setupFilterIcon(),this.setupFilterButton(),this.workOutInnerHeaderComponent($,Q),this.setDisplayName(Q)}workOutInnerHeaderComponent(Q,z){let J=vq(Q,z,z);if(!J)return;this.isLoadingInnerComponent=!0,J.newAgStackInstance().then((Z)=>{if(this.isLoadingInnerComponent=!1,!Z)return;if(this.isAlive()){if(this.innerHeaderComponent=Z,this.eText)this.eText.appendChild(Z.getGui())}else this.destroyBean(Z)})}setDisplayName(Q){let{displayName:z}=Q,J=this.currentDisplayName;if(this.currentDisplayName=z,!this.eText||J===z||this.innerHeaderComponent||this.isLoadingInnerComponent)return;this.eText.textContent=ZJ(z)}addInIcon(Q,z,J){let Z=h(Q,this.beans,J);if(Z)z.appendChild(Z)}workOutShowMenu(){return this.params.enableMenu&&!!this.beans.menuSvc?.isHeaderMenuButtonEnabled()}shouldSuppressMenuHide(){return!!this.beans.menuSvc?.isHeaderMenuButtonAlwaysShowEnabled()}setMenu(){if(!this.eMenu)return;if(this.currentShowMenu=this.workOutShowMenu(),!this.currentShowMenu){T0(this.eMenu),this.eMenu=void 0;return}let{gos:Q,eMenu:z,params:J}=this,Z=U0(Q);this.addInIcon(Z?"menu":"menuAlt",z,J.column),z.classList.toggle("ag-header-menu-icon",!Z);let $=this.shouldSuppressMenuHide();this.currentSuppressMenuHide=$,this.addManagedElementListeners(z,{click:()=>this.showColumnMenu(this.eMenu)}),this.toggleMenuAlwaysShow($)}toggleMenuAlwaysShow(Q){this.eMenu?.classList.toggle("ag-header-menu-always-show",Q)}showColumnMenu(Q){let{currentSuppressMenuHide:z,params:J}=this;if(!z)this.toggleMenuAlwaysShow(!0);J.showColumnMenu(Q,()=>{if(!z)this.toggleMenuAlwaysShow(!1)})}onMenuKeyboardShortcut(Q){let{params:z,gos:J,beans:Z,eMenu:$,eFilterButton:X}=this,Y=z.column,G=U0(J);if(Q&&!G){if(Z.menuSvc?.isFilterMenuInHeaderEnabled(Y))return z.showFilter(X??$??this.getGui()),!0}else if(z.enableMenu)return this.showColumnMenu($??X??this.getGui()),!0;return!1}setupSort(){let{sortSvc:Q}=this.beans;if(!Q)return;let{enableSorting:z,column:J}=this.params;if(this.currentSort=z,!this.eSortIndicator){this.eSortIndicator=this.createBean(Q.createSortIndicator(!0));let{eSortIndicator:Z,eSortOrder:$,eSortAsc:X,eSortDesc:Y,eSortMixed:G,eSortNone:q,eSortAbsoluteAsc:H,eSortAbsoluteDesc:_}=this;Z.attachCustomElements($,X,Y,G,q,H,_)}if(this.eSortIndicator.setupSort(J),!this.currentSort)return;Q.setupHeader(this,J)}setupColumnRefIndicator(){let{eColRef:Q,beans:{editModelSvc:z},params:J}=this;if(!Q)return;this.currentRef=J.column.formulaRef,Q.textContent=this.currentRef,N(Q,!1),this.addManagedEventListeners({cellEditingStarted:()=>{let Z=z?.getEditPositions(),$=!!this.currentRef&&!!Z?.some((X)=>X.column.isAllowFormula());N(Q,$)},cellEditingStopped:()=>{N(Q,!1)}})}setupFilterIcon(){let{eFilter:Q,params:z}=this;if(!Q)return;let J=()=>{let Z=z.column.isFilterActive();N(Q,Z,{skipAriaHidden:!0})};this.configureFilter(z.enableFilterIcon,Q,J,"filterActive")}setupFilterButton(){let{eFilterButton:Q,params:z}=this;if(!Q)return;if(this.configureFilter(z.enableFilterButton,Q,this.onFilterChangedButton.bind(this),"filter"))this.addManagedElementListeners(Q,{click:()=>z.showFilter(Q)});else this.eFilterButton=void 0}configureFilter(Q,z,J,Z){if(!Q)return T0(z),!1;let $=this.params.column;return this.addInIcon(Z,z,$),this.addManagedListeners($,{filterChanged:J}),J(),!0}onFilterChangedButton(){let Q=this.params.column.isFilterActive();this.eFilterButton.classList.toggle("ag-filter-active",Q)}getAnchorElementForMenu(Q){let{eFilterButton:z,eMenu:J}=this;if(Q)return z??J??this.getGui();return J??z??this.getGui()}destroy(){super.destroy(),this.innerHeaderComponent=this.destroyBean(this.innerHeaderComponent),this.mouseListener=this.destroyBean(this.mouseListener)}},U3=class extends j{constructor(Q,z){super();this.eLabel=Q,this.columnGroup=z,this.isSticky=!1,this.left=null,this.right=null}postConstruct(){let{columnGroup:Q,beans:z}=this,{ctrlsSvc:J}=z;J.whenReady(this,()=>{let Z=this.refreshPosition.bind(this);if(Q.getPinned()==null)this.addManagedEventListeners({bodyScroll:($)=>{if($.direction==="horizontal")this.updateSticky($.left)}});this.addManagedListeners(Q,{leftChanged:Z,displayedChildrenChanged:Z}),this.addManagedEventListeners({columnResized:Z}),this.refreshPosition()})}refreshPosition(){let{columnGroup:Q,beans:z}=this,J=Q.getLeft(),Z=Q.getActualWidth();if(J==null||Z===0){this.left=null,this.right=null,this.setSticky(!1);return}this.left=J,this.right=J+Z;let $=z.colViewport.getScrollPosition();if($!=null)this.updateSticky($)}updateSticky(Q){let{beans:z,left:J,right:Z}=this;if(J==null||Z==null){this.setSticky(!1);return}let{gos:$,visibleCols:X}=z,G=$.get("enableRtl")?X.bodyWidth-Q:Q;this.setSticky(J<G&&Z>G)}setSticky(Q){let{isSticky:z,eLabel:J}=this;if(z===Q)return;this.isSticky=Q,J.classList.toggle("ag-sticky-label",Q)}},W3={tag:"div",cls:"ag-header-group-cell-label",role:"presentation",children:[{tag:"span",ref:"agLabel",cls:"ag-header-group-text",role:"presentation"},{tag:"span",ref:"agOpened",cls:"ag-header-icon ag-header-expand-icon ag-header-expand-icon-expanded"},{tag:"span",ref:"agClosed",cls:"ag-header-icon ag-header-expand-icon ag-header-expand-icon-collapsed"}]},B3=class extends x{constructor(){super(W3);this.agOpened=S,this.agClosed=S,this.agLabel=S,this.isLoadingInnerComponent=!1}init(Q){let{userCompFactory:z,touchSvc:J}=this.beans;this.params=Q,this.checkWarnings(),this.workOutInnerHeaderGroupComponent(z,Q),this.setupLabel(Q),this.addGroupExpandIcon(Q),this.setupExpandIcons(),J?.setupForHeaderGroup(this)}checkWarnings(){if(this.params.template)R(89)}workOutInnerHeaderGroupComponent(Q,z){let J=Cq(Q,z,z);if(!J)return;this.isLoadingInnerComponent=!0,J.newAgStackInstance().then((Z)=>{if(this.isLoadingInnerComponent=!1,!Z)return;if(this.isAlive())this.innerHeaderGroupComponent=Z,this.agLabel.appendChild(Z.getGui());else this.destroyBean(Z)})}setupExpandIcons(){let{agOpened:Q,agClosed:z,params:{columnGroup:J},beans:{colGroupSvc:Z}}=this;this.addInIcon("columnGroupOpened",Q),this.addInIcon("columnGroupClosed",z);let $=(q)=>{if(zQ(q))return;let H=!J.isExpanded();Z.setColumnGroupOpened(J.getProvidedColumnGroup(),H,"uiColumnExpanded")};this.addTouchAndClickListeners(z,$),this.addTouchAndClickListeners(Q,$);let X=(q)=>{i0(q)};this.addManagedElementListeners(z,{dblclick:X}),this.addManagedElementListeners(Q,{dblclick:X}),this.addManagedElementListeners(this.getGui(),{dblclick:$}),this.updateIconVisibility();let Y=J.getProvidedColumnGroup(),G=this.updateIconVisibility.bind(this);this.addManagedListeners(Y,{expandedChanged:G,expandableChanged:G})}addTouchAndClickListeners(Q,z){this.beans.touchSvc?.setupForHeaderGroupElement(this,Q,z),this.addManagedElementListeners(Q,{click:z})}updateIconVisibility(){let{agOpened:Q,agClosed:z,params:{columnGroup:J}}=this;if(J.isExpandable()){let Z=J.isExpanded();N(Q,Z),N(z,!Z)}else N(Q,!1),N(z,!1)}addInIcon(Q,z){let J=h(Q,this.beans,null);if(J)z.appendChild(J)}addGroupExpandIcon(Q){if(!Q.columnGroup.isExpandable()){let{agOpened:z,agClosed:J}=this;N(z,!1),N(J,!1)}}setupLabel(Q){let{displayName:z,columnGroup:J}=Q,{innerHeaderGroupComponent:Z,isLoadingInnerComponent:$}=this,X=Z||$;if(T(z)&&!X)this.agLabel.textContent=ZJ(z);if(!J.getColGroupDef()?.suppressStickyLabel)this.createManagedBean(new U3(this.getGui(),J))}destroy(){if(super.destroy(),this.innerHeaderGroupComponent)this.destroyBean(this.innerHeaderGroupComponent),this.innerHeaderGroupComponent=void 0}},E3={moduleName:"ColumnHeaderComp",version:p,userComponents:{agColumnHeader:_3},icons:{menu:"menu",menuAlt:"menu-alt"}},K3={moduleName:"ColumnGroupHeaderComp",version:p,userComponents:{agColumnGroupHeader:B3},icons:{columnGroupOpened:"expanded",columnGroupClosed:"contracted"}},L3=class extends j{constructor(){super(...arguments);this.beanName="animationFrameSvc",this.p1={list:[],sorted:!1},this.p2={list:[],sorted:!1},this.f1={list:[],sorted:!1},this.destroyTasks=[],this.ticking=!1,this.scrollGoingDown=!0,this.lastScrollTop=0,this.taskCount=0}setScrollTop(Q){if(this.scrollGoingDown=Q>=this.lastScrollTop,Q===0)this.scrollGoingDown=!0;this.lastScrollTop=Q}postConstruct(){this.active=!this.gos.get("suppressAnimationFrame"),this.batchFrameworkComps=this.beans.frameworkOverrides.batchFrameworkComps}verify(){if(this.active===!1)R(92)}createTask(Q,z,J,Z,$=!1){this.verify();let X=J;if(Z&&this.batchFrameworkComps)X="f1";let Y={task:Q,index:z,createOrder:++this.taskCount,deferred:$};this.addTaskToList(this[X],Y),this.schedule()}addTaskToList(Q,z){Q.list.push(z),Q.sorted=!1}sortTaskList(Q){if(Q.sorted)return;let z=this.scrollGoingDown?1:-1;Q.list.sort((J,Z)=>{if(J.deferred!==Z.deferred)return J.deferred?-1:1;if(J.index!==Z.index)return z*(Z.index-J.index);return Z.createOrder-J.createOrder}),Q.sorted=!0}addDestroyTask(Q){this.verify(),this.destroyTasks.push(Q),this.schedule()}executeFrame(Q){let{p1:z,p2:J,f1:Z,destroyTasks:$,beans:X}=this,{ctrlsSvc:Y,frameworkOverrides:G}=X,q=z.list,H=J.list,_=Z.list,U=Date.now(),W=0,B=Q<=0,E=Y.getScrollFeature();while(B||W<Q){if(!E.scrollGridIfNeeded()){let L;if(q.length)this.sortTaskList(z),L=q.pop().task;else if(H.length)this.sortTaskList(J),L=H.pop().task;else if(_.length)G.wrapOutgoing(()=>{while(B||W<Q){if(!E.scrollGridIfNeeded())if(_.length)this.sortTaskList(Z),L=_.pop().task,L();else break;else break;W=Date.now()-U}}),L=()=>{};else if($.length)L=$.pop();else break;L()}W=Date.now()-U}if(q.length||H.length||_.length||$.length)this.requestFrame();else this.ticking=!1}flushAllFrames(){if(!this.active)return;this.executeFrame(-1)}schedule(){if(!this.active)return;if(!this.ticking)this.ticking=!0,this.requestFrame()}requestFrame(){let Q=this.executeFrame.bind(this,60);YQ(this.beans,Q)}isQueueEmpty(){return!this.ticking}},F3={moduleName:"AnimationFrame",version:p,beans:[L3]},D3=class extends j{constructor(){super(...arguments);this.beanName="iconSvc"}createIconNoSpan(Q,z){return h(Q,this.beans,z?.column)}},M3=(Q,z,J)=>z||Q&&J,k3=class extends j{constructor(){super(...arguments);this.beanName="touchSvc"}mockBodyContextMenu(Q,z){this.mockContextMenu(Q,Q.eBodyViewport,z)}mockHeaderContextMenu(Q,z){this.mockContextMenu(Q,Q.eGui,z)}mockRowContextMenu(Q){if(!bz())return;let z=(J,Z,$)=>{let{rowCtrl:X,cellCtrl:Y}=Q.getControlsForEventTarget($?.target??null);if(Y?.column)Y.dispatchCellContextMenuEvent($??null);this.beans.contextMenuSvc?.handleContextMenuMouseEvent(void 0,$,X,Y)};this.mockContextMenu(Q,Q.element,z)}handleCellDoubleClick(Q,z){if((()=>{if(!bz()||a2("dblclick"))return!1;let Z=Date.now(),$=Z-Q.lastIPadMouseClickEvent<200;return Q.lastIPadMouseClickEvent=Z,$})())return Q.onCellDoubleClicked(z),z.preventDefault(),!0;return!1}setupForHeader(Q){let{gos:z,sortSvc:J,menuSvc:Z}=this.beans;if(z.get("suppressTouch"))return;let{params:$,eMenu:X,eFilterButton:Y}=Q,G=new h0(Q.getGui(),!0);Q.addDestroyFunc(()=>G.destroy());let q=Q.shouldSuppressMenuHide(),H=q&&T(X)&&$.enableMenu,_=!!Z?.isHeaderContextMenuEnabled($.column),U=M3($.enableMenu,_,U0(z)),W=G;if(H)W=new h0(X,!0),Q.addDestroyFunc(()=>W.destroy());let B=(E)=>$.showColumnMenuAfterMouseClick(E.touchStart);if(H&&$.enableMenu)Q.addManagedListeners(W,{tap:B});if(U)Q.addManagedListeners(G,{longTap:B});if($.enableSorting){let E=(K)=>{let L=K.touchStart.target;if(q&&(X?.contains(L)||Y?.contains(L)))return;J?.progressSort($.column,!1,"uiColumnSorted")};Q.addManagedListeners(G,{tap:E})}if($.enableFilterButton&&Y){let E=new h0(Y,!0);Q.addManagedListeners(E,{tap:()=>$.showFilter(Y)}),Q.addDestroyFunc(()=>E.destroy())}}setupForHeaderGroup(Q){let z=Q.params;if(this.beans.menuSvc?.isHeaderContextMenuEnabled(z.columnGroup.getProvidedColumnGroup())){let J=new h0(z.eGridHeader,!0),Z=($)=>z.showColumnMenuAfterMouseClick($.touchStart);Q.addManagedListeners(J,{longTap:Z}),Q.addDestroyFunc(()=>J.destroy())}}setupForHeaderGroupElement(Q,z,J){let Z=new h0(z,!0);Q.addManagedListeners(Z,{tap:J}),Q.addDestroyFunc(()=>Z.destroy())}mockContextMenu(Q,z,J){if(!bz())return;let Z=new h0(z),$=(X)=>{if(!n1(this.beans,X.touchEvent))return;J(void 0,X.touchStart,X.touchEvent)};Q.addManagedListeners(Z,{longTap:$}),Q.addDestroyFunc(()=>Z.destroy())}},V3={moduleName:"Touch",version:p,beans:[k3]},f3=class extends j{constructor(){super(...arguments);this.beanName="cellNavigation"}wireBeans(Q){this.rowSpanSvc=Q.rowSpanSvc}getNextCellToFocus(Q,z,J=!1){if(J)return this.getNextCellToFocusWithCtrlPressed(Q,z);return this.getNextCellToFocusWithoutCtrlPressed(Q,z)}getNextCellToFocusWithCtrlPressed(Q,z){let J=Q===V.UP,Z=Q===V.DOWN,$=Q===V.LEFT,X,Y,{pageBounds:G,gos:q,visibleCols:H,pinnedRowModel:_}=this.beans,{rowPinned:U}=z;if(J||Z){if(U&&_)if(J)Y=0;else Y=U==="top"?_.getPinnedTopRowCount()-1:_.getPinnedBottomRowCount()-1;else Y=J?G.getFirstRow():G.getLastRow();X=z.column}else{let W=q.get("enableRtl");Y=z.rowIndex,X=($!==W?H.allCols:[...H.allCols].reverse()).find((E)=>!v0(E)&&this.isCellGoodToFocusOn({rowIndex:Y,rowPinned:null,column:E}))}return X?{rowIndex:Y,rowPinned:U,column:X}:null}getNextCellToFocusWithoutCtrlPressed(Q,z){let J=z,Z=!1;while(!Z){switch(Q){case V.UP:J=this.getCellAbove(J);break;case V.DOWN:J=this.getCellBelow(J);break;case V.RIGHT:J=this.gos.get("enableRtl")?this.getCellToLeft(J):this.getCellToRight(J);break;case V.LEFT:J=this.gos.get("enableRtl")?this.getCellToRight(J):this.getCellToLeft(J);break;default:J=null,R(8,{key:Q});break}if(J)Z=this.isCellGoodToFocusOn(J);else Z=!0}return J}isCellGoodToFocusOn(Q){let z=Q.column,J,{pinnedRowModel:Z,rowModel:$}=this.beans;switch(Q.rowPinned){case"top":J=Z?.getPinnedTopRow(Q.rowIndex);break;case"bottom":J=Z?.getPinnedBottomRow(Q.rowIndex);break;default:J=$.getRow(Q.rowIndex);break}if(!J)return!1;return!this.isSuppressNavigable(z,J)}getCellToLeft(Q){if(!Q)return null;let z=this.beans.visibleCols.getColBefore(Q.column);if(!z)return null;return{rowIndex:Q.rowIndex,column:z,rowPinned:Q.rowPinned}}getCellToRight(Q){if(!Q)return null;let z=this.beans.visibleCols.getColAfter(Q.column);if(!z)return null;return{rowIndex:Q.rowIndex,column:z,rowPinned:Q.rowPinned}}getCellBelow(Q){if(!Q)return null;let z=this.rowSpanSvc?.getCellEnd(Q)??Q,J=L0(this.beans,z,!0);if(J)return{rowIndex:J.rowIndex,column:Q.column,rowPinned:J.rowPinned};return null}getCellAbove(Q){if(!Q)return null;let z=this.rowSpanSvc?.getCellStart(Q)??Q,J=m0(this.beans,{rowIndex:z.rowIndex,rowPinned:z.rowPinned},!0);if(J)return{rowIndex:J.rowIndex,column:Q.column,rowPinned:J.rowPinned};return null}getNextTabbedCell(Q,z){if(z)return this.getNextTabbedCellBackwards(Q);return this.getNextTabbedCellForwards(Q)}getNextTabbedCellForwards(Q){let{visibleCols:z,pagination:J}=this.beans,Z=z.allCols,$=Q.rowIndex,X=Q.rowPinned,Y=z.getColAfter(Q.column);if(!Y){Y=Z[0];let G=L0(this.beans,Q,!0);if(n(G))return null;if(!G.rowPinned&&!(J?.isRowInPage(G.rowIndex)??!0))return null;$=G?G.rowIndex:null,X=G?G.rowPinned:null}return{rowIndex:$,column:Y,rowPinned:X}}getNextTabbedCellBackwards(Q){let{beans:z}=this,{visibleCols:J,pagination:Z}=z,$=J.allCols,X=Q.rowIndex,Y=Q.rowPinned,G=J.getColBefore(Q.column);if(!G){G=b($);let q=m0(z,{rowIndex:Q.rowIndex,rowPinned:Q.rowPinned},!0);if(n(q))return null;if(!q.rowPinned&&!(Z?.isRowInPage(q.rowIndex)??!0))return null;X=q?q.rowIndex:null,Y=q?q.rowPinned:null}return{rowIndex:X,column:G,rowPinned:Y}}isSuppressNavigable(Q,z){let{suppressNavigable:J}=Q.colDef;if(typeof J==="boolean")return J;if(typeof J==="function"){let Z=Q.createColumnFunctionCallbackParams(z);return J(Z)}return!1}};function A3(Q){return Q.focusSvc.getFocusedCell()}function j3(Q){return Q.focusSvc.clearFocusedCell()}function R3(Q,z,J,Z){Q.focusSvc.setFocusedCell({rowIndex:z,column:J,rowPinned:Z,forceBrowserFocus:!0})}function S3(Q,z){return Q.navigation?.tabToNextCell(!1,z)??!1}function O3(Q,z){return Q.navigation?.tabToNextCell(!0,z)??!1}function P3(Q,z,J=!1){let Z=Q.headerNavigation?.getHeaderPositionForColumn(z,J);if(!Z)return;Q.focusSvc.focusHeaderPosition({headerPosition:Z})}function mQ(Q){let z=Q;return z?.getFrameworkComponentInstance!=null?z.getFrameworkComponentInstance():Q}var T3=class extends j{constructor(){super(...arguments);this.beanName="editModelSvc",this.edits=new Map,this.cellValidations=new m$,this.rowValidations=new c$,this.suspendEdits=!1}suspend(Q){this.suspendEdits=Q}removeEdits({rowNode:Q,column:z}){if(!this.hasEdits({rowNode:Q})||!Q)return;let J=this.getEditRow(Q);if(z)J.delete(z);else J.clear();if(J.size===0)this.edits.delete(Q)}getEditRow(Q,z={}){if(this.suspendEdits)return;if(this.edits.size===0)return;let J=Q&&this.edits.get(Q);if(J)return J;if(z.checkSiblings){let Z=Q.pinnedSibling;if(Z)return this.getEditRow(Z)}return}getEditRowDataValue(Q,{checkSiblings:z}={}){if(!Q||this.edits.size===0)return;let J=this.getEditRow(Q),Z=Q.pinnedSibling,$=z&&Z&&this.getEditRow(Z);if(!J&&!$)return;let X={...Q.data},Y=(G,q)=>G.forEach(({editorValue:H,pendingValue:_},U)=>{let W=H===void 0?_:H;if(W!==P0)q[U.getColId()]=W});if(J)Y(J,X);if($)Y($,X);return X}getEdit(Q={},z){let{rowNode:J,column:Z}=Q,$=this.edits;if(this.suspendEdits||$.size===0||!J||!Z)return;let X=$.get(J)?.get(Z);if(X)return X;if(z?.checkSiblings){let Y=J.pinnedSibling;if(Y)return $.get(Y)?.get(Z)}return}getEditMap(Q=!0){if(this.suspendEdits||this.edits.size===0)return new Map;if(!Q)return this.edits;let z=new Map;return this.edits.forEach((J,Z)=>{let $=new Map;J.forEach(({editorState:X,...Y},G)=>$.set(G,{...Y})),z.set(Z,$)}),z}setEditMap(Q){this.edits.clear(),Q.forEach((z,J)=>{let Z=new Map;z.forEach(($,X)=>Z.set(X,{...$})),this.edits.set(J,Z)})}setEdit(Q,z){let J=this.edits;if(J.size===0||!J.has(Q.rowNode))J.set(Q.rowNode,new Map);let Z=this.getEdit(Q),$={editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0},...Z,...z};return this.getEditRow(Q.rowNode).set(Q.column,$),$}clearEditValue(Q){let{rowNode:z,column:J}=Q;if(!z)return;let Z=(X)=>{X.editorValue=void 0,X.pendingValue=X.sourceValue,X.state="changed"};if(!J){this.getEditRow(z)?.forEach(Z);return}let $=this.getEdit(Q);if($)Z($)}getState(Q){if(this.suspendEdits)return;return this.getEdit(Q)?.state}getEditPositions(Q){if(this.suspendEdits||(Q??this.edits).size===0)return[];let z=[];return(Q??this.edits).forEach((J,Z)=>{for(let $ of J.keys()){let{editorState:X,...Y}=J.get($);z.push({rowNode:Z,column:$,...Y})}}),z}hasRowEdits(Q,z){if(this.suspendEdits)return!1;if(this.edits.size===0)return!1;return!!this.getEditRow(Q,z)}hasEdits(Q={},z={}){if(this.suspendEdits)return!1;if(this.edits.size===0)return!1;let{rowNode:J,column:Z}=Q,{withOpenEditor:$}=z;if(J){let X=this.getEditRow(J,z);if(!X)return!1;if(Z){if($)return this.getEdit(Q)?.state==="editing";return X.has(Z)}if(X.size!==0){if($)return Array.from(X.values()).some(({state:Y})=>Y==="editing");return!0}return!1}if($)return this.getEditPositions().some(({state:X})=>X==="editing");return this.edits.size>0}start(Q){let z=this.getEditRow(Q.rowNode)??new Map,{rowNode:J,column:Z}=Q;if(Z&&!z.has(Z))z.set(Z,{editorValue:void 0,pendingValue:P0,sourceValue:this.beans.valueSvc.getValue(Z,J,"data"),state:"editing",editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0}});this.edits.set(J,z)}stop(Q,z,J){if(!this.hasEdits(Q))return;if(z){let Z=this.getEditRow(Q.rowNode)?.get(Q.column);if(Z&&(Z.pendingValue===P0||Z.pendingValue===Z.sourceValue))this.removeEdits(Q);else if(Z&&J)Z.editorValue=void 0}else this.removeEdits(Q)}clear(){for(let Q of this.edits.values())Q.clear();this.edits.clear()}getCellValidationModel(){return this.cellValidations}getRowValidationModel(){return this.rowValidations}setCellValidationModel(Q){this.cellValidations=Q}setRowValidationModel(Q){this.rowValidations=Q}destroy(){super.destroy(),this.clear()}},m$=class{constructor(){this.cellValidations=new Map}getCellValidation(Q){let{rowNode:z,column:J}=Q||{};return this.cellValidations?.get(z)?.get(J)}hasCellValidation(Q){if(!Q?.rowNode||!Q.column)return this.cellValidations.size>0;return!!this.getCellValidation(Q)}setCellValidation(Q,z){let{rowNode:J,column:Z}=Q;if(!this.cellValidations.has(J))this.cellValidations.set(J,new Map);this.cellValidations.get(J).set(Z,z)}clearCellValidation(Q){let{rowNode:z,column:J}=Q;this.cellValidations.get(z)?.delete(J)}setCellValidationMap(Q){this.cellValidations=Q}getCellValidationMap(){return this.cellValidations}clearCellValidationMap(){this.cellValidations.clear()}},c$=class{constructor(){this.rowValidations=new Map}getRowValidation(Q){let{rowNode:z}=Q||{};return this.rowValidations.get(z)}hasRowValidation(Q){if(!Q?.rowNode)return this.rowValidations.size>0;return!!this.getRowValidation(Q)}setRowValidation({rowNode:Q},z){this.rowValidations.set(Q,z)}clearRowValidation({rowNode:Q}){this.rowValidations.delete(Q)}setRowValidationMap(Q){this.rowValidations=Q}getRowValidationMap(){return this.rowValidations}clearRowValidationMap(){this.rowValidations.clear()}};function BZ(Q,z={}){let{rowIndex:J,rowId:Z,rowCtrl:$,rowPinned:X}=z;if($)return $;let{rowModel:Y,rowRenderer:G}=Q,{rowNode:q}=z;if(!q){if(Z)q=GH(Q,Z,X);else if(J!=null)q=Y.getRow(J)}return q?G.getRowCtrlByNode(q):void 0}function s(Q,z={}){let{cellCtrl:J,colId:Z,columnId:$,column:X}=z;if(J)return J;let Y=Q.colModel.getCol(Z??$??L5(X)),G=z.rowCtrl??BZ(Q,z),q=G?.getCellCtrl(Y)??void 0;if(q)return q;let H=z.rowNode??G?.rowNode;if(H)return Q.rowRenderer.getCellCtrls([H],[Y])?.[0];return}function l7(Q){let{editSvc:z}=Q;if(z?.isBatchEditing())Qz(Q,{persist:!0}),eQ(Q);else z?.stopEditing(void 0,{source:"api"})}function v3(Q,z,J){let{gos:Z,popupSvc:$}=z;if(!Z.get("stopEditingWhenCellsLoseFocus"))return;let X=(Y)=>{let G=Y.relatedTarget;if(q5(G)===null){l7(z);return}let q=J.some((H)=>H.contains(G))&&Z.isElementInThisInstance(G);if(!q)q=!!$&&($.getActivePopups().some((H)=>H.contains(G))||$.isElementWithinCustomPopup(G));if(!q)l7(z)};for(let Y of J)Q.addManagedElementListeners(Y,{focusout:X})}function L5(Q){if(!Q)return;if(typeof Q==="string")return Q;return Q.getColId()}var P0=Symbol("unedited"),I3=(Q,z={})=>{let J=Q.rowRenderer.getCellCtrls(z.rowNodes,z.columns),Z=Array(J.length),$=0;for(let X=0,Y=J.length;X<Y;++X){let q=J[X].comp?.getCellEditor();if(q)Z[$++]=mQ(q)}return Z.length=$,Z};function C3(Q,z,J,Z,$,X){if(z.length===0&&J?.rowNode&&J?.column)gz(Q,J,{key:Z,event:$,cellStartedEdit:X});let{valueSvc:Y,editSvc:G,editModelSvc:q}=Q,{rowNode:H,column:_}=J??{};for(let U of z){let{rowNode:W,column:B}=U,E=s(Q,U);if(!E){if(W&&B){let L=Y.getValue(B,W,"data"),M=(J?.rowNode===W&&J?.column===B&&Z||void 0)??G?.getCellDataValue(U)??Y.getValueForDisplay({column:B,node:W,from:"edit"})?.value??L??P0;q?.setEdit(U,{pendingValue:F1(Q,M,!1,B),sourceValue:L,state:"editing"})}continue}let K=X&&H===E.rowNode&&E.column===_;gz(Q,{rowNode:H,column:E.column},{key:K?Z:null,event:K?$:null,cellStartedEdit:K&&X})}}function BQ({pendingValue:Q,sourceValue:z}){if(Q===P0)Q=z;return Q!==z}function b3(Q){let z=new Map;for(let[J,Z]of Q){let $=new Map;for(let[X,Y]of Z)if(BQ(Y))$.set(X,Y);if($.size>0)z.set(J,$)}return z}function gz(Q,z,J){let{key:Z,event:$,cellStartedEdit:X,silent:Y}=J??{},{editModelSvc:G,gos:q,userCompFactory:H}=Q,_=s(Q,z),U=_?.comp?.getCellEditor(),W=i$(Q,z,Z,X&&!Y),B=G?.getEdit(z),E=W.value??B?.sourceValue;if(U){G?.setEdit(z,{editorValue:F1(Q,E,!0,z.column),state:"editing"}),U.refresh?.(W);return}let K=z.column.getColDef(),L=P9(H,K,W);if(!L)return;let{popupFromSelector:F,popupPositionFromSelector:D}=L,M=F??!!K.cellEditorPopup,k=D??K.cellEditorPopupPosition;if(n$(L.params,$),!_)return;let{rangeFeature:f,rowCtrl:A,comp:O,onEditorAttachedFuncs:v}=_;G?.setEdit(z,{editorValue:F1(Q,E,!0,z.column),state:"editing",editorState:{cellStartedEditing:void 0,cellStoppedEditing:void 0}}),_.editCompDetails=L,v.push(()=>f?.unsetComp()),O?.setEditDetails(L,M,k,q.get("reactiveCustomComponents")),A?.refreshRow({suppressFlash:!0}),y3(Q,z,$,E,Y)}function y3(Q,z,J,Z,$){let{editSvc:X,editModelSvc:Y}=Q,G=Y?.getEdit(z);if(!$&&G?.state==="editing"&&!G?.editorState?.cellStartedEditing)X?.dispatchCellEvent(z,J,"cellEditingStarted",{value:Z}),Y?.setEdit(z,{editorState:{cellStartedEditing:!0}})}function p$(Q,z,J){let Z={editorValueExists:!1};if(A6(Q)){if((z.getValidationErrors?.()?.length??0)>0)return Z}if(J?.isCancelling)return Z;if(J?.isStopping){let X=z?.isCancelAfterEnd?.();if(X)return{...Z,isCancelAfterEnd:X}}return{editorValue:z.getValue(),editorValueExists:!0}}function i$(Q,z,J,Z){let{valueSvc:$,gos:X,editSvc:Y}=Q,G=Q.gos.get("enableGroupEdit"),q=s(Q,z),H=z.rowNode?.rowIndex??void 0,_=Y?.isBatchEditing(),U=Q.colModel.getCol(z.column.getId()),{rowNode:W,column:B}=z,E=q.comp?.getCellEditor(),K=Y?.getCellDataValue(z),L=K===void 0?E?p$(Q,E)?.editorValue:void 0:K,F=L===P0?$.getValueForDisplay({column:U,node:W,from:"edit"})?.value:L,D=G?L:F;if(B.isAllowFormula()&&Q.formula?.isFormula(D))D=Q.formula?.normaliseFormula(D,!0)??D;return y(X,{value:D,eventKey:J??null,column:B,colDef:B.getColDef(),rowIndex:H,node:W,data:W.data,cellStartedEdit:!!Z,onKeyDown:q?.onKeyDown.bind(q),stopEditing:(M)=>{Y.stopEditing(z,{source:_?"ui":"api",suppressNavigateAfterEdit:M}),QJ(Q,z,{})},eGridCell:q?.eGui,parseValue:(M)=>$.parseValue(U,W,M,q?.value),formatValue:q?.formatValue.bind(q),validate:()=>{Y?.validateEdit()}})}function x1(Q,z){let{editModelSvc:J}=Q;J?.getEditMap().forEach((Z,$)=>{Z.forEach((X,Y)=>{if(!z&&(X.state==="editing"||X.pendingValue===P0))return;if(!BQ(X)&&(X.state!=="editing"||z))J?.removeEdits({rowNode:$,column:Y})})})}function x3(Q,z){let J=z.comp?.getCellEditor();if(!J?.refresh)return;let{eventKey:Z,cellStartedEdit:$}=z.editCompDetails.params,{column:X}=z,Y=i$(Q,z,Z,$),G=X.getColDef(),q=P9(Q.userCompFactory,G,Y);J.refresh(n$(q.params,Z))}function n$(Q,z){if(z instanceof KeyboardEvent&&Q.column.getColDef().cellEditor==="agNumberCellEditor")Q.suppressPreventDefault=["-","+",".","e"].includes(z?.key??"")||Q.suppressPreventDefault;else z?.preventDefault?.();return Q}function Qz(Q,z){for(let J of Q.editModelSvc?.getEditPositions()??[]){let Z=s(Q,J);if(!Z)continue;let $=Z.comp?.getCellEditor();if(!$)continue;let{editorValue:X,editorValueExists:Y,isCancelAfterEnd:G}=p$(Q,$,z);if(G){let{cellStartedEditing:q,cellStoppedEditing:H}=Q.editModelSvc?.getEdit(J)?.editorState||{};Q.editModelSvc?.setEdit(J,{editorState:{isCancelAfterEnd:G,cellStartedEditing:q,cellStoppedEditing:H}})}z1(Q,J,X,void 0,!Y,z)}}function z1(Q,z,J,Z,$,X){let{editModelSvc:Y,valueSvc:G}=Q;if(!Y)return;let{rowNode:q,column:H}=z;if(!(q&&H))return;let _=Y.getEdit(z);if(_?.sourceValue===void 0){let U=_?F1(Q,_.editorValue,!1,H):P0,W={sourceValue:G.getValue(H,q,"data"),pendingValue:U};if(X?.persist)W.state="changed";_=Y.setEdit(z,W)}if(Y.setEdit(z,{editorValue:$?F1(Q,_.sourceValue,!0,H):J}),X?.persist)w3(Q,z)}function F1(Q,z,J,Z){let{formula:$}=Q;if(Z.isAllowFormula()&&$?.isFormula(z))return $?.normaliseFormula(z,J)??z;return z}function w3(Q,z){let{editModelSvc:J}=Q,Z=J?.getEdit(z),X={pendingValue:F1(Q,Z?.editorValue,!1,z.column)};if(!Z?.editorState?.cellStoppedEditing&&Z?.state!=="editing")X.state="changed";J?.setEdit(z,X)}function eQ(Q,z,J={}){if(!z)z=Q.editModelSvc?.getEditPositions();if(z)for(let Z of z)QJ(Q,Z,J)}function QJ(Q,z,J,Z=s(Q,z)){let $=Q.editModelSvc,X=$?.getEdit(z),Y;if(X&&X.state!=="editing"&&X.editorState?.cellStoppedEditing)Y=X.state;else Y="changed";if(!Z){if(X)$?.setEdit(z,{state:Y});return}let G=Z.comp,q=G?.getCellEditor();if(G&&!q){if(Z?.refreshCell(),X){$?.setEdit(z,{state:Y});let _=Q.gos.get("enableGroupEdit")?a7(X,J?.cancel):{valueChanged:!1,newValue:void 0,oldValue:X.sourceValue};o7(Q,z,_,J)}return}if(A6(Q)){let _=X&&q?.getValidationErrors?.(),U=$?.getCellValidationModel();if(_?.length)U?.setCellValidation(z,{errorMessages:_});else U?.clearCellValidation(z)}if(X)$?.setEdit(z,{state:Y});G?.setEditDetails(),G?.refreshEditStyles(!1,!1),Z?.refreshCell({force:!0,suppressFlash:!0});let H=$?.getEdit(z);if(H&&H.state!=="editing"){let _=J?.cancel,U=Q.gos.get("enableGroupEdit")?a7(H,_):N3(H,X,_);o7(Q,z,U,J)}}function a7(Q,z){let{sourceValue:J,pendingValue:Z}=Q,$;if(!z&&Z!==P0)$=Z;return{valueChanged:!z&&BQ(Q),newValue:$,oldValue:J,value:J}}function N3(Q,z,J){if(J||Q.editorState.isCancelAfterEnd)return{valueChanged:!1,newValue:void 0,oldValue:Q.sourceValue};let Z=Q.editorValue;if(Z==null||Z===P0)Z=z?.pendingValue;if(Z===P0)Z=void 0;return{valueChanged:BQ(Q),newValue:Z,oldValue:Q.sourceValue}}function o7(Q,z,J,{silent:Z,event:$}={}){let{editSvc:X,editModelSvc:Y}=Q,G=Y?.getEdit(z),{editorState:q}=G||{},{isCancelBeforeStart:H,cellStartedEditing:_,cellStoppedEditing:U}=q||{};if(!Z&&!H&&_&&!U)X?.dispatchCellEvent(z,$,"cellEditingStopped",J),Y?.setEdit(z,{editorState:{cellStoppedEditing:!0}})}function g3(Q){if(!Q)return!1;for(let z=0,J=Q.length;z<J;++z){let Z=Q[z],$=Z.cellEditorParams;if(!$||!Z.editable&&!Z.groupRowEditable)continue;if($.minLength!==void 0||$.maxLength!==void 0||$.getValidationErrors!==void 0||$.min!==void 0||$.max!==void 0)return!0}return!1}function h3(Q){let z=Q.rowRenderer.getCellCtrls();for(let J=0,Z=z.length;J<Z;++J){let X=z[J].comp?.getCellEditor();if(X){let Y=mQ(X);if(Y.getValidationElement||Y.getValidationErrors)return!0}}return!1}function A6(Q){return!!Q.gos.get("getFullRowEditValidationErrors")||g3(Q.colModel.getColumnDefs())||h3(Q)}function Yz(Q,z){if(!(z||A6(Q)))return;let J=new m$,{ariaAnnounce:Z,localeSvc:$,editModelSvc:X,gos:Y}=Q,G=Y.get("editType")==="fullRow",H=n8($)("ariaValidationErrorPrefix","Cell Editor Validation"),_=new Set;for(let U of Q.rowRenderer.getCellCtrls()){let W=U.comp?.getCellEditor();if(!W)continue;let B=mQ(W),{rowNode:E,column:K}=U,L=B.getValidationErrors?.()??[],F=B.getValidationElement?.(!1)||!B.isPopup?.()&&U.eGui;if(F){let D=L!=null&&L.length>0,M=D?L.join(". "):"";if(S8(F,D),D)Z.announceValue(`${H} ${L}`,"editorValidation");if(F instanceof HTMLInputElement)F.setCustomValidity(M);else F.classList.toggle("invalid",D)}if(L?.length>0)J.setCellValidation({rowNode:E,column:K},{errorMessages:L});_.add(U.rowCtrl)}if(Qz(Q,{persist:!1}),X?.setCellValidationModel(J),G){let U=u3(Q);X?.setRowValidationModel(U)}for(let U of _.values()){U.rowEditStyleFeature?.applyRowStyles();for(let W of U.getAllCellCtrls())W.tooltipFeature?.refreshTooltip(!0),W.editorTooltipFeature?.refreshTooltip(!0),W.editStyleFeature?.applyCellStyles?.()}}var u3=(Q)=>{let z=new c$,J=Q.gos.get("getFullRowEditValidationErrors"),Z=Q.editModelSvc?.getEditMap();if(!Z)return z;for(let $ of Z.keys()){let X=Z.get($);if(!X)continue;let Y=[],{rowIndex:G,rowPinned:q}=$;for(let _ of X.keys()){let U=X.get(_);if(!U)continue;let{editorValue:W,pendingValue:B,sourceValue:E}=U,K=W??(B===P0?void 0:B)??E;Y.push({column:_,colId:_.getColId(),rowIndex:G,rowPinned:q,oldValue:E,newValue:K})}let H=J?.({editorsState:Y})??[];if(H.length>0)z.setRowValidation({rowNode:$},{errorMessages:H})}return z};function m3(Q){Yz(Q,!0);let z=Q.editModelSvc?.getCellValidationModel().getCellValidationMap();if(!z)return null;let J=[];return z.forEach((Z,$)=>{Z.forEach(({errorMessages:X},Y)=>{J.push({column:Y,rowIndex:$.rowIndex,rowPinned:$.rowPinned,messages:X??null})})}),J}function iZ(Q){return!!(Q.rowPinned&&Q.pinnedSibling)}function t0(Q,z,J,Z){let $=z==="top";if(!J)return t0(Q,z,$?Q.getPinnedTopRow(0):Q.getPinnedBottomRow(0),Z);if(!Z){let q=$?Q.getPinnedTopRowCount():Q.getPinnedBottomRowCount();return t0(Q,z,J,$?Q.getPinnedTopRow(q-1):Q.getPinnedBottomRow(q-1))}let X=!1,Y=!1,G=[];return Q.forEachPinnedRow(z,(q)=>{if(q===J&&!X){X=!0,G.push(q);return}if(X&&q===Z){Y=!0,G.push(q);return}if(X&&!Y)G.push(q)}),G}function c3(Q,z,J,{rowNode:Z,column:$},X){return y(Q.gos,{type:J,node:Z,data:Z.data,value:X,column:$,colDef:$.getColDef(),rowPinned:Z.rowPinned,event:z,rowIndex:Z.rowIndex})}function p3(Q,z=!1){if(Q===V.DELETE)return!0;if(!z&&Q===V.BACKSPACE)return C9();return!1}var i3=class extends j{constructor(Q,z,J,Z){super();this.cellCtrl=Q,this.rowNode=J,this.rowCtrl=Z,this.beans=z}init(){this.eGui=this.cellCtrl.eGui}onKeyDown(Q){let z=Q.key;if(z===V.ENTER&&v0(this.cellCtrl.column)&&this.beans.rowNumbersSvc?.handleKeyDownOnCell(this.cellCtrl.cellPosition,Q))return;switch(z){case V.ENTER:this.onEnterKeyDown(Q);break;case V.F2:this.onF2KeyDown(Q);break;case V.ESCAPE:this.onEscapeKeyDown(Q);break;case V.TAB:this.onTabKeyDown(Q);break;case V.BACKSPACE:case V.DELETE:this.onBackspaceOrDeleteKeyDown(z,Q);break;case V.DOWN:case V.UP:case V.RIGHT:case V.LEFT:this.onNavigationKeyDown(Q,z);break}}onNavigationKeyDown(Q,z){let{cellCtrl:J,beans:Z}=this;if(Z.editSvc?.isEditing(J,{withOpenEditor:!0}))return;if(Q.shiftKey&&J.isRangeSelectionEnabled())this.onShiftRangeSelect(Q);else{let $=J.getFocusedCellPosition();Z.navigation?.navigateToNextCell(Q,z,$,!0)}Q.preventDefault()}onShiftRangeSelect(Q){let{rangeSvc:z,navigation:J}=this.beans;if(!z)return;let Z=z.extendLatestRangeInDirection(Q);if(!Z)return;if(Q.key===V.LEFT||Q.key===V.RIGHT)J?.ensureColumnVisible(Z.column);else J?.ensureRowVisible(Z.rowIndex)}onTabKeyDown(Q){this.beans.navigation?.onTabKeyDown(this.cellCtrl,Q)}onBackspaceOrDeleteKeyDown(Q,z){let{cellCtrl:J,beans:Z,rowNode:$}=this,{gos:X,rangeSvc:Y,eventSvc:G,editSvc:q}=Z;if(G.dispatchEvent({type:"keyShortcutChangedCellStart"}),p3(Q,X.get("enableCellEditingOnBackspace"))&&!q?.isEditing(J,{withOpenEditor:!0})){if(Y&&u0(X))Y.clearCellRangeCellValues({dispatchWrapperEvents:!0,wrapperEventSource:"deleteKey"});else if(J.isCellEditable()){let H=Z.valueSvc.getDeleteValue(J.column,$);$.setDataValue(J.column,H,"cellClear")}}else if(!q?.isEditing(J,{withOpenEditor:!0}))Z.editSvc?.startEditing(J,{startedEdit:!0,event:z});G.dispatchEvent({type:"keyShortcutChangedCellEnd"})}onEnterKeyDown(Q){let{cellCtrl:z,beans:J}=this,{editSvc:Z,navigation:$}=J,X=Z?.isEditing(z,{withOpenEditor:!0}),Y=z.rowNode,G=Z?.isRowEditing(Y,{withOpenEditor:!0}),q=(H)=>{if(Z?.startEditing(H,{startedEdit:!0,event:Q,source:"edit"}))Q.preventDefault()};if(X||G){if(this.isCtrlEnter(Q)){Z?.applyBulkEdit(z,J?.rangeSvc?.getCellRanges()||[]);return}if(Yz(J),Z?.checkNavWithValidation(void 0,Q)==="block-stop")return;if(Z?.isEditing(z,{withOpenEditor:!0}))Z?.stopEditing(z,{event:Q,source:"edit"});else if(G&&!z.isCellEditable())Z?.stopEditing({rowNode:Y},{event:Q,source:"edit"});else q(z)}else if(J.gos.get("enterNavigatesVertically")){let H=Q.shiftKey?V.UP:V.DOWN;$?.navigateToNextCell(null,H,z.cellPosition,!1)}else{if(Z?.hasValidationErrors())return;if(Z?.hasValidationErrors(z))Z.revertSingleCellEdit(z,!0);q(z)}}isCtrlEnter(Q){return(Q.ctrlKey||Q.metaKey)&&Q.key===V.ENTER}onF2KeyDown(Q){let{cellCtrl:z,beans:{editSvc:J}}=this;if(J?.isEditing()){if(Yz(this.beans),J?.checkNavWithValidation(void 0,Q)==="block-stop")return}J?.startEditing(z,{startedEdit:!0,event:Q})}onEscapeKeyDown(Q){let{cellCtrl:z,beans:{editSvc:J}}=this;if(J?.checkNavWithValidation(z,Q)==="block-stop")J.revertSingleCellEdit(z);setTimeout(()=>{J?.stopEditing(z,{event:Q,cancel:!0})})}processCharacter(Q){let J=Q.target!==this.eGui,{beans:{editSvc:Z},cellCtrl:$}=this;if(J)return;if(Z?.isEditing($,{withOpenEditor:!0}))return;if(Q.key===V.SPACE)this.onSpaceKeyDown(Q);else if(Z?.isCellEditable($,"ui")){if(Z?.hasValidationErrors()&&!Z?.hasValidationErrors($))return;if(Z?.startEditing($,{startedEdit:!0,event:Q,source:"api",editable:!0}),!$.editCompDetails?.params?.suppressPreventDefault)Q.preventDefault()}}onSpaceKeyDown(Q){let{gos:z,editSvc:J}=this.beans,{rowNode:Z}=this.cellCtrl;if(!J?.isEditing(this.cellCtrl,{withOpenEditor:!0})&&hQ(z))this.beans.selectionSvc?.handleSelectionEvent(Q,Z,"spaceKey");Q.preventDefault()}},n3=class extends j{constructor(Q,z,J){super();this.cellCtrl=Q,this.column=J,this.beans=z}onMouseEvent(Q,z){if(zQ(z))return;switch(Q){case"click":this.onCellClicked(z);break;case"pointerdown":case"mousedown":case"touchstart":this.onMouseDown(z);break;case"dblclick":this.onCellDoubleClicked(z);break;case"mouseout":this.onMouseOut(z);break;case"mouseover":this.onMouseOver(z);break}}onCellClicked(Q){if(this.beans.touchSvc?.handleCellDoubleClick(this,Q))return;let{eventSvc:z,rangeSvc:J,editSvc:Z,editModelSvc:$,frameworkOverrides:X,gos:Y}=this.beans,G=Q.ctrlKey||Q.metaKey,{cellCtrl:q}=this,{column:H,cellPosition:_,rowNode:U}=q,W=rJ(Y,H,U,Q);if(J&&G&&!W){if(J.getCellRangeCount(_)>1)J.intersectLastRange(!0)}let B=q.createEvent(Q,"cellClicked");B.isEventHandlingSuppressed=W,z.dispatchEvent(B);let E=H.getColDef();if(E.onCellClicked)window.setTimeout(()=>{X.wrapOutgoing(()=>{E.onCellClicked(B)})},0);if(W)return;if($?.getState(q)!=="editing"){let K=Z?.isEditing(),L=Z?.isRangeSelectionEnabledWhileEditing(),F=$?.getCellValidationModel().getCellValidationMap().size??0,D=$?.getRowValidationModel().getRowValidationMap().size??0;if(K&&(L||F>0||D>0))return;if(Z?.shouldStartEditing(q,Q))Z?.startEditing(q,{event:Q});else if(Z?.shouldStopEditing(q,Q))if(this.beans.gos.get("editType")==="fullRow")Z?.stopEditing(q,{event:Q,source:"edit"});else Z?.stopEditing(void 0,{event:Q,source:"edit"})}}onCellDoubleClicked(Q){let{column:z,beans:J,cellCtrl:Z}=this,{eventSvc:$,frameworkOverrides:X,editSvc:Y,editModelSvc:G,gos:q}=J,H=rJ(q,Z.column,Z.rowNode,Q),_=z.getColDef(),U=Z.createEvent(Q,"cellDoubleClicked");if(U.isEventHandlingSuppressed=H,$.dispatchEvent(U),typeof _.onCellDoubleClicked==="function")window.setTimeout(()=>{X.wrapOutgoing(()=>{_.onCellDoubleClicked(U)})},0);if(H)return;if(Y?.shouldStartEditing(Z,Q)&&G?.getState(Z)!=="editing"){let W=Y?.isEditing(),B=Y?.isRangeSelectionEnabledWhileEditing(),E=G?.getCellValidationModel().getCellValidationMap().size??0,K=G?.getRowValidationModel().getRowValidationMap().size??0;if(W&&(B||E>0||K>0))return;Y?.startEditing(Z,{event:Q})}}onMouseDown(Q){let{shiftKey:z}=Q,J=Q.target,{cellCtrl:Z,beans:$}=this,{eventSvc:X,rangeSvc:Y,rowNumbersSvc:G,focusSvc:q,gos:H,editSvc:_}=$,{column:U,rowNode:W,cellPosition:B}=Z,E=rJ(H,U,W,Q),K=()=>{let M=Z.createEvent(Q,"cellMouseDown");M.isEventHandlingSuppressed=E,X.dispatchEvent(M)};if(E){K();return}if(this.isRightClickInExistingRange(Q))return;let L=Y&&!Y.isEmpty(),F=this.containsWidget(J),D=v0(U);if(G&&D&&!G.handleMouseDownOnCell(B,Q))return;if(!z||!L){let M=_?.isEditing(Z),f=H.get("enableCellTextSelection")&&Q.defaultPrevented,A=(cz()||f)&&!M&&!w1(J)&&!F;Z.focusCell(A,Q)}if(z&&L&&!q.isCellFocused(B)){Q.preventDefault();let M=q.getFocusedCell();if(M){let{column:k,rowIndex:f,rowPinned:A}=M,O=!!_?.isRangeSelectionEnabledWhileEditing?.();if(_?.isEditing(M)&&!O)_?.stopEditing(M);if(!O)q.setFocusedCell({column:k,rowIndex:f,rowPinned:A,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0,sourceEvent:Q})}}if(F)return;Y?.handleCellMouseDown(Q,B),K()}isRightClickInExistingRange(Q){let{rangeSvc:z}=this.beans;if(z){let J=z.isCellInAnyRange(this.cellCtrl.cellPosition),Z=u5(this.beans,Q);if(J&&Z)return!0}return!1}containsWidget(Q){return vz(Q,"ag-selection-checkbox",3)||vz(Q,"ag-drag-handle",3)}onMouseOut(Q){if(this.mouseStayingInsideCell(Q))return;let{eventSvc:z,colHover:J}=this.beans;z.dispatchEvent(this.cellCtrl.createEvent(Q,"cellMouseOut")),J?.clearMouseOver()}onMouseOver(Q){if(this.mouseStayingInsideCell(Q))return;let{eventSvc:z,colHover:J}=this.beans;z.dispatchEvent(this.cellCtrl.createEvent(Q,"cellMouseOver")),J?.setMouseOver([this.column])}mouseStayingInsideCell(Q){if(!Q.target||!Q.relatedTarget)return!1;let z=this.cellCtrl.eGui,J=z.contains(Q.target),Z=z.contains(Q.relatedTarget);return J&&Z}},d3=class extends j{constructor(Q,z){super();this.cellCtrl=Q,this.beans=z,this.column=Q.column,this.rowNode=Q.rowNode}setupRowSpan(){this.rowSpan=this.column.getRowSpan(this.rowNode),this.addManagedListeners(this.beans.eventSvc,{newColumnsLoaded:()=>this.onNewColumnsLoaded()})}init(){this.eSetLeft=this.cellCtrl.getRootElement(),this.eContent=this.cellCtrl.eGui;let Q=this.cellCtrl.getCellSpan();if(!Q)this.setupColSpan(),this.setupRowSpan();if(this.onLeftChanged(),this.onWidthChanged(),!Q)this._legacyApplyRowSpan();if(Q){let z=this.refreshSpanHeight.bind(this,Q);z(),this.addManagedListeners(this.beans.eventSvc,{paginationChanged:z,recalculateRowBounds:z,pinnedHeightChanged:z})}}refreshSpanHeight(Q){let z=Q.getCellHeight();if(z!=null)this.eContent.style.height=`${z}px`}onNewColumnsLoaded(){let Q=this.column.getRowSpan(this.rowNode);if(this.rowSpan===Q)return;this.rowSpan=Q,this._legacyApplyRowSpan(!0)}onDisplayColumnsChanged(){let Q=this.getColSpanningList();if(!X0(this.colsSpanning,Q))this.colsSpanning=Q,this.onWidthChanged(),this.onLeftChanged()}setupColSpan(){if(this.column.getColDef().colSpan==null)return;this.colsSpanning=this.getColSpanningList(),this.addManagedListeners(this.beans.eventSvc,{displayedColumnsChanged:this.onDisplayColumnsChanged.bind(this),displayedColumnsWidthChanged:this.onWidthChanged.bind(this)})}onWidthChanged(){if(!this.eContent)return;let Q=this.getCellWidth();this.eContent.style.width=`${Q}px`}getCellWidth(){if(!this.colsSpanning)return this.column.getActualWidth();return this.colsSpanning.reduce((Q,z)=>Q+z.getActualWidth(),0)}getColSpanningList(){let{column:Q,rowNode:z}=this,J=Q.getColSpan(z),Z=[];if(J===1)Z.push(Q);else{let $=Q,X=Q.getPinned();for(let Y=0;$&&Y<J;Y++){if(Z.push($),$=this.beans.visibleCols.getColAfter($),!$||n($))break;if(X!==$.getPinned())break}}return Z}onLeftChanged(){if(!this.eSetLeft)return;let Q=this.modifyLeftForPrintLayout(this.getCellLeft());this.eSetLeft.style.left=Q+"px"}getCellLeft(){let Q;if(this.beans.gos.get("enableRtl")&&this.colsSpanning)Q=b(this.colsSpanning);else Q=this.column;return Q.getLeft()}modifyLeftForPrintLayout(Q){if(!this.cellCtrl.printLayout||this.column.getPinned()==="left")return Q;let{visibleCols:z}=this.beans,J=z.getColsLeftWidth();if(this.column.getPinned()==="right"){let Z=z.bodyWidth;return J+Z+(Q||0)}return J+(Q||0)}_legacyApplyRowSpan(Q){if(this.rowSpan===1&&!Q)return;let J=X9(this.beans)*this.rowSpan;this.eContent.style.height=`${J}px`,this.eContent.style.zIndex="1"}destroy(){super.destroy()}},t3="ag-cell",r3="ag-cell-auto-height",s3="ag-cell-normal-height",l3="ag-cell-focus",a3="ag-cell-first-right-pinned",o3="ag-cell-last-left-pinned",e3="ag-cell-not-inline-editing",QE="ag-cell-wrap-text",zE=0,u1=class extends j{constructor(Q,z,J,Z){super();this.column=Q,this.rowNode=z,this.rowCtrl=Z,this.rangeFeature=void 0,this.rowResizeFeature=void 0,this.positionFeature=void 0,this.customStyleFeature=void 0,this.editStyleFeature=void 0,this.mouseListener=void 0,this.keyboardListener=void 0,this.suppressRefreshCell=!1,this.onCompAttachedFuncs=[],this.onEditorAttachedFuncs=[],this.focusEventWhileNotReady=null,this.hasBeenFocused=!1,this.hasEdit=!1,this.tooltipFeature=void 0,this.editorTooltipFeature=void 0,this.beans=J,this.gos=J.gos,this.editSvc=J.editSvc,this.hasEdit=!!J.editSvc;let{colId:$}=Q;this.instanceId=$+"-"+zE++,this.createCellPosition(),this.updateAndFormatValue(!1)}addFeatures(){let{beans:Q}=this;this.positionFeature=new d3(this,Q),this.customStyleFeature=Q.cellStyles?.createCellCustomStyleFeature(this),this.editStyleFeature=Q.editSvc?.createCellStyleFeature(this),this.mouseListener=new n3(this,Q,this.column),this.keyboardListener=new i3(this,Q,this.rowNode,this.rowCtrl),this.enableTooltipFeature();let{rangeSvc:z}=Q;if(z&&u0(Q.gos))this.rangeFeature=z.createCellRangeFeature(this);if(v0(this.column))this.rowResizeFeature=this.beans.rowNumbersSvc.createRowNumbersRowResizerFeature(this)}isCellSpanning(){return!1}getCellSpan(){return}removeFeatures(){let Q=this.beans.context;this.positionFeature=Q.destroyBean(this.positionFeature),this.editorTooltipFeature=Q.destroyBean(this.editorTooltipFeature),this.customStyleFeature=Q.destroyBean(this.customStyleFeature),this.editStyleFeature=Q.destroyBean(this.editStyleFeature),this.mouseListener=Q.destroyBean(this.mouseListener),this.keyboardListener=Q.destroyBean(this.keyboardListener),this.rangeFeature=Q.destroyBean(this.rangeFeature),this.rowResizeFeature=Q.destroyBean(this.rowResizeFeature),this.disableTooltipFeature()}enableTooltipFeature(Q,z){this.tooltipFeature=this.beans.tooltipSvc?.enableCellTooltipFeature(this,Q,z)}disableTooltipFeature(){this.tooltipFeature=this.beans.context.destroyBean(this.tooltipFeature)}enableEditorTooltipFeature(Q){if(this.editorTooltipFeature)this.disableEditorTooltipFeature();this.editorTooltipFeature=this.beans.tooltipSvc?.setupCellEditorTooltip(this,Q),Yz(this.beans)}disableEditorTooltipFeature(){this.editorTooltipFeature=this.beans.context.destroyBean(this.editorTooltipFeature)}setComp(Q,z,J,Z,$,X,Y){this.comp=Q,this.eGui=z,this.printLayout=$,Y??(Y=this),this.addDomData(Y),this.addFeatures(),Y.addDestroyFunc(()=>this.removeFeatures()),this.onSuppressCellFocusChanged(this.beans.gos.get("suppressCellFocus")),this.setupFocus(),this.applyStaticCssClasses(),this.setWrapText(),this.onFirstRightPinnedChanged(),this.onLastLeftPinnedChanged(),this.onColumnHover(),this.setupControlComps(),this.setupAutoHeight(Z,Y),this.refreshFirstAndLastStyles(),this.checkFormulaError(),this.refreshAriaRowIndex(),this.refreshAriaColIndex(),this.positionFeature?.init(),this.customStyleFeature?.setComp(Q),this.editStyleFeature?.setComp(Q),this.tooltipFeature?.refreshTooltip(),this.keyboardListener?.init(),this.rangeFeature?.setComp(Q),this.rowResizeFeature?.refreshRowResizer();let G=X?this.isCellEditable():void 0,q=!G&&this.hasEdit&&this.editSvc?.isEditing(this,{withOpenEditor:!0});if(G||q)this.editSvc?.startEditing(this,{startedEdit:!1,source:"api",silent:!0,continueEditing:!0,editable:G});else this.showValue(!1,!0);if(this.onCompAttachedFuncs.length){for(let H of this.onCompAttachedFuncs)H();this.onCompAttachedFuncs=[]}}checkFormulaError(){let Q=!!this.beans.formula?.getFormulaError(this.column,this.rowNode);this.eGui.classList.toggle("formula-error",Q)}setupAutoHeight(Q,z){this.isAutoHeight=this.beans.rowAutoHeight?.setupCellAutoHeight(this,Q,z)??!1}getCellAriaRole(){return this.column.getColDef().cellAriaRole??"gridcell"}isCellRenderer(){let Q=this.column.getColDef();return Q.cellRenderer!=null||Q.cellRendererSelector!=null}getValueToDisplay(){return this.valueFormatted??this.value}getDeferLoadingCellRenderer(){let{beans:Q,column:z}=this,{userCompFactory:J,ctrlsSvc:Z,eventSvc:$}=Q,X=z.getColDef(),Y=this.createCellRendererParams();Y.deferRender=!0;let G=M7(J,X,Y);if(Z.getGridBodyCtrl()?.scrollFeature?.isScrolling()){let q,H=new g((U)=>{q=U}),[_]=this.addManagedListeners($,{bodyScrollEnd:()=>{q(),_()}});return{loadingComp:G,onReady:H}}return{loadingComp:G,onReady:g.resolve()}}showValue(Q,z){let{beans:J,column:Z,rowNode:$,rangeFeature:X}=this,{userCompFactory:Y}=J,G=this.getValueToDisplay(),q,H=$.stub&&$.groupData?.[Z.getId()]==null,_=Z.getColDef();if(H||this.isCellRenderer()){let U=this.createCellRendererParams();if(!H||v0(Z))q=o1(Y,_,U);else q=M7(Y,_,U)}if(!q&&!H&&J.findSvc?.isMatch($,Z)){let U=this.createCellRendererParams();q=o1(Y,{...Z.getColDef(),cellRenderer:"agFindCellRenderer"},U)}if(this.hasEdit&&this.editSvc.isBatchEditing()&&this.editSvc.isRowEditing($,{checkSiblings:!0})){let U=this.editSvc.prepDetailsDuringBatch(this,{compDetails:q,valueToDisplay:G});if(U){if(U.compDetails)q=U.compDetails;else if(U.valueToDisplay)G=U.valueToDisplay}}if(this.comp.setRenderDetails(q,G,Q),this.customRowDragComp?.refreshVisibility(),!z&&X)YQ(J,()=>X?.refreshRangeStyleAndHandle());this.rowResizeFeature?.refreshRowResizer()}setupControlComps(){let Q=this.column.getColDef();this.includeSelection=this.isIncludeControl(this.isCheckboxSelection(Q),!0),this.includeRowDrag=this.isIncludeControl(Q.rowDrag),this.includeDndSource=this.isIncludeControl(Q.dndSource),this.comp.setIncludeSelection(this.includeSelection),this.comp.setIncludeDndSource(this.includeDndSource),this.comp.setIncludeRowDrag(this.includeRowDrag)}isForceWrapper(){return this.beans.gos.get("enableCellTextSelection")||this.column.isAutoHeight()}getCellValueClass(){let z=this.column.getColDef().cellRenderer==="agCheckboxCellRenderer",J="";if(z)J=" ag-allow-overflow";return`ag-cell-value${J}`}isIncludeControl(Q,z=!1){return(this.rowNode.rowPinned==null||z&&iZ(this.rowNode))&&!!Q}isCheckboxSelection(Q){let{rowSelection:z,groupDisplayType:J}=this.beans.gridOptions,Z=E1(z),$=IQ(this.column);if(J==="custom"&&Z!=="selectionColumn"&&$)return!1;return Q.checkboxSelection||$&&typeof z==="object"&&Jz(z)}refreshShouldDestroy(){let Q=this.column.getColDef(),z=this.includeSelection!=this.isIncludeControl(this.isCheckboxSelection(Q),!0),J=this.includeRowDrag!=this.isIncludeControl(Q.rowDrag),Z=this.includeDndSource!=this.isIncludeControl(Q.dndSource),$=this.isAutoHeight!=this.column.isAutoHeight();return z||J||Z||$}onPopupEditorClosed(Q){let{editSvc:z}=this.beans;if(!z?.isEditing(this,{withOpenEditor:!0}))return;let J=Q instanceof KeyboardEvent,Z=Q instanceof MouseEvent,$=J&&Q.key===V.ESCAPE;if(z.stopEditing(this,{source:z.isBatchEditing()?"ui":"api",cancel:$,event:J||Z?Q:void 0}),$)this.focusCell(!0,Q)}stopEditing(Q=!1){let{editSvc:z}=this.beans;return z?.stopEditing(this,{cancel:Q,source:z?.isBatchEditing()?"ui":"api"})??!1}createCellRendererParams(){let{value:Q,valueFormatted:z,column:J,rowNode:Z,comp:$,eGui:X,beans:{valueSvc:Y,gos:G,editSvc:q}}=this;return y(G,{value:Q,valueFormatted:z,getValue:()=>Y.getValueForDisplay({column:J,node:Z,from:"edit"}).value,setValue:(_)=>q?.setDataValue({rowNode:Z,column:J},_)||Z.setDataValue(J,_),formatValue:this.formatValue.bind(this),data:Z.data,node:Z,pinned:J.getPinned(),colDef:J.getColDef(),column:J,refreshCell:this.refreshCell.bind(this),eGridCell:X,eParentOfValue:$.getParentOfValue(),registerRowDragger:(_,U,W,B)=>this.registerRowDragger(_,U,B),setTooltip:(_,U)=>{if(G.assertModuleRegistered("Tooltip",3),this.tooltipFeature)this.disableTooltipFeature();this.enableTooltipFeature(_,U),this.tooltipFeature?.refreshTooltip()}})}onCellChanged(Q){if(Q.column===this.column)this.refreshCell()}refreshOrDestroyCell(Q){if(this.refreshShouldDestroy())this.rowCtrl?.recreateCell(this);else this.refreshCell(Q);if(this.hasEdit&&this.editCompDetails){let{editSvc:z,comp:J}=this;if(!J?.getCellEditor()&&z.isEditing(this,{withOpenEditor:!0}))z.startEditing(this,{startedEdit:!1,source:"api",silent:!0})}}refreshCell(Q){let{editStyleFeature:z,customStyleFeature:J,rowCtrl:{rowEditStyleFeature:Z},beans:{cellFlashSvc:$,filterManager:X},column:Y,comp:G,suppressRefreshCell:q,tooltipFeature:H}=this;if(q)return;let{field:_,valueGetter:U,showRowGroup:W,enableCellChangeFlash:B}=Y.getColDef(),E=_==null&&U==null&&W==null,K=Q?.newData??!1,L=E||Q&&(Q.force||K),F=!!G,D=this.updateAndFormatValue(F),M=L||D;if(!F)return;if(M){this.showValue(!!K,!1);let k=X?.isSuppressFlashingCellsBecauseFiltering();if(!Q?.suppressFlash&&!k&&B)$?.flashCell(this);z?.applyCellStyles?.(),J?.applyUserStyles(),J?.applyClassesFromColDef(),Z?.applyRowStyles(),this.checkFormulaError()}H?.refreshTooltip(),J?.applyCellClassRules()}isCellEditable(){return this.column.isCellEditable(this.rowNode)}formatValue(Q){return this.callValueFormatter(Q)??Q}callValueFormatter(Q){return this.beans.valueSvc.formatValue(this.column,this.rowNode,Q)}updateAndFormatValue(Q){let z=this.value,J=this.valueFormatted,{value:Z,valueFormatted:$}=this.beans.valueSvc.getValueForDisplay({column:this.column,node:this.rowNode,includeValueFormatted:!0,from:"edit"});if(this.value=Z,this.valueFormatted=$,Q)return!this.valuesAreEqual(z,this.value)||this.valueFormatted!=J;return!0}valuesAreEqual(Q,z){let J=this.column.getColDef();return J.equals?J.equals(Q,z):Q===z}addDomData(Q){let z=this.eGui;wz(this.beans.gos,z,HZ,this),Q.addDestroyFunc(()=>wz(this.beans.gos,z,HZ,null))}createEvent(Q,z){let{rowNode:J,column:Z,value:$,beans:X}=this;return c3(X,Q,z,{rowNode:J,column:Z},$)}processCharacter(Q){this.keyboardListener?.processCharacter(Q)}onKeyDown(Q){this.keyboardListener?.onKeyDown(Q)}onMouseEvent(Q,z){this.mouseListener?.onMouseEvent(Q,z)}getColSpanningList(){return this.positionFeature?.getColSpanningList()??[]}onLeftChanged(){if(!this.comp)return;this.positionFeature?.onLeftChanged()}onDisplayedColumnsChanged(){if(!this.eGui)return;this.refreshAriaColIndex(),this.refreshFirstAndLastStyles()}refreshFirstAndLastStyles(){let{comp:Q,column:z,beans:J}=this;t9(Q,z,J.visibleCols)}refreshAriaColIndex(){let Q=this.beans.visibleCols.getAriaColIndex(this.column);v8(this.eGui,Q)}onWidthChanged(){return this.positionFeature?.onWidthChanged()}getRowPosition(){let{rowIndex:Q,rowPinned:z}=this.cellPosition;return{rowIndex:Q,rowPinned:z}}updateRangeBordersIfRangeCount(){if(!this.comp)return;this.rangeFeature?.updateRangeBordersIfRangeCount()}onCellSelectionChanged(){if(!this.comp)return;this.rangeFeature?.onCellSelectionChanged()}isRangeSelectionEnabled(){return this.rangeFeature!=null}focusCell(Q=!1,z){let J=this.editSvc?.allowedFocusTargetOnValidation(this);if(J&&J!==this)return;this.beans.focusSvc.setFocusedCell({...this.getFocusedCellPosition(),forceBrowserFocus:Q,sourceEvent:z})}restoreFocus(Q=!1){let{beans:{editSvc:z,focusSvc:J},comp:Z}=this;if(!Z||z?.isEditing(this)||!this.isCellFocused()||!J.shouldTakeFocus())return;let $=()=>{if(!this.isAlive())return;let X=Z.getFocusableElement();if(this.isCellFocused())X.focus({preventScroll:!0})};if(Q){setTimeout($,0);return}$()}onRowIndexChanged(){this.createCellPosition(),this.refreshAriaRowIndex(),this.onCellFocused(),this.restoreFocus(),this.rangeFeature?.onCellSelectionChanged(),this.rowResizeFeature?.refreshRowResizer()}onSuppressCellFocusChanged(Q){let z=this.eGui;if(!z)return;Pz(z,"tabindex",Q?void 0:-1)}onFirstRightPinnedChanged(){if(!this.comp)return;let Q=this.column.isFirstRightPinned();this.comp.toggleCss(a3,Q)}onLastLeftPinnedChanged(){if(!this.comp)return;let Q=this.column.isLastLeftPinned();this.comp.toggleCss(o3,Q)}checkCellFocused(){return this.beans.focusSvc.isCellFocused(this.cellPosition)}isCellFocused(){let Q=this.checkCellFocused();return this.hasBeenFocused||(this.hasBeenFocused=Q),Q}setupFocus(){this.restoreFocus(!0),this.onCellFocused(this.focusEventWhileNotReady??void 0)}onCellFocused(Q){let{beans:z}=this;if(qZ(z))return;if(!this.comp){if(Q)this.focusEventWhileNotReady=Q;return}let J=this.isCellFocused(),Z=z.editSvc?.isEditing(this)??!1;if(this.comp.toggleCss(l3,J),J&&(Q?.forceBrowserFocus||!this.hasBrowserFocus()&&this.beans.focusSvc.shouldTakeFocus())){let $=this.comp.getFocusableElement();if(Z){let Y=EQ($,null,!0);if(Y.length)$=Y[0]}let X=Q?Q.preventScrollOnBrowserFocus:!0;$.focus({preventScroll:X}),JG(z,$)}if(J&&this.focusEventWhileNotReady)this.focusEventWhileNotReady=null;if(J&&Q)this.rowCtrl.announceDescription()}createCellPosition(){let{rowIndex:Q,rowPinned:z}=this.rowNode;this.cellPosition={rowIndex:Q,rowPinned:RQ(z),column:this.column}}applyStaticCssClasses(){let{comp:Q}=this;Q.toggleCss(t3,!0),Q.toggleCss(e3,!0);let z=this.column.isAutoHeight()==!0;Q.toggleCss(r3,z),Q.toggleCss(s3,!z)}onColumnHover(){this.beans.colHover?.onCellColumnHover(this.column,this.comp)}onColDefChanged(){if(!this.comp)return;if(this.column.isTooltipEnabled())this.disableTooltipFeature(),this.enableTooltipFeature();else this.disableTooltipFeature();if(this.setWrapText(),this.editSvc?.isEditing(this))this.editSvc?.handleColDefChanged(this);else this.refreshOrDestroyCell({force:!0,suppressFlash:!0})}setWrapText(){let Q=this.column.getColDef().wrapText==!0;this.comp.toggleCss(QE,Q)}dispatchCellContextMenuEvent(Q){let z=this.column.getColDef(),J=this.createEvent(Q,"cellContextMenu"),{beans:Z}=this;if(Z.eventSvc.dispatchEvent(J),z.onCellContextMenu)window.setTimeout(()=>{Z.frameworkOverrides.wrapOutgoing(()=>{z.onCellContextMenu(J)})},0)}getCellRenderer(){return this.comp?.getCellRenderer()??null}destroy(){if(this.onCompAttachedFuncs=[],this.onEditorAttachedFuncs=[],this.isCellFocused()&&this.hasBrowserFocus())this.beans.focusSvc.attemptToRecoverFocus();super.destroy()}hasBrowserFocus(){return this.eGui?.contains(d(this.beans))??!1}createSelectionCheckbox(){let Q=this.beans.selectionSvc?.createCheckboxSelectionComponent();if(!Q)return;return this.beans.context.createBean(Q),Q.init({rowNode:this.rowNode,column:this.column}),Q}createDndSource(){let Q=this.beans.registry.createDynamicBean("dndSourceComp",!1,this.rowNode,this.column,this.eGui);if(Q)this.beans.context.createBean(Q);return Q}registerRowDragger(Q,z,J){if(this.customRowDragComp){this.customRowDragComp.setDragElement(Q,z);return}let Z=this.createRowDragComp(Q,z,J);if(Z)this.customRowDragComp=Z,this.addDestroyFunc(()=>{this.beans.context.destroyBean(Z),this.customRowDragComp=null}),Z.refreshVisibility()}createRowDragComp(Q,z,J){let Z=this.beans.rowDragSvc?.createRowDragCompForCell(this.rowNode,this.column,()=>this.value,Q,z,J);if(!Z)return;return this.beans.context.createBean(Z),Z}cellEditorAttached(){for(let Q of this.onEditorAttachedFuncs)Q();this.onEditorAttachedFuncs=[]}setFocusedCellPosition(Q){}getFocusedCellPosition(){return this.cellPosition}refreshAriaRowIndex(){if(!v0(this.column)||!this.eGui)return;let{ariaRowIndex:Q}=this.rowCtrl;if(Q!=null)eJ(this.eGui,Q)}getRootElement(){return this.eGui}};function d$(Q,z,J,Z,$,X){if(J==null&&z==null)return;let Y={},G={},q=(H,_)=>{for(let U of H.split(" ")){if(U.trim()=="")continue;_(U)}};if(J){let H=Object.keys(J);for(let _=0;_<H.length;_++){let U=H[_],W=J[U],B;if(typeof W==="string")B=Q?Q.evaluate(W,Z):!0;else if(typeof W==="function")B=W(Z);q(U,(E)=>{if(B)Y[E]=!0;else G[E]=!0})}}if(z&&X)for(let H of Object.keys(z))q(H,(_)=>{if(!Y[_])G[_]=!0});if(X)Object.keys(G).forEach(X);Object.keys(Y).forEach($)}function e7(Q){if(Q.group)return Q.level;let z=Q.parent;return z?z.level+1:0}var JE=0,F5=class extends j{constructor(Q,z,J,Z,$){super();this.rowNode=Q,this.useAnimationFrameForCreate=Z,this.printLayout=$,this.focusEventWhileNotReady=null,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.ariaRowIndex=null,this.businessKey=null,this.beans=z,this.gos=z.gos,this.paginationPage=z.pagination?.getCurrentPage()??0,this.suppressRowTransform=this.gos.get("suppressRowTransform"),this.instanceId=Q.id+"-"+JE++,this.rowId=W0(Q.id),this.initRowBusinessKey(),this.rowFocused=z.focusSvc.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned),this.rowLevel=e7(this.rowNode),this.setRowType(),this.setAnimateFlags(J),this.rowStyles=this.processStylesFromGridOptions(),this.rowEditStyleFeature=z.editSvc?.createRowStyleFeature(this),this.addListeners()}initRowBusinessKey(){this.businessKeyForNodeFunc=this.gos.get("getBusinessKeyForNode"),this.updateRowBusinessKey()}updateRowBusinessKey(){if(typeof this.businessKeyForNodeFunc!=="function")return;let Q=this.businessKeyForNodeFunc(this.rowNode);this.businessKey=W0(Q)}updateGui(Q,z){if(Q==="left")this.leftGui=z;else if(Q==="right")this.rightGui=z;else if(Q==="fullWidth")this.fullWidthGui=z;else this.centerGui=z}setComp(Q,z,J,Z){let{context:$,rowRenderer:X}=this.beans;Z=BJ(this,$,Z);let Y={rowComp:Q,element:z,containerType:J,compBean:Z};this.allRowGuis.push(Y),this.updateGui(J,Y),this.initialiseRowComp(Y);let G=this.rowNode,q=this.rowType==="FullWidthLoading"||G.stub,H=!G.data&&this.beans.rowModel.getType()==="infinite";if(!q&&!H&&!G.rowPinned)X.dispatchFirstDataRenderedEvent();this.setupFocus()}unsetComp(Q){this.allRowGuis=this.allRowGuis.filter((z)=>z.containerType!==Q),this.updateGui(Q,void 0)}isCacheable(){return this.rowType==="FullWidthDetail"&&this.gos.get("keepDetailRows")}setCached(Q){let z=Q?"none":"";for(let J of this.allRowGuis)J.element.style.display=z}initialiseRowComp(Q){let z=this.gos;if(this.onSuppressCellFocusChanged(this.beans.gos.get("suppressCellFocus")),this.listenOnDomOrder(Q),this.onRowHeightChanged(Q),this.updateRowIndexes(Q),this.setFocusedClasses(Q),this.setStylesFromGridOptions(!1,Q),hQ(z)&&this.rowNode.selectable)this.onRowSelected(Q);this.updateColumnLists(!this.useAnimationFrameForCreate);let J=Q.rowComp,Z=this.getInitialRowClasses(Q.containerType);for(let $ of Z)J.toggleCss($,!0);if(this.executeSlideAndFadeAnimations(Q),this.rowNode.group)w0(Q.element,!!this.rowNode.expanded);if(this.setRowCompRowId(J),this.setRowCompRowBusinessKey(J),wz(z,Q.element,_Z,this),Q.compBean.addDestroyFunc(()=>wz(z,Q.element,_Z,null)),this.useAnimationFrameForCreate)this.beans.animationFrameSvc.createTask(this.addHoverFunctionality.bind(this,Q),this.rowNode.rowIndex,"p2",!1);else this.addHoverFunctionality(Q);if(this.isFullWidth())this.setupFullWidth(Q);if(z.get("rowDragEntireRow"))this.addRowDraggerToRow(Q);if(this.useAnimationFrameForCreate)this.beans.animationFrameSvc.addDestroyTask(()=>{if(!this.isAlive())return;Q.rowComp.toggleCss("ag-after-created",!0)});this.executeProcessRowPostCreateFunc()}setRowCompRowBusinessKey(Q){if(this.businessKey==null)return;Q.setRowBusinessKey(this.businessKey)}setRowCompRowId(Q){let z=W0(this.rowNode.id);if(this.rowId=z,z==null)return;Q.setRowId(z)}executeSlideAndFadeAnimations(Q){let{containerType:z}=Q;if(this.slideInAnimation[z])e2(()=>{this.onTopChanged()}),this.slideInAnimation[z]=!1;if(this.fadeInAnimation[z])e2(()=>{Q.rowComp.toggleCss("ag-opacity-zero",!1)}),this.fadeInAnimation[z]=!1}addRowDraggerToRow(Q){let z=this.beans.rowDragSvc?.createRowDragCompForRow(this.rowNode,Q.element);if(!z)return;let J=this.createBean(z,this.beans.context);this.rowDragComps.push(J),Q.compBean.addDestroyFunc(()=>{this.rowDragComps=this.rowDragComps.filter((Z)=>Z!==J),this.rowEditStyleFeature=this.destroyBean(this.rowEditStyleFeature,this.beans.context),this.destroyBean(J,this.beans.context)})}setupFullWidth(Q){let z=this.getPinnedForContainer(Q.containerType),J=this.createFullWidthCompDetails(Q.element,z);Q.rowComp.showFullWidth(J)}getFullWidthCellRenderers(){if(this.gos.get("embedFullWidthRows"))return this.allRowGuis.map((Q)=>Q?.rowComp?.getFullWidthCellRenderer());return[this.fullWidthGui?.rowComp?.getFullWidthCellRenderer()]}executeProcessRowPostCreateFunc(){let Q=this.gos.getCallback("processRowPostCreate");if(!Q||!this.areAllContainersReady())return;let z={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)};Q(z)}areAllContainersReady(){let{leftGui:Q,centerGui:z,rightGui:J,beans:{visibleCols:Z}}=this,$=!!Q||!Z.isPinningLeft(),X=!!z,Y=!!J||!Z.isPinningRight();return $&&X&&Y}isNodeFullWidthCell(){if(this.rowNode.detail)return!0;let Q=this.beans.gos.getCallback("isFullWidthRow");return Q?Q({rowNode:this.rowNode}):!1}setRowType(){let{rowNode:Q,gos:z,beans:{colModel:J}}=this,Z=Q.stub&&!z.get("suppressServerSideFullWidthLoadingRow")&&!z.get("groupHideOpenParents"),$=this.isNodeFullWidthCell(),X=z.get("masterDetail")&&Q.detail,Y=J.isPivotMode(),G=G9(z,Q,Y);if(Z)this.rowType="FullWidthLoading";else if(X)this.rowType="FullWidthDetail";else if($)this.rowType="FullWidth";else if(G)this.rowType="FullWidthGroup";else this.rowType="Normal"}updateColumnLists(Q=!1,z=!1){if(this.isFullWidth())return;let{animationFrameSvc:J}=this.beans;if(!J?.active||Q||this.printLayout){this.updateColumnListsImpl(z);return}if(this.updateColumnListsPending)return;J.createTask(()=>{if(!this.active)return;this.updateColumnListsImpl(!0)},this.rowNode.rowIndex,"p1",!1),this.updateColumnListsPending=!0}getNewCellCtrl(Q){if(this.beans.rowSpanSvc?.isCellSpanning(Q,this.rowNode))return;return new u1(Q,this.rowNode,this.beans,this)}isCorrectCtrlForSpan(Q){return!this.beans.rowSpanSvc?.isCellSpanning(Q.column,this.rowNode)}createCellCtrls(Q,z,J=null){let Z={list:[],map:{}},$=(H,_,U)=>{if(U!=null)Z.list.splice(U,0,_);else Z.list.push(_);Z.map[H]=_},X=[];for(let H of z){let _=H.getInstanceId(),U=Q.map[_];if(U&&!this.isCorrectCtrlForSpan(U))U.destroy(),U=void 0;if(!U)U=this.getNewCellCtrl(H);if(!U)continue;$(_,U)}for(let H of Q.list){let _=H.column.getInstanceId();if(Z.map[_]!=null)continue;if(!this.isCellEligibleToBeRemoved(H,J))X.push([_,H]);else H.destroy()}if(X.length)for(let[H,_]of X){let U=Z.list.findIndex((B)=>B.column.getLeft()>_.column.getLeft()),W=U===-1?void 0:Math.max(U-1,0);$(H,_,W)}let{focusSvc:Y,visibleCols:G}=this.beans,q=Y.getFocusedCell();if(q&&q.column.getPinned()==J){let H=q.column.getInstanceId();if(!Z.map[H]&&G.allCols.includes(q.column)){let U=this.createFocusedCellCtrl();if(U){let W=Z.list.findIndex((E)=>E.column.getLeft()>U.column.getLeft()),B=W===-1?void 0:Math.max(W-1,0);$(H,U,B)}}}return Z}createFocusedCellCtrl(){let{focusSvc:Q,rowSpanSvc:z}=this.beans,J=Q.getFocusedCell();if(!J)return;let Z=z?.getCellSpan(J.column,this.rowNode);if(Z){if(Z.firstNode!==this.rowNode||!Z.doesSpanContain(J))return}else if(!Q.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned))return;return this.getNewCellCtrl(J.column)}updateColumnListsImpl(Q){this.updateColumnListsPending=!1,this.createAllCellCtrls(),this.setCellCtrls(Q)}setCellCtrls(Q){for(let z of this.allRowGuis){let J=this.getCellCtrlsForContainer(z.containerType);z.rowComp.setCellCtrls(J,Q)}}getCellCtrlsForContainer(Q){switch(Q){case"left":return this.leftCellCtrls.list;case"right":return this.rightCellCtrls.list;case"fullWidth":return[];case"center":return this.centerCellCtrls.list}}createAllCellCtrls(){let Q=this.beans.colViewport,z=this.beans.visibleCols;if(this.printLayout)this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,z.allCols),this.leftCellCtrls={list:[],map:{}},this.rightCellCtrls={list:[],map:{}};else{let J=Q.getColsWithinViewport(this.rowNode);this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,J);let Z=z.getLeftColsForRow(this.rowNode);this.leftCellCtrls=this.createCellCtrls(this.leftCellCtrls,Z,"left");let $=z.getRightColsForRow(this.rowNode);this.rightCellCtrls=this.createCellCtrls(this.rightCellCtrls,$,"right")}}isCellEligibleToBeRemoved(Q,z){let{column:$}=Q;if($.getPinned()!=z)return!0;if(!this.isCorrectCtrlForSpan(Q))return!0;let{visibleCols:X,editSvc:Y}=this.beans,G=Y?.isEditing(Q),q=Q.isCellFocused();if(G||q)return X.allCols.indexOf($)>=0?!1:!0;return!0}getDomOrder(){return this.gos.get("ensureDomOrder")||V0(this.gos,"print")}listenOnDomOrder(Q){let z=()=>{Q.rowComp.setDomOrder(this.getDomOrder())};Q.compBean.addManagedPropertyListeners(["domLayout","ensureDomOrder"],z)}setAnimateFlags(Q){if(this.rowNode.sticky||!Q)return;let z=T(this.rowNode.oldRowTop),{visibleCols:J}=this.beans,Z=J.isPinningLeft(),$=J.isPinningRight();if(z){let{slideInAnimation:X}=this;if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows")){X.fullWidth=!0;return}X.center=!0,X.left=Z,X.right=$}else{let{fadeInAnimation:X}=this;if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows")){X.fullWidth=!0;return}X.center=!0,X.left=Z,X.right=$}}isFullWidth(){return this.rowType!=="Normal"}refreshFullWidth(){let Q=(Y,G)=>{if(!Y)return!0;return Y.rowComp.refreshFullWidth(()=>{return this.createFullWidthCompDetails(Y.element,G).params})},z=Q(this.fullWidthGui,null),J=Q(this.centerGui,null),Z=Q(this.leftGui,"left"),$=Q(this.rightGui,"right");return z&&J&&Z&&$}addListeners(){let{beans:Q,gos:z,rowNode:J}=this,{expansionSvc:Z,eventSvc:$,context:X,rowSpanSvc:Y}=Q;if(this.addManagedListeners(this.rowNode,{heightChanged:()=>this.onRowHeightChanged(),rowSelected:()=>this.onRowSelected(),rowIndexChanged:this.onRowIndexChanged.bind(this),topChanged:this.onTopChanged.bind(this),...Z?.getRowExpandedListeners(this)??{}}),J.detail)this.addManagedListeners(J.parent,{dataChanged:this.onRowNodeDataChanged.bind(this)});if(this.addManagedListeners(J,{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),rowPinned:this.onRowPinned.bind(this)}),this.addManagedListeners($,{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()}),Y)this.addManagedListeners(Y,{spannedCellsUpdated:({pinned:G})=>{if(G&&!J.rowPinned)return;this.updateColumnLists()}});this.addDestroyFunc(()=>{this.rowDragComps=this.destroyBeans(this.rowDragComps,X),this.tooltipFeature=this.destroyBean(this.tooltipFeature,X),this.rowEditStyleFeature=this.destroyBean(this.rowEditStyleFeature,X)}),this.addManagedPropertyListeners(["rowStyle","getRowStyle","rowClass","getRowClass","rowClassRules"],this.postProcessCss.bind(this)),this.addManagedPropertyListener("rowDragEntireRow",()=>{if(z.get("rowDragEntireRow")){for(let q of this.allRowGuis)this.addRowDraggerToRow(q);return}this.rowDragComps=this.destroyBeans(this.rowDragComps,X)}),this.addListenersForCellComps()}addListenersForCellComps(){this.addManagedListeners(this.rowNode,{rowIndexChanged:()=>{for(let Q of this.getAllCellCtrls())Q.onRowIndexChanged()},cellChanged:(Q)=>{for(let z of this.getAllCellCtrls())z.onCellChanged(Q)}})}onRowPinned(){for(let Q of this.allRowGuis)Q.rowComp.toggleCss("ag-row-pinned-source",!!this.rowNode.pinnedSibling)}onRowNodeDataChanged(Q){this.refreshRow({suppressFlash:!Q.update,newData:!Q.update})}refreshRow(Q){if(this.isFullWidth()!==!!this.isNodeFullWidthCell()){this.beans.rowRenderer.redrawRow(this.rowNode);return}if(this.isFullWidth()){if(!this.refreshFullWidth())this.beans.rowRenderer.redrawRow(this.rowNode);return}for(let J of this.getAllCellCtrls())J.refreshCell(Q);for(let J of this.allRowGuis)this.setRowCompRowId(J.rowComp),this.updateRowBusinessKey(),this.setRowCompRowBusinessKey(J.rowComp);this.onRowSelected(),this.postProcessCss()}postProcessCss(){this.setStylesFromGridOptions(!0),this.postProcessClassesFromGridOptions(),this.postProcessRowClassRules(),this.rowEditStyleFeature?.applyRowStyles(),this.postProcessRowDragging()}onRowNodeHighlightChanged(){let Q=this.beans.rowDropHighlightSvc,z=Q?.row===this.rowNode?Q.position:"none",J=z==="above",Z=z==="inside",$=z==="below",X=z!=="none",Y=J||$,G=this.rowNode.uiLevel,q=Y&&G>0,H=q?G.toString():"0";for(let _ of this.allRowGuis){let U=_.rowComp;if(U.toggleCss("ag-row-highlight-above",J),U.toggleCss("ag-row-highlight-inside",Z),U.toggleCss("ag-row-highlight-below",$),U.toggleCss("ag-row-highlight-indent",q),X)_.element.style.setProperty("--ag-row-highlight-level",H);else _.element.style.removeProperty("--ag-row-highlight-level")}}postProcessRowDragging(){let Q=this.rowNode.dragging;for(let z of this.allRowGuis)z.rowComp.toggleCss("ag-row-dragging",Q)}onDisplayedColumnsChanged(){this.updateColumnLists(!0),this.beans.rowAutoHeight?.requestCheckAutoHeight()}onVirtualColumnsChanged(){this.updateColumnLists(!1,!0)}getRowPosition(){return{rowPinned:RQ(this.rowNode.rowPinned),rowIndex:this.rowNode.rowIndex}}onKeyboardNavigate(Q){let z=this.findFullWidthInfoForEvent(Q);if(!z)return;let{rowGui:J,column:Z}=z;if(J.element!==Q.target)return;let Y=this.rowNode,{focusSvc:G,navigation:q}=this.beans,H=G.getFocusedCell(),_={rowIndex:Y.rowIndex,rowPinned:Y.rowPinned,column:H?.column??Z};q?.navigateToNextCell(Q,Q.key,_,!0),Q.preventDefault()}onTabKeyDown(Q){if(Q.defaultPrevented||zQ(Q))return;let z=this.allRowGuis.find((G)=>G.element.contains(Q.target)),J=z?z.element:null,Z=J===Q.target,$=d(this.beans),X=!1;if(J&&$)X=J.contains($)&&$.classList.contains("ag-cell");let Y=null;if(!Z&&!X)Y=R0(this.beans,J,!1,Q.shiftKey);if(this.isFullWidth()&&Z||!Y)this.beans.navigation?.onTabKeyDown(this,Q)}getFullWidthElement(){if(this.fullWidthGui)return this.fullWidthGui.element;return null}getRowYPosition(){let Q=this.allRowGuis.find((z)=>f0(z.element))?.element;if(Q)return Q.getBoundingClientRect().top;return 0}onSuppressCellFocusChanged(Q){let z=this.isFullWidth()&&Q?void 0:this.gos.get("tabIndex");for(let J of this.allRowGuis)Pz(J.element,"tabindex",z)}setupFocus(){if(!this.isFullWidth())return;this.restoreFullWidthFocus(!0),this.onFullWidthRowFocused(this.focusEventWhileNotReady??void 0)}restoreFullWidthFocus(Q=!1){let{focusSvc:z,editSvc:J}=this.beans;if(J?.isEditing(this))return;if(!z.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned)||!z.shouldTakeFocus())return;let Z=this.getFullWidthRowGuiForFocus();if(!Z)return;let $=()=>{if(!this.isAlive())return;if(z.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned))Z.element.focus({preventScroll:!0})};if(Q){setTimeout($,0);return}$()}getFullWidthRowGuiForFocus(Q){if(this.fullWidthGui)return this.fullWidthGui;let z=this.beans.focusSvc.getFocusedCell(),J=this.beans.colModel.getCol(Q?.column??z?.column);if(!J)return;let Z=J?.pinned;if(Z==="right")return this.rightGui;if(Z==="left")return this.leftGui;return this.centerGui}setFullWidthRowFocusedClass(Q,z){this.forEachGui(void 0,(J)=>{J.element.classList.toggle("ag-full-width-focus",z&&J===Q)})}onFullWidthRowFocused(Q){let{focusSvc:z}=this.beans;if(!(this.isFullWidth()&&z.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned))){this.setFullWidthRowFocusedClass(void 0,!1);return}let Z=this.getFullWidthRowGuiForFocus(Q);if(!Z){if(Q)this.focusEventWhileNotReady=Q;this.setFullWidthRowFocusedClass(void 0,!1);return}if(this.setFullWidthRowFocusedClass(Z,!0),this.focusEventWhileNotReady=null,Q?.forceBrowserFocus)Z.element.focus({preventScroll:!0})}recreateCell(Q){this.centerCellCtrls=this.removeCellCtrl(this.centerCellCtrls,Q),this.leftCellCtrls=this.removeCellCtrl(this.leftCellCtrls,Q),this.rightCellCtrls=this.removeCellCtrl(this.rightCellCtrls,Q),Q.destroy(),this.updateColumnLists()}removeCellCtrl(Q,z){let J={list:[],map:{}};for(let Z of Q.list){if(Z===z)continue;J.list.push(Z),J.map[Z.column.getInstanceId()]=Z}return J}onMouseEvent(Q,z){switch(Q){case"dblclick":this.onRowDblClick(z);break;case"click":this.onRowClick(z);break;case"pointerdown":case"touchstart":case"mousedown":this.onRowMouseDown(z);break}}createRowEvent(Q,z){let{rowNode:J}=this;return y(this.gos,{type:Q,node:J,data:J.data,rowIndex:J.rowIndex,rowPinned:J.rowPinned,event:z})}createRowEventWithSource(Q,z){let J=this.createRowEvent(Q,z);return J.source=this,J}onRowDblClick(Q){if(zQ(Q))return;let z=this.createRowEventWithSource("rowDoubleClicked",Q);z.isEventHandlingSuppressed=this.isSuppressMouseEvent(Q),this.beans.eventSvc.dispatchEvent(z)}findFullWidthInfoForEvent(Q){if(!Q)return;let z=this.findFullWidthRowGui(Q.target),J=this.getColumnForFullWidth(z);if(!z||!J)return;return{rowGui:z,column:J}}findFullWidthRowGui(Q){return this.allRowGuis.find((z)=>z.element.contains(Q))}getColumnForFullWidth(Q){let{visibleCols:z}=this.beans;switch(Q?.containerType){case"center":return z.centerCols[0];case"left":return z.leftCols[0];case"right":return z.rightCols[0];default:return z.allCols[0]}}onRowMouseDown(Q){if(this.lastMouseDownOnDragger=vz(Q.target,"ag-row-drag",3),!this.isFullWidth()||this.isSuppressMouseEvent(Q))return;let{rangeSvc:z,focusSvc:J}=this.beans;z?.removeAllCellRanges();let Z=this.findFullWidthInfoForEvent(Q);if(!Z)return;let{rowGui:$,column:X}=Z,Y=$.element,G=Q.target,q=this.rowNode,H=Q.defaultPrevented||cz();if(Y&&Y.contains(G)&&w1(G))H=!1;J.setFocusedCell({rowIndex:q.rowIndex,column:X,rowPinned:q.rowPinned,forceBrowserFocus:H})}isSuppressMouseEvent(Q){let{gos:z,rowNode:J}=this;if(this.isFullWidth()){let $=this.findFullWidthRowGui(Q.target);return sH(z,$?.rowComp.getFullWidthCellRendererParams(),J,Q)}let Z=EJ(z,Q.target);return Z!=null&&rJ(z,Z.column,J,Q)}onRowClick(Q){if(zQ(Q)||this.lastMouseDownOnDragger)return;let J=this.isSuppressMouseEvent(Q),{eventSvc:Z,selectionSvc:$}=this.beans,X=this.createRowEventWithSource("rowClicked",Q);if(X.isEventHandlingSuppressed=J,Z.dispatchEvent(X),J)return;$?.handleSelectionEvent(Q,this.rowNode,"rowClicked")}setupDetailRowAutoHeight(Q){if(this.rowType!=="FullWidthDetail")return;this.beans.masterDetailSvc?.setupDetailRowAutoHeight(this,Q)}createFullWidthCompDetails(Q,z){let{gos:J,rowNode:Z}=this,$=y(J,{fullWidth:!0,data:Z.data,node:Z,value:Z.key,valueFormatted:Z.key,eGridCell:Q,eParentOfValue:Q,pinned:z,addRenderedRowListener:this.addEventListener.bind(this),registerRowDragger:(Y,G,q,H)=>this.addFullWidthRowDragging(Y,G,q,H),setTooltip:(Y,G)=>{J.assertModuleRegistered("Tooltip",3),this.setupFullWidthRowTooltip(Y,G)}}),X=this.beans.userCompFactory;switch(this.rowType){case"FullWidthDetail":return wq(X,$);case"FullWidthGroup":{let{value:Y,valueFormatted:G}=this.beans.valueSvc.getValueForDisplay({node:this.rowNode,includeValueFormatted:!0,from:"edit"});return $.value=Y,$.valueFormatted=G,xq(X,$)}case"FullWidthLoading":return yq(X,$);default:return bq(X,$)}}setupFullWidthRowTooltip(Q,z){if(!this.fullWidthGui)return;this.tooltipFeature=this.beans.tooltipSvc?.setupFullWidthRowTooltip(this.tooltipFeature,this,Q,z)}addFullWidthRowDragging(Q,z,J="",Z){let{rowDragSvc:$,context:X}=this.beans;if(!$||!this.isFullWidth())return;let Y=$.createRowDragComp(()=>J,this.rowNode,void 0,Q,z,Z);this.createBean(Y,X),this.addDestroyFunc(()=>{this.destroyBean(Y,X)})}onUiLevelChanged(){let Q=e7(this.rowNode);if(this.rowLevel!=Q){let z="ag-row-level-"+Q,J="ag-row-level-"+this.rowLevel;for(let Z of this.allRowGuis)Z.rowComp.toggleCss(z,!0),Z.rowComp.toggleCss(J,!1)}this.rowLevel=Q}isFirstRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBounds.getFirstRow()}isLastRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBounds.getLastRow()}refreshFirstAndLastRowStyles(){let Q=this.isFirstRowOnPage(),z=this.isLastRowOnPage();if(this.firstRowOnPage!==Q){this.firstRowOnPage=Q;for(let J of this.allRowGuis)J.rowComp.toggleCss("ag-row-first",Q)}if(this.lastRowOnPage!==z){this.lastRowOnPage=z;for(let J of this.allRowGuis)J.rowComp.toggleCss("ag-row-last",z)}}getAllCellCtrls(){if(this.leftCellCtrls.list.length===0&&this.rightCellCtrls.list.length===0)return this.centerCellCtrls.list;return[...this.centerCellCtrls.list,...this.leftCellCtrls.list,...this.rightCellCtrls.list]}postProcessClassesFromGridOptions(){let Q=[];if(this.beans.rowStyleSvc?.processClassesFromGridOptions(Q,this.rowNode),!Q.length)return;for(let z of Q)for(let J of this.allRowGuis)J.rowComp.toggleCss(z,!0)}postProcessRowClassRules(){this.beans.rowStyleSvc?.processRowClassRules(this.rowNode,(Q)=>{for(let z of this.allRowGuis)z.rowComp.toggleCss(Q,!0)},(Q)=>{for(let z of this.allRowGuis)z.rowComp.toggleCss(Q,!1)})}setStylesFromGridOptions(Q,z){if(Q)this.rowStyles=this.processStylesFromGridOptions();this.forEachGui(z,(J)=>J.rowComp.setUserStyles(this.rowStyles))}getPinnedForContainer(Q){if(Q==="left"||Q==="right")return Q;return null}getInitialRowClasses(Q){let z=this.getPinnedForContainer(Q),J=this.isFullWidth(),{rowNode:Z,beans:$}=this,X=[];if(X.push("ag-row"),X.push(this.rowFocused?"ag-row-focus":"ag-row-no-focus"),this.fadeInAnimation[Q])X.push("ag-opacity-zero");if(X.push(Z.rowIndex%2===0?"ag-row-even":"ag-row-odd"),Z.isRowPinned()){if(X.push("ag-row-pinned"),$.pinnedRowModel?.isManual())X.push("ag-row-pinned-manual")}if(!Z.isRowPinned()&&Z.pinnedSibling)X.push("ag-row-pinned-source");if(Z.isSelected())X.push("ag-row-selected");if(Z.footer)X.push("ag-row-footer");if(X.push("ag-row-level-"+this.rowLevel),Z.stub)X.push("ag-row-loading");if(J)X.push("ag-full-width-row");if($.expansionSvc?.addExpandedCss(X,Z),Z.dragging)X.push("ag-row-dragging");let{rowStyleSvc:Y}=$;if(Y)Y.processClassesFromGridOptions(X,Z),Y.preProcessRowClassRules(X,Z);if(X.push(this.printLayout?"ag-row-position-relative":"ag-row-position-absolute"),this.isFirstRowOnPage())X.push("ag-row-first");if(this.isLastRowOnPage())X.push("ag-row-last");if(J){if(z==="left")X.push("ag-cell-last-left-pinned");if(z==="right")X.push("ag-cell-first-right-pinned")}return X}processStylesFromGridOptions(){return this.beans.rowStyleSvc?.processStylesFromGridOptions(this.rowNode)??this.emptyStyle}onRowSelected(Q){this.beans.selectionSvc?.onRowCtrlSelected(this,(z)=>{if(z===this.centerGui||z===this.fullWidthGui)this.announceDescription()},Q)}announceDescription(){this.beans.selectionSvc?.announceAriaRowSelection(this.rowNode)}addHoverFunctionality(Q){if(!this.active)return;let{element:z,compBean:J}=Q,{rowNode:Z,beans:$,gos:X}=this;J.addManagedListeners(z,{pointerenter:(Y)=>{if(Y.pointerType==="mouse")Z.dispatchRowEvent("mouseEnter")},pointerleave:(Y)=>{if(Y.pointerType==="mouse")Z.dispatchRowEvent("mouseLeave")}}),J.addManagedListeners(Z,{mouseEnter:()=>{if(!$.dragSvc?.dragging&&!X.get("suppressRowHoverHighlight"))z.classList.add("ag-row-hover"),Z.setHovered(!0)},mouseLeave:()=>{this.resetHoveredStatus(z)}})}resetHoveredStatus(Q){let z=Q?[Q]:this.allRowGuis.map((J)=>J.element);for(let J of z)J.classList.remove("ag-row-hover");this.rowNode.setHovered(!1)}roundRowTopToBounds(Q){let z=this.beans.ctrlsSvc.getScrollFeature().getApproximateVScollPosition(),J=this.applyPaginationOffset(z.top,!0)-100,Z=this.applyPaginationOffset(z.bottom,!0)+100;return Math.min(Math.max(J,Q),Z)}forEachGui(Q,z){if(Q)z(Q);else for(let J of this.allRowGuis)z(J)}isRowRendered(){return this.allRowGuis.length>0}onRowHeightChanged(Q){if(this.rowNode.rowHeight==null)return;let z=this.rowNode.rowHeight,J=this.beans.environment.getDefaultRowHeight(),$=$9(this.gos)?r1(this.beans,this.rowNode).height:void 0,X=$?`${Math.min(J,$)-2}px`:void 0;this.forEachGui(Q,(Y)=>{if(Y.element.style.height=`${z}px`,X)Y.element.style.setProperty("--ag-line-height",X)})}destroyFirstPass(Q=!1){this.active=!1;let{rowNode:z}=this;if(!Q&&_1(this.gos)&&!z.sticky)if(z.rowTop!=null){let $=this.roundRowTopToBounds(z.rowTop);this.setRowTop($)}else for(let $ of this.allRowGuis)$.rowComp.toggleCss("ag-opacity-zero",!0);if(this.fullWidthGui?.element.contains(d(this.beans)))this.beans.focusSvc.attemptToRecoverFocus();z.setHovered(!1);let J=this.createRowEvent("virtualRowRemoved");this.dispatchLocalEvent(J),this.beans.eventSvc.dispatchEvent(J),super.destroy()}destroySecondPass(){this.allRowGuis.length=0;let Q=(z)=>{for(let J of z.list)J.destroy();return{list:[],map:{}}};this.centerCellCtrls=Q(this.centerCellCtrls),this.leftCellCtrls=Q(this.leftCellCtrls),this.rightCellCtrls=Q(this.rightCellCtrls)}setFocusedClasses(Q){this.forEachGui(Q,(z)=>{z.rowComp.toggleCss("ag-row-focus",this.rowFocused),z.rowComp.toggleCss("ag-row-no-focus",!this.rowFocused)})}onCellFocusChanged(){let{focusSvc:Q}=this.beans,z=Q.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned);if(z!==this.rowFocused)this.rowFocused=z,this.setFocusedClasses()}onPaginationChanged(){let Q=this.beans.pagination?.getCurrentPage()??0;if(this.paginationPage!==Q)this.paginationPage=Q,this.onTopChanged();this.refreshFirstAndLastRowStyles()}onTopChanged(){this.setRowTop(this.rowNode.rowTop)}onPaginationPixelOffsetChanged(){this.onTopChanged()}applyPaginationOffset(Q,z=!1){if(this.rowNode.isRowPinned()||this.rowNode.sticky)return Q;let J=this.beans.pageBounds.getPixelOffset();return Q+J*(z?1:-1)}setRowTop(Q){if(this.printLayout)return;if(T(Q)){let z=this.applyPaginationOffset(Q),$=`${this.rowNode.isRowPinned()||this.rowNode.sticky?z:this.beans.rowContainerHeight.getRealPixelPosition(z)}px`;this.setRowTopStyle($)}}getInitialRowTop(Q){return this.suppressRowTransform?this.getInitialRowTopShared(Q):void 0}getInitialTransform(Q){return this.suppressRowTransform?void 0:`translateY(${this.getInitialRowTopShared(Q)})`}getInitialRowTopShared(Q){if(this.printLayout)return"";let z=this.rowNode,J;if(z.sticky)J=z.stickyRowTop;else{let Z=this.slideInAnimation[Q]?this.roundRowTopToBounds(z.oldRowTop):z.rowTop,$=this.applyPaginationOffset(Z);J=z.isRowPinned()?$:this.beans.rowContainerHeight.getRealPixelPosition($)}return J+"px"}setRowTopStyle(Q){for(let z of this.allRowGuis)if(this.suppressRowTransform)z.rowComp.setTop(Q);else z.rowComp.setTransform(`translateY(${Q})`)}getCellCtrl(Q,z=!1){let J=null;for(let Z of this.getAllCellCtrls())if(Z.column==Q)J=Z;if(J!=null||z)return J;for(let Z of this.getAllCellCtrls())if(Z?.getColSpanningList().indexOf(Q)>=0)J=Z;return J}onRowIndexChanged(){if(this.rowNode.rowIndex!=null)this.onCellFocusChanged(),this.updateRowIndexes(),this.postProcessCss()}updateRowIndexes(Q){let z=this.rowNode.getRowIndexString();if(z===null)return;let J=(this.beans.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0)+(this.beans.filterManager?.getHeaderRowCount()??0),Z=this.rowNode.rowIndex%2===0,$=this.ariaRowIndex=J+this.rowNode.rowIndex+1;this.forEachGui(Q,(X)=>{X.rowComp.setRowIndex(z),X.rowComp.toggleCss("ag-row-even",Z),X.rowComp.toggleCss("ag-row-odd",!Z),eJ(X.element,$)})}},ZE=class extends j{constructor(){super();this.beanName="navigation",this.onPageDown=E7(this.onPageDown,100),this.onPageUp=E7(this.onPageUp,100)}postConstruct(){this.beans.ctrlsSvc.whenReady(this,(Q)=>{this.gridBodyCon=Q.gridBodyCtrl})}handlePageScrollingKey(Q,z=!1){let{key:J,altKey:Z}=Q,$=Q.ctrlKey||Q.metaKey,X=!!this.beans.rangeSvc&&Q.shiftKey,Y=U6(this.gos,Q),G=!1;switch(J){case V.PAGE_HOME:case V.PAGE_END:if(!$&&!Z)this.onHomeOrEndKey(J),G=!0;break;case V.LEFT:case V.RIGHT:case V.UP:case V.DOWN:if(!Y)return!1;if($&&!Z&&!X)this.onCtrlUpDownLeftRight(J,Y),G=!0;break;case V.PAGE_DOWN:case V.PAGE_UP:if(!$&&!Z)G=this.handlePageUpDown(J,Y,z);break}if(G)Q.preventDefault();return G}handlePageUpDown(Q,z,J){if(J)z=this.beans.focusSvc.getFocusedCell();if(!z)return!1;if(Q===V.PAGE_UP)this.onPageUp(z);else this.onPageDown(z);return!0}navigateTo({scrollIndex:Q,scrollType:z,scrollColumn:J,focusIndex:Z,focusColumn:$,isAsync:X,rowPinned:Y}){let{scrollFeature:G}=this.gridBodyCon;if(T(J)&&!J.isPinned())G.ensureColumnVisible(J);if(T(Q))G.ensureIndexVisible(Q,z);if(!X)G.ensureIndexVisible(Z);let{focusSvc:q}=this.beans;q.setFocusedCell({rowIndex:Z,column:$,rowPinned:Y,forceBrowserFocus:!0}),this.setRangeToCellIfSupported({rowIndex:Z,rowPinned:Y,column:$})}onPageDown(Q){let z=this.beans,J=t2(z),Z=this.getViewportHeight(),{pageBounds:$,rowModel:X,rowAutoHeight:Y}=z,G=$.getPixelOffset(),q=J.top+Z,H=X.getRowIndexAtPixel(q+G);if(Y?.active)this.navigateToNextPageWithAutoHeight(Q,H);else this.navigateToNextPage(Q,H)}onPageUp(Q){let z=this.beans,J=t2(z),{pageBounds:Z,rowModel:$,rowAutoHeight:X}=z,Y=Z.getPixelOffset(),G=J.top,q=$.getRowIndexAtPixel(G+Y);if(X?.active)this.navigateToNextPageWithAutoHeight(Q,q,!0);else this.navigateToNextPage(Q,q,!0)}navigateToNextPage(Q,z,J=!1){let{pageBounds:Z,rowModel:$}=this.beans,X=this.getViewportHeight(),Y=Z.getFirstRow(),G=Z.getLastRow(),q=Z.getPixelOffset(),H=$.getRow(Q.rowIndex),_=J?H?.rowHeight-X-q:X-q,U=H?.rowTop+_,W=$.getRowIndexAtPixel(U+q);if(W===Q.rowIndex){let E=J?-1:1;z=W=Q.rowIndex+E}let B;if(J){if(B="bottom",W<Y)W=Y;if(z<Y)z=Y}else{if(B="top",W>G)W=G;if(z>G)z=G}if(this.isRowTallerThanView($.getRow(W)))z=W,B="top";this.navigateTo({scrollIndex:z,scrollType:B,scrollColumn:null,focusIndex:W,focusColumn:Q.column})}navigateToNextPageWithAutoHeight(Q,z,J=!1){this.navigateTo({scrollIndex:z,scrollType:J?"bottom":"top",scrollColumn:null,focusIndex:z,focusColumn:Q.column}),setTimeout(()=>{let Z=this.getNextFocusIndexForAutoHeight(Q,J);this.navigateTo({scrollIndex:z,scrollType:J?"bottom":"top",scrollColumn:null,focusIndex:Z,focusColumn:Q.column,isAsync:!0})},50)}getNextFocusIndexForAutoHeight(Q,z=!1){let J=z?-1:1,Z=this.getViewportHeight(),{pageBounds:$,rowModel:X}=this.beans,Y=$.getLastRow(),G=0,q=Q.rowIndex;while(q>=0&&q<=Y){let H=X.getRow(q);if(H){let _=H.rowHeight??0;if(G+_>Z)break;G+=_}q+=J}return Math.max(0,Math.min(q,Y))}getViewportHeight(){let Q=this.beans,z=t2(Q),J=this.beans.scrollVisibleSvc.getScrollbarWidth(),Z=z.bottom-z.top;if(Q.ctrlsSvc.get("center").isHorizontalScrollShowing())Z-=J;return Z}isRowTallerThanView(Q){if(!Q)return!1;let z=Q.rowHeight;if(typeof z!=="number")return!1;return z>this.getViewportHeight()}onCtrlUpDownLeftRight(Q,z){let J=this.beans.cellNavigation.getNextCellToFocus(Q,z,!0);if(!J)return;let Z=this.getNormalisedPosition(J),{rowIndex:$,rowPinned:X,column:Y}=Z??J,G=Y;this.navigateTo({scrollIndex:$,scrollType:null,scrollColumn:G,focusIndex:$,focusColumn:G,rowPinned:X})}onHomeOrEndKey(Q){let z=Q===V.PAGE_HOME,{visibleCols:J,pageBounds:Z,rowModel:$}=this.beans,X=J.allCols,Y=z?Z.getFirstRow():Z.getLastRow(),G=$.getRow(Y);if(!G)return;let q=(z?X:[...X].reverse()).find((H)=>!H.isSuppressNavigable(G)&&!v0(H));if(!q)return;this.navigateTo({scrollIndex:Y,scrollType:null,scrollColumn:q,focusIndex:Y,focusColumn:q})}onTabKeyDown(Q,z){let J=z.shiftKey,Z=this.tabToNextCellCommon(Q,J,z),$=this.beans,{ctrlsSvc:X,pageBounds:Y,focusSvc:G,gos:q}=$;if(Z!==!1){if(Z)z.preventDefault();else if(Z===null)X.get("gridCtrl").allowFocusForNextCoreContainer(J);return}if(J){let{rowIndex:H,rowPinned:_}=Q.getRowPosition();if(_?H===0:H===Y.getFirstRow())if(q.get("headerHeight")===0||_Q($))$Q($,!0,!0);else z.preventDefault(),G.focusPreviousFromFirstCell(z)}else{if(Q instanceof u1)Q.focusCell(!0);if(G.focusOverlay(!1)||$Q($,J))z.preventDefault()}}tabToNextCell(Q,z){let J=this.beans,{focusSvc:Z,rowRenderer:$}=J,X=Z.getFocusedCell();if(!X)return!1;let Y=e0(J,X);if(!Y){if(Y=$.getRowByPosition(X),!Y?.isFullWidth())return!1}return!!this.tabToNextCellCommon(Y,Q,z,"api")}tabToNextCellCommon(Q,z,J,Z="ui"){let{editSvc:$,focusSvc:X}=this.beans,Y=void 0,G=Q instanceof u1?Q:Q.getAllCellCtrls()?.[0];if($?.isEditing())Y=$?.moveToNextCell(G,z,J,Z);else Y=this.moveToNextCellNotEditing(Q,z,J);if(Y===null)return Y;return Y||!!X.focusedHeader}moveToNextCellNotEditing(Q,z,J){let Z=this.beans.visibleCols.allCols,$;if(Q instanceof F5){if($={...Q.getRowPosition(),column:z?Z[0]:b(Z)},this.gos.get("embedFullWidthRows")&&J){let Y=Q.findFullWidthInfoForEvent(J);if(Y)$.column=Y.column}}else $=Q.getFocusedCellPosition();let X=this.findNextCellToFocusOn($,{backwards:z,startEditing:!1});if(X===!1)return null;if(X instanceof u1)X.focusCell(!0);else if(X)return this.tryToFocusFullWidthRow(X,z);return T(X)}findNextCellToFocusOn(Q,{backwards:z,startEditing:J,skipToNextEditableCell:Z}){let $=Q,X=this.beans,{cellNavigation:Y,gos:G,focusSvc:q,rowRenderer:H}=X;while(!0){if(Q!==$)Q=$;if(!z)$=this.getLastCellOfColSpan($);$=Y.getNextTabbedCell($,z);let _=G.getCallback("tabToNextCell");if(T(_)){let E=_({backwards:z,editing:J,previousCellPosition:Q,nextCellPosition:$?$:null});if(E===!0)$=Q;else if(E===!1)return!1;else $={rowIndex:E.rowIndex,column:E.column,rowPinned:E.rowPinned}}if(!$)return null;if($.rowIndex<0){let B=l0(X);return q.focusHeaderPosition({headerPosition:{headerRowIndex:B+$.rowIndex,column:$.column},fromCell:!0}),null}let U=G.get("editType")==="fullRow";if(J&&(!U||Z)){if(!this.isCellEditable($))continue}this.ensureCellVisible($);let W=e0(X,$);if(!W){let B=H.getRowByPosition($);if(!B||!B.isFullWidth()||J)continue;return{...B.getRowPosition(),column:$?.column}}if(Y.isSuppressNavigable(W.column,W.rowNode))continue;return W.setFocusedCellPosition($),this.setRangeToCellIfSupported($),W}}isCellEditable(Q){let z=this.lookupRowNodeForCell(Q);if(z)return Q.column.isCellEditable(z);return!1}lookupRowNodeForCell({rowIndex:Q,rowPinned:z}){let{pinnedRowModel:J,rowModel:Z}=this.beans;if(z==="top")return J?.getPinnedTopRow(Q);if(z==="bottom")return J?.getPinnedBottomRow(Q);return Z.getRow(Q)}navigateToNextCell(Q,z,J,Z){let $=J,X=!1,Y=this.beans,{cellNavigation:G,focusSvc:q,gos:H}=Y;while($&&($===J||!this.isValidNavigateCell($))){if(H.get("enableRtl")){if(z===V.LEFT)$=this.getLastCellOfColSpan($)}else if(z===V.RIGHT)$=this.getLastCellOfColSpan($);$=G.getNextCellToFocus(z,$),X=n($)}if(X&&Q&&Q.key===V.UP)$={rowIndex:-1,rowPinned:null,column:J.column};if(Z){let U=H.getCallback("navigateToNextCell");if(T(U)){let B=U({key:z,previousCellPosition:J,nextCellPosition:$?$:null,event:Q});if(T(B))$={rowPinned:B.rowPinned,rowIndex:B.rowIndex,column:B.column};else $=null}}if(!$)return;if($.rowIndex<0){let U=l0(Y);q.focusHeaderPosition({headerPosition:{headerRowIndex:U+$.rowIndex,column:$.column??J.column},event:Q||void 0,fromCell:!0});return}let _=this.getNormalisedPosition($);if(_)this.focusPosition(_);else this.tryToFocusFullWidthRow($)}getNormalisedPosition(Q){if(!!this.beans.spannedRowRenderer?.getCellByPosition(Q))return Q;this.ensureCellVisible(Q);let J=e0(this.beans,Q);if(!J)return null;return Q=J.getFocusedCellPosition(),this.ensureCellVisible(Q),Q}tryToFocusFullWidthRow(Q,z){let{visibleCols:J,rowRenderer:Z,focusSvc:$,eventSvc:X}=this.beans,Y=J.allCols;if(!Z.getRowByPosition(Q)?.isFullWidth())return!1;let q=$.getFocusedCell(),H={rowIndex:Q.rowIndex,rowPinned:Q.rowPinned,column:Q.column||(z?b(Y):Y[0])};this.focusPosition(H);let _=z==null?q!=null&&q0(H,q):z;return X.dispatchEvent({type:"fullWidthRowFocused",rowIndex:H.rowIndex,rowPinned:H.rowPinned,column:H.column,isFullWidthCell:!0,fromBelow:_}),!0}focusPosition(Q){let{focusSvc:z}=this.beans;z.setFocusedCell({rowIndex:Q.rowIndex,column:Q.column,rowPinned:Q.rowPinned,forceBrowserFocus:!0}),this.setRangeToCellIfSupported(Q)}setRangeToCellIfSupported(Q){if(v0(Q.column))return;this.beans.rangeSvc?.setRangeToCell(Q)}isValidNavigateCell(Q){return!!M0(this.beans,Q)}getLastCellOfColSpan(Q){let z=e0(this.beans,Q);if(!z)return Q;let J=z.getColSpanningList();if(J.length===1)return Q;return{rowIndex:Q.rowIndex,column:b(J),rowPinned:Q.rowPinned}}ensureCellVisible(Q){let z=k1(this.gos),J=this.beans.rowModel.getRow(Q.rowIndex),Z=z&&J?.sticky,{scrollFeature:$}=this.gridBodyCon;if(!Z&&n(Q.rowPinned))$.ensureIndexVisible(Q.rowIndex);if(!Q.column.isPinned())$.ensureColumnVisible(Q.column)}ensureColumnVisible(Q){let z=this.gridBodyCon.scrollFeature;if(!Q.isPinned())z.ensureColumnVisible(Q)}ensureRowVisible(Q){this.gridBodyCon.scrollFeature.ensureIndexVisible(Q)}};function t2(Q){return Q.ctrlsSvc.getScrollFeature().getVScrollPosition()}var iz={moduleName:"KeyboardNavigation",version:p,beans:[ZE,f3,yB],apiFunctions:{getFocusedCell:A3,clearFocusedCell:j3,setFocusedCell:R3,setFocusedHeader:P3,tabToNextCell:S3,tabToPreviousCell:O3}},$E=class extends j{constructor(){super(...arguments);this.beanName="pageBoundsListener"}postConstruct(){this.addManagedEventListeners({modelUpdated:this.onModelUpdated.bind(this),recalculateRowBounds:this.calculatePages.bind(this)}),this.onModelUpdated()}onModelUpdated(Q){this.calculatePages(),this.eventSvc.dispatchEvent({type:"paginationChanged",animate:Q?.animate??!1,newData:Q?.newData??!1,newPage:Q?.newPage??!1,newPageSize:Q?.newPageSize??!1,keepRenderedRows:Q?.keepRenderedRows??!1})}calculatePages(){let{pageBounds:Q,pagination:z,rowModel:J}=this.beans;if(z)z.calculatePages();else Q.calculateBounds(0,J.getRowCount()-1)}},XE=class extends j{constructor(){super(...arguments);this.beanName="pageBounds",this.pixelOffset=0}getFirstRow(){return this.topRowBounds?.rowIndex??-1}getLastRow(){return this.bottomRowBounds?.rowIndex??-1}getCurrentPageHeight(){let{topRowBounds:Q,bottomRowBounds:z}=this;if(!Q||!z)return 0;return Math.max(z.rowTop+z.rowHeight-Q.rowTop,0)}getCurrentPagePixelRange(){let{topRowBounds:Q,bottomRowBounds:z}=this,J=Q?.rowTop??0,Z=z?z.rowTop+z.rowHeight:0;return{pageFirstPixel:J,pageLastPixel:Z}}calculateBounds(Q,z){let{rowModel:J}=this.beans,Z=J.getRowBounds(Q);if(Z)Z.rowIndex=Q;this.topRowBounds=Z;let $=J.getRowBounds(z);if($)$.rowIndex=z;this.bottomRowBounds=$,this.calculatePixelOffset()}getPixelOffset(){return this.pixelOffset}calculatePixelOffset(){let Q=this.topRowBounds?.rowTop??0;if(this.pixelOffset===Q)return;this.pixelOffset=Q,this.eventSvc.dispatchEvent({type:"paginationPixelOffsetChanged"})}},YE=".ag-pinned-left-floating-bottom,.ag-pinned-left-floating-top,.ag-pinned-right-floating-bottom,.ag-pinned-right-floating-top{min-width:0;overflow:hidden;position:relative}.ag-pinned-left-sticky-top,.ag-pinned-right-sticky-top{height:100%;overflow:hidden;position:relative}.ag-sticky-bottom-full-width-container,.ag-sticky-top-full-width-container{height:100%;overflow:hidden;width:100%}.ag-pinned-left-header,.ag-pinned-right-header{display:inline-block;height:100%;overflow:hidden;position:relative}.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible){.ag-horizontal-left-spacer:not(.ag-scroller-corner){border-right:var(--ag-pinned-column-border)}.ag-horizontal-right-spacer:not(.ag-scroller-corner){border-left:var(--ag-pinned-column-border)}}.ag-pinned-right-header{border-left:var(--ag-pinned-column-border)}.ag-pinned-left-header{border-right:var(--ag-pinned-column-border)}.ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left,.ag-cell-range-single-cell,.ag-cell-focus:not(.ag-cell-range-selected):focus-within){border-left:var(--ag-pinned-column-border)}.ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right,.ag-cell-range-single-cell,.ag-cell-focus:not(.ag-cell-range-selected):focus-within){border-right:var(--ag-pinned-column-border)}.ag-pinned-left-header .ag-header-cell-resize:after{left:calc(50% - var(--ag-header-column-resize-handle-width))}.ag-pinned-right-header .ag-header-cell-resize:after{left:50%}.ag-pinned-left-header .ag-header-cell-resize{right:-3px}.ag-pinned-right-header .ag-header-cell-resize{left:-3px}",GE=class extends j{constructor(Q,z){super();this.isLeft=Q,this.elements=z,this.getWidth=Q?()=>this.beans.pinnedCols.leftWidth:()=>this.beans.pinnedCols.rightWidth}postConstruct(){this.addManagedEventListeners({[`${this.isLeft?"left":"right"}PinnedWidthChanged`]:this.onPinnedWidthChanged.bind(this)})}onPinnedWidthChanged(){let Q=this.getWidth(),z=Q>0;for(let J of this.elements)if(J)N(J,z),SQ(J,Q)}},qE=class extends j{constructor(){super(...arguments);this.beanName="pinnedCols"}postConstruct(){this.beans.ctrlsSvc.whenReady(this,(z)=>{this.gridBodyCtrl=z.gridBodyCtrl});let Q=this.checkContainerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:Q,displayedColumnsWidthChanged:Q}),this.addManagedPropertyListener("domLayout",Q)}checkContainerWidths(){let{gos:Q,visibleCols:z,eventSvc:J}=this.beans,Z=V0(Q,"print"),$=Z?0:z.getColsLeftWidth(),X=Z?0:z.getDisplayedColumnsRightWidth();if($!=this.leftWidth)this.leftWidth=$,J.dispatchEvent({type:"leftPinnedWidthChanged"});if(X!=this.rightWidth)this.rightWidth=X,J.dispatchEvent({type:"rightPinnedWidthChanged"})}keepPinnedColumnsNarrowerThanViewport(){let Q=this.gridBodyCtrl.eBodyViewport,z=xz(Q);if(z<=50)return;let J=this.getPinnedColumnsOverflowingViewport(z-50),Z=this.gos.getCallback("processUnpinnedColumns"),{columns:$,hasLockedPinned:X}=J,Y=$;if(!Y.length&&!X)return;if(Z)Y=Z({columns:Y,viewportWidth:z});if(!Y?.length)return;Y=Y.filter((G)=>!v0(G)),this.setColsPinned(Y,null,"viewportSizeFeature")}createPinnedWidthFeature(Q,...z){return new GE(Q,z)}setColsPinned(Q,z,J){let{colModel:Z,colAnimation:$,visibleCols:X,gos:Y}=this.beans;if(!Z.cols)return;if(!Q?.length)return;if(V0(Y,"print")){R(37);return}$?.start();let G;if(z===!0||z==="left")G="left";else if(z==="right")G="right";else G=null;let q=[];for(let H of Q){if(!H)continue;let _=Z.getCol(H);if(!_)continue;if(_.getPinned()!==G)this.setColPinned(_,G),q.push(_)}if(q.length)X.refresh(J),D$(this.eventSvc,q,J);$?.finish()}initCol(Q){let{pinned:z,initialPinned:J}=Q.colDef;if(z!==void 0)this.setColPinned(Q,z);else this.setColPinned(Q,J)}setColPinned(Q,z){if(z===!0||z==="left")Q.pinned="left";else if(z==="right")Q.pinned="right";else Q.pinned=null;Q.dispatchStateUpdatedEvent("pinned")}setupHeaderPinnedWidth(Q){let{scrollVisibleSvc:z}=this.beans;if(Q.pinned==null)return;let J=Q.pinned==="left",Z=Q.pinned==="right";Q.hidden=!0;let $=()=>{let X=J?this.leftWidth:this.rightWidth;if(X==null)return;let Y=X==0,G=Q.hidden!==Y,q=this.gos.get("enableRtl"),H=z.getScrollbarWidth(),U=z.verticalScrollShowing&&(q&&J||!q&&Z)?X+H:X;if(Q.comp.setPinnedContainerWidth(`${U}px`),Q.comp.setDisplayed(!Y),G)Q.hidden=Y,Q.refresh()};Q.addManagedEventListeners({leftPinnedWidthChanged:$,rightPinnedWidthChanged:$,scrollVisibilityChanged:$,scrollbarWidthChanged:$})}getHeaderResizeDiff(Q,z){if(z.getPinned()){let{leftWidth:Z,rightWidth:$}=this,X=xz(this.beans.ctrlsSvc.getGridBodyCtrl().eBodyViewport)-50;if(Z+$+Q>X)if(X>Z+$)Q=X-Z-$;else return 0}return Q}getPinnedColumnsOverflowingViewport(Q){let z=this.rightWidth??0,J=this.leftWidth??0,Z=z+J,$=!1;if(Z<Q)return{columns:[],hasLockedPinned:$};let{visibleCols:X}=this.beans,Y=[...X.leftCols],G=[...X.rightCols],q=0,H=0,_=0,U=[],W=Z-_-Q;while((H<Y.length||q<G.length)&&W>0){if(q<G.length){let B=G[q++];if(B.colDef.lockPinned){$=!0;continue}W-=B.getActualWidth(),U.push(B)}if(H<Y.length&&W>0){let B=Y[H++];if(B.colDef.lockPinned){$=!0;continue}W-=B.getActualWidth(),U.push(B)}}return{columns:U,hasLockedPinned:$}}},HE={moduleName:"PinnedColumn",version:p,beans:[qE],css:[YE]},_E=class extends j0{constructor(){super();this.beanName="ariaAnnounce",this.descriptionContainer=null,this.pendingAnnouncements=new Map,this.lastAnnouncement="",this.updateAnnouncement=gQ(this,this.updateAnnouncement.bind(this),200)}postConstruct(){let Q=this.beans,z=Y0(Q),J=this.descriptionContainer=z.createElement("div");J.classList.add("ag-aria-description-container"),R8(J,"polite"),p4(J,"additions text"),c4(J,!0),Q.eRootDiv.appendChild(J)}announceValue(Q,z){this.pendingAnnouncements.set(z,Q),this.updateAnnouncement()}updateAnnouncement(){if(!this.descriptionContainer)return;let Q=Array.from(this.pendingAnnouncements.values()).join(". ");this.pendingAnnouncements.clear(),this.descriptionContainer.textContent="",setTimeout(()=>{this.handleAnnouncementUpdate(Q)},50)}handleAnnouncementUpdate(Q){if(!this.isAlive()||!this.descriptionContainer)return;let z=Q;if(z==null||z.replace(/[ .]/g,"")==""){this.lastAnnouncement="";return}if(this.lastAnnouncement===z)z=`${z}`;this.lastAnnouncement=z,this.descriptionContainer.textContent=z}destroy(){super.destroy();let{descriptionContainer:Q}=this;if(Q)z0(Q),Q.remove();this.descriptionContainer=null,this.pendingAnnouncements.clear()}},UE=class extends _E{},WE={moduleName:"Aria",version:p,beans:[UE]},BE=":where(.ag-delay-render){.ag-cell,.ag-header-cell,.ag-header-group-cell,.ag-row,.ag-spanned-cell-wrapper{visibility:hidden}}",Q8="ag-delay-render",EE=class extends j{constructor(){super(...arguments);this.beanName="colDelayRenderSvc",this.hideRequested=!1,this.alreadyRevealed=!1,this.timesRetried=0,this.requesters=new Set}hideColumns(Q){if(this.alreadyRevealed||this.requesters.has(Q))return;if(this.requesters.add(Q),!this.hideRequested)this.beans.ctrlsSvc.whenReady(this,(z)=>{z.gridBodyCtrl.eGridBody.classList.add(Q8)}),this.hideRequested=!0}revealColumns(Q){if(this.alreadyRevealed||!this.isAlive())return;if(this.requesters.delete(Q),this.requesters.size>0)return;let{renderStatus:z,ctrlsSvc:J}=this.beans;if(z){if(!z.areHeaderCellsRendered()&&this.timesRetried<5){this.timesRetried++,setTimeout(()=>this.revealColumns(Q));return}this.timesRetried=0}J.getGridBodyCtrl().eGridBody.classList.remove(Q8),this.alreadyRevealed=!0}},KE={moduleName:"ColumnDelayRender",version:p,beans:[EE],css:[BE]},nZ=class extends x{constructor(){super()}},LE={tag:"div",cls:"ag-overlay-exporting-center",children:[{tag:"span",ref:"eExportingIcon",cls:"ag-loading-icon"},{tag:"span",ref:"eExportingText",cls:"ag-exporting-text"}]},FE=class extends nZ{constructor(){super(...arguments);this.eExportingIcon=S,this.eExportingText=S}init(Q){let{beans:z}=this;this.setTemplate(LE);let J=h("overlayExporting",z,null);if(J)this.eExportingIcon.appendChild(J);let Z=Q.exporting?.overlayText??this.getLocaleTextFunc()("exportingOoo","Exporting...");this.eExportingText.textContent=Z,z.ariaAnnounce.announceValue(Z,"overlay")}},DE={tag:"div",cls:"ag-overlay-loading-center",children:[{tag:"span",ref:"eLoadingIcon",cls:"ag-loading-icon"},{tag:"span",ref:"eLoadingText",cls:"ag-loading-text"}]},ME=class extends nZ{constructor(){super(...arguments);this.eLoadingIcon=S,this.eLoadingText=S}init(Q){let{beans:z,gos:J}=this,Z=RQ(J.get("overlayLoadingTemplate")?.trim());if(this.setTemplate(Z??DE),!Z){let $=h("overlayLoading",z,null);if($)this.eLoadingIcon.appendChild($);let X=Q.loading?.overlayText??this.getLocaleTextFunc()("loadingOoo","Loading...");this.eLoadingText.textContent=X,z.ariaAnnounce.announceValue(X,"overlay")}}},kE={tag:"span",cls:"ag-overlay-no-matching-rows-center"},VE=class extends nZ{init(Q){let{beans:z}=this;this.setTemplate(kE);let J=Q.noMatchingRows?.overlayText??this.getLocaleTextFunc()("noMatchingRows","No Matching Rows");this.getGui().textContent=J,z.ariaAnnounce.announceValue(J,"overlay")}},fE={tag:"span",cls:"ag-overlay-no-rows-center"},AE=class extends nZ{init(Q){let{beans:z,gos:J}=this,Z=RQ(J.get("overlayNoRowsTemplate")?.trim());if(this.setTemplate(Z??fE),!Z){let $=Q.noRows?.overlayText??this.getLocaleTextFunc()("noRowsToShow","No Rows To Show");this.getGui().textContent=$,z.ariaAnnounce.announceValue($,"overlay")}}};function jE(Q){Q.overlays?.showLoadingOverlay()}function RE(Q){Q.overlays?.showNoRowsOverlay()}function SE(Q){Q.overlays?.hideOverlay()}var OE=".ag-overlay{inset:0;pointer-events:none;position:absolute;z-index:2}.ag-overlay-panel,.ag-overlay-wrapper{display:flex;height:100%;width:100%}.ag-overlay-wrapper{align-items:center;flex:none;justify-content:center;text-align:center}.ag-overlay-exporting-wrapper,.ag-overlay-loading-wrapper,.ag-overlay-modal-wrapper{pointer-events:all}.ag-overlay-exporting-center,.ag-overlay-loading-center{background:var(--ag-background-color);border:solid var(--ag-border-width) var(--ag-border-color);border-radius:var(--ag-border-radius);box-shadow:var(--ag-popup-shadow);display:flex;padding:var(--ag-spacing)}",PE={tag:"div",cls:"ag-overlay",role:"presentation",children:[{tag:"div",cls:"ag-overlay-panel",role:"presentation",children:[{tag:"div",ref:"eOverlayWrapper",cls:"ag-overlay-wrapper",role:"presentation"}]}]},t$=class extends x{constructor(){super(PE);this.eOverlayWrapper=S,this.activeOverlay=null,this.activePromise=null,this.activeCssClass=null,this.elToFocusAfter=null,this.overlayExclusive=!1,this.oldWrapperPadding=null,this.registerCSS(OE)}handleKeyDown(Q){if(Q.key!==V.TAB||Q.defaultPrevented||zQ(Q))return;let{beans:z,eOverlayWrapper:J}=this;if(J&&R0(z,J,!1,Q.shiftKey))return;let $=!1;if(Q.shiftKey)$=z.focusSvc.focusGridView({column:b(z.visibleCols.allCols),backwards:!0,canFocusOverlay:!1});else $=$Q(z,!1);if($)Q.preventDefault()}updateLayoutClasses(Q,z){let J=this.eOverlayWrapper;if(!J)return;let Z=J.classList,{AUTO_HEIGHT:$,NORMAL:X,PRINT:Y}=UQ;Z.toggle($,z.autoHeight),Z.toggle(X,z.normal),Z.toggle(Y,z.print)}postConstruct(){this.createManagedBean(new G6(this)),this.setDisplayed(!1,{skipAriaHidden:!0}),this.beans.overlays.setWrapperComp(this,!1),this.addManagedElementListeners(this.getFocusableElement(),{keydown:this.handleKeyDown.bind(this)}),this.addManagedEventListeners({gridSizeChanged:this.refreshWrapperPadding.bind(this)})}setWrapperTypeClass(Q){let z=this.eOverlayWrapper?.classList;if(!z){this.activeCssClass=null;return}if(this.activeCssClass)z.toggle(this.activeCssClass,!1);this.activeCssClass=Q,z.toggle(Q,!0)}showOverlay(Q,z,J){if(this.destroyActiveOverlay(),this.elToFocusAfter=null,this.activePromise=Q,this.overlayExclusive=J,!Q)return this.refreshWrapperPadding(),g.resolve();if(this.setWrapperTypeClass(z),this.setDisplayed(!0,{skipAriaHidden:!0}),this.refreshWrapperPadding(),J&&this.isGridFocused()){let Z=d(this.beans);if(Z&&!hz(this.beans))this.elToFocusAfter=Z}return Q.then((Z)=>{let $=this.eOverlayWrapper;if(!$){this.destroyBean(Z);return}if(this.activePromise!==Q){if(this.activeOverlay!==Z)this.destroyBean(Z),Z=null;return}if(this.activePromise=null,!Z)return;if(this.activeOverlay!==Z)$.appendChild(Z.getGui()),this.activeOverlay=Z;if(J&&this.isGridFocused())D0($)}),Q}refreshWrapperPadding(){if(!this.eOverlayWrapper){this.oldWrapperPadding=null;return}let Q=!!this.activeOverlay||!!this.activePromise,z=0;if(Q&&!this.overlayExclusive)z=this.beans.ctrlsSvc.get("gridHeaderCtrl")?.headerHeight||0;if(z!==this.oldWrapperPadding)this.oldWrapperPadding=z,this.eOverlayWrapper.style.setProperty("padding-top",`${z}px`)}destroyActiveOverlay(){this.activePromise=null;let Q=this.activeOverlay;if(!Q){this.overlayExclusive=!1,this.elToFocusAfter=null,this.refreshWrapperPadding();return}let z=this.elToFocusAfter;if(this.elToFocusAfter=null,this.activeOverlay=null,this.overlayExclusive=!1,z&&!this.isGridFocused())z=null;this.destroyBean(Q);let J=this.eOverlayWrapper;if(J)z0(J);z?.focus?.({preventScroll:!0}),this.refreshWrapperPadding()}hideOverlay(){this.destroyActiveOverlay(),this.setDisplayed(!1,{skipAriaHidden:!0})}isGridFocused(){let Q=d(this.beans);return!!Q&&this.beans.eGridDiv.contains(Q)}destroy(){this.elToFocusAfter=null,this.destroyActiveOverlay(),this.beans.overlays.setWrapperComp(this,!0),super.destroy(),this.eOverlayWrapper=null}},TE={selector:"AG-OVERLAY-WRAPPER",component:t$},vE=["refresh"],DJ=(Q)=>({name:Q,optionalMethods:vE}),Oz={id:"agLoadingOverlay",overlayType:"loading",comp:DJ("loadingOverlayComponent"),wrapperCls:"ag-overlay-loading-wrapper",exclusive:!0,compKey:"loadingOverlayComponent",paramsKey:"loadingOverlayComponentParams",isSuppressed:(Q)=>{let z=Q.get("loading");return z===!1||Q.get("suppressLoadingOverlay")===!0&&z!==!0}},Y1={id:"agNoRowsOverlay",overlayType:"noRows",comp:DJ("noRowsOverlayComponent"),wrapperCls:"ag-overlay-no-rows-wrapper",compKey:"noRowsOverlayComponent",paramsKey:"noRowsOverlayComponentParams",isSuppressed:(Q)=>Q.get("suppressNoRowsOverlay")},j6={id:"agNoMatchingRowsOverlay",overlayType:"noMatchingRows",comp:DJ("noMatchingRowsOverlayComponent"),wrapperCls:"ag-overlay-no-matching-rows-wrapper"},EZ={id:"agExportingOverlay",overlayType:"exporting",comp:DJ("exportingOverlayComponent"),wrapperCls:"ag-overlay-exporting-wrapper",exclusive:!0},aJ={id:"activeOverlay",comp:DJ("activeOverlay"),wrapperCls:"ag-overlay-modal-wrapper",exclusive:!0},IE=(Q)=>{if(!Q)return null;return{agLoadingOverlay:Oz,agNoRowsOverlay:Y1,agNoMatchingRowsOverlay:j6,agExportingOverlay:EZ}[Q]??aJ},CE=(Q)=>{if(!Q)return null;return{loading:Oz,noRows:Y1,noMatchingRows:j6,exporting:EZ}[Q]},bE=class extends j{constructor(){super(...arguments);this.beanName="overlays",this.eWrapper=void 0,this.exclusive=!1,this.oldExclusive=!1,this.currentDef=null,this.showInitialOverlay=!0,this.userForcedNoRows=!1,this.exportsInProgress=0,this.newColumnsLoadedCleanup=null}postConstruct(){let Q=this.gos;this.showInitialOverlay=o(Q);let z=()=>{if(this.userForcedNoRows)return;this.updateOverlay(!1)},[J,Z,$,X]=this.addManagedEventListeners({newColumnsLoaded:z,rowCountReady:()=>{this.disableInitialOverlay(),z(),Z()},rowDataUpdated:z,modelUpdated:z});this.newColumnsLoadedCleanup=J,this.addManagedPropertyListeners(["loading","activeOverlay","activeOverlayParams","overlayComponentParams","loadingOverlayComponentParams","noRowsOverlayComponentParams"],(Y)=>this.onPropChange(new Set(Y.changeSet?.properties)))}destroy(){this.doHideOverlay(),super.destroy(),this.eWrapper=void 0}setWrapperComp(Q,z){if(!this.isAlive())return;if(!z)this.eWrapper=Q;else if(this.eWrapper===Q)this.eWrapper=void 0;this.updateOverlay(!1)}isVisible(){return!!this.currentDef}showLoadingOverlay(){this.showInitialOverlay=!1;let Q=this.gos;if(!this.eWrapper||Q.get("activeOverlay"))return;if(this.isDisabled(Oz))return;let z=Q.get("loading");if(!z&&z!==void 0)return;this.doShowOverlay(Oz)}showNoRowsOverlay(){this.showInitialOverlay=!1;let Q=this.gos;if(!this.eWrapper||Q.get("activeOverlay")||Q.get("loading")||this.isDisabled(Y1))return;this.userForcedNoRows=!0,this.doShowOverlay(Y1)}async showExportOverlay(Q){let{gos:z,beans:J}=this;if(!this.eWrapper||z.get("activeOverlay")||z.get("loading")||this.isDisabled(EZ)||this.userForcedNoRows&&this.currentDef===Y1){Q();return}let Z=this.getDesiredDefWithOverride(EZ);if(!Z){Q();return}this.exportsInProgress++,this.focusedCell=J.focusSvc.getFocusedCell(),await this.doShowOverlay(Z),await new Promise((X)=>setTimeout(()=>X()));let $=Date.now();try{Q()}finally{let X=Date.now()-$,Y=Math.max(0,300-X),G=()=>{if(this.exportsInProgress--,this.exportsInProgress===0)this.updateOverlay(!1),HH(J,this.focusedCell),this.focusedCell=null};if(Y>0)setTimeout(()=>G(),Y);else G()}}hideOverlay(){let Q=this.gos;this.showInitialOverlay=!1;let z=this.userForcedNoRows;if(this.userForcedNoRows=!1,Q.get("loading")){R(99);return}if(Q.get("activeOverlay")){R(296);return}if(this.currentDef===j6){R(297);return}if(this.doHideOverlay(),z){if(this.getOverlayDef()!==Y1)this.updateOverlay(!1)}}getOverlayWrapperSelector(){return TE}getOverlayWrapperCompClass(){return t$}onPropChange(Q){let z=Q.has("activeOverlay");if(z||Q.has("loading")){if(this.updateOverlay(z))return}let J=this.currentDef,Z=this.eWrapper?.activeOverlay;if(Z&&J){let $=Q.has("activeOverlayParams");if(J===aJ){if($)Z.refresh?.(this.makeCompParams(!0))}else{let X=J.paramsKey;if(Q.has("overlayComponentParams")||X&&Q.has(X))Z.refresh?.(this.makeCompParams(!1,X,J.overlayType))}}}updateOverlay(Q){let z=this.eWrapper;if(!z)return this.currentDef=null,!1;let J=this.getDesiredDefWithOverride(),Z=this.currentDef,$=J===aJ&&Q;if(J!==Z){if(!J)return this.disableInitialOverlay(),this.doHideOverlay();return this.doShowOverlay(J),!0}if($&&J)return z.hideOverlay(),this.doShowOverlay(J),!0;if(!J)this.disableInitialOverlay();return!1}getDesiredDefWithOverride(Q){let{gos:z}=this,J=IE(z.get("activeOverlay"));if(!J){if(J=Q??this.getOverlayDef(),J&&this.isDisabled(J))J=null}return J}getOverlayDef(){let{gos:Q,beans:z}=this,{rowModel:J}=z,Z=Q.get("loading");if(Z!==void 0){if(this.disableInitialOverlay(),Z)return Oz}else if(this.showInitialOverlay){if(!this.isDisabled(Oz)&&(!Q.get("columnDefs")||!Q.get("rowData")))return Oz;this.disableInitialOverlay()}else this.disableInitialOverlay();let X=J.getOverlayType();return CE(X)}disableInitialOverlay(){this.showInitialOverlay=!1,this.newColumnsLoadedCleanup?.(),this.newColumnsLoadedCleanup=null}doShowOverlay(Q){let{gos:z,beans:J}=this,{userCompFactory:Z}=J;this.currentDef=Q;let $=Q!==aJ,X=!!Q.exclusive;this.exclusive=X;let Y;if(Q.paramsKey&&z.get(Q.paramsKey)||Q.compKey&&z.get(Q.compKey))Y=Q.paramsKey;let G=void 0;if($){if(z.get("overlayComponent")||z.get("overlayComponentSelector"))G=Z.getCompDetailsFromGridOptions({name:"overlayComponent",optionalMethods:["refresh"]},void 0,this.makeCompParams(!1,Q.paramsKey,Q.overlayType))}G??(G=Z.getCompDetailsFromGridOptions(Q.comp,$?Q.id:void 0,this.makeCompParams(!$,Y,Q.overlayType),!1));let q=G?.newAgStackInstance()??null,H=this.eWrapper?this.eWrapper.showOverlay(q,Q.wrapperCls,X):g.resolve();return this.eWrapper?.refreshWrapperPadding(),this.setExclusive(X),H}makeCompParams(Q,z,J){let{gos:Z}=this,$=Q?Z.get("activeOverlayParams"):{...Z.get("overlayComponentParams"),...z&&Z.get(z)||null,overlayType:J};return y(Z,$??{})}doHideOverlay(){let Q=!1;if(this.currentDef)this.currentDef=null,Q=!0;this.exclusive=!1;let z=this.eWrapper;if(z)z.hideOverlay(),z.refreshWrapperPadding(),this.setExclusive(!1);return Q}setExclusive(Q){if(this.oldExclusive!==Q)this.oldExclusive=Q,this.eventSvc.dispatchEvent({type:"overlayExclusiveChanged"})}isDisabled(Q){let{gos:z}=this;return Q.overlayType&&z.get("suppressOverlays")?.includes(Q.overlayType)||Q.isSuppressed?.(z)===!0}},yE={moduleName:"Overlay",version:p,userComponents:{agLoadingOverlay:ME,agNoRowsOverlay:AE,agNoMatchingRowsOverlay:VE,agExportingOverlay:FE},apiFunctions:{showLoadingOverlay:jE,showNoRowsOverlay:RE,hideOverlay:SE},icons:{overlayLoading:"loading",overlayExporting:"loading"},beans:[bE]},xE=class extends j{constructor(){super(...arguments);this.beanName="rowContainerHeight",this.scrollY=0,this.uiBodyHeight=0}postConstruct(){this.addManagedEventListeners({bodyHeightChanged:this.updateOffset.bind(this)}),this.maxDivHeight=mq(),d1(this.gos,"RowContainerHeightService - maxDivHeight = "+this.maxDivHeight)}updateOffset(){if(!this.stretching)return;let Q=this.beans.ctrlsSvc.getScrollFeature().getVScrollPosition().top,z=this.getUiBodyHeight();if(Q!==this.scrollY||z!==this.uiBodyHeight)this.scrollY=Q,this.uiBodyHeight=z,this.calculateOffset()}calculateOffset(){this.setUiContainerHeight(this.maxDivHeight),this.pixelsToShave=this.modelHeight-this.uiContainerHeight,this.maxScrollY=this.uiContainerHeight-this.uiBodyHeight;let Q=this.scrollY/this.maxScrollY,z=Q*this.pixelsToShave;d1(this.gos,`RowContainerHeightService - Div Stretch Offset = ${z} (${this.pixelsToShave} * ${Q})`),this.setDivStretchOffset(z)}setUiContainerHeight(Q){if(Q!==this.uiContainerHeight)this.uiContainerHeight=Q,this.eventSvc.dispatchEvent({type:"rowContainerHeightChanged"})}clearOffset(){this.setUiContainerHeight(this.modelHeight),this.pixelsToShave=0,this.setDivStretchOffset(0)}setDivStretchOffset(Q){let z=typeof Q==="number"?Math.floor(Q):null;if(this.divStretchOffset===z)return;this.divStretchOffset=z,this.eventSvc.dispatchEvent({type:"heightScaleChanged"})}setModelHeight(Q){if(this.modelHeight=Q,this.stretching=Q!=null&&this.maxDivHeight>0&&Q>this.maxDivHeight,this.stretching)this.calculateOffset();else this.clearOffset()}getRealPixelPosition(Q){return Q-this.divStretchOffset}getUiBodyHeight(){let Q=this.beans.ctrlsSvc.getScrollFeature().getVScrollPosition();return Q.bottom-Q.top}getScrollPositionForPixel(Q){if(this.pixelsToShave<=0)return Q;let z=this.modelHeight-this.getUiBodyHeight(),J=Q/z;return this.maxScrollY*J}},wE=400,NE=class extends j{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=()=>{let Q=()=>{for(let X of this.getAllCellCtrls())X.onCellSelectionChanged()},z=()=>{for(let X of this.getAllCellCtrls())X.updateRangeBordersIfRangeCount()},J=()=>{this.eventSvc.addListener("cellSelectionChanged",Q),this.eventSvc.addListener("columnMoved",z),this.eventSvc.addListener("columnPinned",z),this.eventSvc.addListener("columnVisible",z)},Z=()=>{this.eventSvc.removeListener("cellSelectionChanged",Q),this.eventSvc.removeListener("columnMoved",z),this.eventSvc.removeListener("columnPinned",z),this.eventSvc.removeListener("columnVisible",z)};if(this.addDestroyFunc(()=>Z()),this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],()=>{if(u0(this.gos))J();else Z()}),u0(this.gos))J()}}wireBeans(Q){this.pageBounds=Q.pageBounds,this.colModel=Q.colModel,this.pinnedRowModel=Q.pinnedRowModel,this.rowModel=Q.rowModel,this.focusSvc=Q.focusSvc,this.rowContainerHeight=Q.rowContainerHeight,this.ctrlsSvc=Q.ctrlsSvc,this.editSvc=Q.editSvc}postConstruct(){this.ctrlsSvc.whenReady(this,(Q)=>{this.gridBodyCtrl=Q.gridBodyCtrl,this.initialise()})}initialise(){this.addManagedEventListeners({paginationChanged:this.onPageLoaded.bind(this),pinnedRowDataChanged:this.onPinnedRowDataChanged.bind(this),pinnedRowsChanged:this.onPinnedRowsChanged.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",(Z)=>this.onSuppressCellFocusChanged(Z.currentValue)),this.addManagedPropertyListeners(["groupSuppressBlankHeader","getBusinessKeyForNode","fullWidthCellRenderer","fullWidthCellRendererParams","suppressStickyTotalRow","groupRowRenderer","groupRowRendererParams","loadingCellRenderer","loadingCellRendererParams","detailCellRenderer","detailCellRendererParams","enableRangeSelection","enableCellTextSelection"],()=>this.redrawRows()),this.addManagedPropertyListener("cellSelection",({currentValue:Z,previousValue:$})=>{if(!$&&Z||$&&!Z)this.redrawRows()});let{stickyRowSvc:Q,gos:z,showRowGroupCols:J}=this.beans;if(J)this.addManagedPropertyListener("showOpenedGroup",()=>{let Z=J.columns;if(Z.length)this.refreshCells({columns:Z,force:!0})});if(Q)this.stickyRowFeature=Q.createStickyRowFeature(this,this.createRowCon.bind(this),this.destroyRowCtrls.bind(this));else{let Z=this.gridBodyCtrl;Z.setStickyTopHeight(0),Z.setStickyBottomHeight(0)}this.registerCellEventListeners(),this.initialiseCache(),this.printLayout=V0(z,"print"),this.embedFullWidthRows=this.printLayout||z.get("embedFullWidthRows"),this.redrawAfterModelUpdate()}initialiseCache(){if(this.gos.get("keepDetailRows")){let Q=this.getKeepDetailRowsCount(),z=Q!=null?Q:3;this.cachedRowCtrls=new gE(z)}}getKeepDetailRowsCount(){return this.gos.get("keepDetailRowsCount")}getStickyTopRowCtrls(){return this.stickyRowFeature?.stickyTopRowCtrls??[]}getStickyBottomRowCtrls(){return this.stickyRowFeature?.stickyBottomRowCtrls??[]}updateAllRowCtrls(){let Q=Object.values(this.rowCtrlsByRowIndex),z=Object.values(this.zombieRowCtrls),J=this.cachedRowCtrls?.getEntries()??[];if(z.length>0||J.length>0)this.allRowCtrls=[...Q,...z,...J];else this.allRowCtrls=Q}isCellBeingRendered(Q,z){let J=this.rowCtrlsByRowIndex[Q];if(!z||!J)return!!J;if(J.isFullWidth())return!0;return!!this.beans.spannedRowRenderer?.getCellByPosition({rowIndex:Q,column:z,rowPinned:null})||!!J.getCellCtrl(z)||!J.isRowRendered()}updateCellFocus(Q){for(let z of this.getAllCellCtrls())z.onCellFocused(Q);for(let z of this.getFullWidthRowCtrls())z.onFullWidthRowFocused(Q)}onCellFocusChanged(Q){if(Q?.rowIndex!=null&&!Q.rowPinned){let z=this.beans.colModel.getCol(Q.column)??void 0;if(!this.isCellBeingRendered(Q.rowIndex,z))this.redraw()}this.updateCellFocus(Q)}onSuppressCellFocusChanged(Q){for(let z of this.getAllCellCtrls())z.onSuppressCellFocusChanged(Q);for(let z of this.getFullWidthRowCtrls())z.onSuppressCellFocusChanged(Q)}registerCellEventListeners(){this.addManagedEventListeners({cellFocused:(Q)=>this.onCellFocusChanged(Q),cellFocusCleared:()=>this.updateCellFocus(),flashCells:(Q)=>{let{cellFlashSvc:z}=this.beans;if(z)for(let J of this.getAllCellCtrls())z.onFlashCells(J,Q)},columnHoverChanged:()=>{for(let Q of this.getAllCellCtrls())Q.onColumnHover()},displayedColumnsChanged:()=>{for(let Q of this.getAllCellCtrls())Q.onDisplayedColumnsChanged()},displayedColumnsWidthChanged:()=>{if(this.printLayout)for(let Q of this.getAllCellCtrls())Q.onLeftChanged()}}),this.setupRangeSelectionListeners(),this.refreshListenersToColumnsForCellComps(),this.addManagedEventListeners({gridColumnsChanged:this.refreshListenersToColumnsForCellComps.bind(this)}),this.addDestroyFunc(this.removeGridColumnListeners.bind(this))}removeGridColumnListeners(){for(let Q of this.destroyFuncsForColumnListeners)Q();this.destroyFuncsForColumnListeners.length=0}refreshListenersToColumnsForCellComps(){this.removeGridColumnListeners();let Q=this.colModel.getCols();for(let z of Q){let J=(q)=>{for(let H of this.getAllCellCtrls())if(H.column===z)q(H)},Z=()=>{J((q)=>q.onLeftChanged())},$=()=>{J((q)=>q.onWidthChanged())},X=()=>{J((q)=>q.onFirstRightPinnedChanged())},Y=()=>{J((q)=>q.onLastLeftPinnedChanged())},G=()=>{J((q)=>q.onColDefChanged())};z.__addEventListener("leftChanged",Z),z.__addEventListener("widthChanged",$),z.__addEventListener("firstRightPinnedChanged",X),z.__addEventListener("lastLeftPinnedChanged",Y),z.__addEventListener("colDefChanged",G),this.destroyFuncsForColumnListeners.push(()=>{z.__removeEventListener("leftChanged",Z),z.__removeEventListener("widthChanged",$),z.__removeEventListener("firstRightPinnedChanged",X),z.__removeEventListener("lastLeftPinnedChanged",Y),z.__removeEventListener("colDefChanged",G)})}}onDomLayoutChanged(){let Q=V0(this.gos,"print"),z=Q||this.gos.get("embedFullWidthRows"),J=z!==this.embedFullWidthRows||this.printLayout!==Q;if(this.printLayout=Q,this.embedFullWidthRows=z,J)this.redrawAfterModelUpdate({domLayoutChanged:!0})}datasourceChanged(){this.firstRenderedRow=0,this.lastRenderedRow=-1;let Q=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(Q)}onPageLoaded(Q){let z={recycleRows:Q.keepRenderedRows,animate:Q.animate,newData:Q.newData,newPage:Q.newPage,onlyBody:!0};this.redrawAfterModelUpdate(z)}getAllCellsNotSpanningForColumn(Q){let z=[];for(let J of this.getAllRowCtrls()){let Z=J.getCellCtrl(Q,!0)?.eGui;if(Z)z.push(Z)}return z}refreshFloatingRowComps(Q=!0){this.refreshFloatingRows(this.topRowCtrls,"top",Q),this.refreshFloatingRows(this.bottomRowCtrls,"bottom",Q)}refreshFloatingRows(Q,z,J){let{pinnedRowModel:Z,beans:$,printLayout:X}=this,Y=Object.fromEntries(Q.map((q)=>[q.rowNode.id,q]));Z?.forEachPinnedRow(z,(q,H)=>{let _=Q[H];if(_&&Z.getPinnedRowById(_.rowNode.id,z)===void 0)_.destroyFirstPass(),_.destroySecondPass();if(q.id in Y&&J)Q[H]=Y[q.id],delete Y[q.id];else Q[H]=new F5(q,$,!1,!1,X)});let G=(z==="top"?Z?.getPinnedTopRowCount():Z?.getPinnedBottomRowCount())??0;Q.length=G}onPinnedRowDataChanged(){let Q={recycleRows:!0};this.redrawAfterModelUpdate(Q)}onPinnedRowsChanged(){this.redrawAfterModelUpdate({recycleRows:!0})}redrawRow(Q,z=!1){if(Q.sticky)this.stickyRowFeature?.refreshStickyNode(Q);else if(this.cachedRowCtrls?.has(Q)){this.cachedRowCtrls.removeRow(Q);return}else{let J=(Z)=>{let $=Z[Q.rowIndex];if(!$)return;if($.rowNode!==Q)return;$.destroyFirstPass(),$.destroySecondPass(),Z[Q.rowIndex]=this.createRowCon(Q,!1,!1)};switch(Q.rowPinned){case"top":J(this.topRowCtrls);break;case"bottom":J(this.bottomRowCtrls);break;default:J(this.rowCtrlsByRowIndex),this.updateAllRowCtrls()}}if(!z)this.dispatchDisplayedRowsChanged(!1)}redrawRows(Q){let{editSvc:z}=this.beans;if(z?.isEditing())if(z.isBatchEditing())z.cleanupEditors();else z.stopEditing(void 0,{source:"api"});if(Q!=null){for(let Z of Q??[])this.redrawRow(Z,!0);this.dispatchDisplayedRowsChanged(!1);return}this.redrawAfterModelUpdate()}redrawAfterModelUpdate(Q={}){this.getLockOnRefresh();let z=this.beans.focusSvc?.getFocusCellToUseAfterRefresh();this.updateContainerHeights(),this.scrollToTopIfNewData(Q);let J=!Q.domLayoutChanged&&!!Q.recycleRows,Z=Q.animate&&_1(this.gos),$=J?this.getRowsToRecycle():null;if(!J)this.removeAllRowComps();this.workOutFirstAndLastRowsToRender();let{stickyRowFeature:X,gos:Y}=this;if(X){X.checkStickyRows();let G=X.extraTopHeight+X.extraBottomHeight;if(G)this.updateContainerHeights(G)}if(this.recycleRows($,Z),this.gridBodyCtrl.updateRowCount(),!Q.onlyBody)this.refreshFloatingRowComps(Y.get("enableRowPinning")?J:void 0);if(this.dispatchDisplayedRowsChanged(),z!=null)this.restoreFocusedCell(z);this.releaseLockOnRefresh()}scrollToTopIfNewData(Q){let z=Q.newData||Q.newPage,J=this.gos.get("suppressScrollOnNewData");if(z&&!J)this.gridBodyCtrl.scrollFeature.scrollToTop(),this.stickyRowFeature?.resetOffsets()}updateContainerHeights(Q=0){let{rowContainerHeight:z}=this;if(this.printLayout){z.setModelHeight(null);return}let J=this.pageBounds.getCurrentPageHeight();if(J===0)J=1;z.setModelHeight(J+Q)}getLockOnRefresh(){if(this.refreshInProgress)throw Error(QQ(252));this.refreshInProgress=!0,this.beans.frameworkOverrides.getLockOnRefresh?.()}releaseLockOnRefresh(){this.refreshInProgress=!1,this.beans.frameworkOverrides.releaseLockOnRefresh?.()}isRefreshInProgress(){return this.refreshInProgress}restoreFocusedCell(Q){if(!Q)return;let z=this.beans.focusSvc,J=this.findPositionToFocus(Q);if(!J){z.focusHeaderPosition({headerPosition:{headerRowIndex:l0(this.beans)-1,column:Q.column}});return}if(Q.rowIndex!==J.rowIndex||Q.rowPinned!=J.rowPinned){z.setFocusedCell({...J,preventScrollOnBrowserFocus:!0,forceBrowserFocus:!0});return}if(!z.doesRowOrCellHaveBrowserFocus())this.updateCellFocus(y(this.gos,{...J,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0,type:"cellFocused"}))}findPositionToFocus(Q){let{pagination:z,pageBounds:J}=this.beans,Z=Q;if(Z.rowPinned==null&&z&&J&&!z.isRowInPage(Z.rowIndex))Z={rowPinned:null,rowIndex:J.getFirstRow()};while(Z){if(Z.rowPinned==null&&J){if(Z.rowIndex<J.getFirstRow()){if(Z=m0(this.beans,{rowPinned:null,rowIndex:0}),!Z)return null}else if(Z.rowIndex>J.getLastRow())Z={rowPinned:null,rowIndex:J.getLastRow()}}let $=this.getRowByPosition(Z);if($?.isAlive())return{...$.getRowPosition(),column:Q.column};Z=m0(this.beans,Z)}return null}getAllCellCtrls(){let Q=[],z=this.getAllRowCtrls(),J=z.length;for(let Z=0;Z<J;Z++){let $=z[Z].getAllCellCtrls(),X=$.length;for(let Y=0;Y<X;Y++)Q.push($[Y])}return Q}getAllRowCtrls(){let{spannedRowRenderer:Q}=this.beans,z=this.getStickyTopRowCtrls(),J=this.getStickyBottomRowCtrls();return[...this.topRowCtrls,...this.bottomRowCtrls,...z,...J,...Q?.getCtrls("top")??[],...Q?.getCtrls("bottom")??[],...Q?.getCtrls("center")??[],...Object.values(this.rowCtrlsByRowIndex)]}addRenderedRowListener(Q,z,J){let Z=this.rowCtrlsByRowIndex[z];if(Z)Z.addEventListener(Q,J)}refreshCells({rowNodes:Q,columns:z,force:J,suppressFlash:Z}={}){let $={force:J,newData:!1,suppressFlash:Z};for(let X of this.getCellCtrls(Q,z))X.refreshOrDestroyCell($);this.refreshFullWidth(Q)}refreshRows(Q={}){for(let z of this.getRowCtrls(Q.rowNodes))z.refreshRow(Q);this.refreshFullWidth(Q.rowNodes)}getRowCtrlByNode(Q){let z=Q.rowIndex;if(z==null)return;let J=Q.rowPinned;if(J==="top"){let $=this.topRowCtrls[z];return $?.rowNode===Q?$:void 0}if(J==="bottom"){let $=this.bottomRowCtrls[z];return $?.rowNode===Q?$:void 0}let Z=this.rowCtrlsByRowIndex[z];if(Z?.rowNode===Q)return Z;return this.getStickyRowCtrlByNode(Q)}getStickyRowCtrlByNode(Q){let z=this.stickyRowFeature;if(!z)return;for(let J of z.stickyTopRowCtrls)if(J.rowNode===Q)return J;for(let J of z.stickyBottomRowCtrls)if(J.rowNode===Q)return J;return}refreshRowByNode(Q){if(Q)this.getRowCtrlByNode(Q)?.refreshRow()}refreshFullWidth(Q){if(!Q)return;let z=!1;for(let J of this.getRowCtrls(Q)){if(!J.isFullWidth())continue;if(!J.refreshFullWidth())z=!0,this.redrawRow(J.rowNode,!0)}if(z)this.dispatchDisplayedRowsChanged(!1)}getRowCtrls(Q){let z=z8(Q),J=this.getAllRowCtrls();if(!Q||!z)return J;return J.filter((Z)=>{let $=Z.rowNode;return J8($,z)})}getCellCtrls(Q,z){let J;if(T(z))J={},z.forEach(($)=>{let X=this.colModel.getCol($);if(T(X))J[X.getId()]=!0});let Z=[];for(let $ of this.getRowCtrls(Q))for(let X of $.getAllCellCtrls()){let Y=X.column.getId();if(J&&!J[Y])continue;Z.push(X)}return Z}destroy(){this.removeAllRowComps(!0),super.destroy()}removeAllRowComps(Q=!1){let z=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(z,Q),this.stickyRowFeature?.destroyStickyCtrls()}getRowsToRecycle(){let Q=[];for(let J of Object.keys(this.rowCtrlsByRowIndex))if(this.rowCtrlsByRowIndex[J].rowNode.id==null)Q.push(J);this.removeRowCtrls(Q);let z={};for(let J of Object.values(this.rowCtrlsByRowIndex)){let Z=J.rowNode;z[Z.id]=J}return this.rowCtrlsByRowIndex={},z}removeRowCtrls(Q,z=!1){for(let J of Q){let Z=this.rowCtrlsByRowIndex[J];if(Z)Z.destroyFirstPass(z),Z.destroySecondPass();delete this.rowCtrlsByRowIndex[J]}}onBodyScroll(Q){if(Q.direction!=="vertical")return;this.redraw({afterScroll:!0})}redraw(Q={}){let{focusSvc:z,animationFrameSvc:J}=this.beans,{afterScroll:Z}=Q,$,X=this.stickyRowFeature;if(X)$=z?.getFocusCellToUseAfterRefresh()||void 0;let Y=this.firstRenderedRow,G=this.lastRenderedRow;this.workOutFirstAndLastRowsToRender();let q=!1;if(X){q=X.checkStickyRows();let _=X.extraTopHeight+X.extraBottomHeight;if(_)this.updateContainerHeights(_)}let H=this.firstRenderedRow!==Y||this.lastRenderedRow!==G;if(Z&&!q&&!H)return;if(this.getLockOnRefresh(),this.recycleRows(null,!1,Z),this.releaseLockOnRefresh(),this.dispatchDisplayedRowsChanged(Z&&!q),$!=null){let _=z?.getFocusCellToUseAfterRefresh();if($!=null&&_==null)J?.flushAllFrames(),this.restoreFocusedCell($)}}removeRowCompsNotToDraw(Q,z){let J={};for(let X of Q)J[X]=!0;let $=Object.keys(this.rowCtrlsByRowIndex).filter((X)=>!J[X]);this.removeRowCtrls($,z)}calculateIndexesToDraw(Q){let z=[];for(let Y=this.firstRenderedRow;Y<=this.lastRenderedRow;Y++)z.push(Y);let J=this.beans.pagination,Z=this.beans.focusSvc?.getFocusedCell()?.rowIndex;if(Z!=null&&(Z<this.firstRenderedRow||Z>this.lastRenderedRow)&&(!J||J.isRowInPage(Z))&&Z<this.rowModel.getRowCount())z.push(Z);let $=(Y)=>{let G=Y.rowNode.rowIndex;if(G==null||G===Z)return;if(G<this.firstRenderedRow||G>this.lastRenderedRow){if(this.doNotUnVirtualiseRow(Y))z.push(G)}};for(let Y of Object.values(this.rowCtrlsByRowIndex))$(Y);if(Q)for(let Y of Object.values(Q))$(Y);z.sort((Y,G)=>Y-G);let X=[];for(let Y=0;Y<z.length;Y++){let G=z[Y],q=this.rowModel.getRow(G);if(q&&!q.sticky)X.push(G)}return X}recycleRows(Q,z=!1,J=!1){let Z=this.calculateIndexesToDraw(Q);if(this.printLayout||J)z=!1;this.removeRowCompsNotToDraw(Z,!z);for(let $ of Z)this.createOrUpdateRowCtrl($,Q,z,J);if(Q){let{animationFrameSvc:$}=this.beans;if($?.active&&J&&!this.printLayout)$.addDestroyTask(()=>{this.destroyRowCtrls(Q,z),this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()});else this.destroyRowCtrls(Q,z)}this.updateAllRowCtrls()}dispatchDisplayedRowsChanged(Q=!1){this.eventSvc.dispatchEvent({type:"displayedRowsChanged",afterScroll:Q})}onDisplayedColumnsChanged(){let{visibleCols:Q}=this.beans,z=Q.isPinningLeft(),J=Q.isPinningRight();if(this.pinningLeft!==z||J!==this.pinningRight){if(this.pinningLeft=z,this.pinningRight=J,this.embedFullWidthRows)this.redrawFullWidthEmbeddedRows()}}redrawFullWidthEmbeddedRows(){let Q=[];for(let z of this.getFullWidthRowCtrls()){let J=z.rowNode.rowIndex;Q.push(J.toString())}this.refreshFloatingRowComps(),this.removeRowCtrls(Q),this.redraw({afterScroll:!0})}getFullWidthRowCtrls(Q){let z=z8(Q);return this.getAllRowCtrls().filter((J)=>{if(!J.isFullWidth())return!1;let Z=J.rowNode;if(z!=null&&!J8(Z,z))return!1;return!0})}createOrUpdateRowCtrl(Q,z,J,Z){let $,X=this.rowCtrlsByRowIndex[Q];if(!X){if($=this.rowModel.getRow(Q),T($)&&T(z)&&z[$.id]&&$.alreadyRendered)X=z[$.id],z[$.id]=null}if(!X){if(!$)$=this.rowModel.getRow(Q);if(T($))X=this.createRowCon($,J,Z);else return}if($)$.alreadyRendered=!0;this.rowCtrlsByRowIndex[Q]=X}destroyRowCtrls(Q,z){let J=[];if(Q)for(let Z of Object.values(Q)){if(!Z)continue;if(this.cachedRowCtrls&&Z.isCacheable()){this.cachedRowCtrls.addRow(Z);continue}if(Z.destroyFirstPass(!z),z){let $=Z.instanceId;this.zombieRowCtrls[$]=Z,J.push(()=>{Z.destroySecondPass(),delete this.zombieRowCtrls[$]})}else Z.destroySecondPass()}if(z)J.push(()=>{if(this.isAlive())this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()}),window.setTimeout(()=>{for(let Z of J)Z()},wE)}getRowBuffer(){return this.gos.get("rowBuffer")}getRowBufferInPixels(){let Q=this.getRowBuffer(),z=X9(this.beans);return Q*z}workOutFirstAndLastRowsToRender(){let{rowContainerHeight:Q,pageBounds:z,rowModel:J}=this;Q.updateOffset();let Z,$;if(!J.isRowsToRender())Z=0,$=-1;else if(this.printLayout)this.beans.environment.refreshRowHeightVariable(),Z=z.getFirstRow(),$=z.getLastRow();else{let _=this.getRowBufferInPixels(),U=this.ctrlsSvc.getScrollFeature(),W=this.gos.get("suppressRowVirtualisation"),B=!1,E,K;do{let k=z.getPixelOffset(),{pageFirstPixel:f,pageLastPixel:A}=z.getCurrentPagePixelRange(),O=Q.divStretchOffset,v=U.getVScrollPosition(),I=v.top,C=v.bottom;if(W)E=f+O,K=A+O;else E=Math.max(I+k-_,f)+O,K=Math.min(C+k+_,A)+O;this.firstVisibleVPixel=Math.max(I+k,f)+O,this.lastVisibleVPixel=Math.min(C+k,A)+O,B=this.ensureAllRowsInRangeHaveHeightsCalculated(E,K)}while(B);let L=J.getRowIndexAtPixel(E),F=J.getRowIndexAtPixel(K),D=z.getFirstRow(),M=z.getLastRow();if(L<D)L=D;if(F>M)F=M;Z=L,$=F}let X=V0(this.gos,"normal"),Y=this.gos.get("suppressMaxRenderedRowRestriction"),G=Math.max(this.getRowBuffer(),500);if(X&&!Y){if($-Z>G)$=Z+G}let q=Z!==this.firstRenderedRow,H=$!==this.lastRenderedRow;if(q||H)this.firstRenderedRow=Z,this.lastRenderedRow=$,this.eventSvc.dispatchEvent({type:"viewportChanged",firstRow:Z,lastRow:$})}dispatchFirstDataRenderedEvent(){if(this.dataFirstRenderedFired)return;this.dataFirstRenderedFired=!0,YQ(this.beans,()=>{this.beans.eventSvc.dispatchEvent({type:"firstDataRendered",firstRow:this.firstRenderedRow,lastRow:this.lastRenderedRow})})}ensureAllRowsInRangeHaveHeightsCalculated(Q,z){let J=this.pinnedRowModel?.ensureRowHeightsValid(),Z=this.stickyRowFeature?.ensureRowHeightsValid(),{pageBounds:$,rowModel:X}=this,Y=X.ensureRowHeightsValid(Q,z,$.getFirstRow(),$.getLastRow());if(Y||Z)this.eventSvc.dispatchEvent({type:"recalculateRowBounds"});if(Z||Y||J)return this.updateContainerHeights(),!0;return!1}doNotUnVirtualiseRow(Q){let Z=Q.rowNode,$=this.focusSvc.isRowFocused(Z.rowIndex,Z.rowPinned),X=this.editSvc?.isEditing(Q),Y=Z.detail;if(!($||X||Y))return!1;return this.isRowPresent(Z)?!0:!1}isRowPresent(Q){if(!this.rowModel.isRowPresent(Q))return!1;return this.beans.pagination?.isRowInPage(Q.rowIndex)??!0}createRowCon(Q,z,J){let Z=this.cachedRowCtrls?.getRow(Q)??null;if(Z)return Z;let $=J&&!this.printLayout&&!!this.beans.animationFrameSvc?.active;return new F5(Q,this.beans,z,$,this.printLayout)}getRenderedNodes(){let Q=Object.values(this.rowCtrlsByRowIndex).map((Z)=>Z.rowNode),z=this.getStickyTopRowCtrls().map((Z)=>Z.rowNode),J=this.getStickyBottomRowCtrls().map((Z)=>Z.rowNode);return[...z,...Q,...J]}getRowByPosition(Q){let z,{rowIndex:J}=Q;switch(Q.rowPinned){case"top":z=this.topRowCtrls[J];break;case"bottom":z=this.bottomRowCtrls[J];break;default:if(z=this.rowCtrlsByRowIndex[J],!z){if(z=this.getStickyTopRowCtrls().find((Z)=>Z.rowNode.rowIndex===J)||null,!z)z=this.getStickyBottomRowCtrls().find((Z)=>Z.rowNode.rowIndex===J)||null}break}return z}isRangeInRenderedViewport(Q,z){if(Q==null||z==null)return!1;let Z=Q>this.lastRenderedRow;return!(z<this.firstRenderedRow)&&!Z}},gE=class{constructor(Q){this.entriesMap={},this.entriesList=[],this.maxCount=Q}addRow(Q){if(this.entriesMap[Q.rowNode.id]=Q,this.entriesList.push(Q),Q.setCached(!0),this.entriesList.length>this.maxCount){let z=this.entriesList[0];z.destroyFirstPass(),z.destroySecondPass(),this.removeFromCache(z)}}getRow(Q){if(Q?.id==null)return null;let z=this.entriesMap[Q.id];if(!z)return null;return this.removeFromCache(z),z.setCached(!1),z.rowNode!=Q?null:z}has(Q){return this.entriesMap[Q.id]!=null}removeRow(Q){let z=Q.id,J=this.entriesMap[z];delete this.entriesMap[z],$0(this.entriesList,J)}removeFromCache(Q){let z=Q.rowNode.id;delete this.entriesMap[z],$0(this.entriesList,Q)}getEntries(){return this.entriesList}};function z8(Q){if(!Q)return;let z={top:{},bottom:{},normal:{}};for(let J of Q){let Z=J.id;switch(J.rowPinned){case"top":z.top[Z]=J;break;case"bottom":z.bottom[Z]=J;break;default:z.normal[Z]=J;break}}return z}function J8(Q,z){let J=Q.id;switch(Q.rowPinned){case"top":return z.top[J]!=null;case"bottom":return z.bottom[J]!=null;default:return z.normal[J]!=null}}var hE=class extends j{constructor(){super(...arguments);this.beanName="rowNodeSorter",this.accentedSort=!1,this.primaryColumnsSortGroups=!1,this.pivotActive=!1}postConstruct(){this.firstLeaf=o(this.gos)?pz:uE,this.addManagedPropertyListeners(["accentedSort","autoGroupColumnDef","treeData"],this.updateOptions.bind(this));let Q=this.updatePivotModeState.bind(this);this.addManagedEventListeners({columnPivotModeChanged:Q,columnPivotChanged:Q}),this.updateOptions(),Q()}updateOptions(){this.accentedSort=!!this.gos.get("accentedSort"),this.primaryColumnsSortGroups=WQ(this.gos)}updatePivotModeState(){this.pivotActive=this.beans.colModel.isPivotActive()}doFullSortInPlace(Q,z){return Q.sort((J,Z)=>this.compareRowNodes(z,J,Z))}compareRowNodes(Q,z,J){if(z===J)return 0;let Z=this.accentedSort;for(let $=0,X=Q.length;$<X;++$){let Y=Q[$],G=Y.sort==="desc",q=this.getValue(z,Y.column),H=this.getValue(J,Y.column),_,U=this.getComparator(Y,z);if(U)_=U(q,H,z,J,G);else{if(Y.type==="absolute")q=Z8(q),H=Z8(H);_=y4(q,H,Z)}if(_)return Y.sort==="asc"?_:-_}return 0}getComparator(Q,z){let J=Q.column.getColDef(),Z=this.getComparatorFromColDef(J,Q);if(Z)return Z;if(!J.showRowGroup)return;let $=!z.group&&J.field;if(!$)return;let X=this.beans.colModel.getColDefCol($);if(!X)return;return this.getComparatorFromColDef(X.getColDef(),Q)}getComparatorFromColDef(Q,z){let J=Q.comparator;if(J==null)return;if(typeof J==="object")return J[LQ(z.type)];return J}getValue(Q,z){let J=this.beans;if(this.primaryColumnsSortGroups){if(Q.rowGroupColumn===z)return this.getGroupDataValue(Q,z);if(Q.group&&z.getColDef().showRowGroup)return}let Z=J.valueSvc.getValue(z,Q,"data");if(z.isAllowFormula()){let $=J.formula;if($?.isFormula(Z))return $.resolveValue(z,Q)}return Z}getGroupDataValue(Q,z){if(PZ(this.gos,this.pivotActive)){let Z=this.firstLeaf(Q);return Z&&this.beans.valueSvc.getValue(z,Z,"data")}let J=this.beans.showRowGroupCols?.getShowRowGroupCol(z.getId());return J?Q.groupData?.[J.getId()]:void 0}},uE=(Q)=>{if(Q.data)return Q;let z=Q.childrenAfterGroup;while(z?.length){let J=z[0];if(J.data)return J;z=J.childrenAfterGroup}},Z8=(Q)=>{if(!Q)return Q;if(typeof Q==="bigint")return Q<0n?-Q:Q;let z=Number(Q);return isNaN(z)?Q:Math.abs(z)};function mE(Q){Q.sortSvc?.onSortChanged("api")}var jz=(Q,z)=>({tag:"span",ref:`eSort${Q}`,cls:`ag-sort-indicator-icon ag-sort-${z} ag-hidden`,attrs:{"aria-hidden":"true"}}),cE={tag:"span",cls:"ag-sort-indicator-container",children:[jz("Order","order"),jz("Asc","ascending-icon"),jz("Desc","descending-icon"),jz("Mixed","mixed-icon"),jz("AbsoluteAsc","absolute-ascending-icon"),jz("AbsoluteDesc","absolute-descending-icon"),jz("None","none-icon")]},R6=class extends x{constructor(Q){super();if(this.eSortOrder=S,this.eSortAsc=S,this.eSortDesc=S,this.eSortMixed=S,this.eSortNone=S,this.eSortAbsoluteAsc=S,this.eSortAbsoluteDesc=S,!Q)this.setTemplate(cE)}attachCustomElements(Q,z,J,Z,$,X,Y){this.eSortOrder=Q,this.eSortAsc=z,this.eSortDesc=J,this.eSortMixed=Z,this.eSortNone=$,this.eSortAbsoluteAsc=X,this.eSortAbsoluteDesc=Y}setupSort(Q,z=!1,J){if(this.column=Q,this.suppressOrder=z,this.getSortDefOverride=J,this.setupMultiSortIndicator(),!Q.isSortable()&&!Q.getColDef().showRowGroup)return;this.addInIcon("sortAscending",this.eSortAsc,Q),this.addInIcon("sortDescending",this.eSortDesc,Q),this.addInIcon("sortUnSort",this.eSortNone,Q),this.addInIcon("sortAbsoluteAscending",this.eSortAbsoluteAsc,Q),this.addInIcon("sortAbsoluteDescending",this.eSortAbsoluteDesc,Q);let Z=this.updateIcons.bind(this),$=this.onSortChanged.bind(this);this.addManagedPropertyListener("unSortIcon",Z),this.addManagedEventListeners({newColumnsLoaded:Z,sortChanged:$,columnRowGroupChanged:$}),this.onSortChanged()}addInIcon(Q,z,J){if(z==null)return;let Z=h(Q,this.beans,J);if(Z)z.appendChild(Z)}onSortChanged(){if(this.updateIcons(),!this.suppressOrder)this.updateSortOrder()}updateIcons(){let{eSortAsc:Q,eSortDesc:z,eSortAbsoluteAsc:J,eSortAbsoluteDesc:Z,eSortNone:$,column:X,gos:Y,beans:G}=this,q=c5(X,G,this.getSortDefOverride),H=q.isDefaultSortAllowed,_=q.isAbsoluteSortAllowed,{isAbsoluteSort:U,isDefaultSort:W,isAscending:B,isDescending:E,direction:K}=q;if(Q)N(Q,B&&W&&H,{skipAriaHidden:!0});if(z)N(z,E&&W&&H,{skipAriaHidden:!0});if($){let L=!X.getColDef().unSortIcon&&!Y.get("unSortIcon");N($,!L&&!K,{skipAriaHidden:!0})}if(J)N(J,B&&U&&_,{skipAriaHidden:!0});if(Z)N(Z,E&&U&&_,{skipAriaHidden:!0})}setupMultiSortIndicator(){let{eSortMixed:Q,column:z,gos:J}=this;this.addInIcon("sortUnSort",Q,z);let Z=z.getColDef().showRowGroup;if(WQ(J)&&Z)this.addManagedEventListeners({sortChanged:this.updateMultiSortIndicator.bind(this),columnRowGroupChanged:this.updateMultiSortIndicator.bind(this)}),this.updateMultiSortIndicator()}updateMultiSortIndicator(){let{eSortMixed:Q,beans:z,column:J}=this;if(Q){let Z=z.sortSvc.getDisplaySortForColumn(J)?.direction==="mixed";N(Q,Z,{skipAriaHidden:!0})}}updateSortOrder(){let{eSortOrder:Q,column:z,beans:{sortSvc:J}}=this;if(!Q)return;let Z=J.getColumnsWithSortingOrdered(),$=J.getDisplaySortIndexForColumn(z)??-1,X=Z.some((G)=>J.getDisplaySortIndexForColumn(G)??!1),Y=$>=0&&X;if(N(Q,Y,{skipAriaHidden:!0}),$>=0)Q.textContent=($+1).toString();else z0(Q)}refresh(){this.onSortChanged()}},pE={selector:"AG-SORT-INDICATOR",component:R6},iE=class extends j{constructor(){super(...arguments);this.beanName="sortSvc"}progressSort(Q,z,J){let Z=this.getNextSortDirection(Q);this.setSortForColumn(Q,Z,z,J)}progressSortFromEvent(Q,z){let Z=this.gos.get("multiSortKey")==="ctrl"?z.ctrlKey||z.metaKey:z.shiftKey;this.progressSort(Q,Z,"uiColumnSorted")}setSortForColumn(Q,z,J,Z){let{gos:$,showRowGroupCols:X}=this.beans,Y=WQ($),G=[Q];if(Y){if(Q.getColDef().showRowGroup){let U=X?.getSourceColumnsForGroupColumn?.(Q)?.filter((W)=>W.isSortable());if(U)G=[Q,...U]}}for(let _ of G)this.setColSort(_,z,Z);let q=(J||$.get("alwaysMultiSort"))&&!$.get("suppressMultiSort"),H=[];if(!q){let _=this.clearSortBarTheseColumns(G,Z);H.push(..._)}this.updateSortIndex(Q),H.push(...G),this.dispatchSortChangedEvents(Z,H)}updateSortIndex(Q){let{gos:z,colModel:J,showRowGroupCols:Z}=this.beans,$=WQ(z),X=Z?.getShowRowGroupCol(Q.getId()),Y=$?X||Q:Q,G=this.getColumnsWithSortingOrdered();J.forAllCols((_)=>this.setColSortIndex(_,null));let q=G.filter((_)=>{if($&&_.getColDef().showRowGroup)return!1;return _!==Y});(Y.getSortDef()?[...q,Y]:q).forEach((_,U)=>this.setColSortIndex(_,U))}onSortChanged(Q,z){this.dispatchSortChangedEvents(Q,z)}isSortActive(){let Q=!1;return this.beans.colModel.forAllCols((z)=>{if(z.getSortDef())return Q=!0,!0}),Q}dispatchSortChangedEvents(Q,z){let J={type:"sortChanged",source:Q};if(z)J.columns=z;this.eventSvc.dispatchEvent(J)}clearSortBarTheseColumns(Q,z){let J=[];return this.beans.colModel.forAllCols((Z)=>{if(!Q.includes(Z)){if(Z.getSortDef())J.push(Z);this.setColSort(Z,void 0,z)}}),J}getNextSortDirection(Q,z){let J=Q.getSortingOrder(),Z=z===void 0?Q.getSortDef():a0(z),X=J.findIndex((Y)=>tJ(Y,Z))+1;if(X>=J.length)X=0;return a0(J[X])}getIndexedSortMap(){let{gos:Q,colModel:z,showRowGroupCols:J,rowGroupColsSvc:Z}=this.beans,$=[];if(z.forAllCols((H)=>{if(H.getSortDef())$.push(H)}),z.isPivotMode()){let H=WQ(Q);$=$.filter((_)=>{let U=!!_.getAggFunc(),W=!_.isPrimary(),B=H?J?.getShowRowGroupCol(_.getId()):_.getColDef().showRowGroup;return U||W||B})}let X=Z?.columns.filter((H)=>!!H.getSortDef())??[],Y={};$.forEach((H,_)=>Y[H.getId()]=_),$.sort((H,_)=>{let U=H.getSortIndex(),W=_.getSortIndex();if(U!=null&&W!=null)return U-W;else if(U==null&&W==null){let B=Y[H.getId()],E=Y[_.getId()];return B>E?1:-1}else if(W==null)return-1;else return 1});let G=WQ(Q)&&!!X.length;if(G)$=[...new Set($.map((H)=>J?.getShowRowGroupCol(H.getId())??H))];let q=new Map;if($.forEach((H,_)=>q.set(H,_)),G)for(let H of X){let _=J.getShowRowGroupCol(H.getId());q.set(H,q.get(_))}return q}getColumnsWithSortingOrdered(){return[...this.getIndexedSortMap().entries()].sort(([,Q],[,z])=>Q-z).map(([Q])=>Q)}collectSortItems(Q=!1){let z=[],J=this.getColumnsWithSortingOrdered();for(let Z of J){let $=Z.getSortDef()?.direction;if(!$)continue;let X=LQ(Z.getSortDef()?.type),Y={sort:$,type:X};if(Q)Y.colId=Z.getId();else Y.column=Z;z.push(Y)}return z}getSortModel(){return this.collectSortItems(!0)}getSortOptions(){return this.collectSortItems()}canColumnDisplayMixedSort(Q){let z=WQ(this.gos),J=!!Q.getColDef().showRowGroup;return z&&J}getDisplaySortForColumn(Q){let z=this.beans.showRowGroupCols?.getSourceColumnsForGroupColumn(Q);if(!this.canColumnDisplayMixedSort(Q)||!z?.length)return Q.getSortDef();let Z=Q.getColDef().field!=null||!!Q.getColDef().valueGetter?[Q,...z]:z,$=Z[0].getSortDef();if(!Z.every((Y)=>tJ(Y.getSortDef(),$)))return{type:LQ(Q.getSortDef()?.type),direction:"mixed"};return $}getDisplaySortIndexForColumn(Q){return this.getIndexedSortMap().get(Q)}setupHeader(Q,z){let J=()=>{let{type:Z,direction:$}=a0(z.getSortDef());if(Q.toggleCss("ag-header-cell-sorted-asc",$==="asc"),Q.toggleCss("ag-header-cell-sorted-desc",$==="desc"),Q.toggleCss("ag-header-cell-sorted-abs-asc",Z==="absolute"&&$==="asc"),Q.toggleCss("ag-header-cell-sorted-abs-desc",Z==="absolute"&&$==="desc"),Q.toggleCss("ag-header-cell-sorted-none",!$),z.getColDef().showRowGroup){let G=!this.beans.showRowGroupCols?.getSourceColumnsForGroupColumn(z)?.every((q)=>$==q.getSortDef()?.direction);Q.toggleCss("ag-header-cell-sorted-mixed",G)}};Q.addManagedEventListeners({sortChanged:J,columnPinned:J,columnRowGroupChanged:J,displayedColumnsChanged:J})}initCol(Q){let{sortIndex:z,initialSortIndex:J}=Q.colDef,Z=A9(Q.colDef);if(Z)Q.setSortDef(Z,!0);if(z!==void 0){if(z!==null)Q.sortIndex=z}else if(J!==null)Q.sortIndex=J}updateColSort(Q,z,J){if(z===void 0)return;this.setColSort(Q,a0(z),J)}setColSort(Q,z,J){if(!tJ(Q.getSortDef(),z))Q.setSortDef(a0(z),z===void 0),Q.dispatchColEvent("sortChanged",J);Q.dispatchStateUpdatedEvent("sort")}setColSortIndex(Q,z){Q.sortIndex=z,Q.dispatchStateUpdatedEvent("sortIndex")}createSortIndicator(Q){return new R6(Q)}getSortIndicatorSelector(){return pE}},r$={moduleName:"Sort",version:p,beans:[iE,hE],apiFunctions:{onSortChanged:mE},userComponents:{agSortIndicator:R6},icons:{sortAscending:"asc",sortDescending:"desc",sortUnSort:"none",sortAbsoluteAscending:"aasc",sortAbsoluteDescending:"adesc"}},nE=class extends j{constructor(){super(...arguments);this.beanName="syncSvc",this.waitingForColumns=!1}postConstruct(){this.addManagedPropertyListener("columnDefs",(Q)=>this.setColumnDefs(Q))}start(){this.beans.ctrlsSvc.whenReady(this,()=>{let Q=this.gos.get("columnDefs");if(Q)this.setColumnsAndData(Q);else this.waitingForColumns=!0;this.gridReady()})}setColumnsAndData(Q){let{colModel:z,rowModel:J}=this.beans;z.setColumnDefs(Q??[],"gridInitializing"),J.start()}gridReady(){let{eventSvc:Q,gos:z}=this;Q.dispatchEvent({type:"gridReady"}),d1(z,`initialised successfully, enterprise = ${z.isModuleRegistered("EnterpriseCore")}`)}setColumnDefs(Q){let z=this.gos.get("columnDefs");if(!z)return;if(this.waitingForColumns){this.waitingForColumns=!1,this.setColumnsAndData(z);return}this.beans.colModel.setColumnDefs(z,Xz(Q.source))}};var dE="paste",tE=class extends j{constructor(){super(...arguments);this.beanName="changeDetectionSvc",this.deferredDepth=0,this.batchedPath=null,this.batchedNodes=null}destroy(){super.destroy(),this.batchedPath=null,this.batchedNodes=null}postConstruct(){this.csrm=o5(this.beans),this.addManagedEventListeners({cellValueChanged:this.onCellValueChanged.bind(this)})}beginDeferred(){this.deferredDepth++}endDeferred(){if(this.deferredDepth===0)return;if(--this.deferredDepth>0)return;let Q=this.batchedPath,z=this.batchedNodes;if(this.batchedPath=null,this.batchedNodes=null,Q)this.csrm?.doAggregate(Q);let{rowRenderer:J}=this.beans;if(z)for(let Z of z)$8(J,Z);if(Q){let Z=Q.getSortedRows();for(let $=0,X=Z.length;$<X;++$)$8(J,Z[$])}if(this.batchedPath||this.batchedNodes)this.deferredDepth=1,this.endDeferred()}onCellValueChanged(Q){let{gos:z,rowModel:J,changedPathFactory:Z}=this.beans;if(Q.source===dE||z.get("suppressChangeDetection"))return;if(!J.rootNode)return;let $=Q.node.primaryRow;if(this.csrm){let X=this.batchedPath;if(!X)X=Z?.newPath(z.get("aggregateOnlyChangedColumns"))??null,this.batchedPath=X;let Y=$;if(!$.group)(this.batchedNodes??(this.batchedNodes=new Set)).add($),Y=$.parent;X?.addCell(Y,Q.column.getColId())}else(this.batchedNodes??(this.batchedNodes=new Set)).add($);if(this.deferredDepth===0)this.deferredDepth=1,this.endDeferred()}},$8=(Q,z)=>{let{sibling:J,pinnedSibling:Z}=z;Q.refreshRowByNode(z),Q.refreshRowByNode(J),Q.refreshRowByNode(Z),Q.refreshRowByNode(J?.pinnedSibling),Q.refreshRowByNode(Z?.sibling)},rE=class extends j{constructor(){super(...arguments);this.beanName="expressionSvc",this.cache={}}evaluate(Q,z){if(typeof Q==="string")return this.evaluateExpression(Q,z);else e(15,{expression:Q})}evaluateExpression(Q,z){try{return this.createExpressionFunction(Q)(z.value,z.context,z.oldValue,z.newValue,z.value,z.node,z.data,z.colDef,z.rowIndex,z.api,z.getValue,z.column,z.columnGroup)}catch(J){return e(16,{expression:Q,params:z,e:J}),null}}createExpressionFunction(Q){let z=this.cache;if(z[Q])return z[Q];let J=this.createFunctionBody(Q),Z=Function("x, ctx, oldValue, newValue, value, node, data, colDef, rowIndex, api, getValue, column, columnGroup",J);return z[Q]=Z,Z}createFunctionBody(Q){if(Q.includes("return"))return Q;else return"return "+Q+";"}};var sE={moduleName:"Expression",version:p,beans:[rE]},lE={moduleName:"ChangeDetection",version:p,beans:[tE]};var aE=class extends j{constructor(){super(...arguments);this.beanName="valueSvc",this.initialised=!1,this.isSsrm=!1}wireBeans(Q){this.expressionSvc=Q.expressionSvc,this.colModel=Q.colModel,this.valueCache=Q.valueCache,this.dataTypeSvc=Q.dataTypeSvc,this.editSvc=Q.editSvc,this.formulaDataSvc=Q.formulaDataSvc,this.rowGroupColsSvc=Q.rowGroupColsSvc}postConstruct(){if(!this.initialised)this.init()}init(){let{gos:Q,valueCache:z}=this;this.executeValueGetter=z?this.executeValueGetterWithValueCache.bind(this):this.executeValueGetterWithoutValueCache.bind(this),this.isSsrm=Hz(Q),this.cellExpressions=Q.get("enableCellExpressions"),this.isTreeData=Q.get("treeData"),this.initialised=!0;let J=(Z)=>this.callColumnCellValueChangedHandler(Z);this.eventSvc.addListener("cellValueChanged",J,!0),this.addDestroyFunc(()=>this.eventSvc.removeListener("cellValueChanged",J,!0)),this.addManagedPropertyListener("treeData",(Z)=>this.isTreeData=Z.currentValue)}getValueForDisplay(Q){let z=this.beans,J=Q.column,Z=Q.node,$=z.showRowGroupColValueSvc,X=!J&&Z.group,Y=J?.colDef.showRowGroup,G=!this.isTreeData||Z.footer;if($&&G&&(X||Y)){let W=$.getGroupValue(Z,J,this.displayIgnoresAggData(Z));if(W==null)return{value:null,valueFormatted:null};return{value:W.value,valueFormatted:Q.includeValueFormatted?$.formatAndPrefixGroupColValue(W,J,Q.exporting):null}}if(!J)return{value:Z.key,valueFormatted:null};let q=this.getValue(J,Z,Q.from,this.displayIgnoresAggData(Z)),H=q,_=z.formula;if(J.isAllowFormula()&&_?.isFormula(q))if(Q.useRawFormula)q=_.normaliseFormula(q,!0),H=_.resolveValue(J,Z);else q=_.resolveValue(J,Z),H=q;let U=Q.includeValueFormatted&&!(Q.exporting&&J.colDef.useValueFormatterForExport===!1);return{value:q,valueFormatted:U?this.formatValue(J,Z,H):null}}getValue(Q,z,J,Z=!1){if(!this.initialised)this.init();if(!z)return;let $=Q.colDef,X=z.group;if(!X){let q=$.pivotValueColumn;if(q)Q=q}let Y=this.editSvc?.getPendingEditValue(z,Q,J);if(Y!==void 0)return Y;let G=this.resolveValue(Q,z,Z,X);if(G===void 0){if(X){let q=$.showRowGroup;if(typeof q==="string"){let H=this.rowGroupColsSvc?.getColumnIndex(q);if(H!=null&&H>z.level)return null}}return}if(this.cellExpressions&&oJ(G)){let q=G.substring(1);G=this.executeValueGetter(q,z.data,Q,z)}return G}displayIgnoresAggData(Q){if(!Q.group||Q.footer||Q.level===-1)return!1;if(!Q.sibling||this.gos.get("groupSuppressBlankHeader"))return!1;if(Q.leafGroup&&this.colModel.isPivotMode())return!1;return!!Q.expanded}resolveValue(Q,z,J,Z){let{colDef:$,colId:X}=Q,Y=!Z&&this.formulaDataSvc;if(Y&&Y.hasDataSource()&&$.allowFormula===!0){let D=Y.getFormula({column:Q,rowNode:z});if(oJ(D))return D}let G=Z&&!J?z.aggData:void 0,q=this.isTreeData;if(q&&G?.[X]!==void 0)return G[X];let H=z.data,_=$.field,U=$.valueGetter;if(q){if(U)return this.executeValueGetter(U,H,Q,z);if(_&&H)return h1(H,_,Q.isFieldContainsDots())}let W=z.groupData;if(W&&X in W)return W[X];if(G?.[X]!==void 0)return G[X];let B=$.showRowGroup,E=typeof B!=="string"||!Z,K=this.isSsrm,L=K&&J&&!!$.aggFunc;if(U&&!L)return E?this.executeValueGetter(U,H,Q,z):void 0;if(K&&z.footer&&z.field&&(B===!0||B===z.field))return h1(H,z.field,Q.isFieldContainsDots());if(_&&H&&!L)return E?h1(H,_,Q.isFieldContainsDots()):void 0;return}parseValue(Q,z,J,Z){let $=Q.getColDef();if($.allowFormula&&this.beans.formula?.isFormula(J))return J;let X=$.valueParser;if(T(X)){let Y=y(this.gos,{node:z,data:z?.data,oldValue:Z,newValue:J,colDef:$,column:Q});if(typeof X==="function")return X(Y);return this.expressionSvc?.evaluate(X,Y)}return J}getDeleteValue(Q,z){if(T(Q.getColDef().valueParser))return this.parseValue(Q,z,"",this.getValueForDisplay({column:Q,node:z,from:"edit"}).value)??null;return null}formatValue(Q,z,J,Z,$=!0){let{expressionSvc:X}=this.beans,Y=null,G,q=Q.getColDef();if(Z)G=Z;else if($)G=q.valueFormatter;if(G){let H=z?z.data:null,_=y(this.gos,{value:J,node:z,data:H,colDef:q,column:Q});if(typeof G==="function")Y=G(_);else Y=X?X.evaluate(G,_):null}else if(q.refData)return q.refData[J]||"";if(Y==null&&Array.isArray(J))Y=J.join(", ");return Y}setValue(Q,z,J,Z){let $=z.getColDef();if(!Q.data&&this.canCreateRowNodeData(Q,$))Q.data={};if(!this.isSetValueSupported(z,Q,J,$))return!1;let X=this.getValue(z,Q,"data"),Y=y(this.gos,{node:Q,data:Q.data,oldValue:X,newValue:J,colDef:$,column:z}),G=!1;if(Q.data){let H=this.handleExternalFormulaChange({column:z,eventSource:Z,newValue:J,setterParams:Y,rowNode:Q});if(H!==null)return H;G=this.computeValueChange({column:z,rowNode:Q,newValue:J,params:Y,rowData:Q.data,valueSetter:$.valueSetter,field:$.field})??!0}let q=this.beans.changeDetectionSvc;q?.beginDeferred();try{if(Q.group){let H=this.beans.rowGroupingEditValueSvc?.setGroupDataValue(Q,z,J,X,Z,G||J!==X);if(H!==void 0){if(!G&&!H)return!1;return this.finishValueChange(Q,z,Y,Z,J)}}if(!G)return!1;return this.finishValueChange(Q,z,Y,Z)}finally{q?.endDeferred()}}canCreateRowNodeData(Q,z){if(!Q.group)return!0;if(z.groupRowValueSetter!=null||z.groupRowEditable!=null)return!1;if(z.pivotValueColumn)return!1;return!0}finishValueChange(Q,z,J,Z,$){Q.resetQuickFilterAggregateText(),this.valueCache?.onDataChanged();let X=$===void 0?this.getValue(z,Q,"data"):$;if(this.dispatchCellValueChangedEvent(Q,J,X,Z),Q.pinnedSibling)this.dispatchCellValueChangedEvent(Q.pinnedSibling,J,X,Z);return!0}isSetValueSupported(Q,z,J,Z){let{field:$,valueSetter:X}=Z,Y=this.beans.formula,G=Q.isAllowFormula()&&Y?.isFormula(J),q=!!this.formulaDataSvc?.hasDataSource();if(n($)&&n(X)&&!(q&&G)){if(z.group&&(Z.groupRowValueSetter||Z.groupRowEditable))return!0;return R(17),!1}if(this.dataTypeSvc&&!this.dataTypeSvc.checkType(Q,J))return R(135),!1;return!0}handleExternalFormulaChange(Q){let{column:z,rowNode:J,newValue:Z,eventSource:$,setterParams:X}=Q,Y=this.beans.formula,G=this.formulaDataSvc;if(!G?.hasDataSource()||!z.isAllowFormula())return null;let q=Y?.isFormula(Z),H=G.getFormula({column:z,rowNode:J});if(q){if(H===Z)return!1;G.setFormula({column:z,rowNode:J,formula:Z});let U=Y?.resolveValue(z,J),W=z.getColDef();if(T(W.valueSetter)||!n(W.field)){let B={...X,newValue:U};this.computeValueChange({column:z,rowNode:J,newValue:U,params:B,rowData:J.data,valueSetter:W.valueSetter,field:W.field})}return this.finishValueChange(J,z,X,$)}if(H!==void 0)G.setFormula({column:z,rowNode:J,formula:void 0});return null}computeValueChange(Q){let{valueSetter:z,params:J,rowData:Z,field:$,column:X,newValue:Y}=Q;if(T(z)){if(typeof z==="function")return z(J);return this.expressionSvc?.evaluate(z,J)}return!!Z&&this.setValueUsingField(Z,$,Y,X.isFieldContainsDots())}dispatchCellValueChangedEvent(Q,z,J,Z){this.eventSvc.dispatchEvent({type:"cellValueChanged",event:null,rowIndex:Q.rowIndex,rowPinned:Q.rowPinned,column:z.column,colDef:z.colDef,data:Q.data,node:Q,oldValue:z.oldValue,newValue:J,newRawValue:z.newValue,value:J,source:Z})}callColumnCellValueChangedHandler(Q){let z=Q.colDef.onCellValueChanged;if(typeof z==="function")this.beans.frameworkOverrides.wrapOutgoing(()=>{z(Q)})}setValueUsingField(Q,z,J,Z){if(!z)return!1;let $=!1;if(!Z){if($=Q[z]===J,!$)Q[z]=J}else{let X=z.split("."),Y=Q;while(X.length>0&&Y){let G=X.shift();if(X.length===0){if($=Y[G]===J,!$)Y[G]=J}else Y=Y[G]}}return!$}executeValueGetterWithValueCache(Q,z,J,Z){let $=J.getColId(),X=this.valueCache.getValue(Z,$);if(X!==void 0)return X;let Y=this.executeValueGetterWithoutValueCache(Q,z,J,Z);return this.valueCache.setValue(Z,$,Y),Y}executeValueGetterWithoutValueCache(Q,z,J,Z){let $=y(this.gos,{data:z,node:Z,column:J,colDef:J.getColDef(),getValue:(Y)=>this.getValueCallback(Z,Y)}),X;if(typeof Q==="function")X=Q($);else X=this.expressionSvc?.evaluate(Q,$);return X}getValueCallback(Q,z){let J=this.colModel.getColDefCol(z);if(J)return this.getValue(J,Q,"data");return null}getKeyForNode(Q,z){let J=this.getValue(Q,z,"data"),Z=Q.getColDef().keyCreator,$=J;if(Z){let X=y(this.gos,{value:J,colDef:Q.getColDef(),column:Q,node:z,data:z.data});$=Z(X)}if(typeof $==="string"||$==null)return $;if($=String($),$==="[object Object]")R(121);return $}},oE={moduleName:"CommunityCore",version:p,beans:[hB,S_,KW,Wq,xE,IU,bB,Y3,wU,XE,$E,NE,aE,NB,IB,gB,FW,nE,qW,HW,D3],icons:{selectOpen:"small-down",smallDown:"small-down",colorPicker:"color-picker",smallUp:"small-up",checkboxChecked:"small-up",checkboxIndeterminate:"checkbox-indeterminate",checkboxUnchecked:"checkbox-unchecked",radioButtonOn:"radio-button-on",radioButtonOff:"radio-button-off",smallLeft:"small-left",smallRight:"small-right"},apiFunctions:{getGridId:O_,destroy:P_,isDestroyed:T_,getGridOption:v_,setGridOption:I_,updateGridOptions:q$,isModuleRegistered:C_},dependsOn:[YW,FJ,LU,r$,E3,E6,K3,yE,lE,F3,iz,HE,WE,V3,WW,GW,sE,tU,KE]};function D5(Q){let{inputValue:z,allSuggestions:J,hideIrrelevant:Z,filterByPercentageOfBestMatch:$}=Q,X=(J??[]).map((q,H)=>({value:q,relevance:eE(z,q),idx:H}));if(X.sort((q,H)=>q.relevance-H.relevance),Z)X=X.filter((q)=>q.relevance<Math.max(q.value.length,z.length));if(X.length>0&&$&&$>0){let H=X[0].relevance*$;X=X.filter((_)=>H-_.relevance<0)}let Y=[],G=[];for(let q of X)Y.push(q.value),G.push(q.idx);return{values:Y,indices:G}}function eE(Q,z){let J=Q.length,Z=z.length;if(Z===0)return J?J:0;let $=Q.toLocaleLowerCase(),X=z.toLocaleLowerCase(),Y;if(Q.length<z.length)Y=X,X=$,$=Y,Y=z,z=Q,Q=Y;let G=new Uint16Array(Z+1),q=new Uint16Array(Z+1);for(let U=0;U<=Z;U++)G[U]=U;let H=0,_=J/2-10;for(let U=1;U<=J;U++){let W=Q[U-1],B=$[U-1];q[0]=U;for(let E=1;E<=Z;E++){let K=z[E-1],L=X[E-1];if(B!==L){let F=q[E-1],D=G[E],M=G[E-1],k=F<D?F:D;if(M<k)k=M;q[E]=k+1|0;continue}if(H++,W===K)H++;if(U>1&&E>1){let F=Q[U-2],D=$[U-2],M=z[E-2],k=X[E-2];if(D===k){if(H++,F===M)H++}}if(U<_)H++;q[E]=G[E-1]}Y=G,G=q,q=Y}return G[Z]/(H+1)}var s$={AdvancedFilter:1,AiToolkit:1,AllEnterprise:1,BatchEdit:1,CellSelection:1,Clipboard:1,ColumnMenu:1,ColumnsToolPanel:1,ContextMenu:1,ExcelExport:1,FiltersToolPanel:1,Find:1,GridCharts:1,IntegratedCharts:1,GroupFilter:1,MasterDetail:1,Menu:1,MultiFilter:1,NewFiltersToolPanel:1,Pivot:1,RangeSelection:1,RichSelect:1,RowNumbers:1,RowGrouping:1,RowGroupingEdit:1,RowGroupingPanel:1,ServerSideRowModelApi:1,ServerSideRowModel:1,SetFilter:1,SideBar:1,Sparklines:1,StatusBar:1,TreeData:1,ViewportRowModel:1,Formula:1},r2=["TextFilter","NumberFilter","BigIntFilter","DateFilter","SetFilter","MultiFilter","GroupFilter","CustomFilter"],QK={EditCore:["TextEditor","NumberEditor","DateEditor","CheckboxEditor","LargeTextEditor","SelectEditor","RichSelect","CustomEditor"],CheckboxCellRenderer:["AllCommunity"],ClientSideRowModelHierarchy:["RowGrouping","Pivot","TreeData"],ColumnFilter:r2,ColumnGroupHeaderComp:["AllCommunity"],ColumnGroup:["AllCommunity"],ColumnHeaderComp:["AllCommunity"],ColumnMove:["AllCommunity"],ColumnResize:["AllCommunity"],CommunityCore:["AllCommunity"],CsrmSsrmSharedApi:["ClientSideRowModelApi","ServerSideRowModelApi"],RowModelSharedApi:["ClientSideRowModelApi","ServerSideRowModelApi"],EnterpriseCore:["AllEnterprise"],FilterCore:[...r2,"QuickFilter","ExternalFilter","AdvancedFilter"],GroupCellRenderer:["RowGrouping","Pivot","TreeData","MasterDetail","ServerSideRowModel"],KeyboardNavigation:["AllCommunity"],LoadingCellRenderer:["ServerSideRowModel"],MenuCore:["ColumnMenu","ContextMenu"],MenuItem:["ColumnMenu","ContextMenu","MultiFilter","IntegratedCharts","ColumnsToolPanel"],Overlay:["AllCommunity"],PinnedColumn:["AllCommunity"],SharedAggregation:["RowGrouping","Pivot","TreeData","ServerSideRowModel"],SharedDragAndDrop:["AllCommunity"],SharedMasterDetail:["MasterDetail","ServerSideRowModel"],SharedMenu:[...r2,"ColumnMenu","ContextMenu"],SharedPivot:["Pivot","ServerSideRowModel"],SharedRowGrouping:["RowGrouping","ServerSideRowModel"],SharedRowSelection:["RowSelection","ServerSideRowModel"],SkeletonCellRenderer:["ServerSideRowModel"],Sort:["AllCommunity"],SsrmInfiniteSharedApi:["InfiniteRowModel","ServerSideRowModelApi"],SharedTreeData:["TreeData","ServerSideRowModel"]},zK={InfiniteRowModel:"infinite",ClientSideRowModelApi:"clientSide",ClientSideRowModel:"clientSide",ServerSideRowModelApi:"serverSide",ServerSideRowModel:"serverSide",ViewportRowModel:"viewport"};function JK(Q,z){let J=[];for(let Z of Array.isArray(Q)?Q:[Q]){let $=QK[Z];if($)for(let X of $){let Y=zK[X];if(!Y||Y===z)J.push(X)}else J.push(Z)}return J}var l$=()=>`No AG Grid modules are registered! It is recommended to start with all Community features via the AllCommunityModule:
import { ModuleRegistry, AllCommunityModule } from 'ag-grid-community';
ModuleRegistry.registerModules([ AllCommunityModule ]);
`,ZK=(Q)=>{let z=Q.map((Z)=>`import { ${m1(Z)} } from '${s$[Z]?"ag-grid-enterprise":"ag-grid-community"}';`);if(Q.some((Z)=>Z==="IntegratedCharts"||Z==="Sparklines"))z.push("import { AgChartsEnterpriseModule } from 'ag-charts-enterprise';");return`import { ModuleRegistry } from 'ag-grid-community';
${z.join(`
`)}
ModuleRegistry.registerModules([ ${Q.map((Z)=>m1(Z,!0)).join(", ")} ]);
For more info see: ${H1}/modules/`};function m1(Q,z=!1){if(z&&(Q==="IntegratedCharts"||Q==="Sparklines"))return`${Q}Module.with(AgChartsEnterpriseModule)`;return`${Q}Module`}function $K(Q,z){let J=z.filter((X)=>X==="IntegratedCharts"||X==="Sparklines"),Z="";if(!globalThis?.agCharts&&J.length>0)Z=`Unable to use ${Q} as either the ag-charts-community or ag-charts-enterprise script needs to be included alongside ag-grid-enterprise.
`;else if(z.some((X)=>s$[X]))Z=Z+`Unable to use ${Q} as that requires the ag-grid-enterprise script to be included.
`;return Z}function a$({moduleName:Q,rowModelType:z}){return`To use the ${Q}Module you must set the gridOption "rowModelType='${z}'"`}var X8=({reasonOrId:Q,moduleName:z,gridScoped:J,gridId:Z,rowModelType:$,additionalText:X,isUmd:Y})=>{let G=JK(z,$),q=typeof Q==="string"?Q:qK[Q];if(Y)return $K(q,G);let H=G.filter((W)=>W==="IntegratedCharts"||W==="Sparklines"),_=H.length>0?`${H.map((W)=>m1(W)).join()} must be initialised with an AG Charts module. One of 'AgChartsCommunityModule' / 'AgChartsEnterpriseModule'.`:"";return`${`Unable to use ${q} as ${G.length>1?"one of "+G.map((W)=>m1(W)).join(", "):m1(G[0])} is not registered${J?" for gridId: "+Z:""}. ${_} Check if you have registered the module:
`}
${ZK(G)}`+(X?`
${X}`:"")},Y8=(Q)=>{return`${Q} must be initialised with an AG Charts module. One of 'AgChartsCommunityModule' / 'AgChartsEnterpriseModule'.
import { AgChartsEnterpriseModule } from 'ag-charts-enterprise';
import { ModuleRegistry } from 'ag-grid-community';
import { ${Q} } from 'ag-grid-enterprise';
ModuleRegistry.registerModules([${Q}.with(AgChartsEnterpriseModule)]);
`},XK=(Q)=>`AG Grid: Unable to use the Clipboard API (navigator.clipboard.${Q}()). The reason why it could not be used has been logged in the previous line. For this reason the grid has defaulted to using a workaround which doesn't perform as well. Either fix why Clipboard API is blocked, OR stop this message from appearing by setting grid property suppressClipboardApi=true (which will default the grid to using the workaround rather than the API.`,YK={1:()=>"`rowData` must be an array",2:({nodeId:Q})=>`Duplicate node id '${Q}' detected from getRowId callback, this could cause issues in your grid.`,3:()=>"Calling gridApi.resetRowHeights() makes no sense when using Auto Row Height.",4:({id:Q})=>`Could not find row id=${Q}, data item was not found for this id`,5:({data:Q})=>["Could not find data item as object was not found.",Q," Consider using getRowId to help the Grid find matching row data"],6:()=>"'groupHideOpenParents' only works when specifying specific columns for 'colDef.showRowGroup'",7:()=>"Pivoting is not supported with aligned grids as it may produce different columns in each grid.",8:({key:Q})=>`Unknown key for navigation ${Q}`,9:({variable:Q})=>`No value for ${Q?.cssName}. This usually means that the grid has been initialised before styles have been loaded. The default value of ${Q?.defaultValue} will be used and updated when styles load.`,10:({eventType:Q})=>`As of v33, the '${Q}' event is deprecated. Use the global 'modelUpdated' event to determine when row children have changed.`,11:()=>"No gridOptions provided to createGrid",12:({colKey:Q})=>["column ",Q," not found"],13:()=>"Could not find rowIndex, this means tasks are being executed on a rowNode that has been removed from the grid.",14:({groupPrefix:Q})=>`Row IDs cannot start with ${Q}, this is a reserved prefix for AG Grid's row grouping feature.`,15:({expression:Q})=>["value should be either a string or a function",Q],16:({expression:Q,params:z,e:J})=>["Processing of the expression failed","Expression = ",Q,"Params = ",z,"Exception = ",J],17:()=>"you need either field or valueSetter set on colDef for editing to work",18:()=>"alignedGrids contains an undefined option.",19:()=>"alignedGrids - No api found on the linked grid.",20:()=>`You may want to configure via a callback to avoid setup race conditions:
"alignedGrids: () => [linkedGrid]"`,21:()=>"pivoting is not supported with aligned grids. You can only use one of these features at a time in a grid.",22:({key:Q})=>`${Q} is an initial property and cannot be updated.`,23:()=>"The return of `getRowHeight` cannot be zero. If the intention is to hide rows, use a filter instead.",24:()=>"row height must be a number if not using standard row model",25:({id:Q})=>["The getRowId callback must return a string. The ID ",Q," is being cast to a string."],26:({fnName:Q,preDestroyLink:z})=>{return`Grid API function ${Q}() cannot be called as the grid has been destroyed.
Either clear local references to the grid api, when it is destroyed, or check gridApi.isDestroyed() to avoid calling methods against a destroyed grid.
To run logic when the grid is about to be destroyed use the gridPreDestroy event. See: ${z}`},27:({fnName:Q,module:z})=>`API function '${Q}' not registered to module '${z}'`,28:()=>"setRowCount cannot be used while using row grouping.",29:()=>"tried to call sizeColumnsToFit() but the grid is coming back with zero width, maybe the grid is not visible yet on the screen?",30:({toIndex:Q})=>["tried to insert columns in invalid location, toIndex = ",Q,"remember that you should not count the moving columns when calculating the new index"],31:()=>"infinite loop in resizeColumnSets",32:()=>"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.",33:()=>"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.",34:({key:Q})=>`the column type '${Q}' is a default column type and cannot be overridden.`,35:()=>"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.",36:({t:Q})=>"colDef.type '"+Q+"' does not correspond to defined gridOptions.columnTypes",37:()=>"Changing the column pinning status is not allowed with domLayout='print'",38:({iconName:Q})=>`provided icon '${Q}' needs to be a string or a function`,39:()=>"Applying column order broke a group where columns should be married together. Applying new order has been discarded.",40:({e:Q,method:z})=>`${Q}
${XK(z)}`,41:()=>"Browser did not allow document.execCommand('copy'). Ensure 'api.copySelectedRowsToClipboard() is invoked via a user event, i.e. button click, otherwise the browser will prevent it for security reasons.",42:()=>"Browser does not support document.execCommand('copy') for clipboard operations",43:({iconName:Q})=>`As of v33, icon '${Q}' is deprecated. Use the icon CSS name instead.`,44:()=>'Data type definition hierarchies (via the "extendsDataType" property) cannot contain circular references.',45:({parentCellDataType:Q})=>`The data type definition ${Q} does not exist.`,46:()=>'The "baseDataType" property of a data type definition must match that of its parent.',47:({cellDataType:Q})=>`Missing data type definition - "${Q}"`,48:({property:Q,inferred:z,colId:J})=>{let Z=z?" (inferred)":"",$=J?` for column "${J}"`:"";return`Cell data type is "object"${Z} but no Value ${Q} has been provided${$}. Please either provide an object data type definition with a Value ${Q}, or set:
- "colDef.value${Q}"${z&&Q==="Parser"?`
- "colDef.cellDataType = 'object'"`:""}`},49:({methodName:Q})=>`Framework component is missing the method ${Q}()`,50:({compName:Q})=>`Could not find component ${Q}, did you forget to configure this component?`,51:()=>"Export cancelled. Export is not allowed as per your configuration.",52:()=>"There is no `window` associated with the current `document`",53:()=>"unknown value type during csv conversion",54:()=>"Could not find document body, it is needed for drag and drop and context menu.",55:()=>"addRowDropZone - A container target needs to be provided",56:()=>"addRowDropZone - target already exists in the list of DropZones. Use `removeRowDropZone` before adding it again.",57:()=>"unable to show popup filter, filter instantiation failed",58:()=>"no values found for select cellEditor",59:()=>"cannot select pinned rows",60:()=>"cannot select node until it has finished loading",61:()=>"since version v32.2.0, rowNode.isFullWidthCell() has been deprecated. Instead check `rowNode.detail` followed by the user provided `isFullWidthRow` grid option.",62:({colId:Q})=>`setFilterModel() - no column found for colId: ${Q}`,63:({colId:Q})=>`setFilterModel() - unable to fully apply model, filtering disabled for colId: ${Q}`,64:({colId:Q})=>`setFilterModel() - unable to fully apply model, unable to create filter for colId: ${Q}`,65:()=>"filter missing setModel method, which is needed for setFilterModel",66:()=>"filter API missing getModel method, which is needed for getFilterModel",67:()=>"Filter is missing isFilterActive() method",68:()=>"Column Filter API methods have been disabled as Advanced Filters are enabled.",69:({guiFromFilter:Q})=>`getGui method from filter returned ${Q}; it should be a DOM element.`,70:({newFilter:Q})=>`Grid option quickFilterText only supports string inputs, received: ${typeof Q}`,71:()=>"debounceMs is ignored when apply button is present",72:({keys:Q})=>["ignoring FilterOptionDef as it doesn't contain one of ",Q],73:()=>"invalid FilterOptionDef supplied as it doesn't contain a 'displayKey'",74:()=>"no filter options for filter",75:()=>"Unknown button type specified",76:({filterModelType:Q})=>['Unexpected type of filter "',Q,'", it looks like the filter was configured with incorrect Filter Options'],77:()=>"Filter model is missing 'conditions'",78:()=>'Filter Model contains more conditions than "filterParams.maxNumConditions". Additional conditions have been ignored.',79:()=>'"filterParams.maxNumConditions" must be greater than or equal to zero.',80:()=>'"filterParams.numAlwaysVisibleConditions" must be greater than or equal to zero.',81:()=>'"filterParams.numAlwaysVisibleConditions" cannot be greater than "filterParams.maxNumConditions".',82:({param:Q})=>`DateFilter ${Q} is not a number`,83:()=>"DateFilter minValidYear should be <= maxValidYear",84:()=>"DateFilter minValidDate should be <= maxValidDate",85:()=>"DateFilter should not have both minValidDate and minValidYear parameters set at the same time! minValidYear will be ignored.",86:()=>"DateFilter should not have both maxValidDate and maxValidYear parameters set at the same time! maxValidYear will be ignored.",87:()=>"DateFilter parameter minValidDate should always be lower than or equal to parameter maxValidDate.",88:({index:Q})=>`Invalid row index for ensureIndexVisible: ${Q}`,89:()=>"A template was provided for Header Group Comp - templates are only supported for Header Comps (not groups)",90:()=>"datasource is missing getRows method",91:()=>"Filter is missing method doesFilterPass",92:()=>"AnimationFrameService called but animation frames are off",93:()=>"cannot add multiple ranges when `cellSelection.suppressMultiRanges = true`",94:({paginationPageSizeOption:Q,pageSizeSet:z,pageSizesSet:J,pageSizeOptions:Z})=>`'paginationPageSize=${Q}'${z?"":" (default value)"}, but ${Q} is not included in${J?"":" the default"} paginationPageSizeSelector=[${Z?.join(", ")}].`,95:({paginationPageSizeOption:Q,paginationPageSizeSelector:z})=>`Either set '${z}' to an array that includes ${Q} or to 'false' to disable the page size selector.`,96:({id:Q,data:z})=>["Duplicate ID",Q,"found for pinned row with data",z,"When `getRowId` is defined, it must return unique IDs for all pinned rows. Use the `rowPinned` parameter."],97:({colId:Q})=>`cellEditor for column ${Q} is missing getGui() method`,98:()=>"popup cellEditor does not work with fullRowEdit - you cannot use them both - either turn off fullRowEdit, or stop using popup editors.",99:()=>"Since v32, `api.hideOverlay()` does not hide the loading overlay when `loading=true`. Set `loading=false` instead.",101:({propertyName:Q,componentName:z,agGridDefaults:J,jsComps:Z})=>{let $=[],X=[...Object.keys(J??[]).filter((G)=>!["agCellEditor","agGroupRowRenderer","agSortIndicator"].includes(G)),...Object.keys(Z??[]).filter((G)=>!!Z[G])],Y=D5({inputValue:z,allSuggestions:X,hideIrrelevant:!0,filterByPercentageOfBestMatch:0.8}).values;if($.push(`Could not find '${z}' component. It was configured as "${Q}: '${z}'" but it wasn't found in the list of registered components.
`),Y.length>0)$.push(` Did you mean: [${Y.slice(0,3)}]?
`);return $.push("If using a custom component check it has been registered correctly."),$},102:()=>"selectAll: 'filtered' only works when gridOptions.rowModelType='clientSide'",103:()=>"Invalid selection state. When using client-side row model, the state must conform to `string[]`.",104:({value:Q,param:z})=>`Numeric value ${Q} passed to ${z} param will be interpreted as ${Q} seconds. If this is intentional use "${Q}s" to silence this warning.`,105:({e:Q})=>["chart rendering failed",Q],106:()=>`Theming API and Legacy Themes are both used in the same page. A Theming API theme has been provided to the 'theme' grid option, but the file (ag-grid.css) is also included and will cause styling issues. Remove ag-grid.css from the page. See the migration guide: ${H1}/theming-migration/`,107:({key:Q,value:z})=>`Invalid value for theme param ${Q} - ${z}`,108:({e:Q})=>["chart update failed",Q],109:({inputValue:Q,allSuggestions:z})=>{let J=D5({inputValue:Q,allSuggestions:z,hideIrrelevant:!0,filterByPercentageOfBestMatch:0.8}).values;return[`Could not find '${Q}' aggregate function. It was configured as "aggFunc: '${Q}'" but it wasn't found in the list of registered aggregations.`,J.length>0?` Did you mean: [${J.slice(0,3)}]?`:"","If using a custom aggregation function check it has been registered correctly."].join(`
`)},110:()=>"groupHideOpenParents only works when specifying specific columns for colDef.showRowGroup",111:()=>"Invalid selection state. When `groupSelects` is enabled, the state must conform to `IServerSideGroupSelectionState`.",113:()=>"Set Filter cannot initialise because you are using a row model that does not contain all rows in the browser. Either use a different filter type, or configure Set Filter such that you provide it with values",114:({component:Q})=>`Could not find component with name of ${Q}. Is it in Vue.components?`,116:()=>"Invalid selection state. The state must conform to `IServerSideSelectionState`.",117:()=>"selectAll must be of boolean type.",118:()=>"Infinite scrolling must be enabled in order to set the row count.",119:()=>"Unable to instantiate filter",120:()=>"MultiFloatingFilterComp expects MultiFilter as its parent",121:()=>"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 (see AG Grid docs) or b) to toString() on the object to return a key",122:()=>"could not find the document, document is empty",123:()=>"Advanced Filter is only supported with the Client-Side Row Model or Server-Side Row Model.",124:()=>"No active charts to update.",125:({chartId:Q})=>`Unable to update chart. No active chart found with ID: ${Q}.`,126:()=>"unable to restore chart as no chart model is provided",127:({allRange:Q})=>`unable to create chart as ${Q?"there are no columns in the grid":"no range is selected"}.`,128:({feature:Q})=>`${Q} is only available if using 'multiRow' selection mode.`,129:({feature:Q,rowModel:z})=>`${Q} is only available if using 'clientSide' or 'serverSide' rowModelType, you are using ${z}.`,130:()=>'cannot multi select unless selection mode is "multiRow"',132:()=>"Row selection features are not available unless `rowSelection` is enabled.",133:({iconName:Q})=>`icon '${Q}' function should return back a string or a dom object`,134:({iconName:Q})=>`Did not find icon '${Q}'`,135:()=>"Data type of the new value does not match the cell data type of the column",136:()=>"Unable to update chart as the 'type' is missing. It must be either 'rangeChartUpdate', 'pivotChartUpdate', or 'crossFilterChartUpdate'.",137:({type:Q,currentChartType:z})=>`Unable to update chart as a '${Q}' update type is not permitted on a ${z}.`,138:({chartType:Q})=>`invalid chart type supplied: ${Q}`,139:({customThemeName:Q})=>`a custom chart theme with the name ${Q} has been supplied but not added to the 'chartThemes' list`,140:({name:Q})=>`no stock theme exists with the name '${Q}' and no custom chart theme with that name was supplied to 'customChartThemes'`,141:()=>"cross filtering with row grouping is not supported.",142:()=>"cross filtering is only supported in the client side row model.",143:({panel:Q})=>`'${Q}' is not a valid Chart Tool Panel name`,144:({type:Q})=>`Invalid charts data panel group name supplied: '${Q}'`,145:({group:Q})=>`As of v32, only one charts customize panel group can be expanded at a time. '${Q}' will not be expanded.`,146:({comp:Q})=>`Unable to instantiate component '${Q}' as its module hasn't been loaded. Add 'ValidationModule' to see which module is required.`,147:({group:Q})=>`Invalid charts customize panel group name supplied: '${Q}'`,148:({group:Q})=>`invalid chartGroupsDef config '${Q}'`,149:({group:Q,chartType:z})=>`invalid chartGroupsDef config '${Q}.${z}'`,150:()=>"'seriesChartTypes' are required when the 'customCombo' chart type is specified.",151:({chartType:Q})=>`invalid chartType '${Q}' supplied in 'seriesChartTypes', converting to 'line' instead.`,152:({colId:Q})=>`no 'seriesChartType' found for colId = '${Q}', defaulting to 'line'.`,153:({chartDataType:Q})=>`unexpected chartDataType value '${Q}' supplied, instead use 'category', 'series' or 'excluded'`,154:({colId:Q})=>`cross filtering requires a 'agSetColumnFilter' or 'agMultiColumnFilter' to be defined on the column with id: ${Q}`,155:({option:Q})=>`'${Q}' is not a valid Chart Toolbar Option`,156:({panel:Q})=>`Invalid panel in chartToolPanelsDef.panels: '${Q}'`,157:({unrecognisedGroupIds:Q})=>["unable to find group(s) for supplied groupIds:",Q],158:()=>"can not expand a column item that does not represent a column group header",159:()=>"Invalid params supplied to createExcelFileForExcel() - `ExcelExportParams.data` is empty.",160:()=>"Export cancelled. Export is not allowed as per your configuration.",161:()=>"The Excel Exporter is currently on Multi Sheet mode. End that operation by calling 'api.getMultipleSheetAsExcel()' or 'api.exportMultipleSheetsAsExcel()'",162:({id:Q,dataType:z})=>`Unrecognized data type for excel export [${Q}.dataType=${z}]`,163:({featureName:Q})=>`Excel table export does not work with ${Q}. The exported Excel file will not contain any Excel tables.
Please turn off ${Q} to enable Excel table exports.`,164:()=>"Unable to add data table to Excel sheet: A table already exists.",165:()=>"Unable to add data table to Excel sheet: Missing required parameters.",166:({unrecognisedGroupIds:Q})=>["unable to find groups for these supplied groupIds:",Q],167:({unrecognisedColIds:Q})=>["unable to find columns for these supplied colIds:",Q],168:()=>"detailCellRendererParams.template should be function or string",169:()=>'Reference to eDetailGrid was missing from the details template. Please add data-ref="eDetailGrid" to the template.',170:({providedStrategy:Q})=>`invalid cellRendererParams.refreshStrategy = ${Q} supplied, defaulting to refreshStrategy = 'rows'.`,171:()=>"could not find detail grid options for master detail, please set gridOptions.detailCellRendererParams.detailGridOptions",172:()=>"could not find getDetailRowData for master / detail, please set gridOptions.detailCellRendererParams.getDetailRowData",173:({group:Q})=>`invalid chartGroupsDef config '${Q}'`,174:({group:Q,chartType:z})=>`invalid chartGroupsDef config '${Q}.${z}'`,175:({menuTabName:Q,itemsToConsider:z})=>[`Trying to render an invalid menu item '${Q}'. Check that your 'menuTabs' contains one of `,z],176:({key:Q})=>`unknown menu item type ${Q}`,177:()=>"valid values for cellSelection.handle.direction are 'x', 'y' and 'xy'. Default to 'xy'.",178:({colId:Q})=>`column ${Q} is not visible`,179:()=>"totalValueGetter should be either a function or a string (expression)",180:()=>"agRichSelectCellEditor requires cellEditorParams.values to be set",181:()=>"agRichSelectCellEditor cannot have `multiSelect` and `allowTyping` set to `true`. AllowTyping has been turned off.",182:()=>'you cannot mix groupDisplayType = "multipleColumns" with treeData, only one column can be used to display groups when doing tree data',183:()=>"Group Column Filter only works on group columns. Please use a different filter.",184:({parentGroupData:Q,childNodeData:z})=>["duplicate group keys for row data, keys should be unique",[Q,z]],185:({data:Q})=>["getDataPath() should not return an empty path",[Q]],186:({rowId:Q,rowData:z,duplicateRowsData:J})=>["duplicate group keys for row data, keys should be unique",Q,z,...J??[]],187:({rowId:Q,firstData:z,secondData:J})=>[`Duplicate node id ${Q}. Row IDs are provided via the getRowId() callback. Please modify the getRowId() callback code to provide unique row id values.`,"first instance",z,"second instance",J],188:(Q)=>`getRowId callback must be provided for Server Side Row Model ${Q?.feature||"selection"} to work correctly.`,189:({startRow:Q})=>`invalid value ${Q} for startRow, the value should be >= 0`,190:({rowGroupId:Q,data:z})=>["null and undefined values are not allowed for server side row model keys",Q?`column = ${Q}`:"","data is ",z],194:({method:Q})=>`calling gridApi.${Q}() is only possible when using rowModelType=\`clientSide\`.`,195:({justCurrentPage:Q})=>`selecting just ${Q?"current page":"filtered"} only works when gridOptions.rowModelType='clientSide'`,196:({key:Q})=>`Provided ids must be of string type. Invalid id provided: ${Q}`,197:()=>"`toggledNodes` must be an array of string ids.",199:()=>"getSelectedNodes and getSelectedRows functions cannot be used with select all functionality with the server-side row model. Use `api.getServerSideSelectionState()` instead.",200:X8,201:({rowModelType:Q})=>`Could not find row model for rowModelType = ${Q}`,202:()=>"`getSelectedNodes` and `getSelectedRows` functions cannot be used with `groupSelectsChildren` and the server-side row model. Use `api.getServerSideSelectionState()` instead.",203:()=>"Server Side Row Model does not support Dynamic Row Height and Cache Purging. Either a) remove getRowHeight() callback or b) remove maxBlocksInCache property. Purging has been disabled.",204:()=>"Server Side Row Model does not support Auto Row Height and Cache Purging. Either a) remove colDef.autoHeight or b) remove maxBlocksInCache property. Purging has been disabled.",205:({duplicateIdText:Q})=>`Unable to display rows as duplicate row ids (${Q}) were returned by the getRowId callback. Please modify the getRowId callback to provide unique ids.`,206:()=>"getRowId callback must be implemented for transactions to work. Transaction was ignored.",207:()=>'The Set Filter Parameter "defaultToNothingSelected" value was ignored because it does not work when "excelMode" is used.',208:()=>"Set Filter Value Formatter must return string values. Please ensure the Set Filter Value Formatter returns string values for complex objects.",209:()=>`Set Filter Key Creator is returning null for provided values and provided values are primitives. Please provide complex objects. See ${H1}/filter-set-filter-list/#filter-value-types`,210:()=>"Set Filter has a Key Creator, but provided values are primitives. Did you mean to provide complex objects?",211:()=>"property treeList=true for Set Filter params, but you did not provide a treeListPathGetter or values of type Date.",212:()=>"please review all your toolPanel components, it seems like at least one of them doesn't have an id",213:()=>"Advanced Filter does not work with Filters Tool Panel. Filters Tool Panel has been disabled.",214:({key:Q})=>`unable to lookup Tool Panel as invalid key supplied: ${Q}`,215:({key:Q,defaultByKey:z})=>`the key ${Q} is not a valid key for specifying a tool panel, valid keys are: ${Object.keys(z??{}).join(",")}`,216:({name:Q})=>`Missing component for '${Q}'`,217:({invalidColIds:Q})=>["unable to find grid columns for the supplied colDef(s):",Q],218:({property:Q,defaultOffset:z})=>`${Q} must be a number, the value you provided is not a valid number. Using the default of ${z}px.`,219:({property:Q})=>`Property ${Q} does not exist on the target object.`,220:({lineDash:Q})=>`'${Q}' is not a valid 'lineDash' option.`,221:()=>"agAggregationComponent should only be used with the client and server side row model.",222:()=>"agFilteredRowCountComponent should only be used with the client side row model.",223:()=>"agSelectedRowCountComponent should only be used with the client and server side row model.",224:()=>"agTotalAndFilteredRowCountComponent should only be used with the client side row model.",225:()=>"agTotalRowCountComponent should only be used with the client side row model.",226:()=>"viewport is missing init method.",227:()=>"menu item icon must be DOM node or string",228:({menuItemOrString:Q})=>`unrecognised menu item ${Q}`,230:()=>"detailCellRendererParams.template is not supported by AG Grid React. To change the template, provide a Custom Detail Cell Renderer. See https://www.ag-grid.com/react-data-grid/master-detail-custom-detail/",231:()=>"As of v32, using custom components with `reactiveCustomComponents = false` is deprecated.",232:()=>"Using both rowData and v-model. rowData will be ignored.",233:({methodName:Q})=>`Framework component is missing the method ${Q}()`,234:()=>'Group Column Filter does not work with the colDef property "field". This property will be ignored.',235:()=>'Group Column Filter does not work with the colDef property "filterValueGetter". This property will be ignored.',236:()=>'Group Column Filter does not work with the colDef property "filterParams". This property will be ignored.',237:()=>"Group Column Filter does not work with Tree Data enabled. Please disable Tree Data, or use a different filter.",238:()=>"setRowCount can only accept a positive row count.",239:()=>'Theming API and CSS File Themes are both used in the same page. In v33 we released the Theming API as the new default method of styling the grid. See the migration docs https://www.ag-grid.com/react-data-grid/theming-migration/. Because no value was provided to the `theme` grid option it defaulted to themeQuartz. But the file (ag-grid.css) is also included and will cause styling issues. Either pass the string "legacy" to the theme grid option to use v32 style themes, or remove ag-grid.css from the page to use Theming API.',240:({theme:Q})=>`theme grid option must be a Theming API theme object or the string "legacy", received: ${Q}`,243:()=>"Failed to deserialize state - each provided state object must be an object.",244:()=>"Failed to deserialize state - `selectAllChildren` must be a boolean value or undefined.",245:()=>"Failed to deserialize state - `toggledNodes` must be an array.",246:()=>"Failed to deserialize state - Every `toggledNode` requires an associated string id.",247:()=>`Row selection state could not be parsed due to invalid data. Ensure all child state has toggledNodes or does not conform with the parent rule.
Please rebuild the selection state and reapply it.`,248:()=>"SetFloatingFilter expects SetFilter as its parent",249:()=>"Must supply a Value Formatter in Set Filter params when using a Key Creator",250:()=>"Must supply a Key Creator in Set Filter params when `treeList = true` on a group column, and Tree Data or Row Grouping is enabled.",251:({chartType:Q})=>`AG Grid: Unable to create chart as an invalid chartType = '${Q}' was supplied.`,252:()=>`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.`,253:({version:Q})=>["Illegal version string: ",Q],254:()=>"Cannot create chart: no chart themes available.",255:({point:Q})=>`Lone surrogate U+${Q?.toString(16).toUpperCase()} is not a scalar value`,256:()=>"Unable to initialise. See validation error, or load ValidationModule if missing.",257:()=>Y8("IntegratedChartsModule"),258:()=>Y8("SparklinesModule"),259:({part:Q})=>`the argument to theme.withPart must be a Theming API part object, received: ${Q}`,260:({propName:Q,compName:z,gridScoped:J,gridId:Z,rowModelType:$})=>X8({reasonOrId:`AG Grid '${Q}' component: ${z}`,moduleName:B1[z],gridId:Z,gridScoped:J,rowModelType:$}),261:()=>"As of v33, `column.isHovered()` is deprecated. Use `api.isColumnHovered(column)` instead.",262:()=>'As of v33, icon key "smallDown" is deprecated. Use "advancedFilterBuilderSelect" for Advanced Filter Builder dropdown, "selectOpen" for Select cell editor and dropdowns (e.g. Integrated Charts menu), "richSelectOpen" for Rich Select cell editor.',263:()=>'As of v33, icon key "smallLeft" is deprecated. Use "panelDelimiterRtl" for Row Group Panel / Pivot Panel, "subMenuOpenRtl" for sub-menus.',264:()=>'As of v33, icon key "smallRight" is deprecated. Use "panelDelimiter" for Row Group Panel / Pivot Panel, "subMenuOpen" for sub-menus.',265:({colId:Q})=>`Unable to infer chart data type for column '${Q}' if first data entry is null. Please specify "chartDataType", or a "cellDataType" in the column definition. For more information, see ${H1}/integrated-charts-range-chart#coldefchartdatatype .`,266:()=>'As of v33.1, using "keyCreator" with the Rich Select Editor has been deprecated. It now requires the "formatValue" callback to convert complex data to strings.',267:()=>"Detail grids can not use a different theme to the master grid, the `theme` detail grid option will be ignored.",268:()=>"Transactions aren't supported with tree data when using treeDataChildrenField",269:()=>"When `masterSelects: 'detail'`, detail grids must be configured with multi-row selection",270:({id:Q,parentId:z})=>`Cycle detected for row with id='${Q}' and parent id='${z}'. Resetting the parent for row with id='${Q}' and showing it as a root-level node.`,271:({id:Q,parentId:z})=>`Parent row not found for row with id='${Q}' and parent id='${z}'. Showing row with id='${Q}' as a root-level node.`,272:()=>l$(),273:({providedId:Q,usedId:z})=>`Provided column id '${Q}' was already in use, ensure all column and group ids are unique. Using '${z}' instead.`,274:({prop:Q})=>{let z=`Since v33, ${Q} has been deprecated.`;switch(Q){case"maxComponentCreationTimeMs":z+=" This property is no longer required and so will be removed in a future version.";break;case"setGridApi":z+=" This method is not called by AG Grid. To access the GridApi see: https://ag-grid.com/react-data-grid/grid-interface/#grid-api ";break;case"children":z+=" For multiple versions AgGridReact does not support children.";break}return z},275:a$,276:()=>"Row Numbers Row Resizer cannot be used when Grid Columns have `autoHeight` enabled.",277:({colId:Q})=>`'enableFilterHandlers' is set to true, but column '${Q}' does not have 'filter.doesFilterPass' or 'filter.handler' set.`,278:({colId:Q})=>`Unable to create filter handler for column '${Q}'`,279:(Q)=>{},280:({colId:Q})=>`'name' must be provided for custom filter components for column '${Q}`,281:({colId:Q})=>`Filter for column '${Q}' does not have 'filterParams.buttons', but the new Filters Tool Panel has buttons configured. Either configure buttons for the filter, or disable buttons on the Filters Tool Panel.`,282:()=>"New filter tool panel requires `enableFilterHandlers: true`.",283:()=>"As of v34, use the same method on the filter handler (`api.getColumnFilterHandler(colKey)`) instead.",284:()=>"As of v34, filters are active when they have a model. Use `api.getColumnFilterModel()` instead.",285:()=>"As of v34, use (`api.getColumnFilterModel()`) instead.",286:()=>"As of v34, use (`api.setColumnFilterModel()`) instead.",287:()=>"`api.doFilterAction()` requires `enableFilterHandlers = true",288:()=>"`api.getColumnFilterModel(key, true)` requires `enableFilterHandlers = true",289:({rowModelType:Q})=>`Row Model '${Q}' is not supported with Batch Editing`,290:({rowIndex:Q,rowPinned:z})=>`Row with index '${Q}' and pinned state '${z}' not found`,291:()=>"License Key being set multiple times with different values. This can result in an incorrect license key being used,",292:({colId:Q})=>`The Multi Filter for column '${Q}' has buttons configured against the child filters. When 'enableFilterHandlers=true', buttons must instead be provided against the parent Multi Filter params. The child filter buttons will be ignored.`,293:()=>"The grid was initialised detached from the DOM and was then inserted into a Shadow Root. Theme styles are probably broken. Pass the themeStyleContainer grid option to let the grid know where in the document to insert theme CSS.",294:()=>"When using the `agRichSelectCellEditor` setting `filterListAsync = true` requires `allowTyping = true` and the `values()` callback must return a Promise of filtered values.",295:({blockedService:Q})=>`colDef.allowFormula is not supported with ${Q}. Formulas has been turned off.`,296:()=>"Since v35, `api.hideOverlay()` does not hide the overlay when `activeOverlay` is set. Set `activeOverlay=null` instead.",297:()=>'`api.hideOverlay()` does not hide the no matching rows overlay as it is only controlled by grid state. Set `suppressOverlays=["noMatchingRows"] to not show it.',298:()=>"Columns Tool Panel 'buttons' requires 'apply' to enable Deferred Updates."};function GK(Q,z){let J=YK[Q];if(!J)return[`Missing error text for error id ${Q}!`];let Z=J(z),X=`
See ${z9(Q,z)}`;return Array.isArray(Z)?Z.concat(X):[Z,X]}var qK={1:"Charting Aggregation",2:"pivotResultFields",3:"setTooltip"},HK=class{constructor(Q="javascript"){this.frameworkName=Q,this.renderingEngine="vanilla",this.batchFrameworkComps=!1,this.wrapIncoming=(z)=>z(),this.wrapOutgoing=(z)=>z(),this.baseDocLink=`${d8}/${this.frameworkName}-data-grid`,TG(this.baseDocLink)}frameworkComponent(Q){return null}isFrameworkComponent(Q){return!1}getDocLink(Q){return this.baseDocLink+(Q?"/"+Q:"")}},G8=new WeakMap,q8=new WeakMap;function MJ(Q,z,J){if(!z)return e(11),{};let Z=J,$;if(!Z?.setThemeOnGridDiv){let Y=Z0({tag:"div"});Y.style.height="100%",Q.appendChild(Y),Q=Y,$=()=>Q.remove()}return new UK().create(Q,z,(Y)=>{let G=new j_(Q);Y.createBean(G)},void 0,J,$)}var _K=1,UK=class{create(Q,z,J,Z,$,X){let Y=y5.applyGlobalGridOptions(z),G=Y.gridId??String(_K++),q=this.getRegisteredModules($,G,Y.rowModelType),H=this.createBeansList(Y.rowModelType,q,G),_=this.createProvidedBeans(Q,Y,$);if(!H)return;let B=new JH({providedBeanInstances:_,beanClasses:H,id:G,beanInitComparator:XH,beanDestroyComparator:YH,derivedBeans:[ZH],destroyCallback:()=>{q8.delete(E),G8.delete(Q),jG(G),X?.()}});this.registerModuleFeatures(B,q),J(B),B.getBean("syncSvc").start(),Z?.(B);let E=B.getBean("gridApi");return G8.set(Q,E),q8.set(E,Q),E}getRegisteredModules(Q,z,J){return t1(oE,void 0,!0),Q?.modules?.forEach((Z)=>t1(Z,z)),RG(z,H8(J))}registerModuleFeatures(Q,z){let J=Q.getBean("registry"),Z=Q.getBean("apiFunctionSvc");for(let $ of z){J.registerModule($);let X=$.apiFunctions;if(X){let Y=Object.keys(X);for(let G of Y)Z?.addFunction(G,X[G])}}}createProvidedBeans(Q,z,J){let Z=J?J.frameworkOverrides:null;if(n(Z))Z=new HK;let $={gridOptions:z,eGridDiv:Q,eRootDiv:Q,globalListener:J?J.globalListener:null,globalSyncListener:J?J.globalSyncListener:null,frameworkOverrides:Z,withinStudio:J?.withinStudio};if(J?.providedBeanInstances)Object.assign($,J.providedBeanInstances);return $}createBeansList(Q,z,J){let Z={clientSide:"ClientSideRowModel",infinite:"InfiniteRowModel",serverSide:"ServerSideRowModel",viewport:"ViewportRowModel"},$=H8(Q),X=Z[$];if(!X){y1(201,{rowModelType:$},`Unknown rowModelType ${$}.`);return}if(!OG()){y1(272,void 0,l$());return}if(!Q){let G=Object.entries(Z).filter(([q,H])=>Q5(H,J,q));if(G.length==1){let[q,H]=G[0];if(q!==$){let _={moduleName:H,rowModelType:q};y1(275,_,a$(_));return}}}if(!Q5(X,J,$)){let G=w5(),q=`rowModelType = '${$}'`,H=G?`Unable to use ${q} as that requires the ag-grid-enterprise script to be included.
`:`Missing module ${X}Module for rowModelType ${$}.`;y1(200,{reasonOrId:q,moduleName:X,gridScoped:x5(),gridId:J,rowModelType:$,isUmd:G},H);return}let Y=new Set;for(let G of z)for(let q of G.beans??[])Y.add(q);return Array.from(Y)}};function H8(Q){return Q??"clientSide"}function WK(Q,z,J="auto"){Q.frameworkOverrides.wrapIncoming(()=>Q.ctrlsSvc.getScrollFeature().ensureColumnVisible(z,J),"ensureVisible")}function BK(Q,z,J){Q.frameworkOverrides.wrapIncoming(()=>Q.ctrlsSvc.getScrollFeature().ensureIndexVisible(z,J),"ensureVisible")}var o$=(Q,z)=>{for(let J=0,Z=Q.length;J<Z;++J){let $=Q[J],X=$.childrenAfterGroup;if(X!==null)o$(X,z),z($)}},A0=(Q,z,J,Z)=>{if(J!=null){let X=J.getSortedRows();for(let Y=0,G=X.length;Y<G;++Y){let q=X[Y];if(q.childrenAfterGroup!==null&&!q.destroyed)Z(q)}return}if(Q==null)return;let $=Q.childrenAfterGroup;if($===null)return;if(z)o$($,Z);Z(Q)},EK=class extends j{constructor(Q){super();this.rootNode=Q,this.nextId=0,this.allNodesMap={},_8(Q)}getRowNode(Q){return this.allNodesMap[Q]}setNewRowData(Q){this.dispatchRowDataUpdateStarted(Q),this.destroyAllNodes();let z=_8(this.rootNode),J=Array(Q.length);z._leafs=J;let Z=0,$=this.beans.groupStage?.getNestedDataGetter(),X=$?new Set:null,Y=(G,q)=>{let H=G.level+1;for(let _=0,U=q.length;_<U;++_){let W=q[_];if(!W)continue;let B=this.createRowNode(W,H,Z);if(J[Z++]=B,X&&!X.has(W)){X.add(W),B.treeParent=G;let E=$(W);if(E)Y(B,E)}}};Y(z,Q),J.length=Z}destroyAllNodes(){let{selectionSvc:Q,pinnedRowModel:z,groupStage:J}=this.beans;if(Q?.reset("rowDataChanged"),z?.isManual())z.reset();J?.clearNonLeafs();let Z=this.rootNode._leafs;if(Z)for(let $=0,X=Z.length;$<X;++$)Z[$]._destroy(!1);this.allNodesMap=Object.create(null),this.nextId=0}setImmutableRowData(Q,z){let{rootNode:J,gos:Z}=this;this.dispatchRowDataUpdateStarted(z);let $=Z5(Z),X=Q.changedRowNodes,{adds:Y,updates:G}=X,q=new Set,H=[],_=this.beans.groupStage?.getNestedDataGetter(),U=Z.get("suppressMaintainUnsortedOrder")?void 0:!1,W=-1,B=!1,E=(F,D)=>{if(!U&&U!==void 0){let M=F.sourceRowIndex;U=M<=W,W=M}if(F.data!==D){if(F.updateData(D),!Y.has(F))G.add(F);if(!F.selectable&&F.isSelected())H.push(F)}},K=(F,D,M)=>{for(let k=0,f=D.length;k<f;++k){let A=D[k];if(!A)continue;let O=this.getRowNode($({data:A,level:M}));if(O)E(O,A),B||(B=!!_&&O.treeParent!==F);else O=this.createRowNode(A,M),Y.add(O);if(!_||q.has(O)){q.add(O);continue}q.add(O),O.treeParent=F;let v=_(A);if(v)K(O,v,M+1)}};K(J,z,0);let L=this.deleteUnusedNodes(q,X,H,!!Q.animate)||U||Y.size>0;if(L){let F=J._leafs??(J._leafs=[]);if(U===void 0)MK(F,q,X);else if(DK(F,q))X.reordered=!0}if(L||B||G.size)Q.rowDataUpdated=!0,this.deselect(H)}deleteUnusedNodes(Q,{removals:z},J,Z){let $=this.rootNode._leafs;for(let X=0,Y=$.length;X<Y;X++){let G=$[X];if(!Q.has(G)){if(this.destroyNode(G,Z)){if(z.push(G),G.isSelected())J.push(G)}}}return z.length>0}updateRowData(Q,z,J){if(this.dispatchRowDataUpdateStarted(Q.add),this.beans.groupStage?.getNestedDataGetter())return R(268),{remove:[],update:[],add:[]};let Z=[],$=Z5(this.gos),X=this.executeRemove($,Q,z,Z,J),Y=this.executeUpdate($,Q,z,Z),G=this.executeAdd(Q,z);return this.deselect(Z),{remove:X,update:Y,add:G}}executeRemove(Q,{remove:z},{adds:J,updates:Z,removals:$},X,Y){let G=this.rootNode._leafs,q=G?.length,H=z?.length;if(!H||!q)return[];let _=0,U=q,W=0,B=Array(H);for(let E=0;E<H;++E){let K=this.lookupNode(Q,z[E]);if(!K)continue;let L=K.sourceRowIndex;if(L<U)U=L;if(L>W)W=L;if(B[_++]=K,!this.destroyNode(K,Y))continue;if(K.isSelected())X.push(K);if(!J.delete(K))Z.delete(K),$.push(K)}if(B.length=_,_)FK(G,U,W);return B}executeUpdate(Q,{update:z},{adds:J,updates:Z},$){let X=z?.length;if(!X)return[];let Y=Array(X),G=0;for(let q=0;q<X;q++){let H=z[q],_=this.lookupNode(Q,H);if(_){if(_.updateData(H),!_.selectable&&_.isSelected())$.push(_);if(Y[G++]=_,!J.has(_))Z.add(_)}}return Y.length=G,Y}executeAdd(Q,z){var J;let Z=(J=this.rootNode)._leafs??(J._leafs=[]),$=Z.length,X=Q.add,Y=X?.length;if(!Y)return[];let G=$+Y,q=this.sanitizeAddIndex(Z,Q.addIndex);if(q<$){for(let U=$-1,W=G-1;U>=q;--U){let B=Z[U];B.sourceRowIndex=W,Z[W--]=B}z.reordered=!0}Z.length=G;let H=Array(Y),_=z.adds;for(let U=0;U<Y;U++){let W=this.createRowNode(X[U],0,q);_.add(W),Z[q]=W,H[U]=W,q++}return H}dispatchRowDataUpdateStarted(Q){this.eventSvc.dispatchEvent({type:"rowDataUpdateStarted",firstRowData:Q?.length?Q[0]:null})}deselect(Q){let J=this.beans.selectionSvc;if(Q.length)J?.setNodesSelected({newValue:!1,nodes:Q,suppressFinishActions:!0,source:"rowDataChanged"});if(J?.updateGroupsFromChildrenSelections?.("rowDataChanged"),Q.length)this.eventSvc.dispatchEvent({type:"selectionChanged",source:"rowDataChanged",selectedNodes:J?.getSelectedNodes()??null,serverSideState:null})}createRowNode(Q,z,J){let Z=new Wz(this.beans);if(Z.parent=this.rootNode,Z.level=z,Z.group=!1,J!=null)Z.sourceRowIndex=J;Z.setDataAndId(Q,String(this.nextId++));let $=Z.id,X=this.allNodesMap;if(X[$])R(2,{nodeId:$});return X[$]=Z,Z}destroyNode(Q,z){if(!Q._destroy(z))return!1;let J=Q.id,Z=this.allNodesMap;if(Z[J]===Q)delete Z[J];return!0}lookupNode(Q,z){if(!Q)return LK(this.rootNode._leafs,z);let J=Q({data:z,level:0}),Z=this.allNodesMap[J];if(!Z)return e(4,{id:J}),null;return Z}sanitizeAddIndex(Q,z){let J=Q.length;if(typeof z!=="number")return J;if(z<0||z>=J||Number.isNaN(z))return J;z=Math.ceil(z);let Z=this.gos;if(z>0&&Z.get("treeData")&&Z.get("getDataPath"))z=KK(Q,z);return z}},KK=(Q,z)=>{for(let J=0,Z=Q.length;J<Z;J++)if(Q[J]?.rowIndex==z-1)return J+1;return z},_8=(Q)=>{if(Q.group=!0,Q.level=-1,Q._expanded=!0,Q.id="ROOT_NODE_ID",Q._leafs?.length!==0)Q._leafs=[];let z=[],J=[],Z=[],$=[];Q.childrenAfterGroup=z,Q.childrenAfterSort=J,Q.childrenAfterAggFilter=Z,Q.childrenAfterFilter=$;let X=Q.sibling;if(X)X.childrenAfterGroup=z,X.childrenAfterSort=J,X.childrenAfterAggFilter=Z,X.childrenAfterFilter=$,X.childrenMapped=Q.childrenMapped;return Q.updateHasChildren(),Q},LK=(Q,z)=>{if(Q)for(let J=0,Z=Q.length;J<Z;J++){let $=Q[J];if($.data===z)return $}return e(5,{data:z}),null},FK=(Q,z,J)=>{z=Math.max(0,z);for(let Z=z,$=Q.length;Z<$;++Z){let X=Q[Z];if(Z<=J&&X.destroyed)continue;X.sourceRowIndex=z,Q[z++]=X}Q.length=z},DK=(Q,z)=>{let J=z.size;Q.length=J;let Z=0,$=!1,X=!1;for(let Y of z){let G=Y.sourceRowIndex;if(G===Z)X||(X=$);else{if(G>=0)X=!0;else $=!0;Y.sourceRowIndex=Z,Q[Z]=Y}++Z}return X},MK=(Q,z,{adds:J})=>{let Z=Q.length,$=z.size;if($>Z)Q.length=$;let X=0;for(let Y=0;Y<Z;++Y){let G=Q[Y];if(!G.destroyed){if(X!==Y)G.sourceRowIndex=X,Q[X]=G;++X}}for(let Y of J)if(Y.sourceRowIndex<0)Y.sourceRowIndex=X,Q[X++]=Y;Q.length=X};function M5(Q){let z=Q.sibling;if(z)z.childrenAfterFilter=Q.childrenAfterFilter}var kK=class extends j{constructor(){super(...arguments);this.beanName="filterStage",this.step="filter",this.refreshProps=["excludeChildrenWhenTreeDataFiltering"]}wireBeans(Q){this.filterManager=Q.filterManager}execute(Q){let z=!!this.filterManager?.isChildFilterPresent();if(this.beans.formula?.active)this.softFilter(z,Q);else this.filterNodes(z,Q)}filterNodes(Q,z){let J=(Z,$)=>{if(Z.hasChildren())if(Q&&!$)Z.childrenAfterFilter=Z.childrenAfterGroup.filter((X)=>{let Y=X.childrenAfterFilter&&X.childrenAfterFilter.length>0,G=X.data&&this.filterManager.doesRowPassFilter({rowNode:X});return Y||G});else Z.childrenAfterFilter=Z.childrenAfterGroup;else Z.childrenAfterFilter=Z.childrenAfterGroup;M5(Z)};if(this.doingTreeDataFiltering()){let Z=($,X)=>{if($.childrenAfterGroup)for(let Y=0;Y<$.childrenAfterGroup.length;Y++){let G=$.childrenAfterGroup[Y],q=X||this.filterManager.doesRowPassFilter({rowNode:G});if(G.childrenAfterGroup)Z($.childrenAfterGroup[Y],q);else J(G,q)}J($,X)};Z(this.beans.rowModel.rootNode,!1)}else{let Z=($)=>J($,!1);A0(this.beans.rowModel.rootNode,this.beans.rowModel.hierarchical,z,Z)}}softFilter(Q,z){let J=($)=>{if($.childrenAfterFilter=$.childrenAfterGroup,$.hasChildren())for(let X of $.childrenAfterGroup)X.softFiltered=Q&&!(X.data&&this.filterManager.doesRowPassFilter({rowNode:X}));M5($)},Z=this.beans.rowModel;A0(Z.rootNode,Z.hierarchical,z,J)}doingTreeDataFiltering(){let{gos:Q}=this;return!!this.beans.groupStage?.treeData&&!Q.get("excludeChildrenWhenTreeDataFiltering")}},VK=4,fK=(Q,z,J,Z,$)=>{let{childrenAfterSort:X,childrenAfterAggFilter:Y}=z;if(!Y)return X&&X.length>0?X:[];let G=Y.length;if(G<=1){if(X?.length===G&&(G===0||X[0]===Y[0]))return X;return Y.slice()}if(!X||G<=VK)return Q.doFullSortInPlace(Y.slice(),$);let q=new Map,{updates:H,adds:_}=J,U=[];for(let B=0;B<G;++B){let E=Y[B];if(H.has(E)||_.has(E)||Z?.hasRow(E))q.set(E,~B),U.push(E);else q.set(E,B)}let W=U.length;if(W===0)return G===X.length?X:jK(X,q,U);if(U.sort((B,E)=>Q.compareRowNodes($,B,E)||~q.get(B)-~q.get(E)),W===G)return U;return AK(Q,$,U,X,q,G)},AK=(Q,z,J,Z,$,X)=>{let Y=Array(X),G=0,q=J[G],H,_=-1,U=0,W=0,B=J.length,E=Z.length;while(!0){if(_<0){if(U>=E)break;if(H=Z[U++],_=$.get(H)??-1,_<0)continue}if((Q.compareRowNodes(z,q,H)||~$.get(q)-_)<0){if(Y[W++]=q,++G>=B)break;q=J[G]}else Y[W++]=H,_=-1}while(G<B)Y[W++]=J[G++];if(_<0)return Y;Y[W++]=H;while(U<E){let K=Z[U++];if($.get(K)>=0)Y[W++]=K}return Y},jK=(Q,z,J)=>{let Z=0;J.length=z.size;for(let $=0,X=Q.length;$<X;++$){let Y=Q[$];if(z.has(Y))J[Z++]=Y}return J.length=Z,J},e$=(Q)=>{let{childrenAfterSort:z,sibling:J}=Q;if(J)J.childrenAfterSort=z;if(!z)return;for(let Z=0,$=z.length-1;Z<=$;Z++){let X=z[Z],Y=Z===0,G=Z===$;if(X.firstChild!==Y)X.firstChild=Y,X.dispatchRowEvent("firstChildChanged");if(X.lastChild!==G)X.lastChild=G,X.dispatchRowEvent("lastChildChanged");if(X.childIndex!==Z)X.childIndex=Z,X.dispatchRowEvent("childIndexChanged")}},RK=class extends j{constructor(){super(...arguments);this.beanName="sortStage",this.step="sort",this.refreshProps=["postSortRows","groupDisplayType","accentedSort"]}execute(Q,z){let J=this.beans.sortSvc.getSortOptions(),Z=J.length>0&&!!z&&this.gos.get("deltaSort"),{gos:$,colModel:X,rowGroupColsSvc:Y,rowNodeSorter:G,rowRenderer:q,showRowGroupCols:H}=this.beans,_=$.get("groupMaintainOrder"),U=X.getCols().some((D)=>D.isRowGroupActive()),W=Y?.columns,B=X.isPivotMode(),E=$.getCallback("postSortRows"),K=!1,L,F=(D)=>{let M=B&&D.leafGroup,k=_&&U&&!D.leafGroup;if(k)L??(L=this.shouldSortContainsGroupCols(J)),k&&(k=!L);let f=null;if(k){let A=!1;if(W){let O=D.level+1;if(O<W.length)A=W[O].wasSortExplicitlyRemoved}if(!A)f=SK(D)}else if(!J.length||M);else if(Z&&z)f=fK(G,D,z,Q,J);else f=G.doFullSortInPlace(D.childrenAfterAggFilter.slice(),J);if(f||(f=D.childrenAfterAggFilter?.slice()??[]),K||(K=D.childrenAfterSort?.[0]!==f[0]),D.childrenAfterSort=f,e$(D),E){let A={nodes:D.childrenAfterSort};E(A)}};if(A0(this.beans.rowModel.rootNode,this.beans.rowModel.hierarchical,Q,F),K&&$.get("groupHideOpenParents")){let D=H?.columns;if(D?.length)q.refreshCells({columns:D,force:!0})}}shouldSortContainsGroupCols(Q){let z=Q.length;if(!z)return!1;if(WQ(this.gos)){for(let J=0;J<z;++J){let Z=Q[J].column;if(Z.isPrimary()&&Z.isRowGroupActive())return!0}return!1}for(let J=0;J<z;++J)if(Q[J].column.getColDef().showRowGroup)return!0;return!1}},SK=(Q)=>{let{childrenAfterSort:z,childrenAfterAggFilter:J}=Q,Z=z?.length,$=J?.length;if(!Z||!$)return null;let X=Array($),Y=new Set;for(let q=0;q<$;++q)Y.add(J[q]);let G=0;for(let q=0;q<Z;++q){let H=z[q];if(Y.delete(H))X[G++]=H}if(Y.size===0&&G===Z)return z;for(let q of Y)X[G++]=q;return X.length=G,X},OK=class extends j{constructor(){super(...arguments);this.beanName="rowModel",this.rootNode=null,this.rowCountReady=!1,this.hierarchical=!1,this.nodeManager=void 0,this.rowsToDisplay=[],this.formulaRows=[],this.stages=null,this.asyncTransactions=null,this.asyncTransactionsTimer=0,this.started=!1,this.refreshingData=!1,this.rowDataUpdatedPending=!1,this.refreshingModel=!1,this.pendingNewData=!1,this.noKeepRenderedRows=!1,this.noKeepUndoRedoStack=!1,this.noAnimate=!1,this.rowNodesCountReady=!1,this.stagesRefreshProps=new Map,this.onRowHeightChanged_debounced=gQ(this,this.onRowHeightChanged.bind(this),100)}postConstruct(){let Q=this.beans,z=new Wz(Q);this.rootNode=z,this.nodeManager=this.createBean(new EK(z));let J=()=>{this.beans.groupStage?.invalidateGroupCols(),this.refreshModel({step:"group",afterColumnsChanged:!0,keepRenderedRows:!0,animate:!this.gos.get("suppressAnimationFrame")})};this.addManagedEventListeners({newColumnsLoaded:J,columnRowGroupChanged:J,columnValueChanged:this.onValueChanged.bind(this),columnPivotChanged:()=>this.refreshModel({step:"pivot"}),columnPivotModeChanged:()=>this.refreshModel({step:"group"}),filterChanged:this.onFilterChanged.bind(this),sortChanged:this.onSortChanged.bind(this),stylesChanged:this.onGridStylesChanges.bind(this),gridReady:this.onGridReady.bind(this),rowExpansionStateChanged:this.onRowGroupOpened.bind(this)}),this.addPropertyListeners()}addPropertyListeners(){let{beans:Q,stagesRefreshProps:z}=this,J=[Q.groupStage,Q.filterStage,Q.pivotStage,Q.aggStage,Q.sortStage,Q.filterAggStage,Q.flattenStage].filter((Z)=>!!Z);this.stages=J;for(let Z=J.length-1;Z>=0;--Z){let $=J[Z];for(let X of $.refreshProps)z.set(X,Z)}this.addManagedPropertyListeners([...z.keys(),"rowData"],(Z)=>{let $=Z.changeSet?.properties;if($)this.onPropChange($)}),this.addManagedPropertyListener("rowHeight",()=>this.resetRowHeights())}start(){if(this.started=!0,this.rowNodesCountReady)this.refreshModel({step:"group",rowDataUpdated:!0,newData:!0});else this.setInitialData()}setInitialData(){if(this.gos.get("rowData"))this.onPropChange(["rowData"])}ensureRowHeightsValid(Q,z,J,Z){let $,X=!1;do{$=!1;let Y=this.getRowIndexAtPixel(Q),G=this.getRowIndexAtPixel(z),q=Math.max(Y,J),H=Math.min(G,Z);for(let _=q;_<=H;_++){let U=this.getRow(_);if(U.rowHeightEstimated){let W=r1(this.beans,U);U.setRowHeight(W.height),$=!0,X=!0}}if($)this.setRowTopAndRowIndex()}while($);return X}onPropChange(Q){let{nodeManager:z,gos:J,beans:Z}=this,$=Z.groupStage;if(!z)return;let X=new Set(Q),Y=$?.onPropChange(X),G;if(X.has("rowData"))G=J.get("rowData");else if(Y)G=$?.extractData();if(G&&!Array.isArray(G))G=null,R(1);let q={step:"nothing",changedProps:X};if(G){let _=!Y&&!this.isEmpty()&&G.length>0&&J.exists("getRowId")&&!J.get("resetRowDataOnUpdate");if(this.refreshingData=!0,_)q.keepRenderedRows=!0,q.animate=!J.get("suppressAnimationFrame"),q.changedRowNodes=new W1,z.setImmutableRowData(q,G);else q.rowDataUpdated=!0,q.newData=!0,z.setNewRowData(G),this.rowNodesCountReady=!0}let H=q.rowDataUpdated?"group":this.getRefreshedStage(Q);if(H)q.step=H,this.refreshModel(q)}getRefreshedStage(Q){let{stages:z,stagesRefreshProps:J}=this;if(!z)return null;let Z=z.length,$=Z;for(let X=0,Y=Q.length;X<Y&&$;++X)$=Math.min($,J.get(Q[X])??$);return $<Z?z[$].step:null}setRowTopAndRowIndex(Q){let{beans:z,rowsToDisplay:J}=this,Z=z.environment.getDefaultRowHeight(),$=0,X=V0(this.gos,"normal");for(let Y=0,G=J.length;Y<G;++Y){let q=J[Y],H=q.id;if(H!=null)Q?.add(H);if(q.rowHeight==null){let _=r1(z,q,X,Z);q.setRowHeight(_.height,_.estimated)}q.setRowTop($),q.setRowIndex(Y),$+=q.rowHeight}if(this.beans.formula?.active){let Y=this.formulaRows;for(let G=0,q=Y.length;G<q;++G){let H=Y[G];H.formulaRowIndex=G}}}clearRowTopAndRowIndex(Q,z){let J=(X)=>{if(X?.id!=null&&!z.has(X.id))X.clearRowTopAndRowIndex()},Z=(X)=>{J(X),J(X.detailNode),J(X.sibling);let Y=X.childrenAfterGroup;if(!X.hasChildren()||!Y)return;if(Q&&X.level!==-1&&!X.expanded)return;for(let G=0,q=Y.length;G<q;++G)Z(Y[G])},$=this.rootNode;if($)Z($)}isLastRowIndexKnown(){return!0}getRowCount(){return this.rowsToDisplay.length}getTopLevelRowCount(){let{rootNode:Q,rowsToDisplay:z}=this;if(!Q||!z.length)return 0;if(z[0]===Q)return 1;let Z=Q.sibling?.displayed?1:0;return(Q.childrenAfterSort?.length??0)+Z}getTopLevelRowDisplayedIndex(Q){let{beans:z,rootNode:J,rowsToDisplay:Z}=this;if(!J||!Z.length||Z[0]===J)return Q;let X=J.childrenAfterSort,Y=(q)=>{let H=X[q];if(this.gos.get("groupHideOpenParents"))while(H.expanded&&H.childrenAfterSort&&H.childrenAfterSort.length>0)H=H.childrenAfterSort[0];return H.rowIndex},G=z.footerSvc;if(G)return G?.getTopDisplayIndex(Z,Q,X,Y);return Y(Q)}getTopLevelIndexFromDisplayedIndex(Q){let{rootNode:z,rowsToDisplay:J}=this;if(!z||!J.length||J[0]===z)return Q;let $=this.getRow(Q);if($.footer)$=$.sibling;let X=$.parent;while(X&&X!==z)$=X,X=$.parent;let Y=z.childrenAfterSort?.indexOf($)??-1;return Y>=0?Y:Q}getRowBounds(Q){let z=this.rowsToDisplay[Q];return z?{rowTop:z.rowTop,rowHeight:z.rowHeight}:null}onRowGroupOpened(){this.refreshModel({step:"map",keepRenderedRows:!0,animate:_1(this.gos)})}onFilterChanged({afterDataChange:Q,columns:z}){if(!Q){let Z=z.length===0||z.some(($)=>$.isPrimary())?"filter":"filter_aggregates";this.refreshModel({step:Z,keepRenderedRows:!0,animate:_1(this.gos)})}}onSortChanged(){this.refreshModel({step:"sort",keepRenderedRows:!0,animate:_1(this.gos)})}getType(){return"clientSide"}onValueChanged(){this.refreshModel({step:this.beans.colModel.isPivotActive()?"pivot":"aggregate"})}isSuppressModelUpdateAfterUpdateTransaction(Q){if(!this.gos.get("suppressModelUpdateAfterUpdateTransaction"))return!1;let{changedRowNodes:z,newData:J,rowDataUpdated:Z}=Q;if(!z||J||!Z)return!1;if(z.removals.length||z.adds.size)return!1;return!0}reMapRows(){if(this.refreshingModel||this.refreshingData){this.noKeepRenderedRows=!0,this.noKeepUndoRedoStack=!0,this.noAnimate=!0;return}this.refreshModel({step:"map",keepRenderedRows:!1,keepUndoRedoStack:!1,animate:!1})}refreshModel(Q){let{nodeManager:z,eventSvc:J,started:Z}=this;if(!z)return;let $=!!Q.rowDataUpdated;if(Z&&$)J.dispatchEvent({type:"rowDataUpdated"});if(this.deferRefresh(Q)){this.setPendingRefreshFlags(Q),this.rowDataUpdatedPending||(this.rowDataUpdatedPending=$);return}if(this.rowDataUpdatedPending)this.rowDataUpdatedPending=!1,Q.step="group";this.updateRefreshParams(Q);let X=!1;this.refreshingModel=!0;try{this.executeRefresh(Q,$),X=!0}finally{if(this.refreshingData=!1,this.refreshingModel=!1,!X)this.setPendingRefreshFlags(Q)}this.clearPendingRefreshFlags(),J.dispatchEvent({type:"modelUpdated",animate:Q.animate,keepRenderedRows:Q.keepRenderedRows,newData:Q.newData,newPage:!1,keepUndoRedoStack:Q.keepUndoRedoStack})}executeRefresh(Q,z){let{beans:J,rootNode:Z}=this;if(J.masterDetailSvc?.refreshModel(Q),z&&Q.step!=="group")J.colFilter?.refreshModel();let $=Q.changedPath;if($?.addRow(Z),Q.step==="group")this.doGrouping(Z,Q),$??($=Q.changedPath);switch($??($=J.changedPathFactory?.ensureRowsPath(Q,Z)),Q.step){case"group":case"filter":this.doFilter($);case"pivot":if(this.doPivot($))$=void 0,Q.changedPath=void 0;case"aggregate":this.doAggregate($);case"filter_aggregates":this.doFilterAggregates($);case"sort":this.doSort($,Q.changedRowNodes);case"map":this.doRowsToDisplay()}let X=new Set;this.setRowTopAndRowIndex(X),this.clearRowTopAndRowIndex($,X),this.updateRefreshParams(Q)}deferRefresh(Q){if(this.refreshingModel)return!0;if(this.beans.colModel.changeEventsDispatching)return!0;if(this.isSuppressModelUpdateAfterUpdateTransaction(Q)){if(this.started)this.refreshingData=!1;return!0}if(!this.started)return!0;return!1}setPendingRefreshFlags(Q){this.pendingNewData||(this.pendingNewData=!!Q.newData),this.noKeepRenderedRows||(this.noKeepRenderedRows=!Q.keepRenderedRows),this.noKeepUndoRedoStack||(this.noKeepUndoRedoStack=!Q.keepUndoRedoStack),this.noAnimate||(this.noAnimate=!Q.animate)}clearPendingRefreshFlags(){this.pendingNewData=!1,this.noKeepRenderedRows=!1,this.noKeepUndoRedoStack=!1,this.noAnimate=!1}updateRefreshParams(Q){Q.newData=this.pendingNewData||!!Q.newData,Q.keepRenderedRows=!this.noKeepRenderedRows&&!!Q.keepRenderedRows,Q.keepUndoRedoStack=!this.noKeepUndoRedoStack&&!!Q.keepUndoRedoStack,Q.animate=!this.noAnimate&&!!Q.animate}isEmpty(){return!this.rootNode?._leafs?.length||!this.beans.colModel?.ready}isRowsToRender(){return this.rowsToDisplay.length>0}getOverlayType(){let{beans:Q,gos:z}=this;if(this.rootNode?._leafs?.length){if(Q.filterManager?.isAnyFilterPresent()&&this.getRowCount()===0)return"noMatchingRows"}else if(this.rowCountReady||(z.get("rowData")?.length??0)==0)return"noRows";return null}getNodesInRangeForSelection(Q,z){let J=!1,Z=!1,$=[],X=l1(this.gos);return this.forEachNodeAfterFilterAndSort((Y)=>{if(Z)return;if(J){if(Y===z||Y===Q){if(Z=!0,X&&Y.group){QX($,Y);return}}}if(!J){if(Y!==z&&Y!==Q)return;if(J=!0,z===Q)Z=!0}if(!Y.group||!X)$.push(Y)}),$}getTopLevelNodes(){return this.rootNode?.childrenAfterGroup??null}getRow(Q){return this.rowsToDisplay[Q]}getFormulaRow(Q){return this.formulaRows[Q]}isRowPresent(Q){return this.rowsToDisplay.indexOf(Q)>=0}getRowIndexAtPixel(Q){let z=this.rowsToDisplay,J=z.length;if(this.isEmpty()||J===0)return-1;let Z=0,$=J-1;if(Q<=0)return 0;if(z[$].rowTop<=Q)return $;let Y=-1,G=-1;while(!0){let q=Math.floor((Z+$)/2),H=z[q];if(this.isRowInPixel(H,Q))return q;if(H.rowTop<Q)Z=q+1;else if(H.rowTop>Q)$=q-1;if(Y===Z&&G===$)return q;Y=Z,G=$}}isRowInPixel(Q,z){let J=Q.rowTop,Z=J+Q.rowHeight;return J<=z&&Z>z}forEachLeafNode(Q){let z=this.rootNode?._leafs;if(z)for(let J=0,Z=z.length;J<Z;++J)Q(z[J],J)}forEachNode(Q,z=!1){this.depthFirstSearchRowNodes(Q,z)}forEachDisplayedNode(Q){let z=this.rowsToDisplay;for(let J=0,Z=z.length;J<Z;++J)Q(z[J],J)}forEachNodeAfterFilter(Q,z=!1){this.depthFirstSearchRowNodes(Q,z,(J)=>J.childrenAfterAggFilter)}forEachNodeAfterFilterAndSort(Q,z=!1){this.depthFirstSearchRowNodes(Q,z,(J)=>J.childrenAfterSort)}forEachPivotNode(Q,z,J){let{colModel:Z,rowGroupColsSvc:$}=this.beans;if(!Z.isPivotMode())return;if(!$?.columns.length){Q(this.rootNode,0);return}let X=J?"childrenAfterSort":"childrenAfterGroup";this.depthFirstSearchRowNodes(Q,z,(Y)=>!Y.leafGroup?Y[X]:null)}depthFirstSearchRowNodes(Q,z=!1,J=(X)=>X.childrenAfterGroup,Z=this.rootNode,$=0){let X=$;if(!Z)return X;let Y=Z===this.rootNode;if(!Y)Q(Z,X++);if(Z.hasChildren()&&!Z.footer){let G=Y||this.hierarchical?J(Z):null;if(G){let q=this.beans.footerSvc;X=q?.addTotalRows(X,Z,Q,z,Y,"top")??X;for(let H of G)X=this.depthFirstSearchRowNodes(Q,z,J,H,X);return q?.addTotalRows(X,Z,Q,z,Y,"bottom")??X}}return X}doAggregate(Q){if(this.rootNode)this.beans.aggStage?.execute(Q)}doFilterAggregates(Q){let z=this.rootNode,J=this.beans.filterAggStage;if(J&&this.hierarchical){J.execute(Q);return}z.childrenAfterAggFilter=z.childrenAfterFilter;let Z=z.sibling;if(Z)Z.childrenAfterAggFilter=z.childrenAfterFilter}doSort(Q,z){let J=this.beans.sortStage;if(J){J.execute(Q,z);return}A0(this.rootNode,this.hierarchical,Q,(Z)=>{Z.childrenAfterSort=Z.childrenAfterAggFilter.slice(0),e$(Z)})}doGrouping(Q,z){let Z=this.beans.groupStage?.execute(z);if(Z===void 0){let $=Q._leafs;Q.childrenAfterGroup=$,Q.updateHasChildren();let X=Q.sibling;if(X)X.childrenAfterGroup=$}if(Z||z.rowDataUpdated)this.beans.colFilter?.refreshModel();if(!this.rowCountReady&&this.rowNodesCountReady)this.rowCountReady=!0,this.eventSvc.dispatchEventOnce({type:"rowCountReady"})}doFilter(Q){let z=this.beans.filterStage;if(z){z.execute(Q);return}A0(this.rootNode,this.hierarchical,Q,(J)=>{J.childrenAfterFilter=J.childrenAfterGroup,M5(J)})}doPivot(Q){return this.beans.pivotStage?.execute(Q)??!1}getRowNode(Q){let z=this.nodeManager?.getRowNode(Q);if(typeof z==="object")return z;return this.beans.groupStage?.getNonLeaf(Q)}batchUpdateRowData(Q,z){if(!this.asyncTransactionsTimer){this.asyncTransactions=[];let J=this.gos.get("asyncTransactionWaitMillis");this.asyncTransactionsTimer=setTimeout(()=>this.executeBatchUpdateRowData(),J)}this.asyncTransactions.push({rowDataTransaction:Q,callback:z})}flushAsyncTransactions(){let Q=this.asyncTransactionsTimer;if(Q)clearTimeout(Q),this.executeBatchUpdateRowData()}executeBatchUpdateRowData(){let{nodeManager:Q,beans:z,eventSvc:J,asyncTransactions:Z}=this;if(!Q)return;z.valueCache?.onDataChanged();let $=[],X=[],Y=new W1,G=!this.gos.get("suppressAnimationFrame");for(let{rowDataTransaction:q,callback:H}of Z??[]){this.rowNodesCountReady=!0,this.refreshingData=!0;let _=Q.updateRowData(q,Y,G);if($.push(_),H)X.push(H.bind(null,_))}if(this.commitTransactions(Y,G),X.length>0)setTimeout(()=>{for(let q=0,H=X.length;q<H;q++)X[q]()},0);if($.length>0)J.dispatchEvent({type:"asyncTransactionsFlushed",results:$});this.asyncTransactionsTimer=0,this.asyncTransactions=null}updateRowData(Q){let z=this.nodeManager;if(!z)return null;this.beans.valueCache?.onDataChanged(),this.rowNodesCountReady=!0;let J=new W1,Z=!this.gos.get("suppressAnimationFrame");this.refreshingData=!0;let $=z.updateRowData(Q,J,Z);return this.commitTransactions(J,Z),$}commitTransactions(Q,z){this.refreshModel({step:"group",rowDataUpdated:!0,keepRenderedRows:!0,animate:z,changedRowNodes:Q})}doRowsToDisplay(){let{rootNode:Q,beans:z}=this;if(z.formula?.active){let $=Q?.childrenAfterSort??[];this.formulaRows=$,this.rowsToDisplay=$.filter((X)=>!X.softFiltered);for(let X of this.rowsToDisplay)X.setUiLevel(0);return}let J=z.flattenStage;if(J){this.rowsToDisplay=J.execute();return}let Z=this.rootNode.childrenAfterSort??[];for(let $ of Z)$.setUiLevel(0);this.rowsToDisplay=Z}onRowHeightChanged(){this.refreshModel({step:"map",keepRenderedRows:!0,keepUndoRedoStack:!0})}resetRowHeights(){let Q=this.rootNode;if(!Q)return;let z=this.resetRowHeightsForAllRowNodes();Q.setRowHeight(Q.rowHeight,!0);let J=Q.sibling;if(J?.setRowHeight(J.rowHeight,!0),z)this.onRowHeightChanged()}resetRowHeightsForAllRowNodes(){let Q=!1;return this.forEachNode((z)=>{z.setRowHeight(z.rowHeight,!0);let J=z.detailNode;J?.setRowHeight(J.rowHeight,!0);let Z=z.sibling;Z?.setRowHeight(Z.rowHeight,!0),Q=!0}),Q}onGridStylesChanges(Q){if(Q.rowHeightChanged&&!this.beans.rowAutoHeight?.active)this.resetRowHeights()}onGridReady(){if(!this.started)this.setInitialData()}destroy(){super.destroy(),this.nodeManager=this.destroyBean(this.nodeManager),this.started=!1,this.rootNode=null,this.rowsToDisplay=[],this.asyncTransactions=null,this.stages=null,this.stagesRefreshProps.clear(),clearTimeout(this.asyncTransactionsTimer)}onRowHeightChangedDebounced(){this.onRowHeightChanged_debounced()}},QX=(Q,z)=>{let J=z.childrenAfterGroup;if(J)for(let Z=0,$=J.length;Z<$;++Z){let X=J[Z];if(X.data)Q.push(X);if(X.group)QX(Q,X)}};var zX={moduleName:"ClientSideRowModel",version:p,rowModels:["clientSide"],beans:[OK,RK],dependsOn:[r$]};var PK=":where(.ag-ltr) :where(.ag-animate-autosize){.ag-cell,.ag-header-cell,.ag-header-group-cell{transition:width .2s ease-in-out,left .2s ease-in-out}}:where(.ag-rtl) :where(.ag-animate-autosize){.ag-cell,.ag-header-cell,.ag-header-group-cell{transition:width .2s ease-in-out,right .2s ease-in-out}}";function TK(Q,z){if(typeof z==="number")Q.colAutosize?.sizeColumnsToFit(z,"api");else Q.colAutosize?.sizeColumnsToFitGridBody(z)}function JX({colAutosize:Q,visibleCols:z},J,Z){if(Array.isArray(J))Q?.autoSizeCols({colKeys:J,skipHeader:Z,source:"api"});else Q?.autoSizeCols({...J,colKeys:J.colIds??z.allCols,source:"api"})}function vK(Q,z){if(z&&typeof z==="object")JX(Q,z);else Q.colAutosize?.autoSizeAllColumns({source:"api",skipHeader:z})}var IK=class extends j{constructor(){super(...arguments);this.beanName="colAutosize",this.timesDelayed=0,this.shouldQueueResizeOperations=!1,this.resizeOperationQueue=[]}postConstruct(){let{gos:Q}=this,z=Q.get("autoSizeStrategy");if(z){let J=!1,Z=z.type;if(Z==="fitGridWidth"||Z==="fitProvidedWidth")J=!0;else if(Z==="fitCellContents"){this.addManagedEventListeners({firstDataRendered:()=>this.onFirstDataRendered(z)});let $=Q.get("rowData");J=$!=null&&$.length>0&&o(Q)}if(J)this.beans.colDelayRenderSvc?.hideColumns(Z)}}autoSizeCols(Q){let{eventSvc:z,visibleCols:J,colModel:Z}=this.beans;b1(this.beans,!0),this.innerAutoSizeCols(Q).then(($)=>{let X=(_)=>L1(z,Array.from(_),!0,"autosizeColumns");if(!Q.scaleUpToFitGridWidth)return b1(this.beans,!1),X($);let Y=U8(this.beans),G=(_)=>J.leftCols.some((U)=>PQ(U,_)),q=(_)=>J.rightCols.some((U)=>PQ(U,_)),H=Q.colKeys.filter((_)=>{return!Z.getCol(_)?.getColDef().suppressAutoSize&&!v0(_)&&!G(_)&&!q(_)});this.sizeColumnsToFit(Y,Q.source,!0,{defaultMaxWidth:Q.defaultMaxWidth,defaultMinWidth:Q.defaultMinWidth,columnLimits:Q.columnLimits?.map((_)=>({..._,key:_.colId})),colKeys:H,onlyScaleUp:!0,animate:!1}),b1(this.beans,!1),X($)})}innerAutoSizeCols(Q){return new Promise((z,J)=>{if(this.shouldQueueResizeOperations)return this.pushResizeOperation(()=>this.innerAutoSizeCols(Q).then(z,J));let{colKeys:Z,skipHeader:$,skipHeaderGroups:X,stopAtGroup:Y,defaultMaxWidth:G,defaultMinWidth:q,columnLimits:H=[],source:_="api"}=Q,{animationFrameSvc:U,renderStatus:W,colModel:B,autoWidthCalc:E,visibleCols:K}=this.beans;if(U?.flushAllFrames(),this.timesDelayed<5&&W&&(!W.areHeaderCellsRendered()||!W.areCellsRendered())){this.timesDelayed++,setTimeout(()=>{if(this.isAlive())this.innerAutoSizeCols(Q).then(z,J)});return}this.timesDelayed=0;let L=new Set,F=-1,D=Object.fromEntries(H.map(({colId:f,...A})=>[f,A])),M=$??this.gos.get("skipHeaderOnAutoSize"),k=X??M;while(F!==0){F=0;let f=[];for(let A of Z){if(!A||GJ(A))continue;let O=B.getCol(A);if(!O||L.has(O)||O.getColDef().suppressAutoSize)continue;let v=E.getPreferredWidthForColumn(O,M);if(v>0){let I=D[O.colId]??{};I.minWidth??(I.minWidth=q),I.maxWidth??(I.maxWidth=G);let C=CK(O,v,I);O.setActualWidth(C,_),L.add(O),F++}f.push(O)}if(f.length)K.refresh(_)}if(!k)this.autoSizeColumnGroupsByColumns(Z,_,Y);z(L)})}autoSizeColumn(Q,z,J){this.autoSizeCols({colKeys:[Q],skipHeader:J,skipHeaderGroups:!0,source:z})}autoSizeColumnGroupsByColumns(Q,z,J){let{colModel:Z,ctrlsSvc:$}=this.beans,X=new Set,Y=Z.getColsForKeys(Q);for(let q of Y){let H=q.getParent();while(H&&H!=J){if(!H.isPadding())X.add(H);H=H.getParent()}}let G;for(let q of X){for(let H of $.getHeaderRowContainerCtrls())if(G=H.getHeaderCtrlForColumn(q),G)break;G?.resizeLeafColumnsToFit(z)}}autoSizeAllColumns(Q){if(this.shouldQueueResizeOperations){this.pushResizeOperation(()=>this.autoSizeAllColumns(Q));return}this.autoSizeCols({colKeys:this.beans.visibleCols.allCols,...Q})}addColumnAutosizeListeners(Q,z){let J=this.gos.get("skipHeaderOnAutoSize"),Z=()=>{this.autoSizeColumn(z,"uiColumnResized",J)};Q.addEventListener("dblclick",Z);let $=new h0(Q);return $.addEventListener("doubleTap",Z),()=>{Q.removeEventListener("dblclick",Z),$.destroy()}}addColumnGroupResize(Q,z,J){let Z=this.gos.get("skipHeaderOnAutoSize"),$=()=>{let X=[],Y=z.getDisplayedLeafColumns();for(let G of Y)if(!G.getColDef().suppressAutoSize)X.push(G.getColId());if(X.length>0)this.autoSizeCols({colKeys:X,skipHeader:Z,stopAtGroup:z,source:"uiColumnResized"});J()};return Q.addEventListener("dblclick",$),()=>Q.removeEventListener("dblclick",$)}sizeColumnsToFitGridBody(Q,z){if(!this.isAlive())return;let J=U8(this.beans);if(J>0){this.sizeColumnsToFit(J,"sizeColumnsToFit",!1,Q);return}if(z===void 0)window.setTimeout(()=>{this.sizeColumnsToFitGridBody(Q,100)},0);else if(z===100)window.setTimeout(()=>{this.sizeColumnsToFitGridBody(Q,500)},100);else if(z===500)window.setTimeout(()=>{this.sizeColumnsToFitGridBody(Q,-1)},500);else R(29)}sizeColumnsToFit(Q,z="sizeColumnsToFit",J,Z){if(this.shouldQueueResizeOperations){this.pushResizeOperation(()=>this.sizeColumnsToFit(Q,z,J,Z));return}let{beans:$}=this,X=Z?.animate??!0;if(X)b1($,!0);let Y={};for(let{key:F,...D}of Z?.columnLimits??[])Y[typeof F==="string"?F:F.getColId()]=D;let G=$.visibleCols.allCols;if(Q<=0||!G.length)return;let q=NQ(G);if(Z?.onlyScaleUp&&q>Q)return;if(Q===q){if(G.every((D)=>{if(D.colDef.suppressSizeToFit)return!0;let M=Y?.[D.getId()],k=M?.minWidth??Z?.defaultMinWidth,f=M?.maxWidth??Z?.defaultMaxWidth,A=D.getActualWidth();return(k==null||A>=k)&&(f==null||A<=f)}))return}let _=[],U=[];for(let F of G){let D=Z?.colKeys?.some((M)=>PQ(F,M))??!0;if(F.getColDef().suppressSizeToFit||!D)U.push(F);else _.push(F)}let W=_.slice(0),B=!1,E=(F)=>{$0(_,F),U.push(F)},K={};for(let F of _){if(Z?.onlyScaleUp)K[F.getColId()]=F.getActualWidth();F.resetActualWidth(z);let D=Y?.[F.getId()],M=D?.minWidth??Z?.defaultMinWidth??-1/0,k=D?.maxWidth??Z?.defaultMaxWidth??1/0,f=F.getActualWidth(),A=Math.max(Math.min(f,k),M);if(A!=f)F.setActualWidth(A,z,!0)}while(!B){B=!0;let F=Q-NQ(U);if(F<=0)for(let D of _){let M=Y?.[D.getId()]?.minWidth??Z?.defaultMinWidth??D.minWidth;D.setActualWidth(M,z,!0)}else{let D=F/NQ(_),M=F;for(let k=_.length-1;k>=0;k--){let f=_[k],A=f.getColId(),O=K[A],v=Y?.[A],I=v?.minWidth??Z?.defaultMinWidth??O,C=v?.maxWidth??Z?.defaultMaxWidth,m=Math.max(I??-1/0,f.getMinWidth()),w=Math.min(C??1/0,f.getMaxWidth()),a=Math.round(f.getActualWidth()*D);if(a<m)a=m,E(f),B=!1;else if(a>w)a=w,E(f),B=!1;else if(k===0)a=M;f.setActualWidth(a,z,!0),M-=a}}}for(let F of W)F.fireColumnWidthChangedEvent(z);let L=$.visibleCols;if(L.setLeftValues(z),L.updateBodyWidths(),J)return;if(L1(this.eventSvc,W,!0,z),X)b1($,!1)}applyAutosizeStrategy(){let{gos:Q,colDelayRenderSvc:z}=this.beans,J=Q.get("autoSizeStrategy");if(J?.type!=="fitGridWidth"&&J?.type!=="fitProvidedWidth")return;setTimeout(()=>{if(!this.isAlive())return;let Z=J.type;if(Z==="fitGridWidth"){let{columnLimits:$,defaultMinWidth:X,defaultMaxWidth:Y}=J,G=$?.map(({colId:q,minWidth:H,maxWidth:_})=>({key:q,minWidth:H,maxWidth:_}));this.sizeColumnsToFitGridBody({defaultMinWidth:X,defaultMaxWidth:Y,columnLimits:G})}else if(Z==="fitProvidedWidth")this.sizeColumnsToFit(J.width,"sizeColumnsToFit");z?.revealColumns(Z)})}onFirstDataRendered({colIds:Q,...z}){setTimeout(()=>{if(!this.isAlive())return;let J="autosizeColumns";if(Q)this.autoSizeCols({...z,source:J,colKeys:Q});else this.autoSizeAllColumns({...z,source:J});this.beans.colDelayRenderSvc?.revealColumns(z.type)})}processResizeOperations(){this.shouldQueueResizeOperations=!1;for(let Q of this.resizeOperationQueue)Q();this.resizeOperationQueue=[]}pushResizeOperation(Q){this.resizeOperationQueue.push(Q)}destroy(){this.resizeOperationQueue.length=0,super.destroy()}};function CK(Q,z,J={}){let Z=J.minWidth??Q.getMinWidth();if(z<Z)z=Z;let $=J.maxWidth??Q.getMaxWidth();if(z>$)z=$;return z}function U8({ctrlsSvc:Q,scrollVisibleSvc:z}){let J=Q.getGridBodyCtrl(),$=J.isVerticalScrollShowing()?z.getScrollbarWidth():0;return xz(J.eGridBody)-$}var W8="ag-animate-autosize";function b1({ctrlsSvc:Q,gos:z},J){if(!z.get("animateColumnResizing")||z.get("enableRtl")||!Q.isAlive())return;let Z=Q.getGridBodyCtrl().eGridBody.classList;if(J)Z.add(W8);else Z.remove(W8)}var ZX={moduleName:"ColumnAutoSize",version:p,beans:[IK],apiFunctions:{sizeColumnsToFit:TK,autoSizeColumns:JX,autoSizeAllColumns:vK},dependsOn:[L$],css:[PK]};var bK=class extends j{constructor(){super(...arguments);this.beanName="gridSerializer"}wireBeans(Q){this.visibleCols=Q.visibleCols,this.colModel=Q.colModel,this.rowModel=Q.rowModel,this.pinnedRowModel=Q.pinnedRowModel}serialize(Q,z={}){let{allColumns:J,columnKeys:Z,skipRowGroups:$,exportRowNumbers:X}=z,Y=this.getColumnsToExport({allColumns:J,skipRowGroups:$,columnKeys:Z,exportRowNumbers:X});return[this.prepareSession(Y),this.prependContent(z),this.exportColumnGroups(z,Y),this.exportHeaders(z,Y),this.processPinnedTopRows(z,Y),this.processRows(z,Y),this.processPinnedBottomRows(z,Y),this.appendContent(z)].reduce((G,q)=>q(G),Q).parse()}processRow(Q,z,J,Z){let $=z.shouldRowBeSkipped||(()=>!1),Y=z.rowPositions!=null||!!z.onlySelected,G=this.gos.get("groupHideOpenParents")&&!Y,q=this.colModel.isPivotMode()?Z.leafGroup:!Z.group,H=!!Z.footer,_=Z.allChildrenCount===1&&Z.childrenAfterGroup?.length===1&&gG(this.gos,Z);if(!q&&!H&&(z.skipRowGroups||_||G)||z.onlySelected&&!Z.isSelected()||z.skipPinnedTop&&Z.rowPinned==="top"||z.skipPinnedBottom&&Z.rowPinned==="bottom"||Z.stub)return;if(Z.level===-1&&!q&&!H)return;if($(y(this.gos,{node:Z})))return;let B=Q.onNewBodyRow(Z);if(J.forEach((E,K)=>{B.onColumn(E,K,Z)}),z.getCustomContentBelowRow){let E=z.getCustomContentBelowRow(y(this.gos,{node:Z}));if(E)Q.addCustomContent(E)}}appendContent(Q){return(z)=>{let J=Q.appendContent;if(J)z.addCustomContent(J);return z}}prependContent(Q){return(z)=>{let J=Q.prependContent;if(J)z.addCustomContent(J);return z}}prepareSession(Q){return(z)=>{return z.prepare(Q),z}}exportColumnGroups(Q,z){return(J)=>{if(!Q.skipColumnGroupHeaders){let Z=new k$,{colGroupSvc:$}=this.beans,X=$?$.createColumnGroups({columns:z,idCreator:Z,pinned:null,isStandaloneStructure:!0}):z;this.recursivelyAddHeaderGroups(X,J,Q.processGroupHeaderCallback)}return J}}exportHeaders(Q,z){return(J)=>{if(!Q.skipColumnHeaders){let Z=J.onNewHeaderRow();z.forEach(($,X)=>{Z.onColumn($,X,void 0)})}return J}}processPinnedTopRows(Q,z){return(J)=>{let Z=this.processRow.bind(this,J,Q,z);if(Q.rowPositions)Q.rowPositions.filter(($)=>$.rowPinned==="top").sort(($,X)=>$.rowIndex-X.rowIndex).map(($)=>this.pinnedRowModel?.getPinnedTopRow($.rowIndex)).forEach(Z);else if(!this.pinnedRowModel?.isManual())this.pinnedRowModel?.forEachPinnedRow("top",Z);return J}}processRows(Q,z){return(J)=>{let Z=this.rowModel,$=o(this.gos,Z),X=Hz(this.gos,Z),Y=!$&&Q.onlySelected,G=this.processRow.bind(this,J,Q,z),{exportedRows:q="filteredAndSorted"}=Q;if(Q.rowPositions)Q.rowPositions.filter((H)=>H.rowPinned==null).sort((H,_)=>H.rowIndex-_.rowIndex).map((H)=>Z.getRow(H.rowIndex)).forEach(G);else if(this.colModel.isPivotMode())if($)Z.forEachPivotNode(G,!0,q==="filteredAndSorted");else if(X)Z.forEachNodeAfterFilterAndSort(G,!0);else Z.forEachNode(G);else if(Q.onlySelectedAllPages||Y){let H=this.beans.selectionSvc?.getSelectedNodes()??[];this.replicateSortedOrder(H),H.forEach(G)}else if(q==="all")Z.forEachNode(G);else if($||X)Z.forEachNodeAfterFilterAndSort(G,!0);else Z.forEachNode(G);return J}}replicateSortedOrder(Q){let{sortSvc:z,rowNodeSorter:J}=this.beans;if(!z||!J)return;let Z=z.getSortOptions(),$=(X,Y)=>{if(X.rowIndex!=null&&Y.rowIndex!=null)return X.rowIndex-Y.rowIndex;if(X.level===Y.level){if(X.parent?.id===Y.parent?.id)return J.compareRowNodes(Z,X,Y)||(X.rowIndex??-1)-(Y.rowIndex??-1);return $(X.parent,Y.parent)}if(X.level>Y.level)return $(X.parent,Y);return $(X,Y.parent)};Q.sort($)}processPinnedBottomRows(Q,z){return(J)=>{let Z=this.processRow.bind(this,J,Q,z);if(Q.rowPositions)Q.rowPositions.filter(($)=>$.rowPinned==="bottom").sort(($,X)=>$.rowIndex-X.rowIndex).map(($)=>this.pinnedRowModel?.getPinnedBottomRow($.rowIndex)).forEach(Z);else if(!this.pinnedRowModel?.isManual())this.pinnedRowModel?.forEachPinnedRow("bottom",Z);return J}}getColumnsToExport(Q){let{allColumns:z=!1,skipRowGroups:J=!1,exportRowNumbers:Z=!1,columnKeys:$}=Q,{colModel:X,gos:Y,visibleCols:G}=this,q=X.isPivotMode(),H=(W)=>{if(IQ(W))return!1;return!v0(W)||Z};if($?.length)return X.getColsForKeys($).filter(H);let _=Y.get("treeData"),U=[];if(z&&!q)U=X.getCols();else U=G.allCols;return U=U.filter((W)=>H(W)&&(J&&!_?!mz(W):!0)),U}recursivelyAddHeaderGroups(Q,z,J){let Z=[];for(let $ of Q){let X=$;if(!X.getChildren)continue;for(let Y of X.getChildren()??[])Z.push(Y)}if(Q.length>0&&_0(Q[0]))this.doAddHeaderHeader(z,Q,J);if(Z&&Z.length>0)this.recursivelyAddHeaderGroups(Z,z,J)}doAddHeaderHeader(Q,z,J){let Z=Q.onNewHeaderGroupingRow(),$=0;for(let X of z){let Y=X,G;if(J)G=J(y(this.gos,{columnGroup:Y}));else G=this.beans.colNames.getDisplayNameForColumnGroup(Y,"header");let H=(Y.isExpandable()?Y.getLeafColumns():[]).reduce((_,U,W,B)=>{let E=b(_);if(U.getColumnGroupShow()!=="open"){if(E&&E[1]==null)E[1]=W-1}else if(!E||E[1]!=null)E=[W],_.push(E);if(W===B.length-1&&E&&E[1]==null)E[1]=W;return _},[]);Z.onColumn(Y,G||"",$++,Y.getLeafColumns().length-1,H)}}},S6={moduleName:"SharedExport",version:p,beans:[bK]},O6=class extends j{getFileName(Q){let z=this.getDefaultFileExtension();if(!Q?.length)Q=this.getDefaultFileName();return Q.includes(".")?Q:`${Q}.${z}`}getData(Q){return this.beans.gridSerializer.serialize(this.createSerializingSession(Q),Q)}getDefaultFileName(){return`export.${this.getDefaultFileExtension()}`}};function dZ(Q,z){let J=document.defaultView||window;if(!J){R(52);return}let Z=document.createElement("a"),$=J.URL.createObjectURL(z);Z.setAttribute("href",$),Z.setAttribute("download",Q),Z.style.display="none",document.body.appendChild(Z),Z.dispatchEvent(new MouseEvent("click",{bubbles:!1,cancelable:!0,view:J})),Z.remove(),J.setTimeout(()=>{J.URL.revokeObjectURL($)},0)}var P6=class{constructor(Q){this.valueFrom="data";let{colModel:z,rowGroupColsSvc:J,colNames:Z,valueSvc:$,gos:X,processCellCallback:Y,processHeaderCallback:G,processGroupHeaderCallback:q,processRowGroupCallback:H,valueFrom:_}=Q;if(this.colModel=z,this.rowGroupColsSvc=J,this.colNames=Z,this.valueSvc=$,this.gos=X,this.processCellCallback=Y,this.processHeaderCallback=G,this.processGroupHeaderCallback=q,this.processRowGroupCallback=H,_)this.valueFrom=_}prepare(Q){}extractHeaderValue(Q){return this.getHeaderName(this.processHeaderCallback,Q)??""}extractRowCellValue(Q){let{column:z,node:J,currentColumnIndex:Z,accumulatedRowIndex:$,type:X,useRawFormula:Y}=Q,G=Z===0&&G9(this.gos,J,this.colModel.isPivotMode());if(this.processRowGroupCallback&&(this.gos.get("treeData")||J.group)&&(z.isRowGroupDisplayed(J.rowGroupColumn?.getColId()??"")||G))return{value:this.processRowGroupCallback(y(this.gos,{column:z,node:J}))??""};if(this.processCellCallback)return{value:this.processCellCallback(y(this.gos,{accumulatedRowIndex:$,column:z,node:J,value:this.valueSvc.getValueForDisplay({column:z,node:J,from:this.valueFrom}).value,type:X,parseValue:(E)=>this.valueSvc.parseValue(z,J,E,this.valueSvc.getValue(z,J,this.valueFrom)),formatValue:(E)=>this.valueSvc.formatValue(z,J,E)??E}))??""};let q=this.gos.get("treeData"),H=this.valueSvc,_=J.level===-1&&J.footer,U=z.colDef.showRowGroup===!0&&(J.group||q);if(!_&&(G||U)){let E="",K=J;while(K&&K.level!==-1){let{value:L,valueFormatted:F}=H.getValueForDisplay({column:G?void 0:z,node:K,includeValueFormatted:!0,exporting:!0,from:this.valueFrom});E=` -> ${F??L??""}${E}`,K=K.parent}return{value:E,valueFormatted:E}}let{value:W,valueFormatted:B}=H.getValueForDisplay({column:z,node:J,includeValueFormatted:!0,exporting:!0,useRawFormula:Y,from:this.valueFrom});return{value:W??"",valueFormatted:B}}getHeaderName(Q,z){if(Q)return Q(y(this.gos,{column:z}));return this.colNames.getDisplayNameForColumn(z,"csv",!0)}},B8=`\r
`,yK=class extends P6{constructor(Q){super(Q);this.config=Q,this.isFirstLine=!0,this.result="";let{suppressQuotes:z,columnSeparator:J}=Q;this.suppressQuotes=z,this.columnSeparator=J}addCustomContent(Q){if(!Q)return;if(typeof Q==="string"){if(!/^\s*\n/.test(Q))this.beginNewLine();Q=Q.replace(/\r?\n/g,B8),this.result+=Q}else Q.forEach((z)=>{this.beginNewLine(),z.forEach((J,Z)=>{if(Z!==0)this.result+=this.columnSeparator;if(this.result+=this.putInQuotes(J.data.value||""),J.mergeAcross)this.appendEmptyCells(J.mergeAcross)})})}onNewHeaderGroupingRow(){return this.beginNewLine(),{onColumn:this.onNewHeaderGroupingRowColumn.bind(this)}}onNewHeaderGroupingRowColumn(Q,z,J,Z){if(J!=0)this.result+=this.columnSeparator;this.result+=this.putInQuotes(z),this.appendEmptyCells(Z)}appendEmptyCells(Q){for(let z=1;z<=Q;z++)this.result+=this.columnSeparator+this.putInQuotes("")}onNewHeaderRow(){return this.beginNewLine(),{onColumn:this.onNewHeaderRowColumn.bind(this)}}onNewHeaderRowColumn(Q,z){if(z!=0)this.result+=this.columnSeparator;this.result+=this.putInQuotes(this.extractHeaderValue(Q))}onNewBodyRow(){return this.beginNewLine(),{onColumn:this.onNewBodyRowColumn.bind(this)}}onNewBodyRowColumn(Q,z,J){if(z!=0)this.result+=this.columnSeparator;let Z=this.extractRowCellValue({column:Q,node:J,currentColumnIndex:z,accumulatedRowIndex:z,type:"csv",useRawFormula:!1});this.result+=this.putInQuotes(Z.valueFormatted??Z.value)}putInQuotes(Q){if(this.suppressQuotes)return Q;if(Q===null||Q===void 0)return'""';let z;if(typeof Q==="string")z=Q;else if(typeof Q.toString==="function")z=Q.toString();else R(53),z="";return'"'+z.replace(/"/g,'""')+'"'}parse(){return this.result}beginNewLine(){if(!this.isFirstLine)this.result+=B8;this.isFirstLine=!1}},xK=class extends O6{constructor(){super(...arguments);this.beanName="csvCreator"}getMergedParams(Q){let z=this.gos.get("defaultCsvExportParams");return Object.assign({},z,Q)}export(Q){if(this.isExportSuppressed()){R(51);return}let z=()=>{let Z=this.getMergedParams(Q),$=this.getData(Z),X=new Blob(["\uFEFF",$],{type:"text/plain"}),Y=Z.fileName,G=typeof Y==="function"?Y(y(this.gos,{})):Y;dZ(this.getFileName(G),X)},{overlays:J}=this.beans;if(J)J.showExportOverlay(z);else z()}exportDataAsCsv(Q){this.export(Q)}getDataAsCsv(Q,z=!1){let J=z?Object.assign({},Q):this.getMergedParams(Q);return this.getData(J)}getDefaultFileExtension(){return"csv"}createSerializingSession(Q){let{colModel:z,colNames:J,rowGroupColsSvc:Z,valueSvc:$,gos:X}=this.beans,{processCellCallback:Y,processHeaderCallback:G,processGroupHeaderCallback:q,processRowGroupCallback:H,suppressQuotes:_,columnSeparator:U,valueFrom:W}=Q;return new yK({colModel:z,colNames:J,valueSvc:$,gos:X,processCellCallback:Y||void 0,processHeaderCallback:G||void 0,processGroupHeaderCallback:q||void 0,processRowGroupCallback:H||void 0,suppressQuotes:_||!1,columnSeparator:U||",",rowGroupColsSvc:Z,valueFrom:W})}isExportSuppressed(){return this.gos.get("suppressCsvExport")}};function wK(Q,z){return Q.csvCreator?.getDataAsCsv(z)}function NK(Q,z){Q.csvCreator?.exportDataAsCsv(z)}var $X={moduleName:"CsvExport",version:p,beans:[xK],apiFunctions:{getDataAsCsv:wK,exportDataAsCsv:NK},dependsOn:[S6]},XX=class extends j0{constructor(Q,z){super();if(this.ctrl=Q,z)this.beans=z}postConstruct(){this.refreshTooltip()}setBrowserTooltip(Q,z){let Z=this.ctrl.getGui();if(!Z)return;if(Q!=null&&(Q!=""||z))Z.setAttribute("title",Q);else Z.removeAttribute("title")}updateTooltipText(){let{getTooltipValue:Q}=this.ctrl;if(Q)this.tooltip=Q()}createTooltipFeatureIfNeeded(){if(this.tooltipManager==null){let Q=this.beans.registry.createDynamicBean("tooltipStateManager",!0,this.ctrl,()=>this.tooltip);if(Q)this.tooltipManager=this.createBean(Q,this.beans.context)}}attemptToShowTooltip(){this.tooltipManager?.prepareToShowTooltip()}attemptToHideTooltip(){this.tooltipManager?.hideTooltip()}setTooltipAndRefresh(Q){this.tooltip=Q,this.refreshTooltip()}refreshTooltip(Q){if(this.browserTooltips=this.beans.gos.get("enableBrowserTooltips"),this.updateTooltipText(),this.browserTooltips)this.setBrowserTooltip(this.tooltip),this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context);else this.setBrowserTooltip(Q?"":null,Q),this.createTooltipFeatureIfNeeded()}destroy(){this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context),super.destroy()}},gK=1000,hK=1000,E8=100,K8,mJ=!1,uK=class extends j0{constructor(Q,z){super();this.tooltipCtrl=Q,this.getTooltipValue=z,this.interactionEnabled=!1,this.isInteractingWithTooltip=!1,this.state=0,this.tooltipInstanceCount=0,this.tooltipMouseTrack=!1}wireBeans(Q){this.popupSvc=Q.popupSvc}postConstruct(){if(this.gos.get("tooltipInteraction"))this.interactionEnabled=!0;this.tooltipTrigger=this.getTooltipTrigger(),this.tooltipMouseTrack=this.gos.get("tooltipMouseTrack");let Q=this.tooltipCtrl.getGui();if(this.tooltipTrigger===0)this.addManagedListeners(Q,{mouseenter:this.onMouseEnter.bind(this),mouseleave:this.onMouseLeave.bind(this)});if(this.tooltipTrigger===1)this.addManagedListeners(Q,{focusin:this.onFocusIn.bind(this),focusout:this.onFocusOut.bind(this)});if(this.addManagedListeners(Q,{mousemove:this.onMouseMove.bind(this)}),!this.interactionEnabled)this.addManagedListeners(Q,{mousedown:this.onMouseDown.bind(this),keydown:this.onKeyDown.bind(this)})}getGridOptionsTooltipDelay(Q){let z=this.gos.get(Q);return Math.max(200,z)}getTooltipDelay(Q){return this.tooltipCtrl[`getTooltip${Q}DelayOverride`]?.()??this.getGridOptionsTooltipDelay(`tooltip${Q}Delay`)}destroy(){this.setToDoNothing(),super.destroy()}getTooltipTrigger(){let Q=this.gos.get("tooltipTrigger");if(!Q||Q==="hover")return 0;return 1}onMouseEnter(Q){if(this.interactionEnabled&&this.interactiveTooltipTimeoutId)this.unlockService(),this.startHideTimeout();if(bz())return;if(mJ)this.showTooltipTimeoutId=window.setTimeout(()=>{this.prepareToShowTooltip(Q)},E8);else this.prepareToShowTooltip(Q)}onMouseMove(Q){if(this.lastMouseEvent)this.lastMouseEvent=Q;if(this.tooltipMouseTrack&&this.state===2&&this.tooltipComp)this.positionTooltip()}onMouseDown(){this.setToDoNothing()}onMouseLeave(){if(this.interactionEnabled)this.lockService();else this.setToDoNothing()}onFocusIn(){this.prepareToShowTooltip()}onFocusOut(Q){let z=Q.relatedTarget,J=this.tooltipCtrl.getGui(),Z=this.tooltipComp?.getGui();if(this.isInteractingWithTooltip||J.contains(z)||this.interactionEnabled&&Z?.contains(z))return;this.setToDoNothing()}onKeyDown(){if(this.isInteractingWithTooltip)this.isInteractingWithTooltip=!1;this.setToDoNothing()}prepareToShowTooltip(Q){if(this.state!=0||mJ)return;let z=0;if(Q)z=this.isLastTooltipHiddenRecently()?this.getTooltipDelay("SwitchShow"):this.getTooltipDelay("Show");this.lastMouseEvent=Q||null,this.showTooltipTimeoutId=window.setTimeout(this.showTooltip.bind(this),z),this.state=1}isLastTooltipHiddenRecently(){return Date.now()-K8<gK}setToDoNothing(Q){if(!Q&&this.state===2)this.hideTooltip();if(this.onBodyScrollEventCallback)this.onBodyScrollEventCallback(),this.onBodyScrollEventCallback=void 0;if(this.clearEventHandlers(),this.onDocumentKeyDownCallback)this.onDocumentKeyDownCallback(),this.onDocumentKeyDownCallback=void 0;this.clearTimeouts(),this.state=0,this.lastMouseEvent=null}showTooltip(){let Q=this.getTooltipValue(),z=this.tooltipCtrl;if(!T(Q)||z.shouldDisplayTooltip&&!z.shouldDisplayTooltip()){this.setToDoNothing();return}let J=this.gos.addCommon({location:z.getLocation?.()??"UNKNOWN",value:Q,hideTooltipCallback:()=>this.hideTooltip(!0),...z.getAdditionalParams?.()});this.state=2,this.tooltipInstanceCount++;let Z=this.newTooltipComponentCallback.bind(this,this.tooltipInstanceCount);this.createTooltipComp(J,Z)}hideTooltip(Q){if(!Q&&this.isInteractingWithTooltip)return;if(this.tooltipComp)this.destroyTooltipComp(),K8=Date.now();if(this.eventSvc.dispatchEvent({type:"tooltipHide",parentGui:this.tooltipCtrl.getGui()}),Q)this.isInteractingWithTooltip=!1;this.setToDoNothing(!0)}newTooltipComponentCallback(Q,z){if(this.state!==2||this.tooltipInstanceCount!==Q){this.destroyBean(z);return}let Z=z.getGui();if(this.tooltipComp=z,!Z.classList.contains("ag-tooltip"))Z.classList.add("ag-tooltip-custom");if(this.tooltipTrigger===0)Z.classList.add("ag-tooltip-animate");if(this.interactionEnabled)Z.classList.add("ag-tooltip-interactive");let $=this.getLocaleTextFunc(),X=this.popupSvc?.addPopup({eChild:Z,ariaLabel:$("ariaLabelTooltip","Tooltip")});if(X)this.tooltipPopupDestroyFunc=X.hideFunc;if(this.positionTooltip(),this.tooltipTrigger===1){let Y=()=>this.setToDoNothing();[this.onBodyScrollEventCallback]=this.addManagedEventListeners({bodyScroll:Y}),this.setEventHandlers(Y)}if(this.interactionEnabled){if([this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener]=this.addManagedElementListeners(Z,{mouseenter:this.onTooltipMouseEnter.bind(this),mouseleave:this.onTooltipMouseLeave.bind(this)}),[this.onDocumentKeyDownCallback]=this.addManagedElementListeners(Y0(this.beans),{keydown:(Y)=>{if(!Z.contains(Y?.target))this.onKeyDown()}}),this.tooltipTrigger===1)[this.tooltipFocusInListener,this.tooltipFocusOutListener]=this.addManagedElementListeners(Z,{focusin:this.onTooltipFocusIn.bind(this),focusout:this.onTooltipFocusOut.bind(this)})}this.eventSvc.dispatchEvent({type:"tooltipShow",tooltipGui:Z,parentGui:this.tooltipCtrl.getGui()}),this.startHideTimeout()}onTooltipMouseEnter(){this.isInteractingWithTooltip=!0,this.unlockService()}onTooltipMouseLeave(){if(this.isTooltipFocused())return;this.isInteractingWithTooltip=!1,this.lockService()}onTooltipFocusIn(){this.isInteractingWithTooltip=!0}isTooltipFocused(){let Q=this.tooltipComp?.getGui(),z=d(this.beans);return!!Q&&Q.contains(z)}onTooltipFocusOut(Q){let z=this.tooltipCtrl.getGui();if(this.isTooltipFocused())return;if(this.isInteractingWithTooltip=!1,z.contains(Q.relatedTarget))this.startHideTimeout();else this.hideTooltip()}positionTooltip(){let Q={type:"tooltip",ePopup:this.tooltipComp.getGui(),nudgeY:18,skipObserver:this.tooltipMouseTrack};if(this.lastMouseEvent)this.popupSvc?.positionPopupUnderMouseEvent({...Q,mouseEvent:this.lastMouseEvent});else this.popupSvc?.positionPopupByComponent({...Q,eventSource:this.tooltipCtrl.getGui(),position:"under",keepWithinBounds:!0,nudgeY:5})}destroyTooltipComp(){this.tooltipComp.getGui().classList.add("ag-tooltip-hiding");let Q=this.tooltipPopupDestroyFunc,z=this.tooltipComp,J=this.tooltipTrigger===0?hK:0;window.setTimeout(()=>{Q(),this.destroyBean(z)},J),this.clearTooltipListeners(),this.tooltipPopupDestroyFunc=void 0,this.tooltipComp=void 0}clearTooltipListeners(){for(let Q of[this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener,this.tooltipFocusInListener,this.tooltipFocusOutListener])if(Q)Q();this.tooltipMouseEnterListener=this.tooltipMouseLeaveListener=this.tooltipFocusInListener=this.tooltipFocusOutListener=null}lockService(){mJ=!0,this.interactiveTooltipTimeoutId=window.setTimeout(()=>{this.unlockService(),this.setToDoNothing()},E8)}unlockService(){mJ=!1,this.clearInteractiveTimeout()}startHideTimeout(){this.clearHideTimeout(),this.hideTooltipTimeoutId=window.setTimeout(this.hideTooltip.bind(this),this.getTooltipDelay("Hide"))}clearShowTimeout(){if(!this.showTooltipTimeoutId)return;window.clearTimeout(this.showTooltipTimeoutId),this.showTooltipTimeoutId=void 0}clearHideTimeout(){if(!this.hideTooltipTimeoutId)return;window.clearTimeout(this.hideTooltipTimeoutId),this.hideTooltipTimeoutId=void 0}clearInteractiveTimeout(){if(!this.interactiveTooltipTimeoutId)return;window.clearTimeout(this.interactiveTooltipTimeoutId),this.interactiveTooltipTimeoutId=void 0}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout(),this.clearInteractiveTimeout()}},mK=class extends XX{constructor(Q,z,J){super(Q,J);this.highlightTracker=z,this.onHighlight=this.onHighlight.bind(this)}postConstruct(){super.postConstruct(),this.wireHighlightListeners()}wireHighlightListeners(){this.addManagedPropertyListener("tooltipTrigger",({currentValue:Q})=>{this.setTooltipMode(Q)}),this.setTooltipMode(this.gos.get("tooltipTrigger")),this.highlightTracker.addEventListener("itemHighlighted",this.onHighlight)}onHighlight(Q){if(this.tooltipMode!==1)return;if(Q.highlighted)this.attemptToShowTooltip();else this.attemptToHideTooltip()}setTooltipMode(Q="focus"){this.tooltipMode=Q==="focus"?1:0}destroy(){this.highlightTracker.removeEventListener("itemHighlighted",this.onHighlight),super.destroy()}},cK=class extends a5{constructor(){super({tag:"div",cls:"ag-tooltip"})}init(Q){let{value:z}=Q,J=this.getGui();J.textContent=ZJ(z);let Z=Q.location.replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase();J.classList.add(`ag-${Z}-tooltip`)}},pK=".ag-tooltip{background-color:var(--ag-tooltip-background-color);border:var(--ag-tooltip-border);border-radius:var(--ag-border-radius);color:var(--ag-tooltip-text-color);padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);position:absolute;white-space:normal;z-index:99999;&:where(.ag-cell-editor-tooltip),&:where(.ag-cell-formula-tooltip){background-color:var(--ag-tooltip-error-background-color);border:var(--ag-tooltip-error-border);color:var(--ag-tooltip-error-text-color);font-weight:500}}.ag-tooltip-custom{position:absolute;z-index:99999}.ag-tooltip-custom:where(:not(.ag-tooltip-interactive)),.ag-tooltip:where(:not(.ag-tooltip-interactive)){pointer-events:none}.ag-tooltip-animate{transition:opacity 1s;&:where(.ag-tooltip-hiding){opacity:0}}",cJ=0,iK=200,nK=class extends j0{constructor(){super(...arguments);this.beanName="popupSvc",this.popupList=[]}postConstruct(){this.addManagedEventListeners({stylesChanged:this.handleThemeChange.bind(this)})}getPopupParent(){let Q=this.gos.get("popupParent");if(Q)return Q;return this.getDefaultPopupParent()}positionPopupUnderMouseEvent(Q){let{ePopup:z,nudgeX:J,nudgeY:Z,skipObserver:$}=Q;this.positionPopup({ePopup:z,nudgeX:J,nudgeY:Z,keepWithinBounds:!0,skipObserver:$,updatePosition:()=>this.calculatePointerAlign(Q.mouseEvent),postProcessCallback:()=>this.callPostProcessPopup(Q.additionalParams,Q.type,Q.ePopup,null,Q.mouseEvent)})}calculatePointerAlign(Q){let z=this.getParentRect();return{x:Q.clientX-z.left,y:Q.clientY-z.top}}positionPopupByComponent(Q){let{ePopup:z,nudgeX:J,nudgeY:Z,keepWithinBounds:$,eventSource:X,alignSide:Y="left",position:G="over",type:q}=Q,H=X.getBoundingClientRect(),_=this.getParentRect();this.setAlignedTo(X,z);let U=()=>{let W=H.left-_.left;if(Y==="right")W-=z.offsetWidth-H.width;let B;if(G==="over")B=H.top-_.top,this.setAlignedStyles(z,"over");else if(this.setAlignedStyles(z,"under"),this.shouldRenderUnderOrAbove(z,H,_,Q.nudgeY||0)==="under")B=H.top-_.top+H.height;else B=H.top-z.offsetHeight-(Z||0)*2-_.top;return{x:W,y:B}};this.positionPopup({ePopup:z,nudgeX:J,nudgeY:Z,keepWithinBounds:$,updatePosition:U,postProcessCallback:()=>this.callPostProcessPopup(Q.additionalParams,q,z,X,null)})}positionPopupForMenu(Q){let{eventSource:z,ePopup:J,event:Z}=Q,$=z.getBoundingClientRect(),X=this.getParentRect();this.setAlignedTo(z,J);let Y=!1,G=()=>{let q=this.keepXYWithinBounds(J,$.top-X.top,0),H=J.clientWidth>0?J.clientWidth:200;if(!Y)J.style.minWidth=`${H}px`,Y=!0;let U=X.right-X.left-H,W;if(this.gos.get("enableRtl")){if(W=E(),W<0)W=B(),this.setAlignedStyles(J,"left");if(W>U)W=0,this.setAlignedStyles(J,"right")}else{if(W=B(),W>U)W=E(),this.setAlignedStyles(J,"right");if(W<0)W=0,this.setAlignedStyles(J,"left")}return{x:W,y:q};function B(){return $.right-X.left-2}function E(){return $.left-X.left-H}};this.positionPopup({ePopup:J,keepWithinBounds:!0,updatePosition:G,postProcessCallback:()=>this.callPostProcessPopup(Q.additionalParams,"subMenu",J,z,Z instanceof MouseEvent?Z:void 0)})}shouldRenderUnderOrAbove(Q,z,J,Z){let $=J.bottom-z.bottom,X=z.top-J.top,Y=Q.offsetHeight+Z;if($>Y)return"under";if(X>Y||X>$)return"above";return"under"}setAlignedStyles(Q,z){let J=this.getPopupIndex(Q);if(J===-1)return;let Z=this.popupList[J],{alignedToElement:$}=Z;if(!$)return;let X=["right","left","over","above","under"];for(let Y of X)$.classList.remove(`ag-has-popup-positioned-${Y}`),Q.classList.remove(`ag-popup-positioned-${Y}`);if(!z)return;$.classList.add(`ag-has-popup-positioned-${z}`),Q.classList.add(`ag-popup-positioned-${z}`)}setAlignedTo(Q,z){let J=this.getPopupIndex(z);if(J!==-1){let Z=this.popupList[J];Z.alignedToElement=Q}}positionPopup(Q){let{ePopup:z,keepWithinBounds:J,nudgeX:Z,nudgeY:$,skipObserver:X,updatePosition:Y}=Q,G={width:0,height:0},q=(H=!1)=>{let{x:_,y:U}=Y();if(H&&z.clientWidth===G.width&&z.clientHeight===G.height)return;if(G.width=z.clientWidth,G.height=z.clientHeight,Z)_+=Z;if($)U+=$;if(J)_=this.keepXYWithinBounds(z,_,1),U=this.keepXYWithinBounds(z,U,0);if(z.style.left=`${_}px`,z.style.top=`${U}px`,Q.postProcessCallback)Q.postProcessCallback()};if(q(),!X){let H=DQ(this.beans,z,()=>q(!0));setTimeout(()=>H(),iK)}}getParentRect(){let Q=Y0(this.beans),z=this.getPopupParent();if(z===Q.body)z=Q.documentElement;else if(getComputedStyle(z).position==="static")z=z.offsetParent;return N8(z)}keepXYWithinBounds(Q,z,J){let Z=J===0,$=Z?"clientHeight":"clientWidth",X=Z?"top":"left",Y=Z?"height":"width",G=Z?"scrollTop":"scrollLeft",q=Y0(this.beans),H=q.documentElement,_=this.getPopupParent(),U=Q.getBoundingClientRect(),W=_.getBoundingClientRect(),B=q.documentElement.getBoundingClientRect(),E=_===q.body,K=Math.ceil(U[Y]),F=E?(Z?x8:w8)(H)+H[G]:_[$];if(E)F-=Math.abs(B[X]-W[X]);let D=F-K;return Math.min(Math.max(z,0),Math.max(D,0))}addPopup(Q){let{eChild:z,ariaLabel:J,ariaOwns:Z,alwaysOnTop:$,positionCallback:X,anchorToElement:Y}=Q,G=this.getPopupIndex(z);if(G!==-1)return{hideFunc:this.popupList[G].hideFunc};this.initialisePopupPosition(z);let q=this.createPopupWrapper(z,!!$,J,Z),H=this.addEventListenersToPopup({...Q,wrapperEl:q});if(X)X();return this.addPopupToPopupList(z,q,H,Y),{hideFunc:H}}initialisePopupPosition(Q){let J=this.getPopupParent().getBoundingClientRect();if(!T(Q.style.top))Q.style.top=`${J.top*-1}px`;if(!T(Q.style.left))Q.style.left=`${J.left*-1}px`}createPopupWrapper(Q,z,J,Z){let $=this.getPopupParent(),{environment:X,gos:Y}=this.beans,G=K0({tag:"div"});if(X.applyThemeClasses(G),G.classList.add("ag-popup"),Q.classList.add(Y.get("enableRtl")?"ag-rtl":"ag-ltr","ag-popup-child"),!Q.hasAttribute("role"))H0(Q,"dialog");if(J)E0(Q,J);else if(Z)Q.id||(Q.id=`popup-component-${cJ}`),W7(Z,Q.id);if(G.appendChild(Q),$.appendChild(G),z)this.setAlwaysOnTop(Q,!0);else this.bringPopupToFront(Q);return G}addEventListenersToPopup(Q){let z=this.beans,J=Y0(z),{wrapperEl:Z,eChild:$,closedCallback:X,afterGuiAttached:Y,closeOnEsc:G,modal:q,ariaOwns:H}=Q,_=!1,U=(K)=>{if(!Z.contains(d(z)))return;if(K.key===V.ESCAPE&&!this.isStopPropagation(K))E({keyboardEvent:K})},W=(K)=>E({mouseEvent:K}),B=(K)=>E({touchEvent:K}),E=(K={})=>{let{mouseEvent:L,touchEvent:F,keyboardEvent:D,forceHide:M}=K;if(!M&&(this.isEventFromCurrentPopup({mouseEvent:L,touchEvent:F},$)||_))return;if(_=!0,Z.remove(),J.removeEventListener("keydown",U),J.removeEventListener("mousedown",W),J.removeEventListener("touchstart",B),J.removeEventListener("contextmenu",W),this.eventSvc.removeListener("dragStarted",W),X)X(L||F||D);this.removePopupFromPopupList($,H)};if(Y)Y({hidePopup:E});return window.setTimeout(()=>{if(G)J.addEventListener("keydown",U);if(q)J.addEventListener("mousedown",W),this.eventSvc.addListener("dragStarted",W),J.addEventListener("touchstart",B),J.addEventListener("contextmenu",W)},0),E}addPopupToPopupList(Q,z,J,Z){if(this.popupList.push({element:Q,wrapper:z,hideFunc:J,instanceId:cJ,isAnchored:!!Z}),Z)this.setPopupPositionRelatedToElement(Q,Z);cJ=cJ+1}getPopupIndex(Q){return this.popupList.findIndex((z)=>z.element===Q)}setPopupPositionRelatedToElement(Q,z){let J=this.getPopupIndex(Q);if(J===-1)return;let Z=this.popupList[J];if(Z.stopAnchoringPromise)Z.stopAnchoringPromise.then((X)=>X&&X());if(Z.stopAnchoringPromise=void 0,Z.isAnchored=!1,!z)return;let $=this.keepPopupPositionedRelativeTo({element:z,ePopup:Q,hidePopup:Z.hideFunc});return Z.stopAnchoringPromise=$,Z.isAnchored=!0,$}removePopupFromPopupList(Q,z){if(this.setAlignedStyles(Q,null),this.setPopupPositionRelatedToElement(Q,null),z)W7(z,null);this.popupList=this.popupList.filter((J)=>J.element!==Q)}keepPopupPositionedRelativeTo(Q){let z=this.getPopupParent(),J=z.getBoundingClientRect(),{element:Z,ePopup:$}=Q,X=Z.getBoundingClientRect(),Y=(U)=>Number.parseInt(U.substring(0,U.length-1),10),G=(U,W)=>{let B=J[U]-X[U],E=Y($.style[U]);return{initialDiff:B,lastDiff:B,initial:E,last:E,direction:W}},q=G("top",0),H=G("left",1),_=this.beans.frameworkOverrides;return new g((U)=>{_.wrapIncoming(()=>{Hq(()=>{let W=z.getBoundingClientRect(),B=Z.getBoundingClientRect();if(B.top==0&&B.left==0&&B.height==0&&B.width==0){Q.hidePopup();return}let K=(L,F)=>{let D=Y($.style[F]);if(L.last!==D)L.initial=D,L.last=D;let M=W[F]-B[F];if(M!=L.lastDiff){let k=this.keepXYWithinBounds($,L.initial+L.initialDiff-M,L.direction);$.style[F]=`${k}px`,L.last=k}L.lastDiff=M};K(q,"top"),K(H,"left")},200).then((W)=>{U(()=>{if(W!=null)window.clearInterval(W)})})},"popupPositioning")})}isEventFromCurrentPopup(Q,z){let{mouseEvent:J,touchEvent:Z}=Q,$=J?J:Z;if(!$)return!1;let X=this.getPopupIndex(z);if(X===-1)return!1;for(let Y=X;Y<this.popupList.length;Y++){let G=this.popupList[Y];if(jZ(G.element,$))return!0}return this.isElementWithinCustomPopup($.target)}isElementWithinCustomPopup(Q){let z=Y0(this.beans);while(Q&&Q!==z.body){if(Q.classList.contains("ag-custom-component-popup")||Q.parentElement===null)return!0;Q=Q.parentElement}return!1}getWrapper(Q){while(!Q.classList.contains("ag-popup")&&Q.parentElement)Q=Q.parentElement;return Q.classList.contains("ag-popup")?Q:null}setAlwaysOnTop(Q,z){let J=this.getWrapper(Q);if(!J)return;if(J.classList.toggle("ag-always-on-top",!!z),z)this.bringPopupToFront(J)}bringPopupToFront(Q){let z=this.getPopupParent(),J=Array.prototype.slice.call(z.querySelectorAll(".ag-popup")),Z=J.length,$=this.getWrapper(Q);if(!$||Z<=1||!z.contains(Q))return;let X=[],Y=[];for(let W of J){if(W===$)continue;if(W.classList.contains("ag-always-on-top"))Y.push(W);else X.push(W)}let G=[],q=Y.length,U=$.classList.contains("ag-always-on-top")||!q?[...X,...Y,$]:[...X,$,...Y];for(let W=0;W<=Z;W++){let B=U[W];if(J[W]===U[W]||B===$)continue;let E=B.querySelectorAll("div");for(let K of E)if(K.scrollTop!==0)G.push([K,K.scrollTop]);if(W===0)z.prepend(B);else U[W-1].after(B)}while(G.length){let W=G.pop();W[0].scrollTop=W[1]}}handleThemeChange(Q){if(Q.themeChanged){let z=this.beans.environment;for(let J of this.popupList)z.applyThemeClasses(J.wrapper)}}},dK=class extends nK{getDefaultPopupParent(){return this.beans.ctrlsSvc.get("gridCtrl").getGui()}callPostProcessPopup(Q,z,J,Z,$){let X=this.gos.getCallback("postProcessPopup");if(X){let{column:Y,rowNode:G}=Q??{};X({column:Y,rowNode:G,ePopup:J,type:z,eventSource:Z,mouseEvent:$})}}getActivePopups(){return this.popupList.map((Q)=>Q.element)}hasAnchoredPopup(){return this.popupList.some((Q)=>Q.isAnchored)}isStopPropagation(Q){return zQ(Q)}},nz={moduleName:"Popup",version:p,beans:[dK]};function KZ(Q){return Q.get("tooltipShowMode")==="whenTruncated"}function tZ(Q,z){return KZ(Q)?i1(z):void 0}var tK=(Q,z)=>{let J=Q;if(typeof J.getTranslatedMessage==="function")return J.getTranslatedMessage(z);return Q.message},k5=(Q,z,J)=>{let{editModelSvc:Z}=Q,$=Z?.getCellValidationModel()?.getCellValidation(z)?.errorMessages,X=Z?.getRowValidationModel().getRowValidation(z)?.errorMessages,Y=$||X;return Y?.length?Y.join(J("tooltipValidationErrorSeparator",". ")):void 0},rK=(Q,z)=>{if(!KZ(Q.gos))return;if(z.isCellRenderer()){let Z=z.column.getColDef();if(!(!!Z.showRowGroup||Z.cellRenderer==="agGroupCellRenderer"))return;return i1(()=>{let X=z.eGui;return X.querySelector(".ag-group-value")||X.querySelector(".ag-cell-value")||X})}return i1(()=>{let Z=z.eGui;return Z.children.length===0?Z:Z.querySelector(".ag-cell-value")})},sK=(Q,z,J)=>{let{editSvc:Z}=Q,{column:$}=z,X=rK(Q,z),Y=()=>{if(Z?.isEditing(z))return!1;if(!X)return!0;if(!$.isTooltipEnabled())return!1;return X()};return{shouldDisplayDefault:Y,shouldDisplayColumnTooltip:Y,shouldDisplayCustomTooltip:J??Y}},lK=({beans:Q,ctrl:z,value:J,displayFunctions:Z,translate:$})=>{let{editSvc:X,formula:Y,gos:G}=Q,{column:q,rowNode:H}=z;if(Y?.active&&q.isAllowFormula()){let L=Y.getFormulaError(q,H);if(L)return{value:tK(L,$),location:"cellFormula",shouldDisplay:()=>!!Y?.getFormulaError(q,H)}}if(!X?.isEditing(z)){let L=k5(Q,z,$);if(L)return{value:L,location:"cellEditor",shouldDisplay:()=>!X?.isEditing(z)&&!!k5(Q,z,$)}}let{shouldDisplayCustomTooltip:U,shouldDisplayColumnTooltip:W}=Z;if(J!=null)return{value:J,location:"cell",shouldDisplay:U};let B=q.getColDef(),E=H.data;if(B.tooltipField&&T(E))return{value:h1(E,B.tooltipField,q.isTooltipFieldContainsDots()),location:"cell",shouldDisplay:W};let K=B.tooltipValueGetter;if(K)return{value:K(y(G,{location:"cell",colDef:q.getColDef(),column:q,rowIndex:z.cellPosition.rowIndex,node:H,data:H.data,value:z.value,valueFormatted:z.valueFormatted})),location:"cell",shouldDisplay:W};return null},aK=class extends j{constructor(){super(...arguments);this.beanName="tooltipSvc"}setupHeaderTooltip(Q,z,J,Z){if(Q)z.destroyBean(Q);let $=this.gos,X=KZ($),{column:Y,eGui:G}=z,q=Y.getColDef();if(!Z&&X&&!q.headerComponent)Z=i1(()=>G.querySelector(".ag-header-cell-text"));let H="header",_="header",U=this.beans.colNames.getDisplayNameForColumn(Y,_,!0),W=J??U,B={getGui:()=>G,getLocation:()=>H,getTooltipValue:()=>J??q?.headerTooltipValueGetter?.(y($,{location:H,colDef:q,column:Y,value:W,valueFormatted:U}))??q?.headerTooltip,shouldDisplayTooltip:Z,getAdditionalParams:()=>({column:Y,colDef:Y.getColDef()})},E=this.createTooltipFeature(B);if(E)E=z.createBean(E),z.setRefreshFunction("tooltip",()=>E.refreshTooltip());return E}setupHeaderGroupTooltip(Q,z,J,Z){if(Q)z.destroyBean(Q);let $=this.gos,X=KZ($),{column:Y,eGui:G}=z,q=Y.getColGroupDef();if(!Z&&X&&!q?.headerGroupComponent)Z=i1(()=>G.querySelector(".ag-header-group-text"));let H="headerGroup",_="header",U=this.beans.colNames.getDisplayNameForColumnGroup(Y,_),W=J??U,B={getGui:()=>G,getLocation:()=>H,getTooltipValue:()=>J??q?.headerTooltipValueGetter?.(y($,{location:H,colDef:q,column:Y,value:W,valueFormatted:U}))??q?.headerTooltip,shouldDisplayTooltip:Z,getAdditionalParams:()=>{let K={column:Y};if(q)K.colDef=q;return K}},E=this.createTooltipFeature(B);return E?z.createBean(E):E}enableCellTooltipFeature(Q,z,J){let{beans:Z}=this,{column:$,rowNode:X}=Q,Y=sK(Z,Q,J),G=this.getLocaleTextFunc(),q=null,H=()=>{return q=lK({beans:Z,ctrl:Q,value:z,displayFunctions:Y,translate:G}),q},U={getGui:()=>Q.eGui,getLocation:()=>q?.location??"cell",getTooltipValue:()=>H()?.value,shouldDisplayTooltip:()=>{let W=q??H();if(!W)return!1;return W.shouldDisplay?W.shouldDisplay():!0},getAdditionalParams:()=>({column:$,colDef:$.getColDef(),rowIndex:Q.cellPosition.rowIndex,node:X,data:X.data,valueFormatted:Q.valueFormatted})};return this.createTooltipFeature(U,Z)}setupFullWidthRowTooltip(Q,z,J,Z){let $={getGui:()=>z.getFullWidthElement(),getTooltipValue:()=>J,getLocation:()=>"fullWidthRow",shouldDisplayTooltip:Z},X=this.beans,Y=X.context;if(Q)z.destroyBean(Q,Y);let G=this.createTooltipFeature($,X);if(!G)return;return z.createBean(G,Y)}setupCellEditorTooltip(Q,z){let{beans:J}=this,{context:Z}=J,$=z.getValidationElement?.(!0)||!z.isPopup?.()&&Q.eGui;if(!$)return;let X={getGui:()=>$,getTooltipValue:()=>k5(J,Q,this.getLocaleTextFunc()),getLocation:()=>"cellEditor",shouldDisplayTooltip:()=>{let{editModelSvc:G}=J,q=G?.getRowValidationModel()?.getRowValidationMap(),H=G?.getCellValidationModel()?.getCellValidationMap(),_=!!q&&q.size>0,U=!!H&&H.size>0;return _||U}},Y=this.createTooltipFeature(X,J);if(!Y)return;return Q.createBean(Y,Z)}initCol(Q){let{colDef:z}=Q;Q.tooltipEnabled=T(z.tooltipField)||T(z.tooltipValueGetter)||T(z.tooltipComponent)}createTooltipFeature(Q,z){return this.beans.registry.createDynamicBean("tooltipFeature",!1,Q,z)}},oK=class extends uK{createTooltipComp(Q,z){Nq(this.beans.userCompFactory,Q)?.newAgStackInstance().then(z)}setEventHandlers(Q){[this.onColumnMovedEventCallback]=this.addManagedEventListeners({columnMoved:Q})}clearEventHandlers(){this.onColumnMovedEventCallback?.(),this.onColumnMovedEventCallback=void 0}},eK={moduleName:"Tooltip",version:p,beans:[aK],dynamicBeans:{tooltipFeature:XX,highlightTooltipFeature:mK,tooltipStateManager:oK},userComponents:{agTooltipComponent:cK},dependsOn:[nz],css:[pK]};var QL=".ag-cell-inline-editing{border:var(--ag-cell-editing-border)!important;border-radius:var(--ag-border-radius);box-shadow:var(--ag-cell-editing-shadow);padding:0;z-index:1;.ag-cell-edit-wrapper,.ag-cell-editor,.ag-cell-wrapper,:where(.ag-cell-editor) .ag-input-field-input,:where(.ag-cell-editor) .ag-wrapper{height:100%;line-height:normal;min-height:100%;width:100%}&.ag-cell-editing-error{border-color:var(--ag-invalid-color)!important}}:where(.ag-popup-editor) .ag-large-text{background-color:var(--ag-background-color);border-radius:var(--ag-border-radius);box-shadow:var(--ag-dropdown-shadow);padding:0}.ag-large-text-input{display:block;height:auto;padding:var(--ag-cell-horizontal-padding)}:where(.ag-rtl .ag-large-text-input) .ag-text-area-input{resize:none}:where(.ag-ltr) .ag-checkbox-edit{padding-left:var(--ag-cell-horizontal-padding)}:where(.ag-rtl) .ag-checkbox-edit{padding-right:var(--ag-cell-horizontal-padding)}:where(.ag-row.ag-row-editing-invalid .ag-cell-inline-editing){opacity:.8}.ag-popup-editor{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}";var zL=class extends j${constructor(Q,z="ag-text-field",J="text"){super(Q,z,J)}postConstruct(){if(super.postConstruct(),this.config.allowedCharPattern)this.preventDisallowedCharacters()}setValue(Q,z){let J=this.eInput;if(J.value!==Q)J.value=T(Q)?Q:"";return super.setValue(Q,z)}setStartValue(Q){this.setValue(Q,!0)}setCustomValidity(Q){let z=this.eInput,J=Q.length>0;if(z.setCustomValidity(Q),J)z.reportValidity();S8(z,J)}preventDisallowedCharacters(){let Q=new RegExp(`[${this.config.allowedCharPattern}]`),z=(J)=>{if(!e9(J))return;if(J.key&&!Q.test(J.key))J.preventDefault()};this.addManagedListeners(this.eInput,{keydown:z,paste:(J)=>{if(J.clipboardData?.getData("text")?.split("").some(($)=>!Q.test($)))J.preventDefault()}})}},T6={selector:"AG-INPUT-TEXT-FIELD",component:zL};var JL=class extends tq{constructor(Q){super();this.cellEditorInput=Q,this.eEditor=S}initialiseEditor(Q){let{cellEditorInput:z}=this;this.setTemplate({tag:"div",cls:"ag-cell-edit-wrapper",children:[z.getTemplate()]},z.getAgComponents());let{eEditor:J}=this,{cellStartedEdit:Z,eventKey:$,suppressPreventDefault:X}=Q;J.getInputElement().setAttribute("title",""),z.init(J,Q);let Y,G=!0;if(Z){if(this.focusAfterAttached=!0,$===V.BACKSPACE||$===V.DELETE)Y="";else if($&&$.length===1)if(X)G=!1;else Y=$;else if(Y=z.getStartValue(),$!==V.F2)this.highlightAllOnFocus=!0}else this.focusAfterAttached=!1,Y=z.getStartValue();if(G&&Y!=null)J.setStartValue(Y);this.addGuiEventListener("keydown",(q)=>{let{key:H}=q;if(H===V.PAGE_UP||H===V.PAGE_DOWN)q.preventDefault()})}afterGuiAttached(){let Q=this.getLocaleTextFunc(),z=this.eEditor;if(z.setInputAriaLabel(Q("ariaInputEditor","Input Editor")),!this.focusAfterAttached)return;if(!cz())z.getFocusableElement().focus();let J=z.getInputElement();if(this.highlightAllOnFocus)J.select();else this.cellEditorInput.setCaret?.()}focusIn(){let{eEditor:Q}=this,z=Q.getFocusableElement(),J=Q.getInputElement();z.focus(),J.select()}getValue(){return this.cellEditorInput.getValue()}agSetEditValue(Q){this.params.value=Q;let z=this.cellEditorInput.getStartValue();this.eEditor.setStartValue(z??null)}isPopup(){return!1}getValidationElement(){return this.eEditor.getInputElement()}getValidationErrors(){return this.cellEditorInput.getValidationErrors()}};var ZL={tag:"ag-input-text-field",ref:"eEditor",cls:"ag-cell-editor"},$L=class{constructor(Q){this.getLocaleTextFunc=Q}getTemplate(){return ZL}getAgComponents(){return[T6]}init(Q,z){this.eEditor=Q,this.params=z;let J=z.maxLength;if(J!=null)Q.setMaxLength(J)}getValidationErrors(){let{params:Q}=this,{maxLength:z,getValidationErrors:J}=Q,Z=this.getValue(),$=this.getLocaleTextFunc(),X=[];if(z!=null&&typeof Z==="string"&&Z.length>z)X.push($("maxLengthValidation",`Must be ${z} characters or fewer.`,[String(z)]));if(!X.length)X=null;if(J)return J({value:Z,cellEditorParams:Q,internalErrors:X});return X}getValue(){let{eEditor:Q,params:z}=this,J=Q.getValue();if(!T(J)&&!T(z.value))return z.value;return z.parseValue(J)}getStartValue(){let Q=this.params;return Q.useFormatter||Q.column.getColDef().refData?Q.formatValue(Q.value):Q.value}setCaret(){if(cz())this.eEditor.getInputElement().focus({preventScroll:!0});let Q=this.eEditor,z=Q.getValue(),J=T(z)&&z.length||0;if(J)Q.getInputElement().setSelectionRange(J,J)}},L8=class extends JL{constructor(){super(new $L(()=>this.getLocaleTextFunc()))}};function XL(Q,z){return Q.editModelSvc?.getEditRowDataValue(z,{checkSiblings:!0})}function YL(Q){let z=Q.editModelSvc?.getEditMap(),J=[];return z?.forEach((Z,$)=>{let{rowIndex:X,rowPinned:Y}=$;Z.forEach((G,q)=>{let{editorValue:H,pendingValue:_,sourceValue:U,state:W}=G,B=BQ(G),E=H??_;if(E===P0)E=void 0;let K={newValue:E,oldValue:U,state:W,column:q,colId:q.getColId(),colKey:q.getColId(),rowIndex:X,rowPinned:Y},L=W==="editing";if(L||!L&&B)J.push(K)})}),J}function GL(Q,z=!1){let{editSvc:J}=Q;if(J?.isBatchEditing()){if(z){for(let Z of Q.editModelSvc?.getEditPositions()??[])if(Z.state==="editing")J.revertSingleCellEdit(Z)}else Qz(Q,{persist:!0});eQ(Q,void 0,{cancel:z})}else J?.stopEditing(void 0,{cancel:z,source:"edit",forceStop:!z,forceCancel:z})}function qL(Q,z){let J=s(Q,z);return!!Q.editSvc?.isEditing(J)}function HL(Q,z){let{key:J,colKey:Z,rowIndex:$,rowPinned:X}=z,{editSvc:Y,colModel:G}=Q,q=G.getCol(Z);if(!q){R(12,{colKey:Z});return}let _=M0(Q,{rowIndex:$,rowPinned:X||null,column:q});if(!_){R(290,{rowIndex:$,rowPinned:X});return}if(!Y?.isCellEditable({rowNode:_,column:q},"api"))return;if(X==null)BK(Q,$);WK(Q,Z),Y?.startEditing({rowNode:_,column:q},{event:J?new KeyboardEvent("keydown",{key:J}):void 0,source:"api",editable:!0})}function _L(Q){return Q.editSvc?.validateEdit()||null}var UL={tag:"div",cls:"ag-popup-editor",attrs:{tabindex:"-1"}},WL=class extends a5{constructor(Q){super(UL);this.params=Q}postConstruct(){wz(this.gos,this.getGui(),"popupEditorWrapper",!0),this.addKeyDownListener()}addKeyDownListener(){let Q=this.getGui(),z=this.params,J=(Z)=>{if(!_5(this.gos,Z,z.node,z.column,!0))z.onKeyDown(Z)};this.addManagedElementListeners(Q,{keydown:J})}};function BL(Q,{column:z},J,Z,$="ui"){if(J instanceof KeyboardEvent&&(J.key===V.TAB||J.key===V.ENTER||J.key===V.F2||J.key===V.BACKSPACE&&Z))return!0;if(J?.shiftKey&&Q.rangeSvc?.getCellRanges().length!=0)return!1;let Y=z?.getColDef(),G=EL(Q.gos,Y),q=J?.type;if(q==="click"&&J?.detail===1&&G===1)return!0;if(q==="dblclick"&&J?.detail===2&&G===2)return!0;if($==="api")return!!Z;return!1}function EL(Q,z){if(Q.get("suppressClickEdit")===!0)return 0;if(Q.get("singleClickEdit")===!0)return 1;if(z?.singleClickEdit)return 1;return 2}function s2(Q,z){return Q.editModelSvc?.hasEdits(z,{withOpenEditor:!0})??!1}function V5(Q,z){let{column:J,rowNode:Z}=z,$=J.getColDef();if(!Z)return s2(Q,z);let X=$.editable;if(Z.group&&$.groupRowEditable!=null){if(Q.rowGroupingEditValueSvc?.isGroupCellEditable(Z,J))return!0;return s2(Q,z)}if(J.isColumnFunc(Z,X))return!0;return s2(Q,z)}function KL(Q,z,J="ui"){let Z=V5(Q,z);if(Z||J==="ui")return Z;let{rowNode:$,column:X}=z;for(let Y of Q.colModel.getCols())if(Y!==X&&V5(Q,{rowNode:$,column:Y}))return!0;return!1}var LZ=(Q,z=!1)=>{if(Q!==void 0)return BQ(Q)||z&&Q.state==="editing"};function YX(Q,z,J=!1){return LZ(Q.editModelSvc?.getEdit(z),J)}var GX=(Q,z,J)=>{if(!Q)return;for(let Z=0,$=Q.length;Z<$;++Z){let X=Q[Z];if(X.data){if(LZ(z?.getEdit({rowNode:X,column:J}))||LZ(z?.getEdit({rowNode:X.pinnedSibling,column:J})))return!0}if(GX(X.childrenAfterGroup,z,J))return!0}};function qX(Q,z){let{column:J,rowNode:Z}=z;if(Q.gos.get("groupTotalRow")&&!Z?.footer)return!1;return GX(Z?.childrenAfterGroup,Q.editModelSvc,J)}function HX(Q,{rowNode:z,column:J}){if(z=z.pinnedSibling,!z)return;return LZ(Q.editModelSvc?.getEdit({rowNode:z,column:J}))}var LL=class extends j{constructor(Q,z){super();this.cellCtrl=Q,this.beans=z,this.editSvc=z.editSvc,this.editModelSvc=z.editModelSvc}setComp(Q){this.cellComp=Q,this.applyCellStyles()}applyCellStyles(){let{cellCtrl:Q,editSvc:z,beans:J}=this;if(z?.isBatchEditing()&&z.isEditing()){let $=YX(J,Q)||qX(J,Q)||HX(J,Q);this.applyBatchingStyle($)}else this.applyBatchingStyle(!1);let Z=!!this.editModelSvc?.getCellValidationModel().hasCellValidation(this.cellCtrl);this.cellComp.toggleCss("ag-cell-editing-error",Z)}applyBatchingStyle(Q){this.cellComp.toggleCss("ag-cell-editing",Q??!1),this.cellComp.toggleCss("ag-cell-batch-edit",(Q&&this.editSvc?.isBatchEditing())??!1)}},FL=class extends j{constructor(Q,z){super();this.rowCtrl=Q,this.beans=z,this.gos=z.gos,this.editSvc=z.editSvc,this.editModelSvc=z.editModelSvc}applyRowStyles(){let{rowCtrl:Q,editModelSvc:z,beans:J}=this,Z=Q.rowNode,$=z?.getEditRow(Z),X=this.editModelSvc?.getRowValidationModel().hasRowValidation({rowNode:Z});if(!$&&Z.pinnedSibling)Z=Z.pinnedSibling,$=z?.getEditRow(Z);if($){let Y=Array.from($.keys()).some((G)=>{let q={rowNode:Z,column:G};return YX(J,q,!0)||qX(J,q)||HX(J,q)});this.applyStyle(X,Y);return}this.applyStyle(X)}applyStyle(Q=!1,z=!1){let J=!!this.editSvc?.isBatchEditing(),Z=this.gos.get("editType")==="fullRow";this.rowCtrl?.forEachGui(void 0,({rowComp:$})=>{$.toggleCss("ag-row-editing",Z&&z),$.toggleCss("ag-row-batch-edit",Z&&z&&J),$.toggleCss("ag-row-inline-editing",z),$.toggleCss("ag-row-not-inline-editing",!z),$.toggleCss("ag-row-editing-invalid",Z&&z&&Q)})}},DL=({rowModel:Q,pinnedRowModel:z,editModelSvc:J},Z)=>{let $=new Set;Q.forEachNode((X)=>Z.has(X)&&$.add(X)),z?.forEachPinnedRow("top",(X)=>Z.has(X)&&$.add(X)),z?.forEachPinnedRow("bottom",(X)=>Z.has(X)&&$.add(X));for(let X of Z)if(!$.has(X))J.removeEdits({rowNode:X});return $},ML=({editModelSvc:Q},z,J)=>{for(let Z of z)Q?.getEditRow(Z)?.forEach(($,X)=>!J.has(X)&&Q.removeEdits({rowNode:Z,column:X}))},kL=(Q)=>()=>{let z=new Set(Q.colModel.getCols()),J=Q.editModelSvc.getEditMap(!0),Z=new Set(J.keys());ML(Q,DL(Q,Z),z)},VL=new Set(["undo","redo","paste","bulk","rangeSvc"]),fL=new Set(["ui","api"]),_X={paste:"api",rangeSvc:"api",fillHandle:"api",cellClear:"api",bulk:"api"},AL=new Set(Object.keys(_X)),jL=new Set(["paste","rangeSvc","cellClear","redo","undo"]),l2={cancel:!0,source:"api"},RL={cancel:!1,source:"api"},Rz={checkSiblings:!0},lQ={force:!0,suppressFlash:!0},SL={force:!0},OL=class extends j{constructor(){super(...arguments);this.beanName="editSvc",this.committing=!1,this.batch=!1,this.batchStartDispatched=!1,this.stopping=!1,this.rangeSelectionWhileEditing=0}postConstruct(){let{beans:Q}=this;this.model=Q.editModelSvc,this.valueSvc=Q.valueSvc,this.rangeSvc=Q.rangeSvc,this.addManagedPropertyListener("editType",({currentValue:Z})=>{this.stopEditing(void 0,l2),this.createStrategy(Z)});let z=kL(Q),J=()=>{let Z=this.model.getCellValidationModel().getCellValidationMap().size>0,$=this.model.getRowValidationModel().getRowValidationMap().size>0;if(Z||$)this.stopEditing(void 0,l2);else if(this.isEditing())if(this.batch)eQ(Q,this.model.getEditPositions());else this.stopEditing(void 0,RL);return!1};this.addManagedEventListeners({columnPinned:z,columnVisible:z,columnRowGroupChanged:z,rowExpansionStateChanged:z,pinnedRowsChanged:z,displayedRowsChanged:z,sortChanged:J,filterChanged:J,cellFocused:this.onCellFocused.bind(this)})}isBatchEditing(){return this.batch}startBatchEditing(){if(this.batch)return;this.batch=!0,this.batchStartDispatched=!1,this.stopEditing(void 0,l2)}stopBatchEditing(Q){if(!this.batch)return;if(Q)this.stopEditing(void 0,Q);if(this.batchStartDispatched)this.dispatchBatchStopped(new Map,!1);this.batch=!1,this.batchStartDispatched=!1}ensureBatchStarted(){if(!this.batch||this.batchStartDispatched)return;this.batchStartDispatched=!0,this.dispatchBatchEvent("batchEditingStarted",new Map)}createStrategy(Q){let{beans:z,gos:J,strategy:Z}=this,$=F8(J,Q);if(Z){if(Z.beanName===$)return Z;this.destroyStrategy()}return this.strategy=this.createOptionalManagedBean(z.registry.createDynamicBean($,!0))}destroyStrategy(){if(!this.strategy)return;this.strategy.destroy(),this.strategy=this.destroyBean(this.strategy)}shouldStartEditing(Q,z,J,Z="ui"){let $=BL(this.beans,Q,z,J,Z);if($)this.strategy??(this.strategy=this.createStrategy());return $}shouldStopEditing(Q,z,J="ui"){return this.strategy?.shouldStop(Q,z,J)??null}shouldCancelEditing(Q,z,J="ui"){return this.strategy?.shouldCancel(Q,z,J)??null}validateEdit(){return m3(this.beans)}isEditing(Q,z){return this.model.hasEdits(Q??void 0,z??Rz)}isRowEditing(Q,z){return!!Q&&this.model.hasRowEdits(Q,z)}enableRangeSelectionWhileEditing(){if(this.beans.rangeSvc&&this.gos.get("cellSelection"))this.rangeSelectionWhileEditing++}disableRangeSelectionWhileEditing(){this.rangeSelectionWhileEditing=Math.max(0,this.rangeSelectionWhileEditing-1)}isRangeSelectionEnabledWhileEditing(){return this.rangeSelectionWhileEditing>0}startEditing(Q,z){let{startedEdit:J=!0,event:Z=null,source:$="ui",ignoreEventKey:X=!1,silent:Y}=z;if(this.strategy??(this.strategy=this.createStrategy()),!(z.editable??this.isCellEditable(Q,"api")))return;let q=s(this.beans,Q);if(q&&!q.comp){z.editable=void 0,q.onCompAttachedFuncs.push(()=>this.startEditing(Q,z));return}let H=this.shouldStartEditing(Q,Z,J,$);if(H===!1&&$!=="api"){if(this.isEditing(Q))this.stopEditing();return}if(!this.batch&&this.shouldStopEditing(Q,void 0,$)&&!z.continueEditing)this.stopEditing(void 0,{source:$});if(H)this.ensureBatchStarted();this.strategy.start({position:Q,event:Z,source:$,ignoreEventKey:X,startedEdit:J,silent:Y})}stopEditing(Q,z){let J=this.prepareStopContext(Q,z);if(!J)return!1;this.stopping=!0;let Z=!1,{edits:$}=J;try{let X=this.processStopRequest(J);return Z||(Z=X.res),$=X.edits,this.finishStopEditing({...J,edits:$,params:z,position:Q,res:Z}),Z}finally{this.rangeSelectionWhileEditing=0,this.stopping=!1}}prepareStopContext(Q,z){let{event:J=null,cancel:Z=!1,source:$="ui",forceCancel:X=!1,forceStop:Y=!1,commit:G=!1}=z||{};if(AL.has($)&&this.batch){if(Q?.rowNode&&Q?.column)this.bulkRefreshCell(Q);return null}let q=this.committing?_X[$]:$;if(!(this.committing||this.isEditing(Q)||this.batch&&this.model.hasEdits(Q,Rz))||!this.strategy||this.stopping)return null;let _=s(this.beans,Q);if(_)_.onEditorAttachedFuncs=[];let U=!Z&&(!!this.shouldStopEditing(Q,J,q)||(this.committing||$==="paste")&&!this.batch)||Y,W=Z&&!!this.shouldCancelEditing(Q,J,q)||X;return{cancel:Z,cellCtrl:_,edits:this.model.getEditMap(!0),event:J??null,forceCancel:X,forceStop:Y,commit:G,position:Q,source:$,treatAsSource:q,willCancel:W,willStop:U}}processStopRequest(Q){let{event:z,position:J,willCancel:Z,willStop:$}=Q;if($||Z)return this.handleStopOrCancel(Q);if(this.shouldHandleMidBatchKey(z,J))return{res:!1,edits:this.handleMidBatchKey(z,J,Q)};if(Qz(this.beans,{persist:!0}),this.batch)this.strategy?.cleanupEditors(J);return{res:!1,edits:this.model.getEditMap()}}handleStopOrCancel(Q){let{beans:z,model:J}=this,{cancel:Z,commit:$,edits:X,event:Y,source:G,willCancel:q,willStop:H}=Q,_=!this.batch||!q;Qz(z,{persist:_,isCancelling:q||Z,isStopping:H});let U=J.getEditMap(),B=!q&&(!this.batch||$)?this.processEdits(U,G):[];if(Z)this.strategy?.stopCancelled(Q.forceCancel);else this.strategy?.stopCommitted(Y,$);this.clearValidationIfNoOpenEditors();for(let E of B)J.clearEditValue(E);this.bulkRefreshMap(X);for(let E of J.getEditPositions(U)){let K=s(z,E),L=BQ(E);K?.refreshCell({force:!0,suppressFlash:!L})}return{res:H,edits:U}}shouldHandleMidBatchKey(Q,z){return Q instanceof KeyboardEvent&&this.batch&&!!this.strategy?.midBatchInputsAllowed(z)&&this.isEditing(z,{withOpenEditor:!0})}handleMidBatchKey(Q,z,J){let{beans:Z,model:$}=this,{cellCtrl:X,edits:Y}=J,{key:G}=Q,q=G===V.ENTER,H=G===V.ESCAPE,_=G===V.TAB;if(q||_||H){if(q||_)Qz(Z,{persist:!0});else if(H&&X){let{rowNode:U,column:W}=X;if(this.batch&&U&&W){let B={rowNode:U,column:W};eQ(Z,[B],{silent:!0}),this.model.stop(B,!0,!0),s(Z,B)?.refreshCell(lQ)}else this.revertSingleCellEdit(X)}if(this.batch)this.strategy?.cleanupEditors();else eQ(Z,$.getEditPositions(),{event:Q,cancel:H});return Q.preventDefault(),this.bulkRefreshMap(Y,{suppressFlash:!0}),$.getEditMap()}return Y}finishStopEditing({cellCtrl:Q,edits:z,params:J,position:Z,res:$,commit:X,forceCancel:Y,willCancel:G,willStop:q}){let H=this.beans;if($&&Z){if(!this.batch||X)this.model.removeEdits(Z)}this.navigateAfterEdit(J,Q?.cellPosition),x1(H),this.clearValidationIfNoOpenEditors();let{rowRenderer:_,formula:U}=H;if(G)_.refreshRows({rowNodes:Array.from(z.keys())});if(this.batch){if(U)U.refreshFormulas(!0);else _.refreshRows({suppressFlash:!0,force:!0});let W=q&&X;if(W||G&&Y)this.dispatchBatchStopped(z,W)}}dispatchBatchStopped(Q,z){let J;if(z){if(J=b3(Q),J.size>0)this.ensureBatchStarted()}if(this.batchStartDispatched)this.batchStartDispatched=!1,this.dispatchBatchEvent("batchEditingStopped",J??new Map)}clearValidationIfNoOpenEditors(){if(!this.model.hasEdits(void 0,{withOpenEditor:!0}))this.model.getCellValidationModel().clearCellValidationMap(),this.model.getRowValidationModel().clearRowValidationMap()}navigateAfterEdit(Q,z){if(!Q||!z)return;let{event:J,suppressNavigateAfterEdit:Z}=Q;if(!(J instanceof KeyboardEvent)||Z)return;let{key:X,shiftKey:Y}=J,G=this.gos.get("enterNavigatesVerticallyAfterEdit");if(X!==V.ENTER||!G)return;let q=Y?V.UP:V.DOWN;this.beans.navigation?.navigateToNextCell(null,q,z,!1)}processEdits(Q,z){let J=Array.from(Q.keys()),Z=this.model.getCellValidationModel().getCellValidationMap().size>0||this.model.getRowValidationModel().getRowValidationMap().size>0,$=[],{changeDetectionSvc:X}=this.beans;X?.beginDeferred();try{for(let Y of J){let G=Q.get(Y);for(let q of G.keys()){let H=G.get(q),_={rowNode:Y,column:q};if(BQ(H)&&!Z){let U=s(this.beans,_);if(!this.setNodeDataValue(Y,q,H.pendingValue,U,z))$.push(_)}}}}finally{X?.endDeferred()}return $}setNodeDataValue(Q,z,J,Z,$="edit"){let X=fL.has($)?"edit":$;if(Z)Z.suppressRefreshCell=!0;this.committing=!0;try{return Q.setDataValue(z,J,X)}finally{if(this.committing=!1,Z)Z.suppressRefreshCell=!1}}syncEditAfterCommit(Q,z){let J=this.model.getEdit(Q);if(J&&J.state!=="editing")if(z)this.beans.editModelSvc?.setEdit(Q,{sourceValue:J.pendingValue});else this.model.clearEditValue(Q)}setEditMap(Q,z){this.strategy??(this.strategy=this.createStrategy()),this.strategy?.setEditMap(Q,z),this.bulkRefreshMap(Q);let J=lQ;if(z?.forceRefreshOfEditCellsOnly)J={...PL(Q),...lQ};this.beans.rowRenderer.refreshCells(J)}dispatchEditValuesChanged({rowNode:Q,column:z},J={}){if(!Q||!z||!J)return;let{pendingValue:Z,sourceValue:$}=J,{rowIndex:X,rowPinned:Y,data:G}=Q;this.beans.eventSvc.dispatchEvent({type:"cellEditValuesChanged",node:Q,rowIndex:X,rowPinned:Y,column:z,source:"api",data:G,newValue:Z,oldValue:$,value:Z,colDef:z.getColDef()})}bulkRefreshCell(Q,z){if(o(this.gos,this.beans.rowModel))this.refCell(Q,this.model.getEdit(Q),z)}bulkRefreshMap(Q,z){if(o(this.gos,this.beans.rowModel))Q.forEach((J,Z)=>{for(let $ of J.keys())this.refCell({rowNode:Z,column:$},J.get($),z)})}refCell({rowNode:Q,column:z},J,Z={}){let{beans:$,gos:X}=this,Y=new Set([Q]),G=new Set,q=Q.pinnedSibling;if(q)Y.add(q);let H=Q.sibling;if(H)G.add(H);let _=Q.parent;while(_){if(_.sibling?.footer&&X.get("groupTotalRow"))G.add(_.sibling);else if(!_.parent&&_.sibling&&X.get("grandTotalRow"))G.add(_.sibling);else G.add(_);_=_.parent}for(let U of Y)this.dispatchEditValuesChanged({rowNode:U,column:z},J);for(let U of Y)s($,{rowNode:U,column:z})?.refreshCell(Z);for(let U of G){let W=s($,{rowNode:U,column:z});if(W){if(W.refreshCell(Z),!Z.force&&this.batch)W.editStyleFeature?.applyCellStyles?.()}}}stopAllEditing(Q=!1,z="ui"){if(this.isEditing())this.stopEditing(void 0,{cancel:Q,source:z})}isCellEditable(Q,z="ui"){let{gos:J,beans:Z}=this,$=Q.rowNode;if($.group&&Q.column.getColDef().groupRowEditable==null){if(J.get("treeData")){if(!$.data&&!J.get("enableGroupEdit"))return!1}else if(!J.get("enableGroupEdit"))return!1}let X=F8(J)==="fullRow"?KL(Z,Q,z):V5(Z,Q);if(X)this.strategy??(this.strategy=this.createStrategy());return X}cellEditingInvalidCommitBlocks(){return this.gos.get("invalidEditValueMode")==="block"}checkNavWithValidation(Q,z,J=!0){if(this.hasValidationErrors(Q)){let Z=s(this.beans,Q);if(this.cellEditingInvalidCommitBlocks()){if(z?.preventDefault?.(),J){if(Z&&!Z.hasBrowserFocus())Z.focusCell();Z?.comp?.getCellEditor()?.focusIn?.()}return"block-stop"}if(Z)this.revertSingleCellEdit(Z);return"revert-continue"}return"continue"}revertSingleCellEdit(Q,z=!1){let J=s(this.beans,Q);if(!J?.comp?.getCellEditor())return;if(eQ(this.beans,[Q],{silent:!0}),this.model.clearEditValue(Q),gz(this.beans,Q,{silent:!0}),Yz(this.beans),J?.refreshCell(lQ),!z)return;J?.focusCell(),J?.comp?.getCellEditor()?.focusIn?.()}hasValidationErrors(Q){Yz(this.beans);let z=s(this.beans,Q);if(z)z.refreshCell(lQ),z.rowCtrl.rowEditStyleFeature?.applyRowStyles();let J=!1;if(Q?.rowNode){if(J||(J=this.model.getRowValidationModel().hasRowValidation({rowNode:Q.rowNode})),Q.column)J||(J=this.model.getCellValidationModel().hasCellValidation({rowNode:Q.rowNode,column:Q.column}))}else J||(J=this.model.getCellValidationModel().getCellValidationMap().size>0),J||(J=this.model.getRowValidationModel().getRowValidationMap().size>0);return J}moveToNextCell(Q,z,J,Z="ui"){let $,X=this.isEditing(),Y=X&&this.checkNavWithValidation(void 0,J)==="block-stop";if(Q instanceof u1&&X)$=this.strategy?.moveToNextEditingCell(Q,z,J,Z,Y);if($===null)return $;if($=$||!!this.beans.focusSvc.focusedHeader,$===!1&&!Y)this.stopEditing();return $}getPendingEditValue(Q,z,J){if(J==="data")return;if(J==="batch"&&!this.batch)return;let Z=this.model.getEdit({rowNode:Q,column:z},Rz);if(!Z)return;if(this.stopping&&!this.batch&&!Z.editorState?.cellStartedEditing)return;if(J==="edit"){let X=Z.editorValue;if(X!=null&&X!==P0)return X}let $=Z.pendingValue;if($!==P0)return $;return}getCellDataValue(Q){let z=this.model.getEdit(Q,Rz);if(z){let J=z.pendingValue;if(J!==P0)return J;let Z=z.sourceValue;if(Z!=null)return Z}return this.valueSvc.getValue(Q.column,Q.rowNode,"data")}addStopEditingWhenGridLosesFocus(Q){v3(this,this.beans,Q)}createPopupEditorWrapper(Q){return new WL(Q)}batchResetToSourceValue(Q){if(!this.batch)return!1;let z=this.model.getEdit(Q);if(!z)return!1;let{pendingValue:J,sourceValue:Z,state:$}=z;if(J===Z)return!1;if($==="editing")return!1;return this.dispatchEditValuesChanged(Q,{...z,pendingValue:Z}),this.beans.editModelSvc?.removeEdits(Q),s(this.beans,Q)?.refreshCell(lQ),!0}setDataValue(Q,z,J){try{let Z=this.batch,$=this.isEditing(Z?void 0:Q);if((!$||this.committing)&&!Z&&!jL.has(J))return;if(!$&&!Z&&J==="paste")return;if(J==="batch"&&!Z)return;if(J==="edit"){if($&&this.applyEditorValue(Q,z))return!0;if(!Z)return}if(this.strategy??(this.strategy=this.createStrategy()),J==="batch"||J==="edit")return this.applyDirectValue(Q,z,J);let X=this.beans,Y;if(Z)Y="ui";else if(this.committing)Y=J??"api";else Y="api";if(!J||VL.has(J))return this.applyDirectValue(Q,z,J);let G=this.applyExistingEdit(Q,z,J,Y);if(G!==void 0)return G;return z1(X,Q,z,J,void 0,{persist:!0}),this.ensureBatchStarted(),this.stopEditing(Q,{source:Y,suppressNavigateAfterEdit:!0}),!0}finally{this.committing=!1}}applyExistingEdit(Q,z,J,Z){let $=this.model.getEdit(Q);if(!$)return;if($.pendingValue===z)return!1;if($.sourceValue!==z)return z1(this.beans,Q,z,J,void 0,{persist:!0}),this.ensureBatchStarted(),this.stopEditing(Q,{source:Z,suppressNavigateAfterEdit:!0}),!0;return this.beans.editModelSvc?.removeEdits(Q),this.ensureBatchStarted(),this.dispatchEditValuesChanged(Q,{...$,pendingValue:z}),!0}applyEditorValue(Q,z){let J=this.beans,Z=s(J,Q),$=Z?.comp?.getCellEditor();if(!Z||!$)return!1;if(z1(J,Q,z,"edit",void 0,{persist:!0}),Z.editStyleFeature?.applyCellStyles?.(),"agSetEditValue"in $)return $.agSetEditValue(z),!0;if($.refresh&&Z.editCompDetails)return $.refresh({...Z.editCompDetails.params,value:z}),!0;if(Z.hasBrowserFocus())Z.onEditorAttachedFuncs.push(()=>{let Y=s(this.beans,Q);Y?.focusCell(!0),Y?.comp?.getCellEditor()?.focusIn?.()});return eQ(J,[Q],{silent:!0,cancel:!0}),gz(J,Q,{silent:!0}),Yz(J),s(J,Q)?.refreshCell(lQ),!0}applyDirectValue(Q,z,J){let Z=this.beans;if(this.batch){if(J==="batch"&&s(Z,Q)?.comp?.getCellEditor()){let{editModelSvc:Y,valueSvc:G}=Z,{rowNode:q,column:H}=Q;if(Y?.getEdit(Q)?.sourceValue===void 0)Y?.setEdit(Q,{sourceValue:G.getValue(H,q,"data")});Y?.setEdit(Q,{pendingValue:z})}else if(z1(Z,Q,z,J,void 0,{persist:!0}),J!=="batch")this.cleanupEditors();return x1(Z),this.ensureBatchStarted(),this.bulkRefreshCell(Q),!0}z1(Z,Q,z,J,void 0,{persist:!0});let $=s(Z,Q),X=this.setNodeDataValue(Q.rowNode,Q.column,z,$,J);return this.syncEditAfterCommit(Q,X),x1(Z),s(Z,Q)?.refreshCell(X?SL:lQ),X}handleColDefChanged(Q){x3(this.beans,Q)}destroy(){this.model.clear(),this.destroyStrategy(),super.destroy()}prepDetailsDuringBatch(Q,z){let{model:J}=this;if(!this.batch)return;if(!J.hasRowEdits(Q.rowNode,Rz))return;let{rowNode:$}=Q,{compDetails:X,valueToDisplay:Y}=z;if(X){let{params:G}=X;return G.data=J.getEditRowDataValue($,Rz),{compDetails:X}}return{valueToDisplay:Y}}cleanupEditors(){this.strategy?.cleanupEditors()}dispatchCellEvent(Q,z,J,Z){this.strategy?.dispatchCellEvent(Q,z,J,Z)}dispatchBatchEvent(Q,z){this.eventSvc.dispatchEvent(this.createBatchEditEvent(Q,z))}createBatchEditEvent(Q,z){return y(this.gos,{type:Q,...Q==="batchEditingStopped"?{changes:this.toEventChangeList(z)}:{}})}toEventChangeList(Q){return this.model.getEditPositions(Q).map((z)=>({rowIndex:z.rowNode.rowIndex,rowPinned:z.rowNode.rowPinned,columnId:z.column.getColId(),newValue:z.pendingValue,oldValue:z.sourceValue}))}applyBulkEdit({rowNode:Q,column:z},J){if(!J||J.length===0)return;let{beans:Z,rangeSvc:$,valueSvc:X}=this,{formula:Y}=Z;Qz(Z,{persist:!0});let G=this.model.getEditMap(!0),q=G.get(Q)?.get(z)?.pendingValue,H=!1;if(!this.batch)this.eventSvc.dispatchEvent({type:"bulkEditingStarted"}),H=!0;let _=Y?.isFormula(q)??!1;J.forEach((W)=>{let B=W.columns.some((E)=>E?.isAllowFormula());if($?.forEachRowInRange(W,(E)=>{let K=M0(Z,E);if(K===void 0)return;let L=G.get(K)??new Map,F=q;for(let D of W.columns){if(!D)continue;let M=!!_&&D.isAllowFormula();if(this.isCellEditable({rowNode:K,column:D},"api")){let k=X.getValue(D,K,"data",!0),f=X.parseValue(D,K??null,F,k);if(Number.isNaN(f))f=null;L.set(D,{editorValue:void 0,pendingValue:f,sourceValue:k,state:"changed",editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0}})}if(M)F=Y?.updateFormulaByOffset({value:F,columnDelta:1})}if(L.size>0)G.set(K,L);if(_&&B)q=Y?.updateFormulaByOffset({value:q,rowDelta:1})}),this.setEditMap(G),this.batch){this.cleanupEditors(),x1(Z),this.ensureBatchStarted();return}this.committing=!0;try{this.stopEditing(void 0,{source:"bulk"})}finally{if(this.committing=!1,H)this.eventSvc.dispatchEvent({type:"bulkEditingStopped",changes:this.toEventChangeList(G)})}});let U=s(Z,{rowNode:Q,column:z});if(U)U.focusCell(!0)}createCellStyleFeature(Q){return new LL(Q,this.beans)}createRowStyleFeature(Q){return new FL(Q,this.beans)}setEditingCells(Q,z){let{beans:J}=this,{colModel:Z,valueSvc:$}=J,X=new Map;for(let{colId:Y,column:G,colKey:q,rowIndex:H,rowPinned:_,newValue:U,state:W}of Q){let B=Y?Z.getCol(Y):q?Z.getCol(q):G;if(!B)continue;let E=M0(J,{rowIndex:H,rowPinned:_});if(!E)continue;let K=$.getValue(B,E,"data",!0);if(!z?.forceRefreshOfEditCellsOnly&&!BQ({pendingValue:U,sourceValue:K})&&W!=="editing")continue;let L=X.get(E);if(!L)L=new Map,X.set(E,L);if(U===void 0)U=P0;L.set(B,{editorValue:void 0,pendingValue:U,sourceValue:K,state:W??"changed",editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0}})}this.setEditMap(X,z)}onCellFocused(Q){let z=s(this.beans,Q);if(!z||!this.isEditing(z,Rz))return;let J=this.model.getEdit(z);if(!J||!BQ(J))return;let $=this.getLocaleTextFunc()("ariaPendingChange","Pending Change");this.beans.ariaAnnounce?.announceValue($,"pendingChange")}allowedFocusTargetOnValidation(Q){return s(this.beans,Q)}};function PL(Q){return{rowNodes:Q?Array.from(Q.keys()):void 0,columns:Q?[...new Set(Array.from(Q.values()).flatMap((z)=>Array.from(z.keys())))]:void 0}}function F8(Q,z){return z??Q.get("editType")??"singleCell"}var UX=class extends j{postConstruct(){this.model=this.beans.editModelSvc,this.editSvc=this.beans.editSvc,this.addManagedEventListeners({cellFocused:this.onCellFocusChanged?.bind(this),cellFocusCleared:this.onCellFocusChanged?.bind(this)})}clearEdits(Q){this.model.clearEditValue(Q)}onCellFocusChanged(Q){let z,J=Q.previousParams,{editSvc:Z,beans:$}=this,X=Q.type==="cellFocused"?Q.sourceEvent:null;if(J)z=s($,J);let{gos:Y,editModelSvc:G}=$,q=Q.type==="cellFocusCleared";if(Z.isEditing(void 0,{withOpenEditor:!0})){let{column:H,rowIndex:_,rowPinned:U}=Q,W={column:H,rowNode:M0($,{rowIndex:_,rowPinned:U})},B=Y.get("invalidEditValueMode")==="block";if(B)return;let E=!B,K=!!G?.getCellValidationModel().hasCellValidation(W),L=E&&K;if(!(J||q?Z.stopEditing(void 0,{cancel:L,source:q&&E?"api":void 0,event:X}):!0))if(Z.isBatchEditing())Z.cleanupEditors();else Z.stopEditing(void 0,{source:"api"})}z?.refreshCell({suppressFlash:!0,force:!0})}stopCancelled(Q){let z=this.editSvc.isBatchEditing()&&!Q;for(let J of this.model.getEditPositions())QJ(this.beans,J,{cancel:!0},s(this.beans,J)),this.model.stop(J,z,!0);return!0}stopCommitted(Q,z){let J=this.model.getEditPositions(),Z={all:[],pass:[],fail:[]};for(let Y of J)if(Z.all.push(Y),(this.model.getCellValidationModel().getCellValidation(Y)?.errorMessages?.length??0)>0)Z.fail.push(Y);else Z.pass.push(Y);let $=this.processValidationResults(Z),X=this.editSvc.isBatchEditing()&&!z;for(let Y of $.destroy)QJ(this.beans,Y,{event:Q},s(this.beans,Y)),this.model.stop(Y,X,!1);for(let Y of $.keep){let G=s(this.beans,Y);if(!this.editSvc.cellEditingInvalidCommitBlocks()&&G)this.editSvc.revertSingleCellEdit(G)}return!0}cleanupEditors({rowNode:Q}={},z){Qz(this.beans,{persist:!1});let J=this.model.getEditPositions(),Z=[];if(Q){for(let $ of J)if($.rowNode!==Q)Z.push($)}else for(let $ of J)Z.push($);eQ(this.beans,Z),x1(this.beans,z)}setFocusOutOnEditor(Q){Q.comp?.getCellEditor()?.focusOut?.()}setFocusInOnEditor(Q){let z=Q.comp,J=z?.getCellEditor();if(J?.focusIn)J.focusIn();else{let Z=this.beans.gos.get("editType")==="fullRow";Q.focusCell(Z),Q.onEditorAttachedFuncs.push(()=>z?.getCellEditor()?.focusIn?.())}}setupEditors(Q){let{event:z,ignoreEventKey:J=!1,startedEdit:Z,position:$,cells:X=this.model.getEditPositions()}=Q,Y=z instanceof KeyboardEvent&&!J&&z.key||void 0;C3(this.beans,X,$,Y,z,Z)}dispatchCellEvent(Q,z,J,Z){let $=s(this.beans,Q);if($)this.eventSvc.dispatchEvent({...$.createEvent(z??null,J),...Z})}dispatchRowEvent(Q,z,J){if(J)return;let Z=BZ(this.beans,Q);if(Z)this.eventSvc.dispatchEvent(Z.createRowEvent(z))}shouldStop(Q,z,J="ui"){let Z=this.editSvc.isBatchEditing();if(Z&&J==="api")return!0;if(Z&&(J==="ui"||J==="edit"))return!1;if(J==="api")return!0;if(z instanceof KeyboardEvent&&!Z)return z.key===V.ENTER;return null}shouldCancel(Q,z,J="ui"){let Z=this.editSvc.isBatchEditing();if(z instanceof KeyboardEvent&&!Z){if(z.key===V.ESCAPE)return!0}if(Z&&J==="api")return!0;if(J==="api")return!0;return!1}setEditMap(Q,z){if(!z?.update)this.editSvc.stopEditing(void 0,{cancel:!0,source:"api"});let J=[];if(Q.forEach((Z,$)=>{Z.forEach((X,Y)=>{if(X.state==="editing")J.push({...X,rowNode:$,column:Y})})}),z?.update)Q=new Map([...this.model.getEditMap(),...Q]);if(this.model?.setEditMap(Q),J.length>0){let Z=J.at(-1),$=Z.pendingValue===P0?void 0:Z.pendingValue;this.start({position:Z,event:new KeyboardEvent("keydown",{key:$}),source:"api"});let X=s(this.beans,Z);if(X)this.setFocusInOnEditor(X)}}destroy(){this.cleanupEditors(),super.destroy()}},TL=class extends UX{constructor(){super(...arguments);this.beanName="fullRow",this.startedRows=new Set}shouldStop(Q,z,J="ui"){let{rowNode:Z,beans:$}=this,{rowNode:X}=Q||{};if(!BZ($,{rowNode:Z}))return!0;let G=super.shouldStop({rowNode:Z},z,J);if(G!==null)return G;if(!Z)return!1;return X!==Z}midBatchInputsAllowed({rowNode:Q}){if(!Q)return!1;return this.model.hasEdits({rowNode:Q})}clearEdits(Q){this.model.clearEditValue(Q)}start(Q){let{position:z,silent:J,startedEdit:Z,event:$,ignoreEventKey:X}=Q,{rowNode:Y}=z,{beans:G,model:q,startedRows:H}=this;if(this.rowNode!==Y)super.cleanupEditors(z);let _=G.visibleCols.allCols,U=[],W=[];for(let B of _)if(B.isCellEditable(Y))W.push(B);if(W.length==0)return;if(!H.has(Y))this.dispatchRowEvent({rowNode:Y},"rowEditingStarted",J),H.add(Y);for(let B of W){let E={rowNode:Y,column:B};U.push(E),q.start(E)}this.rowNode=Y,this.setupEditors({cells:U,position:z,startedEdit:Z,event:$,ignoreEventKey:X})}processValidationResults(Q){if(Q.fail.length>0&&this.editSvc.cellEditingInvalidCommitBlocks())return{destroy:[],keep:Q.all};return{destroy:Q.all,keep:[]}}stopCancelled(Q){let{rowNode:z,model:J}=this;if(z&&!J.hasRowEdits(z))return!1;return super.stopCancelled(Q),this.cleanupEditors({rowNode:z},!0),this.rowNode=void 0,!0}stopCommitted(Q,z){let{rowNode:J,beans:Z,model:$,editSvc:X}=this;if(J&&!$.hasRowEdits(J))return!1;let Y=[];if($.getEditMap().forEach((G,q)=>{if(!G||G.size===0)return;for(let H of G.values())if(BQ(H)){Y.push(q);break}}),Yz(Z),X.checkNavWithValidation({rowNode:J})==="block-stop")return!1;if(super.stopCommitted(Q,z),z||!X.isBatchEditing())for(let G of Y)this.dispatchRowEvent({rowNode:G},"rowValueChanged");return this.cleanupEditors({rowNode:J},!0),this.rowNode=void 0,!0}onCellFocusChanged(Q){let{rowIndex:z}=Q,J=Q.previousParams;if(J?.rowIndex===z||Q.sourceEvent instanceof KeyboardEvent)return;let{beans:Z,gos:$,model:X}=this;if(Z.editSvc?.isRangeSelectionEnabledWhileEditing())return;let Y=s(Z,J);if($.get("invalidEditValueMode")==="block"&&Y&&(X.getCellValidationModel().getCellValidation(Y)||X.getRowValidationModel().getRowValidation(Y)))return;super.onCellFocusChanged(Q)}cleanupEditors(Q={},z){super.cleanupEditors(Q,z);let{startedRows:J}=this;for(let Z of J)this.dispatchRowEvent({rowNode:Z},"rowEditingStopped"),this.destroyEditorsForRow(Z);J.clear()}destroyEditorsForRow(Q){let z=BZ(this.beans,{rowNode:Q});if(!z)return;let J={};for(let Z of z.getAllCellCtrls())if(Z.comp?.getCellEditor())QJ(this.beans,Z,J,Z)}moveToNextEditingCell(Q,z,J,Z="ui",$=!1){let{beans:X,model:Y,gos:G,editSvc:q}=this,H=Q.cellPosition,_;Y.suspend(!0);try{_=X.navigation?.findNextCellToFocusOn(H,{backwards:z,startEditing:!0,skipToNextEditableCell:!1})}finally{Y.suspend(!1)}if(_===!1)return null;if(_==null)return!1;let U=_.cellPosition,W=Q.isCellEditable(),B=_.isCellEditable(),E=U&&H.rowIndex===U.rowIndex&&H.rowPinned===U.rowPinned;if(W)this.setFocusOutOnEditor(Q);this.restoreEditors();let K=G.get("suppressStartEditOnTab");if(B&&!$)if(K)_.focusCell(!0,J);else{if(!_.comp?.getCellEditor())gz(X,_,{event:J,cellStartedEdit:!0});this.setFocusInOnEditor(_),_.focusCell(!1,J)}else{if(B&&$)this.setFocusInOnEditor(_);_.focusCell(!0,J)}if(!E&&!$){if(q?.stopEditing({rowNode:Q.rowNode},{event:J,forceStop:!0}),q?.isRowEditing(Q.rowNode,{withOpenEditor:!0}))this.cleanupEditors(_,!0);if(K)_.focusCell(!0,J);else q.startEditing(_,{startedEdit:!0,event:J,source:Z,ignoreEventKey:!0,editable:B||void 0})}return Q.rowCtrl?.refreshRow({suppressFlash:!0,force:!0}),!0}restoreEditors(){let{beans:Q,model:z}=this;z.getEditMap().forEach((J,Z)=>J.forEach(({state:$},X)=>{if($!=="editing")return;let Y=s(Q,{rowNode:Z,column:X});if(Y&&!Y.comp?.getCellEditor())gz(Q,Y,{silent:!0})}))}destroy(){super.destroy(),this.rowNode=void 0,this.startedRows.clear()}},vL=class extends UX{constructor(){super(...arguments);this.beanName="singleCell"}shouldStop(Q,z,J="ui"){let Z=super.shouldStop(Q,z,J);if(Z!==null)return Z;let $=Q?.rowNode,X=Q?.column,Y=this.rowNode,G=this.column;if((!Y||!G)&&$&&X)return null;if(Y!==$||G!==X)return!0;if(!Y&&!G)return this.model.hasEdits(void 0,{withOpenEditor:!0});return!1}midBatchInputsAllowed(Q){return this.model.hasEdits(Q)}start(Q){let{position:z,startedEdit:J,event:Z,ignoreEventKey:$}=Q;if(this.rowNode!==z.rowNode||this.column!==z.column)super.cleanupEditors();this.rowNode=z.rowNode,this.column=z.column,this.model.start(z),this.setupEditors({cells:[z],position:z,startedEdit:J,event:Z,ignoreEventKey:$})}dispatchRowEvent(Q,z,J){}processValidationResults(Q){if(Q.fail.length>0&&this.editSvc.cellEditingInvalidCommitBlocks())return{destroy:[],keep:Q.all};return{destroy:Q.all,keep:[]}}stopCancelled(Q){return super.stopCancelled(Q),this.clearPosition()}stopCommitted(Q,z){return super.stopCommitted(Q,z),this.clearPosition()}clearPosition(){return this.rowNode=void 0,this.column=void 0,!0}onCellFocusChanged(Q){let{colModel:z,editSvc:J}=this.beans,{rowIndex:Z,column:$,rowPinned:X}=Q,Y=M0(this.beans,{rowIndex:Z,rowPinned:X}),G=L5($),q=z.getCol(G),H=Q.previousParams;if(H){let _=L5(H.column);if(H?.rowIndex===Z&&_===G&&H?.rowPinned===X)return}if(Q.type=="cellFocused"&&(J?.isRangeSelectionEnabledWhileEditing()||J?.isEditing({rowNode:Y,column:q},{withOpenEditor:!0})))return;super.onCellFocusChanged(Q)}moveToNextEditingCell(Q,z,J,Z="ui",$=!1){let X=this.beans.focusSvc.getFocusedCell();if(X)Q=e0(this.beans,X)??Q;let Y=Q.cellPosition,G,q=this.beans.gos.get("editType")==="fullRow";if(q)this.model.suspend(!0);if(!$)Q.eGui.focus(),this.editSvc?.stopEditing(Q,{source:this.editSvc?.isBatchEditing()?"ui":"api",event:J});try{G=this.beans.navigation?.findNextCellToFocusOn(Y,{backwards:z,startEditing:!0})}finally{if(q)this.model.suspend(!1)}if(G===!1)return null;if(G==null)return!1;let H=G.cellPosition,_=Q.isCellEditable(),U=G.isCellEditable(),W=H&&Y.rowIndex===H.rowIndex&&Y.rowPinned===H.rowPinned;if(_&&!$)this.setFocusOutOnEditor(Q);let B=this.gos.get("suppressStartEditOnTab"),E=!1;if(!W&&!$)if(super.cleanupEditors(G,!0),B)G.focusCell(!0,J);else E=!0,this.editSvc.startEditing(G,{startedEdit:!0,event:J,source:Z,ignoreEventKey:!0,editable:U});if(U&&!$){if(G.focusCell(!1,J),B)G.focusCell(!0,J);else if(!G.comp?.getCellEditor()){if(!E){let K=this.editSvc?.isEditing(G,{withOpenEditor:!0});gz(this.beans,G,{event:J,cellStartedEdit:!0,silent:K})}this.setFocusInOnEditor(G),this.cleanupEditors(G)}}else{if(U&&$)this.setFocusInOnEditor(G);G.focusCell(!0,J)}return Q.rowCtrl?.refreshRow({suppressFlash:!0,force:!0}),!0}destroy(){super.destroy(),this.rowNode=void 0,this.column=void 0}},IL={moduleName:"EditCore",version:p,beans:[T3,OL],apiFunctions:{getEditingCells:YL,getEditRowValues:XL,getCellEditorInstances:I3,startEditingCell:HL,stopEditing:GL,isEditing:qL,validateEdit:_L},dynamicBeans:{singleCell:vL,fullRow:TL},dependsOn:[nz,eK],css:[QL]};var WX={moduleName:"TextEditor",version:p,userComponents:{agCellEditor:L8,agTextCellEditor:L8},dependsOn:[IL]};var BX={agSetColumnFilter:"agSetColumnFilterHandler",agMultiColumnFilter:"agMultiColumnFilterHandler",agGroupColumnFilter:"agGroupColumnFilterHandler",agNumberColumnFilter:"agNumberColumnFilterHandler",agBigIntColumnFilter:"agBigIntColumnFilterHandler",agDateColumnFilter:"agDateColumnFilterHandler",agTextColumnFilter:"agTextColumnFilterHandler"},CL=new Set(Object.values(BX));function aQ(Q,z){let J=Q.filterUi;if(!J)return null;if(J.created)return J.promise;if(z)return null;let Z=J.create(J.refreshed),$=J;return $.created=!0,$.promise=Z,Z}function rZ(Q,z,J,Z,$,X,Y){return z.refresh?.({...J,model:Z,source:X,additionalEventAttributes:Y}),Q().then((G)=>{if(G){let{filter:q,filterParams:H}=G;A1(q,H,Z,$,X,Y)}})}function A1(Q,z,J,Z,$,X){Q?.refresh?.({...z,model:J,state:Z,source:$,additionalEventAttributes:X})}function EX(Q,z,J,Z){let $=Q();if($?.created)$.promise.then((X)=>{let Y=z();A1(X,$.filterParams,Y,J()??{model:Y},"ui",Z)})}function FZ(Q){let z,J=!1,Z,{action:$,filterParams:X,getFilterUi:Y,getModel:G,getState:q,updateState:H,updateModel:_,processModelToApply:U}=Q;switch($){case"apply":{let W=q();if(Z=W?.model??null,U)Z=U(Z);z={state:W?.state,model:Z},J=!0;break}case"clear":{if(z={model:null},!X?.buttons?.includes("apply"))J=!0,Z=null;break}case"reset":{z={model:null},J=!0,Z=null;break}case"cancel":{z={model:G()};break}}if(H(z),J)_(Z);else EX(Y,G,q,{fromAction:$})}function F0(Q,z){return Q[z]??null}var bL=class extends Y6{constructor(){super(...arguments);this.iconCreated=!1}wireComp(Q,z,J,Z,$){this.comp=Q;let X=BJ(this,this.beans.context,$);this.eButtonShowMainFilter=J,this.eFloatingFilterBody=Z,this.setGui(z,X),this.setupActive(),this.refreshHeaderStyles(),this.setupWidth(X),this.setupLeft(X),this.setupHover(X),this.setupFocus(X),this.setupAria(),this.setupFilterButton(),this.setupUserComp(),this.setupSyncWithFilter(X),this.setupUi(),X.addManagedElementListeners(this.eButtonShowMainFilter,{click:this.showParentFilter.bind(this)}),this.setupFilterChangedListener(X);let Y=()=>this.onColDefChanged(X);X.addManagedListeners(this.column,{colDefChanged:Y}),X.addManagedEventListeners({filterSwitched:({column:G})=>{if(G===this.column)Y()}}),X.addDestroyFunc(()=>{this.eButtonShowMainFilter=null,this.eFloatingFilterBody=null,this.userCompDetails=null,this.clearComponent()})}resizeHeader(){}moveHeader(){}getHeaderClassParams(){let{column:Q,beans:z}=this,J=Q.colDef;return y(z.gos,{colDef:J,column:Q,floatingFilter:!0})}setupActive(){let Q=this.column.getColDef(),z=!!Q.filter,J=!!Q.floatingFilter;this.active=z&&J}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;let Q=h("filter",this.beans,this.column);if(Q)this.iconCreated=!0,this.eButtonShowMainFilter.appendChild(Q)}setupFocus(Q){Q.createManagedBean(new cQ(this.eGui,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)}))}setupAria(){let Q=this.getLocaleTextFunc();E0(this.eButtonShowMainFilter,Q("ariaFilterMenuOpen","Open Filter Menu"))}onTabKeyDown(Q){let{beans:z}=this;if(d(z)===this.eGui)return;let $=R0(z,this.eGui,null,Q.shiftKey);if($){z.headerNavigation?.scrollToColumn(this.column),Q.preventDefault(),$.focus();return}let X=this.findNextColumnWithFloatingFilter(Q.shiftKey);if(!X)return;if(z.focusSvc.focusHeaderPosition({headerPosition:{headerRowIndex:this.rowCtrl.rowIndex,column:X},event:Q}))Q.preventDefault()}findNextColumnWithFloatingFilter(Q){let z=this.beans.visibleCols,J=this.column;do if(J=Q?z.getColBefore(J):z.getColAfter(J),!J)break;while(!J.getColDef().filter||!J.getColDef().floatingFilter);return J}handleKeyDown(Q){super.handleKeyDown(Q);let z=this.getWrapperHasFocus();switch(Q.key){case V.UP:case V.DOWN:case V.LEFT:case V.RIGHT:if(z)return;i0(Q);case V.ENTER:if(z){if(D0(this.eGui))Q.preventDefault()}break;case V.ESCAPE:if(!z)this.eGui.focus()}}onFocusIn(Q){if(this.eGui.contains(Q.relatedTarget))return;let J=!!Q.relatedTarget&&!Q.relatedTarget.classList.contains("ag-floating-filter"),Z=!!Q.relatedTarget&&vz(Q.relatedTarget,"ag-floating-filter");if(J&&Z&&Q.target===this.eGui){let $=this.lastFocusEvent,X=!!($&&$.key===V.TAB);if($&&X){let Y=$.shiftKey;D0(this.eGui,Y)}}this.focusThis()}setupHover(Q){this.beans.colHover?.addHeaderFilterColumnHoverListener(Q,this.comp,this.column,this.eGui)}setupLeft(Q){let z=new X6(this.column,this.eGui,this.beans);Q.createManagedBean(z)}setupFilterButton(){this.suppressFilterButton=!this.beans.menuSvc?.isFloatingFilterButtonEnabled(this.column),this.highlightFilterButtonWhenActive=!U0(this.gos)}setupUserComp(){if(!this.active)return;let Q=this.beans.colFilter?.getFloatingFilterCompDetails(this.column,()=>this.showParentFilter());if(Q)this.setCompDetails(Q)}setCompDetails(Q){this.userCompDetails=Q,this.comp.setCompDetails(Q)}showParentFilter(){let Q=this.suppressFilterButton?this.eFloatingFilterBody:this.eButtonShowMainFilter;this.beans.menuSvc?.showFilterMenu({column:this.column,buttonElement:Q,containerType:"floatingFilter",positionBy:"button"})}setupSyncWithFilter(Q){if(!this.active)return;let{beans:{colFilter:z},column:J,gos:Z}=this,$=(X)=>{if(X?.source==="filterDestroyed"&&(!this.isAlive()||!z?.isAlive()))return;let Y=this.comp.getFloatingFilterComp();if(!Y)return;Y.then((G)=>{if(G){if(Z.get("enableFilterHandlers")){let _=X,U="filter";if(_?.afterFloatingFilter)U="ui";else if(_?.afterDataChange)U="dataChanged";else if(X?.source==="api")U="api";this.updateFloatingFilterParams(this.userCompDetails,U);return}let q=z?.getCurrentFloatingFilterParentModel(J),H=X?{...X,columns:X.columns??[],source:X.source==="api"?"api":"columnFilter"}:null;G.onParentModelChanged(q,H)}})};if([this.destroySyncListener]=Q.addManagedListeners(J,{filterChanged:$}),z?.isFilterActive(J))$(null)}setupWidth(Q){let z=()=>{let J=`${this.column.getActualWidth()}px`;this.comp.setWidth(J)};Q.addManagedListeners(this.column,{widthChanged:z}),z()}setupFilterChangedListener(Q){if(this.active)[this.destroyFilterChangedListener]=Q.addManagedListeners(this.column,{filterChanged:this.updateFilterButton.bind(this)}),this.updateFilterButton()}updateFilterButton(){if(!this.suppressFilterButton&&this.comp){let Q=!!this.beans.filterManager?.isFilterAllowed(this.column);if(this.comp.setButtonWrapperDisplayed(Q),this.highlightFilterButtonWhenActive&&Q)this.eButtonShowMainFilter.classList.toggle("ag-filter-active",this.column.isFilterActive())}}onColDefChanged(Q){let z=this.active;this.setupActive();let J=!z&&this.active;if(z&&!this.active)this.destroySyncListener(),this.destroyFilterChangedListener();let Z=this.beans.colFilter,$=this.active?Z?.getFloatingFilterCompDetails(this.column,()=>this.showParentFilter()):null,X=this.comp.getFloatingFilterComp();if(!X||!$)this.updateCompDetails(Q,$,J);else X.then((Y)=>{if(!Y||Z?.areFilterCompsDifferent(this.userCompDetails??null,$))this.updateCompDetails(Q,$,J);else this.updateFloatingFilterParams($,"colDef")})}updateCompDetails(Q,z,J){if(!this.isAlive())return;if(this.setCompDetails(z),this.setupFilterButton(),this.setupUi(),J)this.setupSyncWithFilter(Q),this.setupFilterChangedListener(Q)}updateFloatingFilterParams(Q,z){if(!Q)return;let J=Q.params;this.comp.getFloatingFilterComp()?.then((Z)=>{if(typeof Z?.refresh==="function"){if(this.gos.get("enableFilterHandlers"))J={...J,model:F0(this.beans.colFilter?.model??{},this.column.getColId()),source:z};Z.refresh(J)}})}addResizeAndMoveKeyboardListeners(){}destroy(){super.destroy(),this.destroySyncListener=null,this.destroyFilterChangedListener=null}};function yL(Q,z){let J=Q.colModel.getCol(z);if(!J){e(12,{colKey:z});return}Q.menuSvc?.showColumnMenu({column:J,positionBy:"auto"})}function xL(Q){Q.menuSvc?.hidePopupMenu()}var wL=class extends j{constructor(){super(...arguments);this.beanName="menuSvc"}postConstruct(){let{enterpriseMenuFactory:Q,filterMenuFactory:z}=this.beans;this.activeMenuFactory=Q??z}showColumnMenu(Q){this.showColumnMenuCommon(this.activeMenuFactory,Q,"columnMenu")}showFilterMenu(Q){this.showColumnMenuCommon(D8(this.beans),Q,Q.containerType,!0)}showHeaderContextMenu(Q,z,J){this.activeMenuFactory?.showMenuAfterContextMenuEvent(Q,z,J)}hidePopupMenu(){this.beans.contextMenuSvc?.hideActiveMenu(),this.activeMenuFactory?.hideActiveMenu()}hideFilterMenu(){D8(this.beans)?.hideActiveMenu()}isColumnMenuInHeaderEnabled(Q){let{suppressHeaderMenuButton:z}=Q.getColDef();return!z&&!!this.activeMenuFactory?.isMenuEnabled(Q)&&(U0(this.gos)||!!this.beans.enterpriseMenuFactory)}isFilterMenuInHeaderEnabled(Q){return!Q.getColDef().suppressHeaderFilterButton&&!!this.beans.filterManager?.isFilterAllowed(Q)}isHeaderContextMenuEnabled(Q){return!(Q&&JQ(Q)?Q.getColDef():Q?.getColGroupDef())?.suppressHeaderContextMenu&&this.gos.get("columnMenu")==="new"}isHeaderMenuButtonAlwaysShowEnabled(){return this.isSuppressMenuHide()}isHeaderMenuButtonEnabled(){let Q=!this.isSuppressMenuHide();return!(bz()&&Q)}isHeaderFilterButtonEnabled(Q){return this.isFilterMenuInHeaderEnabled(Q)&&!U0(this.gos)&&!this.isFloatingFilterButtonDisplayed(Q)}isFilterMenuItemEnabled(Q){return!!this.beans.filterManager?.isFilterAllowed(Q)&&!U0(this.gos)&&!this.isFilterMenuInHeaderEnabled(Q)&&!this.isFloatingFilterButtonDisplayed(Q)}isFloatingFilterButtonEnabled(Q){return!Q.getColDef().suppressFloatingFilterButton}isFloatingFilterButtonDisplayed(Q){return!!Q.getColDef().floatingFilter&&this.isFloatingFilterButtonEnabled(Q)}isSuppressMenuHide(){let Q=this.gos,z=Q.get("suppressMenuHide");if(U0(Q))return Q.exists("suppressMenuHide")?z:!1;return z}showColumnMenuCommon(Q,z,J,Z){let{positionBy:$,onClosedCallback:X}=z,Y=z.column;if($==="button"){let{buttonElement:G}=z;Q?.showMenuAfterButtonClick(Y,G,J,X,Z)}else if($==="mouse"){let{mouseEvent:G}=z;Q?.showMenuAfterMouseEvent(Y,G,J,X,Z)}else if(Y){let G=this.beans,q=G.ctrlsSvc;q.getScrollFeature().ensureColumnVisible(Y,"auto"),YQ(G,()=>{let H=q.getHeaderRowContainerCtrl(Y.getPinned())?.getHeaderCtrlForColumn(Y);if(H)Q?.showMenuAfterButtonClick(Y,H.getAnchorElementForMenu(Z),J,X,Z)})}}};function zJ(Q,z,J){if(Q.menuVisible!==z)Q.menuVisible=z,Q.dispatchColEvent("menuVisibleChanged",J)}function D8(Q){let{enterpriseMenuFactory:z,filterMenuFactory:J,gos:Z}=Q;return z&&U0(Z)?z:J}var v6={moduleName:"SharedMenu",version:p,beans:[wL],apiFunctions:{showColumnMenu:yL,hidePopupMenu:xL}},NL=".ag-set-filter{--ag-indentation-level:0}.ag-set-filter-item{align-items:center;display:flex;height:100%}:where(.ag-ltr) .ag-set-filter-item{padding-left:calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level)*var(--ag-set-filter-indent-size))}:where(.ag-rtl) .ag-set-filter-item{padding-right:calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level)*var(--ag-set-filter-indent-size))}.ag-set-filter-item-checkbox{display:flex;height:100%;width:100%}.ag-set-filter-group-icons{display:block;:where(.ag-set-filter-group-closed-icon),:where(.ag-set-filter-group-indeterminate-icon),:where(.ag-set-filter-group-opened-icon){cursor:pointer}}:where(.ag-ltr) .ag-set-filter-group-icons{margin-right:var(--ag-widget-container-horizontal-padding)}:where(.ag-rtl) .ag-set-filter-group-icons{margin-left:var(--ag-widget-container-horizontal-padding)}.ag-filter-body-wrapper{display:flex;flex-direction:column}:where(.ag-menu:not(.ag-tabs) .ag-filter) .ag-filter-body-wrapper{min-width:180px}.ag-filter-filter{flex:1 1 0px}.ag-filter-condition{display:flex;justify-content:center}.ag-floating-filter-body{display:flex;flex:1 1 auto;height:100%;position:relative}.ag-floating-filter-full-body{align-items:center;display:flex;flex:1 1 auto;height:100%;overflow:hidden;width:100%}.ag-floating-filter-input{align-items:center;display:flex;width:100%;>:where(.ag-date-floating-filter-wrapper),>:where(.ag-floating-filter-input),>:where(.ag-input-field){flex:1 1 auto}:where(.ag-input-field-input[type=date]),:where(.ag-input-field-input[type=datetime-local]){width:1px}}.ag-floating-filter-button{display:flex;flex:none}.ag-date-floating-filter-wrapper{display:flex}.ag-set-floating-filter-input :where(.ag-input-field-input)[disabled]{pointer-events:none}.ag-floating-filter-button-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;height:var(--ag-icon-size);width:var(--ag-icon-size)}.ag-filter-loading{align-items:unset;background-color:var(--ag-chrome-background-color);height:100%;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);position:absolute;width:100%;z-index:1;:where(.ag-menu) &{background-color:var(--ag-menu-background-color)}}.ag-filter-separator{border-top:solid var(--ag-border-width) var(--menu-separator-color)}:where(.ag-filter-select) .ag-picker-field-wrapper{width:0}.ag-filter-condition-operator{height:17px}:where(.ag-ltr) .ag-filter-condition-operator-or{margin-left:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-filter-condition-operator-or{margin-right:calc(var(--ag-spacing)*2)}.ag-set-filter-select-all{padding-top:var(--ag-widget-container-vertical-padding)}.ag-filter-no-matches,.ag-set-filter-list{height:calc(var(--ag-list-item-height)*6)}.ag-filter-no-matches{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}.ag-set-filter-tree-list{height:calc(var(--ag-list-item-height)*10)}.ag-set-filter-filter{margin-left:var(--ag-widget-container-horizontal-padding);margin-right:var(--ag-widget-container-horizontal-padding);margin-top:var(--ag-widget-container-vertical-padding)}.ag-filter-to{margin-top:var(--ag-widget-vertical-spacing)}.ag-mini-filter{margin:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}:where(.ag-ltr) .ag-set-filter-add-group-indent{margin-left:calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding))}:where(.ag-rtl) .ag-set-filter-add-group-indent{margin-right:calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding))}:where(.ag-filter-menu) .ag-set-filter-list{min-width:200px}.ag-filter-virtual-list-item:focus-visible{box-shadow:inset var(--ag-focus-shadow)}.ag-filter-apply-panel{display:flex;justify-content:flex-end;overflow:hidden;padding:var(--ag-widget-vertical-spacing) var(--ag-widget-container-horizontal-padding) var(--ag-widget-container-vertical-padding)}.ag-filter-apply-panel-button{line-height:1.5}:where(.ag-ltr) .ag-filter-apply-panel-button{margin-left:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-filter-apply-panel-button{margin-right:calc(var(--ag-spacing)*2)}.ag-simple-filter-body-wrapper{display:flex;flex-direction:column;gap:var(--ag-widget-vertical-spacing);min-height:calc(var(--ag-list-item-height) + var(--ag-widget-container-vertical-padding) + var(--ag-widget-vertical-spacing));overflow-y:auto;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);padding-bottom:var(--ag-widget-container-vertical-padding);:where(.ag-resizer-wrapper){margin:0}}.ag-multi-filter-menu-item{margin:var(--ag-spacing) 0}.ag-multi-filter-group-title-bar{background-color:transparent;color:var(--ag-header-text-color);font-weight:500;padding:calc(var(--ag-spacing)*1.5) var(--ag-spacing)}.ag-group-filter-field-select-wrapper{display:flex;flex-direction:column;gap:var(--ag-widget-vertical-spacing);padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}";function gL(Q){let z=Q.filterManager;return!!z?.isColumnFilterPresent()||!!z?.isAggregateFilterPresent()}function hL(Q,z){return Q.filterManager?.getColumnFilterInstance(z)??Promise.resolve(void 0)}function uL(Q,z){let J=Q.colModel.getColDefCol(z);if(J)return Q.colFilter?.destroyFilter(J,"api")}function mL(Q,z){Q.frameworkOverrides.wrapIncoming(()=>Q.filterManager?.setFilterModel(z))}function cL(Q){return Q.filterManager?.getFilterModel()??{}}function pL(Q,z,J){let{gos:Z,colModel:$,colFilter:X}=Q;if(J&&!Z.get("enableFilterHandlers"))R(288),J=!1;let Y=$.getColDefCol(z);return Y?X?.getModelForColumn(Y,J)??null:null}function iL(Q,z,J){return Q.filterManager?.setColumnFilterModel(z,J)??Promise.resolve()}function nL(Q,z){let J=Q.colModel.getCol(z);if(!J){e(12,{colKey:z});return}Q.menuSvc?.showFilterMenu({column:J,containerType:"columnFilter",positionBy:"auto"})}function dL(Q){Q.menuSvc?.hideFilterMenu()}function tL(Q,z){let J=Q.colModel.getCol(z);if(!J){e(12,{colKey:z});return}return Q.colFilter?.getHandler(J,!0)}function rL(Q,z){let{colModel:J,colFilter:Z,gos:$}=Q;if(!$.get("enableFilterHandlers")){R(287);return}let{colId:X,action:Y}=z;if(X){let G=J.getColById(X);if(G)Z?.updateModel(G,Y)}else Z?.updateAllModels(Y)}var M8={january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December"},k8=["january","february","march","april","may","june","july","august","september","october","november","december"];function sL(Q,z){if(Q==null)return-1;if(z==null)return 1;return Number.parseFloat(Q)-Number.parseFloat(z)}function lL(Q,z){if(Q==null)return-1;if(z==null)return 1;let J=qz(Q),Z=qz(z);if(J!=null&&Z!=null){if(J===Z)return 0;return J>Z?1:-1}return String(Q).localeCompare(String(z))}function V8(Q){return Q instanceof Date&&!isNaN(Q.getTime())}var f5={number:()=>{return},bigint:()=>{return},boolean:()=>({maxNumConditions:1,debounceMs:0,filterOptions:["empty",{displayKey:"true",displayName:"True",predicate:(Q,z)=>z,numberOfInputs:0},{displayKey:"false",displayName:"False",predicate:(Q,z)=>z===!1,numberOfInputs:0}]}),date:()=>({isValidDate:V8}),dateString:({dataTypeDefinition:Q})=>({comparator:(z,J)=>{let Z=Q.dateParser(J);if(J==null||Z<z)return-1;if(Z>z)return 1;return 0},isValidDate:(z)=>typeof z==="string"&&V8(Q.dateParser(z))}),dateTime:(Q)=>f5.date(Q),dateTimeString:(Q)=>f5.dateString(Q),object:()=>{return},text:()=>{return}},A5={number:()=>({comparator:sL}),bigint:()=>({comparator:lL}),boolean:({t:Q})=>({valueFormatter:(z)=>T(z.value)?Q(String(z.value),z.value?"True":"False"):Q("blanks","(Blanks)")}),date:({formatValue:Q,t:z})=>({valueFormatter:(J)=>{let Z=Q(J);return T(Z)?Z:z("blanks","(Blanks)")},treeList:!0,treeListFormatter:(J,Z)=>{if(J==="NaN")return z("invalidDate","Invalid Date");if(Z===1&&J!=null){let $=k8[Number(J)-1];return z($,M8[$])}return J??z("blanks","(Blanks)")},treeListPathGetter:(J)=>$1(J,!1)}),dateString:({formatValue:Q,dataTypeDefinition:z,t:J})=>({valueFormatter:(Z)=>{let $=Q(Z);return T($)?$:J("blanks","(Blanks)")},treeList:!0,treeListPathGetter:(Z)=>$1(z.dateParser(Z??void 0),!1),treeListFormatter:(Z,$)=>{if($===1&&Z!=null){let X=k8[Number(Z)-1];return J(X,M8[X])}return Z??J("blanks","(Blanks)")}}),dateTime:(Q)=>{let z=A5.date(Q);return z.treeListPathGetter=$1,z},dateTimeString(Q){let z=Q.dataTypeDefinition.dateParser,J=A5.dateString(Q);return J.treeListPathGetter=(Z)=>$1(z(Z??void 0)),J},object:({formatValue:Q,t:z})=>({valueFormatter:(J)=>{let Z=Q(J);return T(Z)?Z:z("blanks","(Blanks)")}}),text:()=>{return}};function I6(Q,z,J,Z,$,X,Y){let G=z,q=J,H=Q==="agSetColumnFilter";if(!q&&Z.baseDataType==="object"&&!H)q=({column:B,node:E})=>$({column:B,node:E,value:X.valueSvc.getValue(B,E,"data")});let U=(H?A5:f5)[Z.baseDataType],W=U({dataTypeDefinition:Z,formatValue:$,t:Y});return G=typeof z==="object"?{...W,...z}:W,{filterParams:G,filterValueGetter:q}}var aL={boolean:"agTextColumnFilter",date:"agDateColumnFilter",dateString:"agDateColumnFilter",dateTime:"agDateColumnFilter",dateTimeString:"agDateColumnFilter",bigint:"agBigIntColumnFilter",number:"agNumberColumnFilter",object:"agTextColumnFilter",text:"agTextColumnFilter"},oL={boolean:"agTextColumnFloatingFilter",date:"agDateColumnFloatingFilter",dateString:"agDateColumnFloatingFilter",dateTime:"agDateColumnFloatingFilter",dateTimeString:"agDateColumnFloatingFilter",bigint:"agBigIntColumnFloatingFilter",number:"agNumberColumnFloatingFilter",object:"agTextColumnFloatingFilter",text:"agTextColumnFloatingFilter"};function C6(Q,z=!1){return(z?oL:aL)[Q??"text"]}function b6(Q,z,J){if(z==null)return null;let Z=null,{compName:$,jsComp:X,fwComp:Y}=T9(Q,z);if($)Z={agSetColumnFilter:"agSetColumnFloatingFilter",agMultiColumnFilter:"agMultiColumnFloatingFilter",agGroupColumnFilter:"agGroupColumnFloatingFilter",agNumberColumnFilter:"agNumberColumnFloatingFilter",agBigIntColumnFilter:"agBigIntColumnFloatingFilter",agDateColumnFilter:"agDateColumnFloatingFilter",agTextColumnFilter:"agTextColumnFloatingFilter"}[$];else if(X==null&&Y==null&&z.filter===!0)Z=J();return Z}var eL={filterHandler:()=>({doesFilterPass:()=>!0})};function f8(Q,z,J,Z){if(!Q.isPrimary())return!0;let X=!J;if(!Q.isValueActive()||!X)return!1;if(z)return!0;return Z}var QF=class extends j{constructor(){super(...arguments);this.beanName="colFilter",this.allColumnFilters=new Map,this.allColumnListeners=new Map,this.activeAggregateFilters=[],this.activeColumnFilters=[],this.processingFilterChange=!1,this.modelUpdates=[],this.columnModelUpdates=[],this.state=new Map,this.handlerMap={...BX},this.isGlobalButtons=!1,this.activeFilterComps=new Set}postConstruct(){this.addManagedEventListeners({gridColumnsChanged:this.onColumnsChanged.bind(this),dataTypesInferred:this.processFilterModelUpdateQueue.bind(this)}),this.addManagedPropertyListener("pivotMode",this.onPivotModeChanged.bind(this));let Q=this.gos,z={...Q.get("initialState")?.filter?.filterModel??{}};if(this.initialModel=z,this.model={...z},!Q.get("enableFilterHandlers"))delete this.handlerMap.agMultiColumnFilter}refreshModel(){this.onNewRowsLoaded("rowDataUpdated")}setModel(Q,z="api",J){let{colModel:Z,dataTypeSvc:$,filterManager:X}=this.beans;if($?.isPendingInference){this.modelUpdates.push({model:Q,source:z});return}let Y=[],G=this.getModel(!0);if(Q){let q=new Set(Object.keys(Q));this.allColumnFilters.forEach((H,_)=>{let U=Q[_];Y.push(this.setModelOnFilterWrapper(H,U)),q.delete(_)}),q.forEach((H)=>{let _=Z.getColDefCol(H)||Z.getCol(H);if(!_){R(62,{colId:H});return}if(!_.isFilterAllowed()){R(63,{colId:H});return}let U=this.getOrCreateFilterWrapper(_,!0);if(!U){R(64,{colId:H});return}Y.push(this.setModelOnFilterWrapper(U,Q[H],!0))})}else this.model={},this.allColumnFilters.forEach((q)=>{Y.push(this.setModelOnFilterWrapper(q,null))});g.all(Y).then(()=>{let q=this.getModel(!0),H=[];if(this.allColumnFilters.forEach((_,U)=>{let W=G?G[U]:null,B=q?q[U]:null;if(!DZ(W,B))H.push(_.column)}),H.length>0)X?.onFilterChanged({columns:H,source:z});else if(J)this.updateActive("filterChanged")})}getModel(Q){let z={},{allColumnFilters:J,initialModel:Z,beans:{colModel:$}}=this;if(J.forEach((X,Y)=>{let G=this.getModelFromFilterWrapper(X);if(T(G))z[Y]=G}),!Q)for(let X of Object.keys(Z)){let Y=Z[X];if(T(Y)&&!J.has(X)&&$.getCol(X)?.isFilterAllowed())z[X]=Y}return z}setState(Q,z,J="api"){if(this.state.clear(),z)for(let Z of Object.keys(z)){let $=z[Z];this.state.set(Z,{model:F0(this.model,Z),state:$})}this.setModel(Q,J,!0)}getState(){let Q=this.state;if(!Q.size)return;let z={},J=!1;return Q.forEach((Z,$)=>{let X=Z.state;if(X!=null)J=!0,z[$]=X}),J?z:void 0}getModelFromFilterWrapper(Q){let J=Q.column.getColId();if(Q.isHandler)return F0(this.model,J);let Z=Q.filter;if(Z){if(typeof Z.getModel!=="function")return R(66),null;return Z.getModel()}return F0(this.initialModel,J)}isFilterPresent(){return this.activeColumnFilters.length>0}isAggFilterPresent(){return!!this.activeAggregateFilters.length}disableFilters(){this.initialModel={};let{allColumnFilters:Q}=this;if(Q.size)return Q.forEach((z)=>this.disposeFilterWrapper(z,"advancedFilterEnabled")),!0;return!1}updateActiveFilters(){let Q=(q)=>{if(!q)return!1;if(!q.isFilterActive)return R(67),!1;return q.isFilterActive()},{colModel:z,gos:J}=this.beans,Z=!!TQ(J),$=[],X=[],Y=(q,H,_)=>{if(H)if(f8(q,z.isPivotMode(),z.isPivotActive(),Z))$.push(_);else X.push(_)},G=[];return this.allColumnFilters.forEach((q)=>{let H=q.column,_=H.getColId();if(q.isHandler)G.push(g.resolve().then(()=>{Y(H,this.isHandlerActive(H),{colId:_,isHandler:!0,handler:q.handler,handlerParams:q.handlerParams})}));else{let U=aQ(q);if(U)G.push(U.then((W)=>{Y(H,Q(W),{colId:_,isHandler:!1,comp:W})}))}}),g.all(G).then(()=>{this.activeAggregateFilters=$,this.activeColumnFilters=X})}updateFilterFlagInColumns(Q,z){let J=[];return this.allColumnFilters.forEach((Z)=>{let $=Z.column;if(Z.isHandler)J.push(g.resolve().then(()=>{this.setColFilterActive($,this.isHandlerActive($),Q,z)}));else{let X=aQ(Z);if(X)J.push(X.then((Y)=>{this.setColFilterActive($,Y.isFilterActive(),Q,z)}))}}),this.beans.groupFilter?.updateFilterFlags(Q,z),g.all(J)}doFiltersPass(Q,z,J){let{data:Z,aggData:$}=Q,X=J?this.activeAggregateFilters:this.activeColumnFilters,Y=J?$:Z,G=this.model;for(let q=0;q<X.length;q++){let H=X[q],{colId:_,isHandler:U}=H;if(_===z)continue;if(U){let{handler:W,handlerParams:B}=H;if(!W.doesFilterPass({node:Q,data:Y,model:F0(G,_),handlerParams:B}))return!1}else{let W=H.comp;if(typeof W.doesFilterPass!=="function"){e(91);continue}if(!W.doesFilterPass({node:Q,data:Y}))return!1}}return!0}getHandlerParams(Q){let z=this.allColumnFilters.get(Q.getColId());return z?.isHandler?z.handlerParams:void 0}callOnFilterChangedOutsideRenderCycle(Q){let{rowRenderer:z,filterManager:J}=this.beans,Z=()=>{if(this.isAlive())J?.onFilterChanged(Q)};if(z.isRefreshInProgress())setTimeout(Z,0);else Z()}updateBeforeFilterChanged(Q={}){let{column:z,additionalEventAttributes:J}=Q,Z=z?.getColId();return this.updateActiveFilters().then(()=>this.updateFilterFlagInColumns("filterChanged",J).then(()=>{this.allColumnFilters.forEach(($)=>{let{column:X,isHandler:Y}=$;if(Z===X.getColId())return;if(Y)$.handler.onAnyFilterChanged?.();aQ($,Y)?.then((G)=>{if(typeof G?.onAnyFilterChanged==="function")G.onAnyFilterChanged()})}),this.processingFilterChange=!0}))}updateAfterFilterChanged(){this.processingFilterChange=!1}isSuppressFlashingCellsBecauseFiltering(){return!(this.gos.get("allowShowChangeAfterFilter")??!1)&&this.processingFilterChange}onNewRowsLoaded(Q){let z=[];this.allColumnFilters.forEach((J)=>{let Z=J.isHandler;if(Z)J.handler.onNewRowsLoaded?.();let $=aQ(J,Z);if($)z.push($.then((X)=>{X.onNewRowsLoaded?.()}))}),g.all(z).then(()=>this.updateActive(Q,{afterDataChange:!0}))}updateActive(Q,z){this.updateFilterFlagInColumns(Q,z).then(()=>this.updateActiveFilters())}createGetValue(Q,z){let{filterValueSvc:J,colModel:Z}=this.beans;return($,X)=>{let Y=X?Z.getCol(X):Q;return Y?J.getValue(Y,$,z):void 0}}isFilterActive(Q){let z=this.cachedFilter(Q);if(z?.isHandler)return this.isHandlerActive(Q);let J=z?.filter;if(J)return J.isFilterActive();return F0(this.initialModel,Q.getColId())!=null}isHandlerActive(Q){let z=T(F0(this.model,Q.getColId()));if(z)return z;let J=this.beans.groupFilter;return J?.isGroupFilter(Q)?J.isFilterActive(Q):!1}getOrCreateFilterUi(Q){let z=this.getOrCreateFilterWrapper(Q,!0);return z?aQ(z):null}getFilterUiForDisplay(Q){let z=this.getOrCreateFilterWrapper(Q,!0);if(!z)return null;let J=aQ(z);if(!J)return null;return J.then((Z)=>({comp:Z,params:z.filterUi.filterParams,isHandler:z.isHandler}))}getHandler(Q,z){let J=this.getOrCreateFilterWrapper(Q,z);return J?.isHandler?J.handler:void 0}getOrCreateFilterWrapper(Q,z){if(!Q.isFilterAllowed())return;let J=this.cachedFilter(Q);if(!J&&z)J=this.createFilterWrapper(Q),this.setColumnFilterWrapper(Q,J);return J}cachedFilter(Q){return this.allColumnFilters.get(Q.getColId())}getDefaultFilter(Q,z=!1){return this.getDefaultFilterFromDataType(()=>this.beans.dataTypeSvc?.getBaseDataType(Q),z)}getDefaultFilterFromDataType(Q,z=!1){if(iG(this.gos))return z?"agSetColumnFloatingFilter":"agSetColumnFilter";return C6(Q(),z)}getDefaultFloatingFilter(Q){return this.getDefaultFilter(Q,!0)}createFilterComp(Q,z,J,Z,$,X){let Y=()=>{let H=this.createFilterCompParams(Q,$,X),_=Z(H,$);return d5(this.beans.userCompFactory,z,_,J)},G=Y();if(!G)return null;return{compDetails:G,createFilterUi:(H)=>{return(H?Y():G).newAgStackInstance()}}}createFilterInstance(Q,z,J,Z){let $=this.beans.selectableFilter;if($?.isSelectable(z))z=$.getFilterDef(Q,z);let{handler:X,handlerParams:Y,handlerGenerator:G}=this.createHandler(Q,z,J)??{},q=this.createFilterComp(Q,z,J,Z,!!X,"init");if(!q)return{compDetails:null,createFilterUi:null,handler:X,handlerGenerator:G,handlerParams:Y};let{compDetails:H,createFilterUi:_}=q;if(this.isGlobalButtons){if(!H.params?.buttons?.length)R(281,{colId:Q.getColId()})}return{compDetails:H,handler:X,handlerGenerator:G,handlerParams:Y,createFilterUi:_}}createBaseFilterParams(Q,z){let{filterManager:J,rowModel:Z}=this.beans;return y(this.gos,{column:Q,colDef:Q.getColDef(),getValue:this.createGetValue(Q),doesRowPassOtherFilter:z?()=>!0:($)=>J?.doesRowPassOtherFilters(Q.getColId(),$)??!0,rowModel:Z})}createFilterCompParams(Q,z,J,Z){let $=this.filterChangedCallbackFactory(Q),X=this.createBaseFilterParams(Q,Z);if(X.filterChangedCallback=$,X.filterModifiedCallback=Z?()=>{}:(Y)=>this.filterModified(Q,Y),z){let Y=X,G=Q.getColId(),q=F0(this.model,G);Y.model=q,Y.state=this.state.get(G)??{model:q},Y.onModelChange=(H,_)=>{this.updateStoredModel(G,H),this.refreshHandlerAndUi(Q,H,"ui",!1,_).then(()=>{$({..._,source:"columnFilter"})})},Y.onStateChange=(H)=>{this.updateState(Q,H),this.updateOrRefreshFilterUi(Q)},Y.onAction=(H,_,U)=>{this.updateModel(Q,H,_),this.dispatchLocalEvent({type:"filterAction",column:Q,action:H,event:U})},Y.getHandler=()=>this.getHandler(Q,!0),Y.onUiChange=(H)=>this.filterUiChanged(Q,H),Y.source=J}return X}createFilterUiForHandler(Q,z){return z?{created:!1,create:z,filterParams:Q.params,compDetails:Q}:null}createFilterUiLegacy(Q,z,J){let Z=z(),$={created:!0,create:z,filterParams:Q.params,compDetails:Q,promise:Z};return Z.then(J),$}createFilterWrapper(Q){let{compDetails:z,handler:J,handlerGenerator:Z,handlerParams:$,createFilterUi:X}=this.createFilterInstance(Q,Q.getColDef(),this.getDefaultFilter(Q),(G)=>G),Y=Q.getColId();if(J)return delete this.initialModel[Y],J.init?.({...$,source:"init",model:F0(this.model,Y)}),{column:Q,isHandler:!0,handler:J,handlerGenerator:Z,handlerParams:$,filterUi:this.createFilterUiForHandler(z,X)};if(X){let G={column:Q,filterUi:null,isHandler:!1};return G.filterUi=this.createFilterUiLegacy(z,X,(q)=>{G.filter=q??void 0}),G}return{column:Q,filterUi:null,isHandler:!1}}createHandlerFunc(Q,z,J){let{gos:Z,frameworkOverrides:$,registry:X}=this.beans,Y,G=(B)=>{let E=B.filter;if(S9(E)){let K=E.handler;if(K)return K;if(Y=E.doesFilterPass,Y)return()=>({doesFilterPass:Y});return}return typeof E==="string"?E:void 0},q=Z.get("enableFilterHandlers"),H=q?G(z):void 0,_=(B)=>()=>this.createBean(X.createDynamicBean(B,!0)),U,W;if(typeof H==="string"){let B=Z.get("filterHandlers")?.[H];if(B!=null)U=B;else if(CL.has(H))U=_(H),W=H}else U=H;if(!U){let B,{compName:E,jsComp:K,fwComp:L}=T9($,z);if(E)B=E;else if(K==null&&L==null&&z.filter===!0)B=J;if(W=this.handlerMap[B],W)U=_(W)}if(!U){if(!q)return;if(o(Z))R(277,{colId:Q.getColId()});return eL}return{filterHandler:U,handlerNameOrCallback:Y??W}}createHandler(Q,z,J){let Z=this.createHandlerFunc(Q,z,J);if(!Z)return;let $=R2(this.beans.userCompFactory,z,this.createFilterCompParams(Q,!0,"init")),{handlerNameOrCallback:X,filterHandler:Y}=Z,{handler:G,handlerParams:q}=this.createHandlerFromFunc(Q,Y,$);return{handler:G,handlerParams:q,handlerGenerator:X??Y}}createHandlerFromFunc(Q,z,J){let Z=Q.getColDef(),$=z(y(this.gos,{column:Q,colDef:Z})),X=this.createHandlerParams(Q,J);return{handler:$,handlerParams:X}}createHandlerParams(Q,z){let J=Q.getColDef(),Z=Q.getColId(),$=this.filterChangedCallbackFactory(Q);return y(this.gos,{colDef:J,column:Q,getValue:this.createGetValue(Q),doesRowPassOtherFilter:(X)=>this.beans.filterManager?.doesRowPassOtherFilters(Z,X)??!0,onModelChange:(X,Y)=>{this.updateStoredModel(Z,X),this.refreshHandlerAndUi(Q,X,"handler",!1,Y).then(()=>{$({...Y,source:"columnFilter"})})},onModelAsStringChange:()=>{Q.dispatchColEvent("filterChanged","filterChanged"),this.dispatchLocalEvent({type:"filterModelAsStringChanged",column:Q})},filterParams:z})}onColumnsChanged(){let Q=[],{colModel:z,filterManager:J,groupFilter:Z}=this.beans;this.allColumnFilters.forEach((X,Y)=>{let G;if(X.column.isPrimary())G=z.getColDefCol(Y);else G=z.getCol(Y);if(G&&G===X.column)return;Q.push(X.column),this.disposeFilterWrapper(X,"columnChanged"),this.disposeColumnListener(Y)});let $=Z&&Q.every((X)=>Z.isGroupFilter(X));if(Q.length>0&&!$)J?.onFilterChanged({columns:Q,source:"api"})}isFilterAllowed(Q){if(!Q.isFilterAllowed())return!1;let J=this.beans.groupFilter;if(J?.isGroupFilter(Q))return J.isFilterAllowed(Q);return!0}getFloatingFilterCompDetails(Q,z){let{userCompFactory:J,frameworkOverrides:Z,selectableFilter:$,gos:X}=this.beans,Y=(B)=>{this.getOrCreateFilterUi(Q)?.then((K)=>{B(mQ(K))})},G=Q.getColDef(),q=$?.isSelectable(G)?$.getFilterDef(Q,G):G,H=b6(Z,q,()=>this.getDefaultFloatingFilter(Q))??"agReadOnlyFloatingFilter",_=X.get("enableFilterHandlers"),U=R2(J,q,this.createFilterCompParams(Q,_,"init",!0)),W=y(X,{column:Q,filterParams:U,currentParentModel:()=>this.getCurrentFloatingFilterParentModel(Q),parentFilterInstance:Y,showParentFilter:z});if(_){let B=W,E=Q.getColId(),K=this.filterChangedCallbackFactory(Q);B.onUiChange=(L)=>this.floatingFilterUiChanged(Q,L),B.model=F0(this.model,E),B.onModelChange=(L,F)=>{this.updateStoredModel(E,L),this.refreshHandlerAndUi(Q,L,"floating",!0,F).then(()=>{K({...F,source:"columnFilter"})})},B.getHandler=()=>this.getHandler(Q,!0),B.source="init"}return t5(J,G,W,H)}getCurrentFloatingFilterParentModel(Q){return this.getModelFromFilterWrapper(this.cachedFilter(Q)??{column:Q})}destroyFilterUi(Q,z,J,Z){if(Q.isHandler){let X=z.getColId();delete this.initialModel[X],this.state.delete(X);let Y=Q.filterUi,G=this.createFilterUiForHandler(J,Z);Q.filterUi=G;let q=this.eventSvc;if(Y?.created)Y.promise.then((H)=>{this.destroyBean(H),q.dispatchEvent({type:"filterDestroyed",source:"paramsUpdated",column:z})});else q.dispatchEvent({type:"filterHandlerDestroyed",source:"paramsUpdated",column:z})}else this.destroyFilter(z,"paramsUpdated")}destroyFilter(Q,z="api"){let J=Q.getColId(),Z=this.allColumnFilters.get(J);if(this.disposeColumnListener(J),delete this.initialModel[J],Z)this.disposeFilterWrapper(Z,z).then(($)=>{if($&&this.isAlive())this.beans.filterManager?.onFilterChanged({columns:[Q],source:"api"})})}disposeColumnListener(Q){let z=this.allColumnListeners.get(Q);if(z)this.allColumnListeners.delete(Q),z()}disposeFilterWrapper(Q,z){let J=!1,{column:Z,isHandler:$,filterUi:X}=Q,Y=Z.getColId();if($)J=this.isHandlerActive(Z),this.destroyBean(Q.handler),delete this.model[Y],this.state.delete(Y);let G=()=>{this.setColFilterActive(Z,!1,"filterDestroyed"),this.allColumnFilters.delete(Y),this.eventSvc.dispatchEvent({type:"filterDestroyed",source:z,column:Z})};if(X)if(X.created)return X.promise.then((q)=>{return J=$?J:!!q?.isFilterActive(),this.destroyBean(q),G(),J});else G();return g.resolve(J)}filterChangedCallbackFactory(Q){return(z)=>{this.callOnFilterChangedOutsideRenderCycle({additionalEventAttributes:z,columns:[Q],column:Q,source:z?.source??"columnFilter"})}}filterParamsChanged(Q,z="api"){let J=this.allColumnFilters.get(Q);if(!J)return;let Z=this.beans,$=J.column,X=$.getColDef(),Y=$.isFilterAllowed(),G=this.getDefaultFilter($),q=Z.selectableFilter,H=q?.isSelectable(X)?q.getFilterDef($,X):X,_=Y?this.createHandlerFunc($,H,this.getDefaultFilter($)):void 0,U=!!_,W=J.isHandler;if(W!=U){this.destroyFilter($,"paramsUpdated");return}let{compDetails:B,createFilterUi:E}=(Y?this.createFilterComp($,H,G,(L)=>L,U,"colDef"):null)??{compDetails:null,createFilterUi:null},K=B?.params??R2(Z.userCompFactory,H,this.createFilterCompParams($,U,"colDef"));if(W){let L=_?.handlerNameOrCallback??_?.filterHandler,F=F0(this.model,Q);if(J.handlerGenerator!=L){let D=J.handler,{handler:M,handlerParams:k}=this.createHandlerFromFunc($,_.filterHandler,K);if(J.handler=M,J.handlerParams=k,J.handlerGenerator=L,delete this.model[Q],M.init?.({...k,source:"init",model:null}),this.destroyBean(D),F!=null)this.beans.filterManager?.onFilterChanged({columns:[$],source:z})}else{let D=this.createHandlerParams($,B?.params);J.handlerParams=D,J.handler.refresh?.({...D,source:"colDef",model:F})}}if(this.areFilterCompsDifferent(J.filterUi?.compDetails??null,B)||!J.filterUi||!B){this.destroyFilterUi(J,$,B,E);return}J.filterUi.filterParams=K,aQ(J,W)?.then((L)=>{if((L?.refresh?L.refresh(K):!0)===!1)this.destroyFilterUi(J,$,B,E);else this.dispatchLocalEvent({type:"filterParamsChanged",column:$,params:K})})}refreshHandlerAndUi(Q,z,J,Z,$){let X=this.cachedFilter(Q);if(!X){if(Z)this.getOrCreateFilterWrapper(Q,!0);return g.resolve()}if(!X.isHandler)return g.resolve();let{filterUi:Y,handler:G,handlerParams:q}=X;return rZ(()=>{if(Y){let{created:H,filterParams:_}=Y;if(H)return Y.promise.then((U)=>{return U?{filter:U,filterParams:_}:void 0});else Y.refreshed=!0}return g.resolve(void 0)},G,q,z,this.state.get(Q.getColId())??{model:z},J,$)}setColumnFilterWrapper(Q,z){let J=Q.getColId();this.allColumnFilters.set(J,z),this.allColumnListeners.set(J,this.addManagedListeners(Q,{colDefChanged:()=>this.filterParamsChanged(J)})[0])}areFilterCompsDifferent(Q,z){if(!z||!Q)return!0;let{componentClass:J}=Q,{componentClass:Z}=z;return!(J===Z||J?.render&&Z?.render&&J.render===Z.render)}hasFloatingFilters(){return this.beans.colModel.getCols().some((z)=>z.getColDef().floatingFilter)}getFilterInstance(Q){let z=this.beans.colModel.getColDefCol(Q);if(!z)return Promise.resolve(void 0);let J=this.getOrCreateFilterUi(z);if(!J)return Promise.resolve(null);return new Promise((Z)=>{J.then(($)=>{Z(mQ($))})})}processFilterModelUpdateQueue(){this.modelUpdates.forEach(({model:Q,source:z})=>this.setModel(Q,z)),this.modelUpdates=[],this.columnModelUpdates.forEach(({key:Q,model:z,resolve:J})=>{this.setModelForColumn(Q,z).then(()=>J())}),this.columnModelUpdates=[]}getModelForColumn(Q,z){if(z){let{state:Z,model:$}=this,X=Q.getColId(),Y=Z.get(X);if(Y)return Y.model??null;return F0($,X)}let J=this.cachedFilter(Q);return J?this.getModelFromFilterWrapper(J):null}setModelForColumn(Q,z){if(this.beans.dataTypeSvc?.isPendingInference){let J=()=>{},Z=new Promise(($)=>{J=$});return this.columnModelUpdates.push({key:Q,model:z,resolve:J}),Z}return new Promise((J)=>{this.setModelForColumnLegacy(Q,z).then((Z)=>J(Z))})}getStateForColumn(Q){return this.state.get(Q)??{model:F0(this.model,Q)}}setModelForColumnLegacy(Q,z){let J=this.beans.colModel.getColDefCol(Q),Z=J?this.getOrCreateFilterWrapper(J,!0):null;return Z?this.setModelOnFilterWrapper(Z,z):g.resolve()}setColDefPropsForDataType(Q,z,J){let Z=Q.filter,$=Z===!0?this.getDefaultFilterFromDataType(()=>z.baseDataType):Z;if(typeof $!=="string")return;let X,Y,G=this.beans,{filterParams:q,filterValueGetter:H}=Q;if($==="agMultiColumnFilter")({filterParams:X,filterValueGetter:Y}=G.multiFilter?.getParamsForDataType(q,H,z,J)??{});else({filterParams:X,filterValueGetter:Y}=I6($,q,H,z,J,G,this.getLocaleTextFunc()));if(Q.filterParams=X,Y)Q.filterValueGetter=Y}setColFilterActive(Q,z,J,Z){if(Q.filterActive!==z)Q.filterActive=z,Q.dispatchColEvent("filterActiveChanged",J);Q.dispatchColEvent("filterChanged",J,Z)}setModelOnFilterWrapper(Q,z,J){return new g((Z)=>{if(Q.isHandler){let X=Q.column,Y=X.getColId(),G=this.model[Y];if(this.updateStoredModel(Y,z),J&&z===G){Z();return}this.refreshHandlerAndUi(X,z,"api").then(()=>Z());return}let $=aQ(Q);if($){$.then((X)=>{if(typeof X?.setModel!=="function"){R(65),Z();return}(X.setModel(z)||g.resolve()).then(()=>Z())});return}Z()})}updateStoredModel(Q,z){if(T(z))this.model[Q]=z;else delete this.model[Q];let J=this.state.get(Q),Z={model:z,state:J?.state};this.state.set(Q,Z)}filterModified(Q,z){this.getOrCreateFilterUi(Q)?.then((J)=>{this.eventSvc.dispatchEvent({type:"filterModified",column:Q,filterInstance:J,...z})})}filterUiChanged(Q,z){if(this.gos.get("enableFilterHandlers"))this.eventSvc.dispatchEvent({type:"filterUiChanged",column:Q,...z})}floatingFilterUiChanged(Q,z){if(this.gos.get("enableFilterHandlers"))this.eventSvc.dispatchEvent({type:"floatingFilterUiChanged",column:Q,...z})}updateModel(Q,z,J){let Z=Q.getColId(),$=this.cachedFilter(Q),X=()=>$?.filterUi;FZ({action:z,filterParams:$?.filterUi?.filterParams,getFilterUi:X,getModel:()=>F0(this.model,Z),getState:()=>this.state.get(Z),updateState:(Y)=>this.updateState(Q,Y),updateModel:(Y)=>X()?.filterParams?.onModelChange(Y,{...J,fromAction:z}),processModelToApply:$?.isHandler?$.handler.processModelToApply?.bind($.handler):void 0})}updateAllModels(Q,z){let J=[];if(this.allColumnFilters.forEach((Z,$)=>{let X=this.beans.colModel.getColDefCol($);if(X)FZ({action:Q,filterParams:Z.filterUi?.filterParams,getFilterUi:()=>Z.filterUi,getModel:()=>F0(this.model,$),getState:()=>this.state.get($),updateState:(Y)=>this.updateState(X,Y),updateModel:(Y)=>{this.updateStoredModel($,Y),this.dispatchLocalEvent({type:"filterAction",column:X,action:Q}),J.push(this.refreshHandlerAndUi(X,Y,"ui"))},processModelToApply:Z?.isHandler?Z.handler.processModelToApply?.bind(Z.handler):void 0})}),J.length)g.all(J).then(()=>{this.callOnFilterChangedOutsideRenderCycle({source:"columnFilter",additionalEventAttributes:z,columns:[]})})}updateOrRefreshFilterUi(Q){let z=Q.getColId();EX(()=>this.cachedFilter(Q)?.filterUi,()=>F0(this.model,z),()=>this.state.get(z))}updateState(Q,z){this.state.set(Q.getColId(),z),this.dispatchLocalEvent({type:"filterStateChanged",column:Q,state:z})}canApplyAll(){let{state:Q,model:z,activeFilterComps:J}=this;for(let $ of J)if($.source==="COLUMN_MENU")return!1;let Z=!1;for(let $ of Q.keys()){let X=Q.get($);if(X.valid===!1)return!1;if((X.model??null)!==F0(z,$))Z=!0}return Z}hasUnappliedModel(Q){let{model:z,state:J}=this;return(J.get(Q)?.model??null)!==F0(z,Q)}setGlobalButtons(Q){this.isGlobalButtons=Q,this.dispatchLocalEvent({type:"filterGlobalButtons",isGlobal:Q})}shouldKeepStateOnDetach(Q,z){if(z==="newFiltersToolPanel")return!0;let J=this.beans.filterPanelSvc;if(J?.isActive)return!!J.getState(Q.getColId());return!1}onPivotModeChanged(Q){let{colModel:z,pivotColsSvc:J}=this.beans,Z=!!TQ(this.gos),$=Q.currentValue,X=$?this.activeColumnFilters:this.activeAggregateFilters,Y=$?this.activeAggregateFilters:this.activeColumnFilters,G=[];for(let q of X){let H=z.getColById(q.colId),_=$&&!!J?.columns.length;if(H&&$===f8(H,$,_,Z))Y.push(q),G.push(q)}JJ(X,G)}destroy(){super.destroy(),this.allColumnFilters.forEach((Q)=>this.disposeFilterWrapper(Q,"gridDestroyed")),this.allColumnListeners.clear(),this.state.clear(),this.activeFilterComps.clear()}};function zF(Q){return!!Q.filterManager?.isAnyFilterPresent()}function JF(Q,z="api"){Q.filterManager?.onFilterChanged({source:z})}var ZF=class extends j{constructor(){super(...arguments);this.beanName="filterManager",this.advFilterModelUpdateQueue=[]}wireBeans(Q){this.quickFilter=Q.quickFilter,this.advancedFilter=Q.advancedFilter,this.colFilter=Q.colFilter}postConstruct(){let Q=this.refreshFiltersForAggregations.bind(this),z=this.updateAdvFilterColumns.bind(this);if(this.addManagedEventListeners({columnValueChanged:Q,columnPivotChanged:Q,columnPivotModeChanged:Q,newColumnsLoaded:z,columnVisible:z,advancedFilterEnabledChanged:({enabled:Z})=>this.onAdvFilterEnabledChanged(Z),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.quickFilter)this.addManagedListeners(this.quickFilter,{quickFilterChanged:()=>this.onFilterChanged({source:"quickFilter"})});let{gos:J}=this;this.alwaysPassFilter=J.get("alwaysPassFilter"),this.addManagedPropertyListener("alwaysPassFilter",()=>{this.alwaysPassFilter=J.get("alwaysPassFilter"),this.onFilterChanged({source:"api"})})}isExternalFilterPresentCallback(){let Q=this.gos.getCallback("isExternalFilterPresent");return typeof Q==="function"&&Q({})}doesExternalFilterPass(Q){let z=this.gos.get("doesExternalFilterPass");return typeof z==="function"&&z(Q)}setFilterState(Q,z,J="api"){if(this.isAdvFilterEnabled())return;this.colFilter?.setState(Q,z,J)}setFilterModel(Q,z="api",J){if(this.isAdvFilterEnabled()){if(!J)this.warnAdvFilters();return}this.colFilter?.setModel(Q,z)}getFilterModel(){return this.colFilter?.getModel()??{}}getFilterState(){return this.colFilter?.getState()}isColumnFilterPresent(){return!!this.colFilter?.isFilterPresent()}isAggregateFilterPresent(){return!!this.colFilter?.isAggFilterPresent()}isChildFilterPresent(){return this.isColumnFilterPresent()||this.isQuickFilterPresent()||this.externalFilterPresent||this.isAdvFilterPresent()}isAnyFilterPresent(){return this.isChildFilterPresent()||this.isAggregateFilterPresent()}isAdvFilterPresent(){return this.isAdvFilterEnabled()&&this.advancedFilter.isFilterPresent()}onAdvFilterEnabledChanged(Q){if(Q){if(this.colFilter?.disableFilters())this.onFilterChanged({source:"advancedFilter"})}else if(this.advancedFilter?.isFilterPresent())this.advancedFilter.setModel(null),this.onFilterChanged({source:"advancedFilter"})}isAdvFilterEnabled(){return!!this.advancedFilter?.isEnabled()}isAdvFilterHeaderActive(){return this.isAdvFilterEnabled()&&this.advancedFilter.isHeaderActive()}refreshFiltersForAggregations(){if(TQ(this.gos)&&this.isAnyFilterPresent())this.onFilterChanged()}onFilterChanged(Q={}){let{source:z,additionalEventAttributes:J,columns:Z=[]}=Q;this.externalFilterPresent=this.isExternalFilterPresentCallback(),(this.colFilter?this.colFilter.updateBeforeFilterChanged(Q):g.resolve()).then(()=>{let $={source:z,type:"filterChanged",columns:Z};if(J)B0($,J);this.eventSvc.dispatchEvent($),this.colFilter?.updateAfterFilterChanged()})}isSuppressFlashingCellsBecauseFiltering(){return!!this.colFilter?.isSuppressFlashingCellsBecauseFiltering()}isQuickFilterPresent(){return!!this.quickFilter?.isFilterPresent()}updateAggFiltering(){this.aggFiltering=!!TQ(this.gos)}isAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&this.shouldApplyQuickFilterAfterAgg()}isNonAggregateQuickFilterPresent(){return this.isQuickFilterPresent()&&!this.shouldApplyQuickFilterAfterAgg()}shouldApplyQuickFilterAfterAgg(){return(this.aggFiltering||this.beans.colModel.isPivotMode())&&!this.gos.get("applyQuickFilterBeforePivotOrAgg")}doesRowPassOtherFilters(Q,z){return this.doesRowPassFilter({rowNode:z,colIdToSkip:Q})}doesRowPassAggregateFilters(Q){let{rowNode:z}=Q;if(this.alwaysPassFilter?.(z))return!0;if(this.isAggregateQuickFilterPresent()&&!this.quickFilter.doesRowPass(z))return!1;if(this.isAggregateFilterPresent()&&!this.colFilter.doFiltersPass(z,Q.colIdToSkip,!0))return!1;return!0}doesRowPassFilter(Q){let{rowNode:z}=Q;if(this.alwaysPassFilter?.(z))return!0;if(this.isNonAggregateQuickFilterPresent()&&!this.quickFilter.doesRowPass(z))return!1;if(this.externalFilterPresent&&!this.doesExternalFilterPass(z))return!1;if(this.isColumnFilterPresent()&&!this.colFilter.doFiltersPass(z,Q.colIdToSkip))return!1;if(this.isAdvFilterPresent()&&!this.advancedFilter.doesFilterPass(z))return!1;return!0}isFilterAllowed(Q){if(this.isAdvFilterEnabled())return!1;return!!this.colFilter?.isFilterAllowed(Q)}getAdvFilterModel(){return this.isAdvFilterEnabled()?this.advancedFilter.getModel():null}setAdvFilterModel(Q,z="api"){if(!this.isAdvFilterEnabled())return;if(this.beans.dataTypeSvc?.isPendingInference){this.advFilterModelUpdateQueue.push(Q);return}this.advancedFilter.setModel(Q??null),this.onFilterChanged({source:z})}toggleAdvFilterBuilder(Q,z){if(!this.isAdvFilterEnabled())return;this.advancedFilter.getCtrl().toggleFilterBuilder({source:z,force:Q})}updateAdvFilterColumns(){if(!this.isAdvFilterEnabled())return;if(this.advancedFilter.updateValidity())this.onFilterChanged({source:"advancedFilter"})}hasFloatingFilters(){if(this.isAdvFilterEnabled())return!1;return!!this.colFilter?.hasFloatingFilters()}getColumnFilterInstance(Q){if(this.isAdvFilterEnabled())return this.warnAdvFilters(),Promise.resolve(void 0);return this.colFilter?.getFilterInstance(Q)??Promise.resolve(void 0)}warnAdvFilters(){R(68)}setupAdvFilterHeaderComp(Q){this.advancedFilter?.getCtrl().setupHeaderComp(Q)}getHeaderRowCount(){return this.isAdvFilterHeaderActive()?1:0}getHeaderHeight(){return this.isAdvFilterHeaderActive()?this.advancedFilter.getCtrl().getHeaderHeight():0}processFilterModelUpdateQueue(){for(let Q of this.advFilterModelUpdateQueue)this.setAdvFilterModel(Q);this.advFilterModelUpdateQueue=[]}setColumnFilterModel(Q,z){if(this.isAdvFilterEnabled())return this.warnAdvFilters(),Promise.resolve();return this.colFilter?.setModelForColumn(Q,z)??Promise.resolve()}};function $F(Q){return{tag:"div",cls:Q}}var y6=class extends x{constructor(Q){let{className:z="ag-filter-apply-panel"}=Q??{};super($F(z));this.listeners=[],this.validationMessage=null,this.className=z}updateButtons(Q,z){let J=this.buttons;if(this.buttons=Q,J===Q)return;let Z=this.getGui();z0(Z);let $;this.destroyListeners();let X=document.createDocumentFragment(),Y=this.className,G=({type:H,label:_})=>{let U=(F)=>{this.dispatchLocalEvent({type:H,event:F})};if(!["apply","clear","reset","cancel"].includes(H))R(75);let W=H==="apply",E=Z0({tag:"button",attrs:{type:W&&z?"submit":"button"},ref:`${H}FilterButton`,cls:`ag-button ag-standard-button ${Y}-button${W?" "+Y+"-apply-button":""}`,children:_});if(this.activateTabIndex([E]),W)$=E;let K=(F)=>{if(F.key===V.ENTER)F.preventDefault(),U(F)},L=this.listeners;E.addEventListener("click",U),L.push(()=>E.removeEventListener("click",U)),E.addEventListener("keydown",K),L.push(()=>E.removeEventListener("keydown",K)),X.append(E)};for(let H of Q)G(H);this.eApply=$;let q=this.validationTooltipFeature;if($&&!q)this.validationTooltipFeature=this.createOptionalManagedBean(this.beans.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.eApply,getLocation:()=>"advancedFilter",getTooltipShowDelayOverride:()=>1000}));else if(!$&&q)this.validationTooltipFeature=this.destroyBean(q);Z.append(X)}getApplyButton(){return this.eApply}updateValidity(Q,z=null){let J=this.eApply;if(!J)return;T5(J,!Q),this.validationMessage=z,this.validationTooltipFeature?.setTooltipAndRefresh(this.validationMessage)}destroyListeners(){for(let Q of this.listeners)Q();this.listeners=[]}destroy(){this.destroyListeners(),super.destroy()}};var x6=class extends x{constructor(Q,z,J,Z,$,X){super();this.column=Q,this.wrapper=z,this.eventParent=J,this.updateModel=Z,this.isGlobalButtons=$,this.enableGlobalButtonCheck=X,this.hidePopup=null,this.applyActive=!1}postConstruct(){let{comp:Q,params:z}=this.wrapper,J=z,Z=J.useForm,$=Z?"form":"div";if(this.setTemplate({tag:$,cls:"ag-filter-wrapper"}),Z)this.addManagedElementListeners(this.getGui(),{submit:(X)=>{X?.preventDefault()},keydown:this.handleKeyDown.bind(this)});this.appendChild(Q.getGui()),this.params=J,this.resetButtonsPanel(J),this.addManagedListeners(this.eventParent,{filterParamsChanged:({column:X,params:Y})=>{if(X===this.column)this.resetButtonsPanel(Y,this.params)},filterStateChanged:({column:X,state:Y})=>{if(X===this.column)this.eButtons?.updateValidity(Y.valid!==!1)},filterAction:({column:X,action:Y,event:G})=>{if(X===this.column)this.afterAction(Y,G)},...this.enableGlobalButtonCheck?{filterGlobalButtons:({isGlobal:X})=>{if(X!==this.isGlobalButtons){this.isGlobalButtons=X;let Y=this.params;this.resetButtonsPanel(Y,Y,!0)}}}:void 0})}afterGuiAttached(Q){if(Q)this.hidePopup=Q.hidePopup}resetButtonsPanel(Q,z,J){let{buttons:Z,readOnly:$}=z??{},{buttons:X,readOnly:Y,useForm:G}=Q;if(!J&&$===Y&&DZ(Z,X))return;let q=X&&X.length>0&&!Q.readOnly&&!this.isGlobalButtons,H=this.eButtons;if(q){let _=X.map((U)=>{let W=`${U}Filter`;return{type:U,label:N9(this,W)}});if(this.applyActive=WJ(this.params),!H){H=this.createBean(new y6),this.appendChild(H.getGui());let U=this.column,W=(B)=>({event:E})=>{this.updateModel(U,B,{fromButtons:!0}),this.afterAction(B,E)};H?.addManagedListeners(H,{apply:W("apply"),clear:W("clear"),reset:W("reset"),cancel:W("cancel")}),this.eButtons=H}H.updateButtons(_,G)}else if(this.applyActive=!1,H)T0(H.getGui()),this.eButtons=this.destroyBean(H)}close(Q){let z=this.hidePopup;if(!z)return;let J=Q,Z=J?.key,$;if(Z===V.ENTER||Z===V.SPACE)$={keyboardEvent:J};z($),this.hidePopup=null}afterAction(Q,z){let{params:J,applyActive:Z}=this,$=J?.closeOnApply;switch(Q){case"apply":{if(z?.preventDefault(),$&&Z)this.close(z);break}case"reset":{if($&&Z)this.close();break}case"cancel":{if($)this.close(z);break}}}handleKeyDown(Q){if(!Q.defaultPrevented&&Q.key===V.ENTER&&this.applyActive)this.updateModel(this.column,"apply",{fromButtons:!0}),this.afterAction("apply",Q)}destroy(){this.hidePopup=null,this.eButtons=this.destroyBean(this.eButtons)}},XF=":where(.ag-menu:not(.ag-tabs) .ag-filter)>:not(.ag-filter-wrapper){min-width:180px}",YF={tag:"div",cls:"ag-filter"},w6=class extends x{constructor(Q,z,J){super(YF);this.column=Q,this.source=z,this.enableGlobalButtonCheck=J,this.wrapper=null}postConstruct(){this.beans.colFilter?.activeFilterComps.add(this),this.createFilter(!0),this.addManagedEventListeners({filterDestroyed:this.onFilterDestroyed.bind(this)})}hasFilter(){return this.wrapper!=null}getFilter(){return this.wrapper?.then((Q)=>Q.comp)??null}afterInit(){return this.wrapper?.then(()=>{})??g.resolve()}afterGuiAttached(Q){this.afterGuiAttachedParams=Q,this.wrapper?.then((z)=>{this.comp?.afterGuiAttached(Q),z?.comp?.afterGuiAttached?.(Q)})}afterGuiDetached(){this.wrapper?.then((Q)=>{Q?.comp?.afterGuiDetached?.()})}createFilter(Q){let{column:z,source:J,beans:{colFilter:Z}}=this,$=Z.getFilterUiForDisplay(z)??null;this.wrapper=$,$?.then((X)=>{if(!X)return;let{isHandler:Y,comp:G}=X,q;if(Y){let H=!!this.enableGlobalButtonCheck,_=this.createBean(new x6(z,X,Z,Z.updateModel.bind(Z),H&&Z.isGlobalButtons,H));this.comp=_,q=_.getGui()}else if(this.registerCSS(XF),q=G.getGui(),!T(q))R(69,{guiFromFilter:q});if(this.appendChild(q),Q)this.eventSvc.dispatchEvent({type:"filterOpened",column:z,source:J,eGui:this.getGui()});else G.afterGuiAttached?.(this.afterGuiAttachedParams)})}onFilterDestroyed(Q){let{source:z,column:J}=Q;if((z==="api"||z==="paramsUpdated")&&J.getId()===this.column.getId()&&this.beans.colModel.getColDefCol(this.column))z0(this.getGui()),this.comp=this.destroyBean(this.comp),this.createFilter()}destroy(){this.beans.colFilter?.activeFilterComps.delete(this),this.eventSvc.dispatchEvent({type:"filterClosed",column:this.column}),this.wrapper=null,this.comp=this.destroyBean(this.comp),this.afterGuiAttachedParams=void 0,super.destroy()}},GF=class extends j{constructor(){super(...arguments);this.beanName="filterMenuFactory"}wireBeans(Q){this.popupSvc=Q.popupSvc}hideActiveMenu(){this.hidePopup?.()}showMenuAfterMouseEvent(Q,z,J,Z){if(Q&&!Q.isColumn)return;this.showPopup(Q,($)=>{this.popupSvc?.positionPopupUnderMouseEvent({additionalParams:{column:Q},type:J,mouseEvent:z,ePopup:$})},J,z.target,U0(this.gos),Z)}showMenuAfterButtonClick(Q,z,J,Z){if(Q&&!Q.isColumn)return;let $=-1,X="left",Y=U0(this.gos);if(!Y&&this.gos.get("enableRtl"))$=1,X="right";let G=Y?void 0:4*$,q=Y?void 0:4;this.showPopup(Q,(H)=>{this.popupSvc?.positionPopupByComponent({type:J,eventSource:z,ePopup:H,nudgeX:G,nudgeY:q,alignSide:X,keepWithinBounds:!0,position:"under",additionalParams:{column:Q}})},J,z,Y,Z)}showPopup(Q,z,J,Z,$,X){let Y=Q?this.createBean(new w6(Q,"COLUMN_MENU")):void 0;if(this.activeMenu=Y,!Y?.hasFilter()||!Q){e(57);return}let G=Z0({tag:"div",cls:`ag-menu${!$?" ag-filter-menu":""}`,role:"presentation"});[this.tabListener]=this.addManagedElementListeners(G,{keydown:(K)=>this.trapFocusWithin(K,G)}),G.appendChild(Y?.getGui());let q,H=()=>Y?.afterGuiDetached(),_=h5(this.gos)?Z??this.beans.ctrlsSvc.getGridBodyCtrl().eGridBody:void 0,U=(K)=>{zJ(Q,!1,"contextMenu");let L=K instanceof KeyboardEvent;if(this.tabListener)this.tabListener=this.tabListener();if(L&&Z&&f0(Z))xZ(Z)?.focus({preventScroll:!0});H(),this.destroyBean(this.activeMenu),this.dispatchVisibleChangedEvent(!1,J,Q),X?.()},W=this.getLocaleTextFunc(),B=$&&J!=="columnFilter"?W("ariaLabelColumnMenu","Column Menu"):W("ariaLabelColumnFilter","Column Filter"),E=this.popupSvc?.addPopup({modal:!0,eChild:G,closeOnEsc:!0,closedCallback:U,positionCallback:()=>z(G),anchorToElement:_,ariaLabel:B});if(E)this.hidePopup=q=E.hideFunc;Y.afterInit().then(()=>{z(G),Y.afterGuiAttached({container:J,hidePopup:q})}),zJ(Q,!0,"contextMenu"),this.dispatchVisibleChangedEvent(!0,J,Q)}trapFocusWithin(Q,z){if(Q.key!==V.TAB||Q.defaultPrevented||R0(this.beans,z,!1,Q.shiftKey))return;Q.preventDefault(),D0(z,Q.shiftKey)}dispatchVisibleChangedEvent(Q,z,J){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:Q,switchingTab:!1,key:z,column:J??null,columnGroup:null})}isMenuEnabled(Q){return Q.isFilterAllowed()&&(Q.getColDef().menuTabs??["filterMenuTab"]).includes("filterMenuTab")}showMenuAfterContextMenuEvent(){}destroy(){this.destroyBean(this.activeMenu),super.destroy()}},qF=class extends j{constructor(){super(...arguments);this.beanName="filterValueSvc"}getValue(Q,z,J){if(!z)return;let Z=Q.getColDef(),{selectableFilter:$,valueSvc:X,formula:Y}=this.beans,G=J??$?.getFilterValueGetter(Q.getColId())??Z.filterValueGetter;if(G)return this.executeFilterValueGetter(G,z.data,Q,z,Z);let q=X.getValue(Q,z,"data");if(Q.isAllowFormula()&&Y?.isFormula(q))return Y.resolveValue(Q,z);return q}executeFilterValueGetter(Q,z,J,Z,$){let{expressionSvc:X,valueSvc:Y}=this.beans,G=y(this.gos,{data:z,node:Z,column:J,colDef:$,getValue:Y.getValueCallback.bind(Y,Z)});if(typeof Q==="function")return Q(G);return X?.evaluate(Q,G)}};function HF(Q){return!!Q.quickFilter?.isFilterPresent()}function _F(Q){return Q.quickFilter?.getText()}function UF(Q){Q.quickFilter?.resetCache()}var WF=class extends j{constructor(){super(...arguments);this.beanName="quickFilter",this.quickFilter=null,this.quickFilterParts=null}postConstruct(){let Q=this.resetCache.bind(this),z=this.gos;this.addManagedEventListeners({columnPivotModeChanged:Q,newColumnsLoaded:Q,columnRowGroupChanged:Q,columnVisible:()=>{if(!z.get("includeHiddenColumnsInQuickFilter"))this.resetCache()}}),this.addManagedPropertyListener("quickFilterText",(J)=>this.setFilter(J.currentValue)),this.addManagedPropertyListeners(["includeHiddenColumnsInQuickFilter","applyQuickFilterBeforePivotOrAgg"],()=>this.onColumnConfigChanged()),this.quickFilter=this.parseFilter(z.get("quickFilterText")),this.parser=z.get("quickFilterParser"),this.matcher=z.get("quickFilterMatcher"),this.setFilterParts(),this.addManagedPropertyListeners(["quickFilterMatcher","quickFilterParser"],()=>this.setParserAndMatcher())}refreshCols(){let{autoColSvc:Q,colModel:z,gos:J,pivotResultCols:Z}=this.beans,$=z.isPivotMode(),X=Q?.getColumns(),Y=z.getColDefCols(),G=($&&!J.get("applyQuickFilterBeforePivotOrAgg")?Z?.getPivotResultCols()?.list:Y)??[];if(X)G=G.concat(X);this.colsToUse=J.get("includeHiddenColumnsInQuickFilter")?G:G.filter((q)=>q.isVisible()||q.isRowGroupActive())}isFilterPresent(){return this.quickFilter!==null}doesRowPass(Q){let z=this.gos.get("cacheQuickFilter");if(this.matcher)return this.doesRowPassMatcher(z,Q);return this.quickFilterParts.every((J)=>z?this.doesRowPassCache(Q,J):this.doesRowPassNoCache(Q,J))}resetCache(){this.beans.rowModel.forEachNode((Q)=>Q.quickFilterAggregateText=null)}getText(){return this.gos.get("quickFilterText")}setFilterParts(){let{quickFilter:Q,parser:z}=this;if(Q)this.quickFilterParts=z?z(Q):Q.split(" ");else this.quickFilterParts=null}parseFilter(Q){if(!T(Q))return null;return Q.toUpperCase()}setFilter(Q){if(Q!=null&&typeof Q!=="string"){R(70,{newFilter:Q});return}let z=this.parseFilter(Q);if(this.quickFilter!==z)this.quickFilter=z,this.setFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"})}setParserAndMatcher(){let Q=this.gos.get("quickFilterParser"),z=this.gos.get("quickFilterMatcher"),J=Q!==this.parser||z!==this.matcher;if(this.parser=Q,this.matcher=z,J)this.setFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"})}onColumnConfigChanged(){if(this.refreshCols(),this.resetCache(),this.isFilterPresent())this.dispatchLocalEvent({type:"quickFilterChanged"})}doesRowPassNoCache(Q,z){return this.colsToUse.some((J)=>{let Z=this.getTextForColumn(J,Q);return T(Z)&&Z.includes(z)})}doesRowPassCache(Q,z){return this.checkGenerateAggText(Q),Q.quickFilterAggregateText.includes(z)}doesRowPassMatcher(Q,z){let J;if(Q)this.checkGenerateAggText(z),J=z.quickFilterAggregateText;else J=this.getAggText(z);let{quickFilterParts:Z,matcher:$}=this;return $(Z,J)}checkGenerateAggText(Q){if(!Q.quickFilterAggregateText)Q.quickFilterAggregateText=this.getAggText(Q)}getTextForColumn(Q,z){let J=this.beans.filterValueSvc.getValue(Q,z),Z=Q.getColDef();if(Z.getQuickFilterText){let $=y(this.gos,{value:J,node:z,data:z.data,column:Q,colDef:Z});J=Z.getQuickFilterText($)}return T(J)?J.toString().toUpperCase():null}getAggText(Q){let z=[];for(let J of this.colsToUse){let Z=this.getTextForColumn(J,Q);if(T(Z))z.push(Z)}return z.join(`
`)}},BF={moduleName:"ClientSideRowModelFilter",version:p,rowModels:["clientSide"],beans:[kK]},KX={moduleName:"FilterCore",version:p,beans:[ZF],apiFunctions:{isAnyFilterPresent:zF,onFilterChanged:JF},css:[NL],dependsOn:[BF]},LX={moduleName:"FilterValue",version:p,beans:[qF]},FX={moduleName:"ColumnFilter",version:p,beans:[QF,GF],dynamicBeans:{headerFilterCellCtrl:bL},icons:{filter:"filter",filterActive:"filter"},apiFunctions:{isColumnFilterPresent:gL,getColumnFilterInstance:hL,destroyFilter:uL,setFilterModel:mL,getFilterModel:cL,getColumnFilterModel:pL,setColumnFilterModel:iL,showColumnFilter:nL,hideColumnFilter:dL,getColumnFilterHandler:tL,doFilterAction:rL},dependsOn:[KX,nz,LX,v6]};var EF={moduleName:"QuickFilterCore",version:p,rowModels:["clientSide"],beans:[WF],dependsOn:[KX,LX]},DX={moduleName:"QuickFilter",version:p,apiFunctions:{isQuickFilterPresent:HF,getQuickFilter:_F,resetQuickFilter:UF},dependsOn:[EF]};var KF=class extends j{constructor(){super(...arguments);this.beanName="apiEventSvc",this.syncListeners=new Map,this.asyncListeners=new Map,this.syncGlobalListeners=new Set,this.globalListenerPairs=new Map}postConstruct(){this.wrapSvc=this.beans.frameworkOverrides.createGlobalEventListenerWrapper?.()}addListener(Q,z){let J=this.wrapSvc?.wrap(Q,z)??z,Z=!lJ.has(Q),$=Z?this.asyncListeners:this.syncListeners;if(!$.has(Q))$.set(Q,new Set);$.get(Q).add(J),this.eventSvc.addListener(Q,J,Z)}removeListener(Q,z){let J=this.wrapSvc?.unwrap(Q,z)??z,$=!!this.asyncListeners.get(Q)?.delete(J);if(!$)this.syncListeners.get(Q)?.delete(J);this.eventSvc.removeListener(Q,J,$)}addGlobalListener(Q){let z=this.wrapSvc?.wrapGlobal(Q)??Q,J=(X,Y)=>{if(lJ.has(X))z(X,Y)},Z=(X,Y)=>{if(!lJ.has(X))z(X,Y)};this.globalListenerPairs.set(Q,{syncListener:J,asyncListener:Z});let $=this.eventSvc;$.addGlobalListener(J,!1),$.addGlobalListener(Z,!0)}removeGlobalListener(Q){let{eventSvc:z,wrapSvc:J,globalListenerPairs:Z}=this,$=J?.unwrapGlobal(Q)??Q;if(Z.has($)){let{syncListener:Y,asyncListener:G}=Z.get($);z.removeGlobalListener(Y,!1),z.removeGlobalListener(G,!0),Z.delete(Q)}else this.syncGlobalListeners.delete($),z.removeGlobalListener($,!1)}destroyEventListeners(Q,z){Q.forEach((J,Z)=>{J.forEach(($)=>this.eventSvc.removeListener(Z,$,z)),J.clear()}),Q.clear()}destroyGlobalListeners(Q,z){for(let J of Q)this.eventSvc.removeGlobalListener(J,z);Q.clear()}destroy(){super.destroy(),this.destroyEventListeners(this.syncListeners,!1),this.destroyEventListeners(this.asyncListeners,!0),this.destroyGlobalListeners(this.syncGlobalListeners,!1);let{globalListenerPairs:Q,eventSvc:z}=this;Q.forEach(({syncListener:J,asyncListener:Z})=>{z.removeGlobalListener(J,!1),z.removeGlobalListener(Z,!0)}),Q.clear()}};function LF(Q,z,J){Q.apiEventSvc?.addListener(z,J)}function FF(Q,z,J){Q.apiEventSvc?.removeListener(z,J)}function DF(Q,z){Q.apiEventSvc?.addGlobalListener(z)}function MF(Q,z){Q.apiEventSvc?.removeGlobalListener(z)}var MX={moduleName:"EventApi",version:p,apiFunctions:{addEventListener:LF,addGlobalListener:DF,removeEventListener:FF,removeGlobalListener:MF},beans:[KF]};function MQ(Q,z){if(typeof Q!=="number")return"";let J=z(),Z=J("thousandSeparator",","),$=J("decimalSeparator",".");return Q.toString().replace(".",$).replace(/(\d)(?=(\d{3})+(?!\d))/g,`$1${Z}`)}var kF="↑",VF="↓",fF={tag:"span",children:[{tag:"span",ref:"eDelta",cls:"ag-value-change-delta"},{tag:"span",ref:"eValue",cls:"ag-value-change-value"}]},AF=class extends x{constructor(){super(fF);this.eValue=S,this.eDelta=S,this.refreshCount=0}init(Q){this.refresh(Q,!0)}showDelta(Q,z){let J=Math.abs(z),Z=Q.formatValue(J),$=T(Z)?Z:J,X=z>=0,Y=this.eDelta;if(X)Y.textContent=kF+$;else Y.textContent=VF+$;Y.classList.toggle("ag-value-change-delta-up",X),Y.classList.toggle("ag-value-change-delta-down",!X)}setTimerToRemoveDelta(){this.refreshCount++;let Q=this.refreshCount;this.beans.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{if(Q===this.refreshCount)this.hideDeltaValue()},2000)})}hideDeltaValue(){this.eValue.classList.remove("ag-value-change-value-highlight"),z0(this.eDelta)}refresh(Q,z=!1){let{value:J,valueFormatted:Z}=Q,{eValue:$,lastValue:X,beans:Y}=this;if(J===X)return!1;if(T(Z))$.textContent=Z;else if(T(J))$.textContent=J;else z0($);if(Y.filterManager?.isSuppressFlashingCellsBecauseFiltering())return!1;let G=J&&typeof J==="object"&&"toNumber"in J?J.toNumber():J,q=X&&typeof X==="object"&&"toNumber"in X?X.toNumber():X;if(G===q)return!1;if(typeof G==="number"&&typeof q==="number"){let H=G-q;this.showDelta(Q,H)}if(X)$.classList.add("ag-value-change-value-highlight");if(!z)this.setTimerToRemoveDelta();return this.lastValue=J,!0}},jF=".ag-value-slide-out{opacity:1}:where(.ag-ltr) .ag-value-slide-out{margin-right:5px;transition:opacity 3s,margin-right 3s}:where(.ag-rtl) .ag-value-slide-out{margin-left:5px;transition:opacity 3s,margin-left 3s}:where(.ag-ltr,.ag-rtl) .ag-value-slide-out{transition-timing-function:linear}.ag-value-slide-out-end{opacity:0}:where(.ag-ltr) .ag-value-slide-out-end{margin-right:10px}:where(.ag-rtl) .ag-value-slide-out-end{margin-left:10px}",RF={tag:"span",children:[{tag:"span",ref:"eCurrent",cls:"ag-value-slide-current"}]},SF=class extends x{constructor(){super(RF);this.eCurrent=S,this.refreshCount=0,this.registerCSS(jF)}init(Q){this.refresh(Q,!0)}addSlideAnimation(){this.refreshCount++;let Q=this.refreshCount;this.ePrevious?.remove();let{beans:z,eCurrent:J}=this,Z=Z0({tag:"span",cls:"ag-value-slide-previous ag-value-slide-out"});this.ePrevious=Z,Z.textContent=J.textContent,this.getGui().insertBefore(Z,J),z.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{if(Q!==this.refreshCount)return;this.ePrevious.classList.add("ag-value-slide-out-end")},50),window.setTimeout(()=>{if(Q!==this.refreshCount)return;this.ePrevious?.remove(),this.ePrevious=null},3000)})}refresh(Q,z=!1){let J=Q.value;if(n(J))J="";if(J===this.lastValue)return!1;if(this.beans.filterManager?.isSuppressFlashingCellsBecauseFiltering())return!1;if(!z)this.addSlideAnimation();this.lastValue=J;let Z=this.eCurrent;if(T(Q.valueFormatted))Z.textContent=Q.valueFormatted;else if(T(Q.value))Z.textContent=J;else z0(Z);return!0}},OF=class extends j{constructor(){super(...arguments);this.beanName="cellFlashSvc",this.nextAnimationTime=null,this.nextAnimationCycle=null,this.animations={highlight:new Map,"data-changed":new Map}}animateCell(Q,z,J=this.beans.gos.get("cellFlashDuration"),Z=this.beans.gos.get("cellFadeDuration")){let $=this.animations[z];$.delete(Q);let X=Date.now(),Y=X+J,G=X+J+Z,q={phase:"flash",flashEndTime:Y,fadeEndTime:G};$.set(Q,q);let H=`ag-cell-${z}`,_=`${H}-animation`,{comp:U,eGui:{style:W}}=Q;if(U.toggleCss(H,!0),U.toggleCss(_,!1),W.removeProperty("transition"),W.removeProperty("transition-delay"),this.nextAnimationTime&&Y+15<this.nextAnimationTime)clearTimeout(this.nextAnimationCycle),this.nextAnimationCycle=null,this.nextAnimationTime=null;if(!this.nextAnimationCycle)this.beans.frameworkOverrides.wrapIncoming(()=>{this.nextAnimationCycle=setTimeout(this.advanceAnimations.bind(this),J)}),this.nextAnimationTime=Y}advanceAnimations(){let Q=Date.now(),z=null;for(let J of Object.keys(this.animations)){let Z=this.animations[J],$=`ag-cell-${J}`,X=`${$}-animation`;for(let[Y,G]of Z){if(!Y.isAlive()||!Y.comp){Z.delete(Y);continue}let{phase:q,flashEndTime:H,fadeEndTime:_}=G,U=q==="flash"?H:_;if(!(Q+15>=U)){z=Math.min(U,z??1/0);continue}let{comp:B,eGui:{style:E}}=Y;switch(q){case"flash":B.toggleCss($,!1),B.toggleCss(X,!0),E.transition=`background-color ${_-H}ms`,E.transitionDelay=`${H-Q}ms`,z=Math.min(_,z??1/0),G.phase="fade";break;case"fade":B.toggleCss($,!1),B.toggleCss(X,!1),E.removeProperty("transition"),E.removeProperty("transition-delay"),Z.delete(Y);break}}}if(z==null)this.nextAnimationTime=null,this.nextAnimationCycle=null;else if(z)this.nextAnimationCycle=setTimeout(this.advanceAnimations.bind(this),z-Q),this.nextAnimationTime=z}onFlashCells(Q,z){if(!Q.comp)return;let J=bQ(Q.cellPosition);if(z.cells[J])this.animateCell(Q,"highlight")}flashCell(Q,z){this.animateCell(Q,"data-changed",z?.flashDuration,z?.fadeDuration)}destroy(){for(let Q of Object.keys(this.animations))this.animations[Q].clear()}};function PF(Q,z={}){let{cellFlashSvc:J}=Q;if(!J)return;Q.frameworkOverrides.wrapIncoming(()=>{for(let Z of Q.rowRenderer.getCellCtrls(z.rowNodes,z.columns))J.flashCell(Z,z)})}var kX={moduleName:"HighlightChanges",version:p,beans:[OF],userComponents:{agAnimateShowChangeCellRenderer:AF,agAnimateSlideCellRenderer:SF},apiFunctions:{flashCells:PF}};var TF=class extends j{constructor(){super(...arguments);this.beanName="selectionColSvc"}postConstruct(){this.addManagedPropertyListener("rowSelection",(Q)=>{this.onSelectionOptionsChanged(Q.currentValue,Q.previousValue,Xz(Q.source))}),this.addManagedPropertyListener("selectionColumnDef",this.updateColumns.bind(this))}addColumns(Q){let z=this.columns;if(z==null)return;Q.list=z.list.concat(Q.list),Q.tree=z.tree.concat(Q.tree),HJ(Q)}createColumns(Q,z){let J=()=>{ZQ(this.beans,this.columns?.tree),this.columns=null},Z=Q.treeDepth,X=(this.columns?.treeDepth??-1)==Z,Y=this.generateSelectionCols();if(qJ(Y,this.columns?.list??[])&&X)return;J();let{colGroupSvc:q}=this.beans,H=q?.findDepth(Q.tree)??0,_=q?.balanceTreeForAutoCols(Y,H)??[];this.columns={list:Y,tree:_,treeDepth:H,map:{}},z((W)=>{if(!W)return null;let B=W.filter((E)=>!IQ(E));return[...Y,...B]})}updateColumns(Q){let z=Xz(Q.source),{beans:J}=this;for(let Z of this.columns?.list??[]){let $=this.createSelectionColDef(Q.currentValue);Z.setColDef($,null,z),n0(J,{state:[i5($,Z.colId)]},z)}}getColumn(Q){return this.columns?.list.find((z)=>PQ(z,Q))??null}getColumns(){return this.columns?.list??null}isSelectionColumnEnabled(){let{gos:Q,beans:z}=this,J=Q.get("rowSelection");if(typeof J!=="object"||!hQ(Q))return!1;let Z=(z.autoColSvc?.getColumns()?.length??0)>0;if(J.checkboxLocation==="autoGroupColumn"&&Z)return!1;let $=!!Jz(J),X=dJ(J);return $||X}createSelectionColDef(Q){let{gos:z}=this,J=Q??z.get("selectionColumnDef"),Z=z.get("enableRtl"),{rowSpan:$,spanRows:X,...Y}=J??{};return{width:50,resizable:!1,suppressHeaderMenuButton:!0,sortable:!1,suppressMovable:!0,lockPosition:Z?"right":"left",comparator(G,q,H,_){let U=H.isSelected(),W=_.isSelected();return U===W?0:U?1:-1},editable:!1,suppressFillHandle:!0,suppressAutoSize:!0,pinned:null,...Y,colId:k9,chartDataType:"excluded"}}generateSelectionCols(){if(!this.isSelectionColumnEnabled())return[];let Q=this.createSelectionColDef(),z=Q.colId;this.gos.validateColDef(Q,z,!0);let J=new GQ(Q,null,z,!1);return this.createBean(J),[J]}onSelectionOptionsChanged(Q,z,J){let Z=z&&typeof z!=="string"?Jz(z):void 0,$=Q&&typeof Q!=="string"?Jz(Q):void 0,X=Z!==$,Y=z&&typeof z!=="string"?dJ(z):void 0,G=Q&&typeof Q!=="string"?dJ(Q):void 0,q=Y!==G,H=E1(Q),_=E1(z);if(X||q||H!==_)this.beans.colModel.refreshAll(J)}destroy(){ZQ(this.beans,this.columns?.tree),super.destroy()}refreshVisibility(Q,z,J){if(!this.columns?.list.length)return;let Z=Q.length+z.length+J.length;if(Z===0)return;let $=this.columns.list[0];if(!$.isVisible())return;let X=()=>{let q;switch($.pinned){case"left":case!0:q=Q;break;case"right":q=J;break;default:q=z}if(q)$0(q,$)};if((this.beans.rowNumbersSvc?.getColumn(V9)?2:1)===Z)X()}},vF=':where(.ag-selection-checkbox) .ag-checkbox-input-wrapper:before{content:"";cursor:pointer;inset:-8px;position:absolute}';function IF(Q,z){if(!z.nodes.every((Y)=>{if(Y.rowPinned&&!iZ(Y))return R(59),!1;if(Y.id===void 0)return R(60),!1;return!0}))return;let{nodes:Z,source:$,newValue:X}=z;Q.selectionSvc?.setNodesSelected({nodes:Z,source:$??"api",newValue:X})}function CF(Q,z,J="apiSelectAll"){Q.selectionSvc?.selectAllRowNodes({source:J,selectAll:z})}function bF(Q,z,J="apiSelectAll"){Q.selectionSvc?.deselectAllRowNodes({source:J,selectAll:z})}function yF(Q,z="apiSelectAllFiltered"){Q.selectionSvc?.selectAllRowNodes({source:z,selectAll:"filtered"})}function xF(Q,z="apiSelectAllFiltered"){Q.selectionSvc?.deselectAllRowNodes({source:z,selectAll:"filtered"})}function wF(Q,z="apiSelectAllCurrentPage"){Q.selectionSvc?.selectAllRowNodes({source:z,selectAll:"currentPage"})}function NF(Q,z="apiSelectAllCurrentPage"){Q.selectionSvc?.deselectAllRowNodes({source:z,selectAll:"currentPage"})}function gF(Q){return Q.selectionSvc?.getSelectedNodes()??[]}function hF(Q){return Q.selectionSvc?.getSelectedRows()??[]}var uF={tag:"div",cls:"ag-selection-checkbox",role:"presentation",children:[{tag:"ag-checkbox",ref:"eCheckbox",role:"presentation"}]},mF=class extends x{constructor(){super(uF,[yQ]);this.eCheckbox=S}postConstruct(){this.eCheckbox.setPassive(!0)}onDataChanged(){this.onSelectionChanged()}onSelectableChanged(){this.showOrHideSelect()}onSelectionChanged(){let Q=this.getLocaleTextFunc(),{rowNode:z,eCheckbox:J}=this,Z=z.isSelected(),$=O5(Q,Z),[X,Y]=z.selectable?["ariaRowToggleSelection","Press Space to toggle row selection"]:["ariaRowSelectionDisabled","Row Selection is disabled for this row"],G=Q(X,Y);J.setValue(Z,!0),J.setInputAriaLabel(`${G} (${$})`)}init(Q){if(this.rowNode=Q.rowNode,this.column=Q.column,this.overrides=Q.overrides,this.onSelectionChanged(),this.addManagedListeners(this.eCheckbox.getWrapperElement(),{dblclick:i0,click:(Z)=>{if(i0(Z),this.eCheckbox.isDisabled())return;this.beans.selectionSvc?.handleSelectionEvent(Z,this.rowNode,"checkboxSelected")}}),this.addManagedListeners(this.rowNode,{rowSelected:this.onSelectionChanged.bind(this),dataChanged:this.onDataChanged.bind(this),selectableChanged:this.onSelectableChanged.bind(this)}),this.addManagedPropertyListener("rowSelection",({currentValue:Z,previousValue:$})=>{let X=typeof Z==="object"?j2(Z):void 0,Y=typeof $==="object"?j2($):void 0;if(X!==Y)this.onSelectableChanged()}),$5(this.gos)||typeof this.getIsVisible()==="function"){let Z=this.showOrHideSelect.bind(this);this.addManagedEventListeners({displayedColumnsChanged:Z}),this.addManagedListeners(this.rowNode,{dataChanged:Z,cellChanged:Z}),this.showOrHideSelect()}this.eCheckbox.getInputElement().setAttribute("tabindex","-1")}showOrHideSelect(){let{column:Q,rowNode:z,overrides:J,gos:Z}=this,$=z.selectable,X=this.getIsVisible(),Y=void 0;if(typeof X==="function"){let U=J?.callbackParams;if(!Q)Y=X({...U,node:z,data:z.data});else{let W=Q.createColumnFunctionCallbackParams(z);Y=X({...U,...W})}}else Y=X??!1;let G=$&&!Y||!$&&Y,q=$||Y,H=Z.get("rowSelection"),_=H&&typeof H!=="string"?!j2(H):!!Q?.getColDef().showDisabledCheckboxes;if(this.setVisible(q&&(G?_:!0)),this.setDisplayed(q&&(G?_:!0)),q)this.eCheckbox.setDisabled(G);if(J?.removeHidden)this.setDisplayed(q)}getIsVisible(){let Q=this.overrides;if(Q)return Q.isVisible;let z=this.gos.get("rowSelection");if(z&&typeof z!=="string")return Jz(z);return this.column?.getColDef()?.checkboxSelection}},cF=class{constructor(Q,z){this.rowModel=Q,this.pinnedRowModel=z,this.selectAll=!1,this.rootId=null,this.endId=null,this.cachedRange=[]}reset(){this.rootId=null,this.endId=null,this.cachedRange.length=0}setRoot(Q){this.rootId=Q.id,this.endId=null,this.cachedRange.length=0}setEndRange(Q){this.endId=Q.id,this.cachedRange.length=0}getRange(){if(this.cachedRange.length===0){let Q=this.getRoot(),z=this.getEnd();if(Q==null||z==null)return this.cachedRange;this.cachedRange=this.getNodesInRange(Q,z)??[]}return this.cachedRange}isInRange(Q){if(this.rootId===null)return!1;return this.getRange().some((z)=>z.id===Q.id)}getRoot(Q){if(this.rootId)return this.getRowNode(this.rootId);if(Q)return this.setRoot(Q),Q}getEnd(){if(this.endId)return this.getRowNode(this.endId)}getRowNode(Q){let z,{rowModel:J,pinnedRowModel:Z}=this;if(z??(z=J.getRowNode(Q)),Z?.isManual())z??(z=Z.getPinnedRowById(Q,"top")),z??(z=Z.getPinnedRowById(Q,"bottom"));return z}truncate(Q){let z=this.getRange();if(z.length===0)return{keep:[],discard:[]};let J=z[0].id===this.rootId,Z=z.findIndex(($)=>$.id===Q.id);if(Z>-1){let $=z.slice(0,Z),X=z.slice(Z+1);return this.setEndRange(Q),J?{keep:$,discard:X}:{keep:X,discard:$}}else return{keep:z,discard:[]}}extend(Q,z=!1){let J=this.getRoot();if(J==null){let $=this.getRange().slice();if(z)Q.depthFirstSearch((X)=>!X.group&&$.push(X));return $.push(Q),this.setRoot(Q),{keep:$,discard:[]}}let Z=this.getNodesInRange(J,Q);if(!Z)return this.setRoot(Q),{keep:[Q],discard:[]};if(Z.find(($)=>$.id===this.endId))return this.setEndRange(Q),{keep:this.getRange(),discard:[]};else{let $=this.getRange().slice();return this.setEndRange(Q),{keep:this.getRange(),discard:$}}}getNodesInRange(Q,z){let{pinnedRowModel:J,rowModel:Z}=this;if(!J?.isManual())return Z.getNodesInRangeForSelection(Q,z);if(Q.rowPinned==="top"&&!z.rowPinned)return t0(J,"top",Q,void 0).concat(Z.getNodesInRangeForSelection(Z.getRow(0),z)??[]);if(Q.rowPinned==="bottom"&&!z.rowPinned){let $=t0(J,"bottom",void 0,Q),X=Z.getRowCount(),Y=Z.getRow(X-1);return(Z.getNodesInRangeForSelection(z,Y)??[]).concat($)}if(!Q.rowPinned&&!z.rowPinned)return Z.getNodesInRangeForSelection(Q,z);if(Q.rowPinned==="top"&&z.rowPinned==="top")return t0(J,"top",Q,z);if(Q.rowPinned==="bottom"&&z.rowPinned==="top"){let $=t0(J,"top",z,void 0),X=t0(J,"bottom",void 0,Q),Y=Z.getRow(0),G=Z.getRow(Z.getRowCount()-1);return $.concat(Z.getNodesInRangeForSelection(Y,G)??[]).concat(X)}if(!Q.rowPinned&&z.rowPinned==="top")return t0(J,"top",z,void 0).concat(Z.getNodesInRangeForSelection(Z.getRow(0),Q)??[]);if(Q.rowPinned==="top"&&z.rowPinned==="bottom"){let $=t0(J,"top",Q,void 0),X=t0(J,"bottom",void 0,z),Y=Z.getRow(0),G=Z.getRow(Z.getRowCount()-1);return $.concat(Z.getNodesInRangeForSelection(Y,G)??[]).concat(X)}if(Q.rowPinned==="bottom"&&z.rowPinned==="bottom")return t0(J,"bottom",Q,z);if(!Q.rowPinned&&z.rowPinned==="bottom"){let $=t0(J,"bottom",void 0,z),X=Z.getRow(Z.getRowCount());return(Z.getNodesInRangeForSelection(Q,X)??[]).concat($)}return null}},pF=class extends j{constructor(Q){super();this.column=Q,this.cbSelectAllVisible=!1,this.processingEventFromCheckbox=!1}onSpaceKeyDown(Q){let z=this.cbSelectAll;if(z.isDisplayed()&&!z.getGui().contains(d(this.beans)))Q.preventDefault(),z.setValue(!z.getValue())}getCheckboxGui(){return this.cbSelectAll.getGui()}setComp(Q){this.headerCellCtrl=Q;let z=this.createManagedBean(new K6);this.cbSelectAll=z,z.addCss("ag-header-select-all"),H0(z.getGui(),"presentation"),this.showOrHideSelectAll();let J=this.updateStateOfCheckbox.bind(this);this.addManagedEventListeners({newColumnsLoaded:()=>this.showOrHideSelectAll(),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),selectionChanged:J,paginationChanged:J,modelUpdated:J}),this.addManagedPropertyListener("rowSelection",({currentValue:Z,previousValue:$})=>{let X=(Y)=>typeof Y==="string"||!Y||Y.mode==="singleRow"?void 0:Y.selectAll;if(X(Z)!==X($))this.showOrHideSelectAll();this.updateStateOfCheckbox()}),this.addManagedListeners(z,{fieldValueChanged:this.onCbSelectAll.bind(this)}),z.getInputElement().setAttribute("tabindex","-1"),this.refreshSelectAllLabel()}onDisplayedColumnsChanged(Q){if(!this.isAlive())return;this.showOrHideSelectAll(Q.source==="uiColumnMoved")}showOrHideSelectAll(Q=!1){let z=this.isCheckboxSelection();if(this.cbSelectAllVisible=z,this.cbSelectAll.setDisplayed(z),z)this.checkRightRowModelType("selectAllCheckbox"),this.checkSelectionType("selectAllCheckbox"),this.updateStateOfCheckbox();this.refreshSelectAllLabel(Q)}updateStateOfCheckbox(){if(!this.cbSelectAllVisible||this.processingEventFromCheckbox)return;this.processingEventFromCheckbox=!0;let Q=this.getSelectAllMode(),z=this.beans.selectionSvc,J=this.cbSelectAll,Z=z.getSelectAllState(Q);J.setValue(Z);let $=z.hasNodesToSelect(Q);J.setDisabled(!$),this.refreshSelectAllLabel(),this.processingEventFromCheckbox=!1}refreshSelectAllLabel(Q=!1){let z=this.getLocaleTextFunc(),{headerCellCtrl:J,cbSelectAll:Z,cbSelectAllVisible:$}=this,X=Z.getValue(),Y=O5(z,X),G=z("ariaRowSelectAll","Press Space to toggle all rows selection");if(J.setAriaDescriptionProperty("selectAll",$?`${G} (${Y})`:null),Z.setInputAriaLabel(z("ariaHeaderSelection","Column with Header Selection")),!Q)J.announceAriaDescription()}checkSelectionType(Q){if(!s1(this.gos))return R(128,{feature:Q}),!1;return!0}checkRightRowModelType(Q){let{gos:z,rowModel:J}=this.beans;if(!(o(z)||Hz(z)))return R(129,{feature:Q,rowModel:J.getType()}),!1;return!0}onCbSelectAll(){if(this.processingEventFromCheckbox)return;if(!this.cbSelectAllVisible)return;let Q=this.cbSelectAll.getValue(),z=this.getSelectAllMode(),J="uiSelectAll";if(z==="currentPage")J="uiSelectAllCurrentPage";else if(z==="filtered")J="uiSelectAllFiltered";let Z={source:J,selectAll:z},$=this.beans.selectionSvc;if(Q)$.selectAllRowNodes(Z);else $.deselectAllRowNodes(Z)}isCheckboxSelection(){let{column:Q,gos:z,beans:J}=this,X=typeof z.get("rowSelection")==="object"?"headerCheckbox":"headerCheckboxSelection";return VX(J,Q)&&this.checkRightRowModelType(X)&&this.checkSelectionType(X)}getSelectAllMode(){let Q=U9(this.gos,!1);if(Q)return Q;let{headerCheckboxSelectionCurrentPageOnly:z,headerCheckboxSelectionFilteredOnly:J}=this.column.getColDef();if(z)return"currentPage";if(J)return"filtered";return"all"}destroy(){super.destroy(),this.cbSelectAll=void 0,this.headerCellCtrl=void 0}};function VX({gos:Q,selectionColSvc:z},J){let Z=Q.get("rowSelection"),$=J.getColDef(),{headerCheckboxSelection:X}=$,Y=!1;if(typeof Z==="object"){let q=IQ(J),H=mz(J);if(E1(Z)==="autoGroupColumn"&&H||q&&z?.isSelectionColumnEnabled())Y=dJ(Z)}else if(typeof X==="function")Y=X(y(Q,{column:J,colDef:$}));else Y=!!X;return Y}var iF=class extends j{postConstruct(){let{gos:Q,beans:z}=this;this.selectionCtx=new cF(z.rowModel,z.pinnedRowModel),this.addManagedPropertyListeners(["isRowSelectable","rowSelection"],()=>{let J=$5(Q);if(J!==this.isRowSelectable)this.isRowSelectable=J,this.updateSelectable()}),this.isRowSelectable=$5(Q),this.addManagedEventListeners({cellValueChanged:(J)=>this.updateRowSelectable(J.node),rowNodeDataChanged:(J)=>this.updateRowSelectable(J.node)})}destroy(){super.destroy(),this.selectionCtx.reset()}createCheckboxSelectionComponent(){return new mF}createSelectAllFeature(Q){if(VX(this.beans,Q))return new pF(Q)}isMultiSelect(){return s1(this.gos)}onRowCtrlSelected(Q,z,J){let Z=!!Q.rowNode.isSelected();Q.forEachGui(J,($)=>{$.rowComp.toggleCss("ag-row-selected",Z);let X=$.element;if(S5(X,Z),X.contains(d(this.beans)))z($)})}announceAriaRowSelection(Q){if(this.isRowSelectionBlocked(Q))return;let z=Q.isSelected(),J=this.beans.editSvc?.isEditing({rowNode:Q});if(!Q.selectable||J)return;let $=this.getLocaleTextFunc()(z?"ariaRowDeselect":"ariaRowSelect",`Press SPACE to ${z?"deselect":"select"} this row`);this.beans.ariaAnnounce?.announceValue($,"rowSelection")}isRowSelectionBlocked(Q){return!Q.selectable||Q.rowPinned&&!iZ(Q)||!hQ(this.gos)}updateRowSelectable(Q,z){let J=Q.rowPinned&&Q.pinnedSibling?Q.pinnedSibling.selectable:this.isRowSelectable?.(Q)??!0;return this.setRowSelectable(Q,J,z),J}setRowSelectable(Q,z,J){if(Q.selectable!==z){if(Q.selectable=z,Q.dispatchRowEvent("selectableChanged"),J)return;if(l1(this.gos)){let $=this.calculateSelectedFromChildren(Q);this.setNodesSelected({nodes:[Q],newValue:$??!1,source:"selectableChanged"});return}if(Q.isSelected()&&!Q.selectable)this.setNodesSelected({nodes:[Q],newValue:!1,source:"selectableChanged"})}}calculateSelectedFromChildren(Q){let z=!1,J=!1;if(!Q.childrenAfterGroup?.length)return Q.selectable?Q.__selected:null;for(let Z=0;Z<Q.childrenAfterGroup.length;Z++){let $=Q.childrenAfterGroup[Z],X=$.isSelected();if(!$.selectable){let Y=this.calculateSelectedFromChildren($);if(Y===null)continue;X=Y}switch(X){case!0:z=!0;break;case!1:J=!0;break;default:return}}if(z&&J)return;if(z)return!0;if(J)return!1;if(!Q.selectable)return null;return Q.__selected}selectRowNode(Q,z,J,Z="api"){if(z&&Q.destroyed)return!1;let $=!Q.selectable&&z,X=Q.__selected===z;if($||X)return!1;Q.__selected=z,Q.dispatchRowEvent("rowSelected");let Y=Q.sibling;if(Y&&Y.footer&&Y.__localEventService)Y.dispatchRowEvent("rowSelected");let G=Q.pinnedSibling;if(G?.rowPinned&&G.__localEventService)G.dispatchRowEvent("rowSelected");return this.eventSvc.dispatchEvent({...e5(Q,this.gos,"rowSelected"),event:J||null,source:Z}),!0}isCellCheckboxSelection(Q,z){let J=this.gos.get("rowSelection");if(J&&typeof J!=="string"){let Z=IQ(Q)&&Jz(J);return Q.isColumnFunc(z,Z)}else return Q.isColumnFunc(z,Q.colDef.checkboxSelection)}inferNodeSelections(Q,z,J,Z){let{gos:$,selectionCtx:X}=this,Y=Q.isSelected(),G=l1($),q=uG($),H=mG($),_=this.isMultiSelect(),U=Z==="rowClicked";if(U&&!(q||H))return null;if(z&&J&&_){let W=X.getRoot();if(!W)return null;else if(!W.isSelected()){let B=X.extend(Q,G);return{select:[],deselect:B.keep,reset:!1}}else{let B=X.isInRange(Q)?X.truncate(Q):X.extend(Q,G);return{deselect:B.discard,select:B.keep,reset:!1}}}else if(z&&_){let W=X.selectAll?this.beans.rowModel.getRow(0):void 0,B=X.getRoot(W),E=X.isInRange(Q)?X.truncate(Q):X.extend(Q,G);return{select:E.keep,deselect:E.discard,reset:X.selectAll||!!(B&&!B.isSelected())}}else if(J){if(U){let W=!Y;if(W&&!q||!W&&!H)return null;return X.setRoot(Q),{node:Q,newValue:W,clearSelection:!1}}return X.setRoot(Q),{node:Q,newValue:!Y,clearSelection:!_}}else{X.setRoot(Q);let W=cG($),B=$Z($)==="filteredDescendants",E=U&&(!W||!q);if(B&&Y===void 0&&o($))return{node:Q,newValue:!1,checkFilteredNodes:!0,clearSelection:!_||E};if(U){let K=Y?!W:q;if(K===Y&&!E||K&&!q||!K&&!H)return null;return{node:Q,newValue:K,clearSelection:!_||E,keepDescendants:Q.group&&G}}return{node:Q,newValue:!Y,clearSelection:!_||E}}}},nF=class extends iF{constructor(){super(...arguments);this.beanName="selectionSvc",this.selectedNodes=new Map,this.detailSelection=new Map,this.masterSelectsDetail=!1}postConstruct(){super.postConstruct();let{gos:Q}=this;this.mode=ZZ(Q),this.groupSelectsDescendants=l1(Q),this.groupSelectsFiltered=$Z(Q)==="filteredDescendants",this.masterSelectsDetail=D7(Q)==="detail",this.addManagedPropertyListeners(["groupSelectsChildren","groupSelectsFiltered","rowSelection"],()=>{let z=l1(Q),J=ZZ(Q),Z=$Z(Q)==="filteredDescendants";if(this.masterSelectsDetail=D7(Q)==="detail",z!==this.groupSelectsDescendants||Z!==this.groupSelectsFiltered||J!==this.mode)this.deselectAllRowNodes({source:"api"}),this.groupSelectsDescendants=z,this.groupSelectsFiltered=Z,this.mode=J}),this.addManagedEventListeners({rowSelected:this.onRowSelected.bind(this)})}destroy(){super.destroy(),this.resetNodes()}handleSelectionEvent(Q,z,J){if(this.isRowSelectionBlocked(z))return 0;let Z=this.inferNodeSelections(z,Q.shiftKey,Q.metaKey||Q.ctrlKey,J);if(Z==null)return 0;if(this.selectionCtx.selectAll=!1,"select"in Z){if(Z.reset)this.resetNodes();else this.selectRange(Z.deselect,!1,J);return this.selectRange(Z.select,!0,J)}else{let $=Z.checkFilteredNodes?AX(Z.node):Z.newValue;return this.setNodesSelected({nodes:[Z.node],newValue:$,clearSelection:Z.clearSelection,keepDescendants:Z.keepDescendants,event:Q,source:J})}}setNodesSelected({newValue:Q,clearSelection:z,suppressFinishActions:J,nodes:Z,event:$,source:X,keepDescendants:Y=!1}){if(Z.length===0)return 0;let{gos:G}=this;if(!hQ(G)&&Q)return R(132),0;if(Z.length>1&&!this.isMultiSelect())return R(130),0;let q=0;for(let H=0;H<Z.length;H++){let _=Z[H],U=_.primaryRow;if(U.rowPinned&&!iZ(U)){R(59);continue}if(U.id===void 0){R(60);continue}if(Q&&_.destroyed)continue;if(!(this.groupSelectsFiltered&&U.group&&!G.get("treeData"))){if(this.selectRowNode(U,Q,$,X))this.detailSelection.delete(U.id),q++}if(this.groupSelectsDescendants&&U.childrenAfterGroup?.length)q+=this.selectChildren(U,Q,X)}if(!J){if(Z.length===1&&X==="api")this.selectionCtx.setRoot(Z[0].primaryRow);if(Q&&(z||!this.isMultiSelect()))q+=this.clearOtherNodes(Z[0].primaryRow,Y,X);if(q>0)this.updateGroupsFromChildrenSelections(X),this.dispatchSelectionChanged(X)}return q}selectRange(Q,z,J){let Z=0;if(Q.forEach(($)=>{let X=$.primaryRow;if(X.group&&this.groupSelectsDescendants)return;if(this.selectRowNode(X,z,void 0,J))Z++}),Z>0)this.updateGroupsFromChildrenSelections(J),this.dispatchSelectionChanged(J);return Z}selectChildren(Q,z,J){let Z=this.groupSelectsFiltered?Q.childrenAfterAggFilter:Q.childrenAfterGroup;if(!Z)return 0;return this.setNodesSelected({newValue:z,clearSelection:!1,suppressFinishActions:!0,source:J,nodes:Z})}getSelectedNodes(){return Array.from(this.selectedNodes.values())}getSelectedRows(){let Q=[];return this.selectedNodes.forEach((z)=>z.data&&Q.push(z.data)),Q}getSelectionCount(){return this.selectedNodes.size}filterFromSelection(Q){let z=new Map;this.selectedNodes.forEach((J,Z)=>{if(Q(J))z.set(Z,J)}),this.selectedNodes=z}updateGroupsFromChildrenSelections(Q,z){if(!this.groupSelectsDescendants)return!1;let{gos:J,rowModel:Z}=this.beans;if(!o(J,Z))return!1;let $=Z.rootNode;if(!$)return!1;let X=!1,Y=(G)=>{if(G!==$){let q=this.calculateSelectedFromChildren(G);X=this.selectRowNode(G,q===null?!1:q,void 0,Q)||X}};return A0($,this.beans.rowModel.hierarchical,z,Y),X}clearOtherNodes(Q,z,J){let Z=new Map,$=0;return this.selectedNodes.forEach((X)=>{let Y=X.id==Q.id;if((z?!tF(Q,X):!0)&&!Y){let q=this.selectedNodes.get(X.id);if($+=this.setNodesSelected({nodes:[q],newValue:!1,clearSelection:!1,suppressFinishActions:!0,source:J}),this.groupSelectsDescendants&&X.parent)Z.set(X.parent.id,X.parent)}}),Z.forEach((X)=>{let Y=this.calculateSelectedFromChildren(X);this.selectRowNode(X,Y===null?!1:Y,void 0,J)}),$}onRowSelected(Q){let z=Q.node;if(this.groupSelectsDescendants&&z.group)return;if(z.isSelected())this.selectedNodes.set(z.id,z);else this.selectedNodes.delete(z.id)}syncInRowNode(Q,z){this.syncInOldRowNode(Q,z),this.syncInNewRowNode(Q)}createDaemonNode(Q){if(!Q.id)return;let z=new Wz(this.beans);return z.id=Q.id,z.data=Q.data,z.__selected=Q.__selected,z.level=Q.level,z}syncInOldRowNode(Q,z){if(z&&Q.id!==z.id){if(this.selectedNodes.get(z.id)==Q)this.selectedNodes.set(z.id,z)}}syncInNewRowNode(Q){if(this.selectedNodes.has(Q.id))Q.__selected=!0,this.selectedNodes.set(Q.id,Q);else Q.__selected=!1}reset(Q){let z=this.getSelectionCount();if(this.resetNodes(),z)this.dispatchSelectionChanged(Q)}resetNodes(){this.selectedNodes.forEach((Q)=>{this.selectRowNode(Q,!1)}),this.selectedNodes.clear()}getBestCostNodeSelection(){let{gos:Q,rowModel:z}=this.beans;if(!o(Q,z))return;let J=z.getTopLevelNodes();if(J===null)return;let Z=[];function $(X){for(let Y=0,G=X.length;Y<G;Y++){let q=X[Y];if(q.isSelected())Z.push(q);else if(q.group&&q.childrenAfterGroup)$(q.childrenAfterGroup)}}return $(J),Z}isEmpty(){return this.getSelectionCount()===0}deselectAllRowNodes({source:Q,selectAll:z}){let J=o(this.gos),Z=!1,$=(X)=>{let Y=this.selectRowNode(X.primaryRow,!1,void 0,Q);Z||(Z=Y)};if(z==="currentPage"||z==="filtered"){if(!J){e(102);return}this.getNodesToSelect(z).forEach($)}else this.selectedNodes.forEach($),this.reset(Q);if(this.selectionCtx.selectAll=!1,J&&this.groupSelectsDescendants){let X=this.updateGroupsFromChildrenSelections(Q);Z||(Z=X)}if(Z)this.dispatchSelectionChanged(Q)}getSelectedCounts(Q){let z=0,J=0;return this.getNodesToSelect(Q).forEach((Z)=>{if(this.groupSelectsDescendants&&Z.group)return;if(Z.isSelected())z++;else if(Z.selectable)J++}),{selectedCount:z,notSelectedCount:J}}getSelectAllState(Q){let{selectedCount:z,notSelectedCount:J}=this.getSelectedCounts(Q);return fX(z,J)??null}hasNodesToSelect(Q){return this.getNodesToSelect(Q).filter((z)=>z.selectable).length>0}getNodesToSelect(Q){if(!this.canSelectAll())return[];let z=[],J=($)=>z.push($);if(Q==="currentPage")return this.forEachNodeOnPage(($)=>{if(!$.group){J($);return}if(!$.footer&&!$.expanded){let X=(Y)=>{J(Y);let G=Y.childrenAfterFilter;if(G)for(let q=0,H=G.length;q<H;++q)X(G[q])};X($);return}if(!this.groupSelectsDescendants)J($)}),z;let Z=this.beans.rowModel;if(Q==="filtered")return Z.forEachNodeAfterFilter(J),z;return Z.forEachNode(J),z}forEachNodeOnPage(Q){let{pageBounds:z,rowModel:J}=this.beans,Z=z.getFirstRow(),$=z.getLastRow();for(let X=Z;X<=$;X++){let Y=J.getRow(X);if(Y)Q(Y)}}selectAllRowNodes(Q){let{gos:z,selectionCtx:J}=this;if(!hQ(z)){R(132);return}if(hG(z)&&!s1(z)){R(130);return}if(!this.canSelectAll())return;let{source:Z,selectAll:$}=Q,X=!1;if(this.getNodesToSelect($).forEach((Y)=>{let G=this.selectRowNode(Y.primaryRow,!0,void 0,Z);X||(X=G)}),J.selectAll=!0,o(z)&&this.groupSelectsDescendants){let Y=this.updateGroupsFromChildrenSelections(Z);X||(X=Y)}if(X)this.dispatchSelectionChanged(Z)}getSelectionState(){return this.isEmpty()?null:Array.from(this.selectedNodes.keys())}setSelectionState(Q,z,J){if(!Q)Q=[];if(!Array.isArray(Q)){e(103);return}let Z=new Set(Q),$=[];if(this.beans.rowModel.forEachNode((X)=>{if(Z.has(X.id))$.push(X)}),J)this.resetNodes();this.setNodesSelected({newValue:!0,nodes:$,source:z})}canSelectAll(){return o(this.beans.gos)}updateSelectable(Q){let{gos:z,rowModel:J}=this.beans;if(!hQ(z))return;let Z="selectableChanged",$=o(z)&&this.groupSelectsDescendants,X=[];if($){let Y=J.rootNode;if(Y)A0(Y,J.hierarchical,Q,(G)=>{let q=!1;for(let H of G.childrenAfterGroup)if(q||(q=H.selectable),!H.group&&!this.updateRowSelectable(H,!0)&&H.isSelected())X.push(H);this.setRowSelectable(G,q,!0)})}else J.forEachNode((Y)=>{if(!this.updateRowSelectable(Y,!0)&&Y.isSelected())X.push(Y)});if(X.length)this.setNodesSelected({nodes:X,newValue:!1,source:Z});if(!Q&&$)this.updateGroupsFromChildrenSelections?.(Z)}updateSelectableAfterGrouping(Q){if(this.updateSelectable(Q),this.groupSelectsDescendants){if(this.updateGroupsFromChildrenSelections?.("rowGroupChanged",Q))this.dispatchSelectionChanged("rowGroupChanged")}}refreshMasterNodeState(Q,z){if(!this.masterSelectsDetail)return;let J=Q.detailNode?.detailGridInfo?.api;if(!J)return;let Z=dF(J);if(Q.isSelected()!==Z){if(this.selectRowNode(Q,Z,z,"masterDetail"))this.dispatchSelectionChanged("masterDetail")}if(!Z)this.detailSelection.set(Q.id,new Set(J.getSelectedNodes().map((X)=>X.id)))}setDetailSelectionState(Q,z,J){if(!this.masterSelectsDetail)return;if(!s1(z)){R(269);return}switch(Q.isSelected()){case!0:{J.selectAll();break}case!1:{J.deselectAll();break}case void 0:{let Z=this.detailSelection.get(Q.id);if(Z){let $=[];for(let X of Z){let Y=J.getRowNode(X);if(Y)$.push(Y)}J.setNodesSelected({nodes:$,newValue:!0,source:"masterDetail"})}break}default:break}}dispatchSelectionChanged(Q){this.eventSvc.dispatchEvent({type:"selectionChanged",source:Q,selectedNodes:this.getSelectedNodes(),serverSideState:null})}};function dF(Q){let z=0,J=0;return Q.forEachNode((Z)=>{if(Z.isSelected())z++;else if(Z.selectable)J++}),fX(z,J)}function fX(Q,z){if(Q===0&&z===0)return!1;if(Q>0&&z>0)return;return Q>0}function tF(Q,z){let J=z.parent;while(J){if(J===Q)return!0;J=J.parent}return!1}function AX(Q){let z=Q.isSelected()===!1,J=Q.childrenAfterFilter?.some(AX)??!1;return z||J}var rF={moduleName:"SharedRowSelection",version:p,beans:[TF],css:[vF],apiFunctions:{setNodesSelected:IF,selectAll:CF,deselectAll:bF,selectAllFiltered:yF,deselectAllFiltered:xF,selectAllOnCurrentPage:wF,deselectAllOnCurrentPage:NF,getSelectedNodes:gF,getSelectedRows:hF}},jX={moduleName:"RowSelection",version:p,rowModels:["clientSide","infinite","viewport"],beans:[nF],dependsOn:[rF]},sF=class extends j{constructor(Q,z){super();this.cellCtrl=Q,this.staticClasses=[],this.beans=z,this.column=Q.column}setComp(Q){this.cellComp=Q,this.applyUserStyles(),this.applyCellClassRules(),this.applyClassesFromColDef()}applyCellClassRules(){let{column:Q,cellComp:z}=this,J=Q.colDef,Z=J.cellClassRules,$=this.getCellClassParams(Q,J);d$(this.beans.expressionSvc,Z===this.cellClassRules?void 0:this.cellClassRules,Z,$,(X)=>z.toggleCss(X,!0),(X)=>z.toggleCss(X,!1)),this.cellClassRules=Z}applyUserStyles(){let Q=this.column,z=Q.colDef,J=z.cellStyle;if(!J)return;let Z;if(typeof J==="function"){let $=this.getCellClassParams(Q,z);Z=J($)}else Z=J;if(Z)this.cellComp.setUserStyles(Z)}applyClassesFromColDef(){let{column:Q,cellComp:z}=this,J=Q.colDef,Z=this.getCellClassParams(Q,J);for(let X of this.staticClasses)z.toggleCss(X,!1);let $=this.beans.cellStyles.getStaticCellClasses(J,Z);this.staticClasses=$;for(let X of $)z.toggleCss(X,!0)}getCellClassParams(Q,z){let{value:J,rowNode:Z}=this.cellCtrl;return y(this.beans.gos,{value:J,data:Z.data,node:Z,colDef:z,column:Q,rowIndex:Z.rowIndex})}},lF=class extends j{constructor(){super(...arguments);this.beanName="cellStyles"}processAllCellClasses(Q,z,J,Z){d$(this.beans.expressionSvc,void 0,Q.cellClassRules,z,J,Z),this.processStaticCellClasses(Q,z,J)}getStaticCellClasses(Q,z){let{cellClass:J}=Q;if(!J)return[];let Z;if(typeof J==="function")Z=J(z);else Z=J;if(typeof Z==="string")Z=[Z];return Z||[]}createCellCustomStyleFeature(Q){return new sF(Q,this.beans)}processStaticCellClasses(Q,z,J){this.getStaticCellClasses(Q,z).forEach(($)=>{J($)})}},RX={moduleName:"CellStyle",version:p,beans:[lF]};var aF={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,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,suppressBrowserResizeObserver:!0,suppressPropertyNamesCheck:!0,debug:!0,dragAndDropImageComponent:!0,overlayComponent:!0,suppressOverlays:!0,loadingOverlayComponent:!0,suppressLoadingOverlay:!0,noRowsOverlayComponent:!0,paginationPageSizeSelector:!0,paginateChildRows:!0,pivotPanelShow:!0,pivotSuppressAutoColumn:!0,suppressExpandablePivotGroups:!0,aggFuncs:!0,allowShowChangeAfterFilter:!0,ensureDomOrder:!0,enableRtl:!0,suppressColumnVirtualisation:!0,suppressMaxRenderedRowRestriction:!0,suppressRowVirtualisation:!0,rowDragText:!0,groupLockGroupColumns:!0,suppressGroupRowsSticky:!0,rowModelType:!0,cacheOverflowSize:!0,infiniteInitialRowCount:!0,serverSideInitialRowCount:!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,renderingMode:!0,columnMenu:!0,suppressSetFilterByDefault:!0,getDataPath:!0,enableCellSpan:!0,enableFilterHandlers:!0,filterHandlers:!0},g0="clientSide",C0="serverSide",Q1="infinite",oF={onGroupExpandedOrCollapsed:[g0],refreshClientSideRowModel:[g0],isRowDataEmpty:[g0],forEachLeafNode:[g0],forEachNodeAfterFilter:[g0],forEachNodeAfterFilterAndSort:[g0],resetRowHeights:[g0,C0],applyTransaction:[g0],applyTransactionAsync:[g0],flushAsyncTransactions:[g0],getBestCostNodeSelection:[g0],getServerSideSelectionState:[C0],setServerSideSelectionState:[C0],applyServerSideTransaction:[C0],applyServerSideTransactionAsync:[C0],applyServerSideRowData:[C0],retryServerSideLoads:[C0],flushServerSideAsyncTransactions:[C0],refreshServerSide:[C0],getServerSideGroupLevelState:[C0],refreshInfiniteCache:[Q1],purgeInfiniteCache:[Q1],getInfiniteRowCount:[Q1],isLastRowIndexKnown:[Q1,C0],expandAll:[g0,C0],collapseAll:[g0,C0],onRowHeightChanged:[g0,C0],setRowCount:[Q1,C0],getCacheBlockState:[Q1,C0]},eF={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()"},selectAllFiltered:{version:"v33",old:"selectAllFiltered()",new:'selectAll("filtered")'},deselectAllFiltered:{version:"v33",old:"deselectAllFiltered()",new:'deselectAll("filtered")'},selectAllOnCurrentPage:{version:"v33",old:"selectAllOnCurrentPage()",new:'selectAll("currentPage")'},deselectAllOnCurrentPage:{version:"v33",old:"deselectAllOnCurrentPage()",new:'deselectAll("currentPage")'}};function QD(Q,z,J){let Z=eF[Q];if(Z){let{version:X,new:Y,old:G,message:q}=Z,H=G??Q;return(..._)=>{let U=Y?`Please use ${Y} instead. `:"";return zz(`Since ${X} api.${H} is deprecated. ${U}${q??""}`),z.apply(z,_)}}let $=oF[Q];if($)return(...X)=>{let Y=J.rowModel.getType();if(!$.includes(Y)){q1(`api.${Q} can only be called when gridOptions.rowModelType is ${$.join(" or ")}`);return}return z.apply(z,X)};return z}var zD={detailCellRendererCtrl:"SharedMasterDetail",dndSourceComp:"DragAndDrop",fillHandle:"CellSelection",groupCellRendererCtrl:"GroupCellRenderer",headerFilterCellCtrl:"ColumnFilter",headerGroupCellCtrl:"ColumnGroup",rangeHandle:"CellSelection",tooltipFeature:"Tooltip",highlightTooltipFeature:"Tooltip",tooltipStateManager:"Tooltip",groupStrategy:"RowGrouping",treeGroupStrategy:"TreeData",rowNumberRowResizer:"RowNumbers",singleCell:"EditCore",fullRow:"EditCore",agSetColumnFilterHandler:"SetFilter",agMultiColumnFilterHandler:"MultiFilter",agGroupColumnFilterHandler:"GroupFilter",agNumberColumnFilterHandler:"NumberFilter",agBigIntColumnFilterHandler:"BigIntFilter",agDateColumnFilterHandler:"DateFilter",agTextColumnFilterHandler:"TextFilter"},JD={expanded:1,contracted:1,"tree-closed":1,"tree-open":1,"tree-indeterminate":1,pin:1,"eye-slash":1,arrows:1,left:1,right:1,group:1,aggregation:1,pivot:1,"not-allowed":1,chart:1,cross:1,cancel:1,tick:1,first:1,previous:1,next:1,last:1,linked:1,unlinked:1,"color-picker":1,loading:1,menu:1,"menu-alt":1,filter:1,"filter-add":1,columns:1,maximize:1,minimize:1,copy:1,cut:1,paste:1,grip:1,save:1,csv:1,excel:1,"small-down":1,"small-left":1,"small-right":1,"small-up":1,asc:1,desc:1,aasc:1,adesc:1,none:1,up:1,down:1,plus:1,minus:1,settings:1,"checkbox-checked":1,"checkbox-indeterminate":1,"checkbox-unchecked":1,"radio-button-on":1,"radio-button-off":1,eye:1,"column-arrow":1,"un-pin":1,"pinned-top":1,"pinned-bottom":1,"chevron-up":1,"chevron-down":1,"chevron-left":1,"chevron-right":1,edit:1},ZD={chart:"MenuCore",cancel:"EnterpriseCore",first:"Pagination",previous:"Pagination",next:"Pagination",last:"Pagination",linked:"IntegratedCharts",loadingMenuItems:"MenuCore",unlinked:"IntegratedCharts",menu:"ColumnHeaderComp",legacyMenu:"ColumnMenu",filter:"ColumnFilter",filterActive:"ColumnFilter",filterAdd:"NewFiltersToolPanel",filterCardCollapse:"NewFiltersToolPanel",filterCardExpand:"NewFiltersToolPanel",filterCardEditing:"NewFiltersToolPanel",filterTab:"ColumnMenu",filtersToolPanel:"FiltersToolPanel",columns:["MenuCore"],columnsToolPanel:["ColumnsToolPanel"],maximize:"EnterpriseCore",minimize:"EnterpriseCore",save:"MenuCore",columnGroupOpened:"ColumnGroupHeaderComp",columnGroupClosed:"ColumnGroupHeaderComp",accordionOpen:"EnterpriseCore",accordionClosed:"EnterpriseCore",accordionIndeterminate:"EnterpriseCore",columnSelectClosed:["ColumnsToolPanel","ColumnMenu"],columnSelectOpen:["ColumnsToolPanel","ColumnMenu"],columnSelectIndeterminate:["ColumnsToolPanel","ColumnMenu"],columnMovePin:"SharedDragAndDrop",columnMoveHide:"SharedDragAndDrop",columnMoveMove:"SharedDragAndDrop",columnMoveLeft:"SharedDragAndDrop",columnMoveRight:"SharedDragAndDrop",columnMoveGroup:"SharedDragAndDrop",columnMoveValue:"SharedDragAndDrop",columnMovePivot:"SharedDragAndDrop",dropNotAllowed:"SharedDragAndDrop",ensureColumnVisible:["ColumnsToolPanel","ColumnMenu"],groupContracted:"GroupCellRenderer",groupExpanded:"GroupCellRenderer",setFilterGroupClosed:"SetFilter",setFilterGroupOpen:"SetFilter",setFilterGroupIndeterminate:"SetFilter",setFilterLoading:"SetFilter",close:"EnterpriseCore",check:"MenuItem",colorPicker:"CommunityCore",groupLoading:"LoadingCellRenderer",overlayLoading:"Overlay",overlayExporting:"Overlay",menuAlt:"ColumnHeaderComp",menuPin:"MenuCore",menuValue:"MenuCore",menuAddRowGroup:["MenuCore","ColumnsToolPanel"],menuRemoveRowGroup:["MenuCore","ColumnsToolPanel"],clipboardCopy:"MenuCore",clipboardCut:"MenuCore",clipboardPaste:"MenuCore",pivotPanel:["ColumnsToolPanel","RowGroupingPanel"],rowGroupPanel:["ColumnsToolPanel","RowGroupingPanel"],valuePanel:"ColumnsToolPanel",columnDrag:"EnterpriseCore",rowDrag:["RowDrag","DragAndDrop"],csvExport:"MenuCore",excelExport:"MenuCore",smallDown:"CommunityCore",selectOpen:"CommunityCore",richSelectOpen:"RichSelect",richSelectRemove:"RichSelect",richSelectLoading:"RichSelect",smallLeft:"CommunityCore",smallRight:"CommunityCore",subMenuOpen:"MenuItem",subMenuOpenRtl:"MenuItem",panelDelimiter:"RowGroupingPanel",panelDelimiterRtl:"RowGroupingPanel",smallUp:"CommunityCore",sortAscending:["MenuCore","Sort"],sortDescending:["MenuCore","Sort"],sortAbsoluteAscending:["MenuCore","Sort"],sortAbsoluteDescending:["MenuCore","Sort"],sortUnSort:["MenuCore","Sort"],advancedFilterBuilder:"AdvancedFilter",advancedFilterBuilderDrag:"AdvancedFilter",advancedFilterBuilderInvalid:"AdvancedFilter",advancedFilterBuilderMoveUp:"AdvancedFilter",advancedFilterBuilderMoveDown:"AdvancedFilter",advancedFilterBuilderAdd:"AdvancedFilter",advancedFilterBuilderRemove:"AdvancedFilter",advancedFilterBuilderSelectOpen:"AdvancedFilter",chartsMenu:"IntegratedCharts",chartsMenuEdit:"IntegratedCharts",chartsMenuAdvancedSettings:"IntegratedCharts",chartsMenuAdd:"IntegratedCharts",chartsColorPicker:"IntegratedCharts",chartsThemePrevious:"IntegratedCharts",chartsThemeNext:"IntegratedCharts",chartsDownload:"IntegratedCharts",checkboxChecked:"CommunityCore",checkboxIndeterminate:"CommunityCore",checkboxUnchecked:"CommunityCore",radioButtonOn:"CommunityCore",radioButtonOff:"CommunityCore",rowPin:"PinnedRow",rowUnpin:"PinnedRow",rowPinBottom:"PinnedRow",rowPinTop:"PinnedRow"},$D=new Set(["colorPicker","smallUp","checkboxChecked","checkboxIndeterminate","checkboxUnchecked","radioButtonOn","radioButtonOff","smallDown","smallLeft","smallRight"]),XD=class extends j{constructor(){super(...arguments);this.beanName="validation"}wireBeans(Q){this.gridOptions=Q.gridOptions,PG(GK)}warnOnInitialPropertyUpdate(Q,z){if(Q==="api"&&aF[z])R(22,{key:z})}processGridOptions(Q){this.processOptions(Q,Z3())}validateApiFunction(Q,z){return QD(Q,z,this.beans)}missingUserComponent(Q,z,J,Z){let $=B1[z];if($)this.gos.assertModuleRegistered($,`AG Grid '${Q}' component: ${z}`);else R(101,{propertyName:Q,componentName:z,agGridDefaults:J,jsComps:Z})}missingDynamicBean(Q){let z=zD[Q];return z?QQ(200,{...this.gos.getModuleErrorParams(),moduleName:z,reasonOrId:Q}):void 0}checkRowEvents(Q){if(GD.has(Q))R(10,{eventType:Q})}validateIcon(Q){if($D.has(Q))R(43,{iconName:Q});if(JD[Q])return;let z=ZD[Q];if(z){e(200,{reasonOrId:`icon '${Q}'`,moduleName:z,gridScoped:x5(),gridId:this.beans.context.getId(),rowModelType:this.gos.get("rowModelType"),additionalText:"Alternatively, use the CSS icon name directly."});return}R(134,{iconName:Q})}isProvidedUserComp(Q){return!!B1[Q]}validateColDef(Q){this.processOptions(Q,dB())}processOptions(Q,z){let{validations:J,deprecations:Z,allProperties:$,propertyExceptions:X,objectName:Y,docsUrl:G}=z;if($&&this.gridOptions.suppressPropertyNamesCheck!==!0)this.checkProperties(Q,[...X??[],...Object.keys(Z)],$,Y,G);let q=new Set;if(Object.keys(Q).forEach((_)=>{let U=Z[_];if(U){let{message:D,version:M}=U;q.add(`As of v${M}, ${String(_)} is deprecated. ${D??""}`)}let W=Q[_];if(W==null||W===!1)return;let B=J[_];if(!B)return;let{dependencies:E,validate:K,supportedRowModels:L,expectedType:F}=B;if(F){let D=typeof W;if(D!==F){q.add(`${String(_)} should be of type '${F}' but received '${D}' (${W}).`);return}}if(L){let D=this.gridOptions.rowModelType??"clientSide";if(!L.includes(D)){q.add(`${String(_)} is not supported with the '${D}' row model. It is only valid with: ${L.join(", ")}.`);return}}if(E){let D=this.checkForRequiredDependencies(_,E,Q);if(D){q.add(D);return}}if(K){let D=K(Q,this.gridOptions,this.beans);if(D){q.add(D);return}}}),q.size>0)for(let _ of q)zz(_)}checkForRequiredDependencies(Q,z,J){let $=Object.entries(z).filter(([X,Y])=>{let G=J[X];return!Y.required.includes(G)});if($.length===0)return null;return $.map(([X,Y])=>`'${String(Q)}' requires '${X}' to be one of [${Y.required.map((G)=>{if(G===null)return"null";else if(G===void 0)return"undefined";return G}).join(", ")}]. ${Y.reason??""}`).join(`
`)}checkProperties(Q,z,J,Z,$){let X=["__ob__","__v_skip","__metadata__"],Y=YD(Object.getOwnPropertyNames(Q),[...X,...z,...J],J),G=Object.keys(Y);for(let q of G){let H=Y[q],_=`invalid ${Z} property '${q}' did you mean any of these: ${H.slice(0,8).join(", ")}.`;if(J.includes("context"))_+=`
If you are trying to annotate ${Z} with application data, use the '${Z}.context' property instead.`;zz(_)}if(G.length>0&&$){let q=this.beans.frameworkOverrides.getDocLink($);zz(`to see all the valid ${Z} properties please check: ${q}`)}}};function YD(Q,z,J){let Z={},$=Q.filter((X)=>!z.some((Y)=>Y===X));if($.length>0)for(let X of $)Z[X]=D5({inputValue:X,allSuggestions:J}).values;return Z}var GD=new Set(["firstChildChanged","lastChildChanged","childIndexChanged"]),SX={moduleName:"Validation",version:p,beans:[XD]};var j1=class extends j{constructor(){super(...arguments);this.dispatchColumnChangedEvent=M$,this.columns=[],this.columnIndexMap={},this.updateIndexMap=()=>{this.columnIndexMap={},this.columns.forEach((Q,z)=>this.columnIndexMap[Q.getId()]=z)}}wireBeans(Q){this.colModel=Q.colModel,this.aggFuncSvc=Q.aggFuncSvc,this.visibleCols=Q.visibleCols,this.groupHierarchCols=Q.groupHierarchyColSvc}sortColumns(Q){let{groupHierarchCols:z}=this;this.columns.sort((J,Z)=>z?.compareVirtualColumns(J,Z)??Q(J,Z)),this.updateIndexMap()}setColumns(Q,z){this.setColList(Q,this.columns,this.eventName,!0,!0,this.columnProcessors.set,z)}addColumns(Q,z){this.updateColList(Q,this.columns,!0,!0,this.columnProcessors.add,this.eventName,z)}removeColumns(Q,z){this.updateColList(Q,this.columns,!1,!0,this.columnProcessors.remove,this.eventName,z)}getColumnIndex(Q){return this.columnIndexMap[Q]}setColList(Q=[],z,J,Z,$,X,Y){let G=this.colModel.getCols();if(!G||G.length===0)return;let q=new Map;z.forEach((_,U)=>q.set(_,U)),z.length=0;for(let _ of Q){let U=this.colModel.getColDefCol(_);if(U)z.push(U)}z.forEach((_,U)=>{let W=q.get(_);if(W===void 0){q.set(_,0);return}if(Z&&W!==U)return;q.delete(_)}),this.updateIndexMap();let H=this.colModel.getColDefCols();for(let _ of H??[]){let U=z.indexOf(_)>=0;X(_,U,Y)}if($)this.colModel.refreshCols(!1,Y);this.visibleCols.refresh(Y),this.dispatchColumnChangedEvent(this.eventSvc,J,[...q.keys()],Y)}updateColList(Q=[],z,J,Z,$,X,Y){if(!Q||Q.length===0)return;let G=!1,q=new Set;for(let _ of Q){if(!_)continue;let U=this.colModel.getColDefCol(_);if(!U)continue;if(q.add(U),J){if(z.indexOf(U)>=0)continue;z.push(U)}else{let W=z.indexOf(U);if(W<0)continue;for(let B=W+1;B<z.length;B++)q.add(z[B]);$0(z,U)}$(U,J,Y),G=!0}if(!G)return;if(this.updateIndexMap(),Z)this.colModel.refreshCols(!1,Y);this.visibleCols.refresh(Y);let H=Array.from(q);this.eventSvc.dispatchEvent({type:X,columns:H,column:H.length===1?H[0]:null,source:Y})}extractCols(Q,z=[]){let J=this.columns,Z=[],$=[],{setFlagFunc:X,getIndexFunc:Y,getInitialIndexFunc:G,getValueFunc:q,getInitialValueFunc:H}=this.columnExtractors,_=this.colModel.getColDefCols();for(let K of _??[]){let L=!z.includes(K),F=K.getColDef(),D=q(F),M=H(F),k=Y(F),f=G(F),A,O=D!==void 0,v=k!==void 0,I=M!==void 0,C=f!==void 0;if(O)A=D;else if(v)if(k===null)A=!1;else A=k>=0;else if(L)if(I)A=M;else if(C)A=f!=null&&f>=0;else A=!1;else A=J.indexOf(K)>=0;if(A)if(L?k!=null||f!=null:k!=null)Z.push(K);else $.push(K)}let U=(K)=>{let L=K.getColDef();return Y(L)??G(L)};Z.sort((K,L)=>U(K)-U(L));let W=[],B=this.groupHierarchCols,E=(K)=>{if(B)B.expandColumnInto(W,K);else W.push(K)};Z.forEach(E);for(let K of J)if($.indexOf(K)>=0)E(K);for(let K of $)if(W.indexOf(K)<0)E(K);for(let K of J)if(W.indexOf(K)<0)X(K,!1,Q);for(let K of W)if(J.indexOf(K)<0)X(K,!0,Q);return this.columns=W,this.updateIndexMap(),this.columns}restoreColumnOrder(Q,z){let J=this.columns,Z=this.colModel.getColDefCols();if(!J.length||!Z)return Q;let $=Object.keys(z),X=new Set($),Y=new Set($),G=new Set(J.map((M)=>{let k=M.getColId();return Y.delete(k),k}).concat($)),q=[],H={},_=0;for(let M=0;M<Z.length;M++){let k=Z[M].getColId();if(G.has(k))q.push(k),H[k]=_++}let U=1000,W=!1,B=0,E=this.columnOrdering.enableProp,K=this.columnOrdering.initialEnableProp,L=this.columnOrdering.indexProp,F=this.columnOrdering.initialIndexProp,D=(M)=>{let k=H[M];for(let f=B;f<k;f++){let A=q[f];if(Y.has(A))z[A][L]=U++,Y.delete(A)}B=k};for(let M of J){let k=M.getColId();if(X.has(k))D(k),z[k][L]=U++;else{let f=M.getColDef();if(f[L]===null||f[L]===void 0&&f[F]==null){if(!W)if(f[E]||f[E]===void 0&&f[K])D(k);else{for(let v of Y)z[v][L]=U+H[v];U+=q.length,W=!0}if(!Q[k])Q[k]={colId:k};Q[k][L]=U++}}}return Q}};var qD='.ag-toggle-button{flex:none;min-width:unset;width:unset}.ag-toggle-button-input-wrapper{background-color:var(--ag-toggle-button-off-background-color);border-radius:calc(var(--ag-toggle-button-height)*.5);flex:none;height:var(--ag-toggle-button-height);max-width:var(--ag-toggle-button-width);min-width:var(--ag-toggle-button-width);position:relative;transition:background-color .1s;:where(.ag-toggle-button-input){-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:block;height:var(--ag-toggle-button-height);margin:0;max-width:var(--ag-toggle-button-width);min-width:var(--ag-toggle-button-width);opacity:0}&.ag-checked{background-color:var(--ag-toggle-button-on-background-color)}&.ag-disabled{opacity:.5}}.ag-toggle-button-input-wrapper:before{background-color:var(--ag-toggle-button-switch-background-color);border-radius:100%;content:"";display:block;height:calc(var(--ag-toggle-button-height) - var(--ag-toggle-button-switch-inset)*2);left:var(--ag-toggle-button-switch-inset);pointer-events:none;position:absolute;top:var(--ag-toggle-button-switch-inset);transition:left .1s;width:calc(var(--ag-toggle-button-height) - var(--ag-toggle-button-switch-inset)*2)}.ag-toggle-button-input-wrapper.ag-checked:before{left:calc(100% - var(--ag-toggle-button-height) + var(--ag-toggle-button-switch-inset))}.ag-toggle-button-input-wrapper:focus-within{box-shadow:var(--ag-focus-shadow)}',N6=class extends K6{constructor(Q){super(Q,"ag-toggle-button");this.registerCSS(qD)}setValue(Q,z){return super.setValue(Q,z),this.toggleCss("ag-selected",this.getValue()),this}},OX={selector:"AG-TOGGLE-BUTTON",component:N6};var HD=class{constructor(){this.ieCompatibility=!1}init(){this.ieCompatibility=this.md5("hello")!="5d41402abc4b2a76b9719d911017c592"}md5cycle(Q,z){let J=Q[0],Z=Q[1],$=Q[2],X=Q[3];J=this.ff(J,Z,$,X,z[0],7,-680876936),X=this.ff(X,J,Z,$,z[1],12,-389564586),$=this.ff($,X,J,Z,z[2],17,606105819),Z=this.ff(Z,$,X,J,z[3],22,-1044525330),J=this.ff(J,Z,$,X,z[4],7,-176418897),X=this.ff(X,J,Z,$,z[5],12,1200080426),$=this.ff($,X,J,Z,z[6],17,-1473231341),Z=this.ff(Z,$,X,J,z[7],22,-45705983),J=this.ff(J,Z,$,X,z[8],7,1770035416),X=this.ff(X,J,Z,$,z[9],12,-1958414417),$=this.ff($,X,J,Z,z[10],17,-42063),Z=this.ff(Z,$,X,J,z[11],22,-1990404162),J=this.ff(J,Z,$,X,z[12],7,1804603682),X=this.ff(X,J,Z,$,z[13],12,-40341101),$=this.ff($,X,J,Z,z[14],17,-1502002290),Z=this.ff(Z,$,X,J,z[15],22,1236535329),J=this.gg(J,Z,$,X,z[1],5,-165796510),X=this.gg(X,J,Z,$,z[6],9,-1069501632),$=this.gg($,X,J,Z,z[11],14,643717713),Z=this.gg(Z,$,X,J,z[0],20,-373897302),J=this.gg(J,Z,$,X,z[5],5,-701558691),X=this.gg(X,J,Z,$,z[10],9,38016083),$=this.gg($,X,J,Z,z[15],14,-660478335),Z=this.gg(Z,$,X,J,z[4],20,-405537848),J=this.gg(J,Z,$,X,z[9],5,568446438),X=this.gg(X,J,Z,$,z[14],9,-1019803690),$=this.gg($,X,J,Z,z[3],14,-187363961),Z=this.gg(Z,$,X,J,z[8],20,1163531501),J=this.gg(J,Z,$,X,z[13],5,-1444681467),X=this.gg(X,J,Z,$,z[2],9,-51403784),$=this.gg($,X,J,Z,z[7],14,1735328473),Z=this.gg(Z,$,X,J,z[12],20,-1926607734),J=this.hh(J,Z,$,X,z[5],4,-378558),X=this.hh(X,J,Z,$,z[8],11,-2022574463),$=this.hh($,X,J,Z,z[11],16,1839030562),Z=this.hh(Z,$,X,J,z[14],23,-35309556),J=this.hh(J,Z,$,X,z[1],4,-1530992060),X=this.hh(X,J,Z,$,z[4],11,1272893353),$=this.hh($,X,J,Z,z[7],16,-155497632),Z=this.hh(Z,$,X,J,z[10],23,-1094730640),J=this.hh(J,Z,$,X,z[13],4,681279174),X=this.hh(X,J,Z,$,z[0],11,-358537222),$=this.hh($,X,J,Z,z[3],16,-722521979),Z=this.hh(Z,$,X,J,z[6],23,76029189),J=this.hh(J,Z,$,X,z[9],4,-640364487),X=this.hh(X,J,Z,$,z[12],11,-421815835),$=this.hh($,X,J,Z,z[15],16,530742520),Z=this.hh(Z,$,X,J,z[2],23,-995338651),J=this.ii(J,Z,$,X,z[0],6,-198630844),X=this.ii(X,J,Z,$,z[7],10,1126891415),$=this.ii($,X,J,Z,z[14],15,-1416354905),Z=this.ii(Z,$,X,J,z[5],21,-57434055),J=this.ii(J,Z,$,X,z[12],6,1700485571),X=this.ii(X,J,Z,$,z[3],10,-1894986606),$=this.ii($,X,J,Z,z[10],15,-1051523),Z=this.ii(Z,$,X,J,z[1],21,-2054922799),J=this.ii(J,Z,$,X,z[8],6,1873313359),X=this.ii(X,J,Z,$,z[15],10,-30611744),$=this.ii($,X,J,Z,z[6],15,-1560198380),Z=this.ii(Z,$,X,J,z[13],21,1309151649),J=this.ii(J,Z,$,X,z[4],6,-145523070),X=this.ii(X,J,Z,$,z[11],10,-1120210379),$=this.ii($,X,J,Z,z[2],15,718787259),Z=this.ii(Z,$,X,J,z[9],21,-343485551),Q[0]=this.add32(J,Q[0]),Q[1]=this.add32(Z,Q[1]),Q[2]=this.add32($,Q[2]),Q[3]=this.add32(X,Q[3])}cmn(Q,z,J,Z,$,X){return z=this.add32(this.add32(z,Q),this.add32(Z,X)),this.add32(z<<$|z>>>32-$,J)}ff(Q,z,J,Z,$,X,Y){return this.cmn(z&J|~z&Z,Q,z,$,X,Y)}gg(Q,z,J,Z,$,X,Y){return this.cmn(z&Z|J&~Z,Q,z,$,X,Y)}hh(Q,z,J,Z,$,X,Y){return this.cmn(z^J^Z,Q,z,$,X,Y)}ii(Q,z,J,Z,$,X,Y){return this.cmn(J^(z|~Z),Q,z,$,X,Y)}md51(Q){let z=Q.length,J=[1732584193,-271733879,-1732584194,271733878],Z;for(Z=64;Z<=Q.length;Z+=64)this.md5cycle(J,this.md5blk(Q.substring(Z-64,Z)));Q=Q.substring(Z-64);let $=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(Z=0;Z<Q.length;Z++)$[Z>>2]|=Q.charCodeAt(Z)<<(Z%4<<3);if($[Z>>2]|=128<<(Z%4<<3),Z>55){this.md5cycle(J,$);for(Z=0;Z<16;Z++)$[Z]=0}return $[14]=z*8,this.md5cycle(J,$),J}md5blk(Q){let z=[];for(let J=0;J<64;J+=4)z[J>>2]=Q.charCodeAt(J)+(Q.charCodeAt(J+1)<<8)+(Q.charCodeAt(J+2)<<16)+(Q.charCodeAt(J+3)<<24);return z}rhex(Q){let z="0123456789abcdef".split(""),J="",Z=0;for(;Z<4;Z++)J+=z[Q>>Z*8+4&15]+z[Q>>Z*8&15];return J}hex(Q){for(let z=0;z<Q.length;z++)Q[z]=this.rhex(Q[z]);return Q.join("")}md5(Q){return this.hex(this.md51(Q))}add32(Q,z){return this.ieCompatibility?this.add32Compat(Q,z):this.add32Std(Q,z)}add32Std(Q,z){return Q+z&4294967295}add32Compat(Q,z){let J=(Q&65535)+(z&65535);return(Q>>16)+(z>>16)+(J>>16)<<16|J&65535}},sZ={"01":"GRID","02":"CHARTS","0102":"BOTH"};var UY=class Q{constructor(z){this.watermarkMessage=void 0,this.totalMessageLength=124,this.document=z,this.md5=new HD,this.md5.init()}validateLicense(){let z=this.getLicenseDetails(Q.licenseKey),J=`AG Grid ${z.currentLicenseType==="BOTH"?"and AG Charts ":""}Enterprise`,Z=z.suppliedLicenseType===void 0?"":`AG ${z.suppliedLicenseType==="BOTH"?"Grid and AG Charts":z.suppliedLicenseType==="GRID"?"Grid":"Charts"} Enterprise`;if(z.missing){if(!this.isWebsiteUrl()||this.isForceWatermark())this.outputMissingLicenseKey(J)}else if(z.expired){let $=Q.getGridReleaseDate(),X=Q.formatDate($);this.outputExpiredKey(z.expiry,X,J,Z)}else if(!z.valid)this.outputInvalidLicenseKey(!!z.incorrectLicenseType,J,Z);else if(z.isTrial&&z.trialExpired)this.outputExpiredTrialKey(z.expiry,J,Z)}static extractExpiry(z){let J=z.substring(z.lastIndexOf("_")+1,z.length);return new Date(parseInt(Q.decode(J),10))}static extractLicenseComponents(z){let J=z.replace(/[\u200B-\u200D\uFEFF]/g,"");if(J=J.replace(/\r?\n|\r/g,""),z.length<=32)return{md5:null,license:z,version:null,isTrial:null};let Z=J.length-32,$=J.substring(Z),X=J.substring(0,Z),[Y,G,q]=Q.extractBracketedInformation(J);return{md5:$,license:X,version:Y,isTrial:G,type:q}}getLicenseDetails(z){let J=Q.chartsLicenseManager?"BOTH":"GRID";if(!z?.length)return{licenseKey:z,valid:!1,missing:!0,currentLicenseType:J};let Z=Q.getGridReleaseDate(),{md5:$,license:X,version:Y,isTrial:G,type:q}=Q.extractLicenseComponents(z),H=$===this.md5.md5(X)&&!z.includes("For_Trialing_ag-Grid_Only"),_=void 0,U=void 0,W=null,B=!1,E=void 0;function K(){_=W<new Date,U=void 0}if(H){if(W=Q.extractExpiry(X),H=!isNaN(W.getTime()),H)switch(U=Z>W,Y){case"legacy":case"2":{if(G)K();break}case"3":if(!q?.length)H=!1;else if(E=q,q!==sZ["01"]&&q!==sZ["0102"]||J==="BOTH"&&E!=="BOTH")H=!1,B=!0;else if(G)K()}}if(!H)return{licenseKey:z,valid:H,incorrectLicenseType:B,currentLicenseType:J,suppliedLicenseType:E};return{licenseKey:z,valid:H,expiry:Q.formatDate(W),expired:U,version:Y,isTrial:G,trialExpired:_,incorrectLicenseType:B,currentLicenseType:J,suppliedLicenseType:E}}isDisplayWatermark(){return this.isForceWatermark()||!this.isLocalhost()&&!this.isWebsiteUrl()&&!!this.watermarkMessage?.length}getWatermarkMessage(){return this.watermarkMessage||""}getHostname(){let J=(this.document.defaultView||window).location,{hostname:Z=""}=J;return Z}isForceWatermark(){let J=(this.document.defaultView||window).location,{pathname:Z}=J;return Z?Z.includes("forceWatermark"):!1}isWebsiteUrl(){return this.getHostname().match(/^(?:[\w-]+\.)?(ag-grid|bryntum)\.com$/)!==null}isLocalhost(){return this.getHostname().match(/^(?:127\.0\.0\.1|localhost)$/)!==null}static formatDate(z){let J=["January","February","March","April","May","June","July","August","September","October","November","December"],Z=z.getDate(),$=z.getMonth(),X=z.getFullYear();return Z+" "+J[$]+" "+X}static getGridReleaseDate(){return new Date(parseInt(Q.decode(Q.RELEASE_INFORMATION),10))}static decode(z){let Z="",$,X,Y,G,q,H,_,U=0,W=z.replace(/[^A-Za-z0-9+/=]/g,"");while(U<W.length){if(G="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(W.charAt(U++)),q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(W.charAt(U++)),H="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(W.charAt(U++)),_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(W.charAt(U++)),$=G<<2|q>>4,X=(q&15)<<4|H>>2,Y=(H&3)<<6|_,Z=Z+String.fromCharCode($),H!=64)Z=Z+String.fromCharCode(X);if(_!=64)Z=Z+String.fromCharCode(Y)}return Z=Q.utf8_decode(Z),Z}static utf8_decode(z){z=z.replace(/rn/g,"n");let J="";for(let Z=0;Z<z.length;Z++){let $=z.charCodeAt(Z);if($<128)J+=String.fromCharCode($);else if($>127&&$<2048)J+=String.fromCharCode($>>6|192),J+=String.fromCharCode($&63|128);else J+=String.fromCharCode($>>12|224),J+=String.fromCharCode($>>6&63|128),J+=String.fromCharCode($&63|128)}return J}static setChartsLicenseManager(z){this.chartsLicenseManager=z,this.chartsLicenseManager?.setLicenseKey(this.licenseKey,!0)}static setLicenseKey(z){if(T(this.licenseKey)&&this.licenseKey!==z)J9(291,void 0,"AG Grid: License Key being set multiple times with different values. This can result in an incorrect license key being used.");this.licenseKey=z,this.chartsLicenseManager?.setLicenseKey(z,!0)}static extractBracketedInformation(z){if(!z.includes("["))return["legacy",!1,void 0];let J=z.match(/\[(.*?)\]/g).map((G)=>G.replace("[","").replace("]",""));if(!J||J.length===0)return["legacy",!1,void 0];let Z=J.filter((G)=>G==="TRIAL").length===1,$=J.filter((G)=>G.indexOf("v")===0)[0],X=$?$.replace("v",""):"legacy",Y=sZ[J.filter((G)=>sZ[G])[0]];return[X,Z,Y]}centerPadAndOutput(z){let J=this.totalMessageLength-z.length}padAndOutput(z,J="*",Z=""){}outputInvalidLicenseKey(z,J,Z){}outputExpiredTrialKey(z,J,Z){}outputMissingLicenseKey(z){}outputExpiredKey(z,J,Z,$){}};UY.RELEASE_INFORMATION="MTc3NDQyNTc0Nzc3NQ==";var lZ=UY,_D='.ag-watermark{bottom:20px;color:#9b9b9b;opacity:.7;position:absolute;transition:opacity 1s ease-out 3s}:where(.ag-ltr) .ag-watermark{right:25px}:where(.ag-rtl) .ag-watermark{left:25px}.ag-watermark:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDkiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyMDkgMzYiPjxwYXRoIGZpbGw9IiM5YjliOWIiIGQ9Ik0xOTIuOTkzIDIzLjY1OHYtNy45NDZoLTEzLjU0MWwtNy45NDcgNy45NDZ6TTIwOC4yNSAzLjk1aC0xNi45NzRsLTguMDEgNy45NDdoMjQuOTg0ek0xNjMuNjIyIDMxLjYwNWw0LjA2OS00LjA2OWgxMy43MzJ2Ny45NDdoLTE3LjgwMXoiLz48cGF0aCBmaWxsPSIjOWI5YjliIiBkPSJNMTY2LjYxIDE5Ljc4aDguNzczbDguMDEtNy45NDZIMTY2LjYxek0xNTcuMDExIDMxLjYwNWg2LjYxMWw3Ljg4My03Ljk0N2gtMTQuNDk0ek0xOTEuMjc2IDMuOTVsLTQuMDY4IDQuMDdIMTYxLjI3Vi4wNzJoMzAuMDA2ek0yMC44NCAzMC4yMDZIOC4zNzhsLTIuMTYyIDUuMzRILjc1TDEyLjI1NyA4LjU5Mmg0Ljc2OEwyOC41MyAzNS41NDZoLTUuNTN6bS0xLjcxNy00LjI2TDE0LjYwOSAxNC45NWwtNC41MTQgMTAuOTk4ek0xMDQuNDM3IDE4LjUwOWMxLjU4OS0yLjM1MiA1LjU5NC0yLjYwNyA3LjI0Ny0yLjYwN3Y0LjU3OGMtMi4wMzQgMC00LjA2OS4wNjMtNS4yNzcuOTUzLTEuMjA3Ljg5LTEuODQzIDIuMDk4LTEuODQzIDMuNTZ2MTAuNTUzaC00Ljk1OVYxNS45MDJoNC43Njh6TTExOS4zNzYgMTUuOTAyaC00Ljk1OHYxOS42NDRoNC45NTh6TTExOS4zNzYgNy4xM2gtNC45NTh2NS44NDhoNC45NTh6TTE0My45NzkgNy4xM3YyOC40MTZoLTQuNzY4bC0uMTI3LTIuOTg4YTguMyA4LjMgMCAwIDEtMi42NyAyLjQ4Yy0xLjA4MS41NzItMi40MTYuODktMy45NDIuODktMS4zMzUgMC0yLjYwNi0uMjU1LTMuNjg3LS43LTEuMTQ0LS41MDgtMi4xNjItMS4xNDQtMi45ODgtMi4wMzRhOS42IDkuNiAwIDAgMS0xLjk3MS0zLjE3OWMtLjUwOC0xLjIwNy0uNjk5LTIuNjA2LS42OTktNC4xMzJzLjI1NC0yLjkyNC42OTktNC4xOTZjLjUwOS0xLjI3MSAxLjE0NS0yLjM1MiAxLjk3MS0zLjI0MnMxLjg0NC0xLjU4OSAyLjk4OC0yLjA5OCAyLjM1Mi0uNzYzIDMuNjg3LS43NjNjMS41MjYgMCAyLjc5Ny4yNTUgMy44NzguODI3czEuOTcxIDEuMzM1IDIuNjcgMi40MTZWNy4xOTNoNC45NTl6bS0xMC40MjYgMjQuNTM4YzEuNjUzIDAgMi45MjQtLjU3MiAzLjk0MS0xLjY1M3MxLjUyNi0yLjU0MyAxLjUyNi00LjMyMy0uNTA5LTMuMTc4LTEuNTI2LTQuMzIyYy0xLjAxNy0xLjA4MS0yLjI4OC0xLjY1My0zLjk0MS0xLjY1My0xLjU5IDAtMi45MjUuNTcyLTMuODc4IDEuNjUzLTEuMDE3IDEuMDgtMS41MjYgMi41NDMtMS41MjYgNC4zMjIgMCAxLjc4LjUwOSAzLjE4IDEuNTI2IDQuMjYgMS4wMTcgMS4xNDQgMi4yODggMS43MTYgMy44NzggMS43MTZNNTcuMjAyIDIwLjM1M0g0NC45MzN2NC4yNTloNi45OTNjLS4xOSAyLjE2MS0xLjAxNyAzLjgxNC0yLjQxNiA1LjE1LTEuMzk4IDEuMjctMy4xNzggMS45MDYtNS40NjcgMS45MDYtMS4yNzEgMC0yLjQ4LS4yNTQtMy40OTYtLjY5OWE3IDcgMCAwIDEtMi43MzQtMS45N2MtLjc2My0uODI3LTEuMzM1LTEuODQ0LTEuNzgtMy4wNTJzLS42MzYtMi40OC0uNjM2LTMuOTQyLjE5LTIuNzMzLjYzNi0zLjk0MWMuMzgxLTEuMjA4IDEuMDE3LTIuMTYyIDEuNzgtMy4wNTIuNzYzLS44MjYgMS42NTMtMS40NjIgMi43MzMtMS45N2E5LjEgOS4xIDAgMCAxIDMuNTYtLjdxNC4wMDUgMCA2LjEwMyAxLjkwN2wzLjMwNi0zLjMwNWMtMi40OC0xLjkwNy01LjY1OC0yLjkyNS05LjQwOS0yLjkyNS0yLjA5NyAwLTQuMDA0LjMxOC01LjcyMSAxLjAxOC0xLjcxNi42OTktMy4xNzkgMS41ODktNC4zODYgMi43OTdBMTIuMSAxMi4xIDAgMCAwIDMxLjIgMTYuMjJjLS42MzUgMS43MTctLjk1MyAzLjYyNC0uOTUzIDUuNjU4cy4zMTggMy45NDIgMS4wMTcgNS42NThjLjcgMS43MTcgMS41OSAzLjE3OSAyLjc5NyA0LjM4N2ExMi4xIDEyLjEgMCAwIDAgNC4zODcgMi43OTdjMS43MTYuNyAzLjYyMyAxLjAxNyA1LjY1NyAxLjAxNyAyLjAzNSAwIDMuODc4LS4zMTggNS41MzEtMS4wMTcgMS42NTMtLjcgMy4wNTItMS41OSA0LjE5Ni0yLjc5N3ExLjcxNi0xLjgxMiAyLjY3LTQuMzg3Yy42MzYtMS43MTYuOTU0LTMuNjIzLjk1NC01LjY1OHYtLjgyNmMtLjE5MS0uMTI3LS4yNTUtLjQ0NS0uMjU1LS43TTk1Ljk4MiAyMC4zNTNoLTEyLjI3djQuMjU5aDYuOTkzYy0uMTkgMi4xNjEtMS4wMTcgMy44MTQtMi40MTYgNS4xNS0xLjM5OCAxLjI3LTMuMTc4IDEuOTA2LTUuNDY3IDEuOTA2LTEuMjcxIDAtMi40OC0uMjU0LTMuNDk2LS42OTlhNyA3IDAgMCAxLTIuNzM0LTEuOTdjLS43NjMtLjgyNy0xLjMzNS0xLjg0NC0xLjc4LTMuMDUycy0uNjM2LTIuNDgtLjYzNi0zLjk0Mi4xOS0yLjczMy42MzYtMy45NDFjLjM4MS0xLjIwOCAxLjAxNy0yLjE2MiAxLjc4LTMuMDUyLjc2My0uODI2IDEuNjUzLTEuNDYyIDIuNzM0LTEuOTdhOS4xIDkuMSAwIDAgMSAzLjU2LS43cTQuMDA1IDAgNi4xMDMgMS45MDdsMy4zMDUtMy4zMDVjLTIuNDc5LTEuOTA3LTUuNjU4LTIuOTI1LTkuNDA4LTIuOTI1LTIuMDk4IDAtNC4wMDUuMzE4LTUuNzIyIDEuMDE4LTEuNzE2LjY5OS0zLjE3OCAxLjU4OS00LjM4NiAyLjc5N2ExMi4xIDEyLjEgMCAwIDAtMi43OTcgNC4zODZjLS42MzYgMS43MTctLjk1NCAzLjYyNC0uOTU0IDUuNjU4cy4zMTggMy45NDIgMS4wMTcgNS42NThjLjcgMS43MTcgMS41OSAzLjE3OSAyLjc5NyA0LjM4N2ExMi4xIDEyLjEgMCAwIDAgNC4zODcgMi43OTdjMS43MTYuNyAzLjYyMyAxLjAxNyA1LjY1OCAxLjAxNyAyLjAzNCAwIDMuODc4LS4zMTggNS41My0xLjAxNyAxLjY1My0uNyAzLjA1Mi0xLjU5IDQuMTk2LTIuNzk3cTEuNzE4LTEuODEyIDIuNjctNC4zODdjLjYzNi0xLjcxNi45NTQtMy42MjMuOTU0LTUuNjU4di0uODI2Yy0uMTktLjEyNy0uMjU1LS40NDUtLjI1NS0uNyIvPjwvc3ZnPg==");background-repeat:no-repeat;background-size:170px 40px;content:"";display:block;height:40px;width:170px}.ag-watermark-text{font-family:Impact,sans-serif;font-size:19px;font-weight:700;opacity:.5}:where(.ag-ltr) .ag-watermark-text{padding-left:.7rem}:where(.ag-rtl) .ag-watermark-text{padding-right:.7rem}',UD={tag:"div",cls:"ag-watermark",children:[{tag:"div",ref:"eLicenseTextRef",cls:"ag-watermark-text"}]},WD=class extends x{constructor(){super(UD);this.eLicenseTextRef=S,this.registerCSS(_D)}wireBeans(Q){this.licenseManager=Q.licenseManager}postConstruct(){let Q=this.shouldDisplayWatermark();if(this.setDisplayed(Q),Q)this.eLicenseTextRef.textContent=this.licenseManager.getWatermarkMessage(),window.setTimeout(()=>this.addCss("ag-opacity-zero"),0),window.setTimeout(()=>this.setDisplayed(!1),5000)}shouldDisplayWatermark(){return this.licenseManager.isDisplayWatermark()}},BD={selector:"AG-WATERMARK",component:WD},PX=class extends j{constructor(){super(...arguments);this.beanName="licenseManager"}postConstruct(){this.validateLicense()}validateLicense(){let Q=this.beans;if(Q.withinStudio)this.licenseManager={isDisplayWatermark:()=>!1,getWatermarkMessage:()=>""};else{let z=new lZ(Y0(Q));this.licenseManager=z,z.validateLicense()}}static getLicenseDetails(Q){return new lZ(null).getLicenseDetails(Q)}getWatermarkSelector(){return BD}isDisplayWatermark(){return this.licenseManager.isDisplayWatermark()}getWatermarkMessage(){return this.licenseManager.getWatermarkMessage()}static setLicenseKey(Q){lZ.setLicenseKey(Q)}static setChartsLicenseManager(Q){lZ.setChartsLicenseManager(Q)}},ED=9525,TX={"0":1,"0.00":2,"#,##0":3,"#,##0.00":4,"0%":9,"0.00%":10,"0.00E+00":11,"# ?/?":12,"# ??/??":13,"mm-dd-yy":14,"d-mmm-yy":15,"d-mmm":16,"mmm-yy":17,"h:mm AM/PM":18,"h:mm:ss AM/PM":19,"h:mm":20,"h:mm:ss":21,"m/d/yy h:mm":22,"#,##0 ;(#,##0)":37,"#,##0 ;[Red](#,##0)":38,"#,##0.00;(#,##0.00)":39,"#,##0.00;[Red](#,##0.00)":40,"mm:ss":45,"[h]:mm:ss":46,"mmss.0":47,"##0.0E+0":48,"@":49},aZ=`\r
`;function vX(Q,z,J){if(!z&&z!==""&&z!==0)return"";let Z=z;if(typeof z==="boolean"){if(J)Z=J(z)}return` ${Q}="${Z}"`}function KD(Q={}){let Z=["version"];if(!Q.version)Q.version="1.0";if(Q.encoding)Z.push("encoding");if(Q.standalone)Z.push("standalone");return`<?xml ${Z.map((X)=>`${X}="${Q[X]}"`).join(" ")} ?>`}function WY(Q,z){let J="";if(Q.properties){if(Q.properties.prefixedAttributes)Q.properties.prefixedAttributes.forEach(($)=>{for(let X of Object.keys($.map))J+=vX($.prefix+X,$.map[X],z)});if(Q.properties.rawMap)for(let $ of Object.keys(Q.properties.rawMap))J+=vX($,Q.properties.rawMap[$],z)}let Z="<"+Q.name+J;if(!Q.children&&Q.textNode==null)return Z+"/>"+aZ;if(Q.textNode!=null)return Z+">"+Q.textNode+"</"+Q.name+">"+aZ;if(Z+=">"+aZ,Q.children)for(let $ of Q.children)Z+=WY($,z);return Z+"</"+Q.name+">"+aZ}var LD=(Q)=>{return Math.round(Q*96/72)},R1=(Q)=>{return Math.ceil(Q*ED)},FD=(Q)=>{if(Q===void 0)return;let J=["Automatic","Roman","Swiss","Modern","Script","Decorative"].indexOf(Q||"Automatic");return Math.max(J,0)},J2=(Q,z)=>{if(!z)return;let J;if(typeof z==="number")J=z;else J=z({rowIndex:Q});return J},DD=(Q,z)=>{let{colSpan:J,column:Z}=Q.position;if(!Q.width)return;if(J){let $=z.slice(Z-1,Z+J-1),X=0;for(let Y=0;Y<$.length;Y++){let G=$[Y].getActualWidth();if(Q.width<X+G){Q.position.colSpan=Y+1,Q.totalWidth=Q.width,Q.width=Q.totalWidth-X;break}X+=G}}else Q.totalWidth=Q.width},MD=(Q,z)=>{let{rowSpan:J,row:Z}=Q.position;if(!Q.height)return;if(J){let $=0,X=0;for(let Y=Z;Y<Z+J;Y++){let G=LD(J2(Y,z)||20);if(Q.height<$+G){Q.position.rowSpan=X+1,Q.totalHeight=Q.height,Q.height=Q.totalHeight-$;break}$+=G,X++}}else Q.totalHeight=Q.height},y0=(Q,z)=>{let J=KD({encoding:"UTF-8",standalone:"yes"}),Z=WY(Q);if(z)return Z;return`${J}${Z}`},az=(Q)=>{let Z=String.fromCharCode,$=Math.floor(Q/26),X=Q%26;if(!$||Q===26)return Z(65+Q-1);if(!X)return az($-1)+"Z";if($<26)return Z(65+$-1)+Z(65+X-1);return az($)+Z(65+X-1)},kD=(Q)=>{return Q.replaceAll(`
`,"_x000a_")},G2=(Q)=>{if(Q==null)return null;let z="";for(let J=0;J<Q.length;J++){let Z=Q.charCodeAt(J);if(Z>=0&&Z<=31&&Z!==10){let Y=`_x${Z.toString(16).toUpperCase().padStart(4,"0")}_`;z+=Y}else z+=Q[J]}return z},VD=(Q)=>{let z=[];for(let J of Q.keys()){let Z=J.toString(),$={name:"t",textNode:W0(G2(Z))};if(Z.trim().length!==Z.length)$.properties={rawMap:{"xml:space":"preserve"}};z.push({name:"si",children:[$]})}return z},fD=class extends P6{constructor(Q){super(Q);this.mixedStyles={},this.mixedStyleCounter=0,this.rows=[],this.frozenRowCount=0,this.skipFrozenRows=!1,this.frozenColumnCount=0,this.skipFrozenColumns=!1,this.formulaSvc=Q.formulaSvc,this.config=Object.assign({},Q),this.workbook=Q.workbook,this.stylesByIds={};for(let J of this.config.baseExcelStyles)this.stylesByIds[J.id]=J;let z={id:"_quotePrefix",quotePrefix:1};this.stylesByIds[z.id]=z,this.excelStyles=[...this.config.baseExcelStyles,z]}addCustomContent(Q){for(let z of Q){let J=this.rows.length+1,Z;if(!this.config.suppressRowOutline&&z.outlineLevel!=null)Z=z.outlineLevel;let $={height:J2(J,z.height||this.config.rowHeight),cells:(z.cells||[]).map((X,Y)=>{let G=this.addImage(J,this.columnsToExport[Y],X.data?.value),q=null;if(X.styleId)q=typeof X.styleId==="string"?[X.styleId]:X.styleId;let H=this.getStyleId(q);if(G)return this.createCell(H,this.getDataTypeForValue(G.value),G.value==null?"":G.value);let _=X.data?.value??"",U=this.getDataTypeForValue(_);if(X.mergeAcross)return this.createMergedCell(H,U,_,X.mergeAcross);return this.createCell(H,U,_)}),outlineLevel:Z};if(z.collapsed!=null)$.collapsed=z.collapsed;if(z.hidden!=null)$.hidden=z.hidden;this.rows.push($)}}onNewHeaderGroupingRow(){let Q=[],{freezeRows:z,headerRowHeight:J}=this.config;if(this.rows.push({cells:Q,height:J2(this.rows.length+1,J)}),z)this.frozenRowCount++;return{onColumn:(Z,$,X,Y,G)=>{let q=this.config.styleLinker({rowType:"HEADER_GROUPING",rowIndex:1,value:`grouping-${$}`,columnGroup:Z});Q.push({...this.createMergedCell(this.getStyleId(q),this.getDataTypeForValue("string"),$,Y),collapsibleRanges:G})}}}onNewHeaderRow(){let{freezeRows:Q,headerRowHeight:z}=this.config;if(Q)this.frozenRowCount++;return this.onNewRow(this.onNewHeaderColumn,z)}onNewBodyRow(Q){let{freezeRows:z,rowHeight:J}=this.config;if(!this.skipFrozenRows)if(z==="headersAndPinnedRows"&&Q?.rowPinned==="top")this.frozenRowCount++;else if(typeof z==="function")if(z(y(this.gos,{node:Q})))this.frozenRowCount++;else this.skipFrozenRows=!0;else this.skipFrozenRows=!0;let Z=this.onNewRow(this.onNewBodyColumn,J);if(Q)this.addRowOutlineIfNecessary(Q);return Z}prepare(Q){super.prepare(Q),this.columnsToExport=[...Q],this.cols=Q.map((z,J)=>this.convertColumnToExcel(z,J))}parse(){let Q=this.rows.reduce((J,Z)=>Math.max(J,Z.cells.length),0);while(this.cols.length<Q)this.cols.push(this.convertColumnToExcel(null,this.cols.length+1));let z=this.createWorksheet();return this.addWorksheetToWorkbook(z)}createWorksheet(){let{sheetName:Q}=this.config,z;if(Q!=null){let J=typeof Q==="function"?Q(y(this.gos,{})):Q;z=String(J).substring(0,31)}else z="ag-grid";return{name:z,table:{columns:this.cols,rows:this.rows}}}addRowOutlineIfNecessary(Q){let{gos:z,suppressRowOutline:J,rowGroupExpandState:Z="expanded"}=this.config;if(z.get("groupHideOpenParents")||J||Q.level==null)return;let X=Q.footer?1:0,Y=b(this.rows);if(Q.uiLevel==null||Q.level===Q.uiLevel){let q=Math.min(Q.level+X,7);Y.outlineLevel=q}if(Z==="expanded")return;let G=Z==="collapsed";if(Q.isExpandable()){let q=!G&&Q.expanded;Y.collapsed=!q}Y.hidden=!!Q.parent&&Q.parent.level!==-1&&(G||this.isAnyParentCollapsed(Q.parent))}isAnyParentCollapsed(Q){while(Q&&Q.level!==-1){if(!Q.expanded)return!0;Q=Q.parent}return!1}convertColumnToExcel(Q,z){let J=this.config.columnWidth,$=(Q?this.extractHeaderValue(Q):void 0)??"",X=Q?Q.isFilterAllowed():!1;if(J){if(typeof J==="number")return{width:J,displayName:$,filterAllowed:X};return{width:J({column:Q,index:z}),displayName:$,filterAllowed:X}}if(Q)return{width:Math.max(Q.getActualWidth(),75),displayName:$,filterAllowed:X};return{displayName:$,filterAllowed:X}}onNewHeaderColumn(Q,z){return(J)=>{let Z=this.extractHeaderValue(J),$=this.config.styleLinker({rowType:"HEADER",rowIndex:Q,value:Z,column:J});z.push(this.createCell(this.getStyleId($),this.getDataTypeForValue("string"),Z))}}onNewBodyColumn(Q,z){let J=0,{freezeColumns:Z,rightToLeft:$}=this.config;return(X,Y,G)=>{if(J>0){J-=1;return}if(!this.skipFrozenColumns){let L=X.getPinned();if(Z==="pinned"&&L&&(L===!0||L==="left")!==$)this.frozenColumnCount++;else if(typeof Z==="function"&&Z(y(this.gos,{column:X})))this.frozenColumnCount++;else this.skipFrozenColumns=!0}let{value:q,valueFormatted:H}=this.extractRowCellValue({column:X,node:G,currentColumnIndex:Y,accumulatedRowIndex:Q,type:"excel",useRawFormula:!0}),_=q,U=typeof _==="bigint"?_.toString():_,W=this.config.styleLinker({rowType:"BODY",rowIndex:Q,value:_,column:X,node:G}),B=this.getStyleId(W),E=X.getColSpan(G),K=this.addImage(Q,X,U);if(K)z.push(this.createCell(B,this.getDataTypeForValue(K.value),K.value==null?"":K.value));else if(E>1)J=E-1,z.push(this.createMergedCell(B,this.getDataTypeForValue(_),U,E-1));else{let L=X.isAllowFormula()&&this.formulaSvc?.isFormula(U),F=this.createCell(B,L?"f":this.getDataTypeForValue(_),L?this.formulaSvc?.updateFormulaByOffset({value:U,rowDelta:Q-(G.formulaRowIndex+1),useRefFormat:!1}):U,H);z.push(F)}}}onNewRow(Q,z){let J=[];return this.rows.push({cells:J,height:J2(this.rows.length+1,z)}),{onColumn:Q.bind(this,this.rows.length,J)()}}addWorksheetToWorkbook(Q){let{excelStyles:z,config:J}=this;if(this.mapSharedStrings(Q),this.frozenColumnCount)J.frozenColumnCount=this.frozenColumnCount;if(this.frozenRowCount)J.frozenRowCount=this.frozenRowCount;return this.workbook.addWorksheet(z,Q,J)}mapSharedStrings(Q){let z;for(let J of Q.table.rows)for(let Z of J.cells){let $=Z.data;if(!$||$.type!=="s")continue;let X=$.value;if(X==null)continue;if(X===""){z??(z=this.workbook.getStringPosition("").toString()),$.value=z;continue}$.value=this.workbook.getStringPosition(String(X)).toString()}}getDataTypeForValue(Q){if(Q===void 0)return"empty";let z="s";try{if(this.isNumerical(Q))z="n"}catch(J){}return z}getTypeFromStyle(Q,z){if(this.isFormula(z))return"f";if(Q?.dataType)switch(Q.dataType.toLocaleLowerCase()){case"formula":return"f";case"string":return"s";case"number":return"n";case"datetime":return"d";case"error":return"e";case"boolean":return"b";default:R(162,{id:Q.id,dataType:Q.dataType})}return null}addImage(Q,z,J){if(!this.config.addImageToCell)return;let Z=this.config.addImageToCell(Q,z,J);if(!Z)return;return this.workbook.addBodyImageToMap(Z.image,Q,z,this.columnsToExport,this.config.rowHeight),Z}createCell(Q,z,J,Z){let $=this.getStyleById(Q);if(!$?.dataType&&z==="s"&&Z!=null)J=Z;let X=this.getTypeFromStyle($,J)||z,{value:Y,escaped:G}=this.getCellValue(X,J),q=[];if($)q.push(Q);if(G)q.push("_quotePrefix");return Q=this.getStyleId(q)||void 0,{styleId:Q,data:{type:X,value:Y}}}createMergedCell(Q,z,J,Z){let $=J==null?"":J;return{styleId:this.getStyleById(Q)?Q:void 0,data:{type:z,value:z==="s"?String($):J},mergeAcross:Z}}getCellValue(Q,z){let J=!1;if(z==null||Q==="s"&&z==="")return{value:"",escaped:!1};if(Q==="s"){if(z=String(z),z[0]==="'")J=!0,z=z.slice(1)}else if(Q==="f")z=this.addXlfnPrefix(z).slice(1);else if(Q==="n"){let Z=Number(z);if(isNaN(Z))z="";else if(z!=="")z=Z.toString()}return{value:z,escaped:J}}addXlfnPrefix(Q){if(!Q)return Q;let z=/(^|[^A-Z0-9._])(CONCAT)(\s*\()/gi;return Q.replace(z,(J,Z,$,X)=>`${Z}_xlfn.${$}${X}`)}getStyleId(Q){if(!Q?.length)return null;let z=Q.filter((Z)=>this.stylesByIds[Z]!=null);if(!z.length)return null;if(z.length===1)return z[0];let J=z.join("-");if(!this.mixedStyles[J])this.addNewMixedStyle(z);return this.mixedStyles[J].excelID}addNewMixedStyle(Q){this.mixedStyleCounter+=1;let z=`mixedStyle${this.mixedStyleCounter}`,J={};for(let $ of Q){let X=this.stylesByIds[$];if(X)B0(J,X,!0,!0)}J.id=z;let Z=Q.join("-");this.mixedStyles[Z]={excelID:z,key:Z,result:J},this.excelStyles.push(J),this.stylesByIds[z]=J}isFormula(Q){if(Q==null)return!1;let z=String(Q);return this.config.autoConvertFormulas&&oJ(z)}isNumerical(Q){if(typeof Q==="bigint")return!1;return isFinite(Q)&&Q!==""&&!isNaN(parseFloat(Q))}getStyleById(Q){if(Q==null)return null;return this.stylesByIds[Q]||null}},AD={getTemplate(Q){let{name:z,ContentType:J,Extension:Z,PartName:$}=Q;return{name:z,properties:{rawMap:{Extension:Z,PartName:$,ContentType:J}}}}},jD=AD,K2=(Q)=>Q==="jpg"?"jpeg":Q,RD={getTemplate({sheetLen:Q,hasCustomProperties:z}){let J=Array(Q).fill(void 0).map((U,W)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",PartName:`/xl/worksheets/sheet${W+1}.xml`})),Z=fz.size,$=dQ.size,X={};T1.forEach((U)=>{X[K2(U.type)]=!0});let Y=Array(Z).fill(void 0).map((U,W)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.drawing+xml",PartName:`/xl/drawings/drawing${W+1}.xml`})),G=[];wQ.forEach(({name:U})=>{G.push({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",PartName:`/xl/tables/${U}.xml`})});let q=z?[{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.custom-properties+xml",PartName:"/docProps/custom.xml"}]:[],H=Object.keys(X).map((U)=>({name:"Default",ContentType:`image/${U}`,Extension:U}));if($)H.push({name:"Default",Extension:"vml",ContentType:"application/vnd.openxmlformats-officedocument.vmlDrawing"});let _=[...H,{name:"Default",Extension:"rels",ContentType:"application/vnd.openxmlformats-package.relationships+xml"},{name:"Default",ContentType:"application/xml",Extension:"xml"},{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",PartName:"/xl/workbook.xml"},...J,{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.theme+xml",PartName:"/xl/theme/theme1.xml"},{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",PartName:"/xl/styles.xml"},{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",PartName:"/xl/sharedStrings.xml"},...Y,...G,{name:"Override",ContentType:"application/vnd.openxmlformats-package.core-properties+xml",PartName:"/docProps/core.xml"},...q].map((U)=>jD.getTemplate(U));return{name:"Types",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"}},children:_}}},SD=RD,OD={getTemplate(Q){let J=new Date().toJSON();return{name:"cp:coreProperties",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{cp:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",xsi:"http://www.w3.org/2001/XMLSchema-instance"}}]},children:[{name:"dc:creator",textNode:Q},{name:"dc:title",textNode:"Workbook"},{name:"dcterms:created",properties:{rawMap:{"xsi:type":"dcterms:W3CDTF"}},textNode:J},{name:"dcterms:modified",properties:{rawMap:{"xsi:type":"dcterms:W3CDTF"}},textNode:J}]}}},PD=OD,TD="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",vD=(Q)=>{return Object.keys(Q).filter((J)=>J&&Q[J]!=null).map((J,Z)=>({name:"property",properties:{rawMap:{fmtid:TD,pid:(Z+2).toString(),name:W0(J)??""}},children:[{name:"vt:lpwstr",textNode:W0(G2(String(Q[J])))??""}]}))},ID={getTemplate(Q){return{name:"Properties",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties","xmlns:vt":"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"}},children:vD(Q)}}},CD=ID,IX=(Q,z)=>({name:`xdr:${Q}`,children:[{name:"xdr:col",textNode:z.col.toString()},{name:"xdr:colOff",textNode:z.offsetX.toString()},{name:"xdr:row",textNode:z.row.toString()},{name:"xdr:rowOff",textNode:z.offsetY.toString()}]}),bD=(Q)=>{let z=[{name:"a:ext",properties:{rawMap:{uri:"{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}"}},children:[{name:"a16:creationId",properties:{rawMap:{id:"{822E6D20-D7BC-2841-A643-D49A6EF008A2}","xmlns:a16":"http://schemas.microsoft.com/office/drawing/2014/main"}}}]}];switch(Q.recolor?.toLowerCase()){case"grayscale":case"sepia":case"washout":z.push({name:"a:ext",properties:{rawMap:{uri:"{C183D7F6-B498-43B3-948B-1728B52AA6E4}"}},children:[{name:"adec:decorative",properties:{rawMap:{val:"0","xmlns:adec":"http://schemas.microsoft.com/office/drawing/2017/decorative"}}}]})}return{name:"a:extLst",children:z}},yD=(Q,z)=>({name:"xdr:nvPicPr",children:[{name:"xdr:cNvPr",properties:{rawMap:{id:z,name:Q.id,descr:Q.altText!=null?Q.altText:void 0}},children:[bD(Q)]},{name:"xdr:cNvPicPr",properties:{rawMap:{preferRelativeResize:"0"}},children:[{name:"a:picLocks"}]}]}),CX=(Q)=>{if(!Q.saturation&&!Q.tint)return;let z=[];if(Q.saturation)z.push({name:"a:satMod",properties:{rawMap:{val:Q.saturation*1000}}});if(Q.tint)z.push({name:"a:tint",properties:{rawMap:{val:Q.tint*1000}}});return z},xD=(Q,z)=>{return{name:"a:duotone",children:[{name:"a:prstClr",properties:{rawMap:{val:Q.color}},children:CX(Q)},{name:"a:srgbClr",properties:{rawMap:{val:z.color}},children:CX(z)}]}},wD=(Q,z)=>{let J;if(Q.transparency){let Z=Math.min(Math.max(Q.transparency,0),100);J=[{name:"a:alphaModFix",properties:{rawMap:{amt:1e5-Math.round(Z*1000)}}}]}if(Q.recolor){if(!J)J=[];switch(Q.recolor.toLocaleLowerCase()){case"grayscale":J.push({name:"a:grayscl"});break;case"sepia":J.push(xD({color:"black"},{color:"D9C3A5",tint:50,saturation:180}));break;case"washout":J.push({name:"a:lum",properties:{rawMap:{bright:"70000",contrast:"-70000"}}});break;default:}}return{name:"xdr:blipFill",children:[{name:"a:blip",properties:{rawMap:{cstate:"print","r:embed":`rId${z}`,"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}},children:J},{name:"a:stretch",children:[{name:"a:fillRect"}]}]}},ND=(Q,z)=>{let J={name:"a:xfrm",children:[{name:"a:off",properties:{rawMap:{x:0,y:0}}},{name:"a:ext",properties:{rawMap:{cx:z.width,cy:z.height}}}]};if(Q.rotation){let X=Q.rotation;J.properties={rawMap:{rot:Math.min(Math.max(X,0),360)*60000}}}return{name:"xdr:spPr",children:[J,{name:"a:prstGeom",properties:{rawMap:{prst:"rect"}},children:[{name:"a:avLst"}]}]}},gD=(Q)=>{Q.fitCell=!!Q.fitCell||!Q.width||!Q.height;let{position:z={},fitCell:J,width:Z=0,height:$=0,totalHeight:X,totalWidth:Y}=Q,{offsetX:G=0,offsetY:q=0,row:H=1,rowSpan:_=1,column:U=1,colSpan:W=1}=z;return{from:{row:H-1,col:U-1,offsetX:R1(G),offsetY:R1(q)},to:{row:H-1+(J?1:_-1),col:U-1+(J?1:W-1),offsetX:R1(Z+G),offsetY:R1($+q)},height:R1(X||$),width:R1(Y||Z)}},hD=(Q,z,J,Z)=>{return{name:"xdr:pic",children:[yD(Q,z+1),wD(Q,J+1),ND(Q,Z)]}},uD={getTemplate(Q){let{sheetIndex:z}=Q,J=fz.get(z),Z=v1.get(z),$=J.map((X,Y)=>{let G=gD(X);return{name:"xdr:twoCellAnchor",properties:{rawMap:{editAs:"absolute"}},children:[IX("from",G.from),IX("to",G.to),hD(X,Y,Z.get(X.id).index,G),{name:"xdr:clientData"}]}});return{name:"xdr:wsDr",properties:{rawMap:{"xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main","xmlns:xdr":"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"}},children:$}}},mD=uD,cD={getTemplate(Q){let{Id:z,Type:J,Target:Z}=Q;return{name:"Relationship",properties:{rawMap:{Id:z,Type:J,Target:Z}}}}},pD=cD,iD={getTemplate(Q){let z=Q.map((J)=>pD.getTemplate(J));return{name:"Relationships",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"}},children:z}}},IJ=iD,nD={getTemplate(Q){return{name:"sst",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",count:Q.size,uniqueCount:Q.size}},children:VD(Q)}}},dD=nD,tD=(Q)=>{switch(Q){case 1:return"thin";case 2:return"medium";case 3:return"thick";default:return"hair"}},rD={None:"None",Dot:"Dotted",Dash:"Dashed",Double:"Double",DashDot:"DashDot",DashDotDot:"DashDotDot",SlantDashDot:"SlantDashDot",Continuous:"Continuous"},sD=["Dashed","DashDot","DashDotDot"],lD={None:"none",Solid:"solid",Gray50:"mediumGray",Gray75:"darkGray",Gray25:"lightGray",HorzStripe:"darkHorizontal",VertStripe:"darkVertical",ReverseDiagStripe:"darkDown",DiagStripe:"darkUp",DiagCross:"darkGrid",ThickDiagCross:"darkTrellis",ThinHorzStripe:"lightHorizontal",ThinVertStripe:"lightVertical",ThinReverseDiagStripe:"lightDown",ThinDiagStripe:"lightUp",ThinHorzCross:"lightGrid",ThinDiagCross:"lightTrellis",Gray125:"gray125",Gray0625:"gray0625"},aD={Automatic:"general",Left:"left",Center:"center",Right:"right",Fill:"fill",Justify:"justify",CenterAcrossSelection:"centerContinuous",Distributed:"distributed",JustifyDistributed:"justify"},oD={Automatic:void 0,Top:"top",Bottom:"bottom",Center:"center",Justify:"justify",Distributed:"distributed",JustifyDistributed:"justify"},eD=(Q)=>{if(!Q)return"none";return lD[Q]||Q},kz=(Q)=>{if(Q==null)return Q;if(Q.charAt(0)==="#")Q=Q.substring(1);return Q.length===6?"FF"+Q:Q},oZ=(Q,z)=>{if(!Q)return"thin";let J=tD(z);if(Q==="Continuous")return J;let Z=rD[Q];if(J==="medium"&&sD.some(($)=>$===Z))return`medium${Z}`;return`${Z.charAt(0).toLowerCase()}${Z.substring(1)}`},QM=(Q)=>{return aD[Q]||"general"},zM=(Q)=>{return oD[Q]||void 0},kJ=(Q)=>{return{name:"color",properties:{rawMap:{rgb:kz(Q||"#000000")}}}},JM={getTemplate(Q){let{left:z,right:J,top:Z,bottom:$,diagonal:X}=Q,Y=z?[kJ(z.color)]:void 0,G=J?[kJ(J.color)]:void 0,q=Z?[kJ(Z.color)]:void 0,H=$?[kJ($.color)]:void 0,_=X?[kJ(X.color)]:void 0;return{name:"border",children:[{name:"left",properties:{rawMap:{style:z?.style}},children:Y},{name:"right",properties:{rawMap:{style:J?.style}},children:G},{name:"top",properties:{rawMap:{style:Z?.style}},children:q},{name:"bottom",properties:{rawMap:{style:$?.style}},children:H},{name:"diagonal",properties:{rawMap:{style:X?.style}},children:_}]}}},ZM=JM,$M={getTemplate(Q){return{name:"borders",properties:{rawMap:{count:Q.length}},children:Q.map((z)=>ZM.getTemplate(z))}}},XM=$M,YM=(Q)=>{let J=["Context","LeftToRight","RightToLeft"].indexOf(Q);return Math.max(J,0)},GM={getTemplate(Q){let{horizontal:z,indent:J,readingOrder:Z,rotate:$,shrinkToFit:X,vertical:Y,wrapText:G}=Q;return{name:"alignment",properties:{rawMap:{horizontal:z&&QM(z),indent:J,readingOrder:Z&&YM(Z),textRotation:$,shrinkToFit:X,vertical:Y&&zM(Y),wrapText:G}}}}},qM=GM,HM={getTemplate(Q){let z=Q.protected===!1?0:1;return{name:"protection",properties:{rawMap:{hidden:Q.hideFormula===!0?1:0,locked:z}}}}},_M=HM,UM={getTemplate(Q){let{alignment:z,borderId:J,fillId:Z,fontId:$,numFmtId:X,protection:Y,quotePrefix:G,xfId:q}=Q,H=[];if(z)H.push(qM.getTemplate(z));if(Y)H.push(_M.getTemplate(Y));return{name:"xf",properties:{rawMap:{applyAlignment:z?1:void 0,applyProtection:Y?1:void 0,applyBorder:J?1:void 0,applyFill:Z?1:void 0,borderId:J,fillId:Z,applyFont:$?1:void 0,fontId:$,applyNumberFormat:X?1:void 0,numFmtId:X,quotePrefix:G?1:void 0,xfId:q}},children:H.length?H:void 0}}},BY=UM,WM={getTemplate(Q){return{name:"cellStyleXfs",properties:{rawMap:{count:Q.length}},children:Q.map((z)=>BY.getTemplate(z))}}},BM=WM,EM={getTemplate(Q){let{builtinId:z,name:J,xfId:Z}=Q;return{name:"cellStyle",properties:{rawMap:{builtinId:z,name:J,xfId:Z}}}}},KM=EM,LM={getTemplate(Q){return{name:"cellStyles",properties:{rawMap:{count:Q.length}},children:Q.map((z)=>KM.getTemplate(z))}}},FM=LM,DM={getTemplate(Q){return{name:"cellXfs",properties:{rawMap:{count:Q.length}},children:Q.map((z)=>BY.getTemplate(z))}}},MM=DM,kM={getTemplate(Q){let{patternType:z,fgTheme:J,fgTint:Z,fgRgb:$,bgRgb:X,bgIndexed:Y}=Q,G={name:"patternFill",properties:{rawMap:{patternType:z}}};if(J||Z||$)G.children=[{name:"fgColor",properties:{rawMap:{theme:J,tint:Z,rgb:$}}}];if(Y||X){if(!G.children)G.children=[];G.children.push({name:"bgColor",properties:{rawMap:{indexed:Y,rgb:X}}})}return{name:"fill",children:[G]}}},VM=kM,fM={getTemplate(Q){return{name:"fills",properties:{rawMap:{count:Q.length}},children:Q.map((z)=>VM.getTemplate(z))}}},AM=fM,jM={getTemplate(Q){let{size:z,colorTheme:J,color:Z="FF000000",fontName:$="Calibri",family:X,scheme:Y,italic:G,bold:q,strikeThrough:H,outline:_,shadow:U,underline:W,verticalAlign:B}=Q,E=[{name:"sz",properties:{rawMap:{val:z}}},{name:"color",properties:{rawMap:{theme:J,rgb:Z}}},{name:"name",properties:{rawMap:{val:$}}}];if(X)E.push({name:"family",properties:{rawMap:{val:X}}});if(Y)E.push({name:"scheme",properties:{rawMap:{val:Y}}});if(G)E.push({name:"i"});if(q)E.push({name:"b"});if(H)E.push({name:"strike"});if(_)E.push({name:"outline"});if(U)E.push({name:"shadow"});if(W)E.push({name:"u",properties:{rawMap:{val:W}}});if(B)E.push({name:"vertAlign",properties:{rawMap:{val:B}}});return{name:"font",children:E}}},RM=jM,SM={getTemplate(Q){return{name:"fonts",properties:{rawMap:{count:Q.length}},children:Q.map((z)=>RM.getTemplate(z))}}},OM=SM;function PM(Q){let z=Q.split(/(\[[^\]]*\])/);for(let J=0;J<z.length;J++){let Z=z[J];if(!Z.length)continue;if(!Z.startsWith("["))Z=Z.replace(/\$/g,'"$"');z[J]=W0(Z)}return z.join("")}var TM={getTemplate(Q){let{formatCode:z,numFmtId:J}=Q;if(z.length)z=PM(z);return{name:"numFmt",properties:{rawMap:{formatCode:z,numFmtId:J}}}}},vM=TM,IM={getTemplate(Q){return{name:"numFmts",properties:{rawMap:{count:Q.length}},children:Q.map((z)=>vM.getTemplate(z))}}},CM=IM,q2,S1,AJ,jJ,RJ,EY,H2,KY,l6,LY=(Q,z)=>{if(Q.includes("mixedStyle")&&z>1)Q+=`_${z}`;return Q},FY=()=>{q2={base:0},S1=[],AJ=[{fontName:"Calibri",colorTheme:"1",family:"2",scheme:"minor"}],jJ=[{patternType:"none"},{patternType:"gray125"}],RJ=[{left:void 0,right:void 0,top:void 0,bottom:void 0,diagonal:void 0}],EY=[{borderId:0,fillId:0,fontId:0,numFmtId:0}],H2=[{borderId:0,fillId:0,fontId:0,numFmtId:0,xfId:0}],KY=[{builtinId:0,name:"Normal",xfId:0}]},bM=(Q)=>{let z=eD(Q.pattern),J=kz(Q.color),Z=kz(Q.patternColor),$=jJ.findIndex((X)=>{let{patternType:Y,fgRgb:G,bgRgb:q}=X;return!(Y!=z||G!=J||q!=Z)});if($===-1)$=jJ.length,jJ.push({patternType:z,fgRgb:J,bgRgb:Z});return $},yM=(Q)=>{if(TX[Q])return TX[Q];let z=S1.findIndex((J)=>J.formatCode===Q);if(z===-1)z=S1.length+164,S1.push({formatCode:Q,numFmtId:z});else z=S1[z].numFmtId;return z},xM=(Q)=>{let{borderBottom:z,borderTop:J,borderLeft:Z,borderRight:$}=Q,X,Y,G,q,H,_,U,W;if(Z)G=oZ(Z.lineStyle,Z.weight),U=kz(Z.color);if($)q=oZ($.lineStyle,$.weight),W=kz($.color);if(z)X=oZ(z.lineStyle,z.weight),H=kz(z.color);if(J)Y=oZ(J.lineStyle,J.weight),_=kz(J.color);let B=RJ.findIndex((E)=>{let{left:K,right:L,top:F,bottom:D}=E;if(!K&&(G||U))return!1;if(!L&&(q||W))return!1;if(!F&&(Y||_))return!1;if(!D&&(X||H))return!1;let{style:M,color:k}=K||{},{style:f,color:A}=L||{},{style:O,color:v}=F||{},{style:I,color:C}=D||{};if(M!=G||k!=U)return!1;if(f!=q||A!=W)return!1;if(O!=Y||v!=_)return!1;if(I!=X||C!=H)return!1;return!0});if(B===-1)B=RJ.length,RJ.push({left:{style:G,color:U},right:{style:q,color:W},top:{style:Y,color:_},bottom:{style:X,color:H},diagonal:{style:void 0,color:void 0}});return B},wM=(Q)=>{let{fontName:z="Calibri",color:J,size:Z,bold:$,italic:X,outline:Y,shadow:G,strikeThrough:q,underline:H,family:_,verticalAlign:U}=Q,W=kz(J),B=FD(_),E=H?H.toLocaleLowerCase():void 0,K=U?U.toLocaleLowerCase():void 0,L=AJ.findIndex((F)=>{return!(F.fontName!=z||F.color!=W||F.size!=Z||F.bold!=$||F.italic!=X||F.outline!=Y||F.shadow!=G||F.strikeThrough!=q||F.underline!=E||F.verticalAlign!=K||F.family!=B)});if(L===-1)L=AJ.length,AJ.push({fontName:z,color:W,size:Z,bold:$,italic:X,outline:Y,shadow:G,strikeThrough:q,underline:E,verticalAlign:K,family:B!=null?B.toString():void 0});return L},NM=(Q)=>{let{alignment:z,borders:J,font:Z,interior:$,numberFormat:X,protection:Y,quotePrefix:G}=Q,{id:q}=Q,H=0,_=0,U=0,W=0;if(!q)return;if(q=LY(q,l6),q2[q]!=null)return;if($)H=bM($);if(J)_=xM(J);if(Z)U=wM(Z);if(X)W=yM(X.format);q2[q]=H2.length,H2.push({alignment:z,borderId:_||0,fillId:H||0,fontId:U||0,numFmtId:W||0,protection:Y,quotePrefix:G,xfId:0})},gM={getTemplate(Q){let z=CM.getTemplate(S1),J=OM.getTemplate(AJ.map((q)=>({...q,size:q.size!=null?q.size:Q}))),Z=AM.getTemplate(jJ),$=XM.getTemplate(RJ),X=BM.getTemplate(EY),Y=MM.getTemplate(H2),G=FM.getTemplate(KY);return FY(),{name:"styleSheet",properties:{rawMap:{"mc:Ignorable":"x14ac x16r2 xr",xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:x16r2":"http://schemas.microsoft.com/office/spreadsheetml/2015/02/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision"}},children:[z,J,Z,$,X,Y,G,{name:"tableStyles",properties:{rawMap:{count:0,defaultPivotStyle:"PivotStyleLight16",defaultTableStyle:"TableStyleMedium2"}}}]}}},hM=(Q,z)=>{return q2[LY(Q,z)]||0},uM=(Q,z)=>{if(l6=z,l6===1)FY();Q.forEach(NM)},mM=gM,cM={getTemplate(Q,z){let{name:J,columns:Z,rowRange:$,displayName:X,showRowStripes:Y,showColumnStripes:G,showFilterButtons:q,highlightFirstColumn:H,highlightLastColumn:_}=Q||{},U=!$||$[0]-$[1]===0;if(!Q||!J||!Array.isArray(Z)||!Z.length||U)return{name:"table"};let W=Z.map((D,M)=>({name:"filterColumn",properties:{rawMap:{colId:M.toString(),hiddenButton:q[M]?0:1}}})),B=`A${$[0]}`,E=`${az(Z.length)}${$[1]}`,K=`${B}:${E}`,L=`${z+1}`,F=z?`${X}_${L}`:X;return{name:"table",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"xr xr3","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3",name:F,displayName:F,ref:K,totalsRowShown:0,id:L}},children:[{name:"autoFilter",properties:{rawMap:{ref:K}},children:W},{name:"tableColumns",properties:{rawMap:{count:Z.length}},children:Z.map((D,M)=>({name:"tableColumn",properties:{rawMap:{id:(M+1).toString(),name:W0(kD(D)),dataCellStyle:"Normal"}}}))},{name:"tableStyleInfo",properties:{rawMap:{name:"TableStyleLight1",showFirstColumn:H?1:0,showLastColumn:_?1:0,showRowStripes:Y?1:0,showColumnStripes:G?1:0}}}]}}},pM=cM,HQ=(Q)=>{let[z,J,Z,$]=Q;return{name:`a:${z}`,children:[{name:`a:${J}`,properties:{rawMap:{val:Z,lastClr:$}}}]}},iM={getTemplate(){return{name:"a:clrScheme",properties:{rawMap:{name:"Office"}},children:[HQ(["dk1","sysClr","windowText","000000"]),HQ(["lt1","sysClr","window","FFFFFF"]),HQ(["dk2","srgbClr","44546A"]),HQ(["lt2","srgbClr","E7E6E6"]),HQ(["accent1","srgbClr","4472C4"]),HQ(["accent2","srgbClr","ED7D31"]),HQ(["accent3","srgbClr","A5A5A5"]),HQ(["accent4","srgbClr","FFC000"]),HQ(["accent5","srgbClr","5B9BD5"]),HQ(["accent6","srgbClr","70AD47"]),HQ(["hlink","srgbClr","0563C1"]),HQ(["folHlink","srgbClr","954F72"])]}}},nM=iM,P=(Q)=>{let[z,J,Z,$]=Q;return{name:`a:${z}`,properties:{rawMap:{script:Z,typeface:J,panose:$}}}},dM={getTemplate(){return{name:"a:fontScheme",properties:{rawMap:{name:"Office"}},children:[{name:"a:majorFont",children:[P(["latin","Calibri Light",void 0,"020F0302020204030204"]),P(["ea",""]),P(["cs",""]),P(["font","游ゴシック Light","Jpan"]),P(["font","맑은 고딕","Hang"]),P(["font","等线 Light","Hans"]),P(["font","新細明體","Hant"]),P(["font","Times New Roman","Arab"]),P(["font","Times New Roman","Hebr"]),P(["font","Tahoma","Thai"]),P(["font","Nyala","Ethi"]),P(["font","Vrinda","Beng"]),P(["font","Shruti","Gujr"]),P(["font","MoolBoran","Khmr"]),P(["font","Tunga","Knda"]),P(["font","Raavi","Guru"]),P(["font","Euphemia","Cans"]),P(["font","Plantagenet Cherokee","Cher"]),P(["font","Microsoft Yi Baiti","Yiii"]),P(["font","Microsoft Himalaya","Tibt"]),P(["font","MV Boli","Thaa"]),P(["font","Mangal","Deva"]),P(["font","Gautami","Telu"]),P(["font","Latha","Taml"]),P(["font","Estrangelo Edessa","Syrc"]),P(["font","Kalinga","Orya"]),P(["font","Kartika","Mlym"]),P(["font","DokChampa","Laoo"]),P(["font","Iskoola Pota","Sinh"]),P(["font","Mongolian Baiti","Mong"]),P(["font","Times New Roman","Viet"]),P(["font","Microsoft Uighur","Uigh"]),P(["font","Sylfaen","Geor"]),P(["font","Arial","Armn"]),P(["font","Leelawadee UI","Bugi"]),P(["font","Microsoft JhengHei","Bopo"]),P(["font","Javanese Text","Java"]),P(["font","Segoe UI","Lisu"]),P(["font","Myanmar Text","Mymr"]),P(["font","Ebrima","Nkoo"]),P(["font","Nirmala UI","Olck"]),P(["font","Ebrima","Osma"]),P(["font","Phagspa","Phag"]),P(["font","Estrangelo Edessa","Syrn"]),P(["font","Estrangelo Edessa","Syrj"]),P(["font","Estrangelo Edessa","Syre"]),P(["font","Nirmala UI","Sora"]),P(["font","Microsoft Tai Le","Tale"]),P(["font","Microsoft New Tai Lue","Talu"]),P(["font","Ebrima","Tfng"])]},{name:"a:minorFont",children:[P(["latin","Calibri",void 0,"020F0502020204030204"]),P(["ea",""]),P(["cs",""]),P(["font","游ゴシック","Jpan"]),P(["font","맑은 고딕","Hang"]),P(["font","等线","Hans"]),P(["font","新細明體","Hant"]),P(["font","Arial","Arab"]),P(["font","Arial","Hebr"]),P(["font","Tahoma","Thai"]),P(["font","Nyala","Ethi"]),P(["font","Vrinda","Beng"]),P(["font","Shruti","Gujr"]),P(["font","DaunPenh","Khmr"]),P(["font","Tunga","Knda"]),P(["font","Raavi","Guru"]),P(["font","Euphemia","Cans"]),P(["font","Plantagenet Cherokee","Cher"]),P(["font","Microsoft Yi Baiti","Yiii"]),P(["font","Microsoft Himalaya","Tibt"]),P(["font","MV Boli","Thaa"]),P(["font","Mangal","Deva"]),P(["font","Gautami","Telu"]),P(["font","Latha","Taml"]),P(["font","Estrangelo Edessa","Syrc"]),P(["font","Kalinga","Orya"]),P(["font","Kartika","Mlym"]),P(["font","DokChampa","Laoo"]),P(["font","Iskoola Pota","Sinh"]),P(["font","Mongolian Baiti","Mong"]),P(["font","Arial","Viet"]),P(["font","Microsoft Uighur","Uigh"]),P(["font","Sylfaen","Geor"]),P(["font","Arial","Armn"]),P(["font","Leelawadee UI","Bugi"]),P(["font","Microsoft JhengHei","Bopo"]),P(["font","Javanese Text","Java"]),P(["font","Segoe UI","Lisu"]),P(["font","Myanmar Text","Mymr"]),P(["font","Ebrima","Nkoo"]),P(["font","Nirmala UI","Olck"]),P(["font","Ebrima","Osma"]),P(["font","Phagspa","Phag"]),P(["font","Estrangelo Edessa","Syrn"]),P(["font","Estrangelo Edessa","Syrj"]),P(["font","Estrangelo Edessa","Syre"]),P(["font","Nirmala UI","Sora"]),P(["font","Microsoft Tai Le","Tale"]),P(["font","Microsoft New Tai Lue","Talu"]),P(["font","Ebrima","Tfng"])]}]}}},tM=dM,xQ=(Q,z,J)=>({name:`a:${Q}`,properties:{rawMap:{val:z}},children:J}),g6=(Q)=>{let[z,J,Z,$,X,Y]=Q,G=[];if(G.push(xQ("satMod",Z)),$)G.push(xQ("lumMod",$));if(X)G.push(xQ("tint",X));if(Y)G.push(xQ("shade",Y));return{name:"a:gs",properties:{rawMap:{pos:z}},children:[{name:"a:schemeClr",properties:{rawMap:{val:J}},children:G}]}},_2=(Q,z)=>({name:"a:solidFill",children:[xQ("schemeClr",Q,z)]}),a6=(Q)=>{let[z,J,Z,$,X]=Q,[Y,G]=X;return{name:"a:gradFill",properties:{rawMap:{rotWithShape:z}},children:[{name:"a:gsLst",children:[g6(J),g6(Z),g6($)]},{name:"a:lin",properties:{rawMap:{ang:Y,scaled:G}}}]}},h6=(Q)=>{let[z,J,Z,$]=Q;return{name:"a:ln",properties:{rawMap:{w:z,cap:J,cmpd:Z,algn:$}},children:[_2("phClr"),xQ("prstDash","solid"),{name:"a:miter",properties:{rawMap:{lim:"800000"}}}]}},u6=(Q)=>{let z=[];if(Q){let[J,Z,$,X,Y]=Q;z.push({name:"a:outerShdw",properties:{rawMap:{blurRad:J,dist:Z,dir:$,algn:X,rotWithShape:Y}},children:[xQ("srgbClr","000000",[xQ("alpha","63000")])]})}return{name:"a:effectStyle",children:[Object.assign({},{name:"a:effectLst"},z.length?{children:z}:{})]}},rM=()=>({name:"a:fillStyleLst",children:[_2("phClr"),a6(["1",["0","phClr","105000","110000","67000"],["50000","phClr","103000","105000","73000"],["100000","phClr","109000","105000","81000"],["5400000","0"]]),a6(["1",["0","phClr","103000","102000","94000"],["50000","phClr","110000","100000",void 0,"100000"],["100000","phClr","120000","99000",void 0,"78000"],["5400000","0"]])]}),sM=()=>({name:"a:lnStyleLst",children:[h6(["6350","flat","sng","ctr"]),h6(["12700","flat","sng","ctr"]),h6(["19050","flat","sng","ctr"])]}),lM=()=>({name:"a:effectStyleLst",children:[u6(),u6(),u6(["57150","19050","5400000","ctr","0"])]}),aM=()=>({name:"a:bgFillStyleLst",children:[_2("phClr"),_2("phClr",[xQ("tint","95000"),xQ("satMod","170000")]),a6(["1",["0","phClr","150000","102000","93000","98000"],["50000","phClr","130000","103000","98000","90000"],["100000","phClr","120000",void 0,void 0,"63000"],["5400000","0"]])]}),oM={getTemplate(){return{name:"a:fmtScheme",properties:{rawMap:{name:"Office"}},children:[rM(),sM(),lM(),aM()]}}},eM=oM,Qk={getTemplate(){return{name:"a:themeElements",children:[nM.getTemplate(),tM.getTemplate(),eM.getTemplate()]}}},zk=Qk,Jk={getTemplate(){return{name:"a:theme",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{a:"http://schemas.openxmlformats.org/drawingml/2006/main"}}],rawMap:{name:"Office Theme"}},children:[zk.getTemplate(),{name:"a:objectDefaults"},{name:"a:extraClrSchemeLst"}]}}},Zk=Jk,$k=()=>({name:"o:shapelayout",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}]},children:[{name:"o:idmap",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}],rawMap:{data:"1"}}}]}),Xk=()=>({name:"v:stroke",properties:{rawMap:{joinstyle:"miter"}}}),Yk=(Q)=>({name:"v:formulas",children:Q.map((z)=>({name:"v:f",properties:{rawMap:{eqn:z}}}))}),Gk=()=>({name:"v:path",properties:{prefixedAttributes:[{prefix:"o:",map:{connecttype:"rect",extrusionok:"f"}}],rawMap:{gradientshapeok:"t"}}}),DY=(Q)=>{let{aspectratio:z,rotation:J}=Q||{},Z={};if(z)Z.aspectratio="t";if(J)Z.rotation="t";return{name:"o:lock",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}],rawMap:Z}}};function qk(Q,z,J,Z,$){return(Q-z)/(J-z)*($-Z)+Z}var Hk=(Q,z)=>{let J,{recolor:Z,brightness:$,contrast:X,id:Y}=Q;if(Z){if(J={},Z==="Washout"||Z==="Grayscale")J.gain="19661f",J.blacklevel="22938f";if(Z==="Black & White"||Z==="Grayscale"){if(J.grayscale="t",Z==="Black & White")J.bilevel="t"}}if(!Z||Z==="Grayscale"){if(!J)J={};if(X!=null&&X!==50){let G="1";if(X>=0){if(X<50)G=String(X/50);else if(X<100)G=String(50/(100-X));else if(X===100)G="2147483647f"}J.gain=G}if($!=null&&$!==50)J.blacklevel=qk($,0,100,-0.5,0.5).toString()}return{name:"v:imagedata",properties:{prefixedAttributes:[{prefix:"o:",map:{relid:`rId${z}`,title:Y}}],rawMap:J}}},_k=()=>{let Q=["if lineDrawn pixelLineWidth 0","sum @0 1 0","sum 0 0 @1","prod @2 1 2","prod @3 21600 pixelWidth","prod @3 21600 pixelHeight","sum @0 0 1","prod @6 1 2","prod @7 21600 pixelWidth","sum @8 21600 0","prod @7 21600 pixelHeight","sum @10 21600 0"];return{name:"v:shapetype",properties:{prefixedAttributes:[{prefix:"o:",map:{spt:"75",preferrelative:"t"}}],rawMap:{coordsize:"21600,21600",filled:"f",id:"_x0000_t75",path:"m@4@5l@4@11@9@11@9@5xe",stroked:"f"}},children:[Xk(),Yk(Q),Gk(),DY({aspectratio:!0})]}},bX=(Q)=>Math.floor((Q??0)*0.74999943307122),Uk=(Q,z)=>{let{width:J=0,height:Z=0,altText:$}=Q,X=bX(J),Y=bX(Z);return{name:"v:shape",properties:{rawMap:{id:Q.headerFooterPosition,"o:spid":"_x0000_s1025",style:`position: absolute; margin-left: 0; margin-top: 10in; margin-bottom: 0; margin-right: 0; width: ${X}pt; height: ${Y}pt; z-index: ${z+1}`,type:"#_x0000_t75",alt:$}},children:[Hk(Q,z+1),DY({rotation:!0})]}},Wk={getTemplate(Q){let z=dQ.get(Q.sheetIndex)||[],J=[$k(),_k(),...z.map((Z,$)=>Uk(Z,$))];return{name:"xml",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{v:"urn:schemas-microsoft-com:vml",o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel"}}]},children:J}}},Bk=Wk,Ek={getTemplate(Q,z){let J=(z+1).toString();return{name:"sheet",properties:{rawMap:{name:Q,sheetId:J,"r:id":`rId${J}`}}}}},Kk=Ek,Lk={getTemplate(Q){return{name:"sheets",children:Q.map((z,J)=>Kk.getTemplate(z,J))}}},Fk=Lk,Dk={getTemplate(Q,z){return{name:"workbook",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}}],rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main"}},children:[{name:"bookViews",children:[{name:"workbookView",properties:{rawMap:{activeTab:z}}}]},Fk.getTemplate(Q)]}}},Mk=Dk,kk=(Q)=>Math.ceil((Q-12)/7+1),Vk={getTemplate(Q){let{min:z,max:J,outlineLevel:Z,s:$,width:X,hidden:Y,bestFit:G}=Q,q=1,H="0";if(X>1)q=kk(X),H="1";return{name:"col",properties:{rawMap:{min:z,max:J,outlineLevel:Z!=null?Z:void 0,width:q,style:$,hidden:Y?"1":"0",bestFit:G?"1":"0",customWidth:H}}}}},fk=Vk,Ak={getTemplate(Q){return{name:"mergeCell",properties:{rawMap:{ref:Q}}}}},jk=Ak,Rk=(Q)=>{let z=Q.charAt(0).toLowerCase();return z==="s"?"inlineStr":z},Sk={getTemplate(Q,z,J){let{ref:Z,data:$,styleId:X}=Q,{type:Y,value:G}=$||{type:"empty",value:null},q=Y;if(Y==="f")q="str";else if(Y.charAt(0)===Y.charAt(0).toUpperCase())q=Rk(Y);let H={name:"c",properties:{rawMap:{r:Z,t:q==="empty"?void 0:q,s:X?hM(X,J):void 0}}};if(q==="empty")return H;let _;if(q==="str"&&Y==="f")_=[{name:"f",textNode:W0(G2(G))}];else if(q==="inlineStr")_=[{name:"is",children:[{name:"t",textNode:W0(G2(G))}]}];else _=[{name:"v",textNode:G}];return Object.assign({},H,{children:_})}},Ok=Sk,Pk=(Q,z)=>{let J=[],Z=0;for(let $=0;$<Q.length;$++){let X=Q[$];if(X.mergeAcross)J.push({pos:$,excelPos:Z}),Z+=X.mergeAcross;Z++}if(J.length)for(let $=J.length-1;$>=0;$--){let X=[],Y=Q[J[$].pos];for(let G=1;G<=Y.mergeAcross;G++)X.push({ref:`${az(J[$].excelPos+1+G)}${z+1}`,styleId:Y.styleId,data:{type:"empty",value:null}});if(X.length)Q.splice(J[$].pos+1,0,...X)}},Tk=(Q)=>Q.data?.value!==""||Q.styleId!==void 0,vk={getTemplate(Q,z,J){let{collapsed:Z,hidden:$,height:X,outlineLevel:Y,cells:G=[]}=Q;Pk(G,z);let q=G.filter(Tk).map((H,_)=>Ok.getTemplate(H,_,J));return{name:"row",properties:{rawMap:{r:z+1,collapsed:Z?"1":"0",hidden:$?"1":"0",ht:X,customHeight:X!=null?"1":"0",spans:"1:1",outlineLevel:Y||void 0}},children:q}}},Ik=vk,Ck=(Q,z,J)=>{let Z=[],$=[];Q.forEach((G,q)=>{let H=G.cells,_=0,U;H.forEach((W,B)=>{let E=B+_+1,K=az(E),L=q+1;if(W.mergeAcross){_+=W.mergeAcross;let D=az(B+_+1);Z.push(`${K}${L}:${D}${L}`)}if(!z[E-1])z[E-1]={};let{collapsibleRanges:F}=W;if(F)F.forEach((D)=>{$.push([E+D[0],E+D[1]])});U=z[E-1],U.min=E,U.max=E,W.ref=`${K}${L}`})}),$.sort((G,q)=>{if(G[0]!==q[0])return G[0]-q[0];return q[1]-G[1]});let X=new Map,Y=new Map;return $.filter((G)=>{let q=G.toString();if(X.get(q))return!1;return X.set(q,!0),!0}).forEach((G)=>{let q=z.find((_)=>_.min==G[0]&&_.max==G[1]),H=Y.get(G[0]);z.push({min:G[0],max:G[1],outlineLevel:J?void 0:H||1,width:(q||{width:100}).width}),Y.set(G[0],(H||0)+1)}),Z},bk=(Q)=>{if(!Q||Q!=="Portrait"&&Q!=="Landscape")return"portrait";return Q.toLocaleLowerCase()},yk=(Q)=>{if(Q==null)return 1;let J=["Letter","Letter Small","Tabloid","Ledger","Legal","Statement","Executive","A3","A4","A4 Small","A5","A6","B4","B5","Folio","Envelope","Envelope DL","Envelope C5","Envelope B5","Envelope C3","Envelope C4","Envelope C6","Envelope Monarch","Japanese Postcard","Japanese Double Postcard"].indexOf(Q);return J===-1?1:J+1},xk=(Q)=>{let z={"&[Page]":"&P","&[Pages]":"&N","&[Date]":"&D","&[Time]":"&T","&[Tab]":"&A","&[Path]":"&Z","&[File]":"&F","&[Picture]":"&G"};for(let J of Object.keys(z))Q=Q.replace(J,z[J]);return Q},wk=(Q)=>{if(Q==="Center")return"C";if(Q==="Right")return"R";return"L"},Nk=(Q,z)=>{if(!z)return Q;if(Q+="&amp;&quot;",Q+=z.fontName||"Calibri",z.bold!==z.italic)Q+=z.bold?",Bold":",Italic";else if(z.bold)Q+=",Bold Italic";else Q+=",Regular";if(Q+="&quot;",z.size)Q+=`&amp;${z.size}`;if(z.strikeThrough)Q+="&amp;S";if(z.underline)Q+=`&amp;${z.underline==="Double"?"E":"U"}`;if(z.color)Q+=`&amp;K${z.color.replace("#","").toUpperCase()}`;return Q},gk=(Q,z,J)=>Q.reduce((Z,$,X)=>{let Y=wk($.position),G=Nk(`${Z}&amp;${Y}`,$.font),q=["Left","Center","Right"];if(!$.position)$.position=q[X];let{image:H}=$;if($.value==="&[Picture]"&&H){let _=`${Y}${z}${J}`;MY(H,_)}return`${G}${W0(xk($.value))}`},""),hk=(Q)=>{let z=["all","first","even"],J=[];return z.forEach((Z)=>{let $=Q[Z],X=Z==="all"?"odd":Z;if(!$)return;for(let Y of Object.keys($)){let G=$[Y],q=`${Y.charAt(0).toUpperCase()}${Y.slice(1)}`,H=Y[0].toUpperCase();if(G){let _=Z==="all"?"":Z.toUpperCase();J.push({name:`${X}${q}`,properties:{rawMap:{"xml:space":"preserve"}},textNode:gk(G,H,_)})}}}),J},uk=(Q)=>{return(z)=>{if(Q.length)z.children.push({name:"cols",children:Q.map((J)=>fk.getTemplate(J))});return z}},mk=(Q,z)=>{return(J)=>{if(Q.length)J.children.push({name:"sheetData",children:Q.map((Z,$)=>Ik.getTemplate(Z,$,z))});return J}},ck=(Q)=>{let z=Q.length;if(!z)return"";let J=Array(z+1);J[0]=z;for(let $=1;$<=z;$++)J[$]=Q.charCodeAt($-1)&255;let Z=0;for(let $=J.length-1;$>=0;$--){let X=J[$],Y=(Z&16384)===0?0:1,G=Z<<1&32767;Z=(Y|G)^X}return(Z^52811).toString(16).toUpperCase().padStart(4,"0")},pk=(Q)=>{return(z)=>{if(!Q)return z;let J=typeof Q==="boolean"?{}:Q,Z={sheet:1},$=J.password?ck(J.password):"";if($)Z.password=$;let X={autoFilter:!1,deleteColumns:!1,deleteRows:!1,formatCells:!1,formatColumns:!1,formatRows:!1,insertColumns:!1,insertHyperlinks:!1,insertRows:!1,pivotTables:!1,selectLockedCells:!0,selectUnlockedCells:!0};return Object.keys(X).forEach((Y)=>{let G=J[Y];if(G==null||G===X[Y])return;Z[Y]=G?0:1}),z.children.push({name:"sheetProtection",properties:{rawMap:Z}}),z}},ik=(Q)=>{return(z)=>{if(Q.length)z.children.push({name:"mergeCells",properties:{rawMap:{count:Q.length}},children:Q.map((J)=>jk.getTemplate(J))});return z}},nk=(Q)=>{return(z)=>{let{top:J=0.75,right:Z=0.7,bottom:$=0.75,left:X=0.7,header:Y=0.3,footer:G=0.3}=Q;return z.children.push({name:"pageMargins",properties:{rawMap:{bottom:$,footer:G,header:Y,left:X,right:Z,top:J}}}),z}},dk=(Q)=>{return(z)=>{if(Q)z.children.push({name:"pageSetup",properties:{rawMap:{horizontalDpi:0,verticalDpi:0,orientation:bk(Q.orientation),paperSize:yk(Q.pageSize)}}});return z}},tk=(Q)=>{return(z)=>{if(!Q)return z;let J=Q.first!=null?1:0,Z=Q.even!=null?1:0;return z.children.push({name:"headerFooter",properties:{rawMap:{differentFirst:J,differentOddEven:Z}},children:hk(Q)}),z}},rk=(Q)=>{return(z)=>{if(Q)z.children.push({name:"tableParts",properties:{rawMap:{count:"1"}},children:[{name:"tablePart",properties:{rawMap:{"r:id":`rId${++z.rIdCounter}`}}}]});return z}},sk=(Q)=>{return(z)=>{if(fz.get(Q)?.length)z.children.push({name:"drawing",properties:{rawMap:{"r:id":`rId${++z.rIdCounter}`}}});return z}},lk=(Q)=>{return(z)=>{if(dQ.get(Q))z.children.push({name:"legacyDrawingHF",properties:{rawMap:{"r:id":`rId${++z.rIdCounter}`}}});return z}},ak=(Q=0,z=0)=>{let J=Q>0||z>0;return J?[{name:"pane",properties:{rawMap:{state:J?"frozen":void 0,topLeftCell:J?`${az(Q+1)}${z+1}`:void 0,xSplit:Q===0?void 0:Q,ySplit:z===0?void 0:z}}}]:void 0},ok=(Q=!1,z,J)=>{return(Z)=>{return Z.children.push({name:"sheetViews",children:[{name:"sheetView",properties:{rawMap:{rightToLeft:Q===!0?"1":"0",workbookViewId:"0"}},children:ak(z,J)}]}),Z}},ek=()=>{return(Q)=>{return Q.children.push({name:"sheetPr",children:[{name:"outlinePr",properties:{rawMap:{summaryBelow:0}}}]}),Q}},QV=(Q)=>{return(z)=>{let J=Q.reduce((Z,$)=>{if($.outlineLevel&&$.outlineLevel>Z)return $.outlineLevel;return Z},0);return z.children.push({name:"sheetFormatPr",properties:{rawMap:{baseColWidth:10,defaultRowHeight:16,outlineLevelRow:J?J:void 0}}}),z}},zV={getTemplate(Q){let{worksheet:z,currentSheet:J,config:Z}=Q,{margins:$={},pageSetup:X,headerFooterConfig:Y,suppressColumnOutline:G,rightToLeft:q,frozenRowCount:H,frozenColumnCount:_,protectSheet:U}=Z,{table:W}=z,{rows:B,columns:E}=W,K=E?.length?Ck(B,E,!!G):[],L=wQ.get(J),{children:F}=[ek(),ok(q,_,H),QV(B),uk(E),mk(B,J+1),pk(U),ik(K),nk($),dk(X),tk(Y),sk(J),lk(J),rk(L)].reduce((D,M)=>M(D),{children:[],rIdCounter:0});return{name:"worksheet",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}}],rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main"}},children:F}}},JV=zV,rz=new Map,d0=[],sz=[],lz=new Map,Vz=new Map,fz=new Map,dQ=new Map,T1=new Map,v1=new Map,wQ=new Map,ZV="AG-GRID-TABLE",J7="SINGLE_SHEET";function $V(){return J7}function XV(Q){J7=Q}function YV(Q,z,J){UV(z),uM(Q,d0.length);let Z=Object.assign({},J);if(J.exportAsExcelTable&&J.pivotModeActive)R(163,{featureName:"pivot mode"}),Z.exportAsExcelTable=!1;HV(z,Z);let $=TV(z,Z);return vV($),$}function GV(Q){return Q.replace(/^[^a-zA-Z_]+/,"_").replace(/\s/g,"_").replace(/[^a-zA-Z0-9_]/g,"_")}function qV(Q,z){if(wQ.has(Q)){R(164);return}wQ.set(Q,z)}function HV(Q,z){let{exportAsExcelTable:J,prependContent:Z,appendContent:$,headerRowCount:X=0}=z;if(!J)return;let Y=typeof J==="boolean"?{}:J,{name:G,showColumnStripes:q,showRowStripes:H,showFilterButton:_,highlightFirstColumn:U,highlightLastColumn:W}=Y,B=GV(G||ZV),E=d0.length-1,{table:K}=Q,{rows:L,columns:F}=K,D=Z?Z.length:0,M=$?$.length:0,k=L.length,f=F.length,A=[],O=[];for(let v=0;v<f;v++){let I=F[v];A.push(I.displayName||""),O.push(_==="match"||_===void 0?I.filterAllowed??!1:_)}if(!A?.length||!k||!B){R(165);return}qV(E,{name:`table${wQ.size+1}`,displayName:B,columns:A,showFilterButtons:O,rowRange:[X+D,X+(k-X)-M],showRowStripes:H??!0,showColumnStripes:q??!1,highlightFirstColumn:U??!1,highlightLastColumn:W??!1})}function MY(Q,z){let J=d0.length-1,Z=Q;Z.headerFooterPosition=z,kY({imageToAdd:Z,idx:J});let $=dQ.get(J);if(!$)$=[],dQ.set(J,$);if(!$.find((X)=>X.id===Q.id))$.push(Q)}function _V(Q,z,J,Z,$){let X=d0.length,{row:Y,column:G}=Q.position||{},q=Q;if(Z){if(z!=null&&J!=null&&(!Y||!G)){if(!Q.position)Q.position={};Q.position=Object.assign({},Q.position,{row:z,column:Z.indexOf(J)+1})}DD(q,Z),MD(q,$)}kY({imageToAdd:q,idx:X});let H=v1.get(X);if(!H)H=new Map,v1.set(X,H);let _=fz.get(X);if(!_)fz.set(X,[q]);else _.push(q);if(!H.get(Q.id))H.set(Q.id,{index:H.size,type:Q.imageType})}function kY(Q){let{imageToAdd:z,idx:J}=Q,Z=Vz.get(z.id);if(Z){let $=Z.find((X)=>X.sheetId===J);if($)$.image.push(z);else Z.push({sheetId:J,image:[z]})}else Vz.set(z.id,[{sheetId:J,image:[z]}]),T1.set(z.id,{type:z.imageType,index:T1.size})}function UV(Q){let z=W0(Q.name)||"",J="";while(d0.indexOf(`${z}${J}`)!==-1)if(J==="")J="_1";else J=`_${parseInt(J.slice(1),10)+1}`;Q.name=`${z}${J}`,d0.push(Q.name)}function WV(Q){if(rz.has(Q))return rz.get(Q);return rz.set(Q,rz.size),rz.size-1}function BV(){rz.clear(),Vz.clear(),fz.clear(),dQ.clear(),T1.clear(),v1.clear(),wQ.clear(),d0=[],sz=[],lz=new Map,J7="SINGLE_SHEET"}function EV(Q){return y0(Mk.getTemplate(d0,Q))}function KV(Q){return y0(mM.getTemplate(Q))}function LV(){return y0(dD.getTemplate(rz))}function FV(Q){return y0(PD.getTemplate(Q))}function DV(Q){return y0(CD.getTemplate(Q))}function MV(Q,z){return y0(SD.getTemplate({sheetLen:Q,hasCustomProperties:z}))}function kV(Q){let z=[{Id:"rId1",Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",Target:"xl/workbook.xml"},{Id:"rId2",Type:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",Target:"docProps/core.xml"}];if(Q)z.push({Id:"rId3",Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",Target:"docProps/custom.xml"});let J=IJ.getTemplate(z);return y0(J)}function VV(){return y0(Zk.getTemplate())}function fV(Q,z){return y0(pM.getTemplate(Q,z))}function AV(Q){let z=Array(Q).fill(void 0).map((Z,$)=>({Id:`rId${$+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",Target:`worksheets/sheet${$+1}.xml`})),J=IJ.getTemplate([...z,{Id:`rId${Q+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",Target:"theme/theme1.xml"},{Id:`rId${Q+2}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",Target:"styles.xml"},{Id:`rId${Q+3}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",Target:"sharedStrings.xml"}]);return y0(J)}function jV(Q){return y0(mD.getTemplate({sheetIndex:Q}))}function RV(Q){let z=v1.get(Q)||[],J=[];for(let[Z,$]of z){let{index:X,type:Y}=$;J.push({Id:`rId${X+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",Target:`../media/image${T1.get(Z).index+1}.${K2(Y)}`})}return y0(IJ.getTemplate(J))}function SV(Q){return y0(Bk.getTemplate({sheetIndex:Q}),!0)}function OV(Q){let z=dQ.get(Q)||[],J=[];for(let Z=0;Z<z.length;Z++){let $=z[Z],X=T1.get($.id);if(!X)continue;let{index:Y,type:G}=X;J.push({Id:`rId${Z+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",Target:`../media/image${Y+1}.${K2(G)}`})}return y0(IJ.getTemplate(J))}function PV({drawingIndex:Q,vmlDrawingIndex:z,tableName:J}={}){if(Q===void 0&&z===void 0&&J===void 0)return"";let Z=[];if(Q!=null)Z.push({Id:`rId${Z.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",Target:`../drawings/drawing${Q+1}.xml`});if(z!=null)Z.push({Id:`rId${Z.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",Target:`../drawings/vmlDrawing${z+1}.vml`});if(J!=null)Z.push({Id:`rId${Z.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",Target:`../tables/${J}.xml`});let $=IJ.getTemplate(Z);return y0($)}function TV(Q,z){return y0(JV.getTemplate({worksheet:Q,currentSheet:d0.length-1,config:z}))}var eZ=(Q,z)=>{if(!Q.size)return;let J=new Map;z.forEach((Z,$)=>{if(Q.has(Z))J.set($,Q.get(Z))}),Q.clear(),J.forEach((Z,$)=>Q.set($,Z))},vV=(Q)=>{let z=lz.get(Q)??[];z.push(d0.length-1),lz.set(Q,z),sz.push(Q)},IV=(Q)=>{let z=new Map(lz),J=[];for(let Z of Q){let $=z.get(Z);if(!$?.length)return null;let X=$.shift();J.push(X),z.set(Z,$)}return J},CV=(Q)=>{if(!Q.length||sz.length===0)return null;let z=new Set,J=[];for(let Z of Q){let $=sz.findIndex((X,Y)=>!z.has(Y)&&X===Z);if($===-1)return null;z.add($),J.push($)}return J},bV=(Q)=>{let z=new Map;Q.forEach((J,Z)=>z.set(J,Z)),d0=Q.map((J)=>d0[J]),sz=Q.map((J)=>sz[J]),eZ(fz,Q),eZ(dQ,Q),eZ(wQ,Q),eZ(v1,Q),Vz.forEach((J)=>{J.forEach((Z)=>{let $=z.get(Z.sheetId);if($!=null)Z.sheetId=$})}),lz=new Map,sz.forEach((J,Z)=>{let $=lz.get(J)??[];$.push(Z),lz.set(J,$)})},yV=(Q)=>{if(Q.length<=1)return;let z=IV(Q)??CV(Q);if(!z)return;bV(z)},Z7=class{getStringPosition(Q){return WV(Q)}addBodyImageToMap(Q,z,J,Z,$){_V(Q,z,J,Z,$)}addHeaderFooterImageToMap(Q,z){MY(Q,z)}addWorksheet(Q,z,J){return YV(Q,z,J)}syncOrderWithSheetData(Q){yV(Q)}reset(){BV()}setFactoryMode(Q){XV(Q)}getFactoryMode(){return $V()}getSheetNames(){return[...d0]}},xV=async(Q)=>{let z=0,J=[],Z=new WritableStream({write:(Y)=>{J.push(Y),z+=Y.length}}),$=new ReadableStream({start:(Y)=>{let G=new FileReader;G.onload=(q)=>{if(q.target?.result)Y.enqueue(q.target.result);Y.close()},G.readAsArrayBuffer(Q)}}),X=new window.CompressionStream("deflate-raw");return await $.pipeThrough(X).pipeTo(Z),{size:z,content:new Blob(J)}},wV=async(Q)=>{let z=new Blob([Q]),{size:J,content:Z}=await xV(z),$=new Uint8Array(await Z.arrayBuffer());return{size:J,content:$}},NV=(Q)=>{let z=Q.getHours();return z<<=6,z=z|Q.getMinutes(),z<<=5,z=z|Q.getSeconds()/2,z},gV=(Q)=>{let z=Q.getFullYear()-1980;return z<<=4,z=z|Q.getMonth()+1,z<<=5,z=z|Q.getDate(),z};function b0(Q,z){let J="";for(let Z=0;Z<z;Z++)J+=String.fromCharCode(Q&255),Q>>>=8;return J}var yX=(Q)=>{if(!Q.length)return 0;let z=-1,J=0,Z=0,$=0;for(let X=0;X<Q.length;X++)J=Q[X],Z=(z^J)&255,$=hV[Z],z=z>>>8^$;return z^-1},xX=(Q)=>{if(!Q.length)return 0;if(typeof Q==="string")return yX(new TextEncoder().encode(Q));return yX(Q)},hV=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918000,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function uV(Q){let z=String.fromCharCode;function J(U){let W=[];if(!U)return[];let B=U.length,E=0,K,L;while(E<B)if(K=U.charCodeAt(E++),K>=55296&&K<=56319&&E<B)if(L=U.charCodeAt(E++),(L&64512)==56320)W.push(((K&1023)<<10)+(L&1023)+65536);else W.push(K),E--;else W.push(K);return W}function Z(U){if(U>=55296&&U<=57343)throw Error(QQ(255,{point:U}))}function $(U,W){return z(U>>W&63|128)}function X(U){if((U&4294967168)==0)return z(U);let W="";if((U&4294965248)==0)W=z(U>>6&31|192);else if((U&4294901760)==0)Z(U),W=z(U>>12&15|224),W+=$(U,6);else if((U&4292870144)==0)W=z(U>>18&7|240),W+=$(U,12),W+=$(U,6);return W+=z(U&63|128),W}let Y=J(Q),G=Y.length,q=-1,H,_="";while(++q<G)H=Y[q],_+=X(H);return _}var VY=(Q,z,J,Z,$,X)=>{let{content:Y,path:G,created:q}=Q,H=NV(q),_=gV(q),U=xX($),W=X!==void 0?X:Z,B=uV(G),E=B!==G,K="";if(E){let M=b0(1,1)+b0(xX(B),4)+B;K="up"+b0(M.length,2)+M}let L="\x14\x00"+(E?"\x00\b":"\x00\x00")+b0(z?8:0,2)+b0(H,2)+b0(_,2)+b0(W?U:0,4)+b0(X??Z,4)+b0(Z,4)+b0(B.length,2)+b0(K.length,2),F="PK\x03\x04"+L+B+K,D="PK\x01\x02\x14\x00"+L+"\x00\x00\x00\x00\x00\x00"+(Y?"\x00\x00\x00\x00":"\x10\x00\x00\x00")+b0(J,4)+B+K;return{localFileHeader:Uint8Array.from(F,(M)=>M.charCodeAt(0)),centralDirectoryHeader:Uint8Array.from(D,(M)=>M.charCodeAt(0))}},fY=(Q)=>{let z;if(typeof Q==="string"){let J=atob(Q.split(";base64,")[1]);z=Uint8Array.from(J,(Z)=>Z.charCodeAt(0))}else z=Q;return{size:z.length,content:z}},mV=async(Q)=>{let{content:z}=Q,{size:J,content:Z}=!z?{size:0,content:Uint8Array.from([])}:fY(z),$,X,Y=!1;if(Q.type==="file"&&Z&&J>0){let q=await wV(Z);$=q.content,X=q.size,Y=!0}return{rawContent:Z,rawSize:J,deflatedContent:$,deflatedSize:X,isCompressed:Y}},cV=(Q,z)=>{let{content:J}=Q,{content:Z}=!J?{content:Uint8Array.from([])}:fY(J);return{...VY(Q,!1,z,Z.length,Z,void 0),content:Z,isCompressed:!1}},pV=(Q,z,J)=>{let Z="PK\x05\x06\x00\x00\x00\x00"+b0(Q,2)+b0(Q,2)+b0(z,4)+b0(J,4)+"\x00\x00";return Uint8Array.from(Z,($)=>$.charCodeAt(0))},AY=class{constructor(){this.folders=[],this.files=[]}addFolders(Q){Q.forEach(this.addFolder.bind(this))}addFolder(Q){this.folders.push({path:Q,created:new Date,isBase64:!1,type:"folder"})}addFile(Q,z,J=!1){this.files.push({path:Q,created:new Date,content:J?z:new TextEncoder().encode(z),isBase64:J,type:"file"})}async getZipFile(Q="application/zip"){let z=await this.buildCompressedFileStream();return this.clearStream(),new Blob([z],{type:Q})}getUncompressedZipFile(Q="application/zip"){let z=this.buildFileStream();return this.clearStream(),new Blob([z],{type:Q})}clearStream(){this.folders=[],this.files=[]}packageFiles(Q){let z=0,J=0;for(let H of Q){let{localFileHeader:_,centralDirectoryHeader:U,content:W}=H;z+=_.length+W.length,J+=U.length}let Z=new Uint8Array(z),$=new Uint8Array(J),X=0,Y=0;for(let H of Q){let{localFileHeader:_,centralDirectoryHeader:U,content:W}=H;Z.set(_,X),X+=_.length,Z.set(W,X),X+=W.length,$.set(U,Y),Y+=U.length}let G=pV(Q.length,J,z),q=new Uint8Array(Z.length+$.length+G.length);return q.set(Z),q.set($,Z.length),q.set(G,Z.length+$.length),q}async buildCompressedFileStream(){let Q=[...this.folders,...this.files],z=await Promise.all(Q.map(mV)),J=[],Z=0;for(let $=0;$<Q.length;$++){let X=Q[$],{rawContent:Y,rawSize:G,deflatedContent:q,deflatedSize:H,isCompressed:_}=z[$],U=VY(X,_,Z,G,Y,H),W=q??Y;J.push({...U,content:W,isCompressed:_}),Z+=U.localFileHeader.length+W.length}return this.packageFiles(J)}buildFileStream(){let Q=[...this.folders,...this.files],z=[],J=0;for(let Z of Q){let $=cV(Z,J),{localFileHeader:X,content:Y}=$;z.push($),J+=X.length+Y.length}return this.packageFiles(z)}},iV=(Q)=>{if(Q.addFolders(["_rels/","docProps/","xl/","xl/theme/","xl/_rels/","xl/worksheets/"]),!Vz.size)return;Q.addFolders(["xl/worksheets/_rels","xl/drawings/","xl/drawings/_rels","xl/media/"]);let z=0;Vz.forEach((J)=>{let Z=J[0].image[0],{base64:$,imageType:X}=Z;Q.addFile(`xl/media/image${++z}.${K2(X)}`,$,!0)})},nV=(Q,z)=>{let J=0,Z=0;for(let $=0;$<z.length;$++){let X=z[$];Q.addFile(`xl/worksheets/sheet${$+1}.xml`,X,!1);let Y=Vz.size>0&&fz.has($),G=wQ.size>0&&wQ.get($),q=Vz.size&&dQ.has($);if(!Y&&!G&&!q)continue;let H,_,U;if(Y)dV(Q,$,J),_=J,J++;if(q)tV(Q,$,Z),U=Z,Z++;if(G)H=G.name;let W=`xl/worksheets/_rels/sheet${$+1}.xml.rels`;Q.addFile(W,PV({tableName:H,drawingIndex:_,vmlDrawingIndex:U}))}},dV=(Q,z,J)=>{let $=`xl/drawings/drawing${J+1}.xml`,X=`xl/drawings/_rels/drawing${J+1}.xml.rels`;Q.addFile(X,RV(z)),Q.addFile($,jV(z))},tV=(Q,z,J)=>{let $=`xl/drawings/vmlDrawing${J+1}.vml`,X=`xl/drawings/_rels/vmlDrawing${J+1}.vml.rels`;Q.addFile($,SV(z)),Q.addFile(X,OV(z))},rV=(Q)=>{let z=wQ,J=Array.from(z.keys());for(let Z=0;Z<J.length;Z++){let $=J[Z],X=z.get($);if(!X)continue;Q.addFile(`xl/tables/${X.name}.xml`,fV(X,Z))}},sV=(Q,z,J,Z,$,X)=>{let Y=!!X&&Object.keys(X).some((G)=>X[G]!=null);if(Q.addFile("xl/workbook.xml",EV($)),Q.addFile("xl/styles.xml",KV(z)),Q.addFile("xl/sharedStrings.xml",LV()),Q.addFile("xl/theme/theme1.xml",VV()),Q.addFile("xl/_rels/workbook.xml.rels",AV(Z)),Q.addFile("docProps/core.xml",FV(J)),Y)Q.addFile("docProps/custom.xml",DV(X));Q.addFile("[Content_Types].xml",MV(Z,Y)),Q.addFile("_rels/.rels",kV(Y))},jY=(Q,z,J={},Z)=>{if(!z||z.length===0)return R(159),Z.reset(),!1;Z.syncOrderWithSheetData(z);let{fontSize:$=11,author:X="AG Grid",activeTab:Y=0,customMetadata:G}=J,q=z.length,H=Math.max(Math.min(Y,q-1),0);return iV(Q),rV(Q),nV(Q,z),sV(Q,$,X,q,H,G),Z.reset(),!0},wX=(Q,z=new Z7)=>{let{data:J,fontSize:Z,author:$,activeSheetIndex:X,customMetadata:Y}=Q,G=Q.mimeType||"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",q=new AY;if(!jY(q,J,{author:$,fontSize:Z,activeTab:X,customMetadata:Y},z))return Promise.resolve(void 0);return q.getZipFile(G)},NX=(Q,z=new Z7)=>{let{data:J,fontSize:Z,author:$,activeSheetIndex:X,customMetadata:Y}=Q,G=Q.mimeType||"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",q=new AY;if(!jY(q,J,{author:$,fontSize:Z,activeTab:X,customMetadata:Y},z))return;return q.getUncompressedZipFile(G)};var lV=class extends O6{constructor(){super(...arguments);this.beanName="excelCreator",this.workbook=new Z7}getMergedParams(Q){let z=this.gos.get("defaultExcelExportParams");return Object.assign({},z,Q)}export(Q){if(this.isExportSuppressed()){R(160);return}let z=()=>{let Z=this.getMergedParams(Q),$=this.getData(Z),{fontSize:X,author:Y,mimeType:G,customMetadata:q}=Z,H={data:[$],fontSize:X,author:Y,mimeType:G,customMetadata:q};this.packageCompressedFile(H).then((_)=>{if(_){let{fileName:U}=Z,W=typeof U==="function"?U(y(this.gos,{})):U;dZ(this.getFileName(W),_)}})},{overlays:J}=this.beans;if(J)J.showExportOverlay(z);else z()}exportDataAsExcel(Q){this.export(Q)}getDataAsExcel(Q){let z=this.getMergedParams(Q),J=this.getData(z),{fontSize:Z,author:$,mimeType:X,customMetadata:Y}=z,G={data:[J],fontSize:Z,author:$,mimeType:X,customMetadata:Y};return this.packageFile(G)}setFactoryMode(Q){this.workbook.setFactoryMode(Q)}getFactoryMode(){return this.workbook.getFactoryMode()}getSheetDataForExcel(Q){let z=this.getMergedParams(Q);return this.getData(z)}getMultipleSheetsAsExcel(Q){return NX(Q,this.workbook)}exportMultipleSheetsAsExcel(Q){wX(Q,this.workbook).then((z)=>{let{fileName:J="export.xlsx"}=Q;if(z){let Z=typeof J==="function"?J():J;dZ(Z,z)}})}getDefaultFileExtension(){return"xlsx"}createSerializingSession(Q){let{colModel:z,colNames:J,rowGroupColsSvc:Z,valueSvc:$,formula:X,gos:Y}=this.beans,G=Y.get("excelStyles")||[],q=this.createStyleLinker(G),H={...Q,colModel:z,colNames:J,rowGroupColsSvc:Z,valueSvc:$,formulaSvc:X,gos:Y,suppressRowOutline:Q.suppressRowOutline||Q.skipRowGroups,headerRowHeight:Q.headerRowHeight||Q.rowHeight,baseExcelStyles:G,rightToLeft:Q.rightToLeft??Y.get("enableRtl"),styleLinker:q,headerRowCount:i9(z),pivotModeActive:z.isPivotActive(),workbook:this.workbook};return new fD(H)}createStyleLinker(Q){let z=[],J=new Set,Z=new Map;Q.forEach((Y,G)=>{z.push(Y.id),J.add(Y.id),Z.set(Y.id,G)});let{gos:$,cellStyles:X}=this.beans;return(Y)=>{let{rowType:G,rowIndex:q,value:H,column:_,columnGroup:U,node:W}=Y,B=G==="HEADER",E=G==="HEADER_GROUPING",K=B?_:U,L=[];if(B||E){if(L.push("header"),E)L.push("headerGroup");if(K)L=L.concat(gZ(K.getDefinition(),$,_||null,U||null));return L}let F=["cell"];if(!z.length)return F;let D=_.getDefinition();return X?.processAllCellClasses(D,y($,{value:H,data:W.data,node:W,colDef:D,column:_,rowIndex:q}),(M)=>{if(J.has(M))F.push(M)}),F.sort((M,k)=>{let f=Z.get(M)??-1,A=Z.get(k)??-1;return f===A?0:f<A?-1:1})}}isExportSuppressed(){return this.gos.get("suppressExcelExport")}packageCompressedFile(Q){return wX(Q,this.workbook)}packageFile(Q){return NX(Q,this.workbook)}},aV=":where(.ag-virtual-list-viewport) .ag-tab-guard{position:sticky}.ag-virtual-list-viewport{flex:1 1 auto;height:100%;min-width:0;overflow:auto;position:relative;width:100%}.ag-virtual-list-container{overflow:hidden;position:relative}.ag-virtual-list-item{height:var(--ag-list-item-height);position:absolute;width:100%}";function oV(Q){return{tag:"div",cls:`ag-virtual-list-viewport ag-${Q}-virtual-list-viewport`,role:"presentation",children:[{tag:"div",ref:"eContainer",cls:`ag-virtual-list-container ag-${Q}-virtual-list-container`}]}}var eV=class extends pQ{constructor(Q,z){super(oV(z?.cssIdentifier||"default"));this.stopPropagationCallbacks=Q,this.renderedRows=new Map,this.rowHeight=20,this.pageSize=-1,this.isScrolling=!1,this.isHeightFromTheme=!0,this.eContainer=S,this.awaitStableCallbacks=[],this.registerCSS(aV);let{cssIdentifier:J="default",ariaRole:Z="listbox",listName:$,moveItemCallback:X}=z||{};this.cssIdentifier=J,this.ariaRole=Z,this.listName=$,this.moveItemCallback=X}postConstruct(){this.addScrollListener(),this.rowHeight=this.getItemHeight(),this.addResizeObserver(),this.initialiseTabGuard({onFocusIn:(Q)=>this.onFocusIn(Q),onFocusOut:(Q)=>this.onFocusOut(Q),focusInnerElement:(Q)=>this.focusInnerElement(Q),onTabKeyDown:(Q)=>this.onTabKeyDown(Q),handleKeyDown:(Q)=>this.handleKeyDown(Q)},this.stopPropagationCallbacks),this.refreshAriaProperties(),this.addManagedEventListeners({stylesChanged:this.onStylesChanged.bind(this)})}onStylesChanged(Q){if(Q.listItemHeightChanged)this.rowHeight=this.getItemHeight(),this.refresh()}refreshAriaProperties(){let z=this.getLocaleTextFunc()("ariaDefaultListName",this.listName||"List"),J=this.eContainer;H0(J,this.model?.getRowCount()>0?this.ariaRole:"presentation"),E0(J,z)}addResizeObserver(){let Q=()=>YQ(this.beans,()=>this.drawVirtualRows()),z=DQ(this.beans,this.getGui(),Q);this.addDestroyFunc(z)}focusInnerElement(Q){return this.focusRow(Q?this.model.getRowCount()-1:0),!0}onFocusIn(Q){let z=Q.target;if(z.classList.contains("ag-virtual-list-item"))this.lastFocusedRowIndex=j8(z)-1}onFocusOut(Q){if(!this.getFocusableElement().contains(Q.relatedTarget))this.lastFocusedRowIndex=null}handleKeyDown(Q){let{key:z,shiftKey:J}=Q;switch(z){case V.UP:case V.DOWN:{let Z=z===V.UP;if(Q.preventDefault(),J)this.moveItem(Z);else this.navigate(Z)}break;case V.PAGE_HOME:case V.PAGE_END:case V.PAGE_UP:case V.PAGE_DOWN:if(this.navigateToPage(z)!==null)Q.preventDefault();break}}onTabKeyDown(Q){this.stopPropagationCallbacks?.stopPropagation(Q),this.forceFocusOutOfContainer(Q.shiftKey)}getNextRow(Q){if(this.lastFocusedRowIndex==null)return;let z=this.lastFocusedRowIndex+(Q?-1:1);if(z<0||z>=this.model.getRowCount())return;return z}moveItem(Q){if(!this.moveItemCallback)return;let z=this.getComponentAt(this.lastFocusedRowIndex);if(!z)return;this.moveItemCallback(z,Q)}navigate(Q){let z=this.getNextRow(Q);if(z===void 0)return;this.focusRow(z)}navigateToPage(Q,z="focused"){let J=!1;if(z==="focused")z=this.getLastFocusedRow(),J=!0;let Z=this.model.getRowCount()-1,$=-1;if(Q===V.PAGE_HOME)$=0;else if(Q===V.PAGE_END)$=Z;else if(Q===V.PAGE_DOWN)$=Math.min(z+this.pageSize,Z);else if(Q===V.PAGE_UP)$=Math.max(z-this.pageSize,0);if($===-1)return null;if(J)this.focusRow($);else this.ensureIndexVisible($);return $}getLastFocusedRow(){return this.lastFocusedRowIndex}focusRow(Q){if(this.isScrolling)return;this.isScrolling=!0,this.ensureIndexVisible(Q),YQ(this.beans,()=>{if(this.isScrolling=!1,!this.isAlive())return;let z=this.renderedRows.get(Q);if(z)z.eDiv.focus()})}getComponentAt(Q){let z=this.renderedRows.get(Q);return z&&z.rowComponent}forEachRenderedRow(Q){this.renderedRows.forEach((z,J)=>Q(z.rowComponent,J))}getItemHeight(){if(!this.isHeightFromTheme)return this.rowHeight;return this.beans.environment.getDefaultListItemHeight()}ensureIndexVisible(Q,z=!0){let J=this.model.getRowCount();if(typeof Q!=="number"||Q<0||Q>=J)return!1;let Z=Q*this.rowHeight,$=Z+this.rowHeight,X=this.getGui(),Y=X.scrollTop,G=X.offsetHeight,q=Y+G,H=z?0:this.rowHeight,_=Y>Z+H,U=q<$-H;if(_)return X.scrollTop=Z,!0;if(U){let W=$-G;return X.scrollTop=W,!0}return!1}setComponentCreator(Q){this.componentCreator=Q}setComponentUpdater(Q){this.componentUpdater=Q}getRowHeight(){return this.rowHeight}getScrollTop(){return this.getGui().scrollTop}setRowHeight(Q){this.isHeightFromTheme=!1,this.rowHeight=Q,this.refresh()}refresh(Q){if(this.model==null||!this.isAlive())return;let z=this.model.getRowCount();this.eContainer.style.height=`${z*this.rowHeight}px`,this.refreshAriaProperties(),this.awaitStable(()=>{if(!this.isAlive())return;if(this.canSoftRefresh(Q))this.drawVirtualRows(!0);else this.clearVirtualRows(),this.drawVirtualRows()})}awaitStable(Q){if(this.awaitStableCallbacks.push(Q),this.awaitStableCallbacks.length>1)return;let z=this.model.getRowCount();C5(this,()=>this.eContainer.clientHeight>=z*this.rowHeight,()=>{if(!this.isAlive())return;let J=this.awaitStableCallbacks;this.awaitStableCallbacks=[];for(let Z of J)Z()})}canSoftRefresh(Q){return!!(Q&&this.renderedRows.size&&typeof this.model.areRowsEqual==="function"&&this.componentUpdater)}clearVirtualRows(){this.renderedRows.forEach((Q,z)=>this.removeRow(z))}drawVirtualRows(Q){if(!this.isAlive()||!this.model)return;let z=this.getGui(),J=z.scrollTop,Z=J+z.offsetHeight;if(J===Z)this.clearVirtualRows();else{let $=Math.floor(J/this.rowHeight),X=Math.floor(Z/this.rowHeight);this.pageSize=Math.floor((Z-J)/this.rowHeight),this.ensureRowsRendered($,X,Q)}}ensureRowsRendered(Q,z,J){if(this.renderedRows.forEach((Z,$)=>{if(($<Q||$>z)&&$!==this.lastFocusedRowIndex)this.removeRow($)}),J)this.refreshRows();for(let Z=Q;Z<=z;Z++){if(this.renderedRows.has(Z))continue;if(Z<this.model.getRowCount())this.insertRow(Z)}}insertRow(Q){let{model:z}=this;if(Q<0||Q>=z.getRowCount())return;let{cssIdentifier:J,ariaRole:Z,renderedRows:$,eContainer:X}=this,Y=z.getRow(Q),G=Z==="tree"?"treeitem":"option",q=K0({tag:"div",cls:`ag-virtual-list-item ag-${J}-virtual-list-item`,role:G,attrs:{tabindex:"-1"}});VZ(q,z.getRowCount()),fZ(q,Q+1);let H=this.rowHeight;q.style.height=`${H}px`,q.style.top=`${H*Q}px`;let _=this.componentCreator(Y,q);if(_.addGuiEventListener("focusin",()=>this.lastFocusedRowIndex=Q),q.appendChild(_.getGui()),$.has(Q-1))$.get(Q-1).eDiv.insertAdjacentElement("afterend",q);else if($.has(Q+1))$.get(Q+1).eDiv.insertAdjacentElement("beforebegin",q);else X.appendChild(q);$.set(Q,{rowComponent:_,eDiv:q,value:Y})}removeRow(Q){let z=this.renderedRows.get(Q);z.eDiv.remove(),this.destroyBean(z.rowComponent),this.renderedRows.delete(Q)}refreshRows(){let Q=this.model.getRowCount();this.renderedRows.forEach((z,J)=>{if(J>=Q)this.removeRow(J);else{let Z=this.model.getRow(J);if(this.model.areRowsEqual?.(z.value,Z))this.componentUpdater(Z,z.rowComponent);else this.removeRow(J)}})}addScrollListener(){this.addGuiEventListener("scroll",()=>this.drawVirtualRows(),{passive:!0})}setModel(Q){this.model=Q}getAriaElement(){return this.eContainer}destroy(){if(!this.isAlive())return;this.clearVirtualRows(),this.awaitStableCallbacks.length=0,super.destroy()}},Qf='.ag-list-item-hovered:after{background-color:var(--ag-accent-color);content:"";height:1px;left:0;position:absolute;right:0}.ag-item-highlight-top:after{top:0}.ag-item-highlight-bottom:after{bottom:0}',m6="ag-list-item-hovered",zf=class extends j0{constructor(Q,z,J){super();this.comp=Q,this.virtualList=z,this.params=J,this.currentDragValue=null,this.lastHoveredListItem=null}postConstruct(){this.beans.environment.addGlobalCSS(Qf,"component-AgVirtualListDragFeature"),this.params.addListeners(this,this.listItemDragStart.bind(this),this.listItemDragEnd.bind(this)),this.createDropTarget(),this.createAutoScrollService()}listItemDragStart(Q){this.currentDragValue=this.params.getCurrentDragValue(Q),this.moveBlocked=this.params.isMoveBlocked(this.currentDragValue)}listItemDragEnd(){window.setTimeout(()=>{this.currentDragValue=null,this.moveBlocked=!1},10)}createDropTarget(){let Q={isInterestedIn:(z)=>z===this.params.dragSourceType,getIconName:()=>this.moveBlocked?"pinned":"move",getContainer:()=>this.comp.getGui(),onDragging:(z)=>this.onDragging(z),onDragStop:()=>this.onDragStop(),onDragLeave:()=>this.onDragLeave(),onDragCancel:()=>this.onDragCancel()};this.beans.dragAndDrop?.addDropTarget(Q)}createAutoScrollService(){let Q=this.virtualList.getGui();this.autoScrollService=new mZ({scrollContainer:Q,scrollAxis:"y",getVerticalPosition:()=>Q.scrollTop,setVerticalPosition:(z)=>Q.scrollTop=z})}onDragging(Q){if(!this.currentDragValue||this.moveBlocked)return;let z=this.getListDragItem(Q),J=this.virtualList.getComponentAt(z.rowIndex);if(!J)return;let Z=J.getGui().parentElement;if(this.lastHoveredListItem&&this.lastHoveredListItem.rowIndex===z.rowIndex&&this.lastHoveredListItem.position===z.position)return;this.autoScrollService.check(Q.event),this.clearHoveredItems(),this.lastHoveredListItem=z,P5(Z,m6),P5(Z,`ag-item-highlight-${z.position}`)}getListDragItem(Q){let z=this.virtualList.getGui(),J=Number.parseFloat(window.getComputedStyle(z).paddingTop),Z=this.virtualList.getRowHeight(),$=this.virtualList.getScrollTop(),X=Math.max(0,(Q.y-J+$)/Z),Y=this.params.getNumRows(this.comp)-1,G=Math.min(Y,X)|0;return{rowIndex:G,position:Math.round(X)>X||X>Y?"bottom":"top",component:this.virtualList.getComponentAt(G)}}onDragStop(){if(this.moveBlocked)return;this.params.moveItem(this.currentDragValue,this.lastHoveredListItem),this.clearDragProperties()}onDragCancel(){this.clearDragProperties()}onDragLeave(){this.clearDragProperties()}clearDragProperties(){this.clearHoveredItems(),this.autoScrollService.ensureCleared()}clearHoveredItems(){let Q=this.virtualList.getGui();for(let z of Q.querySelectorAll(`.${m6}`))for(let J of[m6,"ag-item-highlight-top","ag-item-highlight-bottom"])z.classList.remove(J);this.lastHoveredListItem=null}};var Jf=".ag-panel{background-color:var(--ag-panel-background-color);display:flex;flex-direction:column;overflow:hidden;position:relative}.ag-dialog{border:var(--ag-dialog-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-dialog-shadow);position:absolute}.ag-panel-title-bar{align-items:center;background-color:var(--ag-panel-title-bar-background-color);border-bottom:var(--ag-panel-title-bar-border);color:var(--ag-panel-title-bar-text-color);cursor:default;display:flex;flex:none;font-family:var(--ag-panel-title-bar-font-family);font-size:var(--ag-panel-title-bar-font-size);font-weight:var(--ag-panel-title-bar-font-weight);height:var(--ag-panel-title-bar-height);padding:var(--ag-spacing) var(--ag-cell-horizontal-padding)}.ag-panel-title-bar-button{cursor:pointer;:where(.ag-icon){color:var(--ag-panel-title-bar-icon-color)}}:where(.ag-ltr) .ag-panel-title-bar-button{margin-left:calc(var(--ag-spacing)*2);margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-panel-title-bar-button{margin-left:var(--ag-spacing);margin-right:calc(var(--ag-spacing)*2)}.ag-panel-title-bar-title{flex:1 1 auto}.ag-panel-title-bar-buttons{display:flex}.ag-panel-content-wrapper{display:flex;flex:1 1 auto;overflow:hidden;position:relative}:where(.ag-dragging-fill-handle) .ag-dialog,:where(.ag-dragging-range-handle) .ag-dialog{opacity:.7;pointer-events:none}";function Zf(Q){return Q??(Q=Q||"default"),{tag:"div",cls:`ag-panel ag-${Q}-panel`,attrs:{tabindex:"-1"},children:[{tag:"div",ref:"eTitleBar",cls:`ag-panel-title-bar ag-${Q}-panel-title-bar ag-unselectable`,children:[{tag:"span",ref:"eTitle",cls:`ag-panel-title-bar-title ag-${Q}-panel-title-bar-title`},{tag:"div",ref:"eTitleBarButtons",cls:`ag-panel-title-bar-buttons ag-${Q}-panel-title-bar-buttons`}]},{tag:"div",ref:"eContentWrapper",cls:`ag-panel-content-wrapper ag-${Q}-panel-content-wrapper`}]}}var $f=class extends p0{constructor(Q){super(Zf(Q.cssIdentifier));this.config=Q,this.closable=!0,this.eContentWrapper=S,this.eTitleBar=S,this.eTitleBarButtons=S,this.eTitle=S,this.registerCSS(Jf)}postConstruct(){let{component:Q,closable:z,hideTitleBar:J,title:Z,minWidth:$=250,width:X,minHeight:Y=250,height:G,centered:q,popup:H,x:_,y:U,postProcessPopupParams:W}=this.config,B=this.beans,E=this.createManagedBean(new r5(this.getGui(),{minWidth:$,width:X,minHeight:Y,height:G,centered:q,x:_,y:U,popup:H,calculateTopBuffer:()=>this.positionableFeature.getHeight()-this.getBodyHeight()}));this.positionableFeature=E;let K=this.getGui();if(Q)this.setBodyComponent(Q);if(!J){if(Z)this.setTitle(Z);this.setClosable(z!=null?z:this.closable)}else N(this.eTitleBar,!1);if(this.addManagedElementListeners(this.eTitleBar,{mousedown:(F)=>{if(K.contains(F.relatedTarget)||K.contains(d(B))||this.eTitleBarButtons.contains(F.target)){F.preventDefault();return}let D=this.eContentWrapper.querySelector("button, [href], input, select, textarea, [tabindex]");if(D)D.focus()}}),H&&E.isPositioned())return;if(this.renderComponent)this.renderComponent();let L;if(W){let{type:F,eventSource:D,mouseEvent:M}=W;L=()=>B.popupSvc?.callPostProcessPopup(W,F,K,D,M)}E.initialisePosition(L),this.eContentWrapper.style.height="0"}renderComponent(){let Q=this.getGui();Q.focus(),this.close=()=>{Q.remove(),this.destroy()}}getHeight(){return this.positionableFeature.getHeight()}setHeight(Q){this.positionableFeature.setHeight(Q)}getWidth(){return this.positionableFeature.getWidth()}setWidth(Q){this.positionableFeature.setWidth(Q)}setClosable(Q){if(Q!==this.closable)this.closable=Q;if(Q){let z=this.closeButtonComp=new p0({tag:"div",cls:"ag-button"});this.createBean(z);let J=z.getGui(),Z=this.beans.iconSvc.createIconNoSpan("close",this.beans);Z.classList.add("ag-panel-title-bar-button-icon"),J.appendChild(Z),this.addTitleBarButton(z),z.addManagedElementListeners(J,{click:this.onBtClose.bind(this)})}else if(this.closeButtonComp)this.closeButtonComp.getGui().remove(),this.closeButtonComp=this.destroyBean(this.closeButtonComp)}setBodyComponent(Q){Q.setParentComponent(this),this.eContentWrapper.appendChild(Q.getGui())}addTitleBarButton(Q,z){let J=this.eTitleBarButtons,Z=J.children,$=Z.length;if(z==null)z=$;z=Math.max(0,Math.min(z,$)),Q.addCss("ag-panel-title-bar-button");let X=Q.getGui();if(z===0)J.prepend(X);else if(z===$)J.append(X);else Z[z-1].after(X);Q.setParentComponent(this)}getBodyHeight(){return AZ(this.eContentWrapper)}getBodyWidth(){return xz(this.eContentWrapper)}setTitle(Q){this.eTitle.innerText=Q}onBtClose(){this.close()}destroy(){if(this.closeButtonComp)this.closeButtonComp=this.destroyBean(this.closeButtonComp);let Q=this.getGui();if(Q&&f0(Q))this.close();super.destroy()}},Xf=class extends $f{constructor(Q,z){super({...Q,popup:!0});this.callbacks=z,this.isMaximizable=!1,this.isMaximized=!1,this.maximizeListeners=[],this.resizeListenerDestroy=null,this.lastPosition={x:0,y:0,width:0,height:0}}wireBeans(Q){this.popupSvc=Q.popupSvc}postConstruct(){let Q=this.getGui(),{movable:z,resizable:J,maximizable:Z,modal:$}=this.config;if(this.addCss("ag-dialog"),super.postConstruct(),this.tabGuardFeature=this.createManagedBean(new H6(this,this.callbacks?.stopPropagationCallbacks)),this.tabGuardFeature.initialiseTabGuard({isFocusableContainer:!0,onFocusIn:()=>{this.popupSvc?.bringPopupToFront(Q)},onTabKeyDown:(X)=>{if($)return;let Y=X.shiftKey,G=R0(this.beans,Q,!1,Y);if(!G||this.tabGuardFeature.getTabGuardCtrl().isTabGuard(G)){if(this.callbacks?.focusNextContainer(this.beans,Y))X.preventDefault()}}}),z)this.setMovable(z);if(Z)this.setMaximizable(Z);if(J)this.setResizable(J);if(!this.config.modal)this.callbacks?.configureFocusableContainer(this.beans,this)}setAllowFocus(Q){this.tabGuardFeature.getTabGuardCtrl().setAllowFocus(Q)}renderComponent(){let Q=this.getGui(),{alwaysOnTop:z,modal:J,title:Z,afterGuiAttached:$}=this.config,X=this.getLocaleTextFunc(),Y=this.popupSvc?.addPopup({modal:J,eChild:Q,closeOnEsc:!0,closedCallback:this.onClosed.bind(this),alwaysOnTop:z,ariaLabel:Z||X("ariaLabelDialog","Dialog"),afterGuiAttached:$});if(Y)this.close=Y.hideFunc}onClosed(Q){this.destroy(),this.config.closedCallback?.(Q)}setMaximized(Q){if(this.isMaximizable&&Q!==this.isMaximized)this.toggleMaximize()}toggleMaximize(){let Q=this.positionableFeature.getPosition();if(this.isMaximized){let{x:z,y:J,width:Z,height:$}=this.lastPosition;this.setWidth(Z),this.setHeight($),this.positionableFeature.offsetElement(z,J)}else this.lastPosition.width=this.getWidth(),this.lastPosition.height=this.getHeight(),this.lastPosition.x=Q.x,this.lastPosition.y=Q.y,this.positionableFeature.offsetElement(0,0),this.setHeight("100%"),this.setWidth("100%");this.isMaximized=!this.isMaximized,this.refreshMaximizeIcon()}refreshMaximizeIcon(){N(this.maximizeIcon,!this.isMaximized),N(this.minimizeIcon,this.isMaximized)}clearMaximizebleListeners(){if(this.maximizeListeners.length){for(let Q of this.maximizeListeners)Q();this.maximizeListeners.length=0}if(this.resizeListenerDestroy)this.resizeListenerDestroy(),this.resizeListenerDestroy=null}destroy(){this.maximizeButtonComp=this.destroyBean(this.maximizeButtonComp),this.clearMaximizebleListeners(),super.destroy()}setResizable(Q){this.positionableFeature.setResizable(Q)}setMovable(Q){this.positionableFeature.setMovable(Q,this.eTitleBar)}setMaximizable(Q){if(!Q){if(this.clearMaximizebleListeners(),this.maximizeButtonComp)this.destroyBean(this.maximizeButtonComp),this.maximizeButtonComp=this.maximizeIcon=this.minimizeIcon=void 0;return}let z=this.eTitleBar;if(!z||Q===this.isMaximizable)return;this.isMaximizable=Q;let J=this.buildMaximizeAndMinimizeElements();this.refreshMaximizeIcon(),J.addManagedElementListeners(J.getGui(),{click:this.toggleMaximize.bind(this)}),this.addTitleBarButton(J,0),this.maximizeListeners.push(...this.addManagedElementListeners(z,{dblclick:this.toggleMaximize.bind(this)})),[this.resizeListenerDestroy]=this.addManagedListeners(this.positionableFeature,{resize:()=>{this.isMaximized=!1,this.refreshMaximizeIcon()}})}buildMaximizeAndMinimizeElements(){let Q=this.maximizeButtonComp=this.createBean(new p0({tag:"div",cls:"ag-dialog-button"})),z=Q.getGui(),J=this.beans.iconSvc;return this.maximizeIcon=J.createIconNoSpan("maximize"),z.appendChild(this.maximizeIcon),this.maximizeIcon.classList.add("ag-panel-title-bar-button-icon"),this.minimizeIcon=J.createIconNoSpan("minimize"),z.appendChild(this.minimizeIcon),this.minimizeIcon.classList.add("ag-panel-title-bar-button-icon"),Q}};var Yf=class extends pQ{constructor(Q){super();this.setTemplateFromElement(Q.getGui(),void 0,void 0,!0)}postConstruct(){this.initialiseTabGuard({onTabKeyDown:(Q)=>this.onTabKeyDown(Q),handleKeyDown:(Q)=>this.handleKeyDown(Q)})}handleKeyDown(Q){if(Q.key===V.ESCAPE)this.closePanel()}onTabKeyDown(Q){if(Q.defaultPrevented)return;this.closePanel(),Q.preventDefault()}closePanel(){let Q=this.parentComponent;Q.closeSubMenu(),setTimeout(()=>Q.getGui().focus(),0)}},o6=class extends j0{constructor(Q){super();this.callbacks=Q,this.ACTIVATION_DELAY=80,this.isActive=!1,this.subMenuIsOpen=!1,this.subMenuIsOpening=!1,this.suppressRootStyles=!0,this.suppressAria=!0,this.suppressFocus=!0}init(Q){let{menuItemDef:z,isAnotherSubMenuOpen:J,level:Z,childComponent:$,contextParams:X}=Q;return this.params=Q.menuItemDef,this.level=Z,this.isAnotherSubMenuOpen=J,this.childComponent=$,this.contextParams=X,this.cssClassPrefix=this.params.menuItemParams?.cssClassPrefix??"ag-menu-option",this.callbacks.getMenuItemComp(this.beans,this.params,{...z,level:Z,isAnotherSubMenuOpen:J,openSubMenu:(Y)=>this.openSubMenu(Y),closeSubMenu:()=>this.closeSubMenu(),closeMenu:(Y)=>this.closeMenu(Y),updateTooltip:(Y,G)=>this.refreshTooltip(Y,G),onItemActivated:()=>this.onItemActivated()}).then((Y)=>{if(!Y)return;this.menuItemComp=Y;let G=Y.configureDefaults?.();if(G)this.configureDefaults(G===!0?void 0:G)})}addListeners(Q,z){if(!z?.suppressClick)this.addManagedElementListeners(Q,{click:(J)=>this.onItemSelected(J)});if(!z?.suppressKeyboardSelect)this.addManagedElementListeners(Q,{keydown:(J)=>{if(J.key===V.ENTER||J.key===V.SPACE)J.preventDefault(),this.onItemSelected(J)}});if(!z?.suppressMouseDown)this.addManagedElementListeners(Q,{mousedown:(J)=>{J.stopPropagation(),J.preventDefault()}});if(!z?.suppressMouseOver)this.addManagedElementListeners(Q,{mouseenter:()=>this.onMouseEnter(),mouseleave:()=>this.onMouseLeave()})}isDisabled(){return!!this.params.disabled}openSubMenu(Q=!1,z){if(this.closeSubMenu(),!this.params.subMenu)return;this.subMenuIsOpening=!0;let J=Z0({tag:"div",cls:"ag-menu",role:"presentation"});this.eSubMenuGui=J;let Z,$=()=>{this.subMenuIsOpening=!1};if(this.childComponent){let H=this.createBean(new Yf(this.childComponent));H.setParentComponent(this);let _=H.getGui(),U="mouseenter",W=()=>this.cancelDeactivate();if(_.addEventListener(U,W),Z=()=>{_.removeEventListener(U,W),this.destroyBean(H)},J.appendChild(_),this.childComponent.afterGuiAttached)$=()=>{this.childComponent.afterGuiAttached(),this.subMenuIsOpening=!1}}else if(this.params.subMenu){let H=this.createBean(new RY(this.level+1,this.contextParams,this.callbacks));if(H.setParentComponent(this),H.addMenuItems(this.params.subMenu),J.appendChild(H.getGui()),this.addManagedListeners(H,{closeMenu:(_)=>this.dispatchLocalEvent(_)}),H.addGuiEventListener("mouseenter",()=>this.cancelDeactivate()),Z=()=>this.destroyBean(H),Q)$=()=>{H.activateFirstItem(),this.subMenuIsOpening=!1}}let X=this.beans.popupSvc,Y=()=>{let H=this.eGui;X?.positionPopupForMenu({eventSource:H,ePopup:J,event:z instanceof MouseEvent?z:void 0,additionalParams:this.callbacks.getPostProcessPopupParams(this.contextParams)})},G=this.getLocaleTextFunc(),q=X?.addPopup({modal:!0,eChild:J,positionCallback:Y,anchorToElement:this.eGui,ariaLabel:G("ariaLabelSubMenu","SubMenu"),afterGuiAttached:$});this.subMenuIsOpen=!0,this.setAriaExpanded(!0),this.hideSubMenu=()=>{if(q)q.hideFunc();this.subMenuIsOpen=!1,this.setAriaExpanded(!1),Z(),this.menuItemComp.setExpanded?.(!1),this.eSubMenuGui=void 0},this.menuItemComp.setExpanded?.(!0)}setAriaExpanded(Q){if(!this.suppressAria)w0(this.eGui,Q)}closeSubMenu(){if(!this.hideSubMenu)return;this.hideSubMenu(),this.hideSubMenu=null,this.setAriaExpanded(!1)}isSubMenuOpen(){return this.subMenuIsOpen}isSubMenuOpening(){return this.subMenuIsOpening}activate(Q,z){if(this.cancelActivate(),this.params.disabled&&!z)return;if(this.isActive=!0,!this.suppressRootStyles)this.eGui.classList.add(`${this.cssClassPrefix}-active`);if(this.menuItemComp.setActive?.(!0),!this.suppressFocus)this.callbacks.preserveRangesWhile(this.beans,()=>this.eGui.focus({preventScroll:!z}));if(Q&&this.params.subMenu)window.setTimeout(()=>{if(this.isAlive()&&this.isActive)this.openSubMenu()},300);this.onItemActivated()}deactivate(){if(this.cancelDeactivate(),!this.suppressRootStyles)this.eGui.classList.remove(`${this.cssClassPrefix}-active`);if(this.menuItemComp.setActive?.(!1),this.isActive=!1,this.subMenuIsOpen)this.closeSubMenu()}getGui(){return this.menuItemComp.getGui()}getParentComponent(){return this.parentComponent}setParentComponent(Q){this.parentComponent=Q}getSubMenuGui(){return this.eSubMenuGui}onItemSelected(Q){if(this.menuItemComp.select?.(),this.params.action)this.beans.frameworkOverrides.wrapOutgoing(()=>this.params.action(this.gos.addCommon({...this.contextParams})));else this.openSubMenu(Q&&Q.type==="keydown",Q);if(this.params.subMenu&&!this.params.action||this.params.suppressCloseOnSelect)return;this.closeMenu(Q)}closeMenu(Q){let z={type:"closeMenu"};if(Q)if(Q instanceof MouseEvent)z.mouseEvent=Q;else z.keyboardEvent=Q;this.dispatchLocalEvent(z)}onItemActivated(){let Q={type:"menuItemActivated",menuItem:this};this.dispatchLocalEvent(Q)}cancelActivate(){if(this.activateTimeoutId)window.clearTimeout(this.activateTimeoutId),this.activateTimeoutId=0}cancelDeactivate(){if(this.deactivateTimeoutId)window.clearTimeout(this.deactivateTimeoutId),this.deactivateTimeoutId=0}onMouseEnter(){if(this.cancelDeactivate(),this.isAnotherSubMenuOpen())this.activateTimeoutId=window.setTimeout(()=>this.activate(!0),this.ACTIVATION_DELAY);else this.activate(!0)}onMouseLeave(){if(this.cancelActivate(),this.isSubMenuOpen())this.deactivateTimeoutId=window.setTimeout(()=>this.deactivate(),this.ACTIVATION_DELAY);else this.deactivate()}refreshRootElementGui(Q){let z=this.menuItemComp.getGui(),{cssClassPrefix:J,params:{cssClasses:Z,disabled:$}}=this,X=this.menuItemComp.getRootElement?.();if(X){if(!Q)z.classList.add("ag-menu-option-custom");z=X}if(this.suppressRootStyles=!!Q,!this.suppressRootStyles){z.classList.add(J);for(let Y of Z??[])z.classList.add(Y);if($)z.classList.add(`${J}-disabled`)}return z}applyAriaProperties(Q){let{params:{checked:z,subMenu:J,subMenuRole:Z,disabled:$}}=this,X=z!=null;if(H0(Q,X?"menuitemcheckbox":"menuitem"),J)b8(Q,Z??"menu");if($)P8(Q,!0)}configureDefaults(Q){if(!this.menuItemComp){setTimeout(()=>this.configureDefaults(Q));return}let{suppressRootStyles:z,suppressTooltip:J,suppressAria:Z,suppressTabIndex:$,suppressFocus:X}=Q||{},{params:{tooltip:Y,disabled:G}}=this,q=this.eGui=this.refreshRootElementGui(!!z);if(this.suppressAria=!!Z,!Z)this.applyAriaProperties(q);if(!$)q.setAttribute("tabindex","-1");if(!J)this.refreshTooltip(Y);if(!G)this.addListeners(q,Q);this.suppressFocus=!!X}refreshTooltip(Q,z){if(this.tooltip=Q,this.tooltipFeature=this.destroyBean(this.tooltipFeature),!Q||!this.menuItemComp)return;let J=this.beans.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.getGui(),getTooltipValue:()=>this.tooltip,getLocation:()=>"menu",shouldDisplayTooltip:z});if(J)this.tooltipFeature=this.createBean(J)}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),this.menuItemComp?.destroy?.(),super.destroy()}},RY=class extends pQ{constructor(Q=0,z,J){super({tag:"div",cls:"ag-menu-list",role:"menu"});this.level=Q,this.menuActionParams=z,this.callbacks=J,this.menuItems=[]}postConstruct(){this.initialiseTabGuard({onTabKeyDown:(Q)=>this.onTabKeyDown(Q),handleKeyDown:(Q)=>this.callbacks.preserveRangesWhile(this.beans,()=>this.handleKeyDown(Q)),onFocusIn:(Q)=>this.handleFocusIn(Q),onFocusOut:(Q)=>this.handleFocusOut(Q)})}onTabKeyDown(Q){if(!this.getParentComponent()?.getGui()?.classList.contains("ag-focus-managed"))Q.preventDefault();if(Q.shiftKey)this.closeIfIsChild(Q)}handleKeyDown(Q){switch(Q.key){case V.UP:case V.RIGHT:case V.DOWN:case V.LEFT:Q.preventDefault(),this.handleNavKey(Q.key);break;case V.ESCAPE:if(this.closeIfIsChild())this.callbacks.stopPropagationCallbacks.stopPropagation(Q);break}}handleFocusIn(Q){let z=Q.relatedTarget;if(!this.tabGuardFeature.getTabGuardCtrl().isTabGuard(z)&&(this.getGui().contains(z)||this.activeMenuItem?.getSubMenuGui()?.contains(z)))return;if(this.activeMenuItem)this.activeMenuItem.activate();else this.activateFirstItem()}handleFocusOut(Q){let z=Q.relatedTarget;if(!this.activeMenuItem||this.getGui().contains(z)||this.activeMenuItem.getSubMenuGui()?.contains(z))return;if(!this.activeMenuItem.isSubMenuOpening())this.activeMenuItem.deactivate()}clearActiveItem(){if(this.activeMenuItem)this.activeMenuItem.deactivate(),this.activeMenuItem=null}addMenuItems(Q){if(Q==null)return;g.all(Q.map((z)=>{if(z==="separator")return g.resolve({eGui:this.createSeparator()});else if(typeof z==="string")return this.callbacks.warnNoItem?.(z),g.resolve({eGui:null});else return this.addItem(z)})).then((z)=>{for(let J of z??[])if(J?.eGui){if(this.appendChild(J.eGui),J.comp)this.menuItems.push(J.comp)}})}addItem(Q){let z=this.createManagedBean(new o6(this.callbacks));return z.init({menuItemDef:Q,isAnotherSubMenuOpen:()=>this.menuItems.some((J)=>J.isSubMenuOpen()),level:this.level,contextParams:this.menuActionParams}).then(()=>{return z.setParentComponent(this),this.addManagedListeners(z,{closeMenu:(J)=>{this.dispatchLocalEvent(J)},menuItemActivated:(J)=>{if(this.activeMenuItem&&this.activeMenuItem!==J.menuItem)this.activeMenuItem.deactivate();this.activeMenuItem=J.menuItem}}),{comp:z,eGui:z.getGui()}})}activateFirstItem(){let Q=this.menuItems.filter((z)=>!z.isDisabled())[0];if(!Q)return;Q.activate()}createSeparator(){let Q={tag:"div",cls:"ag-menu-separator-part"};return K0({tag:"div",cls:"ag-menu-separator",attrs:{"aria-hidden":"true"},children:[Q,Q,Q,Q]})}handleNavKey(Q){switch(Q){case V.UP:case V.DOWN:{let J=this.findNextItem(Q===V.UP);if(J&&J!==this.activeMenuItem)J.activate(!1,!0);return}}let z=this.gos.get("enableRtl")?V.RIGHT:V.LEFT;if(Q===z)this.closeIfIsChild();else this.openChild()}closeIfIsChild(Q){let z=this.getParentComponent();if(z&&z instanceof o6){if(Q)Q.preventDefault();return z.closeSubMenu(),z.getGui().focus(),!0}return!1}openChild(){if(this.activeMenuItem)this.activeMenuItem.openSubMenu(!0)}findNextItem(Q){let z=[...this.menuItems];if(!z.length)return;if(!this.activeMenuItem)return Q?b(z):z[0];if(Q)z.reverse();let J,Z=!1;for(let $ of z){if(!Z){if($===this.activeMenuItem)Z=!0;continue}J=$;break}if(Z&&!J)return z[0];return J||this.activeMenuItem}destroy(){this.clearActiveItem(),super.destroy()}};var Gf=class extends p0{constructor(Q){super({tag:"div"});this.callbacks=Q}init(Q){this.params=Q,this.cssClassPrefix=this.params.cssClassPrefix??"ag-menu-option",this.addAriaAttributes(),this.addIcon(),this.addName(),this.addShortcut(),this.addSubMenu()}configureDefaults(){return!0}addAriaAttributes(){let{checked:Q,subMenu:z}=this.params,J=this.getGui();if(Q)I8(J,Q);if(z)w0(J,!1)}addIcon(){if(this.params.isCompact)return;let Q=K0({tag:"span",ref:"eIcon",cls:`${this.getClassName("part")} ${this.getClassName("icon")}`,role:"presentation"}),{checked:z,icon:J}=this.params;if(z)Q.appendChild(this.beans.iconSvc.createIconNoSpan("check"));else if(J)if(XJ(J))Q.appendChild(J);else if(typeof J==="string")Q.innerHTML=J;else this.callbacks?.warnNoIcon?.();this.getGui().appendChild(Q)}addName(){let Q=K0({tag:"span",ref:"eName",cls:`${this.getClassName("part")} ${this.getClassName("text")}`,children:this.params.name||""});this.getGui().appendChild(Q)}addShortcut(){if(this.params.isCompact)return;let Q=K0({tag:"span",ref:"eShortcut",cls:`${this.getClassName("part")} ${this.getClassName("shortcut")}`,children:this.params.shortcut||""});this.getGui().appendChild(Q)}addSubMenu(){let Q=K0({tag:"span",ref:"ePopupPointer",cls:`${this.getClassName("part")} ${this.getClassName("popup-pointer")}`}),z=this.getGui();if(this.params.subMenu){let J=this.gos.get("enableRtl")?"subMenuOpenRtl":"subMenuOpen";Q.appendChild(this.beans.iconSvc.createIconNoSpan(J))}z.appendChild(Q)}getClassName(Q){return`${this.cssClassPrefix}-${Q}`}};function e6(Q,z){if(!z)return null;let J=EQ(Q),Z=J.indexOf(z);if(Z===-1)return null;let $=-1;for(let X=Z-1;X>=0;X--)if(J[X].classList.contains(g1.TAB_GUARD_TOP)){$=X;break}if($<=0)return null;return J[$-1]}function SY(Q,z){if(!z)return!1;let J=Q.querySelectorAll(`.${l5}`);if(!J.length)return!1;for(let Z=0;Z<J.length;Z++)if(J[Z].contains(z))return!0;return!1}function qf(Q){return{tag:"div",cls:`ag-tabs ${Q}`,children:[{tag:"div",ref:"eHeader"},{tag:"div",ref:"eBody",role:"presentation",cls:"ag-tabs-body"+Q?` ${Q}-body`:""}]}}var Hf=class extends pQ{constructor(Q){super(qf(Q.cssClass));this.eHeader=S,this.eBody=S,this.items=[],this.tabbedItemScrollMap=new Map,this.params=Q}postConstruct(){if(this.setupHeader(),this.params.items)for(let Q of this.params.items)this.addItem(Q);this.initialiseTabGuard({onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),focusInnerElement:this.focusInnerElement.bind(this),focusTrapActive:!0}),this.addDestroyFunc(()=>this.activeItem?.tabbedItem?.afterDetachedCallback?.())}setupHeader(){let{enableCloseButton:Q,cssClass:z}=this.params,J=(Z,$)=>{if(Z.classList.add(`ag-tabs-${$}`),z)Z.classList.add(`${z}-${$}`)};if(Q)this.setupCloseButton(J),this.eTabHeader=K0({tag:"div",role:"presentation"}),J(this.eHeader,"header-wrapper"),this.eHeader.appendChild(this.eTabHeader);else this.eTabHeader=this.eHeader;H0(this.eTabHeader,"tablist"),J(this.eTabHeader,"header")}setupCloseButton(Q){let z=K0({tag:"button"});Q(z,"close-button");let J=this.beans.iconSvc.createIconNoSpan("close");E0(z,this.params.closeButtonAriaLabel),z.appendChild(J),this.addManagedElementListeners(z,{click:()=>this.params.onCloseClicked?.()});let Z=K0({tag:"div",role:"presentation"});Q(Z,"close-button-wrapper"),Z.appendChild(z),this.eHeader.appendChild(Z),this.eCloseButton=z}handleKeyDown(Q){switch(Q.key){case V.RIGHT:case V.LEFT:{if(!this.eTabHeader.contains(d(this.beans)))return;let z=Q.key===V.RIGHT,J=this.gos.get("enableRtl"),Z=this.items.indexOf(this.activeItem),$=z!==J?Math.min(Z+1,this.items.length-1):Math.max(Z-1,0);if(Z===$)return;Q.preventDefault();let X=this.items[$];this.showItemWrapper(X),X.eHeaderButton.focus();break}case V.UP:case V.DOWN:Q.stopPropagation();break}}onTabKeyDown(Q){if(Q.defaultPrevented)return;let{beans:z,eHeader:J,eBody:Z,activeItem:$,params:X}=this,{suppressTrapFocus:Y,enableCloseButton:G}=X,q=d(z),H=Q.target,_=Q.shiftKey;if(J.contains(q)){if(Q.preventDefault(),G&&_&&!this.eCloseButton?.contains(q))this.eCloseButton?.focus();else if(Y&&_)e6(Y0(z).body,H)?.focus();else this.focusBody(Q.shiftKey);return}let U=null;if(SY(Z,H)){if(_)U=e6(Z,H);if(!U&&!Y)U=$.eHeaderButton}if(!U&&Z.contains(q)){if(U=R0(z,Z,!1,_),!U){if(Y&&!_)this.forceFocusOutOfContainer(_);else if(G&&!_)Q.preventDefault(),this.eCloseButton?.focus();else Q.preventDefault(),this.focusHeader();return}}if(U)Q.preventDefault(),U.focus()}focusInnerElement(Q){if(Q)return this.focusBody(!0);else return this.focusHeader(),!0}focusHeader(Q){this.activeItem.eHeaderButton.focus({preventScroll:Q})}focusBody(Q){return D0(this.eBody,Q)}setAfterAttachedParams(Q){this.afterAttachedParams=Q}showFirstItem(){if(this.items.length>0)this.showItemWrapper(this.items[0])}addItem(Q){let z=K0({tag:"span",cls:"ag-tab",role:"tab",attrs:{tabindex:"-1"}});z.appendChild(Q.title),this.eTabHeader.appendChild(z),E0(z,Q.titleLabel);let J={tabbedItem:Q,eHeaderButton:z};this.items.push(J),z.addEventListener("click",this.showItemWrapper.bind(this,J))}showItem(Q){let z=this.items.find((J)=>J.tabbedItem===Q);if(z)this.showItemWrapper(z)}showItemWrapper(Q){let{tabbedItem:z,eHeaderButton:J}=Q;if(this.params.onItemClicked?.({item:z}),this.activeItem===Q){this.params.onActiveItemClicked?.();return}if(this.lastScrollListener)this.lastScrollListener=this.lastScrollListener();if(z0(this.eBody),z.bodyPromise.then((Z)=>{this.eBody.appendChild(Z);let $=!V1();if(!this.params.suppressFocusBodyOnOpen)D0(this.eBody,!1,$);if(z.afterAttachedCallback)z.afterAttachedCallback(this.afterAttachedParams);if(this.params.keepScrollPosition){let X=z.getScrollableContainer?.()||Z;[this.lastScrollListener]=this.addManagedElementListeners(X,{scroll:()=>{this.tabbedItemScrollMap.set(z.name,X.scrollTop)}});let Y=this.tabbedItemScrollMap.get(z.name);if(Y!==void 0)setTimeout(()=>{X.scrollTop=Y},0)}}),this.activeItem)this.activeItem.eHeaderButton.classList.remove("ag-tab-selected"),this.activeItem.tabbedItem.afterDetachedCallback?.();J.classList.add("ag-tab-selected"),this.activeItem=Q}},_f=".ag-group{position:relative;width:100%}.ag-group-title-bar{align-items:center;display:flex;padding:var(--ag-spacing)}.ag-group-title{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(.ag-group-title-bar) .ag-group-title{cursor:default}.ag-group-toolbar{align-items:center;display:flex;padding:var(--ag-spacing)}.ag-group-container{display:flex}.ag-disabled .ag-group-container{pointer-events:none}.ag-disabled-group-container,.ag-disabled-group-title-bar{opacity:.5}.ag-group-container-horizontal{flex-flow:row wrap}.ag-group-container-vertical{flex-direction:column}.ag-group-title-bar-icon{cursor:pointer;flex:none}:where(.ag-ltr) .ag-group-title-bar-icon{margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-group-title-bar-icon{margin-left:var(--ag-spacing)}:where(.ag-group-item-alignment-stretch) .ag-group-item{align-items:stretch}:where(.ag-group-item-alignment-start) .ag-group-item{align-items:flex-start}:where(.ag-group-item-alignment-end) .ag-group-item{align-items:flex-end}";function Uf(Q){let z=Q.cssIdentifier||"default",J=Q.direction||"vertical";return{tag:"div",cls:`ag-group ag-${z}-group`,role:"presentation",children:[{tag:"div",ref:"eToolbar",cls:`ag-group-toolbar ag-${z}-group-toolbar`,children:[{tag:"ag-checkbox",ref:"cbGroupEnabled"}]},{tag:"div",ref:"eContainer",cls:`ag-group-container ag-group-container-${J} ag-${z}-group-container`}]}}var Wf=class extends p0{constructor(Q={}){super(Uf(Q),[yQ]);this.params=Q,this.suppressEnabledCheckbox=!0,this.suppressToggleExpandOnEnableChange=!1,this.eToolbar=S,this.cbGroupEnabled=S,this.eContainer=S,this.registerCSS(_f);let{enabled:z,items:J,suppressEnabledCheckbox:Z,expanded:$,suppressToggleExpandOnEnableChange:X,useToggle:Y}=Q;if(this.cssIdentifier=Q.cssIdentifier||"default",this.enabled=z!=null?z:!0,this.items=J||[],this.useToggle=Y??!1,this.alignItems=Q.alignItems||"center",this.expanded=$==null?!0:$,Z!=null)this.suppressEnabledCheckbox=Z;if(X!=null)this.suppressToggleExpandOnEnableChange=X}postConstruct(){if(this.setupTitleBar(),this.items.length){let $=this.items;this.items=[],this.addItems($)}let Q=this.getLocaleTextFunc();if(this.cbGroupEnabled.setLabel(Q("enabled","Enabled")),this.enabled)this.setEnabled(this.enabled,void 0,!0);this.setAlignItems(this.alignItems);let{onEnableChange:z,onExpandedChange:J,suppressOpenCloseIcons:Z}=this.params;if(this.hideEnabledCheckbox(this.suppressEnabledCheckbox),this.hideOpenCloseIcons(Z??!1),this.refreshChildDisplay(),N(this.eContainer,this.expanded),this.cbGroupEnabled.onValueChange(($)=>{this.setEnabled($,!0,this.suppressToggleExpandOnEnableChange),this.dispatchEnableChangeEvent($)}),z!=null)this.onEnableChange(z);if(J!=null)this.onExpandedChange(J)}refreshChildDisplay(){N(this.eToolbar,this.expanded&&!this.suppressEnabledCheckbox),this.eTitleBar?.refreshOnExpand(this.expanded)}isExpanded(){return this.expanded}setAlignItems(Q){if(this.alignItems!==Q)this.removeCss(`ag-group-item-alignment-${this.alignItems}`);this.alignItems=Q;let z=`ag-group-item-alignment-${this.alignItems}`;return this.addCss(z),this}toggleGroupExpand(Q,z){if(this.eTitleBar?.isSuppressCollapse()&&!this.useToggle)Q=!0,z=!0;else if(Q=Q!=null?Q:!this.expanded,this.expanded===Q)return this;if(this.expanded=Q,this.refreshChildDisplay(),N(this.eContainer,Q),!z)this.dispatchLocalEvent({type:Q?"expanded":"collapsed"});return this}addItems(Q){for(let z of Q)this.addItem(z)}prependItem(Q){this.insertItem(Q,!0)}addItem(Q){this.insertItem(Q,!1)}updateItems(Q){let z=this.items,J=0;for(let Z=0;Z<z.length;++Z){let $=z[Z];if($===Q[J])J++;else{let X=bZ($)?$.getGui():$;T0(X)}}while(J<Q.length)this.insertItem(Q[J++]);this.items=Q}insertItem(Q,z){let J=this.eContainer,Z=bZ(Q)?Q.getGui():Q;if(Z.classList.add("ag-group-item",`ag-${this.cssIdentifier}-group-item`),z)J.prepend(Z),this.items.unshift(Z);else J.appendChild(Z),this.items.push(Z)}hideItem(Q,z){let J=this.items[z];N(J,!Q)}getItemIndex(Q){let z=bZ(Q)?Q.getGui():Q;return this.items.indexOf(z)}setTitle(Q){return this.eTitleBar?.setTitle(Q),this}addTitleBarWidget(Q){return this.eTitleBar?.addWidget(Q),this}addCssClassToTitleBar(Q){this.eTitleBar?.addCss(Q)}dispatchEnableChangeEvent(Q){let z={type:"enableChange",enabled:Q};this.dispatchLocalEvent(z)}setEnabled(Q,z,J){if(this.enabled=Q,this.refreshDisabledStyles(),!J)this.toggleGroupExpand(Q);if(!z)this.cbGroupEnabled.setValue(Q),this.eToggle?.setValue(Q);return this}isEnabled(){return this.enabled}onEnableChange(Q){return this.addManagedListeners(this,{enableChange:(z)=>Q(z.enabled)}),this}onExpandedChange(Q){return this.addManagedListeners(this,{expanded:()=>Q(!0),collapsed:()=>Q(!1)}),this}hideEnabledCheckbox(Q){return this.suppressEnabledCheckbox=Q,this.refreshChildDisplay(),this.refreshDisabledStyles(),this}hideOpenCloseIcons(Q){return this.eTitleBar?.hideOpenCloseIcons(Q),this}refreshDisabledStyles(){let Q=!this.enabled;this.eContainer.classList.toggle("ag-disabled",Q),this.eTitleBar?.refreshDisabledStyles(this.suppressEnabledCheckbox&&Q),this.eContainer.classList.toggle("ag-disabled-group-container",Q)}setupTitleBar(){let Q=this.useToggle?this.createToggleTitleBar():this.createDefaultTitleBar();this.eToolbar.insertAdjacentElement("beforebegin",Q.getGui())}createDefaultTitleBar(){let Q=this.createManagedBean(new Ef(this.params));return this.eTitleBar=Q,Q.refreshOnExpand(this.expanded),this.addManagedListeners(Q,{expandedChanged:(z)=>this.toggleGroupExpand(z.expanded)}),Q}createToggleTitleBar(){let Q=this.createManagedBean(new N6({value:this.enabled,label:this.params.title,labelAlignment:"left",labelWidth:"flex",onValueChange:(z)=>{this.setEnabled(z,!0),this.dispatchEnableChangeEvent(z)}}));return Q.addCss("ag-group-title-bar"),Q.addCss(`ag-${this.params.cssIdentifier??"default"}-group-title-bar ag-unselectable`),this.eToggle=Q,this.toggleGroupExpand(this.enabled),Q}},c6="ag-disabled-group-title-bar";function Bf(Q){let z=Q.cssIdentifier??"default";return{tag:"div",cls:`ag-group-title-bar ag-${z}-group-title-bar ag-unselectable`,role:Q.suppressKeyboardNavigation?"presentation":"group",children:[{tag:"span",ref:"eGroupOpenedIcon",cls:`ag-group-title-bar-icon ag-${z}-group-title-bar-icon`,role:"presentation"},{tag:"span",ref:"eGroupClosedIcon",cls:`ag-group-title-bar-icon ag-${z}-group-title-bar-icon`,role:"presentation"},{tag:"span",ref:"eTitle",cls:`ag-group-title ag-${z}-group-title`}]}}var Ef=class extends p0{constructor(Q={}){super(Bf(Q));this.suppressOpenCloseIcons=!1,this.suppressKeyboardNavigation=!1,this.eGroupOpenedIcon=S,this.eGroupClosedIcon=S,this.eTitle=S;let{title:z,suppressOpenCloseIcons:J,suppressKeyboardNavigation:Z}=Q;if(!!z&&z.length>0)this.title=z;if(J!=null)this.suppressOpenCloseIcons=J;this.suppressKeyboardNavigation=Z??!1}postConstruct(){this.setTitle(this.title),this.hideOpenCloseIcons(this.suppressOpenCloseIcons),this.setupExpandContract()}setupExpandContract(){let Q=this.beans.iconSvc;this.eGroupClosedIcon.appendChild(Q.createIconNoSpan("accordionClosed")),this.eGroupOpenedIcon.appendChild(Q.createIconNoSpan("accordionOpen")),this.addManagedElementListeners(this.getGui(),{click:()=>this.dispatchExpandChanged(),keydown:(z)=>{switch(z.key){case V.ENTER:case V.SPACE:z.preventDefault(),this.dispatchExpandChanged();break;case V.RIGHT:case V.LEFT:z.preventDefault(),this.dispatchExpandChanged(z.key===V.RIGHT);break}}})}refreshOnExpand(Q){this.refreshAriaStatus(Q),this.refreshOpenCloseIcons(Q)}refreshAriaStatus(Q){if(!this.suppressOpenCloseIcons)w0(this.getGui(),Q)}refreshOpenCloseIcons(Q){let z=!this.suppressOpenCloseIcons;N(this.eGroupOpenedIcon,z&&Q),N(this.eGroupClosedIcon,z&&!Q)}isSuppressCollapse(){return this.suppressOpenCloseIcons}dispatchExpandChanged(Q){let z={type:"expandedChanged",expanded:Q};this.dispatchLocalEvent(z)}setTitle(Q){let z=this.getGui(),J=!!Q&&Q.length>0;if(Q=J?Q:void 0,this.eTitle.textContent=Q??"",N(z,J),Q!==this.title)this.title=Q;let Z=z.classList.contains(c6);return this.refreshDisabledStyles(Z),this}addWidget(Q){return this.getGui().appendChild(Q),this}hideOpenCloseIcons(Q){if(this.suppressOpenCloseIcons=Q,Q)this.dispatchExpandChanged(!0);return this}refreshDisabledStyles(Q){let z=this.getGui();if(Q)z.classList.add(c6),z.removeAttribute("tabindex"),H0(z,"presentation");else if(z.classList.remove(c6),typeof this.title==="string"&&!this.suppressKeyboardNavigation)this.activateTabIndex([z]),H0(z,"group");else z.removeAttribute("tabindex"),H0(z,"presentation")}};var J0="35.2.0",I0={moduleName:"EnterpriseCore",version:J0,beans:[PX],icons:{accordionOpen:"tree-open",accordionClosed:"tree-closed",accordionIndeterminate:"tree-indeterminate",close:"cross",cancel:"cancel",maximize:"maximize",minimize:"minimize",columnDrag:"grip"},dependsOn:[],setLicenseKey:PX.setLicenseKey};var Kf={stopPropagationCallbacks:Uz,focusNextContainer:(Q,z)=>{return $Q(Q,z)},configureFocusableContainer:(Q,z)=>{let J=Q.ctrlsSvc.get("gridCtrl");J.addFocusableContainer(z),z.addDestroyFunc(()=>J.removeFocusableContainer(z))}},Lf=class extends Xf{constructor(Q){super(Q,Kf)}getFocusableContainerName(){return"dialog"}};var OY=class extends eV{constructor(Q){super(Uz,Q)}};var Ff=class extends zf{};function Df(Q){return Q.sideBar?.comp.isDisplayed()??!1}function Mf(Q,z){Q.sideBar?.comp.setDisplayed(z)}function kf(Q,z){Q.sideBar?.comp.setSideBarPosition(z)}function Vf(Q,z,J){Q.sideBar?.comp.openToolPanel(z,"api",J)}function ff(Q){Q.sideBar?.comp.close("api")}function Af(Q){return Q.sideBar?.comp.openedItem()??null}function jf(Q){Q.sideBar?.comp.refresh()}function Rf(Q){return Q.sideBar?.comp.isToolPanelShowing()??!1}function Sf(Q,z){let J=Q.sideBar?.comp.getToolPanelInstance(z);return mQ(J)}function Of(Q){return Q.sideBar?.comp.getDef()}var Pf=`.ag-tool-panel-wrapper{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--ag-horizontal-size,var(--ag-side-bar-panel-width))}.ag-tool-panel-content{display:flex;height:100%;overflow:hidden auto}.ag-tool-panel-wrapper.ag-tool-panel-animating{
/* !important required to override .ag-hidden to tool panel remains visible while animating */display:block!important;transition:width var(--ag-side-bar-panel-animation-duration) ease-in-out}@media (prefers-reduced-motion:reduce){.ag-tool-panel-wrapper.ag-tool-panel-animating{transition:none}}.ag-tool-panel-external{display:flex;flex-direction:row}:where(.ag-tool-panel-external) .ag-tool-panel-wrapper{flex-grow:1}.ag-select-agg-func-item{align-items:center;display:flex;flex:1 1 auto;flex-flow:row nowrap;height:100%;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}.ag-tool-panel-horizontal-resize{cursor:ew-resize;height:100%;position:absolute;top:0;width:5px;z-index:1}.ag-side-bar{background-color:var(--ag-side-bar-background-color);display:flex;flex-direction:row-reverse;position:relative}:where(.ag-ltr) :where(.ag-side-bar-left) .ag-tool-panel-horizontal-resize{right:-3px}:where(.ag-rtl) :where(.ag-side-bar-left) .ag-tool-panel-horizontal-resize{left:-3px}:where(.ag-ltr) :where(.ag-side-bar-right) .ag-tool-panel-horizontal-resize{left:-3px}:where(.ag-rtl) :where(.ag-side-bar-right) .ag-tool-panel-horizontal-resize{right:-3px}.ag-side-bar-left{flex-direction:row;order:-1}.ag-side-buttons{background-color:var(--ag-side-button-bar-background-color);padding-top:var(--ag-side-button-bar-top-padding);position:relative}.ag-side-button{background-color:var(--ag-side-button-background-color);border-bottom:var(--ag-side-button-border);border-top:var(--ag-side-button-border);color:var(--ag-side-button-text-color);margin-top:-1px;position:relative}.ag-side-button:before{background-color:transparent;bottom:0;content:"";display:block;position:absolute;top:0;transition:background-color var(--ag-side-button-selected-underline-transition-duration);width:var(--ag-side-button-selected-underline-width)}:where(.ag-ltr) .ag-side-button:before{left:0}:where(.ag-rtl) .ag-side-button:before{right:0}.ag-side-button:hover{background-color:var(--ag-side-button-hover-background-color);color:var(--ag-side-button-hover-text-color)}.ag-side-button.ag-selected{background-color:var(--ag-side-button-selected-background-color);border-bottom:var(--ag-side-button-selected-border);border-top:var(--ag-side-button-selected-border);color:var(--ag-side-button-selected-text-color)}.ag-side-button.ag-selected:before{background-color:var(--ag-side-button-selected-underline-color)}.ag-side-button-button{align-items:center;display:flex;flex-direction:column;gap:var(--ag-spacing);position:relative;white-space:nowrap;width:100%;&:focus{box-shadow:none}}:where(.ag-ltr) .ag-side-button-button{padding:var(--ag-side-button-vertical-padding) var(--ag-side-button-right-padding) var(--ag-side-button-vertical-padding) var(--ag-side-button-left-padding)}:where(.ag-rtl) .ag-side-button-button{padding:var(--ag-side-button-vertical-padding) var(--ag-side-button-left-padding) var(--ag-side-button-vertical-padding) var(--ag-side-button-right-padding)}.ag-side-button-button:focus-visible{box-shadow:inset var(--ag-focus-shadow)}.ag-side-button-label{writing-mode:vertical-lr}@media (resolution <= 1.5x){.ag-side-button-label{font-family:"Segoe UI",var(--ag-font-family)}:where(.ag-ltr) .ag-side-button-label{transform:rotate(.05deg)}:where(.ag-rtl) .ag-side-button-label{transform:rotate(-.05deg)}}:where(.ag-ltr) .ag-side-bar-left,:where(.ag-rtl) .ag-side-bar-right{border-right:var(--ag-side-panel-border);:where(.ag-tool-panel-wrapper){border-left:var(--ag-side-panel-border)}}:where(.ag-ltr) .ag-side-bar-right,:where(.ag-rtl) .ag-side-bar-left{border-left:var(--ag-side-panel-border);:where(.ag-tool-panel-wrapper){border-right:var(--ag-side-panel-border)}}`,Tf={tag:"div",cls:"ag-side-button",role:"presentation",children:[{tag:"button",ref:"eToggleButton",cls:"ag-button ag-side-button-button",role:"tab",attrs:{type:"button",tabindex:"-1","aria-expanded":"false"},children:[{tag:"div",ref:"eIconWrapper",cls:"ag-side-button-icon-wrapper",attrs:{"aria-hidden":"true"}},{tag:"span",ref:"eLabel",cls:"ag-side-button-label"}]}]},vf=class extends x{constructor(Q){super();this.toolPanelDef=Q,this.eToggleButton=S,this.eIconWrapper=S,this.eLabel=S}getToolPanelId(){return this.toolPanelDef.id}postConstruct(){this.setTemplate(Tf,[]),this.setLabel(),this.setIcon(),this.addManagedElementListeners(this.eToggleButton,{click:this.onButtonPressed.bind(this)}),this.eToggleButton.setAttribute("id",`ag-${this.getCompId()}-button`)}setLabel(){let Q=this.toolPanelDef,z=this.getLocaleTextFunc()(Q.labelKey,Q.labelDefault);this.eLabel.textContent=z}setIcon(){this.eIconWrapper.insertAdjacentElement("afterbegin",h(this.toolPanelDef.iconKey,this.beans))}onButtonPressed(){this.dispatchLocalEvent({type:"toggleButtonClicked"})}setSelected(Q){this.toggleCss("ag-selected",Q),w0(this.eToggleButton,Q)}},If={tag:"div",cls:"ag-side-buttons",role:"tablist"},Cf=class extends x{constructor(){super(If);this.buttonComps=[]}postConstruct(){this.addManagedElementListeners(this.getFocusableElement(),{keydown:this.handleKeyDown.bind(this)})}handleKeyDown(Q){if(Q.key!==V.TAB||!Q.shiftKey)return;if($Q(this.beans,!0)){Q.preventDefault();return}i0(Q)}setActiveButton(Q){for(let z of this.buttonComps)z.setSelected(Q===z.getToolPanelId())}addButtonComp(Q){let z=this.createBean(new vf(Q));return this.buttonComps.push(z),this.appendChild(z),z.addEventListener("toggleButtonClicked",()=>{this.dispatchLocalEvent({type:"sideBarButtonClicked",toolPanelId:Q.id})}),z}clearButtons(){this.buttonComps=this.destroyBeans(this.buttonComps),z0(this.getGui())}destroy(){this.clearButtons(),super.destroy()}},bf={selector:"AG-SIDE-BAR-BUTTONS",component:Cf},PY={id:"columns",labelDefault:"Columns",labelKey:"columns",iconKey:"columnsToolPanel",toolPanel:"agColumnsToolPanel"},TY={id:"filters",labelDefault:"Filters",labelKey:"filters",iconKey:"filtersToolPanel",toolPanel:"agFiltersToolPanel"},yf={id:"filters-new",labelDefault:"Filters",labelKey:"filters",iconKey:"filtersToolPanel",toolPanel:"agNewFiltersToolPanel"},SJ={columns:PY,filters:TY,"filters-new":yf};function Q7(Q){if(!Q)return;if(Q===!0)return{toolPanels:[PY,TY],defaultToolPanel:"columns"};if(typeof Q==="string")return Q7([Q]);if(Array.isArray(Q)){let z=[];for(let J of Q){let Z=SJ[J];if(!Z){R(215,{key:J,defaultByKey:SJ});continue}z.push(Z)}if(z.length===0)return;return{toolPanels:z,defaultToolPanel:z[0].id}}return{toolPanels:xf(Q.toolPanels),defaultToolPanel:Q.defaultToolPanel,hiddenByDefault:Q.hiddenByDefault,position:Q.position,hideButtons:Q.hideButtons}}function xf(Q){let z=[];if(!Q)return z;return Q.forEach((J)=>{let Z=wf(J);if(!Z)return;z.push(Z)}),z}function wf(Q){if(typeof Q!=="string")return Q;if(SJ[Q])return SJ[Q];return R(215,{key:Q,defaultByKey:SJ}),null}var Nf=class extends x{constructor(){super({tag:"div",cls:"ag-tool-panel-horizontal-resize"});this.minWidth=100,this.maxWidth=null}postConstruct(){let Q=this.beans.horizontalResizeSvc.addResizeBar({eResizeBar:this.getGui(),dragStartPixels:1,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this),onResizeEnd:this.onResizeEnd.bind(this)});this.addDestroyFunc(Q),this.inverted=this.gos.get("enableRtl")}dispatchResizeEvent(Q,z,J){this.eventSvc.dispatchEvent({type:"toolPanelSizeChanged",width:J,started:Q,ended:z})}onResizeStart(){this.startingWidth=this.elementToResize.offsetWidth,this.dispatchResizeEvent(!0,!1,this.startingWidth)}onResizeEnd(Q){return this.onResizing(Q,!0)}onResizing(Q,z=!1){let J=this.inverted?-1:1,Z=Math.max(this.minWidth,Math.floor(this.startingWidth-Q*J));if(this.maxWidth!=null)Z=Math.min(this.maxWidth,Z);this.elementToResize.style.setProperty("--ag-horizontal-size",`${Z}px`),this.dispatchResizeEvent(!1,z,Z)}};function gf(Q,z,J){return Q.getCompDetails(z,hf,void 0,J,!0)}var hf={name:"toolPanel",optionalMethods:["refresh","getState"]},uf={tag:"div",cls:"ag-tool-panel-wrapper",role:"tabpanel",children:[{tag:"div",cls:"ag-tool-panel-content",ref:"eContent"}]},mf=class extends x{constructor(){super(uf);this.eContent=S,this.animationId=0,this.defParent=null}postConstruct(){let Q=this.getGui(),z=this.resizeBar=this.createManagedBean(new Nf);Q.setAttribute("id",`ag-${this.getCompId()}`),z.elementToResize=Q,this.appendChild(z)}getToolPanelId(){return this.toolPanelId}getDefParent(){return this.defParent}setDefParent(Q){this.defParent=Q}setToolPanelDef(Q,z){let{id:J,minWidth:Z,maxWidth:$,width:X,parent:Y}=Q;if(this.toolPanelId=J,this.defParent=Y??null,X)this.getGui().style.setProperty("--ag-side-bar-panel-width",`${X}px`);let G=gf(this.beans.userCompFactory,Q,z);if(G==null)return!1;let q=G.newAgStackInstance();this.params=G.params,q.then(this.setToolPanelComponent.bind(this));let H=this.resizeBar;if(Z!=null)H.minWidth=Z;if($!=null)H.maxWidth=$;return!0}setToolPanelComponent(Q){this.toolPanelCompInstance=Q;let{eContent:z}=this;z.appendChild(Q.getGui()),this.addDestroyFunc(()=>{this.destroyBean(Q)})}getToolPanelInstance(){return this.toolPanelCompInstance}setResizerSizerSide(Q){let z=this.gos.get("enableRtl"),J=Q==="left",Z=z?J:!J;this.resizeBar.inverted=Z}refresh(){this.toolPanelCompInstance?.refresh(this.params)}animateDisplayed(Q){if(this.isDisplayed()===Q)return;let z=++this.animationId,{eContent:J}=this,Z=()=>{if(this.animationId===z)$.classList.remove("ag-tool-panel-animating"),J.style.width="",$.style.width=""},$=this.getGui(),X=$.offsetWidth;this.setDisplayed(Q),$.classList.add("ag-tool-panel-animating");let Y=getComputedStyle($).transitionDuration;if(!parseFloat(Y)){Z();return}$.style.transition="none",$.style.width="",J.style.width=`${J.offsetWidth}px`,$.style.width=`${X}px`;let G=$.offsetWidth;$.style.transition="",$.style.width=Q?"":"0";let q=setTimeout(Z,100);$.addEventListener("transitionstart",()=>clearTimeout(q),{once:!0}),$.addEventListener("transitionend",Z,{once:!0})}},cf={tag:"div",cls:"ag-side-bar ag-unselectable",children:[{tag:"ag-side-bar-buttons",ref:"sideBarButtons"}]},pf=class extends x{constructor(){super(cf,[bf]);this.sideBarButtons=S,this.toolPanelWrappers=[],this.registerCSS(Pf)}postConstruct(){this.sideBarButtons.addEventListener("sideBarButtonClicked",this.onToolPanelButtonClicked.bind(this));let{beans:Q,gos:z}=this,{sideBar:J}=z.get("initialState")??{};this.setSideBarDef({sideBarDef:Q7(z.get("sideBar")),sideBarState:J}),this.addManagedPropertyListener("sideBar",()=>this.setState()),Q.sideBar.comp=this;let Z=this.getFocusableElement();this.createManagedBean(new cQ(Z,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this)})),Bz(Q,this,Z),this.addManagedPropertyListener("enableAdvancedFilter",this.onAdvancedFilterChanged.bind(this))}getFocusableContainerName(){return"sideBar"}onTabKeyDown(Q){if(Q.defaultPrevented)return;let{beans:z,sideBarButtons:J}=this,Z=this.getGui(),$=J.getGui(),X=d(z),Y=Z.querySelector(".ag-tool-panel-wrapper:not(.ag-hidden)"),G=Q.target,q=Q.shiftKey;if(!Y){if($Q(z,q,!0))return Q.preventDefault(),!0;return p9(Q),!1}if($.contains(X)){if(D0(Y,q))Q.preventDefault();return}if(!q)return;let H=null;if(Y.contains(X))H=R0(z,Y,void 0,!0);else if(SY(Y,G))H=e6(Y,G);if(!H)H=$.querySelector(".ag-selected button"),H=f0(H)?H:null;if(H&&H!==Q.target)Q.preventDefault(),H.focus()}handleKeyDown(Q){let z=d(this.beans),J=this.sideBarButtons;if(!J.getGui().contains(z))return;let Z=J.getGui(),$=Array.prototype.slice.call(Z.querySelectorAll(".ag-side-button")),X=$.findIndex((q)=>q.contains(z)),Y=null;switch(Q.key){case V.LEFT:case V.UP:Y=Math.max(0,X-1);break;case V.RIGHT:case V.DOWN:Y=Math.min(X+1,$.length-1);break}if(Y===null)return;let G=$[Y].querySelector("button");if(G)G.focus(),Q.preventDefault()}onToolPanelButtonClicked(Q){let z=Q.toolPanelId;if(this.openedItem()===z)this.openToolPanel(void 0,"sideBarButtonClicked");else this.openToolPanel(z,"sideBarButtonClicked")}clearDownUi(){this.sideBarButtons.clearButtons(),this.destroyToolPanelWrappers()}setSideBarDef({sideBarDef:Q,sideBarState:z,existingToolPanelWrappers:J}){if(this.setDisplayed(!1),this.sideBar=Q,Q)this.sideBarButtons.setDisplayed(!Q.hideButtons);if(Q?.toolPanels){let Z=Q.toolPanels;if(this.createToolPanelsAndSideButtons(Z,z,J),!this.toolPanelWrappers.length)return;let $=z?z.visible:!Q.hiddenByDefault;if(this.setDisplayed($),this.setSideBarPosition(z?z.position:Q.position),$)if(z){let{openToolPanel:X}=z;if(X)this.openToolPanel(X,"sideBarInitializing")}else this.openToolPanel(Q.defaultToolPanel,"sideBarInitializing")}}getDef(){return this.sideBar}setSideBarPosition(Q){if(!Q)Q="right";this.position=Q;let z=Q==="left",J=z?"right":"left";this.toggleCss("ag-side-bar-left",z),this.toggleCss("ag-side-bar-right",!z);for(let Z of this.toolPanelWrappers)Z.setResizerSizerSide(J);return this.dispatchSideBarUpdated(),this}setDisplayed(Q,z){super.setDisplayed(Q,z),this.dispatchSideBarUpdated()}getState(){let Q={};for(let z of this.toolPanelWrappers)Q[z.getToolPanelId()]=z.getToolPanelInstance()?.getState?.();return{visible:this.isDisplayed(),position:this.position,openToolPanel:this.openedItem(),toolPanels:Q}}createToolPanelsAndSideButtons(Q,z,J){for(let Z of Q)this.createToolPanelAndSideButton(Z,z?.toolPanels?.[Z.id],J?.[Z.id])}validateDef(Q){let{id:z,toolPanel:J}=Q;if(z==null)return R(212),!1;if(gX(J)){if(this.beans.filterManager?.isAdvFilterEnabled())return R(213),!1}return!0}createToolPanelAndSideButton(Q,z,J){if(!this.validateDef(Q)){this.destroyBean(J);return}let Z;if(J)Z=J,Z.setDefParent(Q.parent??null);else if(Z=this.createBean(new mf),!Z.setToolPanelDef(Q,y(this.gos,{initialState:z,onStateUpdated:()=>this.dispatchSideBarUpdated()})))return;Z.setDisplayed(!1),this.renderToolPanelUnderParent(Z,Q.parent),this.toolPanelWrappers.push(Z);let $=this.sideBarButtons.addButtonComp(Q);C8($.eToggleButton,Z.getGui())}refresh(){for(let Q of this.toolPanelWrappers)Q.refresh()}renderToolPanelUnderParent(Q,z){let J=Q.getGui();if(z)this.beans.environment.applyThemeClasses(z,["ag-external","ag-tool-panel-external"]),J.classList.add(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr");let Z=z??Q.getDefParent()??this.getGui();if(J.parentElement!==Z)Z.appendChild(J)}getWrapper(Q){return this.toolPanelWrappers.find((z)=>z.getToolPanelId()===Q)}openToolPanel(Q,z="api",J){let Z=this.openedItem(),X=!!Q&&!!Z||z==="sideBarInitializing";for(let q of this.toolPanelWrappers){let H=Q===q.getToolPanelId();if(H)this.renderToolPanelUnderParent(q,J??null);if(X)q.setDisplayed(H);else q.animateDisplayed(H)}let Y=this.openedItem();if(Z!==Y)this.sideBarButtons.setActiveButton(Q),this.raiseToolPanelVisibleEvent(Q,Z??void 0,z)}getToolPanelInstance(Q){let z=this.getWrapper(Q);if(!z){R(214,{key:Q});return}return z.getToolPanelInstance()}raiseToolPanelVisibleEvent(Q,z,J){let Z=!!Q&&!!z,$=this.eventSvc;if(z)$.dispatchEvent({type:"toolPanelVisibleChanged",source:J,key:z,visible:!1,switchingToolPanel:Z});if(Q)$.dispatchEvent({type:"toolPanelVisibleChanged",source:J,key:Q,visible:!0,switchingToolPanel:Z})}close(Q="api"){this.openToolPanel(void 0,Q)}isToolPanelShowing(){return!!this.openedItem()}openedItem(){let Q=null;for(let z of this.toolPanelWrappers)if(z.isDisplayed())Q=z.getToolPanelId();return Q}setState(Q){let z=Q7(this.gos.get("sideBar")),J={};if(z&&this.sideBar)z.toolPanels?.forEach((Z)=>{let{id:$}=Z;if(!$)return;let X=this.sideBar.toolPanels?.find((H)=>H.id===$);if(!X||Z.toolPanel!==X.toolPanel)return;let Y=this.getWrapper($);if(!Y)return;let G=y(this.gos,{...Z.toolPanelParams??{},initialState:Q?.toolPanels?.[$],onStateUpdated:()=>this.dispatchSideBarUpdated()});if(Y.getToolPanelInstance()?.refresh(G)!==!0)return;this.toolPanelWrappers=this.toolPanelWrappers.filter((H)=>H!==Y),T0(Y.getGui()),J[$]=Y});this.clearDownUi(),this.setSideBarDef({sideBarDef:z,sideBarState:Q,existingToolPanelWrappers:J})}dispatchSideBarUpdated(){this.eventSvc.dispatchEvent({type:"sideBarUpdated"})}destroyToolPanelWrappers(){for(let Q of this.toolPanelWrappers)T0(Q.getGui()),this.destroyBean(Q);this.toolPanelWrappers.length=0}onAdvancedFilterChanged(){if(this.sideBar?.toolPanels?.some((z)=>gX(typeof z==="string"?z:z.toolPanel)))this.setState()}destroy(){this.destroyToolPanelWrappers(),super.destroy()}};function gX(Q){return Q==="agFiltersToolPanel"||Q==="agNewFiltersToolPanel"}var nf={selector:"AG-SIDE-BAR",component:pf},df=class extends j{constructor(){super(...arguments);this.beanName="sideBar"}getSelector(){return nf}},$7={moduleName:"SideBar",version:J0,beans:[df],apiFunctions:{isSideBarVisible:Df,setSideBarVisible:Mf,setSideBarPosition:kf,openToolPanel:Vf,closeToolPanel:ff,getOpenedToolPanel:Af,refreshToolPanel:jf,isToolPanelShowing:Rf,getToolPanelInstance:Sf,getSideBar:Of},dependsOn:[I0,B6]},tf='.ag-menu-list{cursor:default;display:table;padding:var(--ag-spacing) 0;width:100%}.ag-menu-option,.ag-menu-separator{display:table-row}.ag-menu-option-part,.ag-menu-separator-part{display:table-cell;vertical-align:middle}.ag-menu-option{cursor:pointer;font-weight:500}:where(.ag-ltr) :where(.ag-menu-option-popup-pointer) .ag-icon{text-align:right}:where(.ag-rtl) :where(.ag-menu-option-popup-pointer) .ag-icon{text-align:left}.ag-menu-option-text{white-space:nowrap}.ag-menu-option-custom{display:contents}.ag-compact-menu-option{display:flex;flex-wrap:nowrap;width:100%}.ag-compact-menu-option-text{flex:1 1 auto;white-space:nowrap}.ag-menu-separator{height:calc(var(--ag-spacing)*2 + 1px)}.ag-menu-separator-part:after{border-top:solid var(--ag-border-width) var(--ag-menu-separator-color);content:"";display:block}.ag-compact-menu-option-active,.ag-menu-option-active{background-color:var(--ag-row-hover-color)}.ag-compact-menu-option-part,.ag-menu-option-part{line-height:var(--ag-icon-size);padding:calc(var(--ag-spacing) + 2px) 0}.ag-compact-menu-option-disabled,.ag-menu-option-disabled{cursor:not-allowed;opacity:.5}.ag-compact-menu-option-icon,.ag-menu-option-icon{width:var(--ag-icon-size)}:where(.ag-ltr) .ag-compact-menu-option-icon,:where(.ag-ltr) .ag-menu-option-icon{padding-left:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-compact-menu-option-icon,:where(.ag-rtl) .ag-menu-option-icon{padding-right:calc(var(--ag-spacing)*2)}.ag-compact-menu-option-text,.ag-menu-option-text{padding-left:calc(var(--ag-spacing)*2);padding-right:calc(var(--ag-spacing)*2)}:where(.ag-ltr) .ag-compact-menu-option-shortcut,:where(.ag-ltr) .ag-menu-option-shortcut{padding-right:var(--ag-spacing)}:where(.ag-rtl) .ag-compact-menu-option-shortcut,:where(.ag-rtl) .ag-menu-option-shortcut{padding-left:var(--ag-spacing)}:where(.ag-ltr) .ag-compact-menu-option-popup-pointer,:where(.ag-ltr) .ag-menu-option-popup-pointer{padding-right:var(--ag-spacing)}:where(.ag-rtl) .ag-compact-menu-option-popup-pointer,:where(.ag-rtl) .ag-menu-option-popup-pointer{padding-left:var(--ag-spacing)}.ag-menu-column-select-wrapper{height:265px;overflow:auto;:where(.ag-column-select){height:100%}}.ag-menu:where(.ag-tabs){min-width:290px}.ag-context-menu-loading-icon{pointer-events:none;position:absolute}',vY=class extends Gf{constructor(){super({warnNoIcon:()=>R(227)})}},X7={moduleName:"MenuItem",version:J0,userComponents:{agMenuItem:vY},icons:{check:"tick",subMenuOpen:"small-right",subMenuOpenRtl:"small-left"},css:[tf]},rf=".ag-column-select{display:flex;flex:3 1 0px;flex-direction:column;overflow:hidden;position:relative}.ag-column-select-header{flex:none;height:var(--ag-header-height);padding-left:var(--ag-widget-container-horizontal-padding);padding-right:var(--ag-widget-container-horizontal-padding)}.ag-column-select-column,.ag-column-select-column-group,.ag-column-select-header{align-items:center;display:flex;gap:var(--ag-widget-horizontal-spacing);position:relative}.ag-column-select-column,.ag-column-select-column-group{height:100%}:where(.ag-ltr) .ag-column-select-column,:where(.ag-ltr) .ag-column-select-column-group{padding-left:calc(var(--ag-indentation-level)*var(--ag-column-select-indent-size))}:where(.ag-rtl) .ag-column-select-column,:where(.ag-rtl) .ag-column-select-column-group{padding-right:calc(var(--ag-indentation-level)*var(--ag-column-select-indent-size))}.ag-column-select-column-group:where(:not(:last-child)),.ag-column-select-column:where(:not(:last-child)){margin-bottom:var(--ag-widget-vertical-spacing)}.ag-column-select-header-icon{border-radius:var(--ag-border-radius);cursor:pointer;height:var(--ag-icon-size);position:relative;width:var(--ag-icon-size);&:focus-visible{box-shadow:var(--ag-focus-shadow)}}.ag-column-select-header-filter-wrapper{flex:1 1 auto}.ag-column-select-header-filter{width:100%}.ag-column-select-list{flex:1 1 0px;overflow:hidden}:where(.ag-ltr) .ag-column-select-add-group-indent{margin-left:calc(var(--ag-icon-size) + var(--ag-spacing)*1.5)}:where(.ag-rtl) .ag-column-select-add-group-indent{margin-right:calc(var(--ag-icon-size) + var(--ag-spacing)*1.5)}.ag-column-select-column-group-readonly,.ag-column-select-column-readonly{opacity:.5;pointer-events:none;.ag-icon{opacity:.5}&.ag-icon-grip{opacity:.35}}.ag-column-select-column-readonly{&.ag-icon-grip,.ag-icon-grip{opacity:.35}}.ag-column-select-virtual-list-viewport{padding:calc(var(--ag-widget-container-vertical-padding)*.5) 0}.ag-column-select-virtual-list-item{padding:0 var(--ag-widget-container-horizontal-padding)}.ag-column-select-column-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-column-select-checkbox{display:flex}",sf=300,lf={tag:"div",cls:"ag-column-select-header",role:"presentation",children:[{tag:"div",ref:"eExpand",cls:"ag-column-select-header-icon"},{tag:"ag-checkbox",ref:"eSelect",cls:"ag-column-select-header-checkbox"},{tag:"ag-input-text-field",ref:"eFilterTextField",cls:"ag-column-select-header-filter-wrapper"}]},af=class extends x{constructor(){super(lf,[yQ,T6]);this.eExpand=S,this.eSelect=S,this.eFilterTextField=S}postConstruct(){this.createExpandIcons(),this.addManagedListeners(this.eExpand,{click:this.onExpandClicked.bind(this),keydown:(z)=>{if(z.key===V.SPACE)z.preventDefault(),this.onExpandClicked()}}),this.addManagedElementListeners(this.eSelect.getInputElement(),{click:this.onSelectClicked.bind(this)}),this.addManagedPropertyListener("functionsReadOnly",()=>this.onFunctionsReadOnlyPropChanged()),this.eFilterTextField.setAutoComplete(!1).onValueChange(()=>this.onFilterTextChanged()),this.addManagedEventListeners({newColumnsLoaded:this.showOrHideOptions.bind(this)});let Q=this.getLocaleTextFunc();this.eSelect.setInputAriaLabel(Q("ariaColumnSelectAll","Toggle All Columns Visibility")),this.eFilterTextField.setInputAriaLabel(Q("ariaFilterColumnsInput","Filter Columns Input")),this.activateTabIndex([this.eExpand])}onFunctionsReadOnlyPropChanged(){let Q=this.gos.get("functionsReadOnly");this.eSelect.setReadOnly(Q),this.eSelect.toggleCss("ag-column-select-column-readonly",Q)}init(Q){this.params=Q;let z=this.gos.get("functionsReadOnly");if(this.eSelect.setReadOnly(z),this.eSelect.toggleCss("ag-column-select-column-readonly",z),this.beans.colModel.ready)this.showOrHideOptions()}createExpandIcons(){let Q=this.beans;this.eExpand.appendChild(this.eExpandChecked=h("columnSelectOpen",Q)),this.eExpand.appendChild(this.eExpandUnchecked=h("columnSelectClosed",Q)),this.eExpand.appendChild(this.eExpandIndeterminate=h("columnSelectIndeterminate",Q)),this.setExpandState(0)}showOrHideOptions(){let Q=this.params,z=!Q.suppressColumnFilter,J=!Q.suppressColumnSelectAll,Z=!Q.suppressColumnExpandAll,$=!!this.beans.colModel.colDefCols?.treeDepth,X=this.getLocaleTextFunc();this.eFilterTextField.setInputPlaceholder(X("searchOoo","Search...")),N(this.eFilterTextField.getGui(),z),N(this.eSelect.getGui(),J),N(this.eExpand,Z&&$)}onFilterTextChanged(){if(!this.onFilterTextChangedDebounced)this.onFilterTextChangedDebounced=gQ(this,()=>{let Q=this.eFilterTextField.getValue();this.dispatchLocalEvent({type:"filterChanged",filterText:Q})},sf);this.onFilterTextChangedDebounced()}onSelectClicked(){this.dispatchLocalEvent({type:this.selectState?"unselectAll":"selectAll"})}onExpandClicked(){this.dispatchLocalEvent({type:this.expandState===0?"collapseAll":"expandAll"})}setExpandState(Q){this.expandState=Q,N(this.eExpandChecked,Q===0),N(this.eExpandUnchecked,Q===1),N(this.eExpandIndeterminate,Q===2)}setSelectionState(Q){this.selectState=Q,this.eSelect.setValue(this.selectState)}},of={selector:"AG-PRIMARY-COLS-HEADER",component:af};function P1(Q){return!!Q&&typeof Q.children<"u"}function Fz(Q){return P1(Q)?Q.groupId:Q.colId}function IY(Q,z,J){let Z=(Y,G)=>{let H=Y.children.map(Fz).includes(Fz(G)),_=b(Y.children),U=_&&Fz(_)!==Fz(G);return H&&U};if(!P1(Q))return!0;let $=Q,X=J;if(Z($,X))return $.children.push(X),!0;if($.groupId===z){if(!$.children.map(Fz).includes(Fz(X)))return $.children.push(X),!0}for(let Y=$.children.length-1;Y>=0;Y--)if(IY($.children[Y],z,J))break;return!1}function CY(Q){let z=($,X)=>{return P1($)&&P1(X)&&Fz($)===Fz(X)},J=($,X)=>{if(!P1(X))return $;let Y=$,G=X;if(G.children&&G.groupId){if(IY(Y,G.groupId,G.children[0]))return Y}for(let q of G.children)J(Y,q);return Y},Z=[];for(let $=1;$<=Q.length;$++){let X=Q[$-1],Y=Q[$];if(z(X,Y))Q[$]=J(X,Y);else Z.push(X)}return Z}function ef(Q,z){let J=[],Z=(X,Y)=>{if(P1(X)){let G=X,q=typeof G.groupId<"u"?G.groupId:G.headerName,H=new Cz(G,q,!1,Y),_=[];for(let U of G.children){let W=Z(U,Y+1);if(W)_.push(W)}return H.setChildren(_),H}else{let G=X,q=G.colId?G.colId:G.field,H=Q.getColDefCol(q);if(!H)J.push(G);return H}},$=[];for(let X of z){let Y=Z(X,0);if(Y)$.push(Y)}if(J.length>0)R(217,{invalidColIds:J});return $}function QA(Q,z){let J=bY(JA(Q)),Z=CY(J);z(Z)}function zA(Q,z){let J=bY(Q),Z=CY(J);z(Z)}function bY(Q){let z=(J,Z)=>{let $;if(G0(J))if(J.isPadding())$=Z;else{let Y=Object.assign({},J.getColGroupDef());Y.groupId=J.getGroupId(),Y.children=[Z],$=Y}else{let Y=Object.assign({},J.getColDef());Y.colId=J.getColId(),$=Y}let X=J.getOriginalParent();if(X)return z(X,$);else return $};return Q.map((J)=>z(J,J.getColDef()))}function JA(Q){return Q.getCols().filter((z)=>{let J=z.getColDef();return z.isPrimary()&&!J.showRowGroup})}var hX=class{constructor(Q,z,J,Z=!1,$){if(this.displayName=Q,this.depth=J,this.group=Z,this.localEventService=new KQ,Z)this.columnGroup=z,this._expanded=$,this.children=[];else this.column=z}get expanded(){return!!this._expanded}set expanded(Q){if(Q===this._expanded)return;this._expanded=Q,this.localEventService.dispatchEvent({type:"expandedChanged"})}addEventListener(Q,z){this.localEventService.addEventListener(Q,z)}removeEventListener(Q,z){this.localEventService.removeEventListener(Q,z)}};function i(Q){return!!Q?.buttons?.includes("apply")}function N0(Q,z){if(!i(z))return;let J=Q.sideBar?.comp.openedItem();if(!J)return;Q.sideBar?.comp.getToolPanelInstance(J)?.refreshDeferredUi()}function yY(Q,z,J,Z,$){let X=ZA(z);xY(Q,X,J,Z,$)}function xY(Q,z,J,Z,$){if(Q.columnStateUpdateStrategy.getPivotMode(i($)))XA(Q,z,J,Z,$);else $A(Q,z,J,Z,$)}function ZA(Q){let z=[],J=(Z)=>{for(let $ of Z){if(!$.passesFilter)continue;if($.group)J($.children);else z.push($.column)}};return J(Q),z}function $A(Q,z,J,Z,$){let X=Q.columnStateUpdateStrategy,Y=[];for(let G of z){if(G.getColDef().lockVisible)continue;if(X.isColumnVisibleInToolPanel(i($),G)!==J)Y.push({colId:G.getId(),hide:!J})}X.applyColumnState(i($),Y,Z),N0(Q,$)}function XA(Q,z,J,Z,$){YA(Q,z,J,Z,$)}function YA(Q,z,J,Z,$){let X=Q.columnStateUpdateStrategy,Y=[],H=J?(_)=>{if(X.isColumnSelectedInPivotModeToolPanel(i($),_))return;if(_.isAllowValue()){let U=typeof _.getAggFunc()==="string"?_.getAggFunc():Q.aggFuncSvc?.getDefaultAggFunc(_);Y.push({colId:_.getId(),aggFunc:U})}else if(_.isAllowRowGroup())Y.push({colId:_.getId(),rowGroup:!0});else if(_.isAllowPivot())Y.push({colId:_.getId(),pivot:!0})}:(_)=>{if(X.isColumnSelectedInPivotModeToolPanel(i($),_))Y.push({colId:_.getId(),pivot:!1,rowGroup:!1,aggFunc:null})};z.forEach(H),X.applyColumnState(i($),Y,Z),N0(Q,$)}function wY(Q,z){let{columns:J,visibleState:Z,pivotState:$,eventType:X}=z,Y=Q.columnStateUpdateStrategy,G=Y.getPivotMode(i(z)),q=J.map((H)=>{let _=H.getColId();if(G){let U=$?.[_];return{colId:_,pivot:U?.pivot,rowGroup:U?.rowGroup,aggFunc:U?.aggFunc}}else return{colId:_,hide:!Z?.[_]}});Y.applyColumnState(i(z),q,X),N0(Q,z)}function GA(Q){return{pivot:Q.isPivotActive(),rowGroup:Q.isRowGroupActive(),aggFunc:Q.isValueActive()?Q.getAggFunc():void 0}}function NY(Q,z,J){if(!J)return GA(Q);let Z=z.getRowGroupColumns(J).includes(Q),$=z.getPivotColumns(J).includes(Q),X=z.getValueColumns(J).includes(Q);return{pivot:$,rowGroup:Z,aggFunc:X?z.getColumnAggFunc(J,Q):void 0}}var gY=(Q,z)=>{if(!z)return[];let J=Q;for(let Z=0,$=z.length;Z<$&&J;++Z)J=J[z[Z]];return Array.isArray(J)?J:[]},O1=(Q,z,J)=>{let Z=Q.aggData;if(Z===z)return;if(Q.aggData=z,Q.__localEventService)qA(Q,Z,z,J)},uX=(Q,z,J)=>{O1(Q,z,J);let Z=Q.pinnedSibling;if(Z)O1(Z,z,J);let $=Q.sibling;if($){O1($,z,J);let X=$.pinnedSibling;if(X)O1(X,z,J)}},qA=(Q,z,J,Z)=>{if(!J){if(!z)return;let Y=Object.keys(z);for(let G=0,q=Y.length;G<q;++G){let H=Y[G],_=Z.getColById(H);if(_)Q.dispatchCellChangedEvent(_,void 0,z[H])}return}let $=Object.keys(J);for(let Y=0,G=$.length;Y<G;++Y){let q=$[Y],H=J[q],_=z?z[q]:void 0;if(H===_)continue;let U=Z.getColById(q);if(U)Q.dispatchCellChangedEvent(U,H,_)}if(!z)return;let X=Object.keys(z);for(let Y=0,G=X.length;Y<G;++Y){let q=X[Y];if(q in J)continue;let H=Z.getColById(q);if(H)Q.dispatchCellChangedEvent(H,void 0,z[q])}};var mX=(Q,z,J)=>{if(!Q)return;let Z=Q.group;if(Z===J)return;if(Q.group=J,Q.updateHasChildren(),Z&&!J)O1(Q,null,z.colModel),Q.setAllChildrenCount(null);z.selectionSvc?.updateRowSelectable(Q),Q.dispatchRowEvent("groupChanged")},hY=(Q,z,J)=>{mX(Q,z,J),mX(Q.pinnedSibling,z,J)},TJ=(Q,z)=>{let{gos:J,rowGroupColsSvc:Z}=z;if(!Z||!Q)return!1;let $=J.get("groupLockGroupColumns");if(!Q.isRowGroupActive()||$===0)return!1;if($===-1)return!0;let X=Z.columns.findIndex((Y)=>Y.getColId()===Q.getColId());return $>X},OJ=(Q,z,J)=>{let $=Q(z,`${z==="groupBy"?"Group by":"Un-Group by"} ${J}`,[J]);if($.indexOf(J)>=0)return $;else return`${$} ${J}`};function HA(Q){let z=s0(Q),J="getSelection"in z?z.getSelection():null,Z=[];for(let $=0;$<(J?.rangeCount??0);$++){let X=J?.getRangeAt($);if(X)Z.push(X)}return{selection:J,ranges:Z}}function _A(Q,z){if(!Q.gos.get("enableCellTextSelection"))return z();if(!yZ()&&!cz())return z();let{selection:Z,ranges:$}=HA(Q);z(),Z?.removeAllRanges();for(let X of $)Z?.addRange(X)}var UA={name:"menuItem",optionalMethods:["setActive","select","setExpanded","configureDefaults"]},uY={getMenuItemComp:(Q,z,J)=>{return Q.userCompFactory.getCompDetails(z,UA,"agMenuItem",y(Q.gos,J),!0)?.newAgStackInstance()??g.resolve()},getPostProcessPopupParams:({column:Q,node:z})=>({column:Q,rowNode:z}),preserveRangesWhile:_A,stopPropagationCallbacks:Uz,warnNoItem:(Q)=>{R(228,{menuItemOrString:Q})}},WA=class extends o6{constructor(){super(uY)}},mY=class extends RY{constructor(Q,z={column:null,node:null,value:null}){super(Q,z,uY)}},cY=class extends x{constructor(Q,z,J,Z={}){super({tag:"div",cls:"ag-menu"});this.column=Q,this.mouseEventOrTouch=z,this.parentEl=J,this.params=Z,this.displayName=null}postConstruct(){let{column:Q,beans:{colNames:z}}=this;this.initializeProperties(Q);let J;if(JQ(Q))J=z.getDisplayNameForColumn(Q,"columnToolPanel");else J=z.getDisplayNameForProvidedColumnGroup(null,Q,"columnToolPanel");if(this.displayName=J,this.buildMenuItemMap(),this.isActive()){let Z=this.mouseEventOrTouch;if("preventDefault"in Z)Z.preventDefault();let $=this.getMappedMenuItems();if($.length===0)return;this.displayContextMenu($)}}initializeProperties(Q){let z=this.beans.columnStateUpdateStrategy,J;if(G0(Q))J=Q.getLeafColumns();else J=[Q];this.columns=J;let Z=z.getPivotMode(i(this.params));this.allowScrollIntoView=!Z&&J.some(this.isColumnValidForScrollIntoView),this.allowGrouping=J.some(($)=>$.isPrimary()&&$.isAllowRowGroup()),this.allowValues=J.some(($)=>$.isPrimary()&&$.isAllowValue()),this.allowPivoting=Z&&J.some(($)=>$.isPrimary()&&$.isAllowPivot())}buildMenuItemMap(){let Q=this.getLocaleTextFunc(),{beans:z,displayName:J}=this,Z=this.beans.columnStateUpdateStrategy,$=new Map;this.menuItemMap=$;let X=i(this.params),Y=Z.getPivotMode(X),G=new Set(Z.getRowGroupColumns(X).map((B)=>B.getColId())),q=new Set(Z.getValueColumns(X).map((B)=>B.getColId())),H=new Set(Z.getPivotColumns(X).map((B)=>B.getColId()));$.set("scrollIntoView",{allowedFunction:(B)=>!B.isPinned()&&!Y&&this.isColumnValidForScrollIntoView(B),activeFunction:()=>!1,activateLabel:()=>Q("scrollColumnIntoView",`Scroll ${J} into View`,[J]),activateFunction:()=>{let B=this.columns.find(this.isColumnValidForScrollIntoView);if(B)this.beans.ctrlsSvc.getScrollFeature().ensureColumnVisible(B)},deActivateFunction:()=>{},addIcon:"ensureColumnVisible"});let _=(B)=>B.isPrimary()&&B.isAllowRowGroup()&&!TJ(B,z);$.set("rowGroup",{allowedFunction:_,activeFunction:(B)=>G.has(B.getColId()),activateLabel:()=>OJ(Q,"groupBy",J),deactivateLabel:()=>OJ(Q,"ungroupBy",J),activateFunction:()=>{let B=this.addColumnsToList(Z.getRowGroupColumns(X),_);Z.setRowGroupColumns(X,B,"toolPanelUi"),N0(this.beans,this.params)},deActivateFunction:()=>{let B=this.removeColumnsFromList(Z.getRowGroupColumns(X),_);Z.setRowGroupColumns(X,B,"toolPanelUi"),N0(this.beans,this.params)},addIcon:"menuAddRowGroup",removeIcon:"menuRemoveRowGroup"});let U=(B)=>B.isPrimary()&&B.isAllowValue();$.set("value",{allowedFunction:U,activeFunction:(B)=>q.has(B.getColId()),activateLabel:()=>Q("addToValues",`Add ${J} to values`,[J]),deactivateLabel:()=>Q("removeFromValues",`Remove ${J} from values`,[J]),activateFunction:()=>{let B=this.addColumnsToList(Z.getValueColumns(X),U);Z.setValueColumns(X,B,"toolPanelUi"),N0(this.beans,this.params)},deActivateFunction:()=>{let B=this.removeColumnsFromList(Z.getValueColumns(X),U);Z.setValueColumns(X,B,"toolPanelUi"),N0(this.beans,this.params)},addIcon:"valuePanel",removeIcon:"valuePanel"});let W=(B)=>Y&&B.isPrimary()&&B.isAllowPivot();$.set("pivot",{allowedFunction:W,activeFunction:(B)=>H.has(B.getColId()),activateLabel:()=>Q("addToLabels",`Add ${J} to labels`,[J]),deactivateLabel:()=>Q("removeFromLabels",`Remove ${J} from labels`,[J]),activateFunction:()=>{let B=this.addColumnsToList(Z.getPivotColumns(X),W);Z.setPivotColumns(X,B,"toolPanelUi"),N0(this.beans,this.params)},deActivateFunction:()=>{let B=this.removeColumnsFromList(Z.getPivotColumns(X),W);Z.setPivotColumns(X,B,"toolPanelUi"),N0(this.beans,this.params)},addIcon:"pivotPanel",removeIcon:"pivotPanel"})}isColumnValidForScrollIntoView(Q){if(!Q.isVisible())return!1;let J=Q.getParent();if(!J)return!0;return J.getDisplayedChildren()?.includes(Q)??!0}addColumnsToList(Q,z){return[...Q].concat(this.columns.filter((J)=>z(J)&&!Q.includes(J)))}removeColumnsFromList(Q,z){return Q.filter((J)=>!z(J)||!this.columns.includes(J))}displayContextMenu(Q){let z=this.getGui(),J=this.createBean(new mY),Z=this.getLocaleTextFunc(),$=()=>{};z.appendChild(J.getGui()),J.addMenuItems(Q),J.addManagedListeners(J,{closeMenu:()=>{this.parentEl.focus(),$()}});let X=this.beans.popupSvc,Y=X.addPopup({modal:!0,eChild:z,closeOnEsc:!0,afterGuiAttached:()=>D0(J.getGui()),ariaLabel:Z("ariaLabelContextMenu","Context Menu"),closedCallback:(G)=>{if(G instanceof KeyboardEvent)this.parentEl.focus();this.destroyBean(J)}});if(Y)$=Y.hideFunc;X.positionPopupUnderMouseEvent({type:"columnContextMenu",mouseEvent:this.mouseEventOrTouch,ePopup:z})}isActive(){return this.allowScrollIntoView||this.allowGrouping||this.allowValues||this.allowPivoting}getMappedMenuItems(){let Q=[],{menuItemMap:z,columns:J,displayName:Z,beans:$}=this;for(let X of z.values()){let Y=J.some((q)=>X.allowedFunction(q)&&!X.activeFunction(q)),G=J.some((q)=>X.allowedFunction(q)&&X.activeFunction(q));if(Y)Q.push({name:X.activateLabel(Z),icon:h(X.addIcon,$,null),action:()=>X.activateFunction()});if(G&&X.removeIcon&&X.deactivateLabel)Q.push({name:X.deactivateLabel(Z),icon:h(X.removeIcon,$,null),action:()=>X.deActivateFunction?.()})}return Q}},BA={tag:"div",cls:"ag-column-select-column-group",children:[{tag:"span",ref:"eColumnGroupIcons",cls:"ag-column-group-icons",children:[{tag:"span",ref:"eGroupClosedIcon",cls:"ag-column-group-closed-icon"},{tag:"span",ref:"eGroupOpenedIcon",cls:"ag-column-group-opened-icon"}]},{tag:"ag-checkbox",ref:"cbSelect",cls:"ag-column-select-checkbox"},{tag:"span",ref:"eLabel",cls:"ag-column-select-column-label"}]},pY=class extends x{constructor(Q,z,J,Z,$){super();this.modelItem=Q,this.allowDragging=z,this.eventType=J,this.focusWrapper=Z,this.params=$,this.cbSelect=S,this.eLabel=S,this.eGroupOpenedIcon=S,this.eGroupClosedIcon=S,this.eColumnGroupIcons=S,this.processingColumnStateChange=!1;let{columnGroup:X,depth:Y,displayName:G}=Q;this.columnGroup=X,this.columnDepth=Y,this.displayName=G}postConstruct(){this.setTemplate(BA,[yQ]);let{beans:Q,cbSelect:z,eLabel:J,displayName:Z,columnDepth:$,modelItem:X,focusWrapper:Y,columnGroup:G}=this,{registry:q,gos:H}=Q,_=h("columnDrag",Q);this.eDragHandle=_,_.classList.add("ag-drag-handle","ag-column-select-column-group-drag-handle");let U=z.getGui(),W=z.getInputElement();U.after(_),W.setAttribute("tabindex","-1"),J.textContent=Z??"",this.setupExpandContract(),this.addCss("ag-column-select-indent-"+$),this.getGui().style.setProperty("--ag-indentation-level",String($)),this.tooltipFeature=this.createOptionalManagedBean(q.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.focusWrapper,getLocation:()=>"columnToolPanelColumnGroup",shouldDisplayTooltip:tZ(H,()=>J)})),this.addManagedEventListeners({columnPivotModeChanged:this.onColumnStateChanged.bind(this)}),this.addManagedElementListeners(J,{click:this.onLabelClicked.bind(this)}),this.addManagedListeners(z,{fieldValueChanged:this.onCheckboxChanged.bind(this)}),this.addManagedListeners(X,{expandedChanged:this.onExpandChanged.bind(this)});let B=new h0(this.getGui(),!1);this.addManagedListeners(B,{longTap:(K)=>this.onContextMenu(K.touchStart)}),this.addDestroyFunc(B.destroy.bind(B)),this.addManagedListeners(Y,{keydown:this.handleKeyDown.bind(this),contextmenu:this.onContextMenu.bind(this)}),this.setOpenClosedIcons(),this.setupDragging(),this.onColumnStateChanged(),this.addVisibilityListenersToAllChildren(),this.refreshAriaExpanded(),this.refreshAriaLabel(),this.setupTooltip();let E=hZ(G.getColGroupDef(),H,null,G);for(let K of E)this.toggleCss(K,!0)}getColumns(){return this.columnGroup.getLeafColumns()}setupTooltip(){let Q=this.columnGroup.getColGroupDef();if(!Q)return;let z=()=>this.tooltipFeature?.setTooltipAndRefresh(Q.headerTooltip);z(),this.addManagedEventListeners({newColumnsLoaded:z})}handleKeyDown(Q){switch(Q.key){case V.LEFT:Q.preventDefault(),this.modelItem.expanded=!1;break;case V.RIGHT:Q.preventDefault(),this.modelItem.expanded=!0;break;case V.SPACE:if(Q.preventDefault(),this.isSelectable())this.onSelectAllChanged(!this.isSelected());break}}onContextMenu(Q){let{columnGroup:z,gos:J}=this;if(J.get("functionsReadOnly"))return;let Z=this.createBean(new cY(z,Q,this.focusWrapper,this.params));this.addDestroyFunc(()=>{if(Z.isAlive())this.destroyBean(Z)})}addVisibilityListenersToAllChildren(){let Q=this.onColumnStateChanged.bind(this);for(let z of this.columnGroup.getLeafColumns())this.addManagedListeners(z,{visibleChanged:Q,columnValueChanged:Q,columnPivotChanged:Q,columnRowGroupChanged:Q})}setupDragging(){if(!this.allowDragging){N(this.eDragHandle,!1);return}let Q=this.beans,{gos:z,eventSvc:J,dragAndDrop:Z}=Q,$=!z.get("suppressDragLeaveHidesColumns"),X={type:qQ.ToolPanel,eElement:this.eDragHandle,dragItemName:this.displayName,getDefaultIconName:()=>$?"hide":"notAllowed",getDragItem:()=>this.createDragItem(),onDragStarted:()=>{$=!z.get("suppressDragLeaveHidesColumns"),J.dispatchEvent({type:"columnPanelItemDragStart",column:this.columnGroup})},onDragStopped:()=>{J.dispatchEvent({type:"columnPanelItemDragEnd"})},onGridEnter:(Y)=>{if($)wY(Q,{columns:this.columnGroup.getLeafColumns(),visibleState:Y?.visibleState,pivotState:Y?.pivotState,eventType:this.eventType,buttons:this.params.buttons})},onGridExit:()=>{if($)this.onChangeCommon(!1)}};Z.addDragSource(X,!0),this.addDestroyFunc(()=>Z.removeDragSource(X))}createDragItem(){let Q=this.columnGroup.getLeafColumns(),z={},J={},Z=this.beans.columnStateUpdateStrategy,$=i(this.params);for(let X of Q){let Y=X.getId();z[Y]=X.isVisible(),J[Y]=NY(X,Z,$)}return{columns:Q,visibleState:z,pivotState:J}}setupExpandContract(){let{beans:Q,eGroupClosedIcon:z,eGroupOpenedIcon:J,eColumnGroupIcons:Z}=this;z.appendChild(uZ("columnSelectClosed",Q,null)),J.appendChild(uZ("columnSelectOpen",Q,null));let $=this.onExpandOrContractClicked.bind(this);this.addManagedElementListeners(z,{click:$}),this.addManagedElementListeners(J,{click:$});let X=new h0(Z,!0);this.addManagedListeners(X,{tap:$}),this.addDestroyFunc(X.destroy.bind(X))}onLabelClicked(){let Q=!this.cbSelect.getValue();this.onChangeCommon(Q)}onCheckboxChanged(Q){this.onChangeCommon(Q.selected)}getVisibleLeafColumns(){let Q=[],z=(J)=>{for(let Z of J)if(Z.passesFilter)if(Z.group)z(Z.children);else Q.push(Z.column)};return z(this.modelItem.children),Q}onChangeCommon(Q){if(this.refreshAriaLabel(),this.processingColumnStateChange)return;yY(this.beans,this.modelItem.children,Q,this.eventType,this.params)}refreshAriaLabel(){let{cbSelect:Q,focusWrapper:z,displayName:J}=this,Z=this.getLocaleTextFunc(),$=Z("ariaColumnGroup","Column Group"),X=Q.getValue(),Y=X===void 0?Z("ariaIndeterminate","indeterminate"):X?Z("ariaVisible","visible"):Z("ariaHidden","hidden"),G=Z("ariaToggleVisibility","Press SPACE to toggle visibility");E0(z,`${J} ${$}`),Q.setInputAriaLabel(`${G} (${Y})`),MZ(z,Q.getInputElement().id)}onColumnStateChanged(){let Q=this.workOutSelectedValue(),z=this.workOutReadOnlyValue();this.processingColumnStateChange=!0;let J=this.cbSelect;J.setValue(Q),J.setReadOnly(z),this.toggleCss("ag-column-select-column-group-readonly",z),this.processingColumnStateChange=!1}workOutSelectedValue(){let z=this.beans.columnStateUpdateStrategy.getPivotMode(i(this.params)),J=this.getVisibleLeafColumns(),Z=0,$=0;for(let X of J)if(z||!X.getColDef().lockVisible)if(this.isColumnChecked(X))Z++;else $++;if(Z>0&&$>0)return;return Z>0}workOutReadOnlyValue(){let Q=this.beans.columnStateUpdateStrategy.getPivotMode(i(this.params)),z=0;for(let J of this.columnGroup.getLeafColumns())if(Q){if(J.isAnyFunctionAllowed())z++}else if(!J.getColDef().lockVisible)z++;return z===0}isColumnChecked(Q){let z=this.beans.columnStateUpdateStrategy;if(z.getPivotMode(i(this.params)))return z.isColumnSelectedInPivotModeToolPanel(i(this.params),Q);return z.isColumnVisibleInToolPanel(i(this.params),Q)}onExpandOrContractClicked(){let Q=this.modelItem,z=Q.expanded;Q.expanded=!z}onExpandChanged(){this.setOpenClosedIcons(),this.refreshAriaExpanded()}setOpenClosedIcons(){let Q=this.modelItem.expanded;N(this.eGroupClosedIcon,!Q),N(this.eGroupOpenedIcon,Q)}refreshAriaExpanded(){w0(this.focusWrapper,this.modelItem.expanded)}getDisplayName(){return this.displayName}onSelectAllChanged(Q){let z=this.cbSelect,J=z.getValue();if(!z.isReadOnly()&&(Q&&!J||!Q&&J))z.toggle()}isSelected(){return this.cbSelect.getValue()}isSelectable(){return!this.cbSelect.isReadOnly()}setSelected(Q){this.cbSelect.setValue(Q,!0)}},p6=(Q)=>{if(G0(Q))return Q.getLeafColumns();return Q?[Q]:[]},EA=(Q,z,J,Z)=>{if(!z||!Q)return null;let $=Z.indexOf(z),X=J?$:$+1,Y=KA(Z,Q,X);return X-Y},KA=(Q,z,J)=>{if(!z)return 0;let Z=z[0],$=z.length;if(Q.indexOf(Z)<J)return $;return 0},cX=(Q,z,J,Z)=>{let $=i(Z);if(Q.get("suppressMovableColumns")||z.columnStateUpdateStrategy.getPivotMode($))return!0;return!!J.find(({colDef:G})=>!!G.suppressMovable||!!G.lockPosition)},pX=(Q,z,J,Z)=>{if(!J)return;let{component:$}=J,X=null,Y=J.position==="top";if($ instanceof pY)X=$.getColumns()[0],Y=!0;else if($)X=$.column;if(!X)return;let G=i(Z),q=G?Q.columnStateUpdateStrategy.getPrimaryColumns(G):Q.colModel.getCols(),H=EA(z,X,Y,q);if(H!=null)Q.columnStateUpdateStrategy.moveColumns(G,z,H,"toolPanelUi"),N0(Q,Z)},LA=(Q)=>{return Q.column},FA={tag:"div",cls:"ag-column-select-column",children:[{tag:"ag-checkbox",ref:"cbSelect",cls:"ag-column-select-checkbox"},{tag:"span",ref:"eLabel",cls:"ag-column-select-column-label"}]},DA=class extends x{constructor(Q,z,J,Z,$){super();this.modelItem=Q,this.allowDragging=z,this.groupsExist=J,this.focusWrapper=Z,this.params=$,this.eLabel=S,this.cbSelect=S,this.processingColumnStateChange=!1;let{column:X,depth:Y,displayName:G}=Q;this.column=X,this.columnDepth=Y,this.displayName=G}postConstruct(){this.setTemplate(FA,[yQ]);let{beans:Q,cbSelect:z,displayName:J,eLabel:Z,columnDepth:$,groupsExist:X,column:Y,gos:G,focusWrapper:q}=this,H=h("columnDrag",Q);this.eDragHandle=H,H.classList.add("ag-drag-handle","ag-column-select-column-drag-handle");let _=z.getGui(),U=z.getInputElement();if(_.after(H),U.setAttribute("tabindex","-1"),Z.textContent=J,X)this.addCss("ag-column-select-add-group-indent");this.addCss(`ag-column-select-indent-${$}`),this.getGui().style.setProperty("--ag-indentation-level",String($)),this.tooltipFeature=this.createOptionalManagedBean(Q.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.focusWrapper,getLocation:()=>"columnToolPanelColumn",shouldDisplayTooltip:tZ(G,()=>Z),getAdditionalParams:()=>({colDef:Y.getColDef()})})),this.setupDragging();let W=this.onColumnStateChanged.bind(this);this.addManagedEventListeners({columnPivotModeChanged:W}),this.addManagedListeners(Y,{columnValueChanged:W,columnPivotChanged:W,columnRowGroupChanged:W,visibleChanged:W}),this.addManagedListeners(q,{keydown:this.handleKeyDown.bind(this),contextmenu:this.onContextMenu.bind(this)});let B=new h0(q);this.addManagedListeners(B,{longTap:(K)=>this.onContextMenu(K.touchStart)}),this.addDestroyFunc(B.destroy.bind(B)),this.addManagedPropertyListener("functionsReadOnly",this.onColumnStateChanged.bind(this)),this.addManagedListeners(z,{fieldValueChanged:this.onCheckboxChanged.bind(this)}),this.addManagedElementListeners(Z,{click:this.onLabelClicked.bind(this)}),this.onColumnStateChanged(),this.refreshAriaLabel(),this.setupTooltip();let E=hZ(Y.getColDef(),G,Y,null);for(let K of E)this.toggleCss(K,!0)}getColumn(){return this.column}setupTooltip(){let Q=()=>this.tooltipFeature?.setTooltipAndRefresh(this.column.getColDef().headerTooltip);Q(),this.addManagedEventListeners({newColumnsLoaded:Q})}onContextMenu(Q){let{column:z,gos:J}=this;if(J.get("functionsReadOnly"))return;let Z=this.createBean(new cY(z,Q,this.focusWrapper,this.params));this.addDestroyFunc(()=>{if(Z.isAlive())this.destroyBean(Z)})}handleKeyDown(Q){if(Q.key===V.SPACE){if(Q.preventDefault(),this.isSelectable())this.onSelectAllChanged(!this.isSelected())}}onLabelClicked(){if(this.gos.get("functionsReadOnly"))return;let Q=!this.cbSelect.getValue();this.onChangeCommon(Q)}onCheckboxChanged(Q){this.onChangeCommon(Q.selected)}onChangeCommon(Q){if(this.cbSelect.isReadOnly())return;if(this.refreshAriaLabel(),this.processingColumnStateChange)return;xY(this.beans,[this.column],Q,"toolPanelUi",this.params)}refreshAriaLabel(){let{cbSelect:Q,focusWrapper:z,displayName:J}=this,Z=this.getLocaleTextFunc(),$=Z("ariaColumn","Column"),X=Q.getValue()?Z("ariaVisible","visible"):Z("ariaHidden","hidden"),Y=Z("ariaToggleVisibility","Press SPACE to toggle visibility");E0(z,`${J} ${$}`),this.cbSelect.setInputAriaLabel(`${Y} (${X})`),MZ(z,Q.getInputElement().id)}setupDragging(){let Q=this.eDragHandle;if(!this.allowDragging){N(Q,!1);return}let z=this.beans,{gos:J,eventSvc:Z,dragAndDrop:$}=z;if(i(this.params))Q.setAttribute("data-column-tool-panel-deferred","");let X=!J.get("suppressDragLeaveHidesColumns"),Y={type:qQ.ToolPanel,eElement:Q,dragItemName:this.displayName,getDefaultIconName:()=>X&&!i(this.params)?"hide":"notAllowed",getDragItem:()=>this.createDragItem(),onDragStarted:()=>{X=!J.get("suppressDragLeaveHidesColumns"),Z.dispatchEvent({type:"columnPanelItemDragStart",column:this.column})},onDragStopped:()=>{Z.dispatchEvent({type:"columnPanelItemDragEnd"})},onGridEnter:(G)=>{if(X&&!i(this.params))wY(z,{columns:[this.column],visibleState:G?.visibleState,pivotState:G?.pivotState,eventType:"toolPanelUi",buttons:this.params.buttons})},onGridExit:()=>{if(X&&!i(this.params))this.onChangeCommon(!1)}};$.addDragSource(Y,!0),this.addDestroyFunc(()=>$.removeDragSource(Y))}createDragItem(){let Q=this.column.getColId(),z={[Q]:this.column.isVisible()},J=this.beans.columnStateUpdateStrategy,Z={[Q]:NY(this.column,J,i(this.params))};return{columns:[this.column],visibleState:z,pivotState:Z}}onColumnStateChanged(){this.processingColumnStateChange=!0;let Q=this.beans.columnStateUpdateStrategy,z=Q.getPivotMode(i(this.params));if(z){let $=Q.isColumnSelectedInPivotModeToolPanel(i(this.params),this.column);this.cbSelect.setValue($)}else this.cbSelect.setValue(Q.isColumnVisibleInToolPanel(i(this.params),this.column));let J=!0,Z=!0;if(z){let $=this.gos.get("functionsReadOnly"),X=!this.column.isAnyFunctionAllowed();J=!$&&!X,Z=J}else{let{enableRowGroup:$,enableValue:X,lockPosition:Y,suppressMovable:G,lockVisible:q}=this.column.getColDef(),H=!!$||!!X,_=!!Y||!!G;J=!q,Z=H||!_}this.cbSelect.setReadOnly(!J),this.eDragHandle.classList.toggle("ag-column-select-column-readonly",!Z),this.toggleCss("ag-column-select-column-readonly",!Z&&!J),this.cbSelect.setPassive(!1),this.processingColumnStateChange=!1}getDisplayName(){return this.displayName}onSelectAllChanged(Q){let z=this.cbSelect;if(Q!==z.getValue()){if(!z.isReadOnly())z.toggle()}}isSelected(){return this.cbSelect.getValue()}isSelectable(){return!this.cbSelect.isReadOnly()}isExpandable(){return!1}setExpanded(Q){R(158)}},MA=class{constructor(Q){this.items=Q}getRowCount(){return this.items.length}getRow(Q){return this.items[Q]}},kA="ag-column-select-list",VA=class extends x{constructor(){super({tag:"div",cls:kA,role:"presentation"});this.destroyColumnItemFuncs=[],this.hasLoadedInitialState=!1,this.isInitialState=!1,this.skipRefocus=!1}wireBeans(Q){this.colModel=Q.colModel}destroy(){this.destroyColumnTree(),super.destroy()}destroyColumnTree(){this.allColsTree=[];for(let Q of this.destroyColumnItemFuncs)Q();this.destroyColumnItemFuncs=[]}init(Q,z,J){this.params=Q;let{suppressSyncLayoutWithGrid:Z,contractColumnSelection:$,suppressColumnMove:X}=Q;if(this.allowDragging=z,this.eventType=J,!Z)this.addManagedEventListeners({columnMoved:this.onColumnsChanged.bind(this)});this.addManagedEventListeners({newColumnsLoaded:this.onColumnsChanged.bind(this)});let Y=this.fireSelectionChangedEvent.bind(this);this.addManagedEventListeners({columnPivotChanged:Y,columnPivotModeChanged:Y,columnRowGroupChanged:Y,columnValueChanged:Y,columnVisible:Y,newColumnsLoaded:Y}),this.expandGroupsByDefault=!$;let G=X||Z,q=this.createManagedBean(new OY({cssIdentifier:"column-select",ariaRole:"tree",moveItemCallback:(H,_)=>{if(G)return;this.moveItems(H,_)}}));if(this.virtualList=q,this.appendChild(q.getGui()),q.setComponentCreator((H,_)=>{return O8(_,H.depth+1),this.createComponentFromItem(H,_)}),this.colModel.ready)this.onColumnsChanged();if(G)return;this.createItemDragFeature()}createItemDragFeature(){let{gos:Q,beans:z,virtualList:J}=this;this.createManagedBean(new Ff(this,J,{dragSourceType:qQ.ToolPanel,addListeners:(Z,$,X)=>{Z.addManagedEventListeners({columnPanelItemDragStart:$,columnPanelItemDragEnd:X})},getCurrentDragValue:(Z)=>LA(Z),isMoveBlocked:(Z)=>cX(Q,z,p6(Z),this.params),getNumRows:(Z)=>Z.getDisplayedColsList().length,moveItem:(Z,$)=>pX(z,p6(Z),$,this.params)}))}moveItems(Q,z){let{gos:J,beans:Z}=this,{modelItem:$}=Q,{group:X,columnGroup:Y,column:G,expanded:q}=$,H=p6(X?Y:G);if(cX(J,Z,H,this.params))return;let _=this.displayedColsList.indexOf($),U=z?-1:1,W=0;if(z){let E=Q.columnDepth>0?G.getParent()?.getChildren():null;if(E?.length&&G===E[0])W=-1}else if(X)W=q?$.children.length:0;let B=Math.min(Math.max(_+W+U,0),this.displayedColsList.length-1);this.skipRefocus=!0,pX(Z,H,{rowIndex:B,position:z?"top":"bottom",component:this.virtualList.getComponentAt(B)},this.params),this.focusRowIfAlive(B-W).then(()=>{this.skipRefocus=!1})}createComponentFromItem(Q,z){let J=this.allowDragging;if(Q.group){let $=new pY(Q,J,this.eventType,z,this.params);return this.createBean($),$}let Z=new DA(Q,J,this.groupsExist,z,this.params);return this.createBean(Z),Z}onColumnsChanged(){let Q=this.params;if(!this.hasLoadedInitialState)this.hasLoadedInitialState=!0,this.isInitialState=!!Q.initialState;let z=this.getExpandedStates(),J=this.colModel.isPivotMode(),Z=i(Q),$=Z&&this.beans.columnStateUpdateStrategy.hasDeferredColumnOrder(Z);if((!Q.suppressSyncLayoutWithGrid||Z)&&!J||$)this.buildTreeFromWhatGridIsDisplaying();else this.buildTreeFromProvidedColumnDefs();this.setExpandedStates(z),this.markFilteredColumns(),this.flattenAndFilterModel(),this.isInitialState=!1}getDisplayedColsList(){return this.displayedColsList}getExpandedStates(){let Q={};if(this.isInitialState){let{expandedGroupIds:z}=this.params.initialState;for(let J of z)Q[J]=!0;return Q}if(!this.allColsTree)return{};return this.forEachItem((z)=>{if(!z.group)return;let J=z.columnGroup;if(J)Q[J.getId()]=z.expanded}),Q}setExpandedStates(Q){if(!this.allColsTree)return;let{isInitialState:z}=this;this.forEachItem((J)=>{if(!J.group)return;let Z=J.columnGroup;if(Z){let $=Q[Z.getId()];if($!=null||z)J.expanded=!!$}})}buildTreeFromWhatGridIsDisplaying(){let Q=i(this.params);if(Q&&this.beans.columnStateUpdateStrategy.hasDeferredColumnOrder(Q)){let z=this.beans.columnStateUpdateStrategy.getPrimaryColumns(Q);if(z.length>0){zA(z,this.setColumnLayout.bind(this));return}}if(this.params.suppressSyncLayoutWithGrid){this.buildTreeFromProvidedColumnDefs();return}QA(this.colModel,this.setColumnLayout.bind(this))}setColumnLayout(Q){let z=ef(this.colModel,Q);this.buildListModel(z),this.groupsExist=Q.some((J)=>{return J&&typeof J.children<"u"}),this.markFilteredColumns(),this.flattenAndFilterModel()}buildTreeFromProvidedColumnDefs(){let Q=this.colModel;this.buildListModel(Q.getColDefColTree()),this.groupsExist=!!Q.colDefCols?.treeDepth}buildListModel(Q){let z=this.onColumnExpanded.bind(this),J=(G)=>{G.addEventListener("expandedChanged",z);let q=G.removeEventListener.bind(G,"expandedChanged",z);this.destroyColumnItemFuncs.push(q)},Z=this.beans.colNames,$=(G,q,H)=>{for(let _ of G)if(G0(_))X(_,q,H);else Y(_,q,H)},X=(G,q,H)=>{if(G.getColGroupDef()?.suppressColumnsToolPanel)return;if(G.isPadding()){$(G.getChildren(),q,H);return}let W=Z.getDisplayNameForProvidedColumnGroup(null,G,"columnToolPanel"),B=new hX(W,G,q,!0,this.expandGroupsByDefault);H.push(B),J(B),$(G.getChildren(),q+1,B.children)},Y=(G,q,H)=>{if(G.getColDef()?.suppressColumnsToolPanel)return;let U=Z.getDisplayNameForColumn(G,"columnToolPanel");H.push(new hX(U,G,q))};this.destroyColumnTree(),$(Q,0,this.allColsTree)}onColumnExpanded(){this.flattenAndFilterModel()}flattenAndFilterModel(){this.displayedColsList=[];let Q=(Z)=>{if(!Z.passesFilter)return;if(this.displayedColsList.push(Z),Z.group&&Z.expanded)Z.children.forEach(Q)},z=this.virtualList;this.allColsTree.forEach(Q),z.setModel(new MA(this.displayedColsList));let J=null;if(!this.skipRefocus)J=z.getLastFocusedRow();if(z.refresh(),J!=null)this.focusRowIfAlive(J);this.notifyListeners(),this.refreshAriaLabel()}refreshAriaLabel(){let Q=this.getLocaleTextFunc(),z=Q("ariaColumnPanelList","Column List"),J=Q("columns","Columns"),Z=this.displayedColsList.length;E0(this.virtualList.getAriaElement(),`${z} ${Z} ${J}`)}focusRowIfAlive(Q){if(Q===-1)return Promise.resolve();return new Promise((z)=>{window.setTimeout(()=>{if(this.isAlive())this.virtualList.focusRow(Q);z()},0)})}forEachItem(Q){let z=(Z)=>{for(let $ of Z)if(Q($),$.group)z($.children)},J=this.allColsTree;if(!J)return;z(J)}doSetExpandedAll(Q){this.forEachItem((z)=>{if(z.group)z.expanded=Q})}setGroupsExpanded(Q,z){if(!z){this.doSetExpandedAll(Q);return}let J=[];this.forEachItem(($)=>{if(!$.group)return;let X=$.columnGroup.getId();if(z.indexOf(X)>=0)$.expanded=Q,J.push(X)});let Z=z.filter(($)=>!J.includes($));if(Z.length>0)R(157,{unrecognisedGroupIds:Z})}getExpandState(){let Q=0,z=0;if(this.forEachItem((J)=>{if(!J.group)return;if(J.expanded)Q++;else z++}),Q>0&&z>0)return 2;if(z>0)return 1;return 0}doSetSelectedAll(Q){yY(this.beans,this.allColsTree,Q,this.eventType,this.params),this.syncVisibleSelectionState(),this.fireSelectionChangedEvent()}syncVisibleSelectionState(){for(let Q=0;Q<this.displayedColsList.length;Q++)this.virtualList.getComponentAt(Q)?.onColumnStateChanged?.()}getSelectionState(){let Q=0,z=0,J=this.beans.columnStateUpdateStrategy,Z=J.getPivotMode(i(this.params));if(this.forEachItem(($)=>{if($.group)return;if(!$.passesFilter)return;let X=$.column,Y=X.getColDef(),G;if(Z){if(!X.isAllowPivot()&&!X.isAllowRowGroup()&&!X.isAllowValue())return;G=J.isColumnSelectedInPivotModeToolPanel(i(this.params),X)??!1}else{if(Y.lockVisible)return;G=J.isColumnVisibleInToolPanel(i(this.params),X)??!1}if(G)Q++;else z++}),Q>0&&z>0)return;return!(Q===0||z>0)}setFilterText(Q){this.filterText=T(Q)?Q.toLowerCase():null,this.markFilteredColumns(),this.flattenAndFilterModel()}markFilteredColumns(){let Q=(J)=>{if(!T(this.filterText))return!0;let Z=J.displayName;return Z==null||Z.toLowerCase().indexOf(this.filterText)!==-1},z=(J,Z)=>{let $=!1;if(J.group){let Y=Q(J);for(let G of J.children){let q=z(G,Y||Z);if(q)$=q}}let X=Z||$?!0:Q(J);return J.passesFilter=X,X};for(let J of this.allColsTree)z(J,!1)}notifyListeners(){this.fireGroupExpandedEvent(),this.fireSelectionChangedEvent()}fireGroupExpandedEvent(){let Q=this.getExpandState();this.dispatchLocalEvent({type:"groupExpanded",state:Q})}fireSelectionChangedEvent(){if(!this.allColsTree)return;let Q=this.getSelectionState();this.dispatchLocalEvent({type:"selectionChanged",state:Q})}getExpandedGroups(){let Q=[];if(!this.allColsTree)return Q;return this.forEachItem((z)=>{if(z.group&&z.expanded)Q.push(z.columnGroup.getId())}),Q}},fA={selector:"AG-PRIMARY-COLS-LIST",component:VA},AA={tag:"div",cls:"ag-column-select",children:[{tag:"ag-primary-cols-header",ref:"primaryColsHeaderPanel"},{tag:"ag-primary-cols-list",ref:"primaryColsListPanel"}]},iY=class extends x{constructor(){super(AA,[of,fA]);this.primaryColsHeaderPanel=S,this.primaryColsListPanel=S,this.registerCSS(rf)}init(Q,z,J){let{primaryColsHeaderPanel:Z,primaryColsListPanel:$}=this;Z.init(z);let{suppressColumnFilter:X,suppressColumnSelectAll:Y}=z;if(z.suppressColumnExpandAll&&X&&Y)Z.setDisplayed(!1);this.addManagedListeners($,{groupExpanded:(q)=>{Z.setExpandState(q.state),z.onStateUpdated()},selectionChanged:(q)=>Z.setSelectionState(q.state)}),$.init(z,Q,J),this.addManagedListeners(Z,{expandAll:$.doSetExpandedAll.bind($,!0),collapseAll:$.doSetExpandedAll.bind($,!1),selectAll:$.doSetSelectedAll.bind($,!0),unselectAll:$.doSetSelectedAll.bind($,!1),filterChanged:(q)=>$.setFilterText(q.filterText)}),this.positionableFeature=this.createManagedBean(new UJ(this.getGui(),{minHeight:100}))}toggleResizable(Q){this.positionableFeature.setResizable(Q?{bottom:!0}:!1)}expandGroups(Q){this.primaryColsListPanel.setGroupsExpanded(!0,Q)}collapseGroups(Q){this.primaryColsListPanel.setGroupsExpanded(!1,Q)}setColumnLayout(Q){this.primaryColsListPanel.setColumnLayout(Q)}syncLayoutWithGrid(){this.primaryColsListPanel.onColumnsChanged()}getExpandedGroups(){return this.primaryColsListPanel.getExpandedGroups()}},jA=".ag-column-panel{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.ag-pivot-mode-panel{display:flex;height:var(--ag-header-height)}.ag-pivot-mode-select{align-items:center;display:flex}:where(.ag-ltr) .ag-pivot-mode-select{margin-left:var(--ag-widget-container-horizontal-padding)}:where(.ag-rtl) .ag-pivot-mode-select{margin-right:var(--ag-widget-container-horizontal-padding)}.ag-column-panel-column-select:where(:not(.ag-last-visible-child)){border-bottom:var(--ag-tool-panel-separator-border)}.ag-column-panel-column-select:where(:nth-child(n+2 of :not(.ag-hidden))){border-top:var(--ag-tool-panel-separator-border)}:where(.ag-column-panel) .ag-column-drop-vertical{flex:1 1 0px;min-height:50px}:where(.ag-column-panel) .ag-column-drop-vertical:where(:not(.ag-last-column-drop)){border-bottom:var(--ag-tool-panel-separator-border)}.ag-column-panel-buttons{display:flex;flex-wrap:wrap;gap:var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing);justify-content:flex-end;overflow:hidden;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding) 0;:where(.ag-standard-button){transition:background-color .25s ease-in-out,color .25s ease-in-out}}.ag-column-panel-buttons:where(:last-child){padding-bottom:var(--ag-widget-container-vertical-padding)}.ag-column-panel-buttons-button{line-height:1.5}:where(.ag-column-panel) .ag-column-panel-buttons-apply-button:not(:disabled){background-color:var(--ag-column-panel-apply-button-background-color);color:var(--ag-column-panel-apply-button-color)}",RA="ag-column-panel-deferred",SA=class extends x{constructor(){super({tag:"div",cls:"ag-column-panel"});this.initialised=!1,this.childDestroyFuncs=[],this.isDeferModeEnabled=!1,this.isCommitting=!1,this.onDeferredApply=()=>{this.isCommitting=!0;try{this.beans.columnStateUpdateStrategy.commit(this.isDeferModeEnabled)}finally{this.isCommitting=!1}this.deferredButtonsComp?.updateValidity(!1),this.lastKnownGridState=this.captureGridState()},this.onDeferredCancel=()=>{this.beans.columnStateUpdateStrategy.reset(this.isDeferModeEnabled),this.deferredButtonsComp?.updateValidity(!1),this.refreshToolPanelLayouts(),this.pivotModePanel?.refreshEditStrategy(),this.lastKnownGridState=this.captureGridState()},this.onPivotModePanelValueChanged=()=>{this.refreshToolPanelLayouts(),this.setLastVisible(),this.deferredButtonsComp?.updateValidity(this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled))},this.onColumnEverythingChanged=()=>{if(!this.isDeferModeEnabled||this.isCommitting)return;let Q=this.captureGridState();if(!this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled)){this.lastKnownGridState=Q;return}let z=this.lastKnownGridState&&this.isGridStateEqual(this.lastKnownGridState,Q);if(this.lastKnownGridState=Q,!z)return;this.resetDeferredState()},this.onExternalGridChange=()=>{if(!this.isDeferModeEnabled||this.isCommitting)return;if(!this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled))return;this.resetDeferredState(),this.lastKnownGridState=this.captureGridState()},this.registerCSS(jA)}wireBeans(Q){this.colToolPanelFactory=Q.colToolPanelFactory}setVisible(Q){if(super.setDisplayed(Q),Q&&!this.initialised)this.init(this.params)}init(Q){let J={...y(this.gos,{suppressColumnMove:!1,suppressColumnSelectAll:!1,suppressColumnFilter:!1,suppressColumnExpandAll:!1,contractColumnSelection:!1,suppressPivotMode:!1,suppressRowGroups:!1,suppressValues:!1,suppressPivots:!1,suppressSyncLayoutWithGrid:!1}),...Q};this.params=J;let{childDestroyFuncs:Z,colToolPanelFactory:$,gos:X}=this,Y=X.isModuleRegistered("SharedPivot"),G=Y||X.isModuleRegistered("SharedRowGrouping");if(this.isDeferModeEnabled=i(J),this.toggleCss(RA,this.isDeferModeEnabled),!J.suppressPivotMode&&$&&Y)this.pivotModePanel=$.createPivotModePanel(this,Z,J,this.onPivotModePanelValueChanged);let q=this.createBean(new iY);if(this.primaryColsPanel=q,Z.push(()=>this.destroyBean(this.primaryColsPanel)),q.init(!0,J,"toolPanelUi"),q.addCss("ag-column-panel-column-select"),this.appendChild(q),$){if(!J.suppressRowGroups&&G)this.rowGroupDropZonePanel=$.createRowGroupPanel(this,Z,J);if(!J.suppressValues&&G)this.valuesDropZonePanel=$.createValuesPanel(this,Z,J);if(!J.suppressPivots&&Y)this.pivotDropZonePanel=$.createPivotPanel(this,Z,J);this.setLastVisible();let[H]=this.addManagedEventListeners({columnPivotModeChanged:()=>{this.resetChildrenHeight(),this.setLastVisible()}});Z.push(()=>H())}if(this.isDeferModeEnabled){let H=this.onExternalGridChange;Z.push(...this.addManagedEventListeners({columnEverythingChanged:this.onColumnEverythingChanged,sortChanged:H,columnVisible:H,columnRowGroupChanged:H,columnValueChanged:H,columnPivotChanged:H,columnPivotModeChanged:H,newColumnsLoaded:H,...J.suppressSyncLayoutWithGrid?{}:{columnMoved:H}}))}if(J.buttons){if(!J.buttons.includes("apply"))R(298);if(J.buttons.length)this.initDeferredButtons(J.buttons)}this.initialised=!0}initDeferredButtons(Q){let z=this.createBean(new y6({className:"ag-column-panel-buttons"}));this.deferredButtonsComp=z,this.childDestroyFuncs.push(()=>{this.deferredButtonsComp=this.destroyBean(this.deferredButtonsComp)});let J=this.getLocaleTextFunc(),Z=Q.map(($)=>({type:$,label:J($==="apply"?"applyColumnToolPanel":"cancelColumnToolPanel",$==="apply"?"Apply":"Cancel")}));z.updateButtons(Z),z.updateValidity(!1),z.addManagedListeners(z,{apply:this.onDeferredApply,cancel:this.onDeferredCancel}),this.appendChild(z)}resetDeferredState(){this.beans.columnStateUpdateStrategy.reset(this.isDeferModeEnabled),this.deferredButtonsComp?.updateValidity(!1),this.refreshToolPanelLayouts(),this.pivotModePanel?.refreshEditStrategy()}captureGridState(){let{beans:Q}=this,z=(J)=>(J??[]).map((Z)=>Z.getColId());return{rowGroupColIds:z(Q.rowGroupColsSvc?.columns),valueColIds:z(Q.valueColsSvc?.columns),pivotColIds:z(Q.pivotColsSvc?.columns),pivotMode:Q.colModel.isPivotMode(),columnOrder:Q.colModel.getCols().map((J)=>J.getColId()),visibleColIds:Q.colModel.getCols().filter((J)=>J.isVisible()).map((J)=>J.getColId()),sortState:Q.colModel.getCols().filter((J)=>J.getSort()).map((J)=>`${J.getColId()}:${J.getSort()}:${J.getSortIndex()}`),aggFuncState:(Q.valueColsSvc?.columns??[]).map((J)=>J.getAggFunc()),widthState:Q.colModel.getCols().map((J)=>`${J.getColId()}:${J.getActualWidth()}`)}}isGridStateEqual(Q,z){return X0(Q.rowGroupColIds,z.rowGroupColIds)&&X0(Q.valueColIds,z.valueColIds)&&X0(Q.pivotColIds,z.pivotColIds)&&Q.pivotMode===z.pivotMode&&X0(Q.columnOrder,z.columnOrder)&&X0(Q.visibleColIds,z.visibleColIds)&&X0(Q.sortState,z.sortState)&&X0(Q.aggFuncState,z.aggFuncState)&&X0(Q.widthState,z.widthState)}refreshDeferredUi(){this.refreshToolPanelLayouts(),this.setLastVisible(),this.pivotModePanel?.refreshEditStrategy(),this.deferredButtonsComp?.updateValidity(this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled))}refreshToolPanelLayouts(){this.primaryColsPanel.syncLayoutWithGrid(),this.rowGroupDropZonePanel?.refreshGui(),this.valuesDropZonePanel?.refreshGui(),this.pivotDropZonePanel?.refresh()}setPivotModeSectionVisible(Q){let z=this.colToolPanelFactory;if(!z)return;this.pivotModePanel=z.setPanelVisible(this.pivotModePanel,Q,z.createPivotModePanel.bind(z,this,this.childDestroyFuncs,this.params,this.onPivotModePanelValueChanged,!0)),this.setLastVisible()}setRowGroupsSectionVisible(Q){let z=this.colToolPanelFactory;if(!z)return;this.rowGroupDropZonePanel=z.setPanelVisible(this.rowGroupDropZonePanel,Q,z.createRowGroupPanel.bind(z,this,this.childDestroyFuncs,this.params)),this.setLastVisible()}setValuesSectionVisible(Q){let z=this.colToolPanelFactory;if(!z)return;this.valuesDropZonePanel=z.setPanelVisible(this.valuesDropZonePanel,Q,z.createValuesPanel.bind(z,this,this.childDestroyFuncs,this.params)),this.setLastVisible()}setPivotSectionVisible(Q){let z=this.colToolPanelFactory;if(!z)return;this.pivotDropZonePanel=z.setPanelVisible(this.pivotDropZonePanel,Q,z.createPivotPanel.bind(z,this,this.childDestroyFuncs,this.params)),this.pivotDropZonePanel?.setDisplayed(Q),this.setLastVisible()}setResizers(){for(let Q of[this.primaryColsPanel,this.rowGroupDropZonePanel,this.valuesDropZonePanel,this.pivotDropZonePanel]){if(!Q)continue;let z=Q.getGui();Q.toggleResizable(!z.classList.contains("ag-last-column-drop")&&!z.classList.contains("ag-hidden")&&!z.classList.contains("ag-last-visible-child"))}}setLastVisible(){let Q=this.getGui(),z=Array.prototype.slice.call(Q.querySelectorAll(".ag-column-drop"));for(let $ of z)$.classList.remove("ag-last-column-drop");let J=Q.querySelectorAll(".ag-column-drop:not(.ag-hidden)"),Z=b(J);if(Z)Z.classList.add("ag-last-column-drop");this.primaryColsPanel.getGui().classList.toggle("ag-last-visible-child",!Z),this.setResizers()}resetChildrenHeight(){let z=this.getGui().children;for(let J=0;J<z.length;J++){let{style:Z}=z[J];Z.removeProperty("height"),Z.removeProperty("flex")}}expandColumnGroups(Q){this.primaryColsPanel.expandGroups(Q)}collapseColumnGroups(Q){this.primaryColsPanel.collapseGroups(Q)}setColumnLayout(Q){this.primaryColsPanel.setColumnLayout(Q)}syncLayoutWithGrid(){this.primaryColsPanel.syncLayoutWithGrid()}destroyChildren(){let Q=this.childDestroyFuncs;for(let z of Q)z();Q.length=0,z0(this.getGui())}refresh(Q){return this.destroyChildren(),this.init(Q),!0}getState(){return{expandedGroupIds:this.primaryColsPanel.getExpandedGroups()}}destroy(){this.destroyChildren(),super.destroy()}},OA=".ag-column-drop{align-items:center;display:inline-flex;overflow:auto;position:relative;width:100%}.ag-column-drop-list{align-items:center;display:flex}.ag-column-drop-cell{align-items:center;background-color:var(--ag-column-drop-cell-background-color);border:var(--ag-column-drop-cell-border);border-radius:500px;color:var(--ag-column-drop-cell-text-color);display:flex;padding:calc(var(--ag-spacing)*.25);position:relative;&:focus-visible{box-shadow:var(--ag-focus-shadow)}:where(.ag-drag-handle){color:var(--ag-column-drop-cell-drag-handle-color)}}:where(.ag-ltr) .ag-column-drop-cell{padding-left:calc(var(--ag-spacing)*.75)}:where(.ag-rtl) .ag-column-drop-cell{padding-right:calc(var(--ag-spacing)*.75)}.ag-column-drop-cell-text{flex:1 1 auto;margin:0 var(--ag-spacing);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-column-drop-vertical{align-items:stretch;display:flex;flex-direction:column;min-height:75px;overflow:hidden}.ag-column-drop-vertical-title-bar{align-items:center;display:flex;flex:none;padding:var(--ag-widget-container-vertical-padding) calc(var(--ag-spacing)*2) 0}.ag-column-drop-vertical-list{align-items:stretch;flex-direction:column;flex-grow:1;overflow-x:auto;padding-bottom:var(--ag-spacing);padding-left:var(--ag-spacing);padding-right:var(--ag-spacing);position:relative}:where(.ag-column-drop-empty) .ag-column-drop-vertical-list{overflow:hidden}.ag-column-drop-cell-button{cursor:pointer;min-width:0;opacity:.75}:where(.ag-ltr) .ag-column-drop-cell-button{margin-right:calc(var(--ag-spacing)/4)}:where(.ag-rtl) .ag-column-drop-cell-button{margin-left:calc(var(--ag-spacing)/4)}.ag-column-drop-cell-button:hover{opacity:1}:where(.ag-ltr) .ag-column-drop-cell-drag-handle{margin-left:calc(var(--ag-spacing)/4)}:where(.ag-rtl) .ag-column-drop-cell-drag-handle{margin-right:calc(var(--ag-spacing)/4)}.ag-column-drop-wrapper{display:flex}.ag-column-drop-horizontal-half-width{width:50%!important}.ag-column-drop-cell-ghost{opacity:.5}.ag-column-drop-horizontal{background-color:var(--ag-header-background-color);border-bottom:var(--ag-header-row-border);gap:var(--ag-cell-widget-spacing);height:var(--ag-header-height);overflow:hidden;white-space:nowrap}:where(.ag-ltr) .ag-column-drop-horizontal{padding-left:var(--ag-cell-horizontal-padding)}:where(.ag-rtl) .ag-column-drop-horizontal{padding-right:var(--ag-cell-horizontal-padding)}.ag-column-drop-horizontal-list{gap:var(--ag-cell-widget-spacing)}.ag-column-drop-vertical-cell{margin-top:var(--ag-spacing)}:where(.ag-ltr) .ag-column-drop-vertical-icon{margin-right:var(--ag-widget-horizontal-spacing)}:where(.ag-rtl) .ag-column-drop-vertical-icon{margin-left:var(--ag-widget-horizontal-spacing)}.ag-select-agg-func-popup{background:var(--ag-background-color);border:solid var(--ag-border-width) var(--ag-border-color);border-radius:var(--ag-border-radius);box-shadow:var(--ag-dropdown-shadow);height:calc(var(--ag-spacing)*5*3.5);padding:0;position:absolute}.ag-select-agg-func-virtual-list-item{cursor:default}:where(.ag-ltr) .ag-select-agg-func-virtual-list-item{padding-left:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-select-agg-func-virtual-list-item{padding-right:calc(var(--ag-spacing)*2)}.ag-select-agg-func-virtual-list-item:hover{background-color:var(--ag-selected-row-background-color)}:where(.ag-ltr) .ag-column-drop-horizontal-half-width:where(:not(:last-child)){border-right:solid var(--ag-border-width) var(--ag-border-color)}:where(.ag-rtl) .ag-column-drop-horizontal-half-width:where(:not(:last-child)){border-left:solid var(--ag-border-width) var(--ag-border-color)}";function iX(Q,z,J){if(Q==null||z==null)return;Q.splice(J,0,...z)}var PA={tag:"div",cls:"ag-unselectable",role:"presentation"},TA=class extends x{constructor(Q){super(PA);this.horizontal=Q,this.state="notDragging",this.guiDestroyFunctions=[],this.childPillComponents=[],this.resizeEnabled=!1,this.addElementClasses(this.getGui()),this.ePillDropList=Z0({tag:"div"}),this.addElementClasses(this.ePillDropList,"list"),this.registerCSS(OA)}toggleResizable(Q){this.positionableFeature.setResizable(Q?{bottom:!0}:!1),this.resizeEnabled=Q}isSourceEventFromTarget(Q){let{dropZoneTarget:z,dragSource:J}=Q;return z.contains(J.eElement)}destroy(){this.destroyGui(),super.destroy()}destroyGui(){for(let Q of this.guiDestroyFunctions)Q();this.guiDestroyFunctions.length=0,this.childPillComponents.length=0,z0(this.getGui()),z0(this.ePillDropList)}init(Q){this.params=Q??{},this.createManagedBean(new cQ(this.getFocusableElement(),{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.onKeyDown.bind(this)})),this.setupDropTarget(),this.positionableFeature=new UJ(this.getGui()),this.createManagedBean(this.positionableFeature),this.refreshGui(),E0(this.ePillDropList,this.getAriaLabel())}onTabKeyDown(Q){let z=EQ(this.getFocusableElement(),null,!0),J=z.length;if(J===0)return;let{shiftKey:Z}=Q,$=d(this.beans),X=$===z[0],Y=$===b(z);if(!(J===1||X&&Z||Y&&!Z))z[Z?0:J-1].focus()}onKeyDown(Q){let{key:z}=Q,J=!this.horizontal,Z=z===V.DOWN,$=z===V.UP;if(!J){let X=this.gos.get("enableRtl");Z=!X&&z===V.RIGHT||X&&z===V.LEFT,$=!X&&z===V.LEFT||X&&z===V.RIGHT}if(!Z&&!$)return;if(Q.preventDefault(),Q.shiftKey)this.moveFocusedItem($);else{let X=R0(this.beans,this.getFocusableElement(),!1,$);if(X)X.focus()}}moveFocusedItem(Q){let z=this.getFocusedItem();if(z===-1)return;let J=Q?-1:1;if(!this.normalizeAndUpdateInsertIndex(z,z+J))return;let $=this.childPillComponents[z];if(!$.isMovable())return;let X=$.getItem();this.focusItemAtIndex(this.insertIndex),this.rearrangeItems([X],!0)}addElementClasses(Q,z){z=z?`-${z}`:"";let J=this.horizontal?"horizontal":"vertical";Q.classList.add(`ag-column-drop${z}`,`ag-column-drop-${J}${z}`)}setupDropTarget(){this.dropTarget={getContainer:this.getGui.bind(this),getIconName:this.getIconName.bind(this),onDragging:this.onDragging.bind(this),onDragEnter:this.onDragEnter.bind(this),onDragLeave:this.onDragLeave.bind(this),onDragStop:this.onDragStop.bind(this),onDragCancel:this.onDragCancel.bind(this),isInterestedIn:this.isInterestedIn.bind(this)},this.beans.dragAndDrop?.addDropTarget(this.dropTarget)}minimumAllowedNewInsertIndex(){return 0}checkInsertIndex(Q){let z=this.getNewInsertIndex(Q);if(z<0)return!1;return this.normalizeAndUpdateInsertIndex(this.insertIndex,z)}normalizeAndUpdateInsertIndex(Q,z){let J=this.minimumAllowedNewInsertIndex(),Z=Math.max(J,z),$=Z!==Q;if($)this.insertIndex=Z;return $}getNewInsertIndex(Q){let z=Q.event,J=this.horizontal?z.clientX:z.clientY,Z=this.childPillComponents.map((X)=>X.getGui().getBoundingClientRect()),$=Z.findIndex((X)=>this.horizontal?X.right>J&&X.left<J:X.top<J&&X.bottom>J);if($===-1){let X=this.gos.get("enableRtl");if(Z.every((q)=>J>(this.horizontal?q.right:q.bottom)))return X&&this.horizontal?0:this.childPillComponents.length;if(Z.every((q)=>J<(this.horizontal?q.left:q.top)))return X&&this.horizontal?this.childPillComponents.length:0;return this.insertIndex}if(this.insertIndex<=$)return $+1;return $}checkDragStartedBySelf(Q){if(this.state!=="notDragging")return;this.state="rearrangeItems",this.potentialDndItems=this.getItems(Q.dragSource.getDragItem()),this.refreshGui(),this.checkInsertIndex(Q),this.refreshGui()}onDragging(Q){if(this.checkDragStartedBySelf(Q),this.checkInsertIndex(Q))this.refreshGui()}handleDragEnterEnd(Q){}onDragEnter(Q){let z=this.getItems(Q.dragSource.getDragItem());this.state="newItemsIn";let J=z.filter(($)=>this.isItemDroppable($,Q)),Z=J.every(($)=>this.childPillComponents.map((X)=>X.getItem()).indexOf($)!==-1);if(J.length===0)return;if(this.potentialDndItems=J,Z){this.state="notDragging";return}this.handleDragEnterEnd(Q),this.checkInsertIndex(Q),this.refreshGui()}isPotentialDndItems(){return!!this.potentialDndItems?.length}handleDragLeaveEnd(Q){}onDragLeave(Q){if(this.state==="rearrangeItems"){let z=this.getItems(Q.dragSource.getDragItem());this.removeItems(z)}if(this.isPotentialDndItems())this.handleDragLeaveEnd(Q),this.potentialDndItems=[],this.refreshGui();this.state="notDragging"}onDragCancel(Q){if(this.isPotentialDndItems()){if(this.state==="newItemsIn")this.handleDragLeaveEnd(Q);this.potentialDndItems=[],this.refreshGui()}this.state="notDragging"}onDragStop(){if(this.isPotentialDndItems()){if(this.state==="newItemsIn")this.addItems(this.potentialDndItems);else this.rearrangeItems(this.potentialDndItems);this.potentialDndItems=[],this.refreshGui()}this.state="notDragging"}removeItems(Q){let z=this.getExistingItems().filter((J)=>!Q.includes(J));this.updateItems(z),this.refreshGui()}addItems(Q){if(!Q)return;let z=this.getExistingItems().slice(),J=Q.filter((Z)=>z.indexOf(Z)<0);iX(z,J,this.insertIndex),this.updateItems(z),this.refreshGui()}addItem(Q){this.insertIndex=this.getExistingItems().length,this.addItems([Q])}rearrangeItems(Q,z){let J;if(!z)J=this.getNonGhostItems().slice();else J=this.getExistingItems().filter((Z)=>Q.indexOf(Z)===-1);if(iX(J,Q,this.insertIndex),X0(J,this.getExistingItems()))return!1;return this.updateItems(J),this.refreshGui(),!0}refreshGui(){let Q=0;if(!this.horizontal)Q=this.ePillDropList.scrollTop;let z=this.resizeEnabled,J=this.getFocusedItem(),{eGridDiv:Z}=this.beans,$=V1(),X=null;if($)X=R0(this.beans,Z)??R0(this.beans,Z,!1,!0);if(this.toggleResizable(!1),this.destroyGui(),this.addIconAndTitleToGui(),this.addEmptyMessageToGui(),this.addItemsToGui(),Q!==0)this.ePillDropList.scrollTop=Q;if(z)this.toggleResizable(z);if($)this.restoreFocus(J,X)}getFocusedItem(){let Q=this.getGui(),z=d(this.beans);if(!Q.contains(z))return-1;return Array.from(Q.querySelectorAll(".ag-column-drop-cell")).indexOf(z)}focusItemAtIndex(Q){let z=this.getGui(),Z=Array.from(z.querySelectorAll(".ag-column-drop-cell"))[Q];if(!Z)return;Z.focus({preventScroll:!0})}restoreFocus(Q,z){let J=this.getGui(),Z=Array.from(J.querySelectorAll(".ag-column-drop-cell"));if(Q===-1)return;if(Z.length===0)z.focus();let $=Math.min(Z.length-1,Q),X=Z[$];if(X)X.focus()}focusList(Q){let z=Q?this.childPillComponents.length-1:0;this.restoreFocus(z,this.getFocusableElement())}getNonGhostItems(){let Q=this.getExistingItems();if(this.isPotentialDndItems())return Q.filter((z)=>!this.potentialDndItems.includes(z));return Q}addItemsToGui(){let z=this.getNonGhostItems().map((J)=>this.createItemComponent(J,!1));if(this.isPotentialDndItems()){let J=this.potentialDndItems.map((Z)=>this.createItemComponent(Z,!0));if(this.insertIndex>=z.length)z.push(...J);else z.splice(this.insertIndex,0,...J)}this.appendChild(this.ePillDropList),z.forEach((J,Z)=>{if(Z>0)this.addArrow(this.ePillDropList);this.ePillDropList.appendChild(J.getGui())}),this.addAriaLabelsToComponents()}addAriaLabelsToComponents(){let{childPillComponents:Q,ePillDropList:z}=this,J=Q.length;H0(z,J===0?"presentation":"listbox");for(let Z=0;Z<J;Z++){let X=Q[Z].getGui();fZ(X,Z+1),VZ(X,J)}}createItemComponent(Q,z){let J=this.createPillComponent(Q,this.dropTarget,z,this.horizontal);if(J.addEventListener("columnRemove",this.removeItems.bind(this,[Q])),this.createBean(J),this.guiDestroyFunctions.push(()=>this.destroyBean(J)),!z)this.childPillComponents.push(J);return J}addIconAndTitleToGui(){let{title:Q,icon:z}=this.params;if(!Q||!z)return;let J=Z0({tag:"div"});if(kZ(J,!0),this.addElementClasses(J,"title-bar"),this.addElementClasses(z,"icon"),this.toggleCss("ag-column-drop-empty",this.isExistingItemsEmpty()),J.appendChild(z),!this.horizontal){let Z=Z0({tag:"span"});this.addElementClasses(Z,"title"),Z.textContent=Q,J.appendChild(Z)}this.appendChild(J)}isExistingItemsEmpty(){return this.getExistingItems().length===0}addEmptyMessageToGui(){let{emptyMessage:Q}=this.params;if(!Q||!this.isExistingItemsEmpty()||this.isPotentialDndItems())return;let z=Z0({tag:"span"});z.textContent=Q,this.addElementClasses(z,"empty-message"),this.ePillDropList.appendChild(z)}addArrow(Q){if(this.horizontal){let z=this.gos.get("enableRtl"),J=h(z?"panelDelimiterRtl":"panelDelimiter",this.beans);this.addElementClasses(J,"cell-separator"),Q.appendChild(J)}}},vA={tag:"span",role:"option",children:[{tag:"span",ref:"eDragHandle",cls:"ag-drag-handle ag-column-drop-cell-drag-handle",role:"presentation"},{tag:"span",ref:"eText",cls:"ag-column-drop-cell-text",attrs:{"aria-hidden":"true"}},{tag:"span",ref:"eButton",cls:"ag-column-drop-cell-button",role:"presentation"}]},IA=class extends x{constructor(Q,z,J,Z,$){super();this.dragSourceDropTarget=Q,this.ghost=z,this.horizontal=J,this.template=Z,this.agComponents=$,this.eText=S,this.eDragHandle=S,this.eButton=S}postConstruct(){this.setTemplate(this.template??vA,this.agComponents);let Q=this.getGui(),{beans:z,eDragHandle:J,eText:Z,eButton:$}=this;if(this.addElementClasses(Q),this.addElementClasses(J,"drag-handle"),this.addElementClasses(Z,"text"),this.addElementClasses($,"button"),J.appendChild(h("columnDrag",z)),$.appendChild(h("cancel",z)),this.tooltipFeature=this.createOptionalManagedBean(z.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.getGui()})),this.setupComponents(),!this.ghost&&this.isDraggable())this.addDragSource();this.setupAria(),this.setupTooltip(),this.activateTabIndex(),this.refreshDraggable()}isDraggable(){return!0}refreshDraggable(){this.eDragHandle.classList.toggle("ag-column-select-column-readonly",!this.isDraggable())}setupAria(){let Q=this.getLocaleTextFunc(),z=[this.getAriaDisplayName()];this.addAdditionalAriaInstructions(z,Q),E0(this.getGui(),z.join(". "))}addAdditionalAriaInstructions(Q,z){if(this.isRemovable()){let J=z("ariaDropZoneColumnComponentDescription","Press DELETE to remove");Q.push(J)}}setupTooltip(){let Q=()=>this.tooltipFeature?.setTooltipAndRefresh(this.getTooltip());Q(),this.addManagedEventListeners({newColumnsLoaded:Q})}getDragSourceId(){return}getDefaultIconName(){return"notAllowed"}addDragSource(){let{beans:{dragAndDrop:Q},eDragHandle:z}=this,J=this.createGetDragItem(),Z=this.getDefaultIconName(),$={type:this.getDragSourceType(),sourceId:this.getDragSourceId(),eElement:z,getDefaultIconName:()=>Z,getDragItem:J,dragItemName:this.getDisplayName()};Q?.addDragSource($,!0),this.addDestroyFunc(()=>Q?.removeDragSource($))}setupComponents(){if(this.eText.textContent=this.getDisplayValue(),this.setupRemove(),this.ghost)this.addCss("ag-column-drop-cell-ghost")}isRemovable(){return!0}refreshRemove(){N(this.eButton,this.isRemovable())}setupRemove(){this.refreshRemove();let Q={type:"columnRemove"};this.addGuiEventListener("keydown",(J)=>this.onKeyDown(J)),this.addManagedElementListeners(this.eButton,{click:(J)=>{this.dispatchLocalEvent(Q),J.stopPropagation()}});let z=new h0(this.eButton);this.addManagedListeners(z,{tap:()=>this.dispatchLocalEvent(Q)}),this.addDestroyFunc(z.destroy.bind(z))}onKeyDown(Q){if(Q.key===V.DELETE){if(this.isRemovable())Q.preventDefault(),this.dispatchLocalEvent({type:"columnRemove"})}}getDisplayValue(){return this.getDisplayName()}addElementClasses(Q,z){z=z?`-${z}`:"";let J=this.horizontal?"horizontal":"vertical";Q.classList.add(`ag-column-drop-cell${z}`,`ag-column-drop-${J}-cell${z}`)}destroy(){super.destroy(),this.dragSourceDropTarget=null}},CA=class extends IA{constructor(Q,z,J,Z,$,X){super(z,J,$);this.column=Q,this.dropZonePurpose=Z,this.updateParams=X,this.eSortIndicator=S,this.popupShowing=!1,this.deferApply=i(X)}postConstruct(){let{sortSvc:Q,colNames:z}=this.beans;if(this.template={tag:"span",role:"option",children:[{tag:"span",ref:"eDragHandle",cls:"ag-drag-handle ag-column-drop-cell-drag-handle",role:"presentation"},{tag:"span",ref:"eText",cls:"ag-column-drop-cell-text",attrs:{"aria-hidden":"true"}},Q?{tag:"ag-sort-indicator",ref:"eSortIndicator"}:void 0,{tag:"span",ref:"eButton",cls:"ag-column-drop-cell-button",role:"presentation"}]},Q)this.agComponents=[Q.getSortIndicatorSelector()];if(this.displayName=z.getDisplayNameForColumn(this.column,"columnDrop"),super.postConstruct(),this.deferApply)this.eDragHandle.setAttribute("data-column-tool-panel-deferred","");if(Q)this.setupSort(),this.addManagedEventListeners({sortChanged:()=>{this.setupAria()}});if(this.isGroupingZone())this.addManagedPropertyListener("groupLockGroupColumns",()=>{this.refreshRemove(),this.refreshDraggable(),this.setupAria()})}getItem(){return this.column}getDisplayName(){return this.displayName}getTooltip(){return this.column.getColDef().headerTooltip}addAdditionalAriaInstructions(Q,z){let J=this.gos.get("rowGroupPanelSuppressSort"),Z=this.gos.get("functionsReadOnly");if(this.isAggregationZone()&&!Z){let $=z("ariaDropZoneColumnValueItemDescription","Press ENTER to change the aggregation type");Q.push($)}if(this.isGroupingZone()&&this.column.isSortable()&&!J){let $=z("ariaDropZoneColumnGroupItemDescription","Press ENTER to sort");Q.push($)}super.addAdditionalAriaInstructions(Q,z)}isMovable(){return this.isDraggable()}isDraggable(){return this.isReadOnly()}isRemovable(){return this.isReadOnly()}isReadOnly(){return!this.isGroupingAndLocked()&&!this.gos.get("functionsReadOnly")}getAriaDisplayName(){let Q=this.getLocaleTextFunc(),{name:z,aggFuncName:J}=this.getColumnAndAggFuncName(),Z=Q("ariaDropZoneColumnComponentAggFuncSeparator"," of "),$={asc:Q("ariaDropZoneColumnComponentSortAscending","ascending"),desc:Q("ariaDropZoneColumnComponentSortDescending","descending")},X=this.getCurrentSortDirection(this.column),Y=this.gos.get("rowGroupPanelSuppressSort");return[J&&`${J}${Z}`,z,this.isGroupingZone()&&!Y&&X&&`, ${$[X]}`].filter((G)=>!!G).join("")}getColumnAndAggFuncName(){let Q=this.displayName,z="";if(this.isAggregationZone()){let J=this.beans.columnStateUpdateStrategy.getColumnAggFunc(this.deferApply,this.column),Z=typeof J==="string"?J:"agg";z=this.getLocaleTextFunc()(Z,Z)}return{name:Q,aggFuncName:z}}setupSort(){if(!this.column.isSortable()||!this.isGroupingZone())return;let{gos:Q,column:z,eSortIndicator:J}=this;if(!Q.get("rowGroupPanelSuppressSort")){J.setupSort(z,!0,this.getSortDefOverride.bind(this));let Z=($)=>{$.preventDefault(),this.beans.columnStateUpdateStrategy.progressSortFromEvent(this.deferApply,z,$),J.refresh(),this.setupAria(),N0(this.beans,this.updateParams)};this.addGuiEventListener("click",Z),this.addGuiEventListener("keydown",($)=>{if($.key===V.ENTER&&this.isGroupingZone())Z($)})}}getCurrentSortDirection(Q){return this.beans.columnStateUpdateStrategy.getSortDef(this.deferApply,Q)?.direction??null}getSortDefOverride(){if(!this.deferApply)return;return this.beans.columnStateUpdateStrategy.getSortDef(this.deferApply,this.column)}getDefaultIconName(){return"hide"}createGetDragItem(){let{column:Q}=this;return()=>{let z={};return z[Q.getId()]=Q.isVisible(),{columns:[Q],visibleState:z}}}setupComponents(){if(super.setupComponents(),this.isAggregationZone()&&!this.gos.get("functionsReadOnly"))this.addGuiEventListener("click",this.onShowAggFuncSelection.bind(this))}onKeyDown(Q){if(super.onKeyDown(Q),Q.key===V.ENTER&&this.isAggregationZone()&&!this.gos.get("functionsReadOnly"))Q.preventDefault(),this.onShowAggFuncSelection()}getDisplayValue(){let{name:Q,aggFuncName:z}=this.getColumnAndAggFuncName();return this.isAggregationZone()?`${z}(${Q})`:Q}onShowAggFuncSelection(){if(this.popupShowing)return;this.popupShowing=!0;let{aggFuncSvc:Q,popupSvc:z}=this.beans,J=new OY({cssIdentifier:"select-agg-func"}),Z=Q.getFuncNames(this.column),$=this.getGui(),X=J.getGui();J.setModel({getRow:function(B){return Z[B]},getRowCount:function(){return Z.length}}),this.createBean(J);let Y=Z0({tag:"div",cls:"ag-select-agg-func-popup"});Y.style.top="0px",Y.style.left="0px",Y.appendChild(X),Y.style.width=`${$.clientWidth}px`;let[G]=this.addManagedElementListeners(Y,{focusout:(B)=>{if(!Y.contains(B.relatedTarget)&&_)_.hideFunc()}}),q=(B)=>{if(this.destroyBean(J),this.popupShowing=!1,B?.key==="Escape")$.focus();if(G)G()},H=this.getLocaleTextFunc(),_=z.addPopup({modal:!0,eChild:Y,closeOnEsc:!0,closedCallback:q,ariaLabel:H("ariaLabelAggregationFunction","Aggregation Function")});if(_)J.setComponentCreator(this.createAggSelect.bind(this,_.hideFunc));J.addGuiEventListener("keydown",(B)=>{if(B.key===V.ENTER||B.key===V.SPACE){let E=J.getLastFocusedRow();if(E==null)return;let K=J.getComponentAt(E);if(K)K.selectItem()}}),z.positionPopupByComponent({type:"aggFuncSelect",eventSource:$,ePopup:Y,keepWithinBounds:!0,additionalParams:{column:this.column},position:"under"}),J.refresh();let U=this.beans.columnStateUpdateStrategy.getColumnAggFunc(this.deferApply,this.column),W=Z.findIndex((B)=>B===U);if(W===-1)W=0;J.focusRow(W)}createAggSelect(Q,z){let J=()=>{if(Q(),this.getGui().focus(),this.beans.columnStateUpdateStrategy.setColumnAggFunc(this.deferApply,this.column,z,"toolPanelDragAndDrop"),this.column){let G=this.getGui().querySelector(".ag-column-drop-cell-text");if(G)G.textContent=this.getDisplayValue();this.setupAria()}N0(this.beans,this.updateParams)},Z=this.getLocaleTextFunc(),$=(z||"").toString(),X=Z($,$);return new bA(J,X)}isGroupingAndLocked(){return this.isGroupingZone()&&TJ(this.column,this.beans)}isAggregationZone(){return this.dropZonePurpose==="aggregation"}isGroupingZone(){return this.dropZonePurpose==="rowGroup"}getDragSourceType(){return qQ.ToolPanel}destroy(){super.destroy(),this.column=null}},bA=class extends x{constructor(Q,z){super({tag:"div",cls:"ag-select-agg-func-item",children:z});this.selectItem=Q,this.addGuiEventListener("click",this.selectItem)}},Y7=class extends TA{constructor(Q,z,J){super(Q);this.dropZonePurpose=z,this.updateParams=J,this.addElementClasses(this.getGui(),this.dropZonePurpose.toLowerCase())}init(Q){super.init(Q),this.addManagedEventListeners({newColumnsLoaded:this.refreshGui.bind(this)}),this.addManagedPropertyListeners(["functionsReadOnly","rowGroupPanelSuppressSort","groupLockGroupColumns"],this.refreshGui.bind(this))}getItems(Q){return Q.columns??[]}isInterestedIn(Q,z){if(Q===qQ.HeaderCell)return!0;if(Q!==qQ.ToolPanel)return!1;if(!this.horizontal)return!0;return!z.hasAttribute("data-column-tool-panel-deferred")}minimumAllowedNewInsertIndex(){let{gos:Q,rowGroupColsSvc:z}=this.beans,J=Q.get("groupLockGroupColumns"),Z=z?.columns.length??0;if(J===-1)return Z;return Math.min(J,Z)}showOrHideColumnOnExit(Q){return this.isRowGroupPanel()&&TZ(this.gos,!0)&&!Q.fromNudge}handleDragEnterEnd(Q){if(this.showOrHideColumnOnExit(Q)){let Z=Q.dragSource.getDragItem().columns;this.setColumnsVisible(Z,!1,"uiColumnDragged")}}handleDragLeaveEnd(Q){if(this.showOrHideColumnOnExit(Q)){let J=Q.dragSource.getDragItem();this.setColumnsVisible(J.columns,!0,"uiColumnDragged")}}setColumnsVisible(Q,z,J){if(!Q)return;if(i(this.updateParams))return;let Z=Q.filter(($)=>!$.getColDef().lockVisible);this.beans.columnStateUpdateStrategy.setColumnsVisible(!1,Z,z,J)}isRowGroupPanel(){return this.dropZonePurpose==="rowGroup"}createPillComponent(Q,z,J,Z){return new CA(Q,z,J,this.dropZonePurpose,Z,this.updateParams)}},yA=class extends Y7{constructor(Q,z){super(Q,"pivot",z)}postConstruct(){let Q=this.getLocaleTextFunc(),z=Q("pivotColumnsEmptyMessage","Drag here to set column labels"),J=Q("pivots","Column Labels");if(super.init({icon:h("pivotPanel",this.beans,null),emptyMessage:z,title:J}),this.horizontal)Bz(this.beans,this,this.getGui());this.addManagedEventListeners({newColumnsLoaded:this.refresh.bind(this),columnPivotChanged:this.refresh.bind(this),columnPivotModeChanged:this.checkVisibility.bind(this)}),this.refresh()}getAriaLabel(){return this.getLocaleTextFunc()("ariaPivotDropZonePanelLabel","Column Labels")}refresh(){this.checkVisibility(),this.refreshGui()}checkVisibility(){let Q=this.beans.colModel,z=Q.isPivotMode();if(this.horizontal)switch(this.gos.get("pivotPanelShow")){case"always":this.setDisplayed(z);break;case"onlyWhenPivoting":{let J=Q.isPivotActive();this.setDisplayed(z&&J);break}default:this.setDisplayed(!1);break}else this.setDisplayed(this.beans.columnStateUpdateStrategy.getPivotMode(i(this.updateParams)))}isItemDroppable(Q,z){if(this.gos.get("functionsReadOnly")||!Q.isPrimary())return!1;let J=this.beans.columnStateUpdateStrategy.getPivotColumns(i(this.updateParams)).includes(Q);return Q.isAllowPivot()&&(!J||this.isSourceEventFromTarget(z))}updateItems(Q){this.beans.columnStateUpdateStrategy.setPivotColumns(i(this.updateParams),Q,"toolPanelUi"),N0(this.beans,this.updateParams)}getIconName(){return this.isPotentialDndItems()?"pivot":"notAllowed"}getExistingItems(){return this.beans.columnStateUpdateStrategy.getPivotColumns(i(this.updateParams))}getFocusableContainerName(){return"pivotToolbar"}},xA=class extends Y7{constructor(Q,z){super(Q,"rowGroup",z)}postConstruct(){let Q=this.getLocaleTextFunc(),z=Q("rowGroupColumnsEmptyMessage","Drag here to set row groups"),J=Q("groups","Row Groups");if(super.init({icon:h("rowGroupPanel",this.beans,null),emptyMessage:z,title:J}),this.horizontal)Bz(this.beans,this,this.getGui());this.addManagedEventListeners({columnRowGroupChanged:this.refreshGui.bind(this)})}getAriaLabel(){return this.getLocaleTextFunc()("ariaRowGroupDropZonePanelLabel","Row Groups")}isItemDroppable(Q,z){if(this.gos.get("functionsReadOnly")||!Q.isPrimary()||Q.colDef.showRowGroup)return!1;let J=this.beans.columnStateUpdateStrategy.getRowGroupColumns(i(this.updateParams)).includes(Q);return Q.isAllowRowGroup()&&(!J||this.isSourceEventFromTarget(z))}updateItems(Q){this.beans.columnStateUpdateStrategy.setRowGroupColumns(i(this.updateParams),Q,"toolPanelUi"),N0(this.beans,this.updateParams)}getIconName(){return this.isPotentialDndItems()?"group":"notAllowed"}getExistingItems(){return this.beans.columnStateUpdateStrategy.getRowGroupColumns(i(this.updateParams))}getFocusableContainerName(){return"rowGroupToolbar"}},wA=class extends Y7{constructor(Q,z){super(Q,"aggregation",z)}postConstruct(){let Q=this.getLocaleTextFunc(),z=Q("valueColumnsEmptyMessage","Drag here to aggregate"),J=Q("values","Values");super.init({icon:h("valuePanel",this.beans,null),emptyMessage:z,title:J}),this.addManagedEventListeners({columnValueChanged:this.refreshGui.bind(this)})}getAriaLabel(){return this.getLocaleTextFunc()("ariaValuesDropZonePanelLabel","Values")}getIconName(){return this.isPotentialDndItems()?"aggregate":"notAllowed"}isItemDroppable(Q,z){if(this.gos.get("functionsReadOnly")||!Q.isPrimary())return!1;let J=this.beans.columnStateUpdateStrategy.getValueColumns(i(this.updateParams)).includes(Q);return Q.isAllowValue()&&(!J||this.isSourceEventFromTarget(z))}updateItems(Q){this.beans.columnStateUpdateStrategy.setValueColumns(i(this.updateParams),Q,"toolPanelUi"),N0(this.beans,this.updateParams)}getExistingItems(){return this.beans.columnStateUpdateStrategy.getValueColumns(i(this.updateParams))}},NA={tag:"div",cls:"ag-pivot-mode-panel",children:[{tag:"ag-toggle-button",ref:"cbPivotMode",cls:"ag-pivot-mode-select"}]},gA=class extends x{constructor(Q,z){super();this.params=Q,this.onPivotModeValueChanged=z,this.cbPivotMode=S}getCurrentPivotMode(){return this.beans.columnStateUpdateStrategy.getPivotMode(i(this.params))}syncFromGrid(){this.cbPivotMode.setValue(this.getCurrentPivotMode())}refreshEditStrategy(){this.syncFromGrid()}postConstruct(){this.setTemplate(NA,[OX]);let Q=this.cbPivotMode;Q.setValue(this.getCurrentPivotMode());let z=this.getLocaleTextFunc();Q.setLabel(z("pivotMode","Pivot Mode"));let J=()=>{let $=!!Q.getValue();this.beans.columnStateUpdateStrategy.setPivotMode(i(this.params),$,"toolPanelUi"),this.onPivotModeValueChanged?.()},Z=()=>{Q.setValue(this.getCurrentPivotMode())};this.addManagedListeners(Q,{fieldValueChanged:J}),this.addManagedEventListeners({newColumnsLoaded:Z,columnPivotModeChanged:Z})}},hA=class extends j{constructor(){super(...arguments);this.beanName="colToolPanelFactory"}setPanelVisible(Q,z,J){if(Q)Q.setDisplayed(z);else if(z)Q=J();return Q}createRowGroupPanel(Q,z,J){return this.createPanel(Q,z,new xA(!1,J))}createValuesPanel(Q,z,J){return this.createPanel(Q,z,new wA(!1,J))}createPivotPanel(Q,z,J){return this.createPanel(Q,z,new yA(!1,J))}createPivotModePanel(Q,z,J,Z,$){return this.createPanel(Q,z,new gA(J,Z),$)}createPanel(Q,z,J,Z){if(J=Q.createBean(J),z.push(()=>Q.destroyBean(J)),Z)Q.prependChild(J);else Q.appendChild(J);return J}},nX=()=>{},uA=class extends j{constructor(){super(...arguments);this.beanName="columnStateUpdateExecutionStrategy"}applyColumnState(Q,z,J){this.getUpdateStrategy(Q).applyColumnState(z,J)}commit(Q){this.getUpdateStrategy(Q).commit()}hasPendingChanges(Q){return this.getUpdateStrategy(Q).hasPendingChanges()}moveColumns(Q,z,J,Z){this.getUpdateStrategy(Q).moveColumns(z,J,Z)}reset(Q){this.getUpdateStrategy(Q).reset()}setColumnsVisible(Q,z,J,Z){this.getUpdateStrategy(Q).setColumnsVisible(z,J,Z)}isColumnVisibleInToolPanel(Q,z){return this.getUpdateStrategy(Q).isColumnVisibleInToolPanel(z)}setRowGroupColumns(Q,z,J){this.getUpdateStrategy(Q).setRowGroupColumns(z,J)}getRowGroupColumns(Q){return this.getUpdateStrategy(Q).getRowGroupColumns()}getPrimaryColumns(Q){return this.getUpdateStrategy(Q).getPrimaryColumns()}hasDeferredColumnOrder(Q){return this.getUpdateStrategy(Q).hasDeferredColumnOrder()}setValueColumns(Q,z,J){this.getUpdateStrategy(Q).setValueColumns(z,J)}getValueColumns(Q){return this.getUpdateStrategy(Q).getValueColumns()}setColumnAggFunc(Q,z,J,Z){this.getUpdateStrategy(Q).setColumnAggFunc(z,J,Z)}getColumnAggFunc(Q,z){return this.getUpdateStrategy(Q).getColumnAggFunc(z)}setPivotColumns(Q,z,J){this.getUpdateStrategy(Q).setPivotColumns(z,J)}getPivotColumns(Q){return this.getUpdateStrategy(Q).getPivotColumns()}setPivotMode(Q,z,J){this.getUpdateStrategy(Q).setPivotMode(z,J)}getPivotMode(Q){return this.getUpdateStrategy(Q).getPivotMode()}isColumnSelectedInPivotModeToolPanel(Q,z){return this.getUpdateStrategy(Q).isColumnSelectedInPivotModeToolPanel(z)}progressSortFromEvent(Q,z,J){this.getUpdateStrategy(Q).progressSortFromEvent(z,J)}getSortDef(Q,z){return this.getUpdateStrategy(Q).getSortDef(z)}getUpdateStrategy(Q){return Q?this.getDeferredUpdateStrategy():this.getSyncUpdateStrategy()}getSyncUpdateStrategy(){return this.syncUpdateStrategy??(this.syncUpdateStrategy=new mA(this.beans))}getDeferredUpdateStrategy(){return this.deferredUpdateStrategy??(this.deferredUpdateStrategy=new cA(this.beans))}},mA=class{constructor(Q){this.beans=Q,this.lastPivotColIds=[],this.reset=nX,this.commit=nX,this.hasPendingChanges=()=>!1,this.hasDeferredColumnOrder=()=>!1}applyColumnState(Q,z){if(Q.length===0)return;n0(this.beans,{state:Q},z)}moveColumns(Q,z,J){this.beans.colMoves?.moveColumns(Q,z,J),pA(this.beans)}setColumnsVisible(Q,z,J){let Z=Q.filter(($)=>!$.getColDef().lockVisible);this.beans.colModel.setColsVisible(Z,z,J)}setRowGroupColumns(Q,z){this.beans.rowGroupColsSvc?.setColumns(Q,z)}getRowGroupColumns(){return this.beans.rowGroupColsSvc?.columns??[]}getPrimaryColumns(){return G7(this.beans)}setValueColumns(Q,z){this.beans.valueColsSvc?.setColumns(Q,z)}getValueColumns(){return this.beans.valueColsSvc?.columns??[]}setColumnAggFunc(Q,z,J){this.beans.valueColsSvc?.setColumnAggFunc?.(Q,z,J)}getColumnAggFunc(Q){return Q.getAggFunc()}setPivotColumns(Q,z){this.lastPivotColIds=Q.map((J)=>J.getColId()),this.beans.pivotColsSvc?.setColumns(Q,z)}getPivotColumns(){return this.beans.pivotColsSvc?.columns??[]}setPivotMode(Q,z){let{colModel:J,gos:Z,ctrlsSvc:$}=this.beans;if(Q===J.isPivotMode())return;let X=this.beans.pivotColsSvc?.columns.map((Y)=>Y.getColId())??[];if(X.length>0)this.lastPivotColIds=X;if(!Q){let Y=this.beans.colModel.getColDefCols()??[];n0(this.beans,{state:Y.map((G)=>({colId:G.getColId(),pivot:!1,pivotIndex:null}))},z)}if(Z.updateGridOptions({options:{pivotMode:Q},source:z}),Q&&this.lastPivotColIds.length>0)this.beans.pivotColsSvc?.setColumns(this.lastPivotColIds,z);for(let Y of $.getHeaderRowContainerCtrls())Y.refresh()}progressSortFromEvent(Q,z){this.beans.sortSvc?.progressSortFromEvent(Q,z)}isColumnVisibleInToolPanel(Q){return Q.isVisible()}isColumnSelectedInPivotModeToolPanel(Q){return Q.isAnyFunctionActive()}getPivotMode(){return this.beans.colModel.isPivotMode()}getSortDef(Q){return Q.getSortDef()}},cA=class{constructor(Q){this.beans=Q,this.state={},this.sequence=0,this.lastPivotColIds=[]}reset(){this.sequence=0,this.state={}}hasPendingChanges(){let{state:Q,beans:z}=this,{columnState:J,columnOrder:Z,rowGroup:$,aggregation:X,pivot:Y,pivotMode:G,sort:q,aggFuncs:H}=Q,_=(U)=>(U??[]).map((W)=>W.getColId());if(J)for(let[U,W]of J.patches){let B=z.colModel.getColDefCol(U);if(!B)continue;if(W.hide!==void 0&&W.hide!==!B.isVisible()||W.rowGroup!==void 0&&!!W.rowGroup!==B.isRowGroupActive()||W.pivot!==void 0&&!!W.pivot!==B.isPivotActive()||W.aggFunc!==void 0&&(W.aggFunc??null)!==(B.getAggFunc()??null))return!0}if(Z&&!X0(Z.colIds,n6(z)))return!0;if($&&!X0($.colIds,_(z.rowGroupColsSvc?.columns)))return!0;if(X&&!X0(X.colIds,_(z.valueColsSvc?.columns)))return!0;if(Y&&!X0(Y.colIds,_(z.pivotColsSvc?.columns)))return!0;if(G&&G.pivotMode!==z.colModel.isPivotMode())return!0;if(q){for(let[U,W]of q.sortDefsByColId){let B=z.colModel.getColDefCol(U);if(!B)continue;if((W?.direction??null)!==(B.getSortDef()?.direction??null))return!0}if(q.baselineCleared){let U=G7(z);for(let W of U)if(!q.sortDefsByColId.has(W.getColId())&&W.getSortDef()!==null)return!0}}if(H)for(let[U,W]of H.values){let B=z.colModel.getColDefCol(U);if(!B)continue;if(W!==B.getAggFunc())return!0}return!1}commit(){let{beans:Q,state:z}=this,J=[];for(let $ of Object.keys(z)){let X=z[$];if(X)J.push({type:$,...X})}let Z=J.sort(($,X)=>$.seq-X.seq);for(let $ of Z)switch($.type){case"columnState":{n0(Q,{state:[...$.patches.values()]},$.eventType);break}case"columnOrder":{let X=$.colIds.map((Y)=>Q.colModel.getColDefCol(Y)).filter((Y)=>!!Y&&vJ(Y));if(!Q.colModel.isPivotMode())for(let Y=0;Y<X.length;Y++){let G=X[Y],q=Q.colModel.getCols(),H=q.findIndex((U)=>vJ(U)),_=(H>=0?H:0)+Y;if(q[_]!==G)Q.colMoves?.moveColumns([G],_,$.eventType,!0)}nY(Q,X);break}case"rowGroup":{Q.rowGroupColsSvc?.setColumns($.colIds,$.eventType);break}case"aggregation":{Q.valueColsSvc?.setColumns($.colIds,$.eventType);break}case"pivot":{this.lastPivotColIds=$.colIds,Q.pivotColsSvc?.setColumns($.colIds,$.eventType);break}case"pivotMode":{let{colModel:X,ctrlsSvc:Y,gos:G,stateSvc:q}=Q;if($.pivotMode!==X.isPivotMode()){let H=Q.pivotColsSvc?.columns.map((W)=>W.getColId())??[];if(H.length>0)this.lastPivotColIds=H;let _=q?.getState().pivot?.pivotColIds??H,U=$.pivotMode?this.state.pivot?.colIds??this.lastPivotColIds:_;if(q?.setState({...q.getState(),pivot:{pivotMode:$.pivotMode,pivotColIds:U}},["pivot"]),!$.pivotMode){let W=Q.colModel.getColDefCols()??[];n0(Q,{state:W.map((B)=>({colId:B.getColId(),pivot:!1,pivotIndex:null}))},$.eventType)}if(G.updateGridOptions({options:{pivotMode:$.pivotMode},source:$.eventType}),$.pivotMode&&U.length>0)Q.pivotColsSvc?.setColumns(U,$.eventType);for(let W of Y.getHeaderRowContainerCtrls())W.refresh()}break}case"sort":{let X=[],Y=0;for(let[G,q]of $.sortDefsByColId)X.push({colId:G,sort:q?.direction??null,sortIndex:q?.direction?Y++:null,sortType:q?.type??void 0});n0(Q,{state:X,defaultState:$.baselineCleared?{sort:null,sortIndex:null,sortType:void 0}:void 0},$.eventType);break}case"aggFuncs":{for(let[X,Y]of $.values){let G=Q.colModel.getColDefCol(X);if(!G)continue;Q.valueColsSvc?.setColumnAggFunc?.(G,Y,$.eventType)}break}}this.reset()}applyColumnState(Q,z){for(let Z of Q)d6(this.state,Z);let J=Z2(this.state);J.seq=iQ(this.sequence),this.sequence=J.seq,J.eventType=z}moveColumns(Q,z,J){let Z=new Set(Q.map((q)=>q.getColId())),X=(this.state.columnOrder?.colIds??n6(this.beans)).filter((q)=>!Z.has(q)),Y=Q.map((q)=>q.getColId()),G=iQ(this.sequence);this.sequence=G,this.state.columnOrder={colIds:[...X.slice(0,z),...Y,...X.slice(z)],eventType:J,seq:G}}setColumnsVisible(Q,z,J){for(let $ of Q){if($.getColDef().lockVisible)continue;d6(this.state,{colId:$.getColId(),hide:!z})}let Z=Z2(this.state);Z.seq=iQ(this.sequence),this.sequence=Z.seq,Z.eventType=J}setRowGroupColumns(Q,z){t6(this.state,"rowGroup");let J=iQ(this.sequence);this.sequence=J,this.state.rowGroup={colIds:Q.map((Z)=>Z.getColId()),eventType:z,seq:J}}setValueColumns(Q,z){t6(this.state,"aggFunc");let J=new Set((this.beans.valueColsSvc?.columns??[]).map((X)=>X.getColId())),Z=dX(this.state);for(let X of Q)if(!J.has(X.getColId())&&!Z.values.has(X.getColId())){let Y=X.getAggFunc(),G=Y!=null?Y:this.beans.aggFuncSvc?.getDefaultAggFunc(X);if(G!=null)Z.values.set(X.getColId(),G)}let $=iQ(this.sequence);this.sequence=$,Z.seq=$,Z.eventType=z,this.state.aggregation={colIds:Q.map((X)=>X.getColId()),eventType:z,seq:$}}setColumnAggFunc(Q,z,J){d6(this.state,{colId:Q.getColId(),aggFunc:z});let Z=Z2(this.state);Z.seq=iQ(this.sequence),this.sequence=Z.seq,Z.eventType=J;let $=dX(this.state);$.seq=Z.seq,$.eventType=J,$.values.set(Q.getColId(),z)}getColumnAggFunc(Q){let z=Q.getColId();if(this.state.aggFuncs?.values.has(z))return this.state.aggFuncs.values.get(z);return Q.getAggFunc()}isColumnVisibleInToolPanel(Q){let z=this.state.columnState?.patches.get(Q.getColId());if(z?.hide!==void 0)return!z.hide;return Q.isVisible()}isColumnSelectedInPivotModeToolPanel(Q){let z=Q.getColId(),J=this.state.columnState?.patches.get(z),Z;if(J?.rowGroup!==void 0)Z=!!J.rowGroup;else if(this.state.rowGroup)Z=this.state.rowGroup.colIds.includes(z);else Z=Q.isRowGroupActive();let $;if(J?.pivot!==void 0)$=!!J.pivot;else if(this.state.pivot)$=this.state.pivot.colIds.includes(z);else $=Q.isPivotActive();let X;if(J?.aggFunc!==void 0)X=J.aggFunc!=null;else if(this.state.aggregation)X=this.state.aggregation.colIds.includes(z);else X=Q.isValueActive();return Z||$||X}setPivotColumns(Q,z){t6(this.state,"pivot");let J=iQ(this.sequence);this.sequence=J,this.state.pivot={colIds:Q.map((Z)=>Z.getColId()),eventType:z,seq:J}}setPivotMode(Q,z){let J=iQ(this.sequence);this.sequence=J,this.state.pivotMode={pivotMode:Q,eventType:z,seq:J}}getRowGroupColumns(){return VJ(this.beans,i6(this.state.rowGroup?.colIds,this.beans.rowGroupColsSvc?.columns,this.state.columnState?.patches,(Q)=>Q.rowGroup==null?void 0:!!Q.rowGroup))}getPrimaryColumns(){return VJ(this.beans,this.state.columnOrder?.colIds??n6(this.beans))}hasDeferredColumnOrder(){return!!this.state.columnOrder}getValueColumns(){return VJ(this.beans,i6(this.state.aggregation?.colIds,this.beans.valueColsSvc?.columns,this.state.columnState?.patches,(Q)=>Q.aggFunc===void 0?void 0:Q.aggFunc!=null))}getPivotColumns(){if(!this.getPivotMode())return[];let Q=this.beans.pivotColsSvc?.columns,z=Q?.length?Q:VJ(this.beans,this.lastPivotColIds);return VJ(this.beans,i6(this.state.pivot?.colIds,z,this.state.columnState?.patches,(J)=>J.pivot==null?void 0:!!J.pivot))}getPivotMode(){return this.state.pivotMode?.pivotMode??this.beans.colModel.isPivotMode()}getSortDef(Q){let z=this.state.sort,J=Q.getColId(),Z=z?.sortDefsByColId;if(Z?.has(J))return Z.get(J)??null;if(z?.baselineCleared)return null;return Q.getSortDef()}progressSortFromEvent(Q,z){let J=this.state.sort??{sortDefsByColId:new Map,baselineCleared:!1,seq:0,eventType:"toolPanelUi"},{sortSvc:Z}=this.beans,$=Q.getColId(),X;if(J.sortDefsByColId.has($))X=J.sortDefsByColId.get($);else if(J.baselineCleared)X=null;else X=Q.getSortDef();let Y=Z?.getNextSortDirection(Q,X);if(!Y)return;let{gos:G}=this.beans;if(!(((G.get("multiSortKey")==="ctrl"?z.ctrlKey||z.metaKey:z.shiftKey)||G.get("alwaysMultiSort"))&&!G.get("suppressMultiSort")))J.sortDefsByColId.clear(),J.baselineCleared=!0;J.sortDefsByColId.set($,Y.direction?Y:null),J.seq=iQ(this.sequence),this.sequence=J.seq,this.state.sort=J}};function VJ(Q,z){if(!z)return[];return z.map((J)=>Q.colModel.getColDefCol(J)).filter((J)=>!!J)}function i6(Q,z,J,Z){let $=[...Q??z?.map((Y)=>Y.getColId())??[]];if(!J?.size)return $;let X=new Set($);for(let[Y,G]of J){let q=Z(G);if(q===void 0)continue;if(q){if(!X.has(Y))$.push(Y),X.add(Y);continue}if(!X.has(Y))continue;X.delete(Y);let H=$.indexOf(Y);if(H>=0)$.splice(H,1)}return $}function pA(Q){let z=Q.colModel.getCols().filter((J)=>vJ(J)).map((J)=>Q.colModel.getColDefCol(J.getColId())).filter((J)=>!!J);nY(Q,z)}function nY(Q,z){let J=iA(Q);if(!J)return;let Z=new Set(z);J.list=[...z,...J.list.filter(($)=>vJ($)&&!Z.has($))]}function n6(Q){return G7(Q).map((z)=>z.getColId())}function G7(Q){return(Q.colModel.getColDefCols()??Q.colModel.getCols()).filter((z)=>vJ(z))}function iA(Q){let z=Q.colModel.colDefCols,J=z?.list;if(!Array.isArray(J))return;return z}function vJ(Q){if(!Q.isPrimary())return!1;return!mz(Q)&&!GJ(Q)}function iQ(Q){return Q+1}function d6(Q,z){let J=Z2(Q),Z=J.patches.get(z.colId);J.patches.set(z.colId,Z?{...Z,...z}:z)}function t6(Q,z){let J=Q.columnState?.patches;if(!J?.size)return;for(let[Z,$]of J){if(!(z in $))continue;let X={...$};if(delete X[z],Object.keys(X).length===1){J.delete(Z);continue}J.set(Z,X)}}function Z2(Q){let{columnState:z}=Q;if(!z)z={patches:new Map,seq:0,eventType:"toolPanelUi"},Q.columnState=z;return z}function dX(Q){let{aggFuncs:z}=Q;if(!z)z={values:new Map,seq:0,eventType:"toolPanelUi"},Q.aggFuncs=z;return z}var nA=class extends j{constructor(){super(...arguments);this.beanName="columnStateUpdateStrategy"}applyColumnState(Q,z,J){this.delegate("applyColumnState",Q,z,J)}commit(Q){this.delegate("commit",Q)}hasPendingChanges(Q){return this.delegate("hasPendingChanges",Q)}moveColumns(Q,z,J,Z){this.delegate("moveColumns",Q,z,J,Z)}reset(Q){this.delegate("reset",Q)}setColumnsVisible(Q,z,J,Z){this.delegate("setColumnsVisible",Q,z,J,Z)}isColumnVisibleInToolPanel(Q,z){return this.delegate("isColumnVisibleInToolPanel",Q,z)}setRowGroupColumns(Q,z,J){this.delegate("setRowGroupColumns",Q,z,J)}getRowGroupColumns(Q){return this.delegate("getRowGroupColumns",Q)}getPrimaryColumns(Q){return this.delegate("getPrimaryColumns",Q)}hasDeferredColumnOrder(Q){return this.delegate("hasDeferredColumnOrder",Q)}setValueColumns(Q,z,J){this.delegate("setValueColumns",Q,z,J)}getValueColumns(Q){return this.delegate("getValueColumns",Q)}setColumnAggFunc(Q,z,J,Z){this.delegate("setColumnAggFunc",Q,z,J,Z)}getColumnAggFunc(Q,z){return this.delegate("getColumnAggFunc",Q,z)}setPivotColumns(Q,z,J){this.delegate("setPivotColumns",Q,z,J)}getPivotColumns(Q){return this.delegate("getPivotColumns",Q)}setPivotMode(Q,z,J){this.delegate("setPivotMode",Q,z,J)}getPivotMode(Q){return this.delegate("getPivotMode",Q)}isColumnSelectedInPivotModeToolPanel(Q,z){return this.delegate("isColumnSelectedInPivotModeToolPanel",Q,z)}progressSortFromEvent(Q,z,J){this.delegate("progressSortFromEvent",Q,z,J)}getSortDef(Q,z){return this.delegate("getSortDef",Q,z)}getUpdateStrategy(){return this.executionStrategy??(this.executionStrategy=this.createManagedBean(new uA))}delegate(Q,...z){let J=this.getUpdateStrategy();return J[Q].bind(J)(...z)}},dA={moduleName:"SharedColumnStateUpdateStrategy",version:J0,beans:[nA],dependsOn:[I0]},dY={moduleName:"ColumnsToolPanel",version:J0,beans:[hA],userComponents:{agColumnsToolPanel:SA},icons:{ensureColumnVisible:"column-arrow",columnsToolPanel:"columns",menuAddRowGroup:"group",menuRemoveRowGroup:"group",pivotPanel:"pivot",rowGroupPanel:"group",valuePanel:"aggregation",columnSelectClosed:"tree-closed",columnSelectOpen:"tree-open",columnSelectIndeterminate:"tree-indeterminate"},dependsOn:[I0,dA,$7,FJ,LJ,nz,X7]},tA=class extends j{constructor(){super(...arguments);this.beanName="chartMenuItemMapper"}getChartItems(Q){let z=this.beans,J=z.chartSvc,Z=Q==="pivotChart";if(!J)return null;let $=this.getLocaleTextFunc.bind(this),X=Z?new rA(z,J,$):new sA(z,J,$),Y=J.isEnterprise(),G=X.getMenuItem();if(G?.subMenu&&!Y){let H=(_)=>({..._,subMenu:_.subMenu?.filter((U)=>!U._enterprise).map((U)=>H(U))});G=H(G)}let q=this.gos.get("chartToolPanelsDef")?.settingsPanel?.chartGroupsDef;if(q)G=this.filterAndOrderChartMenu(G,q,X.getConfigLookup());return this.cleanInternals(G)}cleanInternals(Q){if(!Q)return Q;let z=(J)=>{delete J?._key,delete J?._enterprise;for(let Z of J?.subMenu??[])z(Z);return J};return z(Q)}buildLookup(Q){let z={},J=(Z)=>{if(z[Z._key]=Z,Z.subMenu)for(let $ of Z.subMenu)J($)};return J(Q),z}filterAndOrderChartMenu(Q,z,J){let Z=this.buildLookup(Q),$={...Q,subMenu:[]};for(let X of Object.keys(z)){let Y=z[X],G=J[X];if(G===null)continue;if(G==null){R(173,{group:X});continue}let q=Z[G._key];if(q)if(q.subMenu){let H=Y.map((_)=>{let U=G[_];if(U==null){R(174,{group:X,chartType:_});return}return Z[U]}).filter((_)=>_!==void 0);if(H.length>0)q.subMenu=H,$.subMenu?.push(q)}else $.subMenu?.push(q)}if($.subMenu?.length==0)return null;return $}},rA=class{constructor(Q,z,J){this.beans=Q,this.chartSvc=z,this.getLocaleTextFunc=J}getMenuItem(){let Q=this.getLocaleTextFunc(),z=(J,Z,$,X,Y=!1)=>{return{name:Q(J,Z+""),action:()=>this.chartSvc.createPivotChart({chartType:$}),_key:X,_enterprise:Y}};return{name:Q("pivotChart","Pivot Chart"),_key:"pivotChart",subMenu:[{_key:"pivotColumnChart",name:Q("columnChart","Column"),subMenu:[z("groupedColumn","Grouped","groupedColumn","pivotGroupedColumn"),z("stackedColumn","Stacked","stackedColumn","pivotStackedColumn"),z("normalizedColumn","100% Stacked","normalizedColumn","pivotNormalizedColumn")]},{_key:"pivotBarChart",name:Q("barChart","Bar"),subMenu:[z("groupedBar","Grouped","groupedBar","pivotGroupedBar"),z("stackedBar","Stacked","stackedBar","pivotStackedBar"),z("normalizedBar","100% Stacked","normalizedBar","pivotNormalizedBar")]},{_key:"pivotPieChart",name:Q("pieChart","Pie"),subMenu:[z("pie","Pie","pie","pivotPie"),z("donut","Donut","donut","pivotDonut")]},{_key:"pivotLineChart",name:Q("lineChart","Line"),subMenu:[z("lineChart","Line","line","pivotLineChart"),z("stackedLine","Stacked","stackedLine","pivotStackedLine"),z("normalizedLine","100% Stacked","normalizedLine","pivotNormalizedLine")]},{_key:"pivotAreaChart",name:Q("areaChart","Area"),subMenu:[z("areaChart","Area","area","pivotArea"),z("stackedArea","Stacked","stackedArea","pivotStackedArea"),z("normalizedArea","100% Stacked","normalizedArea","pivotNormalizedArea")]},{_key:"pivotXYChart",name:Q("xyChart","X Y (Scatter)"),subMenu:[z("scatter","Scatter","scatter","pivotScatter"),z("bubble","Bubble","bubble","pivotBubble")]},{_key:"pivotStatisticalChart",_enterprise:!1,name:Q("statisticalChart","Statistical"),subMenu:[z("histogramChart","Histogram","histogram","pivotHistogram",!1)]},{_key:"pivotHierarchicalChart",_enterprise:!0,name:Q("hierarchicalChart","Hierarchical"),subMenu:[z("treemapChart","Treemap","treemap","pivotTreemap",!0),z("sunburstChart","Sunburst","sunburst","pivotSunburst",!0)]},{_key:"pivotFunnel",name:Q("funnel","Funnel"),subMenu:[z("funnel","Funnel","funnel","pivotFunnel"),z("coneFunnel","Cone Funnel","coneFunnel","pivotConeFunnel"),z("pyramid","Pyramid","pyramid","pivotPyramid")]},{_key:"pivotCombinationChart",name:Q("combinationChart","Combination"),subMenu:[z("columnLineCombo","Column & Line","columnLineCombo","pivotColumnLineCombo"),z("AreaColumnCombo","Area & Column","areaColumnCombo","pivotAreaColumnCombo")]}],icon:h("chart",this.beans,void 0)}}getConfigLookup(){return{columnGroup:{_key:"pivotColumnChart",column:"pivotGroupedColumn",stackedColumn:"pivotStackedColumn",normalizedColumn:"pivotNormalizedColumn"},barGroup:{_key:"pivotBarChart",bar:"pivotGroupedBar",stackedBar:"pivotStackedBar",normalizedBar:"pivotNormalizedBar"},pieGroup:{_key:"pivotPieChart",pie:"pivotPie",donut:"pivotDonut",doughnut:"pivotDonut"},lineGroup:{_key:"pivotLineChart",line:"pivotLineChart",stackedLine:"pivotStackedLine",normalizedLine:"pivotNormalizedLine"},areaGroup:{_key:"pivotAreaChart",area:"pivotArea",stackedArea:"pivotStackedArea",normalizedArea:"pivotNormalizedArea"},scatterGroup:{_key:"pivotXYChart",bubble:"pivotBubble",scatter:"pivotScatter"},combinationGroup:{_key:"pivotCombinationChart",columnLineCombo:"pivotColumnLineCombo",areaColumnCombo:"pivotAreaColumnCombo",customCombo:null},hierarchicalGroup:{_key:"pivotHierarchicalChart",treemap:"pivotTreemap",sunburst:"pivotSunburst"},statisticalGroup:{_key:"pivotStatisticalChart",histogram:"pivotHistogram",rangeBar:null,rangeArea:null,boxPlot:null},funnelGroup:{_key:"pivotFunnel",funnel:"pivotFunnel",coneFunnel:"pivotConeFunnel",pyramid:"pivotPyramid"},polarGroup:null,specializedGroup:null}}},sA=class{constructor(Q,z,J){this.beans=Q,this.chartSvc=z,this.getLocaleTextFunc=J}getMenuItem(){let Q=this.getLocaleTextFunc(),z=(J,Z,$,X,Y=!1)=>{return{name:Q(J,Z),action:()=>this.chartSvc.createChartFromCurrentRange($),_key:X,_enterprise:Y}};return{name:Q("chartRange","Chart Range"),_key:"chartRange",subMenu:[{name:Q("columnChart","Column"),subMenu:[z("groupedColumn","Grouped","groupedColumn","rangeGroupedColumn"),z("stackedColumn","Stacked","stackedColumn","rangeStackedColumn"),z("normalizedColumn","100% Stacked","normalizedColumn","rangeNormalizedColumn")],_key:"rangeColumnChart"},{name:Q("barChart","Bar"),subMenu:[z("groupedBar","Grouped","groupedBar","rangeGroupedBar"),z("stackedBar","Stacked","stackedBar","rangeStackedBar"),z("normalizedBar","100% Stacked","normalizedBar","rangeNormalizedBar")],_key:"rangeBarChart"},{name:Q("pieChart","Pie"),subMenu:[z("pie","Pie","pie","rangePie"),z("donut","Donut","donut","rangeDonut")],_key:"rangePieChart"},{name:Q("lineChart","Line"),subMenu:[z("lineChart","Line","line","rangeLineChart"),z("stackedLine","Stacked","stackedLine","rangeStackedLine"),z("normalizedLine","100% Stacked","normalizedLine","rangeNormalizedLine")],_key:"rangeLineChart"},{name:Q("areaChart","Area"),subMenu:[z("areaChart","Area","area","rangeArea"),z("stackedArea","Stacked","stackedArea","rangeStackedArea"),z("normalizedArea","100% Stacked","normalizedArea","rangeNormalizedArea")],_key:"rangeAreaChart"},{name:Q("xyChart","X Y (Scatter)"),subMenu:[z("scatter","Scatter","scatter","rangeScatter"),z("bubble","Bubble","bubble","rangeBubble")],_key:"rangeXYChart"},{name:Q("polarChart","Polar"),subMenu:[z("radarLine","Radar Line","radarLine","rangeRadarLine"),z("radarArea","Radar Area","radarArea","rangeRadarArea"),z("nightingale","Nightingale","nightingale","rangeNightingale"),z("radialColumn","Radial Column","radialColumn","rangeRadialColumn"),z("radialBar","Radial Bar","radialBar","rangeRadialBar")],_key:"rangePolarChart",_enterprise:!0},{name:Q("statisticalChart","Statistical"),subMenu:[z("boxPlot","Box Plot","boxPlot","rangeBoxPlot",!0),z("histogramChart","Histogram","histogram","rangeHistogram",!1),z("rangeBar","Range Bar","rangeBar","rangeRangeBar",!0),z("rangeArea","Range Area","rangeArea","rangeRangeArea",!0)],_key:"rangeStatisticalChart",_enterprise:!1},{name:Q("hierarchicalChart","Hierarchical"),subMenu:[z("treemap","Treemap","treemap","rangeTreemap"),z("sunburst","Sunburst","sunburst","rangeSunburst")],_key:"rangeHierarchicalChart",_enterprise:!0},{name:Q("specializedChart","Specialized"),subMenu:[z("heatmap","Heatmap","heatmap","rangeHeatmap"),z("waterfall","Waterfall","waterfall","rangeWaterfall")],_key:"rangeSpecializedChart",_enterprise:!0},{name:Q("funnel","Funnel"),subMenu:[z("funnel","Funnel","funnel","rangeFunnel"),z("coneFunnel","Cone Funnel","coneFunnel","rangeConeFunnel"),z("pyramid","Pyramid","pyramid","rangePyramid")],_key:"rangeFunnel",_enterprise:!0},{name:Q("combinationChart","Combination"),subMenu:[z("columnLineCombo","Column & Line","columnLineCombo","rangeColumnLineCombo"),z("AreaColumnCombo","Area & Column","areaColumnCombo","rangeAreaColumnCombo")],_key:"rangeCombinationChart"}],icon:h("chart",this.beans,void 0)}}getConfigLookup(){return{columnGroup:{_key:"rangeColumnChart",column:"rangeGroupedColumn",stackedColumn:"rangeStackedColumn",normalizedColumn:"rangeNormalizedColumn"},barGroup:{_key:"rangeBarChart",bar:"rangeGroupedBar",stackedBar:"rangeStackedBar",normalizedBar:"rangeNormalizedBar"},pieGroup:{_key:"rangePieChart",pie:"rangePie",donut:"rangeDonut",doughnut:"rangeDonut"},lineGroup:{_key:"rangeLineChart",line:"rangeLineChart",stackedLine:"rangeStackedLine",normalizedLine:"rangeNormalizedLine"},areaGroup:{_key:"rangeAreaChart",area:"rangeArea",stackedArea:"rangeStackedArea",normalizedArea:"rangeNormalizedArea"},scatterGroup:{_key:"rangeXYChart",bubble:"rangeBubble",scatter:"rangeScatter"},polarGroup:{_key:"rangePolarChart",radarLine:"rangeRadarLine",radarArea:"rangeRadarArea",nightingale:"rangeNightingale",radialColumn:"rangeRadialColumn",radialBar:"rangeRadialBar"},statisticalGroup:{_key:"rangeStatisticalChart",boxPlot:"rangeBoxPlot",histogram:"rangeHistogram",rangeBar:"rangeRangeBar",rangeArea:"rangeRangeArea"},hierarchicalGroup:{_key:"rangeHierarchicalChart",treemap:"rangeTreemap",sunburst:"rangeSunburst"},specializedGroup:{_key:"rangeSpecializedChart",heatmap:"rangeHeatmap",waterfall:"rangeWaterfall"},funnelGroup:{_key:"rangeFunnel",funnel:"rangeFunnel",coneFunnel:"rangeConeFunnel",pyramid:"rangePyramid"},combinationGroup:{_key:"rangeCombinationChart",columnLineCombo:"rangeColumnLineCombo",areaColumnCombo:"rangeAreaColumnCombo",customCombo:null}}}},lA=class extends j{constructor(){super(...arguments);this.beanName="colChooserFactory"}createColumnSelectPanel(Q,z,J,Z){let $=Q.createManagedBean(new iY),X=Z??z?.getColDef().columnChooserParams??{},{contractColumnSelection:Y,suppressColumnExpandAll:G,suppressColumnFilter:q,suppressColumnSelectAll:H,suppressSyncLayoutWithGrid:_,columnLayout:U}=X;if($.init(!!J,y(this.gos,{suppressColumnMove:!1,suppressValues:!1,suppressPivots:!1,suppressRowGroups:!1,suppressPivotMode:!1,contractColumnSelection:!!Y,suppressColumnExpandAll:!!G,suppressColumnFilter:!!q,suppressColumnSelectAll:!!H,suppressSyncLayoutWithGrid:!!U||!!_,onStateUpdated:()=>{}}),"columnMenu"),U)$.setColumnLayout(U);return $}showColumnChooser({column:Q,chooserParams:z,eventSource:J,headerPosition:Z}){this.hideActiveColumnChooser();let $=this.createColumnSelectPanel(this,Q,!0,z),X=this.getLocaleTextFunc(),Y=this.beans,{visibleCols:G,focusSvc:q,menuUtils:H}=Y,_=G.allCols.indexOf(Q),U=Q?q.focusedHeader??Z??null:null;this.activeColumnChooserDialog=this.createBean(new Lf({title:X("chooseColumns","Choose Columns"),component:$,width:300,height:300,resizable:!0,movable:!0,centered:!0,closable:!0,afterGuiAttached:()=>{R0(Y,$.getGui())?.focus({preventScroll:!0}),this.dispatchVisibleChangedEvent(!0,Q)},closedCallback:(W)=>{let B=this.activeColumnChooser.getGui();if(this.destroyBean(this.activeColumnChooser),this.activeColumnChooser=void 0,this.activeColumnChooserDialog=void 0,this.dispatchVisibleChangedEvent(!1,Q),Q)H.restoreFocusOnClose({column:Q,headerPosition:U,columnIndex:_,eventSource:J},B,W,!0)},postProcessPopupParams:{type:"columnChooser",column:Q,eventSource:J}})),this.activeColumnChooser=$}hideActiveColumnChooser(){this.destroyBean(this.activeColumnChooserDialog)}dispatchVisibleChangedEvent(Q,z){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:Q,switchingTab:!1,key:"columnChooser",column:z??null})}},aA={pinSubMenu:"PinnedColumn",pinLeft:"PinnedColumn",pinRight:"PinnedColumn",clearPinned:"PinnedColumn",pinRowSubMenu:"PinnedRow",pinBottom:"PinnedRow",pinTop:"PinnedRow",unpinRow:"PinnedRow",valueAggSubMenu:"SharedAggregation",autoSizeThis:"ColumnAutoSize",autoSizeAll:"ColumnAutoSize",rowGroup:"SharedRowGrouping",rowUnGroup:"SharedRowGrouping",resetColumns:"CommunityCore",expandAll:["ClientSideRowModelHierarchy","ServerSideRowModel"],contractAll:["ClientSideRowModelHierarchy","ServerSideRowModel"],copy:"Clipboard",copyWithHeaders:"Clipboard",copyWithGroupHeaders:"Clipboard",cut:"Clipboard",paste:"Clipboard",export:["CsvExport","ExcelExport"],csvExport:"CsvExport",excelExport:"ExcelExport",separator:"CommunityCore",pivotChart:"IntegratedCharts",chartRange:"IntegratedCharts",columnFilter:"ColumnFilter",columnChooser:"ColumnMenu",sortAscending:"Sort",sortDescending:"Sort",sortAbsoluteAscending:"Sort",sortAbsoluteDescending:"Sort",sortUnSort:"Sort"};function oA(Q,z){let J=aA[z];if(J)Q.assertModuleRegistered(J,`menu item '${z}'`)}var dz="separator";function tY(Q,z){if(!Q)return;for(let J=Q.length-2;J>=0;J--){let Z=Q[J]===z,$=Q[J+1]===z;if(Z&&$)Q.splice(J+1,1)}}var eA={sortAscending:{fallback:"Sort Ascending",getSortDef:()=>({type:"default",direction:"asc"})},sortDescending:{fallback:"Sort Descending",getSortDef:()=>({type:"default",direction:"desc"})},sortAbsoluteAscending:{fallback:"Sort Absolute Ascending",getSortDef:()=>({type:"absolute",direction:"asc"})},sortAbsoluteDescending:{fallback:"Sort Absolute Descending",getSortDef:()=>({type:"absolute",direction:"desc"})},sortUnSort:{fallback:"Clear Sort",getSortDef:(Q)=>({type:LQ(Q.getSortDef()?.type),direction:null})}},Qj=class extends j{constructor(){super(...arguments);this.beanName="menuItemMapper"}mapWithStockItems(Q,z,J,Z,$){if(!Q)return[];let X=[],Y=this.getLocaleTextFunc(),{beans:G,gos:q}=this,{pinnedCols:H,colAutosize:_,aggFuncSvc:U,rowGroupColsSvc:W,colNames:B,colModel:E,clipboardSvc:K,expansionSvc:L,focusSvc:F,csvCreator:D,excelCreator:M,menuSvc:k,colChooserFactory:f,sortSvc:A,chartMenuItemMapper:O,valueColsSvc:v,pinnedRowModel:I}=G,C=(m,w,a,t)=>{switch(oA(q,m),m){case"pinSubMenu":return H&&w?{name:Y("pinColumn","Pin Column"),icon:h("menuPin",G,null),subMenu:["clearPinned","pinLeft","pinRight"]}:null;case"pinLeft":return H&&w?{name:Y("pinLeft","Pin Left"),action:()=>H.setColsPinned([w],"left",t),checked:!!w&&w.isPinnedLeft()}:null;case"pinRight":return H&&w?{name:Y("pinRight","Pin Right"),action:()=>H.setColsPinned([w],"right",t),checked:!!w&&w.isPinnedRight()}:null;case"clearPinned":return H&&w?{name:Y("noPin","No Pin"),action:()=>H.setColsPinned([w],null,t),checked:!!w&&!w.isPinned()}:null;case"pinRowSubMenu":{let u=q.get("enableRowPinning"),Q0=[],r=J?.rowPinned??J?.pinnedSibling?.rowPinned;if(r)Q0.push("unpinRow");if(u&&u!=="bottom"&&r!="top")Q0.push("pinTop");if(u&&u!=="top"&&r!="bottom")Q0.push("pinBottom");return I?.isManual()?{name:Y("pinRow","Pin Row"),icon:h("rowPin",G,w),subMenu:Q0}:null}case"pinTop":return I?.isManual()?{name:Y("pinTop","Pin to Top"),icon:h("rowPinTop",G,w),action:({node:u,column:Q0})=>u&&I.pinRow(u,"top",Q0)}:null;case"pinBottom":return I?.isManual()?{name:Y("pinBottom","Pin to Bottom"),icon:h("rowPinBottom",G,w),action:({node:u,column:Q0})=>u&&I.pinRow(u,"bottom",Q0)}:null;case"unpinRow":return I?.isManual()?{name:Y("unpinRow","Unpin Row"),icon:h("rowUnpin",G,w),action:({node:u,column:Q0})=>u&&I.pinRow(u,null,Q0)}:null;case"valueAggSubMenu":if(U&&v&&(w?.isPrimary()||w?.getColDef().pivotValueColumn))return{name:Y("valueAggregation","Value Aggregation"),icon:h("menuValue",G,null),subMenu:zj(w,U,v,Y),disabled:q.get("functionsReadOnly")};else return null;case"autoSizeThis":return _?{name:Y("autosizeThisColumn","Autosize This Column"),action:()=>w&&_.autoSizeColumn(w,t,q.get("skipHeaderOnAutoSize"))}:null;case"autoSizeAll":return _?{name:Y("autosizeAllColumns","Autosize All Columns"),action:()=>_.autoSizeAllColumns({source:t,skipHeader:q.get("skipHeaderOnAutoSize")})}:null;case"rowGroup":return W?{name:OJ(Y,"groupBy",B.getDisplayNameForColumn(w,"header")),disabled:q.get("functionsReadOnly")||w?.isRowGroupActive()||!w?.getColDef().enableRowGroup,action:()=>W.addColumns([w],t),icon:h("menuAddRowGroup",G,null)}:null;case"rowUnGroup":if(W&&q.isModuleRegistered("SharedRowGrouping")){let u=w?.getColDef().showRowGroup,Q0=q.get("groupLockGroupColumns"),r,S0,O0;if(u===!0)r=Y("ungroupAll","Un-Group All"),S0=q.get("functionsReadOnly")||Q0===-1||Q0>=(W.columns.length??0),O0=()=>W.setColumns(W.columns.slice(0,Q0),t);else if(typeof u==="string"){let k0=E.getColDefCol(u),Az=k0!=null?B.getDisplayNameForColumn(k0,"header"):u;r=OJ(Y,"ungroupBy",Az),S0=q.get("functionsReadOnly")||TJ(k0,G),O0=()=>{W.removeColumns([u],t)}}else r=OJ(Y,"ungroupBy",B.getDisplayNameForColumn(w,"header")),S0=q.get("functionsReadOnly")||!w?.isRowGroupActive()||!w?.getColDef().enableRowGroup||TJ(w,G),O0=()=>W.removeColumns([w],t);return{name:r,disabled:S0,action:O0,icon:h("menuRemoveRowGroup",G,null)}}else return null;case"resetColumns":return{name:Y("resetColumns","Reset Columns"),action:()=>V$(G,t)};case"expandAll":return L?{name:Y("expandAll","Expand All Row Groups"),action:()=>L.expandAll(!0)}:null;case"contractAll":return L?{name:Y("collapseAll","Collapse All Row Groups"),action:()=>L.expandAll(!1)}:null;case"copy":return K?{name:Y("copy","Copy"),shortcut:Y("ctrlC","Ctrl+C"),icon:h("clipboardCopy",G,null),action:()=>K.copyToClipboard()}:null;case"copyWithHeaders":return K?{name:Y("copyWithHeaders","Copy with Headers"),icon:h("clipboardCopy",G,null),action:()=>K.copyToClipboard({includeHeaders:!0})}:null;case"copyWithGroupHeaders":return K?{name:Y("copyWithGroupHeaders","Copy with Group Headers"),icon:h("clipboardCopy",G,null),action:()=>K.copyToClipboard({includeHeaders:!0,includeGroupHeaders:!0})}:null;case"cut":if(K){let u=F.getFocusedCell(),Q0=u?M0(G,u):null,r=Q0?u?.column.isCellEditable(Q0):!1;return{name:Y("cut","Cut"),shortcut:Y("ctrlX","Ctrl+X"),icon:h("clipboardCut",G,null),disabled:!r||q.get("suppressCutToClipboard"),action:()=>K.cutToClipboard(void 0,"contextMenu")}}else return null;case"paste":if(K){let u=q.get("suppressClipboardApi")||q.get("suppressClipboardPaste")||!w||!J||!w.isCellEditable(J)||w.isSuppressPaste(J);return{name:Y("paste","Paste"),shortcut:Y("ctrlV","Ctrl+V"),icon:h("clipboardPaste",G,null),disabled:u,action:()=>K.pasteFromClipboard()}}else return null;case"export":{let u=[];if(!q.get("suppressCsvExport")&&D)u.push("csvExport");if(!q.get("suppressExcelExport")&&M)u.push("excelExport");return u.length?{name:Y("export","Export"),subMenu:u,icon:h("save",G,null)}:null}case"csvExport":return D?{name:Y("csvExport","CSV Export"),icon:h("csvExport",G,null),action:()=>D.exportDataAsCsv()}:null;case"excelExport":return M?{name:Y("excelExport","Excel Export"),icon:h("excelExport",G,null),action:()=>M.exportDataAsExcel()}:null;case"separator":return m;case"pivotChart":case"chartRange":return O.getChartItems(m);case"columnFilter":return k&&w?{name:Y("columnFilter","Column Filter"),icon:h("filter",G,null),action:()=>k.showFilterMenu({column:w,buttonElement:a(),containerType:"columnFilter",positionBy:"button"})}:null;case"columnChooser":{let u=F.focusedHeader;return f?{name:Y("columnChooser","Choose Columns"),icon:h("columns",G,null),action:()=>f.showColumnChooser({column:w,eventSource:a(),headerPosition:u})}:null}case"sortUnSort":case"sortAscending":case"sortDescending":case"sortAbsoluteAscending":case"sortAbsoluteDescending":{if(!A||!w)return null;let{fallback:u,getSortDef:Q0}=eA[m];return{name:Y(m,u),icon:h(m,G,null),action:()=>A.setSortForColumn(w,Q0(w),!1,t)}}default:return R(176,{key:m}),null}};for(let m of Q){let w;if(typeof m==="string")w=C(m,z,Z,$);else w={...m};if(!w)continue;let a=w,{subMenu:t}=a;if(t&&t instanceof Array)a.subMenu=this.mapWithStockItems(t,z,J,Z,$);if(w!=null)X.push(w)}return tY(X,dz),X}};function zj(Q,z,J,Z){let $;if(Q.isPrimary())$=Q;else{let Y=Q.getColDef().pivotValueColumn;$=T(Y)?Y:void 0}let X=[];if($){let Y=$.isValueActive(),G=z.getFuncNames($);X.push({name:Z("noAggregation","None"),action:()=>{J.removeColumns([$],"contextMenu"),J.setColumnAggFunc($,void 0,"contextMenu")},checked:!Y});for(let q of G)X.push({name:Z(q,z.getDefaultFuncLabel(q)),action:()=>{J.setColumnAggFunc($,q,"contextMenu"),J.addColumns([$],"contextMenu")},checked:Y&&$.getAggFunc()===q})}return X}var Jj=class extends j{constructor(){super(...arguments);this.beanName="colMenuFactory"}createMenu(Q,z,J,Z){let $=Q.createManagedBean(new mY(0,{column:J??null,node:null,value:null})),X=this.beans.menuItemMapper.mapWithStockItems(z,J??null,null,Z,"columnMenu");return $.addMenuItems(X),$}getMenuItems(Q=null,z=null){let J=this.getDefaultMenuOptions(Q),Z,$=(Q?.getColDef()??z?.getColGroupDef())?.mainMenuItems;if(Array.isArray($))Z=$;else if(typeof $==="function")Z=$(y(this.gos,{column:Q,columnGroup:z,defaultItems:J}));else{let X=this.gos.getCallback("getMainMenuItems");if(X)Z=X({column:Q,columnGroup:z,defaultItems:J});else Z=J}return tY(Z,dz),Z}getDefaultMenuOptions(Q){let z=[],{beans:J,gos:Z}=this,{colChooserFactory:$,rowGroupColsSvc:X,colModel:Y,expansionSvc:G,sortSvc:q,menuSvc:H,pinnedCols:_,aggFuncSvc:U,colAutosize:W}=J,B=U0(Z),E=()=>{if(!B&&$)z.push("columnChooser");z.push("resetColumns")};if(!Q)return E(),z;let{colDef:K}=Q,L=_&&!K.lockPinned,F=X?.columns.length??0,D=F>0,M=_z(Z),k=Z.get("treeData"),f=Q.isPrimary(),A=!f||U&&Q.isAllowValue()&&(D||M||k);if(q&&!B&&Q.isSortable()){let{isDefaultSortAllowed:O,isAbsoluteSortAllowed:v,isAbsoluteSort:I,isDefaultSort:C,isAscending:m,isDescending:w,direction:a}=c5(Q,J);if(O&&!(m&&C))z.push("sortAscending");if(O&&!(w&&C))z.push("sortDescending");if(v&&!(m&&I))z.push("sortAbsoluteAscending");if(v&&!(w&&I))z.push("sortAbsoluteDescending");if(a)z.push("sortUnSort");z.push(dz)}if(H?.isFilterMenuItemEnabled(Q))z.push("columnFilter"),z.push(dz);if(L)z.push("pinSubMenu");if(A)z.push("valueAggSubMenu");if(L||A)z.push(dz);if(W){if(!K.suppressAutoSize)z.push("autoSizeThis");z.push("autoSizeAll"),z.push(dz)}if(X&&Z.isModuleRegistered("SharedRowGrouping")){let O=z.length;if(K.showRowGroup)z.push("rowUnGroup");else if(Q.isAllowRowGroup()&&f)if(Q.isRowGroupActive()){if(!TJ(Q,J))z.push("rowUnGroup")}else z.push("rowGroup");if(z.length>O)z.push(dz)}if(E(),G&&(o(Z)||Z.get("ssrmExpandAllAffectsAllRows"))&&(k||F>(Y.isPivotMode()?1:0)))z.push("expandAll"),z.push("contractAll");return z}};var Dz="filterMenuTab",Mz="generalMenuTab",tz="columnsMenuTab",$2=[Mz,Dz,tz],Zj=class extends j{constructor(){super(...arguments);this.beanName="enterpriseMenuFactory"}hideActiveMenu(){this.destroyBean(this.activeMenu)}showMenuAfterMouseEvent(Q,z,J,Z,$){let{column:X,columnGroup:Y}=this.splitColumnOrGroup(Q),G=$?"filterMenuTab":void 0;this.showMenu(X,Y,(q)=>{let H=q.getGui();if(this.beans.popupSvc.positionPopupUnderMouseEvent({type:J,additionalParams:{column:X},mouseEvent:z,ePopup:H}),G)q.showTab?.(G);this.dispatchVisibleChangedEvent(!0,!1,X,Y,G)},J,G,void 0,z.target,Z)}splitColumnOrGroup(Q){let z=Q&&JQ(Q);return{column:z?Q:void 0,columnGroup:z?void 0:Q}}showMenuAfterButtonClick(Q,z,J,Z,$){let X=-1,Y="left";if(this.gos.get("enableRtl"))X=1,Y="right";let G=$?"filterMenuTab":void 0,q=G?[G]:void 0,H=U0(this.gos),_=(H?9:4)*X,U=H?-23:4,{column:W,columnGroup:B}=this.splitColumnOrGroup(Q);this.showMenu(W,B,(E)=>{let K=E.getGui();if(this.beans.popupSvc.positionPopupByComponent({type:J,additionalParams:{column:W},eventSource:z,ePopup:K,alignSide:Y,nudgeX:_,nudgeY:U,position:"under",keepWithinBounds:!0}),G)E.showTab?.(G);this.dispatchVisibleChangedEvent(!0,!1,W,B,G)},J,G,q,z,Z)}showMenu(Q,z,J,Z,$,X,Y,G){let q=this.getMenuParams(Q,z,X,Y);if(!q)return;let{menu:H,eMenuGui:_,anchorToElement:U,restoreFocusParams:W}=q,B=[],{menuUtils:E,popupSvc:K}=this.beans;B.push((F)=>{let D=H.getGui();if(this.destroyBean(H),Q)zJ(Q,!1,"contextMenu"),E.restoreFocusOnClose(W,D,F);G?.()});let L=this.getLocaleTextFunc();if(K.addPopup({modal:!0,eChild:_,closeOnEsc:!0,closedCallback:(F)=>{for(let D of B)D(F);this.dispatchVisibleChangedEvent(!1,!1,Q,z,$)},afterGuiAttached:(F)=>H.afterGuiAttached(Object.assign({},{container:Z},F)),positionCallback:$?()=>J(H):void 0,ariaLabel:L("ariaLabelColumnMenu","Column Menu")}),!$)H.showTabBasedOnPreviousSelection?.(),J(H);if(h5(this.gos)){let F=K.setPopupPositionRelatedToElement(_,U);if(F&&Q)this.addStopAnchoring(F,Q,B)}if(H.addEventListener("tabSelected",(F)=>{this.dispatchVisibleChangedEvent(!1,!0,Q),this.lastSelectedTab=F.key,this.dispatchVisibleChangedEvent(!0,!0,Q)}),Q)zJ(Q,!0,"contextMenu");this.activeMenu=H,H.addEventListener("destroyed",()=>{if(this.activeMenu===H)this.activeMenu=null})}addStopAnchoring(Q,z,J){Q.then((Z)=>{z.__addEventListener("leftChanged",Z),z.__addEventListener("visibleChanged",Z),J.push(()=>{z.__removeEventListener("leftChanged",Z),z.__removeEventListener("visibleChanged",Z)})})}getMenuParams(Q,z,J,Z){let{focusSvc:$,visibleCols:X,ctrlsSvc:Y}=this.beans,G={column:Q,headerPosition:$.focusedHeader,columnIndex:X.allCols.indexOf(Q),eventSource:Z},q=this.createMenu(Q,z,G,J,Z);return q?{menu:q,eMenuGui:q.getGui(),anchorToElement:Z||Y.getGridBodyCtrl().eGridBody,restoreFocusParams:G}:void 0}createMenu(Q,z,J,Z,$){if(U0(this.gos))return this.createBean(new $j(Q,J,this.lastSelectedTab,Z,$));else{let X=this.beans.colMenuFactory.getMenuItems(Q,z);return X.length?this.createBean(new Xj(X,Q,J,$)):void 0}}dispatchVisibleChangedEvent(Q,z,J,Z,$){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:Q,switchingTab:z,key:this.lastSelectedTab??$??(U0(this.gos)?Mz:"columnMenu"),column:J??null,columnGroup:Z??null})}isMenuEnabled(Q){if(!U0(this.gos))return!0;let z=!this.beans.filterManager?.isFilterAllowed(Q),J=Q.getColDef().menuTabs??$2;return(z&&J.includes(Dz)?J.length-1:J.length)>0}showMenuAfterContextMenuEvent(Q,z,J){this.beans.menuUtils.onContextMenu({mouseEvent:z,touchEvent:J,source:"ui",showMenuCallback:(Z)=>{return this.showMenuAfterMouseEvent(Q,Z,"columnMenu"),!0}})}},$j=class extends j{constructor(Q,z,J,Z,$){super();this.column=Q,this.restoreFocusParams=z,this.initialSelection=J,this.restrictTo=Z,this.sourceElement=$,this.tabFactories={},this.includeChecks={};let{tabFactories:X,includeChecks:Y}=this;X[Mz]=this.createMainPanel.bind(this),X[Dz]=this.createFilterPanel.bind(this),X[tz]=this.createColumnsPanel.bind(this),Y[Mz]=()=>!0,Y[Dz]=()=>Q?!!this.beans.filterManager?.isFilterAllowed(Q):!1,Y[tz]=()=>!0}postConstruct(){let Q=this.getTabsToCreate().map((J)=>this.createTab(J)),z=new Hf({items:Q,cssClass:"ag-menu",onActiveItemClicked:this.onHidePopup.bind(this),onItemClicked:this.onTabItemClicked.bind(this)});this.tabbedLayout=this.createBean(z),this.mainMenuList?.setParentComponent(z),this.addDestroyFunc(()=>this.destroyBean(z))}getTabsToCreate(){if(this.restrictTo)return this.restrictTo;return(this.column?.getColDef().menuTabs??$2).filter((Q)=>this.isValidMenuTabItem(Q)&&this.isNotSuppressed(Q))}isValidMenuTabItem(Q){let z=!0,J=$2;if(this.restrictTo!=null)z=this.restrictTo.indexOf(Q)>-1,J=this.restrictTo;if(z=z&&$2.indexOf(Q)>-1,!z)R(175,{menuTabName:Q,itemsToConsider:J});return z}isNotSuppressed(Q){return this.includeChecks[Q]()}createTab(Q){return this.tabFactories[Q]()}showTabBasedOnPreviousSelection(){this.showTab(this.initialSelection)}showTab(Q){let{tabItemColumns:z,tabbedLayout:J,tabItemFilter:Z,tabItemGeneral:$}=this;if(z&&Q===tz)J.showItem(z);else if(Z&&Q===Dz)J.showItem(Z);else if($&&Q===Mz)J.showItem($);else J.showFirstItem()}onTabItemClicked(Q){let z=null;switch(Q.item){case this.tabItemColumns:z=tz;break;case this.tabItemFilter:z=Dz;break;case this.tabItemGeneral:z=Mz;break}if(z)this.activateTab(z)}activateTab(Q){let z={type:"tabSelected",key:Q};this.dispatchLocalEvent(z)}createMainPanel(){let{beans:Q,column:z}=this,J=Q.colMenuFactory,Z=J.createMenu(this,J.getMenuItems(z),this.column,()=>this.sourceElement??this.getGui());this.mainMenuList=Z,Z.addEventListener("closeMenu",this.onHidePopup.bind(this));let $={title:h("legacyMenu",Q,z),titleLabel:Mz.replace("MenuTab",""),bodyPromise:g.resolve(Z.getGui()),name:Mz};return this.tabItemGeneral=$,$}onHidePopup(Q){this.beans.menuUtils.closePopupAndRestoreFocusOnSelect(this.hidePopupFunc,this.restoreFocusParams,Q)}createFilterPanel(){let Q=this.column?this.createBean(new w6(this.column,"COLUMN_MENU")):null;if(this.filterComp=Q,!Q?.hasFilter())e(119);let z=(Z)=>Q?.afterGuiAttached(Z),J=()=>Q?.afterGuiDetached();return this.tabItemFilter={title:h("filterTab",this.beans,this.column),titleLabel:Dz.replace("MenuTab",""),bodyPromise:g.resolve(Q?.getGui()),afterAttachedCallback:z,afterDetachedCallback:J,name:Dz},this.tabItemFilter}createColumnsPanel(){let Q=Z0({tag:"div",cls:"ag-menu-column-select-wrapper"}),{beans:z,column:J}=this,$=z.colChooserFactory.createColumnSelectPanel(this,J).getGui();$.classList.add("ag-menu-column-select"),Q.appendChild($);let X={title:h("columns",z,J),titleLabel:tz.replace("MenuTab",""),bodyPromise:g.resolve(Q),name:tz};return this.tabItemColumns=X,X}afterGuiAttached(Q){let{container:z,hidePopup:J}=Q;if(this.tabbedLayout.setAfterAttachedParams({container:z,hidePopup:J}),J)this.hidePopupFunc=J,this.addDestroyFunc(J)}getGui(){return this.tabbedLayout.getGui()}destroy(){super.destroy(),this.destroyBean(this.filterComp)}},Xj=class extends x{constructor(Q,z,J,Z){super({tag:"div",ref:"eColumnMenu",cls:"ag-menu ag-column-menu",role:"presentation"});this.menuItems=Q,this.column=z,this.restoreFocusParams=J,this.sourceElement=Z,this.eColumnMenu=S}postConstruct(){let Q=this.beans.colMenuFactory.createMenu(this,this.menuItems,this.column,()=>this.sourceElement??this.getGui());this.mainMenuList=Q,Q.addEventListener("closeMenu",this.onHidePopup.bind(this)),this.eColumnMenu.appendChild(Q.getGui())}onHidePopup(Q){this.beans.menuUtils.closePopupAndRestoreFocusOnSelect(this.hidePopupFunc,this.restoreFocusParams,Q)}afterGuiAttached({hidePopup:Q}){if(Q)this.hidePopupFunc=Q,this.addDestroyFunc(Q);D0(this.mainMenuList.getGui())}};function Yj(Q,z){Q.colChooserFactory?.showColumnChooser({chooserParams:z})}function Gj(Q){Q.colChooserFactory?.hideActiveColumnChooser()}var qj=class extends j{constructor(){super(...arguments);this.beanName="menuUtils"}restoreFocusOnClose(Q,z,J,Z){let{eventSource:$}=Q,X=J instanceof KeyboardEvent;if(!Z&&!X||!$)return;let Y=d(this.beans);if(!z.contains(Y)&&!hz(this.beans))return;this.focusHeaderCell(Q)}closePopupAndRestoreFocusOnSelect(Q,z,J){let Z;if(J?.keyboardEvent)Z=J.keyboardEvent;Q(Z&&{keyboardEvent:Z});let $=this.beans,X=$.focusSvc,Y=X.getFocusedCell();if(hz($))if(Y){let{rowIndex:G,rowPinned:q,column:H}=Y;X.setFocusedCell({rowIndex:G,column:H,rowPinned:q,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}else this.focusHeaderCell(z)}onContextMenu(Q){let{mouseEvent:z,touchEvent:J,showMenuCallback:Z,source:$}=Q;if(!this.gos.get("allowContextMenuWithControlKey")){if(z&&(z.ctrlKey||z.metaKey))return}if(z)this.blockMiddleClickScrollsIfNeeded(z);if($==="ui"&&this.gos.get("suppressContextMenu"))return;let X=z??J.touches[0];if(Z(X)){let Y=z??J;if(Y?.cancelable)Y.preventDefault()}}async focusHeaderCell(Q){let{column:z,columnIndex:J,headerPosition:Z,eventSource:$}=Q,{visibleCols:X,headerNavigation:Y,focusSvc:G}=this.beans,q=await X.allCols.some((H)=>H===z);if(!this.isAlive())return;if(z?.isAlive()&&q&&$&&f0($)){let H=xZ($);if(H)Y?.scrollToColumn(z),H.focus()}else if(Z&&J!==-1){let H=X.allCols,_=H[J]||b(H);if(_)G.focusHeaderPosition({headerPosition:{headerRowIndex:Z.headerRowIndex,column:_}})}}blockMiddleClickScrollsIfNeeded(Q){if(this.gos.get("suppressMiddleClickScrolls")&&Q.which===2)Q.preventDefault()}},Hj={moduleName:"MenuCore",version:J0,beans:[Qj,tA,qj],icons:{chart:"chart",columns:"columns",loadingMenuItems:"loading",menuPin:"pin",menuValue:"aggregation",menuAddRowGroup:"group",menuRemoveRowGroup:"group",clipboardCopy:"copy",clipboardCut:"cut",clipboardPaste:"paste",save:"save",csvExport:"csv",excelExport:"excel",sortAscending:"asc",sortDescending:"desc",sortAbsoluteAscending:"aasc",sortAbsoluteDescending:"adesc",sortUnSort:"none"},dependsOn:[I0,nz,v6,X7]},rY={moduleName:"ColumnMenu",version:J0,beans:[Zj,Jj,lA],icons:{ensureColumnVisible:"column-arrow",legacyMenu:"menu",filterTab:"filter",columnSelectClosed:"tree-closed",columnSelectOpen:"tree-open",columnSelectIndeterminate:"tree-indeterminate"},apiFunctions:{showColumnChooser:Yj,hideColumnChooser:Gj},dependsOn:[Hj,LJ,FJ]};var _j=".ag-status-bar{border-top:var(--ag-footer-row-border);display:flex;justify-content:space-between;line-height:1.5;overflow:hidden;padding-left:calc(var(--ag-spacing)*4);padding-right:calc(var(--ag-spacing)*4)}.ag-status-panel,:where(.ag-status-panel.ag-status-panel-aggregations .ag-status-name-value){display:inline-flex}.ag-status-name-value{color:var(--ag-status-bar-label-color);font-weight:var(--ag-status-bar-label-font-weight);margin-left:var(--ag-spacing);margin-right:var(--ag-spacing);padding-bottom:var(--ag-widget-container-vertical-padding);padding-top:var(--ag-widget-container-vertical-padding);white-space:nowrap}.ag-status-name-value-value{color:var(--ag-status-bar-value-color);font-weight:var(--ag-status-bar-value-font-weight)}.ag-status-bar-left{display:inline-flex}.ag-status-bar-center{display:inline-flex;text-align:center}.ag-status-bar-right{display:inline-flex}";function Uj(Q,z,J){return Q.getCompDetails(z,Wj,void 0,J,!0)}var Wj={name:"statusPanel",optionalMethods:["refresh"]},Bj={agAggregationComponent:{rowModels:["clientSide","serverSide"],warnArgs:[221]},agFilteredRowCountComponent:{rowModels:["clientSide"],warnArgs:[222]},agSelectedRowCountComponent:{rowModels:["clientSide","serverSide"],warnArgs:[223]},agTotalAndFilteredRowCountComponent:{rowModels:["clientSide"],warnArgs:[224]},agTotalRowCountComponent:{rowModels:["clientSide"],warnArgs:[225]}},Ej={tag:"div",cls:"ag-status-bar",children:[{tag:"div",ref:"eStatusBarLeft",cls:"ag-status-bar-left",role:"status"},{tag:"div",ref:"eStatusBarCenter",cls:"ag-status-bar-center",role:"status"},{tag:"div",ref:"eStatusBarRight",cls:"ag-status-bar-right",role:"status"}]},Kj=class extends x{constructor(){super(Ej);this.updateQueued=!1,this.panelsPromise=g.resolve(),this.eStatusBarLeft=S,this.eStatusBarCenter=S,this.eStatusBarRight=S,this.compDestroyFunctions={},this.registerCSS(_j)}wireBeans(Q){this.userCompFactory=Q.userCompFactory,this.statusBarSvc=Q.statusBarSvc}postConstruct(){this.processStatusPanels(new Map),this.addManagedPropertyListeners(["statusBar"],this.handleStatusBarChanged.bind(this)),Bz(this.beans,this,this.getGui())}getFocusableContainerName(){return"statusBar"}getValidPanels(){let Q=this.gos,z=Q.get("statusBar")?.statusPanels;if(!z)return z;return z.filter((J)=>{let{rowModels:Z,warnArgs:$}=Bj[J.statusPanel]??{};if(!Z)return!0;if(Z.includes(Q.get("rowModelType")))return!0;return R(...$),!1})}processStatusPanels(Q){let z=this.getValidPanels();if(z){let J=z.filter((X)=>X.align==="left"),Z=z.filter((X)=>X.align==="center"),$=z.filter((X)=>!X.align||X.align==="right");this.panelsPromise=g.all([this.createAndRenderComponents(J,this.eStatusBarLeft,Q),this.createAndRenderComponents(Z,this.eStatusBarCenter,Q),this.createAndRenderComponents($,this.eStatusBarRight,Q)])}else this.setDisplayed(!1)}handleStatusBarChanged(){if(this.updateQueued)return;this.updateQueued=!0,this.panelsPromise.then(()=>{this.updateStatusBar(),this.updateQueued=!1})}updateStatusBar(){let Q=this.getValidPanels(),z=Array.isArray(Q)&&Q.length>0;this.setDisplayed(z);let J=new Map;if(z)for(let Z of Q){let $=Z.key??Z.statusPanel,X=this.statusBarSvc.getStatusPanel($);if(X?.refresh){let Y=y(this.gos,{...Z.statusPanelParams??{},key:$});if(X.refresh(Y))J.set($,X),delete this.compDestroyFunctions[$],T0(X.getGui())}}if(this.resetStatusBar(),z)this.processStatusPanels(J)}resetStatusBar(){z0(this.eStatusBarLeft),z0(this.eStatusBarCenter),z0(this.eStatusBarRight),this.destroyComponents(),this.statusBarSvc.unregisterAllComponents()}destroy(){this.destroyComponents(),super.destroy()}destroyComponents(){for(let Q of Object.values(this.compDestroyFunctions))Q();this.compDestroyFunctions={}}createAndRenderComponents(Q,z,J){let Z=[];for(let $ of Q){let X=$.key||$.statusPanel,Y=J.get(X),G;if(Y)G=g.resolve(Y);else{let q=Uj(this.userCompFactory,$,y(this.gos,{key:X}));if(q==null)continue;G=q.newAgStackInstance()}Z.push({key:X,promise:G})}return g.all(Z.map(($)=>$.promise)).then(()=>{for(let $ of Z)$.promise.then((X)=>{let Y=()=>{this.destroyBean(X)};if(this.isAlive())this.statusBarSvc.registerStatusPanel($.key,X),z.appendChild(X.getGui()),this.compDestroyFunctions[$.key]=Y;else Y()})})}},Lj={selector:"AG-STATUS-BAR",component:Kj},Fj={tag:"div",cls:"ag-status-name-value",children:[{tag:"span",ref:"eLabel"},": ",{tag:"span",ref:"eValue",cls:"ag-status-name-value-value"}]},Dj=BigInt(Number.MIN_SAFE_INTEGER),Mj=BigInt(Number.MAX_SAFE_INTEGER),CJ=class extends x{constructor(){super(Fj);this.eLabel=S,this.eValue=S}setLabel(Q,z){this.setDisplayed(!1),this.eLabel.textContent=this.getLocaleTextFunc()(Q,z)}setValue(Q,z){let J=null,Z;if(typeof Q==="bigint"){if(Z=Q,Q>=Dj&&Q<=Mj)J=Number(Q)}else J=Q;this.eValue.textContent=this.valueFormatter(y(this.gos,{value:J,bigintValue:Z,totalRows:z,key:this.key}))}},kj={selector:"AG-NAME-VALUE",component:CJ},sY=(Q)=>{let z=0;return Q.forEachNodeAfterFilter((J)=>{if(J.data)z++}),z},bJ=(Q)=>{let z=0;return Q.forEachNode((J)=>{if(J.data)z++}),z};function Vj(Q,z){if(typeof Q!=="number")return"";return MQ(Math.round(Q*100)/100,z)}var fj={tag:"div",cls:"ag-status-panel ag-status-panel-aggregations",children:[{tag:"ag-name-value",ref:"avgAggregationComp"},{tag:"ag-name-value",ref:"countAggregationComp"},{tag:"ag-name-value",ref:"minAggregationComp"},{tag:"ag-name-value",ref:"maxAggregationComp"},{tag:"ag-name-value",ref:"sumAggregationComp"}]},Aj=class extends x{constructor(){super(fj,[kj]);this.sumAggregationComp=S,this.countAggregationComp=S,this.minAggregationComp=S,this.maxAggregationComp=S,this.avgAggregationComp=S}postConstruct(){this.avgAggregationComp.setLabel("avg","Average"),this.countAggregationComp.setLabel("count","Count"),this.minAggregationComp.setLabel("min","Min"),this.maxAggregationComp.setLabel("max","Max"),this.sumAggregationComp.setLabel("sum","Sum"),this.addManagedEventListeners({cellSelectionChanged:this.onCellSelectionChanged.bind(this),modelUpdated:this.onCellSelectionChanged.bind(this)})}init(Q){this.refresh(Q)}refresh(Q){this.params=Q;let z=Q.valueFormatter??((Z)=>{let{value:$,bigintValue:X}=Z;if(X!=null)return X.toString();return Vj($,this.getLocaleTextFunc.bind(this))}),J=["avg","count","min","max","sum"];for(let Z of J){let $=this.getAllowedAggregationValueComponent(Z);if($)$.key=Z,$.valueFormatter=z.bind(this)}return this.onCellSelectionChanged(),!0}setAggregationComponentValue(Q,z,J){let Z=this.getAllowedAggregationValueComponent(Q),$=bJ(this.beans.rowModel);if(T(Z)&&Z)Z.setValue(z,$),Z.setDisplayed(J);else this.getAggregationValueComponent(Q)?.setDisplayed(!1)}getAllowedAggregationValueComponent(Q){let{aggFuncs:z}=this.params;if(!z||z.includes(Q))return this.getAggregationValueComponent(Q);return null}getAggregationValueComponent(Q){let z=`${Q}AggregationComp`;return this[z]}onCellSelectionChanged(){let Q=this.beans,{rangeSvc:z,valueSvc:J}=Q,Z=z?.getCellRanges(),$=0,X=0n,Y=!1,G=!1,q=0,H=0,_=null,U=null,W=null,B=null,E=(I)=>{if(typeof I==="number"){if($+=I,_===null||I<_)_=I;if(U===null||I>U)U=I;if(!Number.isInteger(I)||!Number.isSafeInteger(I))G=!0;else{let C=BigInt(I);if(X+=C,W===null||C<W)W=C;if(B===null||C>B)B=C}}else{if(Y=!0,X+=I,W===null||I<W)W=I;if(B===null||I>B)B=I;let C=Number(I);if($+=C,_===null||C<_)_=C;if(U===null||C>U)U=C}H++},K={};if(Z?.length&&z)for(let I=0;I<Z.length;I++){let C=Z[I],m=z.getRangeStartRow(C),w=z.getRangeEndRow(C);while(!0){if(n(m)||!m||q0(w,m)||!m||!C.columns)break;C.columns.forEach((t)=>{if(m===null)return;let u=bQ({rowPinned:m.rowPinned,column:t,rowIndex:m.rowIndex});if(K[u])return;K[u]=!0;let Q0=M0(Q,m);if(n(Q0))return;let r=J.getValue(t,Q0,"data");if(n(r)||r==="")return;if(q++,typeof r==="object"&&"value"in r){if(r=r.value,r==="")return}if(typeof r==="string"){let S0=r.trim();if(S0==="")return;let O0=Number(S0);if(!Number.isFinite(O0))return;if($+O0>=Number.MAX_SAFE_INTEGER||$+O0<=Number.MIN_SAFE_INTEGER||O0>=Number.MAX_SAFE_INTEGER||O0<=Number.MIN_SAFE_INTEGER){if(r=qz(S0),r===null)r=O0}else r=O0}if(typeof r==="number"&&!isNaN(r)||typeof r==="bigint")E(r)}),m=L0(Q,m)}}let L=q>1,F=H>1,D=Y&&!G,M;if(D)M=X/BigInt(H);else M=$/H;let k=F?D?X:$:null,f=F?D?W:_:null,A=F?D?B:U:null,O=F?M:null,v=F;this.setAggregationComponentValue("count",q,L),this.setAggregationComponentValue("sum",k,F),this.setAggregationComponentValue("min",f,F),this.setAggregationComponentValue("max",A,F),this.setAggregationComponentValue("avg",O,v)}},jj=class extends CJ{postConstruct(){this.setLabel("filteredRows","Filtered"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-filtered-row-count"),this.setDisplayed(!0);let Q=this.onDataChanged.bind(this);this.addManagedEventListeners({modelUpdated:Q})}onDataChanged(){let{rowModel:Q}=this.beans,z=bJ(Q),J=sY(Q);this.setValue(J,z),this.setDisplayed(z!==J)}init(Q){this.refresh(Q),this.onDataChanged()}updateValueFormatter(Q){this.valueFormatter=Q??(({value:z})=>MQ(z,this.getLocaleTextFunc.bind(this)))}refresh(Q){let{key:z,valueFormatter:J}=Q;return this.key=z,this.updateValueFormatter(J),!0}},Rj=class extends CJ{postConstruct(){this.setLabel("selectedRows","Selected"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-selected-row-count");let Q=this.onRowSelectionChanged.bind(this);this.addManagedEventListeners({modelUpdated:Q,selectionChanged:Q})}onRowSelectionChanged(){let{selectionSvc:Q,rowModel:z}=this.beans,J=Q?.getSelectionCount()??0,Z=bJ(z);if(this.setValue(J,Z),J<0){this.setDisplayed(!0);return}this.setDisplayed(J>0)}init(Q){this.refresh(Q),this.onRowSelectionChanged()}updateValueFormatter(Q){this.valueFormatter=Q??(({value:z})=>{if(z==null||z>=0)return MQ(z,this.getLocaleTextFunc.bind(this));return this.getLocaleTextFunc()("statusBarLastRowUnknown","?")})}refresh(Q){let{key:z,valueFormatter:J}=Q;return this.key=z,this.updateValueFormatter(J),!0}},Sj=class extends CJ{postConstruct(){this.setLabel("totalAndFilteredRows","Rows"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-total-and-filtered-row-count"),this.setDisplayed(!0),this.addManagedEventListeners({modelUpdated:this.onDataChanged.bind(this)})}onDataChanged(){let{rowModel:Q}=this.beans,z=sY(Q),J=bJ(Q);this.setValue(z,J)}init(Q){this.refresh(Q),this.onDataChanged()}updateValueFormatter(Q){this.valueFormatter=Q??(({value:z,totalRows:J})=>{let Z=this.getLocaleTextFunc.bind(this),$=MQ(z,Z),X=MQ(J??z,Z);if(z===J)return $;let Y=Z();return`${$} ${Y("of","of")} ${X}`})}refresh(Q){let{key:z,valueFormatter:J}=Q;return this.key=z,this.updateValueFormatter(J),!0}},Oj=class extends CJ{postConstruct(){this.setLabel("totalRows","Total Rows"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-total-row-count"),this.setDisplayed(!0),this.addManagedEventListeners({modelUpdated:this.onDataChanged.bind(this)})}onDataChanged(){let Q=bJ(this.beans.rowModel);this.setValue(Q,Q)}init(Q){this.refresh(Q),this.onDataChanged()}updateValueFormatter(Q){this.valueFormatter=Q??(({value:z})=>MQ(z,this.getLocaleTextFunc.bind(this)))}refresh(Q){let{key:z,valueFormatter:J}=Q;return this.key=z,this.updateValueFormatter(J),!0}};function Pj(Q,z){let J=Q.statusBarSvc?.getStatusPanel(z);return mQ(J)}var Tj=class extends j{constructor(){super();this.beanName="statusBarSvc",this.comps=new Map}registerStatusPanel(Q,z){this.comps.set(Q,z)}unregisterStatusPanel(Q){this.comps.delete(Q)}unregisterAllComponents(){this.comps.clear()}getStatusPanel(Q){return this.comps.get(Q)}destroy(){this.unregisterAllComponents(),super.destroy()}},lY={moduleName:"StatusBar",version:J0,beans:[Tj],userComponents:{agAggregationComponent:Aj,agTotalRowCountComponent:Oj,agFilteredRowCountComponent:jj,agTotalAndFilteredRowCountComponent:Sj,agSelectedRowCountComponent:Rj},selectors:[Lj],apiFunctions:{getStatusPanel:Pj},dependsOn:[I0,iz]};function aY(Q){if(Q.excelCreator?.getFactoryMode()==="MULTI_SHEET")return R(161),!1;return!0}function vj(Q,z){if(aY(Q))return Q.excelCreator?.getDataAsExcel(z);return}function Ij(Q,z){if(aY(Q))Q.excelCreator?.exportDataAsExcel(z)}function Cj(Q,z){return Q.excelCreator?.setFactoryMode("MULTI_SHEET"),Q.excelCreator?.getSheetDataForExcel(z)}function bj(Q,z){return Q.excelCreator?.getMultipleSheetsAsExcel(z)}function yj(Q,z){Q.excelCreator?.exportMultipleSheetsAsExcel(z)}var oY={moduleName:"ExcelExport",version:J0,beans:[lV],apiFunctions:{getDataAsExcel:vj,exportDataAsExcel:Ij,getSheetDataForExcel:Cj,getMultipleSheetsAsExcel:bj,exportMultipleSheetsAsExcel:yj},dependsOn:[S6,I0]};function L2(Q){let{filters:z}=Q;return z&&z.length>0?z:[{filter:"agTextColumnFilter"},{filter:"agSetColumnFilter"}]}function U2(Q,z){if(Q==null)return;for(let J=Q.length-1;J>=0;J--)z(Q[J],J)}function xj(Q,z){if(z.title!=null)return z.title;return Q instanceof wZ?Q.getFilterTitle():"Filter"}function W2(Q,z,J,Z){let $=[],X=Q?.filterModels;for(let Y=0;Y<z;Y++)$[Y]=(Y===Z?J:X?.[Y])??null;return $.every((Y)=>Y==null)?null:{filterType:"multi",filterModels:$}}function nQ(Q,z){return Q?.filterModels?.[z]??null}function B2(Q,z,J,Z){let $=J.filterValueGetter;return $?Q.colFilter.createGetValue(z,$):Z}var eY=class extends _6{constructor(){super({tag:"div",cls:"ag-multi-filter ag-menu-list-compact"});this.filterDefs=[],this.guiDestroyFuncs=[],this.filterGuis=[],this.lastActivatedMenuItem=null}postConstruct(){this.initialiseTabGuard({onFocusIn:(Q)=>this.onFocusIn(Q)})}refreshGui(Q){if(Q===this.lastOpenedInContainer)return g.resolve();return this.tabGuardFeature.removeAllChildrenExceptTabGuards(),this.destroyChildren(),g.all(this.getFilterWrappers().map((z,J)=>{if(!z)return g.resolve(null);let Z=this.getFilterFromWrapper(z),$=this.getCompFromWrapper(z),X=this.filterDefs[J],Y=xj(Z,X),G;if(X.display==="subMenu"&&Q!=="toolPanel")G=this.insertFilterMenu($,Z,Y).then((q)=>q.getGui());else if(X.display==="subMenu"||X.display==="accordion"){let q=this.insertFilterGroup(Z,$,Y);G=g.resolve(q.getGui())}else G=g.resolve($.getGui());return G})).then((z)=>{z.forEach((J,Z)=>{if(!J)return;if(Z>0)this.appendChild(Z0({tag:"div",cls:"ag-filter-separator"}));this.appendChild(J)}),this.filterGuis=z,this.lastOpenedInContainer=Q})}destroyChildren(){for(let Q of this.guiDestroyFuncs)Q();this.guiDestroyFuncs.length=0,this.filterGuis.length=0}insertFilterMenu(Q,z,J){let Z=Q.getGui();H0(Z,"dialog");let $=this.createBean(new WA),X={getGui:()=>Q.getGui(),afterGuiAttached:(Y)=>{if(Q.afterGuiAttached?.(Y),Q!==z)z.afterGuiAttached?.(Y)}};return $.init({menuItemDef:{name:J,subMenu:[],subMenuRole:"dialog",cssClasses:["ag-multi-filter-menu-item"],menuItem:vY,menuItemParams:{cssClassPrefix:"ag-compact-menu-option",isCompact:!0}},level:0,isAnotherSubMenuOpen:()=>!1,childComponent:X,contextParams:{column:null,node:null,value:null}}).then(()=>{$.setParentComponent(this),this.guiDestroyFuncs.push(()=>this.destroyBean($)),this.addManagedListeners($,{menuItemActivated:(G)=>{if(this.lastActivatedMenuItem&&this.lastActivatedMenuItem!==G.menuItem)this.lastActivatedMenuItem.deactivate();this.lastActivatedMenuItem=G.menuItem}});let Y=$.getGui();return $.addManagedElementListeners(Y,{keydown:(G)=>{let{key:q}=G;switch(q){case V.UP:case V.RIGHT:case V.DOWN:case V.LEFT:if(G.preventDefault(),q===V.RIGHT)$.openSubMenu(!0);break}},focusin:()=>$.activate(),focusout:()=>{if(!$.isSubMenuOpen()&&!$.isSubMenuOpening())$.deactivate()}}),$})}insertFilterGroup(Q,z,J){let Z=this.createBean(new Wf({title:J,cssIdentifier:"multi-filter"}));if(this.guiDestroyFuncs.push(()=>this.destroyBean(Z)),Z.addItem(z.getGui()),Z.toggleGroupExpand(!1),Q.afterGuiAttached)Z.addManagedListeners(Z,{expanded:()=>Q.afterGuiAttached({container:this.lastOpenedInContainer,suppressFocus:!0,hidePopup:this.hidePopup})});return Z}afterGuiAttached(Q){let z;if(Q)this.hidePopup=Q.hidePopup,z=this.refreshGui(Q.container);else this.hidePopup=void 0,z=g.resolve();let J=Q?.suppressFocus;z.then(()=>{let{filterDefs:Z,filterGuis:$,beans:X}=this,Y=this.getFilterWrappers(),G=!!J;if(Z)U2(Z,(H,_)=>{let U=_===0,W=H.display&&H.display!=="inline",B=J||!U||W,E={...Q??{},suppressFocus:B},K=Y[_],L=K?this.getFilterFromWrapper(K):void 0;if(K){let F=this.getCompFromWrapper(K);if(F!==L)F.afterGuiAttached(E)}if(L){if(this.executeFunctionIfExistsOnFilter(L,"afterGuiAttached",E),U&&!B)G=!0}if(!J&&U&&W){let F=$[_];if(F){if(!D0(F))F.focus({preventScroll:!0});G=!0}}});let q=d(X);if(!G&&(hz(X)||this.getGui().contains(q)))this.forceFocusOutOfContainer(!0)})}afterGuiDetached(){this.executeFunctionIfExists("afterGuiDetached")}onAnyFilterChanged(){this.executeFunctionIfExists("onAnyFilterChanged",(Q)=>this.executeOnWrapper(Q,"onAnyFilterChanged"))}onNewRowsLoaded(){this.executeFunctionIfExists("onNewRowsLoaded",(Q)=>this.executeOnWrapper(Q,"onNewRowsLoaded"))}destroy(){this.destroyChildren(),this.hidePopup=void 0,super.destroy()}executeOnWrapper(Q,z){}executeFunctionIfExists(Q,z){U2(this.getFilterWrappers(),(J)=>{if(J)z?.(J),this.executeFunctionIfExistsOnFilter(this.getFilterFromWrapper(J),Q)})}executeFunctionIfExistsOnFilter(Q,z,...J){let Z=Q[z];if(typeof Z==="function")Z.apply(Q,J)}onFocusIn(Q){let z=this.lastActivatedMenuItem;if(z!=null&&!z.getGui().contains(Q.target))z.deactivate(),this.lastActivatedMenuItem=null}},Q4=class extends eY{constructor(){super(...arguments);this.filterType="multi",this.wrappers=[],this.activeFilterIndices=[],this.afterFiltersReadyFuncs=[]}init(Q){this.params=Q,this.filterDefs=L2(Q);let z=F0(this.beans.colFilter.model,Q.column.getColId()),{filterChangedCallback:J}=Q;this.filterChangedCallback=J;let Z=this.filterDefs.map(($,X)=>this.createFilter($,X,z));return new g(($)=>{g.all(Z).then((X)=>{this.wrappers=X,this.refreshGui("columnMenu").then(()=>{$()})})}).then(()=>{for(let $ of this.afterFiltersReadyFuncs)$();this.afterFiltersReadyFuncs.length=0})}refresh(Q){return this.params=Q,!0}isFilterActive(){return this.wrappers.some((Q)=>{if(!Q)return!1;let{filter:z,handler:J,model:Z}=Q;if(J)return Z!=null;return z.isFilterActive()})}getLastActiveFilterIndex(){let Q=this.activeFilterIndices;return Q.length>0?Q[Q.length-1]:null}doesFilterPass(Q,z){return this.wrappers.every((J,Z)=>{if(!J||z!=null&&Z===z)return!0;let{handler:$,filter:X,model:Y}=J;if($)return Y==null||$.doesFilterPass({...Q,model:Y,handlerParams:J.handlerParams});return!X.isFilterActive()||X.doesFilterPass(Q)})}getModelFromUi(){return{filterType:this.filterType,filterModels:this.wrappers.map((z)=>{if(!z)return null;let J=z.filter;if(typeof J.getModelFromUi==="function")return J.getModelFromUi();return null})}}getModel(){if(!this.isFilterActive())return null;return{filterType:this.filterType,filterModels:this.wrappers.map((z)=>{if(!z)return null;let{filter:J,handler:Z,model:$}=z;if(Z)return $;return J.isFilterActive()?J.getModel():null})}}setModel(Q){let z=(Z,$)=>{return new g((X)=>{let Y=Z.setModel($);if(Y)Y.then(X);else X()})},J=[];return this.wrappers.forEach((Z,$)=>{if(!Z)return;let X=nQ(Q,$),{filter:Y,filterParams:G,handler:q,handlerParams:H,state:_}=Z;if(q){let U={model:X,state:_?.state};Z.state=U,Z.model=X,J.push(rZ(()=>g.resolve({filter:Y,filterParams:G}),q,H,X,U,"api").then(()=>{this.updateActiveListForHandler($,Z.model)}))}else J.push(z(Y,X).then(()=>{this.updateActiveListForFilter($,Y)}))}),g.all(J).then(()=>{})}applyModel(Q="api"){let z=!1;for(let J of this.wrappers)if(J){let Z=J.filter;if(Z instanceof wZ)z=Z.applyModel(Q)||z}return z}getChildFilterInstance(Q){return this.wrappers[Q]?.filter}getNumChildFilters(){return this.wrappers.length}destroy(){for(let Q of this.wrappers)this.destroyBean(Q?.filter),this.destroyBean(Q?.handler);this.wrappers.length=0,super.destroy()}getFilterWrappers(){return this.wrappers}getFilterFromWrapper(Q){return Q.filter}getCompFromWrapper(Q){return Q.comp}executeOnWrapper(Q,z){Q.handler?.[z]?.()}createFilter(Q,z,J){let Z=this.params.column,$=null,X,Y=this.beans,G=(B,E)=>{let K=this.wrappers[z];if(!K)return;let L={model:B,state:K.state?.state};K.state=L,K.model=B,rZ(()=>g.resolve({filter:K.filter,filterParams:K.filterParams}),K.handler,K.handlerParams,B,L,"ui").then(()=>{this.onHandlerModelChanged(z,K.model,E)})},{compDetails:q,handler:H,handlerParams:_,createFilterUi:U}=Y.colFilter.createFilterInstance(Z,Q,"agTextColumnFilter",(B,E)=>{let K={...B,filterChangedCallback:E?()=>{}:(L)=>{this.executeWhenAllFiltersReady(()=>this.onFilterModelChanged(z,L))},doesRowPassOtherFilter:(L)=>B.doesRowPassOtherFilter(L)&&this.doesFilterPass({node:L,data:L.data},z),getValue:B2(Y,Z,Q,B.getValue)};if(E)$=nQ(J,z),X=this.updateDisplayParams(K,z,$,()=>q,()=>H,G);return K});if(!U)return g.resolve(null);let W;if(H){let{doesRowPassOtherFilter:B,getValue:E}=_;W={..._,onModelChange:G,doesRowPassOtherFilter:(K)=>B(K)&&this.doesFilterPass({node:K,data:K.data},z),getValue:B2(Y,Z,Q,E)},H.init?.({...W,model:$,source:"init"})}return U().then((B)=>{if(!H)return{filter:B,comp:B};let E=q?.params,K=X(B);return{filter:B,comp:K,filterParams:E,handler:H,handlerParams:W,model:$}})}updateDisplayParams(Q,z,J,Z,$,X){let Y=this.params.column,G=new KQ;Q.model=J,Q.state={model:J},Q.onModelChange=X,Q.getHandler=$;let q=(_,U)=>{_.state=U,G.dispatchEvent({type:"filterStateChanged",column:Y,state:U})};Q.onStateChange=(_)=>{let U=this.wrappers[z];if(!U)return;q(U,_),A1(U.filter,U.filterParams,U.model??null,_,"ui")};let H=(_,U,W)=>{let B=this.wrappers[z];if(!B)return;let E=()=>B?.model??null;FZ({action:U,filterParams:B.filterParams,getFilterUi:()=>{let K=g.resolve(B.filter);return{created:!0,filterParams:B.filterParams,compDetails:Z(),create:()=>K,promise:K}},getModel:E,getState:()=>B?.state??{model:E()},updateState:(K)=>q(B,K),updateModel:(K)=>B.filterParams?.onModelChange(K,W),processModelToApply:B.handler?.processModelToApply?.bind(B.handler)})};return Q.onAction=(_,U,W)=>{H(Y,_,U),G.dispatchEvent({type:"filterAction",column:Y,action:_,event:W})},(_)=>{let U=Z()?.params;return this.createManagedBean(new x6(Y,{comp:_,params:U,isHandler:!0},G,H,!1))}}executeWhenAllFiltersReady(Q){if((this.wrappers?.length??0)>0)Q();else this.afterFiltersReadyFuncs.push(Q)}updateActiveListForFilter(Q,z){this.updateActiveList(Q,()=>z?.isFilterActive())}updateActiveListForHandler(Q,z){this.updateActiveList(Q,()=>z!=null)}updateActiveList(Q,z){let J=this.activeFilterIndices;if($0(this.activeFilterIndices,Q),z())J.push(Q)}onFilterModelChanged(Q,z){this.updateActiveListForFilter(Q,this.wrappers[Q]?.filter),this.filterChanged(Q,z)}onHandlerModelChanged(Q,z,J){this.updateActiveListForHandler(Q,z),this.filterChanged(Q,J)}filterChanged(Q,z){this.filterChangedCallback(z),this.wrappers.forEach((J,Z)=>{if(Q===Z||!J)return;let{filter:$,handler:X}=J;if(X?.onAnyFilterChanged?.(),typeof $.onAnyFilterChanged==="function")$.onAnyFilterChanged()})}getModelAsString(Q){if(!Q?.filterModels?.length)return"";let z=this.getLastActiveFilterIndex()??0;return this.wrappers[z]?.filter?.getModelAsString?.(Q.filterModels[z])??""}},wj=class extends j{constructor(){super(...arguments);this.filterType="multi",this.handlerWrappers=[],this.activeFilterIndices=[],this.filterDefs=[]}init(Q){this.params=Q;let z=L2(Q.filterParams);this.filterDefs=z,z.forEach((J,Z)=>{let $=this.beans.colFilter.createHandler(Q.column,J,"agTextColumnFilter");if(this.handlerWrappers.push($),!$){R(278,{colId:Q.column.getColId()});return}let{handler:X,handlerParams:Y}=$;X.init?.({...this.updateHandlerParams(Y,Z,!0),model:nQ(Q.model,Z),source:"init"})}),this.resetActiveList(Q.model)}refresh(Q){this.params=Q;let{model:z,source:J,filterParams:Z}=Q,$=Z?.filters;if(this.handlerWrappers.forEach((X,Y)=>{if(X){let G=this.updateHandlerParams(Q,Y,!1,$?.[Y].filterParams);X.handlerParams=G,X.handler.refresh?.({...G,model:nQ(z,Y),source:J})}}),Q.source!=="floating"&&Q.source!=="ui")this.resetActiveList(Q.model);if(Q.additionalEventAttributes?.fromButtons)this.onAnyFilterChanged()}updateHandlerParams(Q,z,J,Z){let{onModelChange:$,doesRowPassOtherFilter:X,getValue:Y}=Q,G={...Q,onModelChange:(q,H)=>$(W2(this.params.model,this.handlerWrappers.length,q,z),H),doesRowPassOtherFilter:(q)=>X(q)&&this.doesFilterPass({node:q,data:q.data,model:this.params.model,handlerParams:G},z),getValue:B2(this.beans,Q.column,this.filterDefs[z],Y),filterParams:this.updateFilterParams(Q,J,Z)};return G}updateFilterParams(Q,z,J){let Z=Q.filterParams;if(J?.buttons&&z)R(292,{colId:Q.column.getColId()});let $=J?{...Z,...J}:Z;if(!$.buttons)return $;if(J)return delete $.buttons,$;let{buttons:X,...Y}=$;return Y}doesFilterPass(Q,z){let J=Q.model?.filterModels;if(J==null)return!0;return this.handlerWrappers.every((Z,$)=>{let X=J[$];if(X==null||z!=null&&$===z)return!0;let Y=Z?.handler;return!Y||Y.doesFilterPass({...Q,model:X,handlerParams:Z.handlerParams})})}resetActiveList(Q){this.activeFilterIndices=[];let z=Q?.filterModels;if(z==null)return;for(let J=0;J<this.handlerWrappers.length;J++)if(z[J]!=null)this.activeFilterIndices.push(J)}updateActiveList(Q,z){let J=this.activeFilterIndices;if($0(J,Q),z!=null)J.push(Q)}getLastActiveFilterIndex(){let Q=this.activeFilterIndices;return Q.length>0?Q[Q.length-1]:null}getModelAsString(Q,z){let J=z==="filterToolPanel",Z=()=>J?this.getLocaleTextFunc()("filterSummaryInactive","is (All)"):"";if(!Q?.filterModels?.length)return Z();let $=this.getLastActiveFilterIndex()??0;return this.handlerWrappers[$]?.handler.getModelAsString?.(Q.filterModels[$],z)??Z()}getHandler(Q){return this.handlerWrappers[Q]?.handler}onAnyFilterChanged(){U2(this.handlerWrappers,(Q)=>Q?.handler?.onAnyFilterChanged?.())}onNewRowsLoaded(){U2(this.handlerWrappers,(Q)=>Q?.handler?.onNewRowsLoaded?.())}destroy(){for(let Q of this.handlerWrappers)this.destroyBean(Q?.handler);this.handlerWrappers.length=0,super.destroy()}},Nj=class extends j{constructor(){super(...arguments);this.beanName="multiFilter"}getParamsForDataType(Q,z,J,Z){let $=Q?.filters,X=this.beans;if(!$)$=[{filter:C6(J.baseDataType)},{filter:"agSetColumnFilter"}];let Y=this.getLocaleTextFunc();return $=$.map((G)=>{let{filter:q,filterParams:H,filterValueGetter:_}=G;if(typeof q!=="string")return G;let{filterParams:U,filterValueGetter:W}=I6(q,H,_??z,J,Z,X,Y);return{...G,filterParams:U,filterValueGetter:W}}),{filterParams:{...Q,filters:$}}}},z4=class extends eY{constructor(){super(...arguments);this.filterType="multi",this.filters=[],this.filterParams=[],this.validity=[]}init(Q){this.params=Q;let z=L2(Q).map((Z)=>{if(Z.filterParams?.buttons){R(292,{colId:Q.column.getColId()});let $={...Z.filterParams};return delete $.buttons,{...Z,filterParams:$}}return Z});this.filterDefs=z,this.allState=Q.state;let J=this.filterDefs.map((Z,$)=>this.createFilter(Z,$));return new g((Z)=>{g.all(J).then(($)=>{this.filters=$,this.refreshGui("columnMenu").then(()=>{Z()})})})}refresh(Q){let{model:z,state:J,source:Z}=Q;if(Z==="colDef")return!1;this.params=Q;let $=this.filterParams;if(J===this.allState)return!0;this.allState=J;let X=J.state;return this.filters.forEach((Y,G)=>{let q=nQ(z,G),H={state:X?.[G],model:nQ(J.model,G)};A1(Y,$[G],q,H,Z)}),!0}getLastActiveFilterIndex(){return this.getHandler().getLastActiveFilterIndex?.()??null}getChildFilterInstance(Q){return this.filters[Q]??void 0}getNumChildFilters(){return this.filters.length}destroy(){for(let Q of this.filters)this.destroyBean(Q);this.filters.length=0,super.destroy()}getFilterWrappers(){return this.filters}getFilterFromWrapper(Q){return Q}getCompFromWrapper(Q){return Q}createFilter(Q,z){let J=this.beans.userCompFactory,Z=this.updateParams(Q,this.params,z),$=d5(J,Q,Z,"agTextColumnFilter");if(!$)return g.resolve(null);return this.filterParams[z]=$.params,$.newAgStackInstance()}updateParams(Q,z,J){let{doesRowPassOtherFilter:Z,model:$,onModelChange:X,state:Y,onStateChange:G,column:q,source:H,onAction:_,onUiChange:U,getValue:W}=z,B=nQ($,J),E=Y?{model:nQ(Y.model,J),state:Y.state?.[J]}:{model:B},K=()=>{let F=this.getHandler();this.filters.forEach((D,M)=>{if(J!==M)F.getHandler(M)?.onAnyFilterChanged?.(),D?.onAnyFilterChanged?.()})},L=this.beans.colFilter;return{...L.createBaseFilterParams(q),...Q,doesRowPassOtherFilter:(F)=>Z(F)&&this.getHandler().doesFilterPass({node:F,data:F.data,model:this.params.model,handlerParams:L.getHandlerParams(q)},J),model:B,state:E,onModelChange:(F,D)=>{let{filters:M,params:k}=this,f=W2(k.model,M.length,F,J);this.updateActiveList(J,F),X(f,D),K()},onStateChange:(F)=>this.onStateChange(G,J,F),getHandler:()=>this.getHandler().getHandler(J),onAction:(F,D,M)=>{if(WJ(z))return;let k=F==="apply"||F==="reset";if(k)this.updateActiveList(J,nQ(this.params.state.model,J));if(_(F,D,M),k)K()},onUiChange:U,source:H,getValue:B2(this.beans,q,Q,W)}}updateActiveList(Q,z){this.getHandler().updateActiveList?.(Q,z)}getHandler(){return this.params.getHandler()}onStateChange(Q,z,J){let{model:Z,state:$,valid:X}=J,Y=this.validity;Y[z]=X;let G=this.allState,q=W2(G.model,this.filters.length,Z,z),H=Y.every((W)=>W!==!1),_=[...G.state??[]];_[z]=$;let U={state:_,model:q,valid:H};this.allState=U,Q(U)}getModelAsString(Q){return this.getHandler().getModelAsString?.(Q)??""}},gj={tag:"div",cls:"ag-multi-floating-filter ag-floating-filter-input"},hj=class extends x{constructor(){super(gj);this.floatingFilters=[],this.compDetailsList=[]}init(Q){this.params=Q;let{compDetailsList:z}=this.getCompDetailsList(Q);return this.setParams(z)}setParams(Q){let z=[];return Q.forEach((J)=>{let Z=J?.newAgStackInstance();if(Z!=null)this.compDetailsList.push(J),z.push(Z)}),g.all(z).then((J)=>{J.forEach((Z,$)=>{this.floatingFilters.push(Z);let X=Z.getGui();if(this.appendChild(X),$>0)N(X,!1)})})}refresh(Q){this.params=Q;let{compDetailsList:z,floatingFilterParamsList:J}=this.getCompDetailsList(Q);if(z.length===this.compDetailsList.length&&z.every(($,X)=>!this.beans.colFilter?.areFilterCompsDifferent(this.compDetailsList[X],$))){if(J.forEach(($,X)=>{this.floatingFilters[X].refresh?.($)}),this.gos.get("enableFilterHandlers")){let $=Q;if($.model==null)this.floatingFilters.forEach((X,Y)=>{N(X.getGui(),Y===0)});else{let X=$.getHandler()?.getLastActiveFilterIndex?.();this.floatingFilters.forEach((Y,G)=>{let q=X==null?G===0:G===X;N(Y.getGui(),q)})}}}else z0(this.getGui()),this.destroyBeans(this.floatingFilters),this.floatingFilters=[],this.compDetailsList=[],this.setParams(z)}getCompDetailsList(Q){let z=[],J=[],Z=Q.filterParams,$=Q.currentParentModel,X=L2(Z);return X.forEach((Y,G)=>{let q={...Q,parentFilterInstance:(_)=>{this.parentMultiFilterInstance((U)=>{let W=U.getChildFilterInstance(G);if(W==null)return;_(W)})},currentParentModel:()=>$()?.filterModels?.[G]??null};if(this.gos.get("enableFilterHandlers")){let _=q;_.model=_.model?.filterModels?.[G]??null;let{onModelChange:U,getHandler:W}=_;_.onModelChange=(B,E)=>U(W2(this.params.model,X.length,B,G),E),_.getHandler=()=>{return W().getHandler(G)}}B0(q.filterParams,Y.filterParams);let H=this.getCompDetails(Y,q);if(H)z.push(H),J.push(q)}),{compDetailsList:z,floatingFilterParamsList:J}}onParentModelChanged(Q,z){if(z?.afterFloatingFilter)return;this.parentMultiFilterInstance((J)=>{if(Q==null)this.floatingFilters.forEach((Z,$)=>{Z.onParentModelChanged(null,z),N(Z.getGui(),$===0)});else{let Z=J.getLastActiveFilterIndex();this.floatingFilters.forEach(($,X)=>{let Y=Q.filterModels.length>X?Q.filterModels[X]:null;$.onParentModelChanged(Y,z);let G=Z==null?X===0:X===Z;N($.getGui(),G)})}})}destroy(){this.destroyBeans(this.floatingFilters),this.floatingFilters.length=0,super.destroy()}getCompDetails(Q,z){let{colFilter:J,frameworkOverrides:Z,userCompFactory:$}=this.beans,X=b6(Z,Q,()=>J.getDefaultFloatingFilter(this.params.column))??"agReadOnlyFloatingFilter";return t5($,Q,z,X)}parentMultiFilterInstance(Q){this.params.parentFilterInstance((z)=>{if(!(z instanceof Q4||z instanceof z4))e(120);Q(z)})}},J4={moduleName:"MultiFilter",version:J0,userComponents:{agMultiColumnFilter:{getComp:(Q)=>Q.gos.get("enableFilterHandlers")?{classImp:z4,params:{useForm:!0}}:Q4},agMultiColumnFloatingFilter:hj},beans:[Nj],dynamicBeans:{agMultiColumnFilterHandler:wj},dependsOn:[I0,FX,X7]},uj=class extends j{constructor(){super(...arguments);this.beanName="aggColNameSvc"}getHeaderName(Q,z){if(this.gos.get("suppressAggFuncInHeader"))return z;let{valueColsSvc:J,colModel:Z,rowGroupColsSvc:$}=this.beans,X=Q.getColDef().pivotValueColumn,Y=T(X),G=null,q;if(Y){let H=J?.columns??[],_=this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&H.length===1,U=Q.getColDef().pivotTotalColumnIds!==void 0;if(_&&!U)return z;G=X?X.getAggFunc():null,q=!0}else{let H=Q.isValueActive(),_=$?.columns.length!==0,U=Z.isPivotMode()||_||this.gos.get("treeData");if(H&&U)G=Q.getAggFunc(),q=!0;else q=!1}if(q){let H=typeof G==="string"?G:"func";return`${this.getLocaleTextFunc()(H,H)}(${z})`}return z}},mj={sum:"Sum",first:"First",last:"Last",min:"Min",max:"Max",count:"Count",avg:"Average"},cj=class extends j{constructor(){super(...arguments);this.beanName="aggFuncSvc",this.aggFuncsMap={},this.initialised=!1}postConstruct(){this.init()}init(){if(this.initialised)return;this.initialiseWithDefaultAggregations(),this.addAggFuncs(this.gos.get("aggFuncs"))}initialiseWithDefaultAggregations(){let Q=this.aggFuncsMap;Q.sum=pj,Q.first=ij,Q.last=nj,Q.min=dj,Q.max=tj,Q.count=sj,Q.avg=aj,this.initialised=!0}isAggFuncPossible(Q,z){let Z=this.getFuncNames(Q).includes(z),$=T(this.aggFuncsMap[z]);return Z&&$}getDefaultFuncLabel(Q){return mj[Q]??Q}getDefaultAggFunc(Q){let z=Q.getColDef().defaultAggFunc;if(T(z)&&this.isAggFuncPossible(Q,z))return z;if(this.isAggFuncPossible(Q,"sum"))return"sum";let J=this.getFuncNames(Q);return J?.length?J[0]:null}addAggFuncs(Q){if(this.init(),!Q)return;for(let z of Object.keys(Q))if(Q[z])this.aggFuncsMap[z]=Q[z]}getAggFunc(Q){return this.init(),this.aggFuncsMap[Q]}getFuncNames(Q){let z=Q.getColDef().allowedAggFuncs;return z==null?Object.keys(this.aggFuncsMap).sort():z}clear(){this.aggFuncsMap={}}};function pj(Q){let{values:z}=Q,J=null;for(let Z=0;Z<z.length;Z++){let $=z[Z];if(typeof $==="number")if(J===null)J=$;else J+=typeof J==="number"?$:BigInt($);else if(typeof $==="bigint")if(J===null)J=$;else J=(typeof J==="bigint"?J:BigInt(J))+$}return J}function ij(Q){return Q.values.length>0?Q.values[0]:null}function nj(Q){return Q.values.length>0?b(Q.values):null}function dj(Q){let{values:z}=Q,J=null;for(let Z=0;Z<z.length;Z++){let $=z[Z];if((typeof $==="number"||typeof $==="bigint")&&(J===null||J>$))J=$}return J}function tj(Q){let{values:z}=Q,J=null;for(let Z=0;Z<z.length;Z++){let $=z[Z];if((typeof $==="number"||typeof $==="bigint")&&(J===null||J<$))J=$}return J}var rj=Object.freeze({toString:function(){return this.value.toString()},toNumber:function(){return this.value}});function sj(Q){let{values:z}=Q,J=0;for(let X=0;X<z.length;X++){let Y=z[X];J+=Y!=null&&typeof Y.value==="number"?Y.value:1}let Z=Q.rowNode?.aggData?.[Q.column.getColId()];if(Z&&Z.value===J)return Z;let $=Object.create(rj);return $.value=J,$}var lj=Object.freeze({toString:function(){return typeof this.value==="number"||typeof this.value==="bigint"?this.value.toString():""},toNumber:function(){return this.value}});function aj(Q){let{values:z}=Q,J=0,Z=0;for(let G=0;G<z.length;G++){let q=z[G],H=null;if(typeof q==="number"||typeof q==="bigint")H=q,Z++;else if(q!=null&&(typeof q.value==="number"||typeof q.value==="bigint")&&typeof q.count==="number")H=q.value*(typeof q.value==="number"?q.count:BigInt(q.count)),Z+=q.count;if(typeof H==="number")J+=typeof J==="number"?H:BigInt(H);else if(typeof H==="bigint")J=(typeof J==="bigint"?J:BigInt(J))+H}let $=null;if(Z>0)$=J/(typeof J==="number"?Z:BigInt(Z));let X=Q.rowNode?.aggData?.[Q.column?.getColId()];if(X&&X.count===Z&&X.value===$)return X;let Y=Object.create(lj);return Y.count=Z,Y.value=$,Y}var oj=class extends j{constructor(){super(...arguments);this.beanName="aggChildrenSvc"}getAggregatedChildren(Q,z,J){if(!Q?.group)return[];if(Q.rowPinned){if(Q=Q.pinnedSibling,!Q)return[]}let Z=this.gos,$=Z4(Q,z,Z);if(!J)return $;let X=[];return $4($,z,Z,X),X}},Z4=(Q,z,J)=>{let Z=z?.colDef,$=Z?.pivotKeys;if($){if(Q.leafGroup&&$.length&&!Z.pivotTotalColumnIds)return gY(Q.childrenMapped,$);return Q.childrenAfterFilter??Q.childrenAfterGroup??[]}if(TQ(J)||J.get("suppressAggFilteredOnly"))return Q.childrenAfterGroup??[];return Q.childrenAfterFilter??Q.childrenAfterGroup??[]},$4=(Q,z,J,Z)=>{for(let $=0,X=Q.length;$<X;++$){let Y=Q[$];if(Y.group)$4(Z4(Y,z,J),z,J,Z);else Z.push(Y)}};function ej(Q,z){if(Q.aggFuncSvc)Q.aggFuncSvc.addAggFuncs(z)}function QR(Q){if(Q.aggFuncSvc)Q.aggFuncSvc.clear()}function zR(Q,z,J){Q.valueColsSvc?.setColumnAggFunc?.(z,J,"api")}var JR=class extends j{constructor(){super(...arguments);this.beanName="aggStage",this.step="aggregate",this.refreshProps=["getGroupRowAgg","alwaysAggregateAtRootLevel","suppressAggFilteredOnly","grandTotalRow"],this.hadAgg=!1}execute(Q){let{gos:z,beans:J}=this,Z=z.getCallback("getGroupRowAgg"),$=J.valueColsSvc?.columns;if(!$?.length&&!Z){if(this.hadAgg&&!Q){this.hadAgg=!1;let{colModel:k,rowModel:f}=J;A0(f.rootNode,f.hierarchical,void 0,(A)=>{uX(A,null,k)})}return}this.hadAgg=!0;let{colModel:X,aggFuncSvc:Y}=J,G=z.get("alwaysAggregateAtRootLevel")||!!_z(z)||X.isPivotMode(),q=!TQ(z)&&!z.get("suppressAggFilteredOnly"),H=J.valueSvc,_=J.gridApi,U=J.gridOptions.context,W=$??[],B=W.length,E=Q?.kind==="cells"?Q:void 0,K,L=Array(B);for(let k=0;k<B;++k){let f=W[k],A=E?E.getSlot(f.colId):-1;if(A>=0)K=E;L[k]={column:f,colId:f.colId,colDef:f.colDef,aggFunc:X4(f.getAggFunc(),Y,f),colSlot:A}}let F=XR(X,J.pivotResultCols,Y),D=B>0?Array(B):null,M=J.rowModel;A0(M.rootNode,M.hierarchical,Q,(k)=>{if(k.level===-1&&!G){O1(k,null,X);return}let f;if(Z)f=Z({nodes:k.childrenAfterFilter});else if(!D)f=null;else if(F)f=$R(k,F,H,_,U);else f=ZR(k,L,B,D,K,q,H,_,U);uX(k,f,X)})}},ZR=(Q,z,J,Z,$,X,Y,G,q)=>{let H=(X?Q.childrenAfterFilter:Q.childrenAfterGroup)??[],_=H.length,U=Q.data,W=Object.create(null),B=$?$.getSlot(Q):-1,E=B>=0?Q.aggData:void 0,K=0;for(let L=0;L<J;++L){let F=z[L];if(B>=0&&!$.hasCellBySlot(B,F.colSlot)){if(Z[L]=null,E)W[F.colId]=E[F.colId]}else Z[L]=Array(_),++K}if(K===0)return W;for(let L=0;L<_;++L){let F=H[L],D=F.aggData;if(D)for(let M=0;M<J;++M){let k=Z[M];if(k!==null){let f=z[M],A=D[f.colId];k[L]=A!==void 0?A:Y.getValue(f.column,F,"data")}}else for(let M=0;M<J;++M){let k=Z[M];if(k!==null)k[L]=Y.getValue(z[M].column,F,"data")}}for(let L=0;L<J;++L){let F=Z[L];if(F===null)continue;let D=z[L],M=D.aggFunc;W[D.colId]=M?M({values:F,column:D.column,colDef:D.colDef,rowNode:Q,data:U,aggregatedChildren:H,api:G,context:q}):null}return W},$R=(Q,z,J,Z,$)=>{let X=z.length,Y=Q.leafGroup,G=Q.data,q=Q.childrenMapped,H=Q.childrenAfterFilter??[],_=Object.create(null),U,W;for(let B=0;B<X;++B){let E=z[B],K=E.column,L=E.colId,F=E.totalColIds,D,M;if(F!=null){let f=F.length;D=Array(f);for(let A=0;A<f;++A)D[A]=_[F[A]];M=H}else if(Y){let f=E.pivotKeys;if(!W||f!==U)U=f,W=gY(q,f);M=W;let A=M.length;D=Array(A);for(let O=0;O<A;++O)D[O]=J.getValue(K,M[O],"data")}else{M=H;let f=M.length;D=Array(f);for(let A=0;A<f;++A){let O=M[A],v=O.aggData,I=v?v[L]:void 0;D[A]=I!==void 0?I:J.getValue(K,O,"data")}}let k=E.aggFunc;_[L]=k?k({values:D,column:K,colDef:K.colDef,pivotResultColumn:E.pivotResultCol,rowNode:Q,data:G,aggregatedChildren:M,api:Z,context:$}):null}return _},X4=(Q,z,J)=>{if(typeof Q==="function")return Q;if(Q==null)return null;let Z=z.getAggFunc(Q);if(typeof Z!=="function")return R(109,{inputValue:Q.toString(),allSuggestions:z.getFuncNames(J)}),null;return Z},XR=(Q,z,J)=>{if(!Q.isPivotActive())return null;let Z=z?.getAggregationOrderedList();if(!Z||Z.length===0)return null;let $=Z.length,X=Array($),Y=0;for(let G=0;G<$;++G){let q=Z[G],H=q.colDef,_=H.pivotValueColumn;if(!_)continue;X[Y++]={column:_,colId:H.colId,aggFunc:X4(_.getAggFunc(),J,_),pivotResultCol:q,pivotKeys:H.pivotKeys,totalColIds:H.pivotTotalColumnIds}}if(Y===0)return null;return X.length=Y,X},YR=class extends j{constructor(){super(...arguments);this.beanName="filterAggStage",this.step="filter_aggregates",this.refreshProps=[],this.setAllChildrenCountTreeData=(Q)=>{let z=Q.childrenAfterAggFilter,J=0;if(z){let $=z.length;J=$;for(let X=0;X<$;++X)J+=z[X].allChildrenCount??0}let Z=J===0&&Q.level>=0?null:J;Q.setAllChildrenCount(Z),Q.pinnedSibling?.setAllChildrenCount(Z)},this.setAllChildrenCountGridGrouping=(Q)=>{let z=Q.childrenAfterAggFilter,J=0;for(let Z=0,$=z.length;Z<$;++Z){let X=z[Z];if(X.group)J+=X.allChildrenCount;else J++}Q.setAllChildrenCount(J),Q.pinnedSibling?.setAllChildrenCount(J)}}wireBeans(Q){this.filterManager=Q.filterManager}execute(Q){let{rowModel:z,colModel:J,groupStage:Z}=this.beans,{filterManager:$}=this,X=J.isPivotMode(),Y=$?.isAggregateFilterPresent()||$?.isAggregateQuickFilterPresent(),G=!!Z?.treeData,q=(E)=>!E.node.group,H=(E)=>E.node.leafGroup,_=TQ(this.gos)||(X?H:q),U=G?this.setAllChildrenCountTreeData:this.setAllChildrenCountGridGrouping,W=(E,K=!1)=>{if(E.childrenAfterFilter){if(E.childrenAfterAggFilter=E.childrenAfterFilter,K){let L=E.childrenAfterAggFilter;for(let F=0,D=L.length;F<D;++F)W(L[F],K)}if(E.hasChildren())U(E);else E.setAllChildrenCount(null),E.pinnedSibling?.setAllChildrenCount(null)}if(E.sibling)E.sibling.childrenAfterAggFilter=E.childrenAfterAggFilter},B=(E)=>{if(E.childrenAfterAggFilter=E.childrenAfterFilter?.filter((K)=>{if(_({node:K})){if($.doesRowPassAggregateFilters({rowNode:K}))return W(K,!0),!0}return K.childrenAfterAggFilter?.length})||null,E.hasChildren())U(E);else E.setAllChildrenCount(null),E.pinnedSibling?.setAllChildrenCount(null);if(E.sibling)E.sibling.childrenAfterAggFilter=E.childrenAfterAggFilter};A0(z.rootNode,z.hierarchical,Q,Y?B:W)}};function PJ(Q,z){if(Q.sibling)return;let J=g9(Q,z);J.footer=!0,J.setRowTop(null),J.setRowIndex(null),J.oldRowTop=null,J.id="rowGroupFooter_"+Q.id,J.sibling=Q,Q.sibling=J}function GR(Q){let z=Q.sibling;if(!z)return;z._destroy(!1),Q.sibling=void 0,z.sibling=void 0}var qR=class extends j{constructor(){super(...arguments);this.beanName="footerSvc"}addTotalRows(Q,z,J,Z,$,X){let Y=Q;if($){let H=Z&&_z(this.gos);if(HR(X,H))PJ(z,this.beans),J(z.sibling,Y++);return Y}let G=OZ(this.gos);if((Z&&G({node:z}))===X)PJ(z,this.beans),J(z.sibling,Y++);return Y}getTopDisplayIndex(Q,z,J,Z){let $=z;if(Q[0].footer){if(z===0)return 0;$-=1}let X=Q[Q.length-1],Y=$>=J.length;if(X.footer&&Y)return X.rowIndex;return Z($)}doesCellShowTotalPrefix(Q,z){if(!Q.footer||!z?.getColDef().showRowGroup)return!1;if(this.gos.get("treeData"))return!0;if(Q.level===-1)return this.beans.showRowGroupCols?.columns[0]===z;return!!Q.rowGroupColumn&&z?.isRowGroupDisplayed(Q.rowGroupColumn.getId())}applyTotalPrefix(Q,z,J,Z){let $=Z.getColDef().cellRendererParams?.totalValueGetter;if($){let X=y(this.gos,{column:Z,node:J,value:Q,formattedValue:z});if(typeof $==="function")return $(X);if(typeof $==="string")return this.beans.expressionSvc?.evaluate($,X);R(179)}if(J.level===-1)return this.getLocaleTextFunc()("footerTotal","Total")+" ";return this.getTotalValue(z??Q)??""}getTotalValue(Q){return this.getLocaleTextFunc()("footerTotal","Total")+" "+(Q??"")}};function HR(Q,z){switch(z){case"top":case"pinnedTop":return Q==="top";case"bottom":case"pinnedBottom":return Q==="bottom";default:return!1}}var Y4=class extends j1{constructor(){super(...arguments);this.beanName="valueColsSvc",this.eventName="columnValueChanged",this.columnProcessors={set:(Q,z,J)=>this.setValueActive(z,Q,J),add:(Q,z,J)=>this.setValueActive(!0,Q,J),remove:(Q,z,J)=>this.setValueActive(!1,Q,J)},this.columnExtractors={setFlagFunc:(Q,z,J)=>this.setColValueActive(Q,z,J),getIndexFunc:()=>{return},getInitialIndexFunc:()=>{return},getValueFunc:(Q)=>{let z=Q.aggFunc;if(z===null||z==="")return null;if(z===void 0)return;return!!z},getInitialValueFunc:(Q)=>{return Q.initialAggFunc!=null&&Q.initialAggFunc!=""}},this.modifyColumnsNoEventsCallbacks={addCol:(Q)=>this.columns.push(Q),removeCol:(Q)=>$0(this.columns,Q)}}extractCols(Q,z){this.columns=super.extractCols(Q,z);for(let J of this.columns){let Z=J.getColDef();if(Z.aggFunc!=null&&Z.aggFunc!="")this.setColAggFunc(J,Z.aggFunc);else if(!J.getAggFunc())this.setColAggFunc(J,Z.initialAggFunc)}return this.columns}setColumnAggFunc(Q,z,J){if(!Q)return;let Z=this.colModel.getColDefCol(Q);if(!Z)return;this.setColAggFunc(Z,z),this.dispatchColumnChangedEvent(this.eventSvc,this.eventName,[Z],J)}syncColumnWithState(Q,z,J){let Z=J("aggFunc").value1;if(Z!==void 0)if(typeof Z==="string"){if(this.setColAggFunc(Q,Z),!Q.isValueActive())this.setColValueActive(Q,!0,z),this.modifyColumnsNoEventsCallbacks.addCol(Q)}else{if(T(Z))R(33);if(Q.isValueActive())this.setColValueActive(Q,!1,z),this.modifyColumnsNoEventsCallbacks.removeCol(Q)}}setValueActive(Q,z,J){if(Q===z.isValueActive())return;if(this.setColValueActive(z,Q,J),Q&&!z.getAggFunc()&&this.aggFuncSvc){let Z=this.aggFuncSvc.getDefaultAggFunc(z);this.setColAggFunc(z,Z)}}setColAggFunc(Q,z){Q.aggFunc=z,Q.dispatchStateUpdatedEvent("aggFunc")}setColValueActive(Q,z,J){if(Q.aggregationActive!==z)Q.aggregationActive=z,Q.dispatchColEvent("columnValueChanged",J)}},G4={moduleName:"SharedAggregation",version:J0,beans:[cj,uj,qR,Y4],apiFunctions:{addAggFuncs:ej,clearAggFuncs:QR,setColumnAggFunc:zR},dependsOn:[I0]},_R={moduleName:"Aggregation",version:J0,beans:[JR,YR,oj],rowModels:["clientSide"],dependsOn:[G4]},q4=class extends j1{constructor(){super(...arguments);this.beanName="pivotColsSvc",this.eventName="columnPivotChanged",this.columnProcessors={set:(Q,z,J)=>this.setColPivotActive(Q,z,J),add:(Q,z,J)=>this.setColPivotActive(Q,!0,J),remove:(Q,z,J)=>this.setColPivotActive(Q,!1,J)},this.columnOrdering={enableProp:"pivot",initialEnableProp:"initialPivot",indexProp:"pivotIndex",initialIndexProp:"initialPivotIndex"},this.columnExtractors={setFlagFunc:(Q,z,J)=>this.setColPivotActive(Q,z,J),getIndexFunc:(Q)=>Q.pivotIndex,getInitialIndexFunc:(Q)=>Q.initialPivotIndex,getValueFunc:(Q)=>Q.pivot,getInitialValueFunc:(Q)=>Q.initialPivot},this.modifyColumnsNoEventsCallbacks={addCol:(Q)=>{if(!this.columns.includes(Q))this.columns.push(Q)},removeCol:(Q)=>$0(this.columns,Q)}}syncColumnWithState(Q,z,J,Z){let{value1:$,value2:X}=J("pivot","pivotIndex");if($!==void 0||X!==void 0){if(typeof X==="number"||$){if(!Q.isPivotActive())this.setColPivotActive(Q,!0,z),this.modifyColumnsNoEventsCallbacks.addCol(Q);if(Z&&typeof X==="number")Z[Q.getId()]=X}else if(Q.isPivotActive())this.setColPivotActive(Q,!1,z),this.modifyColumnsNoEventsCallbacks.removeCol(Q)}}setColPivotActive(Q,z,J){if(Q.pivotActive!==z){if(Q.pivotActive=z,z)this.beans.groupHierarchyColSvc?.insertVirtualColumnsForCol(this.columns,Q)?.forEach(($)=>this.setColPivotActive($,z,J));Q.dispatchColEvent("columnPivotChanged",J)}Q.dispatchStateUpdatedEvent("pivot")}},UR=class extends j1{constructor(){super(...arguments);this.beanName="rowGroupColsSvc",this.eventName="columnRowGroupChanged",this.columnProcessors={set:(Q,z,J)=>this.setActive(z,Q,J),add:(Q,z,J)=>this.setActive(!0,Q,J),remove:(Q,z,J)=>this.setActive(!1,Q,J)},this.columnOrdering={enableProp:"rowGroup",initialEnableProp:"initialRowGroup",indexProp:"rowGroupIndex",initialIndexProp:"initialRowGroupIndex"},this.columnExtractors={setFlagFunc:(Q,z,J)=>this.setColRowGroupActive(Q,z,J),getIndexFunc:(Q)=>Q.rowGroupIndex,getInitialIndexFunc:(Q)=>Q.initialRowGroupIndex,getValueFunc:(Q)=>Q.rowGroup,getInitialValueFunc:(Q)=>Q.initialRowGroup},this.modifyColumnsNoEventsCallbacks={addCol:(Q)=>{if(!this.columns.includes(Q))this.columns.push(Q)},removeCol:(Q)=>$0(this.columns,Q)}}moveColumn(Q,z,J){if(this.columns.length===0)return;let Z=this.columns[Q],$=this.columns.slice(Q,z);this.columns.splice(Q,1),this.columns.splice(z,0,Z),this.updateIndexMap(),this.eventSvc.dispatchEvent({type:this.eventName,columns:$,column:$.length===1?$[0]:null,source:J})}syncColumnWithState(Q,z,J,Z){let{value1:$,value2:X}=J("rowGroup","rowGroupIndex");if($!==void 0||X!==void 0){if(typeof X==="number"||$){if(!Q.isRowGroupActive())this.setColRowGroupActive(Q,!0,z),this.modifyColumnsNoEventsCallbacks.addCol(Q);if(Z&&typeof X==="number")Z[Q.getId()]=X}else if(Q.isRowGroupActive())this.setColRowGroupActive(Q,!1,z),this.modifyColumnsNoEventsCallbacks.removeCol(Q)}}setActive(Q,z,J){if(Q===z.isRowGroupActive())return;this.setColRowGroupActive(z,Q,J);let Z=this.beans.groupHierarchyColSvc?.getColumn(z);if(TZ(this.gos,Q)&&!Z)this.colModel.setColsVisible([z],!Q,J)}setColRowGroupActive(Q,z,J){if(Q.rowGroupActive!==z){if(Q.rowGroupActive=z,z)this.beans.groupHierarchyColSvc?.insertVirtualColumnsForCol(this.columns,Q)?.forEach(($)=>this.setColRowGroupActive($,z,J));Q.dispatchColEvent("columnRowGroupChanged",J)}Q.dispatchStateUpdatedEvent("rowGroup")}},WR=class extends j{constructor(){super(...arguments);this.beanName="autoColSvc"}postConstruct(){this.addManagedPropertyListener("autoGroupColumnDef",this.updateColumns.bind(this)),this.setupGroupHideColumnsUntilExpanded()}setupGroupHideColumnsUntilExpanded(){let Q=()=>this.updateGroupColumnVisibility();this.addManagedEventListeners({modelUpdated:Q}),this.addManagedPropertyListeners(["groupHideColumnsUntilExpanded","groupDisplayType","groupHideOpenParents"],Q)}addColumns(Q){let{columns:z}=this;if(z==null)return;Q.list=z.list.concat(Q.list),Q.tree=z.tree.concat(Q.tree),HJ(Q)}createColumns(Q,z,J){let Z=this.beans,{colModel:$,gos:X,rowGroupColsSvc:Y,colGroupSvc:G}=Z,q=$.isPivotMode(),H=PZ(X,q),_=q?X.get("pivotSuppressAutoColumn"):this.isSuppressAutoCol(),U=Y?.columns,B=!(U&&U.length>0||X.get("treeData"))||_||H,E=()=>{if(this.columns)ZQ(Z,this.columns.tree),this.columns=null};if(B){E();return}let K=this.generateAutoCols(U),L=qJ(K,this.columns?.list||null),F=Q.treeDepth,M=(this.columns?this.columns.treeDepth:-1)==F;if(L&&M){let O=new Map(K.map((v)=>[v.getId(),v]));for(let v of this.columns?.list??[]){let I=O.get(v.getId());if(I)v.setColDef(I.getColDef(),null,J)}return}E();let k=G?.findDepth(Q.tree)??0,f=G?.balanceTreeForAutoCols(K,k)??[];this.columns={list:K,tree:f,treeDepth:k,map:{}},z((O)=>{if(!O)return null;let v=O.filter((I)=>!mz(I));return[...K,...v]})}updateColumns(Q){let z=Xz(Q.source);this.columns?.list.forEach((J,Z)=>this.updateOneAutoCol(J,Z,z))}getColumn(Q){return this.columns?.list.find((z)=>PQ(z,Q))??null}getColumns(){return this.columns?.list??null}generateAutoCols(Q=[]){let z=[],{gos:J}=this,Z=J.get("treeData"),$=YJ(J);if(Z&&$)R(182),$=!1;if($)Q.forEach((X,Y)=>{z.push(this.createOneAutoCol(X,Y))});else z.push(this.createOneAutoCol());return z}isSuppressAutoCol(){let Q=this.gos;if(Q.get("groupDisplayType")==="custom")return!0;return Q.get("treeDataDisplayType")==="custom"}createOneAutoCol(Q,z){let J;if(Q)J=`${uz}-${Q.getId()}`;else J=uz;let Z=this.createAutoColDef(J,Q,z);Z.colId=J;let $=new GQ(Z,null,J,!0);return this.createBean($),$}updateOneAutoCol(Q,z,J){let Z=Q.getColDef(),$=typeof Z.showRowGroup=="string"?Z.showRowGroup:void 0,X=this.beans,Y=$!=null?X.colModel.getColDefCol($):void 0,G=Q.getId(),q=this.createAutoColDef(G,Y??void 0,z);Q.setColDef(q,null,J),n0(X,{state:[i5(q,G)]},J)}createAutoColDef(Q,z,J){let Z=this.createBaseColDef(z),$=this.gos.get("autoGroupColumnDef");if(B0(Z,$),Z=uQ(this.beans,Z,Q,!0),$?.groupRowEditable==null)Z.groupRowEditable=void 0;if($?.groupRowValueSetter==null)Z.groupRowValueSetter=void 0;if(!this.gos.get("treeData")){if(n(Z.field)&&n(Z.valueGetter)&&n(Z.filterValueGetter)&&Z.filter!=="agGroupColumnFilter")Z.filter=!1}if(J&&J>0)Z.headerCheckboxSelection=!1;let X=WQ(this.gos),Y=Z.valueGetter||Z.field!=null;if(X&&!Y)Z.sortIndex=void 0,Z.initialSort=void 0;return Z}createBaseColDef(Q){let z=this.gos.get("autoGroupColumnDef"),Z={headerName:this.getLocaleTextFunc()("group","Group"),showRowGroup:Q?.getColId()??!0};if(!(z&&(z.cellRenderer||z.cellRendererSelector)))Z.cellRenderer="agGroupCellRenderer";if(Q)Z.headerName=this.beans.colNames.getDisplayNameForColumn(Q,"header")??void 0,Z.headerValueGetter=Q.colDef.headerValueGetter;return Z}getDeepestExpandedLevel(Q,z){let J=-1;if(!Q)return J;for(let Z of Q){if(!Z.group||!Z.expanded)continue;if(Z.level>J)J=Z.level;if(J>=z)return J;let $=this.getDeepestExpandedLevel(Z.childrenAfterGroup,z);if($>J)J=$;if(J>=z)return J}return J}updateGroupColumnVisibility(){let Q=this.columns?.list;if(!Q||Q.length===0)return;let{gos:z,visibleCols:J,rowModel:Z}=this.beans,$=g5(z),X=!1,Y=(q,H)=>{if(H!==q.isVisible())q.setVisible(H,"api"),X=!0},G=()=>{for(let q of Q)Y(q,!0)};if(!$)G();else if(Q.length>1){let q=Q.length-2,H=Z?.rootNode?.childrenAfterGroup,_=this.getDeepestExpandedLevel(H,q);if(_>=q)G();else for(let U=0;U<Q.length-1;U++)Y(Q[U+1],_>=U)}if(X)J.refresh("api")}destroy(){ZQ(this.beans,this.columns?.tree),super.destroy()}},z7=null,tX=(Q)=>{let z=z7,J=new Uint32Array(1<<32-Math.clz32(Q|63));if(z)J.set(z);return z7=J,J},BR=(Q,z,J,Z)=>{let $=z-Z,X=J-1;if($===1){let H=0;while(Q[H].level===X)++H;if(H<z-1){let _=Q[H];Q.copyWithin(H,H+1),Q[z-1]=_}return Q}if(Z===1){let H=0;while(Q[H].level!==X)++H;if(H>0){let _=Q[H];Q.copyWithin(1,0,H),Q[0]=_}return Q}let Y=Array($),G=0,q=0;for(let H=0;H<z;++H){let _=Q[H];if(_.level===X)Q[G++]=_;else Y[q++]=_}for(let H=0;H<$;++H)Q[Z+H]=Y[H];return Q},ER=(Q,z)=>{let J=Q[0].level+1,Z=J,$=0,X=J,Y=z7;if(!Y||J>=Y.length)Y=tX(J);++Y[J];for(let U=1;U<z;++U){let W=Q[U].level+1;if(W>J){if(J=W,J>=Y.length)Y=tX(J)}else if(W<Z)Z=W;++Y[W],$|=X-W,X=W}if($>=0)return Y.fill(0,Z,J+1),Q;let G=Y[Z],q=Y[J];if(G+q===z)return Y[Z]=0,Y[J]=0,BR(Q,z,J,q);let H=0;for(let U=J;U>=Z;--U){let W=Y[U];Y[U]=H,H+=W}let _=Array(z);for(let U=0;U<z;++U){let W=Q[U];_[Y[W.level+1]++]=W}return Y.fill(0,Z,J+1),_},H4=(Q,z=Q.length)=>{if(z===2){if(Q[0].level<Q[1].level){let J=Q[0];Q[0]=Q[1],Q[1]=J}return Q}if(z>16)return ER(Q,z);for(let J=1;J<z;J++){let Z=Q[J],$=Z.level,X=J-1;if(Q[X].level<$){let Y=J;do Q[Y]=Q[X],Y=X--;while(X>=0&&Q[X].level<$);Q[Y]=Z}}return Q},KR=class{constructor(){this.kind="cells",this.rows=[],this.unsorted=!1,this.slots=new Map,this.bits=[],this.extraBits=null,this.colCount=0}addRow(Q){let z=Q;if(z==null)return;let J=this.slots;if(J.get(z)!==void 0){while(z!=null&&J.get(z)>=0)J.set(z,-1),z=z.parent;return}let Z=this.rows;do J.set(z,-1),Z.push(z),z=z.parent;while(z!=null&&!J.has(z));this.unsorted=!0}addCell(Q,z){if(z==null){this.addRow(Q);return}if(Q==null)return;let J=this.slots,Z=this.bits,$=J.get(z)??this.ensureCol(z),X=J.get(Q);if(X===void 0)X=this.ensureRow(Q);else if(X<0)return;let Y=$<32?Z:this.extraBits[($>>>5)-1],G=1<<($&31),q=Y[X];if((q&G)!==0)return;Y[X]=q|G;let H=Q.parent;while(H!=null){let _=J.get(H);if(_<0)break;let U=Y[_];if((U&G)!==0)break;Y[_]=U|G,H=H.parent}}hasRow(Q){return this.slots.has(Q)}getSortedRows(){if(!this.unsorted)return this.rows;this.unsorted=!1;let Q=H4(this.rows);return this.rows=Q,Q}getSlot(Q){return this.slots.get(Q)??-1}hasCellBySlot(Q,z){if(Q<0)return!0;if(z<32)return z>=0&&(this.bits[Q]&1<<z)!==0;return(this.extraBits[(z>>>5)-1][Q]&1<<(z&31))!==0}ensureRow(Q){let z=this.slots,J=this.rows,Z=this.bits,$=this.extraBits,X=Z.push(0),Y=X-1;if($!==null)for(let q=0,H=$.length;q<H;++q)$[q].push(0);z.set(Q,Y),J.push(Q),this.unsorted=!0;let G=Q.parent;while(G!=null&&!z.has(G)){if(z.set(G,X),J.push(G),X=Z.push(0),$!==null)for(let q=0,H=$.length;q<H;++q)$[q].push(0);G=G.parent}return Y}ensureCol(Q){let z=this.colCount++;if(this.slots.set(Q,z),z>=32){let J=(z>>>5)-1,Z=this.extraBits;if(Z===null)Z=[],this.extraBits=Z;if(J>=Z.length)Z.push(Array(this.bits.length).fill(0))}return z}},rX=class{constructor(){this.kind="rows",this.rows=[],this.unsorted=!1,this.rowSet=new Set}addRow(Q){let z=Q;if(z==null)return;let J=this.rowSet;if(J.has(z))return;let Z=this.rows;do J.add(z),Z.push(z),z=z.parent;while(z!=null&&!J.has(z));this.unsorted=!0}addCell(Q,z){this.addRow(Q)}hasRow(Q){return this.rowSet.has(Q)}getSortedRows(){if(!this.unsorted)return this.rows;this.unsorted=!1;let Q=H4(this.rows);return this.rows=Q,Q}},LR=class extends j{constructor(){super(...arguments);this.beanName="changedPathFactory"}newPath(Q){return Q?new KR:new rX}ensureRowsPath(Q){let z=Q.changedPath;if(!z&&Q.changedRowNodes&&!Q.newData){let J=this.beans.rowModel;if(J.hierarchical)z=new rX,Q.changedPath=z,z.addRow(J.rootNode)}return z}},FR=class extends j{addExpandedCss(Q,z){if(z.isExpandable())Q.push("ag-row-group"),Q.push(z.expanded?"ag-row-group-expanded":"ag-row-group-contracted")}getRowExpandedListeners(Q){let{rowNode:z}=Q,J=this.updateExpandedCss.bind(this,Q,z);return{expandedChanged:J,hasChildrenChanged:J}}setExpanded(Q,z,J,Z){if(Q.expanded===z)return;Q._expanded=z,Q.dispatchRowEvent("expandedChanged");let $={...e5(Q,this.gos,"rowGroupOpened"),expanded:z,event:J||null};this.dispatchExpandedEvent($,Z)}defaultExpanded(Q){let J=this.beans.gos,Z=Q.level??0,$=Q.group&&J.get("isGroupOpenByDefault");if(!$){let Y=J.get("groupDefaultExpanded");return Y===-1||Z<Y}let X=y(J,{rowNode:Q,field:Q.field,key:Q.key,level:Z,rowGroupColumn:Q.rowGroupColumn});return!!$(X)}isExpandable(Q){if(Q.footer)return!1;if(this.beans.colModel.isPivotMode())return Q.hasChildren()&&!Q.leafGroup;return Q.hasChildren()||Q.master}updateExpandedCss(Q,z){let J=z.isExpandable(),Z=z.expanded==!0;Q.forEachGui(void 0,($)=>{let X=$.rowComp;X.toggleCss("ag-row-group",J),X.toggleCss("ag-row-group-expanded",J&&Z),X.toggleCss("ag-row-group-contracted",J&&!Z),w0($.element,J&&Z)})}dispatchStateUpdatedEvent(){this.eventSvc.dispatchEvent({type:"rowExpansionStateChanged"})}},DR=class extends FR{constructor(){super(...arguments);this.beanName="expansionSvc",this.events=null,this.dispatchExpandedDebounced=null}destroy(){super.destroy(),this.events=null,this.dispatchExpandedDebounced=null}setExpansionState(Q){let z=new Set(Q.expandedRowGroupIds);this.beans.rowModel.forEachNode((J)=>{let Z=J.id;if(!Z)return;J._expanded=z.has(Z)}),this.onGroupExpandedOrCollapsed()}getInternalExpansionState(Q=!1){let z=[],J=[];return this.beans.rowModel.forEachNode((Z)=>{let $=Z.id;if(!$)return;if(Z.expanded)z.push($);else if(Q&&Z.isExpandable())J.push($)}),{expandedRowGroupIds:z,collapsedRowGroupIds:J}}getExpansionState(){return this.getInternalExpansionState()}isExpanded(Q){if(Q.footer)return!!Q._expanded;if(!(Q.group||Q.master)||Q.leafGroup&&this.beans.colModel.isPivotMode())return!1;let z=Q._expanded;if(z===null)z=this.defaultExpanded(Q)??!1,Q._expanded=z;return!!z}resetExpansion(){let{rowModel:Q}=this.beans;Q.forEachNode((z)=>{if(!z.group&&!z.master)return;z._expanded=null}),this.onGroupExpandedOrCollapsed()}expandAll(Q){let{gos:z,rowModel:J,colModel:Z,eventSvc:$}=this.beans,X=z.get("treeData"),Y=Z.isPivotActive(),G=(H)=>{if(!H)return;for(let _ of H){let U=()=>{_._expanded=Q,G(_.childrenAfterGroup)};if(_.master){U();continue}if(X){if(T(_.childrenAfterGroup))U();continue}if(Y){if(!_.leafGroup)U();continue}if(_.group)U()}},q=J.rootNode;if(q)G(q.childrenAfterGroup);this.onGroupExpandedOrCollapsed(),$.dispatchEvent({type:"expandOrCollapseAll",source:Q?"expandAll":"collapseAll"})}onGroupExpandedOrCollapsed(){this.dispatchStateUpdatedEvent(),this.beans.rowModel.reMapRows()}setDetailsExpansionState(Q){let z=this.getInternalExpansionState(!0),J=z.collapsedRowGroupIds.length===0;if(z.expandedRowGroupIds.length===0===J)return;return J?Q.expandAll():Q.collapseAll()}dispatchExpandedEvent(Q,z){if((this.events??(this.events=[])).push(Q),z){this.dispatchExpandedEvents();return}let J=this.dispatchExpandedDebounced;if(!J){if(!this.isAlive())return;J=this.debounce(()=>this.dispatchExpandedEvents()),this.dispatchExpandedDebounced=J}J()}dispatchExpandedEvents(){let{eventSvc:Q,rowRenderer:z}=this.beans,J=this.events,Z=J?.length;if(!Z)return;this.events=null;let $=Array(Z);for(let X=0;X<Z;++X)$[X]=J[X].node,Q.dispatchEvent(J[X]);this.dispatchStateUpdatedEvent(),z.refreshCells({rowNodes:$})}debounce(Q){let z=this.beans.animationFrameSvc;if(!z)return()=>window.setTimeout(Q,0);let J=!1;return()=>{if(!z.active){window.setTimeout(Q,0);return}if(J)return;J=!0,z.addDestroyTask(()=>{J=!1,Q()})}}};function MR(Q){let z=Q.get("groupHideParentOfSingleChild");if(!z){if(z=Q.get("groupRemoveSingleChildren"),!z&&Q.get("groupRemoveLowestSingleChildren"))z="leafGroupsOnly"}return{groupHideParentOfSingleChild:z,isGroupMultiAutoColumn:YJ(Q),hideOpenParents:Q.get("groupHideOpenParents"),grandTotalRow:_z(Q),groupTotalRow:OZ(Q)}}function kR(Q,z,J){return Q.groupHideParentOfSingleChild===!0&&J&&z.childrenAfterGroup.length===1}function VR(Q,z,J){return Q.groupHideParentOfSingleChild==="leafGroupsOnly"&&J&&z.leafGroup&&z.childrenAfterGroup.length===1}function fR(Q,z,J,Z,$,X){if(Z&&!J)return!1;if($||X)return!1;if(!Q.hideOpenParents)return!0;if(z.master||z.level===-1)return!0;if(!(Z&&z.leafGroup)&&z.expanded)return!1;return!0}var AR=class extends j{constructor(){super(...arguments);this.beanName="flattenStage",this.step="map",this.refreshProps=["groupHideParentOfSingleChild","groupRemoveSingleChildren","groupRemoveLowestSingleChildren","groupTotalRow","masterDetail"]}execute(){let{beans:Q,gos:z}=this,J=[],Z=Q.rowModel.rootNode;if(!Z)return J;let $=Q.colModel.isPivotMode(),X=$&&Z.leafGroup&&Z.aggData,Y=X?[Z]:Z.childrenAfterSort,G=MR(z);this.recursivelyAddToRowsToDisplay(G,Y,J,$,0);let q=J.length>0,H=G.grandTotalRow;if(!X&&q&&H)if(PJ(Z,Q),H==="pinnedBottom"||H==="pinnedTop")this.beans.pinnedRowModel?.setGrandTotalPinned(H==="pinnedBottom"?"bottom":"top");else{let U=H==="top";this.addRowNodeToRowsToDisplay(G,Z.sibling,J,0,U)}return J}recursivelyAddToRowsToDisplay(Q,z,J,Z,$){if(!z?.length)return;let X=this.beans.masterDetailSvc;for(let Y=0;Y<z.length;Y++){let G=z[Y],q=G.hasChildren(),H=kR(Q,G,q),_=VR(Q,G,q);if(fR(Q,G,q,Z,H,_))this.addRowNodeToRowsToDisplay(Q,G,J,$);if(Z&&G.leafGroup)continue;if(q){let W=H||_;if(G.expanded||W){let B=Q.groupTotalRow({node:G});if(!B)GR(G);let E=W?$:$+1;if(B==="top")PJ(G,this.beans),this.addRowNodeToRowsToDisplay(Q,G.sibling,J,E);let K=X?.getDetail(G);if(K)this.addRowNodeToRowsToDisplay(Q,K,J,$);if(this.recursivelyAddToRowsToDisplay(Q,G.childrenAfterSort,J,Z,E),B==="bottom")PJ(G,this.beans),this.addRowNodeToRowsToDisplay(Q,G.sibling,J,E)}}else{let W=X?.getDetail(G);if(W)this.addRowNodeToRowsToDisplay(Q,W,J,$)}}}addRowNodeToRowsToDisplay(Q,z,J,Z,$){if($)J.unshift(z);else J.push(z);z.setUiLevel(Q.isGroupMultiAutoColumn?0:Z)}},jR=class extends j{constructor(){super(...arguments);this.beanName="groupEditSvc",this.pendingEditRefresh=null,this.dropGroupTarget=null,this.dropGroupTimer=null,this.dropGroupThrottled=!1,this.draggingGroups=null}postConstruct(){if(o(this.gos))this.addManagedListeners(this.eventSvc,{cellValueChanged:(Q)=>this.onCsrmCellChange(Q),batchEditingStopped:()=>this.flushGroupEdits()})}destroy(){this.stopDragging(!0),super.destroy()}isGroupingDrop(Q){if(!Q.rowDragManaged||!Q.sameGrid)return!1;if(!this.gos.get("refreshAfterGroupEdit"))return!1;return!!this.beans.rowGroupColsSvc?.columns?.length&&!this.beans.colModel.isPivotMode()}initDraggingGroups(Q){let z=new Map,J=(Z)=>{let $=Z.childrenAfterGroup;if($){if(z.has(Z))return;let X=$.slice();z.set(Z,X);for(let Y of X)J(Y)}};for(let Z of Q.rows)if(Z.group)J(Z);this.draggingGroups=z}canSetParent(Q){if(!Q.sameGrid)return!1;if(this.beans.groupStage?.treeData)return!0;if(Q.rowDragManaged&&!this.gos.get("refreshAfterGroupEdit"))return!1;return!!this.beans.rowGroupColsSvc?.columns?.length}canDropRow(Q,z){if(this.beans.groupStage?.treeData)return!RR(Q,z.newParent);let{position:J,target:Z,newParent:$,rootNode:X}=z,Y=Q.parent;if(Q.group&&(lX(Q,Z)||lX(Q,$)))return!1;if(J==="inside")return!0;if($&&$!==Y)return $!==X||Y===X;let G=$??Z?.parent??X;if(G!==Y)return!1;let q=Q.group?Q.level:Y.level??-1,H=-1;if(Z)H=Z.group?Z.level:Z.parent?.level??-1;else if(G)H=G.level;if(q>=0&&H>=0&&H!==q)return!1;return!0}fixRowsDrop(Q,z,J,Z){let $=!!this.beans.groupStage?.treeData;if(Q.treeData=$,!(!!this.beans.rowGroupColsSvc?.columns?.length||this.gos.get("pivotMode"))&&!$)return;if(!this.draggingGroups&&this.isGroupingDrop(Q)&&!Q.suppressMoveWhenRowDragging)this.initDraggingGroups(Q);let Y=Q.target,G=null,q=!1,H=Q.rootNode,_=this.beans.rowModel,U=this.canStartGroup(Y,$);this.updateDropTarget(Q,J,U);let W=this.beans.pageBounds?.getLastRow?.()??_.getRowCount()-1;if(z){if(!Y||Z>=0.5&&Y.rowIndex===W)G=H;else if(Q.moved&&Y&&this.dropGroupThrottled&&this.shouldDropTargetBeParent(Q))G=Y;if(!G)G=Y?.parent??H}if(!J&&Y&&U&&!(Y.group&&Y.expanded))this.startDropGroupDelay(Y);if(G){if(Y&&G===Y&&G!==H){let B=G.expanded?h9(_,1,Y):null;if(B?.parent===G)Y=B,Z=-0.5;else q=!0}if(Y&&!q){let B=Y;while(B&&B!==H&&B!==G)Y=B,B=B.parent}}Q.target=Y,Q.newParent=G,Q.yDelta=Z,Q.inside=q}clearNewSameParent(Q,z){let J=Q.newParent;if(J&&(!z||SR(Q.rows,J)))Q.newParent=null}updateDropTarget(Q,z,J){let Z=J?Q.target:null;if(this.dropGroupTarget&&this.dropGroupTarget!==Z)this.resetDragGroup();if(!Z?.childrenAfterSort?.length)return;if(z&&this.dropGroupThrottled&&!Z.expanded&&Z.isExpandable?.())Z.setExpanded(!0,void 0,!0);if(this.canDropInTarget(Z,Q))this.dropGroupThrottled=!0,this.dropGroupTarget=Z}canDropInTarget(Q,z){if(Q.expanded)return!0;if(!Q.group)return!1;if(z.pointerPos==="inside")return!0;if(z.treeData)return!1;let J=z.rows,Z=Q.level;for(let $=0,X=J.length;$<X;++$){let Y=J[$];if(Y!==Q&&Y.group&&Y.level!==Z)return!1}return!0}startDropGroupDelay(Q){if(this.dropGroupTarget&&this.dropGroupTarget!==Q)this.resetDragGroup();if(this.dropGroupTarget=Q,this.dropGroupTimer!==null)return;let z=this.gos.get("rowDragInsertDelay");this.dropGroupTimer=window.setTimeout(()=>{this.dropGroupTimer=null,this.dropGroupThrottled=!0,this.beans.dragAndDrop?.nudge()},z)}resetDragGroup(){if(this.dropGroupTimer!==null)window.clearTimeout(this.dropGroupTimer),this.dropGroupTimer=null;this.dropGroupTarget=null,this.dropGroupThrottled=!1}stopDragging(Q){if(Q)this.draggingGroups=null;this.resetDragGroup()}shouldDropTargetBeParent({target:Q,rows:z,pointerPos:J,treeData:Z}){if(!Q||J==="none")return!1;if(J==="inside")return!0;if(!Z&&Q.group&&!Q.expanded)return!0;if(J==="above")return!1;let $=this.beans.rowModel,Y=Q.rowIndex+1,G;do G=$.getRow(Y++);while(G?.footer);let q=this.draggingGroups?.get(Q)??Q.childrenAfterGroup;if(G&&G.parent===Q&&q?.length){let H=new Set(z);for(let _=0,U=q.length;_<U;++_){let W=q[_];if(W.rowIndex!==null&&!H.has(W))return!0}}return!1}dropGroupEdit(Q){let{beans:z}=this,J=Q.position,Z=Q.target??null,$=Q.rootNode,X=Q.newParent??Z?.parent??$,Y=z.focusSvc,G=Y.getFocusedCell(),q=G&&e0(z,G),H=new Set,_=new W1,U=_.updates,W,B=(D)=>{if(H.has(D))return;if(H.add(D),W??(W=this.newGroupValues(X)),this.setRowGroup(D,W))U.add(D)},E=(D)=>{let M=this.draggingGroups?.get(D)??D.childrenAfterGroup,k=M?.length;if(k)for(let f=0;f<k;++f){let A=M[f];if(A.sourceRowIndex>=0)B(A);else E(A)}};for(let D of Q.rows)if(D.group)E(D);else{let M=D.sourceRowIndex>=0&&!D.destroyed?D:this.csrmFirstLeaf(D);if(M)B(M)}let K=J==="inside"?"above":J,L=J==="inside"?this.findFirstLeafForParent(X,H)??Z:Z,F=!1;if(H.size&&K!=="none")F=U$($._leafs,H,L,K==="above");if(!U.size&&!F)return!1;_.reordered=F;for(let D of H)_.updates.add(D);if(this.csrmRefresh(_),q)q.focusCell();else Y.clearFocusedCell();return!0}canStartGroup(Q,z){if(!Q||Q.level<0||Q.footer||Q.detail)return!1;if(Q.group)return!0;return z}flushGroupEdits(){let Q=this.pendingEditRefresh;if(Q)this.pendingEditRefresh=null,this.csrmRefresh(Q)}csrmRefresh(Q){let z=this.beans.rowModel;if(!z.rootNode)return;z.refreshModel({step:"group",keepRenderedRows:!0,animate:!this.gos.get("suppressAnimationFrame"),changedRowNodes:Q})}newGroupValues(Q){let z=this.beans.rowGroupColsSvc?.columns??[],J=Array(z.length),Z=-1,$=Q;while($&&$.level>=0){let X=z[$.level];if(X){let Y=X.getColId(),G=$.level;if(J[G]=$.groupData?.[Y]??$.key??void 0,G>Z)Z=G}$=$.parent}return{values:J,columns:z,maxLevel:Z}}setRowGroup(Q,{values:z,columns:J,maxLevel:Z}){if(Z<0)return!1;let{valueSvc:$,changeDetectionSvc:X}=this.beans,Y=!1;X?.beginDeferred();try{for(let G=0;G<J.length;++G){let q=J[G];if(!q||G>Z)continue;let H=z[G],_=$.getValue(q,Q,"data");if(_===H||_==null&&H==null)continue;let U=H,W=$.parseValue(q,Q,H,_);if(W!==void 0)U=W;if(Q.setDataValue(q,U,"rowDrag"))Y=!0}}finally{X?.endDeferred()}return Y}onCsrmCellChange(Q){let{column:z,node:J,source:Z}=Q;if(!this.gos.get("refreshAfterGroupEdit"))return;if(Z==="rowDrag")return;if(!z?.isRowGroupActive())return;if(J.group||!J.data)return;if(this.beans.editSvc?.isBatchEditing()){let X=this.pendingEditRefresh;if(!X)X=sX(),this.pendingEditRefresh=X;X.updates.add(J)}else{let X=sX();X.updates.add(J),this.csrmRefresh(X)}}csrmFirstLeaf(Q){if(!Q)return null;let z=this.draggingGroups,J=z?.get(Q)??Q.childrenAfterGroup;while(J?.length){let Z=J[0];if(Z.sourceRowIndex>=0){if(!Z.destroyed)return Z;return this.firstAliveChildLeaf(Z)}J=z?.get(Z)??Z.childrenAfterGroup}return pz(Q)}firstAliveChildLeaf(Q){let z=this.draggingGroups?.get(Q)??Q.childrenAfterGroup;if(z){for(let J of z)if(J.sourceRowIndex>=0&&!J.destroyed)return J}return null}findFirstLeafForParent(Q,z){if(!Q)return null;let J=this.draggingGroups?.get(Q)??Q?.childrenAfterGroup;if(!J)return null;for(let Z=0,$=J.length;Z<$;++Z){let X=J[Z];if(X.sourceRowIndex>=0&&!z.has(X))return X;let Y=this.findFirstLeafForParent(X,z);if(Y!==null)return Y}return null}},sX=()=>{let Q=new W1;return Q.reordered=!0,Q},lX=(Q,z)=>{if(!Q||!z)return!1;let J=z;while(J){if(J===Q)return!0;J=J.parent}return!1},RR=(Q,z)=>{if(!z||Q.parent===z)return!1;let J=z,Z=Q.id;while(J){if(J===Q)return!0;if(Z!=null&&J.id===Z)return!0;J=J.parent}return!1},SR=(Q,z)=>{for(let J=0,Z=Q.length;J<Z;++J)if(Q[J].parent!==z)return!1;return!0},OR=class extends j{constructor(){super(...arguments);this.beanName="groupStage",this.step="group",this.refreshProps=["groupAllowUnbalanced","groupDefaultExpanded","groupDisplayType","groupHideOpenParents","initialGroupOrderComparator","treeData","treeDataChildrenField","treeDataParentIdField"],this.treeData=!1,this.grouping=!1,this.gosTreeData=!1,this.pivotMode=!1,this.hasTreeData=!1,this.hasRowGrouping=!1,this.needReset=!1,this.nested=!1,this.strategy=void 0,this.strategyType=void 0,this.columnsInvalidated=!1}postConstruct(){let Q=this.gos;if(this.hasRowGrouping=Q.isModuleRegistered("RowGrouping"),Q.isModuleRegistered("TreeData"))this.hasTreeData=!0,this.gosTreeData=Q.get("treeData");this.addManagedEventListeners({showRowGroupColsSetChanged:()=>this.strategy?.onShowRowGroupColsSetChanged()})}invalidateGroupCols(){this.columnsInvalidated=!0,this.strategy?.invalidateGroupCols?.()}destroy(){this.strategy=this.destroyBean(this.strategy),super.destroy()}getNonLeaf(Q){return this.strategy?.nonLeafsById?.get(Q)}getNestedDataGetter(){return this.getStrategy()?.nestedDataGetter}onPropChange(Q){let z=this.gos,J=this.strategy?.nestedDataGetter;if(Q.has("treeData"))this.gosTreeData=z.get("treeData")&&this.hasTreeData,this.columnsInvalidated=!0;return this.strategy?.onPropChange?.(Q),this.getNestedDataGetter()!==J}extractData(){let Q=this.beans.rowModel.rootNode,z=this.nested?Q?.childrenAfterGroup:Q?._leafs;if(!z)return this.gos.get("rowData")??[];let J=z.length,Z=Array(J),$=0;for(let X=0;X<J;++X){let Y=z[X].data;if(Y!=null)Z[$++]=Y}return Z.length=$,Z}execute(Q){let z=this.beans,J=z.rowModel,Z=J.rootNode;if(!Z)return!1;let $=this.getStrategy(),X=!!$?.nestedDataGetter,Y=this.needReset;if(this.nested=X,Y)this.needReset=!1,z.rowDragSvc?.cancelRowDrag(),Q.animate=!1,TR(Z,!X,z);if(!$){J.hierarchical=!1;return}return J.hierarchical=!0,z.changedPathFactory?.ensureRowsPath(Q,Z),$.execute(Z,Q)||Y}loadLeafs(Q){return Q.footer?PR(Q):E2(Q)}loadGroupData(Q){let z=this.getStrategy();if(z)return z.loadGroupData(Q);return Q._groupData=null,null}clearNonLeafs(){this.strategy?.clearNonLeafs()}getWantedStrategyType(){if(this.isAlive()){if(this.gosTreeData)return"tree";if(this.hasRowGrouping&&(this.beans.rowGroupColsSvc?.columns?.length||this.pivotMode))return"group"}return"none"}getStrategy(){let Q=this.strategy,z=this.beans.colModel.isPivotMode();if(z!==this.pivotMode)this.pivotMode=z,this.columnsInvalidated=!0;if(Q!==void 0&&!this.columnsInvalidated&&this.isAlive())return Q;this.columnsInvalidated=!1;let J=this.getWantedStrategyType();if(J===this.strategyType){if(Q!==void 0)return Q;return this.strategy=null,null}if(Q)this.strategy=this.destroyBean(Q),this.needReset=!0;if(this.strategyType=J,this.treeData=J==="tree",this.grouping=J==="group",J==="none")return this.strategy=null,null;let Z=J==="tree"?"treeGroupStrategy":"groupStrategy";return Q=this.beans.registry.createDynamicBean(Z,!1)??null,this.strategy=Q&&this.createBean(Q),Q}},PR=(Q)=>{let z=Q.sibling;if(!z)return null;let J=z._leafs;if(J!==void 0)return J;return E2(z)},E2=(Q)=>{let z=Q.childrenAfterGroup,J=z?.length;if(Q._leafs=null,!J)return null;let Z,$=J===1?z[0]:null;if($?.group&&$.sourceRowIndex<0){if(Z=$._leafs,Z===void 0)Z=E2($)}else if(Q.leafGroup)Z=z;else{Z=[];for(let X=0;X<J;++X){let Y=z[X];if(Y.sourceRowIndex>=0)Z.push(Y);if(!Y.group)continue;let G=Y._leafs;if(G===void 0)G=E2(Y);if(G)for(let q=0,H=G.length;q<H;++q)Z.push(G[q])}}return Q._leafs=Z,Z},TR=(Q,z,J)=>{let{_leafs:Z,sibling:$}=Q;if(Q.treeNodeFlags=0,Q.childrenAfterGroup=Z,Q.childrenMapped=null,Q._groupData=void 0,Q.aggData=null,$)$.childrenAfterGroup=Q.childrenAfterGroup,$.childrenAfterAggFilter=Q.childrenAfterAggFilter,$.childrenAfterFilter=Q.childrenAfterFilter,$.childrenAfterSort=Q.childrenAfterSort,$.childrenMapped=null,$._groupData=void 0,$.aggData=null;for(let X=0,Y=Z.length??0;X<Y;++X){let G=Z[X],q=G.sibling;if(G._leafs=void 0,aX(G),q)aX(q);if(G.parent=Q,z)G.treeParent=null;hY(G,J,!1)}Q.updateHasChildren()},aX=(Q)=>{Q.key=null,Q.treeNodeFlags=0,Q.allChildrenCount=null,Q.childrenAfterGroup=null,Q.childrenAfterAggFilter=null,Q.childrenAfterFilter=null,Q.childrenAfterSort=null,Q.childrenMapped=null,Q.level=0,Q._groupData=void 0};function oX(Q,z,J){let Z=Q,$=Z.level-z.level;if($<=0)return!1;if(!J.get("groupHideOpenParents"))return!1;for(let Y=0;Y<$;Y++){if(Z.parent?.getFirstChild()!==Z)return!1;Z=Z.parent}return Z===z}var _4=class extends j{constructor(){super(...arguments);this.indentClass=null}init(Q,z,J,Z,$,X,Y){this.params=Y,this.eGui=z,this.eCheckbox=J,this.eExpanded=Z,this.eContracted=$,this.comp=Q,this.compClass=X;let{node:G,column:q}=Y;if(this.node=G,this.displayedNode=G,this.isEmbeddedRowMismatch())return;if(G.footer){this.initFooterCell();return}if(!q){this.initFullWidthCell();return}this.displayedNode=this.beans.showRowGroupColValueSvc?.getDisplayedNode(G,q)??this.node,this.setupExpand(),this.setupCheckbox(),this.addGroupValue(),this.setupIndent()}initFooterCell(){let{node:Q}=this.params;if(this.addGroupValue(),this.setupIndent(),Q.level!==-1)this.comp.toggleCss("ag-row-group-leaf-indent",!0)}initFullWidthCell(){let Q=()=>{let{rowDragSvc:z}=this.beans;if(!this.params.rowDrag||!z)return;let J=z.createRowDragComp(()=>this.params.value,this.params.node);this.createManagedBean(J),this.eGui.insertAdjacentElement("afterbegin",J.getGui())};this.setupExpand(),Q(),this.setupCheckbox(),this.addGroupValue(),this.setupIndent()}getCellAriaRole(){let Q=this.params.colDef?.cellAriaRole,z=this.params.column?.getColDef().cellAriaRole;return Q||z||"gridcell"}isEmbeddedRowMismatch(){if(!this.params.fullWidth||!this.gos.get("embedFullWidthRows"))return!1;let{visibleCols:Q}=this.beans,z=this.params.pinned==="left",J=this.params.pinned==="right",Z=!z&&!J;if(this.gos.get("enableRtl")){if(Q.isPinningLeft())return!J;return!Z}if(Q.isPinningLeft())return!z;return!Z}addGroupValue(){let{params:{value:Q,valueFormatted:z}}=this,J=this.getInnerCompDetails();this.comp.setInnerRenderer(J,z??Q??null)}setupExpand(){let{colModel:Q}=this.beans,{eGridCell:z,suppressDoubleClickExpand:J}=this.params,Z=(q,H)=>{let _=h(q,this.beans,null);if(_)H.appendChild(_),this.addDestroyFunc(()=>_.remove())};Z("groupExpanded",this.eExpanded),Z("groupContracted",this.eContracted);let $=this.comp,X=()=>{if(!this.isExpandable())return;let H=!!this.displayedNode.expanded;$.setExpandedDisplayed(H),$.setContractedDisplayed(!H),w0(z,H)},Y=()=>{let q=this.isExpandable();$.toggleCss("ag-cell-expandable",q),$.toggleCss("ag-row-group",q);let H=!q&&Q.isPivotMode();$.toggleCss("ag-pivot-leaf-group",H);let _=!Q.isPivotMode()&&(!this.displayedNode.footer||this.displayedNode.level!==-1);$.toggleCss("ag-row-group-leaf-indent",!q&&_);let U=this.getChildCount(),W=U>0?`(${U})`:"";if($.setChildCount(W),!q)$.setExpandedDisplayed(!1),$.setContractedDisplayed(!1),T8(z);else X()};(()=>{if(!J&&!this.isGroupCellEditable(this.displayedNode))this.addManagedListeners(z,{dblclick:this.onCellDblClicked.bind(this)});this.addManagedListeners(this.eExpanded,{click:this.onExpandClicked.bind(this)}),this.addManagedListeners(this.eContracted,{click:this.onExpandClicked.bind(this)}),this.addManagedListeners(z,{keydown:this.onKeyDown.bind(this)}),this.addManagedListeners(this.displayedNode,{allChildrenCountChanged:Y,masterChanged:Y,groupChanged:Y,hasChildrenChanged:Y,expandedChanged:X})})(),Y()}getInnerCompDetails(){let{userCompFactory:Q,findSvc:z}=this.beans,J=this.params;if(J.fullWidth){let q=this.gos.get("groupRowRendererParams"),H=_J(Q,q,J);if(H)return H;if(z?.isMatch(J.node,null))return _J(Q,{...q,innerRenderer:"agFindCellRenderer"},J);return}let Z=(q)=>q&&q.componentClass==this.compClass,$=_J(Q,J,J);if($&&!Z($))return $;let{displayedNode:{rowGroupColumn:X}}=this,Y=X?.colDef,G=X&&J.column?.isRowGroupDisplayed(X.getId());if(Y&&G){let q=o1(Q,Y,J);if(q)if(Z(q)){if(Y?.cellRendererParams?.innerRenderer)return _J(Q,Y.cellRendererParams,J)}else return q}if(z?.isMatch(J.node,J.column))return o1(Q,{...Y??J.colDef,cellRenderer:"agFindCellRenderer"},J)}getChildCount(){let{column:Q,suppressCount:z}=this.params;if(z)return 0;let{allChildrenCount:J,rowGroupColumn:Z}=this.displayedNode;if(!((J??0)>0&&(!Z||!Q||Q?.isRowGroupDisplayed(Z.getId()))))return 0;if(this.gos.get("showOpenedGroup")&&this.displayedNode!==this.node&&!oX(this.node,this.displayedNode,this.gos))return 0;return J??0}isExpandable(){let{node:Q,column:z,colDef:J}=this.params;if(!this.displayedNode.isExpandable())return!1;if(Q.rowPinned)return!1;if(!z)return!0;if(Q.hasChildren()&&J){let{showRowGroup:X}=J;if(!X)return!1;if(X===!0)return!0}if(Q===this.displayedNode){if(Q.rowGroupColumn){if(z?.isRowGroupDisplayed(Q.rowGroupColumn.getId()))return!0}if(Q.master)return J?.showRowGroup===!0||J?.showRowGroup==null;return!1}return oX(this.node,this.displayedNode,this.gos)}setupIndent(){let{suppressPadding:Q,node:z,colDef:J}=this.params;if(Q)return;let Z=()=>{let $=z.uiLevel;if(J&&J.showRowGroup!==!0)$=0;let X="ag-row-group-indent-"+$;if(X===this.indentClass)return;if(this.indentClass)this.comp.toggleCss(this.indentClass,!1);this.indentClass=X,this.comp.toggleCss(X,!0),this.eGui.style.setProperty("--ag-indentation-level",String($))};this.addManagedListeners(z,{uiLevelChanged:Z.bind(this)}),Z()}setupCheckbox(){let{node:Q}=this.params;if(!(!Q.footer&&!Q.rowPinned&&!Q.detail))return;this.addManagedPropertyListener("rowSelection",({currentValue:J,previousValue:Z})=>{let $=typeof J==="object"?J:void 0,X=typeof Z==="object"?Z:void 0;if($?.checkboxLocation!==X?.checkboxLocation)this.destroyCheckbox(),this.addCheckbox()}),this.addCheckbox()}addCheckbox(){let{selectionSvc:Q}=this.beans;if(!Q||!hQ(this.gos))return;let{node:z,column:J}=this.params,Z=this.gos.get("rowSelection"),$=E1(Z);if($==="selectionColumn")return;if($==="autoGroupColumn"){let H=J?.getColDef().showRowGroup!=null,_=!J&&z.group;if(!(H||_))return}let X=typeof Z==="object"?Jz(Z):this.params.checkbox;if(!(typeof X==="function"||X===!0))return;if(typeof J?.getColDef().showRowGroup==="string"&&!this.isExpandable()){this.comp.setCheckboxSpacing(!0);return}let q=Q.createCheckboxSelectionComponent();this.cbComp=q,this.createBean(q),q.init({rowNode:z,column:J,overrides:{isVisible:X,callbackParams:this.params,removeHidden:!0}}),this.eCheckbox.appendChild(q.getGui()),this.comp.setCheckboxVisible(!0)}destroyCheckbox(){this.comp.setCheckboxSpacing(!1),this.comp.setCheckboxVisible(!1),this.cbComp?.getGui().remove(),this.cbComp=this.destroyBean(this.cbComp)}isGroupCellEditable(Q){let z=this.params.column;return!!z&&(!!z.getColDef().groupRowEditable||this.gos.get("enableGroupEdit"))&&z.isCellEditable(Q)}onExpandClicked(Q){if(zQ(Q))return;i0(Q),this.onExpandOrContract(Q)}onKeyDown(Q){if(Q.key!==V.ENTER||this.params.suppressEnterExpand)return;if(this.isGroupCellEditable(this.params.node))return;this.onExpandOrContract(Q)}onCellDblClicked(Q){if(zQ(Q))return;if(!(jZ(this.eExpanded,Q)||jZ(this.eContracted,Q)))this.onExpandOrContract(Q)}onExpandOrContract(Q){if(!this.isExpandable())return;let z=this.displayedNode,J=!z.expanded;if(!J&&z.sticky)this.beans.ctrlsSvc.getScrollFeature().setVerticalScrollPosition(z.rowTop-z.stickyRowTop);z.setExpanded(J,Q)}destroy(){super.destroy(),this.destroyCheckbox()}},vR={tag:"span",cls:"ag-cell-wrapper",children:[{tag:"span",ref:"eExpanded",cls:"ag-group-expanded ag-hidden"},{tag:"span",ref:"eContracted",cls:"ag-group-contracted ag-hidden"},{tag:"span",ref:"eCheckbox",cls:"ag-group-checkbox ag-invisible"},{tag:"span",ref:"eValue",cls:"ag-group-value"},{tag:"span",ref:"eChildCount",cls:"ag-group-child-count"}]},eX=class extends x{constructor(){super(vR);this.eExpanded=S,this.eContracted=S,this.eCheckbox=S,this.eValue=S,this.eChildCount=S}init(Q){let z={setInnerRenderer:(X,Y)=>this.setRenderDetails(X,Y),setChildCount:(X)=>this.eChildCount.textContent=X,toggleCss:(X,Y)=>this.toggleCss(X,Y),setContractedDisplayed:(X)=>N(this.eContracted,X),setExpandedDisplayed:(X)=>N(this.eExpanded,X),setCheckboxVisible:(X)=>this.eCheckbox.classList.toggle("ag-invisible",!X),setCheckboxSpacing:(X)=>this.eCheckbox.classList.toggle("ag-group-checkbox-spacing",X)},J=this.createManagedBean(new _4),Z=!Q.colDef,$=this.getGui();if(J.init(z,$,this.eCheckbox,this.eExpanded,this.eContracted,this.constructor,Q),Z)H0($,J.getCellAriaRole())}setRenderDetails(Q,z){if(Q)Q.newAgStackInstance().then((J)=>{if(!J)return;let Z=()=>this.destroyBean(J);if(this.isAlive())this.eValue.appendChild(J.getGui()),this.addDestroyFunc(Z);else Z()});else this.eValue.innerText=z}destroy(){this.destroyBean(this.innerCellRenderer),super.destroy()}refresh(){return!1}},IR=".ag-group-checkbox-spacing{width:var(--ag-icon-size)}:where(.ag-ltr) .ag-group-checkbox-spacing{margin-right:var(--ag-cell-widget-spacing)}:where(.ag-rtl) .ag-group-checkbox-spacing{margin-left:var(--ag-cell-widget-spacing)}",CR=class extends j{constructor(){super(...arguments);this.beanName="showRowGroupColValueSvc"}getGroupValue(Q,z,J){if(!z){if(!Q.group)return null;return{displayedNode:Q,value:Q.groupValue}}let Z=this.beans.valueSvc,$=z.colDef.showRowGroup;if(!$)return null;if(Q.level===-1&&Q.footer)return{displayedNode:Q,value:null};if(typeof $==="string"){if((this.beans.rowGroupColsSvc?.getColumnIndex($)??-1)>Q.level)return null;let G=this.getDisplayedNode(Q,z,!0);if(G)return{displayedNode:G,value:Z.getValue(z,G,"data",J)}}let X=Z.getValue(z,Q,"data",J);if(X==null){let Y=this.getDisplayedNode(Q,z);if(Y)return{displayedNode:Y,value:Z.getValue(z,Y,"data",J)}}return{displayedNode:Q,value:X}}formatAndPrefixGroupColValue(Q,z,J=!1){let Z=this.formatGroupColValue(Q,z,J),{value:$,displayedNode:X}=Q,Y=this.beans.footerSvc;if(Y?.doesCellShowTotalPrefix(X,z))return Y.applyTotalPrefix($,Z,X,z);if(X.footer&&X.level===-1)return null;return Z}formatGroupColValue(Q,z,J=!1){let Z=this.beans.valueSvc,{displayedNode:$,value:X}=Q,Y=$.rowGroupColumn,G=$.group&&!z;if(Y&&(G||z?.isRowGroupDisplayed(Y.colId))){if(J&&Y.colDef.useValueFormatterForExport===!1)return null;let H=Z.formatValue(Y,$,X);if(H==null&&$.key==="")return this.getLocaleTextFunc()("blanks","(Blanks)");return H}if(!z||$.group)return null;if(J&&z.colDef.useValueFormatterForExport===!1)return null;return Z.formatValue(z,$,X)}getDisplayedNode(Q,z,J=!1){let Z=this.gos,$=Z.get("groupHideOpenParents"),X=Z.get("showOpenedGroup")&&!J;if(!$&&!X)return;let Y=z.colDef.showRowGroup;if(Y===!0){if(Q.group)return;return Q.parent??void 0}let G=Q;while(G&&G.rowGroupColumn?.getId()!=Y){let q=G===G.parent?.getFirstChild();if(!X&&!q)return;G=G.parent}if(G===Q)return;return G??void 0}},bR=class extends j{constructor(){super(...arguments);this.beanName="showRowGroupCols",this.columns=[],this.colsSet=new Set,this.colsMap=new Map}destroy(){super.destroy(),this.columns.length=0,this.colsSet.clear(),this.colsMap.clear()}refresh(){let{colModel:Q,rowGroupColsSvc:z}=this.beans,J=this.columns,Z=this.colsSet,$=this.colsMap;$.clear();let X=J.length,Y=0,G=!1,q=Q.getCols();for(let H=0,_=q.length;H<_;++H){let U=q[H],B=U.getColDef().showRowGroup;if(typeof B==="string")$.set(B,U);else if(B===!0){let E=z?.columns;if(E)for(let K=0,L=E.length;K<L;++K)$.set(E[K].getId(),U)}else continue;G||(G=Y>=X||!Z.has(U)),J[Y++]=U}if(G||(G=Y!==X),G){J.length=Y,Z.clear();for(let H=0;H<Y;++H)Z.add(J[H]);this.eventSvc.dispatchEvent({type:"showRowGroupColsSetChanged"})}}getShowRowGroupCol(Q){return this.colsMap.get(Q)}getSourceColumnsForGroupColumn(Q){let z=Q.getColDef().showRowGroup;if(!z)return null;let{rowGroupColsSvc:J,colModel:Z}=this.beans;if(z===!0&&J)return J.columns;let $=Z.getColDefCol(z);return $?[$]:null}isRowGroupDisplayed(Q,z){let J=Q.getColDef()?.showRowGroup;return J===!0||J!=null&&J===z}},yR=class extends j{constructor(Q,z){super();this.createRowCon=Q,this.destroyRowCtrls=z,this.stickyTopRowCtrls=[],this.stickyBottomRowCtrls=[],this.extraTopHeight=0,this.extraBottomHeight=0}postConstruct(){this.isClientSide=o(this.gos),this.beans.ctrlsSvc.whenReady(this,(Q)=>{this.gridBodyCtrl=Q.gridBodyCtrl}),this.resetStickyContainers()}setOffsetTop(Q){if(this.extraTopHeight===Q)return;this.extraTopHeight=Q,this.eventSvc.dispatchEvent({type:"stickyTopOffsetChanged",offset:Q})}setOffsetBottom(Q){if(this.extraBottomHeight===Q)return;this.extraBottomHeight=Q}resetOffsets(){this.setOffsetBottom(0),this.setOffsetTop(0)}getLastPixelOfGroup(Q){return this.isClientSide?wR(Q):xR(Q)}getFirstPixelOfGroup(Q){if(Q.footer)return Q.sibling.rowTop+Q.sibling.rowHeight-1;if(Q.hasChildren())return Q.rowTop-1;return 0}updateStickyRows(Q){let z=Q==="top",J=0;if(!this.canRowsBeSticky())return this.refreshNodesAndContainerHeight(Q,new Set,J);let Z=new Set,{rowModel:$,rowRenderer:X,pinnedRowModel:Y,pageBounds:G,rowContainerHeight:q}=this.beans,{pageFirstPixel:H,pageLastPixel:_}=G.getCurrentPagePixelRange(),U=z?X.firstVisibleVPixel-this.extraTopHeight:X.lastVisibleVPixel-this.extraTopHeight,W=q.divStretchOffset??0,B=H+W,E=_+W,K=(M)=>{if(Z.add(M),z){let k=this.getLastPixelOfGroup(M),f=U+J+M.rowHeight;if(k<f)M.stickyRowTop=J+(k-f);else M.stickyRowTop=J}else{let k=this.getFirstPixelOfGroup(M),f=U-(J+M.rowHeight);if(k>f)M.stickyRowTop=J-(k-f);else M.stickyRowTop=J}J=0,Z.forEach((k)=>{let f=k.stickyRowTop+k.rowHeight;if(J<f)J=f})},L=this.areFooterRowsStickySuppressed(),F=this.gos.get("suppressGroupRowsSticky"),D=(M)=>{if(!M.displayed)return!1;if(M.footer){if(L===!0)return!1;if(L==="grand"&&M.level===-1)return!1;if(L==="group"&&M.level>-1)return!1;let k=M.sibling.rowIndex?M.sibling.rowIndex+1===M.rowIndex:!1;if(Q==="bottom"&&k)return!1;if(M.level===-1&&Y?.getGrandTotalPinned())return!1;return!Z.has(M)}if(M.isExpandable()){if(F===!0)return!1;if(Q==="bottom")return!1;return!Z.has(M)&&!!M.expanded}return!1};for(let M=0;M<100;M++){let k=U+J;if(!z)k=U-J;if(z&&k<B)k=B;else if(!z&&k>E)k=E;let f=$.getRowIndexAtPixel(k),A=$.getRow(f);if(A==null)break;let v=this.getStickyAncestors(A).find((C)=>(z?C.rowIndex<f:C.rowIndex>f)&&D(C));if(v){K(v);continue}if((z?A.rowTop<k:A.rowTop+A.rowHeight>k)&&D(A)){K(A);continue}break}if(!z)Z.forEach((M)=>{M.stickyRowTop=J-(M.stickyRowTop+M.rowHeight)});return this.refreshNodesAndContainerHeight(Q,Z,J)}areFooterRowsStickySuppressed(){let Q=this.gos.get("suppressStickyTotalRow");if(Q===!0)return!0;let z=Q==="group",J=Q==="grand";if(z&&J)return!0;if(J)return"grand";if(z)return"group";return!1}canRowsBeSticky(){let Q=k1(this.gos),z=this.areFooterRowsStickySuppressed(),J=this.gos.get("suppressGroupRowsSticky");return Q&&(!z||!J)}getStickyAncestors(Q){let z=[],J=Q.footer?Q.sibling:Q.parent;while(J){if(J.sibling)z.push(J.sibling);z.push(J),J=J.parent}return z.reverse()}checkStickyRows(){let Q=this.updateStickyRows("top"),z=this.updateStickyRows("bottom");return Q||z}destroyStickyCtrls(){this.resetStickyContainers()}resetStickyContainers(){this.refreshNodesAndContainerHeight("top",new Set,0),this.refreshNodesAndContainerHeight("bottom",new Set,0)}refreshStickyNode(Q){let z=new Set;if(this.stickyTopRowCtrls.some((J)=>J.rowNode===Q)){for(let J=0;J<this.stickyTopRowCtrls.length;J++){let Z=this.stickyTopRowCtrls[J].rowNode;if(Z!==Q)z.add(Z)}if(this.refreshNodesAndContainerHeight("top",z,this.topContainerHeight))this.checkStickyRows();return}for(let J=0;J<this.stickyBottomRowCtrls.length;J++){let Z=this.stickyBottomRowCtrls[J].rowNode;if(Z!==Q)z.add(Z)}if(this.refreshNodesAndContainerHeight("bottom",z,this.bottomContainerHeight))this.checkStickyRows()}refreshNodesAndContainerHeight(Q,z,J){let Z=Q==="top",$=Z?this.stickyTopRowCtrls:this.stickyBottomRowCtrls,X={},Y=[];for(let B=0;B<$.length;B++){let E=$[B].rowNode;if(!z.has(E)){X[E.id]=$[B],E.sticky=!1;continue}Y.push($[B])}let G=new Set;for(let B=0;B<Y.length;B++)G.add(Y[B].rowNode);let q=[];z.forEach((B)=>{if(G.has(B))return;B.sticky=!0,q.push(this.createRowCon(B,!1,!1))});let H=!!q.length||Y.length!==$.length;if(Z){if(this.topContainerHeight!==J)this.topContainerHeight=J,this.gridBodyCtrl.setStickyTopHeight(J),H=!0}else if(this.bottomContainerHeight!==J)this.bottomContainerHeight=J,this.gridBodyCtrl.setStickyBottomHeight(J),H=!0;this.destroyRowCtrls(X,!1);let _=[...Y,...q];if(_.sort((B,E)=>E.rowNode.rowIndex-B.rowNode.rowIndex),!Z)_.reverse();for(let B of _)B.setRowTop(B.rowNode.stickyRowTop);let U=this.beans.pageBounds,W=0;if(Z){for(let B of z)if(B.rowIndex<U.getFirstRow())W+=B.rowHeight;if(W>this.topContainerHeight)W=this.topContainerHeight;this.setOffsetTop(W)}else{for(let B of z)if(B.rowIndex>U.getLastRow())W+=B.rowHeight;if(W>this.bottomContainerHeight)W=this.bottomContainerHeight;this.setOffsetBottom(W)}if(!H)return!1;if(Z)this.stickyTopRowCtrls=_;else this.stickyBottomRowCtrls=_;return!0}ensureRowHeightsValid(){let Q=!1,z=(J)=>{let Z=J.rowNode;if(Z.rowHeightEstimated){let $=r1(this.beans,Z);Z.setRowHeight($.height),Q=!0}};return this.stickyTopRowCtrls.forEach(z),this.stickyBottomRowCtrls.forEach(z),Q}};function xR(Q){if(Q.isExpandable()||Q.footer){if(Q.master&&Q.detailNode)return Q.detailNode.rowTop+Q.detailNode.rowHeight;if(!Q.sibling||Math.abs(Q.sibling.rowIndex-Q.rowIndex)===1){let J=Q.childStore?.getStoreBounds();if(Q.footer)J=Q.sibling.childStore?.getStoreBounds();return(J?.heightPx??0)+(J?.topPx??0)}if(Q.footer)return Q.rowTop+Q.rowHeight;return Q.sibling.rowTop+Q.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}function wR(Q){if(Q.isExpandable()||Q.footer){if(Q.footer&&Q.rowIndex===0)return Number.MAX_SAFE_INTEGER;if(!Q.sibling||Math.abs(Q.sibling.rowIndex-Q.rowIndex)===1){let Z=Q.footer?Q.sibling:Q;while(Z.isExpandable()&&Z.expanded)if(Z.master&&Z.detailNode)Z=Z.detailNode;else if(Z.childrenAfterSort){if(Z.childrenAfterSort.length===0)break;Z=b(Z.childrenAfterSort)}return Z.rowTop+Z.rowHeight}if(Q.footer)return Q.rowTop+Q.rowHeight;return Q.sibling.rowTop+Q.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}var NR=class extends j{constructor(){super(...arguments);this.beanName="stickyRowSvc"}createStickyRowFeature(Q,z,J){let Z=this.gos;if(k1(Z)&&o(Z)||Hz(Z))return Q.createManagedBean(new yR(z,J));return}},U4={moduleName:"GroupCellRenderer",version:J0,userComponents:{agGroupRowRenderer:eX,agGroupCellRenderer:eX},dynamicBeans:{groupCellRendererCtrl:_4},icons:{groupContracted:"tree-closed",groupExpanded:"tree-open"},css:[IR],dependsOn:[I0]},gR={moduleName:"GroupColumn",version:J0,beans:[WR,bR,CR,UR,q4,Y4],dependsOn:[I0,U4]},W4={moduleName:"ChangedPath",version:J0,beans:[LR],dependsOn:[I0]},F2={moduleName:"ClientSideRowModelHierarchy",version:J0,rowModels:["clientSide"],beans:[OR,AR,DR],dependsOn:[I0,W4]},B4={moduleName:"StickyRow",version:J0,beans:[NR]},hR={moduleName:"GroupEdit",version:J0,beans:[jR],dependsOn:[I0,F2]},uR=({valueSvc:Q,dataTypeSvc:z},J,Z)=>{let $=Q.getValue(J,Z,"data"),X=null;if($ instanceof Date)X=$;else if(typeof $==="string")X=(z?.getDateParserFunction(J)??e1)($)??null;return X},Kz=(Q,z,J,Z)=>($)=>{let X=uR(Q,z,$.node),Y=$1(X);if(!Y)return null;return Z?.(Y[J])??Y[J]},Lz=({colNames:Q},z,J)=>(Z)=>{let $=Q.getDisplayNameForColumn(z,Z.location);if($)return`${$} (${J})`;return""},mR=Object.fromEntries(F6.map((Q)=>[Q,Q.toLowerCase()])),cR=(Q)=>{let z=F6[Number.parseInt(Q,10)-1]??Q,J=mR[z]??Q;return{month:z,localeKey:J}};function QY(Q){return Q.groupHierarchy??Q.rowGroupingHierarchy}var pR=class extends j{constructor(){super(...arguments);this.beanName="groupHierarchyColSvc",this.columns=null,this.sourceColumnMap=new WeakMap,this.inverseColumnMap=new WeakMap}addColumns(Q){let z=this.columns;if(z==null)return;Q.list=z.list.filter((J)=>!Q.list.some((Z)=>Z.getColId()===J.getColId())).concat(Q.list),Q.tree=z.tree.filter((J)=>!Q.tree.some((Z)=>Z.getId()===J.getId())).concat(Q.tree),HJ(Q)}createColumns(Q){let z=new WeakMap,J=new WeakMap,Z=this.createGroupHierarchyColumns(Q,z,J);if(qJ(Z,this.columns?.list??[]))return;ZQ(this.beans,this.columns?.tree),this.columns=null;let{colGroupSvc:X}=this.beans,Y=X?.findDepth(Q.tree)??0,G=X?.balanceTreeForAutoCols(Z,Y)??[];this.columns={list:Z,tree:G,treeDepth:Y,map:{}},this.sourceColumnMap=z,this.inverseColumnMap=J}updateColumns(Q){}getColumn(Q){return this.columns?.list.find((z)=>PQ(z,Q))??null}getColumns(){return this.columns?.list??null}expandColumnInto(Q,z){let J=this.getVirtualColumnsForColumn(z).concat(z);for(let Z of J)if(!Q.some(($)=>PQ($,Z)||$.getColId()===Z.getColId()))Q.push(Z)}compareVirtualColumns(Q,z){let J=this.inverseColumnMap.get(Q),Z=this.inverseColumnMap.get(z);if(J&&J===Z){let $=this.sourceColumnMap.get(J)??[];return $?.indexOf(Q)-$?.indexOf(z)}if(this.sourceColumnMap.get(Q)?.includes(z))return 1;if(this.sourceColumnMap.get(z)?.includes(Q))return-1;return null}insertVirtualColumnsForCol(Q,z){let J=this.getVirtualColumnsForColumn(z);if(!J)return[];let Z=Q.indexOf(z);if(Z<0)Z=Q.length-1;return JJ(Q,J),Q.splice(Z,0,...J),J}getVirtualColumnsForColumn(Q){if(this.isGroupHierarchyColsEnabledForCol(Q))return this.sourceColumnMap.get(Q)??[];return[]}isGroupHierarchyColsEnabled(Q){return Q.list.some((z)=>this.isGroupHierarchyColsEnabledForCol(z))}isGroupHierarchyColsEnabledForCol(Q){let z=Q.getColDef();return!!(QY(z)&&(z.rowGroup||z.enableRowGroup||z.rowGroupIndex!=null||z.pivot||z.enablePivot||z.pivotIndex!=null))}createGroupHierarchyColDefs(Q){let z=[],J=Q.getColDef(),Z=QY(J);if(!Z)return z;if(!this.isGroupHierarchyColsEnabledForCol(Q))return z;for(let $ of Z){let X=null;if(typeof $==="string")X=this.createColDefForPart($,Q,J);else X=$;if(X)z.push(X)}return z}createGroupHierarchyColumns(Q,z,J){if(!this.isGroupHierarchyColsEnabled(Q))return[];let Z=[];for(let $ of Q.list)for(let X of this.createGroupHierarchyColDefs($)){let Y=X.colId;this.gos.validateColDef(X,Y,!0);let G=new GQ(X,null,Y,!0);this.createBean(G),Z.push(G),iR(z,$,G),J.set(G,$)}return Z}createColDefForPart(Q,z,J){let{beans:Z,gos:$}=this,X=`${f9}-${z.getColId()}-${Q}`,Y={enableRowGroup:J.enableRowGroup,rowGroup:J.rowGroup,enablePivot:J.enablePivot,hide:!0,editable:!1},G=$.get("groupHierarchyConfig")??{};if(Q in G){let U={...Y,...G[Q]};return U.colId??(U.colId=X),uQ(Z,U,U.colId,!0)}let q=uQ(Z,{colId:X,...Y},X,!0),H=this.getLocaleTextFunc(),_=(U,W)=>H?.(U,W)??W;switch(Q){case"year":return{...q,headerValueGetter:Lz(Z,z,_(Q,"Year")),valueGetter:Kz(Z,z,0)};case"quarter":return{...q,headerValueGetter:Lz(Z,z,_(Q,"Quarter")),valueGetter:Kz(Z,z,1,(U)=>(Math.floor(Number(U)/4)+1).toString())};case"month":return{...q,headerValueGetter:Lz(Z,z,_(Q,"Month")),valueGetter:Kz(Z,z,1)};case"formattedMonth":return{...q,headerValueGetter:Lz(Z,z,_("month","Month")),valueGetter:Kz(Z,z,1,(U)=>{let W=cR(U);return _(W.localeKey,W.month)})};case"day":return{...q,headerValueGetter:Lz(Z,z,_(Q,"Day")),valueGetter:Kz(Z,z,2)};case"hour":return{...q,headerValueGetter:Lz(Z,z,_(Q,"Hour")),valueGetter:Kz(Z,z,3)};case"minute":return{...q,headerValueGetter:Lz(Z,z,_(Q,"Minute")),valueGetter:Kz(Z,z,4)};case"second":return{...q,headerValueGetter:Lz(Z,z,_(Q,"Second")),valueGetter:Kz(Z,z,5)};default:return null}}};function iR(Q,z,J){let Z=Q.get(z);Q.set(z,(Z??[]).concat(J))}var nR={moduleName:"GroupHierarchy",version:J0,beans:[pR],dependsOn:[W4]};var dR=(Q,z)=>{if(!Q){z.length=0;return}let J=Q.length;z.length=J;for(let Z=0;Z<J;Z++){let $=Q[Z],X=$.getColDef();z[Z]={col:$,field:X.field,type:X.type,keyCreator:X.keyCreator,valueGetter:X.valueGetter}}},tR=(Q,z)=>{let J=Q.length;if(J!==z?.length)return!0;for(let Z=0;Z<J;Z++){let $=Q[Z],X=z[Z];if($.col!==X)return!0;let Y=X.getColDef();if($.field!==Y.field||$.type!==Y.type||$.valueGetter!==Y.valueGetter||$.keyCreator!==Y.keyCreator)return!0}return!1};function rR(Q){if(!Q)return!1;let z=Q.length;if(z<2)return!1;let J=!1;for(let Z=1;Z<z;Z++)if(zY(Q[Z-1],Q[Z])>0){J=!0;break}if(!J)return!1;return Q.sort(zY),!0}function zY(Q,z){let J=Q.sourceRowIndex,Z=z.sourceRowIndex,$=J>=0,X=Z>=0,Y=$&&X,G=!$&&!X;if(Y)return J-Z;if(G)return Q.__objectId-z.__objectId;if($)return 1;return-1}var sR=class extends j{constructor(){super(...arguments);this.groupCols=[],this.nonLeafsById=new Map,this.checkGroupCols=!0,this.pivotMode=!1,this.groupEmpty=!1}invalidateGroupCols(){this.checkGroupCols=!0}destroy(){super.destroy(),this.groupCols.length=0,this.nonLeafsById.clear()}clearNonLeafs(){let Q=this.nonLeafsById;for(let z of Q.values())z._destroy(!1);Q.clear()}loadGroupData(Q){if(!Q.group)return Q._groupData=null,null;let z=Q.rowGroupColumn,{valueSvc:J,showRowGroupCols:Z}=this.beans,$={};if(Q._groupData=$,!z)return $;let X=pz(Q),Y=z.getId();if(!Z)return $;let G=Z.columns;for(let q=0,H=G.length;q<H;++q){let _=G[q];if(_.isRowGroupDisplayed(Y))$[_.getColId()]=J.getValue(z,X,"data")}return $}execute(Q,z){let J=z.changedPath;if(this.initRefresh(z)!=="skip"){let $=z.changedRowNodes;if($)this.handleDeltaUpdate(Q,J,$,!!z.animate);else this.shotgunResetEverything(Q)}this.positionLeafsAndGroups(Q,J),this.orderGroups(Q),this.beans.selectionSvc?.updateSelectableAfterGrouping(J)}positionLeafsAndGroups(Q,z){A0(Q,!0,z,(J)=>{let Z=J.childrenAfterGroup,$=Z?.length;if(!$)return;let X=Array($),Y=0,G=!1,q;for(let H=0;H<$;++H){let _=Z[H];if(!_.childrenAfterGroup?.length)G||(G=Y!==H),X[Y++]=_;else if(!q&&_.key===""){q=_;let U=$-1;G||(G=H!==U),X[U]=_}}if(G){for(let _=0;_<$;++_){let U=Z[_];if(U.childrenAfterGroup?.length&&U!==q)X[Y++]=U}J.childrenAfterGroup=X;let H=J.sibling;if(H)H.childrenAfterGroup=X}})}initRefresh(Q){let{rowGroupColsSvc:z,colModel:J,gos:Z}=this.beans;this.pivotMode=J.isPivotMode(),this.groupEmpty=this.pivotMode||!Z.get("groupAllowUnbalanced");let $=z?.columns,X=this.groupCols,Y=Q.afterColumnsChanged;if(Y||!X||this.checkGroupCols)if(this.checkGroupCols=!1,X&&!tR(X,$)){if(Y)return"skip"}else{Q.animate=!1;let G=X[0]?.col.getId()!==$?.[0]?.getId();return dR($,X),G?"refresh":"groupColsChanged"}return"refresh"}handleDeltaUpdate(Q,z,{removals:J,updates:Z,adds:$,reordered:X},Y){let G=new Set;for(let q=0,H=J.length;q<H;++q){let _=J[q],U=this.removeFromParent(_);if(!G.has(U))G.add(U),z?.addRow(U)}for(let q of Z){let H=q.parent;if(z?.addRow(H),this.moveNodeInWrongPath(Q,q)){G.add(H);let _=q.parent;z?.addRow(_),X||(X=(_?.childrenAfterGroup?.length??0)>1)}}if($.size)for(let q of $){this.insertOneNode(Q,q);let H=q.parent;z?.addRow(H),X||(X=(H?.childrenAfterGroup?.length??0)>1)}if(G.size)JY(G),this.removeEmptyGroups(G,Y);if(X)this.sortChildren(Q,z)}sortChildren(Q,z){A0(Q,!0,void 0,(J)=>{if(rR(J.childrenAfterGroup))z?.addRow(J)})}orderGroups(Q){let z=this.gos.getCallback("initialGroupOrderComparator");if(!z)return;let J=this.beans,Z=J.gridApi,$=J.gridOptions.context,X=(G,q)=>z({api:Z,context:$,nodeA:G,nodeB:q}),Y=(G)=>{let q=G.childrenAfterGroup,H=q?.length;if(!H||G.leafGroup)return;if(H>1)q.sort(X);for(let _=0,U=H;_<U;++_)Y(q[_])};Y(Q)}moveNodeInWrongPath(Q,z){let{valueSvc:J}=this.beans,Z=this.groupEmpty,$=z.parent,X=!1,Y=this.groupCols;if(!Y)return!1;for(let G=Y.length-1;G>=0;--G){let{col:q}=Y[G],H=J.getKeyForNode(q,z);if(H==null||H===""){if(!Z)continue;H=""}if(!$?.parent||$.key!==H){X=!0;break}$=$.parent}if(X||(X=!!$?.parent),!X)return!1;return this.removeFromParent(z),this.insertOneNode(Q,z),z.setData(z.data),!0}groupShouldBeRemoved(Q){let z=this.getChildrenMappedKey(Q.key,Q.rowGroupColumn),J=Q.parent?.childrenMapped;if(J?!J[z]:!0)return!1;return!!Q.group&&(Q.childrenAfterGroup?.length??0)===0}removeEmptyGroups(Q,z){let J=this.beans.selectionSvc,Z,$=Array.from(Q),X=this.nonLeafsById;do{Q.clear();for(let Y=0;Y<$.length;++Y){let G=$[Y];while(G){let q=G.parent;if(G.destroyed){$[Y]=q,G=q;continue}if(!q)break;if(!this.groupShouldBeRemoved(G)){G=q;continue}if(Q.add(q),this.removeFromParent(G),J&&G.isSelected())Z??(Z=[]),Z.push(G);$[Y]=q,X.delete(G.id),G._destroy(z),G=q}}JY(Q)}while(Q.size);if(Z)J.setNodesSelected({nodes:Z,newValue:!1,source:"rowGroupChanged"})}removeFromParent(Q){let z=Q.parent;if(z){let J=this.getChildrenMappedKey(Q.key,Q.rowGroupColumn),Z=z.childrenMapped;if(Z)delete Z[J]}return Q.setRowTop(null),Q.setRowIndex(null),z}addToParent(Q,z){let J=z.childrenMapped??(z.childrenMapped={}),Z=this.getChildrenMappedKey(Q.key,Q.rowGroupColumn);if(J[Z]!==Q){J[Z]=Q;let $=z.childrenAfterGroup;if(!$){z.childrenAfterGroup=$=[];let X=z.sibling;if(X)X.childrenAfterGroup=z.childrenAfterGroup}$.push(Q),hY(z,this.beans,!0),X2(z)}}shotgunResetEverything(Q){let z=this.nonLeafsById;for(let $ of z.values())$.childrenAfterGroup=null,$.childrenMapped=null;Q.leafGroup=!this.groupCols?.length,Q.childrenAfterGroup=[],Q.childrenMapped={},Q.updateHasChildren();let J=Q.sibling;if(J)J.childrenAfterGroup=Q.childrenAfterGroup,J.childrenMapped=Q.childrenMapped;let Z=Q._leafs;for(let $=0,X=Z.length;$<X;++$)this.insertOneNode(Q,Z[$]);this.destroyStaleGroups(z)}destroyStaleGroups(Q){let z=this.beans.selectionSvc,J;for(let[Z,$]of Q){if($.childrenAfterGroup!==null)continue;if(z&&$.isSelected())(J??(J=[])).push($);Q.delete(Z),$._destroy(!1)}if(J)z.setNodesSelected({nodes:J,newValue:!1,source:"rowGroupChanged"})}insertOneNode(Q,z){let J=Q,{beans:Z,groupCols:$,groupEmpty:X}=this,Y=Z.valueSvc;if(!$)return;let G=$.length;for(let q=0;q<G;++q){let H=$[q],_=H.col,U=Y.getKeyForNode(_,z);if(U==null||U===""){if(!X)continue;U=""}let W=J.childrenMapped?.[this.getChildrenMappedKey(U,_)];if(W){J=W;continue}let B=J.level+1,E=B>=G-1,K=this.createGroup(J,H,U,B,E,z);this.addToParent(K,J),J=K}if(!J.group)R(184,{parentGroupData:J.data,childNodeData:z.data});z.parent=J,z.level=J.level+1,J.childrenAfterGroup.push(z),J.updateHasChildren(),X2(J)}createGroup(Q,z,J,Z,$,X){let Y=z.col,G=(Q.level>=0?Q.id+"-":"row-group-")+(Y.getColId()+"-"+J),q=this.nonLeafsById,H=q.get(G),_=!0;if(H){if(H.childrenAfterGroup!==null)return H._expanded??(H._expanded=null),H;_=!1,X2(H)}else H=new Wz(this.beans),H.group=!0,H.key=J,H.id=G,H.aggData=null,q.set(G,H);let U=(K)=>{K.childrenAfterGroup=W,K.childrenMapped=B,K.parent=Q,K.level=Z,K.rowGroupIndex=Z,K.leafGroup=$},W=[],B={};if(U(H),H.field=z.field??null,H.rowGroupColumn=Y,H.groupValue=this.beans.valueSvc.getValue(Y,X,"data"),H._expanded??(H._expanded=null),_)return H.setAllChildrenCount(0),H.updateHasChildren(),H;let E=H.sibling;if(E)U(E);return H.dispatchRowEvent("hasChildrenChanged"),H}getChildrenMappedKey(Q,z){return z?z.getId()+"-"+Q:Q}onShowRowGroupColsSetChanged(){let{rowModel:Q,valueSvc:z}=this.beans;for(let Z of this.nonLeafsById.values()){Z._groupData=void 0;let $=Z.rowGroupColumn,X=$&&pz(Z);Z.groupValue=X&&z.getValue($,X,"data")}let J=Q.rootNode?._leafs;if(J)for(let Z=0,$=J.length;Z<$;++Z){let X=J[Z];X.parent._groupData=void 0}}},JY=(Q)=>{for(let z of Q){let J=z?.childrenAfterGroup;if(!J)continue;let Z=J.length,$=0;for(let X=0;X<Z;++X){let Y=J[X];if(Y.parent===z&&!Y.destroyed){if($!==X)J[$]=Y;++$}}if(Z!==$)J.length=$,z.updateHasChildren(),X2(z)}},X2=(Q)=>{while(Q._leafs!==void 0){let z=Q.parent;if(!z)break;Q._leafs=void 0,Q=z}};function lR(Q,z){Q.rowGroupColsSvc?.setColumns(z,"api")}function aR(Q,z){Q.rowGroupColsSvc?.removeColumns(z,"api")}function oR(Q,z){Q.rowGroupColsSvc?.addColumns(z,"api")}function eR(Q,z,J){Q.rowGroupColsSvc?.moveColumn?.(z,J,"api")}function QS(Q){return Q.rowGroupColsSvc?.columns??[]}var E4={moduleName:"SharedRowGrouping",version:J0,apiFunctions:{setRowGroupColumns:lR,removeRowGroupColumns:aR,addRowGroupColumns:oR,getRowGroupColumns:QS,moveRowGroupColumn:eR},dependsOn:[I0,G4,gR,B4,nR]},zS={moduleName:"RowGrouping",version:J0,dynamicBeans:{groupStrategy:sR},rowModels:["clientSide"],dependsOn:[E4,_R,F2,hR]};function JS(Q,z){Q.clipboardSvc?.copyToClipboard(z)}function ZS(Q,z){Q.clipboardSvc?.cutToClipboard(z)}function $S(Q,z){Q.clipboardSvc?.copySelectedRowsToClipboard(z)}function XS(Q,z){Q.clipboardSvc?.copySelectedRangeToClipboard(z)}function YS(Q){Q.clipboardSvc?.copyRangeDown()}function GS(Q){Q.clipboardSvc?.pasteFromClipboard()}var Q2="paste",r6="dragCopy",s6="clipboard";function qS(Q,z=","){let J=[],Z=(X)=>X==="\r"||X===`
`,$=!1;if(Q==="")return[[""]];for(let X=0,Y=0,G=0;G<Q.length;G++){let q=Q[G-1],H=Q[G],_=Q[G+1],U=()=>{if(!J[X])J[X]=[];if(!J[X][Y])J[X][Y]=""};if(U(),H==='"'){if($)if(_==='"')J[X][Y]+='"',G++;else $=!1;else if(q===void 0||q===z||Z(q))$=!0}if(!$&&H!=='"'){if(H===z){Y++,U();continue}else if(Z(H)){if(Y=0,X++,U(),H==="\r"&&_===`
`)G++;continue}}J[X][Y]+=H}return J}var HS=class extends j{constructor(){super(...arguments);this.beanName="clipboardSvc",this.clientSideRowModel=null,this.gridCtrl=null,this.lastPasteOperationTime=0,this.navigatorApiFailed=!1}postConstruct(){let{gos:Q,rowModel:z,ctrlsSvc:J}=this.beans;if(o(Q,z))this.clientSideRowModel=z;J.whenReady(this,(Z)=>{this.gridCtrl=Z.gridCtrl})}destroy(){super.destroy(),this.clientSideRowModel=null,this.gridCtrl=null}pasteFromClipboard(){if(!this.gos.get("suppressClipboardApi")&&!this.navigatorApiFailed&&navigator.clipboard?.readText)navigator.clipboard.readText().then(this.processClipboardData.bind(this)).catch((z)=>{R(40,{e:z,method:"readText"}),this.navigatorApiFailed=!0,this.pasteFromClipboardLegacy()});else this.pasteFromClipboardLegacy()}pasteFromClipboardLegacy(){let Q=!1,z=(J)=>{let Z=Date.now();if(Z-this.lastPasteOperationTime<50)Q=!0,J.preventDefault();this.lastPasteOperationTime=Z};this.executeOnTempElement((J)=>{J.addEventListener("paste",z),J.focus({preventScroll:!0})},(J)=>{let Z=J.value;if(!Q)this.processClipboardData(Z);else this.refocusLastFocusedCell();J.removeEventListener("paste",z)})}refocusLastFocusedCell(){let{focusSvc:Q}=this.beans,z=Q.getFocusedCell();if(z)Q.setFocusedCell({rowIndex:z.rowIndex,column:z.column,rowPinned:z.rowPinned,forceBrowserFocus:!0})}getClipboardDelimiter(){let Q=this.gos.get("clipboardDelimiter");return T(Q)?Q:"\t"}processClipboardData(Q){if(Q==null)return;let z=qS(Q,this.getClipboardDelimiter()),J=this.gos.getCallback("processDataFromClipboard");if(J)z=J({data:z});if(z==null)return;if(this.gos.get("suppressLastEmptyLineOnPaste"))this.removeLastLineIfBlank(z);let{rangeSvc:Z,editSvc:$}=this.beans,X=(Y,G,q,H)=>{if(Z?.isMoreThanOneCell()&&!this.hasOnlyOneValueToPaste(z))this.pasteIntoActiveRange(z,Y,G,H);else this.pasteStartingFromFocusedCell(z,Y,G,q,H);$?.stopEditing(void 0,{source:Q2})};this.doPasteOperation(X)}doPasteOperation(Q){let{eventSvc:J,focusSvc:Z,rowRenderer:$,gos:X}=this.beans;J.dispatchEvent({type:"pasteStart",source:"clipboard"});let{clientSideRowModel:Y}=this,G=Y?.rootNode,q=G&&this.beans.changedPathFactory?.newPath(X.get("aggregateOnlyChangedColumns")),H={},_=[],U=Z.getFocusedCell();Q(H,_,U,q);let W=_.slice();if(q)Y.doAggregate(q),A0(G,Y.hierarchical,q,(B)=>{W.push(B)});$.refreshCells({rowNodes:W}),this.dispatchFlashCells(H),this.fireRowChanged(_),this.refocusLastFocusedCell(),J.dispatchEvent({type:"pasteEnd",source:"clipboard"})}getPreProcessRangeCallback(Q){return(z)=>{let{rangeSvc:J}=this.beans;if(!J)return;let{rowDiff:Z,colDiff:$}=this.getAdjustedRangeDimensionForPaste(z,Q);if(Z!==0)J.extendRangeRowCountBy(z,Z);if($!==0)J.extendRangeColumnCountBy(z,$)}}getAdjustedRangeDimensionForPaste(Q,z){let J=this.beans.rangeSvc,Z=z.length,$=J.getRangeRowCount(Q),X=$>=Z&&$%Z===0,Y=z[0].length,G=Q.columns.length,q=G>=Y&&G%Y===0;return{rowDiff:X?0:Z-$,colDiff:q?0:Y-G}}pasteIntoActiveRange(Q,z,J,Z){let $=0,X=0,Y=(G,q,H,_)=>{if(_-$>=Q.length){if(_%Q.length!==0)return;$+=X,X=0}let W=Q[_-$];J.push(q);let B=this.gos.getCallback("processCellFromClipboard"),E=H.columns,K=E.findIndex(IQ);if(K!==-1)E.splice(K,1);for(let L=0;L<E.length;L++){let F=E[L];if(!F.isCellEditable(q)||F.isSuppressPaste(q))continue;let D=L;if(L>=W.length)D=L%W.length;let M=this.processCell(q,F,W[D],r6,B,!0);q.setDataValue(F,M,Q2),Z?.addCell(q.parent,F.getId());let{rowIndex:k,rowPinned:f}=G,A=bQ({rowIndex:k,column:F,rowPinned:f});z[A]=!0}X++};this.iterateActiveRanges(Y,!1,this.getPreProcessRangeCallback(Q))}getDisplayedColumnsStartingAt(Q){let z=Q,J=[],{visibleCols:Z}=this.beans;while(z&&GJ(z))z=Z.getColAfter(z);while(z!=null)J.push(z),z=Z.getColAfter(z);return J}pasteStartingFromFocusedCell(Q,z,J,Z,$){if(!Z)return;let X={rowIndex:Z.rowIndex,rowPinned:Z.rowPinned},Y=this.getDisplayedColumnsStartingAt(Z.column);if(this.isPasteSingleValueIntoRange(Q))this.pasteSingleValueIntoRange(Q,J,z,$);else this.pasteMultipleValues(Q,X,J,Y,z,s6,$)}isPasteSingleValueIntoRange(Q){let z=this.beans.rangeSvc;return this.hasOnlyOneValueToPaste(Q)&&!!z&&!z.isEmpty()}pasteSingleValueIntoRange(Q,z,J,Z){let $=Q[0][0],X=(Y,G,q)=>{z.push(G),q.columns.forEach((H)=>this.updateCellValue(G,H,$,J,s6,Z))};this.iterateActiveRanges(X)}hasOnlyOneValueToPaste(Q){return Q.length===1&&Q[0].length===1}copyRangeDown(){let{rangeSvc:Q,gos:z,formula:J,valueSvc:Z}=this.beans;if(!Q||Q.isEmpty())return;let $=[],X=(Y,G,q,H)=>{let _=z.getCallback("processCellForClipboard"),U=z.getCallback("processCellFromClipboard"),W=(B,E,K)=>{let{columns:L}=K;if(!$.length)L.forEach((F)=>{let D=this.processCell(E,F,Z.getValue(F,E,"batch"),r6,_,!1,!0);$.push(D)});else G.push(E),L.forEach((F,D)=>{if(!F.isCellEditable(E)||F.isSuppressPaste(E))return;if(F.isAllowFormula()&&J?.isFormula($[D]))$[D]=J?.updateFormulaByOffset({value:$[D],rowDelta:1});let k=this.processCell(E,F,$[D],r6,U,!0);E.setDataValue(F,k,Q2),H?.addCell(E.parent,F.getId());let{rowIndex:f,rowPinned:A}=B,O=bQ({rowIndex:f,column:F,rowPinned:A});Y[O]=!0})};this.iterateActiveRanges(W,!0)};this.doPasteOperation(X)}removeLastLineIfBlank(Q){let z=b(Q);if(z&&z.length===1&&z[0]===""){if(Q.length===1)return;$0(Q,z)}}fireRowChanged(Q){if(this.gos.get("editType")!=="fullRow")return;for(let z of Q)this.eventSvc.dispatchEvent({type:"rowValueChanged",node:z,data:z.data,rowIndex:z.rowIndex,rowPinned:z.rowPinned})}shouldSkipPasteRow(Q,z,J){if(Q.detail||Q.footer)return!0;if(J&&Q.group){for(let Z of z)if(Z.isCellEditable(Q))return!1;return!0}return!1}pasteMultipleValues(Q,z,J,Z,$,X,Y){let G=z,q=this.beans,{gos:H}=q,_=this.clientSideRowModel!=null&&!H.get("enableGroupEdit")&&!H.get("treeData"),U=()=>{while(G){let W=M0(q,G);if(G=L0(q,{rowPinned:G.rowPinned,rowIndex:G.rowIndex}),W!=null&&!this.shouldSkipPasteRow(W,Z,_))return W}return null};for(let W of Q){let B=U();if(!B)continue;W.forEach((E,K)=>this.updateCellValue(B,Z[K],E,$,X,Y)),J.push(B)}}updateCellValue(Q,z,J,Z,$,X){if(!Q||!z?.isCellEditable(Q)||z?.isSuppressPaste(Q))return;let Y=this.processCell(Q,z,J,$,this.gos.getCallback("processCellFromClipboard"),!0);Q.setDataValue(z,Y,Q2);let{rowIndex:G,rowPinned:q}=Q,H=bQ({rowIndex:G,column:z,rowPinned:q});Z[H]=!0,X?.addCell(Q.parent,z.getId())}copyToClipboard(Q={}){this.copyOrCutToClipboard(Q)}cutToClipboard(Q={},z="api"){if(this.gos.get("suppressCutToClipboard"))return;this.eventSvc.dispatchEvent({type:"cutStart",source:z}),this.copyOrCutToClipboard(Q,!0),this.eventSvc.dispatchEvent({type:"cutEnd",source:z})}copyOrCutToClipboard(Q,z){let{includeHeaders:J,includeGroupHeaders:Z}=Q,{gos:$,focusSvc:X}=this.beans;if(J==null)J=$.get("copyHeadersToClipboard");if(Z==null)Z=$.get("copyGroupHeadersToClipboard");let Y={includeHeaders:J,includeGroupHeaders:Z},G=$.get("rowSelection"),q=$.get("cellSelection"),H=null;if(this.shouldCopyCells(q,G))this.copySelectedRangeToClipboard(Y),H=0;else if(this.shouldCopyRows(G))this.copySelectedRowsToClipboard(Y),H=1;else if(X.isAnyCellFocused())this.copyFocusedCellToClipboard(Y),H=2;if(z&&H!==null)this.clearCellsAfterCopy(H)}shouldCopyCells(Q,z){let{rangeSvc:J,selectionSvc:Z,gos:$}=this.beans;if(!J||J.isEmpty())return!1;if(Q)return!(typeof z==="object"&&z.copySelectedRows&&!Z?.isEmpty());else{let X=$.get("suppressCopySingleCellRanges");return!(!J.isMoreThanOneCell()&&X)}}shouldCopyRows(Q){let{selectionSvc:z,gos:J}=this.beans;if(z?.isEmpty()??!0)return!1;if(Q&&typeof Q!=="string")return Q.copySelectedRows??!1;else return!J.get("suppressCopyRowsToClipboard")}clearCellsAfterCopy(Q){let z=this.beans,{rangeSvc:J,focusSvc:Z,eventSvc:$}=z;if($.dispatchEvent({type:"keyShortcutChangedCellStart"}),Q===0)J.clearCellRangeCellValues({cellEventSource:"clipboardSvc"});else if(Q===1)this.clearSelectedRows();else{let X=Z.getFocusedCell();if(X==null)return;let Y=M0(z,X);if(Y)this.clearCellValue(Y,X.column)}$.dispatchEvent({type:"keyShortcutChangedCellEnd"})}clearSelectedRows(){let{selectionSvc:Q,visibleCols:z}=this.beans,J=Q?.getSelectedNodes()??[],Z=z.allCols;for(let $ of J)for(let X of Z)this.clearCellValue($,X)}clearCellValue(Q,z){if(!z.isCellEditable(Q))return;let J=this.beans.valueSvc.getDeleteValue(z,Q);Q.setDataValue(z,J,"clipboardSvc")}iterateActiveRanges(Q,z,J){let Z=this.beans.rangeSvc;if(!Z||Z.isEmpty())return;let $=Z.getCellRanges(),X=z?[$[0]]:$;for(let Y of X)this.iterateActiveRange({cellRange:Y,rowCallback:Q,preProcessRange:J})}iterateActiveRange(Q){let{cellRange:z,preProcessRange:J,rowCallback:Z}=Q,{beans:$}=this,{rangeSvc:X}=$;if(!X)return;if(J)J(z);let Y=X.getRangeStartRow(z),G=X.getRangeEndRow(z),q=0,H=!1;while(!H&&Y!=null){let _=M0($,Y);H=l(Y,G),Z(Y,_,z,q++),Y=L0($,Y)}}copySelectedRangeToClipboard(Q={}){let z=this.beans.rangeSvc;if(!z||z.isEmpty())return;let J=z.areAllRangesAbleToMerge(),{data:Z,cellsToFlash:$}=J?this.buildDataFromMergedRanges(z,Q):this.buildDataFromRanges(z,Q);this.copyDataToClipboard(Z),this.dispatchFlashCells($)}buildDataFromMergedRanges(Q,z){let J=new Set,Z=Q.getCellRanges(),$=new Map,X=[],Y={},G=o(this.gos,this.beans.rowModel),q=new Set;if(!G)this.beans.rowModel.forEachNode((W)=>{q.add(W.rowIndex)});for(let W of Z){W.columns.forEach((K)=>J.add(K));let{rowPositions:B,cellsToFlash:E}=this.getRangeRowPositionsAndCellsToFlash(Q,W);for(let K of B){let L=q.has(K.rowIndex);if(!G&&!L)continue;let F=`${K.rowIndex}-${K.rowPinned||"null"}`;if(!$.get(F))$.set(F,!0),X.push(K)}Object.assign(Y,E)}let H=this.beans.visibleCols.allCols,_=Array.from(J);return _.sort((W,B)=>{let E=H.indexOf(W),K=H.indexOf(B);return E-K}),{data:this.buildExportParams({columns:_,rowPositions:X,includeHeaders:z.includeHeaders,includeGroupHeaders:z.includeGroupHeaders}),cellsToFlash:Y}}buildDataFromRanges(Q,z){let J=Q.getCellRanges(),Z=[],$={};for(let X of J){let{rowPositions:Y,cellsToFlash:G}=this.getRangeRowPositionsAndCellsToFlash(Q,X);Object.assign($,G),Z.push(this.buildExportParams({columns:X.columns,rowPositions:Y,includeHeaders:z.includeHeaders,includeGroupHeaders:z.includeGroupHeaders}))}return{data:Z.join(`
`),cellsToFlash:$}}getRangeRowPositionsAndCellsToFlash(Q,z){let J=[],Z={},$=Q.getRangeStartRow(z),X=Q.getRangeEndRow(z),Y=$;while(Y){J.push(Y);for(let G of z.columns){let{rowIndex:q,rowPinned:H}=Y,_=bQ({rowIndex:q,column:G,rowPinned:H});Z[_]=!0}if(l(Y,X))break;Y=L0(this.beans,Y)}return{rowPositions:J,cellsToFlash:Z}}getCellsToFlashFromRowNodes(Q){let z=this.beans.visibleCols.allCols,J={};for(let Z=0;Z<Q.length;Z++){let{level:$,rowIndex:X,rowPinned:Y,sibling:G}=Q[Z],q=$===-1?G.rowIndex:X;if(q==null)continue;for(let H=0;H<z.length;H++){let _=z[H],U=bQ({rowIndex:q,column:_,rowPinned:Y});J[U]=!0}}return J}copyFocusedCellToClipboard(Q={}){let z=this.beans.focusSvc.getFocusedCell();if(z==null)return;z=this.beans.rowSpanSvc?.getCellStart(z)??z;let J=bQ(z),Z={rowPinned:z.rowPinned,rowIndex:z.rowIndex},$=z.column,X=this.buildExportParams({columns:[$],rowPositions:[Z],includeHeaders:Q.includeHeaders,includeGroupHeaders:Q.includeGroupHeaders});this.copyDataToClipboard(X),this.dispatchFlashCells({[J]:!0})}copySelectedRowsToClipboard(Q={}){let{columnKeys:z,includeHeaders:J,includeGroupHeaders:Z}=Q,$=this.buildExportParams({columns:z,includeHeaders:J,includeGroupHeaders:Z});this.copyDataToClipboard($);let X=this.beans.selectionSvc?.getSelectedNodes()||[];this.dispatchFlashCells(this.getCellsToFlashFromRowNodes(X))}buildExportParams(Q){let{columns:z,rowPositions:J,includeHeaders:Z=!1,includeGroupHeaders:$=!1}=Q,{gos:X,csvCreator:Y}=this.beans,G=({node:H,column:_})=>{let{value:U,valueFormatted:W}=this.beans.valueSvc.getValueForDisplay({column:_,node:H,includeValueFormatted:!0,from:"batch"}),B=W??U??"",E=X.getCallback("processCellForClipboard");if(!E)return B;return E({column:_,node:H,value:B,type:s6,formatValue:(K)=>this.beans.valueSvc.formatValue(_,H,K)??K,parseValue:(K)=>this.beans.valueSvc.parseValue(_,H,K,U)??K})},q={columnKeys:z,rowPositions:J,skipColumnHeaders:!Z,skipColumnGroupHeaders:!$,suppressQuotes:!0,columnSeparator:this.getClipboardDelimiter(),onlySelected:!J,valueFrom:"batch",processCellCallback:X.getCallback("processCellForClipboard"),processRowGroupCallback:G,processHeaderCallback:X.getCallback("processHeaderForClipboard"),processGroupHeaderCallback:X.getCallback("processGroupHeaderForClipboard")};return Y.getDataAsCsv(q,!0)}dispatchFlashCells(Q){window.setTimeout(()=>{this.eventSvc.dispatchEvent({type:"flashCells",cells:Q})},0)}processCell(Q,z,J,Z,$,X,Y){let{valueSvc:G,formula:q}=this.beans;if($)return $({column:z,node:Q,value:J,type:Z,formatValue:(_)=>G.formatValue(z,Q??null,_)??_,parseValue:(_)=>G.parseValue(z,Q??null,_,G.getValue(z,Q,"edit"))});if(X&&z.getColDef().useValueParserForImport!==!1)return G.parseValue(z,Q??null,J,G.getValue(z,Q,"edit"));if(Y&&z.getColDef().useValueFormatterForExport!==!1){if(q?.isFormula(J))return J;return G.formatValue(z,Q??null,J)??J}return J}copyDataToClipboard(Q){let z=this.gos.getCallback("sendToClipboard");if(z){z({data:Q});return}if(!this.gos.get("suppressClipboardApi")&&navigator.clipboard){navigator.clipboard.writeText(Q).catch((Z)=>{R(40,{e:Z,method:"writeText"}),this.copyDataToClipboardLegacy(Q)});return}this.copyDataToClipboardLegacy(Q)}copyDataToClipboardLegacy(Q){this.executeOnTempElement((z)=>{let J=Y0(this.beans),Z=d(this.beans);if(z.value=Q||" ",z.select(),z.focus({preventScroll:!0}),!J.execCommand("copy"))R(41);if(Z?.focus!=null)Z.focus({preventScroll:!0})})}executeOnTempElement(Q,z){if(!this.gridCtrl)return;let J=Y0(this.beans),Z=J.createElement("textarea"),$=Z.style;$.width="1px",$.height="1px";let X=J.documentElement;$.top=X.scrollTop+"px",$.left=X.scrollLeft+"px",$.position="absolute",$.opacity="0",this.gridCtrl.getGui().appendChild(Z);try{Q(Z)}catch(G){R(42)}if(z)window.setTimeout(()=>{z(Z),Z.remove()},100);else Z.remove()}},K4={moduleName:"Clipboard",version:J0,beans:[HS],apiFunctions:{copyToClipboard:JS,cutToClipboard:ZS,copySelectedRowsToClipboard:$S,copySelectedRangeToClipboard:XS,copySelectedRangeDown:YS,pasteFromClipboard:GS},dependsOn:[I0,$X,iz,kX]};var L4=class extends j{constructor(){super(...arguments);this.loadRowDataVersion=0}wireBeans(Q){this.environment=Q.environment}init(Q,z){if(this.params=z,this.comp=Q,z.pinned!=null)return;this.setAutoHeightClasses(),this.setupRefreshStrategy(),this.createDetailGrid(),this.loadRowData(),this.addManagedEventListeners({fullWidthRowFocused:this.onFullWidthRowFocused.bind(this)})}onFullWidthRowFocused(Q){let z=this.params,J={rowIndex:z.node.rowIndex,rowPinned:z.node.rowPinned},Z={rowIndex:Q.rowIndex,rowPinned:Q.rowPinned};if(!l(J,Z))return;D0(this.comp.getGui(),Q.fromBelow)}setAutoHeightClasses(){let Q=this.gos.get("detailRowAutoHeight"),z=Q?"ag-details-row-auto-height":"ag-details-row-fixed-height",J=Q?"ag-details-grid-auto-height":"ag-details-grid-fixed-height",Z=this.comp;Z.toggleCss(z,!0),Z.toggleDetailGridCss(J,!0)}setupRefreshStrategy(){let Q=this.params.refreshStrategy;if(Q=="everything"||Q=="nothing"||Q=="rows"){this.refreshStrategy=Q;return}if(Q!=null)R(170,{providedStrategy:Q});this.refreshStrategy="rows"}createDetailGrid(){let{params:Q,gos:z}=this;if(n(Q.detailGridOptions)){R(171);return}let J=z.get("theme"),Z=Q.detailGridOptions.theme;if(Z&&Z!==J)R(267);let $={themeStyleContainer:this.environment.eStyleContainer,...Q.detailGridOptions,theme:J};if(z.get("detailRowAutoHeight"))$.domLayout="autoHeight";this.comp.setDetailGrid($)}registerDetailWithMaster(Q){let{params:z,beans:{selectionSvc:J,findSvc:Z,expansionSvc:$}}=this,X=z.node.id,Y=z.api,G={id:X,api:Q},q=z.node;if(Y.isDestroyed())return;Y.addDetailGridInfo(X,G),q.detailGridInfo=G;let H=q.parent;Z?.registerDetailGrid(q,Q);function _(){if(H)J?.refreshMasterNodeState(H)}function U({source:B}){if(B==="expandAll")return Q.expandAll();if(B==="collapseAll")return Q.collapseAll()}function W({node:B,source:E}){if(B!==H||E==="masterDetail"||Q.isDestroyed())return;J?.setDetailSelectionState(H,z.detailGridOptions,Q)}Q.addEventListener("firstDataRendered",()=>{if(Q.isDestroyed()||Y.isDestroyed())return;J?.setDetailSelectionState(H,z.detailGridOptions,Q),Q.addEventListener("selectionChanged",_),Y.addEventListener("rowSelected",W);let E=`${"CsrmSsrmSharedApi"}Module`;if(Q.isModuleRegistered(E))Y.addEventListener("expandOrCollapseAll",U),$?.setDetailsExpansionState(Q)}),this.addManagedListeners(H,{masterChanged:(B)=>{if(!B.node.master)this.onDestroy(G)}}),this.addDestroyFunc(()=>this.onDestroy(G))}onDestroy(Q){let{params:z}=this,J=z.node,Z=z.api;if(J.detailGridInfo!==Q)return;if(!Z.isDestroyed())Z.removeDetailGridInfo(J.id);J.detailGridInfo=null}loadRowData(){this.loadRowDataVersion++;let Q=this.loadRowDataVersion,z=this.params;if(z.detailGridOptions?.rowModelType==="serverSide"){z.node.detailGridInfo?.api?.refreshServerSide({purge:!0});return}let J=z.getDetailRowData;if(!J){R(172);return}let Z=(X)=>{if(this.loadRowDataVersion===Q)this.comp.setRowData(X)},$={node:z.node,data:z.node.data,successCallback:Z,context:y(this.gos,{}).context};J($)}refresh(){switch(this.refreshStrategy){case"nothing":return!0;case"everything":return!1}return this.loadRowData(),!0}},_S=class{constructor(Q){this.parentWrapper=Q}wrap(Q,z,J,Z){return this.parentWrapper.wrap(Q,z,J,Z)}},US={tag:"div",cls:"ag-details-row"},WS={tag:"div",cls:"ag-details-row",role:"gridcell",children:[{tag:"div",ref:"eDetailGrid",cls:"ag-details-grid",role:"presentation"}]},BS=class extends x{constructor(){super(...arguments);this.eDetailGrid=S}wireBeans(Q){this.context=Q.context}init(Q){this.params=Q,this.selectAndSetTemplate();let z={toggleCss:(J,Z)=>this.toggleCss(J,Z),toggleDetailGridCss:(J,Z)=>this.eDetailGrid.classList.toggle(J,Z),setDetailGrid:(J)=>this.setDetailGrid(J),setRowData:(J)=>this.setRowData(J),getGui:()=>this.eDetailGrid};this.ctrl=this.createManagedBean(new L4),this.ctrl.init(z,Q)}refresh(){return this.ctrl?.refresh()??!1}selectAndSetTemplate(){let Q=this.params;if(Q.pinned){this.setTemplate(US);return}let z=()=>{this.setTemplate(WS)};if(n(Q.template))z();else if(typeof Q.template==="string")this.setTemplate(Q.template,[]);else if(typeof Q.template==="function"){let J=Q.template,Z=J(Q);this.setTemplate(Z,[])}else R(168),z();if(this.eDetailGrid==null)R(169)}setDetailGrid(Q){if(!this.eDetailGrid)return;let z=this.context.getBean("frameworkCompWrapper"),J=new _S(z),{frameworkOverrides:Z}=this.beans,$=MJ(this.eDetailGrid,Q,{frameworkOverrides:Z,providedBeanInstances:{frameworkCompWrapper:J},modules:a8(this.params.api.getGridId(),Q.rowModelType??"clientSide")});this.detailApi=$,this.ctrl?.registerDetailWithMaster($),this.addDestroyFunc(()=>{$.destroy()})}setRowData(Q){this.detailApi?.setGridOption("rowData",Q)}};function D2(Q,z){let J=Q.masterDetailSvc?.store;return J?z(J):void 0}function ES(Q,z,J){D2(Q,(Z)=>{Z[z]=J})}function KS(Q,z){D2(Q,(J)=>{delete J[z]})}function LS(Q,z){return D2(Q,(J)=>J[z])}function FS(Q,z){D2(Q,(J)=>{let Z=0;Object.values(J).forEach(($)=>{if($)z($,Z++)})})}var DS=".ag-details-row{width:100%}.ag-details-row-fixed-height{height:100%}.ag-details-grid{width:100%}.ag-details-grid-fixed-height{height:100%}",MS=class extends j{constructor(){super(...arguments);this.beanName="masterDetailSvc",this.store={}}isEnabled(){return this.gos.get("masterDetail")}postConstruct(){let Q=this.gos;if(o(Q))this.enabled=this.isEnabled();if(Hz(Q))this.addEventListeners()}addEventListeners(){let Q=(Z)=>{this.setMaster(Z.node,!1,!0)},z,J=()=>{if(z){for(let Z of z)Z();z=void 0}if(this.isEnabled())z=this.addManagedListeners(this.beans.eventSvc,{rowNodeDataChanged:Q})};J(),this.gos.addPropertyEventListener("masterDetail",J)}refreshModel(Q){if(Q.changedProps){let z=this.isEnabled();if(this.enabled!==z){this.setMasters(null);return}}if(Q.rowDataUpdated)this.setMasters(Q.changedRowNodes)}setMaster(Q,z,J){let Z=Q.master,$=this.isEnabled(),X=$,Y=this.gos,G=Y.get("isRowMaster"),q=Y.get("treeData");if($)if(z||J){if(G){let H=Q.data;X=!!H&&!!G(H)}}else X=Z;if(!q){if(X&&z||!X&&Z)Q._expanded??(Q._expanded=null)}if(X!==Z)Q.master=X,Q.dispatchRowEvent("masterChanged")}setMasters(Q){if(this.enabled=this.isEnabled(),Q){for(let z of Q.updates)this.setMaster(z,!1,!0);for(let z of Q.adds)this.setMaster(z,!0,!1)}else{let z=o5(this.beans)?.rootNode?._leafs;if(z)for(let J=0,Z=z.length;J<Z;++J)this.setMaster(z[J],!0,!1)}}getDetail(Q){if(!Q.master||!Q.expanded)return null;let z=Q.detailNode;if(z)return z;if(z=new Wz(this.beans),z.detail=!0,z.selectable=!1,z.parent=Q,T(Q.id))z.id="detail_"+Q.id;return z.data=Q.data,z.level=Q.level+1,Q.detailNode=z,z}setupDetailRowAutoHeight(Q,z){let{gos:J,beans:Z}=this;if(!J.get("detailRowAutoHeight"))return;let $=()=>{let Y=z.clientHeight;if(Y!=null&&Y>0){let G=()=>{let{rowModel:q}=this.beans,{rowNode:H}=Q;if(H.setRowHeight(Y),o(J,q)||Hz(J,q))q.onRowHeightChanged()};window.setTimeout(G,0)}},X=DQ(Z,z,$);Q.addDestroyFunc(X),$()}destroy(){this.store={},super.destroy()}},kS={moduleName:"SharedMasterDetail",version:J0,beans:[MS],userComponents:{agDetailCellRenderer:BS},dynamicBeans:{detailCellRendererCtrl:L4},apiFunctions:{addDetailGridInfo:ES,removeDetailGridInfo:KS,getDetailGridInfo:LS,forEachDetailGridInfo:FS},dependsOn:[I0,U4,B4],css:[DS]},F4={moduleName:"MasterDetail",version:J0,dependsOn:[kS,F2,MX]},D4=class extends x{constructor(){super(...arguments);this.changedCalculatedValues=!1,this.dragging=!1,this.shouldDestroyOnEndDragging=!1}postConstruct(){this.beans.dragSvc.addDragSource({dragStartPixels:0,eElement:this.getGui(),onDragging:(Q)=>{let z=!1;if(!this.dragging)z=!0,this.dragging=!0,D1(this.beans).classList?.add(this.getDraggingCssClass());if(this.updateValuesOnMove(Q),z){this.changedCalculatedValues=!1;return}if(this.beans.rangeSvc.autoScrollService.check(Q),this.changedCalculatedValues)this.onDrag(Q),this.changedCalculatedValues=!1},onDragStop:(Q)=>{this.dragging=!1,this.onDragEnd(Q),this.clearDragProperties()},onDragCancel:()=>{this.dragging=!1,this.onDragCancel(),this.clearDragProperties()}}),this.addManagedEventListeners({cellSelectionChanged:this.updateLocalRangeIfNeeded.bind(this)}),this.addManagedElementListeners(this.getGui(),{pointerdown:ZY,mousedown:ZY})}getLastCellHovered(){return this.lastCellHovered}getDraggingCssClass(){return`ag-dragging-${this.type===0?"fill":"range"}-handle`}updateValuesOnMove(Q){let z=U6(this.gos,Q);if(!z||this.shouldSkipCell(z)||this.lastCellHovered&&f1(z,this.lastCellHovered))return;this.lastCellHovered=z,this.changedCalculatedValues=!0}clearDragProperties(){if(this.clearValues(),this.beans.rangeSvc.autoScrollService.ensureCleared(),D1(this.beans).classList?.remove(this.getDraggingCssClass()),this.shouldDestroyOnEndDragging)this.destroy()}getType(){return this.type}refresh(Q,z){let J=this.cellCtrl,Z=this.getGui(),$=z??b(this.beans.rangeSvc.getCellRanges()),X=$.startRow,Y=$.endRow;if(X&&Y)if(q0(Y,X))this.rangeStartRow=Y,this.rangeEndRow=X;else this.rangeStartRow=X,this.rangeEndRow=Y;if(J!==Q||!f0(Z)){this.cellCtrl=Q;let G=Q.comp.getParentOfValue();if(G)G.appendChild(Z)}this.cellRange=$}clearValues(){this.lastCellHovered=void 0}destroy(){if(!this.shouldDestroyOnEndDragging&&this.dragging){N(this.getGui(),!1),this.shouldDestroyOnEndDragging=!0;return}this.shouldDestroyOnEndDragging=!1,super.destroy(),this.getGui()?.remove()}updateLocalRangeIfNeeded(Q){if(!this.cellRange)return;let{id:z,type:J}=this.cellRange;if(!z||z!==Q.id)return;let Z=this.beans.rangeSvc?.getCellRanges().find(($)=>$.id===z&&$.type===J);if(Z&&Z!==this.cellRange)this.cellRange=Z}},ZY=(Q)=>{Q.stopPropagation()};function VS(Q){let z=Q.length,J=0;if(z<=1)return Q;for(let U=0;U<Q.length;U++){let W=Q[U],B=W.toString().split("e-");if(B.length>1){J=Math.max(J,parseInt(B[1],10));continue}if(Math.floor(W)===W)continue;J=Math.max(J,W.toString().split(".")[1].length)}let Z=0,$=0,X=0,Y=0,G=0;for(let U=0;U<z;U++)G=Q[U],Z+=U,$+=G,Y+=U*U,X+=U*G;let q=(z*X-Z*$)/(z*Y-Z*Z),H=$/z-q*Z/z,_=[];for(let U=0;U<=z;U++)_.push(parseFloat((U*q+H).toFixed(J)));return _}var fS={tag:"div",cls:"ag-fill-handle"},AS=class extends D4{constructor(){super(fS);this.markedCells=[],this.cellValues=[],this.isUp=!1,this.isLeft=!1,this.isReduce=!1,this.type=0}postConstruct(){super.postConstruct(),this.addManagedElementListeners(this.getGui(),{dblclick:this.onDblClick.bind(this)})}onDblClick(Q){i0(Q);let{cellRange:z,rangeStartRow:J,beans:Z}=this,{rangeSvc:$,visibleCols:X}=Z,Y=Gz(Z);if(!Y)return;let G=this.getFillHandleDirection();this.dragAxis=G==="xy"?"y":G;let q=$?.createCellRangeFromCellRangeParams({rowStartIndex:J.rowIndex,rowStartPinned:J.rowPinned,columnStart:z.columns[0],rowEndIndex:this.dragAxis==="x"?z.endRow?.rowIndex??null:Y.rowIndex,rowEndPinned:this.dragAxis==="x"?z.endRow?.rowPinned:Y.rowPinned,columnEnd:this.dragAxis==="x"?b(X.allCols):b(z.columns)});if(this.isUp=!1,this.isLeft=!1,q)this.performFill({event:Q,initialRange:z,finalRange:q});this.dragAxis=void 0}updateValuesOnMove(Q){if(super.updateValuesOnMove(Q),!this.initialXY)this.initialXY=W6(this.beans,Q);let{x:z,y:J}=this.initialXY,{x:Z,y:$}=W6(this.beans,Q),X=Math.abs(z-Z),Y=Math.abs(J-$),G=this.getFillHandleDirection(),q;if(G==="xy")q=X>Y?"x":"y";else q=G;if(q!==this.dragAxis)this.dragAxis=q,this.changedCalculatedValues=!0}shouldSkipCell(Q){return v0(Q.column)}onDrag(Q){if(!this.initialPosition){let J=this.cellCtrl;if(!J)return;this.initialPosition=J.cellPosition}let z=this.getLastCellHovered();if(z)this.markPathFrom(this.initialPosition,z)}onDragEnd(Q){if(this.initialXY=null,!this.markedCells.length)return;let z=this.dragAxis==="x",{cellRange:J,rangeStartRow:Z,rangeEndRow:$,beans:{rangeSvc:X}}=this,Y=J.columns.length,G;if(!this.isUp&&!this.isLeft)G=X.createCellRangeFromCellRangeParams({rowStartIndex:Z.rowIndex,rowStartPinned:Z.rowPinned,columnStart:J.columns[0],rowEndIndex:z?$.rowIndex:this.lastCellMarked.rowIndex,rowEndPinned:z?$.rowPinned:this.lastCellMarked.rowPinned,columnEnd:z?this.lastCellMarked.column:J.columns[Y-1]});else{let q=z?Z:this.lastCellMarked;G=X.createCellRangeFromCellRangeParams({rowStartIndex:q.rowIndex,rowStartPinned:q.rowPinned,columnStart:z?this.lastCellMarked.column:J.columns[0],rowEndIndex:$.rowIndex,rowEndPinned:$.rowPinned,columnEnd:J.columns[Y-1]})}if(G)this.performFill({event:Q,initialRange:J,finalRange:G,shouldUpdateRange:!0})}onDragCancel(){if(this.initialXY=null,!this.markedCells.length)return;this.clearMarkedPath()}performFill({event:Q,initialRange:z,finalRange:J,shouldUpdateRange:Z}){let{eventSvc:$,rangeSvc:X}=this.beans;if($.dispatchEvent({type:"fillStart"}),this.handleValueChanged(z,J,Q),Z)X.setCellRanges([J]);$.dispatchEvent({type:"fillEnd",initialRange:z,finalRange:J})}getFillHandleDirection(){let Q=vZ(this.gos)?.direction;if(!Q)return"xy";if(Q!=="x"&&Q!=="y"&&Q!=="xy")return R(177),"xy";return Q}handleValueChanged(Q,z,J){let{beans:Z}=this,{rangeSvc:$,gos:X,valueSvc:Y}=Z,G=$.getRangeEndRow(Q),q=$.getRangeStartRow(Q),H=$.getRangeEndRow(z),_=$.getRangeStartRow(z),U=this.dragAxis==="y";if(this.isReduce&&!vZ(X)?.suppressClearOnFillReduction){let A=U?Q.columns:Q.columns.filter((v)=>z.columns.indexOf(v)<0),O=U?L0(Z,H):_;if(O)this.clearCellsInRange(O,G,A);return}let W=[],B=[],E=[],K=[],L=!0,F=0,D=()=>{W.length=0,B.length=0,E.length=0,K.length=0,F=0},M=(A,O)=>{let v=this.isUp?G:q,I=!1;if(U)L=!0,D();while(!I&&v){let C=M0(Z,v);if(!C)break;if(U&&A)k(W,A,C,()=>!l(v,this.isUp?q:G));else if(O){L=!0,D();for(let m of O)k(W,m,C,()=>m!==(this.isLeft?Q.columns[0]:b(Q.columns)))}I=l(v,this.isUp?_:H),v=this.isUp?m0(this.beans,v):L0(Z,v)}},k=(A,O,v,I)=>{let C,m=!1;if(L)C=Y.getValue(O,v,"edit"),B.push(C),E.push(Y.getValue(O,v,"edit",!0)),K.push(Y.getValueForDisplay({column:O,node:v,from:"edit"}).valueFormatted),L=I();else{let{value:w,fromUserFunction:a,sourceCol:t,sourceRowNode:u}=this.processValues({event:J,values:A,initialValues:B,initialNonAggregatedValues:E,initialFormattedValues:K,col:O,rowNode:v,idx:F++});if(C=w,O.isCellEditable(v)){let Q0=Y.getValue(O,v,"edit");if(!a){if(t){let r=t.getColDef();if(r.useValueFormatterForExport!==!1&&r.valueFormatter){let S0=Y.getValueForDisplay({column:t,node:u,includeValueFormatted:!0,from:"edit"}).valueFormatted;if(S0!=null)C=S0}}if(O.getColDef().useValueParserForImport!==!1)C=Y.parseValue(O,v,t?C:c1(C),Q0)}if(!a||Q0!==C)v.setDataValue(O,C,"rangeSvc");else m=!0}}if(!m)A.push({value:C,column:O,rowNode:v})},{changeDetectionSvc:f}=this.beans;f?.beginDeferred();try{if(U)Q.columns.forEach((A)=>{M(A)});else{let A=this.isLeft?[...z.columns].reverse():z.columns;M(void 0,A)}this.beans.editSvc?.stopEditing(void 0,{source:"fillHandle"})}finally{f?.endDeferred()}}clearCellsInRange(Q,z,J){let Z={startRow:Q,endRow:z,columns:J,startColumn:J[0]};this.beans.rangeSvc.clearCellRangeCellValues({cellRanges:[Z],restoreSourceInBatch:!0})}processValues(Q){let{formula:z,valueSvc:J}=this.beans,{event:Z,values:$,initialValues:X,initialNonAggregatedValues:Y,initialFormattedValues:G,col:q,rowNode:H,idx:_}=Q,U=vZ(this.gos)?.setFillValue,W=this.dragAxis==="y",B;if(W)B=this.isUp?"up":"down";else B=this.isLeft?"left":"right";if(U){let L=y(this.gos,{event:Z,values:$.map(({value:D})=>D),initialValues:X,initialNonAggregatedValues:Y,initialFormattedValues:G,currentIndex:_,currentCellValue:J.getValue(q,H,"edit"),direction:B,column:q,rowNode:H}),F=U(L);if(F!==!1)return{value:F,fromUserFunction:!0}}let E=(L)=>typeof L==="number"&&Number.isFinite(L)||typeof L==="string"&&/^[+-]?\d+(?:\.\d+)?$/.test(L.trim()),K=$.every(({value:L})=>E(L));if(Z.altKey||!K){let L=String(b($)?.value??"");if(K&&X.length===1){let A=this.isUp||this.isLeft?-1:1;return{value:parseFloat(L)+1*A,fromUserFunction:!1}}let{value:F,column:D,rowNode:M}=$[_%$.length],k,f=D.isAllowFormula()&&z?.isFormula(L);if(f){let A=B==="up"?-1:B==="down"?1:0,O=B==="left"?-1:B==="right"?1:0;k=z.updateFormulaByOffset({value:L,rowDelta:A,columnDelta:O})}else k=F;return{value:k,fromUserFunction:!1,sourceCol:f?void 0:D,sourceRowNode:M}}return{value:b(VS($.map(({value:L})=>Number(L)))),fromUserFunction:!1}}clearValues(){this.clearMarkedPath(),this.clearCellValues(),this.lastCellMarked=void 0,super.clearValues()}clearMarkedPath(){for(let Q of this.markedCells){if(!Q.isAlive())continue;let{comp:z}=Q;z.toggleCss("ag-selection-fill-top",!1),z.toggleCss("ag-selection-fill-right",!1),z.toggleCss("ag-selection-fill-bottom",!1),z.toggleCss("ag-selection-fill-left",!1)}this.markedCells.length=0,this.isUp=!1,this.isLeft=!1,this.isReduce=!1}clearCellValues(){this.cellValues.length=0}markPathFrom(Q,z){if(this.clearMarkedPath(),this.clearCellValues(),this.dragAxis==="y"){if(l(z,Q))return;let J=q0(z,Q),{rangeStartRow:Z,rangeEndRow:$}=this;if(J&&(z.rowPinned==Z.rowPinned&&z.rowIndex>=Z.rowIndex||Z.rowPinned!=$.rowPinned&&z.rowPinned==$.rowPinned&&z.rowIndex<=$.rowIndex))this.reduceVertical(Q,z),this.isReduce=!0;else this.extendVertical(Q,z,J),this.isReduce=!1}else{let J=Q.column,Z=z.column;if(J===Z)return;let $=this.beans.visibleCols.allCols,X=$.indexOf(J),Y=$.indexOf(Z);if(Y<=X&&Y>=$.indexOf(this.cellRange.columns[0]))this.reduceHorizontal(Q,z),this.isReduce=!0;else this.extendHorizontal(Q,z,Y<X),this.isReduce=!1}this.lastCellMarked=z}extendVertical(Q,z,J){let Z=this.beans,{rangeSvc:$}=Z,X=Q;do{let Y=this.cellRange,G=Y.columns.length;for(let q=0;q<G;q++){let H=Y.columns[q],U={...{rowIndex:X.rowIndex,rowPinned:X.rowPinned},column:H},W=$.isCellInSpecificRange(U,Y),B=l(X,Q);if(J)this.isUp=!0;if(!B){let E=e0(Z,U);if(E){this.markedCells.push(E);let K=E.comp;if(!W)K.toggleCss("ag-selection-fill-left",q===0),K.toggleCss("ag-selection-fill-right",q===G-1);K.toggleCss(J?"ag-selection-fill-top":"ag-selection-fill-bottom",l(X,z))}}}if(l(X,z))break}while(X=J?m0(this.beans,X):L0(Z,X))}reduceVertical(Q,z){let J=Q,Z=this.beans;do{let $=this.cellRange,X=$.columns.length,Y=l(J,z);for(let G=0;G<X;G++){let H={...{rowIndex:J.rowIndex,rowPinned:J.rowPinned},column:$.columns[G]},_=e0(Z,H);if(_)this.markedCells.push(_),_.comp.toggleCss("ag-selection-fill-bottom",l(J,z))}if(Y)break}while(J=m0(Z,J))}extendHorizontal(Q,z,J){let Z=this.beans,{visibleCols:$}=Z,X=$.allCols,Y=X.indexOf(J?z.column:Q.column),G=X.indexOf(J?this.cellRange.columns[0]:z.column),q=J?0:1,H=X.slice(Y+q,G+q),{rangeStartRow:_,rangeEndRow:U}=this;for(let W of H){let B=_,E=!1;do{E=l(B,U);let K=e0(Z,{rowIndex:B.rowIndex,rowPinned:B.rowPinned,column:W});if(K){this.markedCells.push(K);let L=K.comp;if(L.toggleCss("ag-selection-fill-top",l(B,_)),L.toggleCss("ag-selection-fill-bottom",l(B,U)),J)this.isLeft=!0,L.toggleCss("ag-selection-fill-left",W===H[0]);else L.toggleCss("ag-selection-fill-right",W===b(H))}B=L0(Z,B)}while(!E)}}reduceHorizontal(Q,z){let J=this.beans,{visibleCols:Z}=J,$=Z.allCols,X=$.indexOf(z.column),Y=$.indexOf(Q.column),G=$.slice(X,Y),{rangeStartRow:q,rangeEndRow:H}=this;for(let _ of G){let U=q,W=!1;do{W=l(U,H);let B=e0(this.beans,{rowIndex:U.rowIndex,rowPinned:U.rowPinned,column:_});if(B)this.markedCells.push(B),B.comp.toggleCss("ag-selection-fill-right",_===G[0]);U=L0(J,U)}while(!W)}}refresh(Q,z){let J=z??this.beans.rangeSvc.getCellRanges()[0];if(!J.startRow||!J.endRow){this.destroy();return}super.refresh(Q,J)}},jS=class extends D4{constructor(){super({tag:"div",cls:"ag-range-handle"});this.type=1,this.rangeFixed=!1}onDrag(Q){let z=this.getLastCellHovered();if(!z)return;let J=this.beans.rangeSvc,Z=this.cellRange??b(J.getCellRanges());if(!Z)return;if(!this.rangeFixed)this.fixRangeStartEnd(Z),this.rangeFixed=!0;if(this.endPosition={rowIndex:z.rowIndex,rowPinned:z.rowPinned,column:z.column},J.getCellRanges().length===2&&J.getCellRanges()[0].type===CQ.DIMENSION&&Z.type===CQ.VALUE){if(!l(this.endPosition,J.getRangeEndRow(Z)))J.updateRangeRowBoundary({cellRange:J.getCellRanges()[0],boundary:"end",cellPosition:{...this.endPosition,column:J.getCellRanges()[0].columns[0]},silent:!0})}J.extendRangeToCell(Z,this.endPosition)}shouldSkipCell(Q){return!1}onDragEnd(Q){let z=this.cellRange??b(this.beans.rangeSvc.getCellRanges());if(!z)return;this.fixRangeStartEnd(z),this.rangeFixed=!1}onDragCancel(){this.rangeFixed=!1}fixRangeStartEnd(Q){let z=this.beans.rangeSvc,J=z.getRangeStartRow(Q),Z=z.getRangeEndRow(Q),$=Q.columns[0];Q.startRow=J,Q.endRow=Z,Q.startColumn=$}},RS=".ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing),.ag-cell-range-selected.ag-cell-range-chart,.ag-cell-range-selected:not(.ag-cell-focus){background-color:var(--ag-range-selection-background-color);&.ag-cell-range-chart{background-color:var(--ag-range-selection-chart-background-color)!important;&.ag-cell-range-chart-category{background-color:var(--ag-range-selection-chart-category-background-color)!important}}}.ag-cell-range-selected-1.ag-cell-range-chart,.ag-cell-range-selected-1.ag-formula-range,.ag-cell-range-selected-1:not(.ag-cell-focus),.ag-root:not(.ag-context-menu-open) .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-1:not(.ag-cell-inline-editing){background-color:var(--ag-range-selection-background-color)}.ag-cell-range-selected-2.ag-cell-range-chart,.ag-cell-range-selected-2.ag-formula-range,.ag-cell-range-selected-2:not(.ag-cell-focus){background-image:linear-gradient(var(--ag-range-selection-background-color),var(--ag-range-selection-background-color))}.ag-cell-range-selected-3.ag-cell-range-chart,.ag-cell-range-selected-3.ag-formula-range,.ag-cell-range-selected-3:not(.ag-cell-focus){background-image:linear-gradient(var(--ag-range-selection-background-color),var(--ag-range-selection-background-color)),linear-gradient(var(--ag-range-selection-background-color),var(--ag-range-selection-background-color))}.ag-cell-range-selected-4.ag-cell-range-chart,.ag-cell-range-selected-4.ag-formula-range,.ag-cell-range-selected-4:not(.ag-cell-focus){background-image:linear-gradient(var(--ag-range-selection-background-color),var(--ag-range-selection-background-color)),linear-gradient(var(--ag-range-selection-background-color),var(--ag-range-selection-background-color)),linear-gradient(var(--ag-range-selection-background-color),var(--ag-range-selection-background-color))}.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell){&.ag-cell-range-top{border-top-color:var(--ag-range-selection-border-color);border-top-style:var(--ag-range-selection-border-style)}&.ag-cell-range-right{border-right-color:var(--ag-range-selection-border-color);border-right-style:var(--ag-range-selection-border-style)}&.ag-cell-range-bottom{border-bottom-color:var(--ag-range-selection-border-color);border-bottom-style:var(--ag-range-selection-border-style)}&.ag-cell-range-left{border-left-color:var(--ag-range-selection-border-color);border-left-style:var(--ag-range-selection-border-style)}}.ag-cell.ag-selection-fill-top,.ag-cell.ag-selection-fill-top.ag-cell-range-selected{border-top:1px dashed;border-top-color:var(--ag-range-selection-border-color)}:where(.ag-ltr) .ag-cell.ag-selection-fill-right,:where(.ag-ltr) .ag-cell.ag-selection-fill-right.ag-cell-range-selected{border-right:1px dashed var(--ag-range-selection-border-color)!important}:where(.ag-rtl) .ag-cell.ag-selection-fill-right,:where(.ag-rtl) .ag-cell.ag-selection-fill-right.ag-cell-range-selected{border-left:1px dashed var(--ag-range-selection-border-color)!important}.ag-cell.ag-selection-fill-bottom,.ag-cell.ag-selection-fill-bottom.ag-cell-range-selected{border-bottom:1px dashed;border-bottom-color:var(--ag-range-selection-border-color)}:where(.ag-ltr) .ag-cell.ag-selection-fill-left,:where(.ag-ltr) .ag-cell.ag-selection-fill-left.ag-cell-range-selected{border-left:1px dashed var(--ag-range-selection-border-color)!important}:where(.ag-rtl) .ag-cell.ag-selection-fill-left,:where(.ag-rtl) .ag-cell.ag-selection-fill-left.ag-cell-range-selected{border-right:1px dashed var(--ag-range-selection-border-color)!important}.ag-fill-handle,.ag-range-handle{background-color:var(--ag-range-selection-border-color);bottom:-1px;height:6px;position:absolute;width:6px}:where(.ag-ltr) .ag-fill-handle,:where(.ag-ltr) .ag-range-handle{right:-1px}:where(.ag-rtl) .ag-fill-handle,:where(.ag-rtl) .ag-range-handle{left:-1px}.ag-fill-handle{cursor:crosshair}:where(.ag-ltr) .ag-range-handle{cursor:nwse-resize}:where(.ag-rtl) .ag-range-handle{cursor:nesw-resize}";function SS(Q){return Q.rangeSvc?.getCellRanges()??null}function OS(Q,z){Q.rangeSvc?.addCellRange(z)}function $Y(Q){Q.rangeSvc?.removeAllCellRanges()}var fJ="ag-cell-range-selected",PS="ag-cell-range-chart",TS="ag-cell-range-single-cell",XY="ag-cell-range-chart-category",vS="ag-cell-range-handle",IS="ag-cell-range-top",CS="ag-cell-range-right",bS="ag-cell-range-bottom",yS="ag-cell-range-left";function xS(Q){let z=Q.get("cellSelection");if(z===void 0)return Q.get("enableRangeHandle");return typeof z!=="boolean"?z.handle?.mode==="range":!1}function YY(Q){let z=Q.get("cellSelection");if(z===void 0)return Q.get("enableFillHandle");return typeof z!=="boolean"?z.handle?.mode==="fill":!1}var wS=class{constructor(Q,z){this.beans=Q,this.cellCtrl=z,this.rangeColorClass=null,this.handleColorClass=null,this.rangeSvc=Q.rangeSvc}setComp(Q){this.cellComp=Q,this.eGui=this.cellCtrl.eGui,this.onCellSelectionChanged()}unsetComp(){this.beans.context.destroyBean(this.selectionHandle)}onCellSelectionChanged(){let Q=this.cellComp;if(!Q)return;let{rangeSvc:z,cellCtrl:J,eGui:Z}=this,$=z.getCellRangeCount(J.cellPosition);this.rangeCount=$;let X=this.getHasChartRange();this.hasChartRange=X,Q.toggleCss(fJ,$!==0),Q.toggleCss(`${fJ}-1`,$===1),Q.toggleCss(`${fJ}-2`,$===2),Q.toggleCss(`${fJ}-3`,$===3),Q.toggleCss(`${fJ}-4`,$>=4),Q.toggleCss(PS,X),S5(Z,$>0?!0:void 0),Q.toggleCss(TS,this.isSingleCell()),this.updateRangeBorders(),this.refreshRangeStyleAndHandle()}updateRangeBorders(){let Q=this.getRangeBorders(),z=this.isSingleCell(),J=!z&&Q.top,Z=!z&&Q.right,$=!z&&Q.bottom,X=!z&&Q.left,Y=this.cellComp;Y.toggleCss(IS,J),Y.toggleCss(CS,Z),Y.toggleCss(bS,$),Y.toggleCss(yS,X)}isSingleCell(){let{rangeSvc:Q}=this;return this.rangeCount===1&&!!Q&&!Q.isMoreThanOneCell()}getHasChartRange(){let{rangeSvc:Q}=this;if(!this.rangeCount||!Q)return!1;let z=Q.getCellRanges();return z.length>0&&z.every((J)=>[CQ.DIMENSION,CQ.VALUE].includes(J.type))}updateRangeBordersIfRangeCount(){if(this.rangeCount>0)this.updateRangeBorders(),this.refreshRangeStyleAndHandle()}getRangeBorders(){let Q=this.beans.gos.get("enableRtl"),z=!1,J=!1,Z=!1,$=!1,{rangeSvc:X,beans:{visibleCols:Y},cellCtrl:{cellPosition:G}}=this,q=G.column,H=X.getCellRanges().filter((W)=>X.isCellInSpecificRange(G,W));if(!H.length)return{top:z,right:J,bottom:Z,left:$};let _,U;if(Q)_=Y.getColAfter(q),U=Y.getColBefore(q);else _=Y.getColBefore(q),U=Y.getColAfter(q);if(!_)$=!0;if(!U)J=!0;for(let W=0;W<H.length;W++){if(z&&J&&Z&&$)break;let B=H[W],E=X.getRangeStartRow(B),K=X.getRangeEndRow(B);if(!z&&l(E,G))z=!0;if(!Z&&l(K,G))Z=!0;if(!$&&_&&B.columns.indexOf(_)<0)$=!0;if(!J&&U&&B.columns.indexOf(U)<0)J=!0}return{top:z,right:J,bottom:Z,left:$}}refreshRangeStyleAndHandle(){let{context:Q}=this.beans;if(Q.isDestroyed())return;this.styleCellForRangeType();let z=this.getRangeForHandle();if(this.selectionHandle&&!z)this.selectionHandle=Q.destroyBean(this.selectionHandle);if(z)this.addSelectionHandle(z);this.refreshHandleColor(z),this.cellComp.toggleCss(vS,!!this.selectionHandle)}styleCellForRangeType(){if(this.hasChartRange){let{rangeSvc:Q}=this,z=Q.getCellRanges()[0],Z=z.type===CQ.DIMENSION&&Q.isCellInSpecificRange(this.cellCtrl.cellPosition,z);this.cellComp.toggleCss(XY,Z)}else this.cellComp.toggleCss(XY,!1),this.applyRangeColor(this.getRangeColorClass())}applyRangeColor(Q){if(this.rangeColorClass&&this.rangeColorClass!==Q)this.cellComp.toggleCss(this.rangeColorClass,!1),this.cellComp.toggleCss("ag-formula-range",!1);if(Q)this.cellComp.toggleCss(Q,!0),this.cellComp.toggleCss("ag-formula-range",Q.startsWith("ag-formula-range"));this.rangeColorClass=Q??null}getRangeColorClass(){let{rangeSvc:Q,rangeCount:z}=this;if(!Q||!z)return null;let J=Q.getCellRanges();for(let Z=J.length-1;Z>=0;Z--){let $=J[Z],X=$.colorClass;if(!X)continue;if(Q.isCellInSpecificRange(this.cellCtrl.cellPosition,$))return X}return null}refreshHandleColor(Q){let z=this.selectionHandle?.getGui?.(),J=Q?.colorClass??null;if(!z){this.handleColorClass=null;return}if(this.handleColorClass&&this.handleColorClass!==J)z.classList.remove(this.handleColorClass);if(J)z.classList.add(J);else if(this.handleColorClass)z.classList.remove(this.handleColorClass);this.handleColorClass=J??null}getRangeForHandle(){let{gos:Q,editSvc:z}=this.beans,J=this.rangeSvc,Z=J.getCellRanges(),$=Z.length;if(this.rangeCount<1||$<1)return null;let X=z?.isRangeSelectionEnabledWhileEditing(),Y=X?Z:[b(Z)];for(let G of Y){let{cellPosition:q,column:H}=this.cellCtrl,_=YY(Q)&&!H.isSuppressFillHandle(),U=xS(Q),B=!z?.isEditing(this.cellCtrl,{withOpenEditor:!0})&&(X||$===1&&(_||U));if(this.hasChartRange)B=G.type===CQ.VALUE;if(B&&G.endRow!=null&&J.isContiguousRange(G)&&J.isBottomRightCell(G,q))return G}return null}addSelectionHandle(Q){let{beans:z}=this,J=z.editSvc?.isRangeSelectionEnabledWhileEditing(),Z=Q.type,X=!J&&YY(z.gos)&&n(Z)?0:1;if(this.selectionHandle&&this.selectionHandle.getType()!==X)this.selectionHandle=z.context.destroyBean(this.selectionHandle);if(!this.selectionHandle){let Y=z.registry.createDynamicBean(X===0?"fillHandle":"rangeHandle",!1);if(Y)this.selectionHandle=z.context.createBean(Y)}this.selectionHandle?.refresh(this.cellCtrl,Q)}destroy(){this.unsetComp()}},NS=class extends j{constructor(Q){super();this.eContainer=Q}postConstruct(){let{beans:Q,gos:z,eContainer:J}=this,Z=Q.rangeSvc,$={eElement:J,onDragStart:Z.onDragStart.bind(Z),onDragStop:Z.onDragStop.bind(Z),onDragging:Z.onDragging.bind(Z)},X=Q.dragSvc,Y=X.addDragSource.bind(X,$),G=X.removeDragSource.bind(X,$);if(this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],()=>{if(u0(z))Y();else G()}),this.addDestroyFunc(G),u0(z))Y()}},gS=class extends j{constructor(Q,z){super();this.column=Q,this.eGui=z}postConstruct(){this.addManagedElementListeners(this.eGui,{click:(Q)=>Q&&this.onClick(Q)})}onClick(Q){this.beans.rangeSvc?.handleColumnSelection(this.column,Q)}},hS=class extends j{constructor(Q,z){super();this.column=Q,this.comp=z,this.columnMap=new Map,this.isActive=!1,this.resetColumnMap()}postConstruct(){this.addManagedPropertyListener("cellSelection",()=>{this.refreshActive()}),this.refreshActive(),this.setupRangeHeaderHighlight()}resetColumnMap(){this.columnMap.clear();let Q;if(this.column.isColumn)Q=[this.column];else Q=this.column.getDisplayedLeafColumns();for(let z of Q)this.columnMap.set(z,!1)}refreshActive(){let{gos:Q,rangeSvc:z}=this.beans,J=Q.get("cellSelection");this.isActive=!!(J&&z&&typeof J==="object"&&J.enableHeaderHighlight)}setupRangeHeaderHighlight(){let Q=this.onRangeSelectionChanged.bind(this);this.addManagedEventListeners({rangeSelectionChanged:Q,columnPinned:Q,columnMoved:Q,columnGroupOpened:Q}),Q()}onRangeSelectionChanged(){if(!this.isActive)return;this.resetColumnMap();let Q=this.beans.rangeSvc.getCellRanges(),z=!1,J=!0;for(let Z of Q){if(z)break;for(let $ of Z.columns)if(this.columnMap.has($))this.columnMap.set($,!0),z||(z=!0)}for(let Z of Array.from(this.columnMap.values()))if(Z===!1){J=!1;break}this.comp.toggleCss("ag-header-range-highlight",z&&J)}destroy(){super.destroy(),this.comp=null,this.column=null}},uS=class extends j{constructor(){super(...arguments);this.beanName="rangeSvc",this.rangeSelectionExtensions=[],this.cellRanges=[],this.bodyScrollListener=this.onBodyScroll.bind(this),this.dragging=!1,this.intersectionRange=!1,this.columnRangeSelectionCtx={}}wireBeans(Q){this.rowModel=Q.rowModel,this.dragSvc=Q.dragSvc,this.colModel=Q.colModel,this.visibleCols=Q.visibleCols,this.cellNavigation=Q.cellNavigation,this.ctrlsSvc=Q.ctrlsSvc}postConstruct(){let Q=this.onColumnsChanged.bind(this),z=()=>this.removeAllCellRanges(),J=this.refreshLastRangeStart.bind(this);this.addManagedEventListeners({newColumnsLoaded:Q,columnVisible:Q,columnValueChanged:Q,columnPivotModeChanged:z,columnRowGroupChanged:z,columnPivotChanged:z,columnGroupOpened:J,columnMoved:J,columnPinned:J}),this.ctrlsSvc.whenReady(this,(Z)=>{let $=Z.gridBodyCtrl;this.autoScrollService=new mZ({scrollContainer:$.eBodyViewport,scrollAxis:"xy",getVerticalPosition:()=>$.scrollFeature.getVScrollPosition().top,setVerticalPosition:(X)=>$.scrollFeature.setVerticalScrollPosition(X),getHorizontalPosition:()=>$.scrollFeature.getHScrollPosition().left,setHorizontalPosition:(X)=>$.scrollFeature.setHorizontalScrollPosition(X),shouldSkipVerticalScroll:()=>!V0(this.gos,"normal"),shouldSkipHorizontalScroll:()=>!$.scrollFeature.isHorizontalScrollShowing()})})}registerRangeSelectionExtension(Q){if(this.rangeSelectionExtensions.includes(Q))return;this.rangeSelectionExtensions.push(Q)}unregisterRangeSelectionExtension(Q){$0(this.rangeSelectionExtensions,Q)}shouldSuppressRangeSelection(Q){return this.rangeSelectionExtensions.some((z)=>z.shouldSuppressRangeSelection?.(Q))}shouldSkipColumn(Q){return this.rangeSelectionExtensions.some((z)=>z.shouldSkipColumn?.(Q))}isAllColumnsSelectionCell(Q){return this.rangeSelectionExtensions.some((z)=>z.isAllColumnsSelectionCell?.(Q))}isAllColumnsRange(Q,z){return this.rangeSelectionExtensions.some((J)=>J.isAllColumnsRange?.(Q,z))}updateSelectionModeForCell(Q){this.setSelectionMode(this.isAllColumnsSelectionCell(Q))}onDragStart(Q){let z=this.gos,J=Q.target;if(!u0(z)||q6(z,J)?.isSuppressMouseEvent(Q))return;if(this.shouldSuppressRangeSelection(J))return;let{shiftKey:Z}=Q,$=this.isMultiRange(Q),X=Z&&!!this.cellRanges?.length;if(!$&&(!X||T(b(this.cellRanges).type)))this.removeAllCellRanges(!0);let Y=this.dragSvc.startTarget;if(Y)this.updateValuesOnMove(Y);if(!this.lastCellHovered)return;if(this.dragging=!0,this.lastMouseEvent=Q,this.intersectionRange=$&&this.getCellRangeCount(this.lastCellHovered)>1,!X)this.setNewestRangeStartCell(this.lastCellHovered);if(this.cellRanges.length>0)this.draggingRange=b(this.cellRanges);else{let G={rowIndex:this.lastCellHovered.rowIndex,rowPinned:this.lastCellHovered.rowPinned},q=this.getColumnsFromModel([this.lastCellHovered.column]);if(!q?.length)return;this.draggingRange={startRow:G,endRow:G,columns:q,startColumn:this.newestRangeStartCell.column},this.cellRanges.push(this.draggingRange)}this.ctrlsSvc.getGridBodyCtrl().eBodyViewport.addEventListener("scroll",this.bodyScrollListener,{passive:!0}),this.dispatchChangedEvent(!0,!1,this.draggingRange.id)}onDragging(Q){let{dragging:z,lastCellHovered:J,newestRangeStartCell:Z,autoScrollService:$,cellHasChanged:X}=this;if(!z||!Q)return;this.updateValuesOnMove(Q.target),this.lastMouseEvent=Q;let Y=(B)=>J&&J.rowPinned===B&&Z.rowPinned===B,G=Y("top")||Y("bottom");if($.check(Q,G),!X||!J)return;let q=Z?.column,H=J?.column,_=this.calculateColumnsBetween(q,H);if(!_)return;let{rowIndex:U,rowPinned:W}=J;this.draggingRange.endRow={rowIndex:U,rowPinned:W},this.draggingRange.columns=_,this.dispatchChangedEvent(!1,!1,this.draggingRange.id)}onDragStop(){if(!this.dragging)return;let{id:Q}=this.draggingRange;if(this.autoScrollService.ensureCleared(),this.ctrlsSvc.getGridBodyCtrl().eBodyViewport.removeEventListener("scroll",this.bodyScrollListener),this.lastMouseEvent=null,this.dragging=!1,this.draggingRange=void 0,this.lastCellHovered=void 0,this.intersectionRange)this.intersectionRange=!1,this.intersectLastRange();this.dispatchChangedEvent(!1,!0,Q)}onColumnsChanged(){this.refreshLastRangeStart();let Q=this.visibleCols.allCols;for(let J of this.cellRanges){let Z=J.columns;if(J.columns=J.columns.filter((X)=>X.isVisible()&&Q.indexOf(X)!==-1),!X0(Z,J.columns))this.dispatchChangedEvent(!1,!0,J.id)}let z=this.cellRanges.length;if(this.cellRanges=this.cellRanges.filter((J)=>J.columns.length>0),z>this.cellRanges.length)this.dispatchChangedEvent(!1,!0)}refreshLastRangeStart(){let Q=b(this.cellRanges);if(!Q)return;this.refreshRangeStart(Q)}isContiguousRange(Q){let z=Q.columns;if(!z.length)return!1;let J=this.visibleCols.allCols,Z=z.map(($)=>J.indexOf($)).sort(($,X)=>$-X);return b(Z)-Z[0]+1===z.length}getRangeStartRow(Q){if(Q.startRow&&Q.endRow)return q0(Q.startRow,Q.endRow)?Q.startRow:Q.endRow;return{rowIndex:0,rowPinned:(this.beans.pinnedRowModel?.getPinnedTopRowCount()??0)>0?"top":null}}getRangeEndRow(Q){if(Q.startRow&&Q.endRow)return q0(Q.startRow,Q.endRow)?Q.endRow:Q.startRow;let z=this.beans.pinnedRowModel?.getPinnedBottomRowCount()??0;if(z>0)return{rowIndex:z-1,rowPinned:"bottom"};return{rowIndex:this.rowModel.getRowCount()-1,rowPinned:null}}getRangeRowCount(Q){let z=this.beans,J=this.getRangeStartRow(Q),Z=this.getRangeEndRow(Q),$=Q6(z,J);return Q6(z,Z)-$+1}handleCellMouseDown(Q,z){let J=Q.ctrlKey||Q.metaKey;this.handleCellSelectionInput(z,{target:Q.target,shiftKey:Q.shiftKey,isRightClick:u5(this.beans,Q),isMultiRange:this.isMultiRange(Q),isMultiKey:J,preventDefault:()=>Q.preventDefault()})}handleCellKeyboardSelect(Q,z){let J=Q.ctrlKey||Q.metaKey;this.handleCellSelectionInput(z,{target:Q.target,shiftKey:Q.shiftKey,isRightClick:!1,isMultiRange:this.isMultiRangeForKeyState(J),isMultiKey:J,preventDefault:()=>Q.preventDefault()})}handleCellSelectionInput(Q,z){let{target:J,shiftKey:Z,isRightClick:$,isMultiRange:X,isMultiKey:Y,preventDefault:G}=z;if(this.shouldSuppressRangeSelection(J))return;let q=this.isAllColumnsSelectionCell(Q);if(q)G();if(Z)return this.extendLatestRangeToCell(Q);if(q&&$)return;this.updateSelectionModeForCell(Q);let H=this.calculateColumnsBetween(Q.column,Q.column);if(!H)return;let _=q?this.findContainingRange({columns:H,startRow:Q,endRow:Q}):void 0;if(q&&!!_&&X&&Y&&_)this.removeRowFromAllColumnsRange(Q,_);else this.setRangeToCell(Q,X)}isMultiRange(Q){return this.isMultiRangeForKeyState(Q.ctrlKey||Q.metaKey)}isMultiRangeForKeyState(Q){let{editingWithRanges:z,allowMulti:J}=this.getMultiRangeContext();return z||(J?Q:!1)}getMultiRangeContext(){let{gos:Q,editSvc:z}=this.beans,J=!!z?.isEditing()&&!!z?.isRangeSelectionEnabledWhileEditing(),Z=H9(Q)&&!J;return{editingWithRanges:J,suppressMultiRanges:Z,allowMulti:!Z}}removeRowFromAllColumnsRange(Q,z){let{beans:J,cellRanges:Z}=this,$=K1(J),X=Gz(J),Y=this.getRangeStartRow(z),G=this.getRangeEndRow(z);if(!Y&&l($,Q))z2(z,L0(J,$),"top");else if(!G&&l(X,Q))z2(z,m0(J,X),"bottom");else if(l(Y,G))$0(Z,z);else if(l(Y,Q))z2(z,L0(J,Q),"top");else if(l(G,Q))z2(z,m0(J,Q),"bottom");else{let q=m0(J,Q),H=L0(J,Q);z.startRow=Y,z.endRow=q??void 0,Z.push({...z,startRow:H??void 0,endRow:G})}this.dispatchChangedEvent(!0,!0)}setRangeToCell(Q,z=!1){let{gos:J}=this;if(!u0(J))return;this.updateSelectionModeForCell(Q);let Z=this.calculateColumnsBetween(Q.column,Q.column);if(!Z)return;let{suppressMultiRanges:$}=this.getMultiRangeContext();if($||!z||n(this.cellRanges))this.removeAllCellRanges(!0);let X={rowIndex:Q.rowIndex,rowPinned:Q.rowPinned},Y={startRow:X,endRow:X,columns:Z,startColumn:Q.column},G=this.ensureRangeStartColumn(Y);if(!G)return;this.cellRanges.push(Y),this.setNewestRangeStartCell({...Q,column:G}),this.onDragStop(),this.dispatchChangedEvent(!0,!0)}getRangeLastColumn(Q){let z=Q.columns[0],J=b(Q.columns);return this.newestRangeStartCell?.column===z?J:z}extendRangeRowCountBy(Q,z){let{beans:J}=this,{startRow:Z,endRow:$}=Q;if(!Z||!$)return;let X=0,Y,G=q0($,Z);if(G)Y=Z;else Y=$;let q=z>0?L0:m0,H=Math.abs(z);while(X<H){let U=q(J,Y);if(!U)break;Y=U,X++}if(X!==H)return;let _={...Y,column:this.getRangeLastColumn(Q)};this.updateRangeRowBoundary({cellRange:Q,boundary:G?"start":"end",cellPosition:_})}extendRangeColumnCountBy(Q,z){let{columns:J}=Q;if(z===0)return;let Z=this.getColumnsFromModel();if(!Z)return;let $=this.ensureRangeStartColumn(Q);if(!$)return;let X=b(J),Y=$===J[0]?X:J[0];if(!X||!Y)return;let G=Z.indexOf($),q=Z.indexOf(Y),H=q<G;if(H)G=q;let U=J.length+z;if(U<=0)return;let W=[];for(let B=G;B<G+U;B++){let E=Z[B];if(!E)break;W.push(E)}if(W.length===U){if(H){let B=b(W);Q.startColumn=B,this.focusCellOnNewColumn(Q,B)}Q.columns=W,this.dispatchChangedEvent(!0,!0,Q.id)}}extendLatestRangeToCell(Q){if(this.isEmpty()||!this.newestRangeStartCell)return;let z=b(this.cellRanges);this.updateSelectionModeForCell(Q),this.updateRangeRowBoundary({cellRange:z,boundary:"end",cellPosition:Q})}extendRangeToCell(Q,z){if(!Q)return;this.updateSelectionModeForCell(z),this.updateRangeRowBoundary({cellRange:Q,boundary:"end",cellPosition:z})}updateRangeRowBoundary(Q){let{cellRange:z,boundary:J,cellPosition:Z,silent:$=!1}=Q,X=Z.column,Y=this.ensureRangeStartColumn(z);if(!Y)return;let G=this.calculateColumnsBetween(Y,X);if(!G||pS(z,Z))return;if(J==="start")this.focusCellOnNewRow(z,Z);if(z.columns=G,z[J==="start"?"startRow":"endRow"]={rowIndex:Z.rowIndex,rowPinned:Z.rowPinned},!$)this.dispatchChangedEvent(!0,!0,z.id)}getRangeEdgeColumns(Q){let z=this.visibleCols.allCols,J=Q.columns.map((Z)=>z.indexOf(Z)).filter((Z)=>Z>-1).sort((Z,$)=>Z-$);return{left:z[J[0]],right:z[b(J)]}}extendLatestRangeInDirection(Q){if(this.isEmpty()||!this.newestRangeStartCell)return;let z=Q.key,J=Q.ctrlKey||Q.metaKey,Z=b(this.cellRanges),$=this.newestRangeStartCell,X=Z.endRow.rowIndex,Y=Z.endRow.rowPinned,q={column:this.getRangeLastColumn(Z),rowIndex:X,rowPinned:Y},H=this.cellNavigation.getNextCellToFocus(z,q,J);if(!H)return;if(this.shouldSkipColumn(H.column))return;return this.setCellRange({rowStartIndex:$.rowIndex,rowStartPinned:$.rowPinned,rowEndIndex:H.rowIndex,rowEndPinned:H.rowPinned,columnStart:$.column,columnEnd:H.column}),H}setCellRange(Q){if(!u0(this.gos))return;this.removeAllCellRanges(!0),this.addCellRange(Q)}setCellRanges(Q){if(X0(this.cellRanges,Q))return;if(!this.verifyCellRanges(this.gos))return;this.setSelectionMode(!1),this.removeAllCellRanges(!0);let z=this.getColumnsFromModel(this.visibleCols.allCols)??[],J=!1;for(let Z of Q){if(Z.columns&&Z.startRow){let $=this.getColumnsFromModel(Z.columns);if(!$||$.length===0)continue;Z.columns=$;let{startRow:X}=Z;this.setNewestRangeStartCell({rowIndex:X.rowIndex,rowPinned:X.rowPinned,column:Z.columns[0]})}if(!J&&z.length>0&&this.isAllColumnsRange(Z,z))J=!0;this.cellRanges.push(Z)}this.setSelectionMode(J),this.dispatchChangedEvent(!1,!0)}clearCellRangeCellValues(Q){let{beans:z,eventSvc:J}=this,{cellEventSource:Z="rangeSvc",dispatchWrapperEvents:$,wrapperEventSource:X="deleteKey",restoreSourceInBatch:Y}=Q,{cellRanges:G}=Q;if($)J.dispatchEvent({type:"cellSelectionDeleteStart",source:X}),J.dispatchEvent({type:"rangeDeleteStart",source:X});if(!G)G=this.cellRanges;let{valueSvc:q,editSvc:H}=z,_=!!H?.isBatchEditing(),{changeDetectionSvc:U}=z;U?.beginDeferred();try{this.forEachEditableCellInRanges(G,(W,B)=>{if(Y&&_){H?.batchResetToSourceValue({rowNode:W,column:B});return}let E=q.getDeleteValue(B,W);W.setDataValue(B,E,Z)})}finally{U?.endDeferred()}if($)J.dispatchEvent({type:"cellSelectionDeleteEnd",source:X}),J.dispatchEvent({type:"rangeDeleteEnd",source:X})}createCellRangeFromCellRangeParams(Q){return this.createPartialCellRangeFromRangeParams(Q,!1)}createPartialCellRangeFromRangeParams(Q,z){let{columns:J,columnStart:Z,columnEnd:$,rowStartIndex:X,rowStartPinned:Y,rowEndIndex:G,rowEndPinned:q}=Q,H=this.getColumnsFromParams(J,Z,$);if(!H||!z&&H.columns.length===0)return;let{columns:_,startsOnTheRight:U}=H,W=GY(X,Y),B=GY(G,q);return{startRow:W,endRow:B,columns:_,startColumn:this.getColumnFromModel(Z)??(U?b(_):_[0])}}addCellRange(Q){let z=this.gos;if(!u0(z)||!this.verifyCellRanges(z))return;this.setSelectionMode(!1);let J=this.createCellRangeFromCellRangeParams(Q);if(J){if(J.startRow)this.setNewestRangeStartCell({rowIndex:J.startRow.rowIndex,rowPinned:J.startRow.rowPinned,column:J.startColumn});return this.cellRanges.push(J),this.dispatchChangedEvent(!1,!0,J.id),J}}getCellRanges(){return this.cellRanges}isEmpty(){return this.cellRanges.length===0}isMoreThanOneCell(){let Q=this.cellRanges.length;if(Q===0)return!1;if(Q>1)return!0;let z=this.cellRanges[0],J=this.getRangeStartRow(z),Z=this.getRangeEndRow(z);return J.rowPinned!==Z.rowPinned||J.rowIndex!==Z.rowIndex||z.columns.length!==1}areAllRangesAbleToMerge(){let Q=new Map;if(this.cellRanges.length<=1)return!0;for(let Z of this.cellRanges)this.forEachRowInRange(Z,($)=>{let X=`${$.rowPinned||"normal"}_${$.rowIndex}`,Y=Q.get(X),G=Z.columns.map((q)=>q.getId());if(Y){let q=G.filter((H)=>Y.indexOf(H)===-1);Y.push(...q)}else Q.set(X,G)});let J;for(let Z of Q.values()){let $=Z.sort().join();if(J===void 0){J=$;continue}if(J!==$)return!1}return!0}removeAllCellRanges(Q){if(this.isEmpty())return;if(this.onDragStop(),this.cellRanges.length=0,!Q)this.dispatchChangedEvent(!1,!0)}isCellInAnyRange(Q){return this.getCellRangeCount(Q)>0}isCellInSpecificRange(Q,z){let J=z.columns?.includes(Q.column),Z=this.isRowInRange(Q,z);return J&&Z}isColumnInAnyRange(Q){let{beans:z}=this,J=K1(z),Z=Gz(z);if(!J||!Z)return!1;let $=Q.isColumn?[Q]:Q.getDisplayedLeafColumns();return this.findContainingRange({columns:$,startRow:J,endRow:Z},!0)!=null}findContainingRange({columns:Q,startRow:z,endRow:J},Z=!1){let $=this.cellRanges;for(let X=$.length-1;X>=0;X--){let Y=$[X],G=Q.every((H)=>Y.columns.includes(H)),q=!1;if(Z)q=l(Y.startRow,z)&&l(Y.endRow,J);else{let H=z&&this.isRowInRange(z,Y),_=J&&this.isRowInRange(J,Y);q=!!H&&!!_}if(G&&q)return Y}}isBottomRightCell(Q,z){let J=this.visibleCols.allCols,Z=Q.columns.map((H)=>J.indexOf(H)).sort((H,_)=>H-_),{startRow:$,endRow:X}=Q,Y=q0($,X)?X:$,G=J.indexOf(z.column)===b(Z),q=z.rowIndex===Y.rowIndex&&RQ(z.rowPinned)===RQ(Y.rowPinned);return G&&q}getCellRangeCount(Q){return this.cellRanges.filter((z)=>this.isCellInSpecificRange(Q,z)).length}isRowInRange(Q,z){let J=this.getRangeStartRow(z),Z=this.getRangeEndRow(z),$=l(Q,J),X=l(Q,Z);if($||X)return!0;let Y=!q0(Q,J),G=q0(Q,Z);return Y&&G}intersectLastRange(Q){let{editingWithRanges:z,suppressMultiRanges:J}=this.getMultiRangeContext();if(z||J||Q&&this.dragging||this.isEmpty())return;let Z=b(this.cellRanges),$=this.getRangeStartRow(Z),X=this.getRangeEndRow(Z),Y=[];for(let G of this.cellRanges.slice(0,-1)){let q=this.getRangeStartRow(G),H=this.getRangeEndRow(G),_=G.columns,U=_.filter((B)=>Z.columns.indexOf(B)===-1);if(U.length===_.length){Y.push(G);continue}if(q0(X,q)||q0(H,$)){Y.push(G);continue}let W=Y.length;if(q0(q,$)){let B={columns:[..._],startColumn:Z.startColumn,startRow:{...q},endRow:m0(this.beans,$)};Y.push(B)}if(U.length>0){let B={columns:U,startColumn:U.includes(Z.startColumn)?Z.startColumn:U[0],startRow:mS([{...$},{...q}]),endRow:cS([{...X},{...H}])};Y.push(B)}if(q0(X,H))Y.push({columns:[..._],startColumn:Z.startColumn,startRow:L0(this.beans,X),endRow:{...H}});if(Y.length-W===1)Y[Y.length-1].id=G.id}if(this.cellRanges=Y,Q)this.dispatchChangedEvent(!1,!0)}createRangeHighlightFeature(Q,z,J){Q.createManagedBean(new hS(z,J))}setSelectionMode(Q){this.selectionMode=Q?1:0}refreshRangeStart(Q){let{columns:z}=Q,J=this.ensureRangeStartColumn(Q);if(!J)return;let Z=(q,H)=>{let _=Q.columns.filter((U)=>U!==q);if(q)Q.startColumn=q,Q.columns=H?[q,..._]:[..._,q];else Q.columns=_},{left:$,right:X}=this.getRangeEdgeColumns(Q);if(J===z[0]&&J!==$){Z($,!0);return}if(J===b(z)&&J===X)Z(X,!1)}setNewestRangeStartCell(Q){this.newestRangeStartCell=Q}getColumnsFromParams(Q,z,J){let Z=!Q&&!z&&!J,$,X=!1;if(Z||Q)$=this.getColumnsFromModel(Z?void 0:Q);else if(z&&J){if($=this.calculateColumnsBetween(z,J),$?.length)X=$[0]!==this.getColumnFromModel(z)}return $?{columns:$,startsOnTheRight:X}:void 0}verifyCellRanges(Q){let{suppressMultiRanges:z}=this.getMultiRangeContext(),J=q9(Q)&&z&&this.cellRanges.length>1;if(J)R(93);return!J}forEachRowInRange(Q,z){let J=this.getRangeStartRow(Q),Z=this.getRangeEndRow(Q),$=J;while($){if(z($),l($,Z))break;$=L0(this.beans,$)}}forEachEditableCellInRanges(Q,z){let{beans:J}=this;for(let Z of Q)this.forEachRowInRange(Z,($)=>{let X=M0(J,$);if(!X)return;for(let Y=0;Y<Z.columns.length;Y++){let G=this.getColumnFromModel(Z.columns[Y]);if(!G?.isCellEditable(X))continue;z(X,G)}})}onBodyScroll(){if(this.dragging&&this.lastMouseEvent)this.onDragging(this.lastMouseEvent)}updateValuesOnMove(Q){let z=EJ(this.gos,Q),J=z?.cellPosition;if(this.cellHasChanged=!1,!J||this.lastCellHovered&&f1(J,this.lastCellHovered))return;let Z=this.beans.editSvc;if(Z?.isEditing(z,{withOpenEditor:!0})&&!Z?.isRangeSelectionEnabledWhileEditing()){this.dragSvc.cancelDrag(Q);return}if(this.lastCellHovered)this.cellHasChanged=!0;this.lastCellHovered=J}dispatchChangedEvent(Q,z,J){this.eventSvc.dispatchEvent({type:"cellSelectionChanged",started:Q,finished:z,id:J}),this.eventSvc.dispatchEvent({type:"rangeSelectionChanged",started:Q,finished:z,id:J})}getColumnFromModel(Q){return typeof Q==="string"?this.colModel.getCol(Q):Q}getColumnsFromModel(Q){let{visibleCols:z,selectionMode:J}=this;if(!Q||J===1)Q=z.allCols;let Z=[];for(let $ of Q){let X=this.getColumnFromModel($);if(!X||this.shouldSkipColumn(X))continue;Z.push(X)}return Z.length?Z:void 0}ensureRangeStartColumn(Q){let z=this.getRangeStartColumn(Q.columns,Q.startColumn);if(!z)return;return Q.startColumn=z,z}getRangeStartColumn(Q,z){let J=Q[0],Z=b(Q);if(!J||!Z)return;if(!z||Q.includes(z))return z??J;let $=this.visibleCols.allCols,X=$.indexOf(z),Y=$.indexOf(J),G=$.indexOf(Z);if(X<0||Y<0||G<0)return J;return X-Y<=G-X?J:Z}calculateColumnsBetween(Q,z){let J=this.visibleCols.allCols,Z=this.getColumnFromModel(Q),$=this.getColumnFromModel(z),X=Z===$,Y=J.indexOf(Z);if(Y<0){R(178,{colId:Z.getId()});return}let G=X?Y:J.indexOf($);if(G<0){R(178,{colId:$.getId()});return}if(X||this.selectionMode===1)return this.getColumnsFromModel([Z]);let q=Math.min(Y,G),H=q===Y?G:Y;return this.getColumnsFromModel(J.slice(q,H+1))}focusCellOnNewColumn(Q,z){let{focusSvc:J}=this.beans,Z=J.getFocusedCell();if(!Z)return;if(this.isCellInSpecificRange(Z,Q))J.setFocusedCell({...Z,column:z,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}focusCellOnNewRow(Q,z){let{focusSvc:J}=this.beans,Z=J.getFocusedCell();if(!Z)return;if(this.isCellInSpecificRange(Z,Q))J.setFocusedCell({...z,column:Z.column,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}createDragListenerFeature(Q){return new NS(Q)}createCellRangeFeature(Q){return new wS(this.beans,Q)}createHeaderGroupCellMouseListenerFeature(Q,z){return new gS(Q,z)}handleColumnSelection(Q,z){let{gos:J,beans:Z,columnRangeSelectionCtx:$,cellRanges:X}=this;if(!Zz(J))return;let{suppressMultiRanges:Y,editingWithRanges:G}=this.getMultiRangeContext(),q=X.length>0,H=z.ctrlKey||z.metaKey,_=!G||H,U=K1(Z),W=Gz(Z);if(!U||!W)return;if(z.key===V.ENTER)z.preventDefault();if(z.shiftKey){let E=$.root;if(!E)return;let K=Q.isColumn?Q:b(Q.getLeafColumns()),L=this.findContainingRange({columns:[E],startRow:U,endRow:W},!0);if(!L){$0(X,$.lastCellRange),this.selectColumns(this.calculateColumnsBetween(E,K),U,W);return}this.updateRangeRowBoundary({cellRange:L,boundary:"end",cellPosition:{column:K,...W}});return}if(q&&(Y||!H&&!G))this.removeAllCellRanges(!0);let B=(E,K)=>{let L=this.findContainingRange({columns:E,startRow:U,endRow:W},!0);if(L&&_)this.deselectColumnsFromRange(L,E);else{let F=this.selectColumns(E,U,W);if(F)$.lastCellRange=F}$.root=K};if(Q.isColumn)B([Q],Q);else{let E=Q.getDisplayedLeafColumns();B(E,E[0])}}deselectColumnsFromRange(Q,z){if(JJ(Q.columns,z),z.includes(Q.startColumn))Q.startColumn=Q.columns[0];if(Q.columns.length===0)$0(this.cellRanges,Q);this.dispatchChangedEvent(!0,!0)}selectColumns(Q,z,J){return this.addCellRange({columns:Q,columnStart:Q[0],columnEnd:b(Q),rowStartIndex:z.rowIndex,rowStartPinned:z.rowPinned,rowEndIndex:J.rowIndex,rowEndPinned:J.rowPinned})}};function GY(Q,z){return Q!=null?{rowIndex:Q,rowPinned:z}:void 0}function mS(Q){let z;for(let J of Q)if(z===void 0||q0(z,J))z=J;return z}function cS(Q){let z;for(let J of Q)if(z===void 0||q0(J,z))z=J;return z}function pS(Q,z){let{startRow:J,endRow:Z}=Q,$=q0(J,Z)?Z:J,X=z.rowIndex===$.rowIndex&&z.rowPinned===$.rowPinned,Y=Q.columns[0],G=b(Q.columns),q=Q.startColumn===Y?G:Y;return z.column===q&&X}function z2(Q,z,J){let Z;if(J==="top")Z=!Q.startRow||!Q.endRow||q0(Q.startRow,Q.endRow)?"startRow":"endRow";else Z=!Q.startRow||!Q.endRow||q0(Q.startRow,Q.endRow)?"endRow":"startRow";Q[Z]=z??void 0}var M4={moduleName:"CellSelection",version:J0,beans:[uS],dynamicBeans:{fillHandle:AS,rangeHandle:jS},apiFunctions:{getCellRanges:SS,addCellRange:OS,clearRangeSelection:$Y,clearCellSelection:$Y},dependsOn:[I0,iz,cZ],css:[RS]};function iS(Q){return Q.colModel.isPivotMode()}function nS(Q,z,J){return Q.pivotResultCols?.lookupPivotResultCol(z,J)??null}function dS(Q,z){Q.valueColsSvc?.setColumns(z,"api")}function tS(Q){return Q.valueColsSvc?.columns??[]}function rS(Q,z){Q.valueColsSvc?.removeColumns(z,"api")}function sS(Q,z){Q.valueColsSvc?.addColumns(z,"api")}function lS(Q,z){Q.pivotColsSvc?.setColumns(z,"api")}function aS(Q,z){Q.pivotColsSvc?.removeColumns(z,"api")}function oS(Q,z){Q.pivotColsSvc?.addColumns(z,"api")}function eS(Q){return Q.pivotColsSvc?.columns??[]}function QO(Q,z){Q.pivotResultCols?.setPivotResultCols(z,"api")}function zO(Q){let z=Q.pivotResultCols?.getPivotResultCols();return z?z.list:null}var qY="PivotRowTotal_",JO=({headerName:Q},{headerName:z})=>{if(Q&&!z)return 1;else if(!Q&&z)return-1;else if(!Q&&!z)return 0;if(Q<z)return-1;else if(Q>z)return 1;else return 0},ZO=(Q)=>(z,J)=>Q(z.headerName,J.headerName),$O=class extends j{constructor(){super(...arguments);this.beanName="pivotColDefSvc"}wireBeans(Q){this.colModel=Q.colModel,this.pivotColsSvc=Q.pivotColsSvc,this.valueColsSvc=Q.valueColsSvc,this.colNames=Q.colNames}postConstruct(){let Q=()=>this.gos.get("serverSidePivotResultFieldSeparator")??"_";this.fieldSeparator=Q(),this.addManagedPropertyListener("serverSidePivotResultFieldSeparator",()=>{this.fieldSeparator=Q()});let z=()=>this.gos.get("pivotDefaultExpanded");this.pivotDefaultExpanded=z(),this.addManagedPropertyListener("pivotDefaultExpanded",()=>{this.pivotDefaultExpanded=z()})}createPivotColumnDefs(Q){let z=this.createPivotColumnsFromUniqueValues(Q);function J($,X=[]){return $.forEach((Y)=>{if(Y.children!==void 0)J(Y.children,X);else X.push(Y)}),X}let Z=J(z);return this.addRowGroupTotals(z,Z),this.addExpandablePivotGroups(z,Z),this.addPivotTotalsToGroups(z,Z),z}createPivotColumnsFromUniqueValues(Q){let z=this.pivotColsSvc?.columns??[],J=z.length;return this.recursivelyBuildGroup(0,Q,[],J,z)}recursivelyBuildGroup(Q,z,J,Z,$){if(Q>=Z)return this.buildMeasureCols(J);let{pivotComparator:X}=$[Q].getColDef(),Y=X?ZO(X):JO,G=this.valueColsSvc?.columns;if(G?.length===1&&this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&Q===Z-1){let H=[];for(let _ of z.keys()){let U=[...J,_],W=this.createColDef(G[0],_,U);W.columnGroupShow="open",H.push(W)}return H.sort(Y),H}let q=[];for(let H of z.keys()){let _=this.pivotDefaultExpanded===-1||Q<this.pivotDefaultExpanded,U=[...J,H];q.push({children:this.recursivelyBuildGroup(Q+1,z.get(H),U,Z,$),headerName:H,pivotKeys:U,columnGroupShow:"open",openByDefault:_,groupId:this.generateColumnGroupId(U)})}return q.sort(Y),q}buildMeasureCols(Q){let z=this.valueColsSvc?.columns??[];if(z.length===0)return[this.createColDef(null,"-",Q)];return z.map((J)=>{let Z=this.colNames.getDisplayNameForColumn(J,"header"),$=this.createColDef(J,Z,Q);return $.columnGroupShow="open",$})}addExpandablePivotGroups(Q,z){let J=this.gos.get("suppressExpandablePivotGroups");if(J||this.gos.get("pivotColumnGroupTotals"))return;let Z=($,X,Y)=>{if("children"in $){let{valueColsSvc:H}=this,{columns:_=[]}=H??{},U=new Map;$.children.forEach((E)=>{Z(E,X,U)});let W=!$.children.some((E)=>E.children),B=W&&_.length===1&&this.gos.get("removePivotHeaderRowWhenSingleValueColumn");for(let E of _){let K=this.colNames.getDisplayNameForColumn(E,"header"),L=this.createColDef(E,K,$.pivotKeys);if(L.pivotTotalColumnIds=U.get(E.getColId()),L.columnGroupShow=!J?"closed":"open",L.aggFunc=E.getAggFunc(),!W||B)$.children.push(L),X.push(L)}this.merge(Y,U);return}if(!$.pivotValueColumn)return;let G=$.pivotValueColumn.getColId();if(Y.has(G))Y.get(G).push($.colId);else Y.set(G,[$.colId])};Q.forEach(($)=>{Z($,z,new Map)})}addPivotTotalsToGroups(Q,z){if(!this.gos.get("pivotColumnGroupTotals"))return;let J=this.gos.get("pivotColumnGroupTotals")==="after",Z=this.valueColsSvc?.columns,$=Z?.map((X)=>X.getAggFunc());if(!$||$.length<1||!this.sameAggFuncs($))return;if(Z){let X=Z[0];Q.forEach((Y)=>{this.recursivelyAddPivotTotal(Y,z,X,J)})}}recursivelyAddPivotTotal(Q,z,J,Z){let $=Q;if(!$.children){let Y=Q;return Y.colId?[Y.colId]:null}let X=[];if($.children.forEach((Y)=>{let G=this.recursivelyAddPivotTotal(Y,z,J,Z);if(G)X=X.concat(G)}),$.children.length>1){let G=this.getLocaleTextFunc()("pivotColumnGroupTotals","Total"),q=this.createColDef(J,G,Q.pivotKeys,!0);q.pivotTotalColumnIds=X,q.aggFunc=J.getAggFunc(),q.columnGroupShow=this.gos.get("suppressExpandablePivotGroups")?"open":void 0;let H=Q.children;if(Z)H.push(q);else H.unshift(q);z.push(q)}return X}addRowGroupTotals(Q,z){if(!this.gos.get("pivotRowTotals"))return;let J=this.gos.get("pivotRowTotals")==="after",$=(this.valueColsSvc?.columns??[]).slice();if(!J)$.reverse();let X=$.length>1||!this.gos.get("removePivotHeaderRowWhenSingleValueColumn");for(let Y=0;Y<$.length;Y++){let G=$[Y],q=this.colNames.getDisplayNameForColumn(G,"header"),H=this.createColDef(G,q,[]),_=[];for(let W=0;W<z.length;W++){let B=z[W];if(B.pivotValueColumn===G)_.push(B.colId)}H.pivotTotalColumnIds=_,H.colId=qY+H.colId;let U=X?{children:[H],pivotKeys:[],groupId:`${qY}_pivotGroup_${G.getColId()}`}:H;if(z.push(H),J)Q.push(U);else Q.unshift(U)}}recreateColDef(Q){let{pivotValueColumn:z,headerName:J,pivotKeys:Z,pivotTotalColumnIds:$,columnGroupShow:X,colId:Y,valueGetter:G,aggFunc:q}=Q;if(!z)return Q;let H=this.createColDef(z,J,Z,!!$);return H.columnGroupShow=X,H.colId=Y,H.valueGetter=G,H.aggFunc=q,H.pivotTotalColumnIds=$,this.gos.get("processPivotResultColDef")?.(H),H}createColDef(Q,z,J,Z=!1){let $={};if(Q){let X=Q.getColDef();Object.assign($,X),$.hide=!1}if($.headerName=z,$.colId=this.generateColumnId(J||[],Q&&!Z?Q.getColId():""),$.field=$.colId,$.valueGetter=(X)=>X.data?.[X.colDef.field],$.pivotKeys=J,$.pivotValueColumn=Q,$.filter===!0)$.filter="agNumberColumnFilter";return $}sameAggFuncs(Q){if(Q.length==1)return!0;for(let z=1;z<Q.length;z++)if(Q[z]!==Q[0])return!1;return!0}merge(Q,z){z.forEach((J,Z)=>{let X=[...Q.has(Z)?Q.get(Z):[],...J];Q.set(Z,X)})}generateColumnGroupId(Q){return`pivotGroup_${(this.pivotColsSvc?.columns??[]).map((J)=>J.getColId()).join("-")}_${Q.join("-")}`}generateColumnId(Q,z){return`pivot_${(this.pivotColsSvc?.columns??[]).map((Z)=>Z.getColId()).join("-")}_${Q.join("-")}_${z}`}createColDefsFromFields(Q){let z=new Map;for(let $=0;$<Q.length;$++){let Y=Q[$].split(this.fieldSeparator),G=z;for(let q=0;q<Y.length;q++){let H=Y[q],_=G.get(H);if(!_)_=new Map,G.set(H,_);G=_}}let J=($,X,Y,G)=>{let q=[];for(let[U,W]of Y){let B=J(`${$}${this.fieldSeparator}${U}`,U,W,G+1);q.push(B)}if(q.length===0){let U=this.colModel.getColDefCol(X);if(U){let B=this.colNames.getDisplayNameForColumn(U,"header")??X,E=this.createColDef(U,B,void 0,!1);return E.colId=$,E.aggFunc=U.getAggFunc(),E.valueGetter=(K)=>K.data?.[$],E}return{colId:$,headerName:X,valueGetter:(B)=>B.data?.[$]}}if(this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&q.length===1&&"colId"in q[0])return q[0].headerName=X,q[0];return{openByDefault:this.pivotDefaultExpanded===-1||G<this.pivotDefaultExpanded,groupId:$,headerName:X,children:q}},Z=[];for(let[$,X]of z){let Y=J($,$,X,0);Z.push(Y)}return Z}},XO=class extends j{constructor(){super(...arguments);this.beanName="pivotResultCols"}wireBeans(Q){this.colModel=Q.colModel,this.visibleCols=Q.visibleCols}destroy(){ZQ(this.beans,this.pivotResultCols?.tree),super.destroy()}isPivotResultColsPresent(){return this.pivotResultCols!=null}lookupPivotResultCol(Q,z){if(this.pivotResultCols==null)return null;let J=this.colModel.getColDefCol(z),Z=null;for(let $ of this.pivotResultCols.list){let X=$.getColDef().pivotKeys,Y=$.getColDef().pivotValueColumn;if(X0(X,Q)&&Y===J)Z=$}return Z}getPivotResultCols(){return this.pivotResultCols}getPivotResultCol(Q){if(!this.pivotResultCols)return null;return this.colModel.getColFromCollection(Q,this.pivotResultCols)}getAggregationOrderedList(){let Q=this.aggOrderedList;if(Q!==void 0)return Q;let z=this.pivotResultCols?.list;if(!z||z.length===0)return this.aggOrderedList=null,null;let J=!1;for(let Z=0;Z<z.length;++Z)if(z[Z].getColDef().pivotTotalColumnIds!=null){J=!0;break}if(!J)Q=z;else{let Z=[],$=[];for(let X=0;X<z.length;++X){let Y=z[X];if(Y.getColDef().pivotTotalColumnIds!=null)$.push(Y);else Z.push(Y)}Q=Z.concat($)}return this.aggOrderedList=Q,Q}setPivotResultCols(Q,z){if(this.aggOrderedList=void 0,!this.colModel.ready)return;if(Q==null&&this.pivotResultCols==null)return;if(Q){this.processPivotResultColDef(Q);let Z=(z==="api"?p5:E9)(this.beans,Q,!1,this.pivotResultCols?.tree||this.previousPivotResultCols||void 0,z);ZQ(this.beans,this.pivotResultCols?.tree,Z.columnTree);let{columnTree:$,treeDepth:X}=Z,Y=CZ($),G={};this.pivotResultCols={tree:$,treeDepth:X,list:Y,map:G};for(let H of this.pivotResultCols.list)this.pivotResultCols.map[H.getId()]=H;let q=!!this.previousPivotResultCols;this.previousPivotResultCols=null,this.colModel.refreshCols(!q,z)}else this.previousPivotResultCols=this.pivotResultCols?this.pivotResultCols.tree:null,this.pivotResultCols=null,this.colModel.refreshCols(!1,z);this.visibleCols.refresh(z)}processPivotResultColDef(Q){let z=this.gos.get("processPivotResultColDef"),J=this.gos.get("processPivotResultColGroupDef");if(!z&&!J)return;let Z=($)=>{$.forEach((X)=>{if(T(X.children)){let G=X;if(J)J(G);Z(G.children)}else{let G=X;if(z)z(G)}})};if(Q)Z(Q)}},HY="Exceeded maximum allowed pivot column count.",Y2=(Q)=>{let z={};return Q.forEach((J,Z)=>z[Z]=J instanceof Map?Y2(J):J),z},YO=class extends j{constructor(){super(...arguments);this.beanName="pivotStage",this.step="pivot",this.refreshProps=["removePivotHeaderRowWhenSingleValueColumn","pivotRowTotals","pivotColumnGroupTotals","suppressExpandablePivotGroups"],this.uniqueValues=new Map,this.lastTimeFailed=!1,this.maxUniqueValues=-1,this.currentUniqueCount=0}wireBeans(Q){this.valueSvc=Q.valueSvc,this.colModel=Q.colModel,this.pivotResultCols=Q.pivotResultCols,this.rowGroupColsSvc=Q.rowGroupColsSvc,this.valueColsSvc=Q.valueColsSvc,this.pivotColsSvc=Q.pivotColsSvc,this.pivotColDefSvc=Q.pivotColDefSvc}execute(Q){if(this.colModel.isPivotActive())return this.executePivotOn(Q);else return this.executePivotOff()}executePivotOff(){if(this.aggregationColumnsHashLastTime=null,this.uniqueValues=new Map,this.pivotResultCols.isPivotResultColsPresent())return this.pivotResultCols.setPivotResultCols(null,"rowModelUpdated"),!0;return!1}executePivotOn(Q){let z=this.valueColsSvc?.columns.length??1,J=this.gos.get("pivotMaxGeneratedColumns");this.maxUniqueValues=J===-1?-1:J/z;let Z;try{Z=this.bucketUpRowNodes(Q)}catch(F){if(F.message===HY)return this.pivotResultCols.setPivotResultCols([],"rowModelUpdated"),this.eventSvc.dispatchEvent({type:"pivotMaxColumnsExceeded",message:F.message}),this.lastTimeFailed=!0,!1;throw F}let $=this.setUniqueValues(Z),X=this.valueColsSvc?.columns??[],Y=X.map((F)=>`${F.getId()}-${F.getColDef().headerName}`).join("#"),G=X.map((F)=>F.getAggFunc().toString()).join("#"),q=this.aggregationColumnsHashLastTime!==Y,H=this.aggregationFuncsHashLastTime!==G;this.aggregationColumnsHashLastTime=Y,this.aggregationFuncsHashLastTime=G;let _=(this.rowGroupColsSvc?.columns??[]).map((F)=>F.getId()).join("#"),U=_!==this.groupColumnsHashLastTime;this.groupColumnsHashLastTime=_;let W=this.gos.get("pivotRowTotals"),B=this.gos.get("pivotColumnGroupTotals"),E=this.gos.get("suppressExpandablePivotGroups"),K=this.gos.get("removePivotHeaderRowWhenSingleValueColumn"),L=W!==this.pivotRowTotalsLastTime||B!==this.pivotColumnGroupTotalsLastTime||E!==this.suppressExpandablePivotGroupsLastTime||K!==this.removePivotHeaderRowWhenSingleValueColumnLastTime;if(this.pivotRowTotalsLastTime=W,this.pivotColumnGroupTotalsLastTime=B,this.suppressExpandablePivotGroupsLastTime=E,this.removePivotHeaderRowWhenSingleValueColumnLastTime=K,this.lastTimeFailed||$||q||U||H||L){let F=this.pivotColDefSvc.createPivotColumnDefs(this.uniqueValues);return this.pivotResultCols.setPivotResultCols(F,"rowModelUpdated"),this.lastTimeFailed=!1,!0}return this.lastTimeFailed=!1,!1}setUniqueValues(Q){if(!DZ(Y2(this.uniqueValues),Y2(Q)))return this.uniqueValues=Q,!0;return!1}bucketUpRowNodes(Q){this.currentUniqueCount=0;let z=new Map;A0(this.beans.rowModel.rootNode,this.beans.rowModel.hierarchical,Q,(Z)=>{if(Z.leafGroup)Z.childrenMapped=null});let J=(Z)=>{if(Z.leafGroup)this.bucketRowNode(Z,z);else{let $=Z.childrenAfterFilter;if($)for(let X=0,Y=$.length;X<Y;++X)J($[X])}};return J(this.beans.rowModel.rootNode),z}bucketRowNode(Q,z){let J=this.pivotColsSvc?.columns;if(J?.length===0)Q.childrenMapped=null;else Q.childrenMapped=Y2(this.bucketChildren(Q.childrenAfterFilter,J,0,z));if(Q.sibling)Q.sibling.childrenMapped=Q.childrenMapped}bucketChildren(Q,z=[],J,Z){let $=new Map,X=z[J],Y=this.maxUniqueValues!==-1;for(let q=0,H=Q.length;q<H;++q){let _=Q[q],U=this.valueSvc.getKeyForNode(X,_);if(n(U))U="";if(!Z.get(U)){this.currentUniqueCount+=1,Z.set(U,new Map);let W=this.currentUniqueCount>this.maxUniqueValues;if(Y&&W)throw Error(HY)}if(!$.has(U))$.set(U,[]);$.get(U).push(_)}if(J===z.length-1)return $;let G=new Map;for(let q of $.keys())G.set(q,this.bucketChildren($.get(q),z,J+1,Z.get(q)));return G}},GO={moduleName:"SharedPivot",version:J0,beans:[XO,$O,q4],apiFunctions:{isPivotMode:iS,getPivotResultColumn:nS,setValueColumns:dS,getValueColumns:tS,removeValueColumns:rS,addValueColumns:sS,setPivotColumns:lS,removePivotColumns:aS,addPivotColumns:oS,getPivotColumns:eS,setPivotResultColumns:QO,getPivotResultColumns:zO},dependsOn:[E4,E6]},k4={moduleName:"Pivot",version:J0,rowModels:["clientSide"],beans:[YO],dependsOn:[GO,zS,F2]};var ub=String.fromCodePoint(31,41150,8291);var V4=[{symbol:"%",fixity:"postfix",precedence:100},{symbol:"-",fixity:"prefix",precedence:90},{symbol:"+",fixity:"prefix",precedence:90},{symbol:"^",fixity:"infix",precedence:80,associativity:"right"},{symbol:"*",fixity:"infix",precedence:70,associativity:"left",isAssociative:!0},{symbol:"/",fixity:"infix",precedence:70,associativity:"left"},{symbol:"+",fixity:"infix",precedence:60,associativity:"left",isAssociative:!0},{symbol:"-",fixity:"infix",precedence:60,associativity:"left"},{symbol:"&",fixity:"infix",precedence:55,associativity:"left",isAssociative:!0},{symbol:"=",fixity:"infix",precedence:50,associativity:"left"},{symbol:"<>",fixity:"infix",precedence:50,associativity:"left"},{symbol:">=",fixity:"infix",precedence:50,associativity:"left"},{symbol:"<=",fixity:"infix",precedence:50,associativity:"left"},{symbol:">",fixity:"infix",precedence:50,associativity:"left"},{symbol:"<",fixity:"infix",precedence:50,associativity:"left"}],_Y=new Map;for(let Q of V4){let z=_Y.get(Q.symbol)??[];z.push(Q),_Y.set(Q.symbol,z)}var mb=[...new Set(V4.map((Q)=>Q.symbol))].sort((Q,z)=>z.length-Q.length);var cb=Symbol("WrappedFunctionMarker");var qO={column:"bar",groupedColumn:"bar",stackedColumn:"bar",normalizedColumn:"bar",bar:"bar",groupedBar:"bar",stackedBar:"bar",normalizedBar:"bar",line:"line",stackedLine:"line",normalizedLine:"line",scatter:"scatter",bubble:"bubble",pie:"pie",donut:"donut",doughnut:"donut",area:"area",stackedArea:"area",normalizedArea:"area",histogram:"histogram",radarLine:"radar-line",radarArea:"radar-area",nightingale:"nightingale",radialColumn:"radial-column",radialBar:"radial-bar",sunburst:"sunburst",rangeBar:"range-bar",rangeArea:"range-area",boxPlot:"box-plot",treemap:"treemap",heatmap:"heatmap",waterfall:"waterfall",funnel:"funnel",coneFunnel:"cone-funnel",pyramid:"pyramid"},HO=new Set(["columnLineCombo","areaColumnCombo","customCombo"]);function _O(Q){return HO.has(Q)}function UO(Q){return Q==="doughnut"?"donut":Q}function WO(Q){return qO[Q]}var BO=["number","category","grouped-category","log","time"];var pb=BO.reduce((Q,z)=>({...Q,[z]:{title:{_enabledFromTheme:!0}}}),{});var M2=(Q)=>{return(z)=>{if(z==null)return!0;return Q(z)}};var EO=["doughnut"];function KO(Q){return!!WO(Q)||_O(Q)}function LO(Q){return EO.includes(Q)}var nb=M2((Q)=>{if(KO(Q))return!0;if(LO(Q)){let z=UO(Q);return zz(`The chart type '${Q}' has been deprecated. Please use '${z}' instead.`),z}return!1}),db=M2((Q)=>{return typeof Q==="object"}),tb=M2((Q)=>{return typeof Q==="object"}),rb=M2((Q)=>{return typeof Q==="string"||typeof Q==="function"});function f4(Q){return Q.map((z,J,Z)=>z.map(($,X)=>Z.slice(0,J+1).reduce((Y,G)=>Y+G[X],0)))}function A4(Q){let z=Q.map((J,Z)=>Q.reduce(($,X)=>Math.max($,X[Z]),0));return Q.map((J)=>J.map((Z,$)=>Z/z[$]*19))}var j4=[[1,3,5],[2,6,4],[5,3,1]];var FO=f4(j4);var sb=A4(FO);var DO=j4;var MO=f4(DO);var lb=A4(MO);var kO=["number","category","time","grouped-category"],VO=["angle-category","angle-number","radius-category","radius-number"],ab=[...kO,...VO];var{h:fO,watch:q7,onUnmount:AO}=window;N5.registerModules([SX,ZX,RX,DX,jX,WX,zX,J4,M4,k4,F4,$7,dY,rY,lY,oY,K4]);var R4=(Q)=>{let{data:z,options:J,api:Z,on:$,class:X,style:Y="height: 100%; width: 100%",dark:G}=Q,q=null,H=null,_=()=>G!==void 0?typeof G==="function"?G():G:document.documentElement.getAttribute("data-theme")==="dark"||window.matchMedia("(prefers-color-scheme: dark)").matches,U=()=>_()?"ag-theme-balham-dark":"ag-theme-balham";return fO("div",{class:X,style:Y,ref:(B)=>{if(H)H(),H=null;if(q&&!q.isDestroyed()){if(q.destroy(),Z)Z.current=null;q=null}if(!B)return;let E=typeof z==="function"?z():z,K=typeof J==="function"?J():J,L=["onFilterChanged","onModelUpdated","onGridSizeChanged","onFirstDataRendered","onRowValueChanged","onSelectionChanged","onCellClicked","onCellDoubleClicked","onCellValueChanged","onRowClicked","onSortChanged","onContextMenu","onColumnResized","onColumnMoved","onRowDataUpdated","onCellEditingStarted","onCellEditingStopped","onPaginationChanged","onBodyScroll"],F={};L.forEach((A)=>{if($?.[A])F[A]=(O)=>$[A](O)});let D={...K,theme:U(),rowData:E||[],onGridReady:(A)=>{if(q=A.api,Z)Z.current=q;if($?.onGridReady)$.onGridReady(A);if(K?.autoSizeColumns)A.api.autoSizeAllColumns()},...F};q=MJ(B,D);let M=q7(()=>{if(!q||q.isDestroyed())return;let A=typeof z==="function"?z():z;if(Array.isArray(A)){let O=q.getGridOption("rowData");if(A!==O)q.setGridOption("rowData",A)}}),k=q7(()=>{if(!q||q.isDestroyed())return;_();let A=U();if(A!==q.getGridOption("theme"))q.setGridOption("theme",A)}),f=q7(()=>{if(!q||q.isDestroyed()||!J)return;let A=typeof J==="function"?J():J;if(A)Object.entries(A).forEach(([O,v])=>{try{q.setGridOption(O,v)}catch(I){}})});H=()=>{if(M(),k(),f(),q&&!q.isDestroyed()){if(q.destroy(),Z)Z.current=null;q=null}},AO(()=>{if(H)H(),H=null})}})};if(typeof window<"u")window.Grid=R4;})();