Files
sigpro-grid/dist/sigpro-grid.min.js

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:VZ,getOwnPropertyNames:RY,getOwnPropertyDescriptor:jY}=Object,fY=Object.prototype.hasOwnProperty;function OY($){return this[$]}var PY=($)=>{var z=(_5??=new WeakMap).get($),Q;if(z)return z;if(z=VZ({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function"){for(var J of RY($))if(!fY.call(z,J))VZ(z,J,{get:OY.bind($,J),enumerable:!(Q=jY($,J))||Q.enumerable})}return _5.set($,z),z},_5;var TY=($)=>$;function vY($,z){this[$]=TY.bind(null,z)}var IY=($,z)=>{for(var Q in z)VZ($,Q,{get:z[Q],enumerable:!0,configurable:!0,set:vY.bind(z,Q)})};var VO={};IY(VO,{themeQuartz:()=>V4,iconSetQuartzLight:()=>N8,createGrid:()=>M1,ModuleRegistry:()=>N2,Grid:()=>kO});function b($){if(!$?.length)return;return $[$.length-1]}function X0($,z,Q){if($===z)return!0;if(!$||!z)return $==null&&z==null;let J=$.length;if(J!==z.length)return!1;for(let Z=0;Z<J;Z++)if($[Z]!==z[Z]&&!Q?.($[Z],z[Z]))return!1;return!0}function IQ($,z){if(!$)return;for(let Q of $)if(z(Q))return!0}function Z0($,z){let Q=$.indexOf(z);if(Q>=0)$.splice(Q,1)}function Q1($,z){let Q=0,J=0;for(;Q<$.length;Q++)if(!z.includes($[Q]))$[J]=$[Q],J++;while(J<$.length)$.pop()}function H5($,z,Q){for(let J=0;J<z.length;J++)Z0($,z[J]);for(let J=z.length-1;J>=0;J--)$.splice(Q,0,z[J])}var j$=($)=>{if($==null||$==="")return null;return $};function T($){return $!=null&&$!==""}function n($){return!T($)}var cQ=($)=>{return $!=null&&typeof $.toString==="function"?$.toString():null},FJ=($,z)=>{let Q=$?JSON.stringify($):null,J=z?JSON.stringify(z):null;return Q===J},CY=($,z,Q=!1)=>{if($==null)return z==null?0:-1;if(z==null)return 1;if(typeof $==="object"&&$.toNumber)$=$.toNumber();if(typeof z==="object"&&z.toNumber)z=z.toNumber();if(!Q||typeof $!=="string"){if($>z)return 1;if($<z)return-1;return 0}return $.localeCompare(z)},K$=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($){this.frameworkOverrides=$}getListeners($,z,Q){let J=z?this.allAsyncListeners:this.allSyncListeners,Z=J.get($);if(!Z&&Q)Z=new Set,J.set($,Z);return Z}noRegisteredListenersExist(){return this.allSyncListeners.size===0&&this.allAsyncListeners.size===0&&this.globalSyncListeners.size===0&&this.globalAsyncListeners.size===0}addEventListener($,z,Q=!1){this.getListeners($,Q,!0).add(z)}removeEventListener($,z,Q=!1){let J=this.getListeners($,Q,!1);if(!J)return;if(J.delete(z),J.size===0)(Q?this.allAsyncListeners:this.allSyncListeners).delete($)}addGlobalListener($,z=!1){this.getGlobalListeners(z).add($)}removeGlobalListener($,z=!1){this.getGlobalListeners(z).delete($)}dispatchEvent($){this.dispatchToListeners($,!0),this.dispatchToListeners($,!1),this.firedEvents[$.type]=!0}dispatchEventOnce($){if(!this.firedEvents[$.type])this.dispatchEvent($)}dispatchToListeners($,z){let Q=$.type;if(z&&"event"in $){let q=$.event;if(q instanceof Event)$.eventPath=q.composedPath()}let{frameworkOverrides:J}=this,Z=(q)=>{let G=J?()=>J.wrapIncoming(q):q;if(z)this.dispatchAsync(G);else G()},X=this.getListeners(Q,z,!1);if((X?.size??0)>0){let q=new Set(X);for(let G of q){if(!X?.has(G))continue;Z(()=>G($))}}let Y=this.getGlobalListeners(z);if(Y.size>0){let q=new Set(Y);for(let G of q)Z(()=>G(Q,$))}}getGlobalListeners($){return $?this.globalAsyncListeners:this.globalSyncListeners}dispatchAsync($){if(this.asyncFunctionsQueue.push($),!this.scheduled){let z=()=>{window.setTimeout(this.flushAsyncQueue.bind(this),0)},Q=this.frameworkOverrides;if(Q)Q.wrapIncoming(z);else z();this.scheduled=!0}}flushAsyncQueue(){this.scheduled=!1;let $=this.asyncFunctionsQueue.slice();this.asyncFunctionsQueue=[];for(let z of $)z()}},bY=/[&<>"']/g,yY={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function J1($){return $?.toString().toString()??null}function W0($){return J1($)?.replace(bY,(z)=>yY[z])??null}function o1($){return typeof $==="string"&&$.startsWith("=")&&$.length>1}function xY($){if(!$||$==null)return null;let z=/([a-z])([A-Z])/g,Q=/([A-Z]+)([A-Z])([a-z])/g;return $.replace(z,"$1 $2").replace(Q,"$1 $2$3").replace(/\./g," ").split(" ").map((Z)=>Z.substring(0,1).toUpperCase()+(Z.length>1?Z.substring(1,Z.length):"")).join(" ")}function r0($){return $.eRootDiv.getRootNode()}function d($){return r0($).activeElement}function Y0($){let{gos:z,eRootDiv:Q}=$,J=null,Z=z.get("getDocument");if(Z&&T(Z))J=Z();else if(Q)J=Q.ownerDocument;if(J&&T(J))return J;return document}function hz($){let z=d($);return z===null||z===Y0($).body}function R2($){return Y0($).defaultView||window}function FQ($){let z=null,Q=null;try{z=Y0($).fullscreenElement}catch(J){}finally{if(!z)z=r0($);let J=z.querySelector("body");if(J)Q=J;else if(z instanceof ShadowRoot)Q=z;else if(z instanceof Document)Q=z?.documentElement;else Q=z}return Q}function wY($){return FQ($)?.clientWidth??(window.innerWidth||-1)}function NY($){return FQ($)?.clientHeight??(window.innerHeight||-1)}function c0($,z,Q){if(Q==null||typeof Q==="string"&&Q=="")j2($,z);else X$($,z,Q)}function X$($,z,Q){$.setAttribute(A6(z),Q.toString())}function j2($,z){$.removeAttribute(A6(z))}function A6($){return`aria-${$}`}function _0($,z){if(z)$.setAttribute("role",z);else $.removeAttribute("role")}function gY($){let z=$?.direction;if(z==="asc")return"ascending";else if(z==="desc")return"descending";else if(z==="mixed")return"other";return"none"}function S6($){return Number.parseInt($.getAttribute("aria-posinset"),10)}function hY($){return $.getAttribute("aria-label")}function E0($,z){c0($,"label",z)}function pQ($,z){c0($,"labelledby",z)}function MJ($,z){c0($,"describedby",z)}function R6($,z){c0($,"live",z)}function uY($,z){c0($,"atomic",z)}function mY($,z){c0($,"relevant",z)}function j6($,z){c0($,"invalid",z)}function f6($,z){c0($,"level",z)}function O6($,z){c0($,"disabled",z)}function kJ($,z){c0($,"hidden",z)}function w0($,z){X$($,"expanded",z)}function P6($){j2($,"expanded")}function VJ($,z){X$($,"setsize",z)}function AJ($,z){X$($,"posinset",z)}function cY($,z){X$($,"multiselectable",z)}function pY($,z){X$($,"rowcount",z)}function e1($,z){X$($,"rowindex",z)}function iY($,z){X$($,"colcount",z)}function T6($,z){X$($,"colindex",z)}function nY($,z){X$($,"colspan",z)}function dY($,z){X$($,"sort",z)}function tY($){j2($,"sort")}function f2($,z){c0($,"selected",z)}function v6($,z){X$($,"checked",z===void 0?"mixed":z)}function sY($,z){c0($,"controls",z)}function I6($,z){sY($,z.id),pQ(z,$.id)}function U5($,z){c0($,"owns",z)}function C6($,z){c0($,"haspopup",z===!1?null:z)}function O2($,z){return z===void 0?$("ariaIndeterminate","indeterminate"):z===!0?$("ariaChecked","checked"):$("ariaUnchecked","unchecked")}function P2($,z,Q){let J=$.parentElement,Z=J&&J.firstChild;while(Z){if(z)Z.classList.toggle(z,Z===$);if(Q)Z.classList.toggle(Q,Z!==$);Z=Z.nextSibling}}var rY="[tabindex], input, select, button, textarea, [href]",b6="[disabled], .ag-disabled:not(.ag-button), .ag-disabled *";function wQ($){if(!$)return!1;if(!$.matches("input, select, button, textarea"))return!1;if(!$.matches(b6))return!1;return A0($)}function N($,z,Q={}){let{skipAriaHidden:J}=Q;if($.classList.toggle("ag-hidden",!z),!J)kJ($,!z)}function lY($,z,Q={}){let{skipAriaHidden:J}=Q;if($.classList.toggle("ag-invisible",!z),!J)kJ($,!z)}function T2($,z){let J=z?(X)=>X.setAttribute("disabled",""):(X)=>X.removeAttribute("disabled");J($);let Z=$.querySelectorAll("input")??[];for(let X of Z)J(X)}function vz($,z,Q){let J=0;while($){if($.classList.contains(z))return!0;if($=$.parentElement,typeof Q=="number"){if(++J>Q)break}else if($===Q)break}return!1}function MQ($){let{height:z,width:Q,borderTopWidth:J,borderRightWidth:Z,borderBottomWidth:X,borderLeftWidth:Y,paddingTop:q,paddingRight:G,paddingBottom:_,paddingLeft:H,marginTop:U,marginRight:W,marginBottom:B,marginLeft:E,boxSizing:K}=window.getComputedStyle($),L=Number.parseFloat;return{height:L(z||"0"),width:L(Q||"0"),borderTopWidth:L(J||"0"),borderRightWidth:L(Z||"0"),borderBottomWidth:L(X||"0"),borderLeftWidth:L(Y||"0"),paddingTop:L(q||"0"),paddingRight:L(G||"0"),paddingBottom:L(_||"0"),paddingLeft:L(H||"0"),marginTop:L(U||"0"),marginRight:L(W||"0"),marginBottom:L(B||"0"),marginLeft:L(E||"0"),boxSizing:K}}function SJ($){let z=MQ($);if(z.boxSizing==="border-box")return z.height-z.paddingTop-z.paddingBottom-z.borderTopWidth-z.borderBottomWidth;return z.height}function xz($){let z=MQ($);if(z.boxSizing==="border-box")return z.width-z.paddingLeft-z.paddingRight-z.borderLeftWidth-z.borderRightWidth;return z.width}function y6($){let{height:z,marginBottom:Q,marginTop:J}=MQ($);return Math.floor(z+Q+J)}function x6($){let{width:z,marginLeft:Q,marginRight:J}=MQ($);return Math.floor(z+Q+J)}function w6($){let z=$.getBoundingClientRect(),{borderTopWidth:Q,borderLeftWidth:J,borderRightWidth:Z,borderBottomWidth:X}=MQ($);return{top:z.top+(Q||0),left:z.left+(J||0),right:z.right+(Z||0),bottom:z.bottom+(X||0)}}function $J($,z){let Q=$.scrollLeft;if(z)Q=Math.abs(Q);return Q}function zJ($,z,Q){if(Q)z*=-1;$.scrollLeft=z}function z0($){while($?.firstChild)$.firstChild.remove()}function T0($){if($?.parentNode)$.remove()}function N6($){return!!$.offsetParent}function A0($){if($.checkVisibility)return $.checkVisibility({checkVisibilityCSS:!0});return!(!N6($)||window.getComputedStyle($).visibility!=="visible")}function v2($){let z=document.createElement("div");return z.innerHTML=($||"").trim(),z.firstChild}function g6($,z,Q){if(Q&&Q.nextSibling===z)return;if(!$.firstChild)$.appendChild(z);else if(Q)if(Q.nextSibling)$.insertBefore(z,Q.nextSibling);else $.appendChild(z);else if($.firstChild&&$.firstChild!==z)$.prepend(z)}function h6($,z){for(let Q=0;Q<z.length;Q++){let J=z[Q],Z=$.children[Q];if(Z!==J)$.insertBefore(J,Z)}}function aY($){return $.replace(/[A-Z]/g,(z)=>`-${z.toLocaleLowerCase()}`)}function Z1($,z){if(!z)return;for(let Q of Object.keys(z)){let J=z[Q];if(!Q?.length||J==null)continue;let Z=aY(Q),X=J.toString(),Y=X.replace(/\s*!important/g,""),q=Y.length!=X.length?"important":void 0;$.style.setProperty(Z,Y,q)}}function iQ($){return()=>{let z=$();if(!z)return!0;return oY(z)||eY(z)}}function oY($){return $.clientWidth<$.scrollWidth}function eY($){return $.clientHeight<$.scrollHeight}function u6($,z){if(z==="flex")$.style.removeProperty("width"),$.style.removeProperty("minWidth"),$.style.removeProperty("maxWidth"),$.style.flex="1 1 auto";else f$($,z)}function f$($,z){z=m6(z),$.style.width=z,$.style.maxWidth=z,$.style.minWidth=z}function NQ($,z){z=m6(z),$.style.height=z,$.style.maxHeight=z,$.style.minHeight=z}function m6($){return typeof $==="number"?`${$}px`:$}function X1($){return $ instanceof Node||$ instanceof HTMLElement}function Pz($,z,Q){if(Q==null||Q==="")$.removeAttribute(z);else $.setAttribute(z,Q.toString())}function $q($,z){if(!z.isContentEditable)return;let Q=R2($).getSelection();if(!Q)return;let J=Y0($).createRange();J.selectNodeContents(z),J.collapse(!1),Q.removeAllRanges(),Q.addRange(J)}function F$($,z,Q){let Z=R2($).ResizeObserver,X=Z?new Z(Q):null;return X?.observe(z),()=>X?.disconnect()}function Y$($,z){let Q=R2($);if(Q.requestAnimationFrame)Q.requestAnimationFrame(z);else if(Q.webkitRequestAnimationFrame)Q.webkitRequestAnimationFrame(z);else Q.setTimeout(z,0)}var c6="data-ref",AZ;function W5(){return AZ??(AZ=document.createTextNode(" ")),AZ.cloneNode()}function K0($){let{attrs:z,children:Q,cls:J,ref:Z,role:X,tag:Y}=$,q=document.createElement(Y);if(J)q.className=J;if(Z)q.setAttribute(c6,Z);if(X)q.setAttribute("role",X);if(z)for(let G of Object.keys(z))q.setAttribute(G,z[G]);if(Q)if(typeof Q==="string")q.textContent=Q;else{let G=!0;for(let _ of Q)if(_)if(typeof _==="string")q.appendChild(document.createTextNode(_)),G=!1;else if(typeof _==="function")q.appendChild(_());else{if(G)q.appendChild(W5()),G=!1;q.append(K0(_)),q.appendChild(W5())}}return q}var zq=["touchstart","touchend","touchmove","touchcancel","scroll"],Qq=["wheel"],SZ={},aZ=(()=>{let $={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return(Q)=>{if(typeof SZ[Q]==="boolean")return SZ[Q];let J=document.createElement($[Q]||"div");return Q="on"+Q,SZ[Q]=Q in J}})();function RJ($,z){if(!z||!$)return!1;return Zq(z).indexOf($)>=0}function Jq($){let z=[],Q=$.target;while(Q)z.push(Q),Q=Q.parentElement;return z}function Zq($){let z=$;if(z.path)return z.path;if(z.composedPath)return z.composedPath();return Jq(z)}function Xq($,z,Q){let J=Yq(z),Z;if(J!=null)Z={passive:J};$.addEventListener(z,Q,Z)}var Yq=($)=>{let z=zq.includes($),Q=Qq.includes($);if(z)return!0;if(Q)return!1};function p6($,z,Q){if(Q===0)return!1;let J=Math.abs($.clientX-z.clientX),Z=Math.abs($.clientY-z.clientY);return Math.max(J,Z)<=Q}var qQ=($,z)=>{let Q=$.identifier;for(let J=0,Z=z.length;J<Z;++J){let X=z[J];if(X.identifier===Q)return X}return null};function nQ($,z){return $.gos.isElementInThisInstance(z.target)}function qq($,z,Q){let Z=$.getBoundingClientRect().height,X=wY(Q)-2,Y=NY(Q)-2;if(!$.offsetParent)return;let G=w6($.offsetParent),{clientY:_,clientX:H}=z,U=_-G.top-Z/2,W=H-G.left-10,B=Y0(Q),E=B.defaultView||window,K=E.pageYOffset||B.documentElement.scrollTop,L=E.pageXOffset||B.documentElement.scrollLeft;if(X>0&&W+$.clientWidth>X+L)W=X+L-$.clientWidth;if(W<0)W=0;if(Y>0&&U+$.clientHeight>Y+K)U=Y+K-$.clientHeight;if(U<0)U=0;$.style.left=`${W}px`,$.style.top=`${U}px`}var p1=($,...z)=>{for(let Q of z){let[J,Z,X,Y]=Q;J.addEventListener(Z,X,Y),$.push(Q)}},I2=($)=>{if($){for(let[z,Q,J,Z]of $)z.removeEventListener(Q,J,Z);$.length=0}},QQ=($)=>{if($.cancelable)$.preventDefault()};function Gq($,z){return z}function i6($){return $?.getLocaleTextFunc()??Gq}function _q($,z,Q,J){let Z=z[Q];return $.getLocaleTextFunc()(Q,typeof Z==="function"?Z(J):Z,J)}var R0=class{constructor(){this.destroyFunctions=[],this.destroyed=!1,this.__v_skip=!0,this.propertyListenerId=0,this.lastChangeSetIdLookup={},this.isAlive=()=>!this.destroyed}preWireBeans($){this.beans=$,this.stubContext=$.context,this.eventSvc=$.eventSvc,this.gos=$.gos}destroy(){let{destroyFunctions:$}=this;for(let z=0;z<$.length;z++)$[z]();$.length=0,this.destroyed=!0,this.dispatchLocalEvent({type:"destroyed"})}addEventListener($,z,Q){if(!this.localEventService)this.localEventService=new K$;this.localEventService.addEventListener($,z,Q)}removeEventListener($,z,Q){this.localEventService?.removeEventListener($,z,Q)}dispatchLocalEvent($){this.localEventService?.dispatchEvent($)}addManagedElementListeners($,z){return this._setupListeners($,z)}addManagedEventListeners($){return this._setupListeners(this.eventSvc,$)}addManagedListeners($,z){return this._setupListeners($,z)}_setupListeners($,z){let Q=[];for(let J of Object.keys(z)){let Z=z[J];if(Z)Q.push(this._setupListener($,J,Z))}return Q}_setupListener($,z,Q){if(this.destroyed)return()=>null;let J;if(Hq($))$.__addEventListener(z,Q),J=()=>{return $.__removeEventListener(z,Q),null};else{let Z=Uq($);if($ instanceof HTMLElement)Xq($,z,Q);else if(Z)$.addListener(z,Q);else $.addEventListener(z,Q);J=Z?()=>{return $.removeListener(z,Q),null}:()=>{return $.removeEventListener(z,Q),null}}return this.destroyFunctions.push(J),()=>{return J(),this.destroyFunctions=this.destroyFunctions.filter((Z)=>Z!==J),null}}setupPropertyListener($,z){let{gos:Q}=this;Q.addPropertyEventListener($,z);let J=()=>{return Q.removePropertyEventListener($,z),null};return this.destroyFunctions.push(J),()=>{return J(),this.destroyFunctions=this.destroyFunctions.filter((Z)=>Z!==J),null}}addManagedPropertyListener($,z){if(this.destroyed)return()=>null;return this.setupPropertyListener($,z)}addManagedPropertyListeners($,z){if(this.destroyed)return;let Q=$.join("-")+this.propertyListenerId++,J=(Z)=>{if(Z.changeSet){if(Z.changeSet&&Z.changeSet.id===this.lastChangeSetIdLookup[Q])return;this.lastChangeSetIdLookup[Q]=Z.changeSet.id}let X={type:"propertyChanged",changeSet:Z.changeSet,source:Z.source};z(X)};for(let Z of $)this.setupPropertyListener(Z,J)}getLocaleTextFunc(){return i6(this.beans.localeSvc)}addDestroyFunc($){if(this.isAlive())this.destroyFunctions.push($);else $()}createOptionalManagedBean($,z){return $?this.createManagedBean($,z):void 0}createManagedBean($,z){let Q=this.createBean($,z);return this.addDestroyFunc(this.destroyBean.bind(this,$,z)),Q}createBean($,z,Q){return(z||this.stubContext).createBean($,Q)}destroyBean($,z){return(z||this.stubContext).destroyBean($)}destroyBeans($,z){return(z||this.stubContext).destroyBeans($)}};function Hq($){return $.__addEventListener!==void 0}function Uq($){return $.eventServiceType==="global"}var S=class extends R0{},oZ=new Set,jJ=($,z)=>{if(!oZ.has(z))oZ.add(z),$()};jJ._set=oZ;var Wq={pending:!1,funcs:[]},Bq={pending:!1,funcs:[]};function eZ($,z="setTimeout",Q){let J=z==="raf"?Bq:Wq;if(J.funcs.push($),J.pending)return;J.pending=!0;let Z=()=>{let X=J.funcs.slice();J.funcs.length=0,J.pending=!1;for(let Y of X)Y()};if(z==="raf")Y$(Q,Z);else window.setTimeout(Z,0)}function g$($,z,Q){let J;return function(...Z){let X=this;return window.clearTimeout(J),J=window.setTimeout(function(){if($.isAlive())z.apply(X,Z)},Q),J}}function B5($,z){let Q=0;return function(...J){let Z=this,X=Date.now();if(X-Q<z)return;Q=X,$.apply(Z,J)}}function C2($,z,Q,J=100){let Z=Date.now(),X=null,Y=!1,q=()=>{if(X!=null)window.clearInterval(X),X=null};$.addDestroyFunc(q);let G=()=>{let _=Date.now()-Z>J;if(z()||_)Q(),Y=!0,q()};if(G(),!Y)X=window.setInterval(G,10)}var Eq=new Set(["__proto__","constructor","prototype"]);function Kq($,z){if($==null)return;if(Array.isArray($)){for(let Q=0;Q<$.length;Q++)z(Q.toString(),$[Q]);return}for(let Q of Object.keys($).filter((J)=>!Eq.has(J)))z(Q,$[Q])}function B0($,z,Q=!0,J=!1){if(!T(z))return;Kq(z,(Z,X)=>{let Y=$[Z];if(Y===X)return;if(J){if(Y==null&&X!=null){if(typeof X==="object"&&X.constructor===Object)Y={},$[Z]=Y}}if(E5(X)&&E5(Y)&&!Array.isArray(Y))B0(Y,X,Q,J);else if(Q||X!==void 0)$[Z]=X})}function E5($){return typeof $==="object"&&$!==null}var b2=class ${static applyGlobalGridOptions(z){if(!$.gridOptions)return{...z};let Q={};if(B0(Q,$.gridOptions,!0,!0),$.mergeStrategy==="deep")B0(Q,z,!0,!0);else Q={...Q,...z};if($.gridOptions.context)Q.context=$.gridOptions.context;if(z.context){if($.mergeStrategy==="deep"&&Q.context)B0(z.context,Q.context,!0,!0);Q.context=z.context}return Q}static applyGlobalGridOption(z,Q){if($.mergeStrategy==="deep"){let J=Lq(z);if(J&&typeof J==="object"&&typeof Q==="object")return $.applyGlobalGridOptions({[z]:Q})[z]}return Q}};b2.gridOptions=void 0;b2.mergeStrategy="shallow";var y2=b2;function Lq($){return y2.gridOptions?.[$]}var Dq={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},n6="https://www.ag-grid.com";function dQ($,z,...Q){if($.get("debug"))console.log("AG Grid: "+z,...Q)}function zz($,...z){jJ(()=>d6($,...z),$+z?.join(""))}function GQ($,...z){jJ(()=>Fq($,...z),$+z?.join(""))}function Fq($,...z){console.error("AG Grid: "+$,...z)}function d6($,...z){console.warn("AG Grid: "+$,...z)}var t6=new Set,QJ={},Iz={},i1,s6=!1,r6=!1,Mq=!1;function kq($){let[z,Q]=$.version.split(".")||[],[J,Z]=i1.split(".")||[];return z===J&&Q===Z}function Vq($){if(!i1)i1=$.version;let z=(J)=>`You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. ${J} Please update all modules to the same version.`;if(!$.version)GQ(z(`'${$.moduleName}' is incompatible.`));else if(!kq($))GQ(z(`'${$.moduleName}' is version ${$.version} but the other modules are version ${i1}.`));let Q=$.validate?.();if(Q&&!Q.isValid)GQ(`${Q.message}`)}function tQ($,z,Q=!1){if(!Q)s6=!0;Vq($);let J=$.rowModels??["all"];t6.add($);let Z;if(z!==void 0){if(r6=!0,Iz[z]===void 0)Iz[z]={};Z=Iz[z]}else Z=QJ;for(let X of J){if(Z[X]===void 0)Z[X]={};Z[X][$.moduleName]=$}if($.dependsOn)for(let X of $.dependsOn)tQ(X,z,Q)}function Aq($){delete Iz[$]}function $2($,z,Q){let J=(Z)=>!!QJ[Z]?.[$]||!!Iz[z]?.[Z]?.[$];return J(Q)||J("all")}function x2(){return r6}function Sq($,z){let Q=Iz[$]??{};return[...Object.values(QJ.all??{}),...Object.values(Q.all??{}),...Object.values(QJ[z]??{}),...Object.values(Q[z]??{})]}function Rq(){return new Set(t6)}function l6($,z){let Q=Iz[$]??{};return[...Object.values(Q.all??{}),...Object.values(Q[z]??{})]}function jq(){return s6}function w2(){return Mq}var N2=class{static register($){tQ($,void 0)}static registerModules($){for(let z of $)tQ(z,void 0)}};var p="35.2.0",K5=2000,L5=100,a6="_version_",o6=null,_Q=`${n6}/javascript-data-grid`;function fq($){o6=$}function Oq($){_Q=$}function e6($,z,Q){return o6?.($,z)??[Iq($,z,Q)]}function fJ($,z,Q,J,Z){$(`${J?"warning":"error"} #${z}`,...e6(z,Q,Z))}function Pq($){if(!$)return String($);let z={};for(let Q of Object.keys($))if(typeof $[Q]!=="object"&&typeof $[Q]!=="function")z[Q]=$[Q];return JSON.stringify(z)}function Tq($){let z=$;if($ instanceof Error)z=$.toString();else if(typeof $==="object")z=Pq($);return z}function n1($){return $===void 0?"undefined":$===null?"null":$}function z2($,z){return`${$}?${z.toString()}`}function vq($,z,Q){let J=Array.from(z.entries()).sort((X,Y)=>Y[1].length-X[1].length),Z=z2($,z);for(let[X,Y]of J){if(X===a6)continue;let q=Z.length-Q;if(q<=0)break;let G="...",_=q+G.length,H=Y.length-_>L5?Y.slice(0,Y.length-_)+G:Y.slice(0,L5)+G;z.set(X,H),Z=z2($,z)}return Z}function $7($,z){let Q=new URLSearchParams;if(Q.append(a6,p),z)for(let X of Object.keys(z))Q.append(X,Tq(z[X]));let J=`${_Q}/errors/${$}`,Z=z2(J,Q);return Z.length<=K5?Z:vq(J,Q,K5)}var Iq=($,z,Q)=>{let J=$7($,z),Z=`${Q?Q+`
`:""}Visit ${J}`;if(w2())return Z;return`${Z}${Q?"":`
Alternatively register the ValidationModule to see the full message in the console.`}`};function j(...$){fJ(zz,$[0],$[1],!0)}function e(...$){fJ(GQ,$[0],$[1],!1)}function yQ($,z,Q){fJ(GQ,$,z,!1,Q)}function z7($,z,Q){fJ(zz,$,z,!0,Q)}function Cq($,z){let Q=z[0];return`error #${Q} `+e6(Q,z[1],$).join(" ")}function $$(...$){return Cq(void 0,$)}function Q7($,z){return $.get("rowModelType")===z}function o($,z){return Q7($,"clientSide")}function _z($,z){return Q7($,"serverSide")}function V0($,z){return $.get("domLayout")===z}function h$($){return JJ($)!==void 0}function J7($){return typeof $.get("getRowHeight")==="function"}function bq($,z){if(z)return!$.get("enableStrictPivotColumnOrder");return $.get("maintainColumnOrder")}function yq({gos:$,formula:z}){let Q=$.get("rowNumbers");return Q||!!z?.active&&Q!==!1}function sQ($,z,Q=!1,J){let{gos:Z,environment:X}=$;if(J==null)J=X.getDefaultRowHeight();if(J7(Z)){if(Q)return{height:J,estimated:!0};let G={node:z,data:z.data},_=Z.getCallback("getRowHeight")(G);if(Q2(_)){if(_===0)j(23);return{height:Math.max(1,_),estimated:!1}}}if(z.detail&&Z.get("masterDetail"))return xq(Z);let Y=Z.get("rowHeight");return{height:Y&&Q2(Y)?Y:J,estimated:!1}}function xq($){if($.get("detailRowAutoHeight"))return{height:1,estimated:!1};let z=$.get("detailRowHeight");if(Q2(z))return{height:z,estimated:!1};return{height:300,estimated:!1}}function Z7($){let{environment:z,gos:Q}=$,J=Q.get("rowHeight");if(!J||n(J))return z.getDefaultRowHeight();let Z=z.refreshRowHeightVariable();if(Z!==-1)return Z;return j(24),z.getDefaultRowHeight()}function Q2($){return!isNaN($)&&typeof $==="number"&&isFinite($)}function X7($,z,Q){let J=z[$.getDomDataKey()];return J?J[Q]:void 0}function wz($,z,Q,J){let Z=$.getDomDataKey(),X=z[Z];if(n(X))X={},z[Z]=X;X[Q]=J}function HQ($){if($.get("ensureDomOrder"))return!1;return $.get("animateRows")}function kQ($){return!($.get("paginateChildRows")||$.get("groupHideOpenParents")||V0($,"print"))}function W$($){return!$.get("autoGroupColumnDef")?.comparator&&!$.get("treeData")}function T$($){let z=$.get("groupAggFiltering");if(typeof z==="function")return $.getCallback("groupAggFiltering");if(z===!0)return()=>!0;return}function Hz($){return $.get("grandTotalRow")}function OJ($){let z=$.get("groupTotalRow");if(typeof z==="function")return $.getCallback("groupTotalRow");return()=>z??void 0}function Y1($){if(!!$.get("groupHideOpenParents"))return!0;return $.get("groupDisplayType")==="multipleColumns"}function g2($){return Y1($)&&$.get("groupHideColumnsUntilExpanded")&&o($)}function PJ($,z){if(z)return!1;return $.get("groupDisplayType")==="groupRows"}function Y7($,z,Q){return!!z.group&&!z.footer&&PJ($,Q)}function J2($){let z=$.getCallback("getRowId");if(z===void 0)return z;return(Q)=>{let J=z(Q);if(typeof J!=="string")jJ(()=>j(25,{id:J}),"getRowIdString"),J=String(J);return J}}function wq($,z){let Q=$.get("groupHideParentOfSingleChild");if(Q===!0)return!0;if(Q==="leafGroupsOnly"&&z.leafGroup)return!0;if($.get("groupRemoveSingleChildren"))return!0;if($.get("groupRemoveLowestSingleChildren")&&z.leafGroup)return!0;return!1}function TJ($,z){let Q=$.get("suppressGroupChangesColumnVisibility");if(Q===!0)return!1;if(z&&Q==="suppressHideOnGroup")return!1;if(!z&&Q==="suppressShowOnUngroup")return!1;let J=$.get("suppressRowGroupHidesColumns");if(z&&J===!0)return!1;let Z=$.get("suppressMakeColumnVisibleAfterUnGroup");if(!z&&Z===!0)return!1;return!0}function Qz($){return $?.checkboxes??!0}function d1($){return $?.mode==="multiRow"&&($.headerCheckbox??!0)}function EQ($){if(typeof $!=="object")return;return $.checkboxLocation??"selectionColumn"}function RZ($){return $?.hideDisabledCheckboxes??!1}function Nq($){return typeof $.get("rowSelection")!=="string"}function q7($){return $.get("cellSelection")!==void 0}function G7($){let z=$.get("cellSelection");if(z===void 0)return $.get("suppressMultiRangeSelection");return typeof z!=="boolean"?z?.suppressMultiRanges??!1:!1}function u0($){let z=$.get("cellSelection");return z!==void 0?!!z:$.get("enableRangeSelection")}function vJ($){let z=$.get("cellSelection");if(z===void 0)return{mode:"fill",setFillValue:$.get("fillOperation"),direction:$.get("fillHandleDirection"),suppressClearOnFillReduction:$.get("suppressClearOnFillReduction")};return typeof z!=="boolean"&&z.handle?.mode==="fill"?z.handle:void 0}function Jz($){let z=$.get("cellSelection")??!1;return(typeof z==="object"&&z.enableColumnSelection)??!1}function _7($){let z=$.get("rowSelection")??"single";if(typeof z==="string"){let Q=$.get("suppressRowClickSelection"),J=$.get("suppressRowDeselection");if(Q&&J)return!1;else if(Q)return"enableDeselection";else if(J)return"enableSelection";else return!0}return z.mode==="singleRow"||z.mode==="multiRow"?z.enableClickSelection??!1:!1}function gq($){let z=_7($);return z===!0||z==="enableSelection"}function hq($){let z=_7($);return z===!0||z==="enableDeselection"}function Z2($){let z=$.get("rowSelection");if(typeof z==="string")return $.get("isRowSelectable");return z?.isRowSelectable}function JJ($){let z="beanName"in $&&$.beanName==="gos"?$.get("rowSelection"):$.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 rQ($){return JJ($)==="multiRow"}function uq($){let z=$.get("rowSelection");if(typeof z==="string")return $.get("rowMultiSelectWithClick");return z?.enableSelectionWithoutKeys??!1}function ZJ($){let z=$.get("rowSelection");if(typeof z==="string"){let Q=$.get("groupSelectsChildren"),J=$.get("groupSelectsFiltered");if(Q&&J)return"filteredDescendants";else if(Q)return"descendants";else return"self"}return z?.mode==="multiRow"?z.groupSelects:void 0}function H7($,z=!0){let Q=$.get("rowSelection");if(typeof Q!=="object")return z?"all":void 0;return Q.mode==="multiRow"?Q.selectAll:"all"}function mq($){let z=$.get("rowSelection");if(typeof z==="string")return!1;return z?.mode==="multiRow"?z.ctrlASelectsRows??!1:!1}function lQ($){let z=ZJ($);return z==="descendants"||z==="filteredDescendants"}function D5($){let z=$.get("rowSelection");return typeof z==="object"&&z.masterSelects||"self"}function cq($){return $.isModuleRegistered("SetFilter")&&!$.get("suppressSetFilterByDefault")}function U0($){return $.get("columnMenu")==="legacy"}function h2($){return!U0($)}function pq($){if(!$||$.length<2)return $;return"on"+$[0].toUpperCase()+$.substring(1)}function y($,z){return $.addCommon(z)}function u2({gos:$},z){return z.button===2||z.ctrlKey&&$.get("allowContextMenuWithControlKey")}var iq={resizable:!0,sortable:!0},nq=0;function U7(){return nq++}function Q$($){return $ instanceof q$}var dq=["asc","desc",null],tq=[{type:"absolute",direction:"asc"},{type:"absolute",direction:"desc"},null],q$=class extends S{constructor($,z,Q,J){super();this.colDef=$,this.userProvidedColDef=z,this.colId=Q,this.primary=J,this.isColumn=!0,this.instanceId=U7(),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 K$,this.tooltipEnabled=!1,this.rowGroupActive=!1,this.pivotActive=!1,this.aggregationActive=!1,this.flex=null,this.colIdSanitised=W0(Q)}destroy(){super.destroy(),this.beans.rowSpanSvc?.deregister(this)}getInstanceId(){return this.instanceId}initState(){let{colDef:$,beans:{sortSvc:z,pinnedCols:Q,colFlex:J}}=this;z?.initCol(this);let Z=$.hide;if(Z!==void 0)this.visible=!Z;else this.visible=!$.initialHide;Q?.initCol(this),J?.initCol(this)}setColDef($,z,Q){let J=$.spanRows!==this.colDef.spanRows;if(this.colDef=$,this.userProvidedColDef=z,this.initMinAndMaxWidths(),this.initDotNotation(),this.initTooltip(),J)this.beans.rowSpanSvc?.deregister(this),this.initRowSpan();this.dispatchColEvent("colDefChanged",Q)}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:$,colDef:{field:z,tooltipField:Q}}=this,J=$.get("suppressFieldDotNotation");this.fieldContainsDots=T(z)&&z.includes(".")&&!J,this.tooltipFieldContainsDots=T(Q)&&Q.includes(".")&&!J}initMinAndMaxWidths(){let $=this.colDef;this.minWidth=$.minWidth??this.beans.environment.getDefaultColumnMinWidth(),this.maxWidth=$.maxWidth??Number.MAX_SAFE_INTEGER}initTooltip(){this.beans.tooltipSvc?.initCol(this)}initRowSpan(){if(this.colDef.spanRows)this.beans.rowSpanSvc?.register(this)}addPivotListener(){let $=this.beans.pivotColDefSvc,z=this.colDef.pivotValueColumn;if(!$||!z)return;this.addManagedListeners(z,{colDefChanged:(Q)=>{let J=$.recreateColDef(this.colDef);this.setColDef(J,J,Q.source)}})}resetActualWidth($){let z=this.calculateColInitialWidth(this.colDef);this.setActualWidth(z,$,!0)}calculateColInitialWidth($){let z=$.width??$.initialWidth??200;return Math.max(Math.min(z,this.maxWidth),this.minWidth)}isEmptyGroup(){return!1}isRowGroupDisplayed($){return this.beans.showRowGroupCols?.isRowGroupDisplayed(this,$)??!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($,z){this.colEventSvc.addEventListener($,z)}__removeEventListener($,z){this.colEventSvc.removeEventListener($,z)}addEventListener($,z){this.frameworkEventListenerService=this.beans.frameworkOverrides.createLocalEventListenerWrapper?.(this.frameworkEventListenerService,this.colEventSvc);let Q=this.frameworkEventListenerService?.wrap($,z)??z;this.colEventSvc.addEventListener($,Q)}removeEventListener($,z){let Q=this.frameworkEventListenerService?.unwrap($,z)??z;this.colEventSvc.removeEventListener($,Q)}createColumnFunctionCallbackParams($){return y(this.gos,{node:$,data:$.data,column:this,colDef:this.colDef})}isSuppressNavigable($){return this.beans.cellNavigation?.isSuppressNavigable(this,$)??!1}isCellEditable($){return this.beans.editSvc?.isCellEditable({rowNode:$,column:this})??!1}isSuppressFillHandle(){return!!this.colDef.suppressFillHandle}isAutoHeight(){return!!this.colDef.autoHeight}isAutoHeaderHeight(){return!!this.colDef.autoHeaderHeight}isRowDrag($){return this.isColumnFunc($,this.colDef.rowDrag)}isDndSource($){return this.isColumnFunc($,this.colDef.dndSource)}isCellCheckboxSelection($){return this.beans.selectionSvc?.isCellCheckboxSelection(this,$)??!1}isSuppressPaste($){return this.isColumnFunc($,this.colDef?.suppressPaste??null)}isResizable(){return!!this.getColDefValue("resizable")}getColDefValue($){return this.colDef[$]??iq[$]}isColumnFunc($,z){if(typeof z==="boolean")return z;if(typeof z==="function"){let Q=this.createColumnFunctionCallbackParams($);return z(Q)}return!1}createColumnEvent($,z){return y(this.gos,{type:$,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 $=[],{sort:z,initialSort:Q}=this.colDef,J=z===null?z:L$(z?.type),Z=Q===null?Q:L$(Q?.type);if(J)$.push(J);if(Z)$.push(Z);return $}getSortingOrder(){let $=this.getColDefAllowedSortTypes().includes("absolute")?tq:dq;return(this.colDef.sortingOrder??this.gos.get("sortingOrder")??$).map((z)=>a0(z))}getAvailableSortTypes(){let $=this.getSortingOrder().reduce((z,Q)=>{if(Q.direction)z.push(Q.type);return z},this.getColDefAllowedSortTypes());return new Set($)}get wasSortExplicitlyRemoved(){return this._wasSortExplicitlyRemoved}setSortDef($,z=!1){if(!z)this._wasSortExplicitlyRemoved=!$.direction;this.sortDef=$}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($,z){if(this.oldLeft=this.left,this.left!==$)this.left=$,this.dispatchColEvent("leftChanged",z)}isFilterActive(){return this.filterActive}isHovered(){return j(261),!!this.beans.colHover?.isHovered(this)}setFirstRightPinned($,z){if(this.firstRightPinned!==$)this.firstRightPinned=$,this.dispatchColEvent("firstRightPinnedChanged",z)}setLastLeftPinned($,z){if(this.lastLeftPinned!==$)this.lastLeftPinned=$,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($,z){let Q=$===!0;if(this.visible!==Q)this.visible=Q,this.dispatchColEvent("visibleChanged",z);this.dispatchStateUpdatedEvent("hide")}isVisible(){return this.visible}isSpanHeaderHeight(){return!this.getColDef().suppressSpanHeaderHeight}getFirstRealParent(){let $=this.getOriginalParent();while($?.isPadding())$=$.getOriginalParent();return $}getColumnGroupPaddingInfo(){let $=this.getParent();if(!$?.isPadding())return{numberOfParents:0,isSpanningTotal:!1};let z=$.getPaddingLevel()+1,Q=!0;while($){if(!$.isPadding()){Q=!1;break}$=$.getParent()}return{numberOfParents:z,isSpanningTotal:Q}}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($){let z=$!==this.autoHeaderHeight;return this.autoHeaderHeight=$,z}createBaseColDefParams($){return y(this.gos,{node:$,data:$.data,colDef:this.colDef,column:this})}getColSpan($){if(n(this.colDef.colSpan))return 1;let z=this.createBaseColDefParams($),Q=this.colDef.colSpan(z);return Math.max(Q,1)}getRowSpan($){if(n(this.colDef.rowSpan))return 1;let z=this.createBaseColDefParams($),Q=this.colDef.rowSpan(z);return Math.max(Q,1)}setActualWidth($,z,Q=!1){if($=Math.max($,this.minWidth),$=Math.min($,this.maxWidth),this.actualWidth!==$){if(this.actualWidth=$,this.flex!=null&&z!=="flex"&&z!=="gridInitializing")this.flex=null;if(!Q)this.fireColumnWidthChangedEvent(z)}this.dispatchStateUpdatedEvent("width")}fireColumnWidthChangedEvent($){this.dispatchColEvent("widthChanged",$)}isGreaterThanMax($){return $>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($,z,Q){let J=this.createColumnEvent($,z);if(Q)B0(J,Q);this.colEventSvc.dispatchEvent(J)}dispatchStateUpdatedEvent($){this.colEventSvc.dispatchEvent({type:"columnStateUpdated",key:$})}};function a0($){if(UQ($))return{direction:$.direction,type:$.type};return{direction:IJ($),type:L$($)}}function Zz($){return $==="asc"||$==="desc"||$===null}function m2($){return $==="default"||$==="absolute"}function UQ($){if(!$||typeof $!=="object")return!1;let z=$;return m2(z.type)&&Zz(z.direction)}function t1($,z){if(!$)return z?z.direction===null:!0;if(!z)return $?$.direction===null:!0;return $.type===z.type&&$.direction===z.direction}function IJ($){return Zz($)?$:null}function L$($){return m2($)?$:"default"}function c2($,z,Q){let Z=Q?.()??z.sortSvc.getDisplaySortForColumn($),X=L$(Z?.type),Y=IJ(Z?.direction),q=$.getAvailableSortTypes(),G=q.has("default"),_=q.has("absolute");return{isDefaultSortAllowed:G,isAbsoluteSortAllowed:_,isAbsoluteSort:X==="absolute",isDefaultSort:X==="default",isAscending:Y==="asc",isDescending:Y==="desc",direction:Y}}function q0($){return $ instanceof Cz}var Cz=class extends S{constructor($,z,Q,J){super();this.colGroupDef=$,this.groupId=z,this.padding=Q,this.level=J,this.isColumn=!1,this.expandable=!1,this.instanceId=U7(),this.expandableListenerRemoveCallback=null,this.expanded=!!$?.openByDefault}destroy(){if(this.expandableListenerRemoveCallback)this.reset(null,void 0);super.destroy()}reset($,z){if(this.colGroupDef=$,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(($)=>$.isVisible());return!1}isPadding(){return this.padding}setExpanded($){this.expanded=$===void 0?!1:$,this.dispatchLocalEvent({type:"expandedChanged"})}isExpandable(){return this.expandable}isExpanded(){return this.expanded}getGroupId(){return this.groupId}getId(){return this.getGroupId()}setChildren($){this.children=$}getChildren(){return this.children}getColGroupDef(){return this.colGroupDef}getLeafColumns(){let $=[];return this.addLeafColumns($),$}forEachLeafColumn($){if(!this.children)return;for(let z of this.children)if(Q$(z))$(z);else if(q0(z))z.forEachLeafColumn($)}addLeafColumns($){if(!this.children)return;for(let z of this.children)if(Q$(z))$.push(z);else if(q0(z))z.addLeafColumns($)}getColumnGroupShow(){let $=this.colGroupDef;if(!$)return;return $.columnGroupShow}setupExpandable(){if(this.setExpandable(),this.expandableListenerRemoveCallback)this.expandableListenerRemoveCallback();let $=this.onColumnVisibilityChanged.bind(this);for(let z of this.getLeafColumns())z.__addEventListener("visibleChanged",$);this.expandableListenerRemoveCallback=()=>{for(let z of this.getLeafColumns())z.__removeEventListener("visibleChanged",$);this.expandableListenerRemoveCallback=null}}setExpandable(){if(this.isPadding())return;let $=!1,z=!1,Q=!1,J=this.findChildrenRemovingPadding();for(let X=0,Y=J.length;X<Y;X++){let q=J[X];if(!q.isVisible())continue;let G=q.getColumnGroupShow();if(G==="open")$=!0,Q=!0;else if(G==="closed")z=!0,Q=!0;else $=!0,z=!0}let Z=$&&z&&Q;if(this.expandable!==Z)this.expandable=Z,this.dispatchLocalEvent({type:"expandableChanged"})}findChildrenRemovingPadding(){let $=[],z=(Q)=>{for(let J of Q)if(q0(J)&&J.isPadding())z(J.children);else $.push(J)};return z(this.children),$}onColumnVisibilityChanged(){this.setExpandable()}},sq={numericColumn:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"},rightAligned:{headerClass:"ag-right-aligned-header",cellClass:"ag-right-aligned-cell"}};function X2($,z,Q){let J={},Z=$.gos;return Object.assign(J,Z.get("defaultColGroupDef")),Object.assign(J,z),Z.validateColDef(J,Q),J}var rq=class{constructor(){this.existingKeys={}}addExistingKeys($){for(let z=0;z<$.length;z++)this.existingKeys[$[z]]=!0}getUniqueKey($,z){$=cQ($);let Q=0;while(!0){let J=$??z;if(J){if(Q!==0)J+="_"+Q}else J=Q;if(!this.existingKeys[J]){let Z=String(J);if($&&Q>0)j(273,{providedId:$,usedId:Z});return this.existingKeys[Z]=!0,Z}Q++}}},W7=($,z)=>{if(q0($))$.setupExpandable();$.originalParent=z};function B7($,z=null,Q,J,Z){let{existingCols:X,existingGroups:Y}=E7(J),q=new Map(X.map((K)=>[K.getId(),K])),G=new Map(Y.map((K)=>[K.getId(),K])),_=0,H=(K,L)=>{if(_=Math.max(_,L),F7(K)){if(!$.colGroupSvc)return null;let k=K.groupId,V=G.get(k),R=X2($,K,k),O=new Cz(R,k,!1,L);if($.context.createBean(O),V)O.setExpanded(V.isExpanded());return O.setChildren(K.children.map((I)=>H(I,L+1))),O}let D=K.colId,F=q.get(D),M=u$($,K,F?.getColId()??D);if(!F)F=new q$(M,K,D,Q),$.context.createBean(F);else F.setColDef(M,K,Z),D7($,F,M,Z);return $.dataTypeSvc?.addColumnListeners(F),F},U=z?.map((K)=>H(K,0))??[],W=0,B={getUniqueKey:(K,L)=>String(++W)},E=$.colGroupSvc?$.colGroupSvc.balanceColumnTree(U,0,_,B):U;return O$(null,E,W7),{columnTree:E,treeDepth:_}}function p2($,z=null,Q,J,Z){let X=new rq,{existingCols:Y,existingGroups:q,existingColKeys:G}=E7(J);X.addExistingKeys(G);let _=K7($,z,0,Q,Y,X,q,Z),{colGroupSvc:H}=$,U=H?.findMaxDepth(_,0)??0,W=H?H.balanceColumnTree(_,0,U,X):_;return O$(null,W,W7),{columnTree:W,treeDepth:U}}function E7($){let z=[],Q=[],J=[];if($)O$(null,$,(Z)=>{if(q0(Z)){let X=Z;Q.push(X)}else{let X=Z;J.push(X.getId()),z.push(X)}});return{existingCols:z,existingGroups:Q,existingColKeys:J}}function K7($,z,Q,J,Z,X,Y,q){if(!z)return[];let{colGroupSvc:G}=$,_=Array(z.length);for(let H=0;H<_.length;H++){let U=z[H];if(G&&F7(U))_[H]=G.createProvidedColumnGroup(J,U,Q,Z,X,Y,q);else _[H]=lq($,J,U,Z,X,q)}return _}function lq($,z,Q,J,Z,X){let Y=aq(Q,J);if(Y)J?.splice(Y.idx,1);let q=Y?.column;if(!q){let G=Z.getUniqueKey(Q.colId,Q.field),_=u$($,Q,G);q=new q$(_,Q,G,z),$.context.createBean(q)}else{let G=u$($,Q,q.getColId());q.setColDef(G,Q,X),D7($,q,G,X)}return $.dataTypeSvc?.addColumnListeners(q),q}function L7($,z,Q,J,Z,X,Y,q){let{sortSvc:G,pinnedCols:_,colFlex:H}=$;if(Q!==void 0)z.setVisible(!Q,q);if(G){if(G.updateColSort(z,J,q),Z!==void 0)G.setColSortIndex(z,Z)}if(X!==void 0)_?.setColPinned(z,X);if(Y!==void 0)H?.setColFlex(z,Y)}function D7($,z,Q,J){L7($,z,Q.hide,Q.sort,Q.sortIndex,Q.pinned,Q.flex,J);let Z=z.getFlex();if(Z!=null&&Z>0)return;if(Q.width!=null)z.setActualWidth(Q.width,J);else{let X=z.getActualWidth();z.setActualWidth(X,J)}}function aq($,z){if(!z)return;for(let Q=0;Q<z.length;Q++){let J=z[Q].getUserProvidedColDef();if(!J)continue;if($.colId!=null){if(z[Q].getId()===$.colId)return{idx:Q,column:z[Q]};continue}if($.field!=null){if(J.field===$.field)return{idx:Q,column:z[Q]};continue}if(J===$)return{idx:Q,column:z[Q]}}return}function u$($,z,Q,J){let{gos:Z,dataTypeSvc:X}=$,Y={},q=Z.get("defaultColDef");B0(Y,q,!1,!0);let G=oq($,Y,z,Q);if(G)eq($,G,Y);let _=Y.cellDataType;if(B0(Y,z,!1,!0),_!==void 0)Y.cellDataType=_;let H=Z.get("autoGroupColumnDef"),U=W$(Z);if(z.rowGroup&&H&&U)B0(Y,{sort:H.sort,initialSort:H.initialSort},!1,!0);return X?.postProcess(Y),X?.validateColDef(Y,z,q,Q),Z.validateColDef(Y,Q,J),Y}function oq($,z,Q,J){let Z=$.dataTypeSvc?.updateColDefAndGetColumnType(z,Q,J),X=Q.type??Z??z.type;return z.type=X,X?XJ(X):void 0}function eq($,z,Q){if(!z.length)return;let J=Object.assign({},sq),Z=$.gos.get("columnTypes")||{};for(let X of Object.keys(Z)){let Y=Z[X];if(X in J)j(34,{key:X});else{if(Y.type)j(35);J[X]=Y}}for(let X of z){let Y=J[X.trim()];if(Y)B0(Q,Y,!1,!0);else j(36,{t:X})}}function F7($){return $.children!==void 0}function O$($,z,Q){if(!z)return;for(let J=0;J<z.length;J++){let Z=z[J];if(q0(Z))O$(Z,Z.getChildren(),Q);Q(Z,$)}}var uz="ag-Grid-AutoColumn",M7="ag-Grid-SelectionColumn",k7="ag-Grid-RowNumbersColumn",V7="ag-Grid-HierarchyColumn";function CJ($){let z=[],Q=(J)=>{for(let Z=0;Z<J.length;Z++){let X=J[Z];if(Q$(X))z.push(X);else if(q0(X))Q(X.getChildren())}};return Q($),z}function N$($){return $.reduce((z,Q)=>z+Q.getActualWidth(),0)}function J$($,z,Q){let J={};if(!z)return;if(O$(null,z,(X)=>{J[X.getInstanceId()]=X}),Q)O$(null,Q,(X)=>{J[X.getInstanceId()]=null});let Z=Object.values(J).filter((X)=>X!=null);$.context.destroyBeans(Z)}function mz($){return $.getId().startsWith(uz)}function I$($){return(typeof $==="string"?$:("getColId"in $)?$.getColId():$.colId)?.startsWith(M7)??!1}function v0($){return(typeof $==="string"?$:("getColId"in $)?$.getColId():$.colId)?.startsWith(k7)??!1}function q1($){return I$($)||v0($)}function XJ($){let z=[];if($ instanceof Array)z=$;else if(typeof $==="string")z=$.split(",");return z}function G1($,z){return X0($,z,(Q,J)=>Q.getColId()===J.getColId())}function _1($){$.map={};for(let z of $.list)$.map[z.getId()]=z}function Xz($){return $==="optionsUpdated"?"gridOptionsChanged":$}function P$($,z){return $===z||$.colId==z||$.getColDef()===z}var $G=($,z)=>(Q,J)=>{let Z={value1:void 0,value2:void 0},X=!1;if($){if($[Q]!==void 0)Z.value1=$[Q],X=!0;if(T(J)&&$[J]!==void 0)Z.value2=$[J],X=!0}if(!X&&z){if(z[Q]!==void 0)Z.value1=z[Q];if(T(J)&&z[J]!==void 0)Z.value2=z[J]}return Z};function i2($,z){let Q={...$,sort:void 0,colId:z},J=A7($);if(J)Q.sort=J.direction,Q.sortType=J.type;return Q}function A7($){let{sort:z,initialSort:Q}=$,J=UQ(z)||Zz(z),Z=UQ(Q)||Zz(Q);if(J)return a0(z);if(Z)return a0(Q);return null}function S7($,z){return $+"_"+z}function H0($){return $ instanceof aQ}var aQ=class extends S{constructor($,z,Q,J){super();this.providedColumnGroup=$,this.groupId=z,this.partId=Q,this.pinned=J,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 S7(this.groupId,this.partId)}isEmptyGroup(){return this.displayedChildren.length===0}isMoving(){let $=this.getProvidedColumnGroup().getLeafColumns();if(!$||$.length===0)return!1;return $.every((z)=>z.isMoving())}checkLeft(){for(let $ of this.displayedChildren)if(H0($))$.checkLeft();if(this.displayedChildren.length>0)if(this.gos.get("enableRtl")){let z=b(this.displayedChildren).getLeft();this.setLeft(z)}else{let $=this.displayedChildren[0].getLeft();this.setLeft($)}else this.setLeft(null)}getLeft(){return this.left}getOldLeft(){return this.oldLeft}setLeft($){if(this.oldLeft=this.left,this.left!==$)this.left=$,this.dispatchLocalEvent({type:"leftChanged"})}getPinned(){return this.pinned}getGroupId(){return this.groupId}getPartId(){return this.partId}getActualWidth(){let $=0;for(let z of this.displayedChildren??[])$+=z.getActualWidth();return $}isResizable(){if(!this.displayedChildren)return!1;let $=!1;for(let z of this.displayedChildren)if(z.isResizable())$=!0;return $}getMinWidth(){let $=0;for(let z of this.displayedChildren)$+=z.getMinWidth();return $}addChild($){if(!this.children)this.children=[];this.children.push($)}getDisplayedChildren(){return this.displayedChildren}getLeafColumns(){let $=[];return this.addLeafColumns($),$}getDisplayedLeafColumns(){let $=[];return this.addDisplayedLeafColumns($),$}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($){this.providedColumnGroup.setExpanded($)}isAutoHeaderHeight(){return!!this.getColGroupDef()?.autoHeaderHeight}getAutoHeaderHeight(){return this.autoHeaderHeight}setAutoHeaderHeight($){let z=$!==this.autoHeaderHeight;return this.autoHeaderHeight=$,z}addDisplayedLeafColumns($){for(let z of this.displayedChildren??[])if(Q$(z))$.push(z);else if(H0(z))z.addDisplayedLeafColumns($)}addLeafColumns($){for(let z of this.children??[])if(Q$(z))$.push(z);else if(H0(z))z.addLeafColumns($)}getChildren(){return this.children}getColumnGroupShow(){return this.providedColumnGroup.getColumnGroupShow()}getProvidedColumnGroup(){return this.providedColumnGroup}getPaddingLevel(){let $=this.getParent();if(!this.isPadding()||!$?.isPadding())return 0;return 1+$.getPaddingLevel()}calculateDisplayedColumns(){this.displayedChildren=[];let $=this;while($?.isPadding())$=$.getParent();if(!($?$.getProvidedColumnGroup().isExpandable():!1)){this.displayedChildren=this.children,this.dispatchLocalEvent({type:"displayedChildrenChanged"});return}for(let Q of this.children??[]){if(H0(Q)&&!Q.displayedChildren?.length)continue;switch(Q.getColumnGroupShow()){case"open":if($.getProvidedColumnGroup().isExpanded())this.displayedChildren.push(Q);break;case"closed":if(!$.getProvidedColumnGroup().isExpanded())this.displayedChildren.push(Q);break;default:this.displayedChildren.push(Q);break}}this.dispatchLocalEvent({type:"displayedChildrenChanged"})}},A={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"},zG=65,QG=67,JG=86,ZG=68,XG=90,YG=89;function R7($){let{keyCode:z}=$,Q;switch(z){case zG:Q=A.A;break;case QG:Q=A.C;break;case JG:Q=A.V;break;case ZG:Q=A.D;break;case XG:Q=A.Z;break;case YG:Q=A.Y;break;default:Q=$.code}return Q}function qG($,z){return new g((Q)=>{Q(window.setInterval($,z))})}var g=class ${constructor(z){this.status=0,this.resolution=null,this.waiters=[],z((Q)=>this.onDone(Q),(Q)=>this.onReject(Q))}static all(z){return z.length?new $((Q)=>{let J=z.length,Z=Array(J);z.forEach((X,Y)=>{X.then((q)=>{if(Z[Y]=q,J--,J===0)Q(Z)})})}):$.resolve()}static resolve(z=null){return new $((Q)=>Q(z))}then(z){return new $((Q)=>{if(this.status===1)Q(z(this.resolution));else this.waiters.push((J)=>Q(z(J)))})}onDone(z){this.status=1,this.resolution=z;for(let Q of this.waiters)Q(z)}onReject(z){}},GG=class extends R0{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($,z=!1){let Q={capturePointer:!0,dragSource:$,eElement:$.eElement,dragStartPixels:$.dragStartPixels,onDragStart:(J)=>this.onDragStart($,J),onDragStop:this.onDragStop.bind(this),onDragging:this.onDragging.bind(this),onDragCancel:this.onDragCancel.bind(this),includeTouch:z};this.dragSourceAndParamsList.push(Q),this.beans.dragSvc.addDragSource(Q)}setDragImageCompIcon($,z=!1){let Q=this.dragImageComp;if(Q&&(z||this.dragImageLastIcon!==$))this.dragImageLastIcon=$,Q.setIcon($,z)}removeDragSource($){let{dragSourceAndParamsList:z,beans:Q}=this;for(let J=0,Z=z.length;J<Z;J++)if(z[J].dragSource===$){let X=z[J];Q.dragSvc?.removeDragSource(X),z.splice(J,1);break}}destroy(){let{dragSourceAndParamsList:$,dropTargets:z,beans:Q}=this,J=Q.dragSvc;for(let Z of $)J?.removeDragSource(Z);$.length=0,z.length=0,this.externalDropZoneCount=0,this.clearDragAndDropProperties(),super.destroy()}nudge(){let $=this.lastMouseEvent;if($)this.onDragging($,!0)}onDragStart($,z){this.lastMouseEvent=z,this.dragSource=$,this.dragItem=$.getDragItem();let Q=$.eElement.getBoundingClientRect();this.dragInitialSourcePointerOffsetX=z.clientX-Q.left,this.dragInitialSourcePointerOffsetY=z.clientY-Q.top,$.onDragStarted?.(),this.createAndUpdateDragImageComp($)}onDragStop($){let{dragSource:z,lastDropTarget:Q}=this;if(z?.onDragStopped?.(),Q){let J=this.dropTargetEvent(Q,$,!1);Q.onDragStop?.(J)}this.clearDragAndDropProperties()}onDragCancel(){let{dragSource:$,lastDropTarget:z,lastMouseEvent:Q}=this;if($?.onDragCancelled?.(),z&&Q){let J=this.dropTargetEvent(z,Q,!1);z.onDragCancel?.(J)}this.clearDragAndDropProperties()}onDragging($,z=!1){this.positionDragImageComp($);let Q=this.findCurrentDropTarget($),{lastDropTarget:J,dragSource:Z,dragItem:X}=this,Y=!1;if(Q!==J){if(Y=!0,J){let q=this.dropTargetEvent(J,$,z);J.onDragLeave?.(q)}if(J!==null&&!Q)this.handleExit(Z,X);else if(J===null&&Q)this.handleEnter(Z,X);if(Q){let q=this.dropTargetEvent(Q,$,z);Q.onDragEnter?.(q)}this.lastDropTarget=Q}else if(Q){let q=this.dropTargetEvent(Q,$,z);if(Q.onDragging?.(q),q?.changed)Y=!0}if(this.lastMouseEvent=$,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($){let z=$.getContainer(),Q=$.getSecondaryContainers?.(),J=Q?.length;if(!J)return[[z]];let Z=Array(J+1);Z[0]=[z];for(let X=0;X<J;++X)Z[X+1]=Q[X];return Z}isMouseOnDropTarget($,z){let Q=this.getAllContainersFromDropTarget(z),J=!1,Z=(q,G)=>{for(let _ of G){let{width:H,height:U,left:W,right:B,top:E,bottom:K}=_.getBoundingClientRect();if(H===0||U===0)return!1;let L=q.clientX>=W&&q.clientX<B,D=q.clientY>=E&&q.clientY<K;if(!L||!D)return!1}return!0};for(let q of Q)if(Z($,q)){J=!0;break}let{eElement:X,type:Y}=this.dragSource;if(z.targetContainsSource&&!z.getContainer().contains(X))return!1;return J&&z.isInterestedIn(Y,X)}findCurrentDropTarget($){let z=[],Q=this.dropTargets;for(let Y=0,q=Q.length;Y<q;++Y){let G=Q[Y];if(this.isMouseOnDropTarget($,G))z.push(G)}let J=z.length;if(J===0)return null;if(J===1)return z[0];let X=r0(this.beans).elementsFromPoint($.clientX,$.clientY);for(let Y=0,q=X.length;Y<q;++Y){let G=X[Y];for(let _=0,H=z.length;_<H;_++){let U=z[_],W=this.getAllContainersFromDropTarget(U),B=!1;for(let E=0,K=W.length;E<K&&!B;E++){let L=W[E];for(let D=0,F=L.length;D<F;D++)if(L[D]===G){B=!0;break}}if(B)return U}}return null}addDropTarget($){if(this.dropTargets.push($),$.external)this.externalDropZoneCount++}removeDropTarget($){let z=$.getContainer(),Q=this.dropTargets,J=0;for(let Z=0,X=Q.length;Z<X;++Z){let Y=Q[Z];if(Y.getContainer()===z){if(Y.external)--this.externalDropZoneCount;continue}if(J!==Z)Q[J]=Y;++J}Q.length=J}hasExternalDropZones(){return this.externalDropZoneCount>0}findExternalZone($){let z=this.dropTargets;for(let Q=0,J=z.length;Q<J;++Q){let Z=z[Q];if(Z.external&&Z.getContainer()===$)return Z}return null}dropTargetEvent($,z,Q){let{dragSource:J,dragItem:Z,lastDraggingEvent:X,lastMouseEvent:Y,dragInitialSourcePointerOffsetX:q,dragInitialSourcePointerOffsetY:G}=this,_=$.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-H.left,y:W-H.top,vDirection:E>0?"down":E<0?"up":null,hDirection:B<0?"left":B>0?"right":null,initialSourcePointerOffsetX:q,initialSourcePointerOffsetY:G,dragSource:J,fromNudge:Q,dragItem:Z,dropZoneTarget:_,dropTarget:X?.dropTarget??null,changed:!!X?.changed});return this.lastDraggingEvent=K,K}positionDragImageComp($){let z=this.dragImageComp?.getGui();if(z)qq(z,$,this.beans)}removeDragImageComp($){if(this.dragImageComp===$)this.dragImageComp=null;if($)$.getGui()?.remove(),this.destroyBean($)}createAndUpdateDragImageComp($){let z=this.createDragImageComp($)??null;this.dragImageCompPromise=z,z?.then((Q)=>{let J=this.lastMouseEvent;if(z!==this.dragImageCompPromise||!J||!this.isAlive()){this.destroyBean(Q);return}this.dragImageCompPromise=null,this.dragImageLastIcon=void 0,this.dragImageLastLabel=void 0;let Z=this.dragImageComp;if(Z!==Q)this.dragImageComp=Q,this.removeDragImageComp(Z);if(Q)this.appendDragImageComp(Q),this.updateDragImageComp(),this.positionDragImageComp(J)})}appendDragImageComp($){let z=$.getGui(),Q=z.style;if(Q.position="absolute",Q.zIndex="9999",this.beans.dragSvc?.hasPointerCapture())Q.pointerEvents="none";this.gos.setInstanceDomData(z),this.beans.environment.applyThemeClasses(z),Q.top="20px",Q.left="20px";let J=FQ(this.beans);if(!J)this.warnNoBody();else J.appendChild(z)}updateDragImageComp(){let{dragImageComp:$,dragSource:z,lastDropTarget:Q,lastDraggingEvent:J,dragImageLastLabel:Z}=this;if(!$)return;this.setDragImageCompIcon(Q?.getIconName?.(J)??null);let X=z?.dragItemName;if(typeof X==="function")X=X(J);if(X||(X=""),Z!==X)this.dragImageLastLabel=X,$.setLabel(X)}};function j7($){return typeof $==="object"&&!!$.component}function _G($){if(!$)return!1;return $.prototype&&"getGui"in $.prototype}function f7($,z,Q,J){let{name:Z}=Q,X,Y,q,G,_,H;if(z){let U=z,W=U[Z+"Selector"],B=W?W(J):null,E=(K)=>{if(typeof K==="string")X=K;else if(K!=null&&K!==!0)if($.isFrameworkComponent(K))q=K;else Y=K};if(B)E(B.component),G=B.params,_=B.popup,H=B.popupPosition;else E(U[Z])}return{compName:X,jsComp:Y,fwComp:q,paramsFromSelector:G,popupFromSelector:_,popupPositionFromSelector:H}}var HG=class extends S{constructor(){super(...arguments);this.beanName="userCompFactory"}wireBeans($){this.agCompUtils=$.agCompUtils,this.registry=$.registry,this.frameworkCompWrapper=$.frameworkCompWrapper,this.gridOptions=$.gridOptions}getCompDetailsFromGridOptions($,z,Q,J=!1){return this.getCompDetails(this.gridOptions,$,z,Q,J)}getCompDetails($,z,Q,J,Z=!1){let{name:X,cellRenderer:Y}=z,{compName:q,jsComp:G,fwComp:_,paramsFromSelector:H,popupFromSelector:U,popupPositionFromSelector:W}=f7(this.beans.frameworkOverrides,$,z,J),B,E,K=(M)=>{let k=this.registry.getUserComponent(X,M);if(k)G=!k.componentFromFramework?k.component:void 0,_=k.componentFromFramework?k.component:void 0,B=k.params,E=k.processParams};if(q!=null)K(q);if(G==null&&_==null&&Q!=null)K(Q);if(G&&Y&&!_G(G))G=this.agCompUtils?.adaptFunction(z,G);if(!G&&!_){let{validation:M}=this.beans;if(Z&&(q!==Q||!Q))if(q){if(!M?.isProvidedUserComp(q))e(50,{compName:q})}else if(Q){if(!M)e(260,{...this.gos.getModuleErrorParams(),propName:X,compName:Q})}else e(216,{name:X});else if(Q&&!M)e(146,{comp:Q});return}let L=this.mergeParams($,z,J,H,B,E),D=G==null,F=G??_;return{componentFromFramework:D,componentClass:F,params:L,type:z,popupFromSelector:U,popupPositionFromSelector:W,newAgStackInstance:()=>this.newAgStackInstance(F,D,L,z)}}newAgStackInstance($,z,Q,J){let Z=!z,X;if(Z)X=new $;else X=this.frameworkCompWrapper.wrap($,J.mandatoryMethods,J.optionalMethods,J);this.createBean(X);let Y=X.init?.(Q);if(Y==null)return g.resolve(X);return Y.then(()=>X)}mergeParams($,z,Q,J=null,Z,X){let Y={...Q,...Z},G=$?.[z.name+"Params"];if(typeof G==="function"){let _=G(Q);B0(Y,_)}else if(typeof G==="object")B0(Y,G);return B0(Y,J),X?X(Y):Y}};var UG={name:"dragAndDropImageComponent",mandatoryMethods:["setIcon","setLabel"]},WG={name:"headerComponent",optionalMethods:["refresh"]},BG={name:"innerHeaderComponent"},EG={name:"innerHeaderGroupComponent"},KG={name:"headerGroupComponent"},LG={name:"innerRenderer",cellRenderer:!0,optionalMethods:["afterGuiAttached"]},DG={name:"cellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0};var FG={name:"loadingCellRenderer",cellRenderer:!0},MG={name:"cellEditor",mandatoryMethods:["getValue"],optionalMethods:["isPopup","isCancelBeforeStart","isCancelAfterEnd","getPopupPosition","focusIn","focusOut","afterGuiAttached","refresh"]},kG={name:"tooltipComponent"},n2={name:"filter",mandatoryMethods:["isFilterActive","doesFilterPass","getModel","setModel"],optionalMethods:["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onFloatingFilterChanged","onAnyFilterChanged","refresh"]},VG={name:"floatingFilterComponent",mandatoryMethods:["onParentModelChanged"],optionalMethods:["afterGuiAttached","refresh"]},AG={name:"fullWidthCellRenderer",optionalMethods:["refresh","afterGuiAttached"],cellRenderer:!0},SG={name:"loadingCellRenderer",cellRenderer:!0},RG={name:"groupRowRenderer",optionalMethods:["afterGuiAttached"],cellRenderer:!0},jG={name:"detailCellRenderer",optionalMethods:["refresh"],cellRenderer:!0};function fG($,z){return $.getCompDetailsFromGridOptions(UG,"agDragAndDropImage",z,!0)}function H1($,z,Q){return $.getCompDetails(z,LG,void 0,Q)}function OG($,z,Q){return $.getCompDetails(z,WG,"agColumnHeader",Q)}function PG($,z,Q){return $.getCompDetails(z,BG,void 0,Q)}function TG($,z){let Q=z.columnGroup.getColGroupDef();return $.getCompDetails(Q,KG,"agColumnGroupHeader",z)}function vG($,z,Q){return $.getCompDetails(z,EG,void 0,Q)}function IG($,z){return $.getCompDetailsFromGridOptions(AG,void 0,z,!0)}function CG($,z){return $.getCompDetailsFromGridOptions(SG,"agLoadingCellRenderer",z,!0)}function bG($,z){return $.getCompDetailsFromGridOptions(RG,"agGroupRowRenderer",z,!0)}function yG($,z){return $.getCompDetailsFromGridOptions(jG,"agDetailCellRenderer",z,!0)}function oQ($,z,Q){return $.getCompDetails(z,DG,void 0,Q)}function F5($,z,Q){return $.getCompDetails(z,FG,"agSkeletonCellRenderer",Q,!0)}function O7($,z,Q){return $.getCompDetails(z,MG,"agCellEditor",Q,!0)}function d2($,z,Q,J){let Z=z.filter;if(j7(Z))z={filter:Z.component,filterParams:z.filterParams};return $.getCompDetails(z,n2,J,Q,!0)}function xG($,z){return $.getCompDetails(z.colDef,kG,"agTooltipComponent",z,!0)}function t2($,z,Q,J){return $.getCompDetails(z,VG,J,Q)}function P7($,z){return f7($,z,n2)}function jZ($,z,Q){return $.mergeParams(z,n2,Q)}var G$=(($)=>{return $[$.ToolPanel=0]="ToolPanel",$[$.HeaderCell=1]="HeaderCell",$[$.RowDrag=2]="RowDrag",$[$.ChartPanel=3]="ChartPanel",$[$.AdvancedFilterBuilder=4]="AdvancedFilterBuilder",$})(G$||{}),wG=class extends GG{createEvent($){return y(this.gos,$)}createDragImageComp($){let{gos:z,beans:Q}=this;return fG(Q.userCompFactory,y(z,{dragSource:$}))?.newAgStackInstance()}handleEnter($,z){$?.onGridEnter?.(z)}handleExit($,z){$?.onGridExit?.(z)}warnNoBody(){j(54)}isDropZoneWithinThisGrid($){return this.beans.ctrlsSvc.getGridBodyCtrl().eGridBody.contains($.dropZoneTarget)}registerGridDropTarget($,z){let Q={getContainer:$,isInterestedIn:(J)=>J===1||J===0,getIconName:()=>"notAllowed"};this.addDropTarget(Q),z.addDestroyFunc(()=>this.removeDropTarget(Q))}};var T7="ag-resizer-wrapper",t$=($,z)=>({tag:"div",ref:`${$}Resizer`,cls:`ag-resizer ag-resizer-${z}`}),NG={tag:"div",cls:T7,children:[t$("eTopLeft","topLeft"),t$("eTop","top"),t$("eTopRight","topRight"),t$("eRight","right"),t$("eBottomRight","bottomRight"),t$("eBottom","bottom"),t$("eBottomLeft","bottomLeft"),t$("eLeft","left")]},s2=class extends R0{constructor($,z){super();this.element=$,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($){this.popupSvc=$.popupSvc,this.dragSvc=$.dragSvc}center($){let{clientHeight:z,clientWidth:Q}=this.offsetParent,J=Q/2-this.getWidth()/2,Z=z/2-this.getHeight()/2;this.offsetElement(J,Z,$)}initialisePosition($){if(this.positioned)return;let{centered:z,forcePopupParentAsOffsetParent:Q,minWidth:J,width:Z,minHeight:X,height:Y,x:q,y:G}=this.config;if(!this.offsetParent)this.setOffsetParent();let _=0,H=0,U=A0(this.element);if(U){let W=this.findBoundaryElement(),B=window.getComputedStyle(W);if(B.minWidth!=null){let E=W.offsetWidth-this.element.offsetWidth;H=Number.parseInt(B.minWidth,10)-E}if(B.minHeight!=null){let E=W.offsetHeight-this.element.offsetHeight;_=Number.parseInt(B.minHeight,10)-E}}if(this.minHeight=X||_,this.minWidth=J||H,Z)this.setWidth(Z);if(Y)this.setHeight(Y);if(!Z||!Y)this.refreshSize();if(z)this.center($);else if(q||G)this.offsetElement(q,G,$);else if(U&&Q){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,$);else this.setPosition(K,E)}}this.positioned=!!this.offsetParent}isPositioned(){return this.positioned}getPosition(){return this.position}setMovable($,z){if(!this.config.popup||$===this.movable)return;this.movable=$;let Q=this.moveElementDragListener||{eElement:z,onDragStart:this.onMoveStart.bind(this),onDragging:this.onMove.bind(this),onDragStop:this.onMoveEnd.bind(this)};if($)this.dragSvc?.addDragSource(Q),this.moveElementDragListener=Q;else this.dragSvc?.removeDragSource(Q),this.moveElementDragListener=void 0}setResizable($){if(this.clearResizeListeners(),$)this.addResizers();else this.removeResizers();if(typeof $==="boolean"){if($===!1)return;$={topLeft:$,top:$,topRight:$,right:$,bottomRight:$,bottom:$,bottomLeft:$,left:$}}for(let z of Object.keys($)){let Q=!!$[z],J=this.getResizerElement(z),Z={dragStartPixels:0,eElement:J,onDragStart:(X)=>this.onResizeStart(X,z),onDragging:this.onResize.bind(this),onDragStop:(X)=>this.onResizeEnd(X,z)};if(Q||!this.isAlive()&&!Q){if(Q)this.dragSvc?.addDragSource(Z),this.resizeListeners.push(Z),J.style.pointerEvents="all";else J.style.pointerEvents="none";this.resizable[z]=Q}}}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:$,width:z}=this.lastSize;if(z!==-1)this.element.style.width=`${z}px`;if($!==-1)this.element.style.height=`${$}px`}getHeight(){return this.element.offsetHeight}setHeight($){let{popup:z}=this.config,Q=this.element,J=!1;if(typeof $==="string"&&$.includes("%"))NQ(Q,$),$=y6(Q),J=!0;else if($=Math.max(this.minHeight,$),this.positioned){let Z=this.getAvailableHeight();if(Z&&$>Z)$=Z}if(this.getHeight()===$)return;if(J)Q.style.maxHeight="unset",Q.style.minHeight="unset";else if(z)NQ(Q,$);else Q.style.height=`${$}px`,Q.style.flex="0 0 auto",this.lastSize.height=typeof $==="number"?$:Number.parseFloat($)}getAvailableHeight(){let{popup:$,forcePopupParentAsOffsetParent:z}=this.config;if(!this.positioned)this.initialisePosition();let{clientHeight:Q}=this.offsetParent;if(!Q)return null;let J=this.element.getBoundingClientRect(),Z=this.offsetParent.getBoundingClientRect(),X=$?this.position.y:J.top,Y=$?0:Z.top,q=0;if(z){let _=this.element.parentElement;if(_){let{bottom:H}=_.getBoundingClientRect();q=H-J.bottom}}return Q+Y-X-q}getWidth(){return this.element.offsetWidth}setWidth($){let z=this.element,{popup:Q}=this.config,J=!1;if(typeof $==="string"&&$.includes("%"))f$(z,$),$=x6(z),J=!0;else if(this.positioned){$=Math.max(this.minWidth,$);let{clientWidth:Z}=this.offsetParent,X=Q?this.position.x:this.element.getBoundingClientRect().left;if(Z&&$+X>Z)$=Z-X}if(this.getWidth()===$)return;if(J)z.style.maxWidth="unset",z.style.minWidth="unset";else if(this.config.popup)f$(z,$);else z.style.width=`${$}px`,z.style.flex=" unset",this.lastSize.width=typeof $==="number"?$:Number.parseFloat($)}offsetElement($=0,z=0,Q){let{forcePopupParentAsOffsetParent:J}=this.config,Z=J?this.boundaryEl:this.element;if(!Z)return;this.popupSvc?.positionPopup({ePopup:Z,keepWithinBounds:!0,skipObserver:this.movable||this.isResizable(),updatePosition:()=>({x:$,y:z}),postProcessCallback:Q}),this.setPosition(Number.parseFloat(Z.style.left),Number.parseFloat(Z.style.top))}constrainSizeToAvailableHeight($){if(!this.config.forcePopupParentAsOffsetParent)return;let z=()=>{let Q=this.getAvailableHeight();this.element.style.setProperty("max-height",`${Q}px`)};if($&&this.popupSvc)this.resizeObserverSubscriber?.(),this.resizeObserverSubscriber=F$(this.beans,this.popupSvc?.getPopupParent(),z);else if(this.element.style.removeProperty("max-height"),this.resizeObserverSubscriber)this.resizeObserverSubscriber(),this.resizeObserverSubscriber=void 0}setPosition($,z){this.position.x=$,this.position.y=z}updateDragStartPosition($,z){this.dragStartPosition={x:$,y:z}}calculateMouseMovement($){let{e:z,isLeft:Q,isTop:J,anywhereWithin:Z,topBuffer:X}=$,Y=z.clientX-this.dragStartPosition.x,q=z.clientY-this.dragStartPosition.y,G=this.shouldSkipX(z,!!Q,!!Z,Y)?0:Y,_=this.shouldSkipY(z,!!J,X,q)?0:q;return{movementX:G,movementY:_}}shouldSkipX($,z,Q,J){let Z=this.element.getBoundingClientRect(),X=this.offsetParent.getBoundingClientRect(),Y=this.boundaryEl.getBoundingClientRect(),q=this.config.popup?this.position.x:Z.left,G=q<=0&&X.left>=$.clientX||X.right<=$.clientX&&X.right<=Y.right;if(G)return!0;if(z)G=J<0&&$.clientX>q+X.left||J>0&&$.clientX<q+X.left;else if(Q)G=J<0&&$.clientX>Y.right||J>0&&$.clientX<q+X.left;else G=J<0&&$.clientX>Y.right||J>0&&$.clientX<Y.right;return G}shouldSkipY($,z,Q=0,J){let Z=this.element.getBoundingClientRect(),X=this.offsetParent.getBoundingClientRect(),Y=this.boundaryEl.getBoundingClientRect(),q=this.config.popup?this.position.y:Z.top,G=q<=0&&X.top>=$.clientY||X.bottom<=$.clientY&&X.bottom<=Y.bottom;if(G)return!0;if(z)G=J<0&&$.clientY>q+X.top+Q||J>0&&$.clientY<q+X.top;else G=J<0&&$.clientY>Y.bottom||J>0&&$.clientY<Y.bottom;return G}createResizeMap(){let $=(z)=>({element:this.element.querySelector(`[data-ref=${z}Resizer]`)});this.resizerMap={topLeft:$("eTopLeft"),top:$("eTop"),topRight:$("eTopRight"),right:$("eRight"),bottomRight:$("eBottomRight"),bottom:$("eBottom"),bottomLeft:$("eBottomLeft"),left:$("eLeft")}}addResizers(){if(this.resizersAdded)return;let $=this.element;if(!$)return;$.appendChild(K0(NG)),this.createResizeMap(),this.resizersAdded=!0}removeResizers(){this.resizerMap=void 0,this.element.querySelector(`.${T7}`)?.remove(),this.resizersAdded=!1}getResizerElement($){return this.resizerMap[$].element}onResizeStart($,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:Q,forcePopupParentAsOffsetParent:J}=this.config;if(!Q&&!J)this.applySizeToSiblings(this.currentResizer.isBottom||this.currentResizer.isTop);this.isResizing=!0,this.updateDragStartPosition($.clientX,$.clientY)}getSiblings(){let z=this.element.parentElement;if(!z)return null;return Array.prototype.slice.call(z.children).filter((Q)=>!Q.classList.contains("ag-hidden"))}getMinSizeOfSiblings(){let $=this.getSiblings()||[],z=0,Q=0;for(let J of $){let Z=!!J.style.flex&&J.style.flex!=="0 0 auto";if(J===this.element)continue;let X=this.minHeight||0,Y=this.minWidth||0;if(Z){let q=window.getComputedStyle(J);if(q.minHeight)X=Number.parseInt(q.minHeight,10);if(q.minWidth)Y=Number.parseInt(q.minWidth,10)}else X=J.offsetHeight,Y=J.offsetWidth;z+=X,Q+=Y}return{height:z,width:Q}}applySizeToSiblings($){let z=null,Q=this.getSiblings();if(!Q)return;for(let J=0;J<Q.length;J++){let Z=Q[J];if(Z===z)continue;if($)Z.style.height=`${Z.offsetHeight}px`;else Z.style.width=`${Z.offsetWidth}px`;if(Z.style.flex="0 0 auto",Z===this.element)z=Q[J+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(($)=>$)}onResize($){if(!this.isResizing||!this.currentResizer)return;let{popup:z,forcePopupParentAsOffsetParent:Q}=this.config,{isTop:J,isRight:Z,isBottom:X,isLeft:Y}=this.currentResizer,q=Z||Y,G=X||J,{movementX:_,movementY:H}=this.calculateMouseMovement({e:$,isLeft:Y,isTop:J}),U=this.position.x,W=this.position.y,B=0,E=0;if(q&&_){let K=Y?-1:1,L=this.getWidth(),D=L+_*K,F=!1;if(Y){if(B=L-D,U+B<=0||D<=this.minWidth)F=!0,B=0}if(!F)this.setWidth(D)}if(G&&H){let K=J?-1:1,L=this.getHeight(),D=L+H*K,F=!1;if(J){if(E=L-D,W+E<=0||D<=this.minHeight)F=!0,E=0}else if(!this.config.popup&&!this.config.forcePopupParentAsOffsetParent&&L<D&&this.getMinSizeOfSiblings().height+D>this.element.parentElement.offsetHeight)F=!0;if(!F)this.setHeight(D)}if(this.updateDragStartPosition($.clientX,$.clientY),(z||Q)&&B||E)this.offsetElement(U+B,W+E)}onResizeEnd($,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 $=this.element;if(this.config.popup){if(!this.config.width)this.setWidth($.offsetWidth);if(!this.config.height)this.setHeight($.offsetHeight)}}onMoveStart($){if(this.boundaryEl=this.findBoundaryElement(),!this.positioned)this.initialisePosition();this.isMoving=!0,this.element.classList.add("ag-moving"),this.updateDragStartPosition($.clientX,$.clientY)}onMove($){if(!this.isMoving)return;let{x:z,y:Q}=this.position,J;if(this.config.calculateTopBuffer)J=this.config.calculateTopBuffer();let{movementX:Z,movementY:X}=this.calculateMouseMovement({e:$,isTop:!0,anywhereWithin:!0,topBuffer:J});this.offsetElement(z+Z,Q+X),this.updateDragStartPosition($.clientX,$.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 $=this.element;while($){if(window.getComputedStyle($).position!=="static")return $;$=$.parentElement}return this.element}clearResizeListeners(){while(this.resizeListeners.length){let $=this.resizeListeners.pop();this.dragSvc?.removeDragSource($)}}destroy(){if(super.destroy(),this.moveElementDragListener)this.dragSvc?.removeDragSource(this.moveElementDragListener);this.constrainSizeToAvailableHeight(!1),this.clearResizeListeners(),this.removeResizers()}},U1=class extends s2{},f=null;function bJ($){return typeof $?.getGui==="function"}var v7=class{constructor($){this.cssClassStates={},this.getGui=$}toggleCss($,z){if(!$)return;if($.includes(" ")){let J=($||"").split(" ");if(J.length>1){for(let Z of J)this.toggleCss(Z,z);return}}if(this.cssClassStates[$]!==z&&$.length)this.getGui()?.classList.toggle($,z),this.cssClassStates[$]=z}},gG=0,p0=class extends R0{constructor($,z){super();if(this.suppressDataRefValidation=!1,this.displayed=!0,this.visible=!0,this.compId=gG++,this.cssManager=new v7(()=>this.eGui),this.componentSelectors=new Map((z??[]).map((Q)=>[Q.selector,Q])),$)this.setTemplate($)}preConstruct(){this.wireTemplate(this.getGui()),this.addGlobalCss()}wireTemplate($,z){if($&&this.gos)this.applyElementsToComponent($),this.createChildComponentsFromTags($,z)}getCompId(){return this.compId}getDataRefAttribute($){if($.getAttribute)return $.getAttribute(c6);return null}applyElementsToComponent($,z,Q,J=null){if(z===void 0)z=this.getDataRefAttribute($);if(z){let Z=this[z];if(Z===f)this[z]=J??$;else{let X=Q?.[z];if(!this.suppressDataRefValidation&&!X)throw Error(`data-ref: ${z} on ${this.constructor.name} with ${Z}`)}}}createChildComponentsFromTags($,z){let Q=[];for(let J of $.childNodes??[])Q.push(J);for(let J of Q){if(!(J instanceof HTMLElement))continue;let Z=this.createComponentFromElement(J,(X)=>{let Y=X.getGui();if(Y)for(let q of J.attributes??[])Y.setAttribute(q.name,q.value)},z);if(Z){if(Z.addItems&&J.children.length){this.createChildComponentsFromTags(J,z);let X=Array.prototype.slice.call(J.children);Z.addItems(X)}this.swapComponentForNode(Z,$,J)}else if(J.childNodes)this.createChildComponentsFromTags(J,z)}}createComponentFromElement($,z,Q){let J=$.nodeName,Z=this.getDataRefAttribute($),X=J.indexOf("AG-")===0,Y=X?this.componentSelectors.get(J):null,q=null;if(Y){let G=Q&&Z?Q[Z]:void 0;q=new Y.component(G),q.setParentComponent(this),this.createBean(q,null,z)}else if(X)throw Error(`selector: ${J}`);return this.applyElementsToComponent($,Z,Q,q),q}swapComponentForNode($,z,Q){let J=$.getGui();z.replaceChild(J,Q),z.insertBefore(document.createComment(Q.nodeName),J),this.addDestroyFunc(this.destroyBean.bind(this,$))}activateTabIndex($,z){let Q=z??this.gos.get("tabIndex");if(!$)$=[];if(!$.length)$.push(this.getGui());for(let J of $)J.setAttribute("tabindex",Q.toString())}setTemplate($,z,Q){let J;if(typeof $==="string"||$==null)J=v2($);else J=K0($);this.setTemplateFromElement(J,z,Q)}setTemplateFromElement($,z,Q,J=!1){if(this.eGui=$,this.suppressDataRefValidation=J,z)for(let Z=0;Z<z.length;Z++){let X=z[Z];this.componentSelectors.set(X.selector,X)}this.wireTemplate($,Q)}getGui(){return this.eGui}getFocusableElement(){return this.eGui}getAriaElement(){return this.getFocusableElement()}setParentComponent($){this.parentComponent=$}getParentComponent(){return this.parentComponent}setGui($){this.eGui=$}queryForHtmlElement($){return this.eGui.querySelector($)}getContainerAndElement($,z){let Q=z;if($==null)return null;if(!Q)Q=this.eGui;if(X1($))return{element:$,parent:Q};return{element:$.getGui(),parent:Q}}prependChild($,z){let{element:Q,parent:J}=this.getContainerAndElement($,z)||{};if(!Q||!J)return;J.prepend(Q)}appendChild($,z){let{element:Q,parent:J}=this.getContainerAndElement($,z)||{};if(!Q||!J)return;J.appendChild(Q)}isDisplayed(){return this.displayed}setVisible($,z={}){if($!==this.visible){this.visible=$;let{skipAriaHidden:Q}=z;lY(this.eGui,$,{skipAriaHidden:Q})}}setDisplayed($,z={}){if($!==this.displayed){this.displayed=$;let{skipAriaHidden:Q}=z;N(this.eGui,$,{skipAriaHidden:Q});let J={type:"displayChanged",visible:this.displayed};this.dispatchLocalEvent(J)}}destroy(){if(this.parentComponent)this.parentComponent=void 0;super.destroy()}addGuiEventListener($,z,Q){this.eGui.addEventListener($,z,Q),this.addDestroyFunc(()=>this.eGui.removeEventListener($,z))}addCss($){this.cssManager.toggleCss($,!0)}removeCss($){this.cssManager.toggleCss($,!1)}toggleCss($,z){this.cssManager.toggleCss($,z)}registerCSS($){if(this.css===M5)this.css=[$],this.addGlobalCss();else this.css||(this.css=[]),this.css.push($)}addGlobalCss(){if(Array.isArray(this.css)){let $="component-"+Object.getPrototypeOf(this)?.constructor?.name;for(let z of this.css??[])this.beans.environment.addGlobalCSS(z,$)}this.css=M5}},M5=Symbol(),x=class extends p0{},fZ,OZ,PZ,TZ,Y2,q2,vZ;function cz(){if(fZ===void 0)fZ=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return fZ}function yJ(){if(OZ===void 0)OZ=/(firefox)/i.test(navigator.userAgent);return OZ}function I7(){if(PZ===void 0)PZ=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);return PZ}function bz(){if(TZ===void 0)TZ=/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1;return TZ}function G2($){if(!$)return null;let z=$.tabIndex,Q=$.getAttribute("tabIndex");if(z===-1&&(Q===null||Q===""&&!yJ()))return null;return z.toString()}function hG(){if(vZ!==void 0)return vZ;if(!document.body)return-1;let $=1e6,z=yJ()?6000000:1e9,Q=document.createElement("div");document.body.appendChild(Q);while(!0){let J=$*2;if(Q.style.height=J+"px",J>z||Q.clientHeight!==J)break;else $=J}return Q.remove(),vZ=$,$}function r2(){if(q2==null)C7();return q2}function C7(){let $=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",$.appendChild(z);let Q=z.offsetWidth-z.clientWidth;if(Q===0&&z.clientWidth===0)Q=null;if(z.parentNode)z.remove();if(Q!=null)q2=Q,Y2=Q===0}function b7(){if(Y2==null)C7();return Y2}var _2=!1,YJ=0;function uG($){if(YJ>0)return;$.addEventListener("keydown",qJ),$.addEventListener("mousedown",qJ)}function mG($){if(YJ>0)return;$.removeEventListener("keydown",qJ),$.removeEventListener("mousedown",qJ)}function qJ($){let z=_2,Q=$.type==="keydown";if(Q){if($.ctrlKey||$.metaKey||$.altKey)return}if(z===Q)return;_2=Q}function cG($){let z=Y0($);return uG(z),YJ++,()=>{YJ--,mG(z)}}function VQ(){return _2}function E$($,z,Q=!1){let J=rY,Z=b6;if(z)Z+=", "+z;if(Q)Z+=', [tabindex="-1"]';let X=Array.prototype.slice.apply($.querySelectorAll(J)).filter((G)=>{return A0(G)}),Y=Array.prototype.slice.apply($.querySelectorAll(Z));if(!Y.length)return X;return((G,_)=>G.filter((H)=>_.indexOf(H)===-1))(X,Y)}function F0($,z=!1,Q=!1,J=!1){let Z=E$($,J?".ag-tab-guard":null,Q),X=z?b(Z):Z[0];if(X)return X.focus({preventScroll:!0}),!0;return!1}function j0($,z,Q,J){let Z=E$(z,Q?':not([tabindex="-1"])':null),X=d($),Y;if(Q)Y=Z.findIndex((G)=>G.contains(X));else Y=Z.indexOf(X);let q=Y+(J?-1:1);if(q<0||q>=Z.length)return null;return Z[q]}function xJ($,z=5){let Q=0;while($&&G2($)===null&&++Q<=z)$=$.parentElement;if(G2($)===null)return null;return $}var l2="ag-focus-managed",y7=class extends R0{constructor($,z={isStopPropagation:()=>!1,stopPropagation:()=>{}},Q={}){super();this.eFocusable=$,this.stopPropagationCallbacks=z,this.callbacks=Q,this.callbacks={shouldStopEventPropagation:()=>!1,onTabKeyDown:(J)=>{if(J.defaultPrevented)return;let Z=j0(this.beans,this.eFocusable,!1,J.shiftKey);if(!Z)return;Z.focus(),J.preventDefault()},...Q}}postConstruct(){let{eFocusable:$,callbacks:{onFocusIn:z,onFocusOut:Q}}=this;if($.classList.add(l2),this.addKeyDownListeners($),z)this.addManagedElementListeners($,{focusin:z});if(Q)this.addManagedElementListeners($,{focusout:Q})}addKeyDownListeners($){this.addManagedElementListeners($,{keydown:(z)=>{if(z.defaultPrevented||this.stopPropagationCallbacks.isStopPropagation(z))return;let{callbacks:Q}=this;if(Q.shouldStopEventPropagation(z)){this.stopPropagationCallbacks.stopPropagation(z);return}if(z.key===A.TAB)Q.onTabKeyDown(z);else if(Q.handleKeyDown)Q.handleKeyDown(z)}})}},x7="__ag_Grid_Stop_Propagation";function i0($){$[x7]=!0}function z$($){return $[x7]===!0}var Uz={isStopPropagation:z$,stopPropagation:i0},c$=class extends y7{constructor($,z){super($,Uz,z)}},pG={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:($)=>`(${$[0]}, ${$[1]})`,filterSummaryTextQuote:($)=>`"${$[0]}"`,minDateValidation:($)=>`Date must be after ${$[0]}`,maxDateValidation:($)=>`Date must be before ${$[0]}`,strictMinValueValidation:($)=>`Must be greater than ${$[0]}`,strictMaxValueValidation:($)=>`Must be less than ${$[0]}`};function w7($,z,Q){return _q($,pG,z,Q)}function iG($,z){let{debounceMs:Q}=$;if(W1($)){if(Q!=null)j(71);return 0}return Q??z}function W1($){return($.buttons?.indexOf("apply")??-1)>=0}var wJ=class extends x{constructor($,z){super();this.filterNameKey=$,this.cssIdentifier=z,this.applyActive=!1,this.debouncePending=!1,this.defaultDebounceMs=0}postConstruct(){let $={tag:"div",cls:`ag-filter-body-wrapper ag-${this.cssIdentifier}-body-wrapper`,children:[this.createBodyTemplate()]};this.setTemplate($,this.getAgComponents()),this.createManagedBean(new c$(this.getFocusableElement(),{handleKeyDown:this.handleKeyDown.bind(this)})),this.positionableFeature=this.createBean(new U1(this.getPositionableElement(),{forcePopupParentAsOffsetParent:!0}))}handleKeyDown($){}init($){let z=$;this.setParams(z),this.setModelIntoUi(z.state.model,!0).then(()=>this.updateUiVisibility())}areStatesEqual($,z){return $===z}refresh($){let z=$,Q=this.params;this.params=z;let{source:J,state:Z,additionalEventAttributes:X}=z;if(J==="colDef")this.updateParams(z,Q);let Y=this.state;this.state=Z;let q=X?.fromAction;if(q&&q!=="apply"||Z.model!==Y.model||!this.areStatesEqual(Z.state,Y.state))this.setModelIntoUi(Z.model);return!0}setParams($){this.params=$,this.state=$.state,this.commonUpdateParams($)}updateParams($,z){this.commonUpdateParams($,z)}commonUpdateParams($,z){this.applyActive=W1($),this.setupApplyDebounced()}doesFilterPass($){j(283);let{getHandler:z,model:Q,column:J}=this.params;return z().doesFilterPass({...$,model:Q,handlerParams:this.beans.colFilter.getHandlerParams(J)})}getFilterTitle(){return this.translate(this.filterNameKey)}isFilterActive(){return j(284),this.params.model!=null}setupApplyDebounced(){let $=iG(this.params,this.defaultDebounceMs),z=g$(this,this.checkApplyDebounce.bind(this),$);this.applyDebounced=()=>{this.debouncePending=!0,z()}}checkApplyDebounce(){if(this.debouncePending)this.debouncePending=!1,this.doApplyModel()}getModel(){return j(285),this.params.model}setModel($){j(286);let{beans:z,params:Q}=this;return z.colFilter.setModelForColumnLegacy(Q.column,$)}applyModel($="api"){return this.doApplyModel()}canApply($){return!0}doApplyModel($){let{params:z,state:{valid:Q=!0,model:J}}=this;if(!Q)return!1;let Z=!this.areModelsEqual(z.model,J);if(Z)z.onAction("apply",$);return Z}onNewRowsLoaded(){}onUiChanged($,z=!1){this.updateUiVisibility();let Q=this.getModelFromUi(),J={model:Q,state:this.getState(),valid:this.canApply(Q)};this.state=J;let{params:Z,gos:X,eventSvc:Y,applyActive:q}=this;if(Z.onStateChange(J),Z.onUiChange(this.getUiChangeEventParams()),!X.get("enableFilterHandlers"))Y.dispatchEvent({type:"filterModified",column:Z.column,filterInstance:this});if(!J.valid)return;if($??($=q?void 0:"debounce"),$==="immediately")this.doApplyModel({afterFloatingFilter:z,afterDataChange:!1});else if($==="debounce")this.applyDebounced()}getState(){return}getUiChangeEventParams(){return}afterGuiAttached($){this.lastContainerType=$?.container,this.refreshFilterResizer($?.container)}refreshFilterResizer($){let{positionableFeature:z,gos:Q}=this;if(!z)return;let J=$==="floatingFilter"||$==="columnFilter";if(J)z.restoreLastSize(),z.setResizable(Q.get("enableRtl")?{bottom:!0,bottomLeft:!0,left:!0}:{bottom:!0,bottomRight:!0,right:!0});else z.removeSizeFromEl(),z.setResizable(!1);z.constrainSizeToAvailableHeight(J)}afterGuiDetached(){this.checkApplyDebounce(),this.positionableFeature?.constrainSizeToAvailableHeight(!1)}destroy(){this.positionableFeature=this.destroyBean(this.positionableFeature),super.destroy()}translate($,z){return w7(this,$,z)}getPositionableElement(){return this.getGui()}areModelsEqual($,z){if($===z||$==null&&z==null)return!0;if($==null||z==null)return!1;return this.areNonNullModelsEqual($,z)}};var a2=class extends p0{isPopup(){return!0}setParentComponent($){$.addCss("ag-has-popup"),super.setParentComponent($)}destroy(){let $=this.parentComponent;if($?.isAlive())$.getGui().classList.remove("ag-has-popup");super.destroy()}},nG=class extends a2{constructor(){super(...arguments);this.errorMessages=null}init($){this.params=$,this.initialiseEditor($),this.eEditor.onValueChange(()=>$.validate())}destroy(){this.eEditor.destroy(),this.errorMessages=null,super.destroy()}};function o2($){let z=$.rowModel;return z.getType()==="clientSide"?z:void 0}var k5="row-group-",dG="t-",tG="b-",sG=0,Wz=class{constructor($){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=sG++,this.alreadyRendered=!1,this.formulaRowIndex=null,this.hovered=!1,this.__selected=!1,this.beans=$}get groupData(){let $=this._groupData;if($!==void 0)return $;if(this.footer)return this.sibling?.groupData;return this.beans.groupStage?.loadGroupData(this)??null}set groupData($){this._groupData=$}get primaryRow(){let $=this.footer&&this.sibling?this.sibling:this,{pinnedSibling:z}=$;if(z&&$.rowPinned){if($=z,$.footer&&$.sibling)$=$.sibling}return $}get allLeafChildren(){let $=this._leafs;return $===void 0?this.beans.groupStage?.loadLeafs?.(this)??null:$}set allLeafChildren($){this._leafs=$}get expanded(){let $=this.beans.expansionSvc;return $?$.isExpanded(this):this.level===-1?!0:!!this._expanded}set expanded($){this._expanded=$}setData($){this.setDataCommon($,!1)}updateData($){this.setDataCommon($,!0)}setDataCommon($,z){let{valueCache:Q,eventSvc:J}=this.beans,Z=this.data;this.data=$,Q?.onDataChanged(),this.updateDataOnDetailNode(),this.resetQuickFilterAggregateText();let X=this.createDataChangedEvent($,Z,z);if(this.__localEventService?.dispatchEvent(X),this.sibling){this.sibling.data=$;let q=this.sibling.createDataChangedEvent($,Z,z);this.sibling.__localEventService?.dispatchEvent(q)}J.dispatchEvent({type:"rowNodeDataChanged",node:this});let Y=this.pinnedSibling;if(Y)Y.data=$,Y.__localEventService?.dispatchEvent(Y.createDataChangedEvent($,Z,z)),J.dispatchEvent({type:"rowNodeDataChanged",node:Y})}updateDataOnDetailNode(){let $=this.detailNode;if($)$.data=this.data}createDataChangedEvent($,z,Q){return{type:"dataChanged",node:this,oldData:z,newData:$,update:Q}}getRowIndexString(){if(this.rowIndex==null)return e(13),null;if(this.rowPinned==="top")return dG+this.rowIndex;if(this.rowPinned==="bottom")return tG+this.rowIndex;return this.rowIndex.toString()}setDataAndId($,z){let{selectionSvc:Q}=this.beans,J=Q?.createDaemonNode?.(this),Z=this.data;if(this.data=$,this.updateDataOnDetailNode(),this.setId(z),Q)Q.updateRowSelectable(this),Q.syncInRowNode(this,J);let X=this.createDataChangedEvent($,Z,!1);this.__localEventService?.dispatchEvent(X)}setId($){let z=J2(this.beans.gos);if(z)if(this.data){let Q=this.parent?.getRoute()??[];if(this.id=z({data:this.data,parentKeys:Q.length>0?Q:void 0,level:this.level,rowPinned:this.rowPinned}),this.id.startsWith(k5))e(14,{groupPrefix:k5})}else this.id=void 0;else this.id=$}setRowTop($){if(this.oldRowTop=this.rowTop,this.rowTop===$)return;this.rowTop=$,this.dispatchRowEvent("topChanged");let z=$!==null;if(this.displayed!==z)this.displayed=z,this.dispatchRowEvent("displayedChanged")}clearRowTopAndRowIndex(){this.oldRowTop=null,this.setRowTop(null),this.setRowIndex(null)}setHovered($){this.hovered=$}isHovered(){return this.hovered}setRowHeight($,z=!1){this.rowHeight=$,this.rowHeightEstimated=z,this.dispatchRowEvent("heightChanged")}setExpanded($,z,Q){this.beans.expansionSvc?.setExpanded(this,$,z,Q)}setDataValue($,z,Q){let{colModel:J,valueSvc:Z,gos:X,editSvc:Y}=this.beans;if($==null)return!1;let q=J.getCol($)??J.getColDefCol($);if(!q)return!1;if(!this.group){let H=q.getColDef();if(H.pivotValueColumn)q=H.pivotValueColumn}let G=Z.getValueForDisplay({column:q,node:this,from:"data"}).value;if(X.get("readOnlyEdit")){let{beans:{eventSvc:H},data:U,rowIndex:W,rowPinned:B}=this;return H.dispatchEvent({type:"cellEditRequest",event:null,rowIndex:W,rowPinned:B,column:q,colDef:q.colDef,data:U,node:this,oldValue:G,newValue:z,value:z,source:Q}),!1}if(Q!=="data"&&Y&&!Y.committing){let H=Y.setDataValue({rowNode:this,column:q},z,Q);if(H!=null)return H}let _=Z.setValue(this,q,z,Q);if(this.dispatchCellChangedEvent(q,z,G),_)this.pinnedSibling?.dispatchCellChangedEvent(q,z,G);return _}getDataValue($,z="data"){let{colModel:Q,valueSvc:J,formula:Z}=this.beans;if($==null)return;let X=Q.getCol($)??Q.getColDefCol($);if(!X)return;let Y=z==="data-raw",q=Y||z==="value"?"data":z,G=J.getValue(X,this,q,Y);if(!Y){if(Z&&X.isAllowFormula()&&Z.isFormula(G))G=Z.resolveValue(X,this);if(z!=="data"&&X.getAggFunc()&&typeof G==="object"&&G!=null){if(typeof G.toNumber==="function")return G.toNumber();if("value"in G)return G.value}}return G}updateHasChildren(){let $=this.group&&!this.footer||!!this.childrenAfterGroup?.length,{rowChildrenSvc:z}=this.beans;if(z)$=z.getHasChildrenValue(this);if($!==this.__hasChildren)this.__hasChildren=!!$,this.dispatchRowEvent("hasChildrenChanged")}hasChildren(){if(this.__hasChildren==null)this.updateHasChildren();return this.__hasChildren}dispatchCellChangedEvent($,z,Q){let J={type:"cellChanged",node:this,column:$,newValue:z,oldValue:Q};this.__localEventService?.dispatchEvent(J)}resetQuickFilterAggregateText(){this.quickFilterAggregateText=null}isExpandable(){return this.beans.expansionSvc?.isExpandable(this)??!1}isSelected(){if(this.footer)return this.sibling.isSelected();let $=this.rowPinned&&this.pinnedSibling;if($)return $.isSelected();return this.__selected}depthFirstSearch($){let z=this.childrenAfterGroup;if(z)for(let Q=0,J=z.length;Q<J;++Q)z[Q].depthFirstSearch($);$(this)}getAggregatedChildren($,z){let Q=this.beans;return Q.aggChildrenSvc?.getAggregatedChildren(this,Q.colModel.getCol($),z)??[]}dispatchRowEvent($){this.__localEventService?.dispatchEvent({type:$,node:this})}setSelected($,z=!1,Q="api"){this.beans.selectionSvc?.setNodesSelected({nodes:[this],newValue:$,clearSelection:z,source:Q})}isRowPinned(){return!!this.rowPinned}__addEventListener($,z){(this.__localEventService??(this.__localEventService=new K$)).addEventListener($,z)}__removeEventListener($,z){this.removeLocalListener($,z)}addEventListener($,z){this.beans.validation?.checkRowEvents($);let Q=this.__localEventService??(this.__localEventService=new K$);this.frameworkEventListenerService=this.beans.frameworkOverrides.createLocalEventListenerWrapper?.(this.frameworkEventListenerService,Q);let J=this.frameworkEventListenerService?.wrap($,z)??z;Q.addEventListener($,J)}removeEventListener($,z){let Q=this.frameworkEventListenerService?.unwrap($,z)??z;this.removeLocalListener($,Q)}removeLocalListener($,z){let Q=this.__localEventService;if(Q){if(Q.removeEventListener($,z),Q.noRegisteredListenersExist())this.__localEventService=null}}isFullWidthCell(){if(j(61),this.detail)return!0;let $=this.beans.gos.getCallback("isFullWidthRow");return $?$({rowNode:this}):!1}getRoute(){if(this.level===-1)return[];if(this.key==null)return;let $=[],z=this;while(z?.key!=null)$.push(z.key),z=z.parent;return $.reverse()}setRowIndex($){if(this.rowIndex!==$)this.rowIndex=$,this.dispatchRowEvent("rowIndexChanged")}setAllChildrenCount($){if(this.allChildrenCount!==$)this.allChildrenCount=$,this.dispatchRowEvent("allChildrenCountChanged")}setUiLevel($){if(this.uiLevel!==$)this.uiLevel=$,this.dispatchRowEvent("uiLevelChanged")}getFirstChild(){let $=this.childStore;if($)return $.getFirstNode();return this.childrenAfterSort?.[0]??null}_destroy($){if(this.destroyed)return!1;this.destroyed=!0;let z=this.pinnedSibling;if(z?.rowPinned&&!this.rowPinned)this.beans.pinnedRowModel?.pinRow(z,null);if($)this.clearRowTopAndRowIndex();else this.setRowTop(null),this.setRowIndex(null);if(!this.footer){let Q=this.detailNode;if(Q)Q._destroy($);let J=this.sibling;if(J)J._destroy($)}return!0}};function e2($,z,Q){return y(z,{type:Q,node:$,data:$.data,rowIndex:$.rowIndex,rowPinned:$.rowPinned})}var rG=new Set(["__autoHeights","__checkAutoHeightsDebounced","__localEventService","__objectId","_groupData","_leafs","childStore","groupValue","oldRowTop","sticky","treeNodeFlags","treeParent"]),N7=($,z)=>{let Q=new Wz(z);for(let J of Object.keys($)){if(rG.has(J))continue;Q[J]=$[J]}return Q.oldRowTop=null,Q},g7=($,z,Q)=>{if(!Q)return;let J=Q.rowIndex;if(J==null)return;J+=z;let Z=$.getRowCount();while(J>=0&&J<Z){let X=$.getRow(J);if(!X||!X.footer&&!X.detail)return X;J+=z}return};var lG=500,aG=550,y1,oG=($)=>{if(!y1)y1=new WeakSet;else if(y1.has($))return!1;return y1.add($),!0},h0=class{constructor($,z=!1){this.eElement=$,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($,z){let Q=this.eventSvc;if(!Q){if(Q===null)return;this.eventSvc=Q=new K$;let J=this.onTouchStart.bind(this);this.startListener=J,this.eElement.addEventListener("touchstart",J,{passive:!0})}Q.addEventListener($,z)}removeEventListener($,z){this.eventSvc?.removeEventListener($,z)}onTouchStart($){if(this.touchStart||!oG($))return;let z=$.touches[0];this.touchStart=z;let Q=this.handlers;if(!Q.length){let J=this.eElement,Z=J.ownerDocument,X=this.onTouchMove.bind(this),Y=this.onTouchEnd.bind(this),q=this.onTouchCancel.bind(this),G={passive:!0},_={passive:!1};p1(Q,[J,"touchmove",X,G],[Z,"touchcancel",q,G],[Z,"touchend",Y,_],[Z,"contextmenu",QQ,_])}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:$})},aG)}onTouchMove($){let{moved:z,touchStart:Q}=this;if(!z&&Q){let J=qQ(Q,$.touches);if(J&&!p6(J,Q,4))this.clearLongPress(),this.moved=!0}}onTouchEnd($){let z=this.touchStart;if(!z||!qQ(z,$.changedTouches))return;if(!this.moved)this.eventSvc?.dispatchEvent({type:"tap",touchStart:z}),this.checkDoubleTap(z);if(this.preventClick)QQ($);this.cancel()}onTouchCancel($){let z=this.touchStart;if(!z||!qQ(z,$.changedTouches))return;this.lastTapTime=null,this.cancel()}checkDoubleTap($){let z=Date.now(),Q=this.lastTapTime;if(Q){if(z-Q>lG)this.eventSvc?.dispatchEvent({type:"doubleTap",touchStart:$}),z=null}this.lastTapTime=z}cancel(){this.clearLongPress(),I2(this.handlers),this.touchStart=null}clearLongPress(){window.clearTimeout(this.longPressTimer),this.longPressTimer=0,this.moved=!1}destroy(){let $=this.startListener;if($)this.startListener=null,this.eElement.removeEventListener("touchstart",$);this.cancel(),this.eElement=null,this.eventSvc=null}},C$=(($)=>{return $[$.VALUE=0]="VALUE",$[$.DIMENSION=1]="DIMENSION",$})(C$||{}),eG=1,$_=class{constructor($){if(this.beans={},this.createdBeans=[],this.destroyed=!1,this.instanceId=eG++,!$?.beanClasses)return;this.beanDestroyComparator=$.beanDestroyComparator,this.init($)}init($){this.id=$.id,this.beans.context=this,this.destroyCallback=$.destroyCallback;for(let z of Object.keys($.providedBeanInstances))this.beans[z]=$.providedBeanInstances[z];for(let z of $.beanClasses){let Q=new z;if(Q.beanName)this.beans[Q.beanName]=Q;else console.error(`Bean ${z.name} is missing beanName`);this.createdBeans.push(Q)}for(let z of $.derivedBeans??[]){let{beanName:Q,bean:J}=z(this);this.beans[Q]=J,this.createdBeans.push(J)}if($.beanInitComparator)this.createdBeans.sort($.beanInitComparator);this.initBeans(this.createdBeans)}getBeanInstances(){return Object.values(this.beans)}createBean($,z){return this.initBeans([$],z),$}initBeans($,z){let Q=this.beans;for(let J of $)J.preWireBeans?.(Q),J.wireBeans?.(Q);for(let J of $)J.preConstruct?.();if(z)$.forEach(z);for(let J of $)J.postConstruct?.()}getBeans(){return this.beans}getBean($){return this.beans[$]}getId(){return this.id}destroy(){if(this.destroyed)return;this.destroyed=!0;let $=this.getBeanInstances();if(this.beanDestroyComparator)$.sort(this.beanDestroyComparator);this.destroyBeans($),this.beans={},this.createdBeans=[],this.destroyCallback?.()}destroyBean($){$?.destroy?.()}destroyBeans($){if($)for(let z=0;z<$.length;z++)this.destroyBean($[z]);return[]}isDestroyed(){return this.destroyed}};function z_($){return{beanName:"gridApi",bean:$.getBean("apiFunctionSvc").api}}var Q_=["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"],V5=Object.fromEntries(Q_.map(($,z)=>[$,z]));function J_($,z){let Q=($.beanName?V5[$.beanName]:void 0)??Number.MAX_SAFE_INTEGER,J=(z.beanName?V5[z.beanName]:void 0)??Number.MAX_SAFE_INTEGER;return Q-J}function Z_($,z){if($?.beanName==="gridDestroySvc")return-1;if(z?.beanName==="gridDestroySvc")return 1;return 0}function b$($){let{rowIndex:z,rowPinned:Q,column:J}=$;return`${z}.${Q==null?"null":Q}.${J.getId()}`}function AQ($,z){let Q=$.column===z.column,J=$.rowPinned===z.rowPinned,Z=$.rowIndex===z.rowIndex;return Q&&J&&Z}function G0($,z){switch($.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 $.rowIndex<z.rowIndex}function l($,z){if(!$&&!z)return!0;if(!$||!z)return!1;return $.rowIndex===z.rowIndex&&$.rowPinned==z.rowPinned}function KQ($){let z=0,Q,{pinnedRowModel:J,rowModel:Z,pageBounds:X}=$;if(J?.getPinnedTopRowCount())Q="top";else if(Z.getRowCount())Q=null,z=X.getFirstRow();else if(J?.getPinnedBottomRowCount())Q="bottom";return Q===void 0?null:{rowIndex:z,rowPinned:Q}}function qz($){let z,Q=null,{pinnedRowModel:J,pageBounds:Z}=$,X=J?.getPinnedBottomRowCount(),Y=J?.getPinnedTopRowCount();if(X)Q="bottom",z=X-1;else if($.rowModel.getRowCount())z=Z.getLastRow();else if(Y)Q="top",z=Y-1;return z===void 0?null:{rowIndex:z,rowPinned:Q}}function M0($,z){switch(z.rowPinned){case"top":return $.pinnedRowModel?.getPinnedTopRow(z.rowIndex);case"bottom":return $.pinnedRowModel?.getPinnedBottomRow(z.rowIndex);default:return $.rowModel.getRow(z.rowIndex)}}function e0($,z){let Q=$.spannedRowRenderer?.getCellByPosition(z);if(Q)return Q;let J=$.rowRenderer.getRowByPosition(z);if(!J)return null;return J.getCellCtrl(z.column)}function X_($,z,Q){let{rowModel:J,pinnedRowModel:Z}=$,X;if(X??(X=J?.getRowNode(z)),Q)X??(X=Z?.getPinnedRowById(z,Q));else X??(X=Z?.getPinnedRowById(z,"top")),X??(X=Z?.getPinnedRowById(z,"bottom"));return X}function m0($,z,Q=!1){let{rowIndex:J,rowPinned:Z}=z,{pageBounds:X,pinnedRowModel:Y,rowModel:q}=$;if(J===0){if(Z==="top")return null;if(Z==="bottom"&&q.isRowsToRender())return{rowIndex:X.getLastRow(),rowPinned:null};return Y?.isRowsToRender("top")?{rowIndex:Y.getPinnedTopRowCount()-1,rowPinned:"top"}:null}if(Q){let G=Z?void 0:q.getRow(J);return h7($,G,!0)??{rowIndex:J-1,rowPinned:Z}}return{rowIndex:J-1,rowPinned:Z}}function $4($,z){let{pinnedRowModel:Q,rowModel:J}=$,Z=Q?.getPinnedTopRowCount()??0,X=J.getRowCount(),{rowPinned:Y,rowIndex:q}=z;if(Y==="top")return q;if(Y==="bottom")return Z+X+q;return Z+q}function L0($,z,Q=!1){let{rowIndex:J,rowPinned:Z}=z,{pageBounds:X,pinnedRowModel:Y,rowModel:q}=$;if(Y_($,z)){if(Z==="bottom")return null;if(Z==="top"&&q.isRowsToRender())return{rowIndex:X.getFirstRow(),rowPinned:null};return Y?.isRowsToRender("bottom")?{rowIndex:0,rowPinned:"bottom"}:null}if(Q){let G=Z?void 0:q.getRow(J);return h7($,G)??{rowIndex:J+1,rowPinned:Z}}return{rowIndex:J+1,rowPinned:Z}}function h7($,z,Q=!1){let{gos:J,rowRenderer:Z}=$;if(!z?.sticky||!kQ(J))return;let X=Z.getStickyTopRowCtrls(),Y=Z.getStickyBottomRowCtrls(),q=!Y.some((U)=>U.rowNode.rowIndex===z.rowIndex),G=q?X:Y,_=(Q?-1:1)*(q?-1:1),H;for(let U=0;U<G.length;U++)if(G[U].rowNode.rowIndex===z.rowIndex){H=G[U+_];break}return H?{rowIndex:H.rowNode.rowIndex,rowPinned:null}:void 0}function Y_($,z){let{rowPinned:Q,rowIndex:J}=z,{pinnedRowModel:Z,pageBounds:X}=$;if(Q==="top")return(Z?.getPinnedTopRowCount()??0)-1<=J;if(Q==="bottom")return(Z?.getPinnedBottomRowCount()??0)-1<=J;return X.getLastRow()<=J}function Bz($,z,Q){z.addManagedElementListeners(Q,{keydown:(J)=>{if(!J.defaultPrevented&&!__(J)&&J.key===A.TAB){let Z=J.shiftKey;if(!j0($,Q,!1,Z)){if(Z$($,Z))J.preventDefault()}}}})}function H$($){return $.gos.get("suppressHeaderFocus")||!!$.overlays?.exclusive}function GJ($){return $.gos.get("suppressCellFocus")||!!$.overlays?.exclusive}function Z$($,z,Q=!1){let J=$.ctrlsSvc.get("gridCtrl"),Z=J.focusNextInnerContainer(z);if(Z===!0)return!0;if(Z===!1)return Z;if(Q||!z&&!J.isDetailGrid()&&J.isFocusInsideGridBody())J.forceFocusOutOfContainer(z);return!1}function q_($,z){let Q=$.focusSvc,J=Q.getFocusedCell();if(J&&z&&AQ(J,z)){let{rowIndex:Z,rowPinned:X,column:Y}=z;if(hz($))Q.setFocusedCell({rowIndex:Z,column:Y,rowPinned:X,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!VQ()})}}function G_($,z){let Q=$.getFocusableContainerName();if(Q==="gridBody")return z();return u7($,()=>E$($.getGui(),".ag-tab-guard").length>0)?Q:null}function u7($,z){$.setAllowFocus?.(!0);try{return z()}finally{$.setAllowFocus?.(!1)}}var m7="__ag_Grid_Skip_Focusable_Container";function c7($){$[m7]=!0}function __($){return $[m7]===!0}function p7($){if(!$.cols)return-1;return $.cols.treeDepth+1}function l0($){return $.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0}function z4($){let z=[],Q=$.ctrlsSvc.getHeaderRowContainerCtrls();for(let J of Q){if(!J)continue;let Z=J.getGroupRowCount()||0;for(let X=0;X<Z;X++){let Y=J.getGroupRowCtrlAtIndex(X),q=z[X];if(Y){let G=H_($,Y);if(q==null||G>q)z[X]=G}}}return z}function H_($,z){let J=$.colModel.isPivotMode()?W_($):n7($),Z=z.getHeaderCellCtrls();for(let X of Z){let{column:Y}=X,q=Y.getAutoHeaderHeight();if(q!=null&&q>J&&Y.isAutoHeaderHeight())J=q}return J}function Q4($){let Q=$.colModel.isPivotMode()?U_($):NJ($);return $.colModel.forAllCols((J)=>{let Z=J.getAutoHeaderHeight();if(Z!=null&&Z>Q&&J.isAutoHeaderHeight())Q=Z}),Q}function NJ($){return $.gos.get("headerHeight")??$.environment.getDefaultHeaderHeight()}function i7($){return $.gos.get("floatingFiltersHeight")??NJ($)}function n7($){return $.gos.get("groupHeaderHeight")??NJ($)}function U_($){return $.gos.get("pivotHeaderHeight")??NJ($)}function W_($){return $.gos.get("pivotGroupHeaderHeight")??n7($)}function B_($,z){return $.headerRowIndex===z.headerRowIndex&&$.column===z.column}function E_($){return $?.headerRowIndex!=null}var K_=class extends S{setComp($,z,Q){this.comp=$,this.eGui=z;let{beans:J}=this,{headerNavigation:Z,touchSvc:X,ctrlsSvc:Y}=J;if(Z)this.createManagedBean(new c$(Q,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusOut:this.onFocusOut.bind(this)}));this.addManagedEventListeners({columnPivotModeChanged:this.onPivotModeChanged.bind(this,J),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this,J)}),this.onPivotModeChanged(J),this.setupHeaderHeight();let q=this.onHeaderContextMenu.bind(this);this.addManagedElementListeners(this.eGui,{contextmenu:q}),X?.mockHeaderContextMenu(this,q),Y.register("gridHeaderCtrl",this)}setupHeaderHeight(){let $=this.setHeaderHeight.bind(this);$(),this.addManagedPropertyListeners(["headerHeight","pivotHeaderHeight","groupHeaderHeight","pivotGroupHeaderHeight","floatingFiltersHeight"],$),this.addManagedEventListeners({headerRowsChanged:$,columnHeaderHeightChanged:$,columnGroupHeaderHeightChanged:()=>Y$(this.beans,()=>$()),stylesChanged:$,advancedFilterEnabledChanged:$})}setHeaderHeight(){let{beans:$}=this,z=0,Q=z4($).reduce((Y,q)=>Y+q,0),J=Q4($);if($.filterManager?.hasFloatingFilters())z+=i7($);z+=Q,z+=J;let Z=$.environment.getHeaderRowBorderWidth(),X=z+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($){let z=$.colModel.isPivotMode();this.comp.toggleCss("ag-pivot-on",z),this.comp.toggleCss("ag-pivot-off",!z)}onDisplayedColumnsChanged($){let Q=$.visibleCols.allCols.some((J)=>J.isSpanHeaderHeight());this.comp.toggleCss("ag-header-allow-overflow",Q)}onTabKeyDown($){let z=this.gos.get("enableRtl"),Q=$.shiftKey,J=Q!==z?"LEFT":"RIGHT",{beans:Z}=this,{headerNavigation:X,focusSvc:Y}=Z;if(X.navigateHorizontally(J,!0,$)||!Q&&Y.focusOverlay(!1)||Z$(Z,Q,!0))$.preventDefault()}handleKeyDown($){let z=null,{headerNavigation:Q}=this.beans;switch($.key){case A.LEFT:z="LEFT";case A.RIGHT:{if(!T(z))z="RIGHT";if(Q.navigateHorizontally(z,!1,$))$.preventDefault();break}case A.UP:z="UP";case A.DOWN:{if(!T(z))z="DOWN";if(Q.navigateVertically(z,$))$.preventDefault();break}default:return}}onFocusOut($){let{relatedTarget:z}=$,{eGui:Q,beans:J}=this;if(!z&&Q.contains(d(J)))return;if(!Q.contains(z))J.focusSvc.focusedHeader=null}onHeaderContextMenu($,z,Q){let{menuSvc:J,ctrlsSvc:Z}=this.beans;if(!$&&!Q||!J?.isHeaderContextMenuEnabled())return;let{target:X}=$??z;if(X===this.eGui||X===Z.getHeaderRowContainerCtrl()?.eViewport)J.showHeaderContextMenu(void 0,$,Q)}},J4=class extends x{constructor($,z){super($);this.ctrl=z}getCtrl(){return this.ctrl}},L_={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"}]},D_=class extends J4{constructor($){super(L_,$);this.eResize=f,this.eHeaderCompWrapper=f,this.headerCompVersion=0}postConstruct(){let $=this.getGui(),z=()=>{let J=this.ctrl.getSelectAllGui();if(J)this.eResize.insertAdjacentElement("afterend",J),this.addDestroyFunc(()=>J.remove())},Q={setWidth:(J)=>$.style.width=J,toggleCss:(J,Z)=>this.toggleCss(J,Z),setUserStyles:(J)=>Z1($,J),setAriaSort:(J)=>J?dY($,J):tY($),setUserCompDetails:(J)=>this.setUserCompDetails(J),getUserCompInstance:()=>this.headerComp,refreshSelectAllGui:z,removeSelectAllGui:()=>this.ctrl.getSelectAllGui()?.remove()};this.ctrl.setComp(Q,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($){this.headerCompVersion++;let z=this.headerCompVersion;$.newAgStackInstance().then((Q)=>this.afterCompCreated(z,Q))}afterCompCreated($,z){if($!=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())}},F_={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"}]},M_=class extends J4{constructor($){super(F_,$);this.eResize=f,this.eHeaderCompWrapper=f}postConstruct(){let $=this.getGui(),z=(J,Z)=>Z!=null?$.setAttribute(J,Z):$.removeAttribute(J),Q={toggleCss:(J,Z)=>this.toggleCss(J,Z),setUserStyles:(J)=>Z1($,J),setHeaderWrapperHidden:(J)=>{if(J)this.eHeaderCompWrapper.style.setProperty("display","none");else this.eHeaderCompWrapper.style.removeProperty("display")},setHeaderWrapperMaxHeight:(J)=>{if(J!=null)this.eHeaderCompWrapper.style.setProperty("max-height",`${J}px`);else this.eHeaderCompWrapper.style.removeProperty("max-height");this.eHeaderCompWrapper.classList.toggle("ag-header-cell-comp-wrapper-limited-height",J!=null)},setResizableDisplayed:(J)=>N(this.eResize,J),setWidth:(J)=>$.style.width=J,setAriaExpanded:(J)=>z("aria-expanded",J),setUserCompDetails:(J)=>this.setUserCompDetails(J),getUserCompInstance:()=>this.headerGroupComp};this.ctrl.setComp(Q,$,this.eResize,this.eHeaderCompWrapper,void 0)}setUserCompDetails($){$.newAgStackInstance().then((z)=>this.afterHeaderCompCreated(z))}afterHeaderCompCreated($){let z=()=>this.destroyBean($);if(!this.isAlive()){z();return}let Q=this.getGui(),J=$.getGui();this.eHeaderCompWrapper.appendChild(J),this.addDestroyFunc(z),this.headerGroupComp=$,this.ctrl.setDragSource(Q)}},k_={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"}}]}]},V_=class extends J4{constructor($){super(k_,$);this.eFloatingFilterBody=f,this.eButtonWrapper=f,this.eButtonShowMainFilter=f}postConstruct(){let $=this.getGui(),z={toggleCss:(Q,J)=>this.toggleCss(Q,J),setUserStyles:(Q)=>Z1($,Q),addOrRemoveBodyCssClass:(Q,J)=>this.eFloatingFilterBody.classList.toggle(Q,J),setButtonWrapperDisplayed:(Q)=>N(this.eButtonWrapper,Q),setCompDetails:(Q)=>this.setCompDetails(Q),getFloatingFilterComp:()=>this.compPromise,setWidth:(Q)=>$.style.width=Q,setMenuIcon:(Q)=>this.eButtonShowMainFilter.appendChild(Q)};this.ctrl.setComp(z,$,this.eButtonShowMainFilter,this.eFloatingFilterBody,void 0)}setCompDetails($){if(!$){this.destroyFloatingFilterComp(),this.compPromise=null;return}this.compPromise=$.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($){if(!$)return;if(!this.isAlive()){this.destroyBean($);return}this.destroyFloatingFilterComp(),this.floatingFilterComp=$,this.eFloatingFilterBody.appendChild($.getGui()),$.afterGuiAttached?.()}},A_=class extends x{constructor($){super({tag:"div",cls:$.headerRowClass,role:"row"});this.ctrl=$,this.headerComps={}}postConstruct(){this.getGui().setAttribute("tabindex",String(this.gos.get("tabIndex"))),e1(this.getGui(),this.ctrl.getAriaRowIndex());let z={setHeight:(Q)=>this.getGui().style.height=Q,setTop:(Q)=>this.getGui().style.top=Q,setHeaderCtrls:(Q,J)=>this.setHeaderCtrls(Q,J),setWidth:(Q)=>this.getGui().style.width=Q,setRowIndex:(Q)=>e1(this.getGui(),Q)};this.ctrl.setComp(z,void 0)}destroy(){this.setHeaderCtrls([],!1),super.destroy()}setHeaderCtrls($,z){if(!this.isAlive())return;let Q=this.headerComps;this.headerComps={};for(let J of $){let Z=J.instanceId,X=Q[Z];if(delete Q[Z],X==null)X=this.createHeaderComp(J),this.getGui().appendChild(X.getGui());this.headerComps[Z]=X}if(Object.values(Q).forEach((J)=>{J.getGui().remove(),this.destroyBean(J)}),z){let J=Object.values(this.headerComps);J.sort((X,Y)=>{let q=X.getCtrl().column.getLeft(),G=Y.getCtrl().column.getLeft();return q-G});let Z=J.map((X)=>X.getGui());h6(this.getGui(),Z)}}createHeaderComp($){let z;switch(this.ctrl.type){case"group":z=new M_($);break;case"filter":z=new V_($);break;default:z=new D_($);break}return this.createBean(z),z.setParentComponent(this),z}},Z4=class extends S{constructor($,z=!1){super();this.callback=$,this.addSpacer=z}postConstruct(){let $=this.setWidth.bind(this);if(this.addManagedPropertyListener("domLayout",$),this.addManagedEventListeners({columnContainerWidthChanged:$,displayedColumnsChanged:$,leftPinnedWidthChanged:$}),this.addSpacer)this.addManagedEventListeners({rightPinnedWidthChanged:$,scrollVisibilityChanged:$,scrollbarWidthChanged:$});this.setWidth()}setWidth(){let $=V0(this.gos,"print"),{visibleCols:z,scrollVisibleSvc:Q}=this.beans,J=z.bodyWidth,Z=z.getColsLeftWidth(),X=z.getDisplayedColumnsRightWidth(),Y;if($)Y=J+Z+X;else if(Y=J,this.addSpacer){if((this.gos.get("enableRtl")?Z:X)===0&&Q.verticalScrollShowing)Y+=Q.getScrollbarWidth()}this.callback(Y)}};function B1($,z,Q){if(Q)$.addDestroyFunc(()=>z.destroyBean(Q));return Q??$}var X4=class extends S{constructor($,z,Q,J){super();this.columnOrGroup=$,this.eCell=z,this.colsSpanning=J,this.columnOrGroup=$,this.ariaEl=z.querySelector("[role=columnheader]")||z,this.beans=Q}setColsSpanning($){this.colsSpanning=$,this.onLeftChanged()}getColumnOrGroup(){let{beans:$,colsSpanning:z}=this;if($.gos.get("enableRtl")&&z)return b(z);return this.columnOrGroup}postConstruct(){let $=this.onLeftChanged.bind(this);this.addManagedListeners(this.columnOrGroup,{leftChanged:$}),this.setLeftFirstTime(),this.addManagedEventListeners({displayedColumnsWidthChanged:$}),this.addManagedPropertyListener("domLayout",$)}setLeftFirstTime(){let{gos:$,colAnimation:z}=this.beans,Q=$.get("suppressColumnMoveAnimation"),J=T(this.columnOrGroup.getOldLeft());if(z?.isActive()&&J&&!Q)this.animateInLeft();else this.onLeftChanged()}animateInLeft(){let $=this.getColumnOrGroup(),z=this.modifyLeftForPrintLayout($,$.getOldLeft()),Q=this.modifyLeftForPrintLayout($,$.getLeft());this.setLeft(z),this.actualLeft=Q,this.beans.colAnimation.executeNextVMTurn(()=>{if(this.actualLeft===Q)this.setLeft(Q)})}onLeftChanged(){let $=this.getColumnOrGroup(),z=$.getLeft();this.actualLeft=this.modifyLeftForPrintLayout($,z),this.setLeft(this.actualLeft)}modifyLeftForPrintLayout($,z){let{gos:Q,visibleCols:J}=this.beans;if(!V0(Q,"print"))return z;if($.getPinned()==="left")return z;let X=J.getColsLeftWidth();if($.getPinned()==="right"){let Y=J.bodyWidth;return X+Y+z}return X+z}setLeft($){if(T($))this.eCell.style.left=`${$}px`;if(H0(this.columnOrGroup)){let z=this.columnOrGroup.getLeafColumns();if(!z.length)return;if(z.length>1)nY(this.ariaEl,z.length)}}},S_="ag-column-first",R_="ag-column-last";function gJ($,z,Q,J){if(n($))return[];return t7($.headerClass,$,z,Q,J)}function hJ($,z,Q,J){if(n($))return[];return t7($.toolPanelClass,$,z,Q,J)}function d7($,z,Q){$.toggleCss(S_,Q.isColAtEdge(z,"first")),$.toggleCss(R_,Q.isColAtEdge(z,"last"))}function j_($,z,Q,J){return y(z,{colDef:$,column:Q,columnGroup:J})}function t7($,z,Q,J,Z){if(n($))return[];let X;if(typeof $==="function"){let Y=j_(z,Q,J,Z);X=$(Y)}else X=$;if(typeof X==="string")return[X];if(Array.isArray(X))return[...X];return[]}var f_=0,s7="headerCtrl",Y4=class extends S{constructor($,z){super();this.column=$,this.rowCtrl=z,this.resizeToggleTimeout=0,this.resizeMultiplier=1,this.resizeFeature=null,this.lastFocusEvent=null,this.dragSource=null,this.reAttemptToFocus=!1,this.instanceId=$.getUniqueId()+"-"+f_++}postConstruct(){let $=this.refreshTabIndex.bind(this);this.addManagedPropertyListeners(["suppressHeaderFocus"],$),this.addManagedEventListeners({overlayExclusiveChanged:$})}setComp($,z,Q,J,Z){if(z.setAttribute("col-id",this.column.colIdSanitised),this.wireComp($,z,Q,J,Z),this.reAttemptToFocus)this.reAttemptToFocus=!1,this.focus(this.lastFocusEvent??void 0)}shouldStopEventPropagation($){let{headerRowIndex:z,column:Q}=this.beans.focusSvc.focusedHeader,J=Q.getDefinition(),Z=J?.suppressHeaderKeyboardEvent;if(!T(Z))return!1;let X=y(this.gos,{colDef:J,column:Q,headerRowIndex:z,event:$});return!!Z(X)}getWrapperHasFocus(){return d(this.beans)===this.eGui}setGui($,z){this.eGui=$,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 $=this.column.getDefinition();if(!$)return;let{headerStyle:z}=$,Q;if(typeof z==="function"){let J=this.getHeaderClassParams();Q=z(J)}else Q=z;if(Q)this.comp.setUserStyles(Q)}onGuiFocus(){this.eventSvc.dispatchEvent({type:"headerFocused",column:this.column})}setupAutoHeight($){let{wrapperElement:z,checkMeasuringCallback:Q,compBean:J}=$,{beans:Z}=this,X=(U)=>{if(!this.isAlive()||!J.isAlive())return;let{paddingTop:W,paddingBottom:B,borderBottomWidth:E,borderTopWidth:K}=MQ(this.eGui),L=W+B+E+K,F=z.offsetHeight+L;if(U<5){let k=!Y0(Z)?.contains(z),V=F==0;if(k||V){eZ(()=>X(U+1),"raf",Z);return}}this.setColHeaderHeight(this.column,F)},Y=!1,q,G=()=>{let U=this.column.isAutoHeaderHeight();if(U&&!Y)_();if(!U&&Y)H()},_=()=>{Y=!0,this.comp.toggleCss("ag-header-cell-auto-height",!0),X(0),q=F$(this.beans,z,()=>X(0))},H=()=>{if(Y=!1,q)q();this.comp.toggleCss("ag-header-cell-auto-height",!1),q=void 0};if(G(),J.addDestroyFunc(()=>H()),J.addManagedListeners(this.column,{widthChanged:()=>Y&&X(0)}),J.addManagedEventListeners({sortChanged:()=>{if(Y)window.setTimeout(()=>X(0))}}),Q)Q(G)}onDisplayedColumnsChanged(){let{comp:$,column:z,beans:Q,eGui:J}=this;if(!$||!z||!J)return;d7($,z,Q.visibleCols),T6(J,Q.visibleCols.getAriaColIndex(z))}addResizeAndMoveKeyboardListeners($){$.addManagedListeners(this.eGui,{keydown:this.onGuiKeyDown.bind(this),keyup:this.onGuiKeyUp.bind(this)})}refreshTabIndex(){let $=H$(this.beans);if(this.eGui)Pz(this.eGui,"tabindex",$?null:"-1")}onGuiKeyDown($){let z=d(this.beans),Q=$.key===A.LEFT||$.key===A.RIGHT;if(this.isResizing)$.preventDefault(),$.stopImmediatePropagation();if(z!==this.eGui||!$.shiftKey&&!$.altKey&&!$.ctrlKey&&!$.metaKey)return;if(this.isResizing||Q)$.preventDefault(),$.stopImmediatePropagation();if(($.ctrlKey||$.metaKey)&&R7($)===A.C)return this.beans.clipboardSvc?.copyToClipboard();if(!Q)return;let X=$.key===A.LEFT!==this.gos.get("enableRtl")?"left":"right";if($.altKey){this.isResizing=!0,this.resizeMultiplier+=1;let Y=this.getViewportAdjustedResizeDiff($);this.resizeHeader(Y,$.shiftKey),this.resizeFeature?.toggleColumnResizing(!0)}else this.moveHeader(X)}moveHeader($){this.beans.colMoves?.moveHeader($,this.eGui,this.column,this.rowCtrl.pinned,this)}getViewportAdjustedResizeDiff($){let z=this.getResizeDiff($),{pinnedCols:Q}=this.beans;return Q?Q.getHeaderResizeDiff(z,this.column):z}getResizeDiff($){let{gos:z,column:Q}=this,J=$.key===A.LEFT!==z.get("enableRtl"),Z=Q.getPinned(),X=z.get("enableRtl");if(Z){if(X!==(Z==="right"))J=!J}return(J?-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($){let z=this.getWrapperHasFocus();switch($.key){case A.PAGE_DOWN:case A.PAGE_UP:case A.PAGE_HOME:case A.PAGE_END:if(z)$.preventDefault()}}addDomData($){let z=s7,{eGui:Q,gos:J}=this;wz(J,Q,z,this),$.addDestroyFunc(()=>wz(J,Q,z,null))}focus($){if(!this.isAlive())return!1;let{eGui:z}=this;if(!z)this.reAttemptToFocus=!0;else this.lastFocusEvent=$||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($,z,Q){let J=$??z,{menuSvc:Z,gos:X}=this.beans;if(X.get("preventDefaultOnContextMenu"))J.preventDefault();if(Z?.isHeaderContextMenuEnabled(Q))Z.showHeaderContextMenu(Q,$,z);this.dispatchColumnMouseEvent("columnHeaderContextMenu",Q)}dispatchColumnMouseEvent($,z){this.eventSvc.dispatchEvent({type:$,column:z})}setColHeaderHeight($,z){if(!$.setAutoHeaderHeight(z))return;let{eventSvc:Q}=this;if($.isColumn)Q.dispatchEvent({type:"columnHeaderHeightChanged",column:$,columns:[$],source:"autosizeColumnHeaderHeight"});else Q.dispatchEvent({type:"columnGroupHeaderHeightChanged",columnGroup:$,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}},O_=class extends Y4{constructor(){super(...arguments);this.refreshFunctions={},this.userHeaderClasses=new Set,this.ariaDescriptionProperties=new Map}wireComp($,z,Q,J,Z){this.comp=$;let{rowCtrl:X,column:Y,beans:q}=this,{colResize:G,context:_,colHover:H,rangeSvc:U}=q,W=B1(this,_,Z);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:J,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(),G)this.resizeFeature=W.createManagedBean(G.createResizeFeature(X.pinned,Y,Q,$,this));else N(Q,!1);H?.createHoverFeature(W,[Y],z),U?.createRangeHighlightFeature(W,Y,$),W.createManagedBean(new X4(Y,z,q)),W.createManagedBean(new c$(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($,z){this.beans.colResize?.resizeHeader(this.column,$,z)}getHeaderClassParams(){let{column:$,beans:z}=this,Q=$.colDef;return y(z.gos,{colDef:Q,column:$,floatingFilter:!1})}setupUserComp(){let $=this.lookupUserCompDetails();if($)this.setCompDetails($)}setCompDetails($){this.userCompDetails=$,this.comp.setUserCompDetails($)}lookupUserCompDetails(){let $=this.createParams(),z=this.column.getColDef();return OG(this.beans.userCompFactory,z,$)}createParams(){let{menuSvc:$,sortSvc:z,colFilter:Q,gos:J}=this.beans;return y(J,{column:this.column,displayName:this.displayName,enableSorting:this.column.isSortable(),enableMenu:this.menuEnabled,enableFilterButton:this.openFilterEnabled&&!!$?.isHeaderFilterButtonEnabled(this.column),enableFilterIcon:!!Q&&(!this.openFilterEnabled||U0(this.gos)),showColumnMenu:(X,Y)=>{$?.showColumnMenu({column:this.column,buttonElement:X,positionBy:"button",onClosedCallback:Y})},showColumnMenuAfterMouseClick:(X,Y)=>{$?.showColumnMenu({column:this.column,mouseEvent:X,positionBy:"mouse",onClosedCallback:Y})},showFilter:(X)=>{$?.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)=>{J.assertModuleRegistered("Tooltip",3),this.setupTooltip(X,Y)}})}setupSelectAll($){let{selectionSvc:z}=this.beans;if(!z)return;this.selectAllFeature=$.createOptionalManagedBean(z.createSelectAllFeature(this.column)),this.selectAllFeature?.setComp(this),$.addManagedPropertyListener("rowSelection",()=>{let Q=z.createSelectAllFeature(this.column);if(Q&&!this.selectAllFeature)this.selectAllFeature=$.createManagedBean(Q),this.selectAllFeature?.setComp(this),this.comp.refreshSelectAllGui();else if(this.selectAllFeature&&!Q)this.comp.removeSelectAllGui(),this.selectAllFeature=this.destroyBean(this.selectAllFeature)})}getSelectAllGui(){return this.selectAllFeature?.getCheckboxGui()}handleKeyDown($){if(super.handleKeyDown($),$.key===A.SPACE)this.selectAllFeature?.onSpaceKeyDown($);else if($.key===A.ENTER)this.onEnterKeyDown($);else if($.key===A.DOWN&&$.altKey)this.showMenuOnKeyPress($,!1)}onEnterKeyDown($){let{column:z,gos:Q,sortable:J,beans:Z}=this,X=!1;if($.ctrlKey||$.metaKey)X=this.showMenuOnKeyPress($,!0);if(!X){if(!$.altKey&&Jz(Q))Z.rangeSvc?.handleColumnSelection(z,$);else if(J)Z.sortSvc?.progressSort(z,$.shiftKey,"uiColumnSorted")}}showMenuOnKeyPress($,z){let Q=this.comp.getUserCompInstance();if(!A5(Q))return!1;if(Q.onMenuKeyboardShortcut(z))return $.preventDefault(),!0;return!1}onFocusIn($){if(!this.eGui.contains($.relatedTarget))this.focusThis(),this.announceAriaDescription();if(VQ())this.setActiveHeader(!0)}onFocusOut($){if(this.eGui.contains($.relatedTarget))return;this.setActiveHeader(!1)}setupTooltip($,z){this.tooltipFeature=this.beans.tooltipSvc?.setupHeaderTooltip(this.tooltipFeature,this,$,z)}setupStylesFromColDef(){this.setRefreshFunction("headerStyles",this.refreshHeaderStyles.bind(this)),this.refreshHeaderStyles()}setupClassesFromColDef(){let $=()=>{let z=this.column.getColDef(),Q=gJ(z,this.gos,this.column,null),J=this.userHeaderClasses;this.userHeaderClasses=new Set(Q);for(let Z of Q)if(J.has(Z))J.delete(Z);else this.comp.toggleCss(Z,!0);for(let Z of J)this.comp.toggleCss(Z,!1)};this.setRefreshFunction("headerClasses",$),$()}setDragSource($){if(this.dragSourceElement=$,this.removeDragSource(),!$||!this.draggable)return;this.dragSource=this.beans.colMoves?.setDragSourceForHeader($,this.column,this.displayName)??null}updateState(){let{menuSvc:$}=this.beans;this.menuEnabled=!!$?.isColumnMenuInHeaderEnabled(this.column),this.openFilterEnabled=!!$?.isFilterMenuInHeaderEnabled(this.column),this.sortable=this.column.isSortable(),this.displayName=this.calculateDisplayName(),this.draggable=this.workOutDraggable()}setRefreshFunction($,z){this.refreshFunctions[$]=z}refresh(){this.updateState(),this.refreshHeaderComp(),this.refreshAria();for(let $ of Object.values(this.refreshFunctions))$()}refreshHeaderComp(){let $=this.lookupUserCompDetails();if(!$)return;if(this.comp.getUserCompInstance()!=null&&this.userCompDetails.componentClass==$.componentClass?this.attemptHeaderCompRefresh($.params):!1)this.setDragSource(this.dragSourceElement);else this.setCompDetails($)}attemptHeaderCompRefresh($){let z=this.comp.getUserCompInstance();if(!z)return!1;if(!z.refresh)return!1;return z.refresh($)}calculateDisplayName(){return this.beans.colNames.getDisplayNameForColumn(this.column,"header",!0)}checkDisplayName(){if(this.displayName!==this.calculateDisplayName())this.refresh()}workOutDraggable(){let $=this.column.getColDef();return!this.gos.get("suppressMovableColumns")&&!$.suppressMovable&&!$.lockPosition||!!$.enableRowGroup||!!$.enablePivot}setupWidth($){let z=()=>{let Q=this.column.getActualWidth();this.comp.setWidth(`${Q}px`)};$.addManagedListeners(this.column,{widthChanged:z}),z()}setupMovingCss($){let z=()=>{this.comp.toggleCss("ag-header-cell-moving",this.column.isMoving())};$.addManagedListeners(this.column,{movingChanged:z}),z()}setupMenuClass($){let z=()=>{this.comp?.toggleCss("ag-column-menu-visible",this.column.isMenuVisible())};$.addManagedListeners(this.column,{menuVisibleChanged:z}),z()}setupSortableClass($){let z=()=>{this.comp.toggleCss("ag-header-cell-sortable",!!this.sortable)};z(),this.setRefreshFunction("updateSortable",z),$.addManagedEventListeners({sortChanged:this.refreshAriaSort.bind(this)})}setupFilterClass($){let z=()=>{let Q=this.column.isFilterActive();this.comp.toggleCss("ag-header-cell-filtered",Q),this.refreshAria()};$.addManagedListeners(this.column,{filterActiveChanged:z}),z()}setupWrapTextClass(){let $=()=>{let z=!!this.column.getColDef().wrapHeaderText;this.comp.toggleCss("ag-header-cell-wrap-text",z)};$(),this.setRefreshFunction("wrapText",$)}onHeaderHighlightChanged(){let $=this.column.getHighlighted(),z=$===0,Q=$===1;this.comp.toggleCss("ag-header-highlight-before",z),this.comp.toggleCss("ag-header-highlight-after",Q)}onDisplayedColumnsChanged(){if(super.onDisplayedColumnsChanged(),!this.isAlive())return;this.onHeaderHeightChanged()}onHeaderHeightChanged(){this.refreshSpanHeaderHeight()}refreshSpanHeaderHeight(){let{eGui:$,column:z,comp:Q,beans:J}=this,Z=z4(this.beans),X=Z.reduce((W,B)=>W+B,0)===0;if(Q.toggleCss("ag-header-parent-hidden",X),!z.isSpanHeaderHeight()){$.style.removeProperty("top"),$.style.removeProperty("height"),Q.toggleCss("ag-header-span-height",!1),Q.toggleCss("ag-header-span-total",!1);return}let{numberOfParents:Y,isSpanningTotal:q}=this.column.getColumnGroupPaddingInfo();Q.toggleCss("ag-header-span-height",Y>0);let G=Q4(J);if(Y===0){Q.toggleCss("ag-header-span-total",!1),$.style.setProperty("top","0px"),$.style.setProperty("height",`${G}px`);return}Q.toggleCss("ag-header-span-total",q);let _=(this.column.getFirstRealParent()?.getLevel()??-1)+1,H=Z.length-_,U=0;for(let W=0;W<H;W++)U+=Z[Z.length-1-W];$.style.setProperty("top",`${-U}px`),$.style.setProperty("height",`${G+U}px`)}refreshAriaSort(){let $=null,{beans:z,column:Q,comp:J,sortable:Z}=this;if(Z){let X=this.getLocaleTextFunc(),Y=z.sortSvc?.getDisplaySortForColumn(Q)??null;J.setAriaSort(gY(Y)),$=X("ariaSortableColumn","Press ENTER to sort")}else J.setAriaSort();this.setAriaDescriptionProperty("sort",$)}refreshAriaMenu(){let $=null;if(this.menuEnabled)$=this.getLocaleTextFunc()("ariaMenuColumn","Press ALT DOWN to open column menu");this.setAriaDescriptionProperty("menu",$)}refreshAriaFilterButton(){let $=null,{openFilterEnabled:z,gos:Q}=this;if(z&&!U0(Q))$=this.getLocaleTextFunc()("ariaFilterColumn","Press CTRL ENTER to open filter");this.setAriaDescriptionProperty("filterButton",$)}refreshAriaFiltered(){let $=null;if(this.column.isFilterActive())$=this.getLocaleTextFunc()("ariaColumnFiltered","Column Filtered");this.setAriaDescriptionProperty("filter",$)}refreshAriaCellSelection(){let $=null,{gos:z,column:Q}=this;if(Jz(z)&&!v0(Q))$=this.getLocaleTextFunc()("ariaColumnCellSelection","Press Enter to toggle selection for all visible cells in this column");this.setAriaDescriptionProperty("cellSelection",$)}setAriaDescriptionProperty($,z){let Q=this.ariaDescriptionProperties;if(z!=null)Q.set($,z);else Q.delete($)}announceAriaDescription(){let{beans:$,eGui:z,ariaDescriptionProperties:Q}=this;if(!z.contains(d($)))return;let J=Array.from(Q.keys()).sort((Z,X)=>Z==="filter"?-1:X.charCodeAt(0)-Z.charCodeAt(0)).map((Z)=>Q.get(Z)).join(". ");$.ariaAnnounce?.announceValue(J,"columnHeader")}refreshAria(){this.refreshAriaSort(),this.refreshAriaMenu(),this.refreshAriaFilterButton(),this.refreshAriaFiltered(),this.refreshAriaCellSelection()}addColumnHoverListener($){this.beans.colHover?.addHeaderColumnHoverListener($,this.comp,this.column)}addActiveHeaderMouseListeners($){let z=(Z)=>this.handleMouseOverChange(Z.type==="mouseenter"),Q=()=>{this.setActiveHeader(!0),this.dispatchColumnMouseEvent("columnHeaderClicked",this.column)},J=(Z)=>this.handleContextMenuMouseEvent(Z,void 0,this.column);$.addManagedListeners(this.eGui,{mouseenter:z,mouseleave:z,click:Q,contextmenu:J})}handleMouseOverChange($){this.setActiveHeader($),this.eventSvc.dispatchEvent({type:$?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column})}setActiveHeader($){this.comp.toggleCss("ag-header-active",$)}getAnchorElementForMenu($){let z=this.comp.getUserCompInstance();if(A5(z))return z.getAnchorElementForMenu($);return this.eGui}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),super.destroy()}};function A5($){return typeof $?.getAnchorElementForMenu==="function"&&typeof $.onMenuKeyboardShortcut==="function"}var P_=0,IZ=class extends S{constructor($,z,Q){super();this.rowIndex=$,this.pinned=z,this.type=Q,this.instanceId=P_++,this.comp=null,this.allCtrls=[];let J="ag-header-row-column";if(Q==="group")J="ag-header-row-group";else if(Q==="filter")J="ag-header-row-filter";this.headerRowClass=`ag-header-row ${J}`}setRowIndex($){this.rowIndex=$,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(($)=>$.eGui!=null)}setComp($,z,Q=!0){if(this.comp=$,z=B1(this,this.beans.context,z),Q)this.setRowIndex(this.rowIndex),this.onVirtualColumnsChanged();this.setWidth(),this.addEventListeners(z)}getAriaRowIndex(){return this.rowIndex+1}addEventListeners($){let z=this.onRowHeightChanged.bind(this),Q=this.onDisplayedColumnsChanged.bind(this);$.addManagedEventListeners({columnResized:this.setWidth.bind(this),displayedColumnsChanged:Q,virtualColumnsChanged:(J)=>this.onVirtualColumnsChanged(J.afterScroll),columnGroupHeaderHeightChanged:z,columnHeaderHeightChanged:z,stylesChanged:z,advancedFilterEnabledChanged:z}),$.addManagedPropertyListener("domLayout",Q),$.addManagedPropertyListener("ensureDomOrder",(J)=>this.isEnsureDomOrder=J.currentValue),$.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 $=this.getWidthForRow();this.comp.setWidth(`${$}px`)}getWidthForRow(){let{visibleCols:$}=this.beans;if(this.isPrintLayout){if(this.pinned!=null)return 0;return $.getContainerWidth("right")+$.getContainerWidth("left")+$.getContainerWidth(null)}return $.getContainerWidth(this.pinned)}onRowHeightChanged(){if(!this.comp)return;let{topOffset:$,rowHeight:z}=this.getTopAndHeight();this.comp.setTop($+"px"),this.comp.setHeight(z+"px")}getTopAndHeight(){let $=0,z=z4(this.beans);for(let Z=0;Z<z.length;Z++){if(Z===this.rowIndex&&this.type==="group")return{topOffset:$,rowHeight:z[Z]};$+=z[Z]}let Q=Q4(this.beans);if(this.type==="column")return{topOffset:$,rowHeight:Q};$+=Q;let J=i7(this.beans);return{topOffset:$,rowHeight:J}}onVirtualColumnsChanged($=!1){if(!this.comp)return;let z=this.getUpdatedHeaderCtrls(),Q=this.isEnsureDomOrder||this.isPrintLayout;this.comp.setHeaderCtrls(z,Q,$)}getUpdatedHeaderCtrls(){let $=this.ctrlsById;this.ctrlsById=new Map;let z=this.getColumnsInViewport();for(let J of z)this.recycleAndCreateHeaderCtrls(J,this.ctrlsById,$);let Q=(J)=>{let{focusSvc:Z,visibleCols:X}=this.beans;if(!Z.isHeaderWrapperFocused(J))return!1;return X.isVisible(J.column)};if($)for(let[J,Z]of $)if(Q(Z))this.ctrlsById.set(J,Z);else this.destroyBean(Z);return this.allCtrls=Array.from(this.ctrlsById.values()),this.allCtrls}getHeaderCellCtrls(){return this.allCtrls}recycleAndCreateHeaderCtrls($,z,Q){if($.isEmptyGroup())return;let J=$.getUniqueId(),Z;if(Q)Z=Q.get(J),Q.delete(J);if(Z&&Z.column!=$)this.destroyBean(Z),Z=void 0;if(Z==null)switch(this.type){case"filter":{Z=this.createBean(this.beans.registry.createDynamicBean("headerFilterCellCtrl",!0,$,this));break}case"group":Z=this.createBean(this.beans.registry.createDynamicBean("headerGroupCellCtrl",!0,$,this));break;default:Z=this.createBean(new O_($,this));break}z.set(J,Z)}getColumnsInViewport(){if(!this.isPrintLayout)return this.getComponentsToRender();if(this.pinned)return[];let $=[];for(let z of["left",null,"right"])$.push(...this.getComponentsToRender(z));return $}getComponentsToRender($=this.pinned){if(this.type==="group")return this.beans.colViewport.getHeadersToRender($,this.rowIndex);return this.beans.colViewport.getColumnHeadersToRender($)}focusHeader($,z){let Q=this.allCtrls.find((Z)=>Z.column==$);if(!Q)return!1;return Q.focus(z)}destroy(){this.allCtrls=this.destroyBeans(this.allCtrls),this.ctrlsById=void 0,this.comp=null,super.destroy()}},T_=class extends S{constructor($){super();this.pinned=$,this.hidden=!1,this.includeFloatingFilter=!1,this.groupsRowCtrls=[]}setComp($,z){this.comp=$,this.eViewport=z;let{pinnedCols:Q,ctrlsSvc:J,colModel:Z,colMoves:X}=this.beans;this.setupCenterWidth(),Q?.setupHeaderPinnedWidth(this),this.setupDragAndDrop(X,this.eViewport);let Y=this.refresh.bind(this,!0);this.addManagedEventListeners({displayedColumnsChanged:Y,advancedFilterEnabledChanged:Y});let q=`${typeof this.pinned==="string"?this.pinned:"center"}Header`;if(J.register(q,this),Z.ready)this.refresh()}getAllCtrls(){let $=[...this.groupsRowCtrls];if(this.columnsRowCtrl)$.push(this.columnsRowCtrl);if(this.filtersRowCtrl)$.push(this.filtersRowCtrl);return $}refresh($=!1){let{focusSvc:z,filterManager:Q,visibleCols:J}=this.beans,Z=0,X=z.getFocusHeaderToUseAfterRefresh(),Y=()=>{let U=J.headerGroupRowCount;if(Z=U,!$)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 IZ(B,this.pinned,"group"));this.groupsRowCtrls.push(E)}},q=()=>{let U=Z++;if(this.hidden){this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl);return}if(this.columnsRowCtrl==null||!$)this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl),this.columnsRowCtrl=this.createBean(new IZ(U,this.pinned,"column"));else if(this.columnsRowCtrl.rowIndex!==U)this.columnsRowCtrl.setRowIndex(U)},G=()=>{this.includeFloatingFilter=!!Q?.hasFloatingFilters()&&!this.hidden;let U=()=>{this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl)};if(!this.includeFloatingFilter){U();return}if(!$)U();let W=Z++;if(this.filtersRowCtrl){if(this.filtersRowCtrl.rowIndex!==W)this.filtersRowCtrl.setRowIndex(W)}else this.filtersRowCtrl=this.createBean(new IZ(W,this.pinned,"filter"))},_=this.getAllCtrls();Y(),q(),G();let H=this.getAllCtrls();if(this.comp.setCtrls(H),this.restoreFocusOnHeader(z,X),_.length!==H.length)this.beans.eventSvc.dispatchEvent({type:"headerRowsChanged"})}getHeaderCtrlForColumn($){let z=(Q)=>Q?.getHeaderCellCtrls().find((J)=>J.column===$);if(Q$($))return z(this.columnsRowCtrl);if(this.groupsRowCtrls.length===0)return;for(let Q=0;Q<this.groupsRowCtrls.length;Q++){let J=z(this.groupsRowCtrls[Q]);if(J)return J}}getHtmlElementForColumnHeader($){return this.getHeaderCtrlForColumn($)?.eGui??null}getRowType($){return this.getAllCtrls()[$]?.type}focusHeader($,z,Q){let Z=this.getAllCtrls()[$];if(!Z)return!1;return Z.focusHeader(z,Q)}getGroupRowCount(){return this.groupsRowCtrls.length}getGroupRowCtrlAtIndex($){return this.groupsRowCtrls[$]}getRowCount(){return this.groupsRowCtrls.length+(this.columnsRowCtrl?1:0)+(this.filtersRowCtrl?1:0)}setHorizontalScroll($){this.comp.setViewportScrollLeft($)}onScrollCallback($){this.addManagedElementListeners(this.eViewport,{scroll:$})}destroy(){this.filtersRowCtrl=this.destroyBean(this.filtersRowCtrl),this.columnsRowCtrl=this.destroyBean(this.columnsRowCtrl),this.groupsRowCtrls=this.destroyBeans(this.groupsRowCtrls),super.destroy()}setupDragAndDrop($,z){let Q=$?.createBodyDropTarget(this.pinned,z);if(Q)this.createManagedBean(Q)}restoreFocusOnHeader($,z){if(!z)return;let{column:Q}=z;if(Q.getPinned()!=this.pinned)return;$.focusHeaderPosition({headerPosition:z,scroll:!1})}setupCenterWidth(){if(this.pinned!=null)return;this.createManagedBean(new Z4(($)=>this.comp.setCenterWidth(`${$}px`),!0))}},v_={tag:"div",cls:"ag-pinned-left-header",role:"rowgroup"},I_={tag:"div",cls:"ag-pinned-right-header",role:"rowgroup"},C_={tag:"div",cls:"ag-header-viewport",role:"rowgroup",attrs:{tabindex:"-1"},children:[{tag:"div",ref:"eCenterContainer",cls:"ag-header-container",role:"presentation"}]},CZ=class extends x{constructor($){super();this.eCenterContainer=f,this.headerRowComps={},this.rowCompsList=[],this.pinned=$}postConstruct(){this.selectAndSetTemplate();let $={setDisplayed:(Q)=>this.setDisplayed(Q),setCtrls:(Q)=>this.setCtrls(Q),setCenterWidth:(Q)=>this.eCenterContainer.style.width=Q,setViewportScrollLeft:(Q)=>this.getGui().scrollLeft=Q,setPinnedContainerWidth:(Q)=>{let J=this.getGui();J.style.width=Q,J.style.maxWidth=Q,J.style.minWidth=Q}};this.createManagedBean(new T_(this.pinned)).setComp($,this.getGui())}selectAndSetTemplate(){let $=this.pinned=="left",z=this.pinned=="right",Q=$?v_:z?I_:C_;this.setTemplate(Q),this.eRowContainer=this.eCenterContainer!==f?this.eCenterContainer:this.getGui()}destroy(){this.setCtrls([]),super.destroy()}destroyRowComp($){this.destroyBean($),$.getGui().remove()}setCtrls($){let z=this.headerRowComps;this.headerRowComps={},this.rowCompsList=[];let Q,J=(Z)=>{let X=Z.getGui();if(X.parentElement!=this.eRowContainer)this.eRowContainer.appendChild(X);if(Q)g6(this.eRowContainer,X,Q);Q=X};for(let Z of $){let X=Z.instanceId,Y=z[X];delete z[X];let q=Y?Y:this.createBean(new A_(Z));this.headerRowComps[X]=q,this.rowCompsList.push(q),J(q)}for(let Z of Object.values(z))this.destroyRowComp(Z)}},b_={tag:"div",cls:"ag-header",role:"presentation"},y_=class extends x{constructor(){super(b_)}postConstruct(){let $={toggleCss:(J,Z)=>this.toggleCss(J,Z),setHeightAndMinHeight:(J)=>{this.getGui().style.height=J,this.getGui().style.minHeight=J}};this.createManagedBean(new K_).setComp($,this.getGui(),this.getFocusableElement());let Q=(J)=>{this.createManagedBean(J),this.appendChild(J)};Q(new CZ("left")),Q(new CZ(null)),Q(new CZ("right"))}},x_={selector:"AG-HEADER-ROOT",component:y_},U$={AUTO_HEIGHT:"ag-layout-auto-height",NORMAL:"ag-layout-normal",PRINT:"ag-layout-print"},q4=class extends S{constructor($){super();this.view=$}postConstruct(){this.addManagedPropertyListener("domLayout",this.updateLayoutClasses.bind(this)),this.updateLayoutClasses()}updateLayoutClasses(){let $=this.gos.get("domLayout"),z={autoHeight:$==="autoHeight",normal:$==="normal",print:$==="print"},Q=z.autoHeight?U$.AUTO_HEIGHT:z.print?U$.PRINT:U$.NORMAL;this.view.updateLayoutClasses(Q,z)}},r7=class extends x{constructor($,z){super();this.direction=z,this.eViewport=f,this.eContainer=f,this.hideTimeout=0,this.setTemplate($)}postConstruct(){this.addManagedEventListeners({scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this)}),this.onScrollVisibilityChanged(),this.toggleCss("ag-apple-scrollbar",I7()||bz())}destroy(){super.destroy(),window.clearTimeout(this.hideTimeout)}initialiseInvisibleScrollbar(){if(this.invisibleScrollbar!==void 0)return;if(this.invisibleScrollbar=b7(),this.invisibleScrollbar)this.hideAndShowInvisibleScrollAsNeeded(),this.addActiveListenerToggles()}addActiveListenerToggles(){let $=this.getGui(),z=()=>this.toggleCss("ag-scrollbar-active",!0),Q=()=>this.toggleCss("ag-scrollbar-active",!1);this.addManagedListeners($,{mouseenter:z,mousedown:z,touchstart:z,mouseleave:Q,touchend:Q})}onScrollVisibilityChanged(){if(this.invisibleScrollbar===void 0)this.initialiseInvisibleScrollbar();Y$(this.beans,()=>this.setScrollVisible())}hideAndShowInvisibleScrollAsNeeded(){this.addManagedEventListeners({bodyScroll:($)=>{if($.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($){let z=this.eViewport;C2(this,()=>A0(z),()=>this.setScrollPosition($),100)}onScrollCallback($){this.addManagedElementListeners(this.eViewport,{scroll:$})}},w_={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"}]},N_=class extends r7{constructor(){super(w_,"horizontal");this.eLeftSpacer=f,this.eRightSpacer=f,this.setScrollVisibleDebounce=0}wireBeans($){this.visibleCols=$.visibleCols,this.scrollVisibleSvc=$.scrollVisibleSvc}postConstruct(){super.postConstruct();let $=this.setFakeHScrollSpacerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:$,displayedColumnsWidthChanged:$,pinnedRowDataChanged:this.refreshCompBottom.bind(this)}),this.addManagedPropertyListener("domLayout",$),this.beans.ctrlsSvc.register("fakeHScrollComp",this),this.createManagedBean(new Z4((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 $=this.beans.pinnedRowModel?.getPinnedBottomTotalHeight()??0;this.getGui().style.bottom=`${$}px`}onScrollVisibilityChanged(){super.onScrollVisibilityChanged(),this.setFakeHScrollSpacerWidths()}setFakeHScrollSpacerWidths(){let $=this.scrollVisibleSvc.verticalScrollShowing,z=this.visibleCols.getDisplayedColumnsRightWidth(),Q=!this.enableRtl&&$,J=this.scrollVisibleSvc.getScrollbarWidth();if(Q)z+=J;f$(this.eRightSpacer,z),this.eRightSpacer.classList.toggle("ag-scroller-corner",z<=J);let Z=this.visibleCols.getColsLeftWidth();if(this.enableRtl&&$)Z+=J;f$(this.eLeftSpacer,Z),this.eLeftSpacer.classList.toggle("ag-scroller-corner",Z<=J)}setScrollVisible(){let $=this.scrollVisibleSvc.horizontalScrollShowing,z=this.invisibleScrollbar,Q=this.gos.get("suppressHorizontalScroll"),J=$?this.scrollVisibleSvc.getScrollbarWidth()||0:0,X=!Q?J===0&&z?16:J:0,Y=()=>{if(this.setScrollVisibleDebounce=0,this.toggleCss("ag-scrollbar-invisible",z),NQ(this.getGui(),X),NQ(this.eViewport,X),NQ(this.eContainer,X),!X)this.eContainer.style.setProperty("min-height","1px");this.setVisible($,{skipAriaHidden:!0})};if(window.clearTimeout(this.setScrollVisibleDebounce),!$)Y();else this.setScrollVisibleDebounce=window.setTimeout(Y,100)}getScrollPosition(){return $J(this.eViewport,this.enableRtl)}setScrollPosition($){if(!A0(this.eViewport))this.attemptSettingScrollPosition($);zJ(this.eViewport,$,this.enableRtl)}},g_={selector:"AG-FAKE-HORIZONTAL-SCROLL",component:N_},l7=class extends S{constructor($,z){super();this.eContainer=$,this.eViewport=z}postConstruct(){this.addManagedEventListeners({rowContainerHeightChanged:this.onHeightChanged.bind(this,this.beans.rowContainerHeight)})}onHeightChanged($){let z=$.uiContainerHeight,Q=z!=null?`${z}px`:"";if(this.eContainer.style.height=Q,this.eViewport)this.eViewport.style.height=Q}},h_={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"}]}]},u_=class extends r7{constructor(){super(h_,"vertical")}postConstruct(){super.postConstruct(),this.createManagedBean(new l7(this.eContainer));let{ctrlsSvc:$}=this.beans;$.register("fakeVScrollComp",this),this.addManagedEventListeners({rowContainerHeightChanged:this.onRowContainerHeightChanged.bind(this,$)})}setScrollVisible(){let{scrollVisibleSvc:$}=this.beans,z=$.verticalScrollShowing,Q=this.invisibleScrollbar,J=z?$.getScrollbarWidth()||0:0,Z=J===0&&Q?16:J;this.toggleCss("ag-scrollbar-invisible",Q),f$(this.getGui(),Z),f$(this.eViewport,Z),f$(this.eContainer,Z),this.setDisplayed(z,{skipAriaHidden:!0})}onRowContainerHeightChanged($){let Q=$.getGridBodyCtrl().eBodyViewport,J=this.getScrollPosition(),Z=Q.scrollTop;if(J!=Z)this.setScrollPosition(Z,!0)}getScrollPosition(){return this.eViewport.scrollTop}setScrollPosition($,z){if(!z&&!A0(this.eViewport))this.attemptSettingScrollPosition($);this.eViewport.scrollTop=$}},m_={selector:"AG-FAKE-VERTICAL-SCROLL",component:u_};var s$="Viewport",S5="fakeVScrollComp",bZ=["fakeHScrollComp","centerHeader","topCenter","bottomCenter","stickyTopCenter","stickyBottomCenter"],R5=100,yZ=150,c_=class extends S{constructor($){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=$,this.resetLastHScrollDebounced=g$(this,()=>this.lastScrollSource[1]=null,yZ),this.resetLastVScrollDebounced=g$(this,()=>this.lastScrollSource[0]=null,yZ)}wireBeans($){this.ctrlsSvc=$.ctrlsSvc,this.animationFrameSvc=$.animationFrameSvc,this.visibleCols=$.visibleCols}destroy(){super.destroy(),this.clearRetryListenerFncs=[],window.clearTimeout(this.scrollTimer)}postConstruct(){this.enableRtl=this.gos.get("enableRtl");let $=this.invalidateVerticalScroll.bind(this),z=this.invalidateHorizontalScroll.bind(this);this.addManagedEventListeners({displayedColumnsWidthChanged:this.onDisplayedColumnsWidthChanged.bind(this),bodyHeightChanged:$,scrollGapChanged:z}),this.addManagedElementListeners(this.eBodyViewport,{scroll:$}),this.ctrlsSvc.whenReady(this,(Q)=>{this.centerRowsCtrl=Q.center,this.fakeVScrollComp=Q.fakeVScrollComp,this.fakeHScrollComp=Q.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,s$)});for(let $ of bZ){let z=this.ctrlsSvc.get($);this.registerScrollPartner(z,this.onHScroll.bind(this,$))}}addVerticalScrollListeners(){let $=this.gos.get("debounceVerticalScrollbar"),z=$?g$(this,this.onVScroll.bind(this,s$),R5):this.onVScroll.bind(this,s$),Q=$?g$(this,this.onVScroll.bind(this,S5),R5):this.onVScroll.bind(this,S5);this.addManagedElementListeners(this.eBodyViewport,{scroll:z}),this.registerScrollPartner(this.fakeVScrollComp,Q)}registerScrollPartner($,z){$.onScrollCallback(z)}onDisplayedColumnsWidthChanged(){if(this.enableRtl)this.horizontallyScrollHeaderCenterAndFloatingCenter()}horizontallyScrollHeaderCenterAndFloatingCenter($){if(this.centerRowsCtrl==null)return;if($===void 0)$=this.centerRowsCtrl.getCenterViewportScrollLeft();this.setScrollLeftForAllContainersExceptCurrent(Math.abs($))}setScrollLeftForAllContainersExceptCurrent($){for(let z of[...bZ,s$]){if(this.lastScrollSource[1]===z)continue;let Q=this.getViewportForSource(z);zJ(Q,$,this.enableRtl)}}getViewportForSource($){if($===s$)return this.centerRowsCtrl.eViewport;return this.ctrlsSvc.get($).eViewport}isControllingScroll($,z){if(this.lastScrollSource[z]==null){if(z===0)this.lastScrollSource[0]=$;else this.lastScrollSource[1]=$;return!0}return this.lastScrollSource[z]===$}onHScroll($){if(!this.isControllingScroll($,1))return;let z=this.centerRowsCtrl.eViewport,{scrollLeft:Q}=z;if(this.shouldBlockScrollUpdate(1,Q,!0))return;let J=$J(this.getViewportForSource($),this.enableRtl);this.doHorizontalScroll(J),this.resetLastHScrollDebounced()}onVScroll($){if(!this.isControllingScroll($,0))return;let z=$===s$?this.eBodyViewport.scrollTop:this.fakeVScrollComp.getScrollPosition(),Q=z;if(this.shouldBlockScrollUpdate(0,Q,!0))return;if($===s$)this.fakeVScrollComp.setScrollPosition(Q);else if(this.eBodyViewport.scrollTop=z,Q=this.eBodyViewport.scrollTop,this.invalidateVerticalScroll(),Q!==z)this.fakeVScrollComp.setScrollPosition(Q,!0);let{animationFrameSvc:J}=this;if(J?.setScrollTop(Q),this.nextScrollTop=Q,J?.active)J.schedule();else this.scrollGridIfNeeded(!0);this.resetLastVScrollDebounced()}doHorizontalScroll($){let z=this.fakeHScrollComp.getScrollPosition();if(this.scrollLeft===$&&$===z)return;this.scrollLeft=$,this.fireScrollEvent(1),this.horizontallyScrollHeaderCenterAndFloatingCenter($),this.centerRowsCtrl.onHorizontalViewportChanged(!0)}isScrolling(){return this.isScrollActive}fireScrollEvent($){let z={type:"bodyScroll",direction:$===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"})},yZ)}shouldBlockScrollUpdate($,z,Q=!1){if(Q&&!bz())return!1;if($===0)return this.shouldBlockVerticalScroll(z);return this.shouldBlockHorizontalScroll(z)}shouldBlockVerticalScroll($){let z=SJ(this.eBodyViewport),{scrollHeight:Q}=this.eBodyViewport;return $<0||$+z>Q}shouldBlockHorizontalScroll($){let z=this.centerRowsCtrl.getCenterWidth(),{scrollWidth:Q}=this.centerRowsCtrl.eViewport;if(this.enableRtl){if($>0)return!0}else if($<0)return!0;return Math.abs($)+z>Q}redrawRowsAfterScroll(){this.fireScrollEvent(0)}checkScrollLeft(){let $=this.scrollLeft,z=!1;for(let Q of bZ)if(this.getViewportForSource(Q).scrollLeft!==$){z=!0;break}if(z)this.onHScroll(s$)}scrollGridIfNeeded($=!1){let z=this.scrollTop!=this.nextScrollTop;if(z){if(this.scrollTop=this.nextScrollTop,$)this.invalidateVerticalScroll();this.redrawRowsAfterScroll()}return z}setHorizontalScrollPosition($,z=!1){let J=this.centerRowsCtrl.eViewport.scrollWidth-this.centerRowsCtrl.getCenterWidth();if(!z&&this.shouldBlockScrollUpdate(1,$))if(this.enableRtl)$=$>0?0:J;else $=Math.min(Math.max($,0),J);zJ(this.centerRowsCtrl.eViewport,Math.abs($),this.enableRtl),this.doHorizontalScroll($)}setVerticalScrollPosition($){this.invalidateVerticalScroll(),this.eBodyViewport.scrollTop=$}getVScrollPosition(){if(!this.isVerticalPositionInvalidated){let{lastOffsetHeight:Q,lastScrollTop:J}=this;return{top:J,bottom:J+Q}}this.isVerticalPositionInvalidated=!1;let{scrollTop:$,offsetHeight:z}=this.eBodyViewport;return this.lastScrollTop=$,this.lastOffsetHeight=z,{top:$,bottom:$+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($){let z=this.centerRowsCtrl.eViewport.scrollLeft;return this.setHorizontalScrollPosition(z+$),this.centerRowsCtrl.eViewport.scrollLeft-z}scrollToTop(){this.setVerticalScrollPosition(0)}ensureNodeVisible($,z=null){let{rowModel:Q}=this.beans,J=Q.getRowCount(),Z=-1;for(let X=0;X<J;X++){let Y=Q.getRow(X);if(typeof $==="function"){if(Y&&$(Y)){Z=X;break}}else if($===Y||$===Y.data){Z=X;break}}if(Z>=0)this.ensureIndexVisible(Z,z)}ensureIndexVisible($,z,Q=0){if(V0(this.gos,"print"))return;let{rowModel:J}=this.beans,Z=J.getRowCount();if(typeof $!=="number"||$<0||$>=Z){j(88,{index:$});return}this.clearRetryListeners();let{frameworkOverrides:X,pageBounds:Y,rowContainerHeight:q,rowRenderer:G}=this.beans;X.wrapIncoming(()=>{let _=this.ctrlsSvc.getGridBodyCtrl(),H=J.getRow($),U,W,B=0;this.invalidateVerticalScroll();do{let{stickyTopHeight:E,stickyBottomHeight:K}=_,L=H.rowTop,D=H.rowHeight,F=Y.getPixelOffset(),M=H.rowTop-F,k=M+H.rowHeight,V=this.getVScrollPosition(),R=q.divStretchOffset,O=V.top+R,I=V.bottom+R,v=I-O,C=q.getScrollPositionForPixel(M),m=q.getScrollPositionForPixel(k-v),w=Math.min((C+m)/2,M),a=O+E>M,t=I-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>v)u=C-E;else u=m+K;if(u!==null)this.setVerticalScrollPosition(u),G.redraw({afterScroll:!0});U=L!==H.rowTop||D!==H.rowHeight,W=E!==_.stickyTopHeight||K!==_.stickyBottomHeight,B++}while((U||W)&&B<10);if(this.animationFrameSvc?.flushAllFrames(),Q<10&&(H?.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(),$>=J.getRowCount())return;this.ensureIndexVisible($,z,Q+1)}})}})}clearRetryListeners(){for(let $ of this.clearRetryListenerFncs)$();this.clearRetryListenerFncs=[]}ensureColumnVisible($,z="auto"){let{colModel:Q,frameworkOverrides:J}=this.beans,Z=Q.getCol($);if(!Z)return;if(Z.isPinned())return;if(!this.visibleCols.isColDisplayed(Z))return;let X=this.getPositionedHorizontalScroll(Z,z);J.wrapIncoming(()=>{if(X!==null)this.centerRowsCtrl.setCenterViewportScrollLeft(X);this.centerRowsCtrl.onHorizontalViewportChanged(),this.animationFrameSvc?.flushAllFrames()})}getPositionedHorizontalScroll($,z){let{columnBeforeStart:Q,columnAfterEnd:J}=this.isColumnOutsideViewport($),Z=this.centerRowsCtrl.getCenterWidth()<$.getActualWidth(),X=this.centerRowsCtrl.getCenterWidth(),Y=this.enableRtl,q=(Y?Q:J)||Z,G=Y?J:Q;if(z!=="auto")q=z==="start",G=z==="end";let _=z==="middle";if(q||G||_){let{colLeft:H,colMiddle:U,colRight:W}=this.getColumnBounds($);if(_)return U-X/2;if(q)return Y?W:H;return Y?H-X:W-X}return null}isColumnOutsideViewport($){let{start:z,end:Q}=this.getViewportBounds(),{colLeft:J,colRight:Z}=this.getColumnBounds($),X=this.enableRtl,Y=X?z>Z:Q<Z,q=X?Q<J:z>J;return{columnBeforeStart:Y,columnAfterEnd:q}}getColumnBounds($){let z=this.enableRtl,Q=this.visibleCols.bodyWidth,J=$.getActualWidth(),Z=$.getLeft(),X=z?-1:1,Y=z?Q-Z:Z,q=Y+J*X,G=Y+J/2*X;return{colLeft:Y,colMiddle:G,colRight:q}}getViewportBounds(){let $=this.centerRowsCtrl.getCenterWidth(),z=this.centerRowsCtrl.getCenterViewportScrollLeft(),Q=z,J=$+z;return{start:Q,end:J,width:$}}},j5={horizontal:{overflow:($)=>$.scrollWidth-$.clientWidth,scrollSize:($)=>$.scrollWidth,clientSize:($)=>$.clientWidth,opposite:"vertical"},vertical:{overflow:($)=>$.scrollHeight-$.clientHeight,scrollSize:($)=>$.scrollHeight,clientSize:($)=>$.clientHeight,opposite:"horizontal"}};function p_($,z,Q=r2()||0,J,Z){return a7($,z,"horizontal",Q,J,Z)}function i_($,z,Q=r2()||0,J,Z){return a7($,z,"vertical",Q,J,Z)}function a7($,z,Q,J,Z,X){let Y=j5[Q],q=j5[Y.opposite],G=Z?A0(Z):!0,_=X?A0(X):!0,H=Y.overflow($);if(H<=0)return!1;if(!z||J===0)return!0;let U=q.overflow(z);if(U<=0)return!0;if(H<=J){if(G&&_&&n_({candidateOverflow:U,candidateScrollSize:q.scrollSize(z),candidateClientSize:q.clientSize(z),scrollbarWidth:J}))return!1;let W=Y.clientSize($)+J;return Y.scrollSize($)<=W}return!0}function n_({candidateOverflow:$,candidateScrollSize:z,candidateClientSize:Q,scrollbarWidth:J}){if($<=0||$>J)return!1;let Z=Q+J;return z>Q&&z<=Z}var d_=class extends S{constructor($){super();this.centerContainerCtrl=$}wireBeans($){this.scrollVisibleSvc=$.scrollVisibleSvc}postConstruct(){this.beans.ctrlsSvc.whenReady(this,($)=>{this.gridBodyCtrl=$.gridBodyCtrl,this.listenForResize()}),this.addManagedEventListeners({scrollbarWidthChanged:this.onScrollbarWidthChanged.bind(this)}),this.addManagedPropertyListeners(["alwaysShowHorizontalScroll","alwaysShowVerticalScroll"],()=>{this.checkViewportAndScrolls()})}listenForResize(){let{beans:$,centerContainerCtrl:z,gridBodyCtrl:Q}=this,J=()=>{Y$($,()=>{this.onCenterViewportResized()})};z.registerViewportResizeListener(J),Q.registerBodyViewportResizeListener(J)}onScrollbarWidthChanged(){this.checkViewportAndScrolls()}onCenterViewportResized(){if(this.scrollVisibleSvc.updateScrollGap(),this.centerContainerCtrl.isViewportInTheDOMTree()){let{pinnedCols:$,colFlex:z}=this.beans;$?.keepPinnedColumnsNarrowerThanViewport(),this.checkViewportAndScrolls();let Q=this.centerContainerCtrl.getCenterWidth();if(Q!==this.centerWidth)this.centerWidth=Q,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 $=this.gridBodyCtrl.eBodyViewport,z=SJ($);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 $={horizontalScrollShowing:this.centerContainerCtrl.isHorizontalScrollShowing(),verticalScrollShowing:this.gridBodyCtrl.isVerticalScrollShowing()};this.scrollVisibleSvc.setScrollsVisible($)}onHorizontalViewportChanged(){let{centerContainerCtrl:$,beans:z}=this,Q=$.getCenterWidth(),J=$.getViewportScrollLeft();z.colViewport.setScrollPosition(Q,J)}};function o7($){if($.altKey||$.ctrlKey||$.metaKey)return!1;return $.key?.length===1}function s1($,z,Q,J){let Z=z.getColDef().cellRendererParams?.suppressMouseEventHandling;return e7($,z,Q,J,Z)}function t_($,z,Q,J){let Z=z?.suppressMouseEventHandling;return e7($,void 0,Q,J,Z)}function e7($,z,Q,J,Z){if(!Z)return!1;return Z(y($,{column:z,node:Q,event:J}))}function $8($,z,Q){let J=z;while(J){let Z=X7($,J,Q);if(Z)return Z;J=J.parentElement}return null}var _J="cellCtrl";function E1($,z){return $8($,z,_J)}var HJ="renderedRow";function G4($,z){return $8($,z,HJ)}function H2($,z,Q,J,Z){let X=J?J.getColDef().suppressKeyboardEvent:void 0;if(!X)return!1;let Y=y($,{event:z,editing:Z,column:J,node:Q,data:Q.data,colDef:J.getColDef()});if(X){if(X(Y))return!0}return!1}function s_($){let{pinnedRowModel:z,rowModel:Q,rangeSvc:J,visibleCols:Z}=$;if(!J||Z.allCols.length===0)return;let X=z?.isEmpty("top")??!0,Y=z?.isEmpty("bottom")??!0,q=X?null:"top",G,_;if(Y)G=null,_=Q.getRowCount()-1;else G="bottom",_=z?.getPinnedBottomRowCount()??-1;J.setCellRange({rowStartIndex:0,rowStartPinned:q,rowEndIndex:_,rowEndPinned:G})}var r_=class extends S{constructor($){super();this.element=$}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 $="mousedown";if(aZ("pointerdown"))$="pointerdown";else if(aZ("touchstart"))$="touchstart";let z=["dblclick","contextmenu","mouseover","mouseout","click",$];for(let Q of z){let J=this.processMouseEvent.bind(this,Q);this.addManagedElementListeners(this.element,{[Q]:J})}}processMouseEvent($,z){if(!nQ(this.beans,z)||z$(z))return;let{cellCtrl:Q,rowCtrl:J}=this.getControlsForEventTarget(z.target);if($==="contextmenu"){if(Q?.column)Q.dispatchCellContextMenuEvent(z);this.beans.contextMenuSvc?.handleContextMenuMouseEvent(z,void 0,J,Q)}else{if(Q)Q.onMouseEvent($,z);if(J)J.onMouseEvent($,z)}}getControlsForEventTarget($){let{gos:z}=this;return{cellCtrl:E1(z,$),rowCtrl:G4(z,$)}}processKeyboardEvent($,z){let{cellCtrl:Q,rowCtrl:J}=this.getControlsForEventTarget(z.target);if(z.defaultPrevented)return;if(Q)this.processCellKeyboardEvent(Q,$,z);else if(J?.isFullWidth())this.processFullWidthRowKeyboardEvent(J,$,z)}processCellKeyboardEvent($,z,Q){let J=this.editSvc?.isEditing($,{withOpenEditor:!0})??!1;if(!H2(this.gos,Q,$.rowNode,$.column,J)){if(z==="keydown"){if(!(!J&&this.beans.navigation?.handlePageScrollingKey(Q)))$.onKeyDown(Q);if(this.doGridOperations(Q,J),o7(Q))$.processCharacter(Q)}}if(z==="keydown")this.eventSvc.dispatchEvent($.createEvent(Q,"cellKeyDown"))}processFullWidthRowKeyboardEvent($,z,Q){let{rowNode:J}=$,{focusSvc:Z,navigation:X}=this.beans,q=Z.getFocusedCell()?.column;if(!H2(this.gos,Q,J,q,!1)){let _=Q.key;if(z==="keydown")switch(_){case A.PAGE_HOME:case A.PAGE_END:case A.PAGE_UP:case A.PAGE_DOWN:X?.handlePageScrollingKey(Q,!0);break;case A.LEFT:case A.RIGHT:if(!this.gos.get("embedFullWidthRows"))break;case A.UP:case A.DOWN:$.onKeyboardNavigate(Q);break;case A.TAB:$.onTabKeyDown(Q);break;default:}}if(z==="keydown")this.eventSvc.dispatchEvent($.createRowEvent("cellKeyDown",Q))}doGridOperations($,z){if(!$.ctrlKey&&!$.metaKey)return;if(z)return;if(!nQ(this.beans,$))return;let Q=R7($),{clipboardSvc:J,undoRedo:Z}=this.beans;if(Q===A.A)return this.onCtrlAndA($);if(Q===A.C)return this.onCtrlAndC(J,$);if(Q===A.D)return this.onCtrlAndD(J,$);if(Q===A.V)return this.onCtrlAndV(J,$);if(Q===A.X)return this.onCtrlAndX(J,$);if(Q===A.Y)return this.onCtrlAndY(Z);if(Q===A.Z)return this.onCtrlAndZ(Z,$)}onCtrlAndA($){let{beans:{rowModel:z,rangeSvc:Q,selectionSvc:J},gos:Z}=this;if(Q&&u0(Z)&&!mq(Z)&&z.isRowsToRender())s_(this.beans);else if(J)J.selectAllRowNodes({source:"keyboardSelectAll",selectAll:H7(Z)});$.preventDefault()}onCtrlAndC($,z){if(!$||this.gos.get("enableCellTextSelection"))return;let{cellCtrl:Q}=this.getControlsForEventTarget(z.target);if(this.editSvc?.isEditing(Q,{withOpenEditor:!0}))return;z.preventDefault(),$.copyToClipboard()}onCtrlAndX($,z){if(!$||this.gos.get("enableCellTextSelection")||this.gos.get("suppressCutToClipboard"))return;let{cellCtrl:Q}=this.getControlsForEventTarget(z.target);if(this.editSvc?.isEditing(Q,{withOpenEditor:!0}))return;z.preventDefault(),$.cutToClipboard(void 0,"ui")}onCtrlAndV($,z){let{cellCtrl:Q}=this.getControlsForEventTarget(z.target);if(this.editSvc?.isEditing(Q,{withOpenEditor:!0}))return;if($&&!this.gos.get("suppressClipboardPaste"))$.pasteFromClipboard()}onCtrlAndD($,z){if($&&!this.gos.get("suppressClipboardPaste"))$.copyRangeDown();z.preventDefault()}onCtrlAndZ($,z){if(!this.gos.get("undoRedoCellEditing")||!$)return;if(z.preventDefault(),z.shiftKey)$.redo("ui");else $.undo("ui")}onCtrlAndY($){$?.redo("ui")}},x1=($)=>$.topRowCtrls,w1=($)=>$.getStickyTopRowCtrls(),N1=($)=>$.getStickyBottomRowCtrls(),g1=($)=>$.bottomRowCtrls,h1=($)=>$.allRowCtrls,xZ=($)=>$.getCtrls("top"),wZ=($)=>$.getCtrls("center"),NZ=($)=>$.getCtrls("bottom"),l_={center:{type:"center",name:"center-cols",getRowCtrls:h1,getSpannedRowCtrls:wZ},left:{type:"left",name:"pinned-left-cols",pinnedType:"left",getRowCtrls:h1,getSpannedRowCtrls:wZ},right:{type:"right",name:"pinned-right-cols",pinnedType:"right",getRowCtrls:h1,getSpannedRowCtrls:wZ},fullWidth:{type:"fullWidth",name:"full-width",fullWidth:!0,getRowCtrls:h1},topCenter:{type:"center",name:"floating-top",getRowCtrls:x1,getSpannedRowCtrls:xZ},topLeft:{type:"left",name:"pinned-left-floating",container:"ag-pinned-left-floating-top",pinnedType:"left",getRowCtrls:x1,getSpannedRowCtrls:xZ},topRight:{type:"right",name:"pinned-right-floating",container:"ag-pinned-right-floating-top",pinnedType:"right",getRowCtrls:x1,getSpannedRowCtrls:xZ},topFullWidth:{type:"fullWidth",name:"floating-top-full-width",fullWidth:!0,getRowCtrls:x1},stickyTopCenter:{type:"center",name:"sticky-top",getRowCtrls:w1},stickyTopLeft:{type:"left",name:"pinned-left-sticky-top",container:"ag-pinned-left-sticky-top",pinnedType:"left",getRowCtrls:w1},stickyTopRight:{type:"right",name:"pinned-right-sticky-top",container:"ag-pinned-right-sticky-top",pinnedType:"right",getRowCtrls:w1},stickyTopFullWidth:{type:"fullWidth",name:"sticky-top-full-width",fullWidth:!0,getRowCtrls:w1},stickyBottomCenter:{type:"center",name:"sticky-bottom",getRowCtrls:N1},stickyBottomLeft:{type:"left",name:"pinned-left-sticky-bottom",container:"ag-pinned-left-sticky-bottom",pinnedType:"left",getRowCtrls:N1},stickyBottomRight:{type:"right",name:"pinned-right-sticky-bottom",container:"ag-pinned-right-sticky-bottom",pinnedType:"right",getRowCtrls:N1},stickyBottomFullWidth:{type:"fullWidth",name:"sticky-bottom-full-width",fullWidth:!0,getRowCtrls:N1},bottomCenter:{type:"center",name:"floating-bottom",getRowCtrls:g1,getSpannedRowCtrls:NZ},bottomLeft:{type:"left",name:"pinned-left-floating-bottom",container:"ag-pinned-left-floating-bottom",pinnedType:"left",getRowCtrls:g1,getSpannedRowCtrls:NZ},bottomRight:{type:"right",name:"pinned-right-floating-bottom",container:"ag-pinned-right-floating-bottom",pinnedType:"right",getRowCtrls:g1,getSpannedRowCtrls:NZ},bottomFullWidth:{type:"fullWidth",name:"floating-bottom-full-width",fullWidth:!0,getRowCtrls:g1}};function z8($){return`ag-${K1($).name}-viewport`}function Q8($){let z=K1($);return z.container??`ag-${z.name}-container`}function a_($){return`ag-${K1($).name}-spanned-cells-container`}function K1($){return l_[$]}var o_=["topCenter","topLeft","topRight"],e_=["bottomCenter","bottomLeft","bottomRight"],$H=["center","left","right"],zH=["center","left","right","fullWidth"],QH=["stickyTopCenter","stickyBottomCenter","center","topCenter","bottomCenter"],JH=["left","bottomLeft","topLeft","stickyTopLeft","stickyBottomLeft"],ZH=["right","bottomRight","topRight","stickyTopRight","stickyBottomRight"],J8=["stickyTopCenter","stickyTopLeft","stickyTopRight"],Z8=["stickyBottomCenter","stickyBottomLeft","stickyBottomRight"],XH=[...J8,"stickyTopFullWidth",...Z8,"stickyBottomFullWidth"],YH=[...o_,...e_,...$H,...J8,...Z8],qH=class extends S{constructor($){super();this.name=$,this.visible=!0,this.EMPTY_CTRLS=[],this.options=K1($)}postConstruct(){this.enableRtl=this.gos.get("enableRtl"),this.forContainers(["center"],()=>{this.viewportSizeFeature=this.createManagedBean(new d_(this)),this.addManagedEventListeners({stickyTopOffsetChanged:this.onStickyTopOffsetChanged.bind(this)})})}onStickyTopOffsetChanged($){this.comp.setOffsetTop(`${$.offset}px`)}registerWithCtrlsService(){if(this.options.fullWidth)return;this.beans.ctrlsSvc.register(this.name,this)}forContainers($,z){if($.indexOf(this.name)>=0)z()}setComp($,z,Q,J){this.comp=$,this.eContainer=z,this.eSpannedContainer=Q,this.eViewport=J,this.createManagedBean(new r_(this.eViewport??this.eContainer)),this.addPreventScrollWhileDragging(),this.listenOnDomOrder();let{pinnedCols:Z,rangeSvc:X}=this.beans,Y=()=>this.onPinnedWidthChanged();if(this.forContainers(JH,()=>{this.pinnedWidthFeature=this.createOptionalManagedBean(Z?.createPinnedWidthFeature(!0,this.eContainer,this.eSpannedContainer)),this.addManagedEventListeners({leftPinnedWidthChanged:Y})}),this.forContainers(ZH,()=>{this.pinnedWidthFeature=this.createOptionalManagedBean(Z?.createPinnedWidthFeature(!1,this.eContainer,this.eSpannedContainer)),this.addManagedEventListeners({rightPinnedWidthChanged:Y})}),this.forContainers(zH,()=>this.createManagedBean(new l7(this.eContainer,this.name==="center"?J:void 0))),X)this.forContainers(YH,()=>this.createManagedBean(X.createDragListenerFeature(this.eContainer)));this.forContainers(QH,()=>this.createManagedBean(new Z4((q)=>this.comp.setContainerWidth(`${q}px`)))),this.visible=this.isContainerVisible(),this.addListeners(),this.registerWithCtrlsService()}onScrollCallback($){this.addManagedElementListeners(this.eViewport,{scroll:$})}addListeners(){let{spannedRowRenderer:$,gos:z}=this.beans,Q=this.onDisplayedColumnsChanged.bind(this);if(this.addManagedEventListeners({displayedColumnsChanged:Q,displayedColumnsWidthChanged:Q,displayedRowsChanged:(J)=>this.onDisplayedRowsChanged(J.afterScroll)}),Q(),this.onDisplayedRowsChanged(),$&&this.options.getSpannedRowCtrls&&z.get("enableCellSpan"))this.addManagedListeners($,{spannedRowsUpdated:()=>{let J=this.options.getSpannedRowCtrls($);if(!J)return;this.comp.setSpannedRowCtrls(J,!1)}})}listenOnDomOrder(){if(XH.indexOf(this.name)>=0){this.comp.setDomOrder(!0);return}let z=()=>{let Q=this.gos.get("ensureDomOrder"),J=V0(this.gos,"print");this.comp.setDomOrder(Q||J)};this.addManagedPropertyListener("domLayout",z),z()}onDisplayedColumnsChanged(){this.forContainers(["center"],()=>this.onHorizontalViewportChanged())}addPreventScrollWhileDragging(){let{dragSvc:$}=this.beans;if(!$)return;let z=(Q)=>{if($.dragging){if(Q.cancelable)Q.preventDefault()}};this.eContainer.addEventListener("touchmove",z,{passive:!1}),this.addDestroyFunc(()=>this.eContainer.removeEventListener("touchmove",z))}onHorizontalViewportChanged($=!1){let z=this.getCenterWidth(),Q=this.getCenterViewportScrollLeft();this.beans.colViewport.setScrollPosition(z,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 $J(this.eViewport,this.enableRtl)}registerViewportResizeListener($){let z=F$(this.beans,this.eViewport,$);this.addDestroyFunc(()=>z())}isViewportInTheDOMTree(){return N6(this.eViewport)}getViewportScrollLeft(){return $J(this.eViewport,this.enableRtl)}isHorizontalScrollShowing(){let{beans:$,gos:z,eViewport:Q}=this,J=z.get("alwaysShowHorizontalScroll"),{ctrlsSvc:Z}=$,X=Z.getGridBodyCtrl()?.eBodyViewport,Y=Z.get("fakeHScrollComp")?.getGui(),q=Z.get("fakeVScrollComp")?.getGui();return J||p_(Q,X,void 0,Y,q)}setHorizontalScroll($){this.comp.setHorizontalScroll($)}getHScrollPosition(){return{left:this.eViewport.scrollLeft,right:this.eViewport.scrollLeft+this.eViewport.offsetWidth}}setCenterViewportScrollLeft($){zJ(this.eViewport,$,this.enableRtl)}isContainerVisible(){return this.options.pinnedType==null||!!this.pinnedWidthFeature&&this.pinnedWidthFeature.getWidth()>0}onPinnedWidthChanged(){let $=this.isContainerVisible();if(this.visible!=$)this.visible=$,this.onDisplayedRowsChanged()}onDisplayedRowsChanged($=!1){let z=this.options.getRowCtrls(this.beans.rowRenderer);if(!this.visible||z.length===0){this.comp.setRowCtrls({rowCtrls:this.EMPTY_CTRLS});return}let Q=V0(this.gos,"print"),Z=this.gos.get("embedFullWidthRows")||Q,X=z.filter((Y)=>{let q=Y.isFullWidth();return this.options.fullWidth?!Z&&q:Z||!q});this.comp.setRowCtrls({rowCtrls:X,useFlushSync:$})}},X8="ag-force-vertical-scroll",GH="ag-selectable",_H="ag-column-moving",HH=class extends S{constructor(){super(...arguments);this.stickyTopHeight=0,this.stickyBottomHeight=0}wireBeans($){this.ctrlsSvc=$.ctrlsSvc,this.colModel=$.colModel,this.scrollVisibleSvc=$.scrollVisibleSvc,this.pinnedRowModel=$.pinnedRowModel,this.filterManager=$.filterManager,this.rowGroupColsSvc=$.rowGroupColsSvc}setComp($,z,Q,J,Z,X,Y){this.comp=$,this.eGridBody=z,this.eBodyViewport=Q,this.eTop=J,this.eBottom=Z,this.eStickyTop=X,this.eStickyBottom=Y,this.eCenterColsViewport=Q.querySelector(`.${z8("center")}`),this.eFullWidthContainer=Q.querySelector(`.${Q8("fullWidth")}`),this.setCellTextSelection(this.gos.get("enableCellTextSelection")),this.addManagedPropertyListener("enableCellTextSelection",(q)=>this.setCellTextSelection(q.currentValue)),this.createManagedBean(new q4(this.comp)),this.scrollFeature=this.createManagedBean(new c_(Q)),this.beans.rowDragSvc?.setupRowDrag(Q,this),this.setupRowAnimationCssClass(),this.addEventListeners(),this.addFocusListeners([J,Q,Z,X,Y]),this.setGridRootRole(),this.onGridColumnsChanged(),this.addBodyViewportListener(),this.setFloatingHeights(),this.disableBrowserDragging(),this.addStopEditingWhenGridLosesFocus(),this.updateScrollingClasses(),this.filterManager?.setupAdvFilterHeaderComp(J),this.ctrlsSvc.register("gridBodyCtrl",this)}addEventListeners(){let $=this.setFloatingHeights.bind(this),z=this.setGridRootRole.bind(this),Q=this.toggleRowResizeStyles.bind(this);this.addManagedEventListeners({gridColumnsChanged:this.onGridColumnsChanged.bind(this),scrollVisibilityChanged:this.onScrollVisibilityChanged.bind(this),scrollGapChanged:this.updateScrollingClasses.bind(this),pinnedRowDataChanged:$,pinnedHeightChanged:$,pinnedRowsChanged:$,headerHeightChanged:this.setStickyTopOffsetTop.bind(this),columnRowGroupChanged:z,columnPivotChanged:z,rowResizeStarted:Q,rowResizeEnded:Q}),this.addManagedPropertyListener("treeData",z)}toggleRowResizeStyles($){let z=$.type==="rowResizeStarted";this.eBodyViewport.classList.toggle("ag-prevent-animation",z)}onGridColumnsChanged(){let $=this.beans.colModel.getCols();this.comp.setColumnCount($.length)}onScrollVisibilityChanged(){let{scrollVisibleSvc:$}=this,z=$.verticalScrollShowing;this.setVerticalScrollPaddingVisible(z),this.setStickyWidth(z),this.setStickyBottomOffsetBottom();let Q=z?$.getScrollbarWidth()||0:0,J=b7()?16:0,Z=`calc(100% + ${Q+J}px)`;Y$(this.beans,()=>this.comp.setBodyViewportWidth(Z)),this.updateScrollingClasses()}setGridRootRole(){let{rowGroupColsSvc:$,colModel:z,gos:Q}=this,J=Q.get("treeData");if(!J){let Z=z.isPivotMode();J=(!$?0:$.columns.length)>=(Z?2:1)}this.comp.setGridRootRole(J?"treegrid":"grid")}addFocusListeners($){for(let z of $)this.addManagedElementListeners(z,{focusin:(Q)=>{let{target:J}=Q,Z=vz(J,"ag-root",z);z.classList.toggle("ag-has-focus",!Z)},focusout:(Q)=>{let{target:J,relatedTarget:Z}=Q,X=z.contains(Z),Y=vz(Z,"ag-root",z);if(vz(J,"ag-root",z))return;if(!X||Y)z.classList.remove("ag-has-focus")}})}setColumnMovingCss($){this.comp.setColumnMovingCss(_H,$)}setCellTextSelection($=!1){this.comp.setCellSelectableCss(GH,$)}updateScrollingClasses(){let{eGridBody:{classList:$},scrollVisibleSvc:z}=this;$.toggle("ag-body-vertical-content-no-gap",!z.verticalScrollGap),$.toggle("ag-body-horizontal-content-no-gap",!z.horizontalScrollGap)}disableBrowserDragging(){this.addManagedElementListeners(this.eGridBody,{dragstart:($)=>{if($.target instanceof HTMLImageElement)return $.preventDefault(),!1}})}addStopEditingWhenGridLosesFocus(){this.beans.editSvc?.addStopEditingWhenGridLosesFocus([this.eBodyViewport,this.eBottom,this.eTop,this.eStickyTop,this.eStickyBottom])}updateRowCount(){let $=(this.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0)+(this.filterManager?.getHeaderRowCount()??0),{rowModel:z}=this.beans,Q=z.isLastRowIndexKnown()?z.getRowCount():-1,J=Q===-1?-1:$+Q;this.comp.setRowCount(J)}registerBodyViewportResizeListener($){this.comp.registerBodyViewportResizeListener($)}setVerticalScrollPaddingVisible($){let z=$?"scroll":"hidden";this.comp.setPinnedTopBottomOverflowY(z)}isVerticalScrollShowing(){let{gos:$,comp:z,ctrlsSvc:Q}=this,J=$.get("alwaysShowVerticalScroll"),Z=J?X8:null,X=V0($,"normal");z.setAlwaysVerticalScrollClass(Z,J);let Y=Q.get("center")?.eViewport,q=Q.get("fakeHScrollComp")?.getGui(),G=Q.get("fakeVScrollComp")?.getGui();return J||X&&i_(this.eBodyViewport,Y,void 0,G,q)}setupRowAnimationCssClass(){let{rowContainerHeight:$,environment:z}=this.beans,Q=z.sizesMeasured,J=()=>{let Z=Q&&HQ(this.gos)&&!$.stretching,X=Z?"ag-row-animation":"ag-row-no-animation";this.comp.setRowAnimationCssOnBodyViewport(X,Z)};J(),this.addManagedEventListeners({heightScaleChanged:J}),this.addManagedPropertyListener("animateRows",J),this.addManagedEventListeners({stylesChanged:()=>{if(!Q&&z.sizesMeasured)Q=!0,J()}})}addBodyViewportListener(){let{eBodyViewport:$,eStickyTop:z,eStickyBottom:Q,eTop:J,eBottom:Z,beans:{popupSvc:X,touchSvc:Y}}=this,q=this.onBodyViewportContextMenu.bind(this);this.addManagedElementListeners($,{contextmenu:q}),Y?.mockBodyContextMenu(this,q),this.addManagedElementListeners($,{wheel:this.onBodyViewportWheel.bind(this,X)});let G=this.onStickyWheel.bind(this);for(let H of[z,Q,J,Z])this.addManagedElementListeners(H,{wheel:G});let _=this.onHorizontalWheel.bind(this);for(let H of["left","right","topLeft","topRight","bottomLeft","bottomRight"])this.addManagedElementListeners(this.ctrlsSvc.get(H).eContainer,{wheel:_});this.addFullWidthContainerWheelListener()}addFullWidthContainerWheelListener(){this.addManagedElementListeners(this.eFullWidthContainer,{wheel:($)=>this.onFullWidthContainerWheel($)})}onFullWidthContainerWheel($){let{deltaX:z,deltaY:Q,shiftKey:J}=$;if((J||Math.abs(z)>Math.abs(Q))&&nQ(this.beans,$))this.scrollGridBodyToMatchEvent($)}onStickyWheel($){let{deltaY:z}=$;if(this.scrollVertically(z)>0)$.preventDefault()}onHorizontalWheel($){let{deltaX:z,deltaY:Q,shiftKey:J}=$;if(!(J||Math.abs(z)>Math.abs(Q)))return;this.scrollGridBodyToMatchEvent($)}scrollGridBodyToMatchEvent($){let{deltaX:z,deltaY:Q}=$;$.preventDefault(),this.eCenterColsViewport.scrollBy({left:z||Q})}onBodyViewportContextMenu($,z,Q){if(!$&&!Q)return;if(this.gos.get("preventDefaultOnContextMenu"))($||Q).preventDefault();let{target:J}=$||z;if(J===this.eBodyViewport||J===this.ctrlsSvc.get("center").eViewport)this.beans.contextMenuSvc?.showContextMenu({mouseEvent:$,touchEvent:Q,value:null,anchorToElement:this.eGridBody,source:"ui"})}onBodyViewportWheel($,z){if(!this.gos.get("suppressScrollWhenPopupsAreOpen"))return;if($?.hasAnchoredPopup())z.preventDefault()}scrollVertically($){let z=this.eBodyViewport.scrollTop;return this.scrollFeature.setVerticalScrollPosition(z+$),this.eBodyViewport.scrollTop-z}setFloatingHeights(){let{pinnedRowModel:$,beans:{environment:z}}=this,Q=$?.getPinnedTopTotalHeight(),J=$?.getPinnedBottomTotalHeight(),Z=z.getPinnedRowBorderWidth(),X=z.getRowBorderWidth(),Y=Z-X,q=!Q?0:Y+Q,G=!J?0:Y+J;this.comp.setTopHeight(q),this.comp.setBottomHeight(G),this.comp.setTopInvisible(q<=0),this.comp.setBottomInvisible(G<=0),this.setStickyTopOffsetTop(),this.setStickyBottomOffsetBottom()}setStickyTopHeight($=0){this.comp.setStickyTopHeight(`${$}px`),this.stickyTopHeight=$}setStickyBottomHeight($=0){this.comp.setStickyBottomHeight(`${$}px`),this.stickyBottomHeight=$}setStickyWidth($){if(!$)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),Q=this.pinnedRowModel?.getPinnedTopTotalHeight()??0,J=0;if(z>0)J+=z;if(Q>0)J+=Q;if(J>0)J+=1;this.comp.setStickyTopTop(`${J}px`)}setStickyBottomOffsetBottom(){let{pinnedRowModel:$,scrollVisibleSvc:z,comp:Q}=this,J=$?.getPinnedBottomTotalHeight()??0,X=z.horizontalScrollShowing?z.getScrollbarWidth()||0:0,Y=J+X;Q.setStickyBottomBottom(`${Y}px`)}};function J0($){return K0($)}var UH=class extends x{constructor($,z,Q,J,Z){super();this.cellCtrl=z,this.rowResizerElement=null,this.rendererVersion=0,this.editorVersion=0,this.beans=$,this.gos=$.gos,this.column=z.column,this.rowNode=z.rowNode,this.eRow=J;let X=J0({tag:"div",role:z.getCellAriaRole(),attrs:{"comp-id":`${this.getCompId()}`,"col-id":z.column.colIdSanitised}});this.eCell=X;let Y;if(z.isCellSpanning())Y=J0({tag:"div",cls:"ag-spanned-cell-wrapper",role:"presentation"}),Y.appendChild(X),this.setTemplateFromElement(Y);else this.setTemplateFromElement(X);this.cellCssManager=new v7(()=>X),this.forceWrapper=z.isForceWrapper(),this.refreshWrapper(!1);let q={toggleCss:(G,_)=>this.cellCssManager.toggleCss(G,_),setUserStyles:(G)=>Z1(X,G),getFocusableElement:()=>X,setIncludeSelection:(G)=>this.includeSelection=G,setIncludeRowDrag:(G)=>this.includeRowDrag=G,setIncludeDndSource:(G)=>this.includeDndSource=G,setRowResizerElement:(G)=>this.setRowResizerElement(G),setRenderDetails:(G,_,H)=>this.setRenderDetails(G,_,H),setEditDetails:(G,_,H)=>this.setEditDetails(G,_,H),getCellEditor:()=>this.cellEditor||null,getCellRenderer:()=>this.cellRenderer||null,getParentOfValue:()=>this.getParentOfValue(),refreshEditStyles:(G,_)=>this.refreshEditStyles(G,_)};z.setComp(q,X,Y,this.eCellWrapper,Q,Z,void 0)}getParentOfValue(){return this.eCellValue??this.eCellWrapper??this.eCell}setRowResizerElement($){if(this.rowResizerElement)T0(this.rowResizerElement);if(this.rowResizerElement=$,$)this.eCell.appendChild($)}setRenderDetails($,z,Q){if(this.cellEditor&&!this.cellEditorPopupWrapper)return;this.firstRender=this.firstRender==null;let Z=this.refreshWrapper(!1);if(this.refreshEditStyles(!1),$){if(!(Q||Z?!1:this.refreshCellRenderer($)))this.destroyRenderer(),this.createCellRendererInstance($)}else this.destroyRenderer(),this.insertValueWithoutCellRenderer(z);if(this.rowDraggingComp?.refreshVisibility(),this.rowResizerElement&&!this.rowResizerElement.parentElement)this.eCell.appendChild(this.rowResizerElement)}setEditDetails($,z,Q){if($)this.createCellEditorInstance($,z,Q);else this.destroyEditor()}removeControls(){let $=this.beans.context;this.checkboxSelectionComp=$.destroyBean(this.checkboxSelectionComp),this.dndSourceComp=$.destroyBean(this.dndSourceComp),this.rowDraggingComp=$.destroyBean(this.rowDraggingComp)}refreshWrapper($){let z=this.includeRowDrag||this.includeDndSource||this.includeSelection,Q=z||this.forceWrapper,J=Q&&this.eCellWrapper==null;if(J)this.eCellWrapper=J0({tag:"div",cls:"ag-cell-wrapper",role:"presentation"}),this.eCell.appendChild(this.eCellWrapper);let Z=!Q&&this.eCellWrapper!=null;if(Z)T0(this.eCellWrapper),this.eCellWrapper=void 0;this.cellCssManager.toggleCss("ag-cell-value",!Q);let X=!$&&Q,Y=X&&this.eCellValue==null;if(Y){let _=this.cellCtrl.getCellValueClass();this.eCellValue=J0({tag:"span",cls:_,role:"presentation"}),this.eCellWrapper.appendChild(this.eCellValue)}let q=!X&&this.eCellValue!=null;if(q)T0(this.eCellValue),this.eCellValue=void 0;let G=J||Z||Y||q;if(G)this.removeControls();if(!$&&z)this.addControls();return G}addControls(){let{cellCtrl:$,eCellWrapper:z,eCellValue:Q,includeRowDrag:J,includeDndSource:Z,includeSelection:X}=this,Y=(q)=>{if(q)z.insertBefore(q.getGui(),Q)};if(J&&this.rowDraggingComp==null)this.rowDraggingComp=$.createRowDragComp(),Y(this.rowDraggingComp);if(Z&&this.dndSourceComp==null)this.dndSourceComp=$.createDndSource(),Y(this.dndSourceComp);if(X&&this.checkboxSelectionComp==null)this.checkboxSelectionComp=$.createSelectionCheckbox(),Y(this.checkboxSelectionComp)}createCellEditorInstance($,z,Q){let J=this.editorVersion,Z=$.newAgStackInstance(),{params:X}=$;if(Z.then((q)=>this.afterCellEditorCreated(J,q,X,z,Q)),n(this.cellEditor)&&X.cellStartedEdit)this.cellCtrl.focusCell(!0)}insertValueWithoutCellRenderer($){let z=this.getParentOfValue();z0(z);let Q=J1($);if(Q!=null)z.textContent=Q}destroyRenderer(){let{context:$}=this.beans;this.cellRenderer=$.destroyBean(this.cellRenderer),T0(this.cellRendererGui),this.cellRendererGui=null,this.rendererVersion++}destroyEditor(){let{context:$}=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=$.destroyBean(this.cellEditor),this.cellEditorPopupWrapper=$.destroyBean(this.cellEditorPopupWrapper),T0(this.cellEditorGui),this.cellCtrl.disableEditorTooltipFeature(),this.cellEditorGui=null,this.editorVersion++}refreshCellRenderer($){if(this.cellRenderer?.refresh==null)return!1;if(this.cellRendererClass!==$.componentClass)return!1;let z=this.cellRenderer.refresh($.params);return z===!0||z===void 0}createCellRendererInstance($){let z=this.rendererVersion,Q=(X)=>(Y)=>{if(this.rendererVersion!==z||!this.isAlive())return;let G=X.newAgStackInstance(),_=this.afterCellRendererCreated.bind(this,z,X.componentClass);G?.then(_)},{animationFrameSvc:J}=this.beans,Z;if(J?.active&&this.firstRender)Z=(X,Y=!1)=>{J.createTask(Q(X),this.rowNode.rowIndex,"p2",X.componentFromFramework,Y)};else Z=(X)=>Q(X)();if($.params?.deferRender&&!this.cellCtrl.rowNode.group){let{loadingComp:X,onReady:Y}=this.cellCtrl.getDeferLoadingCellRenderer();if(X)Z(X),Y.then(()=>Z($,!0))}else Z($)}afterCellRendererCreated($,z,Q){if(!this.isAlive()||$!==this.rendererVersion){this.beans.context.destroyBean(Q);return}this.cellRenderer=Q,this.cellRendererClass=z;let Z=Q.getGui();if(this.cellRendererGui=Z,Z!=null){let X=this.getParentOfValue();z0(X),X.appendChild(Z)}}afterCellEditorCreated($,z,Q,J,Z){let X=$!==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){j(97,{colId:this.column.getId()}),Y.destroyBean(z);return}this.cellEditor=z,this.cellEditorGui=z.getGui();let G=J||z.isPopup?.();if(G)this.addPopupCellEditor(Q,Z);else this.addInCellEditor();this.refreshEditStyles(!0,G),z.afterGuiAttached?.(),this.cellCtrl.enableEditorTooltipFeature(z),this.cellCtrl.cellEditorAttached()}refreshEditStyles($,z){let{cellCssManager:Q}=this;Q.toggleCss("ag-cell-inline-editing",$&&!z),Q.toggleCss("ag-cell-popup-editing",$&&!!z),Q.toggleCss("ag-cell-not-inline-editing",!$||!!z)}addInCellEditor(){let{eCell:$}=this;if($.contains(d(this.beans)))$.focus();if(this.destroyRenderer(),this.refreshWrapper(!0),z0(this.getParentOfValue()),this.cellEditorGui)this.getParentOfValue().appendChild(this.cellEditorGui)}addPopupCellEditor($,z){let{gos:Q,context:J,popupSvc:Z,editSvc:X}=this.beans;if(Q.get("editType")==="fullRow")j(98);let Y=this.cellEditorPopupWrapper=J.createBean(X.createPopupEditorWrapper($)),{cellEditor:q,cellEditorGui:G,eCell:_,rowNode:H,column:U,cellCtrl:W}=this,B=Y.getGui();if(G)B.appendChild(G);let E=Q.get("stopEditingWhenCellsLoseFocus"),K=z!=null?z:q.getPopupPosition?.()??"over",L=Q.get("enableRtl"),D={ePopup:B,additionalParams:{column:U,rowNode:H},type:"popupCellEditor",eventSource:_,position:K,alignSide:L?"right":"left",keepWithinBounds:!0},F=Z.positionPopupByComponent.bind(Z,D),M=Z.addPopup({modal:E,eChild:B,closeOnEsc:!0,closedCallback:(k)=>{W.onPopupEditorClosed(k)},anchorToElement:_,positionCallback:F,ariaOwns:_});if(M)this.hideEditorPopup=M.hideFunc}detach(){this.getGui().remove()}destroy(){this.destroyRenderer(),this.destroyEditor(),this.removeControls(),super.destroy()}},WH=class extends x{constructor($,z,Q){super();this.cellComps=new Map,this.beans=z,this.rowCtrl=$;let J=J0({tag:"div",role:"row",attrs:{"comp-id":`${this.getCompId()}`}});this.setInitialStyle(J,Q),this.setTemplateFromElement(J);let Z=J.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,q)=>this.toggleCss(Y,q),setUserStyles:(Y)=>Z1(J,Y),setTop:(Y)=>Z.top=Y,setTransform:(Y)=>Z.transform=Y,setRowIndex:(Y)=>J.setAttribute("row-index",Y),setRowId:(Y)=>J.setAttribute("row-id",Y),setRowBusinessKey:(Y)=>J.setAttribute("row-business-key",Y),refreshFullWidth:(Y)=>{let q=Y();return this.fullWidthCellRendererParams=q,this.fullWidthCellRenderer?.refresh?.(q)??!1}};$.setComp(X,this.getGui(),Q,void 0),this.addDestroyFunc(()=>{$.unsetComp(Q)})}setInitialStyle($,z){let Q=this.rowCtrl.getInitialTransform(z);if(Q)$.style.setProperty("transform",Q);else{let J=this.rowCtrl.getInitialRowTop(z);if(J)$.style.setProperty("top",J)}}showFullWidth($){let z=(J)=>{if(this.isAlive()){let Z=J.getGui();this.getGui().appendChild(Z),this.rowCtrl.setupDetailRowAutoHeight(Z),this.setFullWidthRowComp(J,$.params)}else this.beans.context.destroyBean(J)};$.newAgStackInstance().then(z)}setCellCtrls($){let z=new Map(this.cellComps);for(let Q of $){let J=Q.instanceId;if(!this.cellComps.has(J))this.newCellComp(Q);else z.delete(J)}this.destroyCells(z),this.ensureDomOrder($)}ensureDomOrder($){if(!this.domOrder)return;let z=[];for(let Q of $){let J=this.cellComps.get(Q.instanceId);if(J)z.push(J.getGui())}h6(this.getGui(),z)}newCellComp($){let z=this.beans.editSvc?.isEditing($,{withOpenEditor:!0})??!1,Q=new UH(this.beans,$,this.rowCtrl.printLayout,this.getGui(),z);this.cellComps.set($.instanceId,Q),this.getGui().appendChild(Q.getGui())}destroy(){super.destroy(),this.destroyCells(this.cellComps)}setFullWidthRowComp($,z){this.fullWidthCellRenderer=$,this.fullWidthCellRendererParams=z,this.addDestroyFunc(()=>{this.fullWidthCellRenderer=this.beans.context.destroyBean(this.fullWidthCellRenderer),this.fullWidthCellRendererParams=void 0})}destroyCells($){for(let z of $.values()){if(!z)continue;let Q=z.cellCtrl.instanceId;if(this.cellComps.get(Q)!==z)continue;z.detach(),z.destroy(),this.cellComps.delete(Q)}}};function BH($,z,Q){let J=!!Q.gos.get("enableCellSpan")&&!!z.getSpannedRowCtrls,Z={tag:"div",ref:"eContainer",cls:Q8($),role:"rowgroup"};if(z.type==="center"||J){let X={tag:"div",ref:"eSpannedContainer",cls:`ag-spanning-container ${a_($)}`,role:"presentation"};return Z.role="presentation",{tag:"div",ref:"eViewport",cls:`ag-viewport ${z8($)}`,role:"rowgroup",children:[Z,J?X:null]}}return Z}var EH=class extends x{constructor($){super();this.eViewport=f,this.eContainer=f,this.eSpannedContainer=f,this.rowCompsNoSpan={},this.rowCompsWithSpan={},this.name=$?.name,this.options=K1(this.name)}postConstruct(){this.setTemplate(BH(this.name,this.options,this.beans));let $={setHorizontalScroll:(Q)=>this.eViewport.scrollLeft=Q,setViewportHeight:(Q)=>this.eViewport.style.height=Q,setRowCtrls:({rowCtrls:Q})=>this.setRowCtrls(Q),setSpannedRowCtrls:(Q)=>this.setRowCtrls(Q,!0),setDomOrder:(Q)=>{this.domOrder=Q},setContainerWidth:(Q)=>{if(this.eContainer.style.width=Q,this.eSpannedContainer)this.eSpannedContainer.style.width=Q},setOffsetTop:(Q)=>{let J=`translateY(${Q})`;if(this.eContainer.style.transform=J,this.eSpannedContainer)this.eSpannedContainer.style.transform=J}};this.createManagedBean(new qH(this.name)).setComp($,this.eContainer,this.eSpannedContainer,this.eViewport)}destroy(){this.setRowCtrls([]),this.setRowCtrls([],!0),super.destroy(),this.lastPlacedElement=null}setRowCtrls($,z){let{beans:Q,options:J}=this,Z=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 q=[];for(let G of $){let _=G.instanceId,H=X[_],U;if(H)U=H,delete X[_];else{if(!G.rowNode.displayed)continue;U=new WH(G,Q,J.type)}Y[_]=U,q.push([U,!H])}this.removeOldRows(Object.values(X)),this.addRowNodes(q,Z)}addRowNodes($,z){let{domOrder:Q}=this;for(let[J,Z]of $){let X=J.getGui();if(!Q){if(Z)z.appendChild(X)}else this.ensureDomOrder(X,z)}}removeOldRows($){for(let z of $)z.getGui().remove(),z.destroy()}ensureDomOrder($,z){g6(z,$,this.lastPlacedElement),this.lastPlacedElement=$}},KH={selector:"AG-ROW-CONTAINER",component:EH};function CQ($,z){return z.map((Q)=>{let J=`e${Q[0].toUpperCase()+Q.substring(1)}RowContainer`;return $[J]={name:Q},{tag:"ag-row-container",ref:J,attrs:{name:Q}}})}function LH($){let z={},Q={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:CQ(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:CQ(z,["left","center","right","fullWidth"])},{tag:"ag-fake-vertical-scroll"}]},{tag:"div",ref:"eStickyTop",cls:"ag-sticky-top",role:"presentation",children:CQ(z,["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"])},{tag:"div",ref:"eStickyBottom",cls:"ag-sticky-bottom",role:"presentation",children:CQ(z,["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"])},{tag:"div",ref:"eBottom",cls:"ag-floating-bottom",role:"presentation",children:CQ(z,["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"])},{tag:"ag-fake-horizontal-scroll"},$?{tag:"ag-overlay-wrapper"}:null]};return{paramsMap:z,elementParams:Q}}var DH=class extends x{constructor(){super(...arguments);this.eGridRoot=f,this.eBodyViewport=f,this.eStickyTop=f,this.eStickyBottom=f,this.eTop=f,this.eBottom=f,this.eBody=f}postConstruct(){let{overlays:$,rangeSvc:z}=this.beans,Q=$?.getOverlayWrapperSelector(),{paramsMap:J,elementParams:Z}=LH(!!Q);this.setTemplate(Z,[...Q?[Q]:[],g_,m_,x_,KH],J);let X=(q,G)=>{let _=`${q}px`;G.style.minHeight=_,G.style.height=_},Y={setRowAnimationCssOnBodyViewport:(q,G)=>this.setRowAnimationCssOnBodyViewport(q,G),setColumnCount:(q)=>iY(this.getGui(),q),setRowCount:(q)=>pY(this.getGui(),q),setTopHeight:(q)=>X(q,this.eTop),setBottomHeight:(q)=>X(q,this.eBottom),setTopInvisible:(q)=>this.eTop.classList.toggle("ag-invisible",q),setBottomInvisible:(q)=>this.eBottom.classList.toggle("ag-invisible",q),setStickyTopHeight:(q)=>this.eStickyTop.style.height=q,setStickyTopTop:(q)=>this.eStickyTop.style.top=q,setStickyTopWidth:(q)=>this.eStickyTop.style.width=q,setStickyBottomHeight:(q)=>{this.eStickyBottom.style.height=q,this.eStickyBottom.classList.toggle("ag-invisible",q==="0px")},setStickyBottomBottom:(q)=>this.eStickyBottom.style.bottom=q,setStickyBottomWidth:(q)=>this.eStickyBottom.style.width=q,setColumnMovingCss:(q,G)=>this.toggleCss(q,G),updateLayoutClasses:(q,G)=>{let _=[this.eBodyViewport.classList,this.eBody.classList];for(let H of _)H.toggle(U$.AUTO_HEIGHT,G.autoHeight),H.toggle(U$.NORMAL,G.normal),H.toggle(U$.PRINT,G.print);this.toggleCss(U$.AUTO_HEIGHT,G.autoHeight),this.toggleCss(U$.NORMAL,G.normal),this.toggleCss(U$.PRINT,G.print)},setAlwaysVerticalScrollClass:(q,G)=>this.eBodyViewport.classList.toggle(X8,G),registerBodyViewportResizeListener:(q)=>{let G=F$(this.beans,this.eBodyViewport,q);this.addDestroyFunc(()=>G())},setPinnedTopBottomOverflowY:(q)=>this.eTop.style.overflowY=this.eBottom.style.overflowY=q,setCellSelectableCss:(q,G)=>{for(let _ of[this.eTop,this.eBodyViewport,this.eBottom])_.classList.toggle(q,G)},setBodyViewportWidth:(q)=>this.eBodyViewport.style.width=q,setGridRootRole:(q)=>_0(this.eGridRoot,q)};if(this.ctrl=this.createManagedBean(new HH),this.ctrl.setComp(Y,this.getGui(),this.eBodyViewport,this.eTop,this.eBottom,this.eStickyTop,this.eStickyBottom),z&&u0(this.gos)||rQ(this.gos))cY(this.getGui(),!0)}setRowAnimationCssOnBodyViewport($,z){let Q=this.eBodyViewport.classList;Q.toggle("ag-row-animation",z),Q.toggle("ag-row-no-animation",!z)}getFocusableContainerName(){return"gridBody"}},FH={selector:"AG-GRID-BODY",component:DH},gQ={TAB_GUARD:"ag-tab-guard",TAB_GUARD_TOP:"ag-tab-guard-top",TAB_GUARD_BOTTOM:"ag-tab-guard-bottom"},MH=class extends R0{constructor($,z){super();this.stopPropagationCallbacks=z,this.skipTabGuardFocus=!1,this.forcingFocusOut=!1,this.allowFocus=!1;let{comp:Q,eTopGuard:J,eBottomGuard:Z,focusTrapActive:X,forceFocusOutWhenTabGuardsAreEmpty:Y,isFocusableContainer:q,focusInnerElement:G,onFocusIn:_,onFocusOut:H,shouldStopEventPropagation:U,onTabKeyDown:W,handleKeyDown:B,isEmpty:E,eFocusableElement:K}=$;this.comp=Q,this.eTopGuard=J,this.eBottomGuard=Z,this.providedFocusInnerElement=G,this.eFocusableElement=K,this.focusTrapActive=!!X,this.forceFocusOutWhenTabGuardsAreEmpty=!!Y,this.isFocusableContainer=!!q,this.providedFocusIn=_,this.providedFocusOut=H,this.providedShouldStopEventPropagation=U,this.providedOnTabKeyDown=W,this.providedHandleKeyDown=B,this.providedIsEmpty=E}postConstruct(){this.createManagedBean(new y7(this.eFocusableElement,this.stopPropagationCallbacks,{shouldStopEventPropagation:()=>this.shouldStopEventPropagation(),onTabKeyDown:($)=>this.onTabKeyDown($),handleKeyDown:($)=>this.handleKeyDown($),onFocusIn:($)=>this.onFocusIn($),onFocusOut:($)=>this.onFocusOut($)})),this.activateTabGuards();for(let $ of[this.eTopGuard,this.eBottomGuard])this.addManagedElementListeners($,{focus:this.onFocus.bind(this)})}handleKeyDown($){if(this.providedHandleKeyDown)this.providedHandleKeyDown($)}tabGuardsAreActive(){return!!this.eTopGuard&&this.eTopGuard.hasAttribute("tabIndex")}shouldStopEventPropagation(){if(this.providedShouldStopEventPropagation)return this.providedShouldStopEventPropagation();return!1}activateTabGuards(){if(this.forcingFocusOut)return;let $=this.gos.get("tabIndex");this.comp.setTabIndex($.toString())}deactivateTabGuards(){this.comp.setTabIndex()}onFocus($){if(this.isFocusableContainer&&!this.eFocusableElement.contains($.relatedTarget)){if(!this.allowFocus){this.findNextElementOutsideAndFocus($.target===this.eBottomGuard);return}}if(this.skipTabGuardFocus){this.skipTabGuardFocus=!1;return}if(this.forceFocusOutWhenTabGuardsAreEmpty){if(this.providedIsEmpty?this.providedIsEmpty():E$(this.eFocusableElement,".ag-tab-guard").length===0){this.findNextElementOutsideAndFocus($.target===this.eBottomGuard);return}}if(this.isFocusableContainer&&this.eFocusableElement.contains($.relatedTarget))return;let z=$.target===this.eBottomGuard;if(!(this.providedFocusInnerElement?this.providedFocusInnerElement(z):this.focusInnerElement(z))&&this.forceFocusOutWhenTabGuardsAreEmpty)this.findNextElementOutsideAndFocus($.target===this.eBottomGuard)}findNextElementOutsideAndFocus($){let z=Y0(this.beans),Q=E$(z.body,null,!0),J=Q.indexOf($?this.eTopGuard:this.eBottomGuard);if(J===-1)return;let Z,X;if($)Z=0,X=J;else Z=J+1,X=Q.length;let Y=Q.slice(Z,X),q=this.gos.get("tabIndex");Y.sort((G,_)=>{let H=Number.parseInt(G.getAttribute("tabindex")||"0"),U=Number.parseInt(_.getAttribute("tabindex")||"0");if(U===q)return 1;if(H===q)return-1;if(H===0)return 1;if(U===0)return-1;return H-U}),Y[$?Y.length-1:0]?.focus()}onFocusIn($){if(this.focusTrapActive||this.forcingFocusOut)return;if(this.providedFocusIn)this.providedFocusIn($);if(!this.isFocusableContainer)this.deactivateTabGuards()}onFocusOut($){if(this.focusTrapActive)return;if(this.providedFocusOut)this.providedFocusOut($);if(!this.eFocusableElement.contains($.relatedTarget))this.activateTabGuards()}onTabKeyDown($){if(this.providedOnTabKeyDown){this.providedOnTabKeyDown($);return}if(this.focusTrapActive)return;if($.defaultPrevented)return;let z=this.tabGuardsAreActive();if(z)this.deactivateTabGuards();let Q=this.getNextFocusableElement($.shiftKey);if(z)setTimeout(()=>this.activateTabGuards(),0);if(!Q)return;Q.focus(),$.preventDefault()}focusInnerElement($=!1){let z=E$(this.eFocusableElement);if(this.tabGuardsAreActive())z.splice(0,1),z.splice(-1,1);if(!z.length)return!1;return z[$?z.length-1:0].focus({preventScroll:!0}),!0}getNextFocusableElement($){return j0(this.beans,this.eFocusableElement,!1,$)}forceFocusOutOfContainer($=!1){if(this.forcingFocusOut)return;let z=$?this.eTopGuard:this.eBottomGuard;this.activateTabGuards(),this.skipTabGuardFocus=!0,this.forcingFocusOut=!0,z.focus(),window.setTimeout(()=>{this.forcingFocusOut=!1,this.activateTabGuards()})}isTabGuard($,z){return $===this.eTopGuard&&!z||$===this.eBottomGuard&&(z??!0)}setAllowFocus($){this.allowFocus=$}},_4=class extends R0{constructor($,z){super();this.comp=$,this.stopPropagationCallbacks=z}initialiseTabGuard($){this.eTopGuard=this.createTabGuard("top"),this.eBottomGuard=this.createTabGuard("bottom"),this.eFocusableElement=this.comp.getFocusableElement();let{eTopGuard:z,eBottomGuard:Q,eFocusableElement:J,stopPropagationCallbacks:Z}=this,X=[z,Q],Y={setTabIndex:(D)=>{for(let F of X)if(D==null)F.removeAttribute("tabindex");else F.setAttribute("tabindex",D)}};this.addTabGuards(z,Q);let{focusTrapActive:q=!1,onFocusIn:G,onFocusOut:_,focusInnerElement:H,handleKeyDown:U,onTabKeyDown:W,shouldStopEventPropagation:B,isEmpty:E,forceFocusOutWhenTabGuardsAreEmpty:K,isFocusableContainer:L}=$;this.tabGuardCtrl=this.createManagedBean(new MH({comp:Y,focusTrapActive:q,eTopGuard:z,eBottomGuard:Q,eFocusableElement:J,onFocusIn:G,onFocusOut:_,focusInnerElement:H,handleKeyDown:U,onTabKeyDown:W,shouldStopEventPropagation:B,isEmpty:E,forceFocusOutWhenTabGuardsAreEmpty:K,isFocusableContainer:L},Z))}getTabGuardCtrl(){return this.tabGuardCtrl}createTabGuard($){let z=Y0(this.beans).createElement("div"),Q=$==="top"?gQ.TAB_GUARD_TOP:gQ.TAB_GUARD_BOTTOM;return z.classList.add(gQ.TAB_GUARD,Q),_0(z,"presentation"),z}addTabGuards($,z){let Q=this.eFocusableElement;Q.prepend($),Q.append(z)}removeAllChildrenExceptTabGuards(){let $=[this.eTopGuard,this.eBottomGuard];z0(this.comp.getFocusableElement()),this.addTabGuards(...$)}forceFocusOutOfContainer($=!1){this.tabGuardCtrl.forceFocusOutOfContainer($)}appendChild($,z,Q){if(!X1(z))z=z.getGui();let{eBottomGuard:J}=this;if(J)J.before(z);else $(z,Q)}destroy(){let{eTopGuard:$,eBottomGuard:z}=this;T0($),T0(z),super.destroy()}},p$=class extends p0{initialiseTabGuard($,z){this.tabGuardFeature=this.createManagedBean(new _4(this,z)),this.tabGuardFeature.initialiseTabGuard($)}forceFocusOutOfContainer($=!1){this.tabGuardFeature.forceFocusOutOfContainer($)}appendChild($,z){this.tabGuardFeature.appendChild(super.appendChild.bind(this),$,z)}},H4=class extends p${initialiseTabGuard($){super.initialiseTabGuard($,Uz)}},f5=($,z)=>{return u7($,()=>F0($.getGui(),z,!1,!0))},O5=($)=>{return $?.getFocusableContainerName()??"external"},kH=($)=>{if($==null)return"external";return typeof $==="string"?$:"gridBody"},VH=class extends S{constructor(){super(...arguments);this.additionalFocusableContainers=new Set}setComp($,z,Q){this.view=$,this.eGridHostDiv=z,this.eGui=Q,this.eGui.setAttribute("grid-id",this.beans.context.getId());let{dragAndDrop:J,ctrlsSvc:Z}=this.beans;J?.registerGridDropTarget(()=>this.eGui,this),this.createManagedBean(new q4(this.view)),this.view.setRtlClass(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr");let X=F$(this.beans,this.eGridHostDiv,this.onGridSizeChanged.bind(this));this.addDestroyFunc(()=>X()),Z.register("gridCtrl",this)}isDetailGrid(){return xJ(this.getGui())?.getAttribute("row-id")?.startsWith("detail")||!1}getOptionalSelectors(){let $=this.beans;return{paginationSelector:$.pagination?.getPaginationSelector(),gridHeaderDropZonesSelector:$.registry?.getSelector("AG-GRID-HEADER-DROP-ZONES"),sideBarSelector:$.sideBar?.getSelector(),statusBarSelector:$.registry?.getSelector("AG-STATUS-BAR"),watermarkSelector:$.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($){let{view:z}=this;if($===!1)z.setCursor(null);else z.setCursor($===1?"ew-resize":"ns-resize")}disableUserSelect($){this.view.setUserSelect($?"none":null)}focusNextInnerContainer($){let z=this.getFocusableContainers(),{indexWithFocus:Q,nextIndex:J}=this.getNextFocusableIndex(z,$),Z=Q===-1?$?z.length-1:0:J,{gos:X,beans:{focusSvc:Y,navigation:q}}=this,G=X.getCallback("tabToNextGridContainer");if(G){let _=Y.getDefaultTabToNextGridContainerTarget({backwards:$,focusableContainers:z,nextIndex:Z}),H=O5(z[Z]),U=_==null&&H==="gridBody"?"gridBody":kH(_),W=G({backwards:$,previousContainer:O5(z[Q]),nextContainer:U,defaultTarget:_});if(W!==void 0){if(typeof W==="boolean")return W;if(typeof W==="string"){if(W==="gridBody")return this.focusGridBodyDefault($)||void 0;let B=z.find((E)=>E.getFocusableContainerName()===W);if(!B){d6(`tabToNextGridContainer - ${W} container not found`);return}return f5(B,$)?!0:void 0}if(E_(W))return Y.focusHeaderPosition({headerPosition:W})||void 0;return q?.ensureCellVisible(W),Y.setFocusedCell({...W,forceBrowserFocus:!0}),Y.isCellFocused(W)||void 0}}return this.focusNextInnerContainerDefault({backwards:$,focusableContainers:z,indexWithFocus:Q,nextIndex:Z})||void 0}focusInnerElement($){let{gos:z,beans:Q,beans:{focusSvc:J,visibleCols:Z}}=this;if(z.getCallback("focusGridInnerElement")?.({fromBottom:!!$}))return!0;let Y=this.getFocusableContainers();if($){if(this.focusNextInnerContainerDefault({backwards:!0,focusableContainers:Y,indexWithFocus:Y.length,nextIndex:Y.length-1}))return!0;return J.focusGridView({column:b(Z.allCols),backwards:!0})}let q=Z.allCols;if(z.get("headerHeight")===0||H$(Q)){if(J.focusGridView({column:q[0],backwards:$}))return!0;for(let G=1;G<Y.length;G++)if(F0(Y[G].getGui(),$))return!0;return!1}return J.focusFirstHeader()}forceFocusOutOfContainer($=!1){this.view.forceFocusOutOfContainer($)}isFocusInsideGridBody(){let $=this.getFocusableContainers(),{indexWithFocus:z}=this.getNextFocusableIndex($);return $[z]?.getFocusableContainerName()==="gridBody"}addFocusableContainer($){this.additionalFocusableContainers.add($)}removeFocusableContainer($){this.additionalFocusableContainers.delete($)}allowFocusForNextCoreContainer($){let z=this.view.getFocusableContainers(),{indexWithFocus:Q,nextIndex:J}=this.getNextFocusableIndex(z,$);if(!this.focusNextInnerContainerDefault({backwards:!!$,focusableContainers:z,indexWithFocus:Q,nextIndex:J}))this.forceFocusOutOfContainer($)}isFocusable(){let $=this.beans;return!GJ($)||!H$($)||!!$.sideBar?.comp?.isDisplayed()}getNextFocusableIndex($,z){let Q=d(this.beans),J=$.findIndex((Z)=>Z.getGui().contains(Q));return{indexWithFocus:J,nextIndex:J+(z?-1:1)}}focusGridBodyDefault($){let{gos:z,beans:Q,beans:{focusSvc:J,visibleCols:{allCols:Z}}}=this;if($)return J.focusGridView({column:b(Z),backwards:!0});if(z.get("headerHeight")===0||H$(Q))return J.focusGridView({column:Z[0]});return J.focusFirstHeader()}focusNextInnerContainerDefault($){let{backwards:z,focusableContainers:Q,indexWithFocus:J}=$,Z=z?-1:1;for(let X=$.nextIndex;X>=0&&X<Q.length;X+=Z){let Y=Q[X];if(Y.getFocusableContainerName()==="gridBody"){if(J===-1||(z?J>X:J<X)){if(this.focusGridBodyDefault(z))return!0;continue}}if(f5(Y,z))return!0}return!1}getFocusableContainers(){return[...this.view.getFocusableContainers(),...this.additionalFocusableContainers]}destroy(){this.additionalFocusableContainers.clear(),super.destroy()}},AH=class extends H4{constructor($){super();this.gridBody=f,this.gridHeaderDropZones=f,this.sideBar=f,this.statusBar=f,this.pagination=f,this.rootWrapperBody=f,this.eGridDiv=$}postConstruct(){let $={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 VH),Q=z.getOptionalSelectors(),J=this.createTemplate(Q),Z=[FH,...Object.values(Q).filter((X)=>!!X)];this.setTemplate(J,Z),z.setComp($,this.eGridDiv,this.getGui()),this.insertGridIntoDom(),this.initialiseTabGuard({onTabKeyDown:()=>{return},focusInnerElement:(X)=>z.focusInnerElement(X),forceFocusOutWhenTabGuardsAreEmpty:!0,isEmpty:()=>!z.isFocusable()})}insertGridIntoDom(){let $=this.getGui();this.eGridDiv.appendChild($),this.addDestroyFunc(()=>{$.remove(),dQ(this.gos,"Grid removed from DOM")})}updateLayoutClasses($,z){let Q=this.rootWrapperBody.classList,{AUTO_HEIGHT:J,NORMAL:Z,PRINT:X}=U$,{autoHeight:Y,normal:q,print:G}=z;Q.toggle(J,Y),Q.toggle(Z,q),Q.toggle(X,G),this.toggleCss(J,Y),this.toggleCss(Z,q),this.toggleCss(X,G)}createTemplate($){let z=$.gridHeaderDropZonesSelector?{tag:"ag-grid-header-drop-zones",ref:"gridHeaderDropZones"}:null,Q=$.sideBarSelector?{tag:"ag-side-bar",ref:"sideBar"}:null,J=$.statusBarSelector?{tag:"ag-status-bar",ref:"statusBar"}:null,Z=$.watermarkSelector?{tag:"ag-watermark"}:null,X=$.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"},Q]},J,X,Z]}}getFocusableElement(){return this.rootWrapperBody}forceFocusOutOfContainer($=!1){if(!$&&this.pagination?.isDisplayed()){this.pagination.forceFocusOutOfContainer($);return}super.forceFocusOutOfContainer($)}getFocusableContainers(){let $=[...this.gridHeaderDropZones?.getFocusableContainers?.()??[],this.gridBody];for(let z of[this.sideBar,this.statusBar,this.pagination])if(z)$.push(z);return $.filter((z)=>A0(z.getGui()))}},c=($,z)=>{for(let Q of Object.keys(z))z[Q]=$;return z},P5={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})},gZ={isDestroyed:()=>!0,destroy(){},preConstruct(){},postConstruct(){},preWireBeans(){},wireBeans(){}},SH=($,z)=>$.eventSvc.dispatchEvent(z),Y8=class{};Reflect.defineProperty(Y8,"name",{value:"GridApi"});var RH=class extends S{constructor(){super();this.beanName="apiFunctionSvc",this.api=new Y8,this.fns={...gZ,dispatchEvent:SH},this.preDestroyLink="";let{api:$}=this;for(let z of Object.keys(P5))$[z]=this.makeApi(z)[z]}postConstruct(){this.preDestroyLink=this.beans.frameworkOverrides.getDocLink("grid-lifecycle/#grid-pre-destroyed")}addFunction($,z){let{fns:Q,beans:J}=this;if(Q!==gZ)Q[$]=J?.validation?.validateApiFunction($,z)??z}makeApi($){return{[$]:(...z)=>{let{beans:Q,fns:{[$]:J}}=this;return J?J(Q,...z):this.apiNotFound($)}}}apiNotFound($){let{beans:z,gos:Q,preDestroyLink:J}=this;if(!z)j(26,{fnName:$,preDestroyLink:J});else{let Z=P5[$];if(Q.assertModuleRegistered(Z,`api.${$}`))j(27,{fnName:$,module:Z})}}destroy(){super.destroy(),this.fns=gZ,this.beans=null}};function jH($){return $.context.getId()}function fH($){$.gridDestroySvc.destroy()}function OH($){return $.gridDestroySvc.destroyCalled}function PH($,z){return $.gos.get(z)}function TH($,z,Q){q8($,{[z]:Q})}function q8($,z){$.gos.updateGridOptions({options:z})}function vH($,z){let Q=z.replace(/Module$/,"");return $.gos.isModuleRegistered(Q)}function uJ($,z,Q){let J=h($,z,Q);if(J){let{className:X}=J;if(typeof X==="string"&&X.includes("ag-icon")||typeof X==="object"&&X["ag-icon"])return J}let Z=J0({tag:"span"});return Z.appendChild(J),Z}function h($,z,Q){let J=null;if($==="smallDown")j(262);else if($==="smallLeft")j(263);else if($==="smallRight")j(264);let Z=Q?.getColDef().icons;if(Z)J=Z[$];if(z.gos&&!J){let X=z.gos.get("icons");if(X)J=X[$]}if(J){let X;if(typeof J==="function")X=J();else if(typeof J==="string")X=J;else{j(38,{iconName:$});return}if(typeof X==="string")return v2(X);if(X1(X))return X;j(133,{iconName:$});return}else{let X=z.registry.getIcon($);if(!X)z.validation?.validateIcon($);return J0({tag:"span",cls:`ag-icon ag-icon-${X??$}`,role:"presentation",attrs:{unselectable:"on"}})}}var IH=".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)}",CH={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"}]}]},bH=class extends x{constructor(){super();this.dragSource=null,this.eIcon=f,this.eLabel=f,this.eGhost=f,this.registerCSS(IH)}postConstruct(){let $=(z)=>uJ(z,this.beans,null);this.dropIconMap={pinned:$("columnMovePin"),hide:$("columnMoveHide"),move:$("columnMoveMove"),left:$("columnMoveLeft"),right:$("columnMoveRight"),group:$("columnMoveGroup"),aggregate:$("columnMoveValue"),pivot:$("columnMovePivot"),notAllowed:$("dropNotAllowed")}}init($){this.dragSource=$.dragSource,this.setTemplate(CH),this.beans.environment.applyThemeClasses(this.eGhost)}destroy(){this.dragSource=null,super.destroy()}setIcon($,z){let{eGhost:Q,eIcon:J,dragSource:Z,dropIconMap:X,gos:Y}=this;z0(J);let q=null;if(!$)$=Z?.getDefaultIconName?Z.getDefaultIconName():"notAllowed";if(q=X[$],Q.classList.toggle("ag-dnd-ghost-not-allowed",$==="notAllowed"),J.classList.toggle("ag-shake-left-to-right",z),q===X.hide&&Y.get("suppressDragLeaveHidesColumns"))return;if(q)J.appendChild(q)}setLabel($){this.eLabel.textContent=$}};var G8=($,z)=>{if(z!=null&&$?.setPointerCapture)try{return $.setPointerCapture(z),$.hasPointerCapture(z)}catch{}return!1},yH=($,z)=>{if(typeof PointerEvent>"u"||!(z instanceof PointerEvent))return null;let Q=z.pointerId;if(!G8($,Q))return null;let J={eElement:$,pointerId:Q,onLost(Z){wH(J,Z)}};return $.addEventListener("lostpointercapture",J.onLost),J},xH=($)=>{if(!$)return;_8($);let{eElement:z,pointerId:Q}=$;if(!z)return;try{z.releasePointerCapture(Q)}catch{}$.eElement=null},_8=($)=>{let{eElement:z,onLost:Q}=$;if(z&&Q)z.removeEventListener("lostpointercapture",Q),$.onLost=null},wH=($,z)=>{_8($);let{eElement:Q,pointerId:J}=$;if(Q&&z.pointerId===J)G8(Q,J)},ez,JQ,hZ={passive:!0},r$={passive:!1},k$=($)=>{if(!JQ)JQ=new WeakSet;else if(JQ.has($))return!1;return JQ.add($),!0},NH=class extends R0{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(r0(this.beans))}hasPointerCapture(){let $=this.drag?.pointerCapture;return!!($&&this.beans.eRootDiv.hasPointerCapture?.($.pointerId))}destroy(){if(this.drag)this.cancelDrag();let $=this.dragSources;for(let z of $)T5(z);$.length=0,super.destroy()}removeDragSource($){let z=this.dragSources;for(let Q=0,J=z.length;Q<J;++Q){let Z=z[Q];if(Z.params===$){z.splice(Q,1),T5(Z);break}}}addDragSource($){if(!this.isAlive())return;let{eElement:z,includeTouch:Q}=$,J=[],Z;if(Q){let _=z.style;if(_)Z=_.touchAction,_.touchAction="none"}let X={handlers:J,params:$,oldTouchAction:Z};this.dragSources.push(X),p1(J,[z,"pointerdown",(_)=>this.onPointerDown($,_),r$],[z,"mousedown",(_)=>this.onMouseDown($,_)]);let G=this.gos.get("suppressTouch");if(Q&&!G)p1(J,[z,"touchstart",(H)=>this.onTouchStart($,H),r$])}cancelDrag($){let z=this.drag;if($??($=z?.eElement),$)this.eventSvc.dispatchEvent({type:"dragCancelled",target:$});z?.params.onDragCancel?.(),this.destroyDrag()}shouldPreventMouseEvent($){let z=$.type;return(z==="mousemove"||z==="pointermove")&&$.cancelable&&nQ(this.beans,$)&&!wQ(mZ($))}initDrag($,...z){this.drag=$;let Q=this.beans,J=(q)=>this.onScroll(q),Z=(q)=>this.onKeyDown(q),X=r0(Q),Y=Y0(Q);p1($.handlers,[X,"contextmenu",QQ],[X,"keydown",Z],[Y,"scroll",J,{capture:!0}],[Y.defaultView||window,"scroll",J],...z)}destroyDrag(){this.dragging=!1;let $=this.drag;if($){let z=$.rootEl;if(ez?.get(z)===$)ez.delete(z);this.drag=null,xH($.pointerCapture),I2($.handlers)}}onPointerDown($,z){if(this.isPointer())return;let Q=this.beans;if(JQ?.has(z))return;let J=z.pointerType;if(J==="touch"){if(Q.gos.get("suppressTouch")||!$.includeTouch)return;if($.stopPropagationForTouch)z.stopPropagation();if(wQ(mZ(z)))return}if(!z.isPrimary)return;if(J==="mouse"&&z.button!==0)return;this.destroyDrag();let Z=r0(Q),X=$.eElement,Y=z.pointerId,q=new uZ(Z,$,z,Y);ez??(ez=new WeakMap),ez.set(Z,q);let G=(W)=>{if(W.pointerId===Y)this.onMouseOrPointerMove(W)},_=(W)=>{if(W.pointerId===Y)this.onMouseOrPointerUp(W)},H=(W)=>{if(W.pointerId===Y&&k$(W))this.cancelDrag()},U=(W)=>this.draggingPreventDefault(W);if(this.initDrag(q,[Z,"pointerup",_],[Z,"pointercancel",H],[Z,"pointermove",G,r$],[Z,"touchmove",U,r$],[X,"mousemove",U,r$]),$.dragStartPixels===0)this.onMouseOrPointerMove(z);else k$(z)}onTouchStart($,z){if(this.gos.get("suppressTouch")||!$.includeTouch)return;if(!k$(z))return;if(wQ(mZ(z)))return;if($.stopPropagationForTouch)z.stopPropagation();if(this.isPointer()){if(this.dragging)QQ(z);return}this.destroyDrag();let J=this.beans,Z=r0(J),X=new uZ(Z,$,z.touches[0]),Y=(W)=>this.onTouchMove(W),q=(W)=>this.onTouchUp(W),G=(W)=>this.onTouchCancel(W),_=(W)=>this.draggingPreventDefault(W),H=r0(J),U=z.target??$.eElement;if(this.initDrag(X,[U,"touchmove",Y,hZ],[U,"touchend",q,hZ],[U,"touchcancel",G,hZ],[H,"touchmove",_,r$],[H,"touchend",q,r$],[H,"touchcancel",G,r$]),$.dragStartPixels===0)this.onMove(X.start)}draggingPreventDefault($){if(this.dragging)QQ($)}onMouseDown($,z){if(z.button!==0)return;if(JQ?.has(z))return;if(this.isPointer())return;let Q=this.beans;this.destroyDrag();let J=new uZ(r0(Q),$,z),Z=(q)=>this.onMouseOrPointerMove(q),X=(q)=>this.onMouseOrPointerUp(q),Y=r0(Q);if(this.initDrag(J,[Y,"mousemove",Z],[Y,"mouseup",X]),$.dragStartPixels===0)this.onMouseOrPointerMove(z);else k$(z)}onScroll($){if(!k$($))return;let z=this.drag,Q=z?.lastDrag;if(Q&&this.dragging)z.params?.onDragging?.(Q)}onMouseOrPointerMove($){if(!k$($))return;if(cz())Y0(this.beans).getSelection()?.removeAllRanges();if(this.shouldPreventMouseEvent($))QQ($);this.onMove($)}onTouchCancel($){let z=this.drag;if(!z||!k$($))return;if(!qQ(z.start,$.changedTouches))return;this.cancelDrag()}onTouchMove($){let z=this.drag;if(!z||!k$($))return;let Q=qQ(z.start,$.touches);if(Q)this.onMove(Q),this.draggingPreventDefault($)}onMove($){let z=this.drag;if(!z)return;z.lastDrag=$;let Q=z.params;if(!this.dragging){let J=z.start,X=Q.dragStartPixels??4;if(p6($,J,X))return;if(this.dragging=!0,Q.capturePointer)z.pointerCapture=yH(this.beans.eRootDiv,$);if(this.eventSvc.dispatchEvent({type:"dragStarted",target:Q.eElement}),Q.onDragStart?.(J),this.drag!==z)return;if(Q.onDragging?.(J),this.drag!==z)return}Q.onDragging?.($)}onTouchUp($){let z=this.drag;if(z&&k$($))this.onUp(qQ(z.start,$.changedTouches))}onMouseOrPointerUp($){if(k$($))this.onUp($)}onUp($){let z=this.drag;if(!z)return;if(!$)$=z.lastDrag;if($&&this.dragging)this.dragging=!1,z.params.onDragStop?.($),this.eventSvc.dispatchEvent({type:"dragStopped",target:z.params.eElement});this.destroyDrag()}onKeyDown($){if($.key===A.ESCAPE)this.cancelDrag()}},T5=($)=>{I2($.handlers);let z=$.oldTouchAction;if(z!=null){let Q=$.params.eElement.style;if(Q)Q.touchAction=z}},uZ=class{constructor($,z,Q,J=null){this.rootEl=$,this.params=z,this.start=Q,this.pointerId=J,this.handlers=[],this.lastDrag=null,this.pointerCapture=null,this.eElement=z.eElement}},mZ=($)=>{let z=$.target;return z instanceof Element?z:null},gH=class extends NH{shouldPreventMouseEvent($){return this.gos.get("enableCellTextSelection")&&super.shouldPreventMouseEvent($)}},hH=class extends S{constructor(){super(...arguments);this.beanName="horizontalResizeSvc"}addResizeBar($){let z={dragStartPixels:$.dragStartPixels||0,eElement:$.eResizeBar,onDragStart:this.onDragStart.bind(this,$),onDragStop:this.onDragStop.bind(this,$),onDragging:this.onDragging.bind(this,$),onDragCancel:this.onDragStop.bind(this,$),includeTouch:!0,stopPropagationForTouch:!0},{dragSvc:Q}=this.beans;return Q.addDragSource(z),()=>Q.removeDragSource(z)}onDragStart($,z){this.dragStartX=z.clientX,this.setResizeIcons();let Q=z instanceof MouseEvent&&z.shiftKey===!0;$.onResizeStart(Q)}setResizeIcons(){let $=this.beans.ctrlsSvc.get("gridCtrl");$.setResizeCursor(1),$.disableUserSelect(!0)}onDragStop($){$.onResizeEnd(this.resizeAmount),this.resetIcons()}resetIcons(){let $=this.beans.ctrlsSvc.get("gridCtrl");$.setResizeCursor(!1),$.disableUserSelect(!1)}onDragging($,z){this.resizeAmount=z.clientX-this.dragStartX,$.onResizing(this.resizeAmount)}};var mJ=class{constructor($){if(this.tickingInterval=null,this.onScrollCallback=null,this.scrollContainer=$.scrollContainer,this.scrollHorizontally=$.scrollAxis.includes("x"),this.scrollVertically=$.scrollAxis.includes("y"),this.scrollByTick=$.scrollByTick??20,$.onScrollCallback)this.onScrollCallback=$.onScrollCallback;if(this.scrollVertically)this.getVerticalPosition=$.getVerticalPosition,this.setVerticalPosition=$.setVerticalPosition;if(this.scrollHorizontally)this.getHorizontalPosition=$.getHorizontalPosition,this.setHorizontalPosition=$.setHorizontalPosition;this.shouldSkipVerticalScroll=$.shouldSkipVerticalScroll||(()=>!1),this.shouldSkipHorizontalScroll=$.shouldSkipHorizontalScroll||(()=>!1)}get scrolling(){return this.tickingInterval!==null}check($,z=!1){let Q=!this.scrollVertically||z||this.shouldSkipVerticalScroll(),J=!this.scrollHorizontally||this.shouldSkipHorizontalScroll();if(Q&&J)return;let Z=this.scrollContainer.getBoundingClientRect(),X=this.scrollByTick;if(this.tickLeft=!J&&$.clientX<Z.left+X,this.tickRight=!J&&$.clientX>Z.right-X,this.tickUp=!Q&&$.clientY<Z.top+X,this.tickDown=!Q&&$.clientY>Z.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 $=this.tickCount>20?200:this.tickCount>10?80:40;if(this.scrollVertically){let z=this.getVerticalPosition();if(this.tickUp)this.setVerticalPosition(z-$);if(this.tickDown)this.setVerticalPosition(z+$)}if(this.scrollHorizontally){let z=this.getHorizontalPosition();if(this.tickLeft)this.setHorizontalPosition(z-$);if(this.tickRight)this.setHorizontalPosition(z+$)}if(this.onScrollCallback)this.onScrollCallback()}ensureCleared(){if(this.tickingInterval)window.clearInterval(this.tickingInterval),this.tickingInterval=null}},WQ=class{constructor(){this.reordered=!1,this.removals=[],this.updates=new Set,this.adds=new Set}},pz=($)=>{let z=$.childrenAfterGroup;while(z?.length){let Q=z[0];if(Q.sourceRowIndex>=0)return Q;z=Q.childrenAfterGroup}},H8=($,z,Q,J)=>{if(!z.size||!$)return!1;let Z=!1,X=$.length??0,Y=-1;if(Q){if(Y=Q.sourceRowIndex,Q=Y<0?pz(Q):null,Q)Y=Q.sourceRowIndex}if(Y<0||Y>=X)Y=X;else if(!J)++Y;let q=Y,G=Math.min(Y,X-1);for(let U of z){let W=U.sourceRowIndex;if(W<q)q=W;if(W>G)G=W}let _=q;for(let U=q;U<Y;++U){let W=$[U];if(z.has(W))continue;if(W.sourceRowIndex!==_)W.sourceRowIndex=_,$[_]=W,Z=!0;++_}let H=G;for(let U=G;U>=Y;--U){let W=$[U];if(z.has(W))continue;if(W.sourceRowIndex!==H)W.sourceRowIndex=H,$[H]=W,Z=!0;--H}for(let U of z){if(U.sourceRowIndex!==_)U.sourceRowIndex=_,$[_]=U,Z=!0;++_}return Z};function U4($,z){return E1($,z.target)?.getFocusedCellPosition()??null}function W4($,z){let Q=V0($.gos,"normal"),J=z,Z,X;if(J.clientX!=null||J.clientY!=null)Z=J.clientX,X=J.clientY;else Z=J.x,X=J.y;let{pageFirstPixel:Y}=$.pageBounds.getCurrentPagePixelRange();if(X+=Y,Q){let q=$.ctrlsSvc.getScrollFeature(),G=q.getVScrollPosition(),_=q.getHScrollPosition();Z+=_.left,X+=G.top}return{x:Z,y:X}}var cJ={moduleName:"Drag",version:p,beans:[gH]};var L1={moduleName:"SharedDragAndDrop",version:p,beans:[wG],dependsOn:[cJ],userComponents:{agDragAndDropImage:bH},icons:{columnMovePin:"pin",columnMoveHide:"eye-slash",columnMoveMove:"arrows",columnMoveLeft:"left",columnMoveRight:"right",columnMoveGroup:"group",columnMoveValue:"aggregation",columnMovePivot:"pivot",dropNotAllowed:"not-allowed",rowDrag:"grip"}};var B4={moduleName:"HorizontalResize",version:p,beans:[hH],dependsOn:[cJ]},uH=":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}}",mH=class extends S{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,($)=>this.gridBodyCtrl=$.gridBodyCtrl)}isActive(){return this.active&&!this.suppressAnimation}setSuppressAnimation($){this.suppressAnimation=$}start(){if(this.active)return;let{gos:$}=this;if($.get("suppressColumnMoveAnimation"))return;if($.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($){if(this.activeNext)this.executeNextFuncs.push($);else $()}executeLaterVMTurn($){if(this.active)this.executeLaterFuncs.push($);else $()}ensureAnimationCssClassPresent(){this.animationThreadCount++;let $=this.animationThreadCount,{gridBodyCtrl:z}=this;z.setColumnMovingCss(!0),this.executeLaterFuncs.push(()=>{if(this.animationThreadCount===$)z.setColumnMovingCss(!1)})}flush($,z){let{executeNextFuncs:Q,executeLaterFuncs:J}=this;if(Q.length===0&&J.length===0){$(),z();return}let Z=(X)=>{while(X.length){let Y=X.pop();if(Y)Y()}};this.beans.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{$(),Z(Q)},0),window.setTimeout(()=>{z(),Z(J)},200)})}};function cH($,z,Q){$.colMoves?.moveColumnByIndex(z,Q,"api")}function pH($,z,Q){$.colMoves?.moveColumns(z,Q,"api")}var iH=class extends S{constructor($){super();this.pinned=$,this.columnsToAggregate=[],this.columnsToGroup=[],this.columnsToPivot=[]}onDragEnter($){if(this.clearColumnsList(),this.gos.get("functionsReadOnly"))return;let z=$.dragItem.columns;if(!z)return;for(let Q of z){if(!Q.isPrimary())continue;if(Q.isAnyFunctionActive())continue;if(Q.isAllowValue())this.columnsToAggregate.push(Q);else if(Q.isAllowRowGroup())this.columnsToGroup.push(Q);else if(Q.isAllowPivot())this.columnsToPivot.push(Q)}}getIconName(){if(this.columnsToAggregate.length+this.columnsToGroup.length+this.columnsToPivot.length>0)return this.pinned?"pinned":"move";return null}onDragLeave($){this.clearColumnsList()}clearColumnsList(){this.columnsToAggregate.length=0,this.columnsToGroup.length=0,this.columnsToPivot.length=0}onDragging($){}onDragStop($){let{valueColsSvc:z,rowGroupColsSvc:Q,pivotColsSvc:J}=this.beans;if(this.columnsToAggregate.length>0)z?.addColumns(this.columnsToAggregate,"toolPanelDragAndDrop");if(this.columnsToGroup.length>0)Q?.addColumns(this.columnsToGroup,"toolPanelDragAndDrop");if(this.columnsToPivot.length>0)J?.addColumns(this.columnsToPivot,"toolPanelDragAndDrop")}onDragCancel(){this.clearColumnsList()}};function nH($,z){if(!z||z.length<=1)return;if(z.filter((J)=>$.indexOf(J)<0).length>0)return;z.sort((J,Z)=>{let X=$.indexOf(J),Y=$.indexOf(Z);return X-Y})}function dH($){let z=[...$];for(let Q of $){let J=null,Z=Q.getParent();while(Z!=null&&Z.getDisplayedLeafColumns().length===1)J=Z,Z=Z.getParent();if(J!=null){let Y=J.getColGroupDef()?.marryChildren?J.getProvidedColumnGroup().getLeafColumns():J.getLeafColumns();for(let q of Y)if(!z.includes(q))z.push(q)}}return z}function tH($,z,Q,J){let Z=J.allCols,X=null,Y=null;for(let q=0;q<$.length;q++){let G=$[q],_=Q.getProposedColumnOrder(z,G);if(!Q.doesOrderPassRules(_))continue;let H=_.filter((W)=>Z.includes(W));if(Y===null)Y=H;else if(!X0(H,Y))break;let U=rH(_);if(X===null||U<X.fragCount)X={move:G,fragCount:U}}return X}function U8($){let{isFromHeader:z,fromLeft:Q,xPosition:J,fromEnter:Z,fakeEvent:X,pinned:Y,gos:q,colModel:G,colMoves:_,visibleCols:H}=$,{allMovingColumns:U}=$;if(z)U=dH(U);let W=U.slice();nH(G.getCols(),W);let B=aH({movingCols:W,draggingRight:Q,xPosition:J,pinned:Y,gos:q,colModel:G,visibleCols:H}),E=sH(W,G);if(B.length===0)return;let K=B[0];if(E!==null&&(z||!Z)&&!X){if(!Q&&K>=E)return;if(Q&&K<=E)return}let D=tH(B,W,_,H);if(!D)return;let F=D.move;if(F>G.getCols().length-W.length)return;return{columns:W,toIndex:F}}function W8($){let{columns:z,toIndex:Q}=U8($)||{},{finished:J,colMoves:Z}=$;if(!z||Q==null)return null;return Z.moveColumns(z,Q,"uiColumnMoved",J),J?null:{columns:z,toIndex:Q}}function sH($,z){let Q=z.getCols(),J=$.map((G)=>Q.indexOf(G)).sort((G,_)=>G-_),Z=J[0];return b(J)-Z!==J.length-1?null:Z}function rH($){function z(J){let Z=[],X=J.getOriginalParent();while(X!=null)Z.push(X),X=X.getOriginalParent();return Z}let Q=0;for(let J=0;J<$.length-1;J++){let Z=z($[J]),X=z($[J+1]);[Z,X]=Z.length>X.length?[Z,X]:[X,Z];for(let Y of Z)if(X.indexOf(Y)===-1)Q++}return Q}function lH($,z){switch(z){case"left":return $.leftCols;case"right":return $.rightCols;default:return $.centerCols}}function aH($){let{movingCols:z,draggingRight:Q,xPosition:J,pinned:Z,gos:X,colModel:Y,visibleCols:q}=$;if(X.get("suppressMovableColumns")||z.some((M)=>M.getColDef().suppressMovable))return[];let _=lH(q,Z),H=Y.getCols(),U=_.filter((M)=>z.includes(M)),W=_.filter((M)=>!z.includes(M)),B=H.filter((M)=>!z.includes(M)),E=0,K=J;if(Q){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(Q)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 D=[L],F=(M,k)=>M-k;if(Q){let M=L+1,k=H.length-1;while(M<=k)D.push(M),M++;D.sort(F)}else{let M=L,k=H.length-1,V=H[M];while(M<=k&&_.indexOf(V)<0)M++,D.push(M),V=H[M];M=L-1;let R=0;while(M>=R)D.push(M),M--;D.sort(F).reverse()}return D}function U2($){let{pinned:z,fromKeyboard:Q,gos:J,ctrlsSvc:Z,useHeaderRow:X,skipScrollPadding:Y}=$,q=Z.getHeaderRowContainerCtrl(z)?.eViewport,{x:G}=$;if(!q)return 0;if(Q)G-=q.getBoundingClientRect().left;if(J.get("enableRtl")){if(X)q=q.querySelector(".ag-header-row");G=q.clientWidth-G}if(z==null&&!Y)G+=Z.get("center").getCenterViewportScrollLeft();return G}function cZ($,z){for(let Q of $)Q.moving=z,Q.dispatchColEvent("movingChanged","uiColumnMoved")}var v5=7,W2=100,u1=W2/2,oH=5,eH=100,$U=class extends S{constructor($){super();this.pinned=$,this.needToMoveLeft=!1,this.needToMoveRight=!1,this.lastMovedInfo=null,this.isCenterContainer=!T($)}postConstruct(){this.beans.ctrlsSvc.whenReady(this,($)=>{this.gridBodyCon=$.gridBodyCtrl})}getIconName(){let{pinned:$,lastDraggingEvent:z}=this,{dragItem:Q}=z||{},J=Q?.columns??[];for(let Z of J){let X=Z.getPinned();if(Z.getColDef().lockPinned){if(X==$)return"move";continue}let Y=Q?.containerType;if(Y===$||!$)return"move";if($&&(!X||Y!==$))return"pinned"}return"notAllowed"}onDragEnter($){let z=$.dragItem,Q=z.columns;if($.dragSource.type===0)this.setColumnsVisible(Q,!0,"uiColumnDragged");else{let Z=z.visibleState,X=(Q||[]).filter((Y)=>Z[Y.getId()]&&!Y.isVisible());this.setColumnsVisible(X,!0,"uiColumnDragged")}if(!this.gos.get("suppressMoveWhenColumnDragging"))this.attemptToPinColumns(Q,this.pinned);this.onDragging($,!0,!0)}onDragging($=this.lastDraggingEvent,z=!1,Q=!1,J=!1){let{gos:Z,ctrlsSvc:X}=this.beans,Y=Z.get("suppressMoveWhenColumnDragging");if(J&&!Y){this.finishColumnMoving();return}if(this.lastDraggingEvent=$,!$||!J&&n($.hDirection))return;let q=U2({x:$.x,pinned:this.pinned,gos:Z,ctrlsSvc:X});if(!z)this.checkCenterForScrolling(q);if(Y)this.handleColumnDragWhileSuppressingMovement($,z,Q,q,J);else this.handleColumnDragWhileAllowingMovement($,z,Q,q,J)}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($,z,Q){if(!$?.length)return;let J=$.filter((Z)=>!Z.getColDef().lockVisible);if(!J.length)return;this.beans.colModel.setColsVisible(J,z,Q)}finishColumnMoving(){this.clearHighlighted();let $=this.lastMovedInfo;if(!$)return;let{columns:z,toIndex:Q}=$;this.beans.colMoves.moveColumns(z,Q,"uiColumnMoved",!0)}updateDragItemContainerType(){let{lastDraggingEvent:$}=this;if(this.gos.get("suppressMoveWhenColumnDragging")||!$)return;let z=$.dragItem;if(!z)return;z.containerType=this.pinned}handleColumnDragWhileSuppressingMovement($,z,Q,J,Z){let X=this.getAllMovingColumns($,!0);if(Z){let Y=this.isAttemptingToPin(X);if(Y)this.attemptToPinColumns(X,void 0,!0);let{fromLeft:q,xPosition:G}=this.getNormalisedXPositionInfo(X,Y)||{};if(q==null||G==null){this.finishColumnMoving();return}this.moveColumnsAfterHighlight({allMovingColumns:X,xPosition:G,fromEnter:z,fakeEvent:Q,fromLeft:q})}else{if(!this.beans.dragAndDrop.isDropZoneWithinThisGrid($))return;this.highlightHoveredColumn(X,J)}}handleColumnDragWhileAllowingMovement($,z,Q,J,Z){let X=this.getAllMovingColumns($),Y=this.normaliseDirection($.hDirection)==="right",q=$.dragSource.type===1,G=this.getMoveColumnParams({allMovingColumns:X,isFromHeader:q,xPosition:J,fromLeft:Y,fromEnter:z,fakeEvent:Q}),_=W8({...G,finished:Z});if(_)this.lastMovedInfo=_}getAllMovingColumns($,z=!1){let Q=$.dragSource.getDragItem(),J=null;if(z){if(J=Q.columnsInSplit,!J)J=Q.columns}else J=Q.columns;let Z=(X)=>X.getColDef().lockPinned?X.getPinned()==this.pinned:!0;if(!J)return[];return J.filter(Z)}getMoveColumnParams($){let{allMovingColumns:z,isFromHeader:Q,xPosition:J,fromLeft:Z,fromEnter:X,fakeEvent:Y}=$,{gos:q,colModel:G,colMoves:_,visibleCols:H}=this.beans;return{allMovingColumns:z,isFromHeader:Q,fromLeft:Z,xPosition:J,pinned:this.pinned,fromEnter:X,fakeEvent:Y,gos:q,colModel:G,colMoves:_,visibleCols:H}}highlightHoveredColumn($,z){let{gos:Q,colModel:J}=this.beans,Z=Q.get("enableRtl"),X=J.getCols().filter((H)=>H.isVisible()&&H.getPinned()===this.pinned),Y=null,q=null,G=null;for(let H of X){if(q=H.getActualWidth(),Y=this.getNormalisedColumnLeft(H,0,Z),Y!=null){let U=Y+q;if(Y<=z&&U>=z){G=H;break}}Y=null,q=null}if(!G){for(let H=X.length-1;H>=0;H--){let U=X[H],W=X[H].getParent();if(!W){G=U;break}let B=W?.getDisplayedLeafColumns();if(B.length){G=b(B);break}}if(!G)return;Y=this.getNormalisedColumnLeft(G,0,Z),q=G.getActualWidth()}else if($.indexOf(G)!==-1)G=null;if(G==null||Y==null||q==null){if(this.lastHighlightedColumn?.column!==G)this.clearHighlighted();return}let _;if(z-Y<q/2){let H=X.indexOf(G);if(H===0)_=0;else _=1,G=X[H-1]}else _=1;if(this.lastHighlightedColumn?.column!==G||this.lastHighlightedColumn?.position!==_)this.clearHighlighted();I5(G,_),this.lastHighlightedColumn={column:G,position:_}}getNormalisedXPositionInfo($,z){let{gos:Q,visibleCols:J}=this.beans,Z=Q.get("enableRtl"),{firstMovingCol:X,column:Y,position:q}=this.getColumnMoveAndTargetInfo($,z,Z);if(!X||!Y||q==null)return;let G=J.allCols,_=G.indexOf(X),H=G.indexOf(Y),U=q===0,W=_<H||_===H&&!U,B=0;if(U){if(W)B-=1}else if(!W)B+=1;if(H+B===_)return;let E=G[H+B];if(!E)return;let K=this.getNormalisedColumnLeft(E,20,Z);return{fromLeft:W,xPosition:K}}getColumnMoveAndTargetInfo($,z,Q){let J=this.lastHighlightedColumn||{},{firstMovingCol:Z,lastMovingCol:X}=zU($);if(!Z||!X||J.column||!z)return{firstMovingCol:Z,...J};let q=this.getPinDirection()==="left";return{firstMovingCol:Z,position:q?1:0,column:q!==Q?Z:X}}normaliseDirection($){if(this.gos.get("enableRtl"))switch($){case"left":return"right";case"right":return"left"}return $}getNormalisedColumnLeft($,z,Q){let{gos:J,ctrlsSvc:Z}=this.beans,X=$.getLeft();if(X==null)return null;let Y=$.getActualWidth();return U2({x:Q?X+Y-z:X+z,pinned:$.getPinned(),useHeaderRow:Q,skipScrollPadding:!0,gos:J,ctrlsSvc:Z})}isAttemptingToPin($){let z=this.needToMoveLeft||this.needToMoveRight,Q=this.failedMoveAttempts>v5;return z&&Q||$.some((J)=>J.getPinned()!==this.pinned)}moveColumnsAfterHighlight($){let{allMovingColumns:z,xPosition:Q,fromEnter:J,fakeEvent:Z,fromLeft:X}=$,Y=this.getMoveColumnParams({allMovingColumns:z,isFromHeader:!0,xPosition:Q,fromLeft:X,fromEnter:J,fakeEvent:Z}),{columns:q,toIndex:G}=U8(Y)||{};if(q&&G!=null)this.lastMovedInfo={columns:q,toIndex:G};this.finishColumnMoving()}clearHighlighted(){let{lastHighlightedColumn:$}=this;if(!$)return;I5($.column,null),this.lastHighlightedColumn=null}checkCenterForScrolling($){if(!this.isCenterContainer)return;let z=this.beans.ctrlsSvc.get("center"),Q=z.getCenterViewportScrollLeft(),J=Q+z.getCenterWidth(),Z,X;if(this.gos.get("enableRtl"))Z=$<Q+u1,X=$>J-u1;else X=$<Q+u1,Z=$>J-u1;if(this.needToMoveRight=Z,this.needToMoveLeft=X,X||Z)this.ensureIntervalStarted();else this.ensureIntervalCleared()}ensureIntervalStarted(){if(this.movingIntervalId)return;this.intervalCount=0,this.failedMoveAttempts=0,this.movingIntervalId=window.setInterval(this.moveInterval.bind(this),eH),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 $;if(this.intervalCount++,$=10+this.intervalCount*oH,$>W2)$=W2;let z=null,Q=this.gridBodyCon.scrollFeature;if(this.needToMoveLeft)z=Q.scrollHorizontally(-$);else if(this.needToMoveRight)z=Q.scrollHorizontally($);if(z!==0)this.onDragging(this.lastDraggingEvent),this.failedMoveAttempts=0;else{this.failedMoveAttempts++;let{pinnedCols:J,dragAndDrop:Z,gos:X}=this.beans;if(this.failedMoveAttempts<=v5+1||!J)return;if(Z.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($,z,Q=!1){let J=($||[]).filter((Y)=>!Y.getColDef().lockPinned);if(!J.length)return 0;if(Q)z=this.getPinDirection();let{pinnedCols:Z,dragAndDrop:X}=this.beans;if(Z?.setColsPinned(J,z,"uiColumnDragged"),Q)X.nudge();return J.length}destroy(){super.destroy(),this.lastDraggingEvent=null,this.clearHighlighted(),this.lastMovedInfo=null}};function I5($,z){if($.highlighted===z)return;$.highlighted=z,$.dispatchColEvent("headerHighlightChanged","uiColumnMoved")}function zU($){let z=$.length,Q,J;for(let Z=0;Z<z;Z++){if(!Q){let X=$[Z];if(X.getLeft()!=null)Q=X}if(!J){let X=$[z-1-Z];if(X.getLeft()!=null)J=X}if(Q&&J)break}return{firstMovingCol:Q,lastMovingCol:J}}var QU=class extends S{constructor($,z){super();this.pinned=$,this.eContainer=z}postConstruct(){let{ctrlsSvc:$,dragAndDrop:z}=this.beans,Q=this.pinned;$.whenReady(this,(J)=>{let Z,X=J.gridBodyCtrl.eBodyViewport;switch(Q){case"left":Z=[[X,J.left.eContainer],[J.bottomLeft.eContainer],[J.topLeft.eContainer]];break;case"right":Z=[[X,J.right.eContainer],[J.bottomRight.eContainer],[J.topRight.eContainer]];break;default:Z=[[X,J.center.eViewport],[J.bottomCenter.eViewport],[J.topCenter.eViewport]];break}this.eSecondaryContainers=Z}),this.moveColumnFeature=this.createManagedBean(new $U(Q)),this.bodyDropPivotTarget=this.createManagedBean(new iH(Q)),z.addDropTarget(this),this.addDestroyFunc(()=>z.removeDropTarget(this))}isInterestedIn($){return $===1||$===0&&this.gos.get("allowDragFromColumnsToolPanel")}getSecondaryContainers(){return this.eSecondaryContainers}getContainer(){return this.eContainer}getIconName(){return this.currentDropListener.getIconName()}isDropColumnInPivotMode($){return this.beans.colModel.isPivotMode()&&$.dragSource.type===0}onDragEnter($){this.currentDropListener=this.isDropColumnInPivotMode($)?this.bodyDropPivotTarget:this.moveColumnFeature,this.currentDropListener.onDragEnter($)}onDragLeave($){this.currentDropListener.onDragLeave($)}onDragging($){this.currentDropListener.onDragging($)}onDragStop($){this.currentDropListener.onDragStop($)}onDragCancel(){this.currentDropListener.onDragCancel()}};function B8($,z){let Q=[],J=[],Z=[];if($.forEach((Y)=>{let q=Y.getColDef().lockPosition;if(q==="right")Z.push(Y);else if(q==="left"||q===!0)Q.push(Y);else J.push(Y)}),z.get("enableRtl"))return[...Z,...J,...Q];return[...Q,...J,...Z]}function E8($,z){let Q=!0;return O$(null,z,(J)=>{if(!q0(J))return;let Z=J;if(!Z.getColGroupDef()?.marryChildren)return;let q=[];for(let W of Z.getLeafColumns()){let B=$.indexOf(W);q.push(B)}let G=Math.max.apply(Math,q),_=Math.min.apply(Math,q),H=G-_,U=Z.getLeafColumns().length-1;if(H>U)Q=!1}),Q}var JU=class extends S{constructor(){super(...arguments);this.beanName="colMoves"}moveColumnByIndex($,z,Q){let J=this.beans.colModel.getCols();if(!J)return;let Z=J[$];this.moveColumns([Z],z,Q)}moveColumns($,z,Q,J=!0){let{colModel:Z,colAnimation:X,visibleCols:Y,eventSvc:q}=this.beans,G=Z.getCols();if(!G)return;if(z>G.length-$.length){j(30,{toIndex:z});return}X?.start();let _=Z.getColsForKeys($);if(this.doesMovePassRules(_,z))H5(Z.getCols(),_,z),Y.refresh(Q),q.dispatchEvent({type:"columnMoved",columns:_,column:_.length===1?_[0]:null,toIndex:z,finished:J,source:Q});X?.finish()}doesMovePassRules($,z){let Q=this.getProposedColumnOrder($,z);return this.doesOrderPassRules(Q)}doesOrderPassRules($){let{colModel:z,gos:Q}=this.beans;if(!E8($,z.getColTree()))return!1;if(!((Z)=>{let X=(_)=>{if(!_)return 0;return _==="left"||_===!0?-1:1},Y=Q.get("enableRtl"),q=Y?1:-1,G=!0;for(let _ of Z){let H=X(_.getColDef().lockPosition);if(Y){if(H>q)G=!1}else if(H<q)G=!1;q=H}return G})($))return!1;return!0}getProposedColumnOrder($,z){let J=this.beans.colModel.getCols().slice();return H5(J,$,z),J}createBodyDropTarget($,z){return new QU($,z)}moveHeader($,z,Q,J,Z){let{ctrlsSvc:X,gos:Y,colModel:q,visibleCols:G,focusSvc:_}=this.beans,H=z.getBoundingClientRect(),U=H.left,W=H0(Q),B=W?H.width:Q.getActualWidth(),E=$==="left"!==Y.get("enableRtl"),K=U2({x:E?U-20:U+B+20,pinned:J,fromKeyboard:!0,gos:Y,ctrlsSvc:X}),L=_.focusedHeader;W8({allMovingColumns:W?Q.getLeafColumns():[Q],isFromHeader:!0,fromLeft:$==="right",xPosition:K,pinned:J,fromEnter:!1,fakeEvent:!1,gos:Y,colModel:q,colMoves:this,visibleCols:G,finished:!0});let D;if(W){let F=Q.getDisplayedLeafColumns();D=E?F[0]:b(F)}else D=Q;if(X.getScrollFeature().ensureColumnVisible(D,"auto"),(!Z.isAlive()||Y.get("ensureDomOrder"))&&L){let F;if(W){let M=Q.getGroupId(),k=Q.getLeafColumns();if(!k.length)return;let V=k[0].getParent();if(!V)return;F=ZU(V,M)}else F=Q;if(F)_.focusHeaderPosition({headerPosition:{...L,column:F}})}}setDragSourceForHeader($,z,Q){let{gos:J,colModel:Z,dragAndDrop:X,visibleCols:Y}=this.beans,q=!J.get("suppressDragLeaveHidesColumns"),G=H0(z),_=G?z.getProvidedColumnGroup().getLeafColumns():[z],U={type:1,eElement:$,getDefaultIconName:()=>q?"hide":"notAllowed",getDragItem:G?()=>YU(z,Y.allCols):()=>XU(z),dragItemName:Q,onDragStarted:()=>{q=!J.get("suppressDragLeaveHidesColumns"),cZ(_,!0)},onDragStopped:()=>cZ(_,!1),onDragCancelled:()=>cZ(_,!1),onGridEnter:(W)=>{if(q){let{columns:B=[],visibleState:E}=W??{},K=G?(D)=>!E||E[D.getColId()]:()=>!0,L=B.filter((D)=>!D.getColDef().lockVisible&&K(D));Z.setColsVisible(L,!0,"uiColumnMoved")}},onGridExit:(W)=>{if(q){let B=W?.columns?.filter((E)=>!E.getColDef().lockVisible)||[];Z.setColsVisible(B,!1,"uiColumnMoved")}}};return X.addDragSource(U,!0),U}};function ZU($,z){while($){if($.getGroupId()===z)return $;$=$.getParent()}return}function XU($){let z={};return z[$.getId()]=$.isVisible(),{columns:[$],visibleState:z,containerType:$.pinned}}function YU($,z){let Q=$.getProvidedColumnGroup().getLeafColumns(),J={};for(let q of Q)J[q.getId()]=q.isVisible();let Z=[];for(let q of z)if(Q.indexOf(q)>=0)Z.push(q),Z0(Q,q);for(let q of Q)Z.push(q);let X=[],Y=$.getLeafColumns();for(let q of Z)if(Y.indexOf(q)!==-1)X.push(q);return{columns:Z,columnsInSplit:X,visibleState:J,containerType:X[0]?.pinned}}var D1={moduleName:"ColumnMove",version:p,beans:[JU,mH],apiFunctions:{moveColumnByIndex:cH,moveColumns:pH},dependsOn:[L1],css:[uH]},qU=class extends S{constructor(){super(...arguments);this.beanName="autoWidthCalc"}postConstruct(){this.beans.ctrlsSvc.whenReady(this,($)=>{this.centerRowContainerCtrl=$.center})}getPreferredWidthForColumn($,z){let Q=this.getHeaderCellForColumn($);if(!Q)return-1;let J=this.beans.rowRenderer.getAllCellsNotSpanningForColumn($);if(!z)J.push(Q);return this.getPreferredWidthForElements(J)}getPreferredWidthForColumnGroup($){let z=this.getHeaderCellForColumn($);if(!z)return-1;return this.getPreferredWidthForElements([z])}getPreferredWidthForElements($,z){let Q=document.createElement("form");Q.style.position="fixed";let J=this.centerRowContainerCtrl.eContainer;for(let X of $)this.cloneItemIntoDummy(X,Q);J.appendChild(Q);let Z=Math.ceil(Q.getBoundingClientRect().width);return Q.remove(),z=z??this.gos.get("autoSizePadding"),Z+z}getHeaderCellForColumn($){let z=null;for(let Q of this.beans.ctrlsSvc.getHeaderRowContainerCtrls()){let J=Q.getHtmlElementForColumnHeader($);if(J!=null)z=J}return z}cloneItemIntoDummy($,z){let Q=$.cloneNode(!0);Q.style.width="",Q.style.position="static",Q.style.left="";let J=document.createElement("div"),Z=J.classList;if(["ag-header-cell","ag-header-group-cell"].some((q)=>Q.classList.contains(q)))Z.add("ag-header","ag-header-row"),J.style.position="static";else Z.add("ag-row");let Y=$.parentElement;while(Y){if(["ag-header-row","ag-row"].some((G)=>Y.classList.contains(G))){for(let G=0;G<Y.classList.length;G++){let _=Y.classList[G];if(_!="ag-row-position-absolute")Z.add(_)}break}Y=Y.parentElement}J.appendChild(Q),z.appendChild(J)}},K8={moduleName:"AutoWidth",version:p,beans:[qU]};function GU($,z,Q=!0,J="api"){$.colResize?.setColumnWidths(z,!1,Q,J)}function L8($,z){if(!$||$.length==0)return;let Q=z($[0]);for(let J=1;J<$.length;J++)if(Q!==z($[J]))return;return Q}function D8($,z,Q){if(!z.length)return;let J=z.length===1?z[0]:null,Z=L8(z,(X)=>X.getPinned());$.dispatchEvent({type:"columnPinned",pinned:Z!=null?Z:null,columns:z,column:J,source:Q})}function _U($,z,Q){if(!z.length)return;let J=z.length===1?z[0]:null,Z=L8(z,(X)=>X.isVisible());$.dispatchEvent({type:"columnVisible",visible:Z,columns:z,column:J,source:Q})}function F8($,z,Q,J){$.dispatchEvent({type:z,columns:Q,column:Q&&Q.length==1?Q[0]:null,source:J})}function LQ($,z,Q,J,Z=null){if(z?.length)$.dispatchEvent({type:"columnResized",columns:z,column:z.length===1?z[0]:null,flexColumns:Z,finished:Q,source:J})}var HU=class extends S{constructor($,z,Q,J){super();this.comp=$,this.eResize=z,this.pinned=Q,this.columnGroup=J}postConstruct(){if(!this.columnGroup.isResizable()){this.comp.setResizableDisplayed(!1);return}let{horizontalResizeSvc:$,gos:z,colAutosize:Q}=this.beans,J=$.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if(this.addDestroyFunc(J),!z.get("suppressAutoSize")&&Q)this.addDestroyFunc(Q.addColumnGroupResize(this.eResize,this.columnGroup,()=>this.resizeLeafColumnsToFit("uiColumnResized")))}onResizeStart($){let{columnsToResize:z,resizeStartWidth:Q,resizeRatios:J,groupAfterColumns:Z,groupAfterStartWidth:X,groupAfterRatios:Y}=this.getInitialValues($);this.resizeCols=z,this.resizeStartWidth=Q,this.resizeRatios=J,this.resizeTakeFromCols=Z,this.resizeTakeFromStartWidth=X,this.resizeTakeFromRatios=Y,this.toggleColumnResizing(!0)}onResizing($,z,Q="uiColumnResized"){let J=this.normaliseDragChange(z),Z=this.resizeStartWidth+J;this.resizeColumnsFromLocalValues(Z,Q,$)}getInitialValues($){let z=(G)=>G.reduce((_,H)=>_+H.getActualWidth(),0),Q=(G,_)=>G.map((H)=>H.getActualWidth()/_),J=this.getColumnsToResize(),Z=z(J),X=Q(J,Z),Y={columnsToResize:J,resizeStartWidth:Z,resizeRatios:X},q=null;if($)q=this.beans.colGroupSvc?.getGroupAtDirection(this.columnGroup,"After")??null;if(q){let G=q.getDisplayedLeafColumns(),_=Y.groupAfterColumns=G.filter((U)=>U.isResizable()),H=Y.groupAfterStartWidth=z(_);Y.groupAfterRatios=Q(_,H)}else Y.groupAfterColumns=void 0,Y.groupAfterStartWidth=void 0,Y.groupAfterRatios=void 0;return Y}resizeLeafColumnsToFit($){let z=this.beans.autoWidthCalc.getPreferredWidthForColumnGroup(this.columnGroup),Q=this.getInitialValues();if(z>Q.resizeStartWidth)this.resizeColumns(Q,z,$,!0)}resizeColumnsFromLocalValues($,z,Q=!0){if(!this.resizeCols||!this.resizeRatios)return;let J={columnsToResize:this.resizeCols,resizeStartWidth:this.resizeStartWidth,resizeRatios:this.resizeRatios,groupAfterColumns:this.resizeTakeFromCols,groupAfterStartWidth:this.resizeTakeFromStartWidth,groupAfterRatios:this.resizeTakeFromRatios};this.resizeColumns(J,$,z,Q)}resizeColumns($,z,Q,J=!0){let{columnsToResize:Z,resizeStartWidth:X,resizeRatios:Y,groupAfterColumns:q,groupAfterStartWidth:G,groupAfterRatios:_}=$,H=[];if(H.push({columns:Z,ratios:Y,width:z}),q){let U=z-X;H.push({columns:q,ratios:_,width:G-U})}if(this.beans.colResize?.resizeColumnSets({resizeSets:H,finished:J,source:Q}),J)this.toggleColumnResizing(!1)}toggleColumnResizing($){this.comp.toggleCss("ag-column-resizing",$)}getColumnsToResize(){return this.columnGroup.getDisplayedLeafColumns().filter((z)=>z.isResizable())}normaliseDragChange($){let z=$;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}},UU=class extends S{constructor($,z,Q,J,Z){super();this.pinned=$,this.column=z,this.eResize=Q,this.comp=J,this.ctrl=Z}postConstruct(){let $=[],z,Q,J=()=>{if(N(this.eResize,z),!z)return;let{horizontalResizeSvc:Y,colAutosize:q}=this.beans,G=Y.addResizeBar({eResizeBar:this.eResize,onResizeStart:this.onResizeStart.bind(this),onResizing:this.onResizing.bind(this,!1),onResizeEnd:this.onResizing.bind(this,!0)});if($.push(G),Q&&q)$.push(q.addColumnAutosizeListeners(this.eResize,this.column))},Z=()=>{for(let Y of $)Y();$.length=0},X=()=>{let Y=this.column.isResizable(),q=!this.gos.get("suppressAutoSize")&&!this.column.getColDef().suppressAutoSize;if(Y!==z||q!==Q)z=Y,Q=q,Z(),J()};X(),this.addDestroyFunc(Z),this.ctrl.setRefreshFunction("resize",X)}onResizing($,z){let{column:Q,lastResizeAmount:J,resizeStartWidth:Z,beans:X}=this,Y=this.normaliseResizeAmount(z),q=Z+Y,G=[{key:Q,newWidth:q}],{pinnedCols:_,ctrlsSvc:H,colResize:U}=X;if(this.column.getPinned()){let W=_?.leftWidth??0,B=_?.rightWidth??0,E=xz(H.getGridBodyCtrl().eBodyViewport)-50;if(W+B+(Y-J)>E)return}if(this.lastResizeAmount=Y,U?.setColumnWidths(G,this.resizeWithShiftKey,$,"uiColumnResized"),$)this.toggleColumnResizing(!1)}onResizeStart($){this.resizeStartWidth=this.column.getActualWidth(),this.lastResizeAmount=0,this.resizeWithShiftKey=$,this.toggleColumnResizing(!0)}toggleColumnResizing($){this.column.resizing=$,this.comp.toggleCss("ag-column-resizing",$)}normaliseResizeAmount($){let z=$,Q=this.pinned!=="left",J=this.pinned==="right";if(this.gos.get("enableRtl")){if(Q)z*=-1}else if(J)z*=-1;return z}},WU=class extends S{constructor(){super(...arguments);this.beanName="colResize"}setColumnWidths($,z,Q,J){let Z=[],{colModel:X,gos:Y,visibleCols:q}=this.beans;for(let G of $){let _=X.getColDefCol(G.key)||X.getCol(G.key);if(!_)continue;if(Z.push({width:G.newWidth,ratios:[1],columns:[_]}),Y.get("colResizeDefault")==="shift")z=!z;if(z){let U=q.getColAfter(_);if(!U)continue;let W=_.getActualWidth()-G.newWidth,B=U.getActualWidth()+W;Z.push({width:B,ratios:[1],columns:[U]})}}if(Z.length===0)return;this.resizeColumnSets({resizeSets:Z,finished:Q,source:J})}resizeColumnSets($){let{resizeSets:z,finished:Q,source:J}=$;if(!(!z||z.every((H)=>BU(H)))){if(Q){let H=z&&z.length>0?z[0].columns:null;LQ(this.eventSvc,H,Q,J)}return}let X=[],Y=[];for(let H of z){let{width:U,columns:W,ratios:B}=H,E={},K={};for(let F of W)Y.push(F);let L=!0,D=0;while(L){if(D++,D>1000){e(31);break}L=!1;let F=[],M=0,k=U;W.forEach((R,O)=>{if(K[R.getId()])k-=E[R.getId()];else{F.push(R);let v=B[O];M+=v}});let V=1/M;F.forEach((R,O)=>{let I=O===F.length-1,v;if(I)v=k;else v=Math.round(B[O]*U*V),k-=v;let C=R.getMinWidth(),m=R.getMaxWidth();if(v<C)v=C,K[R.getId()]=!0,L=!0;else if(m>0&&v>m)v=m,K[R.getId()]=!0,L=!0;E[R.getId()]=v})}for(let F of W){let M=E[F.getId()];if(F.getActualWidth()!==M)F.setActualWidth(M,J),X.push(F)}}let q=X.length>0,G=[];if(q){let{colFlex:H,visibleCols:U,colViewport:W}=this.beans;G=H?.refreshFlexedColumns({resizingCols:Y,skipSetLeft:!0})??[],U.setLeftValues(J),U.updateBodyWidths(),W.checkViewportColumns()}let _=Y.concat(G);if(q||Q)LQ(this.eventSvc,_,Q,J,G)}resizeHeader($,z,Q){if(!$.isResizable())return;let J=$.getActualWidth(),Z=$.getMinWidth(),X=$.getMaxWidth(),Y=Math.min(Math.max(J+z,Z),X);this.setColumnWidths([{key:$,newWidth:Y}],Q,!0,"uiColumnResized")}createResizeFeature($,z,Q,J,Z){return new UU($,z,Q,J,Z)}createGroupResizeFeature($,z,Q,J){return new HU($,z,Q,J)}};function BU($){let{columns:z,width:Q}=$,J=0,Z=0,X=!0;for(let G of z){let _=G.getMinWidth();J+=_||0;let H=G.getMaxWidth();if(H>0)Z+=H;else X=!1}let Y=Q>=J,q=!X||Q<=Z;return Y&&q}var EU={moduleName:"ColumnResize",version:p,beans:[WU],apiFunctions:{setColumnWidths:GU},dependsOn:[B4,K8]},KU=class extends S{constructor($,z){super();this.removeChildListenersFuncs=[],this.columnGroup=z,this.comp=$}postConstruct(){this.addListenersToChildrenColumns(),this.addManagedListeners(this.columnGroup,{displayedChildrenChanged:this.onDisplayedChildrenChanged.bind(this)}),this.onWidthChanged(),this.addDestroyFunc(this.removeListenersOnChildrenColumns.bind(this))}addListenersToChildrenColumns(){this.removeListenersOnChildrenColumns();let $=this.onWidthChanged.bind(this);for(let z of this.columnGroup.getLeafColumns())z.__addEventListener("widthChanged",$),z.__addEventListener("visibleChanged",$),this.removeChildListenersFuncs.push(()=>{z.__removeEventListener("widthChanged",$),z.__removeEventListener("visibleChanged",$)})}removeListenersOnChildrenColumns(){for(let $ of this.removeChildListenersFuncs)$();this.removeChildListenersFuncs=[]}onDisplayedChildrenChanged(){this.addListenersToChildrenColumns(),this.onWidthChanged()}onWidthChanged(){let $=this.columnGroup.getActualWidth();this.comp.setWidth(`${$}px`),this.comp.toggleCss("ag-hidden",$===0)}},LU=class extends Y4{constructor(){super(...arguments);this.onSuppressColMoveChange=()=>{if(!this.isAlive()||this.isSuppressMoving())this.removeDragSource();else if(!this.dragSource)this.setDragSource(this.eGui)}}wireComp($,z,Q,J,Z){let{column:X,beans:Y}=this,{context:q,colNames:G,colHover:_,rangeSvc:H,colResize:U}=Y;this.comp=$,Z=B1(this,q,Z),this.setGui(z,Z),this.displayName=G.getDisplayNameForColumnGroup(X,"header"),this.refreshHeaderStyles(),this.addClasses(),this.setupMovingCss(Z),this.setupExpandable(Z),this.setupTooltip(),this.refreshAnnouncement(),this.setupAutoHeight({wrapperElement:J,compBean:Z}),this.setupUserComp(),this.addHeaderMouseListeners(Z,J),this.addManagedPropertyListener("groupHeaderHeight",this.refreshMaxHeaderHeight.bind(this)),this.refreshMaxHeaderHeight();let W=this.rowCtrl.pinned,B=X.getProvidedColumnGroup().getLeafColumns();if(_?.createHoverFeature(Z,B,z),H?.createRangeHighlightFeature(Z,X,$),Z.createManagedBean(new X4(X,z,Y)),Z.createManagedBean(new KU($,X)),U)this.resizeFeature=Z.createManagedBean(U.createGroupResizeFeature($,Q,W,X));else $.setResizableDisplayed(!1);Z.createManagedBean(new c$(z,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:()=>{return},handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)})),this.addHighlightListeners(Z,B),this.addManagedEventListeners({cellSelectionChanged:()=>this.refreshAnnouncement()}),Z.addManagedPropertyListener("suppressMovableColumns",this.onSuppressColMoveChange),this.addResizeAndMoveKeyboardListeners(Z),Z.addDestroyFunc(()=>this.clearComponent())}getHeaderClassParams(){let{column:$,beans:z}=this,Q=$.getDefinition();return y(z.gos,{colDef:Q,columnGroup:$,floatingFilter:!1})}refreshMaxHeaderHeight(){let{gos:$,comp:z}=this,Q=$.get("groupHeaderHeight");if(Q!=null)if(Q===0)z.setHeaderWrapperHidden(!0);else z.setHeaderWrapperMaxHeight(Q);else z.setHeaderWrapperHidden(!1),z.setHeaderWrapperMaxHeight(null)}addHighlightListeners($,z){if(!this.beans.gos.get("suppressMoveWhenColumnDragging"))return;for(let Q of z)$.addManagedListeners(Q,{headerHighlightChanged:this.onLeafColumnHighlightChanged.bind(this,Q)})}onLeafColumnHighlightChanged($){let z=this.column.getDisplayedLeafColumns(),Q=z[0]===$,J=b(z)===$;if(!Q&&!J)return;let Z=$.getHighlighted(),X=!!this.rowCtrl.getHeaderCellCtrls().find((G)=>{return G.column.isMoving()}),Y=!1,q=!1;if(X){let G=this.beans.gos.get("enableRtl"),_=Z===1,H=Z===0;if(Q)if(G)q=_;else Y=H;if(J)if(G)Y=H;else q=_}this.comp.toggleCss("ag-header-highlight-before",Y),this.comp.toggleCss("ag-header-highlight-after",q)}resizeHeader($,z){let{resizeFeature:Q}=this;if(!Q)return;let J=Q.getInitialValues(z);Q.resizeColumns(J,J.resizeStartWidth+$,"uiColumnResized",!0)}resizeLeafColumnsToFit($){this.resizeFeature?.resizeLeafColumnsToFit($)}setupUserComp(){let{colGroupSvc:$,userCompFactory:z,gos:Q,enterpriseMenuFactory:J}=this.beans,Z=this.column,X=Z.getProvidedColumnGroup(),Y=y(Q,{displayName:this.displayName,columnGroup:Z,setExpanded:(G)=>{$.setColumnGroupOpened(X,G,"gridInitializing")},setTooltip:(G,_)=>{Q.assertModuleRegistered("Tooltip",3),this.setupTooltip(G,_)},showColumnMenu:(G,_)=>J?.showMenuAfterButtonClick(X,G,"columnMenu",_),showColumnMenuAfterMouseClick:(G,_)=>J?.showMenuAfterMouseEvent(X,G,"columnMenu",_),eGridHeader:this.eGui}),q=TG(z,Y);if(q)this.comp.setUserCompDetails(q)}addHeaderMouseListeners($,z){let{column:Q,comp:J,beans:{rangeSvc:Z},gos:X}=this,Y=(H)=>this.handleMouseOverChange(H.type==="mouseenter"),q=()=>this.dispatchColumnMouseEvent("columnHeaderClicked",Q.getProvidedColumnGroup()),G=(H)=>this.handleContextMenuMouseEvent(H,void 0,Q.getProvidedColumnGroup());$.addManagedListeners(this.eGui,{mouseenter:Y,mouseleave:Y,click:q,contextmenu:G}),J.toggleCss("ag-header-group-cell-selectable",Jz(X));let _=Z?.createHeaderGroupCellMouseListenerFeature(this.column,z);if(_)this.createManagedBean(_)}handleMouseOverChange($){this.eventSvc.dispatchEvent({type:$?"columnHeaderMouseOver":"columnHeaderMouseLeave",column:this.column.getProvidedColumnGroup()})}setupTooltip($,z){this.tooltipFeature=this.beans.tooltipSvc?.setupHeaderGroupTooltip(this.tooltipFeature,this,$,z)}setupExpandable($){let z=this.column.getProvidedColumnGroup();this.refreshExpanded();let Q=this.refreshExpanded.bind(this);$.addManagedListeners(z,{expandedChanged:Q,expandableChanged:Q})}refreshExpanded(){let{column:$}=this;this.expandable=$.isExpandable();let z=$.isExpanded();if(this.expandable)this.comp.setAriaExpanded(z?"true":"false");else this.comp.setAriaExpanded(void 0);this.refreshHeaderStyles()}addClasses(){let{column:$}=this,z=$.getColGroupDef(),Q=gJ(z,this.gos,null,$);if($.isPadding()){if(Q.push("ag-header-group-cell-no-group"),$.getLeafColumns().every((Z)=>Z.isSpanHeaderHeight()))Q.push("ag-header-span-height")}else if(Q.push("ag-header-group-cell-with-group"),z?.wrapHeaderText)Q.push("ag-header-cell-wrap-text");for(let J of Q)this.comp.toggleCss(J,!0)}setupMovingCss($){let{column:z}=this,J=z.getProvidedColumnGroup().getLeafColumns(),Z=()=>this.comp.toggleCss("ag-header-cell-moving",z.isMoving());for(let X of J)$.addManagedListeners(X,{movingChanged:Z});Z()}onFocusIn($){if(!this.eGui.contains($.relatedTarget))this.focusThis(),this.announceAriaDescription()}handleKeyDown($){if(super.handleKeyDown($),!this.getWrapperHasFocus())return;let{column:Q,expandable:J,gos:Z,beans:X}=this,Y=Jz(Z);if($.key!=A.ENTER)return;if(Y&&!$.altKey)X.rangeSvc?.handleColumnSelection(Q,$);else if(J){let q=!Q.isExpanded();X.colGroupSvc.setColumnGroupOpened(Q.getProvidedColumnGroup(),q,"uiColumnExpanded")}}refreshAnnouncement(){let $,{gos:z}=this;if(Jz(z))$=this.getLocaleTextFunc()("ariaColumnGroupCellSelection","Press Enter to toggle selection for all visible cells in this column group");this.ariaAnnouncement=$}announceAriaDescription(){let{beans:$,eGui:z,ariaAnnouncement:Q}=this;if(!Q||!z.contains(d($)))return;$.ariaAnnounce?.announceValue(Q,"columnHeader")}setDragSource($){if(!this.isAlive()||this.isSuppressMoving())return;if(this.removeDragSource(),!$)return;this.dragSource=this.beans.colMoves?.setDragSourceForHeader($,this.column,this.displayName)??null}isSuppressMoving(){return this.gos.get("suppressMovableColumns")||this.column.getLeafColumns().some(($)=>$.getColDef().suppressMovable||$.getColDef().lockPosition)}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),super.destroy()}};function DU($,z,Q){$.colGroupSvc?.setColumnGroupOpened(z,Q,"api")}function FU($,z,Q){return $.colGroupSvc?.getColumnGroup(z,Q)??null}function MU($,z){return $.colGroupSvc?.getProvidedColGroup(z)??null}function kU($,z,Q){return $.colNames.getDisplayNameForColumnGroup(z,Q)||""}function VU($){return $.colGroupSvc?.getColumnGroupState()??[]}function AU($,z){$.colGroupSvc?.setColumnGroupState(z,"api")}function SU($){$.colGroupSvc?.resetColumnGroupState("api")}function RU($){return $.visibleCols.treeLeft}function jU($){return $.visibleCols.treeCenter}function fU($){return $.visibleCols.treeRight}function OU($){return $.visibleCols.getAllTrees()}var M8=class{constructor(){this.existingIds={}}getInstanceIdForKey($){let z=this.existingIds[$],Q;if(typeof z!=="number")Q=0;else Q=z+1;return this.existingIds[$]=Q,Q}};function PU($,z){for(let Q=0;Q<z.length;Q++){let J=$.indexOf(z[Q]);if(J>=0)$[J]=$[$.length-1],$.pop()}}var TU=class extends S{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($,z=!1){let{colFlex:Q,colModel:J,colGroupSvc:Z,colViewport:X,selectionColSvc:Y}=this.beans;if(!z)this.buildTrees(J,Z);Z?.updateOpenClosedVisibility(),this.leftCols=pZ(this.treeLeft),this.centerCols=pZ(this.treeCenter),this.rightCols=pZ(this.treeRight),Y?.refreshVisibility(this.leftCols,this.centerCols,this.rightCols),this.joinColsAriaOrder(J),this.joinCols(),this.headerGroupRowCount=this.getHeaderRowCount(),this.setLeftValues($),this.autoHeightCols=this.allCols.filter((q)=>q.isAutoHeight()),Q?.refreshFlexedColumns(),this.updateBodyWidths(),this.setFirstRightAndLastLeftPinned(J,this.leftCols,this.rightCols,$),X.checkViewportColumns(!1),this.eventSvc.dispatchEvent({type:"displayedColumnsChanged",source:$})}getHeaderRowCount(){if(!this.gos.get("hidePaddedHeaderRows"))return this.beans.colModel.cols.treeDepth;let $=0;for(let z of this.allCols){let Q=z.getParent();while(Q){if(!Q.isPadding()){let J=Q.getProvidedColumnGroup().getLevel()+1;if(J>$)$=J;break}Q=Q.getParent()}}return $}updateBodyWidths(){let $=N$(this.centerCols),z=N$(this.leftCols),Q=N$(this.rightCols);if(this.isBodyWidthDirty=this.bodyWidth!==$,this.bodyWidth!==$||this.leftWidth!==z||this.rightWidth!==Q)this.bodyWidth=$,this.leftWidth=z,this.rightWidth=Q,this.eventSvc.dispatchEvent({type:"columnContainerWidthChanged"}),this.eventSvc.dispatchEvent({type:"displayedColumnsWidthChanged"})}setLeftValues($){this.setLeftValuesOfCols($),this.setLeftValuesOfGroups()}setFirstRightAndLastLeftPinned($,z,Q,J){let Z,X;if(this.gos.get("enableRtl"))Z=z?z[0]:null,X=Q?b(Q):null;else Z=z?b(z):null,X=Q?Q[0]:null;for(let Y of $.getCols())Y.setLastLeftPinned(Y===Z,J),Y.setFirstRightPinned(Y===X,J)}buildTrees($,z){let Q=$.getColsToShow(),J=Q.filter((G)=>G.getPinned()=="left"),Z=Q.filter((G)=>G.getPinned()=="right"),X=Q.filter((G)=>G.getPinned()!="left"&&G.getPinned()!="right"),Y=new M8,q=(G)=>{return z?z.createColumnGroups(G):G.columns};this.treeLeft=q({columns:J,idCreator:Y,pinned:"left",oldDisplayedGroups:this.treeLeft}),this.treeRight=q({columns:Z,idCreator:Y,pinned:"right",oldDisplayedGroups:this.treeRight}),this.treeCenter=q({columns:X,idCreator:Y,pinned:null,oldDisplayedGroups:this.treeCenter}),this.updateColsAndGroupsMap()}clear(){this.leftCols=[],this.rightCols=[],this.centerCols=[],this.allCols=[],this.ariaOrderColumns=[]}joinColsAriaOrder($){let z=$.getCols(),Q=[],J=[],Z=[];for(let X of z){let Y=X.getPinned();if(!Y)J.push(X);else if(Y===!0||Y==="left")Q.push(X);else Z.push(X)}this.ariaOrderColumns=Q.concat(J).concat(Z)}getAriaColIndex($){let z;if(H0($))z=$.getLeafColumns()[0];else z=$;return this.ariaOrderColumns.indexOf(z)+1}setLeftValuesOfGroups(){for(let $ of[this.treeLeft,this.treeRight,this.treeCenter])for(let z of $)if(H0(z))z.checkLeft()}setLeftValuesOfCols($){let{colModel:z}=this.beans;if(!z.getColDefCols())return;let J=z.getCols().slice(0),Z=this.gos.get("enableRtl");for(let X of[this.leftCols,this.rightCols,this.centerCols]){if(Z){let Y=N$(X);for(let q of X)Y-=q.getActualWidth(),q.setLeft(Y,$)}else{let Y=0;for(let q of X)q.setLeft(Y,$),Y+=q.getActualWidth()}PU(J,X)}for(let X of J)X.setLeft(null,$)}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($){return this.allCols.indexOf($)>=0}getLeftColsForRow($){let{leftCols:z,beans:{colModel:Q}}=this;if(!Q.colSpanActive)return z;return this.getColsForRow($,z)}getRightColsForRow($){let{rightCols:z,beans:{colModel:Q}}=this;if(!Q.colSpanActive)return z;return this.getColsForRow($,z)}getColsForRow($,z,Q,J){let Z=[],X=null;for(let Y=0;Y<z.length;Y++){let q=z[Y],G=z.length-Y,_=Math.min(q.getColSpan($),G),H=[q];if(_>1){let W=_-1;for(let B=1;B<=W;B++)H.push(z[Y+B]);Y+=W}let U;if(Q){U=!1;for(let W of H)if(Q(W))U=!0}else U=!0;if(U){if(Z.length===0&&X){if(J?J(q):!1)Z.push(X)}Z.push(q)}X=q}return Z}getContainerWidth($){switch($){case"left":return this.leftWidth;case"right":return this.rightWidth;default:return this.bodyWidth}}getColBefore($){let z=this.allCols,Q=z.indexOf($);if(Q>0)return z[Q-1];return null}isPinningLeft(){return this.leftCols.length>0}isPinningRight(){return this.rightCols.length>0}updateColsAndGroupsMap(){this.colsAndGroupsMap={};let $=(z)=>{this.colsAndGroupsMap[z.getUniqueId()]=z};yz(this.treeCenter,!1,$),yz(this.treeLeft,!1,$),yz(this.treeRight,!1,$)}isVisible($){return this.colsAndGroupsMap[$.getUniqueId()]===$}getFirstColumn(){let $=this.gos.get("enableRtl"),z=["leftCols","centerCols","rightCols"];if($)z.reverse();for(let Q=0;Q<z.length;Q++){let J=this[z[Q]];if(J.length)return $?b(J):J[0]}return null}getColAfter($){let z=this.allCols,Q=z.indexOf($);if(Q<z.length-1)return z[Q+1];return null}getColsLeftWidth(){return N$(this.leftCols)}getDisplayedColumnsRightWidth(){return N$(this.rightCols)}isColAtEdge($,z){let Q=this.allCols;if(!Q.length)return!1;let J=z==="first",Z;if(H0($)){let X=$.getDisplayedLeafColumns();if(!X.length)return!1;Z=J?X[0]:b(X)}else Z=$;return(J?Q[0]:b(Q))===Z}};function yz($,z,Q){if(!$)return;for(let J=0;J<$.length;J++){let Z=$[J];if(H0(Z)){let X=z?Z.getDisplayedChildren():Z.getChildren();yz(X,z,Q)}Q(Z)}}function pZ($){let z=[];return yz($,!0,(Q)=>{if(Q$(Q))z.push(Q)}),z}var vU=class extends S{constructor(){super(...arguments);this.beanName="colGroupSvc"}getColumnGroupState(){let $=[],z=this.beans.colModel.getColTree();return O$(null,z,(Q)=>{if(q0(Q))$.push({groupId:Q.getGroupId(),open:Q.isExpanded()})}),$}resetColumnGroupState($){let z=this.beans.colModel.getColDefColTree();if(!z)return;let Q=[];O$(null,z,(J)=>{if(q0(J)){let Z=J.getColGroupDef(),X={groupId:J.getGroupId(),open:!Z?void 0:Z.openByDefault};Q.push(X)}}),this.setColumnGroupState(Q,$)}setColumnGroupState($,z){let{colModel:Q,colAnimation:J,visibleCols:Z,eventSvc:X}=this.beans;if(!Q.getColTree().length)return;J?.start();let q=[];for(let G of $){let{groupId:_,open:H}=G,U=this.getProvidedColGroup(_);if(!U)continue;if(U.isExpanded()===H)continue;U.setExpanded(H),q.push(U)}if(Z.refresh(z,!0),q.length)X.dispatchEvent({type:"columnGroupOpened",columnGroup:q.length===1?q[0]:void 0,columnGroups:q});J?.finish()}setColumnGroupOpened($,z,Q){let J;if(q0($))J=$.getId();else J=$||"";this.setColumnGroupState([{groupId:J,open:z}],Q)}getProvidedColGroup($){let z=null;return O$(null,this.beans.colModel.getColTree(),(Q)=>{if(q0(Q)){if(Q.getId()===$)z=Q}}),z}getGroupAtDirection($,z){let Q=$.getProvidedColumnGroup().getLevel()+$.getPaddingLevel(),J=$.getDisplayedLeafColumns(),Z=z==="After"?b(J):J[0],X=`getCol${z}`;while(!0){let Y=this.beans.visibleCols[X](Z);if(!Y)return null;let q=this.getColGroupAtLevel(Y,Q);if(q!==$)return q}}getColGroupAtLevel($,z){let Q=$.getParent(),J,Z;while(!0){if(J=Q.getProvidedColumnGroup().getLevel(),Z=Q.getPaddingLevel(),J+Z<=z)break;Q=Q.getParent()}return Q}updateOpenClosedVisibility(){let $=this.beans.visibleCols.getAllTrees();yz($,!1,(z)=>{if(H0(z))z.calculateDisplayedColumns()})}getColumnGroup($,z){if(!$)return null;if(H0($))return $;let Q=this.beans.visibleCols.getAllTrees(),J=typeof z==="number",Z=null;return yz(Q,!1,(X)=>{if(H0(X)){let Y=X,q;if(J)q=$===Y.getGroupId()&&z===Y.getPartId();else q=$===Y.getGroupId();if(q)Z=Y}}),Z}createColumnGroups($){let{columns:z,idCreator:Q,pinned:J,oldDisplayedGroups:Z,isStandaloneStructure:X}=$,Y=this.mapOldGroupsById(Z),q=[],G=z;while(G.length){let _=G;G=[];let H=0,U=(W)=>{let B=H;H=W;let E=_[B],L=(H0(E)?E.getProvidedColumnGroup():E).getOriginalParent();if(L==null){for(let F=B;F<W;F++)q.push(_[F]);return}let D=this.createColumnGroup(L,Q,Y,J,X);for(let F=B;F<W;F++)D.addChild(_[F]);G.push(D)};for(let W=1;W<_.length;W++){let B=_[W],K=(H0(B)?B.getProvidedColumnGroup():B).getOriginalParent(),L=_[H],F=(H0(L)?L.getProvidedColumnGroup():L).getOriginalParent();if(K!==F)U(W)}if(H<_.length)U(_.length)}if(!X)this.setupParentsIntoCols(q,null);return q}createProvidedColumnGroup($,z,Q,J,Z,X,Y){let q=Z.getUniqueKey(z.groupId||null,null),G=X2(this.beans,z,q),_=new Cz(G,q,!1,Q);this.createBean(_);let H=this.findExistingGroup(z,X);if(H)X.splice(H.idx,1);let U=H?.group;if(U)_.setExpanded(U.isExpanded());let W=K7(this.beans,G.children,Q+1,$,J,Z,X,Y);return _.setChildren(W),_}balanceColumnTree($,z,Q,J){let Z=[];for(let X=0;X<$.length;X++){let Y=$[X];if(q0(Y)){let q=Y,G=this.balanceColumnTree(q.getChildren(),z+1,Q,J);q.setChildren(G),Z.push(q)}else{let q,G;for(let _=z;_<Q;_++){let H=J.getUniqueKey(null,null),U=X2(this.beans,null,H),W=new Cz(U,H,!0,_);if(this.createBean(W),G)G.setChildren([W]);if(G=W,!q)q=G}if(q&&G)if(Z.push(q),$.some((H)=>q0(H))){G.setChildren([Y]);continue}else{G.setChildren($);break}Z.push(Y)}}return Z}findDepth($){let z=0,Q=$;while(Q?.[0]&&q0(Q[0]))z++,Q=Q[0].getChildren();return z}findMaxDepth($,z){let Q=z;for(let J=0;J<$.length;J++){let Z=$[J];if(q0(Z)){let X=Z,Y=this.findMaxDepth(X.getChildren(),z+1);if(Q<Y)Q=Y}}return Q}balanceTreeForAutoCols($,z){let Q=[];for(let J of $){let Z=J;for(let X=z-1;X>=0;X--){let Y=new Cz(null,`FAKE_PATH_${J.getId()}_${X}`,!0,X);this.createBean(Y),Y.setChildren([Z]),Z.originalParent=Y,Z=Y}if(z===0)J.originalParent=null;Q.push(Z)}return Q}findExistingGroup($,z){if($.groupId==null)return;for(let J=0;J<z.length;J++){let Z=z[J];if(!Z.getColGroupDef())continue;if(Z.getId()===$.groupId)return{idx:J,group:Z}}return}createColumnGroup($,z,Q,J,Z){let X=$.getGroupId(),Y=z.getInstanceIdForKey(X),q=S7(X,Y),G=Q[q];if(G&&G.getProvidedColumnGroup()!==$)G=null;if(T(G))G.reset();else if(G=new aQ($,X,Y,J),!Z)this.createBean(G);return G}mapOldGroupsById($){let z={},Q=(J)=>{for(let Z of J)if(H0(Z)){let X=Z;z[Z.getUniqueId()]=X,Q(X.getChildren())}};if($)Q($);return z}setupParentsIntoCols($,z){for(let Q of $??[]){if(Q.parent!==z)this.beans.colViewport.colsWithinViewportHash="";if(Q.parent=z,H0(Q)){let J=Q;this.setupParentsIntoCols(J.getChildren(),J)}}}},E4={moduleName:"ColumnGroup",version:p,dynamicBeans:{headerGroupCellCtrl:LU},beans:[vU],apiFunctions:{getAllDisplayedColumnGroups:OU,getCenterDisplayedColumnGroups:jU,getColumnGroup:FU,getColumnGroupState:VU,getDisplayNameForColumnGroup:kU,getLeftDisplayedColumnGroups:RU,getProvidedColumnGroup:MU,getRightDisplayedColumnGroups:fU,resetColumnGroupState:SU,setColumnGroupOpened:DU,setColumnGroupState:AU}};function n0($,z,Q){let{colModel:J,rowGroupColsSvc:Z,pivotColsSvc:X,autoColSvc:Y,selectionColSvc:q,colAnimation:G,visibleCols:_,pivotResultCols:H,environment:U,valueColsSvc:W,eventSvc:B,gos:E}=$,K=J.getColDefCols()??[],L=q?.getColumns();if(!K.length&&!L?.length)return!1;if(z?.state&&!z.state.forEach)return j(32),!1;let D=(V,R,O,I,v)=>{if(!V)return;let C=$G(R,z.defaultState),m=C("flex").value1,w=C("sort").value1,a=C("sortType").value1,t=Zz(w)||m2(a),u=L$(a),$0=IJ(w),s=t?{type:u,direction:$0}:void 0;if(L7($,V,C("hide").value1,s,C("sortIndex").value1,C("pinned").value1,m,Q),m==null){let f0=C("width").value1;if(f0!=null){let O0=V.getColDef().minWidth??U.getDefaultColumnMinWidth();if(O0!=null&&f0>=O0)V.setActualWidth(f0,Q)}}if(v||!V.isPrimary())return;W?.syncColumnWithState(V,Q,C),Z?.syncColumnWithState(V,Q,C,O),X?.syncColumnWithState(V,Q,C,I)},F=(V,R,O)=>{let I=V8($,Q),v=R.slice(),C={},m={},w=[],a=[],t=[],u=0,$0=Z?.columns.slice()??[],s=X?.columns.slice()??[];for(let k0 of V){let Sz=k0.colId;if(Sz.startsWith(uz)){w.push(k0),t.push(k0);continue}if(I$(Sz)){a.push(k0),t.push(k0);continue}let oz=O(Sz);if(!oz)t.push(k0),u+=1;else D(oz,k0,C,m,!1),Z0(v,oz)}let f0=(k0)=>D(k0,null,C,m,!1);v.forEach(f0),Z?.sortColumns(b5.bind(Z,C,$0)),X?.sortColumns(b5.bind(X,m,s)),J.refreshCols(!1,Q);let O0=(k0,Sz,kZ=[])=>{for(let oz of Sz){let G5=k0(oz.colId);Z0(kZ,G5),D(G5,oz,null,null,!0)}kZ.forEach(f0)};return O0((k0)=>Y?.getColumn(k0)??null,w,Y?.getColumns()?.slice()),O0((k0)=>q?.getColumn(k0)??null,a,q?.getColumns()?.slice()),IU(z,J,E),_.refresh(Q),B.dispatchEvent({type:"columnEverythingChanged",source:Q}),I(),{unmatchedAndAutoStates:t,unmatchedCount:u}};G?.start();let{unmatchedAndAutoStates:M,unmatchedCount:k}=F(z.state||[],K,(V)=>J.getColDefCol(V));if(M.length>0||T(z.defaultState)){let V=H?.getPivotResultCols()?.list??[];k=F(M,V,(R)=>H?.getPivotResultCol(R)??null).unmatchedCount}return G?.finish(),k===0}function k8($,z){let{colModel:Q,autoColSvc:J,selectionColSvc:Z,eventSvc:X,gos:Y}=$,q=Q.getColDefCols();if(!q?.length)return;let G=Q.getColDefColTree(),_=CJ(G),H=[],U=1000,W=1000,B=(F)=>{let M=A8(F);if(n(M.rowGroupIndex)&&M.rowGroup)M.rowGroupIndex=U++;if(n(M.pivotIndex)&&M.pivot)M.pivotIndex=W++;H.push(M)};J?.getColumns()?.forEach(B),Z?.getColumns()?.forEach(B),_?.forEach(B),n0($,{state:H},z);let E=J?.getColumns()??[],D=[...Z?.getColumns()??[],...E,...q].map((F)=>({colId:F.colId}));n0($,{state:D,applyOrder:!0},z),X.dispatchEvent(y(Y,{type:"columnsReset",source:z}))}function V8($,z){let{rowGroupColsSvc:Q,pivotColsSvc:J,valueColsSvc:Z,colModel:X,sortSvc:Y,eventSvc:q}=$,G={rowGroupColumns:Q?.columns.slice()??[],pivotColumns:J?.columns.slice()??[],valueColumns:Z?.columns.slice()??[]},_=C5($),H={};for(let U of _)H[U.colId]=U;return()=>{let U=(R,O,I,v)=>{let C=O.map(v),m=I.map(v);if(X0(C,m))return;let a=new Set(O);for(let u of I)if(!a.delete(u))a.add(u);let t=[...a];q.dispatchEvent({type:R,columns:t,column:t.length===1?t[0]:null,source:z})},W=(R)=>{let O=[];return X.forAllCols((I)=>{let v=H[I.getColId()];if(v&&R(v,I))O.push(I)}),O},B=(R)=>R.getColId();U("columnRowGroupChanged",G.rowGroupColumns,Q?.columns??[],B),U("columnPivotChanged",G.pivotColumns,J?.columns??[],B);let K=W((R,O)=>{let I=R.aggFunc!=null,v=I!=O.isValueActive(),C=I&&R.aggFunc!=O.getAggFunc();return v||C});if(K.length>0)F8(q,"columnValueChanged",K,z);LQ(q,W((R,O)=>R.width!=O.getActualWidth()),!0,z),D8(q,W((R,O)=>R.pinned!=O.getPinned()),z),_U(q,W((R,O)=>R.hide==O.isVisible()),z);let k=W((R,O)=>!t1(O.getSortDef(),{type:L$(R.sortType),direction:IJ(R.sort)})||R.sortIndex!=O.getSortIndex());if(k.length>0)Y?.dispatchSortChangedEvents(z,k);let V=C5($);bU(_,V,z,X,q)}}function C5($){let{colModel:z,rowGroupColsSvc:Q,pivotColsSvc:J}=$,Z=z.getColDefCols();if(n(Z)||!z.isAlive())return[];let X=Q?.columns,Y=J?.columns,q=[],G=(H)=>{let U=H.isRowGroupActive()&&X?X.indexOf(H):null,W=H.isPivotActive()&&Y?Y.indexOf(H):null,B=H.isValueActive()?H.getAggFunc():null,E=H.getSortIndex()!=null?H.getSortIndex():null;q.push({colId:H.getColId(),width:H.getActualWidth(),hide:!H.isVisible(),pinned:H.getPinned(),sort:H.getSort(),sortType:H.getSortDef()?.type,sortIndex:E,aggFunc:B,rowGroup:H.isRowGroupActive(),rowGroupIndex:U,pivot:H.isPivotActive(),pivotIndex:W,flex:H.getFlex()??null})};z.forAllCols((H)=>G(H));let _=new Map(z.getCols().map((H,U)=>[H.getColId(),U]));return q.sort((H,U)=>{let W=_.has(H.colId)?_.get(H.colId):-1,B=_.has(U.colId)?_.get(U.colId):-1;return W-B}),q}function A8($){let z=(L,D)=>L!=null?L:D!=null?D:null,Q=$.getColDef(),J=a0(z(Q.sort,Q.initialSort)),Z=J.direction,X=J.type,Y=z(Q.sortIndex,Q.initialSortIndex),q=z(Q.hide,Q.initialHide),G=z(Q.pinned,Q.initialPinned),_=z(Q.width,Q.initialWidth),H=z(Q.flex,Q.initialFlex),U=z(Q.rowGroupIndex,Q.initialRowGroupIndex),W=z(Q.rowGroup,Q.initialRowGroup);if(U==null&&!W)U=null,W=null;let B=z(Q.pivotIndex,Q.initialPivotIndex),E=z(Q.pivot,Q.initialPivot);if(B==null&&!E)B=null,E=null;let K=z(Q.aggFunc,Q.initialAggFunc);return{colId:$.getColId(),sort:Z,sortType:X,sortIndex:Y,hide:q,pinned:G,width:_,flex:H,rowGroup:W,rowGroupIndex:U,pivot:E,pivotIndex:B,aggFunc:K}}function IU($,z,Q){if(!$.applyOrder||!$.state)return;let J=[];for(let Z of $.state)if(Z.colId!=null)J.push(Z.colId);CU(z.cols,J,z,Q)}function CU($,z,Q,J){if($==null)return;let Z=[],X={};for(let q of z){if(X[q])continue;let G=$.map[q];if(G)Z.push(G),X[q]=!0}let Y=0;for(let q of $.list){let G=q.getColId();if(X[G]!=null)continue;if(G.startsWith(uz))Z.splice(Y++,0,q);else Z.push(q)}if(Z=B8(Z,J),!E8(Z,Q.getColTree())){j(39);return}$.list=Z}function bU($,z,Q,J,Z){let X={};for(let H of z)X[H.colId]=H;let Y={};for(let H of $)if(X[H.colId])Y[H.colId]=!0;let q=$.filter((H)=>Y[H.colId]),G=z.filter((H)=>Y[H.colId]),_=[];if(G.forEach((H,U)=>{let W=q?.[U];if(W&&W.colId!==H.colId){let B=J.getCol(W.colId);if(B)_.push(B)}}),!_.length)return;Z.dispatchEvent({type:"columnMoved",columns:_,column:_.length===1?_[0]:null,finished:!0,source:Q})}var b5=($,z,Q,J)=>{let Z=$[Q.getId()],X=$[J.getId()],Y=Z!=null,q=X!=null;if(Y&&q)return Z-X;if(Y)return-1;if(q)return 1;let G=z.indexOf(Q),_=z.indexOf(J),H=G>=0,U=_>=0;if(H&&U)return G-_;if(H)return-1;return 1},yU=class extends S{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"],($)=>this.refreshAll(Xz($.source))),this.addManagedPropertyListeners(["defaultColDef","defaultColGroupDef","columnTypes","suppressFieldDotNotation"],this.recreateColumnDefs.bind(this)),this.addManagedPropertyListener("pivotMode",($)=>this.setPivotMode(this.gos.get("pivotMode"),Xz($.source)))}createColsFromColDefs($){let{beans:z}=this,{valueCache:Q,colAutosize:J,rowGroupColsSvc:Z,pivotColsSvc:X,valueColsSvc:Y,visibleCols:q,eventSvc:G,groupHierarchyColSvc:_}=z,H=this.colDefs?V8(z,$):void 0;Q?.expire();let U=this.colDefCols?.list,W=this.colDefCols?.tree,B=p2(z,this.colDefs,!0,W,$);J$(z,this.colDefCols?.tree,B.columnTree);let{columnTree:E,treeDepth:K}=B,L=CJ(E),D={};for(let F of L)D[F.getId()]=F;if(this.colDefCols={tree:E,treeDepth:K,list:L,map:D},this.createColumnsForService([_],this.colDefCols,$),Z?.extractCols($,U),X?.extractCols($,U),Y?.extractCols($,U),this.ready=!0,this.changeEventsDispatching=!0,this.refreshCols(!0,$),this.changeEventsDispatching=!1,q.refresh($),G.dispatchEvent({type:"columnEverythingChanged",source:$}),H)this.changeEventsDispatching=!0,H(),this.changeEventsDispatching=!1;if(G.dispatchEvent({type:"newColumnsLoaded",source:$}),$==="gridInitializing")J?.applyAutosizeStrategy()}refreshCols($,z){if(!this.colDefCols)return;let Q=this.cols?.tree;this.saveColOrder();let{autoColSvc:J,selectionColSvc:Z,rowNumbersSvc:X,quickFilter:Y,pivotResultCols:q,showRowGroupCols:G,rowAutoHeight:_,visibleCols:H,colViewport:U,eventSvc:W,formula:B}=this.beans,E=this.selectCols(q,this.colDefCols);B?.setFormulasActive(E),this.createColumnsForService([J,Z,X],E,z);let K=bq(this.gos,this.showingPivotResult);if(!$||K)this.restoreColOrder(E);if(this.positionLockedCols(E),G?.refresh(),Y?.refreshCols(),this.setColSpanActive(),_?.setAutoHeightActive(E),H.clear(),U.clear(),!X0(Q,this.cols.tree))W.dispatchEvent({type:"gridColumnsChanged"})}createColumnsForService($,z,Q){for(let J of $){if(!J)continue;J.createColumns(z,(Z)=>{this.lastOrder=Z(this.lastOrder),this.lastPivotOrder=Z(this.lastPivotOrder)},Q),J.addColumns(z)}}selectCols($,z){let Q=$?.getPivotResultCols()??null;this.showingPivotResult=Q!=null;let{map:J,list:Z,tree:X,treeDepth:Y}=Q??z;if(this.cols={list:Z.slice(),map:{...J},tree:X.slice(),treeDepth:Y},Q){if(!Q.list.some((G)=>this.cols?.map[G.getColId()]!==void 0))this.lastPivotOrder=null}return this.cols}getColsToShow(){if(!this.cols)return[];let{beans:$,showingPivotResult:z,cols:Q}=this,{valueColsSvc:J,selectionColSvc:Z,gos:X}=$,Y=this.isPivotMode()&&!z,q=Z?.isSelectionColumnEnabled(),G=yq($),_=J?.columns,H=g2(X);return Q.list.filter((W)=>{let B=mz(W);if(Y)return _?.includes(W)||B&&(!H||W.isVisible())||q&&I$(W)||G&&v0(W);else return B&&!H||W.isVisible()})}refreshAll($){if(!this.ready)return;this.refreshCols(!1,$),this.beans.visibleCols.refresh($)}setColsVisible($,z=!1,Q){n0(this.beans,{state:$.map((J)=>({colId:typeof J==="string"?J:J.getColId(),hide:!z}))},Q)}restoreColOrder($){let z=this.showingPivotResult?this.lastPivotOrder:this.lastOrder;if(!z)return;let Q=z.filter((U)=>$.map[U.getId()]!=null);if(Q.length===0)return;if(Q.length===$.list.length){$.list=Q;return}let J=(U)=>{let W=U.getOriginalParent();if(!W)return!1;if(W.getChildren().length>1)return!0;return J(W)};if(!Q.some((U)=>J(U))){let U=new Set(Q);for(let W of $.list)if(!U.has(W))Q.push(W);$.list=Q;return}let Z=new Map;for(let U=0;U<Q.length;U++){let W=Q[U];Z.set(W,U)}let X=$.list.filter((U)=>!Z.has(U));if(X.length===0){$.list=Q;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 q$){let D=Z.get(L);if(D==null)continue;if(E==null||E<D)E=D,K=L;continue}L.forEachLeafColumn((D)=>{let F=Z.get(D);if(F==null)return;if(E==null||E<F)E=F,K=D})}if(K==null)return Y(U,B);return K},q=[],G=new Map;for(let U of X){let W=Y(U,null);if(W==null){q.push(U);continue}let B=G.get(W);if(B===void 0)G.set(W,U);else if(Array.isArray(B))B.push(U);else G.set(W,[B,U])}let _=Array($.list.length),H=_.length-1;for(let U=q.length-1;U>=0;U--)_[H--]=q[U];for(let U=Q.length-1;U>=0;U--){let W=Q[U],B=G.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}$.list=_}positionLockedCols($){$.list=B8($.list,this.gos)}saveColOrder(){if(this.showingPivotResult)this.lastPivotOrder=this.cols?.list??null;else this.lastOrder=this.cols?.list??null}getColumnDefs($){return this.colDefCols&&this.beans.colDefFactory?.getColumnDefs(this.colDefCols.list,this.showingPivotResult,this.lastOrder,this.cols?.list??[],$)}setColSpanActive(){this.colSpanActive=!!this.cols?.list.some(($)=>$.getColDef().colSpan!=null)}isPivotMode(){return this.pivotMode}setPivotMode($,z){if($===this.pivotMode)return;if(this.pivotMode=$,!this.ready)return;this.refreshCols(!1,z);let{visibleCols:Q,eventSvc:J}=this.beans;Q.refresh(z),J.dispatchEvent({type:"columnPivotModeChanged"})}isPivotActive(){let $=this.beans.pivotColsSvc?.columns;return this.pivotMode&&!!$?.length}recreateColumnDefs($){if(!this.cols)return;this.beans.autoColSvc?.updateColumns($);let z=Xz($.source);this.createColsFromColDefs(z)}setColumnDefs($,z){this.colDefs=$,this.createColsFromColDefs(z)}destroy(){J$(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($){let{pivotResultCols:z,autoColSvc:Q,selectionColSvc:J,groupHierarchyColSvc:Z}=this.beans;if(IQ(this.colDefCols?.list,$))return;if(IQ(Q?.columns?.list,$))return;if(IQ(J?.columns?.list,$))return;if(IQ(Z?.columns?.list,$))return;if(IQ(z?.getPivotResultCols()?.list,$))return}getColsForKeys($){if(!$)return[];return $.map((z)=>this.getCol(z)).filter((z)=>z!=null)}getColDefCol($){if(!this.colDefCols?.list)return null;return this.getColFromCollection($,this.colDefCols)}getCol($){if($==null)return null;return this.getColFromCollection($,this.cols)}getColById($){return this.cols?.map[$]??null}getColFromCollection($,z){if(z==null)return null;let{map:Q,list:J}=z;if(typeof $=="string"&&Q[$])return Q[$];for(let q=0;q<J.length;q++)if(P$(J[q],$))return J[q];let{autoColSvc:Z,selectionColSvc:X,groupHierarchyColSvc:Y}=this.beans;return Z?.getColumn($)??X?.getColumn($)??Y?.getColumn($)??null}},xU=".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)}",wU=class extends p0{constructor($,z,Q){super(z,Q);this.labelSeparator="",this.labelAlignment="left",this.disabled=!1,this.label="",this.config=$||{},this.registerCSS(xU)}postConstruct(){this.addCss("ag-labeled"),this.eLabel.classList.add("ag-label");let{labelSeparator:$,label:z,labelWidth:Q,labelAlignment:J,disabled:Z,labelEllipsis:X}=this.config;if(Z!=null)this.setDisabled(Z);if($!=null)this.setLabelSeparator($);if(z!=null)this.setLabel(z);if(Q!=null)this.setLabelWidth(Q);if(X!=null)this.setLabelEllipsis(X);this.setLabelAlignment(J||this.labelAlignment),this.refreshLabel()}refreshLabel(){let{label:$,eLabel:z}=this;if(z0(z),typeof $==="string")z.innerText=$+this.labelSeparator;else if($)z.appendChild($);if($==="")N(z,!1),_0(z,"presentation");else N(z,!0),_0(z,null)}setLabelSeparator($){if(this.labelSeparator===$)return this;if(this.labelSeparator=$,this.label!=null)this.refreshLabel();return this}getLabelId(){let $=this.eLabel;return $.id=$.id||`ag-${this.getCompId()}-label`,$.id}getLabel(){return this.label}setLabel($){if(this.label===$)return this;return this.label=$,this.refreshLabel(),this}setLabelAlignment($){let Q=this.getGui().classList;return Q.toggle("ag-label-align-left",$==="left"),Q.toggle("ag-label-align-right",$==="right"),Q.toggle("ag-label-align-top",$==="top"),this}setLabelEllipsis($){return this.eLabel.classList.toggle("ag-label-ellipsis",$),this}setLabelWidth($){if(this.label==null)return this;return u6(this.eLabel,$),this}setDisabled($){$=!!$;let z=this.getGui();return T2(z,$),z.classList.toggle("ag-disabled",$),this.disabled=$,this}isDisabled(){return!!this.disabled}},NU=class extends wU{constructor($,z,Q,J){super($,z,Q);this.className=J}postConstruct(){super.postConstruct();let{width:$,value:z,onValueChange:Q,ariaLabel:J}=this.config;if($!=null)this.setWidth($);if(z!=null)this.setValue(z);if(Q!=null)this.onValueChange(Q);if(J!=null)this.setAriaLabel(J);if(this.className)this.addCss(this.className);this.refreshAriaLabelledBy()}setLabel($){return super.setLabel($),this.refreshAriaLabelledBy(),this}refreshAriaLabelledBy(){let $=this.getAriaElement(),z=this.getLabelId(),Q=this.getLabel();if(Q==null||Q==""||hY($)!==null)pQ($,"");else pQ($,z??"")}setAriaLabel($){return E0(this.getAriaElement(),$),this.refreshAriaLabelledBy(),this}onValueChange($){return this.addManagedListeners(this,{fieldValueChanged:()=>$(this.getValue())}),this}getWidth(){return this.getGui().clientWidth}setWidth($){return f$(this.getGui(),$),this}getPreviousValue(){return this.previousValue}getValue(){return this.value}setValue($,z){if(this.value===$)return this;if(this.previousValue=this.value,this.value=$,!z)this.dispatchLocalEvent({type:"fieldValueChanged"});return this}};function gU($){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:$,ref:"eInput",cls:"ag-input-field-input"}]}]}}var S8=class extends NU{constructor($,z,Q="text",J="input"){super($,$?.template??gU(J),[],z);this.inputType=Q,this.displayFieldTag=J,this.eLabel=f,this.eWrapper=f,this.eInput=f}postConstruct(){super.postConstruct(),this.setInputType(this.inputType);let{eLabel:$,eWrapper:z,eInput:Q,className:J}=this;$.classList.add(`${J}-label`),z.classList.add(`${J}-input-wrapper`),Q.classList.add(`${J}-input`),this.addCss("ag-input-field"),Q.id=Q.id||`ag-${this.getCompId()}-input`;let{inputName:Z,inputWidth:X,inputPlaceholder:Y,autoComplete:q,tabIndex:G}=this.config;if(Z!=null)this.setInputName(Z);if(X!=null)this.setInputWidth(X);if(Y!=null)this.setInputPlaceholder(Y);if(q!=null)this.setAutoComplete(q);this.addInputListeners(),this.activateTabIndex([Q],G)}addInputListeners(){this.addManagedElementListeners(this.eInput,{input:($)=>this.setValue($.target.value)})}setInputType($){if(this.displayFieldTag==="input")this.inputType=$,Pz(this.eInput,"type",$)}getInputElement(){return this.eInput}getWrapperElement(){return this.eWrapper}setInputWidth($){return u6(this.eWrapper,$),this}setInputName($){return this.getInputElement().setAttribute("name",$),this}getFocusableElement(){return this.eInput}setMaxLength($){let z=this.eInput;return z.maxLength=$,this}setInputPlaceholder($){return Pz(this.eInput,"placeholder",$),this}setInputAriaLabel($){return E0(this.eInput,$),this.refreshAriaLabelledBy(),this}setDisabled($){return T2(this.eInput,$),super.setDisabled($)}setAutoComplete($){if($===!0)Pz(this.eInput,"autocomplete",null);else{let z=typeof $==="string"?$:"off";Pz(this.eInput,"autocomplete",z)}return this}},K4=class extends S8{constructor($,z="ag-checkbox",Q="checkbox"){super($,z,Q);this.labelAlignment="right",this.selected=!1,this.readOnly=!1,this.passive=!1}postConstruct(){super.postConstruct();let{readOnly:$,passive:z,name:Q}=this.config;if(typeof $==="boolean")this.setReadOnly($);if(typeof z==="boolean")this.setPassive(z);if(Q!=null)this.setName(Q)}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($){this.passive=$}isReadOnly(){return this.readOnly}setReadOnly($){this.eWrapper.classList.toggle("ag-disabled",$),this.eInput.disabled=$,this.readOnly=$}setDisabled($){return this.eWrapper.classList.toggle("ag-disabled",$),super.setDisabled($)}toggle(){if(this.eInput.disabled)return;let $=this.isSelected(),z=this.getNextValue();if(this.passive)this.dispatchChange(z,$);else this.setValue(z)}getValue(){return this.isSelected()}setValue($,z){return this.refreshSelectedClass($),this.setSelected($,z),this}setName($){let z=this.getInputElement();return z.name=$,this}isSelected(){return this.selected}setSelected($,z){if(this.isSelected()===$)return;this.previousValue=this.isSelected(),$=this.selected=typeof $==="boolean"?$:void 0;let Q=this.eInput;if(Q.checked=$,Q.indeterminate=$===void 0,!z)this.dispatchChange(this.selected,this.previousValue)}dispatchChange($,z,Q){this.dispatchLocalEvent({type:"fieldValueChanged",selected:$,previousValue:z,event:Q});let J=this.getInputElement();this.eventSvc.dispatchEvent({type:"checkboxChanged",id:J.id,name:J.name,selected:$,previousValue:z})}onCheckboxClick($){if(this.passive||this.eInput.disabled)return;let z=this.isSelected(),Q=this.selected=$.target.checked;this.refreshSelectedClass(Q),this.dispatchChange(Q,z,$)}refreshSelectedClass($){let z=this.eWrapper.classList;z.toggle("ag-checked",$===!0),z.toggle("ag-indeterminate",$==null)}},y$={selector:"AG-CHECKBOX",component:K4},hU=".ag-checkbox-cell{height:100%}",uU={tag:"div",cls:"ag-cell-wrapper ag-checkbox-cell",role:"presentation",children:[{tag:"ag-checkbox",ref:"eCheckbox",role:"presentation"}]},mU=class extends x{constructor(){super(uU,[y$]);this.eCheckbox=f,this.registerCSS(hU)}init($){this.refresh($);let{eCheckbox:z,beans:Q}=this,J=z.getInputElement();J.setAttribute("tabindex","-1"),R6(J,"polite"),this.addManagedListeners(J,{click:(Z)=>{if(i0(Z),z.isDisabled())return;let X=z.getValue();this.onCheckboxChanged(X)},dblclick:(Z)=>{i0(Z)}}),this.addManagedElementListeners($.eGridCell,{keydown:(Z)=>{if(Z.key===A.SPACE&&!z.isDisabled()){if($.eGridCell===d(Q))z.toggle();let X=z.getValue();this.onCheckboxChanged(X),Z.preventDefault()}}})}refresh($){return this.params=$,this.updateCheckbox($),!0}updateCheckbox($){let z,Q=!0,{value:J,column:Z,node:X}=$;if(X.group&&Z)if(typeof J==="boolean")z=J;else{let U=Z.getColId();if(U.startsWith(uz))z=J==null||J===""?void 0:J==="true";else if(X.aggData&&X.aggData[U]!==void 0)z=J??void 0;else if(X.sourceRowIndex>=0)z=J??void 0;else Q=!1}else z=J??void 0;let{eCheckbox:Y}=this;if(!Q){Y.setDisplayed(!1);return}Y.setValue(z);let q=$.disabled??!Z?.isCellEditable(X);Y.setDisabled(q);let G=this.getLocaleTextFunc(),_=O2(G,z),H=q?_:`${G("ariaToggleCellValue","Press SPACE to toggle cell value")} (${_})`;Y.setInputAriaLabel(H)}onCheckboxChanged($){let{params:z}=this,{column:Q,node:J,value:Z}=z,{editSvc:X}=this.beans;if(!Q)return;let Y={rowNode:J,column:Q};X?.dispatchCellEvent(Y,null,"cellEditingStarted",{value:Z});let q=J.setDataValue(Q,$,"ui");if(X?.dispatchCellEvent(Y,null,"cellEditingStopped",{oldValue:Z,newValue:$,valueChanged:q}),!q)this.updateCheckbox(z)}},cU={tag:"div",cls:"ag-skeleton-container"},pU=class extends x{constructor(){super(cU)}init($){let z=`ag-cell-skeleton-renderer-${this.getCompId()}`;if(this.getGui().setAttribute("id",z),this.addDestroyFunc(()=>pQ($.eParentOfValue)),pQ($.eParentOfValue,z),$.deferRender)this.setupLoading($);else if($.node.failedLoad)this.setupFailed();else this.setupLoading($)}setupFailed(){let $=this.getLocaleTextFunc();this.getGui().textContent=$("loadingError","ERR");let z=$("ariaSkeletonCellLoadingFailed","Row failed to load");E0(this.getGui(),z)}setupLoading($){let z=J0({tag:"div",cls:"ag-skeleton-effect"}),Q=$.node.rowIndex;if(Q!=null){let X=75+25*(Q%2===0?Math.sin(Q):Math.cos(Q));z.style.width=`${X}%`}this.getGui().appendChild(z);let J=this.getLocaleTextFunc(),Z=$.deferRender?J("ariaDeferSkeletonCellLoading","Cell is loading"):J("ariaSkeletonCellLoading","Row data is loading");E0(this.getGui(),Z)}refresh($){return!1}},iU={moduleName:"CheckboxCellRenderer",version:p,userComponents:{agCheckboxCellRenderer:mU}},nU={moduleName:"SkeletonCellRenderer",version:p,userComponents:{agSkeletonCellRenderer:pU}};var dU=class extends S{constructor(){super(...arguments);this.beanName="colFlex",this.columnsHidden=!1}refreshFlexedColumns($={}){let z=$.source??"flex";if($.viewportWidth!=null)this.flexViewportWidth=$.viewportWidth;let Q=this.flexViewportWidth,{visibleCols:J,colDelayRenderSvc:Z}=this.beans,X=J.centerCols,Y=-1;if($.resizingCols){let K=new Set($.resizingCols);for(let L=X.length-1;L>=0;L--)if(K.has(X[L])){Y=L;break}}let q=!1,G=X.map((K,L)=>{let D=K.getFlex(),F=D!=null&&D>0&&L>Y;return q||(q=F),{col:K,isFlex:F,flex:Math.max(0,D??0),initialSize:K.getActualWidth(),min:K.getMinWidth(),max:K.getMaxWidth(),targetSize:0}});if(q)Z?.hideColumns("colFlex"),this.columnsHidden=!0;else if(this.columnsHidden)this.revealColumns(Z);if(!Q||!q)return[];let _=G.length,H=G.reduce((K,L)=>K+L.flex,0),U=Q,W=(K,L)=>{K.frozenSize=L,K.col.setActualWidth(L,z),U-=L,H-=K.flex,_-=1},B=(K)=>K.frozenSize!=null;for(let K of G)if(!K.isFlex)W(K,K.initialSize);while(_>0){let K=Math.round(H<1?U*H:U),L,D=0,F=0;for(let V of G){if(B(V))continue;L=V,F+=K*(V.flex/H);let R=F-D,O=Math.round(R);V.targetSize=O,D+=O}if(L)L.targetSize+=K-D;let M=0;for(let V of G){if(B(V))continue;let R=V.targetSize,O=Math.min(Math.max(R,V.min),V.max);M+=O-R,V.violationType=O===R?void 0:O<R?"max":"min",V.targetSize=O}let k=M===0?"all":M>0?"min":"max";for(let V of G){if(B(V))continue;if(k==="all"||V.violationType===k)W(V,V.targetSize)}}if(!$.skipSetLeft)J.setLeftValues(z);if($.updateBodyWidths)J.updateBodyWidths();let E=G.filter((K)=>K.isFlex&&!K.violationType).map((K)=>K.col);if($.fireResizedEvent){let K=G.filter((D)=>D.initialSize!==D.frozenSize).map((D)=>D.col),L=G.filter((D)=>D.flex).map((D)=>D.col);LQ(this.eventSvc,K,!0,z,L)}return this.revealColumns(Z),E}revealColumns($){if(this.columnsHidden)$?.revealColumns("colFlex"),this.columnsHidden=!1}initCol($){let{flex:z,initialFlex:Q}=$.colDef;if(z!==void 0)$.flex=z;else if(Q!==void 0)$.flex=Q}setColFlex($,z){$.flex=z??null,$.dispatchStateUpdatedEvent("flex")}},Gz=($)=>{if(typeof $==="bigint")return $;let z;if(typeof $==="number")z=$;else if(typeof $==="string"){if(z=$.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}},L4="T",tU=new RegExp(`[${L4} ]`),sU=new RegExp(`^\\d{4}-\\d{2}-\\d{2}(${L4}\\d{2}:\\d{2}:\\d{2}\\D?)?`);function fz($,z){return $.toString().padStart(z,"0")}function y5($,z=!0,Q=L4){if(!$)return null;let J=[$.getFullYear(),$.getMonth()+1,$.getDate()].map((Z)=>fz(Z,2)).join("-");if(z)J+=Q+[$.getHours(),$.getMinutes(),$.getSeconds()].map((Z)=>fz(Z,2)).join(":");return J}function ZQ($,z=!0){if(!$)return null;if(z)return[String($.getFullYear()),String($.getMonth()+1),fz($.getDate(),2),fz($.getHours(),2),`:${fz($.getMinutes(),2)}`,`:${fz($.getSeconds(),2)}`];return[$.getFullYear(),$.getMonth()+1,fz($.getDate(),2)].map(String)}var D4=["January","February","March","April","May","June","July","August","September","October","November","December"];function r1($,z=!1){return!!eQ($,z)}function rU($){return r1($,!0)}function eQ($,z=!1,Q){if(!$)return null;if(!Q&&!sU.test($))return null;let[J,Z]=$.split(tU);if(!J)return null;let X=J.split("-").map((B)=>Number.parseInt(B,10));if(X.filter((B)=>!isNaN(B)).length!==3)return null;let[Y,q,G]=X,_=new Date(Y,q-1,G);if(_.getFullYear()!==Y||_.getMonth()!==q-1||_.getDate()!==G)return null;if(!Z&&z)return null;if(!Z||Z==="00:00:00")return _;let[H,U,W]=Z.split(":").map((B)=>Number.parseInt(B,10));if(H>=0&&H<24)_.setHours(H);else if(z)return null;if(U>=0&&U<60)_.setMinutes(U);else if(z)return null;if(W>=0&&W<60)_.setSeconds(W);else if(z)return null;return _}function hQ($,z,Q){if(!z||!$)return;if(!Q)return $[z];let J=z.split("."),Z=$;for(let X=0;X<J.length;X++){if(Z==null)return;Z=Z[J[X]]}return Z}var lU=["dateTimeString","dateString","text","number","bigint","boolean","date"],aU=class extends S{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:$}){if($)return{cellEditor:"agTextCellEditor"};return{cellEditor:"agTextCellEditor",comparator:{default:zW,absolute:QW}}},boolean(){return{cellEditor:"agCheckboxCellEditor",cellRenderer:"agCheckboxCellRenderer",getFindText:()=>null,suppressKeyboardEvent:({node:$,event:z,column:Q})=>z.key===A.SPACE&&Q.isCellEditable($)}},date({formatValue:$}){return{cellEditor:"agDateCellEditor",keyCreator:$}},dateString({formatValue:$}){return{cellEditor:"agDateStringCellEditor",keyCreator:$}},dateTime($){return this.date($)},dateTimeString($){return this.dateString($)},object({formatValue:$,colModel:z,colId:Q}){return{cellEditorParams:{useFormatter:!0},comparator:(J,Z)=>{let X=z.getColDefCol(Q),Y=X?.getColDef();if(!X||!Y)return 0;let q=J==null?"":$({column:X,node:null,value:J}),G=Z==null?"":$({column:X,node:null,value:Z});if(q===G)return 0;return q>G?1:-1},keyCreator:$}},text(){return{}}}}wireBeans($){this.colModel=$.colModel}postConstruct(){this.processDataTypeDefinitions(),this.addManagedPropertyListener("dataTypeDefinitions",($)=>{this.processDataTypeDefinitions(),this.colModel.recreateColumnDefs($)})}processDataTypeDefinitions(){let $=this.getDefaultDataTypes(),z={},Q={},J=(H)=>{return(U)=>{let{column:W,node:B,value:E}=U,K=W.getColDef().valueFormatter;if(K===H.groupSafeValueFormatter)K=H.valueFormatter;return this.beans.valueSvc.formatValue(W,B,E,K)}};for(let H of Object.keys($)){let U=$[H],W={...U,groupSafeValueFormatter:N5(U,this.gos)};z[H]=W,Q[H]=J(W)}let Z=this.gos.get("dataTypeDefinitions")??{},X={};for(let H of Object.keys(Z)){let U=Z[H],W=this.processDataTypeDefinition(U,Z,[H],$);if(W){if(z[H]=W,U.dataTypeMatcher)X[H]=U.dataTypeMatcher;Q[H]=J(W)}}let{valueParser:Y,valueFormatter:q}=$.object,{valueParser:G,valueFormatter:_}=z.object;this.hasObjectValueParser=G!==Y,this.hasObjectValueFormatter=_!==q,this.formatValueFuncs=Q,this.dataTypeDefinitions=z,this.dataTypeMatchers=this.sortKeysInMatchers(X,$)}sortKeysInMatchers($,z){let Q={...$};for(let J of lU)delete Q[J],Q[J]=$[J]??z[J].dataTypeMatcher;return Q}processDataTypeDefinition($,z,Q,J){let Z,X=$.extendsDataType;if($.columnTypes)this.isColumnTypeOverrideInDataTypeDefinitions=!0;if($.extendsDataType===$.baseDataType){let Y=J[X],q=z[X];if(Y&&q)Y=q;if(!w5($,Y,X))return;Z=x5(Y,$)}else{if(Q.includes(X)){j(44);return}let Y=z[X];if(!w5($,Y,X))return;let q=this.processDataTypeDefinition(Y,z,[...Q,X],J);if(!q)return;Z=x5(q,$)}return{...Z,groupSafeValueFormatter:N5(Z,this.gos)}}updateColDefAndGetColumnType($,z,Q){let{cellDataType:J}=z;if(J===void 0)J=$.cellDataType;let{field:Z}=z;if(J==null||J===!0)J=this.canInferCellDataType($,z)?this.inferCellDataType(Z,Q):!1;if(this.addFormulaCellEditorToColDef($,z),!J){$.cellDataType=!1;return}let X=this.dataTypeDefinitions[J];if(!X){j(47,{cellDataType:J});return}if($.cellDataType=J,X.groupSafeValueFormatter)$.valueFormatter=X.groupSafeValueFormatter;if(X.valueParser)$.valueParser=X.valueParser;if(!X.suppressDefaultProperties)this.setColDefPropertiesForBaseDataType($,J,X,Q);return X.columnTypes}addFormulaCellEditorToColDef($,z){if(!(z.allowFormula??$.allowFormula)||z.cellEditor)return;$.cellEditor="agFormulaCellEditor"}addColumnListeners($){if(!this.isPendingInference)return;let z=this.columnStateUpdatesPendingInference[$.getColId()];if(!z)return;let Q=(J)=>{z.add(J.key)};$.__addEventListener("columnStateUpdated",Q),this.columnStateUpdateListenerDestroyFuncs.push(()=>$.__removeEventListener("columnStateUpdated",Q))}canInferCellDataType($,z){let{gos:Q}=this;if(!o(Q))return!1;let J={cellRenderer:!0,valueGetter:!0,valueParser:!0,refData:!0};if(iZ(z,J))return!1;let Z=z.type===null?$.type:z.type;if(Z){let X=Q.get("columnTypes")??{};if(XJ(Z).some((q)=>{let G=X[q.trim()];return G&&iZ(G,J)}))return!1}return!iZ($,J)}inferCellDataType($,z){if(!$)return;let Q,J=this.getInitialData();if(J){let X=$.includes(".")&&!this.gos.get("suppressFieldDotNotation");Q=hQ(J,$,X)}else this.initWaitForRowData(z);if(Q==null)return;return Object.keys(this.dataTypeMatchers).find((X)=>this.dataTypeMatchers[X](Q))??"object"}getInitialData(){let $=this.gos.get("rowData");if($?.length)return $[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($){if(this.columnStateUpdatesPendingInference[$]=new Set,this.isPendingInference)return;this.isPendingInference=!0;let z=this.isColumnTypeOverrideInDataTypeDefinitions,{colAutosize:Q,eventSvc:J}=this.beans;if(z&&Q)Q.shouldQueueResizeOperations=!0;let[Z]=this.addManagedEventListeners({rowDataUpdateStarted:(X)=>{let{firstRowData:Y}=X;if(!Y)return;if(Z?.(),this.isPendingInference=!1,this.processColumnsPendingInference(Y,z),this.columnStateUpdatesPendingInference={},z)Q?.processResizeOperations();J.dispatchEvent({type:"dataTypesInferred"})}})}processColumnsPendingInference($,z){this.initialData=$;let Q=[];this.destroyColumnStateUpdateListeners();let J={},Z={};for(let X of Object.keys(this.columnStateUpdatesPendingInference)){let Y=this.columnStateUpdatesPendingInference[X],q=this.colModel.getCol(X);if(!q)continue;let G=q.getColDef();if(!this.resetColDefIntoCol(q,"cellDataTypeInferred"))continue;let _=q.getColDef();if(z&&_.type&&_.type!==G.type){let H=JW(q,Y);if(H.rowGroup&&H.rowGroupIndex==null)J[X]=H;if(H.pivot&&H.pivotIndex==null)Z[X]=H;Q.push(H)}}if(z)Q.push(...this.generateColumnStateForRowGroupAndPivotIndexes(J,Z));if(Q.length)n0(this.beans,{state:Q},"cellDataTypeInferred");this.initialData=null}generateColumnStateForRowGroupAndPivotIndexes($,z){let Q={},{rowGroupColsSvc:J,pivotColsSvc:Z}=this.beans;return J?.restoreColumnOrder(Q,$),Z?.restoreColumnOrder(Q,z),Object.values(Q)}resetColDefIntoCol($,z){let Q=$.getUserProvidedColDef();if(!Q)return!1;let J=u$(this.beans,Q,$.getColId());return $.setColDef(J,Q,z),!0}getDateStringTypeDefinition($){let{dateString:z}=this.dataTypeDefinitions;if(!$)return z;return this.getDataTypeDefinition($)??z}getDateParserFunction($){return this.getDateStringTypeDefinition($).dateParser}getDateFormatterFunction($){return this.getDateStringTypeDefinition($).dateFormatter}getDateIncludesTimeFlag($){return $==="dateTime"||$==="dateTimeString"}getDataTypeDefinition($){let z=$.getColDef();if(!z.cellDataType)return;return this.dataTypeDefinitions[z.cellDataType]}getBaseDataType($){return this.getDataTypeDefinition($)?.baseDataType}checkType($,z){if(z==null)return!0;let Q=this.getDataTypeDefinition($)?.dataTypeMatcher;if(!Q)return!0;if($.getColDef().allowFormula&&this.beans.formula?.isFormula(z))return!0;return Q(z)}validateColDef($,z,Q,J){if($.cellDataType==="object"){let Z=(G)=>{return G?.cellDataType==null||G?.cellDataType===!0},X=Z(z)&&Z(Q),Y=(G)=>j(48,{property:G,inferred:X,colId:J}),{object:q}=this.dataTypeDefinitions;if($.valueFormatter===q.groupSafeValueFormatter&&!this.hasObjectValueFormatter)Y("Formatter");if($.editable&&$.valueParser===q.valueParser&&!this.hasObjectValueParser)Y("Parser")}}postProcess($){let z=$.cellDataType;if(!z||typeof z!=="string")return;let{dataTypeDefinitions:Q,beans:J,formatValueFuncs:Z}=this,X=Q[z];if(!X)return;J.colFilter?.setColDefPropsForDataType($,X,Z[z])}getFormatValue($){return this.formatValueFuncs[$]}isColPendingInference($){return this.isPendingInference&&!!this.columnStateUpdatesPendingInference[$]}setColDefPropertiesForBaseDataType($,z,Q,J){let Z=this.formatValueFuncs[z],X=this.columnDefinitionPropsPerDataType[Q.baseDataType]({colDef:$,cellDataType:z,colModel:this.colModel,dataTypeDefinition:Q,colId:J,formatValue:Z,filterModuleBean:this.beans.filterManager});if($.cellEditor==="agFormulaCellEditor"&&X.cellEditor!==$.cellEditor)X.cellEditor=$.cellEditor;Object.assign($,X)}getDateObjectTypeDef($){let z=this.getLocaleTextFunc(),Q=this.getDateIncludesTimeFlag($);return{baseDataType:$,valueParser:(J)=>eQ(J.newValue&&String(J.newValue)),valueFormatter:(J)=>{if(J.value==null)return"";if(!(J.value instanceof Date)||isNaN(J.value.getTime()))return z("invalidDate","Invalid Date");return y5(J.value,Q)??""},dataTypeMatcher:(J)=>J instanceof Date}}getDateStringTypeDef($){let z=this.getDateIncludesTimeFlag($);return{baseDataType:$,dateParser:(Q)=>eQ(Q)??void 0,dateFormatter:(Q)=>y5(Q??null,z)??void 0,valueParser:(Q)=>r1(String(Q.newValue))?Q.newValue:null,valueFormatter:(Q)=>r1(String(Q.value))?String(Q.value):"",dataTypeMatcher:(Q)=>typeof Q==="string"&&r1(Q)}}getDefaultDataTypes(){let $=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 $("invalidNumber","Invalid Number");return String(z.value)},dataTypeMatcher:(z)=>typeof z==="number"},bigint:{baseDataType:"bigint",valueParser:(z)=>{let{newValue:Q}=z;if(Q==null)return null;if(typeof Q==="string"&&Q.trim()==="")return null;return Gz(Q)},valueFormatter:(z)=>{if(z.value==null)return"";if(typeof z.value!=="bigint")return $("invalidBigInt","Invalid BigInt");return String(z.value)},dataTypeMatcher:(z)=>typeof z==="bigint"},text:{baseDataType:"text",valueParser:(z)=>z.newValue===""?null:cQ(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"&&rU(z)},object:{baseDataType:"object",valueParser:()=>null,valueFormatter:(z)=>cQ(z.value)??""}}}destroyColumnStateUpdateListeners(){for(let $ of this.columnStateUpdateListenerDestroyFuncs)$();this.columnStateUpdateListenerDestroyFuncs=[]}destroy(){this.dataTypeDefinitions={},this.dataTypeMatchers={},this.formatValueFuncs={},this.columnStateUpdatesPendingInference={},this.destroyColumnStateUpdateListeners(),super.destroy()}};function x5($,z){let Q={...$,...z};if($.columnTypes&&z.columnTypes&&z.appendColumnTypes)Q.columnTypes=[...XJ($.columnTypes),...XJ(z.columnTypes)];return Q}function w5($,z,Q){if(!z)return j(45,{parentCellDataType:Q}),!1;if(z.baseDataType!==$.baseDataType)return j(46),!1;return!0}var oU=($)=>typeof $==="bigint"||typeof $==="number",eU=($)=>$==="number"||$==="bigint";function N5($,z){if(!$.valueFormatter)return;return(Q)=>{let{node:J,colDef:Z,column:X,value:Y}=Q;if(J?.group){let q=(Z.pivotValueColumn??X).getAggFunc();if(q){if(q==="first"||q==="last")return $.valueFormatter(Q);let{baseDataType:G}=$;if(eU(G)&&q!=="count"){if(oU(Y))return $.valueFormatter(Q);if(Y==null)return;if(typeof Y==="object"){if(typeof Y.toNumber==="function")return $.valueFormatter({...Q,value:Y.toNumber()});if("value"in Y)return $.valueFormatter({...Q,value:Y.value})}}return}}else if(z.get("groupHideOpenParents")&&Q.column.isRowGroupActive()){if(typeof Q.value==="string"&&!$.dataTypeMatcher?.(Q.value))return}return $.valueFormatter(Q)}}function $W($,z,Q,J){if(!z[Q])return!1;let Z=$[Q];if(Z===null)return z[Q]=!1,!1;else return J===void 0?!!Z:Z===J}function zW($,z){if($==null)return z==null?0:-1;if(z==null)return 1;let Q=Gz($),J=Gz(z);if(Q!=null&&J!=null){if(Q===J)return 0;return Q>J?1:-1}return 0}function QW($,z){if($==null)return z==null?0:-1;if(z==null)return 1;let Q=g5($),J=g5(z);if(Q!=null&&J!=null){if(Q===J)return 0;return Q>J?1:-1}return 0}function g5($){let z=Gz($);if(z==null)return null;return z<0n?-z:z}function iZ($,z){return[["cellRenderer","agSparklineCellRenderer"],["valueGetter",void 0],["valueParser",void 0],["refData",void 0]].some(([Q,J])=>$W($,z,Q,J))}function JW($,z){let Q=A8($);for(let J of z)if(delete Q[J],J==="rowGroup")delete Q.rowGroupIndex;else if(J==="pivot")delete Q.pivotIndex;return Q}var ZW={moduleName:"DataType",version:p,beans:[aU],dependsOn:[iU]},XW={moduleName:"ColumnFlex",version:p,beans:[dU]};var YW=class extends S{constructor(){super(...arguments);this.beanName="colNames"}getDisplayNameForColumn($,z,Q=!1){if(!$)return null;let J=this.getHeaderName($.getColDef(),$,null,null,z),{aggColNameSvc:Z}=this.beans;if(Q&&Z)return Z.getHeaderName($,J);return J}getDisplayNameForProvidedColumnGroup($,z,Q){let J=z?.getColGroupDef();if(J)return this.getHeaderName(J,null,$,z,Q);return null}getDisplayNameForColumnGroup($,z){return this.getDisplayNameForProvidedColumnGroup($,$.getProvidedColumnGroup(),z)}getHeaderName($,z,Q,J,Z){let X=$.headerValueGetter;if(X){let Y=y(this.gos,{colDef:$,column:z,columnGroup:Q,providedColumnGroup:J,location:Z});if(typeof X==="function")return X(Y);else if(typeof X==="string")return this.beans.expressionSvc?.evaluate(X,Y)??null;return""}else if($.headerName!=null)return $.headerName;else if($.field)return xY($.field);return""}},qW=class extends S{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($){this.visibleCols=$.visibleCols,this.colModel=$.colModel}postConstruct(){this.suppressColumnVirtualisation=this.gos.get("suppressColumnVirtualisation")}getScrollPosition(){return this.scrollPosition}setScrollPosition($,z,Q=!1){let{visibleCols:J}=this,Z=J.isBodyWidthDirty;if($===this.scrollWidth&&z===this.scrollPosition&&!Z)return;if(this.scrollWidth=$,this.scrollPosition=z,J.isBodyWidthDirty=!0,this.gos.get("enableRtl")){let Y=J.bodyWidth;this.viewportLeft=Y-z-$,this.viewportRight=Y-z}else this.viewportLeft=z,this.viewportRight=$+z;if(this.colModel.ready)this.checkViewportColumns(Q)}getColumnHeadersToRender($){switch($){case"left":return this.columnsToRenderLeft;case"right":return this.columnsToRenderRight;default:return this.columnsToRenderCenter}}getHeadersToRender($,z){let Q;switch($){case"left":Q=this.rowsOfHeadersToRenderLeft[z];break;case"right":Q=this.rowsOfHeadersToRenderRight[z];break;default:Q=this.rowsOfHeadersToRenderCenter[z];break}return Q??[]}extractViewportColumns(){let $=this.visibleCols.centerCols;if(this.isColumnVirtualisationSuppressed())this.colsWithinViewport=$,this.headerColsWithinViewport=$;else this.colsWithinViewport=$.filter(this.isColumnInRowViewport.bind(this)),this.headerColsWithinViewport=$.filter(this.isColumnInHeaderViewport.bind(this))}isColumnVirtualisationSuppressed(){return this.suppressColumnVirtualisation||this.viewportRight===0}clear(){this.rowsOfHeadersToRenderLeft={},this.rowsOfHeadersToRenderRight={},this.rowsOfHeadersToRenderCenter={},this.colsWithinViewportHash=""}isColumnInHeaderViewport($){if($.isAutoHeaderHeight()||GW($))return!0;return this.isColumnInRowViewport($)}isColumnInRowViewport($){if($.isAutoHeight())return!0;let z=$.getLeft()||0,Q=z+$.getActualWidth(),J=this.viewportLeft-200,Z=this.viewportRight+200,X=z<J&&Q<J,Y=z>Z&&Q>Z;return!X&&!Y}getViewportColumns(){let{leftCols:$,rightCols:z}=this.visibleCols;return this.colsWithinViewport.concat($).concat(z)}getColsWithinViewport($){if(!this.colModel.colSpanActive)return this.colsWithinViewport;let z=(X)=>{let Y=X.getLeft();return T(Y)&&Y>this.viewportLeft},Q=this.isColumnVirtualisationSuppressed()?void 0:this.isColumnInRowViewport.bind(this),{visibleCols:J}=this,Z=J.centerCols;return J.getColsForRow($,Z,Q,z)}checkViewportColumns($=!1){if(this.extractViewport())this.eventSvc.dispatchEvent({type:"virtualColumnsChanged",afterScroll:$})}calculateHeaderRows(){let{leftCols:$,rightCols:z}=this.visibleCols;this.columnsToRenderLeft=$,this.columnsToRenderRight=z,this.columnsToRenderCenter=this.colsWithinViewport;let Q=(J)=>{let Z=new Set,X={};for(let Y of J){let q=Y.getParent(),G=Y.isSpanHeaderHeight();while(q){if(Z.has(q))break;if(G&&q.isPadding()){q=q.getParent();continue}let H=q.getProvidedColumnGroup().getLevel();X[H]??(X[H]=[]),X[H].push(q),Z.add(q),q=q.getParent()}}return X};this.rowsOfHeadersToRenderLeft=Q($),this.rowsOfHeadersToRenderRight=Q(z),this.rowsOfHeadersToRenderCenter=Q(this.headerColsWithinViewport)}extractViewport(){let $=(J)=>`${J.getId()}-${J.getPinned()||"normal"}`;this.extractViewportColumns();let z=this.getViewportColumns().map($).join("#"),Q=this.colsWithinViewportHash!==z;if(Q)this.colsWithinViewportHash=z,this.calculateHeaderRows();return Q}};function GW($){while($){if($.isAutoHeaderHeight())return!0;$=$.getParent()}return!1}var _W=class extends S{constructor(){super(...arguments);this.beanName="agCompUtils"}adaptFunction($,z){if(!$.cellRenderer)return null;class Q{refresh(){return!1}getGui(){return this.eGui}init(J){let Z=z(J),X=typeof Z;if(X==="string"||X==="number"||X==="boolean"){this.eGui=v2("<span>"+Z+"</span>");return}if(Z==null){this.eGui=J0({tag:"span"});return}this.eGui=Z}}return Q}},HW={moduleName:"CellRendererFunction",version:p,beans:[_W]},UW=class extends R0{constructor(){super(...arguments);this.beanName="registry"}registerDynamicBeans($){if($){this.dynamicBeans??(this.dynamicBeans={});for(let z of Object.keys($))this.dynamicBeans[z]=$[z]}}createDynamicBean($,z,...Q){if(!this.dynamicBeans)throw Error(this.getDynamicError($,!0));let J=this.dynamicBeans[$];if(J==null){if(z)throw Error(this.getDynamicError($,!1));return}return new J(...Q)}};function WW($){return typeof $==="object"&&!!$.getComp}var BW=class extends UW{constructor(){super(...arguments);this.agGridDefaults={},this.agGridDefaultOverrides={},this.jsComps={},this.selectors={},this.icons={}}postConstruct(){let $=this.gos.get("components");if($!=null)for(let z of Object.keys($))this.jsComps[z]=$[z]}registerModule($){let{icons:z,userComponents:Q,dynamicBeans:J,selectors:Z}=$;if(Q){let X=(Y,q,G,_)=>{if(this.agGridDefaults[Y]=q,G||_)this.agGridDefaultOverrides[Y]={params:G,processParams:_}};for(let Y of Object.keys(Q)){let q=Q[Y];if(WW(q))q=q.getComp(this.beans);if(typeof q==="object"){let{classImp:G,params:_,processParams:H}=q;X(Y,G,_,H)}else X(Y,q)}}this.registerDynamicBeans(J);for(let X of Z??[])this.selectors[X.selector]=X;if(z)for(let X of Object.keys(z))this.icons[X]=z[X]}getUserComponent($,z){let Q=(q,G,_,H)=>({componentFromFramework:G,component:q,params:_,processParams:H}),{frameworkOverrides:J}=this.beans,Z=J.frameworkComponent(z,this.gos.get("components"));if(Z!=null)return Q(Z,!0);let X=this.jsComps[z];if(X){let q=J.isFrameworkComponent(X);return Q(X,q)}let Y=this.agGridDefaults[z];if(Y){let q=this.agGridDefaultOverrides[z];return Q(Y,!1,q?.params,q?.processParams)}return this.beans.validation?.missingUserComponent($,z,this.agGridDefaults,this.jsComps),null}getSelector($){return this.selectors[$]}getIcon($){return this.icons[$]}getDynamicError($,z){if(z)return $$(279,{name:$});return this.beans.validation?.missingDynamicBean($)??$$(256)}},EW=23,KW=class extends S{constructor(){super(...arguments);this.beanName="ctrlsSvc",this.params={},this.ready=!1,this.readyCallbacks=[]}postConstruct(){this.addEventListener("ready",()=>{if(this.updateReady(),this.ready){for(let $ of this.readyCallbacks)$(this.params);this.readyCallbacks.length=0}},this.beans.frameworkOverrides.runWhenReadyAsync?.()??!1)}updateReady(){let $=Object.values(this.params);this.ready=$.length===EW&&$.every((z)=>{return z?.isAlive()??!1})}whenReady($,z){if(this.ready)z(this.params);else this.readyCallbacks.push(z);$.addDestroyFunc(()=>{let Q=this.readyCallbacks.indexOf(z);if(Q>=0)this.readyCallbacks.splice(Q,1)})}register($,z){if(this.params[$]=z,this.updateReady(),this.ready)this.dispatchLocalEvent({type:"ready"});z.addDestroyFunc(()=>{this.updateReady()})}get($){return this.params[$]}getGridBodyCtrl(){return this.params.gridBodyCtrl}getHeaderRowContainerCtrls(){let{leftHeader:$,centerHeader:z,rightHeader:Q}=this.params;return[$,Q,z]}getHeaderRowContainerCtrl($){let z=this.params;switch($){case"left":return z.leftHeader;case"right":return z.rightHeader;default:return z.centerHeader}}getScrollFeature(){return this.getGridBodyCtrl().scrollFeature}},LW=':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}',F4=typeof window!=="object"||!window?.document?.fonts?.forEach,UJ=!1,Nz=($,z,Q,J,Z,X,Y=!1)=>{if(F4||UJ)return;if(J)$=`@layer ${CSS.escape(J).replaceAll("\\.",".")} { ${$} }`;let q=R$.map.get(z);if(!q)q=[],R$.map.set(z,q);if(q.some((U)=>U.css===$))return;let G=document.createElement("style");if(X)G.setAttribute("nonce",X);G.dataset.agCss=Q,G.dataset.agCssVersion=p,G.textContent=$;let _={css:$,el:G,priority:Z,isParams:Y},H;for(let U of q){if(U.priority>Z)break;H=U}if(H){H.el.after(G);let U=q.indexOf(H);q.splice(U+1,0,_)}else{if(z.nodeName==="STYLE")z.after(G);else z.insertBefore(G,z.querySelector(":not(title, meta)"));q.push(_)}},R8=($,z,Q,J)=>{Nz(LW,$,"shared",z,0,Q),J?.forEach((Z,X)=>Z.forEach((Y)=>Nz(Y,$,X,z,0,Q)))},DW=($,z,Q,J,Z,X)=>{if(F4||UJ)return;let Y=R$.grids.get($);if(!Y)R$.grids.set($,{styleContainer:J,paramsCss:z});else Y.paramsCss=z;if(B2(J),z&&Q)Nz(z,J,Q,Z,2,X,!0)},FW=($)=>{let z=R$.grids.get($)?.styleContainer;if(!z)return;if(R$.grids.delete($),Array.from(R$.grids.values()).some((J)=>J.styleContainer===z))B2(z);else B2(z,!0),R$.map.delete(z)},B2=($,z=!1)=>{let Q=new Set;for(let Z of R$.grids.values())if(Z.styleContainer===$)Q.add(Z.paramsCss);let J=R$.map.get($)??[];for(let Z=J.length-1;Z>=0;Z--)if(z||J[Z].isParams&&!Q.has(J[Z].css))J[Z].el.remove(),J.splice(Z,1)},j8=()=>{let $=globalThis.agStyleInjectionVersions??(globalThis.agStyleInjectionVersions=new Map),z=$.get(p);if(!z)z={map:new WeakMap,grids:new Map,paramsId:0},$.set(p,z);return z},R$=j8(),D$=($)=>{return new f8($)},o$="$default",MW=0,f8=class{constructor({feature:$,params:z,modeParams:Q={},css:J,cssImports:Z}){this.feature=$,this.css=J,this.cssImports=Z,this.modeParams={[o$]:{...Q[o$]??{},...z??{}},...Q}}use($,z,Q){let J=this._inject;if(J==null){let{css:Z}=this;if(Z){let X=`ag-theme-${this.feature??"part"}-${++MW}`;if(typeof Z==="function")Z=Z();Z=`:where(.${X}) {
${Z}
}
`;for(let Y of this.cssImports??[])Z=`@import url(${JSON.stringify(Y)});
${Z}`;J={css:Z,class:X}}else J=!1;this._inject=J}if(J&&$)Nz(J.css,$,J.class,z,1,Q);return J?J.class:!1}},kW=($)=>$.replace(/[A-Z]|\d+/g,(z)=>`-${z}`).toLowerCase(),M4=($)=>`--ag-${kW($)}`,v$=($)=>`var(${M4($)})`,VW=($,z,Q)=>Math.max(z,Math.min(Q,$)),AW=($)=>{let z=new Map;return(Q)=>{let J=Q;if(!z.has(J))z.set(J,$(Q));return z.get(J)}},A$=($)=>({ref:"accentColor",mix:$}),s0=($)=>({ref:"foregroundColor",mix:$}),o0=($)=>({ref:"foregroundColor",mix:$,onto:"backgroundColor"}),SW=($)=>({ref:"foregroundColor",mix:$,onto:"headerBackgroundColor"}),x0={ref:"backgroundColor"},Tz={ref:"foregroundColor"},S$={ref:"accentColor"},WJ={backgroundColor:"#fff",foregroundColor:"#181d1f",borderColor:s0(0.15),chromeBackgroundColor:o0(0.02),browserColorScheme:"light"},RW={...WJ,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:A$(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:S$,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:s0(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:s0(0.2)},menuBackgroundColor:o0(0.03),menuTextColor:o0(0.95),menuShadow:{ref:"popupShadow"},menuSeparatorColor:{ref:"borderColor"}},jW=["colorScheme","color","length","scale","borderStyle","border","shadow","image","fontFamily","fontWeight","duration"],fW=AW(($)=>{return $=$.toLowerCase(),jW.find((z)=>$.endsWith(z.toLowerCase()))??"length"}),pJ=($)=>{if(typeof $==="object"&&$?.ref)return v$($.ref);if(typeof $==="string")return $;if(typeof $==="number")return String($);return!1},k4=($)=>{if(typeof $==="string")return $;if(typeof $==="object"&&$&&"ref"in $){let z=v$($.ref);if($.mix==null)return z;return`color-mix(in srgb, ${$.onto?v$($.onto):"transparent"}, ${z} ${VW($.mix*100,0,100)}%)`}return!1},OW=pJ,XQ=($)=>{if(typeof $==="string")return $;if(typeof $==="number")return`${$}px`;if(typeof $==="object"&&$&&"calc"in $)return`calc(${$.calc.replace(/ ?[*/+] ?/g," $& ").replace(/-?\b[a-z][a-z0-9]*\b(?![-(])/gi,(Q)=>Q[0]==="-"?Q:" "+v$(Q)+" ")})`;if(typeof $==="object"&&$&&"ref"in $)return v$($.ref);return!1},PW=pJ,E2=($,z)=>{if(typeof $==="string")return $;if($===!0)return E2({},z);if($===!1)return z==="columnBorder"?E2({color:"transparent"},z):"none";if(typeof $==="object"&&$&&"ref"in $)return v$($.ref);return O8($.style??"solid")+" "+XQ($.width??{ref:"borderWidth"})+" "+k4($.color??{ref:"borderColor"})},h5=($)=>{return[XQ($.offsetX??0),XQ($.offsetY??0),XQ($.radius??0),XQ($.spread??0),k4($.color??{ref:"foregroundColor"}),...$.inset?["inset"]:[]].join(" ")},TW=($)=>{if(typeof $==="string")return $;if($===!1)return"none";if(typeof $==="object"&&$&&"ref"in $)return v$($.ref);if(Array.isArray($))return $.map(h5).join(", ");return h5($)},O8=pJ,P8=($)=>{if(typeof $==="string")return $.includes(",")?$:u5($);if(typeof $==="object"&&$&&"googleFont"in $)return P8($.googleFont);if(typeof $==="object"&&$&&"ref"in $)return v$($.ref);if(Array.isArray($))return $.map((z)=>{if(typeof z==="object"&&"googleFont"in z)z=z.googleFont;return u5(z)}).join(", ");return!1},u5=($)=>/^[\w-]+$|\w\(/.test($)?$:JSON.stringify($),vW=pJ,T8=($)=>{if(typeof $==="string")return $;if(typeof $==="object"&&$&&"url"in $)return`url(${JSON.stringify($.url)})`;if(typeof $==="object"&&$&&"svg"in $)return T8({url:`data:image/svg+xml,${encodeURIComponent($.svg)}`});if(typeof $==="object"&&$&&"ref"in $)return v$($.ref);return!1},IW=($,z,Q)=>{if(typeof $==="string")return $;if(typeof $==="number"){if($>=10)Q?.warn(104,{value:$,param:z});return`${$}s`}if(typeof $==="object"&&$&&"ref"in $)return v$($.ref);return!1},CW={color:k4,colorScheme:OW,length:XQ,scale:PW,border:E2,borderStyle:O8,shadow:TW,image:T8,fontFamily:P8,fontWeight:vW,duration:IW},bW=($,z,Q)=>{let J=fW($);return CW[J](z,$,Q)};var yW=($,z)=>new v8({themeLogger:$,overridePrefix:z}),v8=class ${constructor(z,Q=[]){this.params=z,this.parts=Q}withPart(z){if(typeof z==="function")z=z();if(!(z instanceof f8))return this.params.themeLogger.preInitErr(259,"Invalid part",{part:z}),this;return new $(this.params,[...this.parts,z])}withoutPart(z){return this.withPart(D$({feature:z}))}withParams(z,Q=o$){return this.withPart(D$({modeParams:{[Q]:z}}))}_startUse({styleContainer:z,cssLayer:Q,nonce:J,loadThemeGoogleFonts:Z,moduleCss:X}){if(F4)return;if(UJ)return;wW(),R8(z,Q,J,X);let Y=xW(this);if(Y.length>0){for(let q of Y)if(Z)NW(q,J)}for(let q of this.parts)q.use(z,Q,J)}_getCssClass(){if(UJ)return"ag-theme-quartz";return this._cssClassCache??(this._cssClassCache=m5(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-${++j8().paramsId}`)}_getModeParams(){let z=this._paramsCache;if(!z){let Q={[o$]:{...RW}};for(let J of m5(this.parts))for(let Z of Object.keys(J.modeParams)){let X=J.modeParams[Z];if(X){let Y=Q[Z]??(Q[Z]={}),q=new Set;for(let G of Object.keys(X)){let _=X[G];if(_!==void 0)Y[G]=_,q.add(G)}if(Z===o$)for(let G of Object.keys(Q)){let _=Q[G];if(G!==o$)for(let H of q)delete _[H]}}}this._paramsCache=z=Q}return z}_getParamsCss(){if(!this._paramsCssCache){let z="",Q="",J=this._getModeParams(),{overridePrefix:Z,themeLogger:X}=this.params,Y=Z?`--ag-${Z}-`:void 0;for(let _ of Object.keys(J)){let H=J[_];if(_!==o$){let W=`:where([data-ag-theme-mode="${typeof CSS==="object"?CSS.escape(_):_}"]) & {
`;z+=W,Q+=W}for(let U of Object.keys(H).sort()){let W=H[U],B=bW(U,W,X);if(B===!1)X.error(107,{key:U,value:W});else{let E=M4(U),K=Y?E.replace("--ag-",Y):E,L=E.replace("--ag-","--ag-inherited-");z+=` ${E}: var(${L}, ${B});
`,Q+=` ${L}: var(${K});
`}}if(_!==o$)z+=`}
`,Q+=`}
`}let q=`:where(.${this._getParamsClassName()})`,G=`${q} {
${z}}
`;G+=`:has(> ${q}):not(${q}) {
${Q}}
`,this._paramsCssCache=G}return this._paramsCssCache}},m5=($)=>{let z=new Map;for(let J of $)z.set(J.feature,J);let Q=[];for(let J of $)if(!J.feature||z.get(J.feature)===J)Q.push(J);return Q},xW=($)=>{let z=new Set,Q=(X)=>{if(Array.isArray(X))X.forEach(Q);else{let Y=X?.googleFont;if(typeof Y==="string")z.add(Y)}};return Object.values($._getModeParams()).flatMap((X)=>Object.values(X)).forEach(Q),Array.from(z).sort()},c5=!1,wW=()=>{if(c5)return;c5=!0;for(let $ of Array.from(document.head.querySelectorAll('style[data-ag-scope="legacy"]')))$.remove()},NW=async($,z)=>{let Q=`@import url('https://${gW}/css2?family=${encodeURIComponent($)}:wght@100;200;300;400;500;600;700;800;900&display=swap');
`;Nz(Q,document.head,`googleFont:${$}`,void 0,0,z)},gW="fonts.googleapis.com",p5={changeKey:"listItemHeight",type:"length",defaultValue:24},hW=class extends R0{constructor(){super(...arguments);this.beanName="environment",this.sizeEls=new Map,this.lastKnownValues=new Map,this.sizesMeasured=!1,this.globalCSS=[]}wireBeans($){this.eRootDiv=$.eRootDiv}postConstruct(){let{gos:$,eRootDiv:z}=this;$.setInstanceDomData(z);let Q=$.get("themeStyleContainer"),J=typeof ShadowRoot<"u",Z=J&&z.getRootNode()instanceof ShadowRoot;if(this.eStyleContainer=(typeof Q==="function"?Q():Q)??(Z?z:document.head),!Q&&!Z&&J)uW(z,this.shadowRootError.bind(this),this.addDestroyFunc.bind(this));this.cssLayer=$.get("themeCssLayer"),this.styleNonce=$.get("styleNonce"),this.addManagedPropertyListener("theme",()=>this.handleThemeChange()),this.handleThemeChange(),this.getSizeEl(p5),this.initVariables(),this.addDestroyFunc(()=>FW(this)),this.mutationObserver=new MutationObserver(()=>{this.fireStylesChangedEvent("theme")}),this.addDestroyFunc(()=>this.mutationObserver.disconnect())}applyThemeClasses($,z=[]){let{theme:Q}=this,J=Q?Q._getCssClass():this.applyLegacyThemeClasses();for(let Z of Array.from($.classList))if(Z.startsWith("ag-theme-"))$.classList.remove(Z);if(J){let Z=$.className;$.className=`${Z}${Z?" ":""}${J}${z?.length?" "+z.join(" "):""}`}}applyLegacyThemeClasses(){let $="";this.mutationObserver.disconnect();let z=this.eRootDiv;while(z){let Q=!1;for(let J of Array.from(z.classList))if(J.startsWith("ag-theme-"))Q=!0,$=$?`${$} ${J}`:J;if(Q)this.mutationObserver.observe(z,{attributes:!0,attributeFilter:["class"]});z=z.parentElement}return $}addGlobalCSS($,z){if(this.theme)Nz($,this.eStyleContainer,z,this.cssLayer,0,this.styleNonce);else this.globalCSS.push([$,z])}getDefaultListItemHeight(){return this.getCSSVariablePixelValue(p5)}getCSSVariablePixelValue($){let z=this.lastKnownValues.get($);if(z!=null)return z;let Q=this.measureSizeEl($);if(Q==="detached"||Q==="no-styles"){if($.cacheDefault)this.lastKnownValues.set($,$.defaultValue);return $.defaultValue}return this.lastKnownValues.set($,Q),Q}measureSizeEl($){let z=this.getSizeEl($);if(z.offsetParent==null)return"detached";let Q=z.offsetWidth;if(Q===nZ)return"no-styles";return this.sizesMeasured=!0,Q}getMeasurementContainer(){let $=this.eMeasurementContainer;if(!$)$=this.eMeasurementContainer=K0({tag:"div",cls:"ag-measurement-container"}),this.eRootDiv.appendChild($);return $}getSizeEl($){let z=this.sizeEls.get($);if(z)return z;let Q=this.getMeasurementContainer();z=K0({tag:"div"});let J=this.setSizeElStyles(z,$);Q.appendChild(z),this.sizeEls.set($,z);let{type:Z,noWarn:X}=$;if(Z!=="length"&&Z!=="border")return z;let Y=this.measureSizeEl($);if(Y==="no-styles"&&!X)this.varError(J,$.defaultValue);let q=F$(this.beans,z,()=>{let G=this.measureSizeEl($);if(G==="detached"||G==="no-styles")return;if(this.lastKnownValues.set($,G),G!==Y)Y=G,this.fireStylesChangedEvent($.changeKey)});return this.addDestroyFunc(()=>q()),z}setSizeElStyles($,z){let{changeKey:Q,type:J}=z,Z=M4(Q);if(J==="border"){if(Z.endsWith("-width"))Z=Z.slice(0,-6);$.className="ag-measurement-element-border",$.style.setProperty("--ag-internal-measurement-border",`var(${Z}, solid ${nZ}px)`)}else $.style.width=`var(${Z}, ${nZ}px)`;return Z}handleThemeChange(){let{gos:$,theme:z}=this,Q=$.get("theme"),J;if(Q==="legacy")J=void 0;else{let Z=Q??this.getDefaultTheme();if(Z instanceof v8)J=Z;else this.themeError(Z)}if(J!==z)this.handleNewTheme(J);this.postProcessThemeChange(J,Q)}handleNewTheme($){let{gos:z,eRootDiv:Q,globalCSS:J}=this,Z=this.getAdditionalCss();if($){R8(this.eStyleContainer,this.cssLayer,this.styleNonce,Z);for(let[X,Y]of J)Nz(X,this.eStyleContainer,Y,this.cssLayer,0,this.styleNonce);J.length=0}this.theme=$,$?._startUse({loadThemeGoogleFonts:z.get("loadThemeGoogleFonts"),styleContainer:this.eStyleContainer,cssLayer:this.cssLayer,nonce:this.styleNonce,moduleCss:Z}),DW(this,$?._getParamsCss()??null,$?._getParamsClassName()??null,this.eStyleContainer,this.cssLayer,this.styleNonce),this.applyThemeClasses(Q),this.fireStylesChangedEvent("theme")}fireStylesChangedEvent($){this.eventSvc.dispatchEvent({type:"stylesChanged",[`${$}Changed`]:!0})}},nZ=15538,uW=($,z,Q)=>{let J=60,Z=setInterval(()=>{if(typeof ShadowRoot<"u"&&$.getRootNode()instanceof ShadowRoot)z(),clearInterval(Z);if($.isConnected||--J<0)clearInterval(Z)},1000);Q(()=>clearInterval(Z))},mW=".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)}}",cW={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:S$,rangeSelectionBackgroundColor:A$(0.2),rangeSelectionChartBackgroundColor:"#0058FF1A",rangeSelectionChartCategoryBackgroundColor:"#00FF841A",rangeSelectionHighlightColor:A$(0.5),rangeHeaderHighlightColor:SW(0.08),rowNumbersSelectedColor:A$(0.5),rowHoverColor:A$(0.08),columnHoverColor:A$(0.05),selectedRowBackgroundColor:A$(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:s0(0.7),headerColumnResizeHandleHeight:"30%",headerColumnResizeHandleWidth:2,headerColumnResizeHandleColor:{ref:"borderColor"},iconButtonColor:{ref:"iconColor"},iconButtonBackgroundColor:"transparent",iconButtonBackgroundSpread:4,iconButtonBorderRadius:1,iconButtonHoverColor:{ref:"iconButtonColor"},iconButtonHoverBackgroundColor:s0(0.1),iconButtonActiveColor:S$,iconButtonActiveBackgroundColor:A$(0.28),iconButtonActiveIndicatorColor:S$,setFilterIndentSize:{ref:"iconSize"},chartMenuPanelWidth:260,chartMenuLabelColor:s0(0.8),cellEditingBorder:{color:S$},cellEditingShadow:{ref:"cardShadow"},fullRowEditInvalidBackgroundColor:{ref:"invalidColor",onto:"backgroundColor",mix:0.25},columnSelectIndentSize:{ref:"iconSize"},toolPanelSeparatorBorder:!0,columnDropCellBackgroundColor:s0(0.07),columnDropCellTextColor:{ref:"textColor"},columnDropCellDragHandleColor:{ref:"textColor"},columnDropCellBorder:{color:s0(0.13)},selectCellBackgroundColor:s0(0.07),selectCellBorder:{color:s0(0.13)},advancedFilterBuilderButtonBarBorder:!0,advancedFilterBuilderIndentSize:{calc:"spacing * 2 + iconSize"},advancedFilterBuilderJoinPillColor:"#f08e8d",advancedFilterBuilderColumnPillColor:"#a6e194",advancedFilterBuilderOptionPillColor:"#f3c08b",advancedFilterBuilderValuePillColor:"#85c0e4",filterPanelApplyButtonColor:x0,filterPanelApplyButtonBackgroundColor:S$,columnPanelApplyButtonColor:x0,columnPanelApplyButtonBackgroundColor:S$,filterPanelCardSubtleColor:{ref:"textColor",mix:0.7},filterPanelCardSubtleHoverColor:{ref:"textColor"},findMatchColor:Tz,findMatchBackgroundColor:"#ffff00",findActiveMatchColor:Tz,findActiveMatchBackgroundColor:"#ffa500",filterToolPanelGroupIndent:{ref:"spacing"},rowLoadingSkeletonEffectColor:s0(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},pW=".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)}",I8={cellBatchEditBackgroundColor:"rgba(220 181 139 / 16%)",cellBatchEditTextColor:"#422f00",rowBatchEditBackgroundColor:{ref:"cellBatchEditBackgroundColor"},rowBatchEditTextColor:{ref:"cellBatchEditTextColor"}},iW={...I8,cellBatchEditTextColor:"#f3d0b3"},nW=()=>D$({feature:"batchEditStyle",params:I8,css:pW}),dW=nW(),tW=":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)}",sW={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 rW=()=>D$({feature:"buttonStyle",params:{...sW,buttonBackgroundColor:x0,buttonBorder:!0,buttonHoverBackgroundColor:{ref:"rowHoverColor"},buttonActiveBorder:{color:S$}},css:tW}),lW=rW();var aW=".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 oW=()=>{return D$({feature:"columnDropStyle",css:aW})},C8=oW();var eW={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"}}},$B=()=>D$({feature:"formulaStyle",params:eW}),zB=$B(),QB={warn:(...$)=>{j($[0],$[1])},error:(...$)=>{e($[0],$[1])},preInitErr:(...$)=>{yQ($[0],$[2],$[1])}},JB=()=>yW(QB).withParams(cW).withPart(lW).withPart(C8).withPart(dW).withPart(zB),ZB='.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)}}',XB=()=>D$({feature:"checkboxStyle",params:{checkboxBorderWidth:1,checkboxBorderRadius:{ref:"borderRadius"},checkboxUncheckedBackgroundColor:x0,checkboxUncheckedBorderColor:o0(0.3),checkboxCheckedBackgroundColor:S$,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:ZB}),YB=XB();var b8=()=>({...WJ,...iW,backgroundColor:"hsl(217, 0%, 17%)",foregroundColor:"#FFF",chromeBackgroundColor:o0(0.05),rowHoverColor:A$(0.15),selectedRowBackgroundColor:A$(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 qB=()=>({...b8(),backgroundColor:"#1f2836"});var GB=()=>D$({feature:"colorScheme",params:WJ,modeParams:{light:WJ,dark:b8(),"dark-blue":qB()}}),_B=GB();var y8={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"/>'},x8={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>'},HB=($={})=>{let z="";for(let Q of[...Object.keys(y8),...Object.keys(x8)]){let J=UB(Q,$.strokeWidth);z+=`.ag-icon-${Q}::before { mask-image: url('data:image/svg+xml,${encodeURIComponent(J)}'); }
`}return z},UB=($,z=1.5)=>{let Q=x8[$];if(Q)return Q;let J=y8[$];if(!J)throw Error(`Missing icon data for ${$}`);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>`+J+"</svg>"},w8=($={})=>{return D$({feature:"iconSet",css:()=>HB($)})},N8=w8({strokeWidth:1}),WB=w8();var BB=":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)}}",EB=".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 KB={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 LB=()=>D$({feature:"inputStyle",params:{...KB,inputBackgroundColor:x0,inputBorder:!0,inputBorderRadius:{ref:"borderRadius"},inputPaddingStart:{ref:"spacing"},inputFocusBorder:{color:S$},inputFocusShadow:{ref:"focusShadow"},inputDisabledBackgroundColor:o0(0.06),inputDisabledTextColor:{ref:"textColor",mix:0.5},inputInvalidBorder:{color:{ref:"invalidColor"}},pickerButtonBorder:!0,pickerListBorder:!0},css:()=>BB+EB}),DB=LB();var FB=".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 MB={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 kB=()=>D$({feature:"tabStyle",params:{...MB,tabBarBorder:!0,tabBarBackgroundColor:s0(0.05),tabTextColor:{ref:"textColor",mix:0.7},tabSelectedTextColor:{ref:"textColor"},tabHoverTextColor:{ref:"textColor"},tabSelectedBorderColor:{ref:"borderColor"},tabSelectedBackgroundColor:x0},css:FB}),VB=kB();var AB=()=>({fontFamily:[{googleFont:"IBM Plex Sans"},"-apple-system","BlinkMacSystemFont","Segoe UI","Roboto","Oxygen-Sans","Ubuntu"]}),SB=()=>JB().withPart(YB).withPart(_B).withPart(WB).withPart(VB).withPart(DB).withPart(C8).withParams(AB()),V4=SB();var Ez=($,z,Q,J,Z)=>({changeKey:$,type:z,defaultValue:Q,noWarn:J,cacheDefault:Z}),RB=Ez("cellHorizontalPadding","length",16),jB=Ez("indentationLevel","length",0,!0,!0),fB=Ez("rowGroupIndentSize","length",0),i5=Ez("rowHeight","length",42),n5=Ez("headerHeight","length",48),dZ=Ez("rowBorderWidth","border",1),d5=Ez("pinnedRowBorderWidth","border",1),OB=Ez("headerRowBorderWidth","border",1);function PB($,z){for(let Q of z.sort((J,Z)=>J.moduleName.localeCompare(Z.moduleName))){let J=Q.css;if(J)$.set(`module-${Q.moduleName}`,J)}}var TB=class extends hW{initVariables(){this.addManagedPropertyListener("rowHeight",()=>this.refreshRowHeightVariable()),this.getSizeEl(i5),this.getSizeEl(n5),this.getSizeEl(dZ),this.getSizeEl(d5),this.refreshRowBorderWidthVariable()}getPinnedRowBorderWidth(){return this.getCSSVariablePixelValue(d5)}getRowBorderWidth(){return this.getCSSVariablePixelValue(dZ)}getHeaderRowBorderWidth(){return this.getCSSVariablePixelValue(OB)}getDefaultRowHeight(){return this.getCSSVariablePixelValue(i5)}getDefaultHeaderHeight(){return this.getCSSVariablePixelValue(n5)}getDefaultCellHorizontalPadding(){return this.getCSSVariablePixelValue(RB)}getCellPaddingLeft(){let $=this.getDefaultCellHorizontalPadding(),z=this.getCSSVariablePixelValue(jB),Q=this.getCSSVariablePixelValue(fB);return $-1+Q*z}getCellPadding(){let $=this.getDefaultCellHorizontalPadding()-1;return this.getCellPaddingLeft()+$}getDefaultColumnMinWidth(){return Math.min(36,this.getDefaultRowHeight())}refreshRowHeightVariable(){let{eRootDiv:$}=this,z=$.style.getPropertyValue("--ag-line-height").trim(),Q=this.gos.get("rowHeight");if(Q==null||isNaN(Q)||!isFinite(Q)){if(z!==null)$.style.setProperty("--ag-line-height",null);return-1}let J=`${Q}px`;if(z!=J)return $.style.setProperty("--ag-line-height",J),Q;return z!=""?Number.parseFloat(z):-1}fireStylesChangedEvent($){if($==="rowBorderWidth")this.refreshRowBorderWidthVariable();super.fireStylesChangedEvent($)}refreshRowBorderWidthVariable(){let $=this.getCSSVariablePixelValue(dZ);this.eRootDiv.style.setProperty("--ag-internal-row-border-width",`${$}px`)}postProcessThemeChange($,z){if($&&getComputedStyle(this.getMeasurementContainer()).getPropertyValue("--ag-legacy-styles-loaded"))if(z)e(106);else e(239)}getAdditionalCss(){let $=new Map;return $.set("core",[mW]),PB($,Array.from(Rq())),$}getDefaultTheme(){return V4}varError($,z){j(9,{variable:{cssName:$,defaultValue:z}})}themeError($){e(240,{theme:$})}shadowRootError(){e(293)}},vB=class extends R0{constructor(){super(...arguments);this.beanName="eventSvc",this.eventServiceType="global",this.globalSvc=new K$}addListener($,z,Q){this.globalSvc.addEventListener($,z,Q)}removeListener($,z,Q){this.globalSvc.removeEventListener($,z,Q)}addGlobalListener($,z=!1){this.globalSvc.addGlobalListener($,z)}removeGlobalListener($,z=!1){this.globalSvc.removeGlobalListener($,z)}dispatchEvent($){this.globalSvc.dispatchEvent(this.gos.addCommon($))}dispatchEventOnce($){this.globalSvc.dispatchEventOnce(this.gos.addCommon($))}},IB=class extends vB{postConstruct(){let{globalListener:$,globalSyncListener:z}=this.beans;if($)this.addGlobalListener($,!0);if(z)this.addGlobalListener(z,!1)}};function K2($,z,Q){let J=$.visibleCols.headerGroupRowCount;if(Q>=J)return{column:z,headerRowIndex:Q};let Z=z.getParent();while(Z&&Z.getProvidedColumnGroup().getLevel()>Q)Z=Z.getParent();let X=z.isSpanHeaderHeight();if(!Z||X&&Z.isPadding())return{column:z,headerRowIndex:J};return{column:Z,headerRowIndex:Z.getProvidedColumnGroup().getLevel()}}var CB=class extends S{constructor(){super(...arguments);this.beanName="headerNavigation",this.currentHeaderRowWithoutSpan=-1}postConstruct(){let $=this.beans;$.ctrlsSvc.whenReady(this,(Q)=>{this.gridBodyCon=Q.gridBodyCtrl});let z=Y0($);this.addManagedElementListeners(z,{mousedown:()=>{this.currentHeaderRowWithoutSpan=-1}})}getHeaderPositionForColumn($,z){let Q,{colModel:J,colGroupSvc:Z,ctrlsSvc:X}=this.beans;if(typeof $==="string"){if(Q=J.getCol($),!Q)Q=Z?.getColumnGroup($)??null}else Q=$;if(!Q)return null;let q=X.getHeaderRowContainerCtrl()?.getAllCtrls(),G=b(q||[]).type==="filter",_=l0(this.beans)-1,H=-1,U=Q;while(U)H++,U=U.getParent();let W=H;if(z&&G&&W===_-1)W++;return W===-1?null:{headerRowIndex:W,column:Q}}navigateVertically($,z){let{focusSvc:Q,visibleCols:J}=this.beans,{focusedHeader:Z}=Q;if(!Z)return!1;let{headerRowIndex:X}=Z,Y=Z.column,q=l0(this.beans),G=this.getHeaderRowType(X),_=J.headerGroupRowCount,{headerRowIndex:H,column:U,headerRowIndexWithoutSpan:W}=$==="UP"?bB(G,Y,X):yB(Y,X,_),B=!1;if(H<0)H=0,U=Y,B=!0;if(H>=q)H=-1,this.currentHeaderRowWithoutSpan=-1;else if(W!==void 0)this.currentHeaderRowWithoutSpan=W;if(!B&&!U)return!1;return Q.focusHeaderPosition({headerPosition:{headerRowIndex:H,column:U},allowUserOverride:!0,event:z})}navigateHorizontally($,z=!1,Q){let{focusSvc:J,gos:Z}=this.beans,X={...J.focusedHeader},Y,q;if(this.currentHeaderRowWithoutSpan!==-1)X.headerRowIndex=this.currentHeaderRowWithoutSpan;else this.currentHeaderRowWithoutSpan=X.headerRowIndex;if($==="LEFT"!==Z.get("enableRtl"))q="Before",Y=this.findHeader(X,q);else q="After",Y=this.findHeader(X,q);let G=Z.getCallback("tabToNextHeader");if(z&&G){let _=J.focusHeaderPositionFromUserFunc({userFunc:G,headerPosition:Y,direction:q});if(_){let{headerRowIndex:H}=J.focusedHeader||{};if(H!=null&&H!=X.headerRowIndex)this.currentHeaderRowWithoutSpan=H}return _}if(Y||!z)return J.focusHeaderPosition({headerPosition:Y,direction:q,fromTab:z,allowUserOverride:!0,event:Q});return this.focusNextHeaderRow(X,q,Q)}focusNextHeaderRow($,z,Q){let J=this.beans,Z=$.headerRowIndex,X=null,Y,q=l0(J),G=this.beans.visibleCols.allCols;if(z==="Before"){if(Z<=0)return!1;X=b(G),Y=Z-1,this.currentHeaderRowWithoutSpan-=1}else if(X=G[0],Y=Z+1,this.currentHeaderRowWithoutSpan<q)this.currentHeaderRowWithoutSpan+=1;else this.currentHeaderRowWithoutSpan=-1;let{column:_,headerRowIndex:H}=K2(this.beans,X,Y);if(H>=q)H=-1;return J.focusSvc.focusHeaderPosition({headerPosition:{column:_,headerRowIndex:H},direction:z,fromTab:!0,allowUserOverride:!0,event:Q})}scrollToColumn($,z="After"){if($.getPinned())return;let Q;if(H0($)){let J=$.getDisplayedLeafColumns();Q=z==="Before"?b(J):J[0]}else Q=$;this.gridBodyCon.scrollFeature.ensureColumnVisible(Q)}findHeader($,z){let{colGroupSvc:Q,visibleCols:J}=this.beans,Z=$.column;if(Z instanceof aQ){let G=Z.getDisplayedLeafColumns();Z=z==="Before"?G[0]:G[G.length-1]}let X=z==="Before"?J.getColBefore(Z):J.getColAfter(Z);if(!X)return;let Y=J.headerGroupRowCount;if($.headerRowIndex>=Y)return{headerRowIndex:$.headerRowIndex,column:X};let q=Q?.getColGroupAtLevel(X,$.headerRowIndex);if(!q)return{headerRowIndex:X instanceof q$&&X.isSpanHeaderHeight()?J.headerGroupRowCount:$.headerRowIndex,column:X};if(q.isPadding()&&X.isSpanHeaderHeight())return{headerRowIndex:J.headerGroupRowCount,column:X};return{headerRowIndex:$.headerRowIndex,column:q??X}}getHeaderRowType($){let z=this.beans.ctrlsSvc.getHeaderRowContainerCtrl();if(z)return z.getRowType($)}};function bB($,z,Q){let J=Q-1;if($!=="filter"){let Z=z instanceof q$&&z.isSpanHeaderHeight(),X=z.getParent();while(X&&(X.getProvidedColumnGroup().getLevel()>J||Z&&X.isPadding()))X=X.getParent();if(X)if(Z)return{column:X,headerRowIndex:X.getProvidedColumnGroup().getLevel(),headerRowIndexWithoutSpan:J};else return{column:X,headerRowIndex:J,headerRowIndexWithoutSpan:J}}return{column:z,headerRowIndex:J,headerRowIndexWithoutSpan:J}}function yB($,z,Q){let J=z+1,Z={column:$,headerRowIndex:J,headerRowIndexWithoutSpan:J};if($ instanceof aQ){if(J>=Q)return{column:$.getDisplayedLeafColumns()[0],headerRowIndex:Q,headerRowIndexWithoutSpan:J};let Y=$.getDisplayedChildren()[0];if(Y instanceof aQ&&Y.isPadding()){let G=Y.getDisplayedLeafColumns()[0];if(G.isSpanHeaderHeight())Y=G}if(Z.column=Y,Y instanceof q$&&Y.isSpanHeaderHeight())Z.headerRowIndex=Q,Z.headerRowIndexWithoutSpan=J}return Z}var xB=class extends S{constructor(){super(...arguments);this.beanName="focusSvc",this.focusFallbackTimeout=null,this.needsFocusRestored=!1}wireBeans($){this.colModel=$.colModel,this.visibleCols=$.visibleCols,this.rowRenderer=$.rowRenderer,this.navigation=$.navigation,this.filterManager=$.filterManager,this.overlays=$.overlays}postConstruct(){let $=this.clearFocusedCell.bind(this);this.addManagedEventListeners({columnPivotModeChanged:$,newColumnsLoaded:this.onColumnEverythingChanged.bind(this),columnGroupOpened:$,columnRowGroupChanged:$}),this.addDestroyFunc(cG(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 $=this.focusedCell.column,z=this.colModel.getCol($.getId());if($!==z)this.clearFocusedCell()}getFocusCellToUseAfterRefresh(){let{gos:$,focusedCell:z}=this;if($.get("suppressFocusAfterRefresh")||$.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),s7))return null;return this.focusedHeader}doesRowOrCellHaveBrowserFocus(){let $=d(this.beans);if(this.isDomDataPresentInHierarchy($,_J,!0))return!0;return this.isDomDataPresentInHierarchy($,HJ,!0)}isDomDataPresentInHierarchy($,z,Q){let J=$;while(J){let Z=X7(this.gos,J,z);if(Z){if(Z.destroyed&&Q)return this.attemptToRecoverFocus(),!1;return!0}J=J.parentNode}return!1}getFocusedCell(){return this.focusedCell}getFocusEventParams($){let{rowIndex:z,rowPinned:Q,column:J}=$,Z={rowIndex:z,rowPinned:Q,column:J,isFullWidthCell:!1},X=this.rowRenderer.getRowByPosition({rowIndex:z,rowPinned:Q});if(X)Z.isFullWidthCell=X.isFullWidth();return Z}clearFocusedCell(){if(this.focusedCell==null)return;let $=this.getFocusEventParams(this.focusedCell);this.focusedCell=null,this.eventSvc.dispatchEvent({type:"cellFocusCleared",...$})}setFocusedCell($){this.setFocusRecovered();let{column:z,rowIndex:Q,rowPinned:J,forceBrowserFocus:Z=!1,preventScrollOnBrowserFocus:X=!1,sourceEvent:Y}=$,q=this.colModel.getCol(z);if(!q){this.focusedCell=null;return}this.focusedCell={rowIndex:Q,rowPinned:j$(J),column:q};let G=this.getFocusEventParams(this.focusedCell);this.eventSvc.dispatchEvent({type:"cellFocused",...G,...this.previousCellFocusParams&&{previousParams:this.previousCellFocusParams},forceBrowserFocus:Z,preventScrollOnBrowserFocus:X,sourceEvent:Y}),this.previousCellFocusParams=G}isCellFocused($){if(this.focusedCell==null)return!1;return AQ($,this.focusedCell)}isHeaderWrapperFocused($){if(this.focusedHeader==null)return!1;let{column:z,rowCtrl:{rowIndex:Q,pinned:J}}=$,{column:Z,headerRowIndex:X}=this.focusedHeader;return z===Z&&Q===X&&J==Z.getPinned()}focusHeaderPosition($){if(this.setFocusRecovered(),H$(this.beans))return!1;let{direction:z,fromTab:Q,allowUserOverride:J,event:Z,fromCell:X,rowWithoutSpanValue:Y,scroll:q=!0}=$,{headerPosition:G}=$;if(X&&this.filterManager?.isAdvFilterHeaderActive())return this.focusAdvancedFilter(G);if(J){let _=this.focusedHeader,H=l0(this.beans);if(Q){let U=this.gos.getCallback("tabToNextHeader");if(U)G=this.getHeaderPositionFromUserFunc({userFunc:U,direction:z,currentPosition:_,headerPosition:G,headerRowCount:H})}else{let U=this.gos.getCallback("navigateToNextHeader");if(U&&Z){let W={key:Z.key,previousHeaderPosition:_,nextHeaderPosition:G,headerRowCount:H,event:Z},B=U(W);G=B===null?_:B}}}if(!G)return!1;return this.focusProvidedHeaderPosition({headerPosition:G,direction:z,event:Z,fromCell:X,rowWithoutSpanValue:Y,scroll:q})}focusHeaderPositionFromUserFunc($){if(H$(this.beans))return!1;let{userFunc:z,headerPosition:Q,direction:J,event:Z}=$,X=this.focusedHeader,Y=l0(this.beans),q=this.getHeaderPositionFromUserFunc({userFunc:z,direction:J,currentPosition:X,headerPosition:Q,headerRowCount:Y});return!!q&&this.focusProvidedHeaderPosition({headerPosition:q,direction:J,event:Z})}getHeaderPositionFromUserFunc($){let{userFunc:z,direction:Q,currentPosition:J,headerPosition:Z,headerRowCount:X}=$,q=z({backwards:Q==="Before",previousHeaderPosition:J,nextHeaderPosition:Z,headerRowCount:X});if(q===!0)return J;if(q===!1)return null;return q}focusProvidedHeaderPosition($){let{headerPosition:z,direction:Q,fromCell:J,rowWithoutSpanValue:Z,event:X,scroll:Y=!0}=$,{column:q,headerRowIndex:G}=z,{filterManager:_,ctrlsSvc:H,headerNavigation:U}=this.beans;if(this.focusedHeader&&B_($.headerPosition,this.focusedHeader))return!1;if(G===-1){if(_?.isAdvFilterHeaderActive())return this.focusAdvancedFilter(z);return this.focusGridView({column:q,event:X})}if(Y)U?.scrollToColumn(q,Q);let B=H.getHeaderRowContainerCtrl(q.getPinned())?.focusHeader(z.headerRowIndex,q,X)||!1;if(U&&B&&(Z!=null||J))U.currentHeaderRowWithoutSpan=Z??-1;return B}focusFirstHeader(){if(this.overlays?.exclusive&&this.focusOverlay())return!0;let $=this.visibleCols.allCols[0];if(!$)return!1;let z=K2(this.beans,$,0);return this.focusHeaderPosition({headerPosition:z,rowWithoutSpanValue:0})}focusLastHeader($){if(this.overlays?.exclusive&&this.focusOverlay(!0))return!0;let z=l0(this.beans)-1,Q=b(this.visibleCols.allCols);return this.focusHeaderPosition({headerPosition:{headerRowIndex:z,column:Q},rowWithoutSpanValue:-1,event:$})}focusPreviousFromFirstCell($){if(this.filterManager?.isAdvFilterHeaderActive())return this.focusAdvancedFilter(null);return this.focusLastHeader($)}isAnyCellFocused(){return!!this.focusedCell}isRowFocused($,z){if(this.focusedCell==null)return!1;return this.focusedCell.rowIndex===$&&this.focusedCell.rowPinned===j$(z)}focusOverlay($){let z=this.overlays?.isVisible()&&this.overlays.eWrapper?.getGui();return!!z&&F0(z,$)}getDefaultTabToNextGridContainerTarget($){let{backwards:z,focusableContainers:Q}=$,J=z?-1:1,Z,X=()=>{if(Z===void 0)Z=this.getGridBodyTabTarget(z);return Z};for(let Y=$.nextIndex;Y>=0&&Y<Q.length;Y+=J){let q=G_(Q[Y],X);if(q)return q}return null}getGridBodyTabTarget($){if($)return this.getGridViewTabTarget({column:b(this.visibleCols.allCols),backwards:!0});let z=this.visibleCols.allCols[0];if(this.gos.get("headerHeight")===0||H$(this.beans))return this.getGridViewTabTarget({column:z});if(!z)return null;return K2(this.beans,z,0)}getGridViewTabTarget($){let{backwards:z=!1}=$,Q=$.column??this.focusedHeader?.column;if(!Q)return null;if(this.overlays?.exclusive)return null;if(GJ(this.beans))return z&&!H$(this.beans)?{headerRowIndex:l0(this.beans)-1,column:Q}:null;let J=z?qz(this.beans):KQ(this.beans);if(J?.rowIndex==null){if(this.overlays?.isVisible())return null;if(z&&!H$(this.beans)){let X=b(this.visibleCols.allCols);if(X)return{headerRowIndex:l0(this.beans)-1,column:X}}return null}let Z=M0(this.beans,J);if(!Z||Q.isSuppressNavigable(Z))return null;if(z){if(this.rowRenderer.getRowByPosition(J)?.isFullWidth())return null}return{rowIndex:J.rowIndex,rowPinned:J.rowPinned,column:Q}}focusGridView($){let{backwards:z=!1,canFocusOverlay:Q=!0,event:J}=$;if(this.overlays?.exclusive)return Q&&this.focusOverlay(z);if(GJ(this.beans)){if(z){if(!H$(this.beans))return this.focusLastHeader()}if(Q&&this.focusOverlay(z))return!0;if(z)return!1;return Z$(this.beans,z)}let Z=z?qz(this.beans):KQ(this.beans);if(Z){let X=$.column??this.focusedHeader?.column,{rowIndex:Y,rowPinned:q}=Z,G=M0(this.beans,Z);if(!X||!G||Y==null)return!1;if(X.isSuppressNavigable(G)){let _=this.gos.get("enableRtl"),H;if(!J||J.key===A.TAB)H=_?A.LEFT:A.RIGHT;else H=J.key;return this.beans.navigation?.navigateToNextCell(null,H,{rowIndex:Y,column:X,rowPinned:q||null},!0),!0}if(this.navigation?.ensureCellVisible({rowIndex:Y,column:X,rowPinned:q}),z){if(this.rowRenderer.getRowByPosition(Z)?.isFullWidth()&&this.navigation?.tryToFocusFullWidthRow(Z,z))return!0}if(this.setFocusedCell({rowIndex:Y,column:X,rowPinned:j$(q),forceBrowserFocus:!0}),!v0(X))this.beans.rangeSvc?.setRangeToCell({rowIndex:Y,rowPinned:q,column:X});return!0}if(Q&&this.focusOverlay(z))return!0;if(z&&this.focusLastHeader())return!0;return!1}focusAdvancedFilter($){return this.advFilterFocusColumn=$?.column,this.beans.advancedFilter?.getCtrl().focusHeaderComp()??!1}focusNextFromAdvancedFilter($,z){let Q=(z?void 0:this.advFilterFocusColumn)??this.visibleCols.allCols?.[0];if($)return this.focusHeaderPosition({headerPosition:{column:Q,headerRowIndex:l0(this.beans)-1}});return this.focusGridView({column:Q})}clearAdvancedFilterColumn(){this.advFilterFocusColumn=void 0}},wB=class extends S{constructor(){super(...arguments);this.beanName="scrollVisibleSvc"}wireBeans($){this.ctrlsSvc=$.ctrlsSvc,this.colAnimation=$.colAnimation}postConstruct(){let{gos:$}=this;this.horizontalScrollShowing=$.get("alwaysShowHorizontalScroll")===!0,this.verticalScrollShowing=$.get("alwaysShowVerticalScroll")===!0,this.getScrollbarWidth();let z=this.updateScrollVisible.bind(this);this.addManagedEventListeners({displayedColumnsChanged:z,displayedColumnsWidthChanged:z,newColumnsLoaded:z})}updateScrollVisible(){let{colAnimation:$}=this;if($?.isActive())$.executeLaterVMTurn(()=>{$.executeLaterVMTurn(()=>this.updateScrollVisibleImpl())});else this.updateScrollVisibleImpl()}updateScrollVisibleImpl(){let $=this.ctrlsSvc.get("center");if(!$||this.colAnimation?.isActive())return;let z={horizontalScrollShowing:$.isHorizontalScrollShowing(),verticalScrollShowing:this.verticalScrollShowing};this.setScrollsVisible(z),this.updateScrollGap()}updateScrollGap(){let $=this.ctrlsSvc.get("center"),z=$.hasHorizontalScrollGap(),Q=$.hasVerticalScrollGap();if(this.horizontalScrollGap!==z||this.verticalScrollGap!==Q)this.horizontalScrollGap=z,this.verticalScrollGap=Q,this.eventSvc.dispatchEvent({type:"scrollGapChanged"})}setScrollsVisible($){if(this.horizontalScrollShowing!==$.horizontalScrollShowing||this.verticalScrollShowing!==$.verticalScrollShowing)this.horizontalScrollShowing=$.horizontalScrollShowing,this.verticalScrollShowing=$.verticalScrollShowing,this.eventSvc.dispatchEvent({type:"scrollVisibilityChanged"})}getScrollbarWidth(){if(this.scrollbarWidth==null){let $=this.gos.get("scrollbarWidth"),Q=typeof $==="number"&&$>=0?$:r2();if(Q!=null)this.scrollbarWidth=Q,this.eventSvc.dispatchEvent({type:"scrollbarWidthChanged"})}return this.scrollbarWidth}},NB=class extends S{constructor(){super(...arguments);this.beanName="gridDestroySvc",this.destroyCalled=!1}destroy(){if(this.destroyCalled)return;let{stateSvc:$,ctrlsSvc:z,context:Q}=this.beans;this.eventSvc.dispatchEvent({type:"gridPreDestroyed",state:$?.getState()??{}}),this.destroyCalled=!0,z.get("gridCtrl")?.destroyGridUi(),Q.destroy(),super.destroy()}},gB=["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 l1=new Set(["gridPreDestroyed","fillStart","pasteStart"]),A4=gB.reduce(($,z)=>{return $[z]=pq(z),$},{}),BQ={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 t5($){return`"${$}"`}var hB=()=>({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."}}),uB={allowFormula:"Formula",aggFunc:"SharedAggregation",autoHeight:"RowAutoHeight",cellClass:"CellStyle",cellClassRules:"CellStyle",cellEditor:({cellEditor:$,editable:z,groupRowEditable:Q})=>{if(!(!!z||!!Q))return null;if(typeof $==="string")return BQ[$]??"CustomEditor";return"CustomEditor"},cellRenderer:({cellRenderer:$})=>{if(typeof $!=="string")return null;return BQ[$]},cellStyle:"CellStyle",columnChooserParams:"ColumnMenu",contextMenuItems:"ContextMenu",dndSource:"DragAndDrop",dndSourceOnRowDrag:"DragAndDrop",editable:({editable:$,cellEditor:z})=>{if($&&!z)return"TextEditor";return null},groupRowEditable:({groupRowEditable:$,cellEditor:z})=>{if(!$)return null;return z?"RowGroupingEdit":["RowGroupingEdit","TextEditor"]},groupRowValueSetter:({groupRowValueSetter:$})=>$?"RowGroupingEdit":null,enableCellChangeFlash:"HighlightChanges",enablePivot:"SharedPivot",enableRowGroup:"SharedRowGrouping",enableValue:"SharedAggregation",filter:({filter:$})=>{if($&&typeof $!=="string"&&typeof $!=="boolean")return"CustomFilter";if(typeof $==="string")return BQ[$]??"ColumnFilter";return"ColumnFilter"},floatingFilter:"ColumnFilter",getQuickFilterText:"QuickFilter",headerTooltip:"Tooltip",headerTooltipValueGetter:"Tooltip",mainMenuItems:"ColumnMenu",menuTabs:($)=>{let z=["columnsMenuTab","generalMenuTab"];if($.menuTabs?.some((Q)=>z.includes(Q)))return"ColumnMenu";return null},pivot:"SharedPivot",pivotIndex:"SharedPivot",rowDrag:"RowDrag",rowGroup:"SharedRowGrouping",rowGroupIndex:"SharedRowGrouping",tooltipField:"Tooltip",tooltipValueGetter:"Tooltip",tooltipComponentSelector:"Tooltip",spanRows:"CellSpan",groupHierarchy:"SharedRowGrouping"},mB=()=>{return{autoHeight:{supportedRowModels:["clientSide","serverSide"],validate:(z,{paginationAutoPageSize:Q})=>{if(Q)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,Q)=>{if(Q.autoSizeStrategy)return"colDef.flex is not supported with gridOptions.autoSizeStrategy";return null}},headerCheckboxSelection:{supportedRowModels:["clientSide","serverSide"],validate:(z,{rowSelection:Q})=>Q==="multiple"?null:"headerCheckboxSelection is only supported with rowSelection=multiple"},headerCheckboxSelectionCurrentPageOnly:{supportedRowModels:["clientSide"],validate:(z,{rowSelection:Q})=>Q==="multiple"?null:"headerCheckboxSelectionCurrentPageOnly is only supported with rowSelection=multiple"},headerCheckboxSelectionFilteredOnly:{supportedRowModels:["clientSide"],validate:(z,{rowSelection:Q})=>Q==="multiple"?null:"headerCheckboxSelectionFilteredOnly is only supported with rowSelection=multiple"},headerValueGetter:{validate:(z)=>{let Q=z.headerValueGetter;if(typeof Q==="function"||typeof Q==="string")return null;return"headerValueGetter must be a function or a valid string expression"}},icons:{validate:({icons:z})=>{if(z){if(z.smallDown)return $$(262);if(z.smallLeft)return $$(263);if(z.smallRight)return $$(264)}return null}},sort:{validate:(z)=>{if(UQ(z.sort)||Zz(z.sort))return null;return`sort must be of type (SortDirection | SortDef), currently it is ${typeof z.sort==="object"?JSON.stringify(z.sort):n1(z.sort)}`}},initialSort:{validate:(z)=>{if(UQ(z.initialSort)||Zz(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):n1(z.initialSort)}`}},sortingOrder:{validate:(z)=>{let Q=z.sortingOrder;if(Array.isArray(Q)&&Q.length>0){let J=Q.filter((Z)=>{return!(UQ(Z)||Zz(Z))});if(J.length>0)return`sortingOrder must be an array of type non-null (SortDirection | SortDef)[], incorrect items are: [${J.map((Z)=>typeof Z==="string"||Z==null?n1(Z):JSON.stringify(Z)).join(", ")}]`}else if(!Array.isArray(Q)||!Q.length)return`sortingOrder must be an array with at least one element, currently it is [${Q}]`;return null}},type:{validate:(z)=>{let Q=z.type;if(Q instanceof Array){if(Q.some((Z)=>typeof Z!=="string"))return"if colDef.type is supplied an array it should be of type 'string[]'";return null}if(typeof Q==="string")return null;return"colDef.type should be of type 'string' | 'string[]'"}},rowSpan:{validate:(z,{suppressRowTransform:Q})=>{if(!Q)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:Q,cellSelection:J,suppressRowTransform:Z,enableCellSpan:X,rowDragEntireRow:Y,enableCellTextSelection:q})=>{if(typeof Q==="object"){if(Q?.mode==="singleRow"&&Q?.enableClickSelection)return"colDef.spanRows is not supported with rowSelection.clickSelection"}if(J)return"colDef.spanRows is not supported with cellSelection.";if(Z)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(q)return"colDef.spanRows is not supported with enableCellTextSelection.";return null}},groupHierarchy:{validate(z,{groupHierarchyConfig:Q={}},J){let Z=new Set(["year","quarter","month","formattedMonth","day","hour","minute","second"]),X=[];for(let Y of z.groupHierarchy??[]){if(typeof Y==="object"){J.validation?.validateColDef(Y);continue}if(!Z.has(Y)&&!(Y in Q))X.push(t5(Y))}if(X.length>0){let Y=`The following parts of colDef.groupHierarchy are not recognised: ${X.join(", ")}.`,q=`Choose one of ${[...Z].map(t5).join(", ")}, or define your own parts in gridOptions.groupHierarchyConfig.`;return`${Y}
${q}`}return null}}}},cB={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},pB=()=>Object.keys(cB),iB=()=>({objectName:"colDef",allProperties:pB(),docsUrl:"column-properties/",deprecations:hB(),validations:mB()}),nB=["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"],dB=["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"],tB=["sortingOrder","alignedGrids","rowData","columnDefs","excelStyles","pinnedTopRowData","pinnedBottomRowData","chartThemes","rowClass","paginationPageSizeSelector","suppressOverlays"],g8=["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"],sB=["theme","rowSelection"],rB=["cellSelection","sideBar","rowNumbers","suppressGroupChangesColumnVisibility","groupAggFiltering","suppressStickyTotalRow","groupHideParentOfSingleChild","enableRowPinning"],h8=["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"],lB=["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"],aB=()=>[...tB,...dB,...nB,...g8,...lB,...h8,...rB,...sB];var oB=()=>({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 V$($,z,Q){if(typeof z==="number"||z==null){if(z==null)return null;return z>=Q?null:`${$}: value should be greater than or equal to ${Q}`}return`${$}: value should be a number`}var eB={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"},$E=()=>{let $={autoSizePadding:{validate({autoSizePadding:Q}){return V$("autoSizePadding",Q,0)}},cacheBlockSize:{supportedRowModels:["serverSide","infinite"],validate({cacheBlockSize:Q}){return V$("cacheBlockSize",Q,1)}},cacheOverflowSize:{validate({cacheOverflowSize:Q}){return V$("cacheOverflowSize",Q,1)}},datasource:{supportedRowModels:["infinite"]},domLayout:{validate:(Q)=>{let J=Q.domLayout,Z=["autoHeight","normal","print"];if(J&&!Z.includes(J))return`domLayout must be one of [${Z.join()}], currently it's ${J}`;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:Q,pinnedTopRowData:J,pinnedBottomRowData:Z}){if(Q&&(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:Q,isRowPinnable:J,pinnedTopRowData:Z,pinnedBottomRowData:X}){if(J&&(Z||X))return"Manual row pinning cannot be used together with pinned row data. Either remove `isRowPinnable`, or remove `pinnedTopRowData` and `pinnedBottomRowData`.";if(!Q&&J)return"`isRowPinnable` requires `enableRowPinning` to be set.";return null}},isRowPinned:{supportedRowModels:["clientSide"],validate({enableRowPinning:Q,isRowPinned:J,pinnedTopRowData:Z,pinnedBottomRowData:X}){if(J&&(Z||X))return"Manual row pinning cannot be used together with pinned row data. Either remove `isRowPinned`, or remove `pinnedTopRowData` and `pinnedBottomRowData`.";if(!Q&&J)return"`isRowPinned` requires `enableRowPinning` to be set.";return null}},groupDefaultExpanded:{supportedRowModels:["clientSide"]},groupHideColumnsUntilExpanded:{supportedRowModels:["clientSide"],validate({groupHideColumnsUntilExpanded:Q,groupHideOpenParents:J,groupDisplayType:Z}){if(Q&&!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:Q={}},J,Z){for(let X of Object.keys(Q))Z.validation?.validateColDef(Q[X]);return null}},icons:{validate:({icons:Q})=>{if(Q){if(Q.smallDown)return $$(262);if(Q.smallLeft)return $$(263);if(Q.smallRight)return $$(264)}return null}},infiniteInitialRowCount:{validate({infiniteInitialRowCount:Q}){return V$("infiniteInitialRowCount",Q,1)}},initialGroupOrderComparator:{supportedRowModels:["clientSide"]},ssrmExpandAllAffectsAllRows:{validate:(Q)=>{if(typeof Q.ssrmExpandAllAffectsAllRows==="boolean"){if(Q.rowModelType!=="serverSide")return"'ssrmExpandAllAffectsAllRows' is only supported with the Server Side Row Model.";if(Q.ssrmExpandAllAffectsAllRows&&typeof Q.getRowId!=="function")return"'getRowId' callback must be provided for Server Side Row Model grouping to work correctly."}return null}},keepDetailRowsCount:{validate({keepDetailRowsCount:Q}){return V$("keepDetailRowsCount",Q,1)}},paginationPageSize:{validate({paginationPageSize:Q}){return V$("paginationPageSize",Q,1)}},paginationPageSizeSelector:{validate:(Q)=>{let J=Q.paginationPageSizeSelector;if(typeof J==="boolean"||J==null)return null;if(!J.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:Q}){return V$("rowBuffer",Q,0)}},rowClass:{validate:(Q)=>{if(typeof Q.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:Q}){if(Q&&typeof Q==="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(Q&&typeof Q!=="object")return"Expected `RowSelectionOptions` object for the `rowSelection` property.";if(Q&&Q.mode!=="multiRow"&&Q.mode!=="singleRow")return`Selection mode "${Q.mode}" is invalid. Use one of 'singleRow' or 'multiRow'.`;return null}},rowStyle:{validate:(Q)=>{let J=Q.rowStyle;if(J&&typeof J==="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:Q}){return V$("serverSideInitialRowCount",Q,1)}},serverSideOnlyRefreshFilteredGroups:{supportedRowModels:["serverSide"]},serverSideSortAllLevels:{supportedRowModels:["serverSide"]},sortingOrder:{validate:(Q)=>{let J=Q.sortingOrder;if(Array.isArray(J)&&J.length>0){let Z=J.filter((X)=>!a0(X));if(Z.length>0)return`sortingOrder must be an array of type (SortDirection | SortDef)[], incorrect items are: ${Z.map((X)=>typeof X==="string"||X==null?n1(X):JSON.stringify(X))}]`}else if(!Array.isArray(J)||!J.length)return`sortingOrder must be an array with at least one element, currently it's ${J}`;return null}},tooltipHideDelay:{validate:(Q)=>{if(Q.tooltipHideDelay&&Q.tooltipHideDelay<0)return"tooltipHideDelay should not be lower than 0";return null}},tooltipShowDelay:{validate:(Q)=>{if(Q.tooltipShowDelay&&Q.tooltipShowDelay<0)return"tooltipShowDelay should not be lower than 0";return null}},tooltipSwitchShowDelay:{validate:(Q)=>{if(Q.tooltipSwitchShowDelay&&Q.tooltipSwitchShowDelay<0)return"tooltipSwitchShowDelay should not be lower than 0";return null}},treeData:{supportedRowModels:["clientSide","serverSide"],validate:(Q)=>{let J=Q.rowModelType??"clientSide";switch(J){case"clientSide":{let{treeDataChildrenField:Z,treeDataParentIdField:X,getDataPath:Y,getRowId:q}=Q;if(!Z&&!X&&!Y)return"treeData requires either 'treeDataChildrenField' or 'treeDataParentIdField' or 'getDataPath' in the clientSide row model.";if(Z){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(!q)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 Z=`treeData requires 'isServerSideGroup' and 'getServerSideGroupKey' in the ${J} row model.`;return Q.isServerSideGroup&&Q.getServerSideGroupKey?null:Z}}return null}},viewportDatasource:{supportedRowModels:["viewport"]},viewportRowModelBufferSize:{validate({viewportRowModelBufferSize:Q}){return V$("viewportRowModelBufferSize",Q,0)}},viewportRowModelPageSize:{validate({viewportRowModelPageSize:Q}){return V$("viewportRowModelPageSize",Q,1)}},rowDragEntireRow:{dependencies:{cellSelection:{required:[void 0]}}},autoGroupColumnDef:{validate({autoGroupColumnDef:Q,showOpenedGroup:J}){if(Q?.field&&J)return"autoGroupColumnDef.field and showOpenedGroup are not supported when used together.";if(Q?.valueGetter&&J)return"autoGroupColumnDef.valueGetter and showOpenedGroup are not supported when used together.";return null}},renderingMode:{validate:(Q)=>{let J=Q.renderingMode,Z=["default","legacy"];if(J&&!Z.includes(J))return`renderingMode must be one of [${Z.join()}], currently it's ${J}`;return null}},autoSizeStrategy:{validate:({autoSizeStrategy:Q})=>{if(!Q)return null;let J=["fitCellContents","fitGridWidth","fitProvidedWidth"],Z=Q.type;if(Z!=="fitCellContents"&&Z!=="fitGridWidth"&&Z!=="fitProvidedWidth")return`Invalid Auto-size strategy. \`autoSizeStrategy\` must be one of ${J.map((X)=>'"'+X+'"').join(", ")}, currently it's ${Z}`;if(Z==="fitProvidedWidth"&&typeof Q.width!="number")return`When using the 'fitProvidedWidth' auto-size strategy, must provide a numeric \`width\`. You provided ${Q.width}`;return null}}},z={};for(let Q of h8)z[Q]={expectedType:"boolean"};for(let Q of g8)z[Q]={expectedType:"number"};return B0(z,$),z},zE=()=>({objectName:"gridOptions",allProperties:[...aB(),...Object.values(A4)],propertyExceptions:["api"],docsUrl:"grid-options/",deprecations:oB(),validations:$E()}),QE=0,JE=0,s5="__ag_grid_instance",ZE=class extends S{constructor(){super(...arguments);this.beanName="gos",this.domDataKey="__AG_"+Math.random().toString(),this.instanceId=JE++,this.gridReadyFired=!1,this.queueEvents=[],this.propEventSvc=new K$,this.globalEventHandlerFactory=($)=>{return(z,Q)=>{if(!this.isAlive())return;let J=l1.has(z);if(J&&!$||!J&&$)return;if(!XE(z))return;let Z=(X,Y)=>{let q=A4[X],G=this.gridOptions[q];if(typeof G==="function")this.beans.frameworkOverrides.wrapOutgoing(()=>G(Y))};if(this.gridReadyFired)Z(z,Q);else if(z==="gridReady"){Z(z,Q),this.gridReadyFired=!0;for(let X of this.queueEvents)Z(X.eventName,X.event);this.queueEvents=[]}else this.queueEvents.push({eventName:z,event:Q})}}}wireBeans($){this.gridOptions=$.gridOptions,this.validation=$.validation,this.api=$.gridApi,this.gridId=$.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:$})=>{this.updateGridOptions({options:$,force:!0,source:"optionsUpdated"})}})}destroy(){super.destroy(),this.queueEvents=[]}get($){return this.gridOptions[$]??Dq[$]}getCallback($){return this.mergeGridCommonParams(this.gridOptions[$])}exists($){return T(this.gridOptions[$])}mergeGridCommonParams($){if($)return(Q)=>{return $(this.addCommon(Q))};return $}updateGridOptions({options:$,force:z,source:Q="api"}){let J={id:QE++,properties:[]},Z=[],{gridOptions:X,validation:Y}=this;for(let q of Object.keys($)){let G=y2.applyGlobalGridOption(q,$[q]);Y?.warnOnInitialPropertyUpdate(Q,q);let _=z||typeof G==="object"&&Q==="api",H=X[q];if(_||H!==G){X[q]=G;let U={type:q,currentValue:G,previousValue:H,changeSet:J,source:Q};Z.push(U)}}this.validateGridOptions(this.gridOptions),J.properties=Z.map((q)=>q.type);for(let q of Z)dQ(this,`Updated property ${q.type} from`,q.previousValue," to ",q.currentValue),this.propEventSvc.dispatchEvent(q)}addPropertyEventListener($,z){this.propEventSvc.addEventListener($,z)}removePropertyEventListener($,z){this.propEventSvc.removeEventListener($,z)}getDomDataKey(){return this.domDataKey}addCommon($){return $.api=this.api,$.context=this.gridOptionsContext,$}validateOptions($,z){for(let Q of Object.keys($)){let J=$[Q];if(J==null||J===!1)continue;let Z=z[Q];if(typeof Z==="function")Z=Z($,this.gridOptions,this.beans);if(Z)this.assertModuleRegistered(Z,Q)}}validateGridOptions($){this.validateOptions($,eB),this.validation?.processGridOptions($)}validateColDef($,z,Q){if(Q||!this.beans.dataTypeSvc?.isColPendingInference(z))this.validateOptions($,uB),this.validation?.validateColDef($)}assertModuleRegistered($,z){let Q=Array.isArray($)?$.some((J)=>this.isModuleRegistered(J)):this.isModuleRegistered($);if(!Q)e(200,{...this.getModuleErrorParams(),moduleName:$,reasonOrId:z});return Q}getModuleErrorParams(){return{gridId:this.gridId,gridScoped:x2(),rowModelType:this.get("rowModelType"),isUmd:w2()}}isModuleRegistered($){return $2($,this.gridId,this.get("rowModelType"))}setInstanceDomData($){$[s5]=this.instanceId}isElementInThisInstance($){let z=$;while(z){let Q=z[s5];if(T(Q))return Q===this.instanceId;z=z.parentElement}return!1}};function XE($){return!!A4[$]}var YE=class extends S{constructor($,z){super();this.column=$,this.eGui=z,this.lastMovingChanged=0}postConstruct(){this.addManagedElementListeners(this.eGui,{click:($)=>$&&this.onClick($)}),this.addManagedListeners(this.column,{movingChanged:()=>{this.lastMovingChanged=Date.now()}})}onClick($){let{sortSvc:z,rangeSvc:Q,gos:J}=this.beans;if(!(Jz(J)?$.altKey:!0))Q?.handleColumnSelection(this.column,$);else if(this.column.isSortable()){let X=this.column.isMoving(),q=Date.now()-this.lastMovingChanged<50;if(!(X||q))z?.progressSortFromEvent(this.column,$)}}};function qE($,z){let Q={"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:Q},{tag:"span",ref:"eFilterButton",cls:"ag-header-icon ag-header-cell-filter-button",attrs:Q},{tag:"div",ref:"eLabel",cls:"ag-header-cell-label",role:"presentation",children:[$?{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:Q},z?{tag:"ag-sort-indicator",ref:"eSortIndicator"}:null]}]}}var GE=class extends x{constructor(){super(...arguments);this.eFilter=f,this.eFilterButton=f,this.eSortIndicator=f,this.eMenu=f,this.eLabel=f,this.eText=f,this.eColRef=f,this.eSortOrder=f,this.eSortAsc=f,this.eSortDesc=f,this.eSortMixed=f,this.eSortNone=f,this.eSortAbsoluteAsc=f,this.eSortAbsoluteDesc=f,this.isLoadingInnerComponent=!1}refresh($){let z=this.params;if(this.params=$,this.workOutTemplate($,!!this.beans?.sortSvc)!=this.currentTemplate||this.workOutShowMenu()!=this.currentShowMenu||$.enableSorting!=this.currentSort||$.column.formulaRef!=this.currentRef||this.currentSuppressMenuHide!=null&&this.shouldSuppressMenuHide()!=this.currentSuppressMenuHide||z.enableFilterButton!=$.enableFilterButton||z.enableFilterIcon!=$.enableFilterIcon)return!1;if(this.innerHeaderComponent){let Q={...$};B0(Q,$.innerHeaderComponentParams),this.innerHeaderComponent.refresh?.(Q)}else this.setDisplayName($);return!0}workOutTemplate($,z){let{formula:Q}=this.beans,J=$.template;if(J)return J?.trim?J.trim():J;return qE(!!Q?.active,z)}init($){this.params=$;let{sortSvc:z,touchSvc:Q,rowNumbersSvc:J,userCompFactory:Z}=this.beans,X=z?.getSortIndicatorSelector();if(this.currentTemplate=this.workOutTemplate($,!!X),this.setTemplate(this.currentTemplate,X?[X]:void 0),this.eLabel)this.mouseListener??(this.mouseListener=this.createManagedBean(new YE($.column,this.eLabel)));Q?.setupForHeader(this),this.setMenu(),this.setupSort(),this.setupColumnRefIndicator(),J?.setupForHeader(this),this.setupFilterIcon(),this.setupFilterButton(),this.workOutInnerHeaderComponent(Z,$),this.setDisplayName($)}workOutInnerHeaderComponent($,z){let Q=PG($,z,z);if(!Q)return;this.isLoadingInnerComponent=!0,Q.newAgStackInstance().then((J)=>{if(this.isLoadingInnerComponent=!1,!J)return;if(this.isAlive()){if(this.innerHeaderComponent=J,this.eText)this.eText.appendChild(J.getGui())}else this.destroyBean(J)})}setDisplayName($){let{displayName:z}=$,Q=this.currentDisplayName;if(this.currentDisplayName=z,!this.eText||Q===z||this.innerHeaderComponent||this.isLoadingInnerComponent)return;this.eText.textContent=J1(z)}addInIcon($,z,Q){let J=h($,this.beans,Q);if(J)z.appendChild(J)}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:$,eMenu:z,params:Q}=this,J=U0($);this.addInIcon(J?"menu":"menuAlt",z,Q.column),z.classList.toggle("ag-header-menu-icon",!J);let Z=this.shouldSuppressMenuHide();this.currentSuppressMenuHide=Z,this.addManagedElementListeners(z,{click:()=>this.showColumnMenu(this.eMenu)}),this.toggleMenuAlwaysShow(Z)}toggleMenuAlwaysShow($){this.eMenu?.classList.toggle("ag-header-menu-always-show",$)}showColumnMenu($){let{currentSuppressMenuHide:z,params:Q}=this;if(!z)this.toggleMenuAlwaysShow(!0);Q.showColumnMenu($,()=>{if(!z)this.toggleMenuAlwaysShow(!1)})}onMenuKeyboardShortcut($){let{params:z,gos:Q,beans:J,eMenu:Z,eFilterButton:X}=this,Y=z.column,q=U0(Q);if($&&!q){if(J.menuSvc?.isFilterMenuInHeaderEnabled(Y))return z.showFilter(X??Z??this.getGui()),!0}else if(z.enableMenu)return this.showColumnMenu(Z??X??this.getGui()),!0;return!1}setupSort(){let{sortSvc:$}=this.beans;if(!$)return;let{enableSorting:z,column:Q}=this.params;if(this.currentSort=z,!this.eSortIndicator){this.eSortIndicator=this.createBean($.createSortIndicator(!0));let{eSortIndicator:J,eSortOrder:Z,eSortAsc:X,eSortDesc:Y,eSortMixed:q,eSortNone:G,eSortAbsoluteAsc:_,eSortAbsoluteDesc:H}=this;J.attachCustomElements(Z,X,Y,q,G,_,H)}if(this.eSortIndicator.setupSort(Q),!this.currentSort)return;$.setupHeader(this,Q)}setupColumnRefIndicator(){let{eColRef:$,beans:{editModelSvc:z},params:Q}=this;if(!$)return;this.currentRef=Q.column.formulaRef,$.textContent=this.currentRef,N($,!1),this.addManagedEventListeners({cellEditingStarted:()=>{let J=z?.getEditPositions(),Z=!!this.currentRef&&!!J?.some((X)=>X.column.isAllowFormula());N($,Z)},cellEditingStopped:()=>{N($,!1)}})}setupFilterIcon(){let{eFilter:$,params:z}=this;if(!$)return;let Q=()=>{let J=z.column.isFilterActive();N($,J,{skipAriaHidden:!0})};this.configureFilter(z.enableFilterIcon,$,Q,"filterActive")}setupFilterButton(){let{eFilterButton:$,params:z}=this;if(!$)return;if(this.configureFilter(z.enableFilterButton,$,this.onFilterChangedButton.bind(this),"filter"))this.addManagedElementListeners($,{click:()=>z.showFilter($)});else this.eFilterButton=void 0}configureFilter($,z,Q,J){if(!$)return T0(z),!1;let Z=this.params.column;return this.addInIcon(J,z,Z),this.addManagedListeners(Z,{filterChanged:Q}),Q(),!0}onFilterChangedButton(){let $=this.params.column.isFilterActive();this.eFilterButton.classList.toggle("ag-filter-active",$)}getAnchorElementForMenu($){let{eFilterButton:z,eMenu:Q}=this;if($)return z??Q??this.getGui();return Q??z??this.getGui()}destroy(){super.destroy(),this.innerHeaderComponent=this.destroyBean(this.innerHeaderComponent),this.mouseListener=this.destroyBean(this.mouseListener)}},_E=class extends S{constructor($,z){super();this.eLabel=$,this.columnGroup=z,this.isSticky=!1,this.left=null,this.right=null}postConstruct(){let{columnGroup:$,beans:z}=this,{ctrlsSvc:Q}=z;Q.whenReady(this,()=>{let J=this.refreshPosition.bind(this);if($.getPinned()==null)this.addManagedEventListeners({bodyScroll:(Z)=>{if(Z.direction==="horizontal")this.updateSticky(Z.left)}});this.addManagedListeners($,{leftChanged:J,displayedChildrenChanged:J}),this.addManagedEventListeners({columnResized:J}),this.refreshPosition()})}refreshPosition(){let{columnGroup:$,beans:z}=this,Q=$.getLeft(),J=$.getActualWidth();if(Q==null||J===0){this.left=null,this.right=null,this.setSticky(!1);return}this.left=Q,this.right=Q+J;let Z=z.colViewport.getScrollPosition();if(Z!=null)this.updateSticky(Z)}updateSticky($){let{beans:z,left:Q,right:J}=this;if(Q==null||J==null){this.setSticky(!1);return}let{gos:Z,visibleCols:X}=z,q=Z.get("enableRtl")?X.bodyWidth-$:$;this.setSticky(Q<q&&J>q)}setSticky($){let{isSticky:z,eLabel:Q}=this;if(z===$)return;this.isSticky=$,Q.classList.toggle("ag-sticky-label",$)}},HE={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"}]},UE=class extends x{constructor(){super(HE);this.agOpened=f,this.agClosed=f,this.agLabel=f,this.isLoadingInnerComponent=!1}init($){let{userCompFactory:z,touchSvc:Q}=this.beans;this.params=$,this.checkWarnings(),this.workOutInnerHeaderGroupComponent(z,$),this.setupLabel($),this.addGroupExpandIcon($),this.setupExpandIcons(),Q?.setupForHeaderGroup(this)}checkWarnings(){if(this.params.template)j(89)}workOutInnerHeaderGroupComponent($,z){let Q=vG($,z,z);if(!Q)return;this.isLoadingInnerComponent=!0,Q.newAgStackInstance().then((J)=>{if(this.isLoadingInnerComponent=!1,!J)return;if(this.isAlive())this.innerHeaderGroupComponent=J,this.agLabel.appendChild(J.getGui());else this.destroyBean(J)})}setupExpandIcons(){let{agOpened:$,agClosed:z,params:{columnGroup:Q},beans:{colGroupSvc:J}}=this;this.addInIcon("columnGroupOpened",$),this.addInIcon("columnGroupClosed",z);let Z=(G)=>{if(z$(G))return;let _=!Q.isExpanded();J.setColumnGroupOpened(Q.getProvidedColumnGroup(),_,"uiColumnExpanded")};this.addTouchAndClickListeners(z,Z),this.addTouchAndClickListeners($,Z);let X=(G)=>{i0(G)};this.addManagedElementListeners(z,{dblclick:X}),this.addManagedElementListeners($,{dblclick:X}),this.addManagedElementListeners(this.getGui(),{dblclick:Z}),this.updateIconVisibility();let Y=Q.getProvidedColumnGroup(),q=this.updateIconVisibility.bind(this);this.addManagedListeners(Y,{expandedChanged:q,expandableChanged:q})}addTouchAndClickListeners($,z){this.beans.touchSvc?.setupForHeaderGroupElement(this,$,z),this.addManagedElementListeners($,{click:z})}updateIconVisibility(){let{agOpened:$,agClosed:z,params:{columnGroup:Q}}=this;if(Q.isExpandable()){let J=Q.isExpanded();N($,J),N(z,!J)}else N($,!1),N(z,!1)}addInIcon($,z){let Q=h($,this.beans,null);if(Q)z.appendChild(Q)}addGroupExpandIcon($){if(!$.columnGroup.isExpandable()){let{agOpened:z,agClosed:Q}=this;N(z,!1),N(Q,!1)}}setupLabel($){let{displayName:z,columnGroup:Q}=$,{innerHeaderGroupComponent:J,isLoadingInnerComponent:Z}=this,X=J||Z;if(T(z)&&!X)this.agLabel.textContent=J1(z);if(!Q.getColGroupDef()?.suppressStickyLabel)this.createManagedBean(new _E(this.getGui(),Q))}destroy(){if(super.destroy(),this.innerHeaderGroupComponent)this.destroyBean(this.innerHeaderGroupComponent),this.innerHeaderGroupComponent=void 0}},WE={moduleName:"ColumnHeaderComp",version:p,userComponents:{agColumnHeader:GE},icons:{menu:"menu",menuAlt:"menu-alt"}},BE={moduleName:"ColumnGroupHeaderComp",version:p,userComponents:{agColumnGroupHeader:UE},icons:{columnGroupOpened:"expanded",columnGroupClosed:"contracted"}},EE=class extends S{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($){if(this.scrollGoingDown=$>=this.lastScrollTop,$===0)this.scrollGoingDown=!0;this.lastScrollTop=$}postConstruct(){this.active=!this.gos.get("suppressAnimationFrame"),this.batchFrameworkComps=this.beans.frameworkOverrides.batchFrameworkComps}verify(){if(this.active===!1)j(92)}createTask($,z,Q,J,Z=!1){this.verify();let X=Q;if(J&&this.batchFrameworkComps)X="f1";let Y={task:$,index:z,createOrder:++this.taskCount,deferred:Z};this.addTaskToList(this[X],Y),this.schedule()}addTaskToList($,z){$.list.push(z),$.sorted=!1}sortTaskList($){if($.sorted)return;let z=this.scrollGoingDown?1:-1;$.list.sort((Q,J)=>{if(Q.deferred!==J.deferred)return Q.deferred?-1:1;if(Q.index!==J.index)return z*(J.index-Q.index);return J.createOrder-Q.createOrder}),$.sorted=!0}addDestroyTask($){this.verify(),this.destroyTasks.push($),this.schedule()}executeFrame($){let{p1:z,p2:Q,f1:J,destroyTasks:Z,beans:X}=this,{ctrlsSvc:Y,frameworkOverrides:q}=X,G=z.list,_=Q.list,H=J.list,U=Date.now(),W=0,B=$<=0,E=Y.getScrollFeature();while(B||W<$){if(!E.scrollGridIfNeeded()){let L;if(G.length)this.sortTaskList(z),L=G.pop().task;else if(_.length)this.sortTaskList(Q),L=_.pop().task;else if(H.length)q.wrapOutgoing(()=>{while(B||W<$){if(!E.scrollGridIfNeeded())if(H.length)this.sortTaskList(J),L=H.pop().task,L();else break;else break;W=Date.now()-U}}),L=()=>{};else if(Z.length)L=Z.pop();else break;L()}W=Date.now()-U}if(G.length||_.length||H.length||Z.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 $=this.executeFrame.bind(this,60);Y$(this.beans,$)}isQueueEmpty(){return!this.ticking}},KE={moduleName:"AnimationFrame",version:p,beans:[EE]},LE=class extends S{constructor(){super(...arguments);this.beanName="iconSvc"}createIconNoSpan($,z){return h($,this.beans,z?.column)}},DE=($,z,Q)=>z||$&&Q,FE=class extends S{constructor(){super(...arguments);this.beanName="touchSvc"}mockBodyContextMenu($,z){this.mockContextMenu($,$.eBodyViewport,z)}mockHeaderContextMenu($,z){this.mockContextMenu($,$.eGui,z)}mockRowContextMenu($){if(!bz())return;let z=(Q,J,Z)=>{let{rowCtrl:X,cellCtrl:Y}=$.getControlsForEventTarget(Z?.target??null);if(Y?.column)Y.dispatchCellContextMenuEvent(Z??null);this.beans.contextMenuSvc?.handleContextMenuMouseEvent(void 0,Z,X,Y)};this.mockContextMenu($,$.element,z)}handleCellDoubleClick($,z){if((()=>{if(!bz()||aZ("dblclick"))return!1;let J=Date.now(),Z=J-$.lastIPadMouseClickEvent<200;return $.lastIPadMouseClickEvent=J,Z})())return $.onCellDoubleClicked(z),z.preventDefault(),!0;return!1}setupForHeader($){let{gos:z,sortSvc:Q,menuSvc:J}=this.beans;if(z.get("suppressTouch"))return;let{params:Z,eMenu:X,eFilterButton:Y}=$,q=new h0($.getGui(),!0);$.addDestroyFunc(()=>q.destroy());let G=$.shouldSuppressMenuHide(),_=G&&T(X)&&Z.enableMenu,H=!!J?.isHeaderContextMenuEnabled(Z.column),U=DE(Z.enableMenu,H,U0(z)),W=q;if(_)W=new h0(X,!0),$.addDestroyFunc(()=>W.destroy());let B=(E)=>Z.showColumnMenuAfterMouseClick(E.touchStart);if(_&&Z.enableMenu)$.addManagedListeners(W,{tap:B});if(U)$.addManagedListeners(q,{longTap:B});if(Z.enableSorting){let E=(K)=>{let L=K.touchStart.target;if(G&&(X?.contains(L)||Y?.contains(L)))return;Q?.progressSort(Z.column,!1,"uiColumnSorted")};$.addManagedListeners(q,{tap:E})}if(Z.enableFilterButton&&Y){let E=new h0(Y,!0);$.addManagedListeners(E,{tap:()=>Z.showFilter(Y)}),$.addDestroyFunc(()=>E.destroy())}}setupForHeaderGroup($){let z=$.params;if(this.beans.menuSvc?.isHeaderContextMenuEnabled(z.columnGroup.getProvidedColumnGroup())){let Q=new h0(z.eGridHeader,!0),J=(Z)=>z.showColumnMenuAfterMouseClick(Z.touchStart);$.addManagedListeners(Q,{longTap:J}),$.addDestroyFunc(()=>Q.destroy())}}setupForHeaderGroupElement($,z,Q){let J=new h0(z,!0);$.addManagedListeners(J,{tap:Q}),$.addDestroyFunc(()=>J.destroy())}mockContextMenu($,z,Q){if(!bz())return;let J=new h0(z),Z=(X)=>{if(!nQ(this.beans,X.touchEvent))return;Q(void 0,X.touchStart,X.touchEvent)};$.addManagedListeners(J,{longTap:Z}),$.addDestroyFunc(()=>J.destroy())}},ME={moduleName:"Touch",version:p,beans:[FE]},kE=class extends S{constructor(){super(...arguments);this.beanName="cellNavigation"}wireBeans($){this.rowSpanSvc=$.rowSpanSvc}getNextCellToFocus($,z,Q=!1){if(Q)return this.getNextCellToFocusWithCtrlPressed($,z);return this.getNextCellToFocusWithoutCtrlPressed($,z)}getNextCellToFocusWithCtrlPressed($,z){let Q=$===A.UP,J=$===A.DOWN,Z=$===A.LEFT,X,Y,{pageBounds:q,gos:G,visibleCols:_,pinnedRowModel:H}=this.beans,{rowPinned:U}=z;if(Q||J){if(U&&H)if(Q)Y=0;else Y=U==="top"?H.getPinnedTopRowCount()-1:H.getPinnedBottomRowCount()-1;else Y=Q?q.getFirstRow():q.getLastRow();X=z.column}else{let W=G.get("enableRtl");Y=z.rowIndex,X=(Z!==W?_.allCols:[..._.allCols].reverse()).find((E)=>!v0(E)&&this.isCellGoodToFocusOn({rowIndex:Y,rowPinned:null,column:E}))}return X?{rowIndex:Y,rowPinned:U,column:X}:null}getNextCellToFocusWithoutCtrlPressed($,z){let Q=z,J=!1;while(!J){switch($){case A.UP:Q=this.getCellAbove(Q);break;case A.DOWN:Q=this.getCellBelow(Q);break;case A.RIGHT:Q=this.gos.get("enableRtl")?this.getCellToLeft(Q):this.getCellToRight(Q);break;case A.LEFT:Q=this.gos.get("enableRtl")?this.getCellToRight(Q):this.getCellToLeft(Q);break;default:Q=null,j(8,{key:$});break}if(Q)J=this.isCellGoodToFocusOn(Q);else J=!0}return Q}isCellGoodToFocusOn($){let z=$.column,Q,{pinnedRowModel:J,rowModel:Z}=this.beans;switch($.rowPinned){case"top":Q=J?.getPinnedTopRow($.rowIndex);break;case"bottom":Q=J?.getPinnedBottomRow($.rowIndex);break;default:Q=Z.getRow($.rowIndex);break}if(!Q)return!1;return!this.isSuppressNavigable(z,Q)}getCellToLeft($){if(!$)return null;let z=this.beans.visibleCols.getColBefore($.column);if(!z)return null;return{rowIndex:$.rowIndex,column:z,rowPinned:$.rowPinned}}getCellToRight($){if(!$)return null;let z=this.beans.visibleCols.getColAfter($.column);if(!z)return null;return{rowIndex:$.rowIndex,column:z,rowPinned:$.rowPinned}}getCellBelow($){if(!$)return null;let z=this.rowSpanSvc?.getCellEnd($)??$,Q=L0(this.beans,z,!0);if(Q)return{rowIndex:Q.rowIndex,column:$.column,rowPinned:Q.rowPinned};return null}getCellAbove($){if(!$)return null;let z=this.rowSpanSvc?.getCellStart($)??$,Q=m0(this.beans,{rowIndex:z.rowIndex,rowPinned:z.rowPinned},!0);if(Q)return{rowIndex:Q.rowIndex,column:$.column,rowPinned:Q.rowPinned};return null}getNextTabbedCell($,z){if(z)return this.getNextTabbedCellBackwards($);return this.getNextTabbedCellForwards($)}getNextTabbedCellForwards($){let{visibleCols:z,pagination:Q}=this.beans,J=z.allCols,Z=$.rowIndex,X=$.rowPinned,Y=z.getColAfter($.column);if(!Y){Y=J[0];let q=L0(this.beans,$,!0);if(n(q))return null;if(!q.rowPinned&&!(Q?.isRowInPage(q.rowIndex)??!0))return null;Z=q?q.rowIndex:null,X=q?q.rowPinned:null}return{rowIndex:Z,column:Y,rowPinned:X}}getNextTabbedCellBackwards($){let{beans:z}=this,{visibleCols:Q,pagination:J}=z,Z=Q.allCols,X=$.rowIndex,Y=$.rowPinned,q=Q.getColBefore($.column);if(!q){q=b(Z);let G=m0(z,{rowIndex:$.rowIndex,rowPinned:$.rowPinned},!0);if(n(G))return null;if(!G.rowPinned&&!(J?.isRowInPage(G.rowIndex)??!0))return null;X=G?G.rowIndex:null,Y=G?G.rowPinned:null}return{rowIndex:X,column:q,rowPinned:Y}}isSuppressNavigable($,z){let{suppressNavigable:Q}=$.colDef;if(typeof Q==="boolean")return Q;if(typeof Q==="function"){let J=$.createColumnFunctionCallbackParams(z);return Q(J)}return!1}};function VE($){return $.focusSvc.getFocusedCell()}function AE($){return $.focusSvc.clearFocusedCell()}function SE($,z,Q,J){$.focusSvc.setFocusedCell({rowIndex:z,column:Q,rowPinned:J,forceBrowserFocus:!0})}function RE($,z){return $.navigation?.tabToNextCell(!1,z)??!1}function jE($,z){return $.navigation?.tabToNextCell(!0,z)??!1}function fE($,z,Q=!1){let J=$.headerNavigation?.getHeaderPositionForColumn(z,Q);if(!J)return;$.focusSvc.focusHeaderPosition({headerPosition:J})}function m$($){let z=$;return z?.getFrameworkComponentInstance!=null?z.getFrameworkComponentInstance():$}var OE=class extends S{constructor(){super(...arguments);this.beanName="editModelSvc",this.edits=new Map,this.cellValidations=new u8,this.rowValidations=new m8,this.suspendEdits=!1}suspend($){this.suspendEdits=$}removeEdits({rowNode:$,column:z}){if(!this.hasEdits({rowNode:$})||!$)return;let Q=this.getEditRow($);if(z)Q.delete(z);else Q.clear();if(Q.size===0)this.edits.delete($)}getEditRow($,z={}){if(this.suspendEdits)return;if(this.edits.size===0)return;let Q=$&&this.edits.get($);if(Q)return Q;if(z.checkSiblings){let J=$.pinnedSibling;if(J)return this.getEditRow(J)}return}getEditRowDataValue($,{checkSiblings:z}={}){if(!$||this.edits.size===0)return;let Q=this.getEditRow($),J=$.pinnedSibling,Z=z&&J&&this.getEditRow(J);if(!Q&&!Z)return;let X={...$.data},Y=(q,G)=>q.forEach(({editorValue:_,pendingValue:H},U)=>{let W=_===void 0?H:_;if(W!==P0)G[U.getColId()]=W});if(Q)Y(Q,X);if(Z)Y(Z,X);return X}getEdit($={},z){let{rowNode:Q,column:J}=$,Z=this.edits;if(this.suspendEdits||Z.size===0||!Q||!J)return;let X=Z.get(Q)?.get(J);if(X)return X;if(z?.checkSiblings){let Y=Q.pinnedSibling;if(Y)return Z.get(Y)?.get(J)}return}getEditMap($=!0){if(this.suspendEdits||this.edits.size===0)return new Map;if(!$)return this.edits;let z=new Map;return this.edits.forEach((Q,J)=>{let Z=new Map;Q.forEach(({editorState:X,...Y},q)=>Z.set(q,{...Y})),z.set(J,Z)}),z}setEditMap($){this.edits.clear(),$.forEach((z,Q)=>{let J=new Map;z.forEach((Z,X)=>J.set(X,{...Z})),this.edits.set(Q,J)})}setEdit($,z){let Q=this.edits;if(Q.size===0||!Q.has($.rowNode))Q.set($.rowNode,new Map);let J=this.getEdit($),Z={editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0},...J,...z};return this.getEditRow($.rowNode).set($.column,Z),Z}clearEditValue($){let{rowNode:z,column:Q}=$;if(!z)return;let J=(X)=>{X.editorValue=void 0,X.pendingValue=X.sourceValue,X.state="changed"};if(!Q){this.getEditRow(z)?.forEach(J);return}let Z=this.getEdit($);if(Z)J(Z)}getState($){if(this.suspendEdits)return;return this.getEdit($)?.state}getEditPositions($){if(this.suspendEdits||($??this.edits).size===0)return[];let z=[];return($??this.edits).forEach((Q,J)=>{for(let Z of Q.keys()){let{editorState:X,...Y}=Q.get(Z);z.push({rowNode:J,column:Z,...Y})}}),z}hasRowEdits($,z){if(this.suspendEdits)return!1;if(this.edits.size===0)return!1;return!!this.getEditRow($,z)}hasEdits($={},z={}){if(this.suspendEdits)return!1;if(this.edits.size===0)return!1;let{rowNode:Q,column:J}=$,{withOpenEditor:Z}=z;if(Q){let X=this.getEditRow(Q,z);if(!X)return!1;if(J){if(Z)return this.getEdit($)?.state==="editing";return X.has(J)}if(X.size!==0){if(Z)return Array.from(X.values()).some(({state:Y})=>Y==="editing");return!0}return!1}if(Z)return this.getEditPositions().some(({state:X})=>X==="editing");return this.edits.size>0}start($){let z=this.getEditRow($.rowNode)??new Map,{rowNode:Q,column:J}=$;if(J&&!z.has(J))z.set(J,{editorValue:void 0,pendingValue:P0,sourceValue:this.beans.valueSvc.getValue(J,Q,"data"),state:"editing",editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0}});this.edits.set(Q,z)}stop($,z,Q){if(!this.hasEdits($))return;if(z){let J=this.getEditRow($.rowNode)?.get($.column);if(J&&(J.pendingValue===P0||J.pendingValue===J.sourceValue))this.removeEdits($);else if(J&&Q)J.editorValue=void 0}else this.removeEdits($)}clear(){for(let $ of this.edits.values())$.clear();this.edits.clear()}getCellValidationModel(){return this.cellValidations}getRowValidationModel(){return this.rowValidations}setCellValidationModel($){this.cellValidations=$}setRowValidationModel($){this.rowValidations=$}destroy(){super.destroy(),this.clear()}},u8=class{constructor(){this.cellValidations=new Map}getCellValidation($){let{rowNode:z,column:Q}=$||{};return this.cellValidations?.get(z)?.get(Q)}hasCellValidation($){if(!$?.rowNode||!$.column)return this.cellValidations.size>0;return!!this.getCellValidation($)}setCellValidation($,z){let{rowNode:Q,column:J}=$;if(!this.cellValidations.has(Q))this.cellValidations.set(Q,new Map);this.cellValidations.get(Q).set(J,z)}clearCellValidation($){let{rowNode:z,column:Q}=$;this.cellValidations.get(z)?.delete(Q)}setCellValidationMap($){this.cellValidations=$}getCellValidationMap(){return this.cellValidations}clearCellValidationMap(){this.cellValidations.clear()}},m8=class{constructor(){this.rowValidations=new Map}getRowValidation($){let{rowNode:z}=$||{};return this.rowValidations.get(z)}hasRowValidation($){if(!$?.rowNode)return this.rowValidations.size>0;return!!this.getRowValidation($)}setRowValidation({rowNode:$},z){this.rowValidations.set($,z)}clearRowValidation({rowNode:$}){this.rowValidations.delete($)}setRowValidationMap($){this.rowValidations=$}getRowValidationMap(){return this.rowValidations}clearRowValidationMap(){this.rowValidations.clear()}};function BJ($,z={}){let{rowIndex:Q,rowId:J,rowCtrl:Z,rowPinned:X}=z;if(Z)return Z;let{rowModel:Y,rowRenderer:q}=$,{rowNode:G}=z;if(!G){if(J)G=X_($,J,X);else if(Q!=null)G=Y.getRow(Q)}return G?q.getRowCtrlByNode(G):void 0}function r($,z={}){let{cellCtrl:Q,colId:J,columnId:Z,column:X}=z;if(Q)return Q;let Y=$.colModel.getCol(J??Z??L2(X)),q=z.rowCtrl??BJ($,z),G=q?.getCellCtrl(Y)??void 0;if(G)return G;let _=z.rowNode??q?.rowNode;if(_)return $.rowRenderer.getCellCtrls([_],[Y])?.[0];return}function r5($){let{editSvc:z}=$;if(z?.isBatchEditing())$z($,{persist:!0}),e$($);else z?.stopEditing(void 0,{source:"api"})}function PE($,z,Q){let{gos:J,popupSvc:Z}=z;if(!J.get("stopEditingWhenCellsLoseFocus"))return;let X=(Y)=>{let q=Y.relatedTarget;if(G2(q)===null){r5(z);return}let G=Q.some((_)=>_.contains(q))&&J.isElementInThisInstance(q);if(!G)G=!!Z&&(Z.getActivePopups().some((_)=>_.contains(q))||Z.isElementWithinCustomPopup(q));if(!G)r5(z)};for(let Y of Q)$.addManagedElementListeners(Y,{focusout:X})}function L2($){if(!$)return;if(typeof $==="string")return $;return $.getColId()}var P0=Symbol("unedited"),TE=($,z={})=>{let Q=$.rowRenderer.getCellCtrls(z.rowNodes,z.columns),J=Array(Q.length),Z=0;for(let X=0,Y=Q.length;X<Y;++X){let G=Q[X].comp?.getCellEditor();if(G)J[Z++]=m$(G)}return J.length=Z,J};function vE($,z,Q,J,Z,X){if(z.length===0&&Q?.rowNode&&Q?.column)gz($,Q,{key:J,event:Z,cellStartedEdit:X});let{valueSvc:Y,editSvc:q,editModelSvc:G}=$,{rowNode:_,column:H}=Q??{};for(let U of z){let{rowNode:W,column:B}=U,E=r($,U);if(!E){if(W&&B){let L=Y.getValue(B,W,"data"),M=(Q?.rowNode===W&&Q?.column===B&&J||void 0)??q?.getCellDataValue(U)??Y.getValueForDisplay({column:B,node:W,from:"edit"})?.value??L??P0;G?.setEdit(U,{pendingValue:DQ($,M,!1,B),sourceValue:L,state:"editing"})}continue}let K=X&&_===E.rowNode&&E.column===H;gz($,{rowNode:_,column:E.column},{key:K?J:null,event:K?Z:null,cellStartedEdit:K&&X})}}function B$({pendingValue:$,sourceValue:z}){if($===P0)$=z;return $!==z}function IE($){let z=new Map;for(let[Q,J]of $){let Z=new Map;for(let[X,Y]of J)if(B$(Y))Z.set(X,Y);if(Z.size>0)z.set(Q,Z)}return z}function gz($,z,Q){let{key:J,event:Z,cellStartedEdit:X,silent:Y}=Q??{},{editModelSvc:q,gos:G,userCompFactory:_}=$,H=r($,z),U=H?.comp?.getCellEditor(),W=p8($,z,J,X&&!Y),B=q?.getEdit(z),E=W.value??B?.sourceValue;if(U){q?.setEdit(z,{editorValue:DQ($,E,!0,z.column),state:"editing"}),U.refresh?.(W);return}let K=z.column.getColDef(),L=O7(_,K,W);if(!L)return;let{popupFromSelector:D,popupPositionFromSelector:F}=L,M=D??!!K.cellEditorPopup,k=F??K.cellEditorPopupPosition;if(i8(L.params,Z),!H)return;let{rangeFeature:V,rowCtrl:R,comp:O,onEditorAttachedFuncs:I}=H;q?.setEdit(z,{editorValue:DQ($,E,!0,z.column),state:"editing",editorState:{cellStartedEditing:void 0,cellStoppedEditing:void 0}}),H.editCompDetails=L,I.push(()=>V?.unsetComp()),O?.setEditDetails(L,M,k,G.get("reactiveCustomComponents")),R?.refreshRow({suppressFlash:!0}),CE($,z,Z,E,Y)}function CE($,z,Q,J,Z){let{editSvc:X,editModelSvc:Y}=$,q=Y?.getEdit(z);if(!Z&&q?.state==="editing"&&!q?.editorState?.cellStartedEditing)X?.dispatchCellEvent(z,Q,"cellEditingStarted",{value:J}),Y?.setEdit(z,{editorState:{cellStartedEditing:!0}})}function c8($,z,Q){let J={editorValueExists:!1};if(S4($)){if((z.getValidationErrors?.()?.length??0)>0)return J}if(Q?.isCancelling)return J;if(Q?.isStopping){let X=z?.isCancelAfterEnd?.();if(X)return{...J,isCancelAfterEnd:X}}return{editorValue:z.getValue(),editorValueExists:!0}}function p8($,z,Q,J){let{valueSvc:Z,gos:X,editSvc:Y}=$,q=$.gos.get("enableGroupEdit"),G=r($,z),_=z.rowNode?.rowIndex??void 0,H=Y?.isBatchEditing(),U=$.colModel.getCol(z.column.getId()),{rowNode:W,column:B}=z,E=G.comp?.getCellEditor(),K=Y?.getCellDataValue(z),L=K===void 0?E?c8($,E)?.editorValue:void 0:K,D=L===P0?Z.getValueForDisplay({column:U,node:W,from:"edit"})?.value:L,F=q?L:D;if(B.isAllowFormula()&&$.formula?.isFormula(F))F=$.formula?.normaliseFormula(F,!0)??F;return y(X,{value:F,eventKey:Q??null,column:B,colDef:B.getColDef(),rowIndex:_,node:W,data:W.data,cellStartedEdit:!!J,onKeyDown:G?.onKeyDown.bind(G),stopEditing:(M)=>{Y.stopEditing(z,{source:H?"ui":"api",suppressNavigateAfterEdit:M}),$1($,z,{})},eGridCell:G?.eGui,parseValue:(M)=>Z.parseValue(U,W,M,G?.value),formatValue:G?.formatValue.bind(G),validate:()=>{Y?.validateEdit()}})}function xQ($,z){let{editModelSvc:Q}=$;Q?.getEditMap().forEach((J,Z)=>{J.forEach((X,Y)=>{if(!z&&(X.state==="editing"||X.pendingValue===P0))return;if(!B$(X)&&(X.state!=="editing"||z))Q?.removeEdits({rowNode:Z,column:Y})})})}function bE($,z){let Q=z.comp?.getCellEditor();if(!Q?.refresh)return;let{eventKey:J,cellStartedEdit:Z}=z.editCompDetails.params,{column:X}=z,Y=p8($,z,J,Z),q=X.getColDef(),G=O7($.userCompFactory,q,Y);Q.refresh(i8(G.params,J))}function i8($,z){if(z instanceof KeyboardEvent&&$.column.getColDef().cellEditor==="agNumberCellEditor")$.suppressPreventDefault=["-","+",".","e"].includes(z?.key??"")||$.suppressPreventDefault;else z?.preventDefault?.();return $}function $z($,z){for(let Q of $.editModelSvc?.getEditPositions()??[]){let J=r($,Q);if(!J)continue;let Z=J.comp?.getCellEditor();if(!Z)continue;let{editorValue:X,editorValueExists:Y,isCancelAfterEnd:q}=c8($,Z,z);if(q){let{cellStartedEditing:G,cellStoppedEditing:_}=$.editModelSvc?.getEdit(Q)?.editorState||{};$.editModelSvc?.setEdit(Q,{editorState:{isCancelAfterEnd:q,cellStartedEditing:G,cellStoppedEditing:_}})}zQ($,Q,X,void 0,!Y,z)}}function zQ($,z,Q,J,Z,X){let{editModelSvc:Y,valueSvc:q}=$;if(!Y)return;let{rowNode:G,column:_}=z;if(!(G&&_))return;let H=Y.getEdit(z);if(H?.sourceValue===void 0){let U=H?DQ($,H.editorValue,!1,_):P0,W={sourceValue:q.getValue(_,G,"data"),pendingValue:U};if(X?.persist)W.state="changed";H=Y.setEdit(z,W)}if(Y.setEdit(z,{editorValue:Z?DQ($,H.sourceValue,!0,_):Q}),X?.persist)yE($,z)}function DQ($,z,Q,J){let{formula:Z}=$;if(J.isAllowFormula()&&Z?.isFormula(z))return Z?.normaliseFormula(z,Q)??z;return z}function yE($,z){let{editModelSvc:Q}=$,J=Q?.getEdit(z),X={pendingValue:DQ($,J?.editorValue,!1,z.column)};if(!J?.editorState?.cellStoppedEditing&&J?.state!=="editing")X.state="changed";Q?.setEdit(z,X)}function e$($,z,Q={}){if(!z)z=$.editModelSvc?.getEditPositions();if(z)for(let J of z)$1($,J,Q)}function $1($,z,Q,J=r($,z)){let Z=$.editModelSvc,X=Z?.getEdit(z),Y;if(X&&X.state!=="editing"&&X.editorState?.cellStoppedEditing)Y=X.state;else Y="changed";if(!J){if(X)Z?.setEdit(z,{state:Y});return}let q=J.comp,G=q?.getCellEditor();if(q&&!G){if(J?.refreshCell(),X){Z?.setEdit(z,{state:Y});let H=$.gos.get("enableGroupEdit")?l5(X,Q?.cancel):{valueChanged:!1,newValue:void 0,oldValue:X.sourceValue};a5($,z,H,Q)}return}if(S4($)){let H=X&&G?.getValidationErrors?.(),U=Z?.getCellValidationModel();if(H?.length)U?.setCellValidation(z,{errorMessages:H});else U?.clearCellValidation(z)}if(X)Z?.setEdit(z,{state:Y});q?.setEditDetails(),q?.refreshEditStyles(!1,!1),J?.refreshCell({force:!0,suppressFlash:!0});let _=Z?.getEdit(z);if(_&&_.state!=="editing"){let H=Q?.cancel,U=$.gos.get("enableGroupEdit")?l5(_,H):xE(_,X,H);a5($,z,U,Q)}}function l5($,z){let{sourceValue:Q,pendingValue:J}=$,Z;if(!z&&J!==P0)Z=J;return{valueChanged:!z&&B$($),newValue:Z,oldValue:Q,value:Q}}function xE($,z,Q){if(Q||$.editorState.isCancelAfterEnd)return{valueChanged:!1,newValue:void 0,oldValue:$.sourceValue};let J=$.editorValue;if(J==null||J===P0)J=z?.pendingValue;if(J===P0)J=void 0;return{valueChanged:B$($),newValue:J,oldValue:$.sourceValue}}function a5($,z,Q,{silent:J,event:Z}={}){let{editSvc:X,editModelSvc:Y}=$,q=Y?.getEdit(z),{editorState:G}=q||{},{isCancelBeforeStart:_,cellStartedEditing:H,cellStoppedEditing:U}=G||{};if(!J&&!_&&H&&!U)X?.dispatchCellEvent(z,Z,"cellEditingStopped",Q),Y?.setEdit(z,{editorState:{cellStoppedEditing:!0}})}function wE($){if(!$)return!1;for(let z=0,Q=$.length;z<Q;++z){let J=$[z],Z=J.cellEditorParams;if(!Z||!J.editable&&!J.groupRowEditable)continue;if(Z.minLength!==void 0||Z.maxLength!==void 0||Z.getValidationErrors!==void 0||Z.min!==void 0||Z.max!==void 0)return!0}return!1}function NE($){let z=$.rowRenderer.getCellCtrls();for(let Q=0,J=z.length;Q<J;++Q){let X=z[Q].comp?.getCellEditor();if(X){let Y=m$(X);if(Y.getValidationElement||Y.getValidationErrors)return!0}}return!1}function S4($){return!!$.gos.get("getFullRowEditValidationErrors")||wE($.colModel.getColumnDefs())||NE($)}function Yz($,z){if(!(z||S4($)))return;let Q=new u8,{ariaAnnounce:J,localeSvc:Z,editModelSvc:X,gos:Y}=$,q=Y.get("editType")==="fullRow",_=i6(Z)("ariaValidationErrorPrefix","Cell Editor Validation"),H=new Set;for(let U of $.rowRenderer.getCellCtrls()){let W=U.comp?.getCellEditor();if(!W)continue;let B=m$(W),{rowNode:E,column:K}=U,L=B.getValidationErrors?.()??[],D=B.getValidationElement?.(!1)||!B.isPopup?.()&&U.eGui;if(D){let F=L!=null&&L.length>0,M=F?L.join(". "):"";if(j6(D,F),F)J.announceValue(`${_} ${L}`,"editorValidation");if(D instanceof HTMLInputElement)D.setCustomValidity(M);else D.classList.toggle("invalid",F)}if(L?.length>0)Q.setCellValidation({rowNode:E,column:K},{errorMessages:L});H.add(U.rowCtrl)}if($z($,{persist:!1}),X?.setCellValidationModel(Q),q){let U=gE($);X?.setRowValidationModel(U)}for(let U of H.values()){U.rowEditStyleFeature?.applyRowStyles();for(let W of U.getAllCellCtrls())W.tooltipFeature?.refreshTooltip(!0),W.editorTooltipFeature?.refreshTooltip(!0),W.editStyleFeature?.applyCellStyles?.()}}var gE=($)=>{let z=new m8,Q=$.gos.get("getFullRowEditValidationErrors"),J=$.editModelSvc?.getEditMap();if(!J)return z;for(let Z of J.keys()){let X=J.get(Z);if(!X)continue;let Y=[],{rowIndex:q,rowPinned:G}=Z;for(let H of X.keys()){let U=X.get(H);if(!U)continue;let{editorValue:W,pendingValue:B,sourceValue:E}=U,K=W??(B===P0?void 0:B)??E;Y.push({column:H,colId:H.getColId(),rowIndex:q,rowPinned:G,oldValue:E,newValue:K})}let _=Q?.({editorsState:Y})??[];if(_.length>0)z.setRowValidation({rowNode:Z},{errorMessages:_})}return z};function hE($){Yz($,!0);let z=$.editModelSvc?.getCellValidationModel().getCellValidationMap();if(!z)return null;let Q=[];return z.forEach((J,Z)=>{J.forEach(({errorMessages:X},Y)=>{Q.push({column:Y,rowIndex:Z.rowIndex,rowPinned:Z.rowPinned,messages:X??null})})}),Q}function iJ($){return!!($.rowPinned&&$.pinnedSibling)}function t0($,z,Q,J){let Z=z==="top";if(!Q)return t0($,z,Z?$.getPinnedTopRow(0):$.getPinnedBottomRow(0),J);if(!J){let G=Z?$.getPinnedTopRowCount():$.getPinnedBottomRowCount();return t0($,z,Q,Z?$.getPinnedTopRow(G-1):$.getPinnedBottomRow(G-1))}let X=!1,Y=!1,q=[];return $.forEachPinnedRow(z,(G)=>{if(G===Q&&!X){X=!0,q.push(G);return}if(X&&G===J){Y=!0,q.push(G);return}if(X&&!Y)q.push(G)}),q}function uE($,z,Q,{rowNode:J,column:Z},X){return y($.gos,{type:Q,node:J,data:J.data,value:X,column:Z,colDef:Z.getColDef(),rowPinned:J.rowPinned,event:z,rowIndex:J.rowIndex})}function mE($,z=!1){if($===A.DELETE)return!0;if(!z&&$===A.BACKSPACE)return I7();return!1}var cE=class extends S{constructor($,z,Q,J){super();this.cellCtrl=$,this.rowNode=Q,this.rowCtrl=J,this.beans=z}init(){this.eGui=this.cellCtrl.eGui}onKeyDown($){let z=$.key;if(z===A.ENTER&&v0(this.cellCtrl.column)&&this.beans.rowNumbersSvc?.handleKeyDownOnCell(this.cellCtrl.cellPosition,$))return;switch(z){case A.ENTER:this.onEnterKeyDown($);break;case A.F2:this.onF2KeyDown($);break;case A.ESCAPE:this.onEscapeKeyDown($);break;case A.TAB:this.onTabKeyDown($);break;case A.BACKSPACE:case A.DELETE:this.onBackspaceOrDeleteKeyDown(z,$);break;case A.DOWN:case A.UP:case A.RIGHT:case A.LEFT:this.onNavigationKeyDown($,z);break}}onNavigationKeyDown($,z){let{cellCtrl:Q,beans:J}=this;if(J.editSvc?.isEditing(Q,{withOpenEditor:!0}))return;if($.shiftKey&&Q.isRangeSelectionEnabled())this.onShiftRangeSelect($);else{let Z=Q.getFocusedCellPosition();J.navigation?.navigateToNextCell($,z,Z,!0)}$.preventDefault()}onShiftRangeSelect($){let{rangeSvc:z,navigation:Q}=this.beans;if(!z)return;let J=z.extendLatestRangeInDirection($);if(!J)return;if($.key===A.LEFT||$.key===A.RIGHT)Q?.ensureColumnVisible(J.column);else Q?.ensureRowVisible(J.rowIndex)}onTabKeyDown($){this.beans.navigation?.onTabKeyDown(this.cellCtrl,$)}onBackspaceOrDeleteKeyDown($,z){let{cellCtrl:Q,beans:J,rowNode:Z}=this,{gos:X,rangeSvc:Y,eventSvc:q,editSvc:G}=J;if(q.dispatchEvent({type:"keyShortcutChangedCellStart"}),mE($,X.get("enableCellEditingOnBackspace"))&&!G?.isEditing(Q,{withOpenEditor:!0})){if(Y&&u0(X))Y.clearCellRangeCellValues({dispatchWrapperEvents:!0,wrapperEventSource:"deleteKey"});else if(Q.isCellEditable()){let _=J.valueSvc.getDeleteValue(Q.column,Z);Z.setDataValue(Q.column,_,"cellClear")}}else if(!G?.isEditing(Q,{withOpenEditor:!0}))J.editSvc?.startEditing(Q,{startedEdit:!0,event:z});q.dispatchEvent({type:"keyShortcutChangedCellEnd"})}onEnterKeyDown($){let{cellCtrl:z,beans:Q}=this,{editSvc:J,navigation:Z}=Q,X=J?.isEditing(z,{withOpenEditor:!0}),Y=z.rowNode,q=J?.isRowEditing(Y,{withOpenEditor:!0}),G=(_)=>{if(J?.startEditing(_,{startedEdit:!0,event:$,source:"edit"}))$.preventDefault()};if(X||q){if(this.isCtrlEnter($)){J?.applyBulkEdit(z,Q?.rangeSvc?.getCellRanges()||[]);return}if(Yz(Q),J?.checkNavWithValidation(void 0,$)==="block-stop")return;if(J?.isEditing(z,{withOpenEditor:!0}))J?.stopEditing(z,{event:$,source:"edit"});else if(q&&!z.isCellEditable())J?.stopEditing({rowNode:Y},{event:$,source:"edit"});else G(z)}else if(Q.gos.get("enterNavigatesVertically")){let _=$.shiftKey?A.UP:A.DOWN;Z?.navigateToNextCell(null,_,z.cellPosition,!1)}else{if(J?.hasValidationErrors())return;if(J?.hasValidationErrors(z))J.revertSingleCellEdit(z,!0);G(z)}}isCtrlEnter($){return($.ctrlKey||$.metaKey)&&$.key===A.ENTER}onF2KeyDown($){let{cellCtrl:z,beans:{editSvc:Q}}=this;if(Q?.isEditing()){if(Yz(this.beans),Q?.checkNavWithValidation(void 0,$)==="block-stop")return}Q?.startEditing(z,{startedEdit:!0,event:$})}onEscapeKeyDown($){let{cellCtrl:z,beans:{editSvc:Q}}=this;if(Q?.checkNavWithValidation(z,$)==="block-stop")Q.revertSingleCellEdit(z);setTimeout(()=>{Q?.stopEditing(z,{event:$,cancel:!0})})}processCharacter($){let Q=$.target!==this.eGui,{beans:{editSvc:J},cellCtrl:Z}=this;if(Q)return;if(J?.isEditing(Z,{withOpenEditor:!0}))return;if($.key===A.SPACE)this.onSpaceKeyDown($);else if(J?.isCellEditable(Z,"ui")){if(J?.hasValidationErrors()&&!J?.hasValidationErrors(Z))return;if(J?.startEditing(Z,{startedEdit:!0,event:$,source:"api",editable:!0}),!Z.editCompDetails?.params?.suppressPreventDefault)$.preventDefault()}}onSpaceKeyDown($){let{gos:z,editSvc:Q}=this.beans,{rowNode:J}=this.cellCtrl;if(!Q?.isEditing(this.cellCtrl,{withOpenEditor:!0})&&h$(z))this.beans.selectionSvc?.handleSelectionEvent($,J,"spaceKey");$.preventDefault()}},pE=class extends S{constructor($,z,Q){super();this.cellCtrl=$,this.column=Q,this.beans=z}onMouseEvent($,z){if(z$(z))return;switch($){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($){if(this.beans.touchSvc?.handleCellDoubleClick(this,$))return;let{eventSvc:z,rangeSvc:Q,editSvc:J,editModelSvc:Z,frameworkOverrides:X,gos:Y}=this.beans,q=$.ctrlKey||$.metaKey,{cellCtrl:G}=this,{column:_,cellPosition:H,rowNode:U}=G,W=s1(Y,_,U,$);if(Q&&q&&!W){if(Q.getCellRangeCount(H)>1)Q.intersectLastRange(!0)}let B=G.createEvent($,"cellClicked");B.isEventHandlingSuppressed=W,z.dispatchEvent(B);let E=_.getColDef();if(E.onCellClicked)window.setTimeout(()=>{X.wrapOutgoing(()=>{E.onCellClicked(B)})},0);if(W)return;if(Z?.getState(G)!=="editing"){let K=J?.isEditing(),L=J?.isRangeSelectionEnabledWhileEditing(),D=Z?.getCellValidationModel().getCellValidationMap().size??0,F=Z?.getRowValidationModel().getRowValidationMap().size??0;if(K&&(L||D>0||F>0))return;if(J?.shouldStartEditing(G,$))J?.startEditing(G,{event:$});else if(J?.shouldStopEditing(G,$))if(this.beans.gos.get("editType")==="fullRow")J?.stopEditing(G,{event:$,source:"edit"});else J?.stopEditing(void 0,{event:$,source:"edit"})}}onCellDoubleClicked($){let{column:z,beans:Q,cellCtrl:J}=this,{eventSvc:Z,frameworkOverrides:X,editSvc:Y,editModelSvc:q,gos:G}=Q,_=s1(G,J.column,J.rowNode,$),H=z.getColDef(),U=J.createEvent($,"cellDoubleClicked");if(U.isEventHandlingSuppressed=_,Z.dispatchEvent(U),typeof H.onCellDoubleClicked==="function")window.setTimeout(()=>{X.wrapOutgoing(()=>{H.onCellDoubleClicked(U)})},0);if(_)return;if(Y?.shouldStartEditing(J,$)&&q?.getState(J)!=="editing"){let W=Y?.isEditing(),B=Y?.isRangeSelectionEnabledWhileEditing(),E=q?.getCellValidationModel().getCellValidationMap().size??0,K=q?.getRowValidationModel().getRowValidationMap().size??0;if(W&&(B||E>0||K>0))return;Y?.startEditing(J,{event:$})}}onMouseDown($){let{shiftKey:z}=$,Q=$.target,{cellCtrl:J,beans:Z}=this,{eventSvc:X,rangeSvc:Y,rowNumbersSvc:q,focusSvc:G,gos:_,editSvc:H}=Z,{column:U,rowNode:W,cellPosition:B}=J,E=s1(_,U,W,$),K=()=>{let M=J.createEvent($,"cellMouseDown");M.isEventHandlingSuppressed=E,X.dispatchEvent(M)};if(E){K();return}if(this.isRightClickInExistingRange($))return;let L=Y&&!Y.isEmpty(),D=this.containsWidget(Q),F=v0(U);if(q&&F&&!q.handleMouseDownOnCell(B,$))return;if(!z||!L){let M=H?.isEditing(J),V=_.get("enableCellTextSelection")&&$.defaultPrevented,R=(cz()||V)&&!M&&!wQ(Q)&&!D;J.focusCell(R,$)}if(z&&L&&!G.isCellFocused(B)){$.preventDefault();let M=G.getFocusedCell();if(M){let{column:k,rowIndex:V,rowPinned:R}=M,O=!!H?.isRangeSelectionEnabledWhileEditing?.();if(H?.isEditing(M)&&!O)H?.stopEditing(M);if(!O)G.setFocusedCell({column:k,rowIndex:V,rowPinned:R,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0,sourceEvent:$})}}if(D)return;Y?.handleCellMouseDown($,B),K()}isRightClickInExistingRange($){let{rangeSvc:z}=this.beans;if(z){let Q=z.isCellInAnyRange(this.cellCtrl.cellPosition),J=u2(this.beans,$);if(Q&&J)return!0}return!1}containsWidget($){return vz($,"ag-selection-checkbox",3)||vz($,"ag-drag-handle",3)}onMouseOut($){if(this.mouseStayingInsideCell($))return;let{eventSvc:z,colHover:Q}=this.beans;z.dispatchEvent(this.cellCtrl.createEvent($,"cellMouseOut")),Q?.clearMouseOver()}onMouseOver($){if(this.mouseStayingInsideCell($))return;let{eventSvc:z,colHover:Q}=this.beans;z.dispatchEvent(this.cellCtrl.createEvent($,"cellMouseOver")),Q?.setMouseOver([this.column])}mouseStayingInsideCell($){if(!$.target||!$.relatedTarget)return!1;let z=this.cellCtrl.eGui,Q=z.contains($.target),J=z.contains($.relatedTarget);return Q&&J}},iE=class extends S{constructor($,z){super();this.cellCtrl=$,this.beans=z,this.column=$.column,this.rowNode=$.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 $=this.cellCtrl.getCellSpan();if(!$)this.setupColSpan(),this.setupRowSpan();if(this.onLeftChanged(),this.onWidthChanged(),!$)this._legacyApplyRowSpan();if($){let z=this.refreshSpanHeight.bind(this,$);z(),this.addManagedListeners(this.beans.eventSvc,{paginationChanged:z,recalculateRowBounds:z,pinnedHeightChanged:z})}}refreshSpanHeight($){let z=$.getCellHeight();if(z!=null)this.eContent.style.height=`${z}px`}onNewColumnsLoaded(){let $=this.column.getRowSpan(this.rowNode);if(this.rowSpan===$)return;this.rowSpan=$,this._legacyApplyRowSpan(!0)}onDisplayColumnsChanged(){let $=this.getColSpanningList();if(!X0(this.colsSpanning,$))this.colsSpanning=$,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 $=this.getCellWidth();this.eContent.style.width=`${$}px`}getCellWidth(){if(!this.colsSpanning)return this.column.getActualWidth();return this.colsSpanning.reduce(($,z)=>$+z.getActualWidth(),0)}getColSpanningList(){let{column:$,rowNode:z}=this,Q=$.getColSpan(z),J=[];if(Q===1)J.push($);else{let Z=$,X=$.getPinned();for(let Y=0;Z&&Y<Q;Y++){if(J.push(Z),Z=this.beans.visibleCols.getColAfter(Z),!Z||n(Z))break;if(X!==Z.getPinned())break}}return J}onLeftChanged(){if(!this.eSetLeft)return;let $=this.modifyLeftForPrintLayout(this.getCellLeft());this.eSetLeft.style.left=$+"px"}getCellLeft(){let $;if(this.beans.gos.get("enableRtl")&&this.colsSpanning)$=b(this.colsSpanning);else $=this.column;return $.getLeft()}modifyLeftForPrintLayout($){if(!this.cellCtrl.printLayout||this.column.getPinned()==="left")return $;let{visibleCols:z}=this.beans,Q=z.getColsLeftWidth();if(this.column.getPinned()==="right"){let J=z.bodyWidth;return Q+J+($||0)}return Q+($||0)}_legacyApplyRowSpan($){if(this.rowSpan===1&&!$)return;let Q=Z7(this.beans)*this.rowSpan;this.eContent.style.height=`${Q}px`,this.eContent.style.zIndex="1"}destroy(){super.destroy()}},nE="ag-cell",dE="ag-cell-auto-height",tE="ag-cell-normal-height",sE="ag-cell-focus",rE="ag-cell-first-right-pinned",lE="ag-cell-last-left-pinned",aE="ag-cell-not-inline-editing",oE="ag-cell-wrap-text",eE=0,uQ=class extends S{constructor($,z,Q,J){super();this.column=$,this.rowNode=z,this.rowCtrl=J,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=Q,this.gos=Q.gos,this.editSvc=Q.editSvc,this.hasEdit=!!Q.editSvc;let{colId:Z}=$;this.instanceId=Z+"-"+eE++,this.createCellPosition(),this.updateAndFormatValue(!1)}addFeatures(){let{beans:$}=this;this.positionFeature=new iE(this,$),this.customStyleFeature=$.cellStyles?.createCellCustomStyleFeature(this),this.editStyleFeature=$.editSvc?.createCellStyleFeature(this),this.mouseListener=new pE(this,$,this.column),this.keyboardListener=new cE(this,$,this.rowNode,this.rowCtrl),this.enableTooltipFeature();let{rangeSvc:z}=$;if(z&&u0($.gos))this.rangeFeature=z.createCellRangeFeature(this);if(v0(this.column))this.rowResizeFeature=this.beans.rowNumbersSvc.createRowNumbersRowResizerFeature(this)}isCellSpanning(){return!1}getCellSpan(){return}removeFeatures(){let $=this.beans.context;this.positionFeature=$.destroyBean(this.positionFeature),this.editorTooltipFeature=$.destroyBean(this.editorTooltipFeature),this.customStyleFeature=$.destroyBean(this.customStyleFeature),this.editStyleFeature=$.destroyBean(this.editStyleFeature),this.mouseListener=$.destroyBean(this.mouseListener),this.keyboardListener=$.destroyBean(this.keyboardListener),this.rangeFeature=$.destroyBean(this.rangeFeature),this.rowResizeFeature=$.destroyBean(this.rowResizeFeature),this.disableTooltipFeature()}enableTooltipFeature($,z){this.tooltipFeature=this.beans.tooltipSvc?.enableCellTooltipFeature(this,$,z)}disableTooltipFeature(){this.tooltipFeature=this.beans.context.destroyBean(this.tooltipFeature)}enableEditorTooltipFeature($){if(this.editorTooltipFeature)this.disableEditorTooltipFeature();this.editorTooltipFeature=this.beans.tooltipSvc?.setupCellEditorTooltip(this,$),Yz(this.beans)}disableEditorTooltipFeature(){this.editorTooltipFeature=this.beans.context.destroyBean(this.editorTooltipFeature)}setComp($,z,Q,J,Z,X,Y){this.comp=$,this.eGui=z,this.printLayout=Z,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(J,Y),this.refreshFirstAndLastStyles(),this.checkFormulaError(),this.refreshAriaRowIndex(),this.refreshAriaColIndex(),this.positionFeature?.init(),this.customStyleFeature?.setComp($),this.editStyleFeature?.setComp($),this.tooltipFeature?.refreshTooltip(),this.keyboardListener?.init(),this.rangeFeature?.setComp($),this.rowResizeFeature?.refreshRowResizer();let q=X?this.isCellEditable():void 0,G=!q&&this.hasEdit&&this.editSvc?.isEditing(this,{withOpenEditor:!0});if(q||G)this.editSvc?.startEditing(this,{startedEdit:!1,source:"api",silent:!0,continueEditing:!0,editable:q});else this.showValue(!1,!0);if(this.onCompAttachedFuncs.length){for(let _ of this.onCompAttachedFuncs)_();this.onCompAttachedFuncs=[]}}checkFormulaError(){let $=!!this.beans.formula?.getFormulaError(this.column,this.rowNode);this.eGui.classList.toggle("formula-error",$)}setupAutoHeight($,z){this.isAutoHeight=this.beans.rowAutoHeight?.setupCellAutoHeight(this,$,z)??!1}getCellAriaRole(){return this.column.getColDef().cellAriaRole??"gridcell"}isCellRenderer(){let $=this.column.getColDef();return $.cellRenderer!=null||$.cellRendererSelector!=null}getValueToDisplay(){return this.valueFormatted??this.value}getDeferLoadingCellRenderer(){let{beans:$,column:z}=this,{userCompFactory:Q,ctrlsSvc:J,eventSvc:Z}=$,X=z.getColDef(),Y=this.createCellRendererParams();Y.deferRender=!0;let q=F5(Q,X,Y);if(J.getGridBodyCtrl()?.scrollFeature?.isScrolling()){let G,_=new g((U)=>{G=U}),[H]=this.addManagedListeners(Z,{bodyScrollEnd:()=>{G(),H()}});return{loadingComp:q,onReady:_}}return{loadingComp:q,onReady:g.resolve()}}showValue($,z){let{beans:Q,column:J,rowNode:Z,rangeFeature:X}=this,{userCompFactory:Y}=Q,q=this.getValueToDisplay(),G,_=Z.stub&&Z.groupData?.[J.getId()]==null,H=J.getColDef();if(_||this.isCellRenderer()){let U=this.createCellRendererParams();if(!_||v0(J))G=oQ(Y,H,U);else G=F5(Y,H,U)}if(!G&&!_&&Q.findSvc?.isMatch(Z,J)){let U=this.createCellRendererParams();G=oQ(Y,{...J.getColDef(),cellRenderer:"agFindCellRenderer"},U)}if(this.hasEdit&&this.editSvc.isBatchEditing()&&this.editSvc.isRowEditing(Z,{checkSiblings:!0})){let U=this.editSvc.prepDetailsDuringBatch(this,{compDetails:G,valueToDisplay:q});if(U){if(U.compDetails)G=U.compDetails;else if(U.valueToDisplay)q=U.valueToDisplay}}if(this.comp.setRenderDetails(G,q,$),this.customRowDragComp?.refreshVisibility(),!z&&X)Y$(Q,()=>X?.refreshRangeStyleAndHandle());this.rowResizeFeature?.refreshRowResizer()}setupControlComps(){let $=this.column.getColDef();this.includeSelection=this.isIncludeControl(this.isCheckboxSelection($),!0),this.includeRowDrag=this.isIncludeControl($.rowDrag),this.includeDndSource=this.isIncludeControl($.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",Q="";if(z)Q=" ag-allow-overflow";return`ag-cell-value${Q}`}isIncludeControl($,z=!1){return(this.rowNode.rowPinned==null||z&&iJ(this.rowNode))&&!!$}isCheckboxSelection($){let{rowSelection:z,groupDisplayType:Q}=this.beans.gridOptions,J=EQ(z),Z=I$(this.column);if(Q==="custom"&&J!=="selectionColumn"&&Z)return!1;return $.checkboxSelection||Z&&typeof z==="object"&&Qz(z)}refreshShouldDestroy(){let $=this.column.getColDef(),z=this.includeSelection!=this.isIncludeControl(this.isCheckboxSelection($),!0),Q=this.includeRowDrag!=this.isIncludeControl($.rowDrag),J=this.includeDndSource!=this.isIncludeControl($.dndSource),Z=this.isAutoHeight!=this.column.isAutoHeight();return z||Q||J||Z}onPopupEditorClosed($){let{editSvc:z}=this.beans;if(!z?.isEditing(this,{withOpenEditor:!0}))return;let Q=$ instanceof KeyboardEvent,J=$ instanceof MouseEvent,Z=Q&&$.key===A.ESCAPE;if(z.stopEditing(this,{source:z.isBatchEditing()?"ui":"api",cancel:Z,event:Q||J?$:void 0}),Z)this.focusCell(!0,$)}stopEditing($=!1){let{editSvc:z}=this.beans;return z?.stopEditing(this,{cancel:$,source:z?.isBatchEditing()?"ui":"api"})??!1}createCellRendererParams(){let{value:$,valueFormatted:z,column:Q,rowNode:J,comp:Z,eGui:X,beans:{valueSvc:Y,gos:q,editSvc:G}}=this;return y(q,{value:$,valueFormatted:z,getValue:()=>Y.getValueForDisplay({column:Q,node:J,from:"edit"}).value,setValue:(H)=>G?.setDataValue({rowNode:J,column:Q},H)||J.setDataValue(Q,H),formatValue:this.formatValue.bind(this),data:J.data,node:J,pinned:Q.getPinned(),colDef:Q.getColDef(),column:Q,refreshCell:this.refreshCell.bind(this),eGridCell:X,eParentOfValue:Z.getParentOfValue(),registerRowDragger:(H,U,W,B)=>this.registerRowDragger(H,U,B),setTooltip:(H,U)=>{if(q.assertModuleRegistered("Tooltip",3),this.tooltipFeature)this.disableTooltipFeature();this.enableTooltipFeature(H,U),this.tooltipFeature?.refreshTooltip()}})}onCellChanged($){if($.column===this.column)this.refreshCell()}refreshOrDestroyCell($){if(this.refreshShouldDestroy())this.rowCtrl?.recreateCell(this);else this.refreshCell($);if(this.hasEdit&&this.editCompDetails){let{editSvc:z,comp:Q}=this;if(!Q?.getCellEditor()&&z.isEditing(this,{withOpenEditor:!0}))z.startEditing(this,{startedEdit:!1,source:"api",silent:!0})}}refreshCell($){let{editStyleFeature:z,customStyleFeature:Q,rowCtrl:{rowEditStyleFeature:J},beans:{cellFlashSvc:Z,filterManager:X},column:Y,comp:q,suppressRefreshCell:G,tooltipFeature:_}=this;if(G)return;let{field:H,valueGetter:U,showRowGroup:W,enableCellChangeFlash:B}=Y.getColDef(),E=H==null&&U==null&&W==null,K=$?.newData??!1,L=E||$&&($.force||K),D=!!q,F=this.updateAndFormatValue(D),M=L||F;if(!D)return;if(M){this.showValue(!!K,!1);let k=X?.isSuppressFlashingCellsBecauseFiltering();if(!$?.suppressFlash&&!k&&B)Z?.flashCell(this);z?.applyCellStyles?.(),Q?.applyUserStyles(),Q?.applyClassesFromColDef(),J?.applyRowStyles(),this.checkFormulaError()}_?.refreshTooltip(),Q?.applyCellClassRules()}isCellEditable(){return this.column.isCellEditable(this.rowNode)}formatValue($){return this.callValueFormatter($)??$}callValueFormatter($){return this.beans.valueSvc.formatValue(this.column,this.rowNode,$)}updateAndFormatValue($){let z=this.value,Q=this.valueFormatted,{value:J,valueFormatted:Z}=this.beans.valueSvc.getValueForDisplay({column:this.column,node:this.rowNode,includeValueFormatted:!0,from:"edit"});if(this.value=J,this.valueFormatted=Z,$)return!this.valuesAreEqual(z,this.value)||this.valueFormatted!=Q;return!0}valuesAreEqual($,z){let Q=this.column.getColDef();return Q.equals?Q.equals($,z):$===z}addDomData($){let z=this.eGui;wz(this.beans.gos,z,_J,this),$.addDestroyFunc(()=>wz(this.beans.gos,z,_J,null))}createEvent($,z){let{rowNode:Q,column:J,value:Z,beans:X}=this;return uE(X,$,z,{rowNode:Q,column:J},Z)}processCharacter($){this.keyboardListener?.processCharacter($)}onKeyDown($){this.keyboardListener?.onKeyDown($)}onMouseEvent($,z){this.mouseListener?.onMouseEvent($,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:$,column:z,beans:Q}=this;d7($,z,Q.visibleCols)}refreshAriaColIndex(){let $=this.beans.visibleCols.getAriaColIndex(this.column);T6(this.eGui,$)}onWidthChanged(){return this.positionFeature?.onWidthChanged()}getRowPosition(){let{rowIndex:$,rowPinned:z}=this.cellPosition;return{rowIndex:$,rowPinned:z}}updateRangeBordersIfRangeCount(){if(!this.comp)return;this.rangeFeature?.updateRangeBordersIfRangeCount()}onCellSelectionChanged(){if(!this.comp)return;this.rangeFeature?.onCellSelectionChanged()}isRangeSelectionEnabled(){return this.rangeFeature!=null}focusCell($=!1,z){let Q=this.editSvc?.allowedFocusTargetOnValidation(this);if(Q&&Q!==this)return;this.beans.focusSvc.setFocusedCell({...this.getFocusedCellPosition(),forceBrowserFocus:$,sourceEvent:z})}restoreFocus($=!1){let{beans:{editSvc:z,focusSvc:Q},comp:J}=this;if(!J||z?.isEditing(this)||!this.isCellFocused()||!Q.shouldTakeFocus())return;let Z=()=>{if(!this.isAlive())return;let X=J.getFocusableElement();if(this.isCellFocused())X.focus({preventScroll:!0})};if($){setTimeout(Z,0);return}Z()}onRowIndexChanged(){this.createCellPosition(),this.refreshAriaRowIndex(),this.onCellFocused(),this.restoreFocus(),this.rangeFeature?.onCellSelectionChanged(),this.rowResizeFeature?.refreshRowResizer()}onSuppressCellFocusChanged($){let z=this.eGui;if(!z)return;Pz(z,"tabindex",$?void 0:-1)}onFirstRightPinnedChanged(){if(!this.comp)return;let $=this.column.isFirstRightPinned();this.comp.toggleCss(rE,$)}onLastLeftPinnedChanged(){if(!this.comp)return;let $=this.column.isLastLeftPinned();this.comp.toggleCss(lE,$)}checkCellFocused(){return this.beans.focusSvc.isCellFocused(this.cellPosition)}isCellFocused(){let $=this.checkCellFocused();return this.hasBeenFocused||(this.hasBeenFocused=$),$}setupFocus(){this.restoreFocus(!0),this.onCellFocused(this.focusEventWhileNotReady??void 0)}onCellFocused($){let{beans:z}=this;if(GJ(z))return;if(!this.comp){if($)this.focusEventWhileNotReady=$;return}let Q=this.isCellFocused(),J=z.editSvc?.isEditing(this)??!1;if(this.comp.toggleCss(sE,Q),Q&&($?.forceBrowserFocus||!this.hasBrowserFocus()&&this.beans.focusSvc.shouldTakeFocus())){let Z=this.comp.getFocusableElement();if(J){let Y=E$(Z,null,!0);if(Y.length)Z=Y[0]}let X=$?$.preventScrollOnBrowserFocus:!0;Z.focus({preventScroll:X}),$q(z,Z)}if(Q&&this.focusEventWhileNotReady)this.focusEventWhileNotReady=null;if(Q&&$)this.rowCtrl.announceDescription()}createCellPosition(){let{rowIndex:$,rowPinned:z}=this.rowNode;this.cellPosition={rowIndex:$,rowPinned:j$(z),column:this.column}}applyStaticCssClasses(){let{comp:$}=this;$.toggleCss(nE,!0),$.toggleCss(aE,!0);let z=this.column.isAutoHeight()==!0;$.toggleCss(dE,z),$.toggleCss(tE,!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 $=this.column.getColDef().wrapText==!0;this.comp.toggleCss(oE,$)}dispatchCellContextMenuEvent($){let z=this.column.getColDef(),Q=this.createEvent($,"cellContextMenu"),{beans:J}=this;if(J.eventSvc.dispatchEvent(Q),z.onCellContextMenu)window.setTimeout(()=>{J.frameworkOverrides.wrapOutgoing(()=>{z.onCellContextMenu(Q)})},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 $=this.beans.selectionSvc?.createCheckboxSelectionComponent();if(!$)return;return this.beans.context.createBean($),$.init({rowNode:this.rowNode,column:this.column}),$}createDndSource(){let $=this.beans.registry.createDynamicBean("dndSourceComp",!1,this.rowNode,this.column,this.eGui);if($)this.beans.context.createBean($);return $}registerRowDragger($,z,Q){if(this.customRowDragComp){this.customRowDragComp.setDragElement($,z);return}let J=this.createRowDragComp($,z,Q);if(J)this.customRowDragComp=J,this.addDestroyFunc(()=>{this.beans.context.destroyBean(J),this.customRowDragComp=null}),J.refreshVisibility()}createRowDragComp($,z,Q){let J=this.beans.rowDragSvc?.createRowDragCompForCell(this.rowNode,this.column,()=>this.value,$,z,Q);if(!J)return;return this.beans.context.createBean(J),J}cellEditorAttached(){for(let $ of this.onEditorAttachedFuncs)$();this.onEditorAttachedFuncs=[]}setFocusedCellPosition($){}getFocusedCellPosition(){return this.cellPosition}refreshAriaRowIndex(){if(!v0(this.column)||!this.eGui)return;let{ariaRowIndex:$}=this.rowCtrl;if($!=null)e1(this.eGui,$)}getRootElement(){return this.eGui}};function n8($,z,Q,J,Z,X){if(Q==null&&z==null)return;let Y={},q={},G=(_,H)=>{for(let U of _.split(" ")){if(U.trim()=="")continue;H(U)}};if(Q){let _=Object.keys(Q);for(let H=0;H<_.length;H++){let U=_[H],W=Q[U],B;if(typeof W==="string")B=$?$.evaluate(W,J):!0;else if(typeof W==="function")B=W(J);G(U,(E)=>{if(B)Y[E]=!0;else q[E]=!0})}}if(z&&X)for(let _ of Object.keys(z))G(_,(H)=>{if(!Y[H])q[H]=!0});if(X)Object.keys(q).forEach(X);Object.keys(Y).forEach(Z)}function o5($){if($.group)return $.level;let z=$.parent;return z?z.level+1:0}var $3=0,D2=class extends S{constructor($,z,Q,J,Z){super();this.rowNode=$,this.useAnimationFrameForCreate=J,this.printLayout=Z,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=$.id+"-"+$3++,this.rowId=W0($.id),this.initRowBusinessKey(),this.rowFocused=z.focusSvc.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned),this.rowLevel=o5(this.rowNode),this.setRowType(),this.setAnimateFlags(Q),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 $=this.businessKeyForNodeFunc(this.rowNode);this.businessKey=W0($)}updateGui($,z){if($==="left")this.leftGui=z;else if($==="right")this.rightGui=z;else if($==="fullWidth")this.fullWidthGui=z;else this.centerGui=z}setComp($,z,Q,J){let{context:Z,rowRenderer:X}=this.beans;J=B1(this,Z,J);let Y={rowComp:$,element:z,containerType:Q,compBean:J};this.allRowGuis.push(Y),this.updateGui(Q,Y),this.initialiseRowComp(Y);let q=this.rowNode,G=this.rowType==="FullWidthLoading"||q.stub,_=!q.data&&this.beans.rowModel.getType()==="infinite";if(!G&&!_&&!q.rowPinned)X.dispatchFirstDataRenderedEvent();this.setupFocus()}unsetComp($){this.allRowGuis=this.allRowGuis.filter((z)=>z.containerType!==$),this.updateGui($,void 0)}isCacheable(){return this.rowType==="FullWidthDetail"&&this.gos.get("keepDetailRows")}setCached($){let z=$?"none":"";for(let Q of this.allRowGuis)Q.element.style.display=z}initialiseRowComp($){let z=this.gos;if(this.onSuppressCellFocusChanged(this.beans.gos.get("suppressCellFocus")),this.listenOnDomOrder($),this.onRowHeightChanged($),this.updateRowIndexes($),this.setFocusedClasses($),this.setStylesFromGridOptions(!1,$),h$(z)&&this.rowNode.selectable)this.onRowSelected($);this.updateColumnLists(!this.useAnimationFrameForCreate);let Q=$.rowComp,J=this.getInitialRowClasses($.containerType);for(let Z of J)Q.toggleCss(Z,!0);if(this.executeSlideAndFadeAnimations($),this.rowNode.group)w0($.element,!!this.rowNode.expanded);if(this.setRowCompRowId(Q),this.setRowCompRowBusinessKey(Q),wz(z,$.element,HJ,this),$.compBean.addDestroyFunc(()=>wz(z,$.element,HJ,null)),this.useAnimationFrameForCreate)this.beans.animationFrameSvc.createTask(this.addHoverFunctionality.bind(this,$),this.rowNode.rowIndex,"p2",!1);else this.addHoverFunctionality($);if(this.isFullWidth())this.setupFullWidth($);if(z.get("rowDragEntireRow"))this.addRowDraggerToRow($);if(this.useAnimationFrameForCreate)this.beans.animationFrameSvc.addDestroyTask(()=>{if(!this.isAlive())return;$.rowComp.toggleCss("ag-after-created",!0)});this.executeProcessRowPostCreateFunc()}setRowCompRowBusinessKey($){if(this.businessKey==null)return;$.setRowBusinessKey(this.businessKey)}setRowCompRowId($){let z=W0(this.rowNode.id);if(this.rowId=z,z==null)return;$.setRowId(z)}executeSlideAndFadeAnimations($){let{containerType:z}=$;if(this.slideInAnimation[z])eZ(()=>{this.onTopChanged()}),this.slideInAnimation[z]=!1;if(this.fadeInAnimation[z])eZ(()=>{$.rowComp.toggleCss("ag-opacity-zero",!1)}),this.fadeInAnimation[z]=!1}addRowDraggerToRow($){let z=this.beans.rowDragSvc?.createRowDragCompForRow(this.rowNode,$.element);if(!z)return;let Q=this.createBean(z,this.beans.context);this.rowDragComps.push(Q),$.compBean.addDestroyFunc(()=>{this.rowDragComps=this.rowDragComps.filter((J)=>J!==Q),this.rowEditStyleFeature=this.destroyBean(this.rowEditStyleFeature,this.beans.context),this.destroyBean(Q,this.beans.context)})}setupFullWidth($){let z=this.getPinnedForContainer($.containerType),Q=this.createFullWidthCompDetails($.element,z);$.rowComp.showFullWidth(Q)}getFullWidthCellRenderers(){if(this.gos.get("embedFullWidthRows"))return this.allRowGuis.map(($)=>$?.rowComp?.getFullWidthCellRenderer());return[this.fullWidthGui?.rowComp?.getFullWidthCellRenderer()]}executeProcessRowPostCreateFunc(){let $=this.gos.getCallback("processRowPostCreate");if(!$||!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)};$(z)}areAllContainersReady(){let{leftGui:$,centerGui:z,rightGui:Q,beans:{visibleCols:J}}=this,Z=!!$||!J.isPinningLeft(),X=!!z,Y=!!Q||!J.isPinningRight();return Z&&X&&Y}isNodeFullWidthCell(){if(this.rowNode.detail)return!0;let $=this.beans.gos.getCallback("isFullWidthRow");return $?$({rowNode:this.rowNode}):!1}setRowType(){let{rowNode:$,gos:z,beans:{colModel:Q}}=this,J=$.stub&&!z.get("suppressServerSideFullWidthLoadingRow")&&!z.get("groupHideOpenParents"),Z=this.isNodeFullWidthCell(),X=z.get("masterDetail")&&$.detail,Y=Q.isPivotMode(),q=Y7(z,$,Y);if(J)this.rowType="FullWidthLoading";else if(X)this.rowType="FullWidthDetail";else if(Z)this.rowType="FullWidth";else if(q)this.rowType="FullWidthGroup";else this.rowType="Normal"}updateColumnLists($=!1,z=!1){if(this.isFullWidth())return;let{animationFrameSvc:Q}=this.beans;if(!Q?.active||$||this.printLayout){this.updateColumnListsImpl(z);return}if(this.updateColumnListsPending)return;Q.createTask(()=>{if(!this.active)return;this.updateColumnListsImpl(!0)},this.rowNode.rowIndex,"p1",!1),this.updateColumnListsPending=!0}getNewCellCtrl($){if(this.beans.rowSpanSvc?.isCellSpanning($,this.rowNode))return;return new uQ($,this.rowNode,this.beans,this)}isCorrectCtrlForSpan($){return!this.beans.rowSpanSvc?.isCellSpanning($.column,this.rowNode)}createCellCtrls($,z,Q=null){let J={list:[],map:{}},Z=(_,H,U)=>{if(U!=null)J.list.splice(U,0,H);else J.list.push(H);J.map[_]=H},X=[];for(let _ of z){let H=_.getInstanceId(),U=$.map[H];if(U&&!this.isCorrectCtrlForSpan(U))U.destroy(),U=void 0;if(!U)U=this.getNewCellCtrl(_);if(!U)continue;Z(H,U)}for(let _ of $.list){let H=_.column.getInstanceId();if(J.map[H]!=null)continue;if(!this.isCellEligibleToBeRemoved(_,Q))X.push([H,_]);else _.destroy()}if(X.length)for(let[_,H]of X){let U=J.list.findIndex((B)=>B.column.getLeft()>H.column.getLeft()),W=U===-1?void 0:Math.max(U-1,0);Z(_,H,W)}let{focusSvc:Y,visibleCols:q}=this.beans,G=Y.getFocusedCell();if(G&&G.column.getPinned()==Q){let _=G.column.getInstanceId();if(!J.map[_]&&q.allCols.includes(G.column)){let U=this.createFocusedCellCtrl();if(U){let W=J.list.findIndex((E)=>E.column.getLeft()>U.column.getLeft()),B=W===-1?void 0:Math.max(W-1,0);Z(_,U,B)}}}return J}createFocusedCellCtrl(){let{focusSvc:$,rowSpanSvc:z}=this.beans,Q=$.getFocusedCell();if(!Q)return;let J=z?.getCellSpan(Q.column,this.rowNode);if(J){if(J.firstNode!==this.rowNode||!J.doesSpanContain(Q))return}else if(!$.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned))return;return this.getNewCellCtrl(Q.column)}updateColumnListsImpl($){this.updateColumnListsPending=!1,this.createAllCellCtrls(),this.setCellCtrls($)}setCellCtrls($){for(let z of this.allRowGuis){let Q=this.getCellCtrlsForContainer(z.containerType);z.rowComp.setCellCtrls(Q,$)}}getCellCtrlsForContainer($){switch($){case"left":return this.leftCellCtrls.list;case"right":return this.rightCellCtrls.list;case"fullWidth":return[];case"center":return this.centerCellCtrls.list}}createAllCellCtrls(){let $=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 Q=$.getColsWithinViewport(this.rowNode);this.centerCellCtrls=this.createCellCtrls(this.centerCellCtrls,Q);let J=z.getLeftColsForRow(this.rowNode);this.leftCellCtrls=this.createCellCtrls(this.leftCellCtrls,J,"left");let Z=z.getRightColsForRow(this.rowNode);this.rightCellCtrls=this.createCellCtrls(this.rightCellCtrls,Z,"right")}}isCellEligibleToBeRemoved($,z){let{column:Z}=$;if(Z.getPinned()!=z)return!0;if(!this.isCorrectCtrlForSpan($))return!0;let{visibleCols:X,editSvc:Y}=this.beans,q=Y?.isEditing($),G=$.isCellFocused();if(q||G)return X.allCols.indexOf(Z)>=0?!1:!0;return!0}getDomOrder(){return this.gos.get("ensureDomOrder")||V0(this.gos,"print")}listenOnDomOrder($){let z=()=>{$.rowComp.setDomOrder(this.getDomOrder())};$.compBean.addManagedPropertyListeners(["domLayout","ensureDomOrder"],z)}setAnimateFlags($){if(this.rowNode.sticky||!$)return;let z=T(this.rowNode.oldRowTop),{visibleCols:Q}=this.beans,J=Q.isPinningLeft(),Z=Q.isPinningRight();if(z){let{slideInAnimation:X}=this;if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows")){X.fullWidth=!0;return}X.center=!0,X.left=J,X.right=Z}else{let{fadeInAnimation:X}=this;if(this.isFullWidth()&&!this.gos.get("embedFullWidthRows")){X.fullWidth=!0;return}X.center=!0,X.left=J,X.right=Z}}isFullWidth(){return this.rowType!=="Normal"}refreshFullWidth(){let $=(Y,q)=>{if(!Y)return!0;return Y.rowComp.refreshFullWidth(()=>{return this.createFullWidthCompDetails(Y.element,q).params})},z=$(this.fullWidthGui,null),Q=$(this.centerGui,null),J=$(this.leftGui,"left"),Z=$(this.rightGui,"right");return z&&Q&&J&&Z}addListeners(){let{beans:$,gos:z,rowNode:Q}=this,{expansionSvc:J,eventSvc:Z,context:X,rowSpanSvc:Y}=$;if(this.addManagedListeners(this.rowNode,{heightChanged:()=>this.onRowHeightChanged(),rowSelected:()=>this.onRowSelected(),rowIndexChanged:this.onRowIndexChanged.bind(this),topChanged:this.onTopChanged.bind(this),...J?.getRowExpandedListeners(this)??{}}),Q.detail)this.addManagedListeners(Q.parent,{dataChanged:this.onRowNodeDataChanged.bind(this)});if(this.addManagedListeners(Q,{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(Z,{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:q})=>{if(q&&!Q.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 G of this.allRowGuis)this.addRowDraggerToRow(G);return}this.rowDragComps=this.destroyBeans(this.rowDragComps,X)}),this.addListenersForCellComps()}addListenersForCellComps(){this.addManagedListeners(this.rowNode,{rowIndexChanged:()=>{for(let $ of this.getAllCellCtrls())$.onRowIndexChanged()},cellChanged:($)=>{for(let z of this.getAllCellCtrls())z.onCellChanged($)}})}onRowPinned(){for(let $ of this.allRowGuis)$.rowComp.toggleCss("ag-row-pinned-source",!!this.rowNode.pinnedSibling)}onRowNodeDataChanged($){this.refreshRow({suppressFlash:!$.update,newData:!$.update})}refreshRow($){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 Q of this.getAllCellCtrls())Q.refreshCell($);for(let Q of this.allRowGuis)this.setRowCompRowId(Q.rowComp),this.updateRowBusinessKey(),this.setRowCompRowBusinessKey(Q.rowComp);this.onRowSelected(),this.postProcessCss()}postProcessCss(){this.setStylesFromGridOptions(!0),this.postProcessClassesFromGridOptions(),this.postProcessRowClassRules(),this.rowEditStyleFeature?.applyRowStyles(),this.postProcessRowDragging()}onRowNodeHighlightChanged(){let $=this.beans.rowDropHighlightSvc,z=$?.row===this.rowNode?$.position:"none",Q=z==="above",J=z==="inside",Z=z==="below",X=z!=="none",Y=Q||Z,q=this.rowNode.uiLevel,G=Y&&q>0,_=G?q.toString():"0";for(let H of this.allRowGuis){let U=H.rowComp;if(U.toggleCss("ag-row-highlight-above",Q),U.toggleCss("ag-row-highlight-inside",J),U.toggleCss("ag-row-highlight-below",Z),U.toggleCss("ag-row-highlight-indent",G),X)H.element.style.setProperty("--ag-row-highlight-level",_);else H.element.style.removeProperty("--ag-row-highlight-level")}}postProcessRowDragging(){let $=this.rowNode.dragging;for(let z of this.allRowGuis)z.rowComp.toggleCss("ag-row-dragging",$)}onDisplayedColumnsChanged(){this.updateColumnLists(!0),this.beans.rowAutoHeight?.requestCheckAutoHeight()}onVirtualColumnsChanged(){this.updateColumnLists(!1,!0)}getRowPosition(){return{rowPinned:j$(this.rowNode.rowPinned),rowIndex:this.rowNode.rowIndex}}onKeyboardNavigate($){let z=this.findFullWidthInfoForEvent($);if(!z)return;let{rowGui:Q,column:J}=z;if(Q.element!==$.target)return;let Y=this.rowNode,{focusSvc:q,navigation:G}=this.beans,_=q.getFocusedCell(),H={rowIndex:Y.rowIndex,rowPinned:Y.rowPinned,column:_?.column??J};G?.navigateToNextCell($,$.key,H,!0),$.preventDefault()}onTabKeyDown($){if($.defaultPrevented||z$($))return;let z=this.allRowGuis.find((q)=>q.element.contains($.target)),Q=z?z.element:null,J=Q===$.target,Z=d(this.beans),X=!1;if(Q&&Z)X=Q.contains(Z)&&Z.classList.contains("ag-cell");let Y=null;if(!J&&!X)Y=j0(this.beans,Q,!1,$.shiftKey);if(this.isFullWidth()&&J||!Y)this.beans.navigation?.onTabKeyDown(this,$)}getFullWidthElement(){if(this.fullWidthGui)return this.fullWidthGui.element;return null}getRowYPosition(){let $=this.allRowGuis.find((z)=>A0(z.element))?.element;if($)return $.getBoundingClientRect().top;return 0}onSuppressCellFocusChanged($){let z=this.isFullWidth()&&$?void 0:this.gos.get("tabIndex");for(let Q of this.allRowGuis)Pz(Q.element,"tabindex",z)}setupFocus(){if(!this.isFullWidth())return;this.restoreFullWidthFocus(!0),this.onFullWidthRowFocused(this.focusEventWhileNotReady??void 0)}restoreFullWidthFocus($=!1){let{focusSvc:z,editSvc:Q}=this.beans;if(Q?.isEditing(this))return;if(!z.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned)||!z.shouldTakeFocus())return;let J=this.getFullWidthRowGuiForFocus();if(!J)return;let Z=()=>{if(!this.isAlive())return;if(z.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned))J.element.focus({preventScroll:!0})};if($){setTimeout(Z,0);return}Z()}getFullWidthRowGuiForFocus($){if(this.fullWidthGui)return this.fullWidthGui;let z=this.beans.focusSvc.getFocusedCell(),Q=this.beans.colModel.getCol($?.column??z?.column);if(!Q)return;let J=Q?.pinned;if(J==="right")return this.rightGui;if(J==="left")return this.leftGui;return this.centerGui}setFullWidthRowFocusedClass($,z){this.forEachGui(void 0,(Q)=>{Q.element.classList.toggle("ag-full-width-focus",z&&Q===$)})}onFullWidthRowFocused($){let{focusSvc:z}=this.beans;if(!(this.isFullWidth()&&z.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned))){this.setFullWidthRowFocusedClass(void 0,!1);return}let J=this.getFullWidthRowGuiForFocus($);if(!J){if($)this.focusEventWhileNotReady=$;this.setFullWidthRowFocusedClass(void 0,!1);return}if(this.setFullWidthRowFocusedClass(J,!0),this.focusEventWhileNotReady=null,$?.forceBrowserFocus)J.element.focus({preventScroll:!0})}recreateCell($){this.centerCellCtrls=this.removeCellCtrl(this.centerCellCtrls,$),this.leftCellCtrls=this.removeCellCtrl(this.leftCellCtrls,$),this.rightCellCtrls=this.removeCellCtrl(this.rightCellCtrls,$),$.destroy(),this.updateColumnLists()}removeCellCtrl($,z){let Q={list:[],map:{}};for(let J of $.list){if(J===z)continue;Q.list.push(J),Q.map[J.column.getInstanceId()]=J}return Q}onMouseEvent($,z){switch($){case"dblclick":this.onRowDblClick(z);break;case"click":this.onRowClick(z);break;case"pointerdown":case"touchstart":case"mousedown":this.onRowMouseDown(z);break}}createRowEvent($,z){let{rowNode:Q}=this;return y(this.gos,{type:$,node:Q,data:Q.data,rowIndex:Q.rowIndex,rowPinned:Q.rowPinned,event:z})}createRowEventWithSource($,z){let Q=this.createRowEvent($,z);return Q.source=this,Q}onRowDblClick($){if(z$($))return;let z=this.createRowEventWithSource("rowDoubleClicked",$);z.isEventHandlingSuppressed=this.isSuppressMouseEvent($),this.beans.eventSvc.dispatchEvent(z)}findFullWidthInfoForEvent($){if(!$)return;let z=this.findFullWidthRowGui($.target),Q=this.getColumnForFullWidth(z);if(!z||!Q)return;return{rowGui:z,column:Q}}findFullWidthRowGui($){return this.allRowGuis.find((z)=>z.element.contains($))}getColumnForFullWidth($){let{visibleCols:z}=this.beans;switch($?.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($){if(this.lastMouseDownOnDragger=vz($.target,"ag-row-drag",3),!this.isFullWidth()||this.isSuppressMouseEvent($))return;let{rangeSvc:z,focusSvc:Q}=this.beans;z?.removeAllCellRanges();let J=this.findFullWidthInfoForEvent($);if(!J)return;let{rowGui:Z,column:X}=J,Y=Z.element,q=$.target,G=this.rowNode,_=$.defaultPrevented||cz();if(Y&&Y.contains(q)&&wQ(q))_=!1;Q.setFocusedCell({rowIndex:G.rowIndex,column:X,rowPinned:G.rowPinned,forceBrowserFocus:_})}isSuppressMouseEvent($){let{gos:z,rowNode:Q}=this;if(this.isFullWidth()){let Z=this.findFullWidthRowGui($.target);return t_(z,Z?.rowComp.getFullWidthCellRendererParams(),Q,$)}let J=E1(z,$.target);return J!=null&&s1(z,J.column,Q,$)}onRowClick($){if(z$($)||this.lastMouseDownOnDragger)return;let Q=this.isSuppressMouseEvent($),{eventSvc:J,selectionSvc:Z}=this.beans,X=this.createRowEventWithSource("rowClicked",$);if(X.isEventHandlingSuppressed=Q,J.dispatchEvent(X),Q)return;Z?.handleSelectionEvent($,this.rowNode,"rowClicked")}setupDetailRowAutoHeight($){if(this.rowType!=="FullWidthDetail")return;this.beans.masterDetailSvc?.setupDetailRowAutoHeight(this,$)}createFullWidthCompDetails($,z){let{gos:Q,rowNode:J}=this,Z=y(Q,{fullWidth:!0,data:J.data,node:J,value:J.key,valueFormatted:J.key,eGridCell:$,eParentOfValue:$,pinned:z,addRenderedRowListener:this.addEventListener.bind(this),registerRowDragger:(Y,q,G,_)=>this.addFullWidthRowDragging(Y,q,G,_),setTooltip:(Y,q)=>{Q.assertModuleRegistered("Tooltip",3),this.setupFullWidthRowTooltip(Y,q)}}),X=this.beans.userCompFactory;switch(this.rowType){case"FullWidthDetail":return yG(X,Z);case"FullWidthGroup":{let{value:Y,valueFormatted:q}=this.beans.valueSvc.getValueForDisplay({node:this.rowNode,includeValueFormatted:!0,from:"edit"});return Z.value=Y,Z.valueFormatted=q,bG(X,Z)}case"FullWidthLoading":return CG(X,Z);default:return IG(X,Z)}}setupFullWidthRowTooltip($,z){if(!this.fullWidthGui)return;this.tooltipFeature=this.beans.tooltipSvc?.setupFullWidthRowTooltip(this.tooltipFeature,this,$,z)}addFullWidthRowDragging($,z,Q="",J){let{rowDragSvc:Z,context:X}=this.beans;if(!Z||!this.isFullWidth())return;let Y=Z.createRowDragComp(()=>Q,this.rowNode,void 0,$,z,J);this.createBean(Y,X),this.addDestroyFunc(()=>{this.destroyBean(Y,X)})}onUiLevelChanged(){let $=o5(this.rowNode);if(this.rowLevel!=$){let z="ag-row-level-"+$,Q="ag-row-level-"+this.rowLevel;for(let J of this.allRowGuis)J.rowComp.toggleCss(z,!0),J.rowComp.toggleCss(Q,!1)}this.rowLevel=$}isFirstRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBounds.getFirstRow()}isLastRowOnPage(){return this.rowNode.rowIndex===this.beans.pageBounds.getLastRow()}refreshFirstAndLastRowStyles(){let $=this.isFirstRowOnPage(),z=this.isLastRowOnPage();if(this.firstRowOnPage!==$){this.firstRowOnPage=$;for(let Q of this.allRowGuis)Q.rowComp.toggleCss("ag-row-first",$)}if(this.lastRowOnPage!==z){this.lastRowOnPage=z;for(let Q of this.allRowGuis)Q.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 $=[];if(this.beans.rowStyleSvc?.processClassesFromGridOptions($,this.rowNode),!$.length)return;for(let z of $)for(let Q of this.allRowGuis)Q.rowComp.toggleCss(z,!0)}postProcessRowClassRules(){this.beans.rowStyleSvc?.processRowClassRules(this.rowNode,($)=>{for(let z of this.allRowGuis)z.rowComp.toggleCss($,!0)},($)=>{for(let z of this.allRowGuis)z.rowComp.toggleCss($,!1)})}setStylesFromGridOptions($,z){if($)this.rowStyles=this.processStylesFromGridOptions();this.forEachGui(z,(Q)=>Q.rowComp.setUserStyles(this.rowStyles))}getPinnedForContainer($){if($==="left"||$==="right")return $;return null}getInitialRowClasses($){let z=this.getPinnedForContainer($),Q=this.isFullWidth(),{rowNode:J,beans:Z}=this,X=[];if(X.push("ag-row"),X.push(this.rowFocused?"ag-row-focus":"ag-row-no-focus"),this.fadeInAnimation[$])X.push("ag-opacity-zero");if(X.push(J.rowIndex%2===0?"ag-row-even":"ag-row-odd"),J.isRowPinned()){if(X.push("ag-row-pinned"),Z.pinnedRowModel?.isManual())X.push("ag-row-pinned-manual")}if(!J.isRowPinned()&&J.pinnedSibling)X.push("ag-row-pinned-source");if(J.isSelected())X.push("ag-row-selected");if(J.footer)X.push("ag-row-footer");if(X.push("ag-row-level-"+this.rowLevel),J.stub)X.push("ag-row-loading");if(Q)X.push("ag-full-width-row");if(Z.expansionSvc?.addExpandedCss(X,J),J.dragging)X.push("ag-row-dragging");let{rowStyleSvc:Y}=Z;if(Y)Y.processClassesFromGridOptions(X,J),Y.preProcessRowClassRules(X,J);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(Q){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($){this.beans.selectionSvc?.onRowCtrlSelected(this,(z)=>{if(z===this.centerGui||z===this.fullWidthGui)this.announceDescription()},$)}announceDescription(){this.beans.selectionSvc?.announceAriaRowSelection(this.rowNode)}addHoverFunctionality($){if(!this.active)return;let{element:z,compBean:Q}=$,{rowNode:J,beans:Z,gos:X}=this;Q.addManagedListeners(z,{pointerenter:(Y)=>{if(Y.pointerType==="mouse")J.dispatchRowEvent("mouseEnter")},pointerleave:(Y)=>{if(Y.pointerType==="mouse")J.dispatchRowEvent("mouseLeave")}}),Q.addManagedListeners(J,{mouseEnter:()=>{if(!Z.dragSvc?.dragging&&!X.get("suppressRowHoverHighlight"))z.classList.add("ag-row-hover"),J.setHovered(!0)},mouseLeave:()=>{this.resetHoveredStatus(z)}})}resetHoveredStatus($){let z=$?[$]:this.allRowGuis.map((Q)=>Q.element);for(let Q of z)Q.classList.remove("ag-row-hover");this.rowNode.setHovered(!1)}roundRowTopToBounds($){let z=this.beans.ctrlsSvc.getScrollFeature().getApproximateVScollPosition(),Q=this.applyPaginationOffset(z.top,!0)-100,J=this.applyPaginationOffset(z.bottom,!0)+100;return Math.min(Math.max(Q,$),J)}forEachGui($,z){if($)z($);else for(let Q of this.allRowGuis)z(Q)}isRowRendered(){return this.allRowGuis.length>0}onRowHeightChanged($){if(this.rowNode.rowHeight==null)return;let z=this.rowNode.rowHeight,Q=this.beans.environment.getDefaultRowHeight(),Z=J7(this.gos)?sQ(this.beans,this.rowNode).height:void 0,X=Z?`${Math.min(Q,Z)-2}px`:void 0;this.forEachGui($,(Y)=>{if(Y.element.style.height=`${z}px`,X)Y.element.style.setProperty("--ag-line-height",X)})}destroyFirstPass($=!1){this.active=!1;let{rowNode:z}=this;if(!$&&HQ(this.gos)&&!z.sticky)if(z.rowTop!=null){let Z=this.roundRowTopToBounds(z.rowTop);this.setRowTop(Z)}else for(let Z of this.allRowGuis)Z.rowComp.toggleCss("ag-opacity-zero",!0);if(this.fullWidthGui?.element.contains(d(this.beans)))this.beans.focusSvc.attemptToRecoverFocus();z.setHovered(!1);let Q=this.createRowEvent("virtualRowRemoved");this.dispatchLocalEvent(Q),this.beans.eventSvc.dispatchEvent(Q),super.destroy()}destroySecondPass(){this.allRowGuis.length=0;let $=(z)=>{for(let Q of z.list)Q.destroy();return{list:[],map:{}}};this.centerCellCtrls=$(this.centerCellCtrls),this.leftCellCtrls=$(this.leftCellCtrls),this.rightCellCtrls=$(this.rightCellCtrls)}setFocusedClasses($){this.forEachGui($,(z)=>{z.rowComp.toggleCss("ag-row-focus",this.rowFocused),z.rowComp.toggleCss("ag-row-no-focus",!this.rowFocused)})}onCellFocusChanged(){let{focusSvc:$}=this.beans,z=$.isRowFocused(this.rowNode.rowIndex,this.rowNode.rowPinned);if(z!==this.rowFocused)this.rowFocused=z,this.setFocusedClasses()}onPaginationChanged(){let $=this.beans.pagination?.getCurrentPage()??0;if(this.paginationPage!==$)this.paginationPage=$,this.onTopChanged();this.refreshFirstAndLastRowStyles()}onTopChanged(){this.setRowTop(this.rowNode.rowTop)}onPaginationPixelOffsetChanged(){this.onTopChanged()}applyPaginationOffset($,z=!1){if(this.rowNode.isRowPinned()||this.rowNode.sticky)return $;let Q=this.beans.pageBounds.getPixelOffset();return $+Q*(z?1:-1)}setRowTop($){if(this.printLayout)return;if(T($)){let z=this.applyPaginationOffset($),Z=`${this.rowNode.isRowPinned()||this.rowNode.sticky?z:this.beans.rowContainerHeight.getRealPixelPosition(z)}px`;this.setRowTopStyle(Z)}}getInitialRowTop($){return this.suppressRowTransform?this.getInitialRowTopShared($):void 0}getInitialTransform($){return this.suppressRowTransform?void 0:`translateY(${this.getInitialRowTopShared($)})`}getInitialRowTopShared($){if(this.printLayout)return"";let z=this.rowNode,Q;if(z.sticky)Q=z.stickyRowTop;else{let J=this.slideInAnimation[$]?this.roundRowTopToBounds(z.oldRowTop):z.rowTop,Z=this.applyPaginationOffset(J);Q=z.isRowPinned()?Z:this.beans.rowContainerHeight.getRealPixelPosition(Z)}return Q+"px"}setRowTopStyle($){for(let z of this.allRowGuis)if(this.suppressRowTransform)z.rowComp.setTop($);else z.rowComp.setTransform(`translateY(${$})`)}getCellCtrl($,z=!1){let Q=null;for(let J of this.getAllCellCtrls())if(J.column==$)Q=J;if(Q!=null||z)return Q;for(let J of this.getAllCellCtrls())if(J?.getColSpanningList().indexOf($)>=0)Q=J;return Q}onRowIndexChanged(){if(this.rowNode.rowIndex!=null)this.onCellFocusChanged(),this.updateRowIndexes(),this.postProcessCss()}updateRowIndexes($){let z=this.rowNode.getRowIndexString();if(z===null)return;let Q=(this.beans.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0)+(this.beans.filterManager?.getHeaderRowCount()??0),J=this.rowNode.rowIndex%2===0,Z=this.ariaRowIndex=Q+this.rowNode.rowIndex+1;this.forEachGui($,(X)=>{X.rowComp.setRowIndex(z),X.rowComp.toggleCss("ag-row-even",J),X.rowComp.toggleCss("ag-row-odd",!J),e1(X.element,Z)})}},z3=class extends S{constructor(){super();this.beanName="navigation",this.onPageDown=B5(this.onPageDown,100),this.onPageUp=B5(this.onPageUp,100)}postConstruct(){this.beans.ctrlsSvc.whenReady(this,($)=>{this.gridBodyCon=$.gridBodyCtrl})}handlePageScrollingKey($,z=!1){let{key:Q,altKey:J}=$,Z=$.ctrlKey||$.metaKey,X=!!this.beans.rangeSvc&&$.shiftKey,Y=U4(this.gos,$),q=!1;switch(Q){case A.PAGE_HOME:case A.PAGE_END:if(!Z&&!J)this.onHomeOrEndKey(Q),q=!0;break;case A.LEFT:case A.RIGHT:case A.UP:case A.DOWN:if(!Y)return!1;if(Z&&!J&&!X)this.onCtrlUpDownLeftRight(Q,Y),q=!0;break;case A.PAGE_DOWN:case A.PAGE_UP:if(!Z&&!J)q=this.handlePageUpDown(Q,Y,z);break}if(q)$.preventDefault();return q}handlePageUpDown($,z,Q){if(Q)z=this.beans.focusSvc.getFocusedCell();if(!z)return!1;if($===A.PAGE_UP)this.onPageUp(z);else this.onPageDown(z);return!0}navigateTo({scrollIndex:$,scrollType:z,scrollColumn:Q,focusIndex:J,focusColumn:Z,isAsync:X,rowPinned:Y}){let{scrollFeature:q}=this.gridBodyCon;if(T(Q)&&!Q.isPinned())q.ensureColumnVisible(Q);if(T($))q.ensureIndexVisible($,z);if(!X)q.ensureIndexVisible(J);let{focusSvc:G}=this.beans;G.setFocusedCell({rowIndex:J,column:Z,rowPinned:Y,forceBrowserFocus:!0}),this.setRangeToCellIfSupported({rowIndex:J,rowPinned:Y,column:Z})}onPageDown($){let z=this.beans,Q=tZ(z),J=this.getViewportHeight(),{pageBounds:Z,rowModel:X,rowAutoHeight:Y}=z,q=Z.getPixelOffset(),G=Q.top+J,_=X.getRowIndexAtPixel(G+q);if(Y?.active)this.navigateToNextPageWithAutoHeight($,_);else this.navigateToNextPage($,_)}onPageUp($){let z=this.beans,Q=tZ(z),{pageBounds:J,rowModel:Z,rowAutoHeight:X}=z,Y=J.getPixelOffset(),q=Q.top,G=Z.getRowIndexAtPixel(q+Y);if(X?.active)this.navigateToNextPageWithAutoHeight($,G,!0);else this.navigateToNextPage($,G,!0)}navigateToNextPage($,z,Q=!1){let{pageBounds:J,rowModel:Z}=this.beans,X=this.getViewportHeight(),Y=J.getFirstRow(),q=J.getLastRow(),G=J.getPixelOffset(),_=Z.getRow($.rowIndex),H=Q?_?.rowHeight-X-G:X-G,U=_?.rowTop+H,W=Z.getRowIndexAtPixel(U+G);if(W===$.rowIndex){let E=Q?-1:1;z=W=$.rowIndex+E}let B;if(Q){if(B="bottom",W<Y)W=Y;if(z<Y)z=Y}else{if(B="top",W>q)W=q;if(z>q)z=q}if(this.isRowTallerThanView(Z.getRow(W)))z=W,B="top";this.navigateTo({scrollIndex:z,scrollType:B,scrollColumn:null,focusIndex:W,focusColumn:$.column})}navigateToNextPageWithAutoHeight($,z,Q=!1){this.navigateTo({scrollIndex:z,scrollType:Q?"bottom":"top",scrollColumn:null,focusIndex:z,focusColumn:$.column}),setTimeout(()=>{let J=this.getNextFocusIndexForAutoHeight($,Q);this.navigateTo({scrollIndex:z,scrollType:Q?"bottom":"top",scrollColumn:null,focusIndex:J,focusColumn:$.column,isAsync:!0})},50)}getNextFocusIndexForAutoHeight($,z=!1){let Q=z?-1:1,J=this.getViewportHeight(),{pageBounds:Z,rowModel:X}=this.beans,Y=Z.getLastRow(),q=0,G=$.rowIndex;while(G>=0&&G<=Y){let _=X.getRow(G);if(_){let H=_.rowHeight??0;if(q+H>J)break;q+=H}G+=Q}return Math.max(0,Math.min(G,Y))}getViewportHeight(){let $=this.beans,z=tZ($),Q=this.beans.scrollVisibleSvc.getScrollbarWidth(),J=z.bottom-z.top;if($.ctrlsSvc.get("center").isHorizontalScrollShowing())J-=Q;return J}isRowTallerThanView($){if(!$)return!1;let z=$.rowHeight;if(typeof z!=="number")return!1;return z>this.getViewportHeight()}onCtrlUpDownLeftRight($,z){let Q=this.beans.cellNavigation.getNextCellToFocus($,z,!0);if(!Q)return;let J=this.getNormalisedPosition(Q),{rowIndex:Z,rowPinned:X,column:Y}=J??Q,q=Y;this.navigateTo({scrollIndex:Z,scrollType:null,scrollColumn:q,focusIndex:Z,focusColumn:q,rowPinned:X})}onHomeOrEndKey($){let z=$===A.PAGE_HOME,{visibleCols:Q,pageBounds:J,rowModel:Z}=this.beans,X=Q.allCols,Y=z?J.getFirstRow():J.getLastRow(),q=Z.getRow(Y);if(!q)return;let G=(z?X:[...X].reverse()).find((_)=>!_.isSuppressNavigable(q)&&!v0(_));if(!G)return;this.navigateTo({scrollIndex:Y,scrollType:null,scrollColumn:G,focusIndex:Y,focusColumn:G})}onTabKeyDown($,z){let Q=z.shiftKey,J=this.tabToNextCellCommon($,Q,z),Z=this.beans,{ctrlsSvc:X,pageBounds:Y,focusSvc:q,gos:G}=Z;if(J!==!1){if(J)z.preventDefault();else if(J===null)X.get("gridCtrl").allowFocusForNextCoreContainer(Q);return}if(Q){let{rowIndex:_,rowPinned:H}=$.getRowPosition();if(H?_===0:_===Y.getFirstRow())if(G.get("headerHeight")===0||H$(Z))Z$(Z,!0,!0);else z.preventDefault(),q.focusPreviousFromFirstCell(z)}else{if($ instanceof uQ)$.focusCell(!0);if(q.focusOverlay(!1)||Z$(Z,Q))z.preventDefault()}}tabToNextCell($,z){let Q=this.beans,{focusSvc:J,rowRenderer:Z}=Q,X=J.getFocusedCell();if(!X)return!1;let Y=e0(Q,X);if(!Y){if(Y=Z.getRowByPosition(X),!Y?.isFullWidth())return!1}return!!this.tabToNextCellCommon(Y,$,z,"api")}tabToNextCellCommon($,z,Q,J="ui"){let{editSvc:Z,focusSvc:X}=this.beans,Y=void 0,q=$ instanceof uQ?$:$.getAllCellCtrls()?.[0];if(Z?.isEditing())Y=Z?.moveToNextCell(q,z,Q,J);else Y=this.moveToNextCellNotEditing($,z,Q);if(Y===null)return Y;return Y||!!X.focusedHeader}moveToNextCellNotEditing($,z,Q){let J=this.beans.visibleCols.allCols,Z;if($ instanceof D2){if(Z={...$.getRowPosition(),column:z?J[0]:b(J)},this.gos.get("embedFullWidthRows")&&Q){let Y=$.findFullWidthInfoForEvent(Q);if(Y)Z.column=Y.column}}else Z=$.getFocusedCellPosition();let X=this.findNextCellToFocusOn(Z,{backwards:z,startEditing:!1});if(X===!1)return null;if(X instanceof uQ)X.focusCell(!0);else if(X)return this.tryToFocusFullWidthRow(X,z);return T(X)}findNextCellToFocusOn($,{backwards:z,startEditing:Q,skipToNextEditableCell:J}){let Z=$,X=this.beans,{cellNavigation:Y,gos:q,focusSvc:G,rowRenderer:_}=X;while(!0){if($!==Z)$=Z;if(!z)Z=this.getLastCellOfColSpan(Z);Z=Y.getNextTabbedCell(Z,z);let H=q.getCallback("tabToNextCell");if(T(H)){let E=H({backwards:z,editing:Q,previousCellPosition:$,nextCellPosition:Z?Z:null});if(E===!0)Z=$;else if(E===!1)return!1;else Z={rowIndex:E.rowIndex,column:E.column,rowPinned:E.rowPinned}}if(!Z)return null;if(Z.rowIndex<0){let B=l0(X);return G.focusHeaderPosition({headerPosition:{headerRowIndex:B+Z.rowIndex,column:Z.column},fromCell:!0}),null}let U=q.get("editType")==="fullRow";if(Q&&(!U||J)){if(!this.isCellEditable(Z))continue}this.ensureCellVisible(Z);let W=e0(X,Z);if(!W){let B=_.getRowByPosition(Z);if(!B||!B.isFullWidth()||Q)continue;return{...B.getRowPosition(),column:Z?.column}}if(Y.isSuppressNavigable(W.column,W.rowNode))continue;return W.setFocusedCellPosition(Z),this.setRangeToCellIfSupported(Z),W}}isCellEditable($){let z=this.lookupRowNodeForCell($);if(z)return $.column.isCellEditable(z);return!1}lookupRowNodeForCell({rowIndex:$,rowPinned:z}){let{pinnedRowModel:Q,rowModel:J}=this.beans;if(z==="top")return Q?.getPinnedTopRow($);if(z==="bottom")return Q?.getPinnedBottomRow($);return J.getRow($)}navigateToNextCell($,z,Q,J){let Z=Q,X=!1,Y=this.beans,{cellNavigation:q,focusSvc:G,gos:_}=Y;while(Z&&(Z===Q||!this.isValidNavigateCell(Z))){if(_.get("enableRtl")){if(z===A.LEFT)Z=this.getLastCellOfColSpan(Z)}else if(z===A.RIGHT)Z=this.getLastCellOfColSpan(Z);Z=q.getNextCellToFocus(z,Z),X=n(Z)}if(X&&$&&$.key===A.UP)Z={rowIndex:-1,rowPinned:null,column:Q.column};if(J){let U=_.getCallback("navigateToNextCell");if(T(U)){let B=U({key:z,previousCellPosition:Q,nextCellPosition:Z?Z:null,event:$});if(T(B))Z={rowPinned:B.rowPinned,rowIndex:B.rowIndex,column:B.column};else Z=null}}if(!Z)return;if(Z.rowIndex<0){let U=l0(Y);G.focusHeaderPosition({headerPosition:{headerRowIndex:U+Z.rowIndex,column:Z.column??Q.column},event:$||void 0,fromCell:!0});return}let H=this.getNormalisedPosition(Z);if(H)this.focusPosition(H);else this.tryToFocusFullWidthRow(Z)}getNormalisedPosition($){if(!!this.beans.spannedRowRenderer?.getCellByPosition($))return $;this.ensureCellVisible($);let Q=e0(this.beans,$);if(!Q)return null;return $=Q.getFocusedCellPosition(),this.ensureCellVisible($),$}tryToFocusFullWidthRow($,z){let{visibleCols:Q,rowRenderer:J,focusSvc:Z,eventSvc:X}=this.beans,Y=Q.allCols;if(!J.getRowByPosition($)?.isFullWidth())return!1;let G=Z.getFocusedCell(),_={rowIndex:$.rowIndex,rowPinned:$.rowPinned,column:$.column||(z?b(Y):Y[0])};this.focusPosition(_);let H=z==null?G!=null&&G0(_,G):z;return X.dispatchEvent({type:"fullWidthRowFocused",rowIndex:_.rowIndex,rowPinned:_.rowPinned,column:_.column,isFullWidthCell:!0,fromBelow:H}),!0}focusPosition($){let{focusSvc:z}=this.beans;z.setFocusedCell({rowIndex:$.rowIndex,column:$.column,rowPinned:$.rowPinned,forceBrowserFocus:!0}),this.setRangeToCellIfSupported($)}setRangeToCellIfSupported($){if(v0($.column))return;this.beans.rangeSvc?.setRangeToCell($)}isValidNavigateCell($){return!!M0(this.beans,$)}getLastCellOfColSpan($){let z=e0(this.beans,$);if(!z)return $;let Q=z.getColSpanningList();if(Q.length===1)return $;return{rowIndex:$.rowIndex,column:b(Q),rowPinned:$.rowPinned}}ensureCellVisible($){let z=kQ(this.gos),Q=this.beans.rowModel.getRow($.rowIndex),J=z&&Q?.sticky,{scrollFeature:Z}=this.gridBodyCon;if(!J&&n($.rowPinned))Z.ensureIndexVisible($.rowIndex);if(!$.column.isPinned())Z.ensureColumnVisible($.column)}ensureColumnVisible($){let z=this.gridBodyCon.scrollFeature;if(!$.isPinned())z.ensureColumnVisible($)}ensureRowVisible($){this.gridBodyCon.scrollFeature.ensureIndexVisible($)}};function tZ($){return $.ctrlsSvc.getScrollFeature().getVScrollPosition()}var iz={moduleName:"KeyboardNavigation",version:p,beans:[z3,kE,CB],apiFunctions:{getFocusedCell:VE,clearFocusedCell:AE,setFocusedCell:SE,setFocusedHeader:fE,tabToNextCell:RE,tabToPreviousCell:jE}},Q3=class extends S{constructor(){super(...arguments);this.beanName="pageBoundsListener"}postConstruct(){this.addManagedEventListeners({modelUpdated:this.onModelUpdated.bind(this),recalculateRowBounds:this.calculatePages.bind(this)}),this.onModelUpdated()}onModelUpdated($){this.calculatePages(),this.eventSvc.dispatchEvent({type:"paginationChanged",animate:$?.animate??!1,newData:$?.newData??!1,newPage:$?.newPage??!1,newPageSize:$?.newPageSize??!1,keepRenderedRows:$?.keepRenderedRows??!1})}calculatePages(){let{pageBounds:$,pagination:z,rowModel:Q}=this.beans;if(z)z.calculatePages();else $.calculateBounds(0,Q.getRowCount()-1)}},J3=class extends S{constructor(){super(...arguments);this.beanName="pageBounds",this.pixelOffset=0}getFirstRow(){return this.topRowBounds?.rowIndex??-1}getLastRow(){return this.bottomRowBounds?.rowIndex??-1}getCurrentPageHeight(){let{topRowBounds:$,bottomRowBounds:z}=this;if(!$||!z)return 0;return Math.max(z.rowTop+z.rowHeight-$.rowTop,0)}getCurrentPagePixelRange(){let{topRowBounds:$,bottomRowBounds:z}=this,Q=$?.rowTop??0,J=z?z.rowTop+z.rowHeight:0;return{pageFirstPixel:Q,pageLastPixel:J}}calculateBounds($,z){let{rowModel:Q}=this.beans,J=Q.getRowBounds($);if(J)J.rowIndex=$;this.topRowBounds=J;let Z=Q.getRowBounds(z);if(Z)Z.rowIndex=z;this.bottomRowBounds=Z,this.calculatePixelOffset()}getPixelOffset(){return this.pixelOffset}calculatePixelOffset(){let $=this.topRowBounds?.rowTop??0;if(this.pixelOffset===$)return;this.pixelOffset=$,this.eventSvc.dispatchEvent({type:"paginationPixelOffsetChanged"})}},Z3=".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}",X3=class extends S{constructor($,z){super();this.isLeft=$,this.elements=z,this.getWidth=$?()=>this.beans.pinnedCols.leftWidth:()=>this.beans.pinnedCols.rightWidth}postConstruct(){this.addManagedEventListeners({[`${this.isLeft?"left":"right"}PinnedWidthChanged`]:this.onPinnedWidthChanged.bind(this)})}onPinnedWidthChanged(){let $=this.getWidth(),z=$>0;for(let Q of this.elements)if(Q)N(Q,z),f$(Q,$)}},Y3=class extends S{constructor(){super(...arguments);this.beanName="pinnedCols"}postConstruct(){this.beans.ctrlsSvc.whenReady(this,(z)=>{this.gridBodyCtrl=z.gridBodyCtrl});let $=this.checkContainerWidths.bind(this);this.addManagedEventListeners({displayedColumnsChanged:$,displayedColumnsWidthChanged:$}),this.addManagedPropertyListener("domLayout",$)}checkContainerWidths(){let{gos:$,visibleCols:z,eventSvc:Q}=this.beans,J=V0($,"print"),Z=J?0:z.getColsLeftWidth(),X=J?0:z.getDisplayedColumnsRightWidth();if(Z!=this.leftWidth)this.leftWidth=Z,Q.dispatchEvent({type:"leftPinnedWidthChanged"});if(X!=this.rightWidth)this.rightWidth=X,Q.dispatchEvent({type:"rightPinnedWidthChanged"})}keepPinnedColumnsNarrowerThanViewport(){let $=this.gridBodyCtrl.eBodyViewport,z=xz($);if(z<=50)return;let Q=this.getPinnedColumnsOverflowingViewport(z-50),J=this.gos.getCallback("processUnpinnedColumns"),{columns:Z,hasLockedPinned:X}=Q,Y=Z;if(!Y.length&&!X)return;if(J)Y=J({columns:Y,viewportWidth:z});if(!Y?.length)return;Y=Y.filter((q)=>!v0(q)),this.setColsPinned(Y,null,"viewportSizeFeature")}createPinnedWidthFeature($,...z){return new X3($,z)}setColsPinned($,z,Q){let{colModel:J,colAnimation:Z,visibleCols:X,gos:Y}=this.beans;if(!J.cols)return;if(!$?.length)return;if(V0(Y,"print")){j(37);return}Z?.start();let q;if(z===!0||z==="left")q="left";else if(z==="right")q="right";else q=null;let G=[];for(let _ of $){if(!_)continue;let H=J.getCol(_);if(!H)continue;if(H.getPinned()!==q)this.setColPinned(H,q),G.push(H)}if(G.length)X.refresh(Q),D8(this.eventSvc,G,Q);Z?.finish()}initCol($){let{pinned:z,initialPinned:Q}=$.colDef;if(z!==void 0)this.setColPinned($,z);else this.setColPinned($,Q)}setColPinned($,z){if(z===!0||z==="left")$.pinned="left";else if(z==="right")$.pinned="right";else $.pinned=null;$.dispatchStateUpdatedEvent("pinned")}setupHeaderPinnedWidth($){let{scrollVisibleSvc:z}=this.beans;if($.pinned==null)return;let Q=$.pinned==="left",J=$.pinned==="right";$.hidden=!0;let Z=()=>{let X=Q?this.leftWidth:this.rightWidth;if(X==null)return;let Y=X==0,q=$.hidden!==Y,G=this.gos.get("enableRtl"),_=z.getScrollbarWidth(),U=z.verticalScrollShowing&&(G&&Q||!G&&J)?X+_:X;if($.comp.setPinnedContainerWidth(`${U}px`),$.comp.setDisplayed(!Y),q)$.hidden=Y,$.refresh()};$.addManagedEventListeners({leftPinnedWidthChanged:Z,rightPinnedWidthChanged:Z,scrollVisibilityChanged:Z,scrollbarWidthChanged:Z})}getHeaderResizeDiff($,z){if(z.getPinned()){let{leftWidth:J,rightWidth:Z}=this,X=xz(this.beans.ctrlsSvc.getGridBodyCtrl().eBodyViewport)-50;if(J+Z+$>X)if(X>J+Z)$=X-J-Z;else return 0}return $}getPinnedColumnsOverflowingViewport($){let z=this.rightWidth??0,Q=this.leftWidth??0,J=z+Q,Z=!1;if(J<$)return{columns:[],hasLockedPinned:Z};let{visibleCols:X}=this.beans,Y=[...X.leftCols],q=[...X.rightCols],G=0,_=0,H=0,U=[],W=J-H-$;while((_<Y.length||G<q.length)&&W>0){if(G<q.length){let B=q[G++];if(B.colDef.lockPinned){Z=!0;continue}W-=B.getActualWidth(),U.push(B)}if(_<Y.length&&W>0){let B=Y[_++];if(B.colDef.lockPinned){Z=!0;continue}W-=B.getActualWidth(),U.push(B)}}return{columns:U,hasLockedPinned:Z}}},q3={moduleName:"PinnedColumn",version:p,beans:[Y3],css:[Z3]},G3=class extends R0{constructor(){super();this.beanName="ariaAnnounce",this.descriptionContainer=null,this.pendingAnnouncements=new Map,this.lastAnnouncement="",this.updateAnnouncement=g$(this,this.updateAnnouncement.bind(this),200)}postConstruct(){let $=this.beans,z=Y0($),Q=this.descriptionContainer=z.createElement("div");Q.classList.add("ag-aria-description-container"),R6(Q,"polite"),mY(Q,"additions text"),uY(Q,!0),$.eRootDiv.appendChild(Q)}announceValue($,z){this.pendingAnnouncements.set(z,$),this.updateAnnouncement()}updateAnnouncement(){if(!this.descriptionContainer)return;let $=Array.from(this.pendingAnnouncements.values()).join(". ");this.pendingAnnouncements.clear(),this.descriptionContainer.textContent="",setTimeout(()=>{this.handleAnnouncementUpdate($)},50)}handleAnnouncementUpdate($){if(!this.isAlive()||!this.descriptionContainer)return;let z=$;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:$}=this;if($)z0($),$.remove();this.descriptionContainer=null,this.pendingAnnouncements.clear()}},_3=class extends G3{},H3={moduleName:"Aria",version:p,beans:[_3]},U3=":where(.ag-delay-render){.ag-cell,.ag-header-cell,.ag-header-group-cell,.ag-row,.ag-spanned-cell-wrapper{visibility:hidden}}",e5="ag-delay-render",W3=class extends S{constructor(){super(...arguments);this.beanName="colDelayRenderSvc",this.hideRequested=!1,this.alreadyRevealed=!1,this.timesRetried=0,this.requesters=new Set}hideColumns($){if(this.alreadyRevealed||this.requesters.has($))return;if(this.requesters.add($),!this.hideRequested)this.beans.ctrlsSvc.whenReady(this,(z)=>{z.gridBodyCtrl.eGridBody.classList.add(e5)}),this.hideRequested=!0}revealColumns($){if(this.alreadyRevealed||!this.isAlive())return;if(this.requesters.delete($),this.requesters.size>0)return;let{renderStatus:z,ctrlsSvc:Q}=this.beans;if(z){if(!z.areHeaderCellsRendered()&&this.timesRetried<5){this.timesRetried++,setTimeout(()=>this.revealColumns($));return}this.timesRetried=0}Q.getGridBodyCtrl().eGridBody.classList.remove(e5),this.alreadyRevealed=!0}},B3={moduleName:"ColumnDelayRender",version:p,beans:[W3],css:[U3]},nJ=class extends x{constructor(){super()}},E3={tag:"div",cls:"ag-overlay-exporting-center",children:[{tag:"span",ref:"eExportingIcon",cls:"ag-loading-icon"},{tag:"span",ref:"eExportingText",cls:"ag-exporting-text"}]},K3=class extends nJ{constructor(){super(...arguments);this.eExportingIcon=f,this.eExportingText=f}init($){let{beans:z}=this;this.setTemplate(E3);let Q=h("overlayExporting",z,null);if(Q)this.eExportingIcon.appendChild(Q);let J=$.exporting?.overlayText??this.getLocaleTextFunc()("exportingOoo","Exporting...");this.eExportingText.textContent=J,z.ariaAnnounce.announceValue(J,"overlay")}},L3={tag:"div",cls:"ag-overlay-loading-center",children:[{tag:"span",ref:"eLoadingIcon",cls:"ag-loading-icon"},{tag:"span",ref:"eLoadingText",cls:"ag-loading-text"}]},D3=class extends nJ{constructor(){super(...arguments);this.eLoadingIcon=f,this.eLoadingText=f}init($){let{beans:z,gos:Q}=this,J=j$(Q.get("overlayLoadingTemplate")?.trim());if(this.setTemplate(J??L3),!J){let Z=h("overlayLoading",z,null);if(Z)this.eLoadingIcon.appendChild(Z);let X=$.loading?.overlayText??this.getLocaleTextFunc()("loadingOoo","Loading...");this.eLoadingText.textContent=X,z.ariaAnnounce.announceValue(X,"overlay")}}},F3={tag:"span",cls:"ag-overlay-no-matching-rows-center"},M3=class extends nJ{init($){let{beans:z}=this;this.setTemplate(F3);let Q=$.noMatchingRows?.overlayText??this.getLocaleTextFunc()("noMatchingRows","No Matching Rows");this.getGui().textContent=Q,z.ariaAnnounce.announceValue(Q,"overlay")}},k3={tag:"span",cls:"ag-overlay-no-rows-center"},V3=class extends nJ{init($){let{beans:z,gos:Q}=this,J=j$(Q.get("overlayNoRowsTemplate")?.trim());if(this.setTemplate(J??k3),!J){let Z=$.noRows?.overlayText??this.getLocaleTextFunc()("noRowsToShow","No Rows To Show");this.getGui().textContent=Z,z.ariaAnnounce.announceValue(Z,"overlay")}}};function A3($){$.overlays?.showLoadingOverlay()}function S3($){$.overlays?.showNoRowsOverlay()}function R3($){$.overlays?.hideOverlay()}var j3=".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)}",f3={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"}]}]},d8=class extends x{constructor(){super(f3);this.eOverlayWrapper=f,this.activeOverlay=null,this.activePromise=null,this.activeCssClass=null,this.elToFocusAfter=null,this.overlayExclusive=!1,this.oldWrapperPadding=null,this.registerCSS(j3)}handleKeyDown($){if($.key!==A.TAB||$.defaultPrevented||z$($))return;let{beans:z,eOverlayWrapper:Q}=this;if(Q&&j0(z,Q,!1,$.shiftKey))return;let Z=!1;if($.shiftKey)Z=z.focusSvc.focusGridView({column:b(z.visibleCols.allCols),backwards:!0,canFocusOverlay:!1});else Z=Z$(z,!1);if(Z)$.preventDefault()}updateLayoutClasses($,z){let Q=this.eOverlayWrapper;if(!Q)return;let J=Q.classList,{AUTO_HEIGHT:Z,NORMAL:X,PRINT:Y}=U$;J.toggle(Z,z.autoHeight),J.toggle(X,z.normal),J.toggle(Y,z.print)}postConstruct(){this.createManagedBean(new q4(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($){let z=this.eOverlayWrapper?.classList;if(!z){this.activeCssClass=null;return}if(this.activeCssClass)z.toggle(this.activeCssClass,!1);this.activeCssClass=$,z.toggle($,!0)}showOverlay($,z,Q){if(this.destroyActiveOverlay(),this.elToFocusAfter=null,this.activePromise=$,this.overlayExclusive=Q,!$)return this.refreshWrapperPadding(),g.resolve();if(this.setWrapperTypeClass(z),this.setDisplayed(!0,{skipAriaHidden:!0}),this.refreshWrapperPadding(),Q&&this.isGridFocused()){let J=d(this.beans);if(J&&!hz(this.beans))this.elToFocusAfter=J}return $.then((J)=>{let Z=this.eOverlayWrapper;if(!Z){this.destroyBean(J);return}if(this.activePromise!==$){if(this.activeOverlay!==J)this.destroyBean(J),J=null;return}if(this.activePromise=null,!J)return;if(this.activeOverlay!==J)Z.appendChild(J.getGui()),this.activeOverlay=J;if(Q&&this.isGridFocused())F0(Z)}),$}refreshWrapperPadding(){if(!this.eOverlayWrapper){this.oldWrapperPadding=null;return}let $=!!this.activeOverlay||!!this.activePromise,z=0;if($&&!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 $=this.activeOverlay;if(!$){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($);let Q=this.eOverlayWrapper;if(Q)z0(Q);z?.focus?.({preventScroll:!0}),this.refreshWrapperPadding()}hideOverlay(){this.destroyActiveOverlay(),this.setDisplayed(!1,{skipAriaHidden:!0})}isGridFocused(){let $=d(this.beans);return!!$&&this.beans.eGridDiv.contains($)}destroy(){this.elToFocusAfter=null,this.destroyActiveOverlay(),this.beans.overlays.setWrapperComp(this,!0),super.destroy(),this.eOverlayWrapper=null}},O3={selector:"AG-OVERLAY-WRAPPER",component:d8},P3=["refresh"],F1=($)=>({name:$,optionalMethods:P3}),Oz={id:"agLoadingOverlay",overlayType:"loading",comp:F1("loadingOverlayComponent"),wrapperCls:"ag-overlay-loading-wrapper",exclusive:!0,compKey:"loadingOverlayComponent",paramsKey:"loadingOverlayComponentParams",isSuppressed:($)=>{let z=$.get("loading");return z===!1||$.get("suppressLoadingOverlay")===!0&&z!==!0}},YQ={id:"agNoRowsOverlay",overlayType:"noRows",comp:F1("noRowsOverlayComponent"),wrapperCls:"ag-overlay-no-rows-wrapper",compKey:"noRowsOverlayComponent",paramsKey:"noRowsOverlayComponentParams",isSuppressed:($)=>$.get("suppressNoRowsOverlay")},R4={id:"agNoMatchingRowsOverlay",overlayType:"noMatchingRows",comp:F1("noMatchingRowsOverlayComponent"),wrapperCls:"ag-overlay-no-matching-rows-wrapper"},EJ={id:"agExportingOverlay",overlayType:"exporting",comp:F1("exportingOverlayComponent"),wrapperCls:"ag-overlay-exporting-wrapper",exclusive:!0},a1={id:"activeOverlay",comp:F1("activeOverlay"),wrapperCls:"ag-overlay-modal-wrapper",exclusive:!0},T3=($)=>{if(!$)return null;return{agLoadingOverlay:Oz,agNoRowsOverlay:YQ,agNoMatchingRowsOverlay:R4,agExportingOverlay:EJ}[$]??a1},v3=($)=>{if(!$)return null;return{loading:Oz,noRows:YQ,noMatchingRows:R4,exporting:EJ}[$]},I3=class extends S{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 $=this.gos;this.showInitialOverlay=o($);let z=()=>{if(this.userForcedNoRows)return;this.updateOverlay(!1)},[Q,J,Z,X]=this.addManagedEventListeners({newColumnsLoaded:z,rowCountReady:()=>{this.disableInitialOverlay(),z(),J()},rowDataUpdated:z,modelUpdated:z});this.newColumnsLoadedCleanup=Q,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($,z){if(!this.isAlive())return;if(!z)this.eWrapper=$;else if(this.eWrapper===$)this.eWrapper=void 0;this.updateOverlay(!1)}isVisible(){return!!this.currentDef}showLoadingOverlay(){this.showInitialOverlay=!1;let $=this.gos;if(!this.eWrapper||$.get("activeOverlay"))return;if(this.isDisabled(Oz))return;let z=$.get("loading");if(!z&&z!==void 0)return;this.doShowOverlay(Oz)}showNoRowsOverlay(){this.showInitialOverlay=!1;let $=this.gos;if(!this.eWrapper||$.get("activeOverlay")||$.get("loading")||this.isDisabled(YQ))return;this.userForcedNoRows=!0,this.doShowOverlay(YQ)}async showExportOverlay($){let{gos:z,beans:Q}=this;if(!this.eWrapper||z.get("activeOverlay")||z.get("loading")||this.isDisabled(EJ)||this.userForcedNoRows&&this.currentDef===YQ){$();return}let J=this.getDesiredDefWithOverride(EJ);if(!J){$();return}this.exportsInProgress++,this.focusedCell=Q.focusSvc.getFocusedCell(),await this.doShowOverlay(J),await new Promise((X)=>setTimeout(()=>X()));let Z=Date.now();try{$()}finally{let X=Date.now()-Z,Y=Math.max(0,300-X),q=()=>{if(this.exportsInProgress--,this.exportsInProgress===0)this.updateOverlay(!1),q_(Q,this.focusedCell),this.focusedCell=null};if(Y>0)setTimeout(()=>q(),Y);else q()}}hideOverlay(){let $=this.gos;this.showInitialOverlay=!1;let z=this.userForcedNoRows;if(this.userForcedNoRows=!1,$.get("loading")){j(99);return}if($.get("activeOverlay")){j(296);return}if(this.currentDef===R4){j(297);return}if(this.doHideOverlay(),z){if(this.getOverlayDef()!==YQ)this.updateOverlay(!1)}}getOverlayWrapperSelector(){return O3}getOverlayWrapperCompClass(){return d8}onPropChange($){let z=$.has("activeOverlay");if(z||$.has("loading")){if(this.updateOverlay(z))return}let Q=this.currentDef,J=this.eWrapper?.activeOverlay;if(J&&Q){let Z=$.has("activeOverlayParams");if(Q===a1){if(Z)J.refresh?.(this.makeCompParams(!0))}else{let X=Q.paramsKey;if($.has("overlayComponentParams")||X&&$.has(X))J.refresh?.(this.makeCompParams(!1,X,Q.overlayType))}}}updateOverlay($){let z=this.eWrapper;if(!z)return this.currentDef=null,!1;let Q=this.getDesiredDefWithOverride(),J=this.currentDef,Z=Q===a1&&$;if(Q!==J){if(!Q)return this.disableInitialOverlay(),this.doHideOverlay();return this.doShowOverlay(Q),!0}if(Z&&Q)return z.hideOverlay(),this.doShowOverlay(Q),!0;if(!Q)this.disableInitialOverlay();return!1}getDesiredDefWithOverride($){let{gos:z}=this,Q=T3(z.get("activeOverlay"));if(!Q){if(Q=$??this.getOverlayDef(),Q&&this.isDisabled(Q))Q=null}return Q}getOverlayDef(){let{gos:$,beans:z}=this,{rowModel:Q}=z,J=$.get("loading");if(J!==void 0){if(this.disableInitialOverlay(),J)return Oz}else if(this.showInitialOverlay){if(!this.isDisabled(Oz)&&(!$.get("columnDefs")||!$.get("rowData")))return Oz;this.disableInitialOverlay()}else this.disableInitialOverlay();let X=Q.getOverlayType();return v3(X)}disableInitialOverlay(){this.showInitialOverlay=!1,this.newColumnsLoadedCleanup?.(),this.newColumnsLoadedCleanup=null}doShowOverlay($){let{gos:z,beans:Q}=this,{userCompFactory:J}=Q;this.currentDef=$;let Z=$!==a1,X=!!$.exclusive;this.exclusive=X;let Y;if($.paramsKey&&z.get($.paramsKey)||$.compKey&&z.get($.compKey))Y=$.paramsKey;let q=void 0;if(Z){if(z.get("overlayComponent")||z.get("overlayComponentSelector"))q=J.getCompDetailsFromGridOptions({name:"overlayComponent",optionalMethods:["refresh"]},void 0,this.makeCompParams(!1,$.paramsKey,$.overlayType))}q??(q=J.getCompDetailsFromGridOptions($.comp,Z?$.id:void 0,this.makeCompParams(!Z,Y,$.overlayType),!1));let G=q?.newAgStackInstance()??null,_=this.eWrapper?this.eWrapper.showOverlay(G,$.wrapperCls,X):g.resolve();return this.eWrapper?.refreshWrapperPadding(),this.setExclusive(X),_}makeCompParams($,z,Q){let{gos:J}=this,Z=$?J.get("activeOverlayParams"):{...J.get("overlayComponentParams"),...z&&J.get(z)||null,overlayType:Q};return y(J,Z??{})}doHideOverlay(){let $=!1;if(this.currentDef)this.currentDef=null,$=!0;this.exclusive=!1;let z=this.eWrapper;if(z)z.hideOverlay(),z.refreshWrapperPadding(),this.setExclusive(!1);return $}setExclusive($){if(this.oldExclusive!==$)this.oldExclusive=$,this.eventSvc.dispatchEvent({type:"overlayExclusiveChanged"})}isDisabled($){let{gos:z}=this;return $.overlayType&&z.get("suppressOverlays")?.includes($.overlayType)||$.isSuppressed?.(z)===!0}},C3={moduleName:"Overlay",version:p,userComponents:{agLoadingOverlay:D3,agNoRowsOverlay:V3,agNoMatchingRowsOverlay:M3,agExportingOverlay:K3},apiFunctions:{showLoadingOverlay:A3,showNoRowsOverlay:S3,hideOverlay:R3},icons:{overlayLoading:"loading",overlayExporting:"loading"},beans:[I3]},b3=class extends S{constructor(){super(...arguments);this.beanName="rowContainerHeight",this.scrollY=0,this.uiBodyHeight=0}postConstruct(){this.addManagedEventListeners({bodyHeightChanged:this.updateOffset.bind(this)}),this.maxDivHeight=hG(),dQ(this.gos,"RowContainerHeightService - maxDivHeight = "+this.maxDivHeight)}updateOffset(){if(!this.stretching)return;let $=this.beans.ctrlsSvc.getScrollFeature().getVScrollPosition().top,z=this.getUiBodyHeight();if($!==this.scrollY||z!==this.uiBodyHeight)this.scrollY=$,this.uiBodyHeight=z,this.calculateOffset()}calculateOffset(){this.setUiContainerHeight(this.maxDivHeight),this.pixelsToShave=this.modelHeight-this.uiContainerHeight,this.maxScrollY=this.uiContainerHeight-this.uiBodyHeight;let $=this.scrollY/this.maxScrollY,z=$*this.pixelsToShave;dQ(this.gos,`RowContainerHeightService - Div Stretch Offset = ${z} (${this.pixelsToShave} * ${$})`),this.setDivStretchOffset(z)}setUiContainerHeight($){if($!==this.uiContainerHeight)this.uiContainerHeight=$,this.eventSvc.dispatchEvent({type:"rowContainerHeightChanged"})}clearOffset(){this.setUiContainerHeight(this.modelHeight),this.pixelsToShave=0,this.setDivStretchOffset(0)}setDivStretchOffset($){let z=typeof $==="number"?Math.floor($):null;if(this.divStretchOffset===z)return;this.divStretchOffset=z,this.eventSvc.dispatchEvent({type:"heightScaleChanged"})}setModelHeight($){if(this.modelHeight=$,this.stretching=$!=null&&this.maxDivHeight>0&&$>this.maxDivHeight,this.stretching)this.calculateOffset();else this.clearOffset()}getRealPixelPosition($){return $-this.divStretchOffset}getUiBodyHeight(){let $=this.beans.ctrlsSvc.getScrollFeature().getVScrollPosition();return $.bottom-$.top}getScrollPositionForPixel($){if(this.pixelsToShave<=0)return $;let z=this.modelHeight-this.getUiBodyHeight(),Q=$/z;return this.maxScrollY*Q}},y3=400,x3=class extends S{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 $=()=>{for(let X of this.getAllCellCtrls())X.onCellSelectionChanged()},z=()=>{for(let X of this.getAllCellCtrls())X.updateRangeBordersIfRangeCount()},Q=()=>{this.eventSvc.addListener("cellSelectionChanged",$),this.eventSvc.addListener("columnMoved",z),this.eventSvc.addListener("columnPinned",z),this.eventSvc.addListener("columnVisible",z)},J=()=>{this.eventSvc.removeListener("cellSelectionChanged",$),this.eventSvc.removeListener("columnMoved",z),this.eventSvc.removeListener("columnPinned",z),this.eventSvc.removeListener("columnVisible",z)};if(this.addDestroyFunc(()=>J()),this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],()=>{if(u0(this.gos))Q();else J()}),u0(this.gos))Q()}}wireBeans($){this.pageBounds=$.pageBounds,this.colModel=$.colModel,this.pinnedRowModel=$.pinnedRowModel,this.rowModel=$.rowModel,this.focusSvc=$.focusSvc,this.rowContainerHeight=$.rowContainerHeight,this.ctrlsSvc=$.ctrlsSvc,this.editSvc=$.editSvc}postConstruct(){this.ctrlsSvc.whenReady(this,($)=>{this.gridBodyCtrl=$.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",(J)=>this.onSuppressCellFocusChanged(J.currentValue)),this.addManagedPropertyListeners(["groupSuppressBlankHeader","getBusinessKeyForNode","fullWidthCellRenderer","fullWidthCellRendererParams","suppressStickyTotalRow","groupRowRenderer","groupRowRendererParams","loadingCellRenderer","loadingCellRendererParams","detailCellRenderer","detailCellRendererParams","enableRangeSelection","enableCellTextSelection"],()=>this.redrawRows()),this.addManagedPropertyListener("cellSelection",({currentValue:J,previousValue:Z})=>{if(!Z&&J||Z&&!J)this.redrawRows()});let{stickyRowSvc:$,gos:z,showRowGroupCols:Q}=this.beans;if(Q)this.addManagedPropertyListener("showOpenedGroup",()=>{let J=Q.columns;if(J.length)this.refreshCells({columns:J,force:!0})});if($)this.stickyRowFeature=$.createStickyRowFeature(this,this.createRowCon.bind(this),this.destroyRowCtrls.bind(this));else{let J=this.gridBodyCtrl;J.setStickyTopHeight(0),J.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 $=this.getKeepDetailRowsCount(),z=$!=null?$:3;this.cachedRowCtrls=new w3(z)}}getKeepDetailRowsCount(){return this.gos.get("keepDetailRowsCount")}getStickyTopRowCtrls(){return this.stickyRowFeature?.stickyTopRowCtrls??[]}getStickyBottomRowCtrls(){return this.stickyRowFeature?.stickyBottomRowCtrls??[]}updateAllRowCtrls(){let $=Object.values(this.rowCtrlsByRowIndex),z=Object.values(this.zombieRowCtrls),Q=this.cachedRowCtrls?.getEntries()??[];if(z.length>0||Q.length>0)this.allRowCtrls=[...$,...z,...Q];else this.allRowCtrls=$}isCellBeingRendered($,z){let Q=this.rowCtrlsByRowIndex[$];if(!z||!Q)return!!Q;if(Q.isFullWidth())return!0;return!!this.beans.spannedRowRenderer?.getCellByPosition({rowIndex:$,column:z,rowPinned:null})||!!Q.getCellCtrl(z)||!Q.isRowRendered()}updateCellFocus($){for(let z of this.getAllCellCtrls())z.onCellFocused($);for(let z of this.getFullWidthRowCtrls())z.onFullWidthRowFocused($)}onCellFocusChanged($){if($?.rowIndex!=null&&!$.rowPinned){let z=this.beans.colModel.getCol($.column)??void 0;if(!this.isCellBeingRendered($.rowIndex,z))this.redraw()}this.updateCellFocus($)}onSuppressCellFocusChanged($){for(let z of this.getAllCellCtrls())z.onSuppressCellFocusChanged($);for(let z of this.getFullWidthRowCtrls())z.onSuppressCellFocusChanged($)}registerCellEventListeners(){this.addManagedEventListeners({cellFocused:($)=>this.onCellFocusChanged($),cellFocusCleared:()=>this.updateCellFocus(),flashCells:($)=>{let{cellFlashSvc:z}=this.beans;if(z)for(let Q of this.getAllCellCtrls())z.onFlashCells(Q,$)},columnHoverChanged:()=>{for(let $ of this.getAllCellCtrls())$.onColumnHover()},displayedColumnsChanged:()=>{for(let $ of this.getAllCellCtrls())$.onDisplayedColumnsChanged()},displayedColumnsWidthChanged:()=>{if(this.printLayout)for(let $ of this.getAllCellCtrls())$.onLeftChanged()}}),this.setupRangeSelectionListeners(),this.refreshListenersToColumnsForCellComps(),this.addManagedEventListeners({gridColumnsChanged:this.refreshListenersToColumnsForCellComps.bind(this)}),this.addDestroyFunc(this.removeGridColumnListeners.bind(this))}removeGridColumnListeners(){for(let $ of this.destroyFuncsForColumnListeners)$();this.destroyFuncsForColumnListeners.length=0}refreshListenersToColumnsForCellComps(){this.removeGridColumnListeners();let $=this.colModel.getCols();for(let z of $){let Q=(G)=>{for(let _ of this.getAllCellCtrls())if(_.column===z)G(_)},J=()=>{Q((G)=>G.onLeftChanged())},Z=()=>{Q((G)=>G.onWidthChanged())},X=()=>{Q((G)=>G.onFirstRightPinnedChanged())},Y=()=>{Q((G)=>G.onLastLeftPinnedChanged())},q=()=>{Q((G)=>G.onColDefChanged())};z.__addEventListener("leftChanged",J),z.__addEventListener("widthChanged",Z),z.__addEventListener("firstRightPinnedChanged",X),z.__addEventListener("lastLeftPinnedChanged",Y),z.__addEventListener("colDefChanged",q),this.destroyFuncsForColumnListeners.push(()=>{z.__removeEventListener("leftChanged",J),z.__removeEventListener("widthChanged",Z),z.__removeEventListener("firstRightPinnedChanged",X),z.__removeEventListener("lastLeftPinnedChanged",Y),z.__removeEventListener("colDefChanged",q)})}}onDomLayoutChanged(){let $=V0(this.gos,"print"),z=$||this.gos.get("embedFullWidthRows"),Q=z!==this.embedFullWidthRows||this.printLayout!==$;if(this.printLayout=$,this.embedFullWidthRows=z,Q)this.redrawAfterModelUpdate({domLayoutChanged:!0})}datasourceChanged(){this.firstRenderedRow=0,this.lastRenderedRow=-1;let $=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls($)}onPageLoaded($){let z={recycleRows:$.keepRenderedRows,animate:$.animate,newData:$.newData,newPage:$.newPage,onlyBody:!0};this.redrawAfterModelUpdate(z)}getAllCellsNotSpanningForColumn($){let z=[];for(let Q of this.getAllRowCtrls()){let J=Q.getCellCtrl($,!0)?.eGui;if(J)z.push(J)}return z}refreshFloatingRowComps($=!0){this.refreshFloatingRows(this.topRowCtrls,"top",$),this.refreshFloatingRows(this.bottomRowCtrls,"bottom",$)}refreshFloatingRows($,z,Q){let{pinnedRowModel:J,beans:Z,printLayout:X}=this,Y=Object.fromEntries($.map((G)=>[G.rowNode.id,G]));J?.forEachPinnedRow(z,(G,_)=>{let H=$[_];if(H&&J.getPinnedRowById(H.rowNode.id,z)===void 0)H.destroyFirstPass(),H.destroySecondPass();if(G.id in Y&&Q)$[_]=Y[G.id],delete Y[G.id];else $[_]=new D2(G,Z,!1,!1,X)});let q=(z==="top"?J?.getPinnedTopRowCount():J?.getPinnedBottomRowCount())??0;$.length=q}onPinnedRowDataChanged(){let $={recycleRows:!0};this.redrawAfterModelUpdate($)}onPinnedRowsChanged(){this.redrawAfterModelUpdate({recycleRows:!0})}redrawRow($,z=!1){if($.sticky)this.stickyRowFeature?.refreshStickyNode($);else if(this.cachedRowCtrls?.has($)){this.cachedRowCtrls.removeRow($);return}else{let Q=(J)=>{let Z=J[$.rowIndex];if(!Z)return;if(Z.rowNode!==$)return;Z.destroyFirstPass(),Z.destroySecondPass(),J[$.rowIndex]=this.createRowCon($,!1,!1)};switch($.rowPinned){case"top":Q(this.topRowCtrls);break;case"bottom":Q(this.bottomRowCtrls);break;default:Q(this.rowCtrlsByRowIndex),this.updateAllRowCtrls()}}if(!z)this.dispatchDisplayedRowsChanged(!1)}redrawRows($){let{editSvc:z}=this.beans;if(z?.isEditing())if(z.isBatchEditing())z.cleanupEditors();else z.stopEditing(void 0,{source:"api"});if($!=null){for(let J of $??[])this.redrawRow(J,!0);this.dispatchDisplayedRowsChanged(!1);return}this.redrawAfterModelUpdate()}redrawAfterModelUpdate($={}){this.getLockOnRefresh();let z=this.beans.focusSvc?.getFocusCellToUseAfterRefresh();this.updateContainerHeights(),this.scrollToTopIfNewData($);let Q=!$.domLayoutChanged&&!!$.recycleRows,J=$.animate&&HQ(this.gos),Z=Q?this.getRowsToRecycle():null;if(!Q)this.removeAllRowComps();this.workOutFirstAndLastRowsToRender();let{stickyRowFeature:X,gos:Y}=this;if(X){X.checkStickyRows();let q=X.extraTopHeight+X.extraBottomHeight;if(q)this.updateContainerHeights(q)}if(this.recycleRows(Z,J),this.gridBodyCtrl.updateRowCount(),!$.onlyBody)this.refreshFloatingRowComps(Y.get("enableRowPinning")?Q:void 0);if(this.dispatchDisplayedRowsChanged(),z!=null)this.restoreFocusedCell(z);this.releaseLockOnRefresh()}scrollToTopIfNewData($){let z=$.newData||$.newPage,Q=this.gos.get("suppressScrollOnNewData");if(z&&!Q)this.gridBodyCtrl.scrollFeature.scrollToTop(),this.stickyRowFeature?.resetOffsets()}updateContainerHeights($=0){let{rowContainerHeight:z}=this;if(this.printLayout){z.setModelHeight(null);return}let Q=this.pageBounds.getCurrentPageHeight();if(Q===0)Q=1;z.setModelHeight(Q+$)}getLockOnRefresh(){if(this.refreshInProgress)throw Error($$(252));this.refreshInProgress=!0,this.beans.frameworkOverrides.getLockOnRefresh?.()}releaseLockOnRefresh(){this.refreshInProgress=!1,this.beans.frameworkOverrides.releaseLockOnRefresh?.()}isRefreshInProgress(){return this.refreshInProgress}restoreFocusedCell($){if(!$)return;let z=this.beans.focusSvc,Q=this.findPositionToFocus($);if(!Q){z.focusHeaderPosition({headerPosition:{headerRowIndex:l0(this.beans)-1,column:$.column}});return}if($.rowIndex!==Q.rowIndex||$.rowPinned!=Q.rowPinned){z.setFocusedCell({...Q,preventScrollOnBrowserFocus:!0,forceBrowserFocus:!0});return}if(!z.doesRowOrCellHaveBrowserFocus())this.updateCellFocus(y(this.gos,{...Q,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0,type:"cellFocused"}))}findPositionToFocus($){let{pagination:z,pageBounds:Q}=this.beans,J=$;if(J.rowPinned==null&&z&&Q&&!z.isRowInPage(J.rowIndex))J={rowPinned:null,rowIndex:Q.getFirstRow()};while(J){if(J.rowPinned==null&&Q){if(J.rowIndex<Q.getFirstRow()){if(J=m0(this.beans,{rowPinned:null,rowIndex:0}),!J)return null}else if(J.rowIndex>Q.getLastRow())J={rowPinned:null,rowIndex:Q.getLastRow()}}let Z=this.getRowByPosition(J);if(Z?.isAlive())return{...Z.getRowPosition(),column:$.column};J=m0(this.beans,J)}return null}getAllCellCtrls(){let $=[],z=this.getAllRowCtrls(),Q=z.length;for(let J=0;J<Q;J++){let Z=z[J].getAllCellCtrls(),X=Z.length;for(let Y=0;Y<X;Y++)$.push(Z[Y])}return $}getAllRowCtrls(){let{spannedRowRenderer:$}=this.beans,z=this.getStickyTopRowCtrls(),Q=this.getStickyBottomRowCtrls();return[...this.topRowCtrls,...this.bottomRowCtrls,...z,...Q,...$?.getCtrls("top")??[],...$?.getCtrls("bottom")??[],...$?.getCtrls("center")??[],...Object.values(this.rowCtrlsByRowIndex)]}addRenderedRowListener($,z,Q){let J=this.rowCtrlsByRowIndex[z];if(J)J.addEventListener($,Q)}refreshCells({rowNodes:$,columns:z,force:Q,suppressFlash:J}={}){let Z={force:Q,newData:!1,suppressFlash:J};for(let X of this.getCellCtrls($,z))X.refreshOrDestroyCell(Z);this.refreshFullWidth($)}refreshRows($={}){for(let z of this.getRowCtrls($.rowNodes))z.refreshRow($);this.refreshFullWidth($.rowNodes)}getRowCtrlByNode($){let z=$.rowIndex;if(z==null)return;let Q=$.rowPinned;if(Q==="top"){let Z=this.topRowCtrls[z];return Z?.rowNode===$?Z:void 0}if(Q==="bottom"){let Z=this.bottomRowCtrls[z];return Z?.rowNode===$?Z:void 0}let J=this.rowCtrlsByRowIndex[z];if(J?.rowNode===$)return J;return this.getStickyRowCtrlByNode($)}getStickyRowCtrlByNode($){let z=this.stickyRowFeature;if(!z)return;for(let Q of z.stickyTopRowCtrls)if(Q.rowNode===$)return Q;for(let Q of z.stickyBottomRowCtrls)if(Q.rowNode===$)return Q;return}refreshRowByNode($){if($)this.getRowCtrlByNode($)?.refreshRow()}refreshFullWidth($){if(!$)return;let z=!1;for(let Q of this.getRowCtrls($)){if(!Q.isFullWidth())continue;if(!Q.refreshFullWidth())z=!0,this.redrawRow(Q.rowNode,!0)}if(z)this.dispatchDisplayedRowsChanged(!1)}getRowCtrls($){let z=$6($),Q=this.getAllRowCtrls();if(!$||!z)return Q;return Q.filter((J)=>{let Z=J.rowNode;return z6(Z,z)})}getCellCtrls($,z){let Q;if(T(z))Q={},z.forEach((Z)=>{let X=this.colModel.getCol(Z);if(T(X))Q[X.getId()]=!0});let J=[];for(let Z of this.getRowCtrls($))for(let X of Z.getAllCellCtrls()){let Y=X.column.getId();if(Q&&!Q[Y])continue;J.push(X)}return J}destroy(){this.removeAllRowComps(!0),super.destroy()}removeAllRowComps($=!1){let z=Object.keys(this.rowCtrlsByRowIndex);this.removeRowCtrls(z,$),this.stickyRowFeature?.destroyStickyCtrls()}getRowsToRecycle(){let $=[];for(let Q of Object.keys(this.rowCtrlsByRowIndex))if(this.rowCtrlsByRowIndex[Q].rowNode.id==null)$.push(Q);this.removeRowCtrls($);let z={};for(let Q of Object.values(this.rowCtrlsByRowIndex)){let J=Q.rowNode;z[J.id]=Q}return this.rowCtrlsByRowIndex={},z}removeRowCtrls($,z=!1){for(let Q of $){let J=this.rowCtrlsByRowIndex[Q];if(J)J.destroyFirstPass(z),J.destroySecondPass();delete this.rowCtrlsByRowIndex[Q]}}onBodyScroll($){if($.direction!=="vertical")return;this.redraw({afterScroll:!0})}redraw($={}){let{focusSvc:z,animationFrameSvc:Q}=this.beans,{afterScroll:J}=$,Z,X=this.stickyRowFeature;if(X)Z=z?.getFocusCellToUseAfterRefresh()||void 0;let Y=this.firstRenderedRow,q=this.lastRenderedRow;this.workOutFirstAndLastRowsToRender();let G=!1;if(X){G=X.checkStickyRows();let H=X.extraTopHeight+X.extraBottomHeight;if(H)this.updateContainerHeights(H)}let _=this.firstRenderedRow!==Y||this.lastRenderedRow!==q;if(J&&!G&&!_)return;if(this.getLockOnRefresh(),this.recycleRows(null,!1,J),this.releaseLockOnRefresh(),this.dispatchDisplayedRowsChanged(J&&!G),Z!=null){let H=z?.getFocusCellToUseAfterRefresh();if(Z!=null&&H==null)Q?.flushAllFrames(),this.restoreFocusedCell(Z)}}removeRowCompsNotToDraw($,z){let Q={};for(let X of $)Q[X]=!0;let Z=Object.keys(this.rowCtrlsByRowIndex).filter((X)=>!Q[X]);this.removeRowCtrls(Z,z)}calculateIndexesToDraw($){let z=[];for(let Y=this.firstRenderedRow;Y<=this.lastRenderedRow;Y++)z.push(Y);let Q=this.beans.pagination,J=this.beans.focusSvc?.getFocusedCell()?.rowIndex;if(J!=null&&(J<this.firstRenderedRow||J>this.lastRenderedRow)&&(!Q||Q.isRowInPage(J))&&J<this.rowModel.getRowCount())z.push(J);let Z=(Y)=>{let q=Y.rowNode.rowIndex;if(q==null||q===J)return;if(q<this.firstRenderedRow||q>this.lastRenderedRow){if(this.doNotUnVirtualiseRow(Y))z.push(q)}};for(let Y of Object.values(this.rowCtrlsByRowIndex))Z(Y);if($)for(let Y of Object.values($))Z(Y);z.sort((Y,q)=>Y-q);let X=[];for(let Y=0;Y<z.length;Y++){let q=z[Y],G=this.rowModel.getRow(q);if(G&&!G.sticky)X.push(q)}return X}recycleRows($,z=!1,Q=!1){let J=this.calculateIndexesToDraw($);if(this.printLayout||Q)z=!1;this.removeRowCompsNotToDraw(J,!z);for(let Z of J)this.createOrUpdateRowCtrl(Z,$,z,Q);if($){let{animationFrameSvc:Z}=this.beans;if(Z?.active&&Q&&!this.printLayout)Z.addDestroyTask(()=>{this.destroyRowCtrls($,z),this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()});else this.destroyRowCtrls($,z)}this.updateAllRowCtrls()}dispatchDisplayedRowsChanged($=!1){this.eventSvc.dispatchEvent({type:"displayedRowsChanged",afterScroll:$})}onDisplayedColumnsChanged(){let{visibleCols:$}=this.beans,z=$.isPinningLeft(),Q=$.isPinningRight();if(this.pinningLeft!==z||Q!==this.pinningRight){if(this.pinningLeft=z,this.pinningRight=Q,this.embedFullWidthRows)this.redrawFullWidthEmbeddedRows()}}redrawFullWidthEmbeddedRows(){let $=[];for(let z of this.getFullWidthRowCtrls()){let Q=z.rowNode.rowIndex;$.push(Q.toString())}this.refreshFloatingRowComps(),this.removeRowCtrls($),this.redraw({afterScroll:!0})}getFullWidthRowCtrls($){let z=$6($);return this.getAllRowCtrls().filter((Q)=>{if(!Q.isFullWidth())return!1;let J=Q.rowNode;if(z!=null&&!z6(J,z))return!1;return!0})}createOrUpdateRowCtrl($,z,Q,J){let Z,X=this.rowCtrlsByRowIndex[$];if(!X){if(Z=this.rowModel.getRow($),T(Z)&&T(z)&&z[Z.id]&&Z.alreadyRendered)X=z[Z.id],z[Z.id]=null}if(!X){if(!Z)Z=this.rowModel.getRow($);if(T(Z))X=this.createRowCon(Z,Q,J);else return}if(Z)Z.alreadyRendered=!0;this.rowCtrlsByRowIndex[$]=X}destroyRowCtrls($,z){let Q=[];if($)for(let J of Object.values($)){if(!J)continue;if(this.cachedRowCtrls&&J.isCacheable()){this.cachedRowCtrls.addRow(J);continue}if(J.destroyFirstPass(!z),z){let Z=J.instanceId;this.zombieRowCtrls[Z]=J,Q.push(()=>{J.destroySecondPass(),delete this.zombieRowCtrls[Z]})}else J.destroySecondPass()}if(z)Q.push(()=>{if(this.isAlive())this.updateAllRowCtrls(),this.dispatchDisplayedRowsChanged()}),window.setTimeout(()=>{for(let J of Q)J()},y3)}getRowBuffer(){return this.gos.get("rowBuffer")}getRowBufferInPixels(){let $=this.getRowBuffer(),z=Z7(this.beans);return $*z}workOutFirstAndLastRowsToRender(){let{rowContainerHeight:$,pageBounds:z,rowModel:Q}=this;$.updateOffset();let J,Z;if(!Q.isRowsToRender())J=0,Z=-1;else if(this.printLayout)this.beans.environment.refreshRowHeightVariable(),J=z.getFirstRow(),Z=z.getLastRow();else{let H=this.getRowBufferInPixels(),U=this.ctrlsSvc.getScrollFeature(),W=this.gos.get("suppressRowVirtualisation"),B=!1,E,K;do{let k=z.getPixelOffset(),{pageFirstPixel:V,pageLastPixel:R}=z.getCurrentPagePixelRange(),O=$.divStretchOffset,I=U.getVScrollPosition(),v=I.top,C=I.bottom;if(W)E=V+O,K=R+O;else E=Math.max(v+k-H,V)+O,K=Math.min(C+k+H,R)+O;this.firstVisibleVPixel=Math.max(v+k,V)+O,this.lastVisibleVPixel=Math.min(C+k,R)+O,B=this.ensureAllRowsInRangeHaveHeightsCalculated(E,K)}while(B);let L=Q.getRowIndexAtPixel(E),D=Q.getRowIndexAtPixel(K),F=z.getFirstRow(),M=z.getLastRow();if(L<F)L=F;if(D>M)D=M;J=L,Z=D}let X=V0(this.gos,"normal"),Y=this.gos.get("suppressMaxRenderedRowRestriction"),q=Math.max(this.getRowBuffer(),500);if(X&&!Y){if(Z-J>q)Z=J+q}let G=J!==this.firstRenderedRow,_=Z!==this.lastRenderedRow;if(G||_)this.firstRenderedRow=J,this.lastRenderedRow=Z,this.eventSvc.dispatchEvent({type:"viewportChanged",firstRow:J,lastRow:Z})}dispatchFirstDataRenderedEvent(){if(this.dataFirstRenderedFired)return;this.dataFirstRenderedFired=!0,Y$(this.beans,()=>{this.beans.eventSvc.dispatchEvent({type:"firstDataRendered",firstRow:this.firstRenderedRow,lastRow:this.lastRenderedRow})})}ensureAllRowsInRangeHaveHeightsCalculated($,z){let Q=this.pinnedRowModel?.ensureRowHeightsValid(),J=this.stickyRowFeature?.ensureRowHeightsValid(),{pageBounds:Z,rowModel:X}=this,Y=X.ensureRowHeightsValid($,z,Z.getFirstRow(),Z.getLastRow());if(Y||J)this.eventSvc.dispatchEvent({type:"recalculateRowBounds"});if(J||Y||Q)return this.updateContainerHeights(),!0;return!1}doNotUnVirtualiseRow($){let J=$.rowNode,Z=this.focusSvc.isRowFocused(J.rowIndex,J.rowPinned),X=this.editSvc?.isEditing($),Y=J.detail;if(!(Z||X||Y))return!1;return this.isRowPresent(J)?!0:!1}isRowPresent($){if(!this.rowModel.isRowPresent($))return!1;return this.beans.pagination?.isRowInPage($.rowIndex)??!0}createRowCon($,z,Q){let J=this.cachedRowCtrls?.getRow($)??null;if(J)return J;let Z=Q&&!this.printLayout&&!!this.beans.animationFrameSvc?.active;return new D2($,this.beans,z,Z,this.printLayout)}getRenderedNodes(){let $=Object.values(this.rowCtrlsByRowIndex).map((J)=>J.rowNode),z=this.getStickyTopRowCtrls().map((J)=>J.rowNode),Q=this.getStickyBottomRowCtrls().map((J)=>J.rowNode);return[...z,...$,...Q]}getRowByPosition($){let z,{rowIndex:Q}=$;switch($.rowPinned){case"top":z=this.topRowCtrls[Q];break;case"bottom":z=this.bottomRowCtrls[Q];break;default:if(z=this.rowCtrlsByRowIndex[Q],!z){if(z=this.getStickyTopRowCtrls().find((J)=>J.rowNode.rowIndex===Q)||null,!z)z=this.getStickyBottomRowCtrls().find((J)=>J.rowNode.rowIndex===Q)||null}break}return z}isRangeInRenderedViewport($,z){if($==null||z==null)return!1;let J=$>this.lastRenderedRow;return!(z<this.firstRenderedRow)&&!J}},w3=class{constructor($){this.entriesMap={},this.entriesList=[],this.maxCount=$}addRow($){if(this.entriesMap[$.rowNode.id]=$,this.entriesList.push($),$.setCached(!0),this.entriesList.length>this.maxCount){let z=this.entriesList[0];z.destroyFirstPass(),z.destroySecondPass(),this.removeFromCache(z)}}getRow($){if($?.id==null)return null;let z=this.entriesMap[$.id];if(!z)return null;return this.removeFromCache(z),z.setCached(!1),z.rowNode!=$?null:z}has($){return this.entriesMap[$.id]!=null}removeRow($){let z=$.id,Q=this.entriesMap[z];delete this.entriesMap[z],Z0(this.entriesList,Q)}removeFromCache($){let z=$.rowNode.id;delete this.entriesMap[z],Z0(this.entriesList,$)}getEntries(){return this.entriesList}};function $6($){if(!$)return;let z={top:{},bottom:{},normal:{}};for(let Q of $){let J=Q.id;switch(Q.rowPinned){case"top":z.top[J]=Q;break;case"bottom":z.bottom[J]=Q;break;default:z.normal[J]=Q;break}}return z}function z6($,z){let Q=$.id;switch($.rowPinned){case"top":return z.top[Q]!=null;case"bottom":return z.bottom[Q]!=null;default:return z.normal[Q]!=null}}var N3=class extends S{constructor(){super(...arguments);this.beanName="rowNodeSorter",this.accentedSort=!1,this.primaryColumnsSortGroups=!1,this.pivotActive=!1}postConstruct(){this.firstLeaf=o(this.gos)?pz:g3,this.addManagedPropertyListeners(["accentedSort","autoGroupColumnDef","treeData"],this.updateOptions.bind(this));let $=this.updatePivotModeState.bind(this);this.addManagedEventListeners({columnPivotModeChanged:$,columnPivotChanged:$}),this.updateOptions(),$()}updateOptions(){this.accentedSort=!!this.gos.get("accentedSort"),this.primaryColumnsSortGroups=W$(this.gos)}updatePivotModeState(){this.pivotActive=this.beans.colModel.isPivotActive()}doFullSortInPlace($,z){return $.sort((Q,J)=>this.compareRowNodes(z,Q,J))}compareRowNodes($,z,Q){if(z===Q)return 0;let J=this.accentedSort;for(let Z=0,X=$.length;Z<X;++Z){let Y=$[Z],q=Y.sort==="desc",G=this.getValue(z,Y.column),_=this.getValue(Q,Y.column),H,U=this.getComparator(Y,z);if(U)H=U(G,_,z,Q,q);else{if(Y.type==="absolute")G=Q6(G),_=Q6(_);H=CY(G,_,J)}if(H)return Y.sort==="asc"?H:-H}return 0}getComparator($,z){let Q=$.column.getColDef(),J=this.getComparatorFromColDef(Q,$);if(J)return J;if(!Q.showRowGroup)return;let Z=!z.group&&Q.field;if(!Z)return;let X=this.beans.colModel.getColDefCol(Z);if(!X)return;return this.getComparatorFromColDef(X.getColDef(),$)}getComparatorFromColDef($,z){let Q=$.comparator;if(Q==null)return;if(typeof Q==="object")return Q[L$(z.type)];return Q}getValue($,z){let Q=this.beans;if(this.primaryColumnsSortGroups){if($.rowGroupColumn===z)return this.getGroupDataValue($,z);if($.group&&z.getColDef().showRowGroup)return}let J=Q.valueSvc.getValue(z,$,"data");if(z.isAllowFormula()){let Z=Q.formula;if(Z?.isFormula(J))return Z.resolveValue(z,$)}return J}getGroupDataValue($,z){if(PJ(this.gos,this.pivotActive)){let J=this.firstLeaf($);return J&&this.beans.valueSvc.getValue(z,J,"data")}let Q=this.beans.showRowGroupCols?.getShowRowGroupCol(z.getId());return Q?$.groupData?.[Q.getId()]:void 0}},g3=($)=>{if($.data)return $;let z=$.childrenAfterGroup;while(z?.length){let Q=z[0];if(Q.data)return Q;z=Q.childrenAfterGroup}},Q6=($)=>{if(!$)return $;if(typeof $==="bigint")return $<0n?-$:$;let z=Number($);return isNaN(z)?$:Math.abs(z)};function h3($){$.sortSvc?.onSortChanged("api")}var Rz=($,z)=>({tag:"span",ref:`eSort${$}`,cls:`ag-sort-indicator-icon ag-sort-${z} ag-hidden`,attrs:{"aria-hidden":"true"}}),u3={tag:"span",cls:"ag-sort-indicator-container",children:[Rz("Order","order"),Rz("Asc","ascending-icon"),Rz("Desc","descending-icon"),Rz("Mixed","mixed-icon"),Rz("AbsoluteAsc","absolute-ascending-icon"),Rz("AbsoluteDesc","absolute-descending-icon"),Rz("None","none-icon")]},j4=class extends x{constructor($){super();if(this.eSortOrder=f,this.eSortAsc=f,this.eSortDesc=f,this.eSortMixed=f,this.eSortNone=f,this.eSortAbsoluteAsc=f,this.eSortAbsoluteDesc=f,!$)this.setTemplate(u3)}attachCustomElements($,z,Q,J,Z,X,Y){this.eSortOrder=$,this.eSortAsc=z,this.eSortDesc=Q,this.eSortMixed=J,this.eSortNone=Z,this.eSortAbsoluteAsc=X,this.eSortAbsoluteDesc=Y}setupSort($,z=!1,Q){if(this.column=$,this.suppressOrder=z,this.getSortDefOverride=Q,this.setupMultiSortIndicator(),!$.isSortable()&&!$.getColDef().showRowGroup)return;this.addInIcon("sortAscending",this.eSortAsc,$),this.addInIcon("sortDescending",this.eSortDesc,$),this.addInIcon("sortUnSort",this.eSortNone,$),this.addInIcon("sortAbsoluteAscending",this.eSortAbsoluteAsc,$),this.addInIcon("sortAbsoluteDescending",this.eSortAbsoluteDesc,$);let J=this.updateIcons.bind(this),Z=this.onSortChanged.bind(this);this.addManagedPropertyListener("unSortIcon",J),this.addManagedEventListeners({newColumnsLoaded:J,sortChanged:Z,columnRowGroupChanged:Z}),this.onSortChanged()}addInIcon($,z,Q){if(z==null)return;let J=h($,this.beans,Q);if(J)z.appendChild(J)}onSortChanged(){if(this.updateIcons(),!this.suppressOrder)this.updateSortOrder()}updateIcons(){let{eSortAsc:$,eSortDesc:z,eSortAbsoluteAsc:Q,eSortAbsoluteDesc:J,eSortNone:Z,column:X,gos:Y,beans:q}=this,G=c2(X,q,this.getSortDefOverride),_=G.isDefaultSortAllowed,H=G.isAbsoluteSortAllowed,{isAbsoluteSort:U,isDefaultSort:W,isAscending:B,isDescending:E,direction:K}=G;if($)N($,B&&W&&_,{skipAriaHidden:!0});if(z)N(z,E&&W&&_,{skipAriaHidden:!0});if(Z){let L=!X.getColDef().unSortIcon&&!Y.get("unSortIcon");N(Z,!L&&!K,{skipAriaHidden:!0})}if(Q)N(Q,B&&U&&H,{skipAriaHidden:!0});if(J)N(J,E&&U&&H,{skipAriaHidden:!0})}setupMultiSortIndicator(){let{eSortMixed:$,column:z,gos:Q}=this;this.addInIcon("sortUnSort",$,z);let J=z.getColDef().showRowGroup;if(W$(Q)&&J)this.addManagedEventListeners({sortChanged:this.updateMultiSortIndicator.bind(this),columnRowGroupChanged:this.updateMultiSortIndicator.bind(this)}),this.updateMultiSortIndicator()}updateMultiSortIndicator(){let{eSortMixed:$,beans:z,column:Q}=this;if($){let J=z.sortSvc.getDisplaySortForColumn(Q)?.direction==="mixed";N($,J,{skipAriaHidden:!0})}}updateSortOrder(){let{eSortOrder:$,column:z,beans:{sortSvc:Q}}=this;if(!$)return;let J=Q.getColumnsWithSortingOrdered(),Z=Q.getDisplaySortIndexForColumn(z)??-1,X=J.some((q)=>Q.getDisplaySortIndexForColumn(q)??!1),Y=Z>=0&&X;if(N($,Y,{skipAriaHidden:!0}),Z>=0)$.textContent=(Z+1).toString();else z0($)}refresh(){this.onSortChanged()}},m3={selector:"AG-SORT-INDICATOR",component:j4},c3=class extends S{constructor(){super(...arguments);this.beanName="sortSvc"}progressSort($,z,Q){let J=this.getNextSortDirection($);this.setSortForColumn($,J,z,Q)}progressSortFromEvent($,z){let J=this.gos.get("multiSortKey")==="ctrl"?z.ctrlKey||z.metaKey:z.shiftKey;this.progressSort($,J,"uiColumnSorted")}setSortForColumn($,z,Q,J){let{gos:Z,showRowGroupCols:X}=this.beans,Y=W$(Z),q=[$];if(Y){if($.getColDef().showRowGroup){let U=X?.getSourceColumnsForGroupColumn?.($)?.filter((W)=>W.isSortable());if(U)q=[$,...U]}}for(let H of q)this.setColSort(H,z,J);let G=(Q||Z.get("alwaysMultiSort"))&&!Z.get("suppressMultiSort"),_=[];if(!G){let H=this.clearSortBarTheseColumns(q,J);_.push(...H)}this.updateSortIndex($),_.push(...q),this.dispatchSortChangedEvents(J,_)}updateSortIndex($){let{gos:z,colModel:Q,showRowGroupCols:J}=this.beans,Z=W$(z),X=J?.getShowRowGroupCol($.getId()),Y=Z?X||$:$,q=this.getColumnsWithSortingOrdered();Q.forAllCols((H)=>this.setColSortIndex(H,null));let G=q.filter((H)=>{if(Z&&H.getColDef().showRowGroup)return!1;return H!==Y});(Y.getSortDef()?[...G,Y]:G).forEach((H,U)=>this.setColSortIndex(H,U))}onSortChanged($,z){this.dispatchSortChangedEvents($,z)}isSortActive(){let $=!1;return this.beans.colModel.forAllCols((z)=>{if(z.getSortDef())return $=!0,!0}),$}dispatchSortChangedEvents($,z){let Q={type:"sortChanged",source:$};if(z)Q.columns=z;this.eventSvc.dispatchEvent(Q)}clearSortBarTheseColumns($,z){let Q=[];return this.beans.colModel.forAllCols((J)=>{if(!$.includes(J)){if(J.getSortDef())Q.push(J);this.setColSort(J,void 0,z)}}),Q}getNextSortDirection($,z){let Q=$.getSortingOrder(),J=z===void 0?$.getSortDef():a0(z),X=Q.findIndex((Y)=>t1(Y,J))+1;if(X>=Q.length)X=0;return a0(Q[X])}getIndexedSortMap(){let{gos:$,colModel:z,showRowGroupCols:Q,rowGroupColsSvc:J}=this.beans,Z=[];if(z.forAllCols((_)=>{if(_.getSortDef())Z.push(_)}),z.isPivotMode()){let _=W$($);Z=Z.filter((H)=>{let U=!!H.getAggFunc(),W=!H.isPrimary(),B=_?Q?.getShowRowGroupCol(H.getId()):H.getColDef().showRowGroup;return U||W||B})}let X=J?.columns.filter((_)=>!!_.getSortDef())??[],Y={};Z.forEach((_,H)=>Y[_.getId()]=H),Z.sort((_,H)=>{let U=_.getSortIndex(),W=H.getSortIndex();if(U!=null&&W!=null)return U-W;else if(U==null&&W==null){let B=Y[_.getId()],E=Y[H.getId()];return B>E?1:-1}else if(W==null)return-1;else return 1});let q=W$($)&&!!X.length;if(q)Z=[...new Set(Z.map((_)=>Q?.getShowRowGroupCol(_.getId())??_))];let G=new Map;if(Z.forEach((_,H)=>G.set(_,H)),q)for(let _ of X){let H=Q.getShowRowGroupCol(_.getId());G.set(_,G.get(H))}return G}getColumnsWithSortingOrdered(){return[...this.getIndexedSortMap().entries()].sort(([,$],[,z])=>$-z).map(([$])=>$)}collectSortItems($=!1){let z=[],Q=this.getColumnsWithSortingOrdered();for(let J of Q){let Z=J.getSortDef()?.direction;if(!Z)continue;let X=L$(J.getSortDef()?.type),Y={sort:Z,type:X};if($)Y.colId=J.getId();else Y.column=J;z.push(Y)}return z}getSortModel(){return this.collectSortItems(!0)}getSortOptions(){return this.collectSortItems()}canColumnDisplayMixedSort($){let z=W$(this.gos),Q=!!$.getColDef().showRowGroup;return z&&Q}getDisplaySortForColumn($){let z=this.beans.showRowGroupCols?.getSourceColumnsForGroupColumn($);if(!this.canColumnDisplayMixedSort($)||!z?.length)return $.getSortDef();let J=$.getColDef().field!=null||!!$.getColDef().valueGetter?[$,...z]:z,Z=J[0].getSortDef();if(!J.every((Y)=>t1(Y.getSortDef(),Z)))return{type:L$($.getSortDef()?.type),direction:"mixed"};return Z}getDisplaySortIndexForColumn($){return this.getIndexedSortMap().get($)}setupHeader($,z){let Q=()=>{let{type:J,direction:Z}=a0(z.getSortDef());if($.toggleCss("ag-header-cell-sorted-asc",Z==="asc"),$.toggleCss("ag-header-cell-sorted-desc",Z==="desc"),$.toggleCss("ag-header-cell-sorted-abs-asc",J==="absolute"&&Z==="asc"),$.toggleCss("ag-header-cell-sorted-abs-desc",J==="absolute"&&Z==="desc"),$.toggleCss("ag-header-cell-sorted-none",!Z),z.getColDef().showRowGroup){let q=!this.beans.showRowGroupCols?.getSourceColumnsForGroupColumn(z)?.every((G)=>Z==G.getSortDef()?.direction);$.toggleCss("ag-header-cell-sorted-mixed",q)}};$.addManagedEventListeners({sortChanged:Q,columnPinned:Q,columnRowGroupChanged:Q,displayedColumnsChanged:Q})}initCol($){let{sortIndex:z,initialSortIndex:Q}=$.colDef,J=A7($.colDef);if(J)$.setSortDef(J,!0);if(z!==void 0){if(z!==null)$.sortIndex=z}else if(Q!==null)$.sortIndex=Q}updateColSort($,z,Q){if(z===void 0)return;this.setColSort($,a0(z),Q)}setColSort($,z,Q){if(!t1($.getSortDef(),z))$.setSortDef(a0(z),z===void 0),$.dispatchColEvent("sortChanged",Q);$.dispatchStateUpdatedEvent("sort")}setColSortIndex($,z){$.sortIndex=z,$.dispatchStateUpdatedEvent("sortIndex")}createSortIndicator($){return new j4($)}getSortIndicatorSelector(){return m3}},t8={moduleName:"Sort",version:p,beans:[c3,N3],apiFunctions:{onSortChanged:h3},userComponents:{agSortIndicator:j4},icons:{sortAscending:"asc",sortDescending:"desc",sortUnSort:"none",sortAbsoluteAscending:"aasc",sortAbsoluteDescending:"adesc"}},p3=class extends S{constructor(){super(...arguments);this.beanName="syncSvc",this.waitingForColumns=!1}postConstruct(){this.addManagedPropertyListener("columnDefs",($)=>this.setColumnDefs($))}start(){this.beans.ctrlsSvc.whenReady(this,()=>{let $=this.gos.get("columnDefs");if($)this.setColumnsAndData($);else this.waitingForColumns=!0;this.gridReady()})}setColumnsAndData($){let{colModel:z,rowModel:Q}=this.beans;z.setColumnDefs($??[],"gridInitializing"),Q.start()}gridReady(){let{eventSvc:$,gos:z}=this;$.dispatchEvent({type:"gridReady"}),dQ(z,`initialised successfully, enterprise = ${z.isModuleRegistered("EnterpriseCore")}`)}setColumnDefs($){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($.source))}};var i3="paste",n3=class extends S{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=o2(this.beans),this.addManagedEventListeners({cellValueChanged:this.onCellValueChanged.bind(this)})}beginDeferred(){this.deferredDepth++}endDeferred(){if(this.deferredDepth===0)return;if(--this.deferredDepth>0)return;let $=this.batchedPath,z=this.batchedNodes;if(this.batchedPath=null,this.batchedNodes=null,$)this.csrm?.doAggregate($);let{rowRenderer:Q}=this.beans;if(z)for(let J of z)J6(Q,J);if($){let J=$.getSortedRows();for(let Z=0,X=J.length;Z<X;++Z)J6(Q,J[Z])}if(this.batchedPath||this.batchedNodes)this.deferredDepth=1,this.endDeferred()}onCellValueChanged($){let{gos:z,rowModel:Q,changedPathFactory:J}=this.beans;if($.source===i3||z.get("suppressChangeDetection"))return;if(!Q.rootNode)return;let Z=$.node.primaryRow;if(this.csrm){let X=this.batchedPath;if(!X)X=J?.newPath(z.get("aggregateOnlyChangedColumns"))??null,this.batchedPath=X;let Y=Z;if(!Z.group)(this.batchedNodes??(this.batchedNodes=new Set)).add(Z),Y=Z.parent;X?.addCell(Y,$.column.getColId())}else(this.batchedNodes??(this.batchedNodes=new Set)).add(Z);if(this.deferredDepth===0)this.deferredDepth=1,this.endDeferred()}},J6=($,z)=>{let{sibling:Q,pinnedSibling:J}=z;$.refreshRowByNode(z),$.refreshRowByNode(Q),$.refreshRowByNode(J),$.refreshRowByNode(Q?.pinnedSibling),$.refreshRowByNode(J?.sibling)},d3=class extends S{constructor(){super(...arguments);this.beanName="expressionSvc",this.cache={}}evaluate($,z){if(typeof $==="string")return this.evaluateExpression($,z);else e(15,{expression:$})}evaluateExpression($,z){try{return this.createExpressionFunction($)(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(Q){return e(16,{expression:$,params:z,e:Q}),null}}createExpressionFunction($){let z=this.cache;if(z[$])return z[$];let Q=this.createFunctionBody($),J=Function("x, ctx, oldValue, newValue, value, node, data, colDef, rowIndex, api, getValue, column, columnGroup",Q);return z[$]=J,J}createFunctionBody($){if($.includes("return"))return $;else return"return "+$+";"}};var t3={moduleName:"Expression",version:p,beans:[d3]},s3={moduleName:"ChangeDetection",version:p,beans:[n3]};var r3=class extends S{constructor(){super(...arguments);this.beanName="valueSvc",this.initialised=!1,this.isSsrm=!1}wireBeans($){this.expressionSvc=$.expressionSvc,this.colModel=$.colModel,this.valueCache=$.valueCache,this.dataTypeSvc=$.dataTypeSvc,this.editSvc=$.editSvc,this.formulaDataSvc=$.formulaDataSvc,this.rowGroupColsSvc=$.rowGroupColsSvc}postConstruct(){if(!this.initialised)this.init()}init(){let{gos:$,valueCache:z}=this;this.executeValueGetter=z?this.executeValueGetterWithValueCache.bind(this):this.executeValueGetterWithoutValueCache.bind(this),this.isSsrm=_z($),this.cellExpressions=$.get("enableCellExpressions"),this.isTreeData=$.get("treeData"),this.initialised=!0;let Q=(J)=>this.callColumnCellValueChangedHandler(J);this.eventSvc.addListener("cellValueChanged",Q,!0),this.addDestroyFunc(()=>this.eventSvc.removeListener("cellValueChanged",Q,!0)),this.addManagedPropertyListener("treeData",(J)=>this.isTreeData=J.currentValue)}getValueForDisplay($){let z=this.beans,Q=$.column,J=$.node,Z=z.showRowGroupColValueSvc,X=!Q&&J.group,Y=Q?.colDef.showRowGroup,q=!this.isTreeData||J.footer;if(Z&&q&&(X||Y)){let W=Z.getGroupValue(J,Q,this.displayIgnoresAggData(J));if(W==null)return{value:null,valueFormatted:null};return{value:W.value,valueFormatted:$.includeValueFormatted?Z.formatAndPrefixGroupColValue(W,Q,$.exporting):null}}if(!Q)return{value:J.key,valueFormatted:null};let G=this.getValue(Q,J,$.from,this.displayIgnoresAggData(J)),_=G,H=z.formula;if(Q.isAllowFormula()&&H?.isFormula(G))if($.useRawFormula)G=H.normaliseFormula(G,!0),_=H.resolveValue(Q,J);else G=H.resolveValue(Q,J),_=G;let U=$.includeValueFormatted&&!($.exporting&&Q.colDef.useValueFormatterForExport===!1);return{value:G,valueFormatted:U?this.formatValue(Q,J,_):null}}getValue($,z,Q,J=!1){if(!this.initialised)this.init();if(!z)return;let Z=$.colDef,X=z.group;if(!X){let G=Z.pivotValueColumn;if(G)$=G}let Y=this.editSvc?.getPendingEditValue(z,$,Q);if(Y!==void 0)return Y;let q=this.resolveValue($,z,J,X);if(q===void 0){if(X){let G=Z.showRowGroup;if(typeof G==="string"){let _=this.rowGroupColsSvc?.getColumnIndex(G);if(_!=null&&_>z.level)return null}}return}if(this.cellExpressions&&o1(q)){let G=q.substring(1);q=this.executeValueGetter(G,z.data,$,z)}return q}displayIgnoresAggData($){if(!$.group||$.footer||$.level===-1)return!1;if(!$.sibling||this.gos.get("groupSuppressBlankHeader"))return!1;if($.leafGroup&&this.colModel.isPivotMode())return!1;return!!$.expanded}resolveValue($,z,Q,J){let{colDef:Z,colId:X}=$,Y=!J&&this.formulaDataSvc;if(Y&&Y.hasDataSource()&&Z.allowFormula===!0){let F=Y.getFormula({column:$,rowNode:z});if(o1(F))return F}let q=J&&!Q?z.aggData:void 0,G=this.isTreeData;if(G&&q?.[X]!==void 0)return q[X];let _=z.data,H=Z.field,U=Z.valueGetter;if(G){if(U)return this.executeValueGetter(U,_,$,z);if(H&&_)return hQ(_,H,$.isFieldContainsDots())}let W=z.groupData;if(W&&X in W)return W[X];if(q?.[X]!==void 0)return q[X];let B=Z.showRowGroup,E=typeof B!=="string"||!J,K=this.isSsrm,L=K&&Q&&!!Z.aggFunc;if(U&&!L)return E?this.executeValueGetter(U,_,$,z):void 0;if(K&&z.footer&&z.field&&(B===!0||B===z.field))return hQ(_,z.field,$.isFieldContainsDots());if(H&&_&&!L)return E?hQ(_,H,$.isFieldContainsDots()):void 0;return}parseValue($,z,Q,J){let Z=$.getColDef();if(Z.allowFormula&&this.beans.formula?.isFormula(Q))return Q;let X=Z.valueParser;if(T(X)){let Y=y(this.gos,{node:z,data:z?.data,oldValue:J,newValue:Q,colDef:Z,column:$});if(typeof X==="function")return X(Y);return this.expressionSvc?.evaluate(X,Y)}return Q}getDeleteValue($,z){if(T($.getColDef().valueParser))return this.parseValue($,z,"",this.getValueForDisplay({column:$,node:z,from:"edit"}).value)??null;return null}formatValue($,z,Q,J,Z=!0){let{expressionSvc:X}=this.beans,Y=null,q,G=$.getColDef();if(J)q=J;else if(Z)q=G.valueFormatter;if(q){let _=z?z.data:null,H=y(this.gos,{value:Q,node:z,data:_,colDef:G,column:$});if(typeof q==="function")Y=q(H);else Y=X?X.evaluate(q,H):null}else if(G.refData)return G.refData[Q]||"";if(Y==null&&Array.isArray(Q))Y=Q.join(", ");return Y}setValue($,z,Q,J){let Z=z.getColDef();if(!$.data&&this.canCreateRowNodeData($,Z))$.data={};if(!this.isSetValueSupported(z,$,Q,Z))return!1;let X=this.getValue(z,$,"data"),Y=y(this.gos,{node:$,data:$.data,oldValue:X,newValue:Q,colDef:Z,column:z}),q=!1;if($.data){let _=this.handleExternalFormulaChange({column:z,eventSource:J,newValue:Q,setterParams:Y,rowNode:$});if(_!==null)return _;q=this.computeValueChange({column:z,rowNode:$,newValue:Q,params:Y,rowData:$.data,valueSetter:Z.valueSetter,field:Z.field})??!0}let G=this.beans.changeDetectionSvc;G?.beginDeferred();try{if($.group){let _=this.beans.rowGroupingEditValueSvc?.setGroupDataValue($,z,Q,X,J,q||Q!==X);if(_!==void 0){if(!q&&!_)return!1;return this.finishValueChange($,z,Y,J,Q)}}if(!q)return!1;return this.finishValueChange($,z,Y,J)}finally{G?.endDeferred()}}canCreateRowNodeData($,z){if(!$.group)return!0;if(z.groupRowValueSetter!=null||z.groupRowEditable!=null)return!1;if(z.pivotValueColumn)return!1;return!0}finishValueChange($,z,Q,J,Z){$.resetQuickFilterAggregateText(),this.valueCache?.onDataChanged();let X=Z===void 0?this.getValue(z,$,"data"):Z;if(this.dispatchCellValueChangedEvent($,Q,X,J),$.pinnedSibling)this.dispatchCellValueChangedEvent($.pinnedSibling,Q,X,J);return!0}isSetValueSupported($,z,Q,J){let{field:Z,valueSetter:X}=J,Y=this.beans.formula,q=$.isAllowFormula()&&Y?.isFormula(Q),G=!!this.formulaDataSvc?.hasDataSource();if(n(Z)&&n(X)&&!(G&&q)){if(z.group&&(J.groupRowValueSetter||J.groupRowEditable))return!0;return j(17),!1}if(this.dataTypeSvc&&!this.dataTypeSvc.checkType($,Q))return j(135),!1;return!0}handleExternalFormulaChange($){let{column:z,rowNode:Q,newValue:J,eventSource:Z,setterParams:X}=$,Y=this.beans.formula,q=this.formulaDataSvc;if(!q?.hasDataSource()||!z.isAllowFormula())return null;let G=Y?.isFormula(J),_=q.getFormula({column:z,rowNode:Q});if(G){if(_===J)return!1;q.setFormula({column:z,rowNode:Q,formula:J});let U=Y?.resolveValue(z,Q),W=z.getColDef();if(T(W.valueSetter)||!n(W.field)){let B={...X,newValue:U};this.computeValueChange({column:z,rowNode:Q,newValue:U,params:B,rowData:Q.data,valueSetter:W.valueSetter,field:W.field})}return this.finishValueChange(Q,z,X,Z)}if(_!==void 0)q.setFormula({column:z,rowNode:Q,formula:void 0});return null}computeValueChange($){let{valueSetter:z,params:Q,rowData:J,field:Z,column:X,newValue:Y}=$;if(T(z)){if(typeof z==="function")return z(Q);return this.expressionSvc?.evaluate(z,Q)}return!!J&&this.setValueUsingField(J,Z,Y,X.isFieldContainsDots())}dispatchCellValueChangedEvent($,z,Q,J){this.eventSvc.dispatchEvent({type:"cellValueChanged",event:null,rowIndex:$.rowIndex,rowPinned:$.rowPinned,column:z.column,colDef:z.colDef,data:$.data,node:$,oldValue:z.oldValue,newValue:Q,newRawValue:z.newValue,value:Q,source:J})}callColumnCellValueChangedHandler($){let z=$.colDef.onCellValueChanged;if(typeof z==="function")this.beans.frameworkOverrides.wrapOutgoing(()=>{z($)})}setValueUsingField($,z,Q,J){if(!z)return!1;let Z=!1;if(!J){if(Z=$[z]===Q,!Z)$[z]=Q}else{let X=z.split("."),Y=$;while(X.length>0&&Y){let q=X.shift();if(X.length===0){if(Z=Y[q]===Q,!Z)Y[q]=Q}else Y=Y[q]}}return!Z}executeValueGetterWithValueCache($,z,Q,J){let Z=Q.getColId(),X=this.valueCache.getValue(J,Z);if(X!==void 0)return X;let Y=this.executeValueGetterWithoutValueCache($,z,Q,J);return this.valueCache.setValue(J,Z,Y),Y}executeValueGetterWithoutValueCache($,z,Q,J){let Z=y(this.gos,{data:z,node:J,column:Q,colDef:Q.getColDef(),getValue:(Y)=>this.getValueCallback(J,Y)}),X;if(typeof $==="function")X=$(Z);else X=this.expressionSvc?.evaluate($,Z);return X}getValueCallback($,z){let Q=this.colModel.getColDefCol(z);if(Q)return this.getValue(Q,$,"data");return null}getKeyForNode($,z){let Q=this.getValue($,z,"data"),J=$.getColDef().keyCreator,Z=Q;if(J){let X=y(this.gos,{value:Q,colDef:$.getColDef(),column:$,node:z,data:z.data});Z=J(X)}if(typeof Z==="string"||Z==null)return Z;if(Z=String(Z),Z==="[object Object]")j(121);return Z}},l3={moduleName:"CommunityCore",version:p,beans:[NB,RH,BW,HG,b3,TU,IB,ZE,yU,J3,Q3,x3,r3,xB,TB,wB,KW,p3,YW,qW,LE],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:jH,destroy:fH,isDestroyed:OH,getGridOption:PH,setGridOption:TH,updateGridOptions:q8,isModuleRegistered:vH},dependsOn:[ZW,D1,EU,t8,WE,E4,BE,C3,s3,KE,iz,q3,H3,ME,HW,XW,t3,nU,B3]};function F2($){let{inputValue:z,allSuggestions:Q,hideIrrelevant:J,filterByPercentageOfBestMatch:Z}=$,X=(Q??[]).map((G,_)=>({value:G,relevance:a3(z,G),idx:_}));if(X.sort((G,_)=>G.relevance-_.relevance),J)X=X.filter((G)=>G.relevance<Math.max(G.value.length,z.length));if(X.length>0&&Z&&Z>0){let _=X[0].relevance*Z;X=X.filter((H)=>_-H.relevance<0)}let Y=[],q=[];for(let G of X)Y.push(G.value),q.push(G.idx);return{values:Y,indices:q}}function a3($,z){let Q=$.length,J=z.length;if(J===0)return Q?Q:0;let Z=$.toLocaleLowerCase(),X=z.toLocaleLowerCase(),Y;if($.length<z.length)Y=X,X=Z,Z=Y,Y=z,z=$,$=Y;let q=new Uint16Array(J+1),G=new Uint16Array(J+1);for(let U=0;U<=J;U++)q[U]=U;let _=0,H=Q/2-10;for(let U=1;U<=Q;U++){let W=$[U-1],B=Z[U-1];G[0]=U;for(let E=1;E<=J;E++){let K=z[E-1],L=X[E-1];if(B!==L){let D=G[E-1],F=q[E],M=q[E-1],k=D<F?D:F;if(M<k)k=M;G[E]=k+1|0;continue}if(_++,W===K)_++;if(U>1&&E>1){let D=$[U-2],F=Z[U-2],M=z[E-2],k=X[E-2];if(F===k){if(_++,D===M)_++}}if(U<H)_++;G[E]=q[E-1]}Y=q,q=G,G=Y}return q[J]/(_+1)}var s8={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},sZ=["TextFilter","NumberFilter","BigIntFilter","DateFilter","SetFilter","MultiFilter","GroupFilter","CustomFilter"],o3={EditCore:["TextEditor","NumberEditor","DateEditor","CheckboxEditor","LargeTextEditor","SelectEditor","RichSelect","CustomEditor"],CheckboxCellRenderer:["AllCommunity"],ClientSideRowModelHierarchy:["RowGrouping","Pivot","TreeData"],ColumnFilter:sZ,ColumnGroupHeaderComp:["AllCommunity"],ColumnGroup:["AllCommunity"],ColumnHeaderComp:["AllCommunity"],ColumnMove:["AllCommunity"],ColumnResize:["AllCommunity"],CommunityCore:["AllCommunity"],CsrmSsrmSharedApi:["ClientSideRowModelApi","ServerSideRowModelApi"],RowModelSharedApi:["ClientSideRowModelApi","ServerSideRowModelApi"],EnterpriseCore:["AllEnterprise"],FilterCore:[...sZ,"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:[...sZ,"ColumnMenu","ContextMenu"],SharedPivot:["Pivot","ServerSideRowModel"],SharedRowGrouping:["RowGrouping","ServerSideRowModel"],SharedRowSelection:["RowSelection","ServerSideRowModel"],SkeletonCellRenderer:["ServerSideRowModel"],Sort:["AllCommunity"],SsrmInfiniteSharedApi:["InfiniteRowModel","ServerSideRowModelApi"],SharedTreeData:["TreeData","ServerSideRowModel"]},e3={InfiniteRowModel:"infinite",ClientSideRowModelApi:"clientSide",ClientSideRowModel:"clientSide",ServerSideRowModelApi:"serverSide",ServerSideRowModel:"serverSide",ViewportRowModel:"viewport"};function $K($,z){let Q=[];for(let J of Array.isArray($)?$:[$]){let Z=o3[J];if(Z)for(let X of Z){let Y=e3[X];if(!Y||Y===z)Q.push(X)}else Q.push(J)}return Q}var r8=()=>`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=($)=>{let z=$.map((J)=>`import { ${mQ(J)} } from '${s8[J]?"ag-grid-enterprise":"ag-grid-community"}';`);if($.some((J)=>J==="IntegratedCharts"||J==="Sparklines"))z.push("import { AgChartsEnterpriseModule } from 'ag-charts-enterprise';");return`import { ModuleRegistry } from 'ag-grid-community';
${z.join(`
`)}
ModuleRegistry.registerModules([ ${$.map((J)=>mQ(J,!0)).join(", ")} ]);
For more info see: ${_Q}/modules/`};function mQ($,z=!1){if(z&&($==="IntegratedCharts"||$==="Sparklines"))return`${$}Module.with(AgChartsEnterpriseModule)`;return`${$}Module`}function QK($,z){let Q=z.filter((X)=>X==="IntegratedCharts"||X==="Sparklines"),J="";if(!globalThis?.agCharts&&Q.length>0)J=`Unable to use ${$} as either the ag-charts-community or ag-charts-enterprise script needs to be included alongside ag-grid-enterprise.
`;else if(z.some((X)=>s8[X]))J=J+`Unable to use ${$} as that requires the ag-grid-enterprise script to be included.
`;return J}function l8({moduleName:$,rowModelType:z}){return`To use the ${$}Module you must set the gridOption "rowModelType='${z}'"`}var Z6=({reasonOrId:$,moduleName:z,gridScoped:Q,gridId:J,rowModelType:Z,additionalText:X,isUmd:Y})=>{let q=$K(z,Z),G=typeof $==="string"?$:YK[$];if(Y)return QK(G,q);let _=q.filter((W)=>W==="IntegratedCharts"||W==="Sparklines"),H=_.length>0?`${_.map((W)=>mQ(W)).join()} must be initialised with an AG Charts module. One of 'AgChartsCommunityModule' / 'AgChartsEnterpriseModule'.`:"";return`${`Unable to use ${G} as ${q.length>1?"one of "+q.map((W)=>mQ(W)).join(", "):mQ(q[0])} is not registered${Q?" for gridId: "+J:""}. ${H} Check if you have registered the module:
`}
${zK(q)}`+(X?`
${X}`:"")},X6=($)=>{return`${$} 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 { ${$} } from 'ag-grid-enterprise';
ModuleRegistry.registerModules([${$}.with(AgChartsEnterpriseModule)]);
`},JK=($)=>`AG Grid: Unable to use the Clipboard API (navigator.clipboard.${$}()). 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.`,ZK={1:()=>"`rowData` must be an array",2:({nodeId:$})=>`Duplicate node id '${$}' 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:$})=>`Could not find row id=${$}, data item was not found for this id`,5:({data:$})=>["Could not find data item as object was not found.",$," 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:$})=>`Unknown key for navigation ${$}`,9:({variable:$})=>`No value for ${$?.cssName}. This usually means that the grid has been initialised before styles have been loaded. The default value of ${$?.defaultValue} will be used and updated when styles load.`,10:({eventType:$})=>`As of v33, the '${$}' event is deprecated. Use the global 'modelUpdated' event to determine when row children have changed.`,11:()=>"No gridOptions provided to createGrid",12:({colKey:$})=>["column ",$," 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:$})=>`Row IDs cannot start with ${$}, this is a reserved prefix for AG Grid's row grouping feature.`,15:({expression:$})=>["value should be either a string or a function",$],16:({expression:$,params:z,e:Q})=>["Processing of the expression failed","Expression = ",$,"Params = ",z,"Exception = ",Q],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:$})=>`${$} 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:$})=>["The getRowId callback must return a string. The ID ",$," is being cast to a string."],26:({fnName:$,preDestroyLink:z})=>{return`Grid API function ${$}() 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:$,module:z})=>`API function '${$}' 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:$})=>["tried to insert columns in invalid location, toIndex = ",$,"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:$})=>`the column type '${$}' 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:$})=>"colDef.type '"+$+"' does not correspond to defined gridOptions.columnTypes",37:()=>"Changing the column pinning status is not allowed with domLayout='print'",38:({iconName:$})=>`provided icon '${$}' 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:$,method:z})=>`${$}
${JK(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:$})=>`As of v33, icon '${$}' is deprecated. Use the icon CSS name instead.`,44:()=>'Data type definition hierarchies (via the "extendsDataType" property) cannot contain circular references.',45:({parentCellDataType:$})=>`The data type definition ${$} does not exist.`,46:()=>'The "baseDataType" property of a data type definition must match that of its parent.',47:({cellDataType:$})=>`Missing data type definition - "${$}"`,48:({property:$,inferred:z,colId:Q})=>{let J=z?" (inferred)":"",Z=Q?` for column "${Q}"`:"";return`Cell data type is "object"${J} but no Value ${$} has been provided${Z}. Please either provide an object data type definition with a Value ${$}, or set:
- "colDef.value${$}"${z&&$==="Parser"?`
- "colDef.cellDataType = 'object'"`:""}`},49:({methodName:$})=>`Framework component is missing the method ${$}()`,50:({compName:$})=>`Could not find component ${$}, 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:$})=>`setFilterModel() - no column found for colId: ${$}`,63:({colId:$})=>`setFilterModel() - unable to fully apply model, filtering disabled for colId: ${$}`,64:({colId:$})=>`setFilterModel() - unable to fully apply model, unable to create filter for colId: ${$}`,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:$})=>`getGui method from filter returned ${$}; it should be a DOM element.`,70:({newFilter:$})=>`Grid option quickFilterText only supports string inputs, received: ${typeof $}`,71:()=>"debounceMs is ignored when apply button is present",72:({keys:$})=>["ignoring FilterOptionDef as it doesn't contain one of ",$],73:()=>"invalid FilterOptionDef supplied as it doesn't contain a 'displayKey'",74:()=>"no filter options for filter",75:()=>"Unknown button type specified",76:({filterModelType:$})=>['Unexpected type of filter "',$,'", 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:$})=>`DateFilter ${$} 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:$})=>`Invalid row index for ensureIndexVisible: ${$}`,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:$,pageSizeSet:z,pageSizesSet:Q,pageSizeOptions:J})=>`'paginationPageSize=${$}'${z?"":" (default value)"}, but ${$} is not included in${Q?"":" the default"} paginationPageSizeSelector=[${J?.join(", ")}].`,95:({paginationPageSizeOption:$,paginationPageSizeSelector:z})=>`Either set '${z}' to an array that includes ${$} or to 'false' to disable the page size selector.`,96:({id:$,data:z})=>["Duplicate ID",$,"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:$})=>`cellEditor for column ${$} 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:$,componentName:z,agGridDefaults:Q,jsComps:J})=>{let Z=[],X=[...Object.keys(Q??[]).filter((q)=>!["agCellEditor","agGroupRowRenderer","agSortIndicator"].includes(q)),...Object.keys(J??[]).filter((q)=>!!J[q])],Y=F2({inputValue:z,allSuggestions:X,hideIrrelevant:!0,filterByPercentageOfBestMatch:0.8}).values;if(Z.push(`Could not find '${z}' component. It was configured as "${$}: '${z}'" but it wasn't found in the list of registered components.
`),Y.length>0)Z.push(` Did you mean: [${Y.slice(0,3)}]?
`);return Z.push("If using a custom component check it has been registered correctly."),Z},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:$,param:z})=>`Numeric value ${$} passed to ${z} param will be interpreted as ${$} seconds. If this is intentional use "${$}s" to silence this warning.`,105:({e:$})=>["chart rendering failed",$],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: ${_Q}/theming-migration/`,107:({key:$,value:z})=>`Invalid value for theme param ${$} - ${z}`,108:({e:$})=>["chart update failed",$],109:({inputValue:$,allSuggestions:z})=>{let Q=F2({inputValue:$,allSuggestions:z,hideIrrelevant:!0,filterByPercentageOfBestMatch:0.8}).values;return[`Could not find '${$}' aggregate function. It was configured as "aggFunc: '${$}'" but it wasn't found in the list of registered aggregations.`,Q.length>0?` Did you mean: [${Q.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:$})=>`Could not find component with name of ${$}. 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:$})=>`Unable to update chart. No active chart found with ID: ${$}.`,126:()=>"unable to restore chart as no chart model is provided",127:({allRange:$})=>`unable to create chart as ${$?"there are no columns in the grid":"no range is selected"}.`,128:({feature:$})=>`${$} is only available if using 'multiRow' selection mode.`,129:({feature:$,rowModel:z})=>`${$} 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:$})=>`icon '${$}' function should return back a string or a dom object`,134:({iconName:$})=>`Did not find icon '${$}'`,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:$,currentChartType:z})=>`Unable to update chart as a '${$}' update type is not permitted on a ${z}.`,138:({chartType:$})=>`invalid chart type supplied: ${$}`,139:({customThemeName:$})=>`a custom chart theme with the name ${$} has been supplied but not added to the 'chartThemes' list`,140:({name:$})=>`no stock theme exists with the name '${$}' 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:$})=>`'${$}' is not a valid Chart Tool Panel name`,144:({type:$})=>`Invalid charts data panel group name supplied: '${$}'`,145:({group:$})=>`As of v32, only one charts customize panel group can be expanded at a time. '${$}' will not be expanded.`,146:({comp:$})=>`Unable to instantiate component '${$}' as its module hasn't been loaded. Add 'ValidationModule' to see which module is required.`,147:({group:$})=>`Invalid charts customize panel group name supplied: '${$}'`,148:({group:$})=>`invalid chartGroupsDef config '${$}'`,149:({group:$,chartType:z})=>`invalid chartGroupsDef config '${$}.${z}'`,150:()=>"'seriesChartTypes' are required when the 'customCombo' chart type is specified.",151:({chartType:$})=>`invalid chartType '${$}' supplied in 'seriesChartTypes', converting to 'line' instead.`,152:({colId:$})=>`no 'seriesChartType' found for colId = '${$}', defaulting to 'line'.`,153:({chartDataType:$})=>`unexpected chartDataType value '${$}' supplied, instead use 'category', 'series' or 'excluded'`,154:({colId:$})=>`cross filtering requires a 'agSetColumnFilter' or 'agMultiColumnFilter' to be defined on the column with id: ${$}`,155:({option:$})=>`'${$}' is not a valid Chart Toolbar Option`,156:({panel:$})=>`Invalid panel in chartToolPanelsDef.panels: '${$}'`,157:({unrecognisedGroupIds:$})=>["unable to find group(s) for supplied groupIds:",$],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:$,dataType:z})=>`Unrecognized data type for excel export [${$}.dataType=${z}]`,163:({featureName:$})=>`Excel table export does not work with ${$}. The exported Excel file will not contain any Excel tables.
Please turn off ${$} 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:$})=>["unable to find groups for these supplied groupIds:",$],167:({unrecognisedColIds:$})=>["unable to find columns for these supplied colIds:",$],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:$})=>`invalid cellRendererParams.refreshStrategy = ${$} 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:$})=>`invalid chartGroupsDef config '${$}'`,174:({group:$,chartType:z})=>`invalid chartGroupsDef config '${$}.${z}'`,175:({menuTabName:$,itemsToConsider:z})=>[`Trying to render an invalid menu item '${$}'. Check that your 'menuTabs' contains one of `,z],176:({key:$})=>`unknown menu item type ${$}`,177:()=>"valid values for cellSelection.handle.direction are 'x', 'y' and 'xy'. Default to 'xy'.",178:({colId:$})=>`column ${$} 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:$,childNodeData:z})=>["duplicate group keys for row data, keys should be unique",[$,z]],185:({data:$})=>["getDataPath() should not return an empty path",[$]],186:({rowId:$,rowData:z,duplicateRowsData:Q})=>["duplicate group keys for row data, keys should be unique",$,z,...Q??[]],187:({rowId:$,firstData:z,secondData:Q})=>[`Duplicate node id ${$}. 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",Q],188:($)=>`getRowId callback must be provided for Server Side Row Model ${$?.feature||"selection"} to work correctly.`,189:({startRow:$})=>`invalid value ${$} for startRow, the value should be >= 0`,190:({rowGroupId:$,data:z})=>["null and undefined values are not allowed for server side row model keys",$?`column = ${$}`:"","data is ",z],194:({method:$})=>`calling gridApi.${$}() is only possible when using rowModelType=\`clientSide\`.`,195:({justCurrentPage:$})=>`selecting just ${$?"current page":"filtered"} only works when gridOptions.rowModelType='clientSide'`,196:({key:$})=>`Provided ids must be of string type. Invalid id provided: ${$}`,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:Z6,201:({rowModelType:$})=>`Could not find row model for rowModelType = ${$}`,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:$})=>`Unable to display rows as duplicate row ids (${$}) 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 ${_Q}/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:$})=>`unable to lookup Tool Panel as invalid key supplied: ${$}`,215:({key:$,defaultByKey:z})=>`the key ${$} is not a valid key for specifying a tool panel, valid keys are: ${Object.keys(z??{}).join(",")}`,216:({name:$})=>`Missing component for '${$}'`,217:({invalidColIds:$})=>["unable to find grid columns for the supplied colDef(s):",$],218:({property:$,defaultOffset:z})=>`${$} must be a number, the value you provided is not a valid number. Using the default of ${z}px.`,219:({property:$})=>`Property ${$} does not exist on the target object.`,220:({lineDash:$})=>`'${$}' 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:$})=>`unrecognised menu item ${$}`,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:$})=>`Framework component is missing the method ${$}()`,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:$})=>`theme grid option must be a Theming API theme object or the string "legacy", received: ${$}`,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:$})=>`AG Grid: Unable to create chart as an invalid chartType = '${$}' 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:$})=>["Illegal version string: ",$],254:()=>"Cannot create chart: no chart themes available.",255:({point:$})=>`Lone surrogate U+${$?.toString(16).toUpperCase()} is not a scalar value`,256:()=>"Unable to initialise. See validation error, or load ValidationModule if missing.",257:()=>X6("IntegratedChartsModule"),258:()=>X6("SparklinesModule"),259:({part:$})=>`the argument to theme.withPart must be a Theming API part object, received: ${$}`,260:({propName:$,compName:z,gridScoped:Q,gridId:J,rowModelType:Z})=>Z6({reasonOrId:`AG Grid '${$}' component: ${z}`,moduleName:BQ[z],gridId:J,gridScoped:Q,rowModelType:Z}),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:$})=>`Unable to infer chart data type for column '${$}' if first data entry is null. Please specify "chartDataType", or a "cellDataType" in the column definition. For more information, see ${_Q}/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:$,parentId:z})=>`Cycle detected for row with id='${$}' and parent id='${z}'. Resetting the parent for row with id='${$}' and showing it as a root-level node.`,271:({id:$,parentId:z})=>`Parent row not found for row with id='${$}' and parent id='${z}'. Showing row with id='${$}' as a root-level node.`,272:()=>r8(),273:({providedId:$,usedId:z})=>`Provided column id '${$}' was already in use, ensure all column and group ids are unique. Using '${z}' instead.`,274:({prop:$})=>{let z=`Since v33, ${$} has been deprecated.`;switch($){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:l8,276:()=>"Row Numbers Row Resizer cannot be used when Grid Columns have `autoHeight` enabled.",277:({colId:$})=>`'enableFilterHandlers' is set to true, but column '${$}' does not have 'filter.doesFilterPass' or 'filter.handler' set.`,278:({colId:$})=>`Unable to create filter handler for column '${$}'`,279:($)=>{},280:({colId:$})=>`'name' must be provided for custom filter components for column '${$}`,281:({colId:$})=>`Filter for column '${$}' 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:$})=>`Row Model '${$}' is not supported with Batch Editing`,290:({rowIndex:$,rowPinned:z})=>`Row with index '${$}' 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:$})=>`The Multi Filter for column '${$}' 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:$})=>`colDef.allowFormula is not supported with ${$}. 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 XK($,z){let Q=ZK[$];if(!Q)return[`Missing error text for error id ${$}!`];let J=Q(z),X=`
See ${$7($,z)}`;return Array.isArray(J)?J.concat(X):[J,X]}var YK={1:"Charting Aggregation",2:"pivotResultFields",3:"setTooltip"},qK=class{constructor($="javascript"){this.frameworkName=$,this.renderingEngine="vanilla",this.batchFrameworkComps=!1,this.wrapIncoming=(z)=>z(),this.wrapOutgoing=(z)=>z(),this.baseDocLink=`${n6}/${this.frameworkName}-data-grid`,Oq(this.baseDocLink)}frameworkComponent($){return null}isFrameworkComponent($){return!1}getDocLink($){return this.baseDocLink+($?"/"+$:"")}},Y6=new WeakMap,q6=new WeakMap;function M1($,z,Q){if(!z)return e(11),{};let J=Q,Z;if(!J?.setThemeOnGridDiv){let Y=J0({tag:"div"});Y.style.height="100%",$.appendChild(Y),$=Y,Z=()=>$.remove()}return new _K().create($,z,(Y)=>{let q=new AH($);Y.createBean(q)},void 0,Q,Z)}var GK=1,_K=class{create($,z,Q,J,Z,X){let Y=y2.applyGlobalGridOptions(z),q=Y.gridId??String(GK++),G=this.getRegisteredModules(Z,q,Y.rowModelType),_=this.createBeansList(Y.rowModelType,G,q),H=this.createProvidedBeans($,Y,Z);if(!_)return;let B=new $_({providedBeanInstances:H,beanClasses:_,id:q,beanInitComparator:J_,beanDestroyComparator:Z_,derivedBeans:[z_],destroyCallback:()=>{q6.delete(E),Y6.delete($),Aq(q),X?.()}});this.registerModuleFeatures(B,G),Q(B),B.getBean("syncSvc").start(),J?.(B);let E=B.getBean("gridApi");return Y6.set($,E),q6.set(E,$),E}getRegisteredModules($,z,Q){return tQ(l3,void 0,!0),$?.modules?.forEach((J)=>tQ(J,z)),Sq(z,G6(Q))}registerModuleFeatures($,z){let Q=$.getBean("registry"),J=$.getBean("apiFunctionSvc");for(let Z of z){Q.registerModule(Z);let X=Z.apiFunctions;if(X){let Y=Object.keys(X);for(let q of Y)J?.addFunction(q,X[q])}}}createProvidedBeans($,z,Q){let J=Q?Q.frameworkOverrides:null;if(n(J))J=new qK;let Z={gridOptions:z,eGridDiv:$,eRootDiv:$,globalListener:Q?Q.globalListener:null,globalSyncListener:Q?Q.globalSyncListener:null,frameworkOverrides:J,withinStudio:Q?.withinStudio};if(Q?.providedBeanInstances)Object.assign(Z,Q.providedBeanInstances);return Z}createBeansList($,z,Q){let J={clientSide:"ClientSideRowModel",infinite:"InfiniteRowModel",serverSide:"ServerSideRowModel",viewport:"ViewportRowModel"},Z=G6($),X=J[Z];if(!X){yQ(201,{rowModelType:Z},`Unknown rowModelType ${Z}.`);return}if(!jq()){yQ(272,void 0,r8());return}if(!$){let q=Object.entries(J).filter(([G,_])=>$2(_,Q,G));if(q.length==1){let[G,_]=q[0];if(G!==Z){let H={moduleName:_,rowModelType:G};yQ(275,H,l8(H));return}}}if(!$2(X,Q,Z)){let q=w2(),G=`rowModelType = '${Z}'`,_=q?`Unable to use ${G} as that requires the ag-grid-enterprise script to be included.
`:`Missing module ${X}Module for rowModelType ${Z}.`;yQ(200,{reasonOrId:G,moduleName:X,gridScoped:x2(),gridId:Q,rowModelType:Z,isUmd:q},_);return}let Y=new Set;for(let q of z)for(let G of q.beans??[])Y.add(G);return Array.from(Y)}};function G6($){return $??"clientSide"}function HK($,z,Q="auto"){$.frameworkOverrides.wrapIncoming(()=>$.ctrlsSvc.getScrollFeature().ensureColumnVisible(z,Q),"ensureVisible")}function UK($,z,Q){$.frameworkOverrides.wrapIncoming(()=>$.ctrlsSvc.getScrollFeature().ensureIndexVisible(z,Q),"ensureVisible")}var a8=($,z)=>{for(let Q=0,J=$.length;Q<J;++Q){let Z=$[Q],X=Z.childrenAfterGroup;if(X!==null)a8(X,z),z(Z)}},S0=($,z,Q,J)=>{if(Q!=null){let X=Q.getSortedRows();for(let Y=0,q=X.length;Y<q;++Y){let G=X[Y];if(G.childrenAfterGroup!==null&&!G.destroyed)J(G)}return}if($==null)return;let Z=$.childrenAfterGroup;if(Z===null)return;if(z)a8(Z,J);J($)},WK=class extends S{constructor($){super();this.rootNode=$,this.nextId=0,this.allNodesMap={},_6($)}getRowNode($){return this.allNodesMap[$]}setNewRowData($){this.dispatchRowDataUpdateStarted($),this.destroyAllNodes();let z=_6(this.rootNode),Q=Array($.length);z._leafs=Q;let J=0,Z=this.beans.groupStage?.getNestedDataGetter(),X=Z?new Set:null,Y=(q,G)=>{let _=q.level+1;for(let H=0,U=G.length;H<U;++H){let W=G[H];if(!W)continue;let B=this.createRowNode(W,_,J);if(Q[J++]=B,X&&!X.has(W)){X.add(W),B.treeParent=q;let E=Z(W);if(E)Y(B,E)}}};Y(z,$),Q.length=J}destroyAllNodes(){let{selectionSvc:$,pinnedRowModel:z,groupStage:Q}=this.beans;if($?.reset("rowDataChanged"),z?.isManual())z.reset();Q?.clearNonLeafs();let J=this.rootNode._leafs;if(J)for(let Z=0,X=J.length;Z<X;++Z)J[Z]._destroy(!1);this.allNodesMap=Object.create(null),this.nextId=0}setImmutableRowData($,z){let{rootNode:Q,gos:J}=this;this.dispatchRowDataUpdateStarted(z);let Z=J2(J),X=$.changedRowNodes,{adds:Y,updates:q}=X,G=new Set,_=[],H=this.beans.groupStage?.getNestedDataGetter(),U=J.get("suppressMaintainUnsortedOrder")?void 0:!1,W=-1,B=!1,E=(D,F)=>{if(!U&&U!==void 0){let M=D.sourceRowIndex;U=M<=W,W=M}if(D.data!==F){if(D.updateData(F),!Y.has(D))q.add(D);if(!D.selectable&&D.isSelected())_.push(D)}},K=(D,F,M)=>{for(let k=0,V=F.length;k<V;++k){let R=F[k];if(!R)continue;let O=this.getRowNode(Z({data:R,level:M}));if(O)E(O,R),B||(B=!!H&&O.treeParent!==D);else O=this.createRowNode(R,M),Y.add(O);if(!H||G.has(O)){G.add(O);continue}G.add(O),O.treeParent=D;let I=H(R);if(I)K(O,I,M+1)}};K(Q,z,0);let L=this.deleteUnusedNodes(G,X,_,!!$.animate)||U||Y.size>0;if(L){let D=Q._leafs??(Q._leafs=[]);if(U===void 0)DK(D,G,X);else if(LK(D,G))X.reordered=!0}if(L||B||q.size)$.rowDataUpdated=!0,this.deselect(_)}deleteUnusedNodes($,{removals:z},Q,J){let Z=this.rootNode._leafs;for(let X=0,Y=Z.length;X<Y;X++){let q=Z[X];if(!$.has(q)){if(this.destroyNode(q,J)){if(z.push(q),q.isSelected())Q.push(q)}}}return z.length>0}updateRowData($,z,Q){if(this.dispatchRowDataUpdateStarted($.add),this.beans.groupStage?.getNestedDataGetter())return j(268),{remove:[],update:[],add:[]};let J=[],Z=J2(this.gos),X=this.executeRemove(Z,$,z,J,Q),Y=this.executeUpdate(Z,$,z,J),q=this.executeAdd($,z);return this.deselect(J),{remove:X,update:Y,add:q}}executeRemove($,{remove:z},{adds:Q,updates:J,removals:Z},X,Y){let q=this.rootNode._leafs,G=q?.length,_=z?.length;if(!_||!G)return[];let H=0,U=G,W=0,B=Array(_);for(let E=0;E<_;++E){let K=this.lookupNode($,z[E]);if(!K)continue;let L=K.sourceRowIndex;if(L<U)U=L;if(L>W)W=L;if(B[H++]=K,!this.destroyNode(K,Y))continue;if(K.isSelected())X.push(K);if(!Q.delete(K))J.delete(K),Z.push(K)}if(B.length=H,H)KK(q,U,W);return B}executeUpdate($,{update:z},{adds:Q,updates:J},Z){let X=z?.length;if(!X)return[];let Y=Array(X),q=0;for(let G=0;G<X;G++){let _=z[G],H=this.lookupNode($,_);if(H){if(H.updateData(_),!H.selectable&&H.isSelected())Z.push(H);if(Y[q++]=H,!Q.has(H))J.add(H)}}return Y.length=q,Y}executeAdd($,z){var Q;let J=(Q=this.rootNode)._leafs??(Q._leafs=[]),Z=J.length,X=$.add,Y=X?.length;if(!Y)return[];let q=Z+Y,G=this.sanitizeAddIndex(J,$.addIndex);if(G<Z){for(let U=Z-1,W=q-1;U>=G;--U){let B=J[U];B.sourceRowIndex=W,J[W--]=B}z.reordered=!0}J.length=q;let _=Array(Y),H=z.adds;for(let U=0;U<Y;U++){let W=this.createRowNode(X[U],0,G);H.add(W),J[G]=W,_[U]=W,G++}return _}dispatchRowDataUpdateStarted($){this.eventSvc.dispatchEvent({type:"rowDataUpdateStarted",firstRowData:$?.length?$[0]:null})}deselect($){let Q=this.beans.selectionSvc;if($.length)Q?.setNodesSelected({newValue:!1,nodes:$,suppressFinishActions:!0,source:"rowDataChanged"});if(Q?.updateGroupsFromChildrenSelections?.("rowDataChanged"),$.length)this.eventSvc.dispatchEvent({type:"selectionChanged",source:"rowDataChanged",selectedNodes:Q?.getSelectedNodes()??null,serverSideState:null})}createRowNode($,z,Q){let J=new Wz(this.beans);if(J.parent=this.rootNode,J.level=z,J.group=!1,Q!=null)J.sourceRowIndex=Q;J.setDataAndId($,String(this.nextId++));let Z=J.id,X=this.allNodesMap;if(X[Z])j(2,{nodeId:Z});return X[Z]=J,J}destroyNode($,z){if(!$._destroy(z))return!1;let Q=$.id,J=this.allNodesMap;if(J[Q]===$)delete J[Q];return!0}lookupNode($,z){if(!$)return EK(this.rootNode._leafs,z);let Q=$({data:z,level:0}),J=this.allNodesMap[Q];if(!J)return e(4,{id:Q}),null;return J}sanitizeAddIndex($,z){let Q=$.length;if(typeof z!=="number")return Q;if(z<0||z>=Q||Number.isNaN(z))return Q;z=Math.ceil(z);let J=this.gos;if(z>0&&J.get("treeData")&&J.get("getDataPath"))z=BK($,z);return z}},BK=($,z)=>{for(let Q=0,J=$.length;Q<J;Q++)if($[Q]?.rowIndex==z-1)return Q+1;return z},_6=($)=>{if($.group=!0,$.level=-1,$._expanded=!0,$.id="ROOT_NODE_ID",$._leafs?.length!==0)$._leafs=[];let z=[],Q=[],J=[],Z=[];$.childrenAfterGroup=z,$.childrenAfterSort=Q,$.childrenAfterAggFilter=J,$.childrenAfterFilter=Z;let X=$.sibling;if(X)X.childrenAfterGroup=z,X.childrenAfterSort=Q,X.childrenAfterAggFilter=J,X.childrenAfterFilter=Z,X.childrenMapped=$.childrenMapped;return $.updateHasChildren(),$},EK=($,z)=>{if($)for(let Q=0,J=$.length;Q<J;Q++){let Z=$[Q];if(Z.data===z)return Z}return e(5,{data:z}),null},KK=($,z,Q)=>{z=Math.max(0,z);for(let J=z,Z=$.length;J<Z;++J){let X=$[J];if(J<=Q&&X.destroyed)continue;X.sourceRowIndex=z,$[z++]=X}$.length=z},LK=($,z)=>{let Q=z.size;$.length=Q;let J=0,Z=!1,X=!1;for(let Y of z){let q=Y.sourceRowIndex;if(q===J)X||(X=Z);else{if(q>=0)X=!0;else Z=!0;Y.sourceRowIndex=J,$[J]=Y}++J}return X},DK=($,z,{adds:Q})=>{let J=$.length,Z=z.size;if(Z>J)$.length=Z;let X=0;for(let Y=0;Y<J;++Y){let q=$[Y];if(!q.destroyed){if(X!==Y)q.sourceRowIndex=X,$[X]=q;++X}}for(let Y of Q)if(Y.sourceRowIndex<0)Y.sourceRowIndex=X,$[X++]=Y;$.length=X};function M2($){let z=$.sibling;if(z)z.childrenAfterFilter=$.childrenAfterFilter}var FK=class extends S{constructor(){super(...arguments);this.beanName="filterStage",this.step="filter",this.refreshProps=["excludeChildrenWhenTreeDataFiltering"]}wireBeans($){this.filterManager=$.filterManager}execute($){let z=!!this.filterManager?.isChildFilterPresent();if(this.beans.formula?.active)this.softFilter(z,$);else this.filterNodes(z,$)}filterNodes($,z){let Q=(J,Z)=>{if(J.hasChildren())if($&&!Z)J.childrenAfterFilter=J.childrenAfterGroup.filter((X)=>{let Y=X.childrenAfterFilter&&X.childrenAfterFilter.length>0,q=X.data&&this.filterManager.doesRowPassFilter({rowNode:X});return Y||q});else J.childrenAfterFilter=J.childrenAfterGroup;else J.childrenAfterFilter=J.childrenAfterGroup;M2(J)};if(this.doingTreeDataFiltering()){let J=(Z,X)=>{if(Z.childrenAfterGroup)for(let Y=0;Y<Z.childrenAfterGroup.length;Y++){let q=Z.childrenAfterGroup[Y],G=X||this.filterManager.doesRowPassFilter({rowNode:q});if(q.childrenAfterGroup)J(Z.childrenAfterGroup[Y],G);else Q(q,G)}Q(Z,X)};J(this.beans.rowModel.rootNode,!1)}else{let J=(Z)=>Q(Z,!1);S0(this.beans.rowModel.rootNode,this.beans.rowModel.hierarchical,z,J)}}softFilter($,z){let Q=(Z)=>{if(Z.childrenAfterFilter=Z.childrenAfterGroup,Z.hasChildren())for(let X of Z.childrenAfterGroup)X.softFiltered=$&&!(X.data&&this.filterManager.doesRowPassFilter({rowNode:X}));M2(Z)},J=this.beans.rowModel;S0(J.rootNode,J.hierarchical,z,Q)}doingTreeDataFiltering(){let{gos:$}=this;return!!this.beans.groupStage?.treeData&&!$.get("excludeChildrenWhenTreeDataFiltering")}},MK=4,kK=($,z,Q,J,Z)=>{let{childrenAfterSort:X,childrenAfterAggFilter:Y}=z;if(!Y)return X&&X.length>0?X:[];let q=Y.length;if(q<=1){if(X?.length===q&&(q===0||X[0]===Y[0]))return X;return Y.slice()}if(!X||q<=MK)return $.doFullSortInPlace(Y.slice(),Z);let G=new Map,{updates:_,adds:H}=Q,U=[];for(let B=0;B<q;++B){let E=Y[B];if(_.has(E)||H.has(E)||J?.hasRow(E))G.set(E,~B),U.push(E);else G.set(E,B)}let W=U.length;if(W===0)return q===X.length?X:AK(X,G,U);if(U.sort((B,E)=>$.compareRowNodes(Z,B,E)||~G.get(B)-~G.get(E)),W===q)return U;return VK($,Z,U,X,G,q)},VK=($,z,Q,J,Z,X)=>{let Y=Array(X),q=0,G=Q[q],_,H=-1,U=0,W=0,B=Q.length,E=J.length;while(!0){if(H<0){if(U>=E)break;if(_=J[U++],H=Z.get(_)??-1,H<0)continue}if(($.compareRowNodes(z,G,_)||~Z.get(G)-H)<0){if(Y[W++]=G,++q>=B)break;G=Q[q]}else Y[W++]=_,H=-1}while(q<B)Y[W++]=Q[q++];if(H<0)return Y;Y[W++]=_;while(U<E){let K=J[U++];if(Z.get(K)>=0)Y[W++]=K}return Y},AK=($,z,Q)=>{let J=0;Q.length=z.size;for(let Z=0,X=$.length;Z<X;++Z){let Y=$[Z];if(z.has(Y))Q[J++]=Y}return Q.length=J,Q},o8=($)=>{let{childrenAfterSort:z,sibling:Q}=$;if(Q)Q.childrenAfterSort=z;if(!z)return;for(let J=0,Z=z.length-1;J<=Z;J++){let X=z[J],Y=J===0,q=J===Z;if(X.firstChild!==Y)X.firstChild=Y,X.dispatchRowEvent("firstChildChanged");if(X.lastChild!==q)X.lastChild=q,X.dispatchRowEvent("lastChildChanged");if(X.childIndex!==J)X.childIndex=J,X.dispatchRowEvent("childIndexChanged")}},SK=class extends S{constructor(){super(...arguments);this.beanName="sortStage",this.step="sort",this.refreshProps=["postSortRows","groupDisplayType","accentedSort"]}execute($,z){let Q=this.beans.sortSvc.getSortOptions(),J=Q.length>0&&!!z&&this.gos.get("deltaSort"),{gos:Z,colModel:X,rowGroupColsSvc:Y,rowNodeSorter:q,rowRenderer:G,showRowGroupCols:_}=this.beans,H=Z.get("groupMaintainOrder"),U=X.getCols().some((F)=>F.isRowGroupActive()),W=Y?.columns,B=X.isPivotMode(),E=Z.getCallback("postSortRows"),K=!1,L,D=(F)=>{let M=B&&F.leafGroup,k=H&&U&&!F.leafGroup;if(k)L??(L=this.shouldSortContainsGroupCols(Q)),k&&(k=!L);let V=null;if(k){let R=!1;if(W){let O=F.level+1;if(O<W.length)R=W[O].wasSortExplicitlyRemoved}if(!R)V=RK(F)}else if(!Q.length||M);else if(J&&z)V=kK(q,F,z,$,Q);else V=q.doFullSortInPlace(F.childrenAfterAggFilter.slice(),Q);if(V||(V=F.childrenAfterAggFilter?.slice()??[]),K||(K=F.childrenAfterSort?.[0]!==V[0]),F.childrenAfterSort=V,o8(F),E){let R={nodes:F.childrenAfterSort};E(R)}};if(S0(this.beans.rowModel.rootNode,this.beans.rowModel.hierarchical,$,D),K&&Z.get("groupHideOpenParents")){let F=_?.columns;if(F?.length)G.refreshCells({columns:F,force:!0})}}shouldSortContainsGroupCols($){let z=$.length;if(!z)return!1;if(W$(this.gos)){for(let Q=0;Q<z;++Q){let J=$[Q].column;if(J.isPrimary()&&J.isRowGroupActive())return!0}return!1}for(let Q=0;Q<z;++Q)if($[Q].column.getColDef().showRowGroup)return!0;return!1}},RK=($)=>{let{childrenAfterSort:z,childrenAfterAggFilter:Q}=$,J=z?.length,Z=Q?.length;if(!J||!Z)return null;let X=Array(Z),Y=new Set;for(let G=0;G<Z;++G)Y.add(Q[G]);let q=0;for(let G=0;G<J;++G){let _=z[G];if(Y.delete(_))X[q++]=_}if(Y.size===0&&q===J)return z;for(let G of Y)X[q++]=G;return X.length=q,X},jK=class extends S{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=g$(this,this.onRowHeightChanged.bind(this),100)}postConstruct(){let $=this.beans,z=new Wz($);this.rootNode=z,this.nodeManager=this.createBean(new WK(z));let Q=()=>{this.beans.groupStage?.invalidateGroupCols(),this.refreshModel({step:"group",afterColumnsChanged:!0,keepRenderedRows:!0,animate:!this.gos.get("suppressAnimationFrame")})};this.addManagedEventListeners({newColumnsLoaded:Q,columnRowGroupChanged:Q,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:$,stagesRefreshProps:z}=this,Q=[$.groupStage,$.filterStage,$.pivotStage,$.aggStage,$.sortStage,$.filterAggStage,$.flattenStage].filter((J)=>!!J);this.stages=Q;for(let J=Q.length-1;J>=0;--J){let Z=Q[J];for(let X of Z.refreshProps)z.set(X,J)}this.addManagedPropertyListeners([...z.keys(),"rowData"],(J)=>{let Z=J.changeSet?.properties;if(Z)this.onPropChange(Z)}),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($,z,Q,J){let Z,X=!1;do{Z=!1;let Y=this.getRowIndexAtPixel($),q=this.getRowIndexAtPixel(z),G=Math.max(Y,Q),_=Math.min(q,J);for(let H=G;H<=_;H++){let U=this.getRow(H);if(U.rowHeightEstimated){let W=sQ(this.beans,U);U.setRowHeight(W.height),Z=!0,X=!0}}if(Z)this.setRowTopAndRowIndex()}while(Z);return X}onPropChange($){let{nodeManager:z,gos:Q,beans:J}=this,Z=J.groupStage;if(!z)return;let X=new Set($),Y=Z?.onPropChange(X),q;if(X.has("rowData"))q=Q.get("rowData");else if(Y)q=Z?.extractData();if(q&&!Array.isArray(q))q=null,j(1);let G={step:"nothing",changedProps:X};if(q){let H=!Y&&!this.isEmpty()&&q.length>0&&Q.exists("getRowId")&&!Q.get("resetRowDataOnUpdate");if(this.refreshingData=!0,H)G.keepRenderedRows=!0,G.animate=!Q.get("suppressAnimationFrame"),G.changedRowNodes=new WQ,z.setImmutableRowData(G,q);else G.rowDataUpdated=!0,G.newData=!0,z.setNewRowData(q),this.rowNodesCountReady=!0}let _=G.rowDataUpdated?"group":this.getRefreshedStage($);if(_)G.step=_,this.refreshModel(G)}getRefreshedStage($){let{stages:z,stagesRefreshProps:Q}=this;if(!z)return null;let J=z.length,Z=J;for(let X=0,Y=$.length;X<Y&&Z;++X)Z=Math.min(Z,Q.get($[X])??Z);return Z<J?z[Z].step:null}setRowTopAndRowIndex($){let{beans:z,rowsToDisplay:Q}=this,J=z.environment.getDefaultRowHeight(),Z=0,X=V0(this.gos,"normal");for(let Y=0,q=Q.length;Y<q;++Y){let G=Q[Y],_=G.id;if(_!=null)$?.add(_);if(G.rowHeight==null){let H=sQ(z,G,X,J);G.setRowHeight(H.height,H.estimated)}G.setRowTop(Z),G.setRowIndex(Y),Z+=G.rowHeight}if(this.beans.formula?.active){let Y=this.formulaRows;for(let q=0,G=Y.length;q<G;++q){let _=Y[q];_.formulaRowIndex=q}}}clearRowTopAndRowIndex($,z){let Q=(X)=>{if(X?.id!=null&&!z.has(X.id))X.clearRowTopAndRowIndex()},J=(X)=>{Q(X),Q(X.detailNode),Q(X.sibling);let Y=X.childrenAfterGroup;if(!X.hasChildren()||!Y)return;if($&&X.level!==-1&&!X.expanded)return;for(let q=0,G=Y.length;q<G;++q)J(Y[q])},Z=this.rootNode;if(Z)J(Z)}isLastRowIndexKnown(){return!0}getRowCount(){return this.rowsToDisplay.length}getTopLevelRowCount(){let{rootNode:$,rowsToDisplay:z}=this;if(!$||!z.length)return 0;if(z[0]===$)return 1;let J=$.sibling?.displayed?1:0;return($.childrenAfterSort?.length??0)+J}getTopLevelRowDisplayedIndex($){let{beans:z,rootNode:Q,rowsToDisplay:J}=this;if(!Q||!J.length||J[0]===Q)return $;let X=Q.childrenAfterSort,Y=(G)=>{let _=X[G];if(this.gos.get("groupHideOpenParents"))while(_.expanded&&_.childrenAfterSort&&_.childrenAfterSort.length>0)_=_.childrenAfterSort[0];return _.rowIndex},q=z.footerSvc;if(q)return q?.getTopDisplayIndex(J,$,X,Y);return Y($)}getTopLevelIndexFromDisplayedIndex($){let{rootNode:z,rowsToDisplay:Q}=this;if(!z||!Q.length||Q[0]===z)return $;let Z=this.getRow($);if(Z.footer)Z=Z.sibling;let X=Z.parent;while(X&&X!==z)Z=X,X=Z.parent;let Y=z.childrenAfterSort?.indexOf(Z)??-1;return Y>=0?Y:$}getRowBounds($){let z=this.rowsToDisplay[$];return z?{rowTop:z.rowTop,rowHeight:z.rowHeight}:null}onRowGroupOpened(){this.refreshModel({step:"map",keepRenderedRows:!0,animate:HQ(this.gos)})}onFilterChanged({afterDataChange:$,columns:z}){if(!$){let J=z.length===0||z.some((Z)=>Z.isPrimary())?"filter":"filter_aggregates";this.refreshModel({step:J,keepRenderedRows:!0,animate:HQ(this.gos)})}}onSortChanged(){this.refreshModel({step:"sort",keepRenderedRows:!0,animate:HQ(this.gos)})}getType(){return"clientSide"}onValueChanged(){this.refreshModel({step:this.beans.colModel.isPivotActive()?"pivot":"aggregate"})}isSuppressModelUpdateAfterUpdateTransaction($){if(!this.gos.get("suppressModelUpdateAfterUpdateTransaction"))return!1;let{changedRowNodes:z,newData:Q,rowDataUpdated:J}=$;if(!z||Q||!J)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($){let{nodeManager:z,eventSvc:Q,started:J}=this;if(!z)return;let Z=!!$.rowDataUpdated;if(J&&Z)Q.dispatchEvent({type:"rowDataUpdated"});if(this.deferRefresh($)){this.setPendingRefreshFlags($),this.rowDataUpdatedPending||(this.rowDataUpdatedPending=Z);return}if(this.rowDataUpdatedPending)this.rowDataUpdatedPending=!1,$.step="group";this.updateRefreshParams($);let X=!1;this.refreshingModel=!0;try{this.executeRefresh($,Z),X=!0}finally{if(this.refreshingData=!1,this.refreshingModel=!1,!X)this.setPendingRefreshFlags($)}this.clearPendingRefreshFlags(),Q.dispatchEvent({type:"modelUpdated",animate:$.animate,keepRenderedRows:$.keepRenderedRows,newData:$.newData,newPage:!1,keepUndoRedoStack:$.keepUndoRedoStack})}executeRefresh($,z){let{beans:Q,rootNode:J}=this;if(Q.masterDetailSvc?.refreshModel($),z&&$.step!=="group")Q.colFilter?.refreshModel();let Z=$.changedPath;if(Z?.addRow(J),$.step==="group")this.doGrouping(J,$),Z??(Z=$.changedPath);switch(Z??(Z=Q.changedPathFactory?.ensureRowsPath($,J)),$.step){case"group":case"filter":this.doFilter(Z);case"pivot":if(this.doPivot(Z))Z=void 0,$.changedPath=void 0;case"aggregate":this.doAggregate(Z);case"filter_aggregates":this.doFilterAggregates(Z);case"sort":this.doSort(Z,$.changedRowNodes);case"map":this.doRowsToDisplay()}let X=new Set;this.setRowTopAndRowIndex(X),this.clearRowTopAndRowIndex(Z,X),this.updateRefreshParams($)}deferRefresh($){if(this.refreshingModel)return!0;if(this.beans.colModel.changeEventsDispatching)return!0;if(this.isSuppressModelUpdateAfterUpdateTransaction($)){if(this.started)this.refreshingData=!1;return!0}if(!this.started)return!0;return!1}setPendingRefreshFlags($){this.pendingNewData||(this.pendingNewData=!!$.newData),this.noKeepRenderedRows||(this.noKeepRenderedRows=!$.keepRenderedRows),this.noKeepUndoRedoStack||(this.noKeepUndoRedoStack=!$.keepUndoRedoStack),this.noAnimate||(this.noAnimate=!$.animate)}clearPendingRefreshFlags(){this.pendingNewData=!1,this.noKeepRenderedRows=!1,this.noKeepUndoRedoStack=!1,this.noAnimate=!1}updateRefreshParams($){$.newData=this.pendingNewData||!!$.newData,$.keepRenderedRows=!this.noKeepRenderedRows&&!!$.keepRenderedRows,$.keepUndoRedoStack=!this.noKeepUndoRedoStack&&!!$.keepUndoRedoStack,$.animate=!this.noAnimate&&!!$.animate}isEmpty(){return!this.rootNode?._leafs?.length||!this.beans.colModel?.ready}isRowsToRender(){return this.rowsToDisplay.length>0}getOverlayType(){let{beans:$,gos:z}=this;if(this.rootNode?._leafs?.length){if($.filterManager?.isAnyFilterPresent()&&this.getRowCount()===0)return"noMatchingRows"}else if(this.rowCountReady||(z.get("rowData")?.length??0)==0)return"noRows";return null}getNodesInRangeForSelection($,z){let Q=!1,J=!1,Z=[],X=lQ(this.gos);return this.forEachNodeAfterFilterAndSort((Y)=>{if(J)return;if(Q){if(Y===z||Y===$){if(J=!0,X&&Y.group){e8(Z,Y);return}}}if(!Q){if(Y!==z&&Y!==$)return;if(Q=!0,z===$)J=!0}if(!Y.group||!X)Z.push(Y)}),Z}getTopLevelNodes(){return this.rootNode?.childrenAfterGroup??null}getRow($){return this.rowsToDisplay[$]}getFormulaRow($){return this.formulaRows[$]}isRowPresent($){return this.rowsToDisplay.indexOf($)>=0}getRowIndexAtPixel($){let z=this.rowsToDisplay,Q=z.length;if(this.isEmpty()||Q===0)return-1;let J=0,Z=Q-1;if($<=0)return 0;if(z[Z].rowTop<=$)return Z;let Y=-1,q=-1;while(!0){let G=Math.floor((J+Z)/2),_=z[G];if(this.isRowInPixel(_,$))return G;if(_.rowTop<$)J=G+1;else if(_.rowTop>$)Z=G-1;if(Y===J&&q===Z)return G;Y=J,q=Z}}isRowInPixel($,z){let Q=$.rowTop,J=Q+$.rowHeight;return Q<=z&&J>z}forEachLeafNode($){let z=this.rootNode?._leafs;if(z)for(let Q=0,J=z.length;Q<J;++Q)$(z[Q],Q)}forEachNode($,z=!1){this.depthFirstSearchRowNodes($,z)}forEachDisplayedNode($){let z=this.rowsToDisplay;for(let Q=0,J=z.length;Q<J;++Q)$(z[Q],Q)}forEachNodeAfterFilter($,z=!1){this.depthFirstSearchRowNodes($,z,(Q)=>Q.childrenAfterAggFilter)}forEachNodeAfterFilterAndSort($,z=!1){this.depthFirstSearchRowNodes($,z,(Q)=>Q.childrenAfterSort)}forEachPivotNode($,z,Q){let{colModel:J,rowGroupColsSvc:Z}=this.beans;if(!J.isPivotMode())return;if(!Z?.columns.length){$(this.rootNode,0);return}let X=Q?"childrenAfterSort":"childrenAfterGroup";this.depthFirstSearchRowNodes($,z,(Y)=>!Y.leafGroup?Y[X]:null)}depthFirstSearchRowNodes($,z=!1,Q=(X)=>X.childrenAfterGroup,J=this.rootNode,Z=0){let X=Z;if(!J)return X;let Y=J===this.rootNode;if(!Y)$(J,X++);if(J.hasChildren()&&!J.footer){let q=Y||this.hierarchical?Q(J):null;if(q){let G=this.beans.footerSvc;X=G?.addTotalRows(X,J,$,z,Y,"top")??X;for(let _ of q)X=this.depthFirstSearchRowNodes($,z,Q,_,X);return G?.addTotalRows(X,J,$,z,Y,"bottom")??X}}return X}doAggregate($){if(this.rootNode)this.beans.aggStage?.execute($)}doFilterAggregates($){let z=this.rootNode,Q=this.beans.filterAggStage;if(Q&&this.hierarchical){Q.execute($);return}z.childrenAfterAggFilter=z.childrenAfterFilter;let J=z.sibling;if(J)J.childrenAfterAggFilter=z.childrenAfterFilter}doSort($,z){let Q=this.beans.sortStage;if(Q){Q.execute($,z);return}S0(this.rootNode,this.hierarchical,$,(J)=>{J.childrenAfterSort=J.childrenAfterAggFilter.slice(0),o8(J)})}doGrouping($,z){let J=this.beans.groupStage?.execute(z);if(J===void 0){let Z=$._leafs;$.childrenAfterGroup=Z,$.updateHasChildren();let X=$.sibling;if(X)X.childrenAfterGroup=Z}if(J||z.rowDataUpdated)this.beans.colFilter?.refreshModel();if(!this.rowCountReady&&this.rowNodesCountReady)this.rowCountReady=!0,this.eventSvc.dispatchEventOnce({type:"rowCountReady"})}doFilter($){let z=this.beans.filterStage;if(z){z.execute($);return}S0(this.rootNode,this.hierarchical,$,(Q)=>{Q.childrenAfterFilter=Q.childrenAfterGroup,M2(Q)})}doPivot($){return this.beans.pivotStage?.execute($)??!1}getRowNode($){let z=this.nodeManager?.getRowNode($);if(typeof z==="object")return z;return this.beans.groupStage?.getNonLeaf($)}batchUpdateRowData($,z){if(!this.asyncTransactionsTimer){this.asyncTransactions=[];let Q=this.gos.get("asyncTransactionWaitMillis");this.asyncTransactionsTimer=setTimeout(()=>this.executeBatchUpdateRowData(),Q)}this.asyncTransactions.push({rowDataTransaction:$,callback:z})}flushAsyncTransactions(){let $=this.asyncTransactionsTimer;if($)clearTimeout($),this.executeBatchUpdateRowData()}executeBatchUpdateRowData(){let{nodeManager:$,beans:z,eventSvc:Q,asyncTransactions:J}=this;if(!$)return;z.valueCache?.onDataChanged();let Z=[],X=[],Y=new WQ,q=!this.gos.get("suppressAnimationFrame");for(let{rowDataTransaction:G,callback:_}of J??[]){this.rowNodesCountReady=!0,this.refreshingData=!0;let H=$.updateRowData(G,Y,q);if(Z.push(H),_)X.push(_.bind(null,H))}if(this.commitTransactions(Y,q),X.length>0)setTimeout(()=>{for(let G=0,_=X.length;G<_;G++)X[G]()},0);if(Z.length>0)Q.dispatchEvent({type:"asyncTransactionsFlushed",results:Z});this.asyncTransactionsTimer=0,this.asyncTransactions=null}updateRowData($){let z=this.nodeManager;if(!z)return null;this.beans.valueCache?.onDataChanged(),this.rowNodesCountReady=!0;let Q=new WQ,J=!this.gos.get("suppressAnimationFrame");this.refreshingData=!0;let Z=z.updateRowData($,Q,J);return this.commitTransactions(Q,J),Z}commitTransactions($,z){this.refreshModel({step:"group",rowDataUpdated:!0,keepRenderedRows:!0,animate:z,changedRowNodes:$})}doRowsToDisplay(){let{rootNode:$,beans:z}=this;if(z.formula?.active){let Z=$?.childrenAfterSort??[];this.formulaRows=Z,this.rowsToDisplay=Z.filter((X)=>!X.softFiltered);for(let X of this.rowsToDisplay)X.setUiLevel(0);return}let Q=z.flattenStage;if(Q){this.rowsToDisplay=Q.execute();return}let J=this.rootNode.childrenAfterSort??[];for(let Z of J)Z.setUiLevel(0);this.rowsToDisplay=J}onRowHeightChanged(){this.refreshModel({step:"map",keepRenderedRows:!0,keepUndoRedoStack:!0})}resetRowHeights(){let $=this.rootNode;if(!$)return;let z=this.resetRowHeightsForAllRowNodes();$.setRowHeight($.rowHeight,!0);let Q=$.sibling;if(Q?.setRowHeight(Q.rowHeight,!0),z)this.onRowHeightChanged()}resetRowHeightsForAllRowNodes(){let $=!1;return this.forEachNode((z)=>{z.setRowHeight(z.rowHeight,!0);let Q=z.detailNode;Q?.setRowHeight(Q.rowHeight,!0);let J=z.sibling;J?.setRowHeight(J.rowHeight,!0),$=!0}),$}onGridStylesChanges($){if($.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()}},e8=($,z)=>{let Q=z.childrenAfterGroup;if(Q)for(let J=0,Z=Q.length;J<Z;++J){let X=Q[J];if(X.data)$.push(X);if(X.group)e8($,X)}};var $9={moduleName:"ClientSideRowModel",version:p,rowModels:["clientSide"],beans:[jK,SK],dependsOn:[t8]};var fK=":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 OK($,z){if(typeof z==="number")$.colAutosize?.sizeColumnsToFit(z,"api");else $.colAutosize?.sizeColumnsToFitGridBody(z)}function z9({colAutosize:$,visibleCols:z},Q,J){if(Array.isArray(Q))$?.autoSizeCols({colKeys:Q,skipHeader:J,source:"api"});else $?.autoSizeCols({...Q,colKeys:Q.colIds??z.allCols,source:"api"})}function PK($,z){if(z&&typeof z==="object")z9($,z);else $.colAutosize?.autoSizeAllColumns({source:"api",skipHeader:z})}var TK=class extends S{constructor(){super(...arguments);this.beanName="colAutosize",this.timesDelayed=0,this.shouldQueueResizeOperations=!1,this.resizeOperationQueue=[]}postConstruct(){let{gos:$}=this,z=$.get("autoSizeStrategy");if(z){let Q=!1,J=z.type;if(J==="fitGridWidth"||J==="fitProvidedWidth")Q=!0;else if(J==="fitCellContents"){this.addManagedEventListeners({firstDataRendered:()=>this.onFirstDataRendered(z)});let Z=$.get("rowData");Q=Z!=null&&Z.length>0&&o($)}if(Q)this.beans.colDelayRenderSvc?.hideColumns(J)}}autoSizeCols($){let{eventSvc:z,visibleCols:Q,colModel:J}=this.beans;bQ(this.beans,!0),this.innerAutoSizeCols($).then((Z)=>{let X=(H)=>LQ(z,Array.from(H),!0,"autosizeColumns");if(!$.scaleUpToFitGridWidth)return bQ(this.beans,!1),X(Z);let Y=H6(this.beans),q=(H)=>Q.leftCols.some((U)=>P$(U,H)),G=(H)=>Q.rightCols.some((U)=>P$(U,H)),_=$.colKeys.filter((H)=>{return!J.getCol(H)?.getColDef().suppressAutoSize&&!v0(H)&&!q(H)&&!G(H)});this.sizeColumnsToFit(Y,$.source,!0,{defaultMaxWidth:$.defaultMaxWidth,defaultMinWidth:$.defaultMinWidth,columnLimits:$.columnLimits?.map((H)=>({...H,key:H.colId})),colKeys:_,onlyScaleUp:!0,animate:!1}),bQ(this.beans,!1),X(Z)})}innerAutoSizeCols($){return new Promise((z,Q)=>{if(this.shouldQueueResizeOperations)return this.pushResizeOperation(()=>this.innerAutoSizeCols($).then(z,Q));let{colKeys:J,skipHeader:Z,skipHeaderGroups:X,stopAtGroup:Y,defaultMaxWidth:q,defaultMinWidth:G,columnLimits:_=[],source:H="api"}=$,{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($).then(z,Q)});return}this.timesDelayed=0;let L=new Set,D=-1,F=Object.fromEntries(_.map(({colId:V,...R})=>[V,R])),M=Z??this.gos.get("skipHeaderOnAutoSize"),k=X??M;while(D!==0){D=0;let V=[];for(let R of J){if(!R||q1(R))continue;let O=B.getCol(R);if(!O||L.has(O)||O.getColDef().suppressAutoSize)continue;let I=E.getPreferredWidthForColumn(O,M);if(I>0){let v=F[O.colId]??{};v.minWidth??(v.minWidth=G),v.maxWidth??(v.maxWidth=q);let C=vK(O,I,v);O.setActualWidth(C,H),L.add(O),D++}V.push(O)}if(V.length)K.refresh(H)}if(!k)this.autoSizeColumnGroupsByColumns(J,H,Y);z(L)})}autoSizeColumn($,z,Q){this.autoSizeCols({colKeys:[$],skipHeader:Q,skipHeaderGroups:!0,source:z})}autoSizeColumnGroupsByColumns($,z,Q){let{colModel:J,ctrlsSvc:Z}=this.beans,X=new Set,Y=J.getColsForKeys($);for(let G of Y){let _=G.getParent();while(_&&_!=Q){if(!_.isPadding())X.add(_);_=_.getParent()}}let q;for(let G of X){for(let _ of Z.getHeaderRowContainerCtrls())if(q=_.getHeaderCtrlForColumn(G),q)break;q?.resizeLeafColumnsToFit(z)}}autoSizeAllColumns($){if(this.shouldQueueResizeOperations){this.pushResizeOperation(()=>this.autoSizeAllColumns($));return}this.autoSizeCols({colKeys:this.beans.visibleCols.allCols,...$})}addColumnAutosizeListeners($,z){let Q=this.gos.get("skipHeaderOnAutoSize"),J=()=>{this.autoSizeColumn(z,"uiColumnResized",Q)};$.addEventListener("dblclick",J);let Z=new h0($);return Z.addEventListener("doubleTap",J),()=>{$.removeEventListener("dblclick",J),Z.destroy()}}addColumnGroupResize($,z,Q){let J=this.gos.get("skipHeaderOnAutoSize"),Z=()=>{let X=[],Y=z.getDisplayedLeafColumns();for(let q of Y)if(!q.getColDef().suppressAutoSize)X.push(q.getColId());if(X.length>0)this.autoSizeCols({colKeys:X,skipHeader:J,stopAtGroup:z,source:"uiColumnResized"});Q()};return $.addEventListener("dblclick",Z),()=>$.removeEventListener("dblclick",Z)}sizeColumnsToFitGridBody($,z){if(!this.isAlive())return;let Q=H6(this.beans);if(Q>0){this.sizeColumnsToFit(Q,"sizeColumnsToFit",!1,$);return}if(z===void 0)window.setTimeout(()=>{this.sizeColumnsToFitGridBody($,100)},0);else if(z===100)window.setTimeout(()=>{this.sizeColumnsToFitGridBody($,500)},100);else if(z===500)window.setTimeout(()=>{this.sizeColumnsToFitGridBody($,-1)},500);else j(29)}sizeColumnsToFit($,z="sizeColumnsToFit",Q,J){if(this.shouldQueueResizeOperations){this.pushResizeOperation(()=>this.sizeColumnsToFit($,z,Q,J));return}let{beans:Z}=this,X=J?.animate??!0;if(X)bQ(Z,!0);let Y={};for(let{key:D,...F}of J?.columnLimits??[])Y[typeof D==="string"?D:D.getColId()]=F;let q=Z.visibleCols.allCols;if($<=0||!q.length)return;let G=N$(q);if(J?.onlyScaleUp&&G>$)return;if($===G){if(q.every((F)=>{if(F.colDef.suppressSizeToFit)return!0;let M=Y?.[F.getId()],k=M?.minWidth??J?.defaultMinWidth,V=M?.maxWidth??J?.defaultMaxWidth,R=F.getActualWidth();return(k==null||R>=k)&&(V==null||R<=V)}))return}let H=[],U=[];for(let D of q){let F=J?.colKeys?.some((M)=>P$(D,M))??!0;if(D.getColDef().suppressSizeToFit||!F)U.push(D);else H.push(D)}let W=H.slice(0),B=!1,E=(D)=>{Z0(H,D),U.push(D)},K={};for(let D of H){if(J?.onlyScaleUp)K[D.getColId()]=D.getActualWidth();D.resetActualWidth(z);let F=Y?.[D.getId()],M=F?.minWidth??J?.defaultMinWidth??-1/0,k=F?.maxWidth??J?.defaultMaxWidth??1/0,V=D.getActualWidth(),R=Math.max(Math.min(V,k),M);if(R!=V)D.setActualWidth(R,z,!0)}while(!B){B=!0;let D=$-N$(U);if(D<=0)for(let F of H){let M=Y?.[F.getId()]?.minWidth??J?.defaultMinWidth??F.minWidth;F.setActualWidth(M,z,!0)}else{let F=D/N$(H),M=D;for(let k=H.length-1;k>=0;k--){let V=H[k],R=V.getColId(),O=K[R],I=Y?.[R],v=I?.minWidth??J?.defaultMinWidth??O,C=I?.maxWidth??J?.defaultMaxWidth,m=Math.max(v??-1/0,V.getMinWidth()),w=Math.min(C??1/0,V.getMaxWidth()),a=Math.round(V.getActualWidth()*F);if(a<m)a=m,E(V),B=!1;else if(a>w)a=w,E(V),B=!1;else if(k===0)a=M;V.setActualWidth(a,z,!0),M-=a}}}for(let D of W)D.fireColumnWidthChangedEvent(z);let L=Z.visibleCols;if(L.setLeftValues(z),L.updateBodyWidths(),Q)return;if(LQ(this.eventSvc,W,!0,z),X)bQ(Z,!1)}applyAutosizeStrategy(){let{gos:$,colDelayRenderSvc:z}=this.beans,Q=$.get("autoSizeStrategy");if(Q?.type!=="fitGridWidth"&&Q?.type!=="fitProvidedWidth")return;setTimeout(()=>{if(!this.isAlive())return;let J=Q.type;if(J==="fitGridWidth"){let{columnLimits:Z,defaultMinWidth:X,defaultMaxWidth:Y}=Q,q=Z?.map(({colId:G,minWidth:_,maxWidth:H})=>({key:G,minWidth:_,maxWidth:H}));this.sizeColumnsToFitGridBody({defaultMinWidth:X,defaultMaxWidth:Y,columnLimits:q})}else if(J==="fitProvidedWidth")this.sizeColumnsToFit(Q.width,"sizeColumnsToFit");z?.revealColumns(J)})}onFirstDataRendered({colIds:$,...z}){setTimeout(()=>{if(!this.isAlive())return;let Q="autosizeColumns";if($)this.autoSizeCols({...z,source:Q,colKeys:$});else this.autoSizeAllColumns({...z,source:Q});this.beans.colDelayRenderSvc?.revealColumns(z.type)})}processResizeOperations(){this.shouldQueueResizeOperations=!1;for(let $ of this.resizeOperationQueue)$();this.resizeOperationQueue=[]}pushResizeOperation($){this.resizeOperationQueue.push($)}destroy(){this.resizeOperationQueue.length=0,super.destroy()}};function vK($,z,Q={}){let J=Q.minWidth??$.getMinWidth();if(z<J)z=J;let Z=Q.maxWidth??$.getMaxWidth();if(z>Z)z=Z;return z}function H6({ctrlsSvc:$,scrollVisibleSvc:z}){let Q=$.getGridBodyCtrl(),Z=Q.isVerticalScrollShowing()?z.getScrollbarWidth():0;return xz(Q.eGridBody)-Z}var U6="ag-animate-autosize";function bQ({ctrlsSvc:$,gos:z},Q){if(!z.get("animateColumnResizing")||z.get("enableRtl")||!$.isAlive())return;let J=$.getGridBodyCtrl().eGridBody.classList;if(Q)J.add(U6);else J.remove(U6)}var Q9={moduleName:"ColumnAutoSize",version:p,beans:[TK],apiFunctions:{sizeColumnsToFit:OK,autoSizeColumns:z9,autoSizeAllColumns:PK},dependsOn:[K8],css:[fK]};var IK=class extends S{constructor(){super(...arguments);this.beanName="gridSerializer"}wireBeans($){this.visibleCols=$.visibleCols,this.colModel=$.colModel,this.rowModel=$.rowModel,this.pinnedRowModel=$.pinnedRowModel}serialize($,z={}){let{allColumns:Q,columnKeys:J,skipRowGroups:Z,exportRowNumbers:X}=z,Y=this.getColumnsToExport({allColumns:Q,skipRowGroups:Z,columnKeys:J,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((q,G)=>G(q),$).parse()}processRow($,z,Q,J){let Z=z.shouldRowBeSkipped||(()=>!1),Y=z.rowPositions!=null||!!z.onlySelected,q=this.gos.get("groupHideOpenParents")&&!Y,G=this.colModel.isPivotMode()?J.leafGroup:!J.group,_=!!J.footer,H=J.allChildrenCount===1&&J.childrenAfterGroup?.length===1&&wq(this.gos,J);if(!G&&!_&&(z.skipRowGroups||H||q)||z.onlySelected&&!J.isSelected()||z.skipPinnedTop&&J.rowPinned==="top"||z.skipPinnedBottom&&J.rowPinned==="bottom"||J.stub)return;if(J.level===-1&&!G&&!_)return;if(Z(y(this.gos,{node:J})))return;let B=$.onNewBodyRow(J);if(Q.forEach((E,K)=>{B.onColumn(E,K,J)}),z.getCustomContentBelowRow){let E=z.getCustomContentBelowRow(y(this.gos,{node:J}));if(E)$.addCustomContent(E)}}appendContent($){return(z)=>{let Q=$.appendContent;if(Q)z.addCustomContent(Q);return z}}prependContent($){return(z)=>{let Q=$.prependContent;if(Q)z.addCustomContent(Q);return z}}prepareSession($){return(z)=>{return z.prepare($),z}}exportColumnGroups($,z){return(Q)=>{if(!$.skipColumnGroupHeaders){let J=new M8,{colGroupSvc:Z}=this.beans,X=Z?Z.createColumnGroups({columns:z,idCreator:J,pinned:null,isStandaloneStructure:!0}):z;this.recursivelyAddHeaderGroups(X,Q,$.processGroupHeaderCallback)}return Q}}exportHeaders($,z){return(Q)=>{if(!$.skipColumnHeaders){let J=Q.onNewHeaderRow();z.forEach((Z,X)=>{J.onColumn(Z,X,void 0)})}return Q}}processPinnedTopRows($,z){return(Q)=>{let J=this.processRow.bind(this,Q,$,z);if($.rowPositions)$.rowPositions.filter((Z)=>Z.rowPinned==="top").sort((Z,X)=>Z.rowIndex-X.rowIndex).map((Z)=>this.pinnedRowModel?.getPinnedTopRow(Z.rowIndex)).forEach(J);else if(!this.pinnedRowModel?.isManual())this.pinnedRowModel?.forEachPinnedRow("top",J);return Q}}processRows($,z){return(Q)=>{let J=this.rowModel,Z=o(this.gos,J),X=_z(this.gos,J),Y=!Z&&$.onlySelected,q=this.processRow.bind(this,Q,$,z),{exportedRows:G="filteredAndSorted"}=$;if($.rowPositions)$.rowPositions.filter((_)=>_.rowPinned==null).sort((_,H)=>_.rowIndex-H.rowIndex).map((_)=>J.getRow(_.rowIndex)).forEach(q);else if(this.colModel.isPivotMode())if(Z)J.forEachPivotNode(q,!0,G==="filteredAndSorted");else if(X)J.forEachNodeAfterFilterAndSort(q,!0);else J.forEachNode(q);else if($.onlySelectedAllPages||Y){let _=this.beans.selectionSvc?.getSelectedNodes()??[];this.replicateSortedOrder(_),_.forEach(q)}else if(G==="all")J.forEachNode(q);else if(Z||X)J.forEachNodeAfterFilterAndSort(q,!0);else J.forEachNode(q);return Q}}replicateSortedOrder($){let{sortSvc:z,rowNodeSorter:Q}=this.beans;if(!z||!Q)return;let J=z.getSortOptions(),Z=(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 Q.compareRowNodes(J,X,Y)||(X.rowIndex??-1)-(Y.rowIndex??-1);return Z(X.parent,Y.parent)}if(X.level>Y.level)return Z(X.parent,Y);return Z(X,Y.parent)};$.sort(Z)}processPinnedBottomRows($,z){return(Q)=>{let J=this.processRow.bind(this,Q,$,z);if($.rowPositions)$.rowPositions.filter((Z)=>Z.rowPinned==="bottom").sort((Z,X)=>Z.rowIndex-X.rowIndex).map((Z)=>this.pinnedRowModel?.getPinnedBottomRow(Z.rowIndex)).forEach(J);else if(!this.pinnedRowModel?.isManual())this.pinnedRowModel?.forEachPinnedRow("bottom",J);return Q}}getColumnsToExport($){let{allColumns:z=!1,skipRowGroups:Q=!1,exportRowNumbers:J=!1,columnKeys:Z}=$,{colModel:X,gos:Y,visibleCols:q}=this,G=X.isPivotMode(),_=(W)=>{if(I$(W))return!1;return!v0(W)||J};if(Z?.length)return X.getColsForKeys(Z).filter(_);let H=Y.get("treeData"),U=[];if(z&&!G)U=X.getCols();else U=q.allCols;return U=U.filter((W)=>_(W)&&(Q&&!H?!mz(W):!0)),U}recursivelyAddHeaderGroups($,z,Q){let J=[];for(let Z of $){let X=Z;if(!X.getChildren)continue;for(let Y of X.getChildren()??[])J.push(Y)}if($.length>0&&H0($[0]))this.doAddHeaderHeader(z,$,Q);if(J&&J.length>0)this.recursivelyAddHeaderGroups(J,z,Q)}doAddHeaderHeader($,z,Q){let J=$.onNewHeaderGroupingRow(),Z=0;for(let X of z){let Y=X,q;if(Q)q=Q(y(this.gos,{columnGroup:Y}));else q=this.beans.colNames.getDisplayNameForColumnGroup(Y,"header");let _=(Y.isExpandable()?Y.getLeafColumns():[]).reduce((H,U,W,B)=>{let E=b(H);if(U.getColumnGroupShow()!=="open"){if(E&&E[1]==null)E[1]=W-1}else if(!E||E[1]!=null)E=[W],H.push(E);if(W===B.length-1&&E&&E[1]==null)E[1]=W;return H},[]);J.onColumn(Y,q||"",Z++,Y.getLeafColumns().length-1,_)}}},f4={moduleName:"SharedExport",version:p,beans:[IK]},O4=class extends S{getFileName($){let z=this.getDefaultFileExtension();if(!$?.length)$=this.getDefaultFileName();return $.includes(".")?$:`${$}.${z}`}getData($){return this.beans.gridSerializer.serialize(this.createSerializingSession($),$)}getDefaultFileName(){return`export.${this.getDefaultFileExtension()}`}};function dJ($,z){let Q=document.defaultView||window;if(!Q){j(52);return}let J=document.createElement("a"),Z=Q.URL.createObjectURL(z);J.setAttribute("href",Z),J.setAttribute("download",$),J.style.display="none",document.body.appendChild(J),J.dispatchEvent(new MouseEvent("click",{bubbles:!1,cancelable:!0,view:Q})),J.remove(),Q.setTimeout(()=>{Q.URL.revokeObjectURL(Z)},0)}var P4=class{constructor($){this.valueFrom="data";let{colModel:z,rowGroupColsSvc:Q,colNames:J,valueSvc:Z,gos:X,processCellCallback:Y,processHeaderCallback:q,processGroupHeaderCallback:G,processRowGroupCallback:_,valueFrom:H}=$;if(this.colModel=z,this.rowGroupColsSvc=Q,this.colNames=J,this.valueSvc=Z,this.gos=X,this.processCellCallback=Y,this.processHeaderCallback=q,this.processGroupHeaderCallback=G,this.processRowGroupCallback=_,H)this.valueFrom=H}prepare($){}extractHeaderValue($){return this.getHeaderName(this.processHeaderCallback,$)??""}extractRowCellValue($){let{column:z,node:Q,currentColumnIndex:J,accumulatedRowIndex:Z,type:X,useRawFormula:Y}=$,q=J===0&&Y7(this.gos,Q,this.colModel.isPivotMode());if(this.processRowGroupCallback&&(this.gos.get("treeData")||Q.group)&&(z.isRowGroupDisplayed(Q.rowGroupColumn?.getColId()??"")||q))return{value:this.processRowGroupCallback(y(this.gos,{column:z,node:Q}))??""};if(this.processCellCallback)return{value:this.processCellCallback(y(this.gos,{accumulatedRowIndex:Z,column:z,node:Q,value:this.valueSvc.getValueForDisplay({column:z,node:Q,from:this.valueFrom}).value,type:X,parseValue:(E)=>this.valueSvc.parseValue(z,Q,E,this.valueSvc.getValue(z,Q,this.valueFrom)),formatValue:(E)=>this.valueSvc.formatValue(z,Q,E)??E}))??""};let G=this.gos.get("treeData"),_=this.valueSvc,H=Q.level===-1&&Q.footer,U=z.colDef.showRowGroup===!0&&(Q.group||G);if(!H&&(q||U)){let E="",K=Q;while(K&&K.level!==-1){let{value:L,valueFormatted:D}=_.getValueForDisplay({column:q?void 0:z,node:K,includeValueFormatted:!0,exporting:!0,from:this.valueFrom});E=` -> ${D??L??""}${E}`,K=K.parent}return{value:E,valueFormatted:E}}let{value:W,valueFormatted:B}=_.getValueForDisplay({column:z,node:Q,includeValueFormatted:!0,exporting:!0,useRawFormula:Y,from:this.valueFrom});return{value:W??"",valueFormatted:B}}getHeaderName($,z){if($)return $(y(this.gos,{column:z}));return this.colNames.getDisplayNameForColumn(z,"csv",!0)}},W6=`\r
`,CK=class extends P4{constructor($){super($);this.config=$,this.isFirstLine=!0,this.result="";let{suppressQuotes:z,columnSeparator:Q}=$;this.suppressQuotes=z,this.columnSeparator=Q}addCustomContent($){if(!$)return;if(typeof $==="string"){if(!/^\s*\n/.test($))this.beginNewLine();$=$.replace(/\r?\n/g,W6),this.result+=$}else $.forEach((z)=>{this.beginNewLine(),z.forEach((Q,J)=>{if(J!==0)this.result+=this.columnSeparator;if(this.result+=this.putInQuotes(Q.data.value||""),Q.mergeAcross)this.appendEmptyCells(Q.mergeAcross)})})}onNewHeaderGroupingRow(){return this.beginNewLine(),{onColumn:this.onNewHeaderGroupingRowColumn.bind(this)}}onNewHeaderGroupingRowColumn($,z,Q,J){if(Q!=0)this.result+=this.columnSeparator;this.result+=this.putInQuotes(z),this.appendEmptyCells(J)}appendEmptyCells($){for(let z=1;z<=$;z++)this.result+=this.columnSeparator+this.putInQuotes("")}onNewHeaderRow(){return this.beginNewLine(),{onColumn:this.onNewHeaderRowColumn.bind(this)}}onNewHeaderRowColumn($,z){if(z!=0)this.result+=this.columnSeparator;this.result+=this.putInQuotes(this.extractHeaderValue($))}onNewBodyRow(){return this.beginNewLine(),{onColumn:this.onNewBodyRowColumn.bind(this)}}onNewBodyRowColumn($,z,Q){if(z!=0)this.result+=this.columnSeparator;let J=this.extractRowCellValue({column:$,node:Q,currentColumnIndex:z,accumulatedRowIndex:z,type:"csv",useRawFormula:!1});this.result+=this.putInQuotes(J.valueFormatted??J.value)}putInQuotes($){if(this.suppressQuotes)return $;if($===null||$===void 0)return'""';let z;if(typeof $==="string")z=$;else if(typeof $.toString==="function")z=$.toString();else j(53),z="";return'"'+z.replace(/"/g,'""')+'"'}parse(){return this.result}beginNewLine(){if(!this.isFirstLine)this.result+=W6;this.isFirstLine=!1}},bK=class extends O4{constructor(){super(...arguments);this.beanName="csvCreator"}getMergedParams($){let z=this.gos.get("defaultCsvExportParams");return Object.assign({},z,$)}export($){if(this.isExportSuppressed()){j(51);return}let z=()=>{let J=this.getMergedParams($),Z=this.getData(J),X=new Blob(["\uFEFF",Z],{type:"text/plain"}),Y=J.fileName,q=typeof Y==="function"?Y(y(this.gos,{})):Y;dJ(this.getFileName(q),X)},{overlays:Q}=this.beans;if(Q)Q.showExportOverlay(z);else z()}exportDataAsCsv($){this.export($)}getDataAsCsv($,z=!1){let Q=z?Object.assign({},$):this.getMergedParams($);return this.getData(Q)}getDefaultFileExtension(){return"csv"}createSerializingSession($){let{colModel:z,colNames:Q,rowGroupColsSvc:J,valueSvc:Z,gos:X}=this.beans,{processCellCallback:Y,processHeaderCallback:q,processGroupHeaderCallback:G,processRowGroupCallback:_,suppressQuotes:H,columnSeparator:U,valueFrom:W}=$;return new CK({colModel:z,colNames:Q,valueSvc:Z,gos:X,processCellCallback:Y||void 0,processHeaderCallback:q||void 0,processGroupHeaderCallback:G||void 0,processRowGroupCallback:_||void 0,suppressQuotes:H||!1,columnSeparator:U||",",rowGroupColsSvc:J,valueFrom:W})}isExportSuppressed(){return this.gos.get("suppressCsvExport")}};function yK($,z){return $.csvCreator?.getDataAsCsv(z)}function xK($,z){$.csvCreator?.exportDataAsCsv(z)}var J9={moduleName:"CsvExport",version:p,beans:[bK],apiFunctions:{getDataAsCsv:yK,exportDataAsCsv:xK},dependsOn:[f4]},Z9=class extends R0{constructor($,z){super();if(this.ctrl=$,z)this.beans=z}postConstruct(){this.refreshTooltip()}setBrowserTooltip($,z){let J=this.ctrl.getGui();if(!J)return;if($!=null&&($!=""||z))J.setAttribute("title",$);else J.removeAttribute("title")}updateTooltipText(){let{getTooltipValue:$}=this.ctrl;if($)this.tooltip=$()}createTooltipFeatureIfNeeded(){if(this.tooltipManager==null){let $=this.beans.registry.createDynamicBean("tooltipStateManager",!0,this.ctrl,()=>this.tooltip);if($)this.tooltipManager=this.createBean($,this.beans.context)}}attemptToShowTooltip(){this.tooltipManager?.prepareToShowTooltip()}attemptToHideTooltip(){this.tooltipManager?.hideTooltip()}setTooltipAndRefresh($){this.tooltip=$,this.refreshTooltip()}refreshTooltip($){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($?"":null,$),this.createTooltipFeatureIfNeeded()}destroy(){this.tooltipManager=this.destroyBean(this.tooltipManager,this.beans.context),super.destroy()}},wK=1000,NK=1000,B6=100,E6,m1=!1,gK=class extends R0{constructor($,z){super();this.tooltipCtrl=$,this.getTooltipValue=z,this.interactionEnabled=!1,this.isInteractingWithTooltip=!1,this.state=0,this.tooltipInstanceCount=0,this.tooltipMouseTrack=!1}wireBeans($){this.popupSvc=$.popupSvc}postConstruct(){if(this.gos.get("tooltipInteraction"))this.interactionEnabled=!0;this.tooltipTrigger=this.getTooltipTrigger(),this.tooltipMouseTrack=this.gos.get("tooltipMouseTrack");let $=this.tooltipCtrl.getGui();if(this.tooltipTrigger===0)this.addManagedListeners($,{mouseenter:this.onMouseEnter.bind(this),mouseleave:this.onMouseLeave.bind(this)});if(this.tooltipTrigger===1)this.addManagedListeners($,{focusin:this.onFocusIn.bind(this),focusout:this.onFocusOut.bind(this)});if(this.addManagedListeners($,{mousemove:this.onMouseMove.bind(this)}),!this.interactionEnabled)this.addManagedListeners($,{mousedown:this.onMouseDown.bind(this),keydown:this.onKeyDown.bind(this)})}getGridOptionsTooltipDelay($){let z=this.gos.get($);return Math.max(200,z)}getTooltipDelay($){return this.tooltipCtrl[`getTooltip${$}DelayOverride`]?.()??this.getGridOptionsTooltipDelay(`tooltip${$}Delay`)}destroy(){this.setToDoNothing(),super.destroy()}getTooltipTrigger(){let $=this.gos.get("tooltipTrigger");if(!$||$==="hover")return 0;return 1}onMouseEnter($){if(this.interactionEnabled&&this.interactiveTooltipTimeoutId)this.unlockService(),this.startHideTimeout();if(bz())return;if(m1)this.showTooltipTimeoutId=window.setTimeout(()=>{this.prepareToShowTooltip($)},B6);else this.prepareToShowTooltip($)}onMouseMove($){if(this.lastMouseEvent)this.lastMouseEvent=$;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($){let z=$.relatedTarget,Q=this.tooltipCtrl.getGui(),J=this.tooltipComp?.getGui();if(this.isInteractingWithTooltip||Q.contains(z)||this.interactionEnabled&&J?.contains(z))return;this.setToDoNothing()}onKeyDown(){if(this.isInteractingWithTooltip)this.isInteractingWithTooltip=!1;this.setToDoNothing()}prepareToShowTooltip($){if(this.state!=0||m1)return;let z=0;if($)z=this.isLastTooltipHiddenRecently()?this.getTooltipDelay("SwitchShow"):this.getTooltipDelay("Show");this.lastMouseEvent=$||null,this.showTooltipTimeoutId=window.setTimeout(this.showTooltip.bind(this),z),this.state=1}isLastTooltipHiddenRecently(){return Date.now()-E6<wK}setToDoNothing($){if(!$&&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 $=this.getTooltipValue(),z=this.tooltipCtrl;if(!T($)||z.shouldDisplayTooltip&&!z.shouldDisplayTooltip()){this.setToDoNothing();return}let Q=this.gos.addCommon({location:z.getLocation?.()??"UNKNOWN",value:$,hideTooltipCallback:()=>this.hideTooltip(!0),...z.getAdditionalParams?.()});this.state=2,this.tooltipInstanceCount++;let J=this.newTooltipComponentCallback.bind(this,this.tooltipInstanceCount);this.createTooltipComp(Q,J)}hideTooltip($){if(!$&&this.isInteractingWithTooltip)return;if(this.tooltipComp)this.destroyTooltipComp(),E6=Date.now();if(this.eventSvc.dispatchEvent({type:"tooltipHide",parentGui:this.tooltipCtrl.getGui()}),$)this.isInteractingWithTooltip=!1;this.setToDoNothing(!0)}newTooltipComponentCallback($,z){if(this.state!==2||this.tooltipInstanceCount!==$){this.destroyBean(z);return}let J=z.getGui();if(this.tooltipComp=z,!J.classList.contains("ag-tooltip"))J.classList.add("ag-tooltip-custom");if(this.tooltipTrigger===0)J.classList.add("ag-tooltip-animate");if(this.interactionEnabled)J.classList.add("ag-tooltip-interactive");let Z=this.getLocaleTextFunc(),X=this.popupSvc?.addPopup({eChild:J,ariaLabel:Z("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(J,{mouseenter:this.onTooltipMouseEnter.bind(this),mouseleave:this.onTooltipMouseLeave.bind(this)}),[this.onDocumentKeyDownCallback]=this.addManagedElementListeners(Y0(this.beans),{keydown:(Y)=>{if(!J.contains(Y?.target))this.onKeyDown()}}),this.tooltipTrigger===1)[this.tooltipFocusInListener,this.tooltipFocusOutListener]=this.addManagedElementListeners(J,{focusin:this.onTooltipFocusIn.bind(this),focusout:this.onTooltipFocusOut.bind(this)})}this.eventSvc.dispatchEvent({type:"tooltipShow",tooltipGui:J,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 $=this.tooltipComp?.getGui(),z=d(this.beans);return!!$&&$.contains(z)}onTooltipFocusOut($){let z=this.tooltipCtrl.getGui();if(this.isTooltipFocused())return;if(this.isInteractingWithTooltip=!1,z.contains($.relatedTarget))this.startHideTimeout();else this.hideTooltip()}positionTooltip(){let $={type:"tooltip",ePopup:this.tooltipComp.getGui(),nudgeY:18,skipObserver:this.tooltipMouseTrack};if(this.lastMouseEvent)this.popupSvc?.positionPopupUnderMouseEvent({...$,mouseEvent:this.lastMouseEvent});else this.popupSvc?.positionPopupByComponent({...$,eventSource:this.tooltipCtrl.getGui(),position:"under",keepWithinBounds:!0,nudgeY:5})}destroyTooltipComp(){this.tooltipComp.getGui().classList.add("ag-tooltip-hiding");let $=this.tooltipPopupDestroyFunc,z=this.tooltipComp,Q=this.tooltipTrigger===0?NK:0;window.setTimeout(()=>{$(),this.destroyBean(z)},Q),this.clearTooltipListeners(),this.tooltipPopupDestroyFunc=void 0,this.tooltipComp=void 0}clearTooltipListeners(){for(let $ of[this.tooltipMouseEnterListener,this.tooltipMouseLeaveListener,this.tooltipFocusInListener,this.tooltipFocusOutListener])if($)$();this.tooltipMouseEnterListener=this.tooltipMouseLeaveListener=this.tooltipFocusInListener=this.tooltipFocusOutListener=null}lockService(){m1=!0,this.interactiveTooltipTimeoutId=window.setTimeout(()=>{this.unlockService(),this.setToDoNothing()},B6)}unlockService(){m1=!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()}},hK=class extends Z9{constructor($,z,Q){super($,Q);this.highlightTracker=z,this.onHighlight=this.onHighlight.bind(this)}postConstruct(){super.postConstruct(),this.wireHighlightListeners()}wireHighlightListeners(){this.addManagedPropertyListener("tooltipTrigger",({currentValue:$})=>{this.setTooltipMode($)}),this.setTooltipMode(this.gos.get("tooltipTrigger")),this.highlightTracker.addEventListener("itemHighlighted",this.onHighlight)}onHighlight($){if(this.tooltipMode!==1)return;if($.highlighted)this.attemptToShowTooltip();else this.attemptToHideTooltip()}setTooltipMode($="focus"){this.tooltipMode=$==="focus"?1:0}destroy(){this.highlightTracker.removeEventListener("itemHighlighted",this.onHighlight),super.destroy()}},uK=class extends a2{constructor(){super({tag:"div",cls:"ag-tooltip"})}init($){let{value:z}=$,Q=this.getGui();Q.textContent=J1(z);let J=$.location.replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase();Q.classList.add(`ag-${J}-tooltip`)}},mK=".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}}",c1=0,cK=200,pK=class extends R0{constructor(){super(...arguments);this.beanName="popupSvc",this.popupList=[]}postConstruct(){this.addManagedEventListeners({stylesChanged:this.handleThemeChange.bind(this)})}getPopupParent(){let $=this.gos.get("popupParent");if($)return $;return this.getDefaultPopupParent()}positionPopupUnderMouseEvent($){let{ePopup:z,nudgeX:Q,nudgeY:J,skipObserver:Z}=$;this.positionPopup({ePopup:z,nudgeX:Q,nudgeY:J,keepWithinBounds:!0,skipObserver:Z,updatePosition:()=>this.calculatePointerAlign($.mouseEvent),postProcessCallback:()=>this.callPostProcessPopup($.additionalParams,$.type,$.ePopup,null,$.mouseEvent)})}calculatePointerAlign($){let z=this.getParentRect();return{x:$.clientX-z.left,y:$.clientY-z.top}}positionPopupByComponent($){let{ePopup:z,nudgeX:Q,nudgeY:J,keepWithinBounds:Z,eventSource:X,alignSide:Y="left",position:q="over",type:G}=$,_=X.getBoundingClientRect(),H=this.getParentRect();this.setAlignedTo(X,z);let U=()=>{let W=_.left-H.left;if(Y==="right")W-=z.offsetWidth-_.width;let B;if(q==="over")B=_.top-H.top,this.setAlignedStyles(z,"over");else if(this.setAlignedStyles(z,"under"),this.shouldRenderUnderOrAbove(z,_,H,$.nudgeY||0)==="under")B=_.top-H.top+_.height;else B=_.top-z.offsetHeight-(J||0)*2-H.top;return{x:W,y:B}};this.positionPopup({ePopup:z,nudgeX:Q,nudgeY:J,keepWithinBounds:Z,updatePosition:U,postProcessCallback:()=>this.callPostProcessPopup($.additionalParams,G,z,X,null)})}positionPopupForMenu($){let{eventSource:z,ePopup:Q,event:J}=$,Z=z.getBoundingClientRect(),X=this.getParentRect();this.setAlignedTo(z,Q);let Y=!1,q=()=>{let G=this.keepXYWithinBounds(Q,Z.top-X.top,0),_=Q.clientWidth>0?Q.clientWidth:200;if(!Y)Q.style.minWidth=`${_}px`,Y=!0;let U=X.right-X.left-_,W;if(this.gos.get("enableRtl")){if(W=E(),W<0)W=B(),this.setAlignedStyles(Q,"left");if(W>U)W=0,this.setAlignedStyles(Q,"right")}else{if(W=B(),W>U)W=E(),this.setAlignedStyles(Q,"right");if(W<0)W=0,this.setAlignedStyles(Q,"left")}return{x:W,y:G};function B(){return Z.right-X.left-2}function E(){return Z.left-X.left-_}};this.positionPopup({ePopup:Q,keepWithinBounds:!0,updatePosition:q,postProcessCallback:()=>this.callPostProcessPopup($.additionalParams,"subMenu",Q,z,J instanceof MouseEvent?J:void 0)})}shouldRenderUnderOrAbove($,z,Q,J){let Z=Q.bottom-z.bottom,X=z.top-Q.top,Y=$.offsetHeight+J;if(Z>Y)return"under";if(X>Y||X>Z)return"above";return"under"}setAlignedStyles($,z){let Q=this.getPopupIndex($);if(Q===-1)return;let J=this.popupList[Q],{alignedToElement:Z}=J;if(!Z)return;let X=["right","left","over","above","under"];for(let Y of X)Z.classList.remove(`ag-has-popup-positioned-${Y}`),$.classList.remove(`ag-popup-positioned-${Y}`);if(!z)return;Z.classList.add(`ag-has-popup-positioned-${z}`),$.classList.add(`ag-popup-positioned-${z}`)}setAlignedTo($,z){let Q=this.getPopupIndex(z);if(Q!==-1){let J=this.popupList[Q];J.alignedToElement=$}}positionPopup($){let{ePopup:z,keepWithinBounds:Q,nudgeX:J,nudgeY:Z,skipObserver:X,updatePosition:Y}=$,q={width:0,height:0},G=(_=!1)=>{let{x:H,y:U}=Y();if(_&&z.clientWidth===q.width&&z.clientHeight===q.height)return;if(q.width=z.clientWidth,q.height=z.clientHeight,J)H+=J;if(Z)U+=Z;if(Q)H=this.keepXYWithinBounds(z,H,1),U=this.keepXYWithinBounds(z,U,0);if(z.style.left=`${H}px`,z.style.top=`${U}px`,$.postProcessCallback)$.postProcessCallback()};if(G(),!X){let _=F$(this.beans,z,()=>G(!0));setTimeout(()=>_(),cK)}}getParentRect(){let $=Y0(this.beans),z=this.getPopupParent();if(z===$.body)z=$.documentElement;else if(getComputedStyle(z).position==="static")z=z.offsetParent;return w6(z)}keepXYWithinBounds($,z,Q){let J=Q===0,Z=J?"clientHeight":"clientWidth",X=J?"top":"left",Y=J?"height":"width",q=J?"scrollTop":"scrollLeft",G=Y0(this.beans),_=G.documentElement,H=this.getPopupParent(),U=$.getBoundingClientRect(),W=H.getBoundingClientRect(),B=G.documentElement.getBoundingClientRect(),E=H===G.body,K=Math.ceil(U[Y]),D=E?(J?y6:x6)(_)+_[q]:H[Z];if(E)D-=Math.abs(B[X]-W[X]);let F=D-K;return Math.min(Math.max(z,0),Math.max(F,0))}addPopup($){let{eChild:z,ariaLabel:Q,ariaOwns:J,alwaysOnTop:Z,positionCallback:X,anchorToElement:Y}=$,q=this.getPopupIndex(z);if(q!==-1)return{hideFunc:this.popupList[q].hideFunc};this.initialisePopupPosition(z);let G=this.createPopupWrapper(z,!!Z,Q,J),_=this.addEventListenersToPopup({...$,wrapperEl:G});if(X)X();return this.addPopupToPopupList(z,G,_,Y),{hideFunc:_}}initialisePopupPosition($){let Q=this.getPopupParent().getBoundingClientRect();if(!T($.style.top))$.style.top=`${Q.top*-1}px`;if(!T($.style.left))$.style.left=`${Q.left*-1}px`}createPopupWrapper($,z,Q,J){let Z=this.getPopupParent(),{environment:X,gos:Y}=this.beans,q=K0({tag:"div"});if(X.applyThemeClasses(q),q.classList.add("ag-popup"),$.classList.add(Y.get("enableRtl")?"ag-rtl":"ag-ltr","ag-popup-child"),!$.hasAttribute("role"))_0($,"dialog");if(Q)E0($,Q);else if(J)$.id||($.id=`popup-component-${c1}`),U5(J,$.id);if(q.appendChild($),Z.appendChild(q),z)this.setAlwaysOnTop($,!0);else this.bringPopupToFront($);return q}addEventListenersToPopup($){let z=this.beans,Q=Y0(z),{wrapperEl:J,eChild:Z,closedCallback:X,afterGuiAttached:Y,closeOnEsc:q,modal:G,ariaOwns:_}=$,H=!1,U=(K)=>{if(!J.contains(d(z)))return;if(K.key===A.ESCAPE&&!this.isStopPropagation(K))E({keyboardEvent:K})},W=(K)=>E({mouseEvent:K}),B=(K)=>E({touchEvent:K}),E=(K={})=>{let{mouseEvent:L,touchEvent:D,keyboardEvent:F,forceHide:M}=K;if(!M&&(this.isEventFromCurrentPopup({mouseEvent:L,touchEvent:D},Z)||H))return;if(H=!0,J.remove(),Q.removeEventListener("keydown",U),Q.removeEventListener("mousedown",W),Q.removeEventListener("touchstart",B),Q.removeEventListener("contextmenu",W),this.eventSvc.removeListener("dragStarted",W),X)X(L||D||F);this.removePopupFromPopupList(Z,_)};if(Y)Y({hidePopup:E});return window.setTimeout(()=>{if(q)Q.addEventListener("keydown",U);if(G)Q.addEventListener("mousedown",W),this.eventSvc.addListener("dragStarted",W),Q.addEventListener("touchstart",B),Q.addEventListener("contextmenu",W)},0),E}addPopupToPopupList($,z,Q,J){if(this.popupList.push({element:$,wrapper:z,hideFunc:Q,instanceId:c1,isAnchored:!!J}),J)this.setPopupPositionRelatedToElement($,J);c1=c1+1}getPopupIndex($){return this.popupList.findIndex((z)=>z.element===$)}setPopupPositionRelatedToElement($,z){let Q=this.getPopupIndex($);if(Q===-1)return;let J=this.popupList[Q];if(J.stopAnchoringPromise)J.stopAnchoringPromise.then((X)=>X&&X());if(J.stopAnchoringPromise=void 0,J.isAnchored=!1,!z)return;let Z=this.keepPopupPositionedRelativeTo({element:z,ePopup:$,hidePopup:J.hideFunc});return J.stopAnchoringPromise=Z,J.isAnchored=!0,Z}removePopupFromPopupList($,z){if(this.setAlignedStyles($,null),this.setPopupPositionRelatedToElement($,null),z)U5(z,null);this.popupList=this.popupList.filter((Q)=>Q.element!==$)}keepPopupPositionedRelativeTo($){let z=this.getPopupParent(),Q=z.getBoundingClientRect(),{element:J,ePopup:Z}=$,X=J.getBoundingClientRect(),Y=(U)=>Number.parseInt(U.substring(0,U.length-1),10),q=(U,W)=>{let B=Q[U]-X[U],E=Y(Z.style[U]);return{initialDiff:B,lastDiff:B,initial:E,last:E,direction:W}},G=q("top",0),_=q("left",1),H=this.beans.frameworkOverrides;return new g((U)=>{H.wrapIncoming(()=>{qG(()=>{let W=z.getBoundingClientRect(),B=J.getBoundingClientRect();if(B.top==0&&B.left==0&&B.height==0&&B.width==0){$.hidePopup();return}let K=(L,D)=>{let F=Y(Z.style[D]);if(L.last!==F)L.initial=F,L.last=F;let M=W[D]-B[D];if(M!=L.lastDiff){let k=this.keepXYWithinBounds(Z,L.initial+L.initialDiff-M,L.direction);Z.style[D]=`${k}px`,L.last=k}L.lastDiff=M};K(G,"top"),K(_,"left")},200).then((W)=>{U(()=>{if(W!=null)window.clearInterval(W)})})},"popupPositioning")})}isEventFromCurrentPopup($,z){let{mouseEvent:Q,touchEvent:J}=$,Z=Q?Q:J;if(!Z)return!1;let X=this.getPopupIndex(z);if(X===-1)return!1;for(let Y=X;Y<this.popupList.length;Y++){let q=this.popupList[Y];if(RJ(q.element,Z))return!0}return this.isElementWithinCustomPopup(Z.target)}isElementWithinCustomPopup($){let z=Y0(this.beans);while($&&$!==z.body){if($.classList.contains("ag-custom-component-popup")||$.parentElement===null)return!0;$=$.parentElement}return!1}getWrapper($){while(!$.classList.contains("ag-popup")&&$.parentElement)$=$.parentElement;return $.classList.contains("ag-popup")?$:null}setAlwaysOnTop($,z){let Q=this.getWrapper($);if(!Q)return;if(Q.classList.toggle("ag-always-on-top",!!z),z)this.bringPopupToFront(Q)}bringPopupToFront($){let z=this.getPopupParent(),Q=Array.prototype.slice.call(z.querySelectorAll(".ag-popup")),J=Q.length,Z=this.getWrapper($);if(!Z||J<=1||!z.contains($))return;let X=[],Y=[];for(let W of Q){if(W===Z)continue;if(W.classList.contains("ag-always-on-top"))Y.push(W);else X.push(W)}let q=[],G=Y.length,U=Z.classList.contains("ag-always-on-top")||!G?[...X,...Y,Z]:[...X,Z,...Y];for(let W=0;W<=J;W++){let B=U[W];if(Q[W]===U[W]||B===Z)continue;let E=B.querySelectorAll("div");for(let K of E)if(K.scrollTop!==0)q.push([K,K.scrollTop]);if(W===0)z.prepend(B);else U[W-1].after(B)}while(q.length){let W=q.pop();W[0].scrollTop=W[1]}}handleThemeChange($){if($.themeChanged){let z=this.beans.environment;for(let Q of this.popupList)z.applyThemeClasses(Q.wrapper)}}},iK=class extends pK{getDefaultPopupParent(){return this.beans.ctrlsSvc.get("gridCtrl").getGui()}callPostProcessPopup($,z,Q,J,Z){let X=this.gos.getCallback("postProcessPopup");if(X){let{column:Y,rowNode:q}=$??{};X({column:Y,rowNode:q,ePopup:Q,type:z,eventSource:J,mouseEvent:Z})}}getActivePopups(){return this.popupList.map(($)=>$.element)}hasAnchoredPopup(){return this.popupList.some(($)=>$.isAnchored)}isStopPropagation($){return z$($)}},nz={moduleName:"Popup",version:p,beans:[iK]};function KJ($){return $.get("tooltipShowMode")==="whenTruncated"}function tJ($,z){return KJ($)?iQ(z):void 0}var nK=($,z)=>{let Q=$;if(typeof Q.getTranslatedMessage==="function")return Q.getTranslatedMessage(z);return $.message},k2=($,z,Q)=>{let{editModelSvc:J}=$,Z=J?.getCellValidationModel()?.getCellValidation(z)?.errorMessages,X=J?.getRowValidationModel().getRowValidation(z)?.errorMessages,Y=Z||X;return Y?.length?Y.join(Q("tooltipValidationErrorSeparator",". ")):void 0},dK=($,z)=>{if(!KJ($.gos))return;if(z.isCellRenderer()){let J=z.column.getColDef();if(!(!!J.showRowGroup||J.cellRenderer==="agGroupCellRenderer"))return;return iQ(()=>{let X=z.eGui;return X.querySelector(".ag-group-value")||X.querySelector(".ag-cell-value")||X})}return iQ(()=>{let J=z.eGui;return J.children.length===0?J:J.querySelector(".ag-cell-value")})},tK=($,z,Q)=>{let{editSvc:J}=$,{column:Z}=z,X=dK($,z),Y=()=>{if(J?.isEditing(z))return!1;if(!X)return!0;if(!Z.isTooltipEnabled())return!1;return X()};return{shouldDisplayDefault:Y,shouldDisplayColumnTooltip:Y,shouldDisplayCustomTooltip:Q??Y}},sK=({beans:$,ctrl:z,value:Q,displayFunctions:J,translate:Z})=>{let{editSvc:X,formula:Y,gos:q}=$,{column:G,rowNode:_}=z;if(Y?.active&&G.isAllowFormula()){let L=Y.getFormulaError(G,_);if(L)return{value:nK(L,Z),location:"cellFormula",shouldDisplay:()=>!!Y?.getFormulaError(G,_)}}if(!X?.isEditing(z)){let L=k2($,z,Z);if(L)return{value:L,location:"cellEditor",shouldDisplay:()=>!X?.isEditing(z)&&!!k2($,z,Z)}}let{shouldDisplayCustomTooltip:U,shouldDisplayColumnTooltip:W}=J;if(Q!=null)return{value:Q,location:"cell",shouldDisplay:U};let B=G.getColDef(),E=_.data;if(B.tooltipField&&T(E))return{value:hQ(E,B.tooltipField,G.isTooltipFieldContainsDots()),location:"cell",shouldDisplay:W};let K=B.tooltipValueGetter;if(K)return{value:K(y(q,{location:"cell",colDef:G.getColDef(),column:G,rowIndex:z.cellPosition.rowIndex,node:_,data:_.data,value:z.value,valueFormatted:z.valueFormatted})),location:"cell",shouldDisplay:W};return null},rK=class extends S{constructor(){super(...arguments);this.beanName="tooltipSvc"}setupHeaderTooltip($,z,Q,J){if($)z.destroyBean($);let Z=this.gos,X=KJ(Z),{column:Y,eGui:q}=z,G=Y.getColDef();if(!J&&X&&!G.headerComponent)J=iQ(()=>q.querySelector(".ag-header-cell-text"));let _="header",H="header",U=this.beans.colNames.getDisplayNameForColumn(Y,H,!0),W=Q??U,B={getGui:()=>q,getLocation:()=>_,getTooltipValue:()=>Q??G?.headerTooltipValueGetter?.(y(Z,{location:_,colDef:G,column:Y,value:W,valueFormatted:U}))??G?.headerTooltip,shouldDisplayTooltip:J,getAdditionalParams:()=>({column:Y,colDef:Y.getColDef()})},E=this.createTooltipFeature(B);if(E)E=z.createBean(E),z.setRefreshFunction("tooltip",()=>E.refreshTooltip());return E}setupHeaderGroupTooltip($,z,Q,J){if($)z.destroyBean($);let Z=this.gos,X=KJ(Z),{column:Y,eGui:q}=z,G=Y.getColGroupDef();if(!J&&X&&!G?.headerGroupComponent)J=iQ(()=>q.querySelector(".ag-header-group-text"));let _="headerGroup",H="header",U=this.beans.colNames.getDisplayNameForColumnGroup(Y,H),W=Q??U,B={getGui:()=>q,getLocation:()=>_,getTooltipValue:()=>Q??G?.headerTooltipValueGetter?.(y(Z,{location:_,colDef:G,column:Y,value:W,valueFormatted:U}))??G?.headerTooltip,shouldDisplayTooltip:J,getAdditionalParams:()=>{let K={column:Y};if(G)K.colDef=G;return K}},E=this.createTooltipFeature(B);return E?z.createBean(E):E}enableCellTooltipFeature($,z,Q){let{beans:J}=this,{column:Z,rowNode:X}=$,Y=tK(J,$,Q),q=this.getLocaleTextFunc(),G=null,_=()=>{return G=sK({beans:J,ctrl:$,value:z,displayFunctions:Y,translate:q}),G},U={getGui:()=>$.eGui,getLocation:()=>G?.location??"cell",getTooltipValue:()=>_()?.value,shouldDisplayTooltip:()=>{let W=G??_();if(!W)return!1;return W.shouldDisplay?W.shouldDisplay():!0},getAdditionalParams:()=>({column:Z,colDef:Z.getColDef(),rowIndex:$.cellPosition.rowIndex,node:X,data:X.data,valueFormatted:$.valueFormatted})};return this.createTooltipFeature(U,J)}setupFullWidthRowTooltip($,z,Q,J){let Z={getGui:()=>z.getFullWidthElement(),getTooltipValue:()=>Q,getLocation:()=>"fullWidthRow",shouldDisplayTooltip:J},X=this.beans,Y=X.context;if($)z.destroyBean($,Y);let q=this.createTooltipFeature(Z,X);if(!q)return;return z.createBean(q,Y)}setupCellEditorTooltip($,z){let{beans:Q}=this,{context:J}=Q,Z=z.getValidationElement?.(!0)||!z.isPopup?.()&&$.eGui;if(!Z)return;let X={getGui:()=>Z,getTooltipValue:()=>k2(Q,$,this.getLocaleTextFunc()),getLocation:()=>"cellEditor",shouldDisplayTooltip:()=>{let{editModelSvc:q}=Q,G=q?.getRowValidationModel()?.getRowValidationMap(),_=q?.getCellValidationModel()?.getCellValidationMap(),H=!!G&&G.size>0,U=!!_&&_.size>0;return H||U}},Y=this.createTooltipFeature(X,Q);if(!Y)return;return $.createBean(Y,J)}initCol($){let{colDef:z}=$;$.tooltipEnabled=T(z.tooltipField)||T(z.tooltipValueGetter)||T(z.tooltipComponent)}createTooltipFeature($,z){return this.beans.registry.createDynamicBean("tooltipFeature",!1,$,z)}},lK=class extends gK{createTooltipComp($,z){xG(this.beans.userCompFactory,$)?.newAgStackInstance().then(z)}setEventHandlers($){[this.onColumnMovedEventCallback]=this.addManagedEventListeners({columnMoved:$})}clearEventHandlers(){this.onColumnMovedEventCallback?.(),this.onColumnMovedEventCallback=void 0}},aK={moduleName:"Tooltip",version:p,beans:[rK],dynamicBeans:{tooltipFeature:Z9,highlightTooltipFeature:hK,tooltipStateManager:lK},userComponents:{agTooltipComponent:uK},dependsOn:[nz],css:[mK]};var oK=".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 eK=class extends S8{constructor($,z="ag-text-field",Q="text"){super($,z,Q)}postConstruct(){if(super.postConstruct(),this.config.allowedCharPattern)this.preventDisallowedCharacters()}setValue($,z){let Q=this.eInput;if(Q.value!==$)Q.value=T($)?$:"";return super.setValue($,z)}setStartValue($){this.setValue($,!0)}setCustomValidity($){let z=this.eInput,Q=$.length>0;if(z.setCustomValidity($),Q)z.reportValidity();j6(z,Q)}preventDisallowedCharacters(){let $=new RegExp(`[${this.config.allowedCharPattern}]`),z=(Q)=>{if(!o7(Q))return;if(Q.key&&!$.test(Q.key))Q.preventDefault()};this.addManagedListeners(this.eInput,{keydown:z,paste:(Q)=>{if(Q.clipboardData?.getData("text")?.split("").some((Z)=>!$.test(Z)))Q.preventDefault()}})}},T4={selector:"AG-INPUT-TEXT-FIELD",component:eK};var $L=class extends nG{constructor($){super();this.cellEditorInput=$,this.eEditor=f}initialiseEditor($){let{cellEditorInput:z}=this;this.setTemplate({tag:"div",cls:"ag-cell-edit-wrapper",children:[z.getTemplate()]},z.getAgComponents());let{eEditor:Q}=this,{cellStartedEdit:J,eventKey:Z,suppressPreventDefault:X}=$;Q.getInputElement().setAttribute("title",""),z.init(Q,$);let Y,q=!0;if(J){if(this.focusAfterAttached=!0,Z===A.BACKSPACE||Z===A.DELETE)Y="";else if(Z&&Z.length===1)if(X)q=!1;else Y=Z;else if(Y=z.getStartValue(),Z!==A.F2)this.highlightAllOnFocus=!0}else this.focusAfterAttached=!1,Y=z.getStartValue();if(q&&Y!=null)Q.setStartValue(Y);this.addGuiEventListener("keydown",(G)=>{let{key:_}=G;if(_===A.PAGE_UP||_===A.PAGE_DOWN)G.preventDefault()})}afterGuiAttached(){let $=this.getLocaleTextFunc(),z=this.eEditor;if(z.setInputAriaLabel($("ariaInputEditor","Input Editor")),!this.focusAfterAttached)return;if(!cz())z.getFocusableElement().focus();let Q=z.getInputElement();if(this.highlightAllOnFocus)Q.select();else this.cellEditorInput.setCaret?.()}focusIn(){let{eEditor:$}=this,z=$.getFocusableElement(),Q=$.getInputElement();z.focus(),Q.select()}getValue(){return this.cellEditorInput.getValue()}agSetEditValue($){this.params.value=$;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"},QL=class{constructor($){this.getLocaleTextFunc=$}getTemplate(){return zL}getAgComponents(){return[T4]}init($,z){this.eEditor=$,this.params=z;let Q=z.maxLength;if(Q!=null)$.setMaxLength(Q)}getValidationErrors(){let{params:$}=this,{maxLength:z,getValidationErrors:Q}=$,J=this.getValue(),Z=this.getLocaleTextFunc(),X=[];if(z!=null&&typeof J==="string"&&J.length>z)X.push(Z("maxLengthValidation",`Must be ${z} characters or fewer.`,[String(z)]));if(!X.length)X=null;if(Q)return Q({value:J,cellEditorParams:$,internalErrors:X});return X}getValue(){let{eEditor:$,params:z}=this,Q=$.getValue();if(!T(Q)&&!T(z.value))return z.value;return z.parseValue(Q)}getStartValue(){let $=this.params;return $.useFormatter||$.column.getColDef().refData?$.formatValue($.value):$.value}setCaret(){if(cz())this.eEditor.getInputElement().focus({preventScroll:!0});let $=this.eEditor,z=$.getValue(),Q=T(z)&&z.length||0;if(Q)$.getInputElement().setSelectionRange(Q,Q)}},K6=class extends $L{constructor(){super(new QL(()=>this.getLocaleTextFunc()))}};function JL($,z){return $.editModelSvc?.getEditRowDataValue(z,{checkSiblings:!0})}function ZL($){let z=$.editModelSvc?.getEditMap(),Q=[];return z?.forEach((J,Z)=>{let{rowIndex:X,rowPinned:Y}=Z;J.forEach((q,G)=>{let{editorValue:_,pendingValue:H,sourceValue:U,state:W}=q,B=B$(q),E=_??H;if(E===P0)E=void 0;let K={newValue:E,oldValue:U,state:W,column:G,colId:G.getColId(),colKey:G.getColId(),rowIndex:X,rowPinned:Y},L=W==="editing";if(L||!L&&B)Q.push(K)})}),Q}function XL($,z=!1){let{editSvc:Q}=$;if(Q?.isBatchEditing()){if(z){for(let J of $.editModelSvc?.getEditPositions()??[])if(J.state==="editing")Q.revertSingleCellEdit(J)}else $z($,{persist:!0});e$($,void 0,{cancel:z})}else Q?.stopEditing(void 0,{cancel:z,source:"edit",forceStop:!z,forceCancel:z})}function YL($,z){let Q=r($,z);return!!$.editSvc?.isEditing(Q)}function qL($,z){let{key:Q,colKey:J,rowIndex:Z,rowPinned:X}=z,{editSvc:Y,colModel:q}=$,G=q.getCol(J);if(!G){j(12,{colKey:J});return}let H=M0($,{rowIndex:Z,rowPinned:X||null,column:G});if(!H){j(290,{rowIndex:Z,rowPinned:X});return}if(!Y?.isCellEditable({rowNode:H,column:G},"api"))return;if(X==null)UK($,Z);HK($,J),Y?.startEditing({rowNode:H,column:G},{event:Q?new KeyboardEvent("keydown",{key:Q}):void 0,source:"api",editable:!0})}function GL($){return $.editSvc?.validateEdit()||null}var _L={tag:"div",cls:"ag-popup-editor",attrs:{tabindex:"-1"}},HL=class extends a2{constructor($){super(_L);this.params=$}postConstruct(){wz(this.gos,this.getGui(),"popupEditorWrapper",!0),this.addKeyDownListener()}addKeyDownListener(){let $=this.getGui(),z=this.params,Q=(J)=>{if(!H2(this.gos,J,z.node,z.column,!0))z.onKeyDown(J)};this.addManagedElementListeners($,{keydown:Q})}};function UL($,{column:z},Q,J,Z="ui"){if(Q instanceof KeyboardEvent&&(Q.key===A.TAB||Q.key===A.ENTER||Q.key===A.F2||Q.key===A.BACKSPACE&&J))return!0;if(Q?.shiftKey&&$.rangeSvc?.getCellRanges().length!=0)return!1;let Y=z?.getColDef(),q=WL($.gos,Y),G=Q?.type;if(G==="click"&&Q?.detail===1&&q===1)return!0;if(G==="dblclick"&&Q?.detail===2&&q===2)return!0;if(Z==="api")return!!J;return!1}function WL($,z){if($.get("suppressClickEdit")===!0)return 0;if($.get("singleClickEdit")===!0)return 1;if(z?.singleClickEdit)return 1;return 2}function rZ($,z){return $.editModelSvc?.hasEdits(z,{withOpenEditor:!0})??!1}function V2($,z){let{column:Q,rowNode:J}=z,Z=Q.getColDef();if(!J)return rZ($,z);let X=Z.editable;if(J.group&&Z.groupRowEditable!=null){if($.rowGroupingEditValueSvc?.isGroupCellEditable(J,Q))return!0;return rZ($,z)}if(Q.isColumnFunc(J,X))return!0;return rZ($,z)}function BL($,z,Q="ui"){let J=V2($,z);if(J||Q==="ui")return J;let{rowNode:Z,column:X}=z;for(let Y of $.colModel.getCols())if(Y!==X&&V2($,{rowNode:Z,column:Y}))return!0;return!1}var LJ=($,z=!1)=>{if($!==void 0)return B$($)||z&&$.state==="editing"};function X9($,z,Q=!1){return LJ($.editModelSvc?.getEdit(z),Q)}var Y9=($,z,Q)=>{if(!$)return;for(let J=0,Z=$.length;J<Z;++J){let X=$[J];if(X.data){if(LJ(z?.getEdit({rowNode:X,column:Q}))||LJ(z?.getEdit({rowNode:X.pinnedSibling,column:Q})))return!0}if(Y9(X.childrenAfterGroup,z,Q))return!0}};function q9($,z){let{column:Q,rowNode:J}=z;if($.gos.get("groupTotalRow")&&!J?.footer)return!1;return Y9(J?.childrenAfterGroup,$.editModelSvc,Q)}function G9($,{rowNode:z,column:Q}){if(z=z.pinnedSibling,!z)return;return LJ($.editModelSvc?.getEdit({rowNode:z,column:Q}))}var EL=class extends S{constructor($,z){super();this.cellCtrl=$,this.beans=z,this.editSvc=z.editSvc,this.editModelSvc=z.editModelSvc}setComp($){this.cellComp=$,this.applyCellStyles()}applyCellStyles(){let{cellCtrl:$,editSvc:z,beans:Q}=this;if(z?.isBatchEditing()&&z.isEditing()){let Z=X9(Q,$)||q9(Q,$)||G9(Q,$);this.applyBatchingStyle(Z)}else this.applyBatchingStyle(!1);let J=!!this.editModelSvc?.getCellValidationModel().hasCellValidation(this.cellCtrl);this.cellComp.toggleCss("ag-cell-editing-error",J)}applyBatchingStyle($){this.cellComp.toggleCss("ag-cell-editing",$??!1),this.cellComp.toggleCss("ag-cell-batch-edit",($&&this.editSvc?.isBatchEditing())??!1)}},KL=class extends S{constructor($,z){super();this.rowCtrl=$,this.beans=z,this.gos=z.gos,this.editSvc=z.editSvc,this.editModelSvc=z.editModelSvc}applyRowStyles(){let{rowCtrl:$,editModelSvc:z,beans:Q}=this,J=$.rowNode,Z=z?.getEditRow(J),X=this.editModelSvc?.getRowValidationModel().hasRowValidation({rowNode:J});if(!Z&&J.pinnedSibling)J=J.pinnedSibling,Z=z?.getEditRow(J);if(Z){let Y=Array.from(Z.keys()).some((q)=>{let G={rowNode:J,column:q};return X9(Q,G,!0)||q9(Q,G)||G9(Q,G)});this.applyStyle(X,Y);return}this.applyStyle(X)}applyStyle($=!1,z=!1){let Q=!!this.editSvc?.isBatchEditing(),J=this.gos.get("editType")==="fullRow";this.rowCtrl?.forEachGui(void 0,({rowComp:Z})=>{Z.toggleCss("ag-row-editing",J&&z),Z.toggleCss("ag-row-batch-edit",J&&z&&Q),Z.toggleCss("ag-row-inline-editing",z),Z.toggleCss("ag-row-not-inline-editing",!z),Z.toggleCss("ag-row-editing-invalid",J&&z&&$)})}},LL=({rowModel:$,pinnedRowModel:z,editModelSvc:Q},J)=>{let Z=new Set;$.forEachNode((X)=>J.has(X)&&Z.add(X)),z?.forEachPinnedRow("top",(X)=>J.has(X)&&Z.add(X)),z?.forEachPinnedRow("bottom",(X)=>J.has(X)&&Z.add(X));for(let X of J)if(!Z.has(X))Q.removeEdits({rowNode:X});return Z},DL=({editModelSvc:$},z,Q)=>{for(let J of z)$?.getEditRow(J)?.forEach((Z,X)=>!Q.has(X)&&$.removeEdits({rowNode:J,column:X}))},FL=($)=>()=>{let z=new Set($.colModel.getCols()),Q=$.editModelSvc.getEditMap(!0),J=new Set(Q.keys());DL($,LL($,J),z)},ML=new Set(["undo","redo","paste","bulk","rangeSvc"]),kL=new Set(["ui","api"]),_9={paste:"api",rangeSvc:"api",fillHandle:"api",cellClear:"api",bulk:"api"},VL=new Set(Object.keys(_9)),AL=new Set(["paste","rangeSvc","cellClear","redo","undo"]),lZ={cancel:!0,source:"api"},SL={cancel:!1,source:"api"},jz={checkSiblings:!0},l$={force:!0,suppressFlash:!0},RL={force:!0},jL=class extends S{constructor(){super(...arguments);this.beanName="editSvc",this.committing=!1,this.batch=!1,this.batchStartDispatched=!1,this.stopping=!1,this.rangeSelectionWhileEditing=0}postConstruct(){let{beans:$}=this;this.model=$.editModelSvc,this.valueSvc=$.valueSvc,this.rangeSvc=$.rangeSvc,this.addManagedPropertyListener("editType",({currentValue:J})=>{this.stopEditing(void 0,lZ),this.createStrategy(J)});let z=FL($),Q=()=>{let J=this.model.getCellValidationModel().getCellValidationMap().size>0,Z=this.model.getRowValidationModel().getRowValidationMap().size>0;if(J||Z)this.stopEditing(void 0,lZ);else if(this.isEditing())if(this.batch)e$($,this.model.getEditPositions());else this.stopEditing(void 0,SL);return!1};this.addManagedEventListeners({columnPinned:z,columnVisible:z,columnRowGroupChanged:z,rowExpansionStateChanged:z,pinnedRowsChanged:z,displayedRowsChanged:z,sortChanged:Q,filterChanged:Q,cellFocused:this.onCellFocused.bind(this)})}isBatchEditing(){return this.batch}startBatchEditing(){if(this.batch)return;this.batch=!0,this.batchStartDispatched=!1,this.stopEditing(void 0,lZ)}stopBatchEditing($){if(!this.batch)return;if($)this.stopEditing(void 0,$);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($){let{beans:z,gos:Q,strategy:J}=this,Z=L6(Q,$);if(J){if(J.beanName===Z)return J;this.destroyStrategy()}return this.strategy=this.createOptionalManagedBean(z.registry.createDynamicBean(Z,!0))}destroyStrategy(){if(!this.strategy)return;this.strategy.destroy(),this.strategy=this.destroyBean(this.strategy)}shouldStartEditing($,z,Q,J="ui"){let Z=UL(this.beans,$,z,Q,J);if(Z)this.strategy??(this.strategy=this.createStrategy());return Z}shouldStopEditing($,z,Q="ui"){return this.strategy?.shouldStop($,z,Q)??null}shouldCancelEditing($,z,Q="ui"){return this.strategy?.shouldCancel($,z,Q)??null}validateEdit(){return hE(this.beans)}isEditing($,z){return this.model.hasEdits($??void 0,z??jz)}isRowEditing($,z){return!!$&&this.model.hasRowEdits($,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($,z){let{startedEdit:Q=!0,event:J=null,source:Z="ui",ignoreEventKey:X=!1,silent:Y}=z;if(this.strategy??(this.strategy=this.createStrategy()),!(z.editable??this.isCellEditable($,"api")))return;let G=r(this.beans,$);if(G&&!G.comp){z.editable=void 0,G.onCompAttachedFuncs.push(()=>this.startEditing($,z));return}let _=this.shouldStartEditing($,J,Q,Z);if(_===!1&&Z!=="api"){if(this.isEditing($))this.stopEditing();return}if(!this.batch&&this.shouldStopEditing($,void 0,Z)&&!z.continueEditing)this.stopEditing(void 0,{source:Z});if(_)this.ensureBatchStarted();this.strategy.start({position:$,event:J,source:Z,ignoreEventKey:X,startedEdit:Q,silent:Y})}stopEditing($,z){let Q=this.prepareStopContext($,z);if(!Q)return!1;this.stopping=!0;let J=!1,{edits:Z}=Q;try{let X=this.processStopRequest(Q);return J||(J=X.res),Z=X.edits,this.finishStopEditing({...Q,edits:Z,params:z,position:$,res:J}),J}finally{this.rangeSelectionWhileEditing=0,this.stopping=!1}}prepareStopContext($,z){let{event:Q=null,cancel:J=!1,source:Z="ui",forceCancel:X=!1,forceStop:Y=!1,commit:q=!1}=z||{};if(VL.has(Z)&&this.batch){if($?.rowNode&&$?.column)this.bulkRefreshCell($);return null}let G=this.committing?_9[Z]:Z;if(!(this.committing||this.isEditing($)||this.batch&&this.model.hasEdits($,jz))||!this.strategy||this.stopping)return null;let H=r(this.beans,$);if(H)H.onEditorAttachedFuncs=[];let U=!J&&(!!this.shouldStopEditing($,Q,G)||(this.committing||Z==="paste")&&!this.batch)||Y,W=J&&!!this.shouldCancelEditing($,Q,G)||X;return{cancel:J,cellCtrl:H,edits:this.model.getEditMap(!0),event:Q??null,forceCancel:X,forceStop:Y,commit:q,position:$,source:Z,treatAsSource:G,willCancel:W,willStop:U}}processStopRequest($){let{event:z,position:Q,willCancel:J,willStop:Z}=$;if(Z||J)return this.handleStopOrCancel($);if(this.shouldHandleMidBatchKey(z,Q))return{res:!1,edits:this.handleMidBatchKey(z,Q,$)};if($z(this.beans,{persist:!0}),this.batch)this.strategy?.cleanupEditors(Q);return{res:!1,edits:this.model.getEditMap()}}handleStopOrCancel($){let{beans:z,model:Q}=this,{cancel:J,commit:Z,edits:X,event:Y,source:q,willCancel:G,willStop:_}=$,H=!this.batch||!G;$z(z,{persist:H,isCancelling:G||J,isStopping:_});let U=Q.getEditMap(),B=!G&&(!this.batch||Z)?this.processEdits(U,q):[];if(J)this.strategy?.stopCancelled($.forceCancel);else this.strategy?.stopCommitted(Y,Z);this.clearValidationIfNoOpenEditors();for(let E of B)Q.clearEditValue(E);this.bulkRefreshMap(X);for(let E of Q.getEditPositions(U)){let K=r(z,E),L=B$(E);K?.refreshCell({force:!0,suppressFlash:!L})}return{res:_,edits:U}}shouldHandleMidBatchKey($,z){return $ instanceof KeyboardEvent&&this.batch&&!!this.strategy?.midBatchInputsAllowed(z)&&this.isEditing(z,{withOpenEditor:!0})}handleMidBatchKey($,z,Q){let{beans:J,model:Z}=this,{cellCtrl:X,edits:Y}=Q,{key:q}=$,G=q===A.ENTER,_=q===A.ESCAPE,H=q===A.TAB;if(G||H||_){if(G||H)$z(J,{persist:!0});else if(_&&X){let{rowNode:U,column:W}=X;if(this.batch&&U&&W){let B={rowNode:U,column:W};e$(J,[B],{silent:!0}),this.model.stop(B,!0,!0),r(J,B)?.refreshCell(l$)}else this.revertSingleCellEdit(X)}if(this.batch)this.strategy?.cleanupEditors();else e$(J,Z.getEditPositions(),{event:$,cancel:_});return $.preventDefault(),this.bulkRefreshMap(Y,{suppressFlash:!0}),Z.getEditMap()}return Y}finishStopEditing({cellCtrl:$,edits:z,params:Q,position:J,res:Z,commit:X,forceCancel:Y,willCancel:q,willStop:G}){let _=this.beans;if(Z&&J){if(!this.batch||X)this.model.removeEdits(J)}this.navigateAfterEdit(Q,$?.cellPosition),xQ(_),this.clearValidationIfNoOpenEditors();let{rowRenderer:H,formula:U}=_;if(q)H.refreshRows({rowNodes:Array.from(z.keys())});if(this.batch){if(U)U.refreshFormulas(!0);else H.refreshRows({suppressFlash:!0,force:!0});let W=G&&X;if(W||q&&Y)this.dispatchBatchStopped(z,W)}}dispatchBatchStopped($,z){let Q;if(z){if(Q=IE($),Q.size>0)this.ensureBatchStarted()}if(this.batchStartDispatched)this.batchStartDispatched=!1,this.dispatchBatchEvent("batchEditingStopped",Q??new Map)}clearValidationIfNoOpenEditors(){if(!this.model.hasEdits(void 0,{withOpenEditor:!0}))this.model.getCellValidationModel().clearCellValidationMap(),this.model.getRowValidationModel().clearRowValidationMap()}navigateAfterEdit($,z){if(!$||!z)return;let{event:Q,suppressNavigateAfterEdit:J}=$;if(!(Q instanceof KeyboardEvent)||J)return;let{key:X,shiftKey:Y}=Q,q=this.gos.get("enterNavigatesVerticallyAfterEdit");if(X!==A.ENTER||!q)return;let G=Y?A.UP:A.DOWN;this.beans.navigation?.navigateToNextCell(null,G,z,!1)}processEdits($,z){let Q=Array.from($.keys()),J=this.model.getCellValidationModel().getCellValidationMap().size>0||this.model.getRowValidationModel().getRowValidationMap().size>0,Z=[],{changeDetectionSvc:X}=this.beans;X?.beginDeferred();try{for(let Y of Q){let q=$.get(Y);for(let G of q.keys()){let _=q.get(G),H={rowNode:Y,column:G};if(B$(_)&&!J){let U=r(this.beans,H);if(!this.setNodeDataValue(Y,G,_.pendingValue,U,z))Z.push(H)}}}}finally{X?.endDeferred()}return Z}setNodeDataValue($,z,Q,J,Z="edit"){let X=kL.has(Z)?"edit":Z;if(J)J.suppressRefreshCell=!0;this.committing=!0;try{return $.setDataValue(z,Q,X)}finally{if(this.committing=!1,J)J.suppressRefreshCell=!1}}syncEditAfterCommit($,z){let Q=this.model.getEdit($);if(Q&&Q.state!=="editing")if(z)this.beans.editModelSvc?.setEdit($,{sourceValue:Q.pendingValue});else this.model.clearEditValue($)}setEditMap($,z){this.strategy??(this.strategy=this.createStrategy()),this.strategy?.setEditMap($,z),this.bulkRefreshMap($);let Q=l$;if(z?.forceRefreshOfEditCellsOnly)Q={...fL($),...l$};this.beans.rowRenderer.refreshCells(Q)}dispatchEditValuesChanged({rowNode:$,column:z},Q={}){if(!$||!z||!Q)return;let{pendingValue:J,sourceValue:Z}=Q,{rowIndex:X,rowPinned:Y,data:q}=$;this.beans.eventSvc.dispatchEvent({type:"cellEditValuesChanged",node:$,rowIndex:X,rowPinned:Y,column:z,source:"api",data:q,newValue:J,oldValue:Z,value:J,colDef:z.getColDef()})}bulkRefreshCell($,z){if(o(this.gos,this.beans.rowModel))this.refCell($,this.model.getEdit($),z)}bulkRefreshMap($,z){if(o(this.gos,this.beans.rowModel))$.forEach((Q,J)=>{for(let Z of Q.keys())this.refCell({rowNode:J,column:Z},Q.get(Z),z)})}refCell({rowNode:$,column:z},Q,J={}){let{beans:Z,gos:X}=this,Y=new Set([$]),q=new Set,G=$.pinnedSibling;if(G)Y.add(G);let _=$.sibling;if(_)q.add(_);let H=$.parent;while(H){if(H.sibling?.footer&&X.get("groupTotalRow"))q.add(H.sibling);else if(!H.parent&&H.sibling&&X.get("grandTotalRow"))q.add(H.sibling);else q.add(H);H=H.parent}for(let U of Y)this.dispatchEditValuesChanged({rowNode:U,column:z},Q);for(let U of Y)r(Z,{rowNode:U,column:z})?.refreshCell(J);for(let U of q){let W=r(Z,{rowNode:U,column:z});if(W){if(W.refreshCell(J),!J.force&&this.batch)W.editStyleFeature?.applyCellStyles?.()}}}stopAllEditing($=!1,z="ui"){if(this.isEditing())this.stopEditing(void 0,{cancel:$,source:z})}isCellEditable($,z="ui"){let{gos:Q,beans:J}=this,Z=$.rowNode;if(Z.group&&$.column.getColDef().groupRowEditable==null){if(Q.get("treeData")){if(!Z.data&&!Q.get("enableGroupEdit"))return!1}else if(!Q.get("enableGroupEdit"))return!1}let X=L6(Q)==="fullRow"?BL(J,$,z):V2(J,$);if(X)this.strategy??(this.strategy=this.createStrategy());return X}cellEditingInvalidCommitBlocks(){return this.gos.get("invalidEditValueMode")==="block"}checkNavWithValidation($,z,Q=!0){if(this.hasValidationErrors($)){let J=r(this.beans,$);if(this.cellEditingInvalidCommitBlocks()){if(z?.preventDefault?.(),Q){if(J&&!J.hasBrowserFocus())J.focusCell();J?.comp?.getCellEditor()?.focusIn?.()}return"block-stop"}if(J)this.revertSingleCellEdit(J);return"revert-continue"}return"continue"}revertSingleCellEdit($,z=!1){let Q=r(this.beans,$);if(!Q?.comp?.getCellEditor())return;if(e$(this.beans,[$],{silent:!0}),this.model.clearEditValue($),gz(this.beans,$,{silent:!0}),Yz(this.beans),Q?.refreshCell(l$),!z)return;Q?.focusCell(),Q?.comp?.getCellEditor()?.focusIn?.()}hasValidationErrors($){Yz(this.beans);let z=r(this.beans,$);if(z)z.refreshCell(l$),z.rowCtrl.rowEditStyleFeature?.applyRowStyles();let Q=!1;if($?.rowNode){if(Q||(Q=this.model.getRowValidationModel().hasRowValidation({rowNode:$.rowNode})),$.column)Q||(Q=this.model.getCellValidationModel().hasCellValidation({rowNode:$.rowNode,column:$.column}))}else Q||(Q=this.model.getCellValidationModel().getCellValidationMap().size>0),Q||(Q=this.model.getRowValidationModel().getRowValidationMap().size>0);return Q}moveToNextCell($,z,Q,J="ui"){let Z,X=this.isEditing(),Y=X&&this.checkNavWithValidation(void 0,Q)==="block-stop";if($ instanceof uQ&&X)Z=this.strategy?.moveToNextEditingCell($,z,Q,J,Y);if(Z===null)return Z;if(Z=Z||!!this.beans.focusSvc.focusedHeader,Z===!1&&!Y)this.stopEditing();return Z}getPendingEditValue($,z,Q){if(Q==="data")return;if(Q==="batch"&&!this.batch)return;let J=this.model.getEdit({rowNode:$,column:z},jz);if(!J)return;if(this.stopping&&!this.batch&&!J.editorState?.cellStartedEditing)return;if(Q==="edit"){let X=J.editorValue;if(X!=null&&X!==P0)return X}let Z=J.pendingValue;if(Z!==P0)return Z;return}getCellDataValue($){let z=this.model.getEdit($,jz);if(z){let Q=z.pendingValue;if(Q!==P0)return Q;let J=z.sourceValue;if(J!=null)return J}return this.valueSvc.getValue($.column,$.rowNode,"data")}addStopEditingWhenGridLosesFocus($){PE(this,this.beans,$)}createPopupEditorWrapper($){return new HL($)}batchResetToSourceValue($){if(!this.batch)return!1;let z=this.model.getEdit($);if(!z)return!1;let{pendingValue:Q,sourceValue:J,state:Z}=z;if(Q===J)return!1;if(Z==="editing")return!1;return this.dispatchEditValuesChanged($,{...z,pendingValue:J}),this.beans.editModelSvc?.removeEdits($),r(this.beans,$)?.refreshCell(l$),!0}setDataValue($,z,Q){try{let J=this.batch,Z=this.isEditing(J?void 0:$);if((!Z||this.committing)&&!J&&!AL.has(Q))return;if(!Z&&!J&&Q==="paste")return;if(Q==="batch"&&!J)return;if(Q==="edit"){if(Z&&this.applyEditorValue($,z))return!0;if(!J)return}if(this.strategy??(this.strategy=this.createStrategy()),Q==="batch"||Q==="edit")return this.applyDirectValue($,z,Q);let X=this.beans,Y;if(J)Y="ui";else if(this.committing)Y=Q??"api";else Y="api";if(!Q||ML.has(Q))return this.applyDirectValue($,z,Q);let q=this.applyExistingEdit($,z,Q,Y);if(q!==void 0)return q;return zQ(X,$,z,Q,void 0,{persist:!0}),this.ensureBatchStarted(),this.stopEditing($,{source:Y,suppressNavigateAfterEdit:!0}),!0}finally{this.committing=!1}}applyExistingEdit($,z,Q,J){let Z=this.model.getEdit($);if(!Z)return;if(Z.pendingValue===z)return!1;if(Z.sourceValue!==z)return zQ(this.beans,$,z,Q,void 0,{persist:!0}),this.ensureBatchStarted(),this.stopEditing($,{source:J,suppressNavigateAfterEdit:!0}),!0;return this.beans.editModelSvc?.removeEdits($),this.ensureBatchStarted(),this.dispatchEditValuesChanged($,{...Z,pendingValue:z}),!0}applyEditorValue($,z){let Q=this.beans,J=r(Q,$),Z=J?.comp?.getCellEditor();if(!J||!Z)return!1;if(zQ(Q,$,z,"edit",void 0,{persist:!0}),J.editStyleFeature?.applyCellStyles?.(),"agSetEditValue"in Z)return Z.agSetEditValue(z),!0;if(Z.refresh&&J.editCompDetails)return Z.refresh({...J.editCompDetails.params,value:z}),!0;if(J.hasBrowserFocus())J.onEditorAttachedFuncs.push(()=>{let Y=r(this.beans,$);Y?.focusCell(!0),Y?.comp?.getCellEditor()?.focusIn?.()});return e$(Q,[$],{silent:!0,cancel:!0}),gz(Q,$,{silent:!0}),Yz(Q),r(Q,$)?.refreshCell(l$),!0}applyDirectValue($,z,Q){let J=this.beans;if(this.batch){if(Q==="batch"&&r(J,$)?.comp?.getCellEditor()){let{editModelSvc:Y,valueSvc:q}=J,{rowNode:G,column:_}=$;if(Y?.getEdit($)?.sourceValue===void 0)Y?.setEdit($,{sourceValue:q.getValue(_,G,"data")});Y?.setEdit($,{pendingValue:z})}else if(zQ(J,$,z,Q,void 0,{persist:!0}),Q!=="batch")this.cleanupEditors();return xQ(J),this.ensureBatchStarted(),this.bulkRefreshCell($),!0}zQ(J,$,z,Q,void 0,{persist:!0});let Z=r(J,$),X=this.setNodeDataValue($.rowNode,$.column,z,Z,Q);return this.syncEditAfterCommit($,X),xQ(J),r(J,$)?.refreshCell(X?RL:l$),X}handleColDefChanged($){bE(this.beans,$)}destroy(){this.model.clear(),this.destroyStrategy(),super.destroy()}prepDetailsDuringBatch($,z){let{model:Q}=this;if(!this.batch)return;if(!Q.hasRowEdits($.rowNode,jz))return;let{rowNode:Z}=$,{compDetails:X,valueToDisplay:Y}=z;if(X){let{params:q}=X;return q.data=Q.getEditRowDataValue(Z,jz),{compDetails:X}}return{valueToDisplay:Y}}cleanupEditors(){this.strategy?.cleanupEditors()}dispatchCellEvent($,z,Q,J){this.strategy?.dispatchCellEvent($,z,Q,J)}dispatchBatchEvent($,z){this.eventSvc.dispatchEvent(this.createBatchEditEvent($,z))}createBatchEditEvent($,z){return y(this.gos,{type:$,...$==="batchEditingStopped"?{changes:this.toEventChangeList(z)}:{}})}toEventChangeList($){return this.model.getEditPositions($).map((z)=>({rowIndex:z.rowNode.rowIndex,rowPinned:z.rowNode.rowPinned,columnId:z.column.getColId(),newValue:z.pendingValue,oldValue:z.sourceValue}))}applyBulkEdit({rowNode:$,column:z},Q){if(!Q||Q.length===0)return;let{beans:J,rangeSvc:Z,valueSvc:X}=this,{formula:Y}=J;$z(J,{persist:!0});let q=this.model.getEditMap(!0),G=q.get($)?.get(z)?.pendingValue,_=!1;if(!this.batch)this.eventSvc.dispatchEvent({type:"bulkEditingStarted"}),_=!0;let H=Y?.isFormula(G)??!1;Q.forEach((W)=>{let B=W.columns.some((E)=>E?.isAllowFormula());if(Z?.forEachRowInRange(W,(E)=>{let K=M0(J,E);if(K===void 0)return;let L=q.get(K)??new Map,D=G;for(let F of W.columns){if(!F)continue;let M=!!H&&F.isAllowFormula();if(this.isCellEditable({rowNode:K,column:F},"api")){let k=X.getValue(F,K,"data",!0),V=X.parseValue(F,K??null,D,k);if(Number.isNaN(V))V=null;L.set(F,{editorValue:void 0,pendingValue:V,sourceValue:k,state:"changed",editorState:{isCancelAfterEnd:void 0,isCancelBeforeStart:void 0}})}if(M)D=Y?.updateFormulaByOffset({value:D,columnDelta:1})}if(L.size>0)q.set(K,L);if(H&&B)G=Y?.updateFormulaByOffset({value:G,rowDelta:1})}),this.setEditMap(q),this.batch){this.cleanupEditors(),xQ(J),this.ensureBatchStarted();return}this.committing=!0;try{this.stopEditing(void 0,{source:"bulk"})}finally{if(this.committing=!1,_)this.eventSvc.dispatchEvent({type:"bulkEditingStopped",changes:this.toEventChangeList(q)})}});let U=r(J,{rowNode:$,column:z});if(U)U.focusCell(!0)}createCellStyleFeature($){return new EL($,this.beans)}createRowStyleFeature($){return new KL($,this.beans)}setEditingCells($,z){let{beans:Q}=this,{colModel:J,valueSvc:Z}=Q,X=new Map;for(let{colId:Y,column:q,colKey:G,rowIndex:_,rowPinned:H,newValue:U,state:W}of $){let B=Y?J.getCol(Y):G?J.getCol(G):q;if(!B)continue;let E=M0(Q,{rowIndex:_,rowPinned:H});if(!E)continue;let K=Z.getValue(B,E,"data",!0);if(!z?.forceRefreshOfEditCellsOnly&&!B$({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($){let z=r(this.beans,$);if(!z||!this.isEditing(z,jz))return;let Q=this.model.getEdit(z);if(!Q||!B$(Q))return;let Z=this.getLocaleTextFunc()("ariaPendingChange","Pending Change");this.beans.ariaAnnounce?.announceValue(Z,"pendingChange")}allowedFocusTargetOnValidation($){return r(this.beans,$)}};function fL($){return{rowNodes:$?Array.from($.keys()):void 0,columns:$?[...new Set(Array.from($.values()).flatMap((z)=>Array.from(z.keys())))]:void 0}}function L6($,z){return z??$.get("editType")??"singleCell"}var H9=class extends S{postConstruct(){this.model=this.beans.editModelSvc,this.editSvc=this.beans.editSvc,this.addManagedEventListeners({cellFocused:this.onCellFocusChanged?.bind(this),cellFocusCleared:this.onCellFocusChanged?.bind(this)})}clearEdits($){this.model.clearEditValue($)}onCellFocusChanged($){let z,Q=$.previousParams,{editSvc:J,beans:Z}=this,X=$.type==="cellFocused"?$.sourceEvent:null;if(Q)z=r(Z,Q);let{gos:Y,editModelSvc:q}=Z,G=$.type==="cellFocusCleared";if(J.isEditing(void 0,{withOpenEditor:!0})){let{column:_,rowIndex:H,rowPinned:U}=$,W={column:_,rowNode:M0(Z,{rowIndex:H,rowPinned:U})},B=Y.get("invalidEditValueMode")==="block";if(B)return;let E=!B,K=!!q?.getCellValidationModel().hasCellValidation(W),L=E&&K;if(!(Q||G?J.stopEditing(void 0,{cancel:L,source:G&&E?"api":void 0,event:X}):!0))if(J.isBatchEditing())J.cleanupEditors();else J.stopEditing(void 0,{source:"api"})}z?.refreshCell({suppressFlash:!0,force:!0})}stopCancelled($){let z=this.editSvc.isBatchEditing()&&!$;for(let Q of this.model.getEditPositions())$1(this.beans,Q,{cancel:!0},r(this.beans,Q)),this.model.stop(Q,z,!0);return!0}stopCommitted($,z){let Q=this.model.getEditPositions(),J={all:[],pass:[],fail:[]};for(let Y of Q)if(J.all.push(Y),(this.model.getCellValidationModel().getCellValidation(Y)?.errorMessages?.length??0)>0)J.fail.push(Y);else J.pass.push(Y);let Z=this.processValidationResults(J),X=this.editSvc.isBatchEditing()&&!z;for(let Y of Z.destroy)$1(this.beans,Y,{event:$},r(this.beans,Y)),this.model.stop(Y,X,!1);for(let Y of Z.keep){let q=r(this.beans,Y);if(!this.editSvc.cellEditingInvalidCommitBlocks()&&q)this.editSvc.revertSingleCellEdit(q)}return!0}cleanupEditors({rowNode:$}={},z){$z(this.beans,{persist:!1});let Q=this.model.getEditPositions(),J=[];if($){for(let Z of Q)if(Z.rowNode!==$)J.push(Z)}else for(let Z of Q)J.push(Z);e$(this.beans,J),xQ(this.beans,z)}setFocusOutOnEditor($){$.comp?.getCellEditor()?.focusOut?.()}setFocusInOnEditor($){let z=$.comp,Q=z?.getCellEditor();if(Q?.focusIn)Q.focusIn();else{let J=this.beans.gos.get("editType")==="fullRow";$.focusCell(J),$.onEditorAttachedFuncs.push(()=>z?.getCellEditor()?.focusIn?.())}}setupEditors($){let{event:z,ignoreEventKey:Q=!1,startedEdit:J,position:Z,cells:X=this.model.getEditPositions()}=$,Y=z instanceof KeyboardEvent&&!Q&&z.key||void 0;vE(this.beans,X,Z,Y,z,J)}dispatchCellEvent($,z,Q,J){let Z=r(this.beans,$);if(Z)this.eventSvc.dispatchEvent({...Z.createEvent(z??null,Q),...J})}dispatchRowEvent($,z,Q){if(Q)return;let J=BJ(this.beans,$);if(J)this.eventSvc.dispatchEvent(J.createRowEvent(z))}shouldStop($,z,Q="ui"){let J=this.editSvc.isBatchEditing();if(J&&Q==="api")return!0;if(J&&(Q==="ui"||Q==="edit"))return!1;if(Q==="api")return!0;if(z instanceof KeyboardEvent&&!J)return z.key===A.ENTER;return null}shouldCancel($,z,Q="ui"){let J=this.editSvc.isBatchEditing();if(z instanceof KeyboardEvent&&!J){if(z.key===A.ESCAPE)return!0}if(J&&Q==="api")return!0;if(Q==="api")return!0;return!1}setEditMap($,z){if(!z?.update)this.editSvc.stopEditing(void 0,{cancel:!0,source:"api"});let Q=[];if($.forEach((J,Z)=>{J.forEach((X,Y)=>{if(X.state==="editing")Q.push({...X,rowNode:Z,column:Y})})}),z?.update)$=new Map([...this.model.getEditMap(),...$]);if(this.model?.setEditMap($),Q.length>0){let J=Q.at(-1),Z=J.pendingValue===P0?void 0:J.pendingValue;this.start({position:J,event:new KeyboardEvent("keydown",{key:Z}),source:"api"});let X=r(this.beans,J);if(X)this.setFocusInOnEditor(X)}}destroy(){this.cleanupEditors(),super.destroy()}},OL=class extends H9{constructor(){super(...arguments);this.beanName="fullRow",this.startedRows=new Set}shouldStop($,z,Q="ui"){let{rowNode:J,beans:Z}=this,{rowNode:X}=$||{};if(!BJ(Z,{rowNode:J}))return!0;let q=super.shouldStop({rowNode:J},z,Q);if(q!==null)return q;if(!J)return!1;return X!==J}midBatchInputsAllowed({rowNode:$}){if(!$)return!1;return this.model.hasEdits({rowNode:$})}clearEdits($){this.model.clearEditValue($)}start($){let{position:z,silent:Q,startedEdit:J,event:Z,ignoreEventKey:X}=$,{rowNode:Y}=z,{beans:q,model:G,startedRows:_}=this;if(this.rowNode!==Y)super.cleanupEditors(z);let H=q.visibleCols.allCols,U=[],W=[];for(let B of H)if(B.isCellEditable(Y))W.push(B);if(W.length==0)return;if(!_.has(Y))this.dispatchRowEvent({rowNode:Y},"rowEditingStarted",Q),_.add(Y);for(let B of W){let E={rowNode:Y,column:B};U.push(E),G.start(E)}this.rowNode=Y,this.setupEditors({cells:U,position:z,startedEdit:J,event:Z,ignoreEventKey:X})}processValidationResults($){if($.fail.length>0&&this.editSvc.cellEditingInvalidCommitBlocks())return{destroy:[],keep:$.all};return{destroy:$.all,keep:[]}}stopCancelled($){let{rowNode:z,model:Q}=this;if(z&&!Q.hasRowEdits(z))return!1;return super.stopCancelled($),this.cleanupEditors({rowNode:z},!0),this.rowNode=void 0,!0}stopCommitted($,z){let{rowNode:Q,beans:J,model:Z,editSvc:X}=this;if(Q&&!Z.hasRowEdits(Q))return!1;let Y=[];if(Z.getEditMap().forEach((q,G)=>{if(!q||q.size===0)return;for(let _ of q.values())if(B$(_)){Y.push(G);break}}),Yz(J),X.checkNavWithValidation({rowNode:Q})==="block-stop")return!1;if(super.stopCommitted($,z),z||!X.isBatchEditing())for(let q of Y)this.dispatchRowEvent({rowNode:q},"rowValueChanged");return this.cleanupEditors({rowNode:Q},!0),this.rowNode=void 0,!0}onCellFocusChanged($){let{rowIndex:z}=$,Q=$.previousParams;if(Q?.rowIndex===z||$.sourceEvent instanceof KeyboardEvent)return;let{beans:J,gos:Z,model:X}=this;if(J.editSvc?.isRangeSelectionEnabledWhileEditing())return;let Y=r(J,Q);if(Z.get("invalidEditValueMode")==="block"&&Y&&(X.getCellValidationModel().getCellValidation(Y)||X.getRowValidationModel().getRowValidation(Y)))return;super.onCellFocusChanged($)}cleanupEditors($={},z){super.cleanupEditors($,z);let{startedRows:Q}=this;for(let J of Q)this.dispatchRowEvent({rowNode:J},"rowEditingStopped"),this.destroyEditorsForRow(J);Q.clear()}destroyEditorsForRow($){let z=BJ(this.beans,{rowNode:$});if(!z)return;let Q={};for(let J of z.getAllCellCtrls())if(J.comp?.getCellEditor())$1(this.beans,J,Q,J)}moveToNextEditingCell($,z,Q,J="ui",Z=!1){let{beans:X,model:Y,gos:q,editSvc:G}=this,_=$.cellPosition,H;Y.suspend(!0);try{H=X.navigation?.findNextCellToFocusOn(_,{backwards:z,startEditing:!0,skipToNextEditableCell:!1})}finally{Y.suspend(!1)}if(H===!1)return null;if(H==null)return!1;let U=H.cellPosition,W=$.isCellEditable(),B=H.isCellEditable(),E=U&&_.rowIndex===U.rowIndex&&_.rowPinned===U.rowPinned;if(W)this.setFocusOutOnEditor($);this.restoreEditors();let K=q.get("suppressStartEditOnTab");if(B&&!Z)if(K)H.focusCell(!0,Q);else{if(!H.comp?.getCellEditor())gz(X,H,{event:Q,cellStartedEdit:!0});this.setFocusInOnEditor(H),H.focusCell(!1,Q)}else{if(B&&Z)this.setFocusInOnEditor(H);H.focusCell(!0,Q)}if(!E&&!Z){if(G?.stopEditing({rowNode:$.rowNode},{event:Q,forceStop:!0}),G?.isRowEditing($.rowNode,{withOpenEditor:!0}))this.cleanupEditors(H,!0);if(K)H.focusCell(!0,Q);else G.startEditing(H,{startedEdit:!0,event:Q,source:J,ignoreEventKey:!0,editable:B||void 0})}return $.rowCtrl?.refreshRow({suppressFlash:!0,force:!0}),!0}restoreEditors(){let{beans:$,model:z}=this;z.getEditMap().forEach((Q,J)=>Q.forEach(({state:Z},X)=>{if(Z!=="editing")return;let Y=r($,{rowNode:J,column:X});if(Y&&!Y.comp?.getCellEditor())gz($,Y,{silent:!0})}))}destroy(){super.destroy(),this.rowNode=void 0,this.startedRows.clear()}},PL=class extends H9{constructor(){super(...arguments);this.beanName="singleCell"}shouldStop($,z,Q="ui"){let J=super.shouldStop($,z,Q);if(J!==null)return J;let Z=$?.rowNode,X=$?.column,Y=this.rowNode,q=this.column;if((!Y||!q)&&Z&&X)return null;if(Y!==Z||q!==X)return!0;if(!Y&&!q)return this.model.hasEdits(void 0,{withOpenEditor:!0});return!1}midBatchInputsAllowed($){return this.model.hasEdits($)}start($){let{position:z,startedEdit:Q,event:J,ignoreEventKey:Z}=$;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:Q,event:J,ignoreEventKey:Z})}dispatchRowEvent($,z,Q){}processValidationResults($){if($.fail.length>0&&this.editSvc.cellEditingInvalidCommitBlocks())return{destroy:[],keep:$.all};return{destroy:$.all,keep:[]}}stopCancelled($){return super.stopCancelled($),this.clearPosition()}stopCommitted($,z){return super.stopCommitted($,z),this.clearPosition()}clearPosition(){return this.rowNode=void 0,this.column=void 0,!0}onCellFocusChanged($){let{colModel:z,editSvc:Q}=this.beans,{rowIndex:J,column:Z,rowPinned:X}=$,Y=M0(this.beans,{rowIndex:J,rowPinned:X}),q=L2(Z),G=z.getCol(q),_=$.previousParams;if(_){let H=L2(_.column);if(_?.rowIndex===J&&H===q&&_?.rowPinned===X)return}if($.type=="cellFocused"&&(Q?.isRangeSelectionEnabledWhileEditing()||Q?.isEditing({rowNode:Y,column:G},{withOpenEditor:!0})))return;super.onCellFocusChanged($)}moveToNextEditingCell($,z,Q,J="ui",Z=!1){let X=this.beans.focusSvc.getFocusedCell();if(X)$=e0(this.beans,X)??$;let Y=$.cellPosition,q,G=this.beans.gos.get("editType")==="fullRow";if(G)this.model.suspend(!0);if(!Z)$.eGui.focus(),this.editSvc?.stopEditing($,{source:this.editSvc?.isBatchEditing()?"ui":"api",event:Q});try{q=this.beans.navigation?.findNextCellToFocusOn(Y,{backwards:z,startEditing:!0})}finally{if(G)this.model.suspend(!1)}if(q===!1)return null;if(q==null)return!1;let _=q.cellPosition,H=$.isCellEditable(),U=q.isCellEditable(),W=_&&Y.rowIndex===_.rowIndex&&Y.rowPinned===_.rowPinned;if(H&&!Z)this.setFocusOutOnEditor($);let B=this.gos.get("suppressStartEditOnTab"),E=!1;if(!W&&!Z)if(super.cleanupEditors(q,!0),B)q.focusCell(!0,Q);else E=!0,this.editSvc.startEditing(q,{startedEdit:!0,event:Q,source:J,ignoreEventKey:!0,editable:U});if(U&&!Z){if(q.focusCell(!1,Q),B)q.focusCell(!0,Q);else if(!q.comp?.getCellEditor()){if(!E){let K=this.editSvc?.isEditing(q,{withOpenEditor:!0});gz(this.beans,q,{event:Q,cellStartedEdit:!0,silent:K})}this.setFocusInOnEditor(q),this.cleanupEditors(q)}}else{if(U&&Z)this.setFocusInOnEditor(q);q.focusCell(!0,Q)}return $.rowCtrl?.refreshRow({suppressFlash:!0,force:!0}),!0}destroy(){super.destroy(),this.rowNode=void 0,this.column=void 0}},TL={moduleName:"EditCore",version:p,beans:[OE,jL],apiFunctions:{getEditingCells:ZL,getEditRowValues:JL,getCellEditorInstances:TE,startEditingCell:qL,stopEditing:XL,isEditing:YL,validateEdit:GL},dynamicBeans:{singleCell:PL,fullRow:OL},dependsOn:[nz,aK],css:[oK]};var U9={moduleName:"TextEditor",version:p,userComponents:{agCellEditor:K6,agTextCellEditor:K6},dependsOn:[TL]};var W9={agSetColumnFilter:"agSetColumnFilterHandler",agMultiColumnFilter:"agMultiColumnFilterHandler",agGroupColumnFilter:"agGroupColumnFilterHandler",agNumberColumnFilter:"agNumberColumnFilterHandler",agBigIntColumnFilter:"agBigIntColumnFilterHandler",agDateColumnFilter:"agDateColumnFilterHandler",agTextColumnFilter:"agTextColumnFilterHandler"},vL=new Set(Object.values(W9));function a$($,z){let Q=$.filterUi;if(!Q)return null;if(Q.created)return Q.promise;if(z)return null;let J=Q.create(Q.refreshed),Z=Q;return Z.created=!0,Z.promise=J,J}function sJ($,z,Q,J,Z,X,Y){return z.refresh?.({...Q,model:J,source:X,additionalEventAttributes:Y}),$().then((q)=>{if(q){let{filter:G,filterParams:_}=q;SQ(G,_,J,Z,X,Y)}})}function SQ($,z,Q,J,Z,X){$?.refresh?.({...z,model:Q,state:J,source:Z,additionalEventAttributes:X})}function B9($,z,Q,J){let Z=$();if(Z?.created)Z.promise.then((X)=>{let Y=z();SQ(X,Z.filterParams,Y,Q()??{model:Y},"ui",J)})}function DJ($){let z,Q=!1,J,{action:Z,filterParams:X,getFilterUi:Y,getModel:q,getState:G,updateState:_,updateModel:H,processModelToApply:U}=$;switch(Z){case"apply":{let W=G();if(J=W?.model??null,U)J=U(J);z={state:W?.state,model:J},Q=!0;break}case"clear":{if(z={model:null},!X?.buttons?.includes("apply"))Q=!0,J=null;break}case"reset":{z={model:null},Q=!0,J=null;break}case"cancel":{z={model:q()};break}}if(_(z),Q)H(J);else B9(Y,q,G,{fromAction:Z})}function D0($,z){return $[z]??null}var IL=class extends Y4{constructor(){super(...arguments);this.iconCreated=!1}wireComp($,z,Q,J,Z){this.comp=$;let X=B1(this,this.beans.context,Z);this.eButtonShowMainFilter=Q,this.eFloatingFilterBody=J,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:q})=>{if(q===this.column)Y()}}),X.addDestroyFunc(()=>{this.eButtonShowMainFilter=null,this.eFloatingFilterBody=null,this.userCompDetails=null,this.clearComponent()})}resizeHeader(){}moveHeader(){}getHeaderClassParams(){let{column:$,beans:z}=this,Q=$.colDef;return y(z.gos,{colDef:Q,column:$,floatingFilter:!0})}setupActive(){let $=this.column.getColDef(),z=!!$.filter,Q=!!$.floatingFilter;this.active=z&&Q}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 $=h("filter",this.beans,this.column);if($)this.iconCreated=!0,this.eButtonShowMainFilter.appendChild($)}setupFocus($){$.createManagedBean(new c$(this.eGui,{shouldStopEventPropagation:this.shouldStopEventPropagation.bind(this),onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this),onFocusIn:this.onFocusIn.bind(this)}))}setupAria(){let $=this.getLocaleTextFunc();E0(this.eButtonShowMainFilter,$("ariaFilterMenuOpen","Open Filter Menu"))}onTabKeyDown($){let{beans:z}=this;if(d(z)===this.eGui)return;let Z=j0(z,this.eGui,null,$.shiftKey);if(Z){z.headerNavigation?.scrollToColumn(this.column),$.preventDefault(),Z.focus();return}let X=this.findNextColumnWithFloatingFilter($.shiftKey);if(!X)return;if(z.focusSvc.focusHeaderPosition({headerPosition:{headerRowIndex:this.rowCtrl.rowIndex,column:X},event:$}))$.preventDefault()}findNextColumnWithFloatingFilter($){let z=this.beans.visibleCols,Q=this.column;do if(Q=$?z.getColBefore(Q):z.getColAfter(Q),!Q)break;while(!Q.getColDef().filter||!Q.getColDef().floatingFilter);return Q}handleKeyDown($){super.handleKeyDown($);let z=this.getWrapperHasFocus();switch($.key){case A.UP:case A.DOWN:case A.LEFT:case A.RIGHT:if(z)return;i0($);case A.ENTER:if(z){if(F0(this.eGui))$.preventDefault()}break;case A.ESCAPE:if(!z)this.eGui.focus()}}onFocusIn($){if(this.eGui.contains($.relatedTarget))return;let Q=!!$.relatedTarget&&!$.relatedTarget.classList.contains("ag-floating-filter"),J=!!$.relatedTarget&&vz($.relatedTarget,"ag-floating-filter");if(Q&&J&&$.target===this.eGui){let Z=this.lastFocusEvent,X=!!(Z&&Z.key===A.TAB);if(Z&&X){let Y=Z.shiftKey;F0(this.eGui,Y)}}this.focusThis()}setupHover($){this.beans.colHover?.addHeaderFilterColumnHoverListener($,this.comp,this.column,this.eGui)}setupLeft($){let z=new X4(this.column,this.eGui,this.beans);$.createManagedBean(z)}setupFilterButton(){this.suppressFilterButton=!this.beans.menuSvc?.isFloatingFilterButtonEnabled(this.column),this.highlightFilterButtonWhenActive=!U0(this.gos)}setupUserComp(){if(!this.active)return;let $=this.beans.colFilter?.getFloatingFilterCompDetails(this.column,()=>this.showParentFilter());if($)this.setCompDetails($)}setCompDetails($){this.userCompDetails=$,this.comp.setCompDetails($)}showParentFilter(){let $=this.suppressFilterButton?this.eFloatingFilterBody:this.eButtonShowMainFilter;this.beans.menuSvc?.showFilterMenu({column:this.column,buttonElement:$,containerType:"floatingFilter",positionBy:"button"})}setupSyncWithFilter($){if(!this.active)return;let{beans:{colFilter:z},column:Q,gos:J}=this,Z=(X)=>{if(X?.source==="filterDestroyed"&&(!this.isAlive()||!z?.isAlive()))return;let Y=this.comp.getFloatingFilterComp();if(!Y)return;Y.then((q)=>{if(q){if(J.get("enableFilterHandlers")){let H=X,U="filter";if(H?.afterFloatingFilter)U="ui";else if(H?.afterDataChange)U="dataChanged";else if(X?.source==="api")U="api";this.updateFloatingFilterParams(this.userCompDetails,U);return}let G=z?.getCurrentFloatingFilterParentModel(Q),_=X?{...X,columns:X.columns??[],source:X.source==="api"?"api":"columnFilter"}:null;q.onParentModelChanged(G,_)}})};if([this.destroySyncListener]=$.addManagedListeners(Q,{filterChanged:Z}),z?.isFilterActive(Q))Z(null)}setupWidth($){let z=()=>{let Q=`${this.column.getActualWidth()}px`;this.comp.setWidth(Q)};$.addManagedListeners(this.column,{widthChanged:z}),z()}setupFilterChangedListener($){if(this.active)[this.destroyFilterChangedListener]=$.addManagedListeners(this.column,{filterChanged:this.updateFilterButton.bind(this)}),this.updateFilterButton()}updateFilterButton(){if(!this.suppressFilterButton&&this.comp){let $=!!this.beans.filterManager?.isFilterAllowed(this.column);if(this.comp.setButtonWrapperDisplayed($),this.highlightFilterButtonWhenActive&&$)this.eButtonShowMainFilter.classList.toggle("ag-filter-active",this.column.isFilterActive())}}onColDefChanged($){let z=this.active;this.setupActive();let Q=!z&&this.active;if(z&&!this.active)this.destroySyncListener(),this.destroyFilterChangedListener();let J=this.beans.colFilter,Z=this.active?J?.getFloatingFilterCompDetails(this.column,()=>this.showParentFilter()):null,X=this.comp.getFloatingFilterComp();if(!X||!Z)this.updateCompDetails($,Z,Q);else X.then((Y)=>{if(!Y||J?.areFilterCompsDifferent(this.userCompDetails??null,Z))this.updateCompDetails($,Z,Q);else this.updateFloatingFilterParams(Z,"colDef")})}updateCompDetails($,z,Q){if(!this.isAlive())return;if(this.setCompDetails(z),this.setupFilterButton(),this.setupUi(),Q)this.setupSyncWithFilter($),this.setupFilterChangedListener($)}updateFloatingFilterParams($,z){if(!$)return;let Q=$.params;this.comp.getFloatingFilterComp()?.then((J)=>{if(typeof J?.refresh==="function"){if(this.gos.get("enableFilterHandlers"))Q={...Q,model:D0(this.beans.colFilter?.model??{},this.column.getColId()),source:z};J.refresh(Q)}})}addResizeAndMoveKeyboardListeners(){}destroy(){super.destroy(),this.destroySyncListener=null,this.destroyFilterChangedListener=null}};function CL($,z){let Q=$.colModel.getCol(z);if(!Q){e(12,{colKey:z});return}$.menuSvc?.showColumnMenu({column:Q,positionBy:"auto"})}function bL($){$.menuSvc?.hidePopupMenu()}var yL=class extends S{constructor(){super(...arguments);this.beanName="menuSvc"}postConstruct(){let{enterpriseMenuFactory:$,filterMenuFactory:z}=this.beans;this.activeMenuFactory=$??z}showColumnMenu($){this.showColumnMenuCommon(this.activeMenuFactory,$,"columnMenu")}showFilterMenu($){this.showColumnMenuCommon(D6(this.beans),$,$.containerType,!0)}showHeaderContextMenu($,z,Q){this.activeMenuFactory?.showMenuAfterContextMenuEvent($,z,Q)}hidePopupMenu(){this.beans.contextMenuSvc?.hideActiveMenu(),this.activeMenuFactory?.hideActiveMenu()}hideFilterMenu(){D6(this.beans)?.hideActiveMenu()}isColumnMenuInHeaderEnabled($){let{suppressHeaderMenuButton:z}=$.getColDef();return!z&&!!this.activeMenuFactory?.isMenuEnabled($)&&(U0(this.gos)||!!this.beans.enterpriseMenuFactory)}isFilterMenuInHeaderEnabled($){return!$.getColDef().suppressHeaderFilterButton&&!!this.beans.filterManager?.isFilterAllowed($)}isHeaderContextMenuEnabled($){return!($&&Q$($)?$.getColDef():$?.getColGroupDef())?.suppressHeaderContextMenu&&this.gos.get("columnMenu")==="new"}isHeaderMenuButtonAlwaysShowEnabled(){return this.isSuppressMenuHide()}isHeaderMenuButtonEnabled(){let $=!this.isSuppressMenuHide();return!(bz()&&$)}isHeaderFilterButtonEnabled($){return this.isFilterMenuInHeaderEnabled($)&&!U0(this.gos)&&!this.isFloatingFilterButtonDisplayed($)}isFilterMenuItemEnabled($){return!!this.beans.filterManager?.isFilterAllowed($)&&!U0(this.gos)&&!this.isFilterMenuInHeaderEnabled($)&&!this.isFloatingFilterButtonDisplayed($)}isFloatingFilterButtonEnabled($){return!$.getColDef().suppressFloatingFilterButton}isFloatingFilterButtonDisplayed($){return!!$.getColDef().floatingFilter&&this.isFloatingFilterButtonEnabled($)}isSuppressMenuHide(){let $=this.gos,z=$.get("suppressMenuHide");if(U0($))return $.exists("suppressMenuHide")?z:!1;return z}showColumnMenuCommon($,z,Q,J){let{positionBy:Z,onClosedCallback:X}=z,Y=z.column;if(Z==="button"){let{buttonElement:q}=z;$?.showMenuAfterButtonClick(Y,q,Q,X,J)}else if(Z==="mouse"){let{mouseEvent:q}=z;$?.showMenuAfterMouseEvent(Y,q,Q,X,J)}else if(Y){let q=this.beans,G=q.ctrlsSvc;G.getScrollFeature().ensureColumnVisible(Y,"auto"),Y$(q,()=>{let _=G.getHeaderRowContainerCtrl(Y.getPinned())?.getHeaderCtrlForColumn(Y);if(_)$?.showMenuAfterButtonClick(Y,_.getAnchorElementForMenu(J),Q,X,J)})}}};function z1($,z,Q){if($.menuVisible!==z)$.menuVisible=z,$.dispatchColEvent("menuVisibleChanged",Q)}function D6($){let{enterpriseMenuFactory:z,filterMenuFactory:Q,gos:J}=$;return z&&U0(J)?z:Q}var v4={moduleName:"SharedMenu",version:p,beans:[yL],apiFunctions:{showColumnMenu:CL,hidePopupMenu:bL}},xL=".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 wL($){let z=$.filterManager;return!!z?.isColumnFilterPresent()||!!z?.isAggregateFilterPresent()}function NL($,z){return $.filterManager?.getColumnFilterInstance(z)??Promise.resolve(void 0)}function gL($,z){let Q=$.colModel.getColDefCol(z);if(Q)return $.colFilter?.destroyFilter(Q,"api")}function hL($,z){$.frameworkOverrides.wrapIncoming(()=>$.filterManager?.setFilterModel(z))}function uL($){return $.filterManager?.getFilterModel()??{}}function mL($,z,Q){let{gos:J,colModel:Z,colFilter:X}=$;if(Q&&!J.get("enableFilterHandlers"))j(288),Q=!1;let Y=Z.getColDefCol(z);return Y?X?.getModelForColumn(Y,Q)??null:null}function cL($,z,Q){return $.filterManager?.setColumnFilterModel(z,Q)??Promise.resolve()}function pL($,z){let Q=$.colModel.getCol(z);if(!Q){e(12,{colKey:z});return}$.menuSvc?.showFilterMenu({column:Q,containerType:"columnFilter",positionBy:"auto"})}function iL($){$.menuSvc?.hideFilterMenu()}function nL($,z){let Q=$.colModel.getCol(z);if(!Q){e(12,{colKey:z});return}return $.colFilter?.getHandler(Q,!0)}function dL($,z){let{colModel:Q,colFilter:J,gos:Z}=$;if(!Z.get("enableFilterHandlers")){j(287);return}let{colId:X,action:Y}=z;if(X){let q=Q.getColById(X);if(q)J?.updateModel(q,Y)}else J?.updateAllModels(Y)}var F6={january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December"},M6=["january","february","march","april","may","june","july","august","september","october","november","december"];function tL($,z){if($==null)return-1;if(z==null)return 1;return Number.parseFloat($)-Number.parseFloat(z)}function sL($,z){if($==null)return-1;if(z==null)return 1;let Q=Gz($),J=Gz(z);if(Q!=null&&J!=null){if(Q===J)return 0;return Q>J?1:-1}return String($).localeCompare(String(z))}function k6($){return $ instanceof Date&&!isNaN($.getTime())}var A2={number:()=>{return},bigint:()=>{return},boolean:()=>({maxNumConditions:1,debounceMs:0,filterOptions:["empty",{displayKey:"true",displayName:"True",predicate:($,z)=>z,numberOfInputs:0},{displayKey:"false",displayName:"False",predicate:($,z)=>z===!1,numberOfInputs:0}]}),date:()=>({isValidDate:k6}),dateString:({dataTypeDefinition:$})=>({comparator:(z,Q)=>{let J=$.dateParser(Q);if(Q==null||J<z)return-1;if(J>z)return 1;return 0},isValidDate:(z)=>typeof z==="string"&&k6($.dateParser(z))}),dateTime:($)=>A2.date($),dateTimeString:($)=>A2.dateString($),object:()=>{return},text:()=>{return}},S2={number:()=>({comparator:tL}),bigint:()=>({comparator:sL}),boolean:({t:$})=>({valueFormatter:(z)=>T(z.value)?$(String(z.value),z.value?"True":"False"):$("blanks","(Blanks)")}),date:({formatValue:$,t:z})=>({valueFormatter:(Q)=>{let J=$(Q);return T(J)?J:z("blanks","(Blanks)")},treeList:!0,treeListFormatter:(Q,J)=>{if(Q==="NaN")return z("invalidDate","Invalid Date");if(J===1&&Q!=null){let Z=M6[Number(Q)-1];return z(Z,F6[Z])}return Q??z("blanks","(Blanks)")},treeListPathGetter:(Q)=>ZQ(Q,!1)}),dateString:({formatValue:$,dataTypeDefinition:z,t:Q})=>({valueFormatter:(J)=>{let Z=$(J);return T(Z)?Z:Q("blanks","(Blanks)")},treeList:!0,treeListPathGetter:(J)=>ZQ(z.dateParser(J??void 0),!1),treeListFormatter:(J,Z)=>{if(Z===1&&J!=null){let X=M6[Number(J)-1];return Q(X,F6[X])}return J??Q("blanks","(Blanks)")}}),dateTime:($)=>{let z=S2.date($);return z.treeListPathGetter=ZQ,z},dateTimeString($){let z=$.dataTypeDefinition.dateParser,Q=S2.dateString($);return Q.treeListPathGetter=(J)=>ZQ(z(J??void 0)),Q},object:({formatValue:$,t:z})=>({valueFormatter:(Q)=>{let J=$(Q);return T(J)?J:z("blanks","(Blanks)")}}),text:()=>{return}};function I4($,z,Q,J,Z,X,Y){let q=z,G=Q,_=$==="agSetColumnFilter";if(!G&&J.baseDataType==="object"&&!_)G=({column:B,node:E})=>Z({column:B,node:E,value:X.valueSvc.getValue(B,E,"data")});let U=(_?S2:A2)[J.baseDataType],W=U({dataTypeDefinition:J,formatValue:Z,t:Y});return q=typeof z==="object"?{...W,...z}:W,{filterParams:q,filterValueGetter:G}}var rL={boolean:"agTextColumnFilter",date:"agDateColumnFilter",dateString:"agDateColumnFilter",dateTime:"agDateColumnFilter",dateTimeString:"agDateColumnFilter",bigint:"agBigIntColumnFilter",number:"agNumberColumnFilter",object:"agTextColumnFilter",text:"agTextColumnFilter"},lL={boolean:"agTextColumnFloatingFilter",date:"agDateColumnFloatingFilter",dateString:"agDateColumnFloatingFilter",dateTime:"agDateColumnFloatingFilter",dateTimeString:"agDateColumnFloatingFilter",bigint:"agBigIntColumnFloatingFilter",number:"agNumberColumnFloatingFilter",object:"agTextColumnFloatingFilter",text:"agTextColumnFloatingFilter"};function C4($,z=!1){return(z?lL:rL)[$??"text"]}function b4($,z,Q){if(z==null)return null;let J=null,{compName:Z,jsComp:X,fwComp:Y}=P7($,z);if(Z)J={agSetColumnFilter:"agSetColumnFloatingFilter",agMultiColumnFilter:"agMultiColumnFloatingFilter",agGroupColumnFilter:"agGroupColumnFloatingFilter",agNumberColumnFilter:"agNumberColumnFloatingFilter",agBigIntColumnFilter:"agBigIntColumnFloatingFilter",agDateColumnFilter:"agDateColumnFloatingFilter",agTextColumnFilter:"agTextColumnFloatingFilter"}[Z];else if(X==null&&Y==null&&z.filter===!0)J=Q();return J}var aL={filterHandler:()=>({doesFilterPass:()=>!0})};function V6($,z,Q,J){if(!$.isPrimary())return!0;let X=!Q;if(!$.isValueActive()||!X)return!1;if(z)return!0;return J}var oL=class extends S{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={...W9},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 $=this.gos,z={...$.get("initialState")?.filter?.filterModel??{}};if(this.initialModel=z,this.model={...z},!$.get("enableFilterHandlers"))delete this.handlerMap.agMultiColumnFilter}refreshModel(){this.onNewRowsLoaded("rowDataUpdated")}setModel($,z="api",Q){let{colModel:J,dataTypeSvc:Z,filterManager:X}=this.beans;if(Z?.isPendingInference){this.modelUpdates.push({model:$,source:z});return}let Y=[],q=this.getModel(!0);if($){let G=new Set(Object.keys($));this.allColumnFilters.forEach((_,H)=>{let U=$[H];Y.push(this.setModelOnFilterWrapper(_,U)),G.delete(H)}),G.forEach((_)=>{let H=J.getColDefCol(_)||J.getCol(_);if(!H){j(62,{colId:_});return}if(!H.isFilterAllowed()){j(63,{colId:_});return}let U=this.getOrCreateFilterWrapper(H,!0);if(!U){j(64,{colId:_});return}Y.push(this.setModelOnFilterWrapper(U,$[_],!0))})}else this.model={},this.allColumnFilters.forEach((G)=>{Y.push(this.setModelOnFilterWrapper(G,null))});g.all(Y).then(()=>{let G=this.getModel(!0),_=[];if(this.allColumnFilters.forEach((H,U)=>{let W=q?q[U]:null,B=G?G[U]:null;if(!FJ(W,B))_.push(H.column)}),_.length>0)X?.onFilterChanged({columns:_,source:z});else if(Q)this.updateActive("filterChanged")})}getModel($){let z={},{allColumnFilters:Q,initialModel:J,beans:{colModel:Z}}=this;if(Q.forEach((X,Y)=>{let q=this.getModelFromFilterWrapper(X);if(T(q))z[Y]=q}),!$)for(let X of Object.keys(J)){let Y=J[X];if(T(Y)&&!Q.has(X)&&Z.getCol(X)?.isFilterAllowed())z[X]=Y}return z}setState($,z,Q="api"){if(this.state.clear(),z)for(let J of Object.keys(z)){let Z=z[J];this.state.set(J,{model:D0(this.model,J),state:Z})}this.setModel($,Q,!0)}getState(){let $=this.state;if(!$.size)return;let z={},Q=!1;return $.forEach((J,Z)=>{let X=J.state;if(X!=null)Q=!0,z[Z]=X}),Q?z:void 0}getModelFromFilterWrapper($){let Q=$.column.getColId();if($.isHandler)return D0(this.model,Q);let J=$.filter;if(J){if(typeof J.getModel!=="function")return j(66),null;return J.getModel()}return D0(this.initialModel,Q)}isFilterPresent(){return this.activeColumnFilters.length>0}isAggFilterPresent(){return!!this.activeAggregateFilters.length}disableFilters(){this.initialModel={};let{allColumnFilters:$}=this;if($.size)return $.forEach((z)=>this.disposeFilterWrapper(z,"advancedFilterEnabled")),!0;return!1}updateActiveFilters(){let $=(G)=>{if(!G)return!1;if(!G.isFilterActive)return j(67),!1;return G.isFilterActive()},{colModel:z,gos:Q}=this.beans,J=!!T$(Q),Z=[],X=[],Y=(G,_,H)=>{if(_)if(V6(G,z.isPivotMode(),z.isPivotActive(),J))Z.push(H);else X.push(H)},q=[];return this.allColumnFilters.forEach((G)=>{let _=G.column,H=_.getColId();if(G.isHandler)q.push(g.resolve().then(()=>{Y(_,this.isHandlerActive(_),{colId:H,isHandler:!0,handler:G.handler,handlerParams:G.handlerParams})}));else{let U=a$(G);if(U)q.push(U.then((W)=>{Y(_,$(W),{colId:H,isHandler:!1,comp:W})}))}}),g.all(q).then(()=>{this.activeAggregateFilters=Z,this.activeColumnFilters=X})}updateFilterFlagInColumns($,z){let Q=[];return this.allColumnFilters.forEach((J)=>{let Z=J.column;if(J.isHandler)Q.push(g.resolve().then(()=>{this.setColFilterActive(Z,this.isHandlerActive(Z),$,z)}));else{let X=a$(J);if(X)Q.push(X.then((Y)=>{this.setColFilterActive(Z,Y.isFilterActive(),$,z)}))}}),this.beans.groupFilter?.updateFilterFlags($,z),g.all(Q)}doFiltersPass($,z,Q){let{data:J,aggData:Z}=$,X=Q?this.activeAggregateFilters:this.activeColumnFilters,Y=Q?Z:J,q=this.model;for(let G=0;G<X.length;G++){let _=X[G],{colId:H,isHandler:U}=_;if(H===z)continue;if(U){let{handler:W,handlerParams:B}=_;if(!W.doesFilterPass({node:$,data:Y,model:D0(q,H),handlerParams:B}))return!1}else{let W=_.comp;if(typeof W.doesFilterPass!=="function"){e(91);continue}if(!W.doesFilterPass({node:$,data:Y}))return!1}}return!0}getHandlerParams($){let z=this.allColumnFilters.get($.getColId());return z?.isHandler?z.handlerParams:void 0}callOnFilterChangedOutsideRenderCycle($){let{rowRenderer:z,filterManager:Q}=this.beans,J=()=>{if(this.isAlive())Q?.onFilterChanged($)};if(z.isRefreshInProgress())setTimeout(J,0);else J()}updateBeforeFilterChanged($={}){let{column:z,additionalEventAttributes:Q}=$,J=z?.getColId();return this.updateActiveFilters().then(()=>this.updateFilterFlagInColumns("filterChanged",Q).then(()=>{this.allColumnFilters.forEach((Z)=>{let{column:X,isHandler:Y}=Z;if(J===X.getColId())return;if(Y)Z.handler.onAnyFilterChanged?.();a$(Z,Y)?.then((q)=>{if(typeof q?.onAnyFilterChanged==="function")q.onAnyFilterChanged()})}),this.processingFilterChange=!0}))}updateAfterFilterChanged(){this.processingFilterChange=!1}isSuppressFlashingCellsBecauseFiltering(){return!(this.gos.get("allowShowChangeAfterFilter")??!1)&&this.processingFilterChange}onNewRowsLoaded($){let z=[];this.allColumnFilters.forEach((Q)=>{let J=Q.isHandler;if(J)Q.handler.onNewRowsLoaded?.();let Z=a$(Q,J);if(Z)z.push(Z.then((X)=>{X.onNewRowsLoaded?.()}))}),g.all(z).then(()=>this.updateActive($,{afterDataChange:!0}))}updateActive($,z){this.updateFilterFlagInColumns($,z).then(()=>this.updateActiveFilters())}createGetValue($,z){let{filterValueSvc:Q,colModel:J}=this.beans;return(Z,X)=>{let Y=X?J.getCol(X):$;return Y?Q.getValue(Y,Z,z):void 0}}isFilterActive($){let z=this.cachedFilter($);if(z?.isHandler)return this.isHandlerActive($);let Q=z?.filter;if(Q)return Q.isFilterActive();return D0(this.initialModel,$.getColId())!=null}isHandlerActive($){let z=T(D0(this.model,$.getColId()));if(z)return z;let Q=this.beans.groupFilter;return Q?.isGroupFilter($)?Q.isFilterActive($):!1}getOrCreateFilterUi($){let z=this.getOrCreateFilterWrapper($,!0);return z?a$(z):null}getFilterUiForDisplay($){let z=this.getOrCreateFilterWrapper($,!0);if(!z)return null;let Q=a$(z);if(!Q)return null;return Q.then((J)=>({comp:J,params:z.filterUi.filterParams,isHandler:z.isHandler}))}getHandler($,z){let Q=this.getOrCreateFilterWrapper($,z);return Q?.isHandler?Q.handler:void 0}getOrCreateFilterWrapper($,z){if(!$.isFilterAllowed())return;let Q=this.cachedFilter($);if(!Q&&z)Q=this.createFilterWrapper($),this.setColumnFilterWrapper($,Q);return Q}cachedFilter($){return this.allColumnFilters.get($.getColId())}getDefaultFilter($,z=!1){return this.getDefaultFilterFromDataType(()=>this.beans.dataTypeSvc?.getBaseDataType($),z)}getDefaultFilterFromDataType($,z=!1){if(cq(this.gos))return z?"agSetColumnFloatingFilter":"agSetColumnFilter";return C4($(),z)}getDefaultFloatingFilter($){return this.getDefaultFilter($,!0)}createFilterComp($,z,Q,J,Z,X){let Y=()=>{let _=this.createFilterCompParams($,Z,X),H=J(_,Z);return d2(this.beans.userCompFactory,z,H,Q)},q=Y();if(!q)return null;return{compDetails:q,createFilterUi:(_)=>{return(_?Y():q).newAgStackInstance()}}}createFilterInstance($,z,Q,J){let Z=this.beans.selectableFilter;if(Z?.isSelectable(z))z=Z.getFilterDef($,z);let{handler:X,handlerParams:Y,handlerGenerator:q}=this.createHandler($,z,Q)??{},G=this.createFilterComp($,z,Q,J,!!X,"init");if(!G)return{compDetails:null,createFilterUi:null,handler:X,handlerGenerator:q,handlerParams:Y};let{compDetails:_,createFilterUi:H}=G;if(this.isGlobalButtons){if(!_.params?.buttons?.length)j(281,{colId:$.getColId()})}return{compDetails:_,handler:X,handlerGenerator:q,handlerParams:Y,createFilterUi:H}}createBaseFilterParams($,z){let{filterManager:Q,rowModel:J}=this.beans;return y(this.gos,{column:$,colDef:$.getColDef(),getValue:this.createGetValue($),doesRowPassOtherFilter:z?()=>!0:(Z)=>Q?.doesRowPassOtherFilters($.getColId(),Z)??!0,rowModel:J})}createFilterCompParams($,z,Q,J){let Z=this.filterChangedCallbackFactory($),X=this.createBaseFilterParams($,J);if(X.filterChangedCallback=Z,X.filterModifiedCallback=J?()=>{}:(Y)=>this.filterModified($,Y),z){let Y=X,q=$.getColId(),G=D0(this.model,q);Y.model=G,Y.state=this.state.get(q)??{model:G},Y.onModelChange=(_,H)=>{this.updateStoredModel(q,_),this.refreshHandlerAndUi($,_,"ui",!1,H).then(()=>{Z({...H,source:"columnFilter"})})},Y.onStateChange=(_)=>{this.updateState($,_),this.updateOrRefreshFilterUi($)},Y.onAction=(_,H,U)=>{this.updateModel($,_,H),this.dispatchLocalEvent({type:"filterAction",column:$,action:_,event:U})},Y.getHandler=()=>this.getHandler($,!0),Y.onUiChange=(_)=>this.filterUiChanged($,_),Y.source=Q}return X}createFilterUiForHandler($,z){return z?{created:!1,create:z,filterParams:$.params,compDetails:$}:null}createFilterUiLegacy($,z,Q){let J=z(),Z={created:!0,create:z,filterParams:$.params,compDetails:$,promise:J};return J.then(Q),Z}createFilterWrapper($){let{compDetails:z,handler:Q,handlerGenerator:J,handlerParams:Z,createFilterUi:X}=this.createFilterInstance($,$.getColDef(),this.getDefaultFilter($),(q)=>q),Y=$.getColId();if(Q)return delete this.initialModel[Y],Q.init?.({...Z,source:"init",model:D0(this.model,Y)}),{column:$,isHandler:!0,handler:Q,handlerGenerator:J,handlerParams:Z,filterUi:this.createFilterUiForHandler(z,X)};if(X){let q={column:$,filterUi:null,isHandler:!1};return q.filterUi=this.createFilterUiLegacy(z,X,(G)=>{q.filter=G??void 0}),q}return{column:$,filterUi:null,isHandler:!1}}createHandlerFunc($,z,Q){let{gos:J,frameworkOverrides:Z,registry:X}=this.beans,Y,q=(B)=>{let E=B.filter;if(j7(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},G=J.get("enableFilterHandlers"),_=G?q(z):void 0,H=(B)=>()=>this.createBean(X.createDynamicBean(B,!0)),U,W;if(typeof _==="string"){let B=J.get("filterHandlers")?.[_];if(B!=null)U=B;else if(vL.has(_))U=H(_),W=_}else U=_;if(!U){let B,{compName:E,jsComp:K,fwComp:L}=P7(Z,z);if(E)B=E;else if(K==null&&L==null&&z.filter===!0)B=Q;if(W=this.handlerMap[B],W)U=H(W)}if(!U){if(!G)return;if(o(J))j(277,{colId:$.getColId()});return aL}return{filterHandler:U,handlerNameOrCallback:Y??W}}createHandler($,z,Q){let J=this.createHandlerFunc($,z,Q);if(!J)return;let Z=jZ(this.beans.userCompFactory,z,this.createFilterCompParams($,!0,"init")),{handlerNameOrCallback:X,filterHandler:Y}=J,{handler:q,handlerParams:G}=this.createHandlerFromFunc($,Y,Z);return{handler:q,handlerParams:G,handlerGenerator:X??Y}}createHandlerFromFunc($,z,Q){let J=$.getColDef(),Z=z(y(this.gos,{column:$,colDef:J})),X=this.createHandlerParams($,Q);return{handler:Z,handlerParams:X}}createHandlerParams($,z){let Q=$.getColDef(),J=$.getColId(),Z=this.filterChangedCallbackFactory($);return y(this.gos,{colDef:Q,column:$,getValue:this.createGetValue($),doesRowPassOtherFilter:(X)=>this.beans.filterManager?.doesRowPassOtherFilters(J,X)??!0,onModelChange:(X,Y)=>{this.updateStoredModel(J,X),this.refreshHandlerAndUi($,X,"handler",!1,Y).then(()=>{Z({...Y,source:"columnFilter"})})},onModelAsStringChange:()=>{$.dispatchColEvent("filterChanged","filterChanged"),this.dispatchLocalEvent({type:"filterModelAsStringChanged",column:$})},filterParams:z})}onColumnsChanged(){let $=[],{colModel:z,filterManager:Q,groupFilter:J}=this.beans;this.allColumnFilters.forEach((X,Y)=>{let q;if(X.column.isPrimary())q=z.getColDefCol(Y);else q=z.getCol(Y);if(q&&q===X.column)return;$.push(X.column),this.disposeFilterWrapper(X,"columnChanged"),this.disposeColumnListener(Y)});let Z=J&&$.every((X)=>J.isGroupFilter(X));if($.length>0&&!Z)Q?.onFilterChanged({columns:$,source:"api"})}isFilterAllowed($){if(!$.isFilterAllowed())return!1;let Q=this.beans.groupFilter;if(Q?.isGroupFilter($))return Q.isFilterAllowed($);return!0}getFloatingFilterCompDetails($,z){let{userCompFactory:Q,frameworkOverrides:J,selectableFilter:Z,gos:X}=this.beans,Y=(B)=>{this.getOrCreateFilterUi($)?.then((K)=>{B(m$(K))})},q=$.getColDef(),G=Z?.isSelectable(q)?Z.getFilterDef($,q):q,_=b4(J,G,()=>this.getDefaultFloatingFilter($))??"agReadOnlyFloatingFilter",H=X.get("enableFilterHandlers"),U=jZ(Q,G,this.createFilterCompParams($,H,"init",!0)),W=y(X,{column:$,filterParams:U,currentParentModel:()=>this.getCurrentFloatingFilterParentModel($),parentFilterInstance:Y,showParentFilter:z});if(H){let B=W,E=$.getColId(),K=this.filterChangedCallbackFactory($);B.onUiChange=(L)=>this.floatingFilterUiChanged($,L),B.model=D0(this.model,E),B.onModelChange=(L,D)=>{this.updateStoredModel(E,L),this.refreshHandlerAndUi($,L,"floating",!0,D).then(()=>{K({...D,source:"columnFilter"})})},B.getHandler=()=>this.getHandler($,!0),B.source="init"}return t2(Q,q,W,_)}getCurrentFloatingFilterParentModel($){return this.getModelFromFilterWrapper(this.cachedFilter($)??{column:$})}destroyFilterUi($,z,Q,J){if($.isHandler){let X=z.getColId();delete this.initialModel[X],this.state.delete(X);let Y=$.filterUi,q=this.createFilterUiForHandler(Q,J);$.filterUi=q;let G=this.eventSvc;if(Y?.created)Y.promise.then((_)=>{this.destroyBean(_),G.dispatchEvent({type:"filterDestroyed",source:"paramsUpdated",column:z})});else G.dispatchEvent({type:"filterHandlerDestroyed",source:"paramsUpdated",column:z})}else this.destroyFilter(z,"paramsUpdated")}destroyFilter($,z="api"){let Q=$.getColId(),J=this.allColumnFilters.get(Q);if(this.disposeColumnListener(Q),delete this.initialModel[Q],J)this.disposeFilterWrapper(J,z).then((Z)=>{if(Z&&this.isAlive())this.beans.filterManager?.onFilterChanged({columns:[$],source:"api"})})}disposeColumnListener($){let z=this.allColumnListeners.get($);if(z)this.allColumnListeners.delete($),z()}disposeFilterWrapper($,z){let Q=!1,{column:J,isHandler:Z,filterUi:X}=$,Y=J.getColId();if(Z)Q=this.isHandlerActive(J),this.destroyBean($.handler),delete this.model[Y],this.state.delete(Y);let q=()=>{this.setColFilterActive(J,!1,"filterDestroyed"),this.allColumnFilters.delete(Y),this.eventSvc.dispatchEvent({type:"filterDestroyed",source:z,column:J})};if(X)if(X.created)return X.promise.then((G)=>{return Q=Z?Q:!!G?.isFilterActive(),this.destroyBean(G),q(),Q});else q();return g.resolve(Q)}filterChangedCallbackFactory($){return(z)=>{this.callOnFilterChangedOutsideRenderCycle({additionalEventAttributes:z,columns:[$],column:$,source:z?.source??"columnFilter"})}}filterParamsChanged($,z="api"){let Q=this.allColumnFilters.get($);if(!Q)return;let J=this.beans,Z=Q.column,X=Z.getColDef(),Y=Z.isFilterAllowed(),q=this.getDefaultFilter(Z),G=J.selectableFilter,_=G?.isSelectable(X)?G.getFilterDef(Z,X):X,H=Y?this.createHandlerFunc(Z,_,this.getDefaultFilter(Z)):void 0,U=!!H,W=Q.isHandler;if(W!=U){this.destroyFilter(Z,"paramsUpdated");return}let{compDetails:B,createFilterUi:E}=(Y?this.createFilterComp(Z,_,q,(L)=>L,U,"colDef"):null)??{compDetails:null,createFilterUi:null},K=B?.params??jZ(J.userCompFactory,_,this.createFilterCompParams(Z,U,"colDef"));if(W){let L=H?.handlerNameOrCallback??H?.filterHandler,D=D0(this.model,$);if(Q.handlerGenerator!=L){let F=Q.handler,{handler:M,handlerParams:k}=this.createHandlerFromFunc(Z,H.filterHandler,K);if(Q.handler=M,Q.handlerParams=k,Q.handlerGenerator=L,delete this.model[$],M.init?.({...k,source:"init",model:null}),this.destroyBean(F),D!=null)this.beans.filterManager?.onFilterChanged({columns:[Z],source:z})}else{let F=this.createHandlerParams(Z,B?.params);Q.handlerParams=F,Q.handler.refresh?.({...F,source:"colDef",model:D})}}if(this.areFilterCompsDifferent(Q.filterUi?.compDetails??null,B)||!Q.filterUi||!B){this.destroyFilterUi(Q,Z,B,E);return}Q.filterUi.filterParams=K,a$(Q,W)?.then((L)=>{if((L?.refresh?L.refresh(K):!0)===!1)this.destroyFilterUi(Q,Z,B,E);else this.dispatchLocalEvent({type:"filterParamsChanged",column:Z,params:K})})}refreshHandlerAndUi($,z,Q,J,Z){let X=this.cachedFilter($);if(!X){if(J)this.getOrCreateFilterWrapper($,!0);return g.resolve()}if(!X.isHandler)return g.resolve();let{filterUi:Y,handler:q,handlerParams:G}=X;return sJ(()=>{if(Y){let{created:_,filterParams:H}=Y;if(_)return Y.promise.then((U)=>{return U?{filter:U,filterParams:H}:void 0});else Y.refreshed=!0}return g.resolve(void 0)},q,G,z,this.state.get($.getColId())??{model:z},Q,Z)}setColumnFilterWrapper($,z){let Q=$.getColId();this.allColumnFilters.set(Q,z),this.allColumnListeners.set(Q,this.addManagedListeners($,{colDefChanged:()=>this.filterParamsChanged(Q)})[0])}areFilterCompsDifferent($,z){if(!z||!$)return!0;let{componentClass:Q}=$,{componentClass:J}=z;return!(Q===J||Q?.render&&J?.render&&Q.render===J.render)}hasFloatingFilters(){return this.beans.colModel.getCols().some((z)=>z.getColDef().floatingFilter)}getFilterInstance($){let z=this.beans.colModel.getColDefCol($);if(!z)return Promise.resolve(void 0);let Q=this.getOrCreateFilterUi(z);if(!Q)return Promise.resolve(null);return new Promise((J)=>{Q.then((Z)=>{J(m$(Z))})})}processFilterModelUpdateQueue(){this.modelUpdates.forEach(({model:$,source:z})=>this.setModel($,z)),this.modelUpdates=[],this.columnModelUpdates.forEach(({key:$,model:z,resolve:Q})=>{this.setModelForColumn($,z).then(()=>Q())}),this.columnModelUpdates=[]}getModelForColumn($,z){if(z){let{state:J,model:Z}=this,X=$.getColId(),Y=J.get(X);if(Y)return Y.model??null;return D0(Z,X)}let Q=this.cachedFilter($);return Q?this.getModelFromFilterWrapper(Q):null}setModelForColumn($,z){if(this.beans.dataTypeSvc?.isPendingInference){let Q=()=>{},J=new Promise((Z)=>{Q=Z});return this.columnModelUpdates.push({key:$,model:z,resolve:Q}),J}return new Promise((Q)=>{this.setModelForColumnLegacy($,z).then((J)=>Q(J))})}getStateForColumn($){return this.state.get($)??{model:D0(this.model,$)}}setModelForColumnLegacy($,z){let Q=this.beans.colModel.getColDefCol($),J=Q?this.getOrCreateFilterWrapper(Q,!0):null;return J?this.setModelOnFilterWrapper(J,z):g.resolve()}setColDefPropsForDataType($,z,Q){let J=$.filter,Z=J===!0?this.getDefaultFilterFromDataType(()=>z.baseDataType):J;if(typeof Z!=="string")return;let X,Y,q=this.beans,{filterParams:G,filterValueGetter:_}=$;if(Z==="agMultiColumnFilter")({filterParams:X,filterValueGetter:Y}=q.multiFilter?.getParamsForDataType(G,_,z,Q)??{});else({filterParams:X,filterValueGetter:Y}=I4(Z,G,_,z,Q,q,this.getLocaleTextFunc()));if($.filterParams=X,Y)$.filterValueGetter=Y}setColFilterActive($,z,Q,J){if($.filterActive!==z)$.filterActive=z,$.dispatchColEvent("filterActiveChanged",Q);$.dispatchColEvent("filterChanged",Q,J)}setModelOnFilterWrapper($,z,Q){return new g((J)=>{if($.isHandler){let X=$.column,Y=X.getColId(),q=this.model[Y];if(this.updateStoredModel(Y,z),Q&&z===q){J();return}this.refreshHandlerAndUi(X,z,"api").then(()=>J());return}let Z=a$($);if(Z){Z.then((X)=>{if(typeof X?.setModel!=="function"){j(65),J();return}(X.setModel(z)||g.resolve()).then(()=>J())});return}J()})}updateStoredModel($,z){if(T(z))this.model[$]=z;else delete this.model[$];let Q=this.state.get($),J={model:z,state:Q?.state};this.state.set($,J)}filterModified($,z){this.getOrCreateFilterUi($)?.then((Q)=>{this.eventSvc.dispatchEvent({type:"filterModified",column:$,filterInstance:Q,...z})})}filterUiChanged($,z){if(this.gos.get("enableFilterHandlers"))this.eventSvc.dispatchEvent({type:"filterUiChanged",column:$,...z})}floatingFilterUiChanged($,z){if(this.gos.get("enableFilterHandlers"))this.eventSvc.dispatchEvent({type:"floatingFilterUiChanged",column:$,...z})}updateModel($,z,Q){let J=$.getColId(),Z=this.cachedFilter($),X=()=>Z?.filterUi;DJ({action:z,filterParams:Z?.filterUi?.filterParams,getFilterUi:X,getModel:()=>D0(this.model,J),getState:()=>this.state.get(J),updateState:(Y)=>this.updateState($,Y),updateModel:(Y)=>X()?.filterParams?.onModelChange(Y,{...Q,fromAction:z}),processModelToApply:Z?.isHandler?Z.handler.processModelToApply?.bind(Z.handler):void 0})}updateAllModels($,z){let Q=[];if(this.allColumnFilters.forEach((J,Z)=>{let X=this.beans.colModel.getColDefCol(Z);if(X)DJ({action:$,filterParams:J.filterUi?.filterParams,getFilterUi:()=>J.filterUi,getModel:()=>D0(this.model,Z),getState:()=>this.state.get(Z),updateState:(Y)=>this.updateState(X,Y),updateModel:(Y)=>{this.updateStoredModel(Z,Y),this.dispatchLocalEvent({type:"filterAction",column:X,action:$}),Q.push(this.refreshHandlerAndUi(X,Y,"ui"))},processModelToApply:J?.isHandler?J.handler.processModelToApply?.bind(J.handler):void 0})}),Q.length)g.all(Q).then(()=>{this.callOnFilterChangedOutsideRenderCycle({source:"columnFilter",additionalEventAttributes:z,columns:[]})})}updateOrRefreshFilterUi($){let z=$.getColId();B9(()=>this.cachedFilter($)?.filterUi,()=>D0(this.model,z),()=>this.state.get(z))}updateState($,z){this.state.set($.getColId(),z),this.dispatchLocalEvent({type:"filterStateChanged",column:$,state:z})}canApplyAll(){let{state:$,model:z,activeFilterComps:Q}=this;for(let Z of Q)if(Z.source==="COLUMN_MENU")return!1;let J=!1;for(let Z of $.keys()){let X=$.get(Z);if(X.valid===!1)return!1;if((X.model??null)!==D0(z,Z))J=!0}return J}hasUnappliedModel($){let{model:z,state:Q}=this;return(Q.get($)?.model??null)!==D0(z,$)}setGlobalButtons($){this.isGlobalButtons=$,this.dispatchLocalEvent({type:"filterGlobalButtons",isGlobal:$})}shouldKeepStateOnDetach($,z){if(z==="newFiltersToolPanel")return!0;let Q=this.beans.filterPanelSvc;if(Q?.isActive)return!!Q.getState($.getColId());return!1}onPivotModeChanged($){let{colModel:z,pivotColsSvc:Q}=this.beans,J=!!T$(this.gos),Z=$.currentValue,X=Z?this.activeColumnFilters:this.activeAggregateFilters,Y=Z?this.activeAggregateFilters:this.activeColumnFilters,q=[];for(let G of X){let _=z.getColById(G.colId),H=Z&&!!Q?.columns.length;if(_&&Z===V6(_,Z,H,J))Y.push(G),q.push(G)}Q1(X,q)}destroy(){super.destroy(),this.allColumnFilters.forEach(($)=>this.disposeFilterWrapper($,"gridDestroyed")),this.allColumnListeners.clear(),this.state.clear(),this.activeFilterComps.clear()}};function eL($){return!!$.filterManager?.isAnyFilterPresent()}function $D($,z="api"){$.filterManager?.onFilterChanged({source:z})}var zD=class extends S{constructor(){super(...arguments);this.beanName="filterManager",this.advFilterModelUpdateQueue=[]}wireBeans($){this.quickFilter=$.quickFilter,this.advancedFilter=$.advancedFilter,this.colFilter=$.colFilter}postConstruct(){let $=this.refreshFiltersForAggregations.bind(this),z=this.updateAdvFilterColumns.bind(this);if(this.addManagedEventListeners({columnValueChanged:$,columnPivotChanged:$,columnPivotModeChanged:$,newColumnsLoaded:z,columnVisible:z,advancedFilterEnabledChanged:({enabled:J})=>this.onAdvFilterEnabledChanged(J),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:Q}=this;this.alwaysPassFilter=Q.get("alwaysPassFilter"),this.addManagedPropertyListener("alwaysPassFilter",()=>{this.alwaysPassFilter=Q.get("alwaysPassFilter"),this.onFilterChanged({source:"api"})})}isExternalFilterPresentCallback(){let $=this.gos.getCallback("isExternalFilterPresent");return typeof $==="function"&&$({})}doesExternalFilterPass($){let z=this.gos.get("doesExternalFilterPass");return typeof z==="function"&&z($)}setFilterState($,z,Q="api"){if(this.isAdvFilterEnabled())return;this.colFilter?.setState($,z,Q)}setFilterModel($,z="api",Q){if(this.isAdvFilterEnabled()){if(!Q)this.warnAdvFilters();return}this.colFilter?.setModel($,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($){if($){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(T$(this.gos)&&this.isAnyFilterPresent())this.onFilterChanged()}onFilterChanged($={}){let{source:z,additionalEventAttributes:Q,columns:J=[]}=$;this.externalFilterPresent=this.isExternalFilterPresentCallback(),(this.colFilter?this.colFilter.updateBeforeFilterChanged($):g.resolve()).then(()=>{let Z={source:z,type:"filterChanged",columns:J};if(Q)B0(Z,Q);this.eventSvc.dispatchEvent(Z),this.colFilter?.updateAfterFilterChanged()})}isSuppressFlashingCellsBecauseFiltering(){return!!this.colFilter?.isSuppressFlashingCellsBecauseFiltering()}isQuickFilterPresent(){return!!this.quickFilter?.isFilterPresent()}updateAggFiltering(){this.aggFiltering=!!T$(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($,z){return this.doesRowPassFilter({rowNode:z,colIdToSkip:$})}doesRowPassAggregateFilters($){let{rowNode:z}=$;if(this.alwaysPassFilter?.(z))return!0;if(this.isAggregateQuickFilterPresent()&&!this.quickFilter.doesRowPass(z))return!1;if(this.isAggregateFilterPresent()&&!this.colFilter.doFiltersPass(z,$.colIdToSkip,!0))return!1;return!0}doesRowPassFilter($){let{rowNode:z}=$;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,$.colIdToSkip))return!1;if(this.isAdvFilterPresent()&&!this.advancedFilter.doesFilterPass(z))return!1;return!0}isFilterAllowed($){if(this.isAdvFilterEnabled())return!1;return!!this.colFilter?.isFilterAllowed($)}getAdvFilterModel(){return this.isAdvFilterEnabled()?this.advancedFilter.getModel():null}setAdvFilterModel($,z="api"){if(!this.isAdvFilterEnabled())return;if(this.beans.dataTypeSvc?.isPendingInference){this.advFilterModelUpdateQueue.push($);return}this.advancedFilter.setModel($??null),this.onFilterChanged({source:z})}toggleAdvFilterBuilder($,z){if(!this.isAdvFilterEnabled())return;this.advancedFilter.getCtrl().toggleFilterBuilder({source:z,force:$})}updateAdvFilterColumns(){if(!this.isAdvFilterEnabled())return;if(this.advancedFilter.updateValidity())this.onFilterChanged({source:"advancedFilter"})}hasFloatingFilters(){if(this.isAdvFilterEnabled())return!1;return!!this.colFilter?.hasFloatingFilters()}getColumnFilterInstance($){if(this.isAdvFilterEnabled())return this.warnAdvFilters(),Promise.resolve(void 0);return this.colFilter?.getFilterInstance($)??Promise.resolve(void 0)}warnAdvFilters(){j(68)}setupAdvFilterHeaderComp($){this.advancedFilter?.getCtrl().setupHeaderComp($)}getHeaderRowCount(){return this.isAdvFilterHeaderActive()?1:0}getHeaderHeight(){return this.isAdvFilterHeaderActive()?this.advancedFilter.getCtrl().getHeaderHeight():0}processFilterModelUpdateQueue(){for(let $ of this.advFilterModelUpdateQueue)this.setAdvFilterModel($);this.advFilterModelUpdateQueue=[]}setColumnFilterModel($,z){if(this.isAdvFilterEnabled())return this.warnAdvFilters(),Promise.resolve();return this.colFilter?.setModelForColumn($,z)??Promise.resolve()}};function QD($){return{tag:"div",cls:$}}var y4=class extends x{constructor($){let{className:z="ag-filter-apply-panel"}=$??{};super(QD(z));this.listeners=[],this.validationMessage=null,this.className=z}updateButtons($,z){let Q=this.buttons;if(this.buttons=$,Q===$)return;let J=this.getGui();z0(J);let Z;this.destroyListeners();let X=document.createDocumentFragment(),Y=this.className,q=({type:_,label:H})=>{let U=(D)=>{this.dispatchLocalEvent({type:_,event:D})};if(!["apply","clear","reset","cancel"].includes(_))j(75);let W=_==="apply",E=J0({tag:"button",attrs:{type:W&&z?"submit":"button"},ref:`${_}FilterButton`,cls:`ag-button ag-standard-button ${Y}-button${W?" "+Y+"-apply-button":""}`,children:H});if(this.activateTabIndex([E]),W)Z=E;let K=(D)=>{if(D.key===A.ENTER)D.preventDefault(),U(D)},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 _ of $)q(_);this.eApply=Z;let G=this.validationTooltipFeature;if(Z&&!G)this.validationTooltipFeature=this.createOptionalManagedBean(this.beans.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.eApply,getLocation:()=>"advancedFilter",getTooltipShowDelayOverride:()=>1000}));else if(!Z&&G)this.validationTooltipFeature=this.destroyBean(G);J.append(X)}getApplyButton(){return this.eApply}updateValidity($,z=null){let Q=this.eApply;if(!Q)return;T2(Q,!$),this.validationMessage=z,this.validationTooltipFeature?.setTooltipAndRefresh(this.validationMessage)}destroyListeners(){for(let $ of this.listeners)$();this.listeners=[]}destroy(){this.destroyListeners(),super.destroy()}};var x4=class extends x{constructor($,z,Q,J,Z,X){super();this.column=$,this.wrapper=z,this.eventParent=Q,this.updateModel=J,this.isGlobalButtons=Z,this.enableGlobalButtonCheck=X,this.hidePopup=null,this.applyActive=!1}postConstruct(){let{comp:$,params:z}=this.wrapper,Q=z,J=Q.useForm,Z=J?"form":"div";if(this.setTemplate({tag:Z,cls:"ag-filter-wrapper"}),J)this.addManagedElementListeners(this.getGui(),{submit:(X)=>{X?.preventDefault()},keydown:this.handleKeyDown.bind(this)});this.appendChild($.getGui()),this.params=Q,this.resetButtonsPanel(Q),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:q})=>{if(X===this.column)this.afterAction(Y,q)},...this.enableGlobalButtonCheck?{filterGlobalButtons:({isGlobal:X})=>{if(X!==this.isGlobalButtons){this.isGlobalButtons=X;let Y=this.params;this.resetButtonsPanel(Y,Y,!0)}}}:void 0})}afterGuiAttached($){if($)this.hidePopup=$.hidePopup}resetButtonsPanel($,z,Q){let{buttons:J,readOnly:Z}=z??{},{buttons:X,readOnly:Y,useForm:q}=$;if(!Q&&Z===Y&&FJ(J,X))return;let G=X&&X.length>0&&!$.readOnly&&!this.isGlobalButtons,_=this.eButtons;if(G){let H=X.map((U)=>{let W=`${U}Filter`;return{type:U,label:w7(this,W)}});if(this.applyActive=W1(this.params),!_){_=this.createBean(new y4),this.appendChild(_.getGui());let U=this.column,W=(B)=>({event:E})=>{this.updateModel(U,B,{fromButtons:!0}),this.afterAction(B,E)};_?.addManagedListeners(_,{apply:W("apply"),clear:W("clear"),reset:W("reset"),cancel:W("cancel")}),this.eButtons=_}_.updateButtons(H,q)}else if(this.applyActive=!1,_)T0(_.getGui()),this.eButtons=this.destroyBean(_)}close($){let z=this.hidePopup;if(!z)return;let Q=$,J=Q?.key,Z;if(J===A.ENTER||J===A.SPACE)Z={keyboardEvent:Q};z(Z),this.hidePopup=null}afterAction($,z){let{params:Q,applyActive:J}=this,Z=Q?.closeOnApply;switch($){case"apply":{if(z?.preventDefault(),Z&&J)this.close(z);break}case"reset":{if(Z&&J)this.close();break}case"cancel":{if(Z)this.close(z);break}}}handleKeyDown($){if(!$.defaultPrevented&&$.key===A.ENTER&&this.applyActive)this.updateModel(this.column,"apply",{fromButtons:!0}),this.afterAction("apply",$)}destroy(){this.hidePopup=null,this.eButtons=this.destroyBean(this.eButtons)}},JD=":where(.ag-menu:not(.ag-tabs) .ag-filter)>:not(.ag-filter-wrapper){min-width:180px}",ZD={tag:"div",cls:"ag-filter"},w4=class extends x{constructor($,z,Q){super(ZD);this.column=$,this.source=z,this.enableGlobalButtonCheck=Q,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(($)=>$.comp)??null}afterInit(){return this.wrapper?.then(()=>{})??g.resolve()}afterGuiAttached($){this.afterGuiAttachedParams=$,this.wrapper?.then((z)=>{this.comp?.afterGuiAttached($),z?.comp?.afterGuiAttached?.($)})}afterGuiDetached(){this.wrapper?.then(($)=>{$?.comp?.afterGuiDetached?.()})}createFilter($){let{column:z,source:Q,beans:{colFilter:J}}=this,Z=J.getFilterUiForDisplay(z)??null;this.wrapper=Z,Z?.then((X)=>{if(!X)return;let{isHandler:Y,comp:q}=X,G;if(Y){let _=!!this.enableGlobalButtonCheck,H=this.createBean(new x4(z,X,J,J.updateModel.bind(J),_&&J.isGlobalButtons,_));this.comp=H,G=H.getGui()}else if(this.registerCSS(JD),G=q.getGui(),!T(G))j(69,{guiFromFilter:G});if(this.appendChild(G),$)this.eventSvc.dispatchEvent({type:"filterOpened",column:z,source:Q,eGui:this.getGui()});else q.afterGuiAttached?.(this.afterGuiAttachedParams)})}onFilterDestroyed($){let{source:z,column:Q}=$;if((z==="api"||z==="paramsUpdated")&&Q.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()}},XD=class extends S{constructor(){super(...arguments);this.beanName="filterMenuFactory"}wireBeans($){this.popupSvc=$.popupSvc}hideActiveMenu(){this.hidePopup?.()}showMenuAfterMouseEvent($,z,Q,J){if($&&!$.isColumn)return;this.showPopup($,(Z)=>{this.popupSvc?.positionPopupUnderMouseEvent({additionalParams:{column:$},type:Q,mouseEvent:z,ePopup:Z})},Q,z.target,U0(this.gos),J)}showMenuAfterButtonClick($,z,Q,J){if($&&!$.isColumn)return;let Z=-1,X="left",Y=U0(this.gos);if(!Y&&this.gos.get("enableRtl"))Z=1,X="right";let q=Y?void 0:4*Z,G=Y?void 0:4;this.showPopup($,(_)=>{this.popupSvc?.positionPopupByComponent({type:Q,eventSource:z,ePopup:_,nudgeX:q,nudgeY:G,alignSide:X,keepWithinBounds:!0,position:"under",additionalParams:{column:$}})},Q,z,Y,J)}showPopup($,z,Q,J,Z,X){let Y=$?this.createBean(new w4($,"COLUMN_MENU")):void 0;if(this.activeMenu=Y,!Y?.hasFilter()||!$){e(57);return}let q=J0({tag:"div",cls:`ag-menu${!Z?" ag-filter-menu":""}`,role:"presentation"});[this.tabListener]=this.addManagedElementListeners(q,{keydown:(K)=>this.trapFocusWithin(K,q)}),q.appendChild(Y?.getGui());let G,_=()=>Y?.afterGuiDetached(),H=h2(this.gos)?J??this.beans.ctrlsSvc.getGridBodyCtrl().eGridBody:void 0,U=(K)=>{z1($,!1,"contextMenu");let L=K instanceof KeyboardEvent;if(this.tabListener)this.tabListener=this.tabListener();if(L&&J&&A0(J))xJ(J)?.focus({preventScroll:!0});_(),this.destroyBean(this.activeMenu),this.dispatchVisibleChangedEvent(!1,Q,$),X?.()},W=this.getLocaleTextFunc(),B=Z&&Q!=="columnFilter"?W("ariaLabelColumnMenu","Column Menu"):W("ariaLabelColumnFilter","Column Filter"),E=this.popupSvc?.addPopup({modal:!0,eChild:q,closeOnEsc:!0,closedCallback:U,positionCallback:()=>z(q),anchorToElement:H,ariaLabel:B});if(E)this.hidePopup=G=E.hideFunc;Y.afterInit().then(()=>{z(q),Y.afterGuiAttached({container:Q,hidePopup:G})}),z1($,!0,"contextMenu"),this.dispatchVisibleChangedEvent(!0,Q,$)}trapFocusWithin($,z){if($.key!==A.TAB||$.defaultPrevented||j0(this.beans,z,!1,$.shiftKey))return;$.preventDefault(),F0(z,$.shiftKey)}dispatchVisibleChangedEvent($,z,Q){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:$,switchingTab:!1,key:z,column:Q??null,columnGroup:null})}isMenuEnabled($){return $.isFilterAllowed()&&($.getColDef().menuTabs??["filterMenuTab"]).includes("filterMenuTab")}showMenuAfterContextMenuEvent(){}destroy(){this.destroyBean(this.activeMenu),super.destroy()}},YD=class extends S{constructor(){super(...arguments);this.beanName="filterValueSvc"}getValue($,z,Q){if(!z)return;let J=$.getColDef(),{selectableFilter:Z,valueSvc:X,formula:Y}=this.beans,q=Q??Z?.getFilterValueGetter($.getColId())??J.filterValueGetter;if(q)return this.executeFilterValueGetter(q,z.data,$,z,J);let G=X.getValue($,z,"data");if($.isAllowFormula()&&Y?.isFormula(G))return Y.resolveValue($,z);return G}executeFilterValueGetter($,z,Q,J,Z){let{expressionSvc:X,valueSvc:Y}=this.beans,q=y(this.gos,{data:z,node:J,column:Q,colDef:Z,getValue:Y.getValueCallback.bind(Y,J)});if(typeof $==="function")return $(q);return X?.evaluate($,q)}};function qD($){return!!$.quickFilter?.isFilterPresent()}function GD($){return $.quickFilter?.getText()}function _D($){$.quickFilter?.resetCache()}var HD=class extends S{constructor(){super(...arguments);this.beanName="quickFilter",this.quickFilter=null,this.quickFilterParts=null}postConstruct(){let $=this.resetCache.bind(this),z=this.gos;this.addManagedEventListeners({columnPivotModeChanged:$,newColumnsLoaded:$,columnRowGroupChanged:$,columnVisible:()=>{if(!z.get("includeHiddenColumnsInQuickFilter"))this.resetCache()}}),this.addManagedPropertyListener("quickFilterText",(Q)=>this.setFilter(Q.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:$,colModel:z,gos:Q,pivotResultCols:J}=this.beans,Z=z.isPivotMode(),X=$?.getColumns(),Y=z.getColDefCols(),q=(Z&&!Q.get("applyQuickFilterBeforePivotOrAgg")?J?.getPivotResultCols()?.list:Y)??[];if(X)q=q.concat(X);this.colsToUse=Q.get("includeHiddenColumnsInQuickFilter")?q:q.filter((G)=>G.isVisible()||G.isRowGroupActive())}isFilterPresent(){return this.quickFilter!==null}doesRowPass($){let z=this.gos.get("cacheQuickFilter");if(this.matcher)return this.doesRowPassMatcher(z,$);return this.quickFilterParts.every((Q)=>z?this.doesRowPassCache($,Q):this.doesRowPassNoCache($,Q))}resetCache(){this.beans.rowModel.forEachNode(($)=>$.quickFilterAggregateText=null)}getText(){return this.gos.get("quickFilterText")}setFilterParts(){let{quickFilter:$,parser:z}=this;if($)this.quickFilterParts=z?z($):$.split(" ");else this.quickFilterParts=null}parseFilter($){if(!T($))return null;return $.toUpperCase()}setFilter($){if($!=null&&typeof $!=="string"){j(70,{newFilter:$});return}let z=this.parseFilter($);if(this.quickFilter!==z)this.quickFilter=z,this.setFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"})}setParserAndMatcher(){let $=this.gos.get("quickFilterParser"),z=this.gos.get("quickFilterMatcher"),Q=$!==this.parser||z!==this.matcher;if(this.parser=$,this.matcher=z,Q)this.setFilterParts(),this.dispatchLocalEvent({type:"quickFilterChanged"})}onColumnConfigChanged(){if(this.refreshCols(),this.resetCache(),this.isFilterPresent())this.dispatchLocalEvent({type:"quickFilterChanged"})}doesRowPassNoCache($,z){return this.colsToUse.some((Q)=>{let J=this.getTextForColumn(Q,$);return T(J)&&J.includes(z)})}doesRowPassCache($,z){return this.checkGenerateAggText($),$.quickFilterAggregateText.includes(z)}doesRowPassMatcher($,z){let Q;if($)this.checkGenerateAggText(z),Q=z.quickFilterAggregateText;else Q=this.getAggText(z);let{quickFilterParts:J,matcher:Z}=this;return Z(J,Q)}checkGenerateAggText($){if(!$.quickFilterAggregateText)$.quickFilterAggregateText=this.getAggText($)}getTextForColumn($,z){let Q=this.beans.filterValueSvc.getValue($,z),J=$.getColDef();if(J.getQuickFilterText){let Z=y(this.gos,{value:Q,node:z,data:z.data,column:$,colDef:J});Q=J.getQuickFilterText(Z)}return T(Q)?Q.toString().toUpperCase():null}getAggText($){let z=[];for(let Q of this.colsToUse){let J=this.getTextForColumn(Q,$);if(T(J))z.push(J)}return z.join(`
`)}},UD={moduleName:"ClientSideRowModelFilter",version:p,rowModels:["clientSide"],beans:[FK]},E9={moduleName:"FilterCore",version:p,beans:[zD],apiFunctions:{isAnyFilterPresent:eL,onFilterChanged:$D},css:[xL],dependsOn:[UD]},K9={moduleName:"FilterValue",version:p,beans:[YD]},L9={moduleName:"ColumnFilter",version:p,beans:[oL,XD],dynamicBeans:{headerFilterCellCtrl:IL},icons:{filter:"filter",filterActive:"filter"},apiFunctions:{isColumnFilterPresent:wL,getColumnFilterInstance:NL,destroyFilter:gL,setFilterModel:hL,getFilterModel:uL,getColumnFilterModel:mL,setColumnFilterModel:cL,showColumnFilter:pL,hideColumnFilter:iL,getColumnFilterHandler:nL,doFilterAction:dL},dependsOn:[E9,nz,K9,v4]};var WD={moduleName:"QuickFilterCore",version:p,rowModels:["clientSide"],beans:[HD],dependsOn:[E9,K9]},D9={moduleName:"QuickFilter",version:p,apiFunctions:{isQuickFilterPresent:qD,getQuickFilter:GD,resetQuickFilter:_D},dependsOn:[WD]};var BD=class extends S{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($,z){let Q=this.wrapSvc?.wrap($,z)??z,J=!l1.has($),Z=J?this.asyncListeners:this.syncListeners;if(!Z.has($))Z.set($,new Set);Z.get($).add(Q),this.eventSvc.addListener($,Q,J)}removeListener($,z){let Q=this.wrapSvc?.unwrap($,z)??z,Z=!!this.asyncListeners.get($)?.delete(Q);if(!Z)this.syncListeners.get($)?.delete(Q);this.eventSvc.removeListener($,Q,Z)}addGlobalListener($){let z=this.wrapSvc?.wrapGlobal($)??$,Q=(X,Y)=>{if(l1.has(X))z(X,Y)},J=(X,Y)=>{if(!l1.has(X))z(X,Y)};this.globalListenerPairs.set($,{syncListener:Q,asyncListener:J});let Z=this.eventSvc;Z.addGlobalListener(Q,!1),Z.addGlobalListener(J,!0)}removeGlobalListener($){let{eventSvc:z,wrapSvc:Q,globalListenerPairs:J}=this,Z=Q?.unwrapGlobal($)??$;if(J.has(Z)){let{syncListener:Y,asyncListener:q}=J.get(Z);z.removeGlobalListener(Y,!1),z.removeGlobalListener(q,!0),J.delete($)}else this.syncGlobalListeners.delete(Z),z.removeGlobalListener(Z,!1)}destroyEventListeners($,z){$.forEach((Q,J)=>{Q.forEach((Z)=>this.eventSvc.removeListener(J,Z,z)),Q.clear()}),$.clear()}destroyGlobalListeners($,z){for(let Q of $)this.eventSvc.removeGlobalListener(Q,z);$.clear()}destroy(){super.destroy(),this.destroyEventListeners(this.syncListeners,!1),this.destroyEventListeners(this.asyncListeners,!0),this.destroyGlobalListeners(this.syncGlobalListeners,!1);let{globalListenerPairs:$,eventSvc:z}=this;$.forEach(({syncListener:Q,asyncListener:J})=>{z.removeGlobalListener(Q,!1),z.removeGlobalListener(J,!0)}),$.clear()}};function ED($,z,Q){$.apiEventSvc?.addListener(z,Q)}function KD($,z,Q){$.apiEventSvc?.removeListener(z,Q)}function LD($,z){$.apiEventSvc?.addGlobalListener(z)}function DD($,z){$.apiEventSvc?.removeGlobalListener(z)}var F9={moduleName:"EventApi",version:p,apiFunctions:{addEventListener:ED,addGlobalListener:LD,removeEventListener:KD,removeGlobalListener:DD},beans:[BD]};function M$($,z){if(typeof $!=="number")return"";let Q=z(),J=Q("thousandSeparator",","),Z=Q("decimalSeparator",".");return $.toString().replace(".",Z).replace(/(\d)(?=(\d{3})+(?!\d))/g,`$1${J}`)}var FD="↑",MD="↓",kD={tag:"span",children:[{tag:"span",ref:"eDelta",cls:"ag-value-change-delta"},{tag:"span",ref:"eValue",cls:"ag-value-change-value"}]},VD=class extends x{constructor(){super(kD);this.eValue=f,this.eDelta=f,this.refreshCount=0}init($){this.refresh($,!0)}showDelta($,z){let Q=Math.abs(z),J=$.formatValue(Q),Z=T(J)?J:Q,X=z>=0,Y=this.eDelta;if(X)Y.textContent=FD+Z;else Y.textContent=MD+Z;Y.classList.toggle("ag-value-change-delta-up",X),Y.classList.toggle("ag-value-change-delta-down",!X)}setTimerToRemoveDelta(){this.refreshCount++;let $=this.refreshCount;this.beans.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{if($===this.refreshCount)this.hideDeltaValue()},2000)})}hideDeltaValue(){this.eValue.classList.remove("ag-value-change-value-highlight"),z0(this.eDelta)}refresh($,z=!1){let{value:Q,valueFormatted:J}=$,{eValue:Z,lastValue:X,beans:Y}=this;if(Q===X)return!1;if(T(J))Z.textContent=J;else if(T(Q))Z.textContent=Q;else z0(Z);if(Y.filterManager?.isSuppressFlashingCellsBecauseFiltering())return!1;let q=Q&&typeof Q==="object"&&"toNumber"in Q?Q.toNumber():Q,G=X&&typeof X==="object"&&"toNumber"in X?X.toNumber():X;if(q===G)return!1;if(typeof q==="number"&&typeof G==="number"){let _=q-G;this.showDelta($,_)}if(X)Z.classList.add("ag-value-change-value-highlight");if(!z)this.setTimerToRemoveDelta();return this.lastValue=Q,!0}},AD=".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}",SD={tag:"span",children:[{tag:"span",ref:"eCurrent",cls:"ag-value-slide-current"}]},RD=class extends x{constructor(){super(SD);this.eCurrent=f,this.refreshCount=0,this.registerCSS(AD)}init($){this.refresh($,!0)}addSlideAnimation(){this.refreshCount++;let $=this.refreshCount;this.ePrevious?.remove();let{beans:z,eCurrent:Q}=this,J=J0({tag:"span",cls:"ag-value-slide-previous ag-value-slide-out"});this.ePrevious=J,J.textContent=Q.textContent,this.getGui().insertBefore(J,Q),z.frameworkOverrides.wrapIncoming(()=>{window.setTimeout(()=>{if($!==this.refreshCount)return;this.ePrevious.classList.add("ag-value-slide-out-end")},50),window.setTimeout(()=>{if($!==this.refreshCount)return;this.ePrevious?.remove(),this.ePrevious=null},3000)})}refresh($,z=!1){let Q=$.value;if(n(Q))Q="";if(Q===this.lastValue)return!1;if(this.beans.filterManager?.isSuppressFlashingCellsBecauseFiltering())return!1;if(!z)this.addSlideAnimation();this.lastValue=Q;let J=this.eCurrent;if(T($.valueFormatted))J.textContent=$.valueFormatted;else if(T($.value))J.textContent=Q;else z0(J);return!0}},jD=class extends S{constructor(){super(...arguments);this.beanName="cellFlashSvc",this.nextAnimationTime=null,this.nextAnimationCycle=null,this.animations={highlight:new Map,"data-changed":new Map}}animateCell($,z,Q=this.beans.gos.get("cellFlashDuration"),J=this.beans.gos.get("cellFadeDuration")){let Z=this.animations[z];Z.delete($);let X=Date.now(),Y=X+Q,q=X+Q+J,G={phase:"flash",flashEndTime:Y,fadeEndTime:q};Z.set($,G);let _=`ag-cell-${z}`,H=`${_}-animation`,{comp:U,eGui:{style:W}}=$;if(U.toggleCss(_,!0),U.toggleCss(H,!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),Q)}),this.nextAnimationTime=Y}advanceAnimations(){let $=Date.now(),z=null;for(let Q of Object.keys(this.animations)){let J=this.animations[Q],Z=`ag-cell-${Q}`,X=`${Z}-animation`;for(let[Y,q]of J){if(!Y.isAlive()||!Y.comp){J.delete(Y);continue}let{phase:G,flashEndTime:_,fadeEndTime:H}=q,U=G==="flash"?_:H;if(!($+15>=U)){z=Math.min(U,z??1/0);continue}let{comp:B,eGui:{style:E}}=Y;switch(G){case"flash":B.toggleCss(Z,!1),B.toggleCss(X,!0),E.transition=`background-color ${H-_}ms`,E.transitionDelay=`${_-$}ms`,z=Math.min(H,z??1/0),q.phase="fade";break;case"fade":B.toggleCss(Z,!1),B.toggleCss(X,!1),E.removeProperty("transition"),E.removeProperty("transition-delay"),J.delete(Y);break}}}if(z==null)this.nextAnimationTime=null,this.nextAnimationCycle=null;else if(z)this.nextAnimationCycle=setTimeout(this.advanceAnimations.bind(this),z-$),this.nextAnimationTime=z}onFlashCells($,z){if(!$.comp)return;let Q=b$($.cellPosition);if(z.cells[Q])this.animateCell($,"highlight")}flashCell($,z){this.animateCell($,"data-changed",z?.flashDuration,z?.fadeDuration)}destroy(){for(let $ of Object.keys(this.animations))this.animations[$].clear()}};function fD($,z={}){let{cellFlashSvc:Q}=$;if(!Q)return;$.frameworkOverrides.wrapIncoming(()=>{for(let J of $.rowRenderer.getCellCtrls(z.rowNodes,z.columns))Q.flashCell(J,z)})}var M9={moduleName:"HighlightChanges",version:p,beans:[jD],userComponents:{agAnimateShowChangeCellRenderer:VD,agAnimateSlideCellRenderer:RD},apiFunctions:{flashCells:fD}};var OD=class extends S{constructor(){super(...arguments);this.beanName="selectionColSvc"}postConstruct(){this.addManagedPropertyListener("rowSelection",($)=>{this.onSelectionOptionsChanged($.currentValue,$.previousValue,Xz($.source))}),this.addManagedPropertyListener("selectionColumnDef",this.updateColumns.bind(this))}addColumns($){let z=this.columns;if(z==null)return;$.list=z.list.concat($.list),$.tree=z.tree.concat($.tree),_1($)}createColumns($,z){let Q=()=>{J$(this.beans,this.columns?.tree),this.columns=null},J=$.treeDepth,X=(this.columns?.treeDepth??-1)==J,Y=this.generateSelectionCols();if(G1(Y,this.columns?.list??[])&&X)return;Q();let{colGroupSvc:G}=this.beans,_=G?.findDepth($.tree)??0,H=G?.balanceTreeForAutoCols(Y,_)??[];this.columns={list:Y,tree:H,treeDepth:_,map:{}},z((W)=>{if(!W)return null;let B=W.filter((E)=>!I$(E));return[...Y,...B]})}updateColumns($){let z=Xz($.source),{beans:Q}=this;for(let J of this.columns?.list??[]){let Z=this.createSelectionColDef($.currentValue);J.setColDef(Z,null,z),n0(Q,{state:[i2(Z,J.colId)]},z)}}getColumn($){return this.columns?.list.find((z)=>P$(z,$))??null}getColumns(){return this.columns?.list??null}isSelectionColumnEnabled(){let{gos:$,beans:z}=this,Q=$.get("rowSelection");if(typeof Q!=="object"||!h$($))return!1;let J=(z.autoColSvc?.getColumns()?.length??0)>0;if(Q.checkboxLocation==="autoGroupColumn"&&J)return!1;let Z=!!Qz(Q),X=d1(Q);return Z||X}createSelectionColDef($){let{gos:z}=this,Q=$??z.get("selectionColumnDef"),J=z.get("enableRtl"),{rowSpan:Z,spanRows:X,...Y}=Q??{};return{width:50,resizable:!1,suppressHeaderMenuButton:!0,sortable:!1,suppressMovable:!0,lockPosition:J?"right":"left",comparator(q,G,_,H){let U=_.isSelected(),W=H.isSelected();return U===W?0:U?1:-1},editable:!1,suppressFillHandle:!0,suppressAutoSize:!0,pinned:null,...Y,colId:M7,chartDataType:"excluded"}}generateSelectionCols(){if(!this.isSelectionColumnEnabled())return[];let $=this.createSelectionColDef(),z=$.colId;this.gos.validateColDef($,z,!0);let Q=new q$($,null,z,!1);return this.createBean(Q),[Q]}onSelectionOptionsChanged($,z,Q){let J=z&&typeof z!=="string"?Qz(z):void 0,Z=$&&typeof $!=="string"?Qz($):void 0,X=J!==Z,Y=z&&typeof z!=="string"?d1(z):void 0,q=$&&typeof $!=="string"?d1($):void 0,G=Y!==q,_=EQ($),H=EQ(z);if(X||G||_!==H)this.beans.colModel.refreshAll(Q)}destroy(){J$(this.beans,this.columns?.tree),super.destroy()}refreshVisibility($,z,Q){if(!this.columns?.list.length)return;let J=$.length+z.length+Q.length;if(J===0)return;let Z=this.columns.list[0];if(!Z.isVisible())return;let X=()=>{let G;switch(Z.pinned){case"left":case!0:G=$;break;case"right":G=Q;break;default:G=z}if(G)Z0(G,Z)};if((this.beans.rowNumbersSvc?.getColumn(k7)?2:1)===J)X()}},PD=':where(.ag-selection-checkbox) .ag-checkbox-input-wrapper:before{content:"";cursor:pointer;inset:-8px;position:absolute}';function TD($,z){if(!z.nodes.every((Y)=>{if(Y.rowPinned&&!iJ(Y))return j(59),!1;if(Y.id===void 0)return j(60),!1;return!0}))return;let{nodes:J,source:Z,newValue:X}=z;$.selectionSvc?.setNodesSelected({nodes:J,source:Z??"api",newValue:X})}function vD($,z,Q="apiSelectAll"){$.selectionSvc?.selectAllRowNodes({source:Q,selectAll:z})}function ID($,z,Q="apiSelectAll"){$.selectionSvc?.deselectAllRowNodes({source:Q,selectAll:z})}function CD($,z="apiSelectAllFiltered"){$.selectionSvc?.selectAllRowNodes({source:z,selectAll:"filtered"})}function bD($,z="apiSelectAllFiltered"){$.selectionSvc?.deselectAllRowNodes({source:z,selectAll:"filtered"})}function yD($,z="apiSelectAllCurrentPage"){$.selectionSvc?.selectAllRowNodes({source:z,selectAll:"currentPage"})}function xD($,z="apiSelectAllCurrentPage"){$.selectionSvc?.deselectAllRowNodes({source:z,selectAll:"currentPage"})}function wD($){return $.selectionSvc?.getSelectedNodes()??[]}function ND($){return $.selectionSvc?.getSelectedRows()??[]}var gD={tag:"div",cls:"ag-selection-checkbox",role:"presentation",children:[{tag:"ag-checkbox",ref:"eCheckbox",role:"presentation"}]},hD=class extends x{constructor(){super(gD,[y$]);this.eCheckbox=f}postConstruct(){this.eCheckbox.setPassive(!0)}onDataChanged(){this.onSelectionChanged()}onSelectableChanged(){this.showOrHideSelect()}onSelectionChanged(){let $=this.getLocaleTextFunc(),{rowNode:z,eCheckbox:Q}=this,J=z.isSelected(),Z=O2($,J),[X,Y]=z.selectable?["ariaRowToggleSelection","Press Space to toggle row selection"]:["ariaRowSelectionDisabled","Row Selection is disabled for this row"],q=$(X,Y);Q.setValue(J,!0),Q.setInputAriaLabel(`${q} (${Z})`)}init($){if(this.rowNode=$.rowNode,this.column=$.column,this.overrides=$.overrides,this.onSelectionChanged(),this.addManagedListeners(this.eCheckbox.getWrapperElement(),{dblclick:i0,click:(J)=>{if(i0(J),this.eCheckbox.isDisabled())return;this.beans.selectionSvc?.handleSelectionEvent(J,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:J,previousValue:Z})=>{let X=typeof J==="object"?RZ(J):void 0,Y=typeof Z==="object"?RZ(Z):void 0;if(X!==Y)this.onSelectableChanged()}),Z2(this.gos)||typeof this.getIsVisible()==="function"){let J=this.showOrHideSelect.bind(this);this.addManagedEventListeners({displayedColumnsChanged:J}),this.addManagedListeners(this.rowNode,{dataChanged:J,cellChanged:J}),this.showOrHideSelect()}this.eCheckbox.getInputElement().setAttribute("tabindex","-1")}showOrHideSelect(){let{column:$,rowNode:z,overrides:Q,gos:J}=this,Z=z.selectable,X=this.getIsVisible(),Y=void 0;if(typeof X==="function"){let U=Q?.callbackParams;if(!$)Y=X({...U,node:z,data:z.data});else{let W=$.createColumnFunctionCallbackParams(z);Y=X({...U,...W})}}else Y=X??!1;let q=Z&&!Y||!Z&&Y,G=Z||Y,_=J.get("rowSelection"),H=_&&typeof _!=="string"?!RZ(_):!!$?.getColDef().showDisabledCheckboxes;if(this.setVisible(G&&(q?H:!0)),this.setDisplayed(G&&(q?H:!0)),G)this.eCheckbox.setDisabled(q);if(Q?.removeHidden)this.setDisplayed(G)}getIsVisible(){let $=this.overrides;if($)return $.isVisible;let z=this.gos.get("rowSelection");if(z&&typeof z!=="string")return Qz(z);return this.column?.getColDef()?.checkboxSelection}},uD=class{constructor($,z){this.rowModel=$,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($){this.rootId=$.id,this.endId=null,this.cachedRange.length=0}setEndRange($){this.endId=$.id,this.cachedRange.length=0}getRange(){if(this.cachedRange.length===0){let $=this.getRoot(),z=this.getEnd();if($==null||z==null)return this.cachedRange;this.cachedRange=this.getNodesInRange($,z)??[]}return this.cachedRange}isInRange($){if(this.rootId===null)return!1;return this.getRange().some((z)=>z.id===$.id)}getRoot($){if(this.rootId)return this.getRowNode(this.rootId);if($)return this.setRoot($),$}getEnd(){if(this.endId)return this.getRowNode(this.endId)}getRowNode($){let z,{rowModel:Q,pinnedRowModel:J}=this;if(z??(z=Q.getRowNode($)),J?.isManual())z??(z=J.getPinnedRowById($,"top")),z??(z=J.getPinnedRowById($,"bottom"));return z}truncate($){let z=this.getRange();if(z.length===0)return{keep:[],discard:[]};let Q=z[0].id===this.rootId,J=z.findIndex((Z)=>Z.id===$.id);if(J>-1){let Z=z.slice(0,J),X=z.slice(J+1);return this.setEndRange($),Q?{keep:Z,discard:X}:{keep:X,discard:Z}}else return{keep:z,discard:[]}}extend($,z=!1){let Q=this.getRoot();if(Q==null){let Z=this.getRange().slice();if(z)$.depthFirstSearch((X)=>!X.group&&Z.push(X));return Z.push($),this.setRoot($),{keep:Z,discard:[]}}let J=this.getNodesInRange(Q,$);if(!J)return this.setRoot($),{keep:[$],discard:[]};if(J.find((Z)=>Z.id===this.endId))return this.setEndRange($),{keep:this.getRange(),discard:[]};else{let Z=this.getRange().slice();return this.setEndRange($),{keep:this.getRange(),discard:Z}}}getNodesInRange($,z){let{pinnedRowModel:Q,rowModel:J}=this;if(!Q?.isManual())return J.getNodesInRangeForSelection($,z);if($.rowPinned==="top"&&!z.rowPinned)return t0(Q,"top",$,void 0).concat(J.getNodesInRangeForSelection(J.getRow(0),z)??[]);if($.rowPinned==="bottom"&&!z.rowPinned){let Z=t0(Q,"bottom",void 0,$),X=J.getRowCount(),Y=J.getRow(X-1);return(J.getNodesInRangeForSelection(z,Y)??[]).concat(Z)}if(!$.rowPinned&&!z.rowPinned)return J.getNodesInRangeForSelection($,z);if($.rowPinned==="top"&&z.rowPinned==="top")return t0(Q,"top",$,z);if($.rowPinned==="bottom"&&z.rowPinned==="top"){let Z=t0(Q,"top",z,void 0),X=t0(Q,"bottom",void 0,$),Y=J.getRow(0),q=J.getRow(J.getRowCount()-1);return Z.concat(J.getNodesInRangeForSelection(Y,q)??[]).concat(X)}if(!$.rowPinned&&z.rowPinned==="top")return t0(Q,"top",z,void 0).concat(J.getNodesInRangeForSelection(J.getRow(0),$)??[]);if($.rowPinned==="top"&&z.rowPinned==="bottom"){let Z=t0(Q,"top",$,void 0),X=t0(Q,"bottom",void 0,z),Y=J.getRow(0),q=J.getRow(J.getRowCount()-1);return Z.concat(J.getNodesInRangeForSelection(Y,q)??[]).concat(X)}if($.rowPinned==="bottom"&&z.rowPinned==="bottom")return t0(Q,"bottom",$,z);if(!$.rowPinned&&z.rowPinned==="bottom"){let Z=t0(Q,"bottom",void 0,z),X=J.getRow(J.getRowCount());return(J.getNodesInRangeForSelection($,X)??[]).concat(Z)}return null}},mD=class extends S{constructor($){super();this.column=$,this.cbSelectAllVisible=!1,this.processingEventFromCheckbox=!1}onSpaceKeyDown($){let z=this.cbSelectAll;if(z.isDisplayed()&&!z.getGui().contains(d(this.beans)))$.preventDefault(),z.setValue(!z.getValue())}getCheckboxGui(){return this.cbSelectAll.getGui()}setComp($){this.headerCellCtrl=$;let z=this.createManagedBean(new K4);this.cbSelectAll=z,z.addCss("ag-header-select-all"),_0(z.getGui(),"presentation"),this.showOrHideSelectAll();let Q=this.updateStateOfCheckbox.bind(this);this.addManagedEventListeners({newColumnsLoaded:()=>this.showOrHideSelectAll(),displayedColumnsChanged:this.onDisplayedColumnsChanged.bind(this),selectionChanged:Q,paginationChanged:Q,modelUpdated:Q}),this.addManagedPropertyListener("rowSelection",({currentValue:J,previousValue:Z})=>{let X=(Y)=>typeof Y==="string"||!Y||Y.mode==="singleRow"?void 0:Y.selectAll;if(X(J)!==X(Z))this.showOrHideSelectAll();this.updateStateOfCheckbox()}),this.addManagedListeners(z,{fieldValueChanged:this.onCbSelectAll.bind(this)}),z.getInputElement().setAttribute("tabindex","-1"),this.refreshSelectAllLabel()}onDisplayedColumnsChanged($){if(!this.isAlive())return;this.showOrHideSelectAll($.source==="uiColumnMoved")}showOrHideSelectAll($=!1){let z=this.isCheckboxSelection();if(this.cbSelectAllVisible=z,this.cbSelectAll.setDisplayed(z),z)this.checkRightRowModelType("selectAllCheckbox"),this.checkSelectionType("selectAllCheckbox"),this.updateStateOfCheckbox();this.refreshSelectAllLabel($)}updateStateOfCheckbox(){if(!this.cbSelectAllVisible||this.processingEventFromCheckbox)return;this.processingEventFromCheckbox=!0;let $=this.getSelectAllMode(),z=this.beans.selectionSvc,Q=this.cbSelectAll,J=z.getSelectAllState($);Q.setValue(J);let Z=z.hasNodesToSelect($);Q.setDisabled(!Z),this.refreshSelectAllLabel(),this.processingEventFromCheckbox=!1}refreshSelectAllLabel($=!1){let z=this.getLocaleTextFunc(),{headerCellCtrl:Q,cbSelectAll:J,cbSelectAllVisible:Z}=this,X=J.getValue(),Y=O2(z,X),q=z("ariaRowSelectAll","Press Space to toggle all rows selection");if(Q.setAriaDescriptionProperty("selectAll",Z?`${q} (${Y})`:null),J.setInputAriaLabel(z("ariaHeaderSelection","Column with Header Selection")),!$)Q.announceAriaDescription()}checkSelectionType($){if(!rQ(this.gos))return j(128,{feature:$}),!1;return!0}checkRightRowModelType($){let{gos:z,rowModel:Q}=this.beans;if(!(o(z)||_z(z)))return j(129,{feature:$,rowModel:Q.getType()}),!1;return!0}onCbSelectAll(){if(this.processingEventFromCheckbox)return;if(!this.cbSelectAllVisible)return;let $=this.cbSelectAll.getValue(),z=this.getSelectAllMode(),Q="uiSelectAll";if(z==="currentPage")Q="uiSelectAllCurrentPage";else if(z==="filtered")Q="uiSelectAllFiltered";let J={source:Q,selectAll:z},Z=this.beans.selectionSvc;if($)Z.selectAllRowNodes(J);else Z.deselectAllRowNodes(J)}isCheckboxSelection(){let{column:$,gos:z,beans:Q}=this,X=typeof z.get("rowSelection")==="object"?"headerCheckbox":"headerCheckboxSelection";return k9(Q,$)&&this.checkRightRowModelType(X)&&this.checkSelectionType(X)}getSelectAllMode(){let $=H7(this.gos,!1);if($)return $;let{headerCheckboxSelectionCurrentPageOnly:z,headerCheckboxSelectionFilteredOnly:Q}=this.column.getColDef();if(z)return"currentPage";if(Q)return"filtered";return"all"}destroy(){super.destroy(),this.cbSelectAll=void 0,this.headerCellCtrl=void 0}};function k9({gos:$,selectionColSvc:z},Q){let J=$.get("rowSelection"),Z=Q.getColDef(),{headerCheckboxSelection:X}=Z,Y=!1;if(typeof J==="object"){let G=I$(Q),_=mz(Q);if(EQ(J)==="autoGroupColumn"&&_||G&&z?.isSelectionColumnEnabled())Y=d1(J)}else if(typeof X==="function")Y=X(y($,{column:Q,colDef:Z}));else Y=!!X;return Y}var cD=class extends S{postConstruct(){let{gos:$,beans:z}=this;this.selectionCtx=new uD(z.rowModel,z.pinnedRowModel),this.addManagedPropertyListeners(["isRowSelectable","rowSelection"],()=>{let Q=Z2($);if(Q!==this.isRowSelectable)this.isRowSelectable=Q,this.updateSelectable()}),this.isRowSelectable=Z2($),this.addManagedEventListeners({cellValueChanged:(Q)=>this.updateRowSelectable(Q.node),rowNodeDataChanged:(Q)=>this.updateRowSelectable(Q.node)})}destroy(){super.destroy(),this.selectionCtx.reset()}createCheckboxSelectionComponent(){return new hD}createSelectAllFeature($){if(k9(this.beans,$))return new mD($)}isMultiSelect(){return rQ(this.gos)}onRowCtrlSelected($,z,Q){let J=!!$.rowNode.isSelected();$.forEachGui(Q,(Z)=>{Z.rowComp.toggleCss("ag-row-selected",J);let X=Z.element;if(f2(X,J),X.contains(d(this.beans)))z(Z)})}announceAriaRowSelection($){if(this.isRowSelectionBlocked($))return;let z=$.isSelected(),Q=this.beans.editSvc?.isEditing({rowNode:$});if(!$.selectable||Q)return;let Z=this.getLocaleTextFunc()(z?"ariaRowDeselect":"ariaRowSelect",`Press SPACE to ${z?"deselect":"select"} this row`);this.beans.ariaAnnounce?.announceValue(Z,"rowSelection")}isRowSelectionBlocked($){return!$.selectable||$.rowPinned&&!iJ($)||!h$(this.gos)}updateRowSelectable($,z){let Q=$.rowPinned&&$.pinnedSibling?$.pinnedSibling.selectable:this.isRowSelectable?.($)??!0;return this.setRowSelectable($,Q,z),Q}setRowSelectable($,z,Q){if($.selectable!==z){if($.selectable=z,$.dispatchRowEvent("selectableChanged"),Q)return;if(lQ(this.gos)){let Z=this.calculateSelectedFromChildren($);this.setNodesSelected({nodes:[$],newValue:Z??!1,source:"selectableChanged"});return}if($.isSelected()&&!$.selectable)this.setNodesSelected({nodes:[$],newValue:!1,source:"selectableChanged"})}}calculateSelectedFromChildren($){let z=!1,Q=!1;if(!$.childrenAfterGroup?.length)return $.selectable?$.__selected:null;for(let J=0;J<$.childrenAfterGroup.length;J++){let Z=$.childrenAfterGroup[J],X=Z.isSelected();if(!Z.selectable){let Y=this.calculateSelectedFromChildren(Z);if(Y===null)continue;X=Y}switch(X){case!0:z=!0;break;case!1:Q=!0;break;default:return}}if(z&&Q)return;if(z)return!0;if(Q)return!1;if(!$.selectable)return null;return $.__selected}selectRowNode($,z,Q,J="api"){if(z&&$.destroyed)return!1;let Z=!$.selectable&&z,X=$.__selected===z;if(Z||X)return!1;$.__selected=z,$.dispatchRowEvent("rowSelected");let Y=$.sibling;if(Y&&Y.footer&&Y.__localEventService)Y.dispatchRowEvent("rowSelected");let q=$.pinnedSibling;if(q?.rowPinned&&q.__localEventService)q.dispatchRowEvent("rowSelected");return this.eventSvc.dispatchEvent({...e2($,this.gos,"rowSelected"),event:Q||null,source:J}),!0}isCellCheckboxSelection($,z){let Q=this.gos.get("rowSelection");if(Q&&typeof Q!=="string"){let J=I$($)&&Qz(Q);return $.isColumnFunc(z,J)}else return $.isColumnFunc(z,$.colDef.checkboxSelection)}inferNodeSelections($,z,Q,J){let{gos:Z,selectionCtx:X}=this,Y=$.isSelected(),q=lQ(Z),G=gq(Z),_=hq(Z),H=this.isMultiSelect(),U=J==="rowClicked";if(U&&!(G||_))return null;if(z&&Q&&H){let W=X.getRoot();if(!W)return null;else if(!W.isSelected()){let B=X.extend($,q);return{select:[],deselect:B.keep,reset:!1}}else{let B=X.isInRange($)?X.truncate($):X.extend($,q);return{deselect:B.discard,select:B.keep,reset:!1}}}else if(z&&H){let W=X.selectAll?this.beans.rowModel.getRow(0):void 0,B=X.getRoot(W),E=X.isInRange($)?X.truncate($):X.extend($,q);return{select:E.keep,deselect:E.discard,reset:X.selectAll||!!(B&&!B.isSelected())}}else if(Q){if(U){let W=!Y;if(W&&!G||!W&&!_)return null;return X.setRoot($),{node:$,newValue:W,clearSelection:!1}}return X.setRoot($),{node:$,newValue:!Y,clearSelection:!H}}else{X.setRoot($);let W=uq(Z),B=ZJ(Z)==="filteredDescendants",E=U&&(!W||!G);if(B&&Y===void 0&&o(Z))return{node:$,newValue:!1,checkFilteredNodes:!0,clearSelection:!H||E};if(U){let K=Y?!W:G;if(K===Y&&!E||K&&!G||!K&&!_)return null;return{node:$,newValue:K,clearSelection:!H||E,keepDescendants:$.group&&q}}return{node:$,newValue:!Y,clearSelection:!H||E}}}},pD=class extends cD{constructor(){super(...arguments);this.beanName="selectionSvc",this.selectedNodes=new Map,this.detailSelection=new Map,this.masterSelectsDetail=!1}postConstruct(){super.postConstruct();let{gos:$}=this;this.mode=JJ($),this.groupSelectsDescendants=lQ($),this.groupSelectsFiltered=ZJ($)==="filteredDescendants",this.masterSelectsDetail=D5($)==="detail",this.addManagedPropertyListeners(["groupSelectsChildren","groupSelectsFiltered","rowSelection"],()=>{let z=lQ($),Q=JJ($),J=ZJ($)==="filteredDescendants";if(this.masterSelectsDetail=D5($)==="detail",z!==this.groupSelectsDescendants||J!==this.groupSelectsFiltered||Q!==this.mode)this.deselectAllRowNodes({source:"api"}),this.groupSelectsDescendants=z,this.groupSelectsFiltered=J,this.mode=Q}),this.addManagedEventListeners({rowSelected:this.onRowSelected.bind(this)})}destroy(){super.destroy(),this.resetNodes()}handleSelectionEvent($,z,Q){if(this.isRowSelectionBlocked(z))return 0;let J=this.inferNodeSelections(z,$.shiftKey,$.metaKey||$.ctrlKey,Q);if(J==null)return 0;if(this.selectionCtx.selectAll=!1,"select"in J){if(J.reset)this.resetNodes();else this.selectRange(J.deselect,!1,Q);return this.selectRange(J.select,!0,Q)}else{let Z=J.checkFilteredNodes?A9(J.node):J.newValue;return this.setNodesSelected({nodes:[J.node],newValue:Z,clearSelection:J.clearSelection,keepDescendants:J.keepDescendants,event:$,source:Q})}}setNodesSelected({newValue:$,clearSelection:z,suppressFinishActions:Q,nodes:J,event:Z,source:X,keepDescendants:Y=!1}){if(J.length===0)return 0;let{gos:q}=this;if(!h$(q)&&$)return j(132),0;if(J.length>1&&!this.isMultiSelect())return j(130),0;let G=0;for(let _=0;_<J.length;_++){let H=J[_],U=H.primaryRow;if(U.rowPinned&&!iJ(U)){j(59);continue}if(U.id===void 0){j(60);continue}if($&&H.destroyed)continue;if(!(this.groupSelectsFiltered&&U.group&&!q.get("treeData"))){if(this.selectRowNode(U,$,Z,X))this.detailSelection.delete(U.id),G++}if(this.groupSelectsDescendants&&U.childrenAfterGroup?.length)G+=this.selectChildren(U,$,X)}if(!Q){if(J.length===1&&X==="api")this.selectionCtx.setRoot(J[0].primaryRow);if($&&(z||!this.isMultiSelect()))G+=this.clearOtherNodes(J[0].primaryRow,Y,X);if(G>0)this.updateGroupsFromChildrenSelections(X),this.dispatchSelectionChanged(X)}return G}selectRange($,z,Q){let J=0;if($.forEach((Z)=>{let X=Z.primaryRow;if(X.group&&this.groupSelectsDescendants)return;if(this.selectRowNode(X,z,void 0,Q))J++}),J>0)this.updateGroupsFromChildrenSelections(Q),this.dispatchSelectionChanged(Q);return J}selectChildren($,z,Q){let J=this.groupSelectsFiltered?$.childrenAfterAggFilter:$.childrenAfterGroup;if(!J)return 0;return this.setNodesSelected({newValue:z,clearSelection:!1,suppressFinishActions:!0,source:Q,nodes:J})}getSelectedNodes(){return Array.from(this.selectedNodes.values())}getSelectedRows(){let $=[];return this.selectedNodes.forEach((z)=>z.data&&$.push(z.data)),$}getSelectionCount(){return this.selectedNodes.size}filterFromSelection($){let z=new Map;this.selectedNodes.forEach((Q,J)=>{if($(Q))z.set(J,Q)}),this.selectedNodes=z}updateGroupsFromChildrenSelections($,z){if(!this.groupSelectsDescendants)return!1;let{gos:Q,rowModel:J}=this.beans;if(!o(Q,J))return!1;let Z=J.rootNode;if(!Z)return!1;let X=!1,Y=(q)=>{if(q!==Z){let G=this.calculateSelectedFromChildren(q);X=this.selectRowNode(q,G===null?!1:G,void 0,$)||X}};return S0(Z,this.beans.rowModel.hierarchical,z,Y),X}clearOtherNodes($,z,Q){let J=new Map,Z=0;return this.selectedNodes.forEach((X)=>{let Y=X.id==$.id;if((z?!nD($,X):!0)&&!Y){let G=this.selectedNodes.get(X.id);if(Z+=this.setNodesSelected({nodes:[G],newValue:!1,clearSelection:!1,suppressFinishActions:!0,source:Q}),this.groupSelectsDescendants&&X.parent)J.set(X.parent.id,X.parent)}}),J.forEach((X)=>{let Y=this.calculateSelectedFromChildren(X);this.selectRowNode(X,Y===null?!1:Y,void 0,Q)}),Z}onRowSelected($){let z=$.node;if(this.groupSelectsDescendants&&z.group)return;if(z.isSelected())this.selectedNodes.set(z.id,z);else this.selectedNodes.delete(z.id)}syncInRowNode($,z){this.syncInOldRowNode($,z),this.syncInNewRowNode($)}createDaemonNode($){if(!$.id)return;let z=new Wz(this.beans);return z.id=$.id,z.data=$.data,z.__selected=$.__selected,z.level=$.level,z}syncInOldRowNode($,z){if(z&&$.id!==z.id){if(this.selectedNodes.get(z.id)==$)this.selectedNodes.set(z.id,z)}}syncInNewRowNode($){if(this.selectedNodes.has($.id))$.__selected=!0,this.selectedNodes.set($.id,$);else $.__selected=!1}reset($){let z=this.getSelectionCount();if(this.resetNodes(),z)this.dispatchSelectionChanged($)}resetNodes(){this.selectedNodes.forEach(($)=>{this.selectRowNode($,!1)}),this.selectedNodes.clear()}getBestCostNodeSelection(){let{gos:$,rowModel:z}=this.beans;if(!o($,z))return;let Q=z.getTopLevelNodes();if(Q===null)return;let J=[];function Z(X){for(let Y=0,q=X.length;Y<q;Y++){let G=X[Y];if(G.isSelected())J.push(G);else if(G.group&&G.childrenAfterGroup)Z(G.childrenAfterGroup)}}return Z(Q),J}isEmpty(){return this.getSelectionCount()===0}deselectAllRowNodes({source:$,selectAll:z}){let Q=o(this.gos),J=!1,Z=(X)=>{let Y=this.selectRowNode(X.primaryRow,!1,void 0,$);J||(J=Y)};if(z==="currentPage"||z==="filtered"){if(!Q){e(102);return}this.getNodesToSelect(z).forEach(Z)}else this.selectedNodes.forEach(Z),this.reset($);if(this.selectionCtx.selectAll=!1,Q&&this.groupSelectsDescendants){let X=this.updateGroupsFromChildrenSelections($);J||(J=X)}if(J)this.dispatchSelectionChanged($)}getSelectedCounts($){let z=0,Q=0;return this.getNodesToSelect($).forEach((J)=>{if(this.groupSelectsDescendants&&J.group)return;if(J.isSelected())z++;else if(J.selectable)Q++}),{selectedCount:z,notSelectedCount:Q}}getSelectAllState($){let{selectedCount:z,notSelectedCount:Q}=this.getSelectedCounts($);return V9(z,Q)??null}hasNodesToSelect($){return this.getNodesToSelect($).filter((z)=>z.selectable).length>0}getNodesToSelect($){if(!this.canSelectAll())return[];let z=[],Q=(Z)=>z.push(Z);if($==="currentPage")return this.forEachNodeOnPage((Z)=>{if(!Z.group){Q(Z);return}if(!Z.footer&&!Z.expanded){let X=(Y)=>{Q(Y);let q=Y.childrenAfterFilter;if(q)for(let G=0,_=q.length;G<_;++G)X(q[G])};X(Z);return}if(!this.groupSelectsDescendants)Q(Z)}),z;let J=this.beans.rowModel;if($==="filtered")return J.forEachNodeAfterFilter(Q),z;return J.forEachNode(Q),z}forEachNodeOnPage($){let{pageBounds:z,rowModel:Q}=this.beans,J=z.getFirstRow(),Z=z.getLastRow();for(let X=J;X<=Z;X++){let Y=Q.getRow(X);if(Y)$(Y)}}selectAllRowNodes($){let{gos:z,selectionCtx:Q}=this;if(!h$(z)){j(132);return}if(Nq(z)&&!rQ(z)){j(130);return}if(!this.canSelectAll())return;let{source:J,selectAll:Z}=$,X=!1;if(this.getNodesToSelect(Z).forEach((Y)=>{let q=this.selectRowNode(Y.primaryRow,!0,void 0,J);X||(X=q)}),Q.selectAll=!0,o(z)&&this.groupSelectsDescendants){let Y=this.updateGroupsFromChildrenSelections(J);X||(X=Y)}if(X)this.dispatchSelectionChanged(J)}getSelectionState(){return this.isEmpty()?null:Array.from(this.selectedNodes.keys())}setSelectionState($,z,Q){if(!$)$=[];if(!Array.isArray($)){e(103);return}let J=new Set($),Z=[];if(this.beans.rowModel.forEachNode((X)=>{if(J.has(X.id))Z.push(X)}),Q)this.resetNodes();this.setNodesSelected({newValue:!0,nodes:Z,source:z})}canSelectAll(){return o(this.beans.gos)}updateSelectable($){let{gos:z,rowModel:Q}=this.beans;if(!h$(z))return;let J="selectableChanged",Z=o(z)&&this.groupSelectsDescendants,X=[];if(Z){let Y=Q.rootNode;if(Y)S0(Y,Q.hierarchical,$,(q)=>{let G=!1;for(let _ of q.childrenAfterGroup)if(G||(G=_.selectable),!_.group&&!this.updateRowSelectable(_,!0)&&_.isSelected())X.push(_);this.setRowSelectable(q,G,!0)})}else Q.forEachNode((Y)=>{if(!this.updateRowSelectable(Y,!0)&&Y.isSelected())X.push(Y)});if(X.length)this.setNodesSelected({nodes:X,newValue:!1,source:J});if(!$&&Z)this.updateGroupsFromChildrenSelections?.(J)}updateSelectableAfterGrouping($){if(this.updateSelectable($),this.groupSelectsDescendants){if(this.updateGroupsFromChildrenSelections?.("rowGroupChanged",$))this.dispatchSelectionChanged("rowGroupChanged")}}refreshMasterNodeState($,z){if(!this.masterSelectsDetail)return;let Q=$.detailNode?.detailGridInfo?.api;if(!Q)return;let J=iD(Q);if($.isSelected()!==J){if(this.selectRowNode($,J,z,"masterDetail"))this.dispatchSelectionChanged("masterDetail")}if(!J)this.detailSelection.set($.id,new Set(Q.getSelectedNodes().map((X)=>X.id)))}setDetailSelectionState($,z,Q){if(!this.masterSelectsDetail)return;if(!rQ(z)){j(269);return}switch($.isSelected()){case!0:{Q.selectAll();break}case!1:{Q.deselectAll();break}case void 0:{let J=this.detailSelection.get($.id);if(J){let Z=[];for(let X of J){let Y=Q.getRowNode(X);if(Y)Z.push(Y)}Q.setNodesSelected({nodes:Z,newValue:!0,source:"masterDetail"})}break}default:break}}dispatchSelectionChanged($){this.eventSvc.dispatchEvent({type:"selectionChanged",source:$,selectedNodes:this.getSelectedNodes(),serverSideState:null})}};function iD($){let z=0,Q=0;return $.forEachNode((J)=>{if(J.isSelected())z++;else if(J.selectable)Q++}),V9(z,Q)}function V9($,z){if($===0&&z===0)return!1;if($>0&&z>0)return;return $>0}function nD($,z){let Q=z.parent;while(Q){if(Q===$)return!0;Q=Q.parent}return!1}function A9($){let z=$.isSelected()===!1,Q=$.childrenAfterFilter?.some(A9)??!1;return z||Q}var dD={moduleName:"SharedRowSelection",version:p,beans:[OD],css:[PD],apiFunctions:{setNodesSelected:TD,selectAll:vD,deselectAll:ID,selectAllFiltered:CD,deselectAllFiltered:bD,selectAllOnCurrentPage:yD,deselectAllOnCurrentPage:xD,getSelectedNodes:wD,getSelectedRows:ND}},S9={moduleName:"RowSelection",version:p,rowModels:["clientSide","infinite","viewport"],beans:[pD],dependsOn:[dD]},tD=class extends S{constructor($,z){super();this.cellCtrl=$,this.staticClasses=[],this.beans=z,this.column=$.column}setComp($){this.cellComp=$,this.applyUserStyles(),this.applyCellClassRules(),this.applyClassesFromColDef()}applyCellClassRules(){let{column:$,cellComp:z}=this,Q=$.colDef,J=Q.cellClassRules,Z=this.getCellClassParams($,Q);n8(this.beans.expressionSvc,J===this.cellClassRules?void 0:this.cellClassRules,J,Z,(X)=>z.toggleCss(X,!0),(X)=>z.toggleCss(X,!1)),this.cellClassRules=J}applyUserStyles(){let $=this.column,z=$.colDef,Q=z.cellStyle;if(!Q)return;let J;if(typeof Q==="function"){let Z=this.getCellClassParams($,z);J=Q(Z)}else J=Q;if(J)this.cellComp.setUserStyles(J)}applyClassesFromColDef(){let{column:$,cellComp:z}=this,Q=$.colDef,J=this.getCellClassParams($,Q);for(let X of this.staticClasses)z.toggleCss(X,!1);let Z=this.beans.cellStyles.getStaticCellClasses(Q,J);this.staticClasses=Z;for(let X of Z)z.toggleCss(X,!0)}getCellClassParams($,z){let{value:Q,rowNode:J}=this.cellCtrl;return y(this.beans.gos,{value:Q,data:J.data,node:J,colDef:z,column:$,rowIndex:J.rowIndex})}},sD=class extends S{constructor(){super(...arguments);this.beanName="cellStyles"}processAllCellClasses($,z,Q,J){n8(this.beans.expressionSvc,void 0,$.cellClassRules,z,Q,J),this.processStaticCellClasses($,z,Q)}getStaticCellClasses($,z){let{cellClass:Q}=$;if(!Q)return[];let J;if(typeof Q==="function")J=Q(z);else J=Q;if(typeof J==="string")J=[J];return J||[]}createCellCustomStyleFeature($){return new tD($,this.beans)}processStaticCellClasses($,z,Q){this.getStaticCellClasses($,z).forEach((Z)=>{Q(Z)})}},R9={moduleName:"CellStyle",version:p,beans:[sD]};var rD={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",$Q="infinite",lD={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:[$Q],purgeInfiniteCache:[$Q],getInfiniteRowCount:[$Q],isLastRowIndexKnown:[$Q,C0],expandAll:[g0,C0],collapseAll:[g0,C0],onRowHeightChanged:[g0,C0],setRowCount:[$Q,C0],getCacheBlockState:[$Q,C0]},aD={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 oD($,z,Q){let J=aD[$];if(J){let{version:X,new:Y,old:q,message:G}=J,_=q??$;return(...H)=>{let U=Y?`Please use ${Y} instead. `:"";return zz(`Since ${X} api.${_} is deprecated. ${U}${G??""}`),z.apply(z,H)}}let Z=lD[$];if(Z)return(...X)=>{let Y=Q.rowModel.getType();if(!Z.includes(Y)){GQ(`api.${$} can only be called when gridOptions.rowModelType is ${Z.join(" or ")}`);return}return z.apply(z,X)};return z}var eD={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"},$F={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},zF={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"},QF=new Set(["colorPicker","smallUp","checkboxChecked","checkboxIndeterminate","checkboxUnchecked","radioButtonOn","radioButtonOff","smallDown","smallLeft","smallRight"]),JF=class extends S{constructor(){super(...arguments);this.beanName="validation"}wireBeans($){this.gridOptions=$.gridOptions,fq(XK)}warnOnInitialPropertyUpdate($,z){if($==="api"&&rD[z])j(22,{key:z})}processGridOptions($){this.processOptions($,zE())}validateApiFunction($,z){return oD($,z,this.beans)}missingUserComponent($,z,Q,J){let Z=BQ[z];if(Z)this.gos.assertModuleRegistered(Z,`AG Grid '${$}' component: ${z}`);else j(101,{propertyName:$,componentName:z,agGridDefaults:Q,jsComps:J})}missingDynamicBean($){let z=eD[$];return z?$$(200,{...this.gos.getModuleErrorParams(),moduleName:z,reasonOrId:$}):void 0}checkRowEvents($){if(XF.has($))j(10,{eventType:$})}validateIcon($){if(QF.has($))j(43,{iconName:$});if($F[$])return;let z=zF[$];if(z){e(200,{reasonOrId:`icon '${$}'`,moduleName:z,gridScoped:x2(),gridId:this.beans.context.getId(),rowModelType:this.gos.get("rowModelType"),additionalText:"Alternatively, use the CSS icon name directly."});return}j(134,{iconName:$})}isProvidedUserComp($){return!!BQ[$]}validateColDef($){this.processOptions($,iB())}processOptions($,z){let{validations:Q,deprecations:J,allProperties:Z,propertyExceptions:X,objectName:Y,docsUrl:q}=z;if(Z&&this.gridOptions.suppressPropertyNamesCheck!==!0)this.checkProperties($,[...X??[],...Object.keys(J)],Z,Y,q);let G=new Set;if(Object.keys($).forEach((H)=>{let U=J[H];if(U){let{message:F,version:M}=U;G.add(`As of v${M}, ${String(H)} is deprecated. ${F??""}`)}let W=$[H];if(W==null||W===!1)return;let B=Q[H];if(!B)return;let{dependencies:E,validate:K,supportedRowModels:L,expectedType:D}=B;if(D){let F=typeof W;if(F!==D){G.add(`${String(H)} should be of type '${D}' but received '${F}' (${W}).`);return}}if(L){let F=this.gridOptions.rowModelType??"clientSide";if(!L.includes(F)){G.add(`${String(H)} is not supported with the '${F}' row model. It is only valid with: ${L.join(", ")}.`);return}}if(E){let F=this.checkForRequiredDependencies(H,E,$);if(F){G.add(F);return}}if(K){let F=K($,this.gridOptions,this.beans);if(F){G.add(F);return}}}),G.size>0)for(let H of G)zz(H)}checkForRequiredDependencies($,z,Q){let Z=Object.entries(z).filter(([X,Y])=>{let q=Q[X];return!Y.required.includes(q)});if(Z.length===0)return null;return Z.map(([X,Y])=>`'${String($)}' requires '${X}' to be one of [${Y.required.map((q)=>{if(q===null)return"null";else if(q===void 0)return"undefined";return q}).join(", ")}]. ${Y.reason??""}`).join(`
`)}checkProperties($,z,Q,J,Z){let X=["__ob__","__v_skip","__metadata__"],Y=ZF(Object.getOwnPropertyNames($),[...X,...z,...Q],Q),q=Object.keys(Y);for(let G of q){let _=Y[G],H=`invalid ${J} property '${G}' did you mean any of these: ${_.slice(0,8).join(", ")}.`;if(Q.includes("context"))H+=`
If you are trying to annotate ${J} with application data, use the '${J}.context' property instead.`;zz(H)}if(q.length>0&&Z){let G=this.beans.frameworkOverrides.getDocLink(Z);zz(`to see all the valid ${J} properties please check: ${G}`)}}};function ZF($,z,Q){let J={},Z=$.filter((X)=>!z.some((Y)=>Y===X));if(Z.length>0)for(let X of Z)J[X]=F2({inputValue:X,allSuggestions:Q}).values;return J}var XF=new Set(["firstChildChanged","lastChildChanged","childIndexChanged"]),j9={moduleName:"Validation",version:p,beans:[JF]};var RQ=class extends S{constructor(){super(...arguments);this.dispatchColumnChangedEvent=F8,this.columns=[],this.columnIndexMap={},this.updateIndexMap=()=>{this.columnIndexMap={},this.columns.forEach(($,z)=>this.columnIndexMap[$.getId()]=z)}}wireBeans($){this.colModel=$.colModel,this.aggFuncSvc=$.aggFuncSvc,this.visibleCols=$.visibleCols,this.groupHierarchCols=$.groupHierarchyColSvc}sortColumns($){let{groupHierarchCols:z}=this;this.columns.sort((Q,J)=>z?.compareVirtualColumns(Q,J)??$(Q,J)),this.updateIndexMap()}setColumns($,z){this.setColList($,this.columns,this.eventName,!0,!0,this.columnProcessors.set,z)}addColumns($,z){this.updateColList($,this.columns,!0,!0,this.columnProcessors.add,this.eventName,z)}removeColumns($,z){this.updateColList($,this.columns,!1,!0,this.columnProcessors.remove,this.eventName,z)}getColumnIndex($){return this.columnIndexMap[$]}setColList($=[],z,Q,J,Z,X,Y){let q=this.colModel.getCols();if(!q||q.length===0)return;let G=new Map;z.forEach((H,U)=>G.set(H,U)),z.length=0;for(let H of $){let U=this.colModel.getColDefCol(H);if(U)z.push(U)}z.forEach((H,U)=>{let W=G.get(H);if(W===void 0){G.set(H,0);return}if(J&&W!==U)return;G.delete(H)}),this.updateIndexMap();let _=this.colModel.getColDefCols();for(let H of _??[]){let U=z.indexOf(H)>=0;X(H,U,Y)}if(Z)this.colModel.refreshCols(!1,Y);this.visibleCols.refresh(Y),this.dispatchColumnChangedEvent(this.eventSvc,Q,[...G.keys()],Y)}updateColList($=[],z,Q,J,Z,X,Y){if(!$||$.length===0)return;let q=!1,G=new Set;for(let H of $){if(!H)continue;let U=this.colModel.getColDefCol(H);if(!U)continue;if(G.add(U),Q){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++)G.add(z[B]);Z0(z,U)}Z(U,Q,Y),q=!0}if(!q)return;if(this.updateIndexMap(),J)this.colModel.refreshCols(!1,Y);this.visibleCols.refresh(Y);let _=Array.from(G);this.eventSvc.dispatchEvent({type:X,columns:_,column:_.length===1?_[0]:null,source:Y})}extractCols($,z=[]){let Q=this.columns,J=[],Z=[],{setFlagFunc:X,getIndexFunc:Y,getInitialIndexFunc:q,getValueFunc:G,getInitialValueFunc:_}=this.columnExtractors,H=this.colModel.getColDefCols();for(let K of H??[]){let L=!z.includes(K),D=K.getColDef(),F=G(D),M=_(D),k=Y(D),V=q(D),R,O=F!==void 0,I=k!==void 0,v=M!==void 0,C=V!==void 0;if(O)R=F;else if(I)if(k===null)R=!1;else R=k>=0;else if(L)if(v)R=M;else if(C)R=V!=null&&V>=0;else R=!1;else R=Q.indexOf(K)>=0;if(R)if(L?k!=null||V!=null:k!=null)J.push(K);else Z.push(K)}let U=(K)=>{let L=K.getColDef();return Y(L)??q(L)};J.sort((K,L)=>U(K)-U(L));let W=[],B=this.groupHierarchCols,E=(K)=>{if(B)B.expandColumnInto(W,K);else W.push(K)};J.forEach(E);for(let K of Q)if(Z.indexOf(K)>=0)E(K);for(let K of Z)if(W.indexOf(K)<0)E(K);for(let K of Q)if(W.indexOf(K)<0)X(K,!1,$);for(let K of W)if(Q.indexOf(K)<0)X(K,!0,$);return this.columns=W,this.updateIndexMap(),this.columns}restoreColumnOrder($,z){let Q=this.columns,J=this.colModel.getColDefCols();if(!Q.length||!J)return $;let Z=Object.keys(z),X=new Set(Z),Y=new Set(Z),q=new Set(Q.map((M)=>{let k=M.getColId();return Y.delete(k),k}).concat(Z)),G=[],_={},H=0;for(let M=0;M<J.length;M++){let k=J[M].getColId();if(q.has(k))G.push(k),_[k]=H++}let U=1000,W=!1,B=0,E=this.columnOrdering.enableProp,K=this.columnOrdering.initialEnableProp,L=this.columnOrdering.indexProp,D=this.columnOrdering.initialIndexProp,F=(M)=>{let k=_[M];for(let V=B;V<k;V++){let R=G[V];if(Y.has(R))z[R][L]=U++,Y.delete(R)}B=k};for(let M of Q){let k=M.getColId();if(X.has(k))F(k),z[k][L]=U++;else{let V=M.getColDef();if(V[L]===null||V[L]===void 0&&V[D]==null){if(!W)if(V[E]||V[E]===void 0&&V[K])F(k);else{for(let I of Y)z[I][L]=U+_[I];U+=G.length,W=!0}if(!$[k])$[k]={colId:k};$[k][L]=U++}}}return $}};var YF='.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)}',N4=class extends K4{constructor($){super($,"ag-toggle-button");this.registerCSS(YF)}setValue($,z){return super.setValue($,z),this.toggleCss("ag-selected",this.getValue()),this}},f9={selector:"AG-TOGGLE-BUTTON",component:N4};var qF=class{constructor(){this.ieCompatibility=!1}init(){this.ieCompatibility=this.md5("hello")!="5d41402abc4b2a76b9719d911017c592"}md5cycle($,z){let Q=$[0],J=$[1],Z=$[2],X=$[3];Q=this.ff(Q,J,Z,X,z[0],7,-680876936),X=this.ff(X,Q,J,Z,z[1],12,-389564586),Z=this.ff(Z,X,Q,J,z[2],17,606105819),J=this.ff(J,Z,X,Q,z[3],22,-1044525330),Q=this.ff(Q,J,Z,X,z[4],7,-176418897),X=this.ff(X,Q,J,Z,z[5],12,1200080426),Z=this.ff(Z,X,Q,J,z[6],17,-1473231341),J=this.ff(J,Z,X,Q,z[7],22,-45705983),Q=this.ff(Q,J,Z,X,z[8],7,1770035416),X=this.ff(X,Q,J,Z,z[9],12,-1958414417),Z=this.ff(Z,X,Q,J,z[10],17,-42063),J=this.ff(J,Z,X,Q,z[11],22,-1990404162),Q=this.ff(Q,J,Z,X,z[12],7,1804603682),X=this.ff(X,Q,J,Z,z[13],12,-40341101),Z=this.ff(Z,X,Q,J,z[14],17,-1502002290),J=this.ff(J,Z,X,Q,z[15],22,1236535329),Q=this.gg(Q,J,Z,X,z[1],5,-165796510),X=this.gg(X,Q,J,Z,z[6],9,-1069501632),Z=this.gg(Z,X,Q,J,z[11],14,643717713),J=this.gg(J,Z,X,Q,z[0],20,-373897302),Q=this.gg(Q,J,Z,X,z[5],5,-701558691),X=this.gg(X,Q,J,Z,z[10],9,38016083),Z=this.gg(Z,X,Q,J,z[15],14,-660478335),J=this.gg(J,Z,X,Q,z[4],20,-405537848),Q=this.gg(Q,J,Z,X,z[9],5,568446438),X=this.gg(X,Q,J,Z,z[14],9,-1019803690),Z=this.gg(Z,X,Q,J,z[3],14,-187363961),J=this.gg(J,Z,X,Q,z[8],20,1163531501),Q=this.gg(Q,J,Z,X,z[13],5,-1444681467),X=this.gg(X,Q,J,Z,z[2],9,-51403784),Z=this.gg(Z,X,Q,J,z[7],14,1735328473),J=this.gg(J,Z,X,Q,z[12],20,-1926607734),Q=this.hh(Q,J,Z,X,z[5],4,-378558),X=this.hh(X,Q,J,Z,z[8],11,-2022574463),Z=this.hh(Z,X,Q,J,z[11],16,1839030562),J=this.hh(J,Z,X,Q,z[14],23,-35309556),Q=this.hh(Q,J,Z,X,z[1],4,-1530992060),X=this.hh(X,Q,J,Z,z[4],11,1272893353),Z=this.hh(Z,X,Q,J,z[7],16,-155497632),J=this.hh(J,Z,X,Q,z[10],23,-1094730640),Q=this.hh(Q,J,Z,X,z[13],4,681279174),X=this.hh(X,Q,J,Z,z[0],11,-358537222),Z=this.hh(Z,X,Q,J,z[3],16,-722521979),J=this.hh(J,Z,X,Q,z[6],23,76029189),Q=this.hh(Q,J,Z,X,z[9],4,-640364487),X=this.hh(X,Q,J,Z,z[12],11,-421815835),Z=this.hh(Z,X,Q,J,z[15],16,530742520),J=this.hh(J,Z,X,Q,z[2],23,-995338651),Q=this.ii(Q,J,Z,X,z[0],6,-198630844),X=this.ii(X,Q,J,Z,z[7],10,1126891415),Z=this.ii(Z,X,Q,J,z[14],15,-1416354905),J=this.ii(J,Z,X,Q,z[5],21,-57434055),Q=this.ii(Q,J,Z,X,z[12],6,1700485571),X=this.ii(X,Q,J,Z,z[3],10,-1894986606),Z=this.ii(Z,X,Q,J,z[10],15,-1051523),J=this.ii(J,Z,X,Q,z[1],21,-2054922799),Q=this.ii(Q,J,Z,X,z[8],6,1873313359),X=this.ii(X,Q,J,Z,z[15],10,-30611744),Z=this.ii(Z,X,Q,J,z[6],15,-1560198380),J=this.ii(J,Z,X,Q,z[13],21,1309151649),Q=this.ii(Q,J,Z,X,z[4],6,-145523070),X=this.ii(X,Q,J,Z,z[11],10,-1120210379),Z=this.ii(Z,X,Q,J,z[2],15,718787259),J=this.ii(J,Z,X,Q,z[9],21,-343485551),$[0]=this.add32(Q,$[0]),$[1]=this.add32(J,$[1]),$[2]=this.add32(Z,$[2]),$[3]=this.add32(X,$[3])}cmn($,z,Q,J,Z,X){return z=this.add32(this.add32(z,$),this.add32(J,X)),this.add32(z<<Z|z>>>32-Z,Q)}ff($,z,Q,J,Z,X,Y){return this.cmn(z&Q|~z&J,$,z,Z,X,Y)}gg($,z,Q,J,Z,X,Y){return this.cmn(z&J|Q&~J,$,z,Z,X,Y)}hh($,z,Q,J,Z,X,Y){return this.cmn(z^Q^J,$,z,Z,X,Y)}ii($,z,Q,J,Z,X,Y){return this.cmn(Q^(z|~J),$,z,Z,X,Y)}md51($){let z=$.length,Q=[1732584193,-271733879,-1732584194,271733878],J;for(J=64;J<=$.length;J+=64)this.md5cycle(Q,this.md5blk($.substring(J-64,J)));$=$.substring(J-64);let Z=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(J=0;J<$.length;J++)Z[J>>2]|=$.charCodeAt(J)<<(J%4<<3);if(Z[J>>2]|=128<<(J%4<<3),J>55){this.md5cycle(Q,Z);for(J=0;J<16;J++)Z[J]=0}return Z[14]=z*8,this.md5cycle(Q,Z),Q}md5blk($){let z=[];for(let Q=0;Q<64;Q+=4)z[Q>>2]=$.charCodeAt(Q)+($.charCodeAt(Q+1)<<8)+($.charCodeAt(Q+2)<<16)+($.charCodeAt(Q+3)<<24);return z}rhex($){let z="0123456789abcdef".split(""),Q="",J=0;for(;J<4;J++)Q+=z[$>>J*8+4&15]+z[$>>J*8&15];return Q}hex($){for(let z=0;z<$.length;z++)$[z]=this.rhex($[z]);return $.join("")}md5($){return this.hex(this.md51($))}add32($,z){return this.ieCompatibility?this.add32Compat($,z):this.add32Std($,z)}add32Std($,z){return $+z&4294967295}add32Compat($,z){let Q=($&65535)+(z&65535);return($>>16)+(z>>16)+(Q>>16)<<16|Q&65535}},rJ={"01":"GRID","02":"CHARTS","0102":"BOTH"};var HX=class ${constructor(z){this.watermarkMessage=void 0,this.totalMessageLength=124,this.document=z,this.md5=new qF,this.md5.init()}validateLicense(){let z=this.getLicenseDetails($.licenseKey),Q=`AG Grid ${z.currentLicenseType==="BOTH"?"and AG Charts ":""}Enterprise`,J=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(Q)}else if(z.expired){let Z=$.getGridReleaseDate(),X=$.formatDate(Z);this.outputExpiredKey(z.expiry,X,Q,J)}else if(!z.valid)this.outputInvalidLicenseKey(!!z.incorrectLicenseType,Q,J);else if(z.isTrial&&z.trialExpired)this.outputExpiredTrialKey(z.expiry,Q,J)}static extractExpiry(z){let Q=z.substring(z.lastIndexOf("_")+1,z.length);return new Date(parseInt($.decode(Q),10))}static extractLicenseComponents(z){let Q=z.replace(/[\u200B-\u200D\uFEFF]/g,"");if(Q=Q.replace(/\r?\n|\r/g,""),z.length<=32)return{md5:null,license:z,version:null,isTrial:null};let J=Q.length-32,Z=Q.substring(J),X=Q.substring(0,J),[Y,q,G]=$.extractBracketedInformation(Q);return{md5:Z,license:X,version:Y,isTrial:q,type:G}}getLicenseDetails(z){let Q=$.chartsLicenseManager?"BOTH":"GRID";if(!z?.length)return{licenseKey:z,valid:!1,missing:!0,currentLicenseType:Q};let J=$.getGridReleaseDate(),{md5:Z,license:X,version:Y,isTrial:q,type:G}=$.extractLicenseComponents(z),_=Z===this.md5.md5(X)&&!z.includes("For_Trialing_ag-Grid_Only"),H=void 0,U=void 0,W=null,B=!1,E=void 0;function K(){H=W<new Date,U=void 0}if(_){if(W=$.extractExpiry(X),_=!isNaN(W.getTime()),_)switch(U=J>W,Y){case"legacy":case"2":{if(q)K();break}case"3":if(!G?.length)_=!1;else if(E=G,G!==rJ["01"]&&G!==rJ["0102"]||Q==="BOTH"&&E!=="BOTH")_=!1,B=!0;else if(q)K()}}if(!_)return{licenseKey:z,valid:_,incorrectLicenseType:B,currentLicenseType:Q,suppliedLicenseType:E};return{licenseKey:z,valid:_,expiry:$.formatDate(W),expired:U,version:Y,isTrial:q,trialExpired:H,incorrectLicenseType:B,currentLicenseType:Q,suppliedLicenseType:E}}isDisplayWatermark(){return this.isForceWatermark()||!this.isLocalhost()&&!this.isWebsiteUrl()&&!!this.watermarkMessage?.length}getWatermarkMessage(){return this.watermarkMessage||""}getHostname(){let Q=(this.document.defaultView||window).location,{hostname:J=""}=Q;return J}isForceWatermark(){let Q=(this.document.defaultView||window).location,{pathname:J}=Q;return J?J.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 Q=["January","February","March","April","May","June","July","August","September","October","November","December"],J=z.getDate(),Z=z.getMonth(),X=z.getFullYear();return J+" "+Q[Z]+" "+X}static getGridReleaseDate(){return new Date(parseInt($.decode($.RELEASE_INFORMATION),10))}static decode(z){let J="",Z,X,Y,q,G,_,H,U=0,W=z.replace(/[^A-Za-z0-9+/=]/g,"");while(U<W.length){if(q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(W.charAt(U++)),G="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(W.charAt(U++)),_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(W.charAt(U++)),H="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(W.charAt(U++)),Z=q<<2|G>>4,X=(G&15)<<4|_>>2,Y=(_&3)<<6|H,J=J+String.fromCharCode(Z),_!=64)J=J+String.fromCharCode(X);if(H!=64)J=J+String.fromCharCode(Y)}return J=$.utf8_decode(J),J}static utf8_decode(z){z=z.replace(/rn/g,"n");let Q="";for(let J=0;J<z.length;J++){let Z=z.charCodeAt(J);if(Z<128)Q+=String.fromCharCode(Z);else if(Z>127&&Z<2048)Q+=String.fromCharCode(Z>>6|192),Q+=String.fromCharCode(Z&63|128);else Q+=String.fromCharCode(Z>>12|224),Q+=String.fromCharCode(Z>>6&63|128),Q+=String.fromCharCode(Z&63|128)}return Q}static setChartsLicenseManager(z){this.chartsLicenseManager=z,this.chartsLicenseManager?.setLicenseKey(this.licenseKey,!0)}static setLicenseKey(z){if(T(this.licenseKey)&&this.licenseKey!==z)z7(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 Q=z.match(/\[(.*?)\]/g).map((q)=>q.replace("[","").replace("]",""));if(!Q||Q.length===0)return["legacy",!1,void 0];let J=Q.filter((q)=>q==="TRIAL").length===1,Z=Q.filter((q)=>q.indexOf("v")===0)[0],X=Z?Z.replace("v",""):"legacy",Y=rJ[Q.filter((q)=>rJ[q])[0]];return[X,J,Y]}centerPadAndOutput(z){let Q=this.totalMessageLength-z.length}padAndOutput(z,Q="*",J=""){}outputInvalidLicenseKey(z,Q,J){}outputExpiredTrialKey(z,Q,J){}outputMissingLicenseKey(z){}outputExpiredKey(z,Q,J,Z){}};HX.RELEASE_INFORMATION="MTc3NDQyNTc0Nzc3NQ==";var lJ=HX,GF='.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}',_F={tag:"div",cls:"ag-watermark",children:[{tag:"div",ref:"eLicenseTextRef",cls:"ag-watermark-text"}]},HF=class extends x{constructor(){super(_F);this.eLicenseTextRef=f,this.registerCSS(GF)}wireBeans($){this.licenseManager=$.licenseManager}postConstruct(){let $=this.shouldDisplayWatermark();if(this.setDisplayed($),$)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()}},UF={selector:"AG-WATERMARK",component:HF},O9=class extends S{constructor(){super(...arguments);this.beanName="licenseManager"}postConstruct(){this.validateLicense()}validateLicense(){let $=this.beans;if($.withinStudio)this.licenseManager={isDisplayWatermark:()=>!1,getWatermarkMessage:()=>""};else{let z=new lJ(Y0($));this.licenseManager=z,z.validateLicense()}}static getLicenseDetails($){return new lJ(null).getLicenseDetails($)}getWatermarkSelector(){return UF}isDisplayWatermark(){return this.licenseManager.isDisplayWatermark()}getWatermarkMessage(){return this.licenseManager.getWatermarkMessage()}static setLicenseKey($){lJ.setLicenseKey($)}static setChartsLicenseManager($){lJ.setChartsLicenseManager($)}},WF=9525,P9={"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},aJ=`\r
`;function T9($,z,Q){if(!z&&z!==""&&z!==0)return"";let J=z;if(typeof z==="boolean"){if(Q)J=Q(z)}return` ${$}="${J}"`}function BF($={}){let J=["version"];if(!$.version)$.version="1.0";if($.encoding)J.push("encoding");if($.standalone)J.push("standalone");return`<?xml ${J.map((X)=>`${X}="${$[X]}"`).join(" ")} ?>`}function UX($,z){let Q="";if($.properties){if($.properties.prefixedAttributes)$.properties.prefixedAttributes.forEach((Z)=>{for(let X of Object.keys(Z.map))Q+=T9(Z.prefix+X,Z.map[X],z)});if($.properties.rawMap)for(let Z of Object.keys($.properties.rawMap))Q+=T9(Z,$.properties.rawMap[Z],z)}let J="<"+$.name+Q;if(!$.children&&$.textNode==null)return J+"/>"+aJ;if($.textNode!=null)return J+">"+$.textNode+"</"+$.name+">"+aJ;if(J+=">"+aJ,$.children)for(let Z of $.children)J+=UX(Z,z);return J+"</"+$.name+">"+aJ}var EF=($)=>{return Math.round($*96/72)},jQ=($)=>{return Math.ceil($*WF)},KF=($)=>{if($===void 0)return;let Q=["Automatic","Roman","Swiss","Modern","Script","Decorative"].indexOf($||"Automatic");return Math.max(Q,0)},QZ=($,z)=>{if(!z)return;let Q;if(typeof z==="number")Q=z;else Q=z({rowIndex:$});return Q},LF=($,z)=>{let{colSpan:Q,column:J}=$.position;if(!$.width)return;if(Q){let Z=z.slice(J-1,J+Q-1),X=0;for(let Y=0;Y<Z.length;Y++){let q=Z[Y].getActualWidth();if($.width<X+q){$.position.colSpan=Y+1,$.totalWidth=$.width,$.width=$.totalWidth-X;break}X+=q}}else $.totalWidth=$.width},DF=($,z)=>{let{rowSpan:Q,row:J}=$.position;if(!$.height)return;if(Q){let Z=0,X=0;for(let Y=J;Y<J+Q;Y++){let q=EF(QZ(Y,z)||20);if($.height<Z+q){$.position.rowSpan=X+1,$.totalHeight=$.height,$.height=$.totalHeight-Z;break}Z+=q,X++}}else $.totalHeight=$.height},y0=($,z)=>{let Q=BF({encoding:"UTF-8",standalone:"yes"}),J=UX($);if(z)return J;return`${Q}${J}`},az=($)=>{let J=String.fromCharCode,Z=Math.floor($/26),X=$%26;if(!Z||$===26)return J(65+$-1);if(!X)return az(Z-1)+"Z";if(Z<26)return J(65+Z-1)+J(65+X-1);return az(Z)+J(65+X-1)},FF=($)=>{return $.replaceAll(`
`,"_x000a_")},qZ=($)=>{if($==null)return null;let z="";for(let Q=0;Q<$.length;Q++){let J=$.charCodeAt(Q);if(J>=0&&J<=31&&J!==10){let Y=`_x${J.toString(16).toUpperCase().padStart(4,"0")}_`;z+=Y}else z+=$[Q]}return z},MF=($)=>{let z=[];for(let Q of $.keys()){let J=Q.toString(),Z={name:"t",textNode:W0(qZ(J))};if(J.trim().length!==J.length)Z.properties={rawMap:{"xml:space":"preserve"}};z.push({name:"si",children:[Z]})}return z},kF=class extends P4{constructor($){super($);this.mixedStyles={},this.mixedStyleCounter=0,this.rows=[],this.frozenRowCount=0,this.skipFrozenRows=!1,this.frozenColumnCount=0,this.skipFrozenColumns=!1,this.formulaSvc=$.formulaSvc,this.config=Object.assign({},$),this.workbook=$.workbook,this.stylesByIds={};for(let Q of this.config.baseExcelStyles)this.stylesByIds[Q.id]=Q;let z={id:"_quotePrefix",quotePrefix:1};this.stylesByIds[z.id]=z,this.excelStyles=[...this.config.baseExcelStyles,z]}addCustomContent($){for(let z of $){let Q=this.rows.length+1,J;if(!this.config.suppressRowOutline&&z.outlineLevel!=null)J=z.outlineLevel;let Z={height:QZ(Q,z.height||this.config.rowHeight),cells:(z.cells||[]).map((X,Y)=>{let q=this.addImage(Q,this.columnsToExport[Y],X.data?.value),G=null;if(X.styleId)G=typeof X.styleId==="string"?[X.styleId]:X.styleId;let _=this.getStyleId(G);if(q)return this.createCell(_,this.getDataTypeForValue(q.value),q.value==null?"":q.value);let H=X.data?.value??"",U=this.getDataTypeForValue(H);if(X.mergeAcross)return this.createMergedCell(_,U,H,X.mergeAcross);return this.createCell(_,U,H)}),outlineLevel:J};if(z.collapsed!=null)Z.collapsed=z.collapsed;if(z.hidden!=null)Z.hidden=z.hidden;this.rows.push(Z)}}onNewHeaderGroupingRow(){let $=[],{freezeRows:z,headerRowHeight:Q}=this.config;if(this.rows.push({cells:$,height:QZ(this.rows.length+1,Q)}),z)this.frozenRowCount++;return{onColumn:(J,Z,X,Y,q)=>{let G=this.config.styleLinker({rowType:"HEADER_GROUPING",rowIndex:1,value:`grouping-${Z}`,columnGroup:J});$.push({...this.createMergedCell(this.getStyleId(G),this.getDataTypeForValue("string"),Z,Y),collapsibleRanges:q})}}}onNewHeaderRow(){let{freezeRows:$,headerRowHeight:z}=this.config;if($)this.frozenRowCount++;return this.onNewRow(this.onNewHeaderColumn,z)}onNewBodyRow($){let{freezeRows:z,rowHeight:Q}=this.config;if(!this.skipFrozenRows)if(z==="headersAndPinnedRows"&&$?.rowPinned==="top")this.frozenRowCount++;else if(typeof z==="function")if(z(y(this.gos,{node:$})))this.frozenRowCount++;else this.skipFrozenRows=!0;else this.skipFrozenRows=!0;let J=this.onNewRow(this.onNewBodyColumn,Q);if($)this.addRowOutlineIfNecessary($);return J}prepare($){super.prepare($),this.columnsToExport=[...$],this.cols=$.map((z,Q)=>this.convertColumnToExcel(z,Q))}parse(){let $=this.rows.reduce((Q,J)=>Math.max(Q,J.cells.length),0);while(this.cols.length<$)this.cols.push(this.convertColumnToExcel(null,this.cols.length+1));let z=this.createWorksheet();return this.addWorksheetToWorkbook(z)}createWorksheet(){let{sheetName:$}=this.config,z;if($!=null){let Q=typeof $==="function"?$(y(this.gos,{})):$;z=String(Q).substring(0,31)}else z="ag-grid";return{name:z,table:{columns:this.cols,rows:this.rows}}}addRowOutlineIfNecessary($){let{gos:z,suppressRowOutline:Q,rowGroupExpandState:J="expanded"}=this.config;if(z.get("groupHideOpenParents")||Q||$.level==null)return;let X=$.footer?1:0,Y=b(this.rows);if($.uiLevel==null||$.level===$.uiLevel){let G=Math.min($.level+X,7);Y.outlineLevel=G}if(J==="expanded")return;let q=J==="collapsed";if($.isExpandable()){let G=!q&&$.expanded;Y.collapsed=!G}Y.hidden=!!$.parent&&$.parent.level!==-1&&(q||this.isAnyParentCollapsed($.parent))}isAnyParentCollapsed($){while($&&$.level!==-1){if(!$.expanded)return!0;$=$.parent}return!1}convertColumnToExcel($,z){let Q=this.config.columnWidth,Z=($?this.extractHeaderValue($):void 0)??"",X=$?$.isFilterAllowed():!1;if(Q){if(typeof Q==="number")return{width:Q,displayName:Z,filterAllowed:X};return{width:Q({column:$,index:z}),displayName:Z,filterAllowed:X}}if($)return{width:Math.max($.getActualWidth(),75),displayName:Z,filterAllowed:X};return{displayName:Z,filterAllowed:X}}onNewHeaderColumn($,z){return(Q)=>{let J=this.extractHeaderValue(Q),Z=this.config.styleLinker({rowType:"HEADER",rowIndex:$,value:J,column:Q});z.push(this.createCell(this.getStyleId(Z),this.getDataTypeForValue("string"),J))}}onNewBodyColumn($,z){let Q=0,{freezeColumns:J,rightToLeft:Z}=this.config;return(X,Y,q)=>{if(Q>0){Q-=1;return}if(!this.skipFrozenColumns){let L=X.getPinned();if(J==="pinned"&&L&&(L===!0||L==="left")!==Z)this.frozenColumnCount++;else if(typeof J==="function"&&J(y(this.gos,{column:X})))this.frozenColumnCount++;else this.skipFrozenColumns=!0}let{value:G,valueFormatted:_}=this.extractRowCellValue({column:X,node:q,currentColumnIndex:Y,accumulatedRowIndex:$,type:"excel",useRawFormula:!0}),H=G,U=typeof H==="bigint"?H.toString():H,W=this.config.styleLinker({rowType:"BODY",rowIndex:$,value:H,column:X,node:q}),B=this.getStyleId(W),E=X.getColSpan(q),K=this.addImage($,X,U);if(K)z.push(this.createCell(B,this.getDataTypeForValue(K.value),K.value==null?"":K.value));else if(E>1)Q=E-1,z.push(this.createMergedCell(B,this.getDataTypeForValue(H),U,E-1));else{let L=X.isAllowFormula()&&this.formulaSvc?.isFormula(U),D=this.createCell(B,L?"f":this.getDataTypeForValue(H),L?this.formulaSvc?.updateFormulaByOffset({value:U,rowDelta:$-(q.formulaRowIndex+1),useRefFormat:!1}):U,_);z.push(D)}}}onNewRow($,z){let Q=[];return this.rows.push({cells:Q,height:QZ(this.rows.length+1,z)}),{onColumn:$.bind(this,this.rows.length,Q)()}}addWorksheetToWorkbook($){let{excelStyles:z,config:Q}=this;if(this.mapSharedStrings($),this.frozenColumnCount)Q.frozenColumnCount=this.frozenColumnCount;if(this.frozenRowCount)Q.frozenRowCount=this.frozenRowCount;return this.workbook.addWorksheet(z,$,Q)}mapSharedStrings($){let z;for(let Q of $.table.rows)for(let J of Q.cells){let Z=J.data;if(!Z||Z.type!=="s")continue;let X=Z.value;if(X==null)continue;if(X===""){z??(z=this.workbook.getStringPosition("").toString()),Z.value=z;continue}Z.value=this.workbook.getStringPosition(String(X)).toString()}}getDataTypeForValue($){if($===void 0)return"empty";let z="s";try{if(this.isNumerical($))z="n"}catch(Q){}return z}getTypeFromStyle($,z){if(this.isFormula(z))return"f";if($?.dataType)switch($.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:j(162,{id:$.id,dataType:$.dataType})}return null}addImage($,z,Q){if(!this.config.addImageToCell)return;let J=this.config.addImageToCell($,z,Q);if(!J)return;return this.workbook.addBodyImageToMap(J.image,$,z,this.columnsToExport,this.config.rowHeight),J}createCell($,z,Q,J){let Z=this.getStyleById($);if(!Z?.dataType&&z==="s"&&J!=null)Q=J;let X=this.getTypeFromStyle(Z,Q)||z,{value:Y,escaped:q}=this.getCellValue(X,Q),G=[];if(Z)G.push($);if(q)G.push("_quotePrefix");return $=this.getStyleId(G)||void 0,{styleId:$,data:{type:X,value:Y}}}createMergedCell($,z,Q,J){let Z=Q==null?"":Q;return{styleId:this.getStyleById($)?$:void 0,data:{type:z,value:z==="s"?String(Z):Q},mergeAcross:J}}getCellValue($,z){let Q=!1;if(z==null||$==="s"&&z==="")return{value:"",escaped:!1};if($==="s"){if(z=String(z),z[0]==="'")Q=!0,z=z.slice(1)}else if($==="f")z=this.addXlfnPrefix(z).slice(1);else if($==="n"){let J=Number(z);if(isNaN(J))z="";else if(z!=="")z=J.toString()}return{value:z,escaped:Q}}addXlfnPrefix($){if(!$)return $;let z=/(^|[^A-Z0-9._])(CONCAT)(\s*\()/gi;return $.replace(z,(Q,J,Z,X)=>`${J}_xlfn.${Z}${X}`)}getStyleId($){if(!$?.length)return null;let z=$.filter((J)=>this.stylesByIds[J]!=null);if(!z.length)return null;if(z.length===1)return z[0];let Q=z.join("-");if(!this.mixedStyles[Q])this.addNewMixedStyle(z);return this.mixedStyles[Q].excelID}addNewMixedStyle($){this.mixedStyleCounter+=1;let z=`mixedStyle${this.mixedStyleCounter}`,Q={};for(let Z of $){let X=this.stylesByIds[Z];if(X)B0(Q,X,!0,!0)}Q.id=z;let J=$.join("-");this.mixedStyles[J]={excelID:z,key:J,result:Q},this.excelStyles.push(Q),this.stylesByIds[z]=Q}isFormula($){if($==null)return!1;let z=String($);return this.config.autoConvertFormulas&&o1(z)}isNumerical($){if(typeof $==="bigint")return!1;return isFinite($)&&$!==""&&!isNaN(parseFloat($))}getStyleById($){if($==null)return null;return this.stylesByIds[$]||null}},VF={getTemplate($){let{name:z,ContentType:Q,Extension:J,PartName:Z}=$;return{name:z,properties:{rawMap:{Extension:J,PartName:Z,ContentType:Q}}}}},AF=VF,KZ=($)=>$==="jpg"?"jpeg":$,SF={getTemplate({sheetLen:$,hasCustomProperties:z}){let Q=Array($).fill(void 0).map((U,W)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",PartName:`/xl/worksheets/sheet${W+1}.xml`})),J=Az.size,Z=d$.size,X={};TQ.forEach((U)=>{X[KZ(U.type)]=!0});let Y=Array(J).fill(void 0).map((U,W)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.drawing+xml",PartName:`/xl/drawings/drawing${W+1}.xml`})),q=[];w$.forEach(({name:U})=>{q.push({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",PartName:`/xl/tables/${U}.xml`})});let G=z?[{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.custom-properties+xml",PartName:"/docProps/custom.xml"}]:[],_=Object.keys(X).map((U)=>({name:"Default",ContentType:`image/${U}`,Extension:U}));if(Z)_.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"},...Q,{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,...q,{name:"Override",ContentType:"application/vnd.openxmlformats-package.core-properties+xml",PartName:"/docProps/core.xml"},...G].map((U)=>AF.getTemplate(U));return{name:"Types",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"}},children:H}}},RF=SF,jF={getTemplate($){let Q=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:$},{name:"dc:title",textNode:"Workbook"},{name:"dcterms:created",properties:{rawMap:{"xsi:type":"dcterms:W3CDTF"}},textNode:Q},{name:"dcterms:modified",properties:{rawMap:{"xsi:type":"dcterms:W3CDTF"}},textNode:Q}]}}},fF=jF,OF="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",PF=($)=>{return Object.keys($).filter((Q)=>Q&&$[Q]!=null).map((Q,J)=>({name:"property",properties:{rawMap:{fmtid:OF,pid:(J+2).toString(),name:W0(Q)??""}},children:[{name:"vt:lpwstr",textNode:W0(qZ(String($[Q])))??""}]}))},TF={getTemplate($){return{name:"Properties",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties","xmlns:vt":"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"}},children:PF($)}}},vF=TF,v9=($,z)=>({name:`xdr:${$}`,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()}]}),IF=($)=>{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($.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}},CF=($,z)=>({name:"xdr:nvPicPr",children:[{name:"xdr:cNvPr",properties:{rawMap:{id:z,name:$.id,descr:$.altText!=null?$.altText:void 0}},children:[IF($)]},{name:"xdr:cNvPicPr",properties:{rawMap:{preferRelativeResize:"0"}},children:[{name:"a:picLocks"}]}]}),I9=($)=>{if(!$.saturation&&!$.tint)return;let z=[];if($.saturation)z.push({name:"a:satMod",properties:{rawMap:{val:$.saturation*1000}}});if($.tint)z.push({name:"a:tint",properties:{rawMap:{val:$.tint*1000}}});return z},bF=($,z)=>{return{name:"a:duotone",children:[{name:"a:prstClr",properties:{rawMap:{val:$.color}},children:I9($)},{name:"a:srgbClr",properties:{rawMap:{val:z.color}},children:I9(z)}]}},yF=($,z)=>{let Q;if($.transparency){let J=Math.min(Math.max($.transparency,0),100);Q=[{name:"a:alphaModFix",properties:{rawMap:{amt:1e5-Math.round(J*1000)}}}]}if($.recolor){if(!Q)Q=[];switch($.recolor.toLocaleLowerCase()){case"grayscale":Q.push({name:"a:grayscl"});break;case"sepia":Q.push(bF({color:"black"},{color:"D9C3A5",tint:50,saturation:180}));break;case"washout":Q.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:Q},{name:"a:stretch",children:[{name:"a:fillRect"}]}]}},xF=($,z)=>{let Q={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($.rotation){let X=$.rotation;Q.properties={rawMap:{rot:Math.min(Math.max(X,0),360)*60000}}}return{name:"xdr:spPr",children:[Q,{name:"a:prstGeom",properties:{rawMap:{prst:"rect"}},children:[{name:"a:avLst"}]}]}},wF=($)=>{$.fitCell=!!$.fitCell||!$.width||!$.height;let{position:z={},fitCell:Q,width:J=0,height:Z=0,totalHeight:X,totalWidth:Y}=$,{offsetX:q=0,offsetY:G=0,row:_=1,rowSpan:H=1,column:U=1,colSpan:W=1}=z;return{from:{row:_-1,col:U-1,offsetX:jQ(q),offsetY:jQ(G)},to:{row:_-1+(Q?1:H-1),col:U-1+(Q?1:W-1),offsetX:jQ(J+q),offsetY:jQ(Z+G)},height:jQ(X||Z),width:jQ(Y||J)}},NF=($,z,Q,J)=>{return{name:"xdr:pic",children:[CF($,z+1),yF($,Q+1),xF($,J)]}},gF={getTemplate($){let{sheetIndex:z}=$,Q=Az.get(z),J=vQ.get(z),Z=Q.map((X,Y)=>{let q=wF(X);return{name:"xdr:twoCellAnchor",properties:{rawMap:{editAs:"absolute"}},children:[v9("from",q.from),v9("to",q.to),NF(X,Y,J.get(X.id).index,q),{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:Z}}},hF=gF,uF={getTemplate($){let{Id:z,Type:Q,Target:J}=$;return{name:"Relationship",properties:{rawMap:{Id:z,Type:Q,Target:J}}}}},mF=uF,cF={getTemplate($){let z=$.map((Q)=>mF.getTemplate(Q));return{name:"Relationships",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"}},children:z}}},I1=cF,pF={getTemplate($){return{name:"sst",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",count:$.size,uniqueCount:$.size}},children:MF($)}}},iF=pF,nF=($)=>{switch($){case 1:return"thin";case 2:return"medium";case 3:return"thick";default:return"hair"}},dF={None:"None",Dot:"Dotted",Dash:"Dashed",Double:"Double",DashDot:"DashDot",DashDotDot:"DashDotDot",SlantDashDot:"SlantDashDot",Continuous:"Continuous"},tF=["Dashed","DashDot","DashDotDot"],sF={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"},rF={Automatic:"general",Left:"left",Center:"center",Right:"right",Fill:"fill",Justify:"justify",CenterAcrossSelection:"centerContinuous",Distributed:"distributed",JustifyDistributed:"justify"},lF={Automatic:void 0,Top:"top",Bottom:"bottom",Center:"center",Justify:"justify",Distributed:"distributed",JustifyDistributed:"justify"},aF=($)=>{if(!$)return"none";return sF[$]||$},kz=($)=>{if($==null)return $;if($.charAt(0)==="#")$=$.substring(1);return $.length===6?"FF"+$:$},oJ=($,z)=>{if(!$)return"thin";let Q=nF(z);if($==="Continuous")return Q;let J=dF[$];if(Q==="medium"&&tF.some((Z)=>Z===J))return`medium${J}`;return`${J.charAt(0).toLowerCase()}${J.substring(1)}`},oF=($)=>{return rF[$]||"general"},eF=($)=>{return lF[$]||void 0},k1=($)=>{return{name:"color",properties:{rawMap:{rgb:kz($||"#000000")}}}},$M={getTemplate($){let{left:z,right:Q,top:J,bottom:Z,diagonal:X}=$,Y=z?[k1(z.color)]:void 0,q=Q?[k1(Q.color)]:void 0,G=J?[k1(J.color)]:void 0,_=Z?[k1(Z.color)]:void 0,H=X?[k1(X.color)]:void 0;return{name:"border",children:[{name:"left",properties:{rawMap:{style:z?.style}},children:Y},{name:"right",properties:{rawMap:{style:Q?.style}},children:q},{name:"top",properties:{rawMap:{style:J?.style}},children:G},{name:"bottom",properties:{rawMap:{style:Z?.style}},children:_},{name:"diagonal",properties:{rawMap:{style:X?.style}},children:H}]}}},zM=$M,QM={getTemplate($){return{name:"borders",properties:{rawMap:{count:$.length}},children:$.map((z)=>zM.getTemplate(z))}}},JM=QM,ZM=($)=>{let Q=["Context","LeftToRight","RightToLeft"].indexOf($);return Math.max(Q,0)},XM={getTemplate($){let{horizontal:z,indent:Q,readingOrder:J,rotate:Z,shrinkToFit:X,vertical:Y,wrapText:q}=$;return{name:"alignment",properties:{rawMap:{horizontal:z&&oF(z),indent:Q,readingOrder:J&&ZM(J),textRotation:Z,shrinkToFit:X,vertical:Y&&eF(Y),wrapText:q}}}}},YM=XM,qM={getTemplate($){let z=$.protected===!1?0:1;return{name:"protection",properties:{rawMap:{hidden:$.hideFormula===!0?1:0,locked:z}}}}},GM=qM,_M={getTemplate($){let{alignment:z,borderId:Q,fillId:J,fontId:Z,numFmtId:X,protection:Y,quotePrefix:q,xfId:G}=$,_=[];if(z)_.push(YM.getTemplate(z));if(Y)_.push(GM.getTemplate(Y));return{name:"xf",properties:{rawMap:{applyAlignment:z?1:void 0,applyProtection:Y?1:void 0,applyBorder:Q?1:void 0,applyFill:J?1:void 0,borderId:Q,fillId:J,applyFont:Z?1:void 0,fontId:Z,applyNumberFormat:X?1:void 0,numFmtId:X,quotePrefix:q?1:void 0,xfId:G}},children:_.length?_:void 0}}},WX=_M,HM={getTemplate($){return{name:"cellStyleXfs",properties:{rawMap:{count:$.length}},children:$.map((z)=>WX.getTemplate(z))}}},UM=HM,WM={getTemplate($){let{builtinId:z,name:Q,xfId:J}=$;return{name:"cellStyle",properties:{rawMap:{builtinId:z,name:Q,xfId:J}}}}},BM=WM,EM={getTemplate($){return{name:"cellStyles",properties:{rawMap:{count:$.length}},children:$.map((z)=>BM.getTemplate(z))}}},KM=EM,LM={getTemplate($){return{name:"cellXfs",properties:{rawMap:{count:$.length}},children:$.map((z)=>WX.getTemplate(z))}}},DM=LM,FM={getTemplate($){let{patternType:z,fgTheme:Q,fgTint:J,fgRgb:Z,bgRgb:X,bgIndexed:Y}=$,q={name:"patternFill",properties:{rawMap:{patternType:z}}};if(Q||J||Z)q.children=[{name:"fgColor",properties:{rawMap:{theme:Q,tint:J,rgb:Z}}}];if(Y||X){if(!q.children)q.children=[];q.children.push({name:"bgColor",properties:{rawMap:{indexed:Y,rgb:X}}})}return{name:"fill",children:[q]}}},MM=FM,kM={getTemplate($){return{name:"fills",properties:{rawMap:{count:$.length}},children:$.map((z)=>MM.getTemplate(z))}}},VM=kM,AM={getTemplate($){let{size:z,colorTheme:Q,color:J="FF000000",fontName:Z="Calibri",family:X,scheme:Y,italic:q,bold:G,strikeThrough:_,outline:H,shadow:U,underline:W,verticalAlign:B}=$,E=[{name:"sz",properties:{rawMap:{val:z}}},{name:"color",properties:{rawMap:{theme:Q,rgb:J}}},{name:"name",properties:{rawMap:{val:Z}}}];if(X)E.push({name:"family",properties:{rawMap:{val:X}}});if(Y)E.push({name:"scheme",properties:{rawMap:{val:Y}}});if(q)E.push({name:"i"});if(G)E.push({name:"b"});if(_)E.push({name:"strike"});if(H)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}}},SM=AM,RM={getTemplate($){return{name:"fonts",properties:{rawMap:{count:$.length}},children:$.map((z)=>SM.getTemplate(z))}}},jM=RM;function fM($){let z=$.split(/(\[[^\]]*\])/);for(let Q=0;Q<z.length;Q++){let J=z[Q];if(!J.length)continue;if(!J.startsWith("["))J=J.replace(/\$/g,'"$"');z[Q]=W0(J)}return z.join("")}var OM={getTemplate($){let{formatCode:z,numFmtId:Q}=$;if(z.length)z=fM(z);return{name:"numFmt",properties:{rawMap:{formatCode:z,numFmtId:Q}}}}},PM=OM,TM={getTemplate($){return{name:"numFmts",properties:{rawMap:{count:$.length}},children:$.map((z)=>PM.getTemplate(z))}}},vM=TM,GZ,fQ,S1,R1,j1,BX,_Z,EX,l4,KX=($,z)=>{if($.includes("mixedStyle")&&z>1)$+=`_${z}`;return $},LX=()=>{GZ={base:0},fQ=[],S1=[{fontName:"Calibri",colorTheme:"1",family:"2",scheme:"minor"}],R1=[{patternType:"none"},{patternType:"gray125"}],j1=[{left:void 0,right:void 0,top:void 0,bottom:void 0,diagonal:void 0}],BX=[{borderId:0,fillId:0,fontId:0,numFmtId:0}],_Z=[{borderId:0,fillId:0,fontId:0,numFmtId:0,xfId:0}],EX=[{builtinId:0,name:"Normal",xfId:0}]},IM=($)=>{let z=aF($.pattern),Q=kz($.color),J=kz($.patternColor),Z=R1.findIndex((X)=>{let{patternType:Y,fgRgb:q,bgRgb:G}=X;return!(Y!=z||q!=Q||G!=J)});if(Z===-1)Z=R1.length,R1.push({patternType:z,fgRgb:Q,bgRgb:J});return Z},CM=($)=>{if(P9[$])return P9[$];let z=fQ.findIndex((Q)=>Q.formatCode===$);if(z===-1)z=fQ.length+164,fQ.push({formatCode:$,numFmtId:z});else z=fQ[z].numFmtId;return z},bM=($)=>{let{borderBottom:z,borderTop:Q,borderLeft:J,borderRight:Z}=$,X,Y,q,G,_,H,U,W;if(J)q=oJ(J.lineStyle,J.weight),U=kz(J.color);if(Z)G=oJ(Z.lineStyle,Z.weight),W=kz(Z.color);if(z)X=oJ(z.lineStyle,z.weight),_=kz(z.color);if(Q)Y=oJ(Q.lineStyle,Q.weight),H=kz(Q.color);let B=j1.findIndex((E)=>{let{left:K,right:L,top:D,bottom:F}=E;if(!K&&(q||U))return!1;if(!L&&(G||W))return!1;if(!D&&(Y||H))return!1;if(!F&&(X||_))return!1;let{style:M,color:k}=K||{},{style:V,color:R}=L||{},{style:O,color:I}=D||{},{style:v,color:C}=F||{};if(M!=q||k!=U)return!1;if(V!=G||R!=W)return!1;if(O!=Y||I!=H)return!1;if(v!=X||C!=_)return!1;return!0});if(B===-1)B=j1.length,j1.push({left:{style:q,color:U},right:{style:G,color:W},top:{style:Y,color:H},bottom:{style:X,color:_},diagonal:{style:void 0,color:void 0}});return B},yM=($)=>{let{fontName:z="Calibri",color:Q,size:J,bold:Z,italic:X,outline:Y,shadow:q,strikeThrough:G,underline:_,family:H,verticalAlign:U}=$,W=kz(Q),B=KF(H),E=_?_.toLocaleLowerCase():void 0,K=U?U.toLocaleLowerCase():void 0,L=S1.findIndex((D)=>{return!(D.fontName!=z||D.color!=W||D.size!=J||D.bold!=Z||D.italic!=X||D.outline!=Y||D.shadow!=q||D.strikeThrough!=G||D.underline!=E||D.verticalAlign!=K||D.family!=B)});if(L===-1)L=S1.length,S1.push({fontName:z,color:W,size:J,bold:Z,italic:X,outline:Y,shadow:q,strikeThrough:G,underline:E,verticalAlign:K,family:B!=null?B.toString():void 0});return L},xM=($)=>{let{alignment:z,borders:Q,font:J,interior:Z,numberFormat:X,protection:Y,quotePrefix:q}=$,{id:G}=$,_=0,H=0,U=0,W=0;if(!G)return;if(G=KX(G,l4),GZ[G]!=null)return;if(Z)_=IM(Z);if(Q)H=bM(Q);if(J)U=yM(J);if(X)W=CM(X.format);GZ[G]=_Z.length,_Z.push({alignment:z,borderId:H||0,fillId:_||0,fontId:U||0,numFmtId:W||0,protection:Y,quotePrefix:q,xfId:0})},wM={getTemplate($){let z=vM.getTemplate(fQ),Q=jM.getTemplate(S1.map((G)=>({...G,size:G.size!=null?G.size:$}))),J=VM.getTemplate(R1),Z=JM.getTemplate(j1),X=UM.getTemplate(BX),Y=DM.getTemplate(_Z),q=KM.getTemplate(EX);return LX(),{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,Q,J,Z,X,Y,q,{name:"tableStyles",properties:{rawMap:{count:0,defaultPivotStyle:"PivotStyleLight16",defaultTableStyle:"TableStyleMedium2"}}}]}}},NM=($,z)=>{return GZ[KX($,z)]||0},gM=($,z)=>{if(l4=z,l4===1)LX();$.forEach(xM)},hM=wM,uM={getTemplate($,z){let{name:Q,columns:J,rowRange:Z,displayName:X,showRowStripes:Y,showColumnStripes:q,showFilterButtons:G,highlightFirstColumn:_,highlightLastColumn:H}=$||{},U=!Z||Z[0]-Z[1]===0;if(!$||!Q||!Array.isArray(J)||!J.length||U)return{name:"table"};let W=J.map((F,M)=>({name:"filterColumn",properties:{rawMap:{colId:M.toString(),hiddenButton:G[M]?0:1}}})),B=`A${Z[0]}`,E=`${az(J.length)}${Z[1]}`,K=`${B}:${E}`,L=`${z+1}`,D=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:D,displayName:D,ref:K,totalsRowShown:0,id:L}},children:[{name:"autoFilter",properties:{rawMap:{ref:K}},children:W},{name:"tableColumns",properties:{rawMap:{count:J.length}},children:J.map((F,M)=>({name:"tableColumn",properties:{rawMap:{id:(M+1).toString(),name:W0(FF(F)),dataCellStyle:"Normal"}}}))},{name:"tableStyleInfo",properties:{rawMap:{name:"TableStyleLight1",showFirstColumn:_?1:0,showLastColumn:H?1:0,showRowStripes:Y?1:0,showColumnStripes:q?1:0}}}]}}},mM=uM,_$=($)=>{let[z,Q,J,Z]=$;return{name:`a:${z}`,children:[{name:`a:${Q}`,properties:{rawMap:{val:J,lastClr:Z}}}]}},cM={getTemplate(){return{name:"a:clrScheme",properties:{rawMap:{name:"Office"}},children:[_$(["dk1","sysClr","windowText","000000"]),_$(["lt1","sysClr","window","FFFFFF"]),_$(["dk2","srgbClr","44546A"]),_$(["lt2","srgbClr","E7E6E6"]),_$(["accent1","srgbClr","4472C4"]),_$(["accent2","srgbClr","ED7D31"]),_$(["accent3","srgbClr","A5A5A5"]),_$(["accent4","srgbClr","FFC000"]),_$(["accent5","srgbClr","5B9BD5"]),_$(["accent6","srgbClr","70AD47"]),_$(["hlink","srgbClr","0563C1"]),_$(["folHlink","srgbClr","954F72"])]}}},pM=cM,P=($)=>{let[z,Q,J,Z]=$;return{name:`a:${z}`,properties:{rawMap:{script:J,typeface:Q,panose:Z}}}},iM={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"])]}]}}},nM=iM,x$=($,z,Q)=>({name:`a:${$}`,properties:{rawMap:{val:z}},children:Q}),g4=($)=>{let[z,Q,J,Z,X,Y]=$,q=[];if(q.push(x$("satMod",J)),Z)q.push(x$("lumMod",Z));if(X)q.push(x$("tint",X));if(Y)q.push(x$("shade",Y));return{name:"a:gs",properties:{rawMap:{pos:z}},children:[{name:"a:schemeClr",properties:{rawMap:{val:Q}},children:q}]}},HZ=($,z)=>({name:"a:solidFill",children:[x$("schemeClr",$,z)]}),a4=($)=>{let[z,Q,J,Z,X]=$,[Y,q]=X;return{name:"a:gradFill",properties:{rawMap:{rotWithShape:z}},children:[{name:"a:gsLst",children:[g4(Q),g4(J),g4(Z)]},{name:"a:lin",properties:{rawMap:{ang:Y,scaled:q}}}]}},h4=($)=>{let[z,Q,J,Z]=$;return{name:"a:ln",properties:{rawMap:{w:z,cap:Q,cmpd:J,algn:Z}},children:[HZ("phClr"),x$("prstDash","solid"),{name:"a:miter",properties:{rawMap:{lim:"800000"}}}]}},u4=($)=>{let z=[];if($){let[Q,J,Z,X,Y]=$;z.push({name:"a:outerShdw",properties:{rawMap:{blurRad:Q,dist:J,dir:Z,algn:X,rotWithShape:Y}},children:[x$("srgbClr","000000",[x$("alpha","63000")])]})}return{name:"a:effectStyle",children:[Object.assign({},{name:"a:effectLst"},z.length?{children:z}:{})]}},dM=()=>({name:"a:fillStyleLst",children:[HZ("phClr"),a4(["1",["0","phClr","105000","110000","67000"],["50000","phClr","103000","105000","73000"],["100000","phClr","109000","105000","81000"],["5400000","0"]]),a4(["1",["0","phClr","103000","102000","94000"],["50000","phClr","110000","100000",void 0,"100000"],["100000","phClr","120000","99000",void 0,"78000"],["5400000","0"]])]}),tM=()=>({name:"a:lnStyleLst",children:[h4(["6350","flat","sng","ctr"]),h4(["12700","flat","sng","ctr"]),h4(["19050","flat","sng","ctr"])]}),sM=()=>({name:"a:effectStyleLst",children:[u4(),u4(),u4(["57150","19050","5400000","ctr","0"])]}),rM=()=>({name:"a:bgFillStyleLst",children:[HZ("phClr"),HZ("phClr",[x$("tint","95000"),x$("satMod","170000")]),a4(["1",["0","phClr","150000","102000","93000","98000"],["50000","phClr","130000","103000","98000","90000"],["100000","phClr","120000",void 0,void 0,"63000"],["5400000","0"]])]}),lM={getTemplate(){return{name:"a:fmtScheme",properties:{rawMap:{name:"Office"}},children:[dM(),tM(),sM(),rM()]}}},aM=lM,oM={getTemplate(){return{name:"a:themeElements",children:[pM.getTemplate(),nM.getTemplate(),aM.getTemplate()]}}},eM=oM,$k={getTemplate(){return{name:"a:theme",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{a:"http://schemas.openxmlformats.org/drawingml/2006/main"}}],rawMap:{name:"Office Theme"}},children:[eM.getTemplate(),{name:"a:objectDefaults"},{name:"a:extraClrSchemeLst"}]}}},zk=$k,Qk=()=>({name:"o:shapelayout",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}]},children:[{name:"o:idmap",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}],rawMap:{data:"1"}}}]}),Jk=()=>({name:"v:stroke",properties:{rawMap:{joinstyle:"miter"}}}),Zk=($)=>({name:"v:formulas",children:$.map((z)=>({name:"v:f",properties:{rawMap:{eqn:z}}}))}),Xk=()=>({name:"v:path",properties:{prefixedAttributes:[{prefix:"o:",map:{connecttype:"rect",extrusionok:"f"}}],rawMap:{gradientshapeok:"t"}}}),DX=($)=>{let{aspectratio:z,rotation:Q}=$||{},J={};if(z)J.aspectratio="t";if(Q)J.rotation="t";return{name:"o:lock",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}],rawMap:J}}};function Yk($,z,Q,J,Z){return($-z)/(Q-z)*(Z-J)+J}var qk=($,z)=>{let Q,{recolor:J,brightness:Z,contrast:X,id:Y}=$;if(J){if(Q={},J==="Washout"||J==="Grayscale")Q.gain="19661f",Q.blacklevel="22938f";if(J==="Black & White"||J==="Grayscale"){if(Q.grayscale="t",J==="Black & White")Q.bilevel="t"}}if(!J||J==="Grayscale"){if(!Q)Q={};if(X!=null&&X!==50){let q="1";if(X>=0){if(X<50)q=String(X/50);else if(X<100)q=String(50/(100-X));else if(X===100)q="2147483647f"}Q.gain=q}if(Z!=null&&Z!==50)Q.blacklevel=Yk(Z,0,100,-0.5,0.5).toString()}return{name:"v:imagedata",properties:{prefixedAttributes:[{prefix:"o:",map:{relid:`rId${z}`,title:Y}}],rawMap:Q}}},Gk=()=>{let $=["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:[Jk(),Zk($),Xk(),DX({aspectratio:!0})]}},C9=($)=>Math.floor(($??0)*0.74999943307122),_k=($,z)=>{let{width:Q=0,height:J=0,altText:Z}=$,X=C9(Q),Y=C9(J);return{name:"v:shape",properties:{rawMap:{id:$.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:Z}},children:[qk($,z+1),DX({rotation:!0})]}},Hk={getTemplate($){let z=d$.get($.sheetIndex)||[],Q=[Qk(),Gk(),...z.map((J,Z)=>_k(J,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:Q}}},Uk=Hk,Wk={getTemplate($,z){let Q=(z+1).toString();return{name:"sheet",properties:{rawMap:{name:$,sheetId:Q,"r:id":`rId${Q}`}}}}},Bk=Wk,Ek={getTemplate($){return{name:"sheets",children:$.map((z,Q)=>Bk.getTemplate(z,Q))}}},Kk=Ek,Lk={getTemplate($,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}}}]},Kk.getTemplate($)]}}},Dk=Lk,Fk=($)=>Math.ceil(($-12)/7+1),Mk={getTemplate($){let{min:z,max:Q,outlineLevel:J,s:Z,width:X,hidden:Y,bestFit:q}=$,G=1,_="0";if(X>1)G=Fk(X),_="1";return{name:"col",properties:{rawMap:{min:z,max:Q,outlineLevel:J!=null?J:void 0,width:G,style:Z,hidden:Y?"1":"0",bestFit:q?"1":"0",customWidth:_}}}}},kk=Mk,Vk={getTemplate($){return{name:"mergeCell",properties:{rawMap:{ref:$}}}}},Ak=Vk,Sk=($)=>{let z=$.charAt(0).toLowerCase();return z==="s"?"inlineStr":z},Rk={getTemplate($,z,Q){let{ref:J,data:Z,styleId:X}=$,{type:Y,value:q}=Z||{type:"empty",value:null},G=Y;if(Y==="f")G="str";else if(Y.charAt(0)===Y.charAt(0).toUpperCase())G=Sk(Y);let _={name:"c",properties:{rawMap:{r:J,t:G==="empty"?void 0:G,s:X?NM(X,Q):void 0}}};if(G==="empty")return _;let H;if(G==="str"&&Y==="f")H=[{name:"f",textNode:W0(qZ(q))}];else if(G==="inlineStr")H=[{name:"is",children:[{name:"t",textNode:W0(qZ(q))}]}];else H=[{name:"v",textNode:q}];return Object.assign({},_,{children:H})}},jk=Rk,fk=($,z)=>{let Q=[],J=0;for(let Z=0;Z<$.length;Z++){let X=$[Z];if(X.mergeAcross)Q.push({pos:Z,excelPos:J}),J+=X.mergeAcross;J++}if(Q.length)for(let Z=Q.length-1;Z>=0;Z--){let X=[],Y=$[Q[Z].pos];for(let q=1;q<=Y.mergeAcross;q++)X.push({ref:`${az(Q[Z].excelPos+1+q)}${z+1}`,styleId:Y.styleId,data:{type:"empty",value:null}});if(X.length)$.splice(Q[Z].pos+1,0,...X)}},Ok=($)=>$.data?.value!==""||$.styleId!==void 0,Pk={getTemplate($,z,Q){let{collapsed:J,hidden:Z,height:X,outlineLevel:Y,cells:q=[]}=$;fk(q,z);let G=q.filter(Ok).map((_,H)=>jk.getTemplate(_,H,Q));return{name:"row",properties:{rawMap:{r:z+1,collapsed:J?"1":"0",hidden:Z?"1":"0",ht:X,customHeight:X!=null?"1":"0",spans:"1:1",outlineLevel:Y||void 0}},children:G}}},Tk=Pk,vk=($,z,Q)=>{let J=[],Z=[];$.forEach((q,G)=>{let _=q.cells,H=0,U;_.forEach((W,B)=>{let E=B+H+1,K=az(E),L=G+1;if(W.mergeAcross){H+=W.mergeAcross;let F=az(B+H+1);J.push(`${K}${L}:${F}${L}`)}if(!z[E-1])z[E-1]={};let{collapsibleRanges:D}=W;if(D)D.forEach((F)=>{Z.push([E+F[0],E+F[1]])});U=z[E-1],U.min=E,U.max=E,W.ref=`${K}${L}`})}),Z.sort((q,G)=>{if(q[0]!==G[0])return q[0]-G[0];return G[1]-q[1]});let X=new Map,Y=new Map;return Z.filter((q)=>{let G=q.toString();if(X.get(G))return!1;return X.set(G,!0),!0}).forEach((q)=>{let G=z.find((H)=>H.min==q[0]&&H.max==q[1]),_=Y.get(q[0]);z.push({min:q[0],max:q[1],outlineLevel:Q?void 0:_||1,width:(G||{width:100}).width}),Y.set(q[0],(_||0)+1)}),J},Ik=($)=>{if(!$||$!=="Portrait"&&$!=="Landscape")return"portrait";return $.toLocaleLowerCase()},Ck=($)=>{if($==null)return 1;let Q=["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($);return Q===-1?1:Q+1},bk=($)=>{let z={"&[Page]":"&P","&[Pages]":"&N","&[Date]":"&D","&[Time]":"&T","&[Tab]":"&A","&[Path]":"&Z","&[File]":"&F","&[Picture]":"&G"};for(let Q of Object.keys(z))$=$.replace(Q,z[Q]);return $},yk=($)=>{if($==="Center")return"C";if($==="Right")return"R";return"L"},xk=($,z)=>{if(!z)return $;if($+="&amp;&quot;",$+=z.fontName||"Calibri",z.bold!==z.italic)$+=z.bold?",Bold":",Italic";else if(z.bold)$+=",Bold Italic";else $+=",Regular";if($+="&quot;",z.size)$+=`&amp;${z.size}`;if(z.strikeThrough)$+="&amp;S";if(z.underline)$+=`&amp;${z.underline==="Double"?"E":"U"}`;if(z.color)$+=`&amp;K${z.color.replace("#","").toUpperCase()}`;return $},wk=($,z,Q)=>$.reduce((J,Z,X)=>{let Y=yk(Z.position),q=xk(`${J}&amp;${Y}`,Z.font),G=["Left","Center","Right"];if(!Z.position)Z.position=G[X];let{image:_}=Z;if(Z.value==="&[Picture]"&&_){let H=`${Y}${z}${Q}`;FX(_,H)}return`${q}${W0(bk(Z.value))}`},""),Nk=($)=>{let z=["all","first","even"],Q=[];return z.forEach((J)=>{let Z=$[J],X=J==="all"?"odd":J;if(!Z)return;for(let Y of Object.keys(Z)){let q=Z[Y],G=`${Y.charAt(0).toUpperCase()}${Y.slice(1)}`,_=Y[0].toUpperCase();if(q){let H=J==="all"?"":J.toUpperCase();Q.push({name:`${X}${G}`,properties:{rawMap:{"xml:space":"preserve"}},textNode:wk(q,_,H)})}}}),Q},gk=($)=>{return(z)=>{if($.length)z.children.push({name:"cols",children:$.map((Q)=>kk.getTemplate(Q))});return z}},hk=($,z)=>{return(Q)=>{if($.length)Q.children.push({name:"sheetData",children:$.map((J,Z)=>Tk.getTemplate(J,Z,z))});return Q}},uk=($)=>{let z=$.length;if(!z)return"";let Q=Array(z+1);Q[0]=z;for(let Z=1;Z<=z;Z++)Q[Z]=$.charCodeAt(Z-1)&255;let J=0;for(let Z=Q.length-1;Z>=0;Z--){let X=Q[Z],Y=(J&16384)===0?0:1,q=J<<1&32767;J=(Y|q)^X}return(J^52811).toString(16).toUpperCase().padStart(4,"0")},mk=($)=>{return(z)=>{if(!$)return z;let Q=typeof $==="boolean"?{}:$,J={sheet:1},Z=Q.password?uk(Q.password):"";if(Z)J.password=Z;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 q=Q[Y];if(q==null||q===X[Y])return;J[Y]=q?0:1}),z.children.push({name:"sheetProtection",properties:{rawMap:J}}),z}},ck=($)=>{return(z)=>{if($.length)z.children.push({name:"mergeCells",properties:{rawMap:{count:$.length}},children:$.map((Q)=>Ak.getTemplate(Q))});return z}},pk=($)=>{return(z)=>{let{top:Q=0.75,right:J=0.7,bottom:Z=0.75,left:X=0.7,header:Y=0.3,footer:q=0.3}=$;return z.children.push({name:"pageMargins",properties:{rawMap:{bottom:Z,footer:q,header:Y,left:X,right:J,top:Q}}}),z}},ik=($)=>{return(z)=>{if($)z.children.push({name:"pageSetup",properties:{rawMap:{horizontalDpi:0,verticalDpi:0,orientation:Ik($.orientation),paperSize:Ck($.pageSize)}}});return z}},nk=($)=>{return(z)=>{if(!$)return z;let Q=$.first!=null?1:0,J=$.even!=null?1:0;return z.children.push({name:"headerFooter",properties:{rawMap:{differentFirst:Q,differentOddEven:J}},children:Nk($)}),z}},dk=($)=>{return(z)=>{if($)z.children.push({name:"tableParts",properties:{rawMap:{count:"1"}},children:[{name:"tablePart",properties:{rawMap:{"r:id":`rId${++z.rIdCounter}`}}}]});return z}},tk=($)=>{return(z)=>{if(Az.get($)?.length)z.children.push({name:"drawing",properties:{rawMap:{"r:id":`rId${++z.rIdCounter}`}}});return z}},sk=($)=>{return(z)=>{if(d$.get($))z.children.push({name:"legacyDrawingHF",properties:{rawMap:{"r:id":`rId${++z.rIdCounter}`}}});return z}},rk=($=0,z=0)=>{let Q=$>0||z>0;return Q?[{name:"pane",properties:{rawMap:{state:Q?"frozen":void 0,topLeftCell:Q?`${az($+1)}${z+1}`:void 0,xSplit:$===0?void 0:$,ySplit:z===0?void 0:z}}}]:void 0},lk=($=!1,z,Q)=>{return(J)=>{return J.children.push({name:"sheetViews",children:[{name:"sheetView",properties:{rawMap:{rightToLeft:$===!0?"1":"0",workbookViewId:"0"}},children:rk(z,Q)}]}),J}},ak=()=>{return($)=>{return $.children.push({name:"sheetPr",children:[{name:"outlinePr",properties:{rawMap:{summaryBelow:0}}}]}),$}},ok=($)=>{return(z)=>{let Q=$.reduce((J,Z)=>{if(Z.outlineLevel&&Z.outlineLevel>J)return Z.outlineLevel;return J},0);return z.children.push({name:"sheetFormatPr",properties:{rawMap:{baseColWidth:10,defaultRowHeight:16,outlineLevelRow:Q?Q:void 0}}}),z}},ek={getTemplate($){let{worksheet:z,currentSheet:Q,config:J}=$,{margins:Z={},pageSetup:X,headerFooterConfig:Y,suppressColumnOutline:q,rightToLeft:G,frozenRowCount:_,frozenColumnCount:H,protectSheet:U}=J,{table:W}=z,{rows:B,columns:E}=W,K=E?.length?vk(B,E,!!q):[],L=w$.get(Q),{children:D}=[ak(),lk(G,H,_),ok(B),gk(E),hk(B,Q+1),mk(U),ck(K),pk(Z),ik(X),nk(Y),tk(Q),sk(Q),dk(L)].reduce((F,M)=>M(F),{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:D}}},$V=ek,sz=new Map,d0=[],rz=[],lz=new Map,Vz=new Map,Az=new Map,d$=new Map,TQ=new Map,vQ=new Map,w$=new Map,zV="AG-GRID-TABLE",Q5="SINGLE_SHEET";function QV(){return Q5}function JV($){Q5=$}function ZV($,z,Q){_V(z),gM($,d0.length);let J=Object.assign({},Q);if(Q.exportAsExcelTable&&Q.pivotModeActive)j(163,{featureName:"pivot mode"}),J.exportAsExcelTable=!1;qV(z,J);let Z=OV(z,J);return PV(Z),Z}function XV($){return $.replace(/^[^a-zA-Z_]+/,"_").replace(/\s/g,"_").replace(/[^a-zA-Z0-9_]/g,"_")}function YV($,z){if(w$.has($)){j(164);return}w$.set($,z)}function qV($,z){let{exportAsExcelTable:Q,prependContent:J,appendContent:Z,headerRowCount:X=0}=z;if(!Q)return;let Y=typeof Q==="boolean"?{}:Q,{name:q,showColumnStripes:G,showRowStripes:_,showFilterButton:H,highlightFirstColumn:U,highlightLastColumn:W}=Y,B=XV(q||zV),E=d0.length-1,{table:K}=$,{rows:L,columns:D}=K,F=J?J.length:0,M=Z?Z.length:0,k=L.length,V=D.length,R=[],O=[];for(let I=0;I<V;I++){let v=D[I];R.push(v.displayName||""),O.push(H==="match"||H===void 0?v.filterAllowed??!1:H)}if(!R?.length||!k||!B){j(165);return}YV(E,{name:`table${w$.size+1}`,displayName:B,columns:R,showFilterButtons:O,rowRange:[X+F,X+(k-X)-M],showRowStripes:_??!0,showColumnStripes:G??!1,highlightFirstColumn:U??!1,highlightLastColumn:W??!1})}function FX($,z){let Q=d0.length-1,J=$;J.headerFooterPosition=z,MX({imageToAdd:J,idx:Q});let Z=d$.get(Q);if(!Z)Z=[],d$.set(Q,Z);if(!Z.find((X)=>X.id===$.id))Z.push($)}function GV($,z,Q,J,Z){let X=d0.length,{row:Y,column:q}=$.position||{},G=$;if(J){if(z!=null&&Q!=null&&(!Y||!q)){if(!$.position)$.position={};$.position=Object.assign({},$.position,{row:z,column:J.indexOf(Q)+1})}LF(G,J),DF(G,Z)}MX({imageToAdd:G,idx:X});let _=vQ.get(X);if(!_)_=new Map,vQ.set(X,_);let H=Az.get(X);if(!H)Az.set(X,[G]);else H.push(G);if(!_.get($.id))_.set($.id,{index:_.size,type:$.imageType})}function MX($){let{imageToAdd:z,idx:Q}=$,J=Vz.get(z.id);if(J){let Z=J.find((X)=>X.sheetId===Q);if(Z)Z.image.push(z);else J.push({sheetId:Q,image:[z]})}else Vz.set(z.id,[{sheetId:Q,image:[z]}]),TQ.set(z.id,{type:z.imageType,index:TQ.size})}function _V($){let z=W0($.name)||"",Q="";while(d0.indexOf(`${z}${Q}`)!==-1)if(Q==="")Q="_1";else Q=`_${parseInt(Q.slice(1),10)+1}`;$.name=`${z}${Q}`,d0.push($.name)}function HV($){if(sz.has($))return sz.get($);return sz.set($,sz.size),sz.size-1}function UV(){sz.clear(),Vz.clear(),Az.clear(),d$.clear(),TQ.clear(),vQ.clear(),w$.clear(),d0=[],rz=[],lz=new Map,Q5="SINGLE_SHEET"}function WV($){return y0(Dk.getTemplate(d0,$))}function BV($){return y0(hM.getTemplate($))}function EV(){return y0(iF.getTemplate(sz))}function KV($){return y0(fF.getTemplate($))}function LV($){return y0(vF.getTemplate($))}function DV($,z){return y0(RF.getTemplate({sheetLen:$,hasCustomProperties:z}))}function FV($){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($)z.push({Id:"rId3",Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",Target:"docProps/custom.xml"});let Q=I1.getTemplate(z);return y0(Q)}function MV(){return y0(zk.getTemplate())}function kV($,z){return y0(mM.getTemplate($,z))}function VV($){let z=Array($).fill(void 0).map((J,Z)=>({Id:`rId${Z+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",Target:`worksheets/sheet${Z+1}.xml`})),Q=I1.getTemplate([...z,{Id:`rId${$+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",Target:"theme/theme1.xml"},{Id:`rId${$+2}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",Target:"styles.xml"},{Id:`rId${$+3}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",Target:"sharedStrings.xml"}]);return y0(Q)}function AV($){return y0(hF.getTemplate({sheetIndex:$}))}function SV($){let z=vQ.get($)||[],Q=[];for(let[J,Z]of z){let{index:X,type:Y}=Z;Q.push({Id:`rId${X+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",Target:`../media/image${TQ.get(J).index+1}.${KZ(Y)}`})}return y0(I1.getTemplate(Q))}function RV($){return y0(Uk.getTemplate({sheetIndex:$}),!0)}function jV($){let z=d$.get($)||[],Q=[];for(let J=0;J<z.length;J++){let Z=z[J],X=TQ.get(Z.id);if(!X)continue;let{index:Y,type:q}=X;Q.push({Id:`rId${J+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",Target:`../media/image${Y+1}.${KZ(q)}`})}return y0(I1.getTemplate(Q))}function fV({drawingIndex:$,vmlDrawingIndex:z,tableName:Q}={}){if($===void 0&&z===void 0&&Q===void 0)return"";let J=[];if($!=null)J.push({Id:`rId${J.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",Target:`../drawings/drawing${$+1}.xml`});if(z!=null)J.push({Id:`rId${J.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",Target:`../drawings/vmlDrawing${z+1}.vml`});if(Q!=null)J.push({Id:`rId${J.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",Target:`../tables/${Q}.xml`});let Z=I1.getTemplate(J);return y0(Z)}function OV($,z){return y0($V.getTemplate({worksheet:$,currentSheet:d0.length-1,config:z}))}var eJ=($,z)=>{if(!$.size)return;let Q=new Map;z.forEach((J,Z)=>{if($.has(J))Q.set(Z,$.get(J))}),$.clear(),Q.forEach((J,Z)=>$.set(Z,J))},PV=($)=>{let z=lz.get($)??[];z.push(d0.length-1),lz.set($,z),rz.push($)},TV=($)=>{let z=new Map(lz),Q=[];for(let J of $){let Z=z.get(J);if(!Z?.length)return null;let X=Z.shift();Q.push(X),z.set(J,Z)}return Q},vV=($)=>{if(!$.length||rz.length===0)return null;let z=new Set,Q=[];for(let J of $){let Z=rz.findIndex((X,Y)=>!z.has(Y)&&X===J);if(Z===-1)return null;z.add(Z),Q.push(Z)}return Q},IV=($)=>{let z=new Map;$.forEach((Q,J)=>z.set(Q,J)),d0=$.map((Q)=>d0[Q]),rz=$.map((Q)=>rz[Q]),eJ(Az,$),eJ(d$,$),eJ(w$,$),eJ(vQ,$),Vz.forEach((Q)=>{Q.forEach((J)=>{let Z=z.get(J.sheetId);if(Z!=null)J.sheetId=Z})}),lz=new Map,rz.forEach((Q,J)=>{let Z=lz.get(Q)??[];Z.push(J),lz.set(Q,Z)})},CV=($)=>{if($.length<=1)return;let z=TV($)??vV($);if(!z)return;IV(z)},J5=class{getStringPosition($){return HV($)}addBodyImageToMap($,z,Q,J,Z){GV($,z,Q,J,Z)}addHeaderFooterImageToMap($,z){FX($,z)}addWorksheet($,z,Q){return ZV($,z,Q)}syncOrderWithSheetData($){CV($)}reset(){UV()}setFactoryMode($){JV($)}getFactoryMode(){return QV()}getSheetNames(){return[...d0]}},bV=async($)=>{let z=0,Q=[],J=new WritableStream({write:(Y)=>{Q.push(Y),z+=Y.length}}),Z=new ReadableStream({start:(Y)=>{let q=new FileReader;q.onload=(G)=>{if(G.target?.result)Y.enqueue(G.target.result);Y.close()},q.readAsArrayBuffer($)}}),X=new window.CompressionStream("deflate-raw");return await Z.pipeThrough(X).pipeTo(J),{size:z,content:new Blob(Q)}},yV=async($)=>{let z=new Blob([$]),{size:Q,content:J}=await bV(z),Z=new Uint8Array(await J.arrayBuffer());return{size:Q,content:Z}},xV=($)=>{let z=$.getHours();return z<<=6,z=z|$.getMinutes(),z<<=5,z=z|$.getSeconds()/2,z},wV=($)=>{let z=$.getFullYear()-1980;return z<<=4,z=z|$.getMonth()+1,z<<=5,z=z|$.getDate(),z};function b0($,z){let Q="";for(let J=0;J<z;J++)Q+=String.fromCharCode($&255),$>>>=8;return Q}var b9=($)=>{if(!$.length)return 0;let z=-1,Q=0,J=0,Z=0;for(let X=0;X<$.length;X++)Q=$[X],J=(z^Q)&255,Z=NV[J],z=z>>>8^Z;return z^-1},y9=($)=>{if(!$.length)return 0;if(typeof $==="string")return b9(new TextEncoder().encode($));return b9($)},NV=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 gV($){let z=String.fromCharCode;function Q(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 J(U){if(U>=55296&&U<=57343)throw Error($$(255,{point:U}))}function Z(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)J(U),W=z(U>>12&15|224),W+=Z(U,6);else if((U&4292870144)==0)W=z(U>>18&7|240),W+=Z(U,12),W+=Z(U,6);return W+=z(U&63|128),W}let Y=Q($),q=Y.length,G=-1,_,H="";while(++G<q)_=Y[G],H+=X(_);return H}var kX=($,z,Q,J,Z,X)=>{let{content:Y,path:q,created:G}=$,_=xV(G),H=wV(G),U=y9(Z),W=X!==void 0?X:J,B=gV(q),E=B!==q,K="";if(E){let M=b0(1,1)+b0(y9(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(_,2)+b0(H,2)+b0(W?U:0,4)+b0(X??J,4)+b0(J,4)+b0(B.length,2)+b0(K.length,2),D="PK\x03\x04"+L+B+K,F="PK\x01\x02\x14\x00"+L+"\x00\x00\x00\x00\x00\x00"+(Y?"\x00\x00\x00\x00":"\x10\x00\x00\x00")+b0(Q,4)+B+K;return{localFileHeader:Uint8Array.from(D,(M)=>M.charCodeAt(0)),centralDirectoryHeader:Uint8Array.from(F,(M)=>M.charCodeAt(0))}},VX=($)=>{let z;if(typeof $==="string"){let Q=atob($.split(";base64,")[1]);z=Uint8Array.from(Q,(J)=>J.charCodeAt(0))}else z=$;return{size:z.length,content:z}},hV=async($)=>{let{content:z}=$,{size:Q,content:J}=!z?{size:0,content:Uint8Array.from([])}:VX(z),Z,X,Y=!1;if($.type==="file"&&J&&Q>0){let G=await yV(J);Z=G.content,X=G.size,Y=!0}return{rawContent:J,rawSize:Q,deflatedContent:Z,deflatedSize:X,isCompressed:Y}},uV=($,z)=>{let{content:Q}=$,{content:J}=!Q?{content:Uint8Array.from([])}:VX(Q);return{...kX($,!1,z,J.length,J,void 0),content:J,isCompressed:!1}},mV=($,z,Q)=>{let J="PK\x05\x06\x00\x00\x00\x00"+b0($,2)+b0($,2)+b0(z,4)+b0(Q,4)+"\x00\x00";return Uint8Array.from(J,(Z)=>Z.charCodeAt(0))},AX=class{constructor(){this.folders=[],this.files=[]}addFolders($){$.forEach(this.addFolder.bind(this))}addFolder($){this.folders.push({path:$,created:new Date,isBase64:!1,type:"folder"})}addFile($,z,Q=!1){this.files.push({path:$,created:new Date,content:Q?z:new TextEncoder().encode(z),isBase64:Q,type:"file"})}async getZipFile($="application/zip"){let z=await this.buildCompressedFileStream();return this.clearStream(),new Blob([z],{type:$})}getUncompressedZipFile($="application/zip"){let z=this.buildFileStream();return this.clearStream(),new Blob([z],{type:$})}clearStream(){this.folders=[],this.files=[]}packageFiles($){let z=0,Q=0;for(let _ of $){let{localFileHeader:H,centralDirectoryHeader:U,content:W}=_;z+=H.length+W.length,Q+=U.length}let J=new Uint8Array(z),Z=new Uint8Array(Q),X=0,Y=0;for(let _ of $){let{localFileHeader:H,centralDirectoryHeader:U,content:W}=_;J.set(H,X),X+=H.length,J.set(W,X),X+=W.length,Z.set(U,Y),Y+=U.length}let q=mV($.length,Q,z),G=new Uint8Array(J.length+Z.length+q.length);return G.set(J),G.set(Z,J.length),G.set(q,J.length+Z.length),G}async buildCompressedFileStream(){let $=[...this.folders,...this.files],z=await Promise.all($.map(hV)),Q=[],J=0;for(let Z=0;Z<$.length;Z++){let X=$[Z],{rawContent:Y,rawSize:q,deflatedContent:G,deflatedSize:_,isCompressed:H}=z[Z],U=kX(X,H,J,q,Y,_),W=G??Y;Q.push({...U,content:W,isCompressed:H}),J+=U.localFileHeader.length+W.length}return this.packageFiles(Q)}buildFileStream(){let $=[...this.folders,...this.files],z=[],Q=0;for(let J of $){let Z=uV(J,Q),{localFileHeader:X,content:Y}=Z;z.push(Z),Q+=X.length+Y.length}return this.packageFiles(z)}},cV=($)=>{if($.addFolders(["_rels/","docProps/","xl/","xl/theme/","xl/_rels/","xl/worksheets/"]),!Vz.size)return;$.addFolders(["xl/worksheets/_rels","xl/drawings/","xl/drawings/_rels","xl/media/"]);let z=0;Vz.forEach((Q)=>{let J=Q[0].image[0],{base64:Z,imageType:X}=J;$.addFile(`xl/media/image${++z}.${KZ(X)}`,Z,!0)})},pV=($,z)=>{let Q=0,J=0;for(let Z=0;Z<z.length;Z++){let X=z[Z];$.addFile(`xl/worksheets/sheet${Z+1}.xml`,X,!1);let Y=Vz.size>0&&Az.has(Z),q=w$.size>0&&w$.get(Z),G=Vz.size&&d$.has(Z);if(!Y&&!q&&!G)continue;let _,H,U;if(Y)iV($,Z,Q),H=Q,Q++;if(G)nV($,Z,J),U=J,J++;if(q)_=q.name;let W=`xl/worksheets/_rels/sheet${Z+1}.xml.rels`;$.addFile(W,fV({tableName:_,drawingIndex:H,vmlDrawingIndex:U}))}},iV=($,z,Q)=>{let Z=`xl/drawings/drawing${Q+1}.xml`,X=`xl/drawings/_rels/drawing${Q+1}.xml.rels`;$.addFile(X,SV(z)),$.addFile(Z,AV(z))},nV=($,z,Q)=>{let Z=`xl/drawings/vmlDrawing${Q+1}.vml`,X=`xl/drawings/_rels/vmlDrawing${Q+1}.vml.rels`;$.addFile(Z,RV(z)),$.addFile(X,jV(z))},dV=($)=>{let z=w$,Q=Array.from(z.keys());for(let J=0;J<Q.length;J++){let Z=Q[J],X=z.get(Z);if(!X)continue;$.addFile(`xl/tables/${X.name}.xml`,kV(X,J))}},tV=($,z,Q,J,Z,X)=>{let Y=!!X&&Object.keys(X).some((q)=>X[q]!=null);if($.addFile("xl/workbook.xml",WV(Z)),$.addFile("xl/styles.xml",BV(z)),$.addFile("xl/sharedStrings.xml",EV()),$.addFile("xl/theme/theme1.xml",MV()),$.addFile("xl/_rels/workbook.xml.rels",VV(J)),$.addFile("docProps/core.xml",KV(Q)),Y)$.addFile("docProps/custom.xml",LV(X));$.addFile("[Content_Types].xml",DV(J,Y)),$.addFile("_rels/.rels",FV(Y))},SX=($,z,Q={},J)=>{if(!z||z.length===0)return j(159),J.reset(),!1;J.syncOrderWithSheetData(z);let{fontSize:Z=11,author:X="AG Grid",activeTab:Y=0,customMetadata:q}=Q,G=z.length,_=Math.max(Math.min(Y,G-1),0);return cV($),dV($),pV($,z),tV($,Z,X,G,_,q),J.reset(),!0},x9=($,z=new J5)=>{let{data:Q,fontSize:J,author:Z,activeSheetIndex:X,customMetadata:Y}=$,q=$.mimeType||"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",G=new AX;if(!SX(G,Q,{author:Z,fontSize:J,activeTab:X,customMetadata:Y},z))return Promise.resolve(void 0);return G.getZipFile(q)},w9=($,z=new J5)=>{let{data:Q,fontSize:J,author:Z,activeSheetIndex:X,customMetadata:Y}=$,q=$.mimeType||"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",G=new AX;if(!SX(G,Q,{author:Z,fontSize:J,activeTab:X,customMetadata:Y},z))return;return G.getUncompressedZipFile(q)};var sV=class extends O4{constructor(){super(...arguments);this.beanName="excelCreator",this.workbook=new J5}getMergedParams($){let z=this.gos.get("defaultExcelExportParams");return Object.assign({},z,$)}export($){if(this.isExportSuppressed()){j(160);return}let z=()=>{let J=this.getMergedParams($),Z=this.getData(J),{fontSize:X,author:Y,mimeType:q,customMetadata:G}=J,_={data:[Z],fontSize:X,author:Y,mimeType:q,customMetadata:G};this.packageCompressedFile(_).then((H)=>{if(H){let{fileName:U}=J,W=typeof U==="function"?U(y(this.gos,{})):U;dJ(this.getFileName(W),H)}})},{overlays:Q}=this.beans;if(Q)Q.showExportOverlay(z);else z()}exportDataAsExcel($){this.export($)}getDataAsExcel($){let z=this.getMergedParams($),Q=this.getData(z),{fontSize:J,author:Z,mimeType:X,customMetadata:Y}=z,q={data:[Q],fontSize:J,author:Z,mimeType:X,customMetadata:Y};return this.packageFile(q)}setFactoryMode($){this.workbook.setFactoryMode($)}getFactoryMode(){return this.workbook.getFactoryMode()}getSheetDataForExcel($){let z=this.getMergedParams($);return this.getData(z)}getMultipleSheetsAsExcel($){return w9($,this.workbook)}exportMultipleSheetsAsExcel($){x9($,this.workbook).then((z)=>{let{fileName:Q="export.xlsx"}=$;if(z){let J=typeof Q==="function"?Q():Q;dJ(J,z)}})}getDefaultFileExtension(){return"xlsx"}createSerializingSession($){let{colModel:z,colNames:Q,rowGroupColsSvc:J,valueSvc:Z,formula:X,gos:Y}=this.beans,q=Y.get("excelStyles")||[],G=this.createStyleLinker(q),_={...$,colModel:z,colNames:Q,rowGroupColsSvc:J,valueSvc:Z,formulaSvc:X,gos:Y,suppressRowOutline:$.suppressRowOutline||$.skipRowGroups,headerRowHeight:$.headerRowHeight||$.rowHeight,baseExcelStyles:q,rightToLeft:$.rightToLeft??Y.get("enableRtl"),styleLinker:G,headerRowCount:p7(z),pivotModeActive:z.isPivotActive(),workbook:this.workbook};return new kF(_)}createStyleLinker($){let z=[],Q=new Set,J=new Map;$.forEach((Y,q)=>{z.push(Y.id),Q.add(Y.id),J.set(Y.id,q)});let{gos:Z,cellStyles:X}=this.beans;return(Y)=>{let{rowType:q,rowIndex:G,value:_,column:H,columnGroup:U,node:W}=Y,B=q==="HEADER",E=q==="HEADER_GROUPING",K=B?H:U,L=[];if(B||E){if(L.push("header"),E)L.push("headerGroup");if(K)L=L.concat(gJ(K.getDefinition(),Z,H||null,U||null));return L}let D=["cell"];if(!z.length)return D;let F=H.getDefinition();return X?.processAllCellClasses(F,y(Z,{value:_,data:W.data,node:W,colDef:F,column:H,rowIndex:G}),(M)=>{if(Q.has(M))D.push(M)}),D.sort((M,k)=>{let V=J.get(M)??-1,R=J.get(k)??-1;return V===R?0:V<R?-1:1})}}isExportSuppressed(){return this.gos.get("suppressExcelExport")}packageCompressedFile($){return x9($,this.workbook)}packageFile($){return w9($,this.workbook)}},rV=":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 lV($){return{tag:"div",cls:`ag-virtual-list-viewport ag-${$}-virtual-list-viewport`,role:"presentation",children:[{tag:"div",ref:"eContainer",cls:`ag-virtual-list-container ag-${$}-virtual-list-container`}]}}var aV=class extends p${constructor($,z){super(lV(z?.cssIdentifier||"default"));this.stopPropagationCallbacks=$,this.renderedRows=new Map,this.rowHeight=20,this.pageSize=-1,this.isScrolling=!1,this.isHeightFromTheme=!0,this.eContainer=f,this.awaitStableCallbacks=[],this.registerCSS(rV);let{cssIdentifier:Q="default",ariaRole:J="listbox",listName:Z,moveItemCallback:X}=z||{};this.cssIdentifier=Q,this.ariaRole=J,this.listName=Z,this.moveItemCallback=X}postConstruct(){this.addScrollListener(),this.rowHeight=this.getItemHeight(),this.addResizeObserver(),this.initialiseTabGuard({onFocusIn:($)=>this.onFocusIn($),onFocusOut:($)=>this.onFocusOut($),focusInnerElement:($)=>this.focusInnerElement($),onTabKeyDown:($)=>this.onTabKeyDown($),handleKeyDown:($)=>this.handleKeyDown($)},this.stopPropagationCallbacks),this.refreshAriaProperties(),this.addManagedEventListeners({stylesChanged:this.onStylesChanged.bind(this)})}onStylesChanged($){if($.listItemHeightChanged)this.rowHeight=this.getItemHeight(),this.refresh()}refreshAriaProperties(){let z=this.getLocaleTextFunc()("ariaDefaultListName",this.listName||"List"),Q=this.eContainer;_0(Q,this.model?.getRowCount()>0?this.ariaRole:"presentation"),E0(Q,z)}addResizeObserver(){let $=()=>Y$(this.beans,()=>this.drawVirtualRows()),z=F$(this.beans,this.getGui(),$);this.addDestroyFunc(z)}focusInnerElement($){return this.focusRow($?this.model.getRowCount()-1:0),!0}onFocusIn($){let z=$.target;if(z.classList.contains("ag-virtual-list-item"))this.lastFocusedRowIndex=S6(z)-1}onFocusOut($){if(!this.getFocusableElement().contains($.relatedTarget))this.lastFocusedRowIndex=null}handleKeyDown($){let{key:z,shiftKey:Q}=$;switch(z){case A.UP:case A.DOWN:{let J=z===A.UP;if($.preventDefault(),Q)this.moveItem(J);else this.navigate(J)}break;case A.PAGE_HOME:case A.PAGE_END:case A.PAGE_UP:case A.PAGE_DOWN:if(this.navigateToPage(z)!==null)$.preventDefault();break}}onTabKeyDown($){this.stopPropagationCallbacks?.stopPropagation($),this.forceFocusOutOfContainer($.shiftKey)}getNextRow($){if(this.lastFocusedRowIndex==null)return;let z=this.lastFocusedRowIndex+($?-1:1);if(z<0||z>=this.model.getRowCount())return;return z}moveItem($){if(!this.moveItemCallback)return;let z=this.getComponentAt(this.lastFocusedRowIndex);if(!z)return;this.moveItemCallback(z,$)}navigate($){let z=this.getNextRow($);if(z===void 0)return;this.focusRow(z)}navigateToPage($,z="focused"){let Q=!1;if(z==="focused")z=this.getLastFocusedRow(),Q=!0;let J=this.model.getRowCount()-1,Z=-1;if($===A.PAGE_HOME)Z=0;else if($===A.PAGE_END)Z=J;else if($===A.PAGE_DOWN)Z=Math.min(z+this.pageSize,J);else if($===A.PAGE_UP)Z=Math.max(z-this.pageSize,0);if(Z===-1)return null;if(Q)this.focusRow(Z);else this.ensureIndexVisible(Z);return Z}getLastFocusedRow(){return this.lastFocusedRowIndex}focusRow($){if(this.isScrolling)return;this.isScrolling=!0,this.ensureIndexVisible($),Y$(this.beans,()=>{if(this.isScrolling=!1,!this.isAlive())return;let z=this.renderedRows.get($);if(z)z.eDiv.focus()})}getComponentAt($){let z=this.renderedRows.get($);return z&&z.rowComponent}forEachRenderedRow($){this.renderedRows.forEach((z,Q)=>$(z.rowComponent,Q))}getItemHeight(){if(!this.isHeightFromTheme)return this.rowHeight;return this.beans.environment.getDefaultListItemHeight()}ensureIndexVisible($,z=!0){let Q=this.model.getRowCount();if(typeof $!=="number"||$<0||$>=Q)return!1;let J=$*this.rowHeight,Z=J+this.rowHeight,X=this.getGui(),Y=X.scrollTop,q=X.offsetHeight,G=Y+q,_=z?0:this.rowHeight,H=Y>J+_,U=G<Z-_;if(H)return X.scrollTop=J,!0;if(U){let W=Z-q;return X.scrollTop=W,!0}return!1}setComponentCreator($){this.componentCreator=$}setComponentUpdater($){this.componentUpdater=$}getRowHeight(){return this.rowHeight}getScrollTop(){return this.getGui().scrollTop}setRowHeight($){this.isHeightFromTheme=!1,this.rowHeight=$,this.refresh()}refresh($){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($))this.drawVirtualRows(!0);else this.clearVirtualRows(),this.drawVirtualRows()})}awaitStable($){if(this.awaitStableCallbacks.push($),this.awaitStableCallbacks.length>1)return;let z=this.model.getRowCount();C2(this,()=>this.eContainer.clientHeight>=z*this.rowHeight,()=>{if(!this.isAlive())return;let Q=this.awaitStableCallbacks;this.awaitStableCallbacks=[];for(let J of Q)J()})}canSoftRefresh($){return!!($&&this.renderedRows.size&&typeof this.model.areRowsEqual==="function"&&this.componentUpdater)}clearVirtualRows(){this.renderedRows.forEach(($,z)=>this.removeRow(z))}drawVirtualRows($){if(!this.isAlive()||!this.model)return;let z=this.getGui(),Q=z.scrollTop,J=Q+z.offsetHeight;if(Q===J)this.clearVirtualRows();else{let Z=Math.floor(Q/this.rowHeight),X=Math.floor(J/this.rowHeight);this.pageSize=Math.floor((J-Q)/this.rowHeight),this.ensureRowsRendered(Z,X,$)}}ensureRowsRendered($,z,Q){if(this.renderedRows.forEach((J,Z)=>{if((Z<$||Z>z)&&Z!==this.lastFocusedRowIndex)this.removeRow(Z)}),Q)this.refreshRows();for(let J=$;J<=z;J++){if(this.renderedRows.has(J))continue;if(J<this.model.getRowCount())this.insertRow(J)}}insertRow($){let{model:z}=this;if($<0||$>=z.getRowCount())return;let{cssIdentifier:Q,ariaRole:J,renderedRows:Z,eContainer:X}=this,Y=z.getRow($),q=J==="tree"?"treeitem":"option",G=K0({tag:"div",cls:`ag-virtual-list-item ag-${Q}-virtual-list-item`,role:q,attrs:{tabindex:"-1"}});VJ(G,z.getRowCount()),AJ(G,$+1);let _=this.rowHeight;G.style.height=`${_}px`,G.style.top=`${_*$}px`;let H=this.componentCreator(Y,G);if(H.addGuiEventListener("focusin",()=>this.lastFocusedRowIndex=$),G.appendChild(H.getGui()),Z.has($-1))Z.get($-1).eDiv.insertAdjacentElement("afterend",G);else if(Z.has($+1))Z.get($+1).eDiv.insertAdjacentElement("beforebegin",G);else X.appendChild(G);Z.set($,{rowComponent:H,eDiv:G,value:Y})}removeRow($){let z=this.renderedRows.get($);z.eDiv.remove(),this.destroyBean(z.rowComponent),this.renderedRows.delete($)}refreshRows(){let $=this.model.getRowCount();this.renderedRows.forEach((z,Q)=>{if(Q>=$)this.removeRow(Q);else{let J=this.model.getRow(Q);if(this.model.areRowsEqual?.(z.value,J))this.componentUpdater(J,z.rowComponent);else this.removeRow(Q)}})}addScrollListener(){this.addGuiEventListener("scroll",()=>this.drawVirtualRows(),{passive:!0})}setModel($){this.model=$}getAriaElement(){return this.eContainer}destroy(){if(!this.isAlive())return;this.clearVirtualRows(),this.awaitStableCallbacks.length=0,super.destroy()}},oV='.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}',m4="ag-list-item-hovered",eV=class extends R0{constructor($,z,Q){super();this.comp=$,this.virtualList=z,this.params=Q,this.currentDragValue=null,this.lastHoveredListItem=null}postConstruct(){this.beans.environment.addGlobalCSS(oV,"component-AgVirtualListDragFeature"),this.params.addListeners(this,this.listItemDragStart.bind(this),this.listItemDragEnd.bind(this)),this.createDropTarget(),this.createAutoScrollService()}listItemDragStart($){this.currentDragValue=this.params.getCurrentDragValue($),this.moveBlocked=this.params.isMoveBlocked(this.currentDragValue)}listItemDragEnd(){window.setTimeout(()=>{this.currentDragValue=null,this.moveBlocked=!1},10)}createDropTarget(){let $={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($)}createAutoScrollService(){let $=this.virtualList.getGui();this.autoScrollService=new mJ({scrollContainer:$,scrollAxis:"y",getVerticalPosition:()=>$.scrollTop,setVerticalPosition:(z)=>$.scrollTop=z})}onDragging($){if(!this.currentDragValue||this.moveBlocked)return;let z=this.getListDragItem($),Q=this.virtualList.getComponentAt(z.rowIndex);if(!Q)return;let J=Q.getGui().parentElement;if(this.lastHoveredListItem&&this.lastHoveredListItem.rowIndex===z.rowIndex&&this.lastHoveredListItem.position===z.position)return;this.autoScrollService.check($.event),this.clearHoveredItems(),this.lastHoveredListItem=z,P2(J,m4),P2(J,`ag-item-highlight-${z.position}`)}getListDragItem($){let z=this.virtualList.getGui(),Q=Number.parseFloat(window.getComputedStyle(z).paddingTop),J=this.virtualList.getRowHeight(),Z=this.virtualList.getScrollTop(),X=Math.max(0,($.y-Q+Z)/J),Y=this.params.getNumRows(this.comp)-1,q=Math.min(Y,X)|0;return{rowIndex:q,position:Math.round(X)>X||X>Y?"bottom":"top",component:this.virtualList.getComponentAt(q)}}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 $=this.virtualList.getGui();for(let z of $.querySelectorAll(`.${m4}`))for(let Q of[m4,"ag-item-highlight-top","ag-item-highlight-bottom"])z.classList.remove(Q);this.lastHoveredListItem=null}};var $A=".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 zA($){return $??($=$||"default"),{tag:"div",cls:`ag-panel ag-${$}-panel`,attrs:{tabindex:"-1"},children:[{tag:"div",ref:"eTitleBar",cls:`ag-panel-title-bar ag-${$}-panel-title-bar ag-unselectable`,children:[{tag:"span",ref:"eTitle",cls:`ag-panel-title-bar-title ag-${$}-panel-title-bar-title`},{tag:"div",ref:"eTitleBarButtons",cls:`ag-panel-title-bar-buttons ag-${$}-panel-title-bar-buttons`}]},{tag:"div",ref:"eContentWrapper",cls:`ag-panel-content-wrapper ag-${$}-panel-content-wrapper`}]}}var QA=class extends p0{constructor($){super(zA($.cssIdentifier));this.config=$,this.closable=!0,this.eContentWrapper=f,this.eTitleBar=f,this.eTitleBarButtons=f,this.eTitle=f,this.registerCSS($A)}postConstruct(){let{component:$,closable:z,hideTitleBar:Q,title:J,minWidth:Z=250,width:X,minHeight:Y=250,height:q,centered:G,popup:_,x:H,y:U,postProcessPopupParams:W}=this.config,B=this.beans,E=this.createManagedBean(new s2(this.getGui(),{minWidth:Z,width:X,minHeight:Y,height:q,centered:G,x:H,y:U,popup:_,calculateTopBuffer:()=>this.positionableFeature.getHeight()-this.getBodyHeight()}));this.positionableFeature=E;let K=this.getGui();if($)this.setBodyComponent($);if(!Q){if(J)this.setTitle(J);this.setClosable(z!=null?z:this.closable)}else N(this.eTitleBar,!1);if(this.addManagedElementListeners(this.eTitleBar,{mousedown:(D)=>{if(K.contains(D.relatedTarget)||K.contains(d(B))||this.eTitleBarButtons.contains(D.target)){D.preventDefault();return}let F=this.eContentWrapper.querySelector("button, [href], input, select, textarea, [tabindex]");if(F)F.focus()}}),_&&E.isPositioned())return;if(this.renderComponent)this.renderComponent();let L;if(W){let{type:D,eventSource:F,mouseEvent:M}=W;L=()=>B.popupSvc?.callPostProcessPopup(W,D,K,F,M)}E.initialisePosition(L),this.eContentWrapper.style.height="0"}renderComponent(){let $=this.getGui();$.focus(),this.close=()=>{$.remove(),this.destroy()}}getHeight(){return this.positionableFeature.getHeight()}setHeight($){this.positionableFeature.setHeight($)}getWidth(){return this.positionableFeature.getWidth()}setWidth($){this.positionableFeature.setWidth($)}setClosable($){if($!==this.closable)this.closable=$;if($){let z=this.closeButtonComp=new p0({tag:"div",cls:"ag-button"});this.createBean(z);let Q=z.getGui(),J=this.beans.iconSvc.createIconNoSpan("close",this.beans);J.classList.add("ag-panel-title-bar-button-icon"),Q.appendChild(J),this.addTitleBarButton(z),z.addManagedElementListeners(Q,{click:this.onBtClose.bind(this)})}else if(this.closeButtonComp)this.closeButtonComp.getGui().remove(),this.closeButtonComp=this.destroyBean(this.closeButtonComp)}setBodyComponent($){$.setParentComponent(this),this.eContentWrapper.appendChild($.getGui())}addTitleBarButton($,z){let Q=this.eTitleBarButtons,J=Q.children,Z=J.length;if(z==null)z=Z;z=Math.max(0,Math.min(z,Z)),$.addCss("ag-panel-title-bar-button");let X=$.getGui();if(z===0)Q.prepend(X);else if(z===Z)Q.append(X);else J[z-1].after(X);$.setParentComponent(this)}getBodyHeight(){return SJ(this.eContentWrapper)}getBodyWidth(){return xz(this.eContentWrapper)}setTitle($){this.eTitle.innerText=$}onBtClose(){this.close()}destroy(){if(this.closeButtonComp)this.closeButtonComp=this.destroyBean(this.closeButtonComp);let $=this.getGui();if($&&A0($))this.close();super.destroy()}},JA=class extends QA{constructor($,z){super({...$,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($){this.popupSvc=$.popupSvc}postConstruct(){let $=this.getGui(),{movable:z,resizable:Q,maximizable:J,modal:Z}=this.config;if(this.addCss("ag-dialog"),super.postConstruct(),this.tabGuardFeature=this.createManagedBean(new _4(this,this.callbacks?.stopPropagationCallbacks)),this.tabGuardFeature.initialiseTabGuard({isFocusableContainer:!0,onFocusIn:()=>{this.popupSvc?.bringPopupToFront($)},onTabKeyDown:(X)=>{if(Z)return;let Y=X.shiftKey,q=j0(this.beans,$,!1,Y);if(!q||this.tabGuardFeature.getTabGuardCtrl().isTabGuard(q)){if(this.callbacks?.focusNextContainer(this.beans,Y))X.preventDefault()}}}),z)this.setMovable(z);if(J)this.setMaximizable(J);if(Q)this.setResizable(Q);if(!this.config.modal)this.callbacks?.configureFocusableContainer(this.beans,this)}setAllowFocus($){this.tabGuardFeature.getTabGuardCtrl().setAllowFocus($)}renderComponent(){let $=this.getGui(),{alwaysOnTop:z,modal:Q,title:J,afterGuiAttached:Z}=this.config,X=this.getLocaleTextFunc(),Y=this.popupSvc?.addPopup({modal:Q,eChild:$,closeOnEsc:!0,closedCallback:this.onClosed.bind(this),alwaysOnTop:z,ariaLabel:J||X("ariaLabelDialog","Dialog"),afterGuiAttached:Z});if(Y)this.close=Y.hideFunc}onClosed($){this.destroy(),this.config.closedCallback?.($)}setMaximized($){if(this.isMaximizable&&$!==this.isMaximized)this.toggleMaximize()}toggleMaximize(){let $=this.positionableFeature.getPosition();if(this.isMaximized){let{x:z,y:Q,width:J,height:Z}=this.lastPosition;this.setWidth(J),this.setHeight(Z),this.positionableFeature.offsetElement(z,Q)}else this.lastPosition.width=this.getWidth(),this.lastPosition.height=this.getHeight(),this.lastPosition.x=$.x,this.lastPosition.y=$.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 $ of this.maximizeListeners)$();this.maximizeListeners.length=0}if(this.resizeListenerDestroy)this.resizeListenerDestroy(),this.resizeListenerDestroy=null}destroy(){this.maximizeButtonComp=this.destroyBean(this.maximizeButtonComp),this.clearMaximizebleListeners(),super.destroy()}setResizable($){this.positionableFeature.setResizable($)}setMovable($){this.positionableFeature.setMovable($,this.eTitleBar)}setMaximizable($){if(!$){if(this.clearMaximizebleListeners(),this.maximizeButtonComp)this.destroyBean(this.maximizeButtonComp),this.maximizeButtonComp=this.maximizeIcon=this.minimizeIcon=void 0;return}let z=this.eTitleBar;if(!z||$===this.isMaximizable)return;this.isMaximizable=$;let Q=this.buildMaximizeAndMinimizeElements();this.refreshMaximizeIcon(),Q.addManagedElementListeners(Q.getGui(),{click:this.toggleMaximize.bind(this)}),this.addTitleBarButton(Q,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 $=this.maximizeButtonComp=this.createBean(new p0({tag:"div",cls:"ag-dialog-button"})),z=$.getGui(),Q=this.beans.iconSvc;return this.maximizeIcon=Q.createIconNoSpan("maximize"),z.appendChild(this.maximizeIcon),this.maximizeIcon.classList.add("ag-panel-title-bar-button-icon"),this.minimizeIcon=Q.createIconNoSpan("minimize"),z.appendChild(this.minimizeIcon),this.minimizeIcon.classList.add("ag-panel-title-bar-button-icon"),$}};var ZA=class extends p${constructor($){super();this.setTemplateFromElement($.getGui(),void 0,void 0,!0)}postConstruct(){this.initialiseTabGuard({onTabKeyDown:($)=>this.onTabKeyDown($),handleKeyDown:($)=>this.handleKeyDown($)})}handleKeyDown($){if($.key===A.ESCAPE)this.closePanel()}onTabKeyDown($){if($.defaultPrevented)return;this.closePanel(),$.preventDefault()}closePanel(){let $=this.parentComponent;$.closeSubMenu(),setTimeout(()=>$.getGui().focus(),0)}},o4=class extends R0{constructor($){super();this.callbacks=$,this.ACTIVATION_DELAY=80,this.isActive=!1,this.subMenuIsOpen=!1,this.subMenuIsOpening=!1,this.suppressRootStyles=!0,this.suppressAria=!0,this.suppressFocus=!0}init($){let{menuItemDef:z,isAnotherSubMenuOpen:Q,level:J,childComponent:Z,contextParams:X}=$;return this.params=$.menuItemDef,this.level=J,this.isAnotherSubMenuOpen=Q,this.childComponent=Z,this.contextParams=X,this.cssClassPrefix=this.params.menuItemParams?.cssClassPrefix??"ag-menu-option",this.callbacks.getMenuItemComp(this.beans,this.params,{...z,level:J,isAnotherSubMenuOpen:Q,openSubMenu:(Y)=>this.openSubMenu(Y),closeSubMenu:()=>this.closeSubMenu(),closeMenu:(Y)=>this.closeMenu(Y),updateTooltip:(Y,q)=>this.refreshTooltip(Y,q),onItemActivated:()=>this.onItemActivated()}).then((Y)=>{if(!Y)return;this.menuItemComp=Y;let q=Y.configureDefaults?.();if(q)this.configureDefaults(q===!0?void 0:q)})}addListeners($,z){if(!z?.suppressClick)this.addManagedElementListeners($,{click:(Q)=>this.onItemSelected(Q)});if(!z?.suppressKeyboardSelect)this.addManagedElementListeners($,{keydown:(Q)=>{if(Q.key===A.ENTER||Q.key===A.SPACE)Q.preventDefault(),this.onItemSelected(Q)}});if(!z?.suppressMouseDown)this.addManagedElementListeners($,{mousedown:(Q)=>{Q.stopPropagation(),Q.preventDefault()}});if(!z?.suppressMouseOver)this.addManagedElementListeners($,{mouseenter:()=>this.onMouseEnter(),mouseleave:()=>this.onMouseLeave()})}isDisabled(){return!!this.params.disabled}openSubMenu($=!1,z){if(this.closeSubMenu(),!this.params.subMenu)return;this.subMenuIsOpening=!0;let Q=J0({tag:"div",cls:"ag-menu",role:"presentation"});this.eSubMenuGui=Q;let J,Z=()=>{this.subMenuIsOpening=!1};if(this.childComponent){let _=this.createBean(new ZA(this.childComponent));_.setParentComponent(this);let H=_.getGui(),U="mouseenter",W=()=>this.cancelDeactivate();if(H.addEventListener(U,W),J=()=>{H.removeEventListener(U,W),this.destroyBean(_)},Q.appendChild(H),this.childComponent.afterGuiAttached)Z=()=>{this.childComponent.afterGuiAttached(),this.subMenuIsOpening=!1}}else if(this.params.subMenu){let _=this.createBean(new RX(this.level+1,this.contextParams,this.callbacks));if(_.setParentComponent(this),_.addMenuItems(this.params.subMenu),Q.appendChild(_.getGui()),this.addManagedListeners(_,{closeMenu:(H)=>this.dispatchLocalEvent(H)}),_.addGuiEventListener("mouseenter",()=>this.cancelDeactivate()),J=()=>this.destroyBean(_),$)Z=()=>{_.activateFirstItem(),this.subMenuIsOpening=!1}}let X=this.beans.popupSvc,Y=()=>{let _=this.eGui;X?.positionPopupForMenu({eventSource:_,ePopup:Q,event:z instanceof MouseEvent?z:void 0,additionalParams:this.callbacks.getPostProcessPopupParams(this.contextParams)})},q=this.getLocaleTextFunc(),G=X?.addPopup({modal:!0,eChild:Q,positionCallback:Y,anchorToElement:this.eGui,ariaLabel:q("ariaLabelSubMenu","SubMenu"),afterGuiAttached:Z});this.subMenuIsOpen=!0,this.setAriaExpanded(!0),this.hideSubMenu=()=>{if(G)G.hideFunc();this.subMenuIsOpen=!1,this.setAriaExpanded(!1),J(),this.menuItemComp.setExpanded?.(!1),this.eSubMenuGui=void 0},this.menuItemComp.setExpanded?.(!0)}setAriaExpanded($){if(!this.suppressAria)w0(this.eGui,$)}closeSubMenu(){if(!this.hideSubMenu)return;this.hideSubMenu(),this.hideSubMenu=null,this.setAriaExpanded(!1)}isSubMenuOpen(){return this.subMenuIsOpen}isSubMenuOpening(){return this.subMenuIsOpening}activate($,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($&&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($){this.parentComponent=$}getSubMenuGui(){return this.eSubMenuGui}onItemSelected($){if(this.menuItemComp.select?.(),this.params.action)this.beans.frameworkOverrides.wrapOutgoing(()=>this.params.action(this.gos.addCommon({...this.contextParams})));else this.openSubMenu($&&$.type==="keydown",$);if(this.params.subMenu&&!this.params.action||this.params.suppressCloseOnSelect)return;this.closeMenu($)}closeMenu($){let z={type:"closeMenu"};if($)if($ instanceof MouseEvent)z.mouseEvent=$;else z.keyboardEvent=$;this.dispatchLocalEvent(z)}onItemActivated(){let $={type:"menuItemActivated",menuItem:this};this.dispatchLocalEvent($)}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($){let z=this.menuItemComp.getGui(),{cssClassPrefix:Q,params:{cssClasses:J,disabled:Z}}=this,X=this.menuItemComp.getRootElement?.();if(X){if(!$)z.classList.add("ag-menu-option-custom");z=X}if(this.suppressRootStyles=!!$,!this.suppressRootStyles){z.classList.add(Q);for(let Y of J??[])z.classList.add(Y);if(Z)z.classList.add(`${Q}-disabled`)}return z}applyAriaProperties($){let{params:{checked:z,subMenu:Q,subMenuRole:J,disabled:Z}}=this,X=z!=null;if(_0($,X?"menuitemcheckbox":"menuitem"),Q)C6($,J??"menu");if(Z)O6($,!0)}configureDefaults($){if(!this.menuItemComp){setTimeout(()=>this.configureDefaults($));return}let{suppressRootStyles:z,suppressTooltip:Q,suppressAria:J,suppressTabIndex:Z,suppressFocus:X}=$||{},{params:{tooltip:Y,disabled:q}}=this,G=this.eGui=this.refreshRootElementGui(!!z);if(this.suppressAria=!!J,!J)this.applyAriaProperties(G);if(!Z)G.setAttribute("tabindex","-1");if(!Q)this.refreshTooltip(Y);if(!q)this.addListeners(G,$);this.suppressFocus=!!X}refreshTooltip($,z){if(this.tooltip=$,this.tooltipFeature=this.destroyBean(this.tooltipFeature),!$||!this.menuItemComp)return;let Q=this.beans.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.getGui(),getTooltipValue:()=>this.tooltip,getLocation:()=>"menu",shouldDisplayTooltip:z});if(Q)this.tooltipFeature=this.createBean(Q)}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),this.menuItemComp?.destroy?.(),super.destroy()}},RX=class extends p${constructor($=0,z,Q){super({tag:"div",cls:"ag-menu-list",role:"menu"});this.level=$,this.menuActionParams=z,this.callbacks=Q,this.menuItems=[]}postConstruct(){this.initialiseTabGuard({onTabKeyDown:($)=>this.onTabKeyDown($),handleKeyDown:($)=>this.callbacks.preserveRangesWhile(this.beans,()=>this.handleKeyDown($)),onFocusIn:($)=>this.handleFocusIn($),onFocusOut:($)=>this.handleFocusOut($)})}onTabKeyDown($){if(!this.getParentComponent()?.getGui()?.classList.contains("ag-focus-managed"))$.preventDefault();if($.shiftKey)this.closeIfIsChild($)}handleKeyDown($){switch($.key){case A.UP:case A.RIGHT:case A.DOWN:case A.LEFT:$.preventDefault(),this.handleNavKey($.key);break;case A.ESCAPE:if(this.closeIfIsChild())this.callbacks.stopPropagationCallbacks.stopPropagation($);break}}handleFocusIn($){let z=$.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($){let z=$.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($){if($==null)return;g.all($.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 Q of z??[])if(Q?.eGui){if(this.appendChild(Q.eGui),Q.comp)this.menuItems.push(Q.comp)}})}addItem($){let z=this.createManagedBean(new o4(this.callbacks));return z.init({menuItemDef:$,isAnotherSubMenuOpen:()=>this.menuItems.some((Q)=>Q.isSubMenuOpen()),level:this.level,contextParams:this.menuActionParams}).then(()=>{return z.setParentComponent(this),this.addManagedListeners(z,{closeMenu:(Q)=>{this.dispatchLocalEvent(Q)},menuItemActivated:(Q)=>{if(this.activeMenuItem&&this.activeMenuItem!==Q.menuItem)this.activeMenuItem.deactivate();this.activeMenuItem=Q.menuItem}}),{comp:z,eGui:z.getGui()}})}activateFirstItem(){let $=this.menuItems.filter((z)=>!z.isDisabled())[0];if(!$)return;$.activate()}createSeparator(){let $={tag:"div",cls:"ag-menu-separator-part"};return K0({tag:"div",cls:"ag-menu-separator",attrs:{"aria-hidden":"true"},children:[$,$,$,$]})}handleNavKey($){switch($){case A.UP:case A.DOWN:{let Q=this.findNextItem($===A.UP);if(Q&&Q!==this.activeMenuItem)Q.activate(!1,!0);return}}let z=this.gos.get("enableRtl")?A.RIGHT:A.LEFT;if($===z)this.closeIfIsChild();else this.openChild()}closeIfIsChild($){let z=this.getParentComponent();if(z&&z instanceof o4){if($)$.preventDefault();return z.closeSubMenu(),z.getGui().focus(),!0}return!1}openChild(){if(this.activeMenuItem)this.activeMenuItem.openSubMenu(!0)}findNextItem($){let z=[...this.menuItems];if(!z.length)return;if(!this.activeMenuItem)return $?b(z):z[0];if($)z.reverse();let Q,J=!1;for(let Z of z){if(!J){if(Z===this.activeMenuItem)J=!0;continue}Q=Z;break}if(J&&!Q)return z[0];return Q||this.activeMenuItem}destroy(){this.clearActiveItem(),super.destroy()}};var XA=class extends p0{constructor($){super({tag:"div"});this.callbacks=$}init($){this.params=$,this.cssClassPrefix=this.params.cssClassPrefix??"ag-menu-option",this.addAriaAttributes(),this.addIcon(),this.addName(),this.addShortcut(),this.addSubMenu()}configureDefaults(){return!0}addAriaAttributes(){let{checked:$,subMenu:z}=this.params,Q=this.getGui();if($)v6(Q,$);if(z)w0(Q,!1)}addIcon(){if(this.params.isCompact)return;let $=K0({tag:"span",ref:"eIcon",cls:`${this.getClassName("part")} ${this.getClassName("icon")}`,role:"presentation"}),{checked:z,icon:Q}=this.params;if(z)$.appendChild(this.beans.iconSvc.createIconNoSpan("check"));else if(Q)if(X1(Q))$.appendChild(Q);else if(typeof Q==="string")$.innerHTML=Q;else this.callbacks?.warnNoIcon?.();this.getGui().appendChild($)}addName(){let $=K0({tag:"span",ref:"eName",cls:`${this.getClassName("part")} ${this.getClassName("text")}`,children:this.params.name||""});this.getGui().appendChild($)}addShortcut(){if(this.params.isCompact)return;let $=K0({tag:"span",ref:"eShortcut",cls:`${this.getClassName("part")} ${this.getClassName("shortcut")}`,children:this.params.shortcut||""});this.getGui().appendChild($)}addSubMenu(){let $=K0({tag:"span",ref:"ePopupPointer",cls:`${this.getClassName("part")} ${this.getClassName("popup-pointer")}`}),z=this.getGui();if(this.params.subMenu){let Q=this.gos.get("enableRtl")?"subMenuOpenRtl":"subMenuOpen";$.appendChild(this.beans.iconSvc.createIconNoSpan(Q))}z.appendChild($)}getClassName($){return`${this.cssClassPrefix}-${$}`}};function e4($,z){if(!z)return null;let Q=E$($),J=Q.indexOf(z);if(J===-1)return null;let Z=-1;for(let X=J-1;X>=0;X--)if(Q[X].classList.contains(gQ.TAB_GUARD_TOP)){Z=X;break}if(Z<=0)return null;return Q[Z-1]}function jX($,z){if(!z)return!1;let Q=$.querySelectorAll(`.${l2}`);if(!Q.length)return!1;for(let J=0;J<Q.length;J++)if(Q[J].contains(z))return!0;return!1}function YA($){return{tag:"div",cls:`ag-tabs ${$}`,children:[{tag:"div",ref:"eHeader"},{tag:"div",ref:"eBody",role:"presentation",cls:"ag-tabs-body"+$?` ${$}-body`:""}]}}var qA=class extends p${constructor($){super(YA($.cssClass));this.eHeader=f,this.eBody=f,this.items=[],this.tabbedItemScrollMap=new Map,this.params=$}postConstruct(){if(this.setupHeader(),this.params.items)for(let $ of this.params.items)this.addItem($);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:$,cssClass:z}=this.params,Q=(J,Z)=>{if(J.classList.add(`ag-tabs-${Z}`),z)J.classList.add(`${z}-${Z}`)};if($)this.setupCloseButton(Q),this.eTabHeader=K0({tag:"div",role:"presentation"}),Q(this.eHeader,"header-wrapper"),this.eHeader.appendChild(this.eTabHeader);else this.eTabHeader=this.eHeader;_0(this.eTabHeader,"tablist"),Q(this.eTabHeader,"header")}setupCloseButton($){let z=K0({tag:"button"});$(z,"close-button");let Q=this.beans.iconSvc.createIconNoSpan("close");E0(z,this.params.closeButtonAriaLabel),z.appendChild(Q),this.addManagedElementListeners(z,{click:()=>this.params.onCloseClicked?.()});let J=K0({tag:"div",role:"presentation"});$(J,"close-button-wrapper"),J.appendChild(z),this.eHeader.appendChild(J),this.eCloseButton=z}handleKeyDown($){switch($.key){case A.RIGHT:case A.LEFT:{if(!this.eTabHeader.contains(d(this.beans)))return;let z=$.key===A.RIGHT,Q=this.gos.get("enableRtl"),J=this.items.indexOf(this.activeItem),Z=z!==Q?Math.min(J+1,this.items.length-1):Math.max(J-1,0);if(J===Z)return;$.preventDefault();let X=this.items[Z];this.showItemWrapper(X),X.eHeaderButton.focus();break}case A.UP:case A.DOWN:$.stopPropagation();break}}onTabKeyDown($){if($.defaultPrevented)return;let{beans:z,eHeader:Q,eBody:J,activeItem:Z,params:X}=this,{suppressTrapFocus:Y,enableCloseButton:q}=X,G=d(z),_=$.target,H=$.shiftKey;if(Q.contains(G)){if($.preventDefault(),q&&H&&!this.eCloseButton?.contains(G))this.eCloseButton?.focus();else if(Y&&H)e4(Y0(z).body,_)?.focus();else this.focusBody($.shiftKey);return}let U=null;if(jX(J,_)){if(H)U=e4(J,_);if(!U&&!Y)U=Z.eHeaderButton}if(!U&&J.contains(G)){if(U=j0(z,J,!1,H),!U){if(Y&&!H)this.forceFocusOutOfContainer(H);else if(q&&!H)$.preventDefault(),this.eCloseButton?.focus();else $.preventDefault(),this.focusHeader();return}}if(U)$.preventDefault(),U.focus()}focusInnerElement($){if($)return this.focusBody(!0);else return this.focusHeader(),!0}focusHeader($){this.activeItem.eHeaderButton.focus({preventScroll:$})}focusBody($){return F0(this.eBody,$)}setAfterAttachedParams($){this.afterAttachedParams=$}showFirstItem(){if(this.items.length>0)this.showItemWrapper(this.items[0])}addItem($){let z=K0({tag:"span",cls:"ag-tab",role:"tab",attrs:{tabindex:"-1"}});z.appendChild($.title),this.eTabHeader.appendChild(z),E0(z,$.titleLabel);let Q={tabbedItem:$,eHeaderButton:z};this.items.push(Q),z.addEventListener("click",this.showItemWrapper.bind(this,Q))}showItem($){let z=this.items.find((Q)=>Q.tabbedItem===$);if(z)this.showItemWrapper(z)}showItemWrapper($){let{tabbedItem:z,eHeaderButton:Q}=$;if(this.params.onItemClicked?.({item:z}),this.activeItem===$){this.params.onActiveItemClicked?.();return}if(this.lastScrollListener)this.lastScrollListener=this.lastScrollListener();if(z0(this.eBody),z.bodyPromise.then((J)=>{this.eBody.appendChild(J);let Z=!VQ();if(!this.params.suppressFocusBodyOnOpen)F0(this.eBody,!1,Z);if(z.afterAttachedCallback)z.afterAttachedCallback(this.afterAttachedParams);if(this.params.keepScrollPosition){let X=z.getScrollableContainer?.()||J;[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?.();Q.classList.add("ag-tab-selected"),this.activeItem=$}},GA=".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 _A($){let z=$.cssIdentifier||"default",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-${Q} ag-${z}-group-container`}]}}var HA=class extends p0{constructor($={}){super(_A($),[y$]);this.params=$,this.suppressEnabledCheckbox=!0,this.suppressToggleExpandOnEnableChange=!1,this.eToolbar=f,this.cbGroupEnabled=f,this.eContainer=f,this.registerCSS(GA);let{enabled:z,items:Q,suppressEnabledCheckbox:J,expanded:Z,suppressToggleExpandOnEnableChange:X,useToggle:Y}=$;if(this.cssIdentifier=$.cssIdentifier||"default",this.enabled=z!=null?z:!0,this.items=Q||[],this.useToggle=Y??!1,this.alignItems=$.alignItems||"center",this.expanded=Z==null?!0:Z,J!=null)this.suppressEnabledCheckbox=J;if(X!=null)this.suppressToggleExpandOnEnableChange=X}postConstruct(){if(this.setupTitleBar(),this.items.length){let Z=this.items;this.items=[],this.addItems(Z)}let $=this.getLocaleTextFunc();if(this.cbGroupEnabled.setLabel($("enabled","Enabled")),this.enabled)this.setEnabled(this.enabled,void 0,!0);this.setAlignItems(this.alignItems);let{onEnableChange:z,onExpandedChange:Q,suppressOpenCloseIcons:J}=this.params;if(this.hideEnabledCheckbox(this.suppressEnabledCheckbox),this.hideOpenCloseIcons(J??!1),this.refreshChildDisplay(),N(this.eContainer,this.expanded),this.cbGroupEnabled.onValueChange((Z)=>{this.setEnabled(Z,!0,this.suppressToggleExpandOnEnableChange),this.dispatchEnableChangeEvent(Z)}),z!=null)this.onEnableChange(z);if(Q!=null)this.onExpandedChange(Q)}refreshChildDisplay(){N(this.eToolbar,this.expanded&&!this.suppressEnabledCheckbox),this.eTitleBar?.refreshOnExpand(this.expanded)}isExpanded(){return this.expanded}setAlignItems($){if(this.alignItems!==$)this.removeCss(`ag-group-item-alignment-${this.alignItems}`);this.alignItems=$;let z=`ag-group-item-alignment-${this.alignItems}`;return this.addCss(z),this}toggleGroupExpand($,z){if(this.eTitleBar?.isSuppressCollapse()&&!this.useToggle)$=!0,z=!0;else if($=$!=null?$:!this.expanded,this.expanded===$)return this;if(this.expanded=$,this.refreshChildDisplay(),N(this.eContainer,$),!z)this.dispatchLocalEvent({type:$?"expanded":"collapsed"});return this}addItems($){for(let z of $)this.addItem(z)}prependItem($){this.insertItem($,!0)}addItem($){this.insertItem($,!1)}updateItems($){let z=this.items,Q=0;for(let J=0;J<z.length;++J){let Z=z[J];if(Z===$[Q])Q++;else{let X=bJ(Z)?Z.getGui():Z;T0(X)}}while(Q<$.length)this.insertItem($[Q++]);this.items=$}insertItem($,z){let Q=this.eContainer,J=bJ($)?$.getGui():$;if(J.classList.add("ag-group-item",`ag-${this.cssIdentifier}-group-item`),z)Q.prepend(J),this.items.unshift(J);else Q.appendChild(J),this.items.push(J)}hideItem($,z){let Q=this.items[z];N(Q,!$)}getItemIndex($){let z=bJ($)?$.getGui():$;return this.items.indexOf(z)}setTitle($){return this.eTitleBar?.setTitle($),this}addTitleBarWidget($){return this.eTitleBar?.addWidget($),this}addCssClassToTitleBar($){this.eTitleBar?.addCss($)}dispatchEnableChangeEvent($){let z={type:"enableChange",enabled:$};this.dispatchLocalEvent(z)}setEnabled($,z,Q){if(this.enabled=$,this.refreshDisabledStyles(),!Q)this.toggleGroupExpand($);if(!z)this.cbGroupEnabled.setValue($),this.eToggle?.setValue($);return this}isEnabled(){return this.enabled}onEnableChange($){return this.addManagedListeners(this,{enableChange:(z)=>$(z.enabled)}),this}onExpandedChange($){return this.addManagedListeners(this,{expanded:()=>$(!0),collapsed:()=>$(!1)}),this}hideEnabledCheckbox($){return this.suppressEnabledCheckbox=$,this.refreshChildDisplay(),this.refreshDisabledStyles(),this}hideOpenCloseIcons($){return this.eTitleBar?.hideOpenCloseIcons($),this}refreshDisabledStyles(){let $=!this.enabled;this.eContainer.classList.toggle("ag-disabled",$),this.eTitleBar?.refreshDisabledStyles(this.suppressEnabledCheckbox&&$),this.eContainer.classList.toggle("ag-disabled-group-container",$)}setupTitleBar(){let $=this.useToggle?this.createToggleTitleBar():this.createDefaultTitleBar();this.eToolbar.insertAdjacentElement("beforebegin",$.getGui())}createDefaultTitleBar(){let $=this.createManagedBean(new WA(this.params));return this.eTitleBar=$,$.refreshOnExpand(this.expanded),this.addManagedListeners($,{expandedChanged:(z)=>this.toggleGroupExpand(z.expanded)}),$}createToggleTitleBar(){let $=this.createManagedBean(new N4({value:this.enabled,label:this.params.title,labelAlignment:"left",labelWidth:"flex",onValueChange:(z)=>{this.setEnabled(z,!0),this.dispatchEnableChangeEvent(z)}}));return $.addCss("ag-group-title-bar"),$.addCss(`ag-${this.params.cssIdentifier??"default"}-group-title-bar ag-unselectable`),this.eToggle=$,this.toggleGroupExpand(this.enabled),$}},c4="ag-disabled-group-title-bar";function UA($){let z=$.cssIdentifier??"default";return{tag:"div",cls:`ag-group-title-bar ag-${z}-group-title-bar ag-unselectable`,role:$.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 WA=class extends p0{constructor($={}){super(UA($));this.suppressOpenCloseIcons=!1,this.suppressKeyboardNavigation=!1,this.eGroupOpenedIcon=f,this.eGroupClosedIcon=f,this.eTitle=f;let{title:z,suppressOpenCloseIcons:Q,suppressKeyboardNavigation:J}=$;if(!!z&&z.length>0)this.title=z;if(Q!=null)this.suppressOpenCloseIcons=Q;this.suppressKeyboardNavigation=J??!1}postConstruct(){this.setTitle(this.title),this.hideOpenCloseIcons(this.suppressOpenCloseIcons),this.setupExpandContract()}setupExpandContract(){let $=this.beans.iconSvc;this.eGroupClosedIcon.appendChild($.createIconNoSpan("accordionClosed")),this.eGroupOpenedIcon.appendChild($.createIconNoSpan("accordionOpen")),this.addManagedElementListeners(this.getGui(),{click:()=>this.dispatchExpandChanged(),keydown:(z)=>{switch(z.key){case A.ENTER:case A.SPACE:z.preventDefault(),this.dispatchExpandChanged();break;case A.RIGHT:case A.LEFT:z.preventDefault(),this.dispatchExpandChanged(z.key===A.RIGHT);break}}})}refreshOnExpand($){this.refreshAriaStatus($),this.refreshOpenCloseIcons($)}refreshAriaStatus($){if(!this.suppressOpenCloseIcons)w0(this.getGui(),$)}refreshOpenCloseIcons($){let z=!this.suppressOpenCloseIcons;N(this.eGroupOpenedIcon,z&&$),N(this.eGroupClosedIcon,z&&!$)}isSuppressCollapse(){return this.suppressOpenCloseIcons}dispatchExpandChanged($){let z={type:"expandedChanged",expanded:$};this.dispatchLocalEvent(z)}setTitle($){let z=this.getGui(),Q=!!$&&$.length>0;if($=Q?$:void 0,this.eTitle.textContent=$??"",N(z,Q),$!==this.title)this.title=$;let J=z.classList.contains(c4);return this.refreshDisabledStyles(J),this}addWidget($){return this.getGui().appendChild($),this}hideOpenCloseIcons($){if(this.suppressOpenCloseIcons=$,$)this.dispatchExpandChanged(!0);return this}refreshDisabledStyles($){let z=this.getGui();if($)z.classList.add(c4),z.removeAttribute("tabindex"),_0(z,"presentation");else if(z.classList.remove(c4),typeof this.title==="string"&&!this.suppressKeyboardNavigation)this.activateTabIndex([z]),_0(z,"group");else z.removeAttribute("tabindex"),_0(z,"presentation")}};var Q0="35.2.0",I0={moduleName:"EnterpriseCore",version:Q0,beans:[O9],icons:{accordionOpen:"tree-open",accordionClosed:"tree-closed",accordionIndeterminate:"tree-indeterminate",close:"cross",cancel:"cancel",maximize:"maximize",minimize:"minimize",columnDrag:"grip"},dependsOn:[],setLicenseKey:O9.setLicenseKey};var BA={stopPropagationCallbacks:Uz,focusNextContainer:($,z)=>{return Z$($,z)},configureFocusableContainer:($,z)=>{let Q=$.ctrlsSvc.get("gridCtrl");Q.addFocusableContainer(z),z.addDestroyFunc(()=>Q.removeFocusableContainer(z))}},EA=class extends JA{constructor($){super($,BA)}getFocusableContainerName(){return"dialog"}};var fX=class extends aV{constructor($){super(Uz,$)}};var KA=class extends eV{};function LA($){return $.sideBar?.comp.isDisplayed()??!1}function DA($,z){$.sideBar?.comp.setDisplayed(z)}function FA($,z){$.sideBar?.comp.setSideBarPosition(z)}function MA($,z,Q){$.sideBar?.comp.openToolPanel(z,"api",Q)}function kA($){$.sideBar?.comp.close("api")}function VA($){return $.sideBar?.comp.openedItem()??null}function AA($){$.sideBar?.comp.refresh()}function SA($){return $.sideBar?.comp.isToolPanelShowing()??!1}function RA($,z){let Q=$.sideBar?.comp.getToolPanelInstance(z);return m$(Q)}function jA($){return $.sideBar?.comp.getDef()}var fA=`.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)}}`,OA={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"}]}]},PA=class extends x{constructor($){super();this.toolPanelDef=$,this.eToggleButton=f,this.eIconWrapper=f,this.eLabel=f}getToolPanelId(){return this.toolPanelDef.id}postConstruct(){this.setTemplate(OA,[]),this.setLabel(),this.setIcon(),this.addManagedElementListeners(this.eToggleButton,{click:this.onButtonPressed.bind(this)}),this.eToggleButton.setAttribute("id",`ag-${this.getCompId()}-button`)}setLabel(){let $=this.toolPanelDef,z=this.getLocaleTextFunc()($.labelKey,$.labelDefault);this.eLabel.textContent=z}setIcon(){this.eIconWrapper.insertAdjacentElement("afterbegin",h(this.toolPanelDef.iconKey,this.beans))}onButtonPressed(){this.dispatchLocalEvent({type:"toggleButtonClicked"})}setSelected($){this.toggleCss("ag-selected",$),w0(this.eToggleButton,$)}},TA={tag:"div",cls:"ag-side-buttons",role:"tablist"},vA=class extends x{constructor(){super(TA);this.buttonComps=[]}postConstruct(){this.addManagedElementListeners(this.getFocusableElement(),{keydown:this.handleKeyDown.bind(this)})}handleKeyDown($){if($.key!==A.TAB||!$.shiftKey)return;if(Z$(this.beans,!0)){$.preventDefault();return}i0($)}setActiveButton($){for(let z of this.buttonComps)z.setSelected($===z.getToolPanelId())}addButtonComp($){let z=this.createBean(new PA($));return this.buttonComps.push(z),this.appendChild(z),z.addEventListener("toggleButtonClicked",()=>{this.dispatchLocalEvent({type:"sideBarButtonClicked",toolPanelId:$.id})}),z}clearButtons(){this.buttonComps=this.destroyBeans(this.buttonComps),z0(this.getGui())}destroy(){this.clearButtons(),super.destroy()}},IA={selector:"AG-SIDE-BAR-BUTTONS",component:vA},OX={id:"columns",labelDefault:"Columns",labelKey:"columns",iconKey:"columnsToolPanel",toolPanel:"agColumnsToolPanel"},PX={id:"filters",labelDefault:"Filters",labelKey:"filters",iconKey:"filtersToolPanel",toolPanel:"agFiltersToolPanel"},CA={id:"filters-new",labelDefault:"Filters",labelKey:"filters",iconKey:"filtersToolPanel",toolPanel:"agNewFiltersToolPanel"},f1={columns:OX,filters:PX,"filters-new":CA};function $5($){if(!$)return;if($===!0)return{toolPanels:[OX,PX],defaultToolPanel:"columns"};if(typeof $==="string")return $5([$]);if(Array.isArray($)){let z=[];for(let Q of $){let J=f1[Q];if(!J){j(215,{key:Q,defaultByKey:f1});continue}z.push(J)}if(z.length===0)return;return{toolPanels:z,defaultToolPanel:z[0].id}}return{toolPanels:bA($.toolPanels),defaultToolPanel:$.defaultToolPanel,hiddenByDefault:$.hiddenByDefault,position:$.position,hideButtons:$.hideButtons}}function bA($){let z=[];if(!$)return z;return $.forEach((Q)=>{let J=yA(Q);if(!J)return;z.push(J)}),z}function yA($){if(typeof $!=="string")return $;if(f1[$])return f1[$];return j(215,{key:$,defaultByKey:f1}),null}var xA=class extends x{constructor(){super({tag:"div",cls:"ag-tool-panel-horizontal-resize"});this.minWidth=100,this.maxWidth=null}postConstruct(){let $=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($),this.inverted=this.gos.get("enableRtl")}dispatchResizeEvent($,z,Q){this.eventSvc.dispatchEvent({type:"toolPanelSizeChanged",width:Q,started:$,ended:z})}onResizeStart(){this.startingWidth=this.elementToResize.offsetWidth,this.dispatchResizeEvent(!0,!1,this.startingWidth)}onResizeEnd($){return this.onResizing($,!0)}onResizing($,z=!1){let Q=this.inverted?-1:1,J=Math.max(this.minWidth,Math.floor(this.startingWidth-$*Q));if(this.maxWidth!=null)J=Math.min(this.maxWidth,J);this.elementToResize.style.setProperty("--ag-horizontal-size",`${J}px`),this.dispatchResizeEvent(!1,z,J)}};function wA($,z,Q){return $.getCompDetails(z,NA,void 0,Q,!0)}var NA={name:"toolPanel",optionalMethods:["refresh","getState"]},gA={tag:"div",cls:"ag-tool-panel-wrapper",role:"tabpanel",children:[{tag:"div",cls:"ag-tool-panel-content",ref:"eContent"}]},hA=class extends x{constructor(){super(gA);this.eContent=f,this.animationId=0,this.defParent=null}postConstruct(){let $=this.getGui(),z=this.resizeBar=this.createManagedBean(new xA);$.setAttribute("id",`ag-${this.getCompId()}`),z.elementToResize=$,this.appendChild(z)}getToolPanelId(){return this.toolPanelId}getDefParent(){return this.defParent}setDefParent($){this.defParent=$}setToolPanelDef($,z){let{id:Q,minWidth:J,maxWidth:Z,width:X,parent:Y}=$;if(this.toolPanelId=Q,this.defParent=Y??null,X)this.getGui().style.setProperty("--ag-side-bar-panel-width",`${X}px`);let q=wA(this.beans.userCompFactory,$,z);if(q==null)return!1;let G=q.newAgStackInstance();this.params=q.params,G.then(this.setToolPanelComponent.bind(this));let _=this.resizeBar;if(J!=null)_.minWidth=J;if(Z!=null)_.maxWidth=Z;return!0}setToolPanelComponent($){this.toolPanelCompInstance=$;let{eContent:z}=this;z.appendChild($.getGui()),this.addDestroyFunc(()=>{this.destroyBean($)})}getToolPanelInstance(){return this.toolPanelCompInstance}setResizerSizerSide($){let z=this.gos.get("enableRtl"),Q=$==="left",J=z?Q:!Q;this.resizeBar.inverted=J}refresh(){this.toolPanelCompInstance?.refresh(this.params)}animateDisplayed($){if(this.isDisplayed()===$)return;let z=++this.animationId,{eContent:Q}=this,J=()=>{if(this.animationId===z)Z.classList.remove("ag-tool-panel-animating"),Q.style.width="",Z.style.width=""},Z=this.getGui(),X=Z.offsetWidth;this.setDisplayed($),Z.classList.add("ag-tool-panel-animating");let Y=getComputedStyle(Z).transitionDuration;if(!parseFloat(Y)){J();return}Z.style.transition="none",Z.style.width="",Q.style.width=`${Q.offsetWidth}px`,Z.style.width=`${X}px`;let q=Z.offsetWidth;Z.style.transition="",Z.style.width=$?"":"0";let G=setTimeout(J,100);Z.addEventListener("transitionstart",()=>clearTimeout(G),{once:!0}),Z.addEventListener("transitionend",J,{once:!0})}},uA={tag:"div",cls:"ag-side-bar ag-unselectable",children:[{tag:"ag-side-bar-buttons",ref:"sideBarButtons"}]},mA=class extends x{constructor(){super(uA,[IA]);this.sideBarButtons=f,this.toolPanelWrappers=[],this.registerCSS(fA)}postConstruct(){this.sideBarButtons.addEventListener("sideBarButtonClicked",this.onToolPanelButtonClicked.bind(this));let{beans:$,gos:z}=this,{sideBar:Q}=z.get("initialState")??{};this.setSideBarDef({sideBarDef:$5(z.get("sideBar")),sideBarState:Q}),this.addManagedPropertyListener("sideBar",()=>this.setState()),$.sideBar.comp=this;let J=this.getFocusableElement();this.createManagedBean(new c$(J,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this)})),Bz($,this,J),this.addManagedPropertyListener("enableAdvancedFilter",this.onAdvancedFilterChanged.bind(this))}getFocusableContainerName(){return"sideBar"}onTabKeyDown($){if($.defaultPrevented)return;let{beans:z,sideBarButtons:Q}=this,J=this.getGui(),Z=Q.getGui(),X=d(z),Y=J.querySelector(".ag-tool-panel-wrapper:not(.ag-hidden)"),q=$.target,G=$.shiftKey;if(!Y){if(Z$(z,G,!0))return $.preventDefault(),!0;return c7($),!1}if(Z.contains(X)){if(F0(Y,G))$.preventDefault();return}if(!G)return;let _=null;if(Y.contains(X))_=j0(z,Y,void 0,!0);else if(jX(Y,q))_=e4(Y,q);if(!_)_=Z.querySelector(".ag-selected button"),_=A0(_)?_:null;if(_&&_!==$.target)$.preventDefault(),_.focus()}handleKeyDown($){let z=d(this.beans),Q=this.sideBarButtons;if(!Q.getGui().contains(z))return;let J=Q.getGui(),Z=Array.prototype.slice.call(J.querySelectorAll(".ag-side-button")),X=Z.findIndex((G)=>G.contains(z)),Y=null;switch($.key){case A.LEFT:case A.UP:Y=Math.max(0,X-1);break;case A.RIGHT:case A.DOWN:Y=Math.min(X+1,Z.length-1);break}if(Y===null)return;let q=Z[Y].querySelector("button");if(q)q.focus(),$.preventDefault()}onToolPanelButtonClicked($){let z=$.toolPanelId;if(this.openedItem()===z)this.openToolPanel(void 0,"sideBarButtonClicked");else this.openToolPanel(z,"sideBarButtonClicked")}clearDownUi(){this.sideBarButtons.clearButtons(),this.destroyToolPanelWrappers()}setSideBarDef({sideBarDef:$,sideBarState:z,existingToolPanelWrappers:Q}){if(this.setDisplayed(!1),this.sideBar=$,$)this.sideBarButtons.setDisplayed(!$.hideButtons);if($?.toolPanels){let J=$.toolPanels;if(this.createToolPanelsAndSideButtons(J,z,Q),!this.toolPanelWrappers.length)return;let Z=z?z.visible:!$.hiddenByDefault;if(this.setDisplayed(Z),this.setSideBarPosition(z?z.position:$.position),Z)if(z){let{openToolPanel:X}=z;if(X)this.openToolPanel(X,"sideBarInitializing")}else this.openToolPanel($.defaultToolPanel,"sideBarInitializing")}}getDef(){return this.sideBar}setSideBarPosition($){if(!$)$="right";this.position=$;let z=$==="left",Q=z?"right":"left";this.toggleCss("ag-side-bar-left",z),this.toggleCss("ag-side-bar-right",!z);for(let J of this.toolPanelWrappers)J.setResizerSizerSide(Q);return this.dispatchSideBarUpdated(),this}setDisplayed($,z){super.setDisplayed($,z),this.dispatchSideBarUpdated()}getState(){let $={};for(let z of this.toolPanelWrappers)$[z.getToolPanelId()]=z.getToolPanelInstance()?.getState?.();return{visible:this.isDisplayed(),position:this.position,openToolPanel:this.openedItem(),toolPanels:$}}createToolPanelsAndSideButtons($,z,Q){for(let J of $)this.createToolPanelAndSideButton(J,z?.toolPanels?.[J.id],Q?.[J.id])}validateDef($){let{id:z,toolPanel:Q}=$;if(z==null)return j(212),!1;if(N9(Q)){if(this.beans.filterManager?.isAdvFilterEnabled())return j(213),!1}return!0}createToolPanelAndSideButton($,z,Q){if(!this.validateDef($)){this.destroyBean(Q);return}let J;if(Q)J=Q,J.setDefParent($.parent??null);else if(J=this.createBean(new hA),!J.setToolPanelDef($,y(this.gos,{initialState:z,onStateUpdated:()=>this.dispatchSideBarUpdated()})))return;J.setDisplayed(!1),this.renderToolPanelUnderParent(J,$.parent),this.toolPanelWrappers.push(J);let Z=this.sideBarButtons.addButtonComp($);I6(Z.eToggleButton,J.getGui())}refresh(){for(let $ of this.toolPanelWrappers)$.refresh()}renderToolPanelUnderParent($,z){let Q=$.getGui();if(z)this.beans.environment.applyThemeClasses(z,["ag-external","ag-tool-panel-external"]),Q.classList.add(this.gos.get("enableRtl")?"ag-rtl":"ag-ltr");let J=z??$.getDefParent()??this.getGui();if(Q.parentElement!==J)J.appendChild(Q)}getWrapper($){return this.toolPanelWrappers.find((z)=>z.getToolPanelId()===$)}openToolPanel($,z="api",Q){let J=this.openedItem(),X=!!$&&!!J||z==="sideBarInitializing";for(let G of this.toolPanelWrappers){let _=$===G.getToolPanelId();if(_)this.renderToolPanelUnderParent(G,Q??null);if(X)G.setDisplayed(_);else G.animateDisplayed(_)}let Y=this.openedItem();if(J!==Y)this.sideBarButtons.setActiveButton($),this.raiseToolPanelVisibleEvent($,J??void 0,z)}getToolPanelInstance($){let z=this.getWrapper($);if(!z){j(214,{key:$});return}return z.getToolPanelInstance()}raiseToolPanelVisibleEvent($,z,Q){let J=!!$&&!!z,Z=this.eventSvc;if(z)Z.dispatchEvent({type:"toolPanelVisibleChanged",source:Q,key:z,visible:!1,switchingToolPanel:J});if($)Z.dispatchEvent({type:"toolPanelVisibleChanged",source:Q,key:$,visible:!0,switchingToolPanel:J})}close($="api"){this.openToolPanel(void 0,$)}isToolPanelShowing(){return!!this.openedItem()}openedItem(){let $=null;for(let z of this.toolPanelWrappers)if(z.isDisplayed())$=z.getToolPanelId();return $}setState($){let z=$5(this.gos.get("sideBar")),Q={};if(z&&this.sideBar)z.toolPanels?.forEach((J)=>{let{id:Z}=J;if(!Z)return;let X=this.sideBar.toolPanels?.find((_)=>_.id===Z);if(!X||J.toolPanel!==X.toolPanel)return;let Y=this.getWrapper(Z);if(!Y)return;let q=y(this.gos,{...J.toolPanelParams??{},initialState:$?.toolPanels?.[Z],onStateUpdated:()=>this.dispatchSideBarUpdated()});if(Y.getToolPanelInstance()?.refresh(q)!==!0)return;this.toolPanelWrappers=this.toolPanelWrappers.filter((_)=>_!==Y),T0(Y.getGui()),Q[Z]=Y});this.clearDownUi(),this.setSideBarDef({sideBarDef:z,sideBarState:$,existingToolPanelWrappers:Q})}dispatchSideBarUpdated(){this.eventSvc.dispatchEvent({type:"sideBarUpdated"})}destroyToolPanelWrappers(){for(let $ of this.toolPanelWrappers)T0($.getGui()),this.destroyBean($);this.toolPanelWrappers.length=0}onAdvancedFilterChanged(){if(this.sideBar?.toolPanels?.some((z)=>N9(typeof z==="string"?z:z.toolPanel)))this.setState()}destroy(){this.destroyToolPanelWrappers(),super.destroy()}};function N9($){return $==="agFiltersToolPanel"||$==="agNewFiltersToolPanel"}var cA={selector:"AG-SIDE-BAR",component:mA},pA=class extends S{constructor(){super(...arguments);this.beanName="sideBar"}getSelector(){return cA}},Z5={moduleName:"SideBar",version:Q0,beans:[pA],apiFunctions:{isSideBarVisible:LA,setSideBarVisible:DA,setSideBarPosition:FA,openToolPanel:MA,closeToolPanel:kA,getOpenedToolPanel:VA,refreshToolPanel:AA,isToolPanelShowing:SA,getToolPanelInstance:RA,getSideBar:jA},dependsOn:[I0,B4]},iA='.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}',TX=class extends XA{constructor(){super({warnNoIcon:()=>j(227)})}},X5={moduleName:"MenuItem",version:Q0,userComponents:{agMenuItem:TX},icons:{check:"tick",subMenuOpen:"small-right",subMenuOpenRtl:"small-left"},css:[iA]},nA=".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}",dA=300,tA={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"}]},sA=class extends x{constructor(){super(tA,[y$,T4]);this.eExpand=f,this.eSelect=f,this.eFilterTextField=f}postConstruct(){this.createExpandIcons(),this.addManagedListeners(this.eExpand,{click:this.onExpandClicked.bind(this),keydown:(z)=>{if(z.key===A.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 $=this.getLocaleTextFunc();this.eSelect.setInputAriaLabel($("ariaColumnSelectAll","Toggle All Columns Visibility")),this.eFilterTextField.setInputAriaLabel($("ariaFilterColumnsInput","Filter Columns Input")),this.activateTabIndex([this.eExpand])}onFunctionsReadOnlyPropChanged(){let $=this.gos.get("functionsReadOnly");this.eSelect.setReadOnly($),this.eSelect.toggleCss("ag-column-select-column-readonly",$)}init($){this.params=$;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 $=this.beans;this.eExpand.appendChild(this.eExpandChecked=h("columnSelectOpen",$)),this.eExpand.appendChild(this.eExpandUnchecked=h("columnSelectClosed",$)),this.eExpand.appendChild(this.eExpandIndeterminate=h("columnSelectIndeterminate",$)),this.setExpandState(0)}showOrHideOptions(){let $=this.params,z=!$.suppressColumnFilter,Q=!$.suppressColumnSelectAll,J=!$.suppressColumnExpandAll,Z=!!this.beans.colModel.colDefCols?.treeDepth,X=this.getLocaleTextFunc();this.eFilterTextField.setInputPlaceholder(X("searchOoo","Search...")),N(this.eFilterTextField.getGui(),z),N(this.eSelect.getGui(),Q),N(this.eExpand,J&&Z)}onFilterTextChanged(){if(!this.onFilterTextChangedDebounced)this.onFilterTextChangedDebounced=g$(this,()=>{let $=this.eFilterTextField.getValue();this.dispatchLocalEvent({type:"filterChanged",filterText:$})},dA);this.onFilterTextChangedDebounced()}onSelectClicked(){this.dispatchLocalEvent({type:this.selectState?"unselectAll":"selectAll"})}onExpandClicked(){this.dispatchLocalEvent({type:this.expandState===0?"collapseAll":"expandAll"})}setExpandState($){this.expandState=$,N(this.eExpandChecked,$===0),N(this.eExpandUnchecked,$===1),N(this.eExpandIndeterminate,$===2)}setSelectionState($){this.selectState=$,this.eSelect.setValue(this.selectState)}},rA={selector:"AG-PRIMARY-COLS-HEADER",component:sA};function PQ($){return!!$&&typeof $.children<"u"}function Dz($){return PQ($)?$.groupId:$.colId}function vX($,z,Q){let J=(Y,q)=>{let _=Y.children.map(Dz).includes(Dz(q)),H=b(Y.children),U=H&&Dz(H)!==Dz(q);return _&&U};if(!PQ($))return!0;let Z=$,X=Q;if(J(Z,X))return Z.children.push(X),!0;if(Z.groupId===z){if(!Z.children.map(Dz).includes(Dz(X)))return Z.children.push(X),!0}for(let Y=Z.children.length-1;Y>=0;Y--)if(vX(Z.children[Y],z,Q))break;return!1}function IX($){let z=(Z,X)=>{return PQ(Z)&&PQ(X)&&Dz(Z)===Dz(X)},Q=(Z,X)=>{if(!PQ(X))return Z;let Y=Z,q=X;if(q.children&&q.groupId){if(vX(Y,q.groupId,q.children[0]))return Y}for(let G of q.children)Q(Y,G);return Y},J=[];for(let Z=1;Z<=$.length;Z++){let X=$[Z-1],Y=$[Z];if(z(X,Y))$[Z]=Q(X,Y);else J.push(X)}return J}function lA($,z){let Q=[],J=(X,Y)=>{if(PQ(X)){let q=X,G=typeof q.groupId<"u"?q.groupId:q.headerName,_=new Cz(q,G,!1,Y),H=[];for(let U of q.children){let W=J(U,Y+1);if(W)H.push(W)}return _.setChildren(H),_}else{let q=X,G=q.colId?q.colId:q.field,_=$.getColDefCol(G);if(!_)Q.push(q);return _}},Z=[];for(let X of z){let Y=J(X,0);if(Y)Z.push(Y)}if(Q.length>0)j(217,{invalidColIds:Q});return Z}function aA($,z){let Q=CX(eA($)),J=IX(Q);z(J)}function oA($,z){let Q=CX($),J=IX(Q);z(J)}function CX($){let z=(Q,J)=>{let Z;if(q0(Q))if(Q.isPadding())Z=J;else{let Y=Object.assign({},Q.getColGroupDef());Y.groupId=Q.getGroupId(),Y.children=[J],Z=Y}else{let Y=Object.assign({},Q.getColDef());Y.colId=Q.getColId(),Z=Y}let X=Q.getOriginalParent();if(X)return z(X,Z);else return Z};return $.map((Q)=>z(Q,Q.getColDef()))}function eA($){return $.getCols().filter((z)=>{let Q=z.getColDef();return z.isPrimary()&&!Q.showRowGroup})}var g9=class{constructor($,z,Q,J=!1,Z){if(this.displayName=$,this.depth=Q,this.group=J,this.localEventService=new K$,J)this.columnGroup=z,this._expanded=Z,this.children=[];else this.column=z}get expanded(){return!!this._expanded}set expanded($){if($===this._expanded)return;this._expanded=$,this.localEventService.dispatchEvent({type:"expandedChanged"})}addEventListener($,z){this.localEventService.addEventListener($,z)}removeEventListener($,z){this.localEventService.removeEventListener($,z)}};function i($){return!!$?.buttons?.includes("apply")}function N0($,z){if(!i(z))return;let Q=$.sideBar?.comp.openedItem();if(!Q)return;$.sideBar?.comp.getToolPanelInstance(Q)?.refreshDeferredUi()}function bX($,z,Q,J,Z){let X=$S(z);yX($,X,Q,J,Z)}function yX($,z,Q,J,Z){if($.columnStateUpdateStrategy.getPivotMode(i(Z)))QS($,z,Q,J,Z);else zS($,z,Q,J,Z)}function $S($){let z=[],Q=(J)=>{for(let Z of J){if(!Z.passesFilter)continue;if(Z.group)Q(Z.children);else z.push(Z.column)}};return Q($),z}function zS($,z,Q,J,Z){let X=$.columnStateUpdateStrategy,Y=[];for(let q of z){if(q.getColDef().lockVisible)continue;if(X.isColumnVisibleInToolPanel(i(Z),q)!==Q)Y.push({colId:q.getId(),hide:!Q})}X.applyColumnState(i(Z),Y,J),N0($,Z)}function QS($,z,Q,J,Z){JS($,z,Q,J,Z)}function JS($,z,Q,J,Z){let X=$.columnStateUpdateStrategy,Y=[],_=Q?(H)=>{if(X.isColumnSelectedInPivotModeToolPanel(i(Z),H))return;if(H.isAllowValue()){let U=typeof H.getAggFunc()==="string"?H.getAggFunc():$.aggFuncSvc?.getDefaultAggFunc(H);Y.push({colId:H.getId(),aggFunc:U})}else if(H.isAllowRowGroup())Y.push({colId:H.getId(),rowGroup:!0});else if(H.isAllowPivot())Y.push({colId:H.getId(),pivot:!0})}:(H)=>{if(X.isColumnSelectedInPivotModeToolPanel(i(Z),H))Y.push({colId:H.getId(),pivot:!1,rowGroup:!1,aggFunc:null})};z.forEach(_),X.applyColumnState(i(Z),Y,J),N0($,Z)}function xX($,z){let{columns:Q,visibleState:J,pivotState:Z,eventType:X}=z,Y=$.columnStateUpdateStrategy,q=Y.getPivotMode(i(z)),G=Q.map((_)=>{let H=_.getColId();if(q){let U=Z?.[H];return{colId:H,pivot:U?.pivot,rowGroup:U?.rowGroup,aggFunc:U?.aggFunc}}else return{colId:H,hide:!J?.[H]}});Y.applyColumnState(i(z),G,X),N0($,z)}function ZS($){return{pivot:$.isPivotActive(),rowGroup:$.isRowGroupActive(),aggFunc:$.isValueActive()?$.getAggFunc():void 0}}function wX($,z,Q){if(!Q)return ZS($);let J=z.getRowGroupColumns(Q).includes($),Z=z.getPivotColumns(Q).includes($),X=z.getValueColumns(Q).includes($);return{pivot:Z,rowGroup:J,aggFunc:X?z.getColumnAggFunc(Q,$):void 0}}var NX=($,z)=>{if(!z)return[];let Q=$;for(let J=0,Z=z.length;J<Z&&Q;++J)Q=Q[z[J]];return Array.isArray(Q)?Q:[]},OQ=($,z,Q)=>{let J=$.aggData;if(J===z)return;if($.aggData=z,$.__localEventService)XS($,J,z,Q)},h9=($,z,Q)=>{OQ($,z,Q);let J=$.pinnedSibling;if(J)OQ(J,z,Q);let Z=$.sibling;if(Z){OQ(Z,z,Q);let X=Z.pinnedSibling;if(X)OQ(X,z,Q)}},XS=($,z,Q,J)=>{if(!Q){if(!z)return;let Y=Object.keys(z);for(let q=0,G=Y.length;q<G;++q){let _=Y[q],H=J.getColById(_);if(H)$.dispatchCellChangedEvent(H,void 0,z[_])}return}let Z=Object.keys(Q);for(let Y=0,q=Z.length;Y<q;++Y){let G=Z[Y],_=Q[G],H=z?z[G]:void 0;if(_===H)continue;let U=J.getColById(G);if(U)$.dispatchCellChangedEvent(U,_,H)}if(!z)return;let X=Object.keys(z);for(let Y=0,q=X.length;Y<q;++Y){let G=X[Y];if(G in Q)continue;let _=J.getColById(G);if(_)$.dispatchCellChangedEvent(_,void 0,z[G])}};var u9=($,z,Q)=>{if(!$)return;let J=$.group;if(J===Q)return;if($.group=Q,$.updateHasChildren(),J&&!Q)OQ($,null,z.colModel),$.setAllChildrenCount(null);z.selectionSvc?.updateRowSelectable($),$.dispatchRowEvent("groupChanged")},gX=($,z,Q)=>{u9($,z,Q),u9($.pinnedSibling,z,Q)},T1=($,z)=>{let{gos:Q,rowGroupColsSvc:J}=z;if(!J||!$)return!1;let Z=Q.get("groupLockGroupColumns");if(!$.isRowGroupActive()||Z===0)return!1;if(Z===-1)return!0;let X=J.columns.findIndex((Y)=>Y.getColId()===$.getColId());return Z>X},O1=($,z,Q)=>{let Z=$(z,`${z==="groupBy"?"Group by":"Un-Group by"} ${Q}`,[Q]);if(Z.indexOf(Q)>=0)return Z;else return`${Z} ${Q}`};function YS($){let z=r0($),Q="getSelection"in z?z.getSelection():null,J=[];for(let Z=0;Z<(Q?.rangeCount??0);Z++){let X=Q?.getRangeAt(Z);if(X)J.push(X)}return{selection:Q,ranges:J}}function qS($,z){if(!$.gos.get("enableCellTextSelection"))return z();if(!yJ()&&!cz())return z();let{selection:J,ranges:Z}=YS($);z(),J?.removeAllRanges();for(let X of Z)J?.addRange(X)}var GS={name:"menuItem",optionalMethods:["setActive","select","setExpanded","configureDefaults"]},hX={getMenuItemComp:($,z,Q)=>{return $.userCompFactory.getCompDetails(z,GS,"agMenuItem",y($.gos,Q),!0)?.newAgStackInstance()??g.resolve()},getPostProcessPopupParams:({column:$,node:z})=>({column:$,rowNode:z}),preserveRangesWhile:qS,stopPropagationCallbacks:Uz,warnNoItem:($)=>{j(228,{menuItemOrString:$})}},_S=class extends o4{constructor(){super(hX)}},uX=class extends RX{constructor($,z={column:null,node:null,value:null}){super($,z,hX)}},mX=class extends x{constructor($,z,Q,J={}){super({tag:"div",cls:"ag-menu"});this.column=$,this.mouseEventOrTouch=z,this.parentEl=Q,this.params=J,this.displayName=null}postConstruct(){let{column:$,beans:{colNames:z}}=this;this.initializeProperties($);let Q;if(Q$($))Q=z.getDisplayNameForColumn($,"columnToolPanel");else Q=z.getDisplayNameForProvidedColumnGroup(null,$,"columnToolPanel");if(this.displayName=Q,this.buildMenuItemMap(),this.isActive()){let J=this.mouseEventOrTouch;if("preventDefault"in J)J.preventDefault();let Z=this.getMappedMenuItems();if(Z.length===0)return;this.displayContextMenu(Z)}}initializeProperties($){let z=this.beans.columnStateUpdateStrategy,Q;if(q0($))Q=$.getLeafColumns();else Q=[$];this.columns=Q;let J=z.getPivotMode(i(this.params));this.allowScrollIntoView=!J&&Q.some(this.isColumnValidForScrollIntoView),this.allowGrouping=Q.some((Z)=>Z.isPrimary()&&Z.isAllowRowGroup()),this.allowValues=Q.some((Z)=>Z.isPrimary()&&Z.isAllowValue()),this.allowPivoting=J&&Q.some((Z)=>Z.isPrimary()&&Z.isAllowPivot())}buildMenuItemMap(){let $=this.getLocaleTextFunc(),{beans:z,displayName:Q}=this,J=this.beans.columnStateUpdateStrategy,Z=new Map;this.menuItemMap=Z;let X=i(this.params),Y=J.getPivotMode(X),q=new Set(J.getRowGroupColumns(X).map((B)=>B.getColId())),G=new Set(J.getValueColumns(X).map((B)=>B.getColId())),_=new Set(J.getPivotColumns(X).map((B)=>B.getColId()));Z.set("scrollIntoView",{allowedFunction:(B)=>!B.isPinned()&&!Y&&this.isColumnValidForScrollIntoView(B),activeFunction:()=>!1,activateLabel:()=>$("scrollColumnIntoView",`Scroll ${Q} into View`,[Q]),activateFunction:()=>{let B=this.columns.find(this.isColumnValidForScrollIntoView);if(B)this.beans.ctrlsSvc.getScrollFeature().ensureColumnVisible(B)},deActivateFunction:()=>{},addIcon:"ensureColumnVisible"});let H=(B)=>B.isPrimary()&&B.isAllowRowGroup()&&!T1(B,z);Z.set("rowGroup",{allowedFunction:H,activeFunction:(B)=>q.has(B.getColId()),activateLabel:()=>O1($,"groupBy",Q),deactivateLabel:()=>O1($,"ungroupBy",Q),activateFunction:()=>{let B=this.addColumnsToList(J.getRowGroupColumns(X),H);J.setRowGroupColumns(X,B,"toolPanelUi"),N0(this.beans,this.params)},deActivateFunction:()=>{let B=this.removeColumnsFromList(J.getRowGroupColumns(X),H);J.setRowGroupColumns(X,B,"toolPanelUi"),N0(this.beans,this.params)},addIcon:"menuAddRowGroup",removeIcon:"menuRemoveRowGroup"});let U=(B)=>B.isPrimary()&&B.isAllowValue();Z.set("value",{allowedFunction:U,activeFunction:(B)=>G.has(B.getColId()),activateLabel:()=>$("addToValues",`Add ${Q} to values`,[Q]),deactivateLabel:()=>$("removeFromValues",`Remove ${Q} from values`,[Q]),activateFunction:()=>{let B=this.addColumnsToList(J.getValueColumns(X),U);J.setValueColumns(X,B,"toolPanelUi"),N0(this.beans,this.params)},deActivateFunction:()=>{let B=this.removeColumnsFromList(J.getValueColumns(X),U);J.setValueColumns(X,B,"toolPanelUi"),N0(this.beans,this.params)},addIcon:"valuePanel",removeIcon:"valuePanel"});let W=(B)=>Y&&B.isPrimary()&&B.isAllowPivot();Z.set("pivot",{allowedFunction:W,activeFunction:(B)=>_.has(B.getColId()),activateLabel:()=>$("addToLabels",`Add ${Q} to labels`,[Q]),deactivateLabel:()=>$("removeFromLabels",`Remove ${Q} from labels`,[Q]),activateFunction:()=>{let B=this.addColumnsToList(J.getPivotColumns(X),W);J.setPivotColumns(X,B,"toolPanelUi"),N0(this.beans,this.params)},deActivateFunction:()=>{let B=this.removeColumnsFromList(J.getPivotColumns(X),W);J.setPivotColumns(X,B,"toolPanelUi"),N0(this.beans,this.params)},addIcon:"pivotPanel",removeIcon:"pivotPanel"})}isColumnValidForScrollIntoView($){if(!$.isVisible())return!1;let Q=$.getParent();if(!Q)return!0;return Q.getDisplayedChildren()?.includes($)??!0}addColumnsToList($,z){return[...$].concat(this.columns.filter((Q)=>z(Q)&&!$.includes(Q)))}removeColumnsFromList($,z){return $.filter((Q)=>!z(Q)||!this.columns.includes(Q))}displayContextMenu($){let z=this.getGui(),Q=this.createBean(new uX),J=this.getLocaleTextFunc(),Z=()=>{};z.appendChild(Q.getGui()),Q.addMenuItems($),Q.addManagedListeners(Q,{closeMenu:()=>{this.parentEl.focus(),Z()}});let X=this.beans.popupSvc,Y=X.addPopup({modal:!0,eChild:z,closeOnEsc:!0,afterGuiAttached:()=>F0(Q.getGui()),ariaLabel:J("ariaLabelContextMenu","Context Menu"),closedCallback:(q)=>{if(q instanceof KeyboardEvent)this.parentEl.focus();this.destroyBean(Q)}});if(Y)Z=Y.hideFunc;X.positionPopupUnderMouseEvent({type:"columnContextMenu",mouseEvent:this.mouseEventOrTouch,ePopup:z})}isActive(){return this.allowScrollIntoView||this.allowGrouping||this.allowValues||this.allowPivoting}getMappedMenuItems(){let $=[],{menuItemMap:z,columns:Q,displayName:J,beans:Z}=this;for(let X of z.values()){let Y=Q.some((G)=>X.allowedFunction(G)&&!X.activeFunction(G)),q=Q.some((G)=>X.allowedFunction(G)&&X.activeFunction(G));if(Y)$.push({name:X.activateLabel(J),icon:h(X.addIcon,Z,null),action:()=>X.activateFunction()});if(q&&X.removeIcon&&X.deactivateLabel)$.push({name:X.deactivateLabel(J),icon:h(X.removeIcon,Z,null),action:()=>X.deActivateFunction?.()})}return $}},HS={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"}]},cX=class extends x{constructor($,z,Q,J,Z){super();this.modelItem=$,this.allowDragging=z,this.eventType=Q,this.focusWrapper=J,this.params=Z,this.cbSelect=f,this.eLabel=f,this.eGroupOpenedIcon=f,this.eGroupClosedIcon=f,this.eColumnGroupIcons=f,this.processingColumnStateChange=!1;let{columnGroup:X,depth:Y,displayName:q}=$;this.columnGroup=X,this.columnDepth=Y,this.displayName=q}postConstruct(){this.setTemplate(HS,[y$]);let{beans:$,cbSelect:z,eLabel:Q,displayName:J,columnDepth:Z,modelItem:X,focusWrapper:Y,columnGroup:q}=this,{registry:G,gos:_}=$,H=h("columnDrag",$);this.eDragHandle=H,H.classList.add("ag-drag-handle","ag-column-select-column-group-drag-handle");let U=z.getGui(),W=z.getInputElement();U.after(H),W.setAttribute("tabindex","-1"),Q.textContent=J??"",this.setupExpandContract(),this.addCss("ag-column-select-indent-"+Z),this.getGui().style.setProperty("--ag-indentation-level",String(Z)),this.tooltipFeature=this.createOptionalManagedBean(G.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.focusWrapper,getLocation:()=>"columnToolPanelColumnGroup",shouldDisplayTooltip:tJ(_,()=>Q)})),this.addManagedEventListeners({columnPivotModeChanged:this.onColumnStateChanged.bind(this)}),this.addManagedElementListeners(Q,{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=hJ(q.getColGroupDef(),_,null,q);for(let K of E)this.toggleCss(K,!0)}getColumns(){return this.columnGroup.getLeafColumns()}setupTooltip(){let $=this.columnGroup.getColGroupDef();if(!$)return;let z=()=>this.tooltipFeature?.setTooltipAndRefresh($.headerTooltip);z(),this.addManagedEventListeners({newColumnsLoaded:z})}handleKeyDown($){switch($.key){case A.LEFT:$.preventDefault(),this.modelItem.expanded=!1;break;case A.RIGHT:$.preventDefault(),this.modelItem.expanded=!0;break;case A.SPACE:if($.preventDefault(),this.isSelectable())this.onSelectAllChanged(!this.isSelected());break}}onContextMenu($){let{columnGroup:z,gos:Q}=this;if(Q.get("functionsReadOnly"))return;let J=this.createBean(new mX(z,$,this.focusWrapper,this.params));this.addDestroyFunc(()=>{if(J.isAlive())this.destroyBean(J)})}addVisibilityListenersToAllChildren(){let $=this.onColumnStateChanged.bind(this);for(let z of this.columnGroup.getLeafColumns())this.addManagedListeners(z,{visibleChanged:$,columnValueChanged:$,columnPivotChanged:$,columnRowGroupChanged:$})}setupDragging(){if(!this.allowDragging){N(this.eDragHandle,!1);return}let $=this.beans,{gos:z,eventSvc:Q,dragAndDrop:J}=$,Z=!z.get("suppressDragLeaveHidesColumns"),X={type:G$.ToolPanel,eElement:this.eDragHandle,dragItemName:this.displayName,getDefaultIconName:()=>Z?"hide":"notAllowed",getDragItem:()=>this.createDragItem(),onDragStarted:()=>{Z=!z.get("suppressDragLeaveHidesColumns"),Q.dispatchEvent({type:"columnPanelItemDragStart",column:this.columnGroup})},onDragStopped:()=>{Q.dispatchEvent({type:"columnPanelItemDragEnd"})},onGridEnter:(Y)=>{if(Z)xX($,{columns:this.columnGroup.getLeafColumns(),visibleState:Y?.visibleState,pivotState:Y?.pivotState,eventType:this.eventType,buttons:this.params.buttons})},onGridExit:()=>{if(Z)this.onChangeCommon(!1)}};J.addDragSource(X,!0),this.addDestroyFunc(()=>J.removeDragSource(X))}createDragItem(){let $=this.columnGroup.getLeafColumns(),z={},Q={},J=this.beans.columnStateUpdateStrategy,Z=i(this.params);for(let X of $){let Y=X.getId();z[Y]=X.isVisible(),Q[Y]=wX(X,J,Z)}return{columns:$,visibleState:z,pivotState:Q}}setupExpandContract(){let{beans:$,eGroupClosedIcon:z,eGroupOpenedIcon:Q,eColumnGroupIcons:J}=this;z.appendChild(uJ("columnSelectClosed",$,null)),Q.appendChild(uJ("columnSelectOpen",$,null));let Z=this.onExpandOrContractClicked.bind(this);this.addManagedElementListeners(z,{click:Z}),this.addManagedElementListeners(Q,{click:Z});let X=new h0(J,!0);this.addManagedListeners(X,{tap:Z}),this.addDestroyFunc(X.destroy.bind(X))}onLabelClicked(){let $=!this.cbSelect.getValue();this.onChangeCommon($)}onCheckboxChanged($){this.onChangeCommon($.selected)}getVisibleLeafColumns(){let $=[],z=(Q)=>{for(let J of Q)if(J.passesFilter)if(J.group)z(J.children);else $.push(J.column)};return z(this.modelItem.children),$}onChangeCommon($){if(this.refreshAriaLabel(),this.processingColumnStateChange)return;bX(this.beans,this.modelItem.children,$,this.eventType,this.params)}refreshAriaLabel(){let{cbSelect:$,focusWrapper:z,displayName:Q}=this,J=this.getLocaleTextFunc(),Z=J("ariaColumnGroup","Column Group"),X=$.getValue(),Y=X===void 0?J("ariaIndeterminate","indeterminate"):X?J("ariaVisible","visible"):J("ariaHidden","hidden"),q=J("ariaToggleVisibility","Press SPACE to toggle visibility");E0(z,`${Q} ${Z}`),$.setInputAriaLabel(`${q} (${Y})`),MJ(z,$.getInputElement().id)}onColumnStateChanged(){let $=this.workOutSelectedValue(),z=this.workOutReadOnlyValue();this.processingColumnStateChange=!0;let Q=this.cbSelect;Q.setValue($),Q.setReadOnly(z),this.toggleCss("ag-column-select-column-group-readonly",z),this.processingColumnStateChange=!1}workOutSelectedValue(){let z=this.beans.columnStateUpdateStrategy.getPivotMode(i(this.params)),Q=this.getVisibleLeafColumns(),J=0,Z=0;for(let X of Q)if(z||!X.getColDef().lockVisible)if(this.isColumnChecked(X))J++;else Z++;if(J>0&&Z>0)return;return J>0}workOutReadOnlyValue(){let $=this.beans.columnStateUpdateStrategy.getPivotMode(i(this.params)),z=0;for(let Q of this.columnGroup.getLeafColumns())if($){if(Q.isAnyFunctionAllowed())z++}else if(!Q.getColDef().lockVisible)z++;return z===0}isColumnChecked($){let z=this.beans.columnStateUpdateStrategy;if(z.getPivotMode(i(this.params)))return z.isColumnSelectedInPivotModeToolPanel(i(this.params),$);return z.isColumnVisibleInToolPanel(i(this.params),$)}onExpandOrContractClicked(){let $=this.modelItem,z=$.expanded;$.expanded=!z}onExpandChanged(){this.setOpenClosedIcons(),this.refreshAriaExpanded()}setOpenClosedIcons(){let $=this.modelItem.expanded;N(this.eGroupClosedIcon,!$),N(this.eGroupOpenedIcon,$)}refreshAriaExpanded(){w0(this.focusWrapper,this.modelItem.expanded)}getDisplayName(){return this.displayName}onSelectAllChanged($){let z=this.cbSelect,Q=z.getValue();if(!z.isReadOnly()&&($&&!Q||!$&&Q))z.toggle()}isSelected(){return this.cbSelect.getValue()}isSelectable(){return!this.cbSelect.isReadOnly()}setSelected($){this.cbSelect.setValue($,!0)}},p4=($)=>{if(q0($))return $.getLeafColumns();return $?[$]:[]},US=($,z,Q,J)=>{if(!z||!$)return null;let Z=J.indexOf(z),X=Q?Z:Z+1,Y=WS(J,$,X);return X-Y},WS=($,z,Q)=>{if(!z)return 0;let J=z[0],Z=z.length;if($.indexOf(J)<Q)return Z;return 0},m9=($,z,Q,J)=>{let Z=i(J);if($.get("suppressMovableColumns")||z.columnStateUpdateStrategy.getPivotMode(Z))return!0;return!!Q.find(({colDef:q})=>!!q.suppressMovable||!!q.lockPosition)},c9=($,z,Q,J)=>{if(!Q)return;let{component:Z}=Q,X=null,Y=Q.position==="top";if(Z instanceof cX)X=Z.getColumns()[0],Y=!0;else if(Z)X=Z.column;if(!X)return;let q=i(J),G=q?$.columnStateUpdateStrategy.getPrimaryColumns(q):$.colModel.getCols(),_=US(z,X,Y,G);if(_!=null)$.columnStateUpdateStrategy.moveColumns(q,z,_,"toolPanelUi"),N0($,J)},BS=($)=>{return $.column},ES={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"}]},KS=class extends x{constructor($,z,Q,J,Z){super();this.modelItem=$,this.allowDragging=z,this.groupsExist=Q,this.focusWrapper=J,this.params=Z,this.eLabel=f,this.cbSelect=f,this.processingColumnStateChange=!1;let{column:X,depth:Y,displayName:q}=$;this.column=X,this.columnDepth=Y,this.displayName=q}postConstruct(){this.setTemplate(ES,[y$]);let{beans:$,cbSelect:z,displayName:Q,eLabel:J,columnDepth:Z,groupsExist:X,column:Y,gos:q,focusWrapper:G}=this,_=h("columnDrag",$);this.eDragHandle=_,_.classList.add("ag-drag-handle","ag-column-select-column-drag-handle");let H=z.getGui(),U=z.getInputElement();if(H.after(_),U.setAttribute("tabindex","-1"),J.textContent=Q,X)this.addCss("ag-column-select-add-group-indent");this.addCss(`ag-column-select-indent-${Z}`),this.getGui().style.setProperty("--ag-indentation-level",String(Z)),this.tooltipFeature=this.createOptionalManagedBean($.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.focusWrapper,getLocation:()=>"columnToolPanelColumn",shouldDisplayTooltip:tJ(q,()=>J),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(G,{keydown:this.handleKeyDown.bind(this),contextmenu:this.onContextMenu.bind(this)});let B=new h0(G);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(J,{click:this.onLabelClicked.bind(this)}),this.onColumnStateChanged(),this.refreshAriaLabel(),this.setupTooltip();let E=hJ(Y.getColDef(),q,Y,null);for(let K of E)this.toggleCss(K,!0)}getColumn(){return this.column}setupTooltip(){let $=()=>this.tooltipFeature?.setTooltipAndRefresh(this.column.getColDef().headerTooltip);$(),this.addManagedEventListeners({newColumnsLoaded:$})}onContextMenu($){let{column:z,gos:Q}=this;if(Q.get("functionsReadOnly"))return;let J=this.createBean(new mX(z,$,this.focusWrapper,this.params));this.addDestroyFunc(()=>{if(J.isAlive())this.destroyBean(J)})}handleKeyDown($){if($.key===A.SPACE){if($.preventDefault(),this.isSelectable())this.onSelectAllChanged(!this.isSelected())}}onLabelClicked(){if(this.gos.get("functionsReadOnly"))return;let $=!this.cbSelect.getValue();this.onChangeCommon($)}onCheckboxChanged($){this.onChangeCommon($.selected)}onChangeCommon($){if(this.cbSelect.isReadOnly())return;if(this.refreshAriaLabel(),this.processingColumnStateChange)return;yX(this.beans,[this.column],$,"toolPanelUi",this.params)}refreshAriaLabel(){let{cbSelect:$,focusWrapper:z,displayName:Q}=this,J=this.getLocaleTextFunc(),Z=J("ariaColumn","Column"),X=$.getValue()?J("ariaVisible","visible"):J("ariaHidden","hidden"),Y=J("ariaToggleVisibility","Press SPACE to toggle visibility");E0(z,`${Q} ${Z}`),this.cbSelect.setInputAriaLabel(`${Y} (${X})`),MJ(z,$.getInputElement().id)}setupDragging(){let $=this.eDragHandle;if(!this.allowDragging){N($,!1);return}let z=this.beans,{gos:Q,eventSvc:J,dragAndDrop:Z}=z;if(i(this.params))$.setAttribute("data-column-tool-panel-deferred","");let X=!Q.get("suppressDragLeaveHidesColumns"),Y={type:G$.ToolPanel,eElement:$,dragItemName:this.displayName,getDefaultIconName:()=>X&&!i(this.params)?"hide":"notAllowed",getDragItem:()=>this.createDragItem(),onDragStarted:()=>{X=!Q.get("suppressDragLeaveHidesColumns"),J.dispatchEvent({type:"columnPanelItemDragStart",column:this.column})},onDragStopped:()=>{J.dispatchEvent({type:"columnPanelItemDragEnd"})},onGridEnter:(q)=>{if(X&&!i(this.params))xX(z,{columns:[this.column],visibleState:q?.visibleState,pivotState:q?.pivotState,eventType:"toolPanelUi",buttons:this.params.buttons})},onGridExit:()=>{if(X&&!i(this.params))this.onChangeCommon(!1)}};Z.addDragSource(Y,!0),this.addDestroyFunc(()=>Z.removeDragSource(Y))}createDragItem(){let $=this.column.getColId(),z={[$]:this.column.isVisible()},Q=this.beans.columnStateUpdateStrategy,J={[$]:wX(this.column,Q,i(this.params))};return{columns:[this.column],visibleState:z,pivotState:J}}onColumnStateChanged(){this.processingColumnStateChange=!0;let $=this.beans.columnStateUpdateStrategy,z=$.getPivotMode(i(this.params));if(z){let Z=$.isColumnSelectedInPivotModeToolPanel(i(this.params),this.column);this.cbSelect.setValue(Z)}else this.cbSelect.setValue($.isColumnVisibleInToolPanel(i(this.params),this.column));let Q=!0,J=!0;if(z){let Z=this.gos.get("functionsReadOnly"),X=!this.column.isAnyFunctionAllowed();Q=!Z&&!X,J=Q}else{let{enableRowGroup:Z,enableValue:X,lockPosition:Y,suppressMovable:q,lockVisible:G}=this.column.getColDef(),_=!!Z||!!X,H=!!Y||!!q;Q=!G,J=_||!H}this.cbSelect.setReadOnly(!Q),this.eDragHandle.classList.toggle("ag-column-select-column-readonly",!J),this.toggleCss("ag-column-select-column-readonly",!J&&!Q),this.cbSelect.setPassive(!1),this.processingColumnStateChange=!1}getDisplayName(){return this.displayName}onSelectAllChanged($){let z=this.cbSelect;if($!==z.getValue()){if(!z.isReadOnly())z.toggle()}}isSelected(){return this.cbSelect.getValue()}isSelectable(){return!this.cbSelect.isReadOnly()}isExpandable(){return!1}setExpanded($){j(158)}},LS=class{constructor($){this.items=$}getRowCount(){return this.items.length}getRow($){return this.items[$]}},DS="ag-column-select-list",FS=class extends x{constructor(){super({tag:"div",cls:DS,role:"presentation"});this.destroyColumnItemFuncs=[],this.hasLoadedInitialState=!1,this.isInitialState=!1,this.skipRefocus=!1}wireBeans($){this.colModel=$.colModel}destroy(){this.destroyColumnTree(),super.destroy()}destroyColumnTree(){this.allColsTree=[];for(let $ of this.destroyColumnItemFuncs)$();this.destroyColumnItemFuncs=[]}init($,z,Q){this.params=$;let{suppressSyncLayoutWithGrid:J,contractColumnSelection:Z,suppressColumnMove:X}=$;if(this.allowDragging=z,this.eventType=Q,!J)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=!Z;let q=X||J,G=this.createManagedBean(new fX({cssIdentifier:"column-select",ariaRole:"tree",moveItemCallback:(_,H)=>{if(q)return;this.moveItems(_,H)}}));if(this.virtualList=G,this.appendChild(G.getGui()),G.setComponentCreator((_,H)=>{return f6(H,_.depth+1),this.createComponentFromItem(_,H)}),this.colModel.ready)this.onColumnsChanged();if(q)return;this.createItemDragFeature()}createItemDragFeature(){let{gos:$,beans:z,virtualList:Q}=this;this.createManagedBean(new KA(this,Q,{dragSourceType:G$.ToolPanel,addListeners:(J,Z,X)=>{J.addManagedEventListeners({columnPanelItemDragStart:Z,columnPanelItemDragEnd:X})},getCurrentDragValue:(J)=>BS(J),isMoveBlocked:(J)=>m9($,z,p4(J),this.params),getNumRows:(J)=>J.getDisplayedColsList().length,moveItem:(J,Z)=>c9(z,p4(J),Z,this.params)}))}moveItems($,z){let{gos:Q,beans:J}=this,{modelItem:Z}=$,{group:X,columnGroup:Y,column:q,expanded:G}=Z,_=p4(X?Y:q);if(m9(Q,J,_,this.params))return;let H=this.displayedColsList.indexOf(Z),U=z?-1:1,W=0;if(z){let E=$.columnDepth>0?q.getParent()?.getChildren():null;if(E?.length&&q===E[0])W=-1}else if(X)W=G?Z.children.length:0;let B=Math.min(Math.max(H+W+U,0),this.displayedColsList.length-1);this.skipRefocus=!0,c9(J,_,{rowIndex:B,position:z?"top":"bottom",component:this.virtualList.getComponentAt(B)},this.params),this.focusRowIfAlive(B-W).then(()=>{this.skipRefocus=!1})}createComponentFromItem($,z){let Q=this.allowDragging;if($.group){let Z=new cX($,Q,this.eventType,z,this.params);return this.createBean(Z),Z}let J=new KS($,Q,this.groupsExist,z,this.params);return this.createBean(J),J}onColumnsChanged(){let $=this.params;if(!this.hasLoadedInitialState)this.hasLoadedInitialState=!0,this.isInitialState=!!$.initialState;let z=this.getExpandedStates(),Q=this.colModel.isPivotMode(),J=i($),Z=J&&this.beans.columnStateUpdateStrategy.hasDeferredColumnOrder(J);if((!$.suppressSyncLayoutWithGrid||J)&&!Q||Z)this.buildTreeFromWhatGridIsDisplaying();else this.buildTreeFromProvidedColumnDefs();this.setExpandedStates(z),this.markFilteredColumns(),this.flattenAndFilterModel(),this.isInitialState=!1}getDisplayedColsList(){return this.displayedColsList}getExpandedStates(){let $={};if(this.isInitialState){let{expandedGroupIds:z}=this.params.initialState;for(let Q of z)$[Q]=!0;return $}if(!this.allColsTree)return{};return this.forEachItem((z)=>{if(!z.group)return;let Q=z.columnGroup;if(Q)$[Q.getId()]=z.expanded}),$}setExpandedStates($){if(!this.allColsTree)return;let{isInitialState:z}=this;this.forEachItem((Q)=>{if(!Q.group)return;let J=Q.columnGroup;if(J){let Z=$[J.getId()];if(Z!=null||z)Q.expanded=!!Z}})}buildTreeFromWhatGridIsDisplaying(){let $=i(this.params);if($&&this.beans.columnStateUpdateStrategy.hasDeferredColumnOrder($)){let z=this.beans.columnStateUpdateStrategy.getPrimaryColumns($);if(z.length>0){oA(z,this.setColumnLayout.bind(this));return}}if(this.params.suppressSyncLayoutWithGrid){this.buildTreeFromProvidedColumnDefs();return}aA(this.colModel,this.setColumnLayout.bind(this))}setColumnLayout($){let z=lA(this.colModel,$);this.buildListModel(z),this.groupsExist=$.some((Q)=>{return Q&&typeof Q.children<"u"}),this.markFilteredColumns(),this.flattenAndFilterModel()}buildTreeFromProvidedColumnDefs(){let $=this.colModel;this.buildListModel($.getColDefColTree()),this.groupsExist=!!$.colDefCols?.treeDepth}buildListModel($){let z=this.onColumnExpanded.bind(this),Q=(q)=>{q.addEventListener("expandedChanged",z);let G=q.removeEventListener.bind(q,"expandedChanged",z);this.destroyColumnItemFuncs.push(G)},J=this.beans.colNames,Z=(q,G,_)=>{for(let H of q)if(q0(H))X(H,G,_);else Y(H,G,_)},X=(q,G,_)=>{if(q.getColGroupDef()?.suppressColumnsToolPanel)return;if(q.isPadding()){Z(q.getChildren(),G,_);return}let W=J.getDisplayNameForProvidedColumnGroup(null,q,"columnToolPanel"),B=new g9(W,q,G,!0,this.expandGroupsByDefault);_.push(B),Q(B),Z(q.getChildren(),G+1,B.children)},Y=(q,G,_)=>{if(q.getColDef()?.suppressColumnsToolPanel)return;let U=J.getDisplayNameForColumn(q,"columnToolPanel");_.push(new g9(U,q,G))};this.destroyColumnTree(),Z($,0,this.allColsTree)}onColumnExpanded(){this.flattenAndFilterModel()}flattenAndFilterModel(){this.displayedColsList=[];let $=(J)=>{if(!J.passesFilter)return;if(this.displayedColsList.push(J),J.group&&J.expanded)J.children.forEach($)},z=this.virtualList;this.allColsTree.forEach($),z.setModel(new LS(this.displayedColsList));let Q=null;if(!this.skipRefocus)Q=z.getLastFocusedRow();if(z.refresh(),Q!=null)this.focusRowIfAlive(Q);this.notifyListeners(),this.refreshAriaLabel()}refreshAriaLabel(){let $=this.getLocaleTextFunc(),z=$("ariaColumnPanelList","Column List"),Q=$("columns","Columns"),J=this.displayedColsList.length;E0(this.virtualList.getAriaElement(),`${z} ${J} ${Q}`)}focusRowIfAlive($){if($===-1)return Promise.resolve();return new Promise((z)=>{window.setTimeout(()=>{if(this.isAlive())this.virtualList.focusRow($);z()},0)})}forEachItem($){let z=(J)=>{for(let Z of J)if($(Z),Z.group)z(Z.children)},Q=this.allColsTree;if(!Q)return;z(Q)}doSetExpandedAll($){this.forEachItem((z)=>{if(z.group)z.expanded=$})}setGroupsExpanded($,z){if(!z){this.doSetExpandedAll($);return}let Q=[];this.forEachItem((Z)=>{if(!Z.group)return;let X=Z.columnGroup.getId();if(z.indexOf(X)>=0)Z.expanded=$,Q.push(X)});let J=z.filter((Z)=>!Q.includes(Z));if(J.length>0)j(157,{unrecognisedGroupIds:J})}getExpandState(){let $=0,z=0;if(this.forEachItem((Q)=>{if(!Q.group)return;if(Q.expanded)$++;else z++}),$>0&&z>0)return 2;if(z>0)return 1;return 0}doSetSelectedAll($){bX(this.beans,this.allColsTree,$,this.eventType,this.params),this.syncVisibleSelectionState(),this.fireSelectionChangedEvent()}syncVisibleSelectionState(){for(let $=0;$<this.displayedColsList.length;$++)this.virtualList.getComponentAt($)?.onColumnStateChanged?.()}getSelectionState(){let $=0,z=0,Q=this.beans.columnStateUpdateStrategy,J=Q.getPivotMode(i(this.params));if(this.forEachItem((Z)=>{if(Z.group)return;if(!Z.passesFilter)return;let X=Z.column,Y=X.getColDef(),q;if(J){if(!X.isAllowPivot()&&!X.isAllowRowGroup()&&!X.isAllowValue())return;q=Q.isColumnSelectedInPivotModeToolPanel(i(this.params),X)??!1}else{if(Y.lockVisible)return;q=Q.isColumnVisibleInToolPanel(i(this.params),X)??!1}if(q)$++;else z++}),$>0&&z>0)return;return!($===0||z>0)}setFilterText($){this.filterText=T($)?$.toLowerCase():null,this.markFilteredColumns(),this.flattenAndFilterModel()}markFilteredColumns(){let $=(Q)=>{if(!T(this.filterText))return!0;let J=Q.displayName;return J==null||J.toLowerCase().indexOf(this.filterText)!==-1},z=(Q,J)=>{let Z=!1;if(Q.group){let Y=$(Q);for(let q of Q.children){let G=z(q,Y||J);if(G)Z=G}}let X=J||Z?!0:$(Q);return Q.passesFilter=X,X};for(let Q of this.allColsTree)z(Q,!1)}notifyListeners(){this.fireGroupExpandedEvent(),this.fireSelectionChangedEvent()}fireGroupExpandedEvent(){let $=this.getExpandState();this.dispatchLocalEvent({type:"groupExpanded",state:$})}fireSelectionChangedEvent(){if(!this.allColsTree)return;let $=this.getSelectionState();this.dispatchLocalEvent({type:"selectionChanged",state:$})}getExpandedGroups(){let $=[];if(!this.allColsTree)return $;return this.forEachItem((z)=>{if(z.group&&z.expanded)$.push(z.columnGroup.getId())}),$}},MS={selector:"AG-PRIMARY-COLS-LIST",component:FS},kS={tag:"div",cls:"ag-column-select",children:[{tag:"ag-primary-cols-header",ref:"primaryColsHeaderPanel"},{tag:"ag-primary-cols-list",ref:"primaryColsListPanel"}]},pX=class extends x{constructor(){super(kS,[rA,MS]);this.primaryColsHeaderPanel=f,this.primaryColsListPanel=f,this.registerCSS(nA)}init($,z,Q){let{primaryColsHeaderPanel:J,primaryColsListPanel:Z}=this;J.init(z);let{suppressColumnFilter:X,suppressColumnSelectAll:Y}=z;if(z.suppressColumnExpandAll&&X&&Y)J.setDisplayed(!1);this.addManagedListeners(Z,{groupExpanded:(G)=>{J.setExpandState(G.state),z.onStateUpdated()},selectionChanged:(G)=>J.setSelectionState(G.state)}),Z.init(z,$,Q),this.addManagedListeners(J,{expandAll:Z.doSetExpandedAll.bind(Z,!0),collapseAll:Z.doSetExpandedAll.bind(Z,!1),selectAll:Z.doSetSelectedAll.bind(Z,!0),unselectAll:Z.doSetSelectedAll.bind(Z,!1),filterChanged:(G)=>Z.setFilterText(G.filterText)}),this.positionableFeature=this.createManagedBean(new U1(this.getGui(),{minHeight:100}))}toggleResizable($){this.positionableFeature.setResizable($?{bottom:!0}:!1)}expandGroups($){this.primaryColsListPanel.setGroupsExpanded(!0,$)}collapseGroups($){this.primaryColsListPanel.setGroupsExpanded(!1,$)}setColumnLayout($){this.primaryColsListPanel.setColumnLayout($)}syncLayoutWithGrid(){this.primaryColsListPanel.onColumnsChanged()}getExpandedGroups(){return this.primaryColsListPanel.getExpandedGroups()}},VS=".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)}",AS="ag-column-panel-deferred",SS=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 $=this.captureGridState();if(!this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled)){this.lastKnownGridState=$;return}let z=this.lastKnownGridState&&this.isGridStateEqual(this.lastKnownGridState,$);if(this.lastKnownGridState=$,!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(VS)}wireBeans($){this.colToolPanelFactory=$.colToolPanelFactory}setVisible($){if(super.setDisplayed($),$&&!this.initialised)this.init(this.params)}init($){let Q={...y(this.gos,{suppressColumnMove:!1,suppressColumnSelectAll:!1,suppressColumnFilter:!1,suppressColumnExpandAll:!1,contractColumnSelection:!1,suppressPivotMode:!1,suppressRowGroups:!1,suppressValues:!1,suppressPivots:!1,suppressSyncLayoutWithGrid:!1}),...$};this.params=Q;let{childDestroyFuncs:J,colToolPanelFactory:Z,gos:X}=this,Y=X.isModuleRegistered("SharedPivot"),q=Y||X.isModuleRegistered("SharedRowGrouping");if(this.isDeferModeEnabled=i(Q),this.toggleCss(AS,this.isDeferModeEnabled),!Q.suppressPivotMode&&Z&&Y)this.pivotModePanel=Z.createPivotModePanel(this,J,Q,this.onPivotModePanelValueChanged);let G=this.createBean(new pX);if(this.primaryColsPanel=G,J.push(()=>this.destroyBean(this.primaryColsPanel)),G.init(!0,Q,"toolPanelUi"),G.addCss("ag-column-panel-column-select"),this.appendChild(G),Z){if(!Q.suppressRowGroups&&q)this.rowGroupDropZonePanel=Z.createRowGroupPanel(this,J,Q);if(!Q.suppressValues&&q)this.valuesDropZonePanel=Z.createValuesPanel(this,J,Q);if(!Q.suppressPivots&&Y)this.pivotDropZonePanel=Z.createPivotPanel(this,J,Q);this.setLastVisible();let[_]=this.addManagedEventListeners({columnPivotModeChanged:()=>{this.resetChildrenHeight(),this.setLastVisible()}});J.push(()=>_())}if(this.isDeferModeEnabled){let _=this.onExternalGridChange;J.push(...this.addManagedEventListeners({columnEverythingChanged:this.onColumnEverythingChanged,sortChanged:_,columnVisible:_,columnRowGroupChanged:_,columnValueChanged:_,columnPivotChanged:_,columnPivotModeChanged:_,newColumnsLoaded:_,...Q.suppressSyncLayoutWithGrid?{}:{columnMoved:_}}))}if(Q.buttons){if(!Q.buttons.includes("apply"))j(298);if(Q.buttons.length)this.initDeferredButtons(Q.buttons)}this.initialised=!0}initDeferredButtons($){let z=this.createBean(new y4({className:"ag-column-panel-buttons"}));this.deferredButtonsComp=z,this.childDestroyFuncs.push(()=>{this.deferredButtonsComp=this.destroyBean(this.deferredButtonsComp)});let Q=this.getLocaleTextFunc(),J=$.map((Z)=>({type:Z,label:Q(Z==="apply"?"applyColumnToolPanel":"cancelColumnToolPanel",Z==="apply"?"Apply":"Cancel")}));z.updateButtons(J),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:$}=this,z=(Q)=>(Q??[]).map((J)=>J.getColId());return{rowGroupColIds:z($.rowGroupColsSvc?.columns),valueColIds:z($.valueColsSvc?.columns),pivotColIds:z($.pivotColsSvc?.columns),pivotMode:$.colModel.isPivotMode(),columnOrder:$.colModel.getCols().map((Q)=>Q.getColId()),visibleColIds:$.colModel.getCols().filter((Q)=>Q.isVisible()).map((Q)=>Q.getColId()),sortState:$.colModel.getCols().filter((Q)=>Q.getSort()).map((Q)=>`${Q.getColId()}:${Q.getSort()}:${Q.getSortIndex()}`),aggFuncState:($.valueColsSvc?.columns??[]).map((Q)=>Q.getAggFunc()),widthState:$.colModel.getCols().map((Q)=>`${Q.getColId()}:${Q.getActualWidth()}`)}}isGridStateEqual($,z){return X0($.rowGroupColIds,z.rowGroupColIds)&&X0($.valueColIds,z.valueColIds)&&X0($.pivotColIds,z.pivotColIds)&&$.pivotMode===z.pivotMode&&X0($.columnOrder,z.columnOrder)&&X0($.visibleColIds,z.visibleColIds)&&X0($.sortState,z.sortState)&&X0($.aggFuncState,z.aggFuncState)&&X0($.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($){let z=this.colToolPanelFactory;if(!z)return;this.pivotModePanel=z.setPanelVisible(this.pivotModePanel,$,z.createPivotModePanel.bind(z,this,this.childDestroyFuncs,this.params,this.onPivotModePanelValueChanged,!0)),this.setLastVisible()}setRowGroupsSectionVisible($){let z=this.colToolPanelFactory;if(!z)return;this.rowGroupDropZonePanel=z.setPanelVisible(this.rowGroupDropZonePanel,$,z.createRowGroupPanel.bind(z,this,this.childDestroyFuncs,this.params)),this.setLastVisible()}setValuesSectionVisible($){let z=this.colToolPanelFactory;if(!z)return;this.valuesDropZonePanel=z.setPanelVisible(this.valuesDropZonePanel,$,z.createValuesPanel.bind(z,this,this.childDestroyFuncs,this.params)),this.setLastVisible()}setPivotSectionVisible($){let z=this.colToolPanelFactory;if(!z)return;this.pivotDropZonePanel=z.setPanelVisible(this.pivotDropZonePanel,$,z.createPivotPanel.bind(z,this,this.childDestroyFuncs,this.params)),this.pivotDropZonePanel?.setDisplayed($),this.setLastVisible()}setResizers(){for(let $ of[this.primaryColsPanel,this.rowGroupDropZonePanel,this.valuesDropZonePanel,this.pivotDropZonePanel]){if(!$)continue;let z=$.getGui();$.toggleResizable(!z.classList.contains("ag-last-column-drop")&&!z.classList.contains("ag-hidden")&&!z.classList.contains("ag-last-visible-child"))}}setLastVisible(){let $=this.getGui(),z=Array.prototype.slice.call($.querySelectorAll(".ag-column-drop"));for(let Z of z)Z.classList.remove("ag-last-column-drop");let Q=$.querySelectorAll(".ag-column-drop:not(.ag-hidden)"),J=b(Q);if(J)J.classList.add("ag-last-column-drop");this.primaryColsPanel.getGui().classList.toggle("ag-last-visible-child",!J),this.setResizers()}resetChildrenHeight(){let z=this.getGui().children;for(let Q=0;Q<z.length;Q++){let{style:J}=z[Q];J.removeProperty("height"),J.removeProperty("flex")}}expandColumnGroups($){this.primaryColsPanel.expandGroups($)}collapseColumnGroups($){this.primaryColsPanel.collapseGroups($)}setColumnLayout($){this.primaryColsPanel.setColumnLayout($)}syncLayoutWithGrid(){this.primaryColsPanel.syncLayoutWithGrid()}destroyChildren(){let $=this.childDestroyFuncs;for(let z of $)z();$.length=0,z0(this.getGui())}refresh($){return this.destroyChildren(),this.init($),!0}getState(){return{expandedGroupIds:this.primaryColsPanel.getExpandedGroups()}}destroy(){this.destroyChildren(),super.destroy()}},RS=".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 p9($,z,Q){if($==null||z==null)return;$.splice(Q,0,...z)}var jS={tag:"div",cls:"ag-unselectable",role:"presentation"},fS=class extends x{constructor($){super(jS);this.horizontal=$,this.state="notDragging",this.guiDestroyFunctions=[],this.childPillComponents=[],this.resizeEnabled=!1,this.addElementClasses(this.getGui()),this.ePillDropList=J0({tag:"div"}),this.addElementClasses(this.ePillDropList,"list"),this.registerCSS(RS)}toggleResizable($){this.positionableFeature.setResizable($?{bottom:!0}:!1),this.resizeEnabled=$}isSourceEventFromTarget($){let{dropZoneTarget:z,dragSource:Q}=$;return z.contains(Q.eElement)}destroy(){this.destroyGui(),super.destroy()}destroyGui(){for(let $ of this.guiDestroyFunctions)$();this.guiDestroyFunctions.length=0,this.childPillComponents.length=0,z0(this.getGui()),z0(this.ePillDropList)}init($){this.params=$??{},this.createManagedBean(new c$(this.getFocusableElement(),{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.onKeyDown.bind(this)})),this.setupDropTarget(),this.positionableFeature=new U1(this.getGui()),this.createManagedBean(this.positionableFeature),this.refreshGui(),E0(this.ePillDropList,this.getAriaLabel())}onTabKeyDown($){let z=E$(this.getFocusableElement(),null,!0),Q=z.length;if(Q===0)return;let{shiftKey:J}=$,Z=d(this.beans),X=Z===z[0],Y=Z===b(z);if(!(Q===1||X&&J||Y&&!J))z[J?0:Q-1].focus()}onKeyDown($){let{key:z}=$,Q=!this.horizontal,J=z===A.DOWN,Z=z===A.UP;if(!Q){let X=this.gos.get("enableRtl");J=!X&&z===A.RIGHT||X&&z===A.LEFT,Z=!X&&z===A.LEFT||X&&z===A.RIGHT}if(!J&&!Z)return;if($.preventDefault(),$.shiftKey)this.moveFocusedItem(Z);else{let X=j0(this.beans,this.getFocusableElement(),!1,Z);if(X)X.focus()}}moveFocusedItem($){let z=this.getFocusedItem();if(z===-1)return;let Q=$?-1:1;if(!this.normalizeAndUpdateInsertIndex(z,z+Q))return;let Z=this.childPillComponents[z];if(!Z.isMovable())return;let X=Z.getItem();this.focusItemAtIndex(this.insertIndex),this.rearrangeItems([X],!0)}addElementClasses($,z){z=z?`-${z}`:"";let Q=this.horizontal?"horizontal":"vertical";$.classList.add(`ag-column-drop${z}`,`ag-column-drop-${Q}${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($){let z=this.getNewInsertIndex($);if(z<0)return!1;return this.normalizeAndUpdateInsertIndex(this.insertIndex,z)}normalizeAndUpdateInsertIndex($,z){let Q=this.minimumAllowedNewInsertIndex(),J=Math.max(Q,z),Z=J!==$;if(Z)this.insertIndex=J;return Z}getNewInsertIndex($){let z=$.event,Q=this.horizontal?z.clientX:z.clientY,J=this.childPillComponents.map((X)=>X.getGui().getBoundingClientRect()),Z=J.findIndex((X)=>this.horizontal?X.right>Q&&X.left<Q:X.top<Q&&X.bottom>Q);if(Z===-1){let X=this.gos.get("enableRtl");if(J.every((G)=>Q>(this.horizontal?G.right:G.bottom)))return X&&this.horizontal?0:this.childPillComponents.length;if(J.every((G)=>Q<(this.horizontal?G.left:G.top)))return X&&this.horizontal?this.childPillComponents.length:0;return this.insertIndex}if(this.insertIndex<=Z)return Z+1;return Z}checkDragStartedBySelf($){if(this.state!=="notDragging")return;this.state="rearrangeItems",this.potentialDndItems=this.getItems($.dragSource.getDragItem()),this.refreshGui(),this.checkInsertIndex($),this.refreshGui()}onDragging($){if(this.checkDragStartedBySelf($),this.checkInsertIndex($))this.refreshGui()}handleDragEnterEnd($){}onDragEnter($){let z=this.getItems($.dragSource.getDragItem());this.state="newItemsIn";let Q=z.filter((Z)=>this.isItemDroppable(Z,$)),J=Q.every((Z)=>this.childPillComponents.map((X)=>X.getItem()).indexOf(Z)!==-1);if(Q.length===0)return;if(this.potentialDndItems=Q,J){this.state="notDragging";return}this.handleDragEnterEnd($),this.checkInsertIndex($),this.refreshGui()}isPotentialDndItems(){return!!this.potentialDndItems?.length}handleDragLeaveEnd($){}onDragLeave($){if(this.state==="rearrangeItems"){let z=this.getItems($.dragSource.getDragItem());this.removeItems(z)}if(this.isPotentialDndItems())this.handleDragLeaveEnd($),this.potentialDndItems=[],this.refreshGui();this.state="notDragging"}onDragCancel($){if(this.isPotentialDndItems()){if(this.state==="newItemsIn")this.handleDragLeaveEnd($);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($){let z=this.getExistingItems().filter((Q)=>!$.includes(Q));this.updateItems(z),this.refreshGui()}addItems($){if(!$)return;let z=this.getExistingItems().slice(),Q=$.filter((J)=>z.indexOf(J)<0);p9(z,Q,this.insertIndex),this.updateItems(z),this.refreshGui()}addItem($){this.insertIndex=this.getExistingItems().length,this.addItems([$])}rearrangeItems($,z){let Q;if(!z)Q=this.getNonGhostItems().slice();else Q=this.getExistingItems().filter((J)=>$.indexOf(J)===-1);if(p9(Q,$,this.insertIndex),X0(Q,this.getExistingItems()))return!1;return this.updateItems(Q),this.refreshGui(),!0}refreshGui(){let $=0;if(!this.horizontal)$=this.ePillDropList.scrollTop;let z=this.resizeEnabled,Q=this.getFocusedItem(),{eGridDiv:J}=this.beans,Z=VQ(),X=null;if(Z)X=j0(this.beans,J)??j0(this.beans,J,!1,!0);if(this.toggleResizable(!1),this.destroyGui(),this.addIconAndTitleToGui(),this.addEmptyMessageToGui(),this.addItemsToGui(),$!==0)this.ePillDropList.scrollTop=$;if(z)this.toggleResizable(z);if(Z)this.restoreFocus(Q,X)}getFocusedItem(){let $=this.getGui(),z=d(this.beans);if(!$.contains(z))return-1;return Array.from($.querySelectorAll(".ag-column-drop-cell")).indexOf(z)}focusItemAtIndex($){let z=this.getGui(),J=Array.from(z.querySelectorAll(".ag-column-drop-cell"))[$];if(!J)return;J.focus({preventScroll:!0})}restoreFocus($,z){let Q=this.getGui(),J=Array.from(Q.querySelectorAll(".ag-column-drop-cell"));if($===-1)return;if(J.length===0)z.focus();let Z=Math.min(J.length-1,$),X=J[Z];if(X)X.focus()}focusList($){let z=$?this.childPillComponents.length-1:0;this.restoreFocus(z,this.getFocusableElement())}getNonGhostItems(){let $=this.getExistingItems();if(this.isPotentialDndItems())return $.filter((z)=>!this.potentialDndItems.includes(z));return $}addItemsToGui(){let z=this.getNonGhostItems().map((Q)=>this.createItemComponent(Q,!1));if(this.isPotentialDndItems()){let Q=this.potentialDndItems.map((J)=>this.createItemComponent(J,!0));if(this.insertIndex>=z.length)z.push(...Q);else z.splice(this.insertIndex,0,...Q)}this.appendChild(this.ePillDropList),z.forEach((Q,J)=>{if(J>0)this.addArrow(this.ePillDropList);this.ePillDropList.appendChild(Q.getGui())}),this.addAriaLabelsToComponents()}addAriaLabelsToComponents(){let{childPillComponents:$,ePillDropList:z}=this,Q=$.length;_0(z,Q===0?"presentation":"listbox");for(let J=0;J<Q;J++){let X=$[J].getGui();AJ(X,J+1),VJ(X,Q)}}createItemComponent($,z){let Q=this.createPillComponent($,this.dropTarget,z,this.horizontal);if(Q.addEventListener("columnRemove",this.removeItems.bind(this,[$])),this.createBean(Q),this.guiDestroyFunctions.push(()=>this.destroyBean(Q)),!z)this.childPillComponents.push(Q);return Q}addIconAndTitleToGui(){let{title:$,icon:z}=this.params;if(!$||!z)return;let Q=J0({tag:"div"});if(kJ(Q,!0),this.addElementClasses(Q,"title-bar"),this.addElementClasses(z,"icon"),this.toggleCss("ag-column-drop-empty",this.isExistingItemsEmpty()),Q.appendChild(z),!this.horizontal){let J=J0({tag:"span"});this.addElementClasses(J,"title"),J.textContent=$,Q.appendChild(J)}this.appendChild(Q)}isExistingItemsEmpty(){return this.getExistingItems().length===0}addEmptyMessageToGui(){let{emptyMessage:$}=this.params;if(!$||!this.isExistingItemsEmpty()||this.isPotentialDndItems())return;let z=J0({tag:"span"});z.textContent=$,this.addElementClasses(z,"empty-message"),this.ePillDropList.appendChild(z)}addArrow($){if(this.horizontal){let z=this.gos.get("enableRtl"),Q=h(z?"panelDelimiterRtl":"panelDelimiter",this.beans);this.addElementClasses(Q,"cell-separator"),$.appendChild(Q)}}},OS={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"}]},PS=class extends x{constructor($,z,Q,J,Z){super();this.dragSourceDropTarget=$,this.ghost=z,this.horizontal=Q,this.template=J,this.agComponents=Z,this.eText=f,this.eDragHandle=f,this.eButton=f}postConstruct(){this.setTemplate(this.template??OS,this.agComponents);let $=this.getGui(),{beans:z,eDragHandle:Q,eText:J,eButton:Z}=this;if(this.addElementClasses($),this.addElementClasses(Q,"drag-handle"),this.addElementClasses(J,"text"),this.addElementClasses(Z,"button"),Q.appendChild(h("columnDrag",z)),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 $=this.getLocaleTextFunc(),z=[this.getAriaDisplayName()];this.addAdditionalAriaInstructions(z,$),E0(this.getGui(),z.join(". "))}addAdditionalAriaInstructions($,z){if(this.isRemovable()){let Q=z("ariaDropZoneColumnComponentDescription","Press DELETE to remove");$.push(Q)}}setupTooltip(){let $=()=>this.tooltipFeature?.setTooltipAndRefresh(this.getTooltip());$(),this.addManagedEventListeners({newColumnsLoaded:$})}getDragSourceId(){return}getDefaultIconName(){return"notAllowed"}addDragSource(){let{beans:{dragAndDrop:$},eDragHandle:z}=this,Q=this.createGetDragItem(),J=this.getDefaultIconName(),Z={type:this.getDragSourceType(),sourceId:this.getDragSourceId(),eElement:z,getDefaultIconName:()=>J,getDragItem:Q,dragItemName:this.getDisplayName()};$?.addDragSource(Z,!0),this.addDestroyFunc(()=>$?.removeDragSource(Z))}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 $={type:"columnRemove"};this.addGuiEventListener("keydown",(Q)=>this.onKeyDown(Q)),this.addManagedElementListeners(this.eButton,{click:(Q)=>{this.dispatchLocalEvent($),Q.stopPropagation()}});let z=new h0(this.eButton);this.addManagedListeners(z,{tap:()=>this.dispatchLocalEvent($)}),this.addDestroyFunc(z.destroy.bind(z))}onKeyDown($){if($.key===A.DELETE){if(this.isRemovable())$.preventDefault(),this.dispatchLocalEvent({type:"columnRemove"})}}getDisplayValue(){return this.getDisplayName()}addElementClasses($,z){z=z?`-${z}`:"";let Q=this.horizontal?"horizontal":"vertical";$.classList.add(`ag-column-drop-cell${z}`,`ag-column-drop-${Q}-cell${z}`)}destroy(){super.destroy(),this.dragSourceDropTarget=null}},TS=class extends PS{constructor($,z,Q,J,Z,X){super(z,Q,Z);this.column=$,this.dropZonePurpose=J,this.updateParams=X,this.eSortIndicator=f,this.popupShowing=!1,this.deferApply=i(X)}postConstruct(){let{sortSvc:$,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"}},$?{tag:"ag-sort-indicator",ref:"eSortIndicator"}:void 0,{tag:"span",ref:"eButton",cls:"ag-column-drop-cell-button",role:"presentation"}]},$)this.agComponents=[$.getSortIndicatorSelector()];if(this.displayName=z.getDisplayNameForColumn(this.column,"columnDrop"),super.postConstruct(),this.deferApply)this.eDragHandle.setAttribute("data-column-tool-panel-deferred","");if($)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($,z){let Q=this.gos.get("rowGroupPanelSuppressSort"),J=this.gos.get("functionsReadOnly");if(this.isAggregationZone()&&!J){let Z=z("ariaDropZoneColumnValueItemDescription","Press ENTER to change the aggregation type");$.push(Z)}if(this.isGroupingZone()&&this.column.isSortable()&&!Q){let Z=z("ariaDropZoneColumnGroupItemDescription","Press ENTER to sort");$.push(Z)}super.addAdditionalAriaInstructions($,z)}isMovable(){return this.isDraggable()}isDraggable(){return this.isReadOnly()}isRemovable(){return this.isReadOnly()}isReadOnly(){return!this.isGroupingAndLocked()&&!this.gos.get("functionsReadOnly")}getAriaDisplayName(){let $=this.getLocaleTextFunc(),{name:z,aggFuncName:Q}=this.getColumnAndAggFuncName(),J=$("ariaDropZoneColumnComponentAggFuncSeparator"," of "),Z={asc:$("ariaDropZoneColumnComponentSortAscending","ascending"),desc:$("ariaDropZoneColumnComponentSortDescending","descending")},X=this.getCurrentSortDirection(this.column),Y=this.gos.get("rowGroupPanelSuppressSort");return[Q&&`${Q}${J}`,z,this.isGroupingZone()&&!Y&&X&&`, ${Z[X]}`].filter((q)=>!!q).join("")}getColumnAndAggFuncName(){let $=this.displayName,z="";if(this.isAggregationZone()){let Q=this.beans.columnStateUpdateStrategy.getColumnAggFunc(this.deferApply,this.column),J=typeof Q==="string"?Q:"agg";z=this.getLocaleTextFunc()(J,J)}return{name:$,aggFuncName:z}}setupSort(){if(!this.column.isSortable()||!this.isGroupingZone())return;let{gos:$,column:z,eSortIndicator:Q}=this;if(!$.get("rowGroupPanelSuppressSort")){Q.setupSort(z,!0,this.getSortDefOverride.bind(this));let J=(Z)=>{Z.preventDefault(),this.beans.columnStateUpdateStrategy.progressSortFromEvent(this.deferApply,z,Z),Q.refresh(),this.setupAria(),N0(this.beans,this.updateParams)};this.addGuiEventListener("click",J),this.addGuiEventListener("keydown",(Z)=>{if(Z.key===A.ENTER&&this.isGroupingZone())J(Z)})}}getCurrentSortDirection($){return this.beans.columnStateUpdateStrategy.getSortDef(this.deferApply,$)?.direction??null}getSortDefOverride(){if(!this.deferApply)return;return this.beans.columnStateUpdateStrategy.getSortDef(this.deferApply,this.column)}getDefaultIconName(){return"hide"}createGetDragItem(){let{column:$}=this;return()=>{let z={};return z[$.getId()]=$.isVisible(),{columns:[$],visibleState:z}}}setupComponents(){if(super.setupComponents(),this.isAggregationZone()&&!this.gos.get("functionsReadOnly"))this.addGuiEventListener("click",this.onShowAggFuncSelection.bind(this))}onKeyDown($){if(super.onKeyDown($),$.key===A.ENTER&&this.isAggregationZone()&&!this.gos.get("functionsReadOnly"))$.preventDefault(),this.onShowAggFuncSelection()}getDisplayValue(){let{name:$,aggFuncName:z}=this.getColumnAndAggFuncName();return this.isAggregationZone()?`${z}(${$})`:$}onShowAggFuncSelection(){if(this.popupShowing)return;this.popupShowing=!0;let{aggFuncSvc:$,popupSvc:z}=this.beans,Q=new fX({cssIdentifier:"select-agg-func"}),J=$.getFuncNames(this.column),Z=this.getGui(),X=Q.getGui();Q.setModel({getRow:function(B){return J[B]},getRowCount:function(){return J.length}}),this.createBean(Q);let Y=J0({tag:"div",cls:"ag-select-agg-func-popup"});Y.style.top="0px",Y.style.left="0px",Y.appendChild(X),Y.style.width=`${Z.clientWidth}px`;let[q]=this.addManagedElementListeners(Y,{focusout:(B)=>{if(!Y.contains(B.relatedTarget)&&H)H.hideFunc()}}),G=(B)=>{if(this.destroyBean(Q),this.popupShowing=!1,B?.key==="Escape")Z.focus();if(q)q()},_=this.getLocaleTextFunc(),H=z.addPopup({modal:!0,eChild:Y,closeOnEsc:!0,closedCallback:G,ariaLabel:_("ariaLabelAggregationFunction","Aggregation Function")});if(H)Q.setComponentCreator(this.createAggSelect.bind(this,H.hideFunc));Q.addGuiEventListener("keydown",(B)=>{if(B.key===A.ENTER||B.key===A.SPACE){let E=Q.getLastFocusedRow();if(E==null)return;let K=Q.getComponentAt(E);if(K)K.selectItem()}}),z.positionPopupByComponent({type:"aggFuncSelect",eventSource:Z,ePopup:Y,keepWithinBounds:!0,additionalParams:{column:this.column},position:"under"}),Q.refresh();let U=this.beans.columnStateUpdateStrategy.getColumnAggFunc(this.deferApply,this.column),W=J.findIndex((B)=>B===U);if(W===-1)W=0;Q.focusRow(W)}createAggSelect($,z){let Q=()=>{if($(),this.getGui().focus(),this.beans.columnStateUpdateStrategy.setColumnAggFunc(this.deferApply,this.column,z,"toolPanelDragAndDrop"),this.column){let q=this.getGui().querySelector(".ag-column-drop-cell-text");if(q)q.textContent=this.getDisplayValue();this.setupAria()}N0(this.beans,this.updateParams)},J=this.getLocaleTextFunc(),Z=(z||"").toString(),X=J(Z,Z);return new vS(Q,X)}isGroupingAndLocked(){return this.isGroupingZone()&&T1(this.column,this.beans)}isAggregationZone(){return this.dropZonePurpose==="aggregation"}isGroupingZone(){return this.dropZonePurpose==="rowGroup"}getDragSourceType(){return G$.ToolPanel}destroy(){super.destroy(),this.column=null}},vS=class extends x{constructor($,z){super({tag:"div",cls:"ag-select-agg-func-item",children:z});this.selectItem=$,this.addGuiEventListener("click",this.selectItem)}},Y5=class extends fS{constructor($,z,Q){super($);this.dropZonePurpose=z,this.updateParams=Q,this.addElementClasses(this.getGui(),this.dropZonePurpose.toLowerCase())}init($){super.init($),this.addManagedEventListeners({newColumnsLoaded:this.refreshGui.bind(this)}),this.addManagedPropertyListeners(["functionsReadOnly","rowGroupPanelSuppressSort","groupLockGroupColumns"],this.refreshGui.bind(this))}getItems($){return $.columns??[]}isInterestedIn($,z){if($===G$.HeaderCell)return!0;if($!==G$.ToolPanel)return!1;if(!this.horizontal)return!0;return!z.hasAttribute("data-column-tool-panel-deferred")}minimumAllowedNewInsertIndex(){let{gos:$,rowGroupColsSvc:z}=this.beans,Q=$.get("groupLockGroupColumns"),J=z?.columns.length??0;if(Q===-1)return J;return Math.min(Q,J)}showOrHideColumnOnExit($){return this.isRowGroupPanel()&&TJ(this.gos,!0)&&!$.fromNudge}handleDragEnterEnd($){if(this.showOrHideColumnOnExit($)){let J=$.dragSource.getDragItem().columns;this.setColumnsVisible(J,!1,"uiColumnDragged")}}handleDragLeaveEnd($){if(this.showOrHideColumnOnExit($)){let Q=$.dragSource.getDragItem();this.setColumnsVisible(Q.columns,!0,"uiColumnDragged")}}setColumnsVisible($,z,Q){if(!$)return;if(i(this.updateParams))return;let J=$.filter((Z)=>!Z.getColDef().lockVisible);this.beans.columnStateUpdateStrategy.setColumnsVisible(!1,J,z,Q)}isRowGroupPanel(){return this.dropZonePurpose==="rowGroup"}createPillComponent($,z,Q,J){return new TS($,z,Q,this.dropZonePurpose,J,this.updateParams)}},IS=class extends Y5{constructor($,z){super($,"pivot",z)}postConstruct(){let $=this.getLocaleTextFunc(),z=$("pivotColumnsEmptyMessage","Drag here to set column labels"),Q=$("pivots","Column Labels");if(super.init({icon:h("pivotPanel",this.beans,null),emptyMessage:z,title:Q}),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 $=this.beans.colModel,z=$.isPivotMode();if(this.horizontal)switch(this.gos.get("pivotPanelShow")){case"always":this.setDisplayed(z);break;case"onlyWhenPivoting":{let Q=$.isPivotActive();this.setDisplayed(z&&Q);break}default:this.setDisplayed(!1);break}else this.setDisplayed(this.beans.columnStateUpdateStrategy.getPivotMode(i(this.updateParams)))}isItemDroppable($,z){if(this.gos.get("functionsReadOnly")||!$.isPrimary())return!1;let Q=this.beans.columnStateUpdateStrategy.getPivotColumns(i(this.updateParams)).includes($);return $.isAllowPivot()&&(!Q||this.isSourceEventFromTarget(z))}updateItems($){this.beans.columnStateUpdateStrategy.setPivotColumns(i(this.updateParams),$,"toolPanelUi"),N0(this.beans,this.updateParams)}getIconName(){return this.isPotentialDndItems()?"pivot":"notAllowed"}getExistingItems(){return this.beans.columnStateUpdateStrategy.getPivotColumns(i(this.updateParams))}getFocusableContainerName(){return"pivotToolbar"}},CS=class extends Y5{constructor($,z){super($,"rowGroup",z)}postConstruct(){let $=this.getLocaleTextFunc(),z=$("rowGroupColumnsEmptyMessage","Drag here to set row groups"),Q=$("groups","Row Groups");if(super.init({icon:h("rowGroupPanel",this.beans,null),emptyMessage:z,title:Q}),this.horizontal)Bz(this.beans,this,this.getGui());this.addManagedEventListeners({columnRowGroupChanged:this.refreshGui.bind(this)})}getAriaLabel(){return this.getLocaleTextFunc()("ariaRowGroupDropZonePanelLabel","Row Groups")}isItemDroppable($,z){if(this.gos.get("functionsReadOnly")||!$.isPrimary()||$.colDef.showRowGroup)return!1;let Q=this.beans.columnStateUpdateStrategy.getRowGroupColumns(i(this.updateParams)).includes($);return $.isAllowRowGroup()&&(!Q||this.isSourceEventFromTarget(z))}updateItems($){this.beans.columnStateUpdateStrategy.setRowGroupColumns(i(this.updateParams),$,"toolPanelUi"),N0(this.beans,this.updateParams)}getIconName(){return this.isPotentialDndItems()?"group":"notAllowed"}getExistingItems(){return this.beans.columnStateUpdateStrategy.getRowGroupColumns(i(this.updateParams))}getFocusableContainerName(){return"rowGroupToolbar"}},bS=class extends Y5{constructor($,z){super($,"aggregation",z)}postConstruct(){let $=this.getLocaleTextFunc(),z=$("valueColumnsEmptyMessage","Drag here to aggregate"),Q=$("values","Values");super.init({icon:h("valuePanel",this.beans,null),emptyMessage:z,title:Q}),this.addManagedEventListeners({columnValueChanged:this.refreshGui.bind(this)})}getAriaLabel(){return this.getLocaleTextFunc()("ariaValuesDropZonePanelLabel","Values")}getIconName(){return this.isPotentialDndItems()?"aggregate":"notAllowed"}isItemDroppable($,z){if(this.gos.get("functionsReadOnly")||!$.isPrimary())return!1;let Q=this.beans.columnStateUpdateStrategy.getValueColumns(i(this.updateParams)).includes($);return $.isAllowValue()&&(!Q||this.isSourceEventFromTarget(z))}updateItems($){this.beans.columnStateUpdateStrategy.setValueColumns(i(this.updateParams),$,"toolPanelUi"),N0(this.beans,this.updateParams)}getExistingItems(){return this.beans.columnStateUpdateStrategy.getValueColumns(i(this.updateParams))}},yS={tag:"div",cls:"ag-pivot-mode-panel",children:[{tag:"ag-toggle-button",ref:"cbPivotMode",cls:"ag-pivot-mode-select"}]},xS=class extends x{constructor($,z){super();this.params=$,this.onPivotModeValueChanged=z,this.cbPivotMode=f}getCurrentPivotMode(){return this.beans.columnStateUpdateStrategy.getPivotMode(i(this.params))}syncFromGrid(){this.cbPivotMode.setValue(this.getCurrentPivotMode())}refreshEditStrategy(){this.syncFromGrid()}postConstruct(){this.setTemplate(yS,[f9]);let $=this.cbPivotMode;$.setValue(this.getCurrentPivotMode());let z=this.getLocaleTextFunc();$.setLabel(z("pivotMode","Pivot Mode"));let Q=()=>{let Z=!!$.getValue();this.beans.columnStateUpdateStrategy.setPivotMode(i(this.params),Z,"toolPanelUi"),this.onPivotModeValueChanged?.()},J=()=>{$.setValue(this.getCurrentPivotMode())};this.addManagedListeners($,{fieldValueChanged:Q}),this.addManagedEventListeners({newColumnsLoaded:J,columnPivotModeChanged:J})}},wS=class extends S{constructor(){super(...arguments);this.beanName="colToolPanelFactory"}setPanelVisible($,z,Q){if($)$.setDisplayed(z);else if(z)$=Q();return $}createRowGroupPanel($,z,Q){return this.createPanel($,z,new CS(!1,Q))}createValuesPanel($,z,Q){return this.createPanel($,z,new bS(!1,Q))}createPivotPanel($,z,Q){return this.createPanel($,z,new IS(!1,Q))}createPivotModePanel($,z,Q,J,Z){return this.createPanel($,z,new xS(Q,J),Z)}createPanel($,z,Q,J){if(Q=$.createBean(Q),z.push(()=>$.destroyBean(Q)),J)$.prependChild(Q);else $.appendChild(Q);return Q}},i9=()=>{},NS=class extends S{constructor(){super(...arguments);this.beanName="columnStateUpdateExecutionStrategy"}applyColumnState($,z,Q){this.getUpdateStrategy($).applyColumnState(z,Q)}commit($){this.getUpdateStrategy($).commit()}hasPendingChanges($){return this.getUpdateStrategy($).hasPendingChanges()}moveColumns($,z,Q,J){this.getUpdateStrategy($).moveColumns(z,Q,J)}reset($){this.getUpdateStrategy($).reset()}setColumnsVisible($,z,Q,J){this.getUpdateStrategy($).setColumnsVisible(z,Q,J)}isColumnVisibleInToolPanel($,z){return this.getUpdateStrategy($).isColumnVisibleInToolPanel(z)}setRowGroupColumns($,z,Q){this.getUpdateStrategy($).setRowGroupColumns(z,Q)}getRowGroupColumns($){return this.getUpdateStrategy($).getRowGroupColumns()}getPrimaryColumns($){return this.getUpdateStrategy($).getPrimaryColumns()}hasDeferredColumnOrder($){return this.getUpdateStrategy($).hasDeferredColumnOrder()}setValueColumns($,z,Q){this.getUpdateStrategy($).setValueColumns(z,Q)}getValueColumns($){return this.getUpdateStrategy($).getValueColumns()}setColumnAggFunc($,z,Q,J){this.getUpdateStrategy($).setColumnAggFunc(z,Q,J)}getColumnAggFunc($,z){return this.getUpdateStrategy($).getColumnAggFunc(z)}setPivotColumns($,z,Q){this.getUpdateStrategy($).setPivotColumns(z,Q)}getPivotColumns($){return this.getUpdateStrategy($).getPivotColumns()}setPivotMode($,z,Q){this.getUpdateStrategy($).setPivotMode(z,Q)}getPivotMode($){return this.getUpdateStrategy($).getPivotMode()}isColumnSelectedInPivotModeToolPanel($,z){return this.getUpdateStrategy($).isColumnSelectedInPivotModeToolPanel(z)}progressSortFromEvent($,z,Q){this.getUpdateStrategy($).progressSortFromEvent(z,Q)}getSortDef($,z){return this.getUpdateStrategy($).getSortDef(z)}getUpdateStrategy($){return $?this.getDeferredUpdateStrategy():this.getSyncUpdateStrategy()}getSyncUpdateStrategy(){return this.syncUpdateStrategy??(this.syncUpdateStrategy=new gS(this.beans))}getDeferredUpdateStrategy(){return this.deferredUpdateStrategy??(this.deferredUpdateStrategy=new hS(this.beans))}},gS=class{constructor($){this.beans=$,this.lastPivotColIds=[],this.reset=i9,this.commit=i9,this.hasPendingChanges=()=>!1,this.hasDeferredColumnOrder=()=>!1}applyColumnState($,z){if($.length===0)return;n0(this.beans,{state:$},z)}moveColumns($,z,Q){this.beans.colMoves?.moveColumns($,z,Q),uS(this.beans)}setColumnsVisible($,z,Q){let J=$.filter((Z)=>!Z.getColDef().lockVisible);this.beans.colModel.setColsVisible(J,z,Q)}setRowGroupColumns($,z){this.beans.rowGroupColsSvc?.setColumns($,z)}getRowGroupColumns(){return this.beans.rowGroupColsSvc?.columns??[]}getPrimaryColumns(){return q5(this.beans)}setValueColumns($,z){this.beans.valueColsSvc?.setColumns($,z)}getValueColumns(){return this.beans.valueColsSvc?.columns??[]}setColumnAggFunc($,z,Q){this.beans.valueColsSvc?.setColumnAggFunc?.($,z,Q)}getColumnAggFunc($){return $.getAggFunc()}setPivotColumns($,z){this.lastPivotColIds=$.map((Q)=>Q.getColId()),this.beans.pivotColsSvc?.setColumns($,z)}getPivotColumns(){return this.beans.pivotColsSvc?.columns??[]}setPivotMode($,z){let{colModel:Q,gos:J,ctrlsSvc:Z}=this.beans;if($===Q.isPivotMode())return;let X=this.beans.pivotColsSvc?.columns.map((Y)=>Y.getColId())??[];if(X.length>0)this.lastPivotColIds=X;if(!$){let Y=this.beans.colModel.getColDefCols()??[];n0(this.beans,{state:Y.map((q)=>({colId:q.getColId(),pivot:!1,pivotIndex:null}))},z)}if(J.updateGridOptions({options:{pivotMode:$},source:z}),$&&this.lastPivotColIds.length>0)this.beans.pivotColsSvc?.setColumns(this.lastPivotColIds,z);for(let Y of Z.getHeaderRowContainerCtrls())Y.refresh()}progressSortFromEvent($,z){this.beans.sortSvc?.progressSortFromEvent($,z)}isColumnVisibleInToolPanel($){return $.isVisible()}isColumnSelectedInPivotModeToolPanel($){return $.isAnyFunctionActive()}getPivotMode(){return this.beans.colModel.isPivotMode()}getSortDef($){return $.getSortDef()}},hS=class{constructor($){this.beans=$,this.state={},this.sequence=0,this.lastPivotColIds=[]}reset(){this.sequence=0,this.state={}}hasPendingChanges(){let{state:$,beans:z}=this,{columnState:Q,columnOrder:J,rowGroup:Z,aggregation:X,pivot:Y,pivotMode:q,sort:G,aggFuncs:_}=$,H=(U)=>(U??[]).map((W)=>W.getColId());if(Q)for(let[U,W]of Q.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(J&&!X0(J.colIds,n4(z)))return!0;if(Z&&!X0(Z.colIds,H(z.rowGroupColsSvc?.columns)))return!0;if(X&&!X0(X.colIds,H(z.valueColsSvc?.columns)))return!0;if(Y&&!X0(Y.colIds,H(z.pivotColsSvc?.columns)))return!0;if(q&&q.pivotMode!==z.colModel.isPivotMode())return!0;if(G){for(let[U,W]of G.sortDefsByColId){let B=z.colModel.getColDefCol(U);if(!B)continue;if((W?.direction??null)!==(B.getSortDef()?.direction??null))return!0}if(G.baselineCleared){let U=q5(z);for(let W of U)if(!G.sortDefsByColId.has(W.getColId())&&W.getSortDef()!==null)return!0}}if(_)for(let[U,W]of _.values){let B=z.colModel.getColDefCol(U);if(!B)continue;if(W!==B.getAggFunc())return!0}return!1}commit(){let{beans:$,state:z}=this,Q=[];for(let Z of Object.keys(z)){let X=z[Z];if(X)Q.push({type:Z,...X})}let J=Q.sort((Z,X)=>Z.seq-X.seq);for(let Z of J)switch(Z.type){case"columnState":{n0($,{state:[...Z.patches.values()]},Z.eventType);break}case"columnOrder":{let X=Z.colIds.map((Y)=>$.colModel.getColDefCol(Y)).filter((Y)=>!!Y&&v1(Y));if(!$.colModel.isPivotMode())for(let Y=0;Y<X.length;Y++){let q=X[Y],G=$.colModel.getCols(),_=G.findIndex((U)=>v1(U)),H=(_>=0?_:0)+Y;if(G[H]!==q)$.colMoves?.moveColumns([q],H,Z.eventType,!0)}iX($,X);break}case"rowGroup":{$.rowGroupColsSvc?.setColumns(Z.colIds,Z.eventType);break}case"aggregation":{$.valueColsSvc?.setColumns(Z.colIds,Z.eventType);break}case"pivot":{this.lastPivotColIds=Z.colIds,$.pivotColsSvc?.setColumns(Z.colIds,Z.eventType);break}case"pivotMode":{let{colModel:X,ctrlsSvc:Y,gos:q,stateSvc:G}=$;if(Z.pivotMode!==X.isPivotMode()){let _=$.pivotColsSvc?.columns.map((W)=>W.getColId())??[];if(_.length>0)this.lastPivotColIds=_;let H=G?.getState().pivot?.pivotColIds??_,U=Z.pivotMode?this.state.pivot?.colIds??this.lastPivotColIds:H;if(G?.setState({...G.getState(),pivot:{pivotMode:Z.pivotMode,pivotColIds:U}},["pivot"]),!Z.pivotMode){let W=$.colModel.getColDefCols()??[];n0($,{state:W.map((B)=>({colId:B.getColId(),pivot:!1,pivotIndex:null}))},Z.eventType)}if(q.updateGridOptions({options:{pivotMode:Z.pivotMode},source:Z.eventType}),Z.pivotMode&&U.length>0)$.pivotColsSvc?.setColumns(U,Z.eventType);for(let W of Y.getHeaderRowContainerCtrls())W.refresh()}break}case"sort":{let X=[],Y=0;for(let[q,G]of Z.sortDefsByColId)X.push({colId:q,sort:G?.direction??null,sortIndex:G?.direction?Y++:null,sortType:G?.type??void 0});n0($,{state:X,defaultState:Z.baselineCleared?{sort:null,sortIndex:null,sortType:void 0}:void 0},Z.eventType);break}case"aggFuncs":{for(let[X,Y]of Z.values){let q=$.colModel.getColDefCol(X);if(!q)continue;$.valueColsSvc?.setColumnAggFunc?.(q,Y,Z.eventType)}break}}this.reset()}applyColumnState($,z){for(let J of $)d4(this.state,J);let Q=JZ(this.state);Q.seq=i$(this.sequence),this.sequence=Q.seq,Q.eventType=z}moveColumns($,z,Q){let J=new Set($.map((G)=>G.getColId())),X=(this.state.columnOrder?.colIds??n4(this.beans)).filter((G)=>!J.has(G)),Y=$.map((G)=>G.getColId()),q=i$(this.sequence);this.sequence=q,this.state.columnOrder={colIds:[...X.slice(0,z),...Y,...X.slice(z)],eventType:Q,seq:q}}setColumnsVisible($,z,Q){for(let Z of $){if(Z.getColDef().lockVisible)continue;d4(this.state,{colId:Z.getColId(),hide:!z})}let J=JZ(this.state);J.seq=i$(this.sequence),this.sequence=J.seq,J.eventType=Q}setRowGroupColumns($,z){t4(this.state,"rowGroup");let Q=i$(this.sequence);this.sequence=Q,this.state.rowGroup={colIds:$.map((J)=>J.getColId()),eventType:z,seq:Q}}setValueColumns($,z){t4(this.state,"aggFunc");let Q=new Set((this.beans.valueColsSvc?.columns??[]).map((X)=>X.getColId())),J=n9(this.state);for(let X of $)if(!Q.has(X.getColId())&&!J.values.has(X.getColId())){let Y=X.getAggFunc(),q=Y!=null?Y:this.beans.aggFuncSvc?.getDefaultAggFunc(X);if(q!=null)J.values.set(X.getColId(),q)}let Z=i$(this.sequence);this.sequence=Z,J.seq=Z,J.eventType=z,this.state.aggregation={colIds:$.map((X)=>X.getColId()),eventType:z,seq:Z}}setColumnAggFunc($,z,Q){d4(this.state,{colId:$.getColId(),aggFunc:z});let J=JZ(this.state);J.seq=i$(this.sequence),this.sequence=J.seq,J.eventType=Q;let Z=n9(this.state);Z.seq=J.seq,Z.eventType=Q,Z.values.set($.getColId(),z)}getColumnAggFunc($){let z=$.getColId();if(this.state.aggFuncs?.values.has(z))return this.state.aggFuncs.values.get(z);return $.getAggFunc()}isColumnVisibleInToolPanel($){let z=this.state.columnState?.patches.get($.getColId());if(z?.hide!==void 0)return!z.hide;return $.isVisible()}isColumnSelectedInPivotModeToolPanel($){let z=$.getColId(),Q=this.state.columnState?.patches.get(z),J;if(Q?.rowGroup!==void 0)J=!!Q.rowGroup;else if(this.state.rowGroup)J=this.state.rowGroup.colIds.includes(z);else J=$.isRowGroupActive();let Z;if(Q?.pivot!==void 0)Z=!!Q.pivot;else if(this.state.pivot)Z=this.state.pivot.colIds.includes(z);else Z=$.isPivotActive();let X;if(Q?.aggFunc!==void 0)X=Q.aggFunc!=null;else if(this.state.aggregation)X=this.state.aggregation.colIds.includes(z);else X=$.isValueActive();return J||Z||X}setPivotColumns($,z){t4(this.state,"pivot");let Q=i$(this.sequence);this.sequence=Q,this.state.pivot={colIds:$.map((J)=>J.getColId()),eventType:z,seq:Q}}setPivotMode($,z){let Q=i$(this.sequence);this.sequence=Q,this.state.pivotMode={pivotMode:$,eventType:z,seq:Q}}getRowGroupColumns(){return V1(this.beans,i4(this.state.rowGroup?.colIds,this.beans.rowGroupColsSvc?.columns,this.state.columnState?.patches,($)=>$.rowGroup==null?void 0:!!$.rowGroup))}getPrimaryColumns(){return V1(this.beans,this.state.columnOrder?.colIds??n4(this.beans))}hasDeferredColumnOrder(){return!!this.state.columnOrder}getValueColumns(){return V1(this.beans,i4(this.state.aggregation?.colIds,this.beans.valueColsSvc?.columns,this.state.columnState?.patches,($)=>$.aggFunc===void 0?void 0:$.aggFunc!=null))}getPivotColumns(){if(!this.getPivotMode())return[];let $=this.beans.pivotColsSvc?.columns,z=$?.length?$:V1(this.beans,this.lastPivotColIds);return V1(this.beans,i4(this.state.pivot?.colIds,z,this.state.columnState?.patches,(Q)=>Q.pivot==null?void 0:!!Q.pivot))}getPivotMode(){return this.state.pivotMode?.pivotMode??this.beans.colModel.isPivotMode()}getSortDef($){let z=this.state.sort,Q=$.getColId(),J=z?.sortDefsByColId;if(J?.has(Q))return J.get(Q)??null;if(z?.baselineCleared)return null;return $.getSortDef()}progressSortFromEvent($,z){let Q=this.state.sort??{sortDefsByColId:new Map,baselineCleared:!1,seq:0,eventType:"toolPanelUi"},{sortSvc:J}=this.beans,Z=$.getColId(),X;if(Q.sortDefsByColId.has(Z))X=Q.sortDefsByColId.get(Z);else if(Q.baselineCleared)X=null;else X=$.getSortDef();let Y=J?.getNextSortDirection($,X);if(!Y)return;let{gos:q}=this.beans;if(!(((q.get("multiSortKey")==="ctrl"?z.ctrlKey||z.metaKey:z.shiftKey)||q.get("alwaysMultiSort"))&&!q.get("suppressMultiSort")))Q.sortDefsByColId.clear(),Q.baselineCleared=!0;Q.sortDefsByColId.set(Z,Y.direction?Y:null),Q.seq=i$(this.sequence),this.sequence=Q.seq,this.state.sort=Q}};function V1($,z){if(!z)return[];return z.map((Q)=>$.colModel.getColDefCol(Q)).filter((Q)=>!!Q)}function i4($,z,Q,J){let Z=[...$??z?.map((Y)=>Y.getColId())??[]];if(!Q?.size)return Z;let X=new Set(Z);for(let[Y,q]of Q){let G=J(q);if(G===void 0)continue;if(G){if(!X.has(Y))Z.push(Y),X.add(Y);continue}if(!X.has(Y))continue;X.delete(Y);let _=Z.indexOf(Y);if(_>=0)Z.splice(_,1)}return Z}function uS($){let z=$.colModel.getCols().filter((Q)=>v1(Q)).map((Q)=>$.colModel.getColDefCol(Q.getColId())).filter((Q)=>!!Q);iX($,z)}function iX($,z){let Q=mS($);if(!Q)return;let J=new Set(z);Q.list=[...z,...Q.list.filter((Z)=>v1(Z)&&!J.has(Z))]}function n4($){return q5($).map((z)=>z.getColId())}function q5($){return($.colModel.getColDefCols()??$.colModel.getCols()).filter((z)=>v1(z))}function mS($){let z=$.colModel.colDefCols,Q=z?.list;if(!Array.isArray(Q))return;return z}function v1($){if(!$.isPrimary())return!1;return!mz($)&&!q1($)}function i$($){return $+1}function d4($,z){let Q=JZ($),J=Q.patches.get(z.colId);Q.patches.set(z.colId,J?{...J,...z}:z)}function t4($,z){let Q=$.columnState?.patches;if(!Q?.size)return;for(let[J,Z]of Q){if(!(z in Z))continue;let X={...Z};if(delete X[z],Object.keys(X).length===1){Q.delete(J);continue}Q.set(J,X)}}function JZ($){let{columnState:z}=$;if(!z)z={patches:new Map,seq:0,eventType:"toolPanelUi"},$.columnState=z;return z}function n9($){let{aggFuncs:z}=$;if(!z)z={values:new Map,seq:0,eventType:"toolPanelUi"},$.aggFuncs=z;return z}var cS=class extends S{constructor(){super(...arguments);this.beanName="columnStateUpdateStrategy"}applyColumnState($,z,Q){this.delegate("applyColumnState",$,z,Q)}commit($){this.delegate("commit",$)}hasPendingChanges($){return this.delegate("hasPendingChanges",$)}moveColumns($,z,Q,J){this.delegate("moveColumns",$,z,Q,J)}reset($){this.delegate("reset",$)}setColumnsVisible($,z,Q,J){this.delegate("setColumnsVisible",$,z,Q,J)}isColumnVisibleInToolPanel($,z){return this.delegate("isColumnVisibleInToolPanel",$,z)}setRowGroupColumns($,z,Q){this.delegate("setRowGroupColumns",$,z,Q)}getRowGroupColumns($){return this.delegate("getRowGroupColumns",$)}getPrimaryColumns($){return this.delegate("getPrimaryColumns",$)}hasDeferredColumnOrder($){return this.delegate("hasDeferredColumnOrder",$)}setValueColumns($,z,Q){this.delegate("setValueColumns",$,z,Q)}getValueColumns($){return this.delegate("getValueColumns",$)}setColumnAggFunc($,z,Q,J){this.delegate("setColumnAggFunc",$,z,Q,J)}getColumnAggFunc($,z){return this.delegate("getColumnAggFunc",$,z)}setPivotColumns($,z,Q){this.delegate("setPivotColumns",$,z,Q)}getPivotColumns($){return this.delegate("getPivotColumns",$)}setPivotMode($,z,Q){this.delegate("setPivotMode",$,z,Q)}getPivotMode($){return this.delegate("getPivotMode",$)}isColumnSelectedInPivotModeToolPanel($,z){return this.delegate("isColumnSelectedInPivotModeToolPanel",$,z)}progressSortFromEvent($,z,Q){this.delegate("progressSortFromEvent",$,z,Q)}getSortDef($,z){return this.delegate("getSortDef",$,z)}getUpdateStrategy(){return this.executionStrategy??(this.executionStrategy=this.createManagedBean(new NS))}delegate($,...z){let Q=this.getUpdateStrategy();return Q[$].bind(Q)(...z)}},pS={moduleName:"SharedColumnStateUpdateStrategy",version:Q0,beans:[cS],dependsOn:[I0]},nX={moduleName:"ColumnsToolPanel",version:Q0,beans:[wS],userComponents:{agColumnsToolPanel:SS},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,pS,Z5,D1,L1,nz,X5]},iS=class extends S{constructor(){super(...arguments);this.beanName="chartMenuItemMapper"}getChartItems($){let z=this.beans,Q=z.chartSvc,J=$==="pivotChart";if(!Q)return null;let Z=this.getLocaleTextFunc.bind(this),X=J?new nS(z,Q,Z):new dS(z,Q,Z),Y=Q.isEnterprise(),q=X.getMenuItem();if(q?.subMenu&&!Y){let _=(H)=>({...H,subMenu:H.subMenu?.filter((U)=>!U._enterprise).map((U)=>_(U))});q=_(q)}let G=this.gos.get("chartToolPanelsDef")?.settingsPanel?.chartGroupsDef;if(G)q=this.filterAndOrderChartMenu(q,G,X.getConfigLookup());return this.cleanInternals(q)}cleanInternals($){if(!$)return $;let z=(Q)=>{delete Q?._key,delete Q?._enterprise;for(let J of Q?.subMenu??[])z(J);return Q};return z($)}buildLookup($){let z={},Q=(J)=>{if(z[J._key]=J,J.subMenu)for(let Z of J.subMenu)Q(Z)};return Q($),z}filterAndOrderChartMenu($,z,Q){let J=this.buildLookup($),Z={...$,subMenu:[]};for(let X of Object.keys(z)){let Y=z[X],q=Q[X];if(q===null)continue;if(q==null){j(173,{group:X});continue}let G=J[q._key];if(G)if(G.subMenu){let _=Y.map((H)=>{let U=q[H];if(U==null){j(174,{group:X,chartType:H});return}return J[U]}).filter((H)=>H!==void 0);if(_.length>0)G.subMenu=_,Z.subMenu?.push(G)}else Z.subMenu?.push(G)}if(Z.subMenu?.length==0)return null;return Z}},nS=class{constructor($,z,Q){this.beans=$,this.chartSvc=z,this.getLocaleTextFunc=Q}getMenuItem(){let $=this.getLocaleTextFunc(),z=(Q,J,Z,X,Y=!1)=>{return{name:$(Q,J+""),action:()=>this.chartSvc.createPivotChart({chartType:Z}),_key:X,_enterprise:Y}};return{name:$("pivotChart","Pivot Chart"),_key:"pivotChart",subMenu:[{_key:"pivotColumnChart",name:$("columnChart","Column"),subMenu:[z("groupedColumn","Grouped","groupedColumn","pivotGroupedColumn"),z("stackedColumn","Stacked","stackedColumn","pivotStackedColumn"),z("normalizedColumn","100% Stacked","normalizedColumn","pivotNormalizedColumn")]},{_key:"pivotBarChart",name:$("barChart","Bar"),subMenu:[z("groupedBar","Grouped","groupedBar","pivotGroupedBar"),z("stackedBar","Stacked","stackedBar","pivotStackedBar"),z("normalizedBar","100% Stacked","normalizedBar","pivotNormalizedBar")]},{_key:"pivotPieChart",name:$("pieChart","Pie"),subMenu:[z("pie","Pie","pie","pivotPie"),z("donut","Donut","donut","pivotDonut")]},{_key:"pivotLineChart",name:$("lineChart","Line"),subMenu:[z("lineChart","Line","line","pivotLineChart"),z("stackedLine","Stacked","stackedLine","pivotStackedLine"),z("normalizedLine","100% Stacked","normalizedLine","pivotNormalizedLine")]},{_key:"pivotAreaChart",name:$("areaChart","Area"),subMenu:[z("areaChart","Area","area","pivotArea"),z("stackedArea","Stacked","stackedArea","pivotStackedArea"),z("normalizedArea","100% Stacked","normalizedArea","pivotNormalizedArea")]},{_key:"pivotXYChart",name:$("xyChart","X Y (Scatter)"),subMenu:[z("scatter","Scatter","scatter","pivotScatter"),z("bubble","Bubble","bubble","pivotBubble")]},{_key:"pivotStatisticalChart",_enterprise:!1,name:$("statisticalChart","Statistical"),subMenu:[z("histogramChart","Histogram","histogram","pivotHistogram",!1)]},{_key:"pivotHierarchicalChart",_enterprise:!0,name:$("hierarchicalChart","Hierarchical"),subMenu:[z("treemapChart","Treemap","treemap","pivotTreemap",!0),z("sunburstChart","Sunburst","sunburst","pivotSunburst",!0)]},{_key:"pivotFunnel",name:$("funnel","Funnel"),subMenu:[z("funnel","Funnel","funnel","pivotFunnel"),z("coneFunnel","Cone Funnel","coneFunnel","pivotConeFunnel"),z("pyramid","Pyramid","pyramid","pivotPyramid")]},{_key:"pivotCombinationChart",name:$("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}}},dS=class{constructor($,z,Q){this.beans=$,this.chartSvc=z,this.getLocaleTextFunc=Q}getMenuItem(){let $=this.getLocaleTextFunc(),z=(Q,J,Z,X,Y=!1)=>{return{name:$(Q,J),action:()=>this.chartSvc.createChartFromCurrentRange(Z),_key:X,_enterprise:Y}};return{name:$("chartRange","Chart Range"),_key:"chartRange",subMenu:[{name:$("columnChart","Column"),subMenu:[z("groupedColumn","Grouped","groupedColumn","rangeGroupedColumn"),z("stackedColumn","Stacked","stackedColumn","rangeStackedColumn"),z("normalizedColumn","100% Stacked","normalizedColumn","rangeNormalizedColumn")],_key:"rangeColumnChart"},{name:$("barChart","Bar"),subMenu:[z("groupedBar","Grouped","groupedBar","rangeGroupedBar"),z("stackedBar","Stacked","stackedBar","rangeStackedBar"),z("normalizedBar","100% Stacked","normalizedBar","rangeNormalizedBar")],_key:"rangeBarChart"},{name:$("pieChart","Pie"),subMenu:[z("pie","Pie","pie","rangePie"),z("donut","Donut","donut","rangeDonut")],_key:"rangePieChart"},{name:$("lineChart","Line"),subMenu:[z("lineChart","Line","line","rangeLineChart"),z("stackedLine","Stacked","stackedLine","rangeStackedLine"),z("normalizedLine","100% Stacked","normalizedLine","rangeNormalizedLine")],_key:"rangeLineChart"},{name:$("areaChart","Area"),subMenu:[z("areaChart","Area","area","rangeArea"),z("stackedArea","Stacked","stackedArea","rangeStackedArea"),z("normalizedArea","100% Stacked","normalizedArea","rangeNormalizedArea")],_key:"rangeAreaChart"},{name:$("xyChart","X Y (Scatter)"),subMenu:[z("scatter","Scatter","scatter","rangeScatter"),z("bubble","Bubble","bubble","rangeBubble")],_key:"rangeXYChart"},{name:$("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:$("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:$("hierarchicalChart","Hierarchical"),subMenu:[z("treemap","Treemap","treemap","rangeTreemap"),z("sunburst","Sunburst","sunburst","rangeSunburst")],_key:"rangeHierarchicalChart",_enterprise:!0},{name:$("specializedChart","Specialized"),subMenu:[z("heatmap","Heatmap","heatmap","rangeHeatmap"),z("waterfall","Waterfall","waterfall","rangeWaterfall")],_key:"rangeSpecializedChart",_enterprise:!0},{name:$("funnel","Funnel"),subMenu:[z("funnel","Funnel","funnel","rangeFunnel"),z("coneFunnel","Cone Funnel","coneFunnel","rangeConeFunnel"),z("pyramid","Pyramid","pyramid","rangePyramid")],_key:"rangeFunnel",_enterprise:!0},{name:$("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}}}},tS=class extends S{constructor(){super(...arguments);this.beanName="colChooserFactory"}createColumnSelectPanel($,z,Q,J){let Z=$.createManagedBean(new pX),X=J??z?.getColDef().columnChooserParams??{},{contractColumnSelection:Y,suppressColumnExpandAll:q,suppressColumnFilter:G,suppressColumnSelectAll:_,suppressSyncLayoutWithGrid:H,columnLayout:U}=X;if(Z.init(!!Q,y(this.gos,{suppressColumnMove:!1,suppressValues:!1,suppressPivots:!1,suppressRowGroups:!1,suppressPivotMode:!1,contractColumnSelection:!!Y,suppressColumnExpandAll:!!q,suppressColumnFilter:!!G,suppressColumnSelectAll:!!_,suppressSyncLayoutWithGrid:!!U||!!H,onStateUpdated:()=>{}}),"columnMenu"),U)Z.setColumnLayout(U);return Z}showColumnChooser({column:$,chooserParams:z,eventSource:Q,headerPosition:J}){this.hideActiveColumnChooser();let Z=this.createColumnSelectPanel(this,$,!0,z),X=this.getLocaleTextFunc(),Y=this.beans,{visibleCols:q,focusSvc:G,menuUtils:_}=Y,H=q.allCols.indexOf($),U=$?G.focusedHeader??J??null:null;this.activeColumnChooserDialog=this.createBean(new EA({title:X("chooseColumns","Choose Columns"),component:Z,width:300,height:300,resizable:!0,movable:!0,centered:!0,closable:!0,afterGuiAttached:()=>{j0(Y,Z.getGui())?.focus({preventScroll:!0}),this.dispatchVisibleChangedEvent(!0,$)},closedCallback:(W)=>{let B=this.activeColumnChooser.getGui();if(this.destroyBean(this.activeColumnChooser),this.activeColumnChooser=void 0,this.activeColumnChooserDialog=void 0,this.dispatchVisibleChangedEvent(!1,$),$)_.restoreFocusOnClose({column:$,headerPosition:U,columnIndex:H,eventSource:Q},B,W,!0)},postProcessPopupParams:{type:"columnChooser",column:$,eventSource:Q}})),this.activeColumnChooser=Z}hideActiveColumnChooser(){this.destroyBean(this.activeColumnChooserDialog)}dispatchVisibleChangedEvent($,z){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:$,switchingTab:!1,key:"columnChooser",column:z??null})}},sS={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 rS($,z){let Q=sS[z];if(Q)$.assertModuleRegistered(Q,`menu item '${z}'`)}var dz="separator";function dX($,z){if(!$)return;for(let Q=$.length-2;Q>=0;Q--){let J=$[Q]===z,Z=$[Q+1]===z;if(J&&Z)$.splice(Q+1,1)}}var lS={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:($)=>({type:L$($.getSortDef()?.type),direction:null})}},aS=class extends S{constructor(){super(...arguments);this.beanName="menuItemMapper"}mapWithStockItems($,z,Q,J,Z){if(!$)return[];let X=[],Y=this.getLocaleTextFunc(),{beans:q,gos:G}=this,{pinnedCols:_,colAutosize:H,aggFuncSvc:U,rowGroupColsSvc:W,colNames:B,colModel:E,clipboardSvc:K,expansionSvc:L,focusSvc:D,csvCreator:F,excelCreator:M,menuSvc:k,colChooserFactory:V,sortSvc:R,chartMenuItemMapper:O,valueColsSvc:I,pinnedRowModel:v}=q,C=(m,w,a,t)=>{switch(rS(G,m),m){case"pinSubMenu":return _&&w?{name:Y("pinColumn","Pin Column"),icon:h("menuPin",q,null),subMenu:["clearPinned","pinLeft","pinRight"]}:null;case"pinLeft":return _&&w?{name:Y("pinLeft","Pin Left"),action:()=>_.setColsPinned([w],"left",t),checked:!!w&&w.isPinnedLeft()}:null;case"pinRight":return _&&w?{name:Y("pinRight","Pin Right"),action:()=>_.setColsPinned([w],"right",t),checked:!!w&&w.isPinnedRight()}:null;case"clearPinned":return _&&w?{name:Y("noPin","No Pin"),action:()=>_.setColsPinned([w],null,t),checked:!!w&&!w.isPinned()}:null;case"pinRowSubMenu":{let u=G.get("enableRowPinning"),$0=[],s=Q?.rowPinned??Q?.pinnedSibling?.rowPinned;if(s)$0.push("unpinRow");if(u&&u!=="bottom"&&s!="top")$0.push("pinTop");if(u&&u!=="top"&&s!="bottom")$0.push("pinBottom");return v?.isManual()?{name:Y("pinRow","Pin Row"),icon:h("rowPin",q,w),subMenu:$0}:null}case"pinTop":return v?.isManual()?{name:Y("pinTop","Pin to Top"),icon:h("rowPinTop",q,w),action:({node:u,column:$0})=>u&&v.pinRow(u,"top",$0)}:null;case"pinBottom":return v?.isManual()?{name:Y("pinBottom","Pin to Bottom"),icon:h("rowPinBottom",q,w),action:({node:u,column:$0})=>u&&v.pinRow(u,"bottom",$0)}:null;case"unpinRow":return v?.isManual()?{name:Y("unpinRow","Unpin Row"),icon:h("rowUnpin",q,w),action:({node:u,column:$0})=>u&&v.pinRow(u,null,$0)}:null;case"valueAggSubMenu":if(U&&I&&(w?.isPrimary()||w?.getColDef().pivotValueColumn))return{name:Y("valueAggregation","Value Aggregation"),icon:h("menuValue",q,null),subMenu:oS(w,U,I,Y),disabled:G.get("functionsReadOnly")};else return null;case"autoSizeThis":return H?{name:Y("autosizeThisColumn","Autosize This Column"),action:()=>w&&H.autoSizeColumn(w,t,G.get("skipHeaderOnAutoSize"))}:null;case"autoSizeAll":return H?{name:Y("autosizeAllColumns","Autosize All Columns"),action:()=>H.autoSizeAllColumns({source:t,skipHeader:G.get("skipHeaderOnAutoSize")})}:null;case"rowGroup":return W?{name:O1(Y,"groupBy",B.getDisplayNameForColumn(w,"header")),disabled:G.get("functionsReadOnly")||w?.isRowGroupActive()||!w?.getColDef().enableRowGroup,action:()=>W.addColumns([w],t),icon:h("menuAddRowGroup",q,null)}:null;case"rowUnGroup":if(W&&G.isModuleRegistered("SharedRowGrouping")){let u=w?.getColDef().showRowGroup,$0=G.get("groupLockGroupColumns"),s,f0,O0;if(u===!0)s=Y("ungroupAll","Un-Group All"),f0=G.get("functionsReadOnly")||$0===-1||$0>=(W.columns.length??0),O0=()=>W.setColumns(W.columns.slice(0,$0),t);else if(typeof u==="string"){let k0=E.getColDefCol(u),Sz=k0!=null?B.getDisplayNameForColumn(k0,"header"):u;s=O1(Y,"ungroupBy",Sz),f0=G.get("functionsReadOnly")||T1(k0,q),O0=()=>{W.removeColumns([u],t)}}else s=O1(Y,"ungroupBy",B.getDisplayNameForColumn(w,"header")),f0=G.get("functionsReadOnly")||!w?.isRowGroupActive()||!w?.getColDef().enableRowGroup||T1(w,q),O0=()=>W.removeColumns([w],t);return{name:s,disabled:f0,action:O0,icon:h("menuRemoveRowGroup",q,null)}}else return null;case"resetColumns":return{name:Y("resetColumns","Reset Columns"),action:()=>k8(q,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",q,null),action:()=>K.copyToClipboard()}:null;case"copyWithHeaders":return K?{name:Y("copyWithHeaders","Copy with Headers"),icon:h("clipboardCopy",q,null),action:()=>K.copyToClipboard({includeHeaders:!0})}:null;case"copyWithGroupHeaders":return K?{name:Y("copyWithGroupHeaders","Copy with Group Headers"),icon:h("clipboardCopy",q,null),action:()=>K.copyToClipboard({includeHeaders:!0,includeGroupHeaders:!0})}:null;case"cut":if(K){let u=D.getFocusedCell(),$0=u?M0(q,u):null,s=$0?u?.column.isCellEditable($0):!1;return{name:Y("cut","Cut"),shortcut:Y("ctrlX","Ctrl+X"),icon:h("clipboardCut",q,null),disabled:!s||G.get("suppressCutToClipboard"),action:()=>K.cutToClipboard(void 0,"contextMenu")}}else return null;case"paste":if(K){let u=G.get("suppressClipboardApi")||G.get("suppressClipboardPaste")||!w||!Q||!w.isCellEditable(Q)||w.isSuppressPaste(Q);return{name:Y("paste","Paste"),shortcut:Y("ctrlV","Ctrl+V"),icon:h("clipboardPaste",q,null),disabled:u,action:()=>K.pasteFromClipboard()}}else return null;case"export":{let u=[];if(!G.get("suppressCsvExport")&&F)u.push("csvExport");if(!G.get("suppressExcelExport")&&M)u.push("excelExport");return u.length?{name:Y("export","Export"),subMenu:u,icon:h("save",q,null)}:null}case"csvExport":return F?{name:Y("csvExport","CSV Export"),icon:h("csvExport",q,null),action:()=>F.exportDataAsCsv()}:null;case"excelExport":return M?{name:Y("excelExport","Excel Export"),icon:h("excelExport",q,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",q,null),action:()=>k.showFilterMenu({column:w,buttonElement:a(),containerType:"columnFilter",positionBy:"button"})}:null;case"columnChooser":{let u=D.focusedHeader;return V?{name:Y("columnChooser","Choose Columns"),icon:h("columns",q,null),action:()=>V.showColumnChooser({column:w,eventSource:a(),headerPosition:u})}:null}case"sortUnSort":case"sortAscending":case"sortDescending":case"sortAbsoluteAscending":case"sortAbsoluteDescending":{if(!R||!w)return null;let{fallback:u,getSortDef:$0}=lS[m];return{name:Y(m,u),icon:h(m,q,null),action:()=>R.setSortForColumn(w,$0(w),!1,t)}}default:return j(176,{key:m}),null}};for(let m of $){let w;if(typeof m==="string")w=C(m,z,J,Z);else w={...m};if(!w)continue;let a=w,{subMenu:t}=a;if(t&&t instanceof Array)a.subMenu=this.mapWithStockItems(t,z,Q,J,Z);if(w!=null)X.push(w)}return dX(X,dz),X}};function oS($,z,Q,J){let Z;if($.isPrimary())Z=$;else{let Y=$.getColDef().pivotValueColumn;Z=T(Y)?Y:void 0}let X=[];if(Z){let Y=Z.isValueActive(),q=z.getFuncNames(Z);X.push({name:J("noAggregation","None"),action:()=>{Q.removeColumns([Z],"contextMenu"),Q.setColumnAggFunc(Z,void 0,"contextMenu")},checked:!Y});for(let G of q)X.push({name:J(G,z.getDefaultFuncLabel(G)),action:()=>{Q.setColumnAggFunc(Z,G,"contextMenu"),Q.addColumns([Z],"contextMenu")},checked:Y&&Z.getAggFunc()===G})}return X}var eS=class extends S{constructor(){super(...arguments);this.beanName="colMenuFactory"}createMenu($,z,Q,J){let Z=$.createManagedBean(new uX(0,{column:Q??null,node:null,value:null})),X=this.beans.menuItemMapper.mapWithStockItems(z,Q??null,null,J,"columnMenu");return Z.addMenuItems(X),Z}getMenuItems($=null,z=null){let Q=this.getDefaultMenuOptions($),J,Z=($?.getColDef()??z?.getColGroupDef())?.mainMenuItems;if(Array.isArray(Z))J=Z;else if(typeof Z==="function")J=Z(y(this.gos,{column:$,columnGroup:z,defaultItems:Q}));else{let X=this.gos.getCallback("getMainMenuItems");if(X)J=X({column:$,columnGroup:z,defaultItems:Q});else J=Q}return dX(J,dz),J}getDefaultMenuOptions($){let z=[],{beans:Q,gos:J}=this,{colChooserFactory:Z,rowGroupColsSvc:X,colModel:Y,expansionSvc:q,sortSvc:G,menuSvc:_,pinnedCols:H,aggFuncSvc:U,colAutosize:W}=Q,B=U0(J),E=()=>{if(!B&&Z)z.push("columnChooser");z.push("resetColumns")};if(!$)return E(),z;let{colDef:K}=$,L=H&&!K.lockPinned,D=X?.columns.length??0,F=D>0,M=Hz(J),k=J.get("treeData"),V=$.isPrimary(),R=!V||U&&$.isAllowValue()&&(F||M||k);if(G&&!B&&$.isSortable()){let{isDefaultSortAllowed:O,isAbsoluteSortAllowed:I,isAbsoluteSort:v,isDefaultSort:C,isAscending:m,isDescending:w,direction:a}=c2($,Q);if(O&&!(m&&C))z.push("sortAscending");if(O&&!(w&&C))z.push("sortDescending");if(I&&!(m&&v))z.push("sortAbsoluteAscending");if(I&&!(w&&v))z.push("sortAbsoluteDescending");if(a)z.push("sortUnSort");z.push(dz)}if(_?.isFilterMenuItemEnabled($))z.push("columnFilter"),z.push(dz);if(L)z.push("pinSubMenu");if(R)z.push("valueAggSubMenu");if(L||R)z.push(dz);if(W){if(!K.suppressAutoSize)z.push("autoSizeThis");z.push("autoSizeAll"),z.push(dz)}if(X&&J.isModuleRegistered("SharedRowGrouping")){let O=z.length;if(K.showRowGroup)z.push("rowUnGroup");else if($.isAllowRowGroup()&&V)if($.isRowGroupActive()){if(!T1($,Q))z.push("rowUnGroup")}else z.push("rowGroup");if(z.length>O)z.push(dz)}if(E(),q&&(o(J)||J.get("ssrmExpandAllAffectsAllRows"))&&(k||D>(Y.isPivotMode()?1:0)))z.push("expandAll"),z.push("contractAll");return z}};var Fz="filterMenuTab",Mz="generalMenuTab",tz="columnsMenuTab",ZZ=[Mz,Fz,tz],$R=class extends S{constructor(){super(...arguments);this.beanName="enterpriseMenuFactory"}hideActiveMenu(){this.destroyBean(this.activeMenu)}showMenuAfterMouseEvent($,z,Q,J,Z){let{column:X,columnGroup:Y}=this.splitColumnOrGroup($),q=Z?"filterMenuTab":void 0;this.showMenu(X,Y,(G)=>{let _=G.getGui();if(this.beans.popupSvc.positionPopupUnderMouseEvent({type:Q,additionalParams:{column:X},mouseEvent:z,ePopup:_}),q)G.showTab?.(q);this.dispatchVisibleChangedEvent(!0,!1,X,Y,q)},Q,q,void 0,z.target,J)}splitColumnOrGroup($){let z=$&&Q$($);return{column:z?$:void 0,columnGroup:z?void 0:$}}showMenuAfterButtonClick($,z,Q,J,Z){let X=-1,Y="left";if(this.gos.get("enableRtl"))X=1,Y="right";let q=Z?"filterMenuTab":void 0,G=q?[q]:void 0,_=U0(this.gos),H=(_?9:4)*X,U=_?-23:4,{column:W,columnGroup:B}=this.splitColumnOrGroup($);this.showMenu(W,B,(E)=>{let K=E.getGui();if(this.beans.popupSvc.positionPopupByComponent({type:Q,additionalParams:{column:W},eventSource:z,ePopup:K,alignSide:Y,nudgeX:H,nudgeY:U,position:"under",keepWithinBounds:!0}),q)E.showTab?.(q);this.dispatchVisibleChangedEvent(!0,!1,W,B,q)},Q,q,G,z,J)}showMenu($,z,Q,J,Z,X,Y,q){let G=this.getMenuParams($,z,X,Y);if(!G)return;let{menu:_,eMenuGui:H,anchorToElement:U,restoreFocusParams:W}=G,B=[],{menuUtils:E,popupSvc:K}=this.beans;B.push((D)=>{let F=_.getGui();if(this.destroyBean(_),$)z1($,!1,"contextMenu"),E.restoreFocusOnClose(W,F,D);q?.()});let L=this.getLocaleTextFunc();if(K.addPopup({modal:!0,eChild:H,closeOnEsc:!0,closedCallback:(D)=>{for(let F of B)F(D);this.dispatchVisibleChangedEvent(!1,!1,$,z,Z)},afterGuiAttached:(D)=>_.afterGuiAttached(Object.assign({},{container:J},D)),positionCallback:Z?()=>Q(_):void 0,ariaLabel:L("ariaLabelColumnMenu","Column Menu")}),!Z)_.showTabBasedOnPreviousSelection?.(),Q(_);if(h2(this.gos)){let D=K.setPopupPositionRelatedToElement(H,U);if(D&&$)this.addStopAnchoring(D,$,B)}if(_.addEventListener("tabSelected",(D)=>{this.dispatchVisibleChangedEvent(!1,!0,$),this.lastSelectedTab=D.key,this.dispatchVisibleChangedEvent(!0,!0,$)}),$)z1($,!0,"contextMenu");this.activeMenu=_,_.addEventListener("destroyed",()=>{if(this.activeMenu===_)this.activeMenu=null})}addStopAnchoring($,z,Q){$.then((J)=>{z.__addEventListener("leftChanged",J),z.__addEventListener("visibleChanged",J),Q.push(()=>{z.__removeEventListener("leftChanged",J),z.__removeEventListener("visibleChanged",J)})})}getMenuParams($,z,Q,J){let{focusSvc:Z,visibleCols:X,ctrlsSvc:Y}=this.beans,q={column:$,headerPosition:Z.focusedHeader,columnIndex:X.allCols.indexOf($),eventSource:J},G=this.createMenu($,z,q,Q,J);return G?{menu:G,eMenuGui:G.getGui(),anchorToElement:J||Y.getGridBodyCtrl().eGridBody,restoreFocusParams:q}:void 0}createMenu($,z,Q,J,Z){if(U0(this.gos))return this.createBean(new zR($,Q,this.lastSelectedTab,J,Z));else{let X=this.beans.colMenuFactory.getMenuItems($,z);return X.length?this.createBean(new QR(X,$,Q,Z)):void 0}}dispatchVisibleChangedEvent($,z,Q,J,Z){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:$,switchingTab:z,key:this.lastSelectedTab??Z??(U0(this.gos)?Mz:"columnMenu"),column:Q??null,columnGroup:J??null})}isMenuEnabled($){if(!U0(this.gos))return!0;let z=!this.beans.filterManager?.isFilterAllowed($),Q=$.getColDef().menuTabs??ZZ;return(z&&Q.includes(Fz)?Q.length-1:Q.length)>0}showMenuAfterContextMenuEvent($,z,Q){this.beans.menuUtils.onContextMenu({mouseEvent:z,touchEvent:Q,source:"ui",showMenuCallback:(J)=>{return this.showMenuAfterMouseEvent($,J,"columnMenu"),!0}})}},zR=class extends S{constructor($,z,Q,J,Z){super();this.column=$,this.restoreFocusParams=z,this.initialSelection=Q,this.restrictTo=J,this.sourceElement=Z,this.tabFactories={},this.includeChecks={};let{tabFactories:X,includeChecks:Y}=this;X[Mz]=this.createMainPanel.bind(this),X[Fz]=this.createFilterPanel.bind(this),X[tz]=this.createColumnsPanel.bind(this),Y[Mz]=()=>!0,Y[Fz]=()=>$?!!this.beans.filterManager?.isFilterAllowed($):!1,Y[tz]=()=>!0}postConstruct(){let $=this.getTabsToCreate().map((Q)=>this.createTab(Q)),z=new qA({items:$,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??ZZ).filter(($)=>this.isValidMenuTabItem($)&&this.isNotSuppressed($))}isValidMenuTabItem($){let z=!0,Q=ZZ;if(this.restrictTo!=null)z=this.restrictTo.indexOf($)>-1,Q=this.restrictTo;if(z=z&&ZZ.indexOf($)>-1,!z)j(175,{menuTabName:$,itemsToConsider:Q});return z}isNotSuppressed($){return this.includeChecks[$]()}createTab($){return this.tabFactories[$]()}showTabBasedOnPreviousSelection(){this.showTab(this.initialSelection)}showTab($){let{tabItemColumns:z,tabbedLayout:Q,tabItemFilter:J,tabItemGeneral:Z}=this;if(z&&$===tz)Q.showItem(z);else if(J&&$===Fz)Q.showItem(J);else if(Z&&$===Mz)Q.showItem(Z);else Q.showFirstItem()}onTabItemClicked($){let z=null;switch($.item){case this.tabItemColumns:z=tz;break;case this.tabItemFilter:z=Fz;break;case this.tabItemGeneral:z=Mz;break}if(z)this.activateTab(z)}activateTab($){let z={type:"tabSelected",key:$};this.dispatchLocalEvent(z)}createMainPanel(){let{beans:$,column:z}=this,Q=$.colMenuFactory,J=Q.createMenu(this,Q.getMenuItems(z),this.column,()=>this.sourceElement??this.getGui());this.mainMenuList=J,J.addEventListener("closeMenu",this.onHidePopup.bind(this));let Z={title:h("legacyMenu",$,z),titleLabel:Mz.replace("MenuTab",""),bodyPromise:g.resolve(J.getGui()),name:Mz};return this.tabItemGeneral=Z,Z}onHidePopup($){this.beans.menuUtils.closePopupAndRestoreFocusOnSelect(this.hidePopupFunc,this.restoreFocusParams,$)}createFilterPanel(){let $=this.column?this.createBean(new w4(this.column,"COLUMN_MENU")):null;if(this.filterComp=$,!$?.hasFilter())e(119);let z=(J)=>$?.afterGuiAttached(J),Q=()=>$?.afterGuiDetached();return this.tabItemFilter={title:h("filterTab",this.beans,this.column),titleLabel:Fz.replace("MenuTab",""),bodyPromise:g.resolve($?.getGui()),afterAttachedCallback:z,afterDetachedCallback:Q,name:Fz},this.tabItemFilter}createColumnsPanel(){let $=J0({tag:"div",cls:"ag-menu-column-select-wrapper"}),{beans:z,column:Q}=this,Z=z.colChooserFactory.createColumnSelectPanel(this,Q).getGui();Z.classList.add("ag-menu-column-select"),$.appendChild(Z);let X={title:h("columns",z,Q),titleLabel:tz.replace("MenuTab",""),bodyPromise:g.resolve($),name:tz};return this.tabItemColumns=X,X}afterGuiAttached($){let{container:z,hidePopup:Q}=$;if(this.tabbedLayout.setAfterAttachedParams({container:z,hidePopup:Q}),Q)this.hidePopupFunc=Q,this.addDestroyFunc(Q)}getGui(){return this.tabbedLayout.getGui()}destroy(){super.destroy(),this.destroyBean(this.filterComp)}},QR=class extends x{constructor($,z,Q,J){super({tag:"div",ref:"eColumnMenu",cls:"ag-menu ag-column-menu",role:"presentation"});this.menuItems=$,this.column=z,this.restoreFocusParams=Q,this.sourceElement=J,this.eColumnMenu=f}postConstruct(){let $=this.beans.colMenuFactory.createMenu(this,this.menuItems,this.column,()=>this.sourceElement??this.getGui());this.mainMenuList=$,$.addEventListener("closeMenu",this.onHidePopup.bind(this)),this.eColumnMenu.appendChild($.getGui())}onHidePopup($){this.beans.menuUtils.closePopupAndRestoreFocusOnSelect(this.hidePopupFunc,this.restoreFocusParams,$)}afterGuiAttached({hidePopup:$}){if($)this.hidePopupFunc=$,this.addDestroyFunc($);F0(this.mainMenuList.getGui())}};function JR($,z){$.colChooserFactory?.showColumnChooser({chooserParams:z})}function ZR($){$.colChooserFactory?.hideActiveColumnChooser()}var XR=class extends S{constructor(){super(...arguments);this.beanName="menuUtils"}restoreFocusOnClose($,z,Q,J){let{eventSource:Z}=$,X=Q instanceof KeyboardEvent;if(!J&&!X||!Z)return;let Y=d(this.beans);if(!z.contains(Y)&&!hz(this.beans))return;this.focusHeaderCell($)}closePopupAndRestoreFocusOnSelect($,z,Q){let J;if(Q?.keyboardEvent)J=Q.keyboardEvent;$(J&&{keyboardEvent:J});let Z=this.beans,X=Z.focusSvc,Y=X.getFocusedCell();if(hz(Z))if(Y){let{rowIndex:q,rowPinned:G,column:_}=Y;X.setFocusedCell({rowIndex:q,column:_,rowPinned:G,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}else this.focusHeaderCell(z)}onContextMenu($){let{mouseEvent:z,touchEvent:Q,showMenuCallback:J,source:Z}=$;if(!this.gos.get("allowContextMenuWithControlKey")){if(z&&(z.ctrlKey||z.metaKey))return}if(z)this.blockMiddleClickScrollsIfNeeded(z);if(Z==="ui"&&this.gos.get("suppressContextMenu"))return;let X=z??Q.touches[0];if(J(X)){let Y=z??Q;if(Y?.cancelable)Y.preventDefault()}}async focusHeaderCell($){let{column:z,columnIndex:Q,headerPosition:J,eventSource:Z}=$,{visibleCols:X,headerNavigation:Y,focusSvc:q}=this.beans,G=await X.allCols.some((_)=>_===z);if(!this.isAlive())return;if(z?.isAlive()&&G&&Z&&A0(Z)){let _=xJ(Z);if(_)Y?.scrollToColumn(z),_.focus()}else if(J&&Q!==-1){let _=X.allCols,H=_[Q]||b(_);if(H)q.focusHeaderPosition({headerPosition:{headerRowIndex:J.headerRowIndex,column:H}})}}blockMiddleClickScrollsIfNeeded($){if(this.gos.get("suppressMiddleClickScrolls")&&$.which===2)$.preventDefault()}},YR={moduleName:"MenuCore",version:Q0,beans:[aS,iS,XR],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,v4,X5]},tX={moduleName:"ColumnMenu",version:Q0,beans:[$R,eS,tS],icons:{ensureColumnVisible:"column-arrow",legacyMenu:"menu",filterTab:"filter",columnSelectClosed:"tree-closed",columnSelectOpen:"tree-open",columnSelectIndeterminate:"tree-indeterminate"},apiFunctions:{showColumnChooser:JR,hideColumnChooser:ZR},dependsOn:[YR,L1,D1]};var qR=".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 GR($,z,Q){return $.getCompDetails(z,_R,void 0,Q,!0)}var _R={name:"statusPanel",optionalMethods:["refresh"]},HR={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]}},UR={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"}]},WR=class extends x{constructor(){super(UR);this.updateQueued=!1,this.panelsPromise=g.resolve(),this.eStatusBarLeft=f,this.eStatusBarCenter=f,this.eStatusBarRight=f,this.compDestroyFunctions={},this.registerCSS(qR)}wireBeans($){this.userCompFactory=$.userCompFactory,this.statusBarSvc=$.statusBarSvc}postConstruct(){this.processStatusPanels(new Map),this.addManagedPropertyListeners(["statusBar"],this.handleStatusBarChanged.bind(this)),Bz(this.beans,this,this.getGui())}getFocusableContainerName(){return"statusBar"}getValidPanels(){let $=this.gos,z=$.get("statusBar")?.statusPanels;if(!z)return z;return z.filter((Q)=>{let{rowModels:J,warnArgs:Z}=HR[Q.statusPanel]??{};if(!J)return!0;if(J.includes($.get("rowModelType")))return!0;return j(...Z),!1})}processStatusPanels($){let z=this.getValidPanels();if(z){let Q=z.filter((X)=>X.align==="left"),J=z.filter((X)=>X.align==="center"),Z=z.filter((X)=>!X.align||X.align==="right");this.panelsPromise=g.all([this.createAndRenderComponents(Q,this.eStatusBarLeft,$),this.createAndRenderComponents(J,this.eStatusBarCenter,$),this.createAndRenderComponents(Z,this.eStatusBarRight,$)])}else this.setDisplayed(!1)}handleStatusBarChanged(){if(this.updateQueued)return;this.updateQueued=!0,this.panelsPromise.then(()=>{this.updateStatusBar(),this.updateQueued=!1})}updateStatusBar(){let $=this.getValidPanels(),z=Array.isArray($)&&$.length>0;this.setDisplayed(z);let Q=new Map;if(z)for(let J of $){let Z=J.key??J.statusPanel,X=this.statusBarSvc.getStatusPanel(Z);if(X?.refresh){let Y=y(this.gos,{...J.statusPanelParams??{},key:Z});if(X.refresh(Y))Q.set(Z,X),delete this.compDestroyFunctions[Z],T0(X.getGui())}}if(this.resetStatusBar(),z)this.processStatusPanels(Q)}resetStatusBar(){z0(this.eStatusBarLeft),z0(this.eStatusBarCenter),z0(this.eStatusBarRight),this.destroyComponents(),this.statusBarSvc.unregisterAllComponents()}destroy(){this.destroyComponents(),super.destroy()}destroyComponents(){for(let $ of Object.values(this.compDestroyFunctions))$();this.compDestroyFunctions={}}createAndRenderComponents($,z,Q){let J=[];for(let Z of $){let X=Z.key||Z.statusPanel,Y=Q.get(X),q;if(Y)q=g.resolve(Y);else{let G=GR(this.userCompFactory,Z,y(this.gos,{key:X}));if(G==null)continue;q=G.newAgStackInstance()}J.push({key:X,promise:q})}return g.all(J.map((Z)=>Z.promise)).then(()=>{for(let Z of J)Z.promise.then((X)=>{let Y=()=>{this.destroyBean(X)};if(this.isAlive())this.statusBarSvc.registerStatusPanel(Z.key,X),z.appendChild(X.getGui()),this.compDestroyFunctions[Z.key]=Y;else Y()})})}},BR={selector:"AG-STATUS-BAR",component:WR},ER={tag:"div",cls:"ag-status-name-value",children:[{tag:"span",ref:"eLabel"},": ",{tag:"span",ref:"eValue",cls:"ag-status-name-value-value"}]},KR=BigInt(Number.MIN_SAFE_INTEGER),LR=BigInt(Number.MAX_SAFE_INTEGER),C1=class extends x{constructor(){super(ER);this.eLabel=f,this.eValue=f}setLabel($,z){this.setDisplayed(!1),this.eLabel.textContent=this.getLocaleTextFunc()($,z)}setValue($,z){let Q=null,J;if(typeof $==="bigint"){if(J=$,$>=KR&&$<=LR)Q=Number($)}else Q=$;this.eValue.textContent=this.valueFormatter(y(this.gos,{value:Q,bigintValue:J,totalRows:z,key:this.key}))}},DR={selector:"AG-NAME-VALUE",component:C1},sX=($)=>{let z=0;return $.forEachNodeAfterFilter((Q)=>{if(Q.data)z++}),z},b1=($)=>{let z=0;return $.forEachNode((Q)=>{if(Q.data)z++}),z};function FR($,z){if(typeof $!=="number")return"";return M$(Math.round($*100)/100,z)}var MR={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"}]},kR=class extends x{constructor(){super(MR,[DR]);this.sumAggregationComp=f,this.countAggregationComp=f,this.minAggregationComp=f,this.maxAggregationComp=f,this.avgAggregationComp=f}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($){this.refresh($)}refresh($){this.params=$;let z=$.valueFormatter??((J)=>{let{value:Z,bigintValue:X}=J;if(X!=null)return X.toString();return FR(Z,this.getLocaleTextFunc.bind(this))}),Q=["avg","count","min","max","sum"];for(let J of Q){let Z=this.getAllowedAggregationValueComponent(J);if(Z)Z.key=J,Z.valueFormatter=z.bind(this)}return this.onCellSelectionChanged(),!0}setAggregationComponentValue($,z,Q){let J=this.getAllowedAggregationValueComponent($),Z=b1(this.beans.rowModel);if(T(J)&&J)J.setValue(z,Z),J.setDisplayed(Q);else this.getAggregationValueComponent($)?.setDisplayed(!1)}getAllowedAggregationValueComponent($){let{aggFuncs:z}=this.params;if(!z||z.includes($))return this.getAggregationValueComponent($);return null}getAggregationValueComponent($){let z=`${$}AggregationComp`;return this[z]}onCellSelectionChanged(){let $=this.beans,{rangeSvc:z,valueSvc:Q}=$,J=z?.getCellRanges(),Z=0,X=0n,Y=!1,q=!1,G=0,_=0,H=null,U=null,W=null,B=null,E=(v)=>{if(typeof v==="number"){if(Z+=v,H===null||v<H)H=v;if(U===null||v>U)U=v;if(!Number.isInteger(v)||!Number.isSafeInteger(v))q=!0;else{let C=BigInt(v);if(X+=C,W===null||C<W)W=C;if(B===null||C>B)B=C}}else{if(Y=!0,X+=v,W===null||v<W)W=v;if(B===null||v>B)B=v;let C=Number(v);if(Z+=C,H===null||C<H)H=C;if(U===null||C>U)U=C}_++},K={};if(J?.length&&z)for(let v=0;v<J.length;v++){let C=J[v],m=z.getRangeStartRow(C),w=z.getRangeEndRow(C);while(!0){if(n(m)||!m||G0(w,m)||!m||!C.columns)break;C.columns.forEach((t)=>{if(m===null)return;let u=b$({rowPinned:m.rowPinned,column:t,rowIndex:m.rowIndex});if(K[u])return;K[u]=!0;let $0=M0($,m);if(n($0))return;let s=Q.getValue(t,$0,"data");if(n(s)||s==="")return;if(G++,typeof s==="object"&&"value"in s){if(s=s.value,s==="")return}if(typeof s==="string"){let f0=s.trim();if(f0==="")return;let O0=Number(f0);if(!Number.isFinite(O0))return;if(Z+O0>=Number.MAX_SAFE_INTEGER||Z+O0<=Number.MIN_SAFE_INTEGER||O0>=Number.MAX_SAFE_INTEGER||O0<=Number.MIN_SAFE_INTEGER){if(s=Gz(f0),s===null)s=O0}else s=O0}if(typeof s==="number"&&!isNaN(s)||typeof s==="bigint")E(s)}),m=L0($,m)}}let L=G>1,D=_>1,F=Y&&!q,M;if(F)M=X/BigInt(_);else M=Z/_;let k=D?F?X:Z:null,V=D?F?W:H:null,R=D?F?B:U:null,O=D?M:null,I=D;this.setAggregationComponentValue("count",G,L),this.setAggregationComponentValue("sum",k,D),this.setAggregationComponentValue("min",V,D),this.setAggregationComponentValue("max",R,D),this.setAggregationComponentValue("avg",O,I)}},VR=class extends C1{postConstruct(){this.setLabel("filteredRows","Filtered"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-filtered-row-count"),this.setDisplayed(!0);let $=this.onDataChanged.bind(this);this.addManagedEventListeners({modelUpdated:$})}onDataChanged(){let{rowModel:$}=this.beans,z=b1($),Q=sX($);this.setValue(Q,z),this.setDisplayed(z!==Q)}init($){this.refresh($),this.onDataChanged()}updateValueFormatter($){this.valueFormatter=$??(({value:z})=>M$(z,this.getLocaleTextFunc.bind(this)))}refresh($){let{key:z,valueFormatter:Q}=$;return this.key=z,this.updateValueFormatter(Q),!0}},AR=class extends C1{postConstruct(){this.setLabel("selectedRows","Selected"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-selected-row-count");let $=this.onRowSelectionChanged.bind(this);this.addManagedEventListeners({modelUpdated:$,selectionChanged:$})}onRowSelectionChanged(){let{selectionSvc:$,rowModel:z}=this.beans,Q=$?.getSelectionCount()??0,J=b1(z);if(this.setValue(Q,J),Q<0){this.setDisplayed(!0);return}this.setDisplayed(Q>0)}init($){this.refresh($),this.onRowSelectionChanged()}updateValueFormatter($){this.valueFormatter=$??(({value:z})=>{if(z==null||z>=0)return M$(z,this.getLocaleTextFunc.bind(this));return this.getLocaleTextFunc()("statusBarLastRowUnknown","?")})}refresh($){let{key:z,valueFormatter:Q}=$;return this.key=z,this.updateValueFormatter(Q),!0}},SR=class extends C1{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:$}=this.beans,z=sX($),Q=b1($);this.setValue(z,Q)}init($){this.refresh($),this.onDataChanged()}updateValueFormatter($){this.valueFormatter=$??(({value:z,totalRows:Q})=>{let J=this.getLocaleTextFunc.bind(this),Z=M$(z,J),X=M$(Q??z,J);if(z===Q)return Z;let Y=J();return`${Z} ${Y("of","of")} ${X}`})}refresh($){let{key:z,valueFormatter:Q}=$;return this.key=z,this.updateValueFormatter(Q),!0}},RR=class extends C1{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 $=b1(this.beans.rowModel);this.setValue($,$)}init($){this.refresh($),this.onDataChanged()}updateValueFormatter($){this.valueFormatter=$??(({value:z})=>M$(z,this.getLocaleTextFunc.bind(this)))}refresh($){let{key:z,valueFormatter:Q}=$;return this.key=z,this.updateValueFormatter(Q),!0}};function jR($,z){let Q=$.statusBarSvc?.getStatusPanel(z);return m$(Q)}var fR=class extends S{constructor(){super();this.beanName="statusBarSvc",this.comps=new Map}registerStatusPanel($,z){this.comps.set($,z)}unregisterStatusPanel($){this.comps.delete($)}unregisterAllComponents(){this.comps.clear()}getStatusPanel($){return this.comps.get($)}destroy(){this.unregisterAllComponents(),super.destroy()}},rX={moduleName:"StatusBar",version:Q0,beans:[fR],userComponents:{agAggregationComponent:kR,agTotalRowCountComponent:RR,agFilteredRowCountComponent:VR,agTotalAndFilteredRowCountComponent:SR,agSelectedRowCountComponent:AR},selectors:[BR],apiFunctions:{getStatusPanel:jR},dependsOn:[I0,iz]};function lX($){if($.excelCreator?.getFactoryMode()==="MULTI_SHEET")return j(161),!1;return!0}function OR($,z){if(lX($))return $.excelCreator?.getDataAsExcel(z);return}function PR($,z){if(lX($))$.excelCreator?.exportDataAsExcel(z)}function TR($,z){return $.excelCreator?.setFactoryMode("MULTI_SHEET"),$.excelCreator?.getSheetDataForExcel(z)}function vR($,z){return $.excelCreator?.getMultipleSheetsAsExcel(z)}function IR($,z){$.excelCreator?.exportMultipleSheetsAsExcel(z)}var aX={moduleName:"ExcelExport",version:Q0,beans:[sV],apiFunctions:{getDataAsExcel:OR,exportDataAsExcel:PR,getSheetDataForExcel:TR,getMultipleSheetsAsExcel:vR,exportMultipleSheetsAsExcel:IR},dependsOn:[f4,I0]};function LZ($){let{filters:z}=$;return z&&z.length>0?z:[{filter:"agTextColumnFilter"},{filter:"agSetColumnFilter"}]}function UZ($,z){if($==null)return;for(let Q=$.length-1;Q>=0;Q--)z($[Q],Q)}function CR($,z){if(z.title!=null)return z.title;return $ instanceof wJ?$.getFilterTitle():"Filter"}function WZ($,z,Q,J){let Z=[],X=$?.filterModels;for(let Y=0;Y<z;Y++)Z[Y]=(Y===J?Q:X?.[Y])??null;return Z.every((Y)=>Y==null)?null:{filterType:"multi",filterModels:Z}}function n$($,z){return $?.filterModels?.[z]??null}function BZ($,z,Q,J){let Z=Q.filterValueGetter;return Z?$.colFilter.createGetValue(z,Z):J}var oX=class extends H4{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:($)=>this.onFocusIn($)})}refreshGui($){if($===this.lastOpenedInContainer)return g.resolve();return this.tabGuardFeature.removeAllChildrenExceptTabGuards(),this.destroyChildren(),g.all(this.getFilterWrappers().map((z,Q)=>{if(!z)return g.resolve(null);let J=this.getFilterFromWrapper(z),Z=this.getCompFromWrapper(z),X=this.filterDefs[Q],Y=CR(J,X),q;if(X.display==="subMenu"&&$!=="toolPanel")q=this.insertFilterMenu(Z,J,Y).then((G)=>G.getGui());else if(X.display==="subMenu"||X.display==="accordion"){let G=this.insertFilterGroup(J,Z,Y);q=g.resolve(G.getGui())}else q=g.resolve(Z.getGui());return q})).then((z)=>{z.forEach((Q,J)=>{if(!Q)return;if(J>0)this.appendChild(J0({tag:"div",cls:"ag-filter-separator"}));this.appendChild(Q)}),this.filterGuis=z,this.lastOpenedInContainer=$})}destroyChildren(){for(let $ of this.guiDestroyFuncs)$();this.guiDestroyFuncs.length=0,this.filterGuis.length=0}insertFilterMenu($,z,Q){let J=$.getGui();_0(J,"dialog");let Z=this.createBean(new _S),X={getGui:()=>$.getGui(),afterGuiAttached:(Y)=>{if($.afterGuiAttached?.(Y),$!==z)z.afterGuiAttached?.(Y)}};return Z.init({menuItemDef:{name:Q,subMenu:[],subMenuRole:"dialog",cssClasses:["ag-multi-filter-menu-item"],menuItem:TX,menuItemParams:{cssClassPrefix:"ag-compact-menu-option",isCompact:!0}},level:0,isAnotherSubMenuOpen:()=>!1,childComponent:X,contextParams:{column:null,node:null,value:null}}).then(()=>{Z.setParentComponent(this),this.guiDestroyFuncs.push(()=>this.destroyBean(Z)),this.addManagedListeners(Z,{menuItemActivated:(q)=>{if(this.lastActivatedMenuItem&&this.lastActivatedMenuItem!==q.menuItem)this.lastActivatedMenuItem.deactivate();this.lastActivatedMenuItem=q.menuItem}});let Y=Z.getGui();return Z.addManagedElementListeners(Y,{keydown:(q)=>{let{key:G}=q;switch(G){case A.UP:case A.RIGHT:case A.DOWN:case A.LEFT:if(q.preventDefault(),G===A.RIGHT)Z.openSubMenu(!0);break}},focusin:()=>Z.activate(),focusout:()=>{if(!Z.isSubMenuOpen()&&!Z.isSubMenuOpening())Z.deactivate()}}),Z})}insertFilterGroup($,z,Q){let J=this.createBean(new HA({title:Q,cssIdentifier:"multi-filter"}));if(this.guiDestroyFuncs.push(()=>this.destroyBean(J)),J.addItem(z.getGui()),J.toggleGroupExpand(!1),$.afterGuiAttached)J.addManagedListeners(J,{expanded:()=>$.afterGuiAttached({container:this.lastOpenedInContainer,suppressFocus:!0,hidePopup:this.hidePopup})});return J}afterGuiAttached($){let z;if($)this.hidePopup=$.hidePopup,z=this.refreshGui($.container);else this.hidePopup=void 0,z=g.resolve();let Q=$?.suppressFocus;z.then(()=>{let{filterDefs:J,filterGuis:Z,beans:X}=this,Y=this.getFilterWrappers(),q=!!Q;if(J)UZ(J,(_,H)=>{let U=H===0,W=_.display&&_.display!=="inline",B=Q||!U||W,E={...$??{},suppressFocus:B},K=Y[H],L=K?this.getFilterFromWrapper(K):void 0;if(K){let D=this.getCompFromWrapper(K);if(D!==L)D.afterGuiAttached(E)}if(L){if(this.executeFunctionIfExistsOnFilter(L,"afterGuiAttached",E),U&&!B)q=!0}if(!Q&&U&&W){let D=Z[H];if(D){if(!F0(D))D.focus({preventScroll:!0});q=!0}}});let G=d(X);if(!q&&(hz(X)||this.getGui().contains(G)))this.forceFocusOutOfContainer(!0)})}afterGuiDetached(){this.executeFunctionIfExists("afterGuiDetached")}onAnyFilterChanged(){this.executeFunctionIfExists("onAnyFilterChanged",($)=>this.executeOnWrapper($,"onAnyFilterChanged"))}onNewRowsLoaded(){this.executeFunctionIfExists("onNewRowsLoaded",($)=>this.executeOnWrapper($,"onNewRowsLoaded"))}destroy(){this.destroyChildren(),this.hidePopup=void 0,super.destroy()}executeOnWrapper($,z){}executeFunctionIfExists($,z){UZ(this.getFilterWrappers(),(Q)=>{if(Q)z?.(Q),this.executeFunctionIfExistsOnFilter(this.getFilterFromWrapper(Q),$)})}executeFunctionIfExistsOnFilter($,z,...Q){let J=$[z];if(typeof J==="function")J.apply($,Q)}onFocusIn($){let z=this.lastActivatedMenuItem;if(z!=null&&!z.getGui().contains($.target))z.deactivate(),this.lastActivatedMenuItem=null}},eX=class extends oX{constructor(){super(...arguments);this.filterType="multi",this.wrappers=[],this.activeFilterIndices=[],this.afterFiltersReadyFuncs=[]}init($){this.params=$,this.filterDefs=LZ($);let z=D0(this.beans.colFilter.model,$.column.getColId()),{filterChangedCallback:Q}=$;this.filterChangedCallback=Q;let J=this.filterDefs.map((Z,X)=>this.createFilter(Z,X,z));return new g((Z)=>{g.all(J).then((X)=>{this.wrappers=X,this.refreshGui("columnMenu").then(()=>{Z()})})}).then(()=>{for(let Z of this.afterFiltersReadyFuncs)Z();this.afterFiltersReadyFuncs.length=0})}refresh($){return this.params=$,!0}isFilterActive(){return this.wrappers.some(($)=>{if(!$)return!1;let{filter:z,handler:Q,model:J}=$;if(Q)return J!=null;return z.isFilterActive()})}getLastActiveFilterIndex(){let $=this.activeFilterIndices;return $.length>0?$[$.length-1]:null}doesFilterPass($,z){return this.wrappers.every((Q,J)=>{if(!Q||z!=null&&J===z)return!0;let{handler:Z,filter:X,model:Y}=Q;if(Z)return Y==null||Z.doesFilterPass({...$,model:Y,handlerParams:Q.handlerParams});return!X.isFilterActive()||X.doesFilterPass($)})}getModelFromUi(){return{filterType:this.filterType,filterModels:this.wrappers.map((z)=>{if(!z)return null;let Q=z.filter;if(typeof Q.getModelFromUi==="function")return Q.getModelFromUi();return null})}}getModel(){if(!this.isFilterActive())return null;return{filterType:this.filterType,filterModels:this.wrappers.map((z)=>{if(!z)return null;let{filter:Q,handler:J,model:Z}=z;if(J)return Z;return Q.isFilterActive()?Q.getModel():null})}}setModel($){let z=(J,Z)=>{return new g((X)=>{let Y=J.setModel(Z);if(Y)Y.then(X);else X()})},Q=[];return this.wrappers.forEach((J,Z)=>{if(!J)return;let X=n$($,Z),{filter:Y,filterParams:q,handler:G,handlerParams:_,state:H}=J;if(G){let U={model:X,state:H?.state};J.state=U,J.model=X,Q.push(sJ(()=>g.resolve({filter:Y,filterParams:q}),G,_,X,U,"api").then(()=>{this.updateActiveListForHandler(Z,J.model)}))}else Q.push(z(Y,X).then(()=>{this.updateActiveListForFilter(Z,Y)}))}),g.all(Q).then(()=>{})}applyModel($="api"){let z=!1;for(let Q of this.wrappers)if(Q){let J=Q.filter;if(J instanceof wJ)z=J.applyModel($)||z}return z}getChildFilterInstance($){return this.wrappers[$]?.filter}getNumChildFilters(){return this.wrappers.length}destroy(){for(let $ of this.wrappers)this.destroyBean($?.filter),this.destroyBean($?.handler);this.wrappers.length=0,super.destroy()}getFilterWrappers(){return this.wrappers}getFilterFromWrapper($){return $.filter}getCompFromWrapper($){return $.comp}executeOnWrapper($,z){$.handler?.[z]?.()}createFilter($,z,Q){let J=this.params.column,Z=null,X,Y=this.beans,q=(B,E)=>{let K=this.wrappers[z];if(!K)return;let L={model:B,state:K.state?.state};K.state=L,K.model=B,sJ(()=>g.resolve({filter:K.filter,filterParams:K.filterParams}),K.handler,K.handlerParams,B,L,"ui").then(()=>{this.onHandlerModelChanged(z,K.model,E)})},{compDetails:G,handler:_,handlerParams:H,createFilterUi:U}=Y.colFilter.createFilterInstance(J,$,"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:BZ(Y,J,$,B.getValue)};if(E)Z=n$(Q,z),X=this.updateDisplayParams(K,z,Z,()=>G,()=>_,q);return K});if(!U)return g.resolve(null);let W;if(_){let{doesRowPassOtherFilter:B,getValue:E}=H;W={...H,onModelChange:q,doesRowPassOtherFilter:(K)=>B(K)&&this.doesFilterPass({node:K,data:K.data},z),getValue:BZ(Y,J,$,E)},_.init?.({...W,model:Z,source:"init"})}return U().then((B)=>{if(!_)return{filter:B,comp:B};let E=G?.params,K=X(B);return{filter:B,comp:K,filterParams:E,handler:_,handlerParams:W,model:Z}})}updateDisplayParams($,z,Q,J,Z,X){let Y=this.params.column,q=new K$;$.model=Q,$.state={model:Q},$.onModelChange=X,$.getHandler=Z;let G=(H,U)=>{H.state=U,q.dispatchEvent({type:"filterStateChanged",column:Y,state:U})};$.onStateChange=(H)=>{let U=this.wrappers[z];if(!U)return;G(U,H),SQ(U.filter,U.filterParams,U.model??null,H,"ui")};let _=(H,U,W)=>{let B=this.wrappers[z];if(!B)return;let E=()=>B?.model??null;DJ({action:U,filterParams:B.filterParams,getFilterUi:()=>{let K=g.resolve(B.filter);return{created:!0,filterParams:B.filterParams,compDetails:J(),create:()=>K,promise:K}},getModel:E,getState:()=>B?.state??{model:E()},updateState:(K)=>G(B,K),updateModel:(K)=>B.filterParams?.onModelChange(K,W),processModelToApply:B.handler?.processModelToApply?.bind(B.handler)})};return $.onAction=(H,U,W)=>{_(Y,H,U),q.dispatchEvent({type:"filterAction",column:Y,action:H,event:W})},(H)=>{let U=J()?.params;return this.createManagedBean(new x4(Y,{comp:H,params:U,isHandler:!0},q,_,!1))}}executeWhenAllFiltersReady($){if((this.wrappers?.length??0)>0)$();else this.afterFiltersReadyFuncs.push($)}updateActiveListForFilter($,z){this.updateActiveList($,()=>z?.isFilterActive())}updateActiveListForHandler($,z){this.updateActiveList($,()=>z!=null)}updateActiveList($,z){let Q=this.activeFilterIndices;if(Z0(this.activeFilterIndices,$),z())Q.push($)}onFilterModelChanged($,z){this.updateActiveListForFilter($,this.wrappers[$]?.filter),this.filterChanged($,z)}onHandlerModelChanged($,z,Q){this.updateActiveListForHandler($,z),this.filterChanged($,Q)}filterChanged($,z){this.filterChangedCallback(z),this.wrappers.forEach((Q,J)=>{if($===J||!Q)return;let{filter:Z,handler:X}=Q;if(X?.onAnyFilterChanged?.(),typeof Z.onAnyFilterChanged==="function")Z.onAnyFilterChanged()})}getModelAsString($){if(!$?.filterModels?.length)return"";let z=this.getLastActiveFilterIndex()??0;return this.wrappers[z]?.filter?.getModelAsString?.($.filterModels[z])??""}},bR=class extends S{constructor(){super(...arguments);this.filterType="multi",this.handlerWrappers=[],this.activeFilterIndices=[],this.filterDefs=[]}init($){this.params=$;let z=LZ($.filterParams);this.filterDefs=z,z.forEach((Q,J)=>{let Z=this.beans.colFilter.createHandler($.column,Q,"agTextColumnFilter");if(this.handlerWrappers.push(Z),!Z){j(278,{colId:$.column.getColId()});return}let{handler:X,handlerParams:Y}=Z;X.init?.({...this.updateHandlerParams(Y,J,!0),model:n$($.model,J),source:"init"})}),this.resetActiveList($.model)}refresh($){this.params=$;let{model:z,source:Q,filterParams:J}=$,Z=J?.filters;if(this.handlerWrappers.forEach((X,Y)=>{if(X){let q=this.updateHandlerParams($,Y,!1,Z?.[Y].filterParams);X.handlerParams=q,X.handler.refresh?.({...q,model:n$(z,Y),source:Q})}}),$.source!=="floating"&&$.source!=="ui")this.resetActiveList($.model);if($.additionalEventAttributes?.fromButtons)this.onAnyFilterChanged()}updateHandlerParams($,z,Q,J){let{onModelChange:Z,doesRowPassOtherFilter:X,getValue:Y}=$,q={...$,onModelChange:(G,_)=>Z(WZ(this.params.model,this.handlerWrappers.length,G,z),_),doesRowPassOtherFilter:(G)=>X(G)&&this.doesFilterPass({node:G,data:G.data,model:this.params.model,handlerParams:q},z),getValue:BZ(this.beans,$.column,this.filterDefs[z],Y),filterParams:this.updateFilterParams($,Q,J)};return q}updateFilterParams($,z,Q){let J=$.filterParams;if(Q?.buttons&&z)j(292,{colId:$.column.getColId()});let Z=Q?{...J,...Q}:J;if(!Z.buttons)return Z;if(Q)return delete Z.buttons,Z;let{buttons:X,...Y}=Z;return Y}doesFilterPass($,z){let Q=$.model?.filterModels;if(Q==null)return!0;return this.handlerWrappers.every((J,Z)=>{let X=Q[Z];if(X==null||z!=null&&Z===z)return!0;let Y=J?.handler;return!Y||Y.doesFilterPass({...$,model:X,handlerParams:J.handlerParams})})}resetActiveList($){this.activeFilterIndices=[];let z=$?.filterModels;if(z==null)return;for(let Q=0;Q<this.handlerWrappers.length;Q++)if(z[Q]!=null)this.activeFilterIndices.push(Q)}updateActiveList($,z){let Q=this.activeFilterIndices;if(Z0(Q,$),z!=null)Q.push($)}getLastActiveFilterIndex(){let $=this.activeFilterIndices;return $.length>0?$[$.length-1]:null}getModelAsString($,z){let Q=z==="filterToolPanel",J=()=>Q?this.getLocaleTextFunc()("filterSummaryInactive","is (All)"):"";if(!$?.filterModels?.length)return J();let Z=this.getLastActiveFilterIndex()??0;return this.handlerWrappers[Z]?.handler.getModelAsString?.($.filterModels[Z],z)??J()}getHandler($){return this.handlerWrappers[$]?.handler}onAnyFilterChanged(){UZ(this.handlerWrappers,($)=>$?.handler?.onAnyFilterChanged?.())}onNewRowsLoaded(){UZ(this.handlerWrappers,($)=>$?.handler?.onNewRowsLoaded?.())}destroy(){for(let $ of this.handlerWrappers)this.destroyBean($?.handler);this.handlerWrappers.length=0,super.destroy()}},yR=class extends S{constructor(){super(...arguments);this.beanName="multiFilter"}getParamsForDataType($,z,Q,J){let Z=$?.filters,X=this.beans;if(!Z)Z=[{filter:C4(Q.baseDataType)},{filter:"agSetColumnFilter"}];let Y=this.getLocaleTextFunc();return Z=Z.map((q)=>{let{filter:G,filterParams:_,filterValueGetter:H}=q;if(typeof G!=="string")return q;let{filterParams:U,filterValueGetter:W}=I4(G,_,H??z,Q,J,X,Y);return{...q,filterParams:U,filterValueGetter:W}}),{filterParams:{...$,filters:Z}}}},$Y=class extends oX{constructor(){super(...arguments);this.filterType="multi",this.filters=[],this.filterParams=[],this.validity=[]}init($){this.params=$;let z=LZ($).map((J)=>{if(J.filterParams?.buttons){j(292,{colId:$.column.getColId()});let Z={...J.filterParams};return delete Z.buttons,{...J,filterParams:Z}}return J});this.filterDefs=z,this.allState=$.state;let Q=this.filterDefs.map((J,Z)=>this.createFilter(J,Z));return new g((J)=>{g.all(Q).then((Z)=>{this.filters=Z,this.refreshGui("columnMenu").then(()=>{J()})})})}refresh($){let{model:z,state:Q,source:J}=$;if(J==="colDef")return!1;this.params=$;let Z=this.filterParams;if(Q===this.allState)return!0;this.allState=Q;let X=Q.state;return this.filters.forEach((Y,q)=>{let G=n$(z,q),_={state:X?.[q],model:n$(Q.model,q)};SQ(Y,Z[q],G,_,J)}),!0}getLastActiveFilterIndex(){return this.getHandler().getLastActiveFilterIndex?.()??null}getChildFilterInstance($){return this.filters[$]??void 0}getNumChildFilters(){return this.filters.length}destroy(){for(let $ of this.filters)this.destroyBean($);this.filters.length=0,super.destroy()}getFilterWrappers(){return this.filters}getFilterFromWrapper($){return $}getCompFromWrapper($){return $}createFilter($,z){let Q=this.beans.userCompFactory,J=this.updateParams($,this.params,z),Z=d2(Q,$,J,"agTextColumnFilter");if(!Z)return g.resolve(null);return this.filterParams[z]=Z.params,Z.newAgStackInstance()}updateParams($,z,Q){let{doesRowPassOtherFilter:J,model:Z,onModelChange:X,state:Y,onStateChange:q,column:G,source:_,onAction:H,onUiChange:U,getValue:W}=z,B=n$(Z,Q),E=Y?{model:n$(Y.model,Q),state:Y.state?.[Q]}:{model:B},K=()=>{let D=this.getHandler();this.filters.forEach((F,M)=>{if(Q!==M)D.getHandler(M)?.onAnyFilterChanged?.(),F?.onAnyFilterChanged?.()})},L=this.beans.colFilter;return{...L.createBaseFilterParams(G),...$,doesRowPassOtherFilter:(D)=>J(D)&&this.getHandler().doesFilterPass({node:D,data:D.data,model:this.params.model,handlerParams:L.getHandlerParams(G)},Q),model:B,state:E,onModelChange:(D,F)=>{let{filters:M,params:k}=this,V=WZ(k.model,M.length,D,Q);this.updateActiveList(Q,D),X(V,F),K()},onStateChange:(D)=>this.onStateChange(q,Q,D),getHandler:()=>this.getHandler().getHandler(Q),onAction:(D,F,M)=>{if(W1(z))return;let k=D==="apply"||D==="reset";if(k)this.updateActiveList(Q,n$(this.params.state.model,Q));if(H(D,F,M),k)K()},onUiChange:U,source:_,getValue:BZ(this.beans,G,$,W)}}updateActiveList($,z){this.getHandler().updateActiveList?.($,z)}getHandler(){return this.params.getHandler()}onStateChange($,z,Q){let{model:J,state:Z,valid:X}=Q,Y=this.validity;Y[z]=X;let q=this.allState,G=WZ(q.model,this.filters.length,J,z),_=Y.every((W)=>W!==!1),H=[...q.state??[]];H[z]=Z;let U={state:H,model:G,valid:_};this.allState=U,$(U)}getModelAsString($){return this.getHandler().getModelAsString?.($)??""}},xR={tag:"div",cls:"ag-multi-floating-filter ag-floating-filter-input"},wR=class extends x{constructor(){super(xR);this.floatingFilters=[],this.compDetailsList=[]}init($){this.params=$;let{compDetailsList:z}=this.getCompDetailsList($);return this.setParams(z)}setParams($){let z=[];return $.forEach((Q)=>{let J=Q?.newAgStackInstance();if(J!=null)this.compDetailsList.push(Q),z.push(J)}),g.all(z).then((Q)=>{Q.forEach((J,Z)=>{this.floatingFilters.push(J);let X=J.getGui();if(this.appendChild(X),Z>0)N(X,!1)})})}refresh($){this.params=$;let{compDetailsList:z,floatingFilterParamsList:Q}=this.getCompDetailsList($);if(z.length===this.compDetailsList.length&&z.every((Z,X)=>!this.beans.colFilter?.areFilterCompsDifferent(this.compDetailsList[X],Z))){if(Q.forEach((Z,X)=>{this.floatingFilters[X].refresh?.(Z)}),this.gos.get("enableFilterHandlers")){let Z=$;if(Z.model==null)this.floatingFilters.forEach((X,Y)=>{N(X.getGui(),Y===0)});else{let X=Z.getHandler()?.getLastActiveFilterIndex?.();this.floatingFilters.forEach((Y,q)=>{let G=X==null?q===0:q===X;N(Y.getGui(),G)})}}}else z0(this.getGui()),this.destroyBeans(this.floatingFilters),this.floatingFilters=[],this.compDetailsList=[],this.setParams(z)}getCompDetailsList($){let z=[],Q=[],J=$.filterParams,Z=$.currentParentModel,X=LZ(J);return X.forEach((Y,q)=>{let G={...$,parentFilterInstance:(H)=>{this.parentMultiFilterInstance((U)=>{let W=U.getChildFilterInstance(q);if(W==null)return;H(W)})},currentParentModel:()=>Z()?.filterModels?.[q]??null};if(this.gos.get("enableFilterHandlers")){let H=G;H.model=H.model?.filterModels?.[q]??null;let{onModelChange:U,getHandler:W}=H;H.onModelChange=(B,E)=>U(WZ(this.params.model,X.length,B,q),E),H.getHandler=()=>{return W().getHandler(q)}}B0(G.filterParams,Y.filterParams);let _=this.getCompDetails(Y,G);if(_)z.push(_),Q.push(G)}),{compDetailsList:z,floatingFilterParamsList:Q}}onParentModelChanged($,z){if(z?.afterFloatingFilter)return;this.parentMultiFilterInstance((Q)=>{if($==null)this.floatingFilters.forEach((J,Z)=>{J.onParentModelChanged(null,z),N(J.getGui(),Z===0)});else{let J=Q.getLastActiveFilterIndex();this.floatingFilters.forEach((Z,X)=>{let Y=$.filterModels.length>X?$.filterModels[X]:null;Z.onParentModelChanged(Y,z);let q=J==null?X===0:X===J;N(Z.getGui(),q)})}})}destroy(){this.destroyBeans(this.floatingFilters),this.floatingFilters.length=0,super.destroy()}getCompDetails($,z){let{colFilter:Q,frameworkOverrides:J,userCompFactory:Z}=this.beans,X=b4(J,$,()=>Q.getDefaultFloatingFilter(this.params.column))??"agReadOnlyFloatingFilter";return t2(Z,$,z,X)}parentMultiFilterInstance($){this.params.parentFilterInstance((z)=>{if(!(z instanceof eX||z instanceof $Y))e(120);$(z)})}},zY={moduleName:"MultiFilter",version:Q0,userComponents:{agMultiColumnFilter:{getComp:($)=>$.gos.get("enableFilterHandlers")?{classImp:$Y,params:{useForm:!0}}:eX},agMultiColumnFloatingFilter:wR},beans:[yR],dynamicBeans:{agMultiColumnFilterHandler:bR},dependsOn:[I0,L9,X5]},NR=class extends S{constructor(){super(...arguments);this.beanName="aggColNameSvc"}getHeaderName($,z){if(this.gos.get("suppressAggFuncInHeader"))return z;let{valueColsSvc:Q,colModel:J,rowGroupColsSvc:Z}=this.beans,X=$.getColDef().pivotValueColumn,Y=T(X),q=null,G;if(Y){let _=Q?.columns??[],H=this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&_.length===1,U=$.getColDef().pivotTotalColumnIds!==void 0;if(H&&!U)return z;q=X?X.getAggFunc():null,G=!0}else{let _=$.isValueActive(),H=Z?.columns.length!==0,U=J.isPivotMode()||H||this.gos.get("treeData");if(_&&U)q=$.getAggFunc(),G=!0;else G=!1}if(G){let _=typeof q==="string"?q:"func";return`${this.getLocaleTextFunc()(_,_)}(${z})`}return z}},gR={sum:"Sum",first:"First",last:"Last",min:"Min",max:"Max",count:"Count",avg:"Average"},hR=class extends S{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 $=this.aggFuncsMap;$.sum=uR,$.first=mR,$.last=cR,$.min=pR,$.max=iR,$.count=dR,$.avg=sR,this.initialised=!0}isAggFuncPossible($,z){let J=this.getFuncNames($).includes(z),Z=T(this.aggFuncsMap[z]);return J&&Z}getDefaultFuncLabel($){return gR[$]??$}getDefaultAggFunc($){let z=$.getColDef().defaultAggFunc;if(T(z)&&this.isAggFuncPossible($,z))return z;if(this.isAggFuncPossible($,"sum"))return"sum";let Q=this.getFuncNames($);return Q?.length?Q[0]:null}addAggFuncs($){if(this.init(),!$)return;for(let z of Object.keys($))if($[z])this.aggFuncsMap[z]=$[z]}getAggFunc($){return this.init(),this.aggFuncsMap[$]}getFuncNames($){let z=$.getColDef().allowedAggFuncs;return z==null?Object.keys(this.aggFuncsMap).sort():z}clear(){this.aggFuncsMap={}}};function uR($){let{values:z}=$,Q=null;for(let J=0;J<z.length;J++){let Z=z[J];if(typeof Z==="number")if(Q===null)Q=Z;else Q+=typeof Q==="number"?Z:BigInt(Z);else if(typeof Z==="bigint")if(Q===null)Q=Z;else Q=(typeof Q==="bigint"?Q:BigInt(Q))+Z}return Q}function mR($){return $.values.length>0?$.values[0]:null}function cR($){return $.values.length>0?b($.values):null}function pR($){let{values:z}=$,Q=null;for(let J=0;J<z.length;J++){let Z=z[J];if((typeof Z==="number"||typeof Z==="bigint")&&(Q===null||Q>Z))Q=Z}return Q}function iR($){let{values:z}=$,Q=null;for(let J=0;J<z.length;J++){let Z=z[J];if((typeof Z==="number"||typeof Z==="bigint")&&(Q===null||Q<Z))Q=Z}return Q}var nR=Object.freeze({toString:function(){return this.value.toString()},toNumber:function(){return this.value}});function dR($){let{values:z}=$,Q=0;for(let X=0;X<z.length;X++){let Y=z[X];Q+=Y!=null&&typeof Y.value==="number"?Y.value:1}let J=$.rowNode?.aggData?.[$.column.getColId()];if(J&&J.value===Q)return J;let Z=Object.create(nR);return Z.value=Q,Z}var tR=Object.freeze({toString:function(){return typeof this.value==="number"||typeof this.value==="bigint"?this.value.toString():""},toNumber:function(){return this.value}});function sR($){let{values:z}=$,Q=0,J=0;for(let q=0;q<z.length;q++){let G=z[q],_=null;if(typeof G==="number"||typeof G==="bigint")_=G,J++;else if(G!=null&&(typeof G.value==="number"||typeof G.value==="bigint")&&typeof G.count==="number")_=G.value*(typeof G.value==="number"?G.count:BigInt(G.count)),J+=G.count;if(typeof _==="number")Q+=typeof Q==="number"?_:BigInt(_);else if(typeof _==="bigint")Q=(typeof Q==="bigint"?Q:BigInt(Q))+_}let Z=null;if(J>0)Z=Q/(typeof Q==="number"?J:BigInt(J));let X=$.rowNode?.aggData?.[$.column?.getColId()];if(X&&X.count===J&&X.value===Z)return X;let Y=Object.create(tR);return Y.count=J,Y.value=Z,Y}var rR=class extends S{constructor(){super(...arguments);this.beanName="aggChildrenSvc"}getAggregatedChildren($,z,Q){if(!$?.group)return[];if($.rowPinned){if($=$.pinnedSibling,!$)return[]}let J=this.gos,Z=QY($,z,J);if(!Q)return Z;let X=[];return JY(Z,z,J,X),X}},QY=($,z,Q)=>{let J=z?.colDef,Z=J?.pivotKeys;if(Z){if($.leafGroup&&Z.length&&!J.pivotTotalColumnIds)return NX($.childrenMapped,Z);return $.childrenAfterFilter??$.childrenAfterGroup??[]}if(T$(Q)||Q.get("suppressAggFilteredOnly"))return $.childrenAfterGroup??[];return $.childrenAfterFilter??$.childrenAfterGroup??[]},JY=($,z,Q,J)=>{for(let Z=0,X=$.length;Z<X;++Z){let Y=$[Z];if(Y.group)JY(QY(Y,z,Q),z,Q,J);else J.push(Y)}};function lR($,z){if($.aggFuncSvc)$.aggFuncSvc.addAggFuncs(z)}function aR($){if($.aggFuncSvc)$.aggFuncSvc.clear()}function oR($,z,Q){$.valueColsSvc?.setColumnAggFunc?.(z,Q,"api")}var eR=class extends S{constructor(){super(...arguments);this.beanName="aggStage",this.step="aggregate",this.refreshProps=["getGroupRowAgg","alwaysAggregateAtRootLevel","suppressAggFilteredOnly","grandTotalRow"],this.hadAgg=!1}execute($){let{gos:z,beans:Q}=this,J=z.getCallback("getGroupRowAgg"),Z=Q.valueColsSvc?.columns;if(!Z?.length&&!J){if(this.hadAgg&&!$){this.hadAgg=!1;let{colModel:k,rowModel:V}=Q;S0(V.rootNode,V.hierarchical,void 0,(R)=>{h9(R,null,k)})}return}this.hadAgg=!0;let{colModel:X,aggFuncSvc:Y}=Q,q=z.get("alwaysAggregateAtRootLevel")||!!Hz(z)||X.isPivotMode(),G=!T$(z)&&!z.get("suppressAggFilteredOnly"),_=Q.valueSvc,H=Q.gridApi,U=Q.gridOptions.context,W=Z??[],B=W.length,E=$?.kind==="cells"?$:void 0,K,L=Array(B);for(let k=0;k<B;++k){let V=W[k],R=E?E.getSlot(V.colId):-1;if(R>=0)K=E;L[k]={column:V,colId:V.colId,colDef:V.colDef,aggFunc:ZY(V.getAggFunc(),Y,V),colSlot:R}}let D=Qj(X,Q.pivotResultCols,Y),F=B>0?Array(B):null,M=Q.rowModel;S0(M.rootNode,M.hierarchical,$,(k)=>{if(k.level===-1&&!q){OQ(k,null,X);return}let V;if(J)V=J({nodes:k.childrenAfterFilter});else if(!F)V=null;else if(D)V=zj(k,D,_,H,U);else V=$j(k,L,B,F,K,G,_,H,U);h9(k,V,X)})}},$j=($,z,Q,J,Z,X,Y,q,G)=>{let _=(X?$.childrenAfterFilter:$.childrenAfterGroup)??[],H=_.length,U=$.data,W=Object.create(null),B=Z?Z.getSlot($):-1,E=B>=0?$.aggData:void 0,K=0;for(let L=0;L<Q;++L){let D=z[L];if(B>=0&&!Z.hasCellBySlot(B,D.colSlot)){if(J[L]=null,E)W[D.colId]=E[D.colId]}else J[L]=Array(H),++K}if(K===0)return W;for(let L=0;L<H;++L){let D=_[L],F=D.aggData;if(F)for(let M=0;M<Q;++M){let k=J[M];if(k!==null){let V=z[M],R=F[V.colId];k[L]=R!==void 0?R:Y.getValue(V.column,D,"data")}}else for(let M=0;M<Q;++M){let k=J[M];if(k!==null)k[L]=Y.getValue(z[M].column,D,"data")}}for(let L=0;L<Q;++L){let D=J[L];if(D===null)continue;let F=z[L],M=F.aggFunc;W[F.colId]=M?M({values:D,column:F.column,colDef:F.colDef,rowNode:$,data:U,aggregatedChildren:_,api:q,context:G}):null}return W},zj=($,z,Q,J,Z)=>{let X=z.length,Y=$.leafGroup,q=$.data,G=$.childrenMapped,_=$.childrenAfterFilter??[],H=Object.create(null),U,W;for(let B=0;B<X;++B){let E=z[B],K=E.column,L=E.colId,D=E.totalColIds,F,M;if(D!=null){let V=D.length;F=Array(V);for(let R=0;R<V;++R)F[R]=H[D[R]];M=_}else if(Y){let V=E.pivotKeys;if(!W||V!==U)U=V,W=NX(G,V);M=W;let R=M.length;F=Array(R);for(let O=0;O<R;++O)F[O]=Q.getValue(K,M[O],"data")}else{M=_;let V=M.length;F=Array(V);for(let R=0;R<V;++R){let O=M[R],I=O.aggData,v=I?I[L]:void 0;F[R]=v!==void 0?v:Q.getValue(K,O,"data")}}let k=E.aggFunc;H[L]=k?k({values:F,column:K,colDef:K.colDef,pivotResultColumn:E.pivotResultCol,rowNode:$,data:q,aggregatedChildren:M,api:J,context:Z}):null}return H},ZY=($,z,Q)=>{if(typeof $==="function")return $;if($==null)return null;let J=z.getAggFunc($);if(typeof J!=="function")return j(109,{inputValue:$.toString(),allSuggestions:z.getFuncNames(Q)}),null;return J},Qj=($,z,Q)=>{if(!$.isPivotActive())return null;let J=z?.getAggregationOrderedList();if(!J||J.length===0)return null;let Z=J.length,X=Array(Z),Y=0;for(let q=0;q<Z;++q){let G=J[q],_=G.colDef,H=_.pivotValueColumn;if(!H)continue;X[Y++]={column:H,colId:_.colId,aggFunc:ZY(H.getAggFunc(),Q,H),pivotResultCol:G,pivotKeys:_.pivotKeys,totalColIds:_.pivotTotalColumnIds}}if(Y===0)return null;return X.length=Y,X},Jj=class extends S{constructor(){super(...arguments);this.beanName="filterAggStage",this.step="filter_aggregates",this.refreshProps=[],this.setAllChildrenCountTreeData=($)=>{let z=$.childrenAfterAggFilter,Q=0;if(z){let Z=z.length;Q=Z;for(let X=0;X<Z;++X)Q+=z[X].allChildrenCount??0}let J=Q===0&&$.level>=0?null:Q;$.setAllChildrenCount(J),$.pinnedSibling?.setAllChildrenCount(J)},this.setAllChildrenCountGridGrouping=($)=>{let z=$.childrenAfterAggFilter,Q=0;for(let J=0,Z=z.length;J<Z;++J){let X=z[J];if(X.group)Q+=X.allChildrenCount;else Q++}$.setAllChildrenCount(Q),$.pinnedSibling?.setAllChildrenCount(Q)}}wireBeans($){this.filterManager=$.filterManager}execute($){let{rowModel:z,colModel:Q,groupStage:J}=this.beans,{filterManager:Z}=this,X=Q.isPivotMode(),Y=Z?.isAggregateFilterPresent()||Z?.isAggregateQuickFilterPresent(),q=!!J?.treeData,G=(E)=>!E.node.group,_=(E)=>E.node.leafGroup,H=T$(this.gos)||(X?_:G),U=q?this.setAllChildrenCountTreeData:this.setAllChildrenCountGridGrouping,W=(E,K=!1)=>{if(E.childrenAfterFilter){if(E.childrenAfterAggFilter=E.childrenAfterFilter,K){let L=E.childrenAfterAggFilter;for(let D=0,F=L.length;D<F;++D)W(L[D],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(H({node:K})){if(Z.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};S0(z.rootNode,z.hierarchical,$,Y?B:W)}};function P1($,z){if($.sibling)return;let Q=N7($,z);Q.footer=!0,Q.setRowTop(null),Q.setRowIndex(null),Q.oldRowTop=null,Q.id="rowGroupFooter_"+$.id,Q.sibling=$,$.sibling=Q}function Zj($){let z=$.sibling;if(!z)return;z._destroy(!1),$.sibling=void 0,z.sibling=void 0}var Xj=class extends S{constructor(){super(...arguments);this.beanName="footerSvc"}addTotalRows($,z,Q,J,Z,X){let Y=$;if(Z){let _=J&&Hz(this.gos);if(Yj(X,_))P1(z,this.beans),Q(z.sibling,Y++);return Y}let q=OJ(this.gos);if((J&&q({node:z}))===X)P1(z,this.beans),Q(z.sibling,Y++);return Y}getTopDisplayIndex($,z,Q,J){let Z=z;if($[0].footer){if(z===0)return 0;Z-=1}let X=$[$.length-1],Y=Z>=Q.length;if(X.footer&&Y)return X.rowIndex;return J(Z)}doesCellShowTotalPrefix($,z){if(!$.footer||!z?.getColDef().showRowGroup)return!1;if(this.gos.get("treeData"))return!0;if($.level===-1)return this.beans.showRowGroupCols?.columns[0]===z;return!!$.rowGroupColumn&&z?.isRowGroupDisplayed($.rowGroupColumn.getId())}applyTotalPrefix($,z,Q,J){let Z=J.getColDef().cellRendererParams?.totalValueGetter;if(Z){let X=y(this.gos,{column:J,node:Q,value:$,formattedValue:z});if(typeof Z==="function")return Z(X);if(typeof Z==="string")return this.beans.expressionSvc?.evaluate(Z,X);j(179)}if(Q.level===-1)return this.getLocaleTextFunc()("footerTotal","Total")+" ";return this.getTotalValue(z??$)??""}getTotalValue($){return this.getLocaleTextFunc()("footerTotal","Total")+" "+($??"")}};function Yj($,z){switch(z){case"top":case"pinnedTop":return $==="top";case"bottom":case"pinnedBottom":return $==="bottom";default:return!1}}var XY=class extends RQ{constructor(){super(...arguments);this.beanName="valueColsSvc",this.eventName="columnValueChanged",this.columnProcessors={set:($,z,Q)=>this.setValueActive(z,$,Q),add:($,z,Q)=>this.setValueActive(!0,$,Q),remove:($,z,Q)=>this.setValueActive(!1,$,Q)},this.columnExtractors={setFlagFunc:($,z,Q)=>this.setColValueActive($,z,Q),getIndexFunc:()=>{return},getInitialIndexFunc:()=>{return},getValueFunc:($)=>{let z=$.aggFunc;if(z===null||z==="")return null;if(z===void 0)return;return!!z},getInitialValueFunc:($)=>{return $.initialAggFunc!=null&&$.initialAggFunc!=""}},this.modifyColumnsNoEventsCallbacks={addCol:($)=>this.columns.push($),removeCol:($)=>Z0(this.columns,$)}}extractCols($,z){this.columns=super.extractCols($,z);for(let Q of this.columns){let J=Q.getColDef();if(J.aggFunc!=null&&J.aggFunc!="")this.setColAggFunc(Q,J.aggFunc);else if(!Q.getAggFunc())this.setColAggFunc(Q,J.initialAggFunc)}return this.columns}setColumnAggFunc($,z,Q){if(!$)return;let J=this.colModel.getColDefCol($);if(!J)return;this.setColAggFunc(J,z),this.dispatchColumnChangedEvent(this.eventSvc,this.eventName,[J],Q)}syncColumnWithState($,z,Q){let J=Q("aggFunc").value1;if(J!==void 0)if(typeof J==="string"){if(this.setColAggFunc($,J),!$.isValueActive())this.setColValueActive($,!0,z),this.modifyColumnsNoEventsCallbacks.addCol($)}else{if(T(J))j(33);if($.isValueActive())this.setColValueActive($,!1,z),this.modifyColumnsNoEventsCallbacks.removeCol($)}}setValueActive($,z,Q){if($===z.isValueActive())return;if(this.setColValueActive(z,$,Q),$&&!z.getAggFunc()&&this.aggFuncSvc){let J=this.aggFuncSvc.getDefaultAggFunc(z);this.setColAggFunc(z,J)}}setColAggFunc($,z){$.aggFunc=z,$.dispatchStateUpdatedEvent("aggFunc")}setColValueActive($,z,Q){if($.aggregationActive!==z)$.aggregationActive=z,$.dispatchColEvent("columnValueChanged",Q)}},YY={moduleName:"SharedAggregation",version:Q0,beans:[hR,NR,Xj,XY],apiFunctions:{addAggFuncs:lR,clearAggFuncs:aR,setColumnAggFunc:oR},dependsOn:[I0]},qj={moduleName:"Aggregation",version:Q0,beans:[eR,Jj,rR],rowModels:["clientSide"],dependsOn:[YY]},qY=class extends RQ{constructor(){super(...arguments);this.beanName="pivotColsSvc",this.eventName="columnPivotChanged",this.columnProcessors={set:($,z,Q)=>this.setColPivotActive($,z,Q),add:($,z,Q)=>this.setColPivotActive($,!0,Q),remove:($,z,Q)=>this.setColPivotActive($,!1,Q)},this.columnOrdering={enableProp:"pivot",initialEnableProp:"initialPivot",indexProp:"pivotIndex",initialIndexProp:"initialPivotIndex"},this.columnExtractors={setFlagFunc:($,z,Q)=>this.setColPivotActive($,z,Q),getIndexFunc:($)=>$.pivotIndex,getInitialIndexFunc:($)=>$.initialPivotIndex,getValueFunc:($)=>$.pivot,getInitialValueFunc:($)=>$.initialPivot},this.modifyColumnsNoEventsCallbacks={addCol:($)=>{if(!this.columns.includes($))this.columns.push($)},removeCol:($)=>Z0(this.columns,$)}}syncColumnWithState($,z,Q,J){let{value1:Z,value2:X}=Q("pivot","pivotIndex");if(Z!==void 0||X!==void 0){if(typeof X==="number"||Z){if(!$.isPivotActive())this.setColPivotActive($,!0,z),this.modifyColumnsNoEventsCallbacks.addCol($);if(J&&typeof X==="number")J[$.getId()]=X}else if($.isPivotActive())this.setColPivotActive($,!1,z),this.modifyColumnsNoEventsCallbacks.removeCol($)}}setColPivotActive($,z,Q){if($.pivotActive!==z){if($.pivotActive=z,z)this.beans.groupHierarchyColSvc?.insertVirtualColumnsForCol(this.columns,$)?.forEach((Z)=>this.setColPivotActive(Z,z,Q));$.dispatchColEvent("columnPivotChanged",Q)}$.dispatchStateUpdatedEvent("pivot")}},Gj=class extends RQ{constructor(){super(...arguments);this.beanName="rowGroupColsSvc",this.eventName="columnRowGroupChanged",this.columnProcessors={set:($,z,Q)=>this.setActive(z,$,Q),add:($,z,Q)=>this.setActive(!0,$,Q),remove:($,z,Q)=>this.setActive(!1,$,Q)},this.columnOrdering={enableProp:"rowGroup",initialEnableProp:"initialRowGroup",indexProp:"rowGroupIndex",initialIndexProp:"initialRowGroupIndex"},this.columnExtractors={setFlagFunc:($,z,Q)=>this.setColRowGroupActive($,z,Q),getIndexFunc:($)=>$.rowGroupIndex,getInitialIndexFunc:($)=>$.initialRowGroupIndex,getValueFunc:($)=>$.rowGroup,getInitialValueFunc:($)=>$.initialRowGroup},this.modifyColumnsNoEventsCallbacks={addCol:($)=>{if(!this.columns.includes($))this.columns.push($)},removeCol:($)=>Z0(this.columns,$)}}moveColumn($,z,Q){if(this.columns.length===0)return;let J=this.columns[$],Z=this.columns.slice($,z);this.columns.splice($,1),this.columns.splice(z,0,J),this.updateIndexMap(),this.eventSvc.dispatchEvent({type:this.eventName,columns:Z,column:Z.length===1?Z[0]:null,source:Q})}syncColumnWithState($,z,Q,J){let{value1:Z,value2:X}=Q("rowGroup","rowGroupIndex");if(Z!==void 0||X!==void 0){if(typeof X==="number"||Z){if(!$.isRowGroupActive())this.setColRowGroupActive($,!0,z),this.modifyColumnsNoEventsCallbacks.addCol($);if(J&&typeof X==="number")J[$.getId()]=X}else if($.isRowGroupActive())this.setColRowGroupActive($,!1,z),this.modifyColumnsNoEventsCallbacks.removeCol($)}}setActive($,z,Q){if($===z.isRowGroupActive())return;this.setColRowGroupActive(z,$,Q);let J=this.beans.groupHierarchyColSvc?.getColumn(z);if(TJ(this.gos,$)&&!J)this.colModel.setColsVisible([z],!$,Q)}setColRowGroupActive($,z,Q){if($.rowGroupActive!==z){if($.rowGroupActive=z,z)this.beans.groupHierarchyColSvc?.insertVirtualColumnsForCol(this.columns,$)?.forEach((Z)=>this.setColRowGroupActive(Z,z,Q));$.dispatchColEvent("columnRowGroupChanged",Q)}$.dispatchStateUpdatedEvent("rowGroup")}},_j=class extends S{constructor(){super(...arguments);this.beanName="autoColSvc"}postConstruct(){this.addManagedPropertyListener("autoGroupColumnDef",this.updateColumns.bind(this)),this.setupGroupHideColumnsUntilExpanded()}setupGroupHideColumnsUntilExpanded(){let $=()=>this.updateGroupColumnVisibility();this.addManagedEventListeners({modelUpdated:$}),this.addManagedPropertyListeners(["groupHideColumnsUntilExpanded","groupDisplayType","groupHideOpenParents"],$)}addColumns($){let{columns:z}=this;if(z==null)return;$.list=z.list.concat($.list),$.tree=z.tree.concat($.tree),_1($)}createColumns($,z,Q){let J=this.beans,{colModel:Z,gos:X,rowGroupColsSvc:Y,colGroupSvc:q}=J,G=Z.isPivotMode(),_=PJ(X,G),H=G?X.get("pivotSuppressAutoColumn"):this.isSuppressAutoCol(),U=Y?.columns,B=!(U&&U.length>0||X.get("treeData"))||H||_,E=()=>{if(this.columns)J$(J,this.columns.tree),this.columns=null};if(B){E();return}let K=this.generateAutoCols(U),L=G1(K,this.columns?.list||null),D=$.treeDepth,M=(this.columns?this.columns.treeDepth:-1)==D;if(L&&M){let O=new Map(K.map((I)=>[I.getId(),I]));for(let I of this.columns?.list??[]){let v=O.get(I.getId());if(v)I.setColDef(v.getColDef(),null,Q)}return}E();let k=q?.findDepth($.tree)??0,V=q?.balanceTreeForAutoCols(K,k)??[];this.columns={list:K,tree:V,treeDepth:k,map:{}},z((O)=>{if(!O)return null;let I=O.filter((v)=>!mz(v));return[...K,...I]})}updateColumns($){let z=Xz($.source);this.columns?.list.forEach((Q,J)=>this.updateOneAutoCol(Q,J,z))}getColumn($){return this.columns?.list.find((z)=>P$(z,$))??null}getColumns(){return this.columns?.list??null}generateAutoCols($=[]){let z=[],{gos:Q}=this,J=Q.get("treeData"),Z=Y1(Q);if(J&&Z)j(182),Z=!1;if(Z)$.forEach((X,Y)=>{z.push(this.createOneAutoCol(X,Y))});else z.push(this.createOneAutoCol());return z}isSuppressAutoCol(){let $=this.gos;if($.get("groupDisplayType")==="custom")return!0;return $.get("treeDataDisplayType")==="custom"}createOneAutoCol($,z){let Q;if($)Q=`${uz}-${$.getId()}`;else Q=uz;let J=this.createAutoColDef(Q,$,z);J.colId=Q;let Z=new q$(J,null,Q,!0);return this.createBean(Z),Z}updateOneAutoCol($,z,Q){let J=$.getColDef(),Z=typeof J.showRowGroup=="string"?J.showRowGroup:void 0,X=this.beans,Y=Z!=null?X.colModel.getColDefCol(Z):void 0,q=$.getId(),G=this.createAutoColDef(q,Y??void 0,z);$.setColDef(G,null,Q),n0(X,{state:[i2(G,q)]},Q)}createAutoColDef($,z,Q){let J=this.createBaseColDef(z),Z=this.gos.get("autoGroupColumnDef");if(B0(J,Z),J=u$(this.beans,J,$,!0),Z?.groupRowEditable==null)J.groupRowEditable=void 0;if(Z?.groupRowValueSetter==null)J.groupRowValueSetter=void 0;if(!this.gos.get("treeData")){if(n(J.field)&&n(J.valueGetter)&&n(J.filterValueGetter)&&J.filter!=="agGroupColumnFilter")J.filter=!1}if(Q&&Q>0)J.headerCheckboxSelection=!1;let X=W$(this.gos),Y=J.valueGetter||J.field!=null;if(X&&!Y)J.sortIndex=void 0,J.initialSort=void 0;return J}createBaseColDef($){let z=this.gos.get("autoGroupColumnDef"),J={headerName:this.getLocaleTextFunc()("group","Group"),showRowGroup:$?.getColId()??!0};if(!(z&&(z.cellRenderer||z.cellRendererSelector)))J.cellRenderer="agGroupCellRenderer";if($)J.headerName=this.beans.colNames.getDisplayNameForColumn($,"header")??void 0,J.headerValueGetter=$.colDef.headerValueGetter;return J}getDeepestExpandedLevel($,z){let Q=-1;if(!$)return Q;for(let J of $){if(!J.group||!J.expanded)continue;if(J.level>Q)Q=J.level;if(Q>=z)return Q;let Z=this.getDeepestExpandedLevel(J.childrenAfterGroup,z);if(Z>Q)Q=Z;if(Q>=z)return Q}return Q}updateGroupColumnVisibility(){let $=this.columns?.list;if(!$||$.length===0)return;let{gos:z,visibleCols:Q,rowModel:J}=this.beans,Z=g2(z),X=!1,Y=(G,_)=>{if(_!==G.isVisible())G.setVisible(_,"api"),X=!0},q=()=>{for(let G of $)Y(G,!0)};if(!Z)q();else if($.length>1){let G=$.length-2,_=J?.rootNode?.childrenAfterGroup,H=this.getDeepestExpandedLevel(_,G);if(H>=G)q();else for(let U=0;U<$.length-1;U++)Y($[U+1],H>=U)}if(X)Q.refresh("api")}destroy(){J$(this.beans,this.columns?.tree),super.destroy()}},z5=null,d9=($)=>{let z=z5,Q=new Uint32Array(1<<32-Math.clz32($|63));if(z)Q.set(z);return z5=Q,Q},Hj=($,z,Q,J)=>{let Z=z-J,X=Q-1;if(Z===1){let _=0;while($[_].level===X)++_;if(_<z-1){let H=$[_];$.copyWithin(_,_+1),$[z-1]=H}return $}if(J===1){let _=0;while($[_].level!==X)++_;if(_>0){let H=$[_];$.copyWithin(1,0,_),$[0]=H}return $}let Y=Array(Z),q=0,G=0;for(let _=0;_<z;++_){let H=$[_];if(H.level===X)$[q++]=H;else Y[G++]=H}for(let _=0;_<Z;++_)$[J+_]=Y[_];return $},Uj=($,z)=>{let Q=$[0].level+1,J=Q,Z=0,X=Q,Y=z5;if(!Y||Q>=Y.length)Y=d9(Q);++Y[Q];for(let U=1;U<z;++U){let W=$[U].level+1;if(W>Q){if(Q=W,Q>=Y.length)Y=d9(Q)}else if(W<J)J=W;++Y[W],Z|=X-W,X=W}if(Z>=0)return Y.fill(0,J,Q+1),$;let q=Y[J],G=Y[Q];if(q+G===z)return Y[J]=0,Y[Q]=0,Hj($,z,Q,G);let _=0;for(let U=Q;U>=J;--U){let W=Y[U];Y[U]=_,_+=W}let H=Array(z);for(let U=0;U<z;++U){let W=$[U];H[Y[W.level+1]++]=W}return Y.fill(0,J,Q+1),H},GY=($,z=$.length)=>{if(z===2){if($[0].level<$[1].level){let Q=$[0];$[0]=$[1],$[1]=Q}return $}if(z>16)return Uj($,z);for(let Q=1;Q<z;Q++){let J=$[Q],Z=J.level,X=Q-1;if($[X].level<Z){let Y=Q;do $[Y]=$[X],Y=X--;while(X>=0&&$[X].level<Z);$[Y]=J}}return $},Wj=class{constructor(){this.kind="cells",this.rows=[],this.unsorted=!1,this.slots=new Map,this.bits=[],this.extraBits=null,this.colCount=0}addRow($){let z=$;if(z==null)return;let Q=this.slots;if(Q.get(z)!==void 0){while(z!=null&&Q.get(z)>=0)Q.set(z,-1),z=z.parent;return}let J=this.rows;do Q.set(z,-1),J.push(z),z=z.parent;while(z!=null&&!Q.has(z));this.unsorted=!0}addCell($,z){if(z==null){this.addRow($);return}if($==null)return;let Q=this.slots,J=this.bits,Z=Q.get(z)??this.ensureCol(z),X=Q.get($);if(X===void 0)X=this.ensureRow($);else if(X<0)return;let Y=Z<32?J:this.extraBits[(Z>>>5)-1],q=1<<(Z&31),G=Y[X];if((G&q)!==0)return;Y[X]=G|q;let _=$.parent;while(_!=null){let H=Q.get(_);if(H<0)break;let U=Y[H];if((U&q)!==0)break;Y[H]=U|q,_=_.parent}}hasRow($){return this.slots.has($)}getSortedRows(){if(!this.unsorted)return this.rows;this.unsorted=!1;let $=GY(this.rows);return this.rows=$,$}getSlot($){return this.slots.get($)??-1}hasCellBySlot($,z){if($<0)return!0;if(z<32)return z>=0&&(this.bits[$]&1<<z)!==0;return(this.extraBits[(z>>>5)-1][$]&1<<(z&31))!==0}ensureRow($){let z=this.slots,Q=this.rows,J=this.bits,Z=this.extraBits,X=J.push(0),Y=X-1;if(Z!==null)for(let G=0,_=Z.length;G<_;++G)Z[G].push(0);z.set($,Y),Q.push($),this.unsorted=!0;let q=$.parent;while(q!=null&&!z.has(q)){if(z.set(q,X),Q.push(q),X=J.push(0),Z!==null)for(let G=0,_=Z.length;G<_;++G)Z[G].push(0);q=q.parent}return Y}ensureCol($){let z=this.colCount++;if(this.slots.set($,z),z>=32){let Q=(z>>>5)-1,J=this.extraBits;if(J===null)J=[],this.extraBits=J;if(Q>=J.length)J.push(Array(this.bits.length).fill(0))}return z}},t9=class{constructor(){this.kind="rows",this.rows=[],this.unsorted=!1,this.rowSet=new Set}addRow($){let z=$;if(z==null)return;let Q=this.rowSet;if(Q.has(z))return;let J=this.rows;do Q.add(z),J.push(z),z=z.parent;while(z!=null&&!Q.has(z));this.unsorted=!0}addCell($,z){this.addRow($)}hasRow($){return this.rowSet.has($)}getSortedRows(){if(!this.unsorted)return this.rows;this.unsorted=!1;let $=GY(this.rows);return this.rows=$,$}},Bj=class extends S{constructor(){super(...arguments);this.beanName="changedPathFactory"}newPath($){return $?new Wj:new t9}ensureRowsPath($){let z=$.changedPath;if(!z&&$.changedRowNodes&&!$.newData){let Q=this.beans.rowModel;if(Q.hierarchical)z=new t9,$.changedPath=z,z.addRow(Q.rootNode)}return z}},Ej=class extends S{addExpandedCss($,z){if(z.isExpandable())$.push("ag-row-group"),$.push(z.expanded?"ag-row-group-expanded":"ag-row-group-contracted")}getRowExpandedListeners($){let{rowNode:z}=$,Q=this.updateExpandedCss.bind(this,$,z);return{expandedChanged:Q,hasChildrenChanged:Q}}setExpanded($,z,Q,J){if($.expanded===z)return;$._expanded=z,$.dispatchRowEvent("expandedChanged");let Z={...e2($,this.gos,"rowGroupOpened"),expanded:z,event:Q||null};this.dispatchExpandedEvent(Z,J)}defaultExpanded($){let Q=this.beans.gos,J=$.level??0,Z=$.group&&Q.get("isGroupOpenByDefault");if(!Z){let Y=Q.get("groupDefaultExpanded");return Y===-1||J<Y}let X=y(Q,{rowNode:$,field:$.field,key:$.key,level:J,rowGroupColumn:$.rowGroupColumn});return!!Z(X)}isExpandable($){if($.footer)return!1;if(this.beans.colModel.isPivotMode())return $.hasChildren()&&!$.leafGroup;return $.hasChildren()||$.master}updateExpandedCss($,z){let Q=z.isExpandable(),J=z.expanded==!0;$.forEachGui(void 0,(Z)=>{let X=Z.rowComp;X.toggleCss("ag-row-group",Q),X.toggleCss("ag-row-group-expanded",Q&&J),X.toggleCss("ag-row-group-contracted",Q&&!J),w0(Z.element,Q&&J)})}dispatchStateUpdatedEvent(){this.eventSvc.dispatchEvent({type:"rowExpansionStateChanged"})}},Kj=class extends Ej{constructor(){super(...arguments);this.beanName="expansionSvc",this.events=null,this.dispatchExpandedDebounced=null}destroy(){super.destroy(),this.events=null,this.dispatchExpandedDebounced=null}setExpansionState($){let z=new Set($.expandedRowGroupIds);this.beans.rowModel.forEachNode((Q)=>{let J=Q.id;if(!J)return;Q._expanded=z.has(J)}),this.onGroupExpandedOrCollapsed()}getInternalExpansionState($=!1){let z=[],Q=[];return this.beans.rowModel.forEachNode((J)=>{let Z=J.id;if(!Z)return;if(J.expanded)z.push(Z);else if($&&J.isExpandable())Q.push(Z)}),{expandedRowGroupIds:z,collapsedRowGroupIds:Q}}getExpansionState(){return this.getInternalExpansionState()}isExpanded($){if($.footer)return!!$._expanded;if(!($.group||$.master)||$.leafGroup&&this.beans.colModel.isPivotMode())return!1;let z=$._expanded;if(z===null)z=this.defaultExpanded($)??!1,$._expanded=z;return!!z}resetExpansion(){let{rowModel:$}=this.beans;$.forEachNode((z)=>{if(!z.group&&!z.master)return;z._expanded=null}),this.onGroupExpandedOrCollapsed()}expandAll($){let{gos:z,rowModel:Q,colModel:J,eventSvc:Z}=this.beans,X=z.get("treeData"),Y=J.isPivotActive(),q=(_)=>{if(!_)return;for(let H of _){let U=()=>{H._expanded=$,q(H.childrenAfterGroup)};if(H.master){U();continue}if(X){if(T(H.childrenAfterGroup))U();continue}if(Y){if(!H.leafGroup)U();continue}if(H.group)U()}},G=Q.rootNode;if(G)q(G.childrenAfterGroup);this.onGroupExpandedOrCollapsed(),Z.dispatchEvent({type:"expandOrCollapseAll",source:$?"expandAll":"collapseAll"})}onGroupExpandedOrCollapsed(){this.dispatchStateUpdatedEvent(),this.beans.rowModel.reMapRows()}setDetailsExpansionState($){let z=this.getInternalExpansionState(!0),Q=z.collapsedRowGroupIds.length===0;if(z.expandedRowGroupIds.length===0===Q)return;return Q?$.expandAll():$.collapseAll()}dispatchExpandedEvent($,z){if((this.events??(this.events=[])).push($),z){this.dispatchExpandedEvents();return}let Q=this.dispatchExpandedDebounced;if(!Q){if(!this.isAlive())return;Q=this.debounce(()=>this.dispatchExpandedEvents()),this.dispatchExpandedDebounced=Q}Q()}dispatchExpandedEvents(){let{eventSvc:$,rowRenderer:z}=this.beans,Q=this.events,J=Q?.length;if(!J)return;this.events=null;let Z=Array(J);for(let X=0;X<J;++X)Z[X]=Q[X].node,$.dispatchEvent(Q[X]);this.dispatchStateUpdatedEvent(),z.refreshCells({rowNodes:Z})}debounce($){let z=this.beans.animationFrameSvc;if(!z)return()=>window.setTimeout($,0);let Q=!1;return()=>{if(!z.active){window.setTimeout($,0);return}if(Q)return;Q=!0,z.addDestroyTask(()=>{Q=!1,$()})}}};function Lj($){let z=$.get("groupHideParentOfSingleChild");if(!z){if(z=$.get("groupRemoveSingleChildren"),!z&&$.get("groupRemoveLowestSingleChildren"))z="leafGroupsOnly"}return{groupHideParentOfSingleChild:z,isGroupMultiAutoColumn:Y1($),hideOpenParents:$.get("groupHideOpenParents"),grandTotalRow:Hz($),groupTotalRow:OJ($)}}function Dj($,z,Q){return $.groupHideParentOfSingleChild===!0&&Q&&z.childrenAfterGroup.length===1}function Fj($,z,Q){return $.groupHideParentOfSingleChild==="leafGroupsOnly"&&Q&&z.leafGroup&&z.childrenAfterGroup.length===1}function Mj($,z,Q,J,Z,X){if(J&&!Q)return!1;if(Z||X)return!1;if(!$.hideOpenParents)return!0;if(z.master||z.level===-1)return!0;if(!(J&&z.leafGroup)&&z.expanded)return!1;return!0}var kj=class extends S{constructor(){super(...arguments);this.beanName="flattenStage",this.step="map",this.refreshProps=["groupHideParentOfSingleChild","groupRemoveSingleChildren","groupRemoveLowestSingleChildren","groupTotalRow","masterDetail"]}execute(){let{beans:$,gos:z}=this,Q=[],J=$.rowModel.rootNode;if(!J)return Q;let Z=$.colModel.isPivotMode(),X=Z&&J.leafGroup&&J.aggData,Y=X?[J]:J.childrenAfterSort,q=Lj(z);this.recursivelyAddToRowsToDisplay(q,Y,Q,Z,0);let G=Q.length>0,_=q.grandTotalRow;if(!X&&G&&_)if(P1(J,$),_==="pinnedBottom"||_==="pinnedTop")this.beans.pinnedRowModel?.setGrandTotalPinned(_==="pinnedBottom"?"bottom":"top");else{let U=_==="top";this.addRowNodeToRowsToDisplay(q,J.sibling,Q,0,U)}return Q}recursivelyAddToRowsToDisplay($,z,Q,J,Z){if(!z?.length)return;let X=this.beans.masterDetailSvc;for(let Y=0;Y<z.length;Y++){let q=z[Y],G=q.hasChildren(),_=Dj($,q,G),H=Fj($,q,G);if(Mj($,q,G,J,_,H))this.addRowNodeToRowsToDisplay($,q,Q,Z);if(J&&q.leafGroup)continue;if(G){let W=_||H;if(q.expanded||W){let B=$.groupTotalRow({node:q});if(!B)Zj(q);let E=W?Z:Z+1;if(B==="top")P1(q,this.beans),this.addRowNodeToRowsToDisplay($,q.sibling,Q,E);let K=X?.getDetail(q);if(K)this.addRowNodeToRowsToDisplay($,K,Q,Z);if(this.recursivelyAddToRowsToDisplay($,q.childrenAfterSort,Q,J,E),B==="bottom")P1(q,this.beans),this.addRowNodeToRowsToDisplay($,q.sibling,Q,E)}}else{let W=X?.getDetail(q);if(W)this.addRowNodeToRowsToDisplay($,W,Q,Z)}}}addRowNodeToRowsToDisplay($,z,Q,J,Z){if(Z)Q.unshift(z);else Q.push(z);z.setUiLevel($.isGroupMultiAutoColumn?0:J)}},Vj=class extends S{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:($)=>this.onCsrmCellChange($),batchEditingStopped:()=>this.flushGroupEdits()})}destroy(){this.stopDragging(!0),super.destroy()}isGroupingDrop($){if(!$.rowDragManaged||!$.sameGrid)return!1;if(!this.gos.get("refreshAfterGroupEdit"))return!1;return!!this.beans.rowGroupColsSvc?.columns?.length&&!this.beans.colModel.isPivotMode()}initDraggingGroups($){let z=new Map,Q=(J)=>{let Z=J.childrenAfterGroup;if(Z){if(z.has(J))return;let X=Z.slice();z.set(J,X);for(let Y of X)Q(Y)}};for(let J of $.rows)if(J.group)Q(J);this.draggingGroups=z}canSetParent($){if(!$.sameGrid)return!1;if(this.beans.groupStage?.treeData)return!0;if($.rowDragManaged&&!this.gos.get("refreshAfterGroupEdit"))return!1;return!!this.beans.rowGroupColsSvc?.columns?.length}canDropRow($,z){if(this.beans.groupStage?.treeData)return!Aj($,z.newParent);let{position:Q,target:J,newParent:Z,rootNode:X}=z,Y=$.parent;if($.group&&(r9($,J)||r9($,Z)))return!1;if(Q==="inside")return!0;if(Z&&Z!==Y)return Z!==X||Y===X;let q=Z??J?.parent??X;if(q!==Y)return!1;let G=$.group?$.level:Y.level??-1,_=-1;if(J)_=J.group?J.level:J.parent?.level??-1;else if(q)_=q.level;if(G>=0&&_>=0&&_!==G)return!1;return!0}fixRowsDrop($,z,Q,J){let Z=!!this.beans.groupStage?.treeData;if($.treeData=Z,!(!!this.beans.rowGroupColsSvc?.columns?.length||this.gos.get("pivotMode"))&&!Z)return;if(!this.draggingGroups&&this.isGroupingDrop($)&&!$.suppressMoveWhenRowDragging)this.initDraggingGroups($);let Y=$.target,q=null,G=!1,_=$.rootNode,H=this.beans.rowModel,U=this.canStartGroup(Y,Z);this.updateDropTarget($,Q,U);let W=this.beans.pageBounds?.getLastRow?.()??H.getRowCount()-1;if(z){if(!Y||J>=0.5&&Y.rowIndex===W)q=_;else if($.moved&&Y&&this.dropGroupThrottled&&this.shouldDropTargetBeParent($))q=Y;if(!q)q=Y?.parent??_}if(!Q&&Y&&U&&!(Y.group&&Y.expanded))this.startDropGroupDelay(Y);if(q){if(Y&&q===Y&&q!==_){let B=q.expanded?g7(H,1,Y):null;if(B?.parent===q)Y=B,J=-0.5;else G=!0}if(Y&&!G){let B=Y;while(B&&B!==_&&B!==q)Y=B,B=B.parent}}$.target=Y,$.newParent=q,$.yDelta=J,$.inside=G}clearNewSameParent($,z){let Q=$.newParent;if(Q&&(!z||Sj($.rows,Q)))$.newParent=null}updateDropTarget($,z,Q){let J=Q?$.target:null;if(this.dropGroupTarget&&this.dropGroupTarget!==J)this.resetDragGroup();if(!J?.childrenAfterSort?.length)return;if(z&&this.dropGroupThrottled&&!J.expanded&&J.isExpandable?.())J.setExpanded(!0,void 0,!0);if(this.canDropInTarget(J,$))this.dropGroupThrottled=!0,this.dropGroupTarget=J}canDropInTarget($,z){if($.expanded)return!0;if(!$.group)return!1;if(z.pointerPos==="inside")return!0;if(z.treeData)return!1;let Q=z.rows,J=$.level;for(let Z=0,X=Q.length;Z<X;++Z){let Y=Q[Z];if(Y!==$&&Y.group&&Y.level!==J)return!1}return!0}startDropGroupDelay($){if(this.dropGroupTarget&&this.dropGroupTarget!==$)this.resetDragGroup();if(this.dropGroupTarget=$,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($){if($)this.draggingGroups=null;this.resetDragGroup()}shouldDropTargetBeParent({target:$,rows:z,pointerPos:Q,treeData:J}){if(!$||Q==="none")return!1;if(Q==="inside")return!0;if(!J&&$.group&&!$.expanded)return!0;if(Q==="above")return!1;let Z=this.beans.rowModel,Y=$.rowIndex+1,q;do q=Z.getRow(Y++);while(q?.footer);let G=this.draggingGroups?.get($)??$.childrenAfterGroup;if(q&&q.parent===$&&G?.length){let _=new Set(z);for(let H=0,U=G.length;H<U;++H){let W=G[H];if(W.rowIndex!==null&&!_.has(W))return!0}}return!1}dropGroupEdit($){let{beans:z}=this,Q=$.position,J=$.target??null,Z=$.rootNode,X=$.newParent??J?.parent??Z,Y=z.focusSvc,q=Y.getFocusedCell(),G=q&&e0(z,q),_=new Set,H=new WQ,U=H.updates,W,B=(F)=>{if(_.has(F))return;if(_.add(F),W??(W=this.newGroupValues(X)),this.setRowGroup(F,W))U.add(F)},E=(F)=>{let M=this.draggingGroups?.get(F)??F.childrenAfterGroup,k=M?.length;if(k)for(let V=0;V<k;++V){let R=M[V];if(R.sourceRowIndex>=0)B(R);else E(R)}};for(let F of $.rows)if(F.group)E(F);else{let M=F.sourceRowIndex>=0&&!F.destroyed?F:this.csrmFirstLeaf(F);if(M)B(M)}let K=Q==="inside"?"above":Q,L=Q==="inside"?this.findFirstLeafForParent(X,_)??J:J,D=!1;if(_.size&&K!=="none")D=H8(Z._leafs,_,L,K==="above");if(!U.size&&!D)return!1;H.reordered=D;for(let F of _)H.updates.add(F);if(this.csrmRefresh(H),G)G.focusCell();else Y.clearFocusedCell();return!0}canStartGroup($,z){if(!$||$.level<0||$.footer||$.detail)return!1;if($.group)return!0;return z}flushGroupEdits(){let $=this.pendingEditRefresh;if($)this.pendingEditRefresh=null,this.csrmRefresh($)}csrmRefresh($){let z=this.beans.rowModel;if(!z.rootNode)return;z.refreshModel({step:"group",keepRenderedRows:!0,animate:!this.gos.get("suppressAnimationFrame"),changedRowNodes:$})}newGroupValues($){let z=this.beans.rowGroupColsSvc?.columns??[],Q=Array(z.length),J=-1,Z=$;while(Z&&Z.level>=0){let X=z[Z.level];if(X){let Y=X.getColId(),q=Z.level;if(Q[q]=Z.groupData?.[Y]??Z.key??void 0,q>J)J=q}Z=Z.parent}return{values:Q,columns:z,maxLevel:J}}setRowGroup($,{values:z,columns:Q,maxLevel:J}){if(J<0)return!1;let{valueSvc:Z,changeDetectionSvc:X}=this.beans,Y=!1;X?.beginDeferred();try{for(let q=0;q<Q.length;++q){let G=Q[q];if(!G||q>J)continue;let _=z[q],H=Z.getValue(G,$,"data");if(H===_||H==null&&_==null)continue;let U=_,W=Z.parseValue(G,$,_,H);if(W!==void 0)U=W;if($.setDataValue(G,U,"rowDrag"))Y=!0}}finally{X?.endDeferred()}return Y}onCsrmCellChange($){let{column:z,node:Q,source:J}=$;if(!this.gos.get("refreshAfterGroupEdit"))return;if(J==="rowDrag")return;if(!z?.isRowGroupActive())return;if(Q.group||!Q.data)return;if(this.beans.editSvc?.isBatchEditing()){let X=this.pendingEditRefresh;if(!X)X=s9(),this.pendingEditRefresh=X;X.updates.add(Q)}else{let X=s9();X.updates.add(Q),this.csrmRefresh(X)}}csrmFirstLeaf($){if(!$)return null;let z=this.draggingGroups,Q=z?.get($)??$.childrenAfterGroup;while(Q?.length){let J=Q[0];if(J.sourceRowIndex>=0){if(!J.destroyed)return J;return this.firstAliveChildLeaf(J)}Q=z?.get(J)??J.childrenAfterGroup}return pz($)}firstAliveChildLeaf($){let z=this.draggingGroups?.get($)??$.childrenAfterGroup;if(z){for(let Q of z)if(Q.sourceRowIndex>=0&&!Q.destroyed)return Q}return null}findFirstLeafForParent($,z){if(!$)return null;let Q=this.draggingGroups?.get($)??$?.childrenAfterGroup;if(!Q)return null;for(let J=0,Z=Q.length;J<Z;++J){let X=Q[J];if(X.sourceRowIndex>=0&&!z.has(X))return X;let Y=this.findFirstLeafForParent(X,z);if(Y!==null)return Y}return null}},s9=()=>{let $=new WQ;return $.reordered=!0,$},r9=($,z)=>{if(!$||!z)return!1;let Q=z;while(Q){if(Q===$)return!0;Q=Q.parent}return!1},Aj=($,z)=>{if(!z||$.parent===z)return!1;let Q=z,J=$.id;while(Q){if(Q===$)return!0;if(J!=null&&Q.id===J)return!0;Q=Q.parent}return!1},Sj=($,z)=>{for(let Q=0,J=$.length;Q<J;++Q)if($[Q].parent!==z)return!1;return!0},Rj=class extends S{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 $=this.gos;if(this.hasRowGrouping=$.isModuleRegistered("RowGrouping"),$.isModuleRegistered("TreeData"))this.hasTreeData=!0,this.gosTreeData=$.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($){return this.strategy?.nonLeafsById?.get($)}getNestedDataGetter(){return this.getStrategy()?.nestedDataGetter}onPropChange($){let z=this.gos,Q=this.strategy?.nestedDataGetter;if($.has("treeData"))this.gosTreeData=z.get("treeData")&&this.hasTreeData,this.columnsInvalidated=!0;return this.strategy?.onPropChange?.($),this.getNestedDataGetter()!==Q}extractData(){let $=this.beans.rowModel.rootNode,z=this.nested?$?.childrenAfterGroup:$?._leafs;if(!z)return this.gos.get("rowData")??[];let Q=z.length,J=Array(Q),Z=0;for(let X=0;X<Q;++X){let Y=z[X].data;if(Y!=null)J[Z++]=Y}return J.length=Z,J}execute($){let z=this.beans,Q=z.rowModel,J=Q.rootNode;if(!J)return!1;let Z=this.getStrategy(),X=!!Z?.nestedDataGetter,Y=this.needReset;if(this.nested=X,Y)this.needReset=!1,z.rowDragSvc?.cancelRowDrag(),$.animate=!1,fj(J,!X,z);if(!Z){Q.hierarchical=!1;return}return Q.hierarchical=!0,z.changedPathFactory?.ensureRowsPath($,J),Z.execute(J,$)||Y}loadLeafs($){return $.footer?jj($):EZ($)}loadGroupData($){let z=this.getStrategy();if(z)return z.loadGroupData($);return $._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 $=this.strategy,z=this.beans.colModel.isPivotMode();if(z!==this.pivotMode)this.pivotMode=z,this.columnsInvalidated=!0;if($!==void 0&&!this.columnsInvalidated&&this.isAlive())return $;this.columnsInvalidated=!1;let Q=this.getWantedStrategyType();if(Q===this.strategyType){if($!==void 0)return $;return this.strategy=null,null}if($)this.strategy=this.destroyBean($),this.needReset=!0;if(this.strategyType=Q,this.treeData=Q==="tree",this.grouping=Q==="group",Q==="none")return this.strategy=null,null;let J=Q==="tree"?"treeGroupStrategy":"groupStrategy";return $=this.beans.registry.createDynamicBean(J,!1)??null,this.strategy=$&&this.createBean($),$}},jj=($)=>{let z=$.sibling;if(!z)return null;let Q=z._leafs;if(Q!==void 0)return Q;return EZ(z)},EZ=($)=>{let z=$.childrenAfterGroup,Q=z?.length;if($._leafs=null,!Q)return null;let J,Z=Q===1?z[0]:null;if(Z?.group&&Z.sourceRowIndex<0){if(J=Z._leafs,J===void 0)J=EZ(Z)}else if($.leafGroup)J=z;else{J=[];for(let X=0;X<Q;++X){let Y=z[X];if(Y.sourceRowIndex>=0)J.push(Y);if(!Y.group)continue;let q=Y._leafs;if(q===void 0)q=EZ(Y);if(q)for(let G=0,_=q.length;G<_;++G)J.push(q[G])}}return $._leafs=J,J},fj=($,z,Q)=>{let{_leafs:J,sibling:Z}=$;if($.treeNodeFlags=0,$.childrenAfterGroup=J,$.childrenMapped=null,$._groupData=void 0,$.aggData=null,Z)Z.childrenAfterGroup=$.childrenAfterGroup,Z.childrenAfterAggFilter=$.childrenAfterAggFilter,Z.childrenAfterFilter=$.childrenAfterFilter,Z.childrenAfterSort=$.childrenAfterSort,Z.childrenMapped=null,Z._groupData=void 0,Z.aggData=null;for(let X=0,Y=J.length??0;X<Y;++X){let q=J[X],G=q.sibling;if(q._leafs=void 0,l9(q),G)l9(G);if(q.parent=$,z)q.treeParent=null;gX(q,Q,!1)}$.updateHasChildren()},l9=($)=>{$.key=null,$.treeNodeFlags=0,$.allChildrenCount=null,$.childrenAfterGroup=null,$.childrenAfterAggFilter=null,$.childrenAfterFilter=null,$.childrenAfterSort=null,$.childrenMapped=null,$.level=0,$._groupData=void 0};function a9($,z,Q){let J=$,Z=J.level-z.level;if(Z<=0)return!1;if(!Q.get("groupHideOpenParents"))return!1;for(let Y=0;Y<Z;Y++){if(J.parent?.getFirstChild()!==J)return!1;J=J.parent}return J===z}var _Y=class extends S{constructor(){super(...arguments);this.indentClass=null}init($,z,Q,J,Z,X,Y){this.params=Y,this.eGui=z,this.eCheckbox=Q,this.eExpanded=J,this.eContracted=Z,this.comp=$,this.compClass=X;let{node:q,column:G}=Y;if(this.node=q,this.displayedNode=q,this.isEmbeddedRowMismatch())return;if(q.footer){this.initFooterCell();return}if(!G){this.initFullWidthCell();return}this.displayedNode=this.beans.showRowGroupColValueSvc?.getDisplayedNode(q,G)??this.node,this.setupExpand(),this.setupCheckbox(),this.addGroupValue(),this.setupIndent()}initFooterCell(){let{node:$}=this.params;if(this.addGroupValue(),this.setupIndent(),$.level!==-1)this.comp.toggleCss("ag-row-group-leaf-indent",!0)}initFullWidthCell(){let $=()=>{let{rowDragSvc:z}=this.beans;if(!this.params.rowDrag||!z)return;let Q=z.createRowDragComp(()=>this.params.value,this.params.node);this.createManagedBean(Q),this.eGui.insertAdjacentElement("afterbegin",Q.getGui())};this.setupExpand(),$(),this.setupCheckbox(),this.addGroupValue(),this.setupIndent()}getCellAriaRole(){let $=this.params.colDef?.cellAriaRole,z=this.params.column?.getColDef().cellAriaRole;return $||z||"gridcell"}isEmbeddedRowMismatch(){if(!this.params.fullWidth||!this.gos.get("embedFullWidthRows"))return!1;let{visibleCols:$}=this.beans,z=this.params.pinned==="left",Q=this.params.pinned==="right",J=!z&&!Q;if(this.gos.get("enableRtl")){if($.isPinningLeft())return!Q;return!J}if($.isPinningLeft())return!z;return!J}addGroupValue(){let{params:{value:$,valueFormatted:z}}=this,Q=this.getInnerCompDetails();this.comp.setInnerRenderer(Q,z??$??null)}setupExpand(){let{colModel:$}=this.beans,{eGridCell:z,suppressDoubleClickExpand:Q}=this.params,J=(G,_)=>{let H=h(G,this.beans,null);if(H)_.appendChild(H),this.addDestroyFunc(()=>H.remove())};J("groupExpanded",this.eExpanded),J("groupContracted",this.eContracted);let Z=this.comp,X=()=>{if(!this.isExpandable())return;let _=!!this.displayedNode.expanded;Z.setExpandedDisplayed(_),Z.setContractedDisplayed(!_),w0(z,_)},Y=()=>{let G=this.isExpandable();Z.toggleCss("ag-cell-expandable",G),Z.toggleCss("ag-row-group",G);let _=!G&&$.isPivotMode();Z.toggleCss("ag-pivot-leaf-group",_);let H=!$.isPivotMode()&&(!this.displayedNode.footer||this.displayedNode.level!==-1);Z.toggleCss("ag-row-group-leaf-indent",!G&&H);let U=this.getChildCount(),W=U>0?`(${U})`:"";if(Z.setChildCount(W),!G)Z.setExpandedDisplayed(!1),Z.setContractedDisplayed(!1),P6(z);else X()};(()=>{if(!Q&&!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:$,findSvc:z}=this.beans,Q=this.params;if(Q.fullWidth){let G=this.gos.get("groupRowRendererParams"),_=H1($,G,Q);if(_)return _;if(z?.isMatch(Q.node,null))return H1($,{...G,innerRenderer:"agFindCellRenderer"},Q);return}let J=(G)=>G&&G.componentClass==this.compClass,Z=H1($,Q,Q);if(Z&&!J(Z))return Z;let{displayedNode:{rowGroupColumn:X}}=this,Y=X?.colDef,q=X&&Q.column?.isRowGroupDisplayed(X.getId());if(Y&&q){let G=oQ($,Y,Q);if(G)if(J(G)){if(Y?.cellRendererParams?.innerRenderer)return H1($,Y.cellRendererParams,Q)}else return G}if(z?.isMatch(Q.node,Q.column))return oQ($,{...Y??Q.colDef,cellRenderer:"agFindCellRenderer"},Q)}getChildCount(){let{column:$,suppressCount:z}=this.params;if(z)return 0;let{allChildrenCount:Q,rowGroupColumn:J}=this.displayedNode;if(!((Q??0)>0&&(!J||!$||$?.isRowGroupDisplayed(J.getId()))))return 0;if(this.gos.get("showOpenedGroup")&&this.displayedNode!==this.node&&!a9(this.node,this.displayedNode,this.gos))return 0;return Q??0}isExpandable(){let{node:$,column:z,colDef:Q}=this.params;if(!this.displayedNode.isExpandable())return!1;if($.rowPinned)return!1;if(!z)return!0;if($.hasChildren()&&Q){let{showRowGroup:X}=Q;if(!X)return!1;if(X===!0)return!0}if($===this.displayedNode){if($.rowGroupColumn){if(z?.isRowGroupDisplayed($.rowGroupColumn.getId()))return!0}if($.master)return Q?.showRowGroup===!0||Q?.showRowGroup==null;return!1}return a9(this.node,this.displayedNode,this.gos)}setupIndent(){let{suppressPadding:$,node:z,colDef:Q}=this.params;if($)return;let J=()=>{let Z=z.uiLevel;if(Q&&Q.showRowGroup!==!0)Z=0;let X="ag-row-group-indent-"+Z;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(Z))};this.addManagedListeners(z,{uiLevelChanged:J.bind(this)}),J()}setupCheckbox(){let{node:$}=this.params;if(!(!$.footer&&!$.rowPinned&&!$.detail))return;this.addManagedPropertyListener("rowSelection",({currentValue:Q,previousValue:J})=>{let Z=typeof Q==="object"?Q:void 0,X=typeof J==="object"?J:void 0;if(Z?.checkboxLocation!==X?.checkboxLocation)this.destroyCheckbox(),this.addCheckbox()}),this.addCheckbox()}addCheckbox(){let{selectionSvc:$}=this.beans;if(!$||!h$(this.gos))return;let{node:z,column:Q}=this.params,J=this.gos.get("rowSelection"),Z=EQ(J);if(Z==="selectionColumn")return;if(Z==="autoGroupColumn"){let _=Q?.getColDef().showRowGroup!=null,H=!Q&&z.group;if(!(_||H))return}let X=typeof J==="object"?Qz(J):this.params.checkbox;if(!(typeof X==="function"||X===!0))return;if(typeof Q?.getColDef().showRowGroup==="string"&&!this.isExpandable()){this.comp.setCheckboxSpacing(!0);return}let G=$.createCheckboxSelectionComponent();this.cbComp=G,this.createBean(G),G.init({rowNode:z,column:Q,overrides:{isVisible:X,callbackParams:this.params,removeHidden:!0}}),this.eCheckbox.appendChild(G.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($){let z=this.params.column;return!!z&&(!!z.getColDef().groupRowEditable||this.gos.get("enableGroupEdit"))&&z.isCellEditable($)}onExpandClicked($){if(z$($))return;i0($),this.onExpandOrContract($)}onKeyDown($){if($.key!==A.ENTER||this.params.suppressEnterExpand)return;if(this.isGroupCellEditable(this.params.node))return;this.onExpandOrContract($)}onCellDblClicked($){if(z$($))return;if(!(RJ(this.eExpanded,$)||RJ(this.eContracted,$)))this.onExpandOrContract($)}onExpandOrContract($){if(!this.isExpandable())return;let z=this.displayedNode,Q=!z.expanded;if(!Q&&z.sticky)this.beans.ctrlsSvc.getScrollFeature().setVerticalScrollPosition(z.rowTop-z.stickyRowTop);z.setExpanded(Q,$)}destroy(){super.destroy(),this.destroyCheckbox()}},Oj={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"}]},o9=class extends x{constructor(){super(Oj);this.eExpanded=f,this.eContracted=f,this.eCheckbox=f,this.eValue=f,this.eChildCount=f}init($){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)},Q=this.createManagedBean(new _Y),J=!$.colDef,Z=this.getGui();if(Q.init(z,Z,this.eCheckbox,this.eExpanded,this.eContracted,this.constructor,$),J)_0(Z,Q.getCellAriaRole())}setRenderDetails($,z){if($)$.newAgStackInstance().then((Q)=>{if(!Q)return;let J=()=>this.destroyBean(Q);if(this.isAlive())this.eValue.appendChild(Q.getGui()),this.addDestroyFunc(J);else J()});else this.eValue.innerText=z}destroy(){this.destroyBean(this.innerCellRenderer),super.destroy()}refresh(){return!1}},Pj=".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)}",Tj=class extends S{constructor(){super(...arguments);this.beanName="showRowGroupColValueSvc"}getGroupValue($,z,Q){if(!z){if(!$.group)return null;return{displayedNode:$,value:$.groupValue}}let J=this.beans.valueSvc,Z=z.colDef.showRowGroup;if(!Z)return null;if($.level===-1&&$.footer)return{displayedNode:$,value:null};if(typeof Z==="string"){if((this.beans.rowGroupColsSvc?.getColumnIndex(Z)??-1)>$.level)return null;let q=this.getDisplayedNode($,z,!0);if(q)return{displayedNode:q,value:J.getValue(z,q,"data",Q)}}let X=J.getValue(z,$,"data",Q);if(X==null){let Y=this.getDisplayedNode($,z);if(Y)return{displayedNode:Y,value:J.getValue(z,Y,"data",Q)}}return{displayedNode:$,value:X}}formatAndPrefixGroupColValue($,z,Q=!1){let J=this.formatGroupColValue($,z,Q),{value:Z,displayedNode:X}=$,Y=this.beans.footerSvc;if(Y?.doesCellShowTotalPrefix(X,z))return Y.applyTotalPrefix(Z,J,X,z);if(X.footer&&X.level===-1)return null;return J}formatGroupColValue($,z,Q=!1){let J=this.beans.valueSvc,{displayedNode:Z,value:X}=$,Y=Z.rowGroupColumn,q=Z.group&&!z;if(Y&&(q||z?.isRowGroupDisplayed(Y.colId))){if(Q&&Y.colDef.useValueFormatterForExport===!1)return null;let _=J.formatValue(Y,Z,X);if(_==null&&Z.key==="")return this.getLocaleTextFunc()("blanks","(Blanks)");return _}if(!z||Z.group)return null;if(Q&&z.colDef.useValueFormatterForExport===!1)return null;return J.formatValue(z,Z,X)}getDisplayedNode($,z,Q=!1){let J=this.gos,Z=J.get("groupHideOpenParents"),X=J.get("showOpenedGroup")&&!Q;if(!Z&&!X)return;let Y=z.colDef.showRowGroup;if(Y===!0){if($.group)return;return $.parent??void 0}let q=$;while(q&&q.rowGroupColumn?.getId()!=Y){let G=q===q.parent?.getFirstChild();if(!X&&!G)return;q=q.parent}if(q===$)return;return q??void 0}},vj=class extends S{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:$,rowGroupColsSvc:z}=this.beans,Q=this.columns,J=this.colsSet,Z=this.colsMap;Z.clear();let X=Q.length,Y=0,q=!1,G=$.getCols();for(let _=0,H=G.length;_<H;++_){let U=G[_],B=U.getColDef().showRowGroup;if(typeof B==="string")Z.set(B,U);else if(B===!0){let E=z?.columns;if(E)for(let K=0,L=E.length;K<L;++K)Z.set(E[K].getId(),U)}else continue;q||(q=Y>=X||!J.has(U)),Q[Y++]=U}if(q||(q=Y!==X),q){Q.length=Y,J.clear();for(let _=0;_<Y;++_)J.add(Q[_]);this.eventSvc.dispatchEvent({type:"showRowGroupColsSetChanged"})}}getShowRowGroupCol($){return this.colsMap.get($)}getSourceColumnsForGroupColumn($){let z=$.getColDef().showRowGroup;if(!z)return null;let{rowGroupColsSvc:Q,colModel:J}=this.beans;if(z===!0&&Q)return Q.columns;let Z=J.getColDefCol(z);return Z?[Z]:null}isRowGroupDisplayed($,z){let Q=$.getColDef()?.showRowGroup;return Q===!0||Q!=null&&Q===z}},Ij=class extends S{constructor($,z){super();this.createRowCon=$,this.destroyRowCtrls=z,this.stickyTopRowCtrls=[],this.stickyBottomRowCtrls=[],this.extraTopHeight=0,this.extraBottomHeight=0}postConstruct(){this.isClientSide=o(this.gos),this.beans.ctrlsSvc.whenReady(this,($)=>{this.gridBodyCtrl=$.gridBodyCtrl}),this.resetStickyContainers()}setOffsetTop($){if(this.extraTopHeight===$)return;this.extraTopHeight=$,this.eventSvc.dispatchEvent({type:"stickyTopOffsetChanged",offset:$})}setOffsetBottom($){if(this.extraBottomHeight===$)return;this.extraBottomHeight=$}resetOffsets(){this.setOffsetBottom(0),this.setOffsetTop(0)}getLastPixelOfGroup($){return this.isClientSide?bj($):Cj($)}getFirstPixelOfGroup($){if($.footer)return $.sibling.rowTop+$.sibling.rowHeight-1;if($.hasChildren())return $.rowTop-1;return 0}updateStickyRows($){let z=$==="top",Q=0;if(!this.canRowsBeSticky())return this.refreshNodesAndContainerHeight($,new Set,Q);let J=new Set,{rowModel:Z,rowRenderer:X,pinnedRowModel:Y,pageBounds:q,rowContainerHeight:G}=this.beans,{pageFirstPixel:_,pageLastPixel:H}=q.getCurrentPagePixelRange(),U=z?X.firstVisibleVPixel-this.extraTopHeight:X.lastVisibleVPixel-this.extraTopHeight,W=G.divStretchOffset??0,B=_+W,E=H+W,K=(M)=>{if(J.add(M),z){let k=this.getLastPixelOfGroup(M),V=U+Q+M.rowHeight;if(k<V)M.stickyRowTop=Q+(k-V);else M.stickyRowTop=Q}else{let k=this.getFirstPixelOfGroup(M),V=U-(Q+M.rowHeight);if(k>V)M.stickyRowTop=Q-(k-V);else M.stickyRowTop=Q}Q=0,J.forEach((k)=>{let V=k.stickyRowTop+k.rowHeight;if(Q<V)Q=V})},L=this.areFooterRowsStickySuppressed(),D=this.gos.get("suppressGroupRowsSticky"),F=(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($==="bottom"&&k)return!1;if(M.level===-1&&Y?.getGrandTotalPinned())return!1;return!J.has(M)}if(M.isExpandable()){if(D===!0)return!1;if($==="bottom")return!1;return!J.has(M)&&!!M.expanded}return!1};for(let M=0;M<100;M++){let k=U+Q;if(!z)k=U-Q;if(z&&k<B)k=B;else if(!z&&k>E)k=E;let V=Z.getRowIndexAtPixel(k),R=Z.getRow(V);if(R==null)break;let I=this.getStickyAncestors(R).find((C)=>(z?C.rowIndex<V:C.rowIndex>V)&&F(C));if(I){K(I);continue}if((z?R.rowTop<k:R.rowTop+R.rowHeight>k)&&F(R)){K(R);continue}break}if(!z)J.forEach((M)=>{M.stickyRowTop=Q-(M.stickyRowTop+M.rowHeight)});return this.refreshNodesAndContainerHeight($,J,Q)}areFooterRowsStickySuppressed(){let $=this.gos.get("suppressStickyTotalRow");if($===!0)return!0;let z=$==="group",Q=$==="grand";if(z&&Q)return!0;if(Q)return"grand";if(z)return"group";return!1}canRowsBeSticky(){let $=kQ(this.gos),z=this.areFooterRowsStickySuppressed(),Q=this.gos.get("suppressGroupRowsSticky");return $&&(!z||!Q)}getStickyAncestors($){let z=[],Q=$.footer?$.sibling:$.parent;while(Q){if(Q.sibling)z.push(Q.sibling);z.push(Q),Q=Q.parent}return z.reverse()}checkStickyRows(){let $=this.updateStickyRows("top"),z=this.updateStickyRows("bottom");return $||z}destroyStickyCtrls(){this.resetStickyContainers()}resetStickyContainers(){this.refreshNodesAndContainerHeight("top",new Set,0),this.refreshNodesAndContainerHeight("bottom",new Set,0)}refreshStickyNode($){let z=new Set;if(this.stickyTopRowCtrls.some((Q)=>Q.rowNode===$)){for(let Q=0;Q<this.stickyTopRowCtrls.length;Q++){let J=this.stickyTopRowCtrls[Q].rowNode;if(J!==$)z.add(J)}if(this.refreshNodesAndContainerHeight("top",z,this.topContainerHeight))this.checkStickyRows();return}for(let Q=0;Q<this.stickyBottomRowCtrls.length;Q++){let J=this.stickyBottomRowCtrls[Q].rowNode;if(J!==$)z.add(J)}if(this.refreshNodesAndContainerHeight("bottom",z,this.bottomContainerHeight))this.checkStickyRows()}refreshNodesAndContainerHeight($,z,Q){let J=$==="top",Z=J?this.stickyTopRowCtrls:this.stickyBottomRowCtrls,X={},Y=[];for(let B=0;B<Z.length;B++){let E=Z[B].rowNode;if(!z.has(E)){X[E.id]=Z[B],E.sticky=!1;continue}Y.push(Z[B])}let q=new Set;for(let B=0;B<Y.length;B++)q.add(Y[B].rowNode);let G=[];z.forEach((B)=>{if(q.has(B))return;B.sticky=!0,G.push(this.createRowCon(B,!1,!1))});let _=!!G.length||Y.length!==Z.length;if(J){if(this.topContainerHeight!==Q)this.topContainerHeight=Q,this.gridBodyCtrl.setStickyTopHeight(Q),_=!0}else if(this.bottomContainerHeight!==Q)this.bottomContainerHeight=Q,this.gridBodyCtrl.setStickyBottomHeight(Q),_=!0;this.destroyRowCtrls(X,!1);let H=[...Y,...G];if(H.sort((B,E)=>E.rowNode.rowIndex-B.rowNode.rowIndex),!J)H.reverse();for(let B of H)B.setRowTop(B.rowNode.stickyRowTop);let U=this.beans.pageBounds,W=0;if(J){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(!_)return!1;if(J)this.stickyTopRowCtrls=H;else this.stickyBottomRowCtrls=H;return!0}ensureRowHeightsValid(){let $=!1,z=(Q)=>{let J=Q.rowNode;if(J.rowHeightEstimated){let Z=sQ(this.beans,J);J.setRowHeight(Z.height),$=!0}};return this.stickyTopRowCtrls.forEach(z),this.stickyBottomRowCtrls.forEach(z),$}};function Cj($){if($.isExpandable()||$.footer){if($.master&&$.detailNode)return $.detailNode.rowTop+$.detailNode.rowHeight;if(!$.sibling||Math.abs($.sibling.rowIndex-$.rowIndex)===1){let Q=$.childStore?.getStoreBounds();if($.footer)Q=$.sibling.childStore?.getStoreBounds();return(Q?.heightPx??0)+(Q?.topPx??0)}if($.footer)return $.rowTop+$.rowHeight;return $.sibling.rowTop+$.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}function bj($){if($.isExpandable()||$.footer){if($.footer&&$.rowIndex===0)return Number.MAX_SAFE_INTEGER;if(!$.sibling||Math.abs($.sibling.rowIndex-$.rowIndex)===1){let J=$.footer?$.sibling:$;while(J.isExpandable()&&J.expanded)if(J.master&&J.detailNode)J=J.detailNode;else if(J.childrenAfterSort){if(J.childrenAfterSort.length===0)break;J=b(J.childrenAfterSort)}return J.rowTop+J.rowHeight}if($.footer)return $.rowTop+$.rowHeight;return $.sibling.rowTop+$.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}var yj=class extends S{constructor(){super(...arguments);this.beanName="stickyRowSvc"}createStickyRowFeature($,z,Q){let J=this.gos;if(kQ(J)&&o(J)||_z(J))return $.createManagedBean(new Ij(z,Q));return}},HY={moduleName:"GroupCellRenderer",version:Q0,userComponents:{agGroupRowRenderer:o9,agGroupCellRenderer:o9},dynamicBeans:{groupCellRendererCtrl:_Y},icons:{groupContracted:"tree-closed",groupExpanded:"tree-open"},css:[Pj],dependsOn:[I0]},xj={moduleName:"GroupColumn",version:Q0,beans:[_j,vj,Tj,Gj,qY,XY],dependsOn:[I0,HY]},UY={moduleName:"ChangedPath",version:Q0,beans:[Bj],dependsOn:[I0]},DZ={moduleName:"ClientSideRowModelHierarchy",version:Q0,rowModels:["clientSide"],beans:[Rj,kj,Kj],dependsOn:[I0,UY]},WY={moduleName:"StickyRow",version:Q0,beans:[yj]},wj={moduleName:"GroupEdit",version:Q0,beans:[Vj],dependsOn:[I0,DZ]},Nj=({valueSvc:$,dataTypeSvc:z},Q,J)=>{let Z=$.getValue(Q,J,"data"),X=null;if(Z instanceof Date)X=Z;else if(typeof Z==="string")X=(z?.getDateParserFunction(Q)??eQ)(Z)??null;return X},Kz=($,z,Q,J)=>(Z)=>{let X=Nj($,z,Z.node),Y=ZQ(X);if(!Y)return null;return J?.(Y[Q])??Y[Q]},Lz=({colNames:$},z,Q)=>(J)=>{let Z=$.getDisplayNameForColumn(z,J.location);if(Z)return`${Z} (${Q})`;return""},gj=Object.fromEntries(D4.map(($)=>[$,$.toLowerCase()])),hj=($)=>{let z=D4[Number.parseInt($,10)-1]??$,Q=gj[z]??$;return{month:z,localeKey:Q}};function e9($){return $.groupHierarchy??$.rowGroupingHierarchy}var uj=class extends S{constructor(){super(...arguments);this.beanName="groupHierarchyColSvc",this.columns=null,this.sourceColumnMap=new WeakMap,this.inverseColumnMap=new WeakMap}addColumns($){let z=this.columns;if(z==null)return;$.list=z.list.filter((Q)=>!$.list.some((J)=>J.getColId()===Q.getColId())).concat($.list),$.tree=z.tree.filter((Q)=>!$.tree.some((J)=>J.getId()===Q.getId())).concat($.tree),_1($)}createColumns($){let z=new WeakMap,Q=new WeakMap,J=this.createGroupHierarchyColumns($,z,Q);if(G1(J,this.columns?.list??[]))return;J$(this.beans,this.columns?.tree),this.columns=null;let{colGroupSvc:X}=this.beans,Y=X?.findDepth($.tree)??0,q=X?.balanceTreeForAutoCols(J,Y)??[];this.columns={list:J,tree:q,treeDepth:Y,map:{}},this.sourceColumnMap=z,this.inverseColumnMap=Q}updateColumns($){}getColumn($){return this.columns?.list.find((z)=>P$(z,$))??null}getColumns(){return this.columns?.list??null}expandColumnInto($,z){let Q=this.getVirtualColumnsForColumn(z).concat(z);for(let J of Q)if(!$.some((Z)=>P$(Z,J)||Z.getColId()===J.getColId()))$.push(J)}compareVirtualColumns($,z){let Q=this.inverseColumnMap.get($),J=this.inverseColumnMap.get(z);if(Q&&Q===J){let Z=this.sourceColumnMap.get(Q)??[];return Z?.indexOf($)-Z?.indexOf(z)}if(this.sourceColumnMap.get($)?.includes(z))return 1;if(this.sourceColumnMap.get(z)?.includes($))return-1;return null}insertVirtualColumnsForCol($,z){let Q=this.getVirtualColumnsForColumn(z);if(!Q)return[];let J=$.indexOf(z);if(J<0)J=$.length-1;return Q1($,Q),$.splice(J,0,...Q),Q}getVirtualColumnsForColumn($){if(this.isGroupHierarchyColsEnabledForCol($))return this.sourceColumnMap.get($)??[];return[]}isGroupHierarchyColsEnabled($){return $.list.some((z)=>this.isGroupHierarchyColsEnabledForCol(z))}isGroupHierarchyColsEnabledForCol($){let z=$.getColDef();return!!(e9(z)&&(z.rowGroup||z.enableRowGroup||z.rowGroupIndex!=null||z.pivot||z.enablePivot||z.pivotIndex!=null))}createGroupHierarchyColDefs($){let z=[],Q=$.getColDef(),J=e9(Q);if(!J)return z;if(!this.isGroupHierarchyColsEnabledForCol($))return z;for(let Z of J){let X=null;if(typeof Z==="string")X=this.createColDefForPart(Z,$,Q);else X=Z;if(X)z.push(X)}return z}createGroupHierarchyColumns($,z,Q){if(!this.isGroupHierarchyColsEnabled($))return[];let J=[];for(let Z of $.list)for(let X of this.createGroupHierarchyColDefs(Z)){let Y=X.colId;this.gos.validateColDef(X,Y,!0);let q=new q$(X,null,Y,!0);this.createBean(q),J.push(q),mj(z,Z,q),Q.set(q,Z)}return J}createColDefForPart($,z,Q){let{beans:J,gos:Z}=this,X=`${V7}-${z.getColId()}-${$}`,Y={enableRowGroup:Q.enableRowGroup,rowGroup:Q.rowGroup,enablePivot:Q.enablePivot,hide:!0,editable:!1},q=Z.get("groupHierarchyConfig")??{};if($ in q){let U={...Y,...q[$]};return U.colId??(U.colId=X),u$(J,U,U.colId,!0)}let G=u$(J,{colId:X,...Y},X,!0),_=this.getLocaleTextFunc(),H=(U,W)=>_?.(U,W)??W;switch($){case"year":return{...G,headerValueGetter:Lz(J,z,H($,"Year")),valueGetter:Kz(J,z,0)};case"quarter":return{...G,headerValueGetter:Lz(J,z,H($,"Quarter")),valueGetter:Kz(J,z,1,(U)=>(Math.floor(Number(U)/4)+1).toString())};case"month":return{...G,headerValueGetter:Lz(J,z,H($,"Month")),valueGetter:Kz(J,z,1)};case"formattedMonth":return{...G,headerValueGetter:Lz(J,z,H("month","Month")),valueGetter:Kz(J,z,1,(U)=>{let W=hj(U);return H(W.localeKey,W.month)})};case"day":return{...G,headerValueGetter:Lz(J,z,H($,"Day")),valueGetter:Kz(J,z,2)};case"hour":return{...G,headerValueGetter:Lz(J,z,H($,"Hour")),valueGetter:Kz(J,z,3)};case"minute":return{...G,headerValueGetter:Lz(J,z,H($,"Minute")),valueGetter:Kz(J,z,4)};case"second":return{...G,headerValueGetter:Lz(J,z,H($,"Second")),valueGetter:Kz(J,z,5)};default:return null}}};function mj($,z,Q){let J=$.get(z);$.set(z,(J??[]).concat(Q))}var cj={moduleName:"GroupHierarchy",version:Q0,beans:[uj],dependsOn:[UY]};var pj=($,z)=>{if(!$){z.length=0;return}let Q=$.length;z.length=Q;for(let J=0;J<Q;J++){let Z=$[J],X=Z.getColDef();z[J]={col:Z,field:X.field,type:X.type,keyCreator:X.keyCreator,valueGetter:X.valueGetter}}},ij=($,z)=>{let Q=$.length;if(Q!==z?.length)return!0;for(let J=0;J<Q;J++){let Z=$[J],X=z[J];if(Z.col!==X)return!0;let Y=X.getColDef();if(Z.field!==Y.field||Z.type!==Y.type||Z.valueGetter!==Y.valueGetter||Z.keyCreator!==Y.keyCreator)return!0}return!1};function nj($){if(!$)return!1;let z=$.length;if(z<2)return!1;let Q=!1;for(let J=1;J<z;J++)if($X($[J-1],$[J])>0){Q=!0;break}if(!Q)return!1;return $.sort($X),!0}function $X($,z){let Q=$.sourceRowIndex,J=z.sourceRowIndex,Z=Q>=0,X=J>=0,Y=Z&&X,q=!Z&&!X;if(Y)return Q-J;if(q)return $.__objectId-z.__objectId;if(Z)return 1;return-1}var dj=class extends S{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 $=this.nonLeafsById;for(let z of $.values())z._destroy(!1);$.clear()}loadGroupData($){if(!$.group)return $._groupData=null,null;let z=$.rowGroupColumn,{valueSvc:Q,showRowGroupCols:J}=this.beans,Z={};if($._groupData=Z,!z)return Z;let X=pz($),Y=z.getId();if(!J)return Z;let q=J.columns;for(let G=0,_=q.length;G<_;++G){let H=q[G];if(H.isRowGroupDisplayed(Y))Z[H.getColId()]=Q.getValue(z,X,"data")}return Z}execute($,z){let Q=z.changedPath;if(this.initRefresh(z)!=="skip"){let Z=z.changedRowNodes;if(Z)this.handleDeltaUpdate($,Q,Z,!!z.animate);else this.shotgunResetEverything($)}this.positionLeafsAndGroups($,Q),this.orderGroups($),this.beans.selectionSvc?.updateSelectableAfterGrouping(Q)}positionLeafsAndGroups($,z){S0($,!0,z,(Q)=>{let J=Q.childrenAfterGroup,Z=J?.length;if(!Z)return;let X=Array(Z),Y=0,q=!1,G;for(let _=0;_<Z;++_){let H=J[_];if(!H.childrenAfterGroup?.length)q||(q=Y!==_),X[Y++]=H;else if(!G&&H.key===""){G=H;let U=Z-1;q||(q=_!==U),X[U]=H}}if(q){for(let H=0;H<Z;++H){let U=J[H];if(U.childrenAfterGroup?.length&&U!==G)X[Y++]=U}Q.childrenAfterGroup=X;let _=Q.sibling;if(_)_.childrenAfterGroup=X}})}initRefresh($){let{rowGroupColsSvc:z,colModel:Q,gos:J}=this.beans;this.pivotMode=Q.isPivotMode(),this.groupEmpty=this.pivotMode||!J.get("groupAllowUnbalanced");let Z=z?.columns,X=this.groupCols,Y=$.afterColumnsChanged;if(Y||!X||this.checkGroupCols)if(this.checkGroupCols=!1,X&&!ij(X,Z)){if(Y)return"skip"}else{$.animate=!1;let q=X[0]?.col.getId()!==Z?.[0]?.getId();return pj(Z,X),q?"refresh":"groupColsChanged"}return"refresh"}handleDeltaUpdate($,z,{removals:Q,updates:J,adds:Z,reordered:X},Y){let q=new Set;for(let G=0,_=Q.length;G<_;++G){let H=Q[G],U=this.removeFromParent(H);if(!q.has(U))q.add(U),z?.addRow(U)}for(let G of J){let _=G.parent;if(z?.addRow(_),this.moveNodeInWrongPath($,G)){q.add(_);let H=G.parent;z?.addRow(H),X||(X=(H?.childrenAfterGroup?.length??0)>1)}}if(Z.size)for(let G of Z){this.insertOneNode($,G);let _=G.parent;z?.addRow(_),X||(X=(_?.childrenAfterGroup?.length??0)>1)}if(q.size)zX(q),this.removeEmptyGroups(q,Y);if(X)this.sortChildren($,z)}sortChildren($,z){S0($,!0,void 0,(Q)=>{if(nj(Q.childrenAfterGroup))z?.addRow(Q)})}orderGroups($){let z=this.gos.getCallback("initialGroupOrderComparator");if(!z)return;let Q=this.beans,J=Q.gridApi,Z=Q.gridOptions.context,X=(q,G)=>z({api:J,context:Z,nodeA:q,nodeB:G}),Y=(q)=>{let G=q.childrenAfterGroup,_=G?.length;if(!_||q.leafGroup)return;if(_>1)G.sort(X);for(let H=0,U=_;H<U;++H)Y(G[H])};Y($)}moveNodeInWrongPath($,z){let{valueSvc:Q}=this.beans,J=this.groupEmpty,Z=z.parent,X=!1,Y=this.groupCols;if(!Y)return!1;for(let q=Y.length-1;q>=0;--q){let{col:G}=Y[q],_=Q.getKeyForNode(G,z);if(_==null||_===""){if(!J)continue;_=""}if(!Z?.parent||Z.key!==_){X=!0;break}Z=Z.parent}if(X||(X=!!Z?.parent),!X)return!1;return this.removeFromParent(z),this.insertOneNode($,z),z.setData(z.data),!0}groupShouldBeRemoved($){let z=this.getChildrenMappedKey($.key,$.rowGroupColumn),Q=$.parent?.childrenMapped;if(Q?!Q[z]:!0)return!1;return!!$.group&&($.childrenAfterGroup?.length??0)===0}removeEmptyGroups($,z){let Q=this.beans.selectionSvc,J,Z=Array.from($),X=this.nonLeafsById;do{$.clear();for(let Y=0;Y<Z.length;++Y){let q=Z[Y];while(q){let G=q.parent;if(q.destroyed){Z[Y]=G,q=G;continue}if(!G)break;if(!this.groupShouldBeRemoved(q)){q=G;continue}if($.add(G),this.removeFromParent(q),Q&&q.isSelected())J??(J=[]),J.push(q);Z[Y]=G,X.delete(q.id),q._destroy(z),q=G}}zX($)}while($.size);if(J)Q.setNodesSelected({nodes:J,newValue:!1,source:"rowGroupChanged"})}removeFromParent($){let z=$.parent;if(z){let Q=this.getChildrenMappedKey($.key,$.rowGroupColumn),J=z.childrenMapped;if(J)delete J[Q]}return $.setRowTop(null),$.setRowIndex(null),z}addToParent($,z){let Q=z.childrenMapped??(z.childrenMapped={}),J=this.getChildrenMappedKey($.key,$.rowGroupColumn);if(Q[J]!==$){Q[J]=$;let Z=z.childrenAfterGroup;if(!Z){z.childrenAfterGroup=Z=[];let X=z.sibling;if(X)X.childrenAfterGroup=z.childrenAfterGroup}Z.push($),gX(z,this.beans,!0),XZ(z)}}shotgunResetEverything($){let z=this.nonLeafsById;for(let Z of z.values())Z.childrenAfterGroup=null,Z.childrenMapped=null;$.leafGroup=!this.groupCols?.length,$.childrenAfterGroup=[],$.childrenMapped={},$.updateHasChildren();let Q=$.sibling;if(Q)Q.childrenAfterGroup=$.childrenAfterGroup,Q.childrenMapped=$.childrenMapped;let J=$._leafs;for(let Z=0,X=J.length;Z<X;++Z)this.insertOneNode($,J[Z]);this.destroyStaleGroups(z)}destroyStaleGroups($){let z=this.beans.selectionSvc,Q;for(let[J,Z]of $){if(Z.childrenAfterGroup!==null)continue;if(z&&Z.isSelected())(Q??(Q=[])).push(Z);$.delete(J),Z._destroy(!1)}if(Q)z.setNodesSelected({nodes:Q,newValue:!1,source:"rowGroupChanged"})}insertOneNode($,z){let Q=$,{beans:J,groupCols:Z,groupEmpty:X}=this,Y=J.valueSvc;if(!Z)return;let q=Z.length;for(let G=0;G<q;++G){let _=Z[G],H=_.col,U=Y.getKeyForNode(H,z);if(U==null||U===""){if(!X)continue;U=""}let W=Q.childrenMapped?.[this.getChildrenMappedKey(U,H)];if(W){Q=W;continue}let B=Q.level+1,E=B>=q-1,K=this.createGroup(Q,_,U,B,E,z);this.addToParent(K,Q),Q=K}if(!Q.group)j(184,{parentGroupData:Q.data,childNodeData:z.data});z.parent=Q,z.level=Q.level+1,Q.childrenAfterGroup.push(z),Q.updateHasChildren(),XZ(Q)}createGroup($,z,Q,J,Z,X){let Y=z.col,q=($.level>=0?$.id+"-":"row-group-")+(Y.getColId()+"-"+Q),G=this.nonLeafsById,_=G.get(q),H=!0;if(_){if(_.childrenAfterGroup!==null)return _._expanded??(_._expanded=null),_;H=!1,XZ(_)}else _=new Wz(this.beans),_.group=!0,_.key=Q,_.id=q,_.aggData=null,G.set(q,_);let U=(K)=>{K.childrenAfterGroup=W,K.childrenMapped=B,K.parent=$,K.level=J,K.rowGroupIndex=J,K.leafGroup=Z},W=[],B={};if(U(_),_.field=z.field??null,_.rowGroupColumn=Y,_.groupValue=this.beans.valueSvc.getValue(Y,X,"data"),_._expanded??(_._expanded=null),H)return _.setAllChildrenCount(0),_.updateHasChildren(),_;let E=_.sibling;if(E)U(E);return _.dispatchRowEvent("hasChildrenChanged"),_}getChildrenMappedKey($,z){return z?z.getId()+"-"+$:$}onShowRowGroupColsSetChanged(){let{rowModel:$,valueSvc:z}=this.beans;for(let J of this.nonLeafsById.values()){J._groupData=void 0;let Z=J.rowGroupColumn,X=Z&&pz(J);J.groupValue=X&&z.getValue(Z,X,"data")}let Q=$.rootNode?._leafs;if(Q)for(let J=0,Z=Q.length;J<Z;++J){let X=Q[J];X.parent._groupData=void 0}}},zX=($)=>{for(let z of $){let Q=z?.childrenAfterGroup;if(!Q)continue;let J=Q.length,Z=0;for(let X=0;X<J;++X){let Y=Q[X];if(Y.parent===z&&!Y.destroyed){if(Z!==X)Q[Z]=Y;++Z}}if(J!==Z)Q.length=Z,z.updateHasChildren(),XZ(z)}},XZ=($)=>{while($._leafs!==void 0){let z=$.parent;if(!z)break;$._leafs=void 0,$=z}};function tj($,z){$.rowGroupColsSvc?.setColumns(z,"api")}function sj($,z){$.rowGroupColsSvc?.removeColumns(z,"api")}function rj($,z){$.rowGroupColsSvc?.addColumns(z,"api")}function lj($,z,Q){$.rowGroupColsSvc?.moveColumn?.(z,Q,"api")}function aj($){return $.rowGroupColsSvc?.columns??[]}var BY={moduleName:"SharedRowGrouping",version:Q0,apiFunctions:{setRowGroupColumns:tj,removeRowGroupColumns:sj,addRowGroupColumns:rj,getRowGroupColumns:aj,moveRowGroupColumn:lj},dependsOn:[I0,YY,xj,WY,cj]},oj={moduleName:"RowGrouping",version:Q0,dynamicBeans:{groupStrategy:dj},rowModels:["clientSide"],dependsOn:[BY,qj,DZ,wj]};function ej($,z){$.clipboardSvc?.copyToClipboard(z)}function $f($,z){$.clipboardSvc?.cutToClipboard(z)}function zf($,z){$.clipboardSvc?.copySelectedRowsToClipboard(z)}function Qf($,z){$.clipboardSvc?.copySelectedRangeToClipboard(z)}function Jf($){$.clipboardSvc?.copyRangeDown()}function Zf($){$.clipboardSvc?.pasteFromClipboard()}var $Z="paste",s4="dragCopy",r4="clipboard";function Xf($,z=","){let Q=[],J=(X)=>X==="\r"||X===`
`,Z=!1;if($==="")return[[""]];for(let X=0,Y=0,q=0;q<$.length;q++){let G=$[q-1],_=$[q],H=$[q+1],U=()=>{if(!Q[X])Q[X]=[];if(!Q[X][Y])Q[X][Y]=""};if(U(),_==='"'){if(Z)if(H==='"')Q[X][Y]+='"',q++;else Z=!1;else if(G===void 0||G===z||J(G))Z=!0}if(!Z&&_!=='"'){if(_===z){Y++,U();continue}else if(J(_)){if(Y=0,X++,U(),_==="\r"&&H===`
`)q++;continue}}Q[X][Y]+=_}return Q}var Yf=class extends S{constructor(){super(...arguments);this.beanName="clipboardSvc",this.clientSideRowModel=null,this.gridCtrl=null,this.lastPasteOperationTime=0,this.navigatorApiFailed=!1}postConstruct(){let{gos:$,rowModel:z,ctrlsSvc:Q}=this.beans;if(o($,z))this.clientSideRowModel=z;Q.whenReady(this,(J)=>{this.gridCtrl=J.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)=>{j(40,{e:z,method:"readText"}),this.navigatorApiFailed=!0,this.pasteFromClipboardLegacy()});else this.pasteFromClipboardLegacy()}pasteFromClipboardLegacy(){let $=!1,z=(Q)=>{let J=Date.now();if(J-this.lastPasteOperationTime<50)$=!0,Q.preventDefault();this.lastPasteOperationTime=J};this.executeOnTempElement((Q)=>{Q.addEventListener("paste",z),Q.focus({preventScroll:!0})},(Q)=>{let J=Q.value;if(!$)this.processClipboardData(J);else this.refocusLastFocusedCell();Q.removeEventListener("paste",z)})}refocusLastFocusedCell(){let{focusSvc:$}=this.beans,z=$.getFocusedCell();if(z)$.setFocusedCell({rowIndex:z.rowIndex,column:z.column,rowPinned:z.rowPinned,forceBrowserFocus:!0})}getClipboardDelimiter(){let $=this.gos.get("clipboardDelimiter");return T($)?$:"\t"}processClipboardData($){if($==null)return;let z=Xf($,this.getClipboardDelimiter()),Q=this.gos.getCallback("processDataFromClipboard");if(Q)z=Q({data:z});if(z==null)return;if(this.gos.get("suppressLastEmptyLineOnPaste"))this.removeLastLineIfBlank(z);let{rangeSvc:J,editSvc:Z}=this.beans,X=(Y,q,G,_)=>{if(J?.isMoreThanOneCell()&&!this.hasOnlyOneValueToPaste(z))this.pasteIntoActiveRange(z,Y,q,_);else this.pasteStartingFromFocusedCell(z,Y,q,G,_);Z?.stopEditing(void 0,{source:$Z})};this.doPasteOperation(X)}doPasteOperation($){let{eventSvc:Q,focusSvc:J,rowRenderer:Z,gos:X}=this.beans;Q.dispatchEvent({type:"pasteStart",source:"clipboard"});let{clientSideRowModel:Y}=this,q=Y?.rootNode,G=q&&this.beans.changedPathFactory?.newPath(X.get("aggregateOnlyChangedColumns")),_={},H=[],U=J.getFocusedCell();$(_,H,U,G);let W=H.slice();if(G)Y.doAggregate(G),S0(q,Y.hierarchical,G,(B)=>{W.push(B)});Z.refreshCells({rowNodes:W}),this.dispatchFlashCells(_),this.fireRowChanged(H),this.refocusLastFocusedCell(),Q.dispatchEvent({type:"pasteEnd",source:"clipboard"})}getPreProcessRangeCallback($){return(z)=>{let{rangeSvc:Q}=this.beans;if(!Q)return;let{rowDiff:J,colDiff:Z}=this.getAdjustedRangeDimensionForPaste(z,$);if(J!==0)Q.extendRangeRowCountBy(z,J);if(Z!==0)Q.extendRangeColumnCountBy(z,Z)}}getAdjustedRangeDimensionForPaste($,z){let Q=this.beans.rangeSvc,J=z.length,Z=Q.getRangeRowCount($),X=Z>=J&&Z%J===0,Y=z[0].length,q=$.columns.length,G=q>=Y&&q%Y===0;return{rowDiff:X?0:J-Z,colDiff:G?0:Y-q}}pasteIntoActiveRange($,z,Q,J){let Z=0,X=0,Y=(q,G,_,H)=>{if(H-Z>=$.length){if(H%$.length!==0)return;Z+=X,X=0}let W=$[H-Z];Q.push(G);let B=this.gos.getCallback("processCellFromClipboard"),E=_.columns,K=E.findIndex(I$);if(K!==-1)E.splice(K,1);for(let L=0;L<E.length;L++){let D=E[L];if(!D.isCellEditable(G)||D.isSuppressPaste(G))continue;let F=L;if(L>=W.length)F=L%W.length;let M=this.processCell(G,D,W[F],s4,B,!0);G.setDataValue(D,M,$Z),J?.addCell(G.parent,D.getId());let{rowIndex:k,rowPinned:V}=q,R=b$({rowIndex:k,column:D,rowPinned:V});z[R]=!0}X++};this.iterateActiveRanges(Y,!1,this.getPreProcessRangeCallback($))}getDisplayedColumnsStartingAt($){let z=$,Q=[],{visibleCols:J}=this.beans;while(z&&q1(z))z=J.getColAfter(z);while(z!=null)Q.push(z),z=J.getColAfter(z);return Q}pasteStartingFromFocusedCell($,z,Q,J,Z){if(!J)return;let X={rowIndex:J.rowIndex,rowPinned:J.rowPinned},Y=this.getDisplayedColumnsStartingAt(J.column);if(this.isPasteSingleValueIntoRange($))this.pasteSingleValueIntoRange($,Q,z,Z);else this.pasteMultipleValues($,X,Q,Y,z,r4,Z)}isPasteSingleValueIntoRange($){let z=this.beans.rangeSvc;return this.hasOnlyOneValueToPaste($)&&!!z&&!z.isEmpty()}pasteSingleValueIntoRange($,z,Q,J){let Z=$[0][0],X=(Y,q,G)=>{z.push(q),G.columns.forEach((_)=>this.updateCellValue(q,_,Z,Q,r4,J))};this.iterateActiveRanges(X)}hasOnlyOneValueToPaste($){return $.length===1&&$[0].length===1}copyRangeDown(){let{rangeSvc:$,gos:z,formula:Q,valueSvc:J}=this.beans;if(!$||$.isEmpty())return;let Z=[],X=(Y,q,G,_)=>{let H=z.getCallback("processCellForClipboard"),U=z.getCallback("processCellFromClipboard"),W=(B,E,K)=>{let{columns:L}=K;if(!Z.length)L.forEach((D)=>{let F=this.processCell(E,D,J.getValue(D,E,"batch"),s4,H,!1,!0);Z.push(F)});else q.push(E),L.forEach((D,F)=>{if(!D.isCellEditable(E)||D.isSuppressPaste(E))return;if(D.isAllowFormula()&&Q?.isFormula(Z[F]))Z[F]=Q?.updateFormulaByOffset({value:Z[F],rowDelta:1});let k=this.processCell(E,D,Z[F],s4,U,!0);E.setDataValue(D,k,$Z),_?.addCell(E.parent,D.getId());let{rowIndex:V,rowPinned:R}=B,O=b$({rowIndex:V,column:D,rowPinned:R});Y[O]=!0})};this.iterateActiveRanges(W,!0)};this.doPasteOperation(X)}removeLastLineIfBlank($){let z=b($);if(z&&z.length===1&&z[0]===""){if($.length===1)return;Z0($,z)}}fireRowChanged($){if(this.gos.get("editType")!=="fullRow")return;for(let z of $)this.eventSvc.dispatchEvent({type:"rowValueChanged",node:z,data:z.data,rowIndex:z.rowIndex,rowPinned:z.rowPinned})}shouldSkipPasteRow($,z,Q){if($.detail||$.footer)return!0;if(Q&&$.group){for(let J of z)if(J.isCellEditable($))return!1;return!0}return!1}pasteMultipleValues($,z,Q,J,Z,X,Y){let q=z,G=this.beans,{gos:_}=G,H=this.clientSideRowModel!=null&&!_.get("enableGroupEdit")&&!_.get("treeData"),U=()=>{while(q){let W=M0(G,q);if(q=L0(G,{rowPinned:q.rowPinned,rowIndex:q.rowIndex}),W!=null&&!this.shouldSkipPasteRow(W,J,H))return W}return null};for(let W of $){let B=U();if(!B)continue;W.forEach((E,K)=>this.updateCellValue(B,J[K],E,Z,X,Y)),Q.push(B)}}updateCellValue($,z,Q,J,Z,X){if(!$||!z?.isCellEditable($)||z?.isSuppressPaste($))return;let Y=this.processCell($,z,Q,Z,this.gos.getCallback("processCellFromClipboard"),!0);$.setDataValue(z,Y,$Z);let{rowIndex:q,rowPinned:G}=$,_=b$({rowIndex:q,column:z,rowPinned:G});J[_]=!0,X?.addCell($.parent,z.getId())}copyToClipboard($={}){this.copyOrCutToClipboard($)}cutToClipboard($={},z="api"){if(this.gos.get("suppressCutToClipboard"))return;this.eventSvc.dispatchEvent({type:"cutStart",source:z}),this.copyOrCutToClipboard($,!0),this.eventSvc.dispatchEvent({type:"cutEnd",source:z})}copyOrCutToClipboard($,z){let{includeHeaders:Q,includeGroupHeaders:J}=$,{gos:Z,focusSvc:X}=this.beans;if(Q==null)Q=Z.get("copyHeadersToClipboard");if(J==null)J=Z.get("copyGroupHeadersToClipboard");let Y={includeHeaders:Q,includeGroupHeaders:J},q=Z.get("rowSelection"),G=Z.get("cellSelection"),_=null;if(this.shouldCopyCells(G,q))this.copySelectedRangeToClipboard(Y),_=0;else if(this.shouldCopyRows(q))this.copySelectedRowsToClipboard(Y),_=1;else if(X.isAnyCellFocused())this.copyFocusedCellToClipboard(Y),_=2;if(z&&_!==null)this.clearCellsAfterCopy(_)}shouldCopyCells($,z){let{rangeSvc:Q,selectionSvc:J,gos:Z}=this.beans;if(!Q||Q.isEmpty())return!1;if($)return!(typeof z==="object"&&z.copySelectedRows&&!J?.isEmpty());else{let X=Z.get("suppressCopySingleCellRanges");return!(!Q.isMoreThanOneCell()&&X)}}shouldCopyRows($){let{selectionSvc:z,gos:Q}=this.beans;if(z?.isEmpty()??!0)return!1;if($&&typeof $!=="string")return $.copySelectedRows??!1;else return!Q.get("suppressCopyRowsToClipboard")}clearCellsAfterCopy($){let z=this.beans,{rangeSvc:Q,focusSvc:J,eventSvc:Z}=z;if(Z.dispatchEvent({type:"keyShortcutChangedCellStart"}),$===0)Q.clearCellRangeCellValues({cellEventSource:"clipboardSvc"});else if($===1)this.clearSelectedRows();else{let X=J.getFocusedCell();if(X==null)return;let Y=M0(z,X);if(Y)this.clearCellValue(Y,X.column)}Z.dispatchEvent({type:"keyShortcutChangedCellEnd"})}clearSelectedRows(){let{selectionSvc:$,visibleCols:z}=this.beans,Q=$?.getSelectedNodes()??[],J=z.allCols;for(let Z of Q)for(let X of J)this.clearCellValue(Z,X)}clearCellValue($,z){if(!z.isCellEditable($))return;let Q=this.beans.valueSvc.getDeleteValue(z,$);$.setDataValue(z,Q,"clipboardSvc")}iterateActiveRanges($,z,Q){let J=this.beans.rangeSvc;if(!J||J.isEmpty())return;let Z=J.getCellRanges(),X=z?[Z[0]]:Z;for(let Y of X)this.iterateActiveRange({cellRange:Y,rowCallback:$,preProcessRange:Q})}iterateActiveRange($){let{cellRange:z,preProcessRange:Q,rowCallback:J}=$,{beans:Z}=this,{rangeSvc:X}=Z;if(!X)return;if(Q)Q(z);let Y=X.getRangeStartRow(z),q=X.getRangeEndRow(z),G=0,_=!1;while(!_&&Y!=null){let H=M0(Z,Y);_=l(Y,q),J(Y,H,z,G++),Y=L0(Z,Y)}}copySelectedRangeToClipboard($={}){let z=this.beans.rangeSvc;if(!z||z.isEmpty())return;let Q=z.areAllRangesAbleToMerge(),{data:J,cellsToFlash:Z}=Q?this.buildDataFromMergedRanges(z,$):this.buildDataFromRanges(z,$);this.copyDataToClipboard(J),this.dispatchFlashCells(Z)}buildDataFromMergedRanges($,z){let Q=new Set,J=$.getCellRanges(),Z=new Map,X=[],Y={},q=o(this.gos,this.beans.rowModel),G=new Set;if(!q)this.beans.rowModel.forEachNode((W)=>{G.add(W.rowIndex)});for(let W of J){W.columns.forEach((K)=>Q.add(K));let{rowPositions:B,cellsToFlash:E}=this.getRangeRowPositionsAndCellsToFlash($,W);for(let K of B){let L=G.has(K.rowIndex);if(!q&&!L)continue;let D=`${K.rowIndex}-${K.rowPinned||"null"}`;if(!Z.get(D))Z.set(D,!0),X.push(K)}Object.assign(Y,E)}let _=this.beans.visibleCols.allCols,H=Array.from(Q);return H.sort((W,B)=>{let E=_.indexOf(W),K=_.indexOf(B);return E-K}),{data:this.buildExportParams({columns:H,rowPositions:X,includeHeaders:z.includeHeaders,includeGroupHeaders:z.includeGroupHeaders}),cellsToFlash:Y}}buildDataFromRanges($,z){let Q=$.getCellRanges(),J=[],Z={};for(let X of Q){let{rowPositions:Y,cellsToFlash:q}=this.getRangeRowPositionsAndCellsToFlash($,X);Object.assign(Z,q),J.push(this.buildExportParams({columns:X.columns,rowPositions:Y,includeHeaders:z.includeHeaders,includeGroupHeaders:z.includeGroupHeaders}))}return{data:J.join(`
`),cellsToFlash:Z}}getRangeRowPositionsAndCellsToFlash($,z){let Q=[],J={},Z=$.getRangeStartRow(z),X=$.getRangeEndRow(z),Y=Z;while(Y){Q.push(Y);for(let q of z.columns){let{rowIndex:G,rowPinned:_}=Y,H=b$({rowIndex:G,column:q,rowPinned:_});J[H]=!0}if(l(Y,X))break;Y=L0(this.beans,Y)}return{rowPositions:Q,cellsToFlash:J}}getCellsToFlashFromRowNodes($){let z=this.beans.visibleCols.allCols,Q={};for(let J=0;J<$.length;J++){let{level:Z,rowIndex:X,rowPinned:Y,sibling:q}=$[J],G=Z===-1?q.rowIndex:X;if(G==null)continue;for(let _=0;_<z.length;_++){let H=z[_],U=b$({rowIndex:G,column:H,rowPinned:Y});Q[U]=!0}}return Q}copyFocusedCellToClipboard($={}){let z=this.beans.focusSvc.getFocusedCell();if(z==null)return;z=this.beans.rowSpanSvc?.getCellStart(z)??z;let Q=b$(z),J={rowPinned:z.rowPinned,rowIndex:z.rowIndex},Z=z.column,X=this.buildExportParams({columns:[Z],rowPositions:[J],includeHeaders:$.includeHeaders,includeGroupHeaders:$.includeGroupHeaders});this.copyDataToClipboard(X),this.dispatchFlashCells({[Q]:!0})}copySelectedRowsToClipboard($={}){let{columnKeys:z,includeHeaders:Q,includeGroupHeaders:J}=$,Z=this.buildExportParams({columns:z,includeHeaders:Q,includeGroupHeaders:J});this.copyDataToClipboard(Z);let X=this.beans.selectionSvc?.getSelectedNodes()||[];this.dispatchFlashCells(this.getCellsToFlashFromRowNodes(X))}buildExportParams($){let{columns:z,rowPositions:Q,includeHeaders:J=!1,includeGroupHeaders:Z=!1}=$,{gos:X,csvCreator:Y}=this.beans,q=({node:_,column:H})=>{let{value:U,valueFormatted:W}=this.beans.valueSvc.getValueForDisplay({column:H,node:_,includeValueFormatted:!0,from:"batch"}),B=W??U??"",E=X.getCallback("processCellForClipboard");if(!E)return B;return E({column:H,node:_,value:B,type:r4,formatValue:(K)=>this.beans.valueSvc.formatValue(H,_,K)??K,parseValue:(K)=>this.beans.valueSvc.parseValue(H,_,K,U)??K})},G={columnKeys:z,rowPositions:Q,skipColumnHeaders:!J,skipColumnGroupHeaders:!Z,suppressQuotes:!0,columnSeparator:this.getClipboardDelimiter(),onlySelected:!Q,valueFrom:"batch",processCellCallback:X.getCallback("processCellForClipboard"),processRowGroupCallback:q,processHeaderCallback:X.getCallback("processHeaderForClipboard"),processGroupHeaderCallback:X.getCallback("processGroupHeaderForClipboard")};return Y.getDataAsCsv(G,!0)}dispatchFlashCells($){window.setTimeout(()=>{this.eventSvc.dispatchEvent({type:"flashCells",cells:$})},0)}processCell($,z,Q,J,Z,X,Y){let{valueSvc:q,formula:G}=this.beans;if(Z)return Z({column:z,node:$,value:Q,type:J,formatValue:(H)=>q.formatValue(z,$??null,H)??H,parseValue:(H)=>q.parseValue(z,$??null,H,q.getValue(z,$,"edit"))});if(X&&z.getColDef().useValueParserForImport!==!1)return q.parseValue(z,$??null,Q,q.getValue(z,$,"edit"));if(Y&&z.getColDef().useValueFormatterForExport!==!1){if(G?.isFormula(Q))return Q;return q.formatValue(z,$??null,Q)??Q}return Q}copyDataToClipboard($){let z=this.gos.getCallback("sendToClipboard");if(z){z({data:$});return}if(!this.gos.get("suppressClipboardApi")&&navigator.clipboard){navigator.clipboard.writeText($).catch((J)=>{j(40,{e:J,method:"writeText"}),this.copyDataToClipboardLegacy($)});return}this.copyDataToClipboardLegacy($)}copyDataToClipboardLegacy($){this.executeOnTempElement((z)=>{let Q=Y0(this.beans),J=d(this.beans);if(z.value=$||" ",z.select(),z.focus({preventScroll:!0}),!Q.execCommand("copy"))j(41);if(J?.focus!=null)J.focus({preventScroll:!0})})}executeOnTempElement($,z){if(!this.gridCtrl)return;let Q=Y0(this.beans),J=Q.createElement("textarea"),Z=J.style;Z.width="1px",Z.height="1px";let X=Q.documentElement;Z.top=X.scrollTop+"px",Z.left=X.scrollLeft+"px",Z.position="absolute",Z.opacity="0",this.gridCtrl.getGui().appendChild(J);try{$(J)}catch(q){j(42)}if(z)window.setTimeout(()=>{z(J),J.remove()},100);else J.remove()}},EY={moduleName:"Clipboard",version:Q0,beans:[Yf],apiFunctions:{copyToClipboard:ej,cutToClipboard:$f,copySelectedRowsToClipboard:zf,copySelectedRangeToClipboard:Qf,copySelectedRangeDown:Jf,pasteFromClipboard:Zf},dependsOn:[I0,J9,iz,M9]};var KY=class extends S{constructor(){super(...arguments);this.loadRowDataVersion=0}wireBeans($){this.environment=$.environment}init($,z){if(this.params=z,this.comp=$,z.pinned!=null)return;this.setAutoHeightClasses(),this.setupRefreshStrategy(),this.createDetailGrid(),this.loadRowData(),this.addManagedEventListeners({fullWidthRowFocused:this.onFullWidthRowFocused.bind(this)})}onFullWidthRowFocused($){let z=this.params,Q={rowIndex:z.node.rowIndex,rowPinned:z.node.rowPinned},J={rowIndex:$.rowIndex,rowPinned:$.rowPinned};if(!l(Q,J))return;F0(this.comp.getGui(),$.fromBelow)}setAutoHeightClasses(){let $=this.gos.get("detailRowAutoHeight"),z=$?"ag-details-row-auto-height":"ag-details-row-fixed-height",Q=$?"ag-details-grid-auto-height":"ag-details-grid-fixed-height",J=this.comp;J.toggleCss(z,!0),J.toggleDetailGridCss(Q,!0)}setupRefreshStrategy(){let $=this.params.refreshStrategy;if($=="everything"||$=="nothing"||$=="rows"){this.refreshStrategy=$;return}if($!=null)j(170,{providedStrategy:$});this.refreshStrategy="rows"}createDetailGrid(){let{params:$,gos:z}=this;if(n($.detailGridOptions)){j(171);return}let Q=z.get("theme"),J=$.detailGridOptions.theme;if(J&&J!==Q)j(267);let Z={themeStyleContainer:this.environment.eStyleContainer,...$.detailGridOptions,theme:Q};if(z.get("detailRowAutoHeight"))Z.domLayout="autoHeight";this.comp.setDetailGrid(Z)}registerDetailWithMaster($){let{params:z,beans:{selectionSvc:Q,findSvc:J,expansionSvc:Z}}=this,X=z.node.id,Y=z.api,q={id:X,api:$},G=z.node;if(Y.isDestroyed())return;Y.addDetailGridInfo(X,q),G.detailGridInfo=q;let _=G.parent;J?.registerDetailGrid(G,$);function H(){if(_)Q?.refreshMasterNodeState(_)}function U({source:B}){if(B==="expandAll")return $.expandAll();if(B==="collapseAll")return $.collapseAll()}function W({node:B,source:E}){if(B!==_||E==="masterDetail"||$.isDestroyed())return;Q?.setDetailSelectionState(_,z.detailGridOptions,$)}$.addEventListener("firstDataRendered",()=>{if($.isDestroyed()||Y.isDestroyed())return;Q?.setDetailSelectionState(_,z.detailGridOptions,$),$.addEventListener("selectionChanged",H),Y.addEventListener("rowSelected",W);let E=`${"CsrmSsrmSharedApi"}Module`;if($.isModuleRegistered(E))Y.addEventListener("expandOrCollapseAll",U),Z?.setDetailsExpansionState($)}),this.addManagedListeners(_,{masterChanged:(B)=>{if(!B.node.master)this.onDestroy(q)}}),this.addDestroyFunc(()=>this.onDestroy(q))}onDestroy($){let{params:z}=this,Q=z.node,J=z.api;if(Q.detailGridInfo!==$)return;if(!J.isDestroyed())J.removeDetailGridInfo(Q.id);Q.detailGridInfo=null}loadRowData(){this.loadRowDataVersion++;let $=this.loadRowDataVersion,z=this.params;if(z.detailGridOptions?.rowModelType==="serverSide"){z.node.detailGridInfo?.api?.refreshServerSide({purge:!0});return}let Q=z.getDetailRowData;if(!Q){j(172);return}let J=(X)=>{if(this.loadRowDataVersion===$)this.comp.setRowData(X)},Z={node:z.node,data:z.node.data,successCallback:J,context:y(this.gos,{}).context};Q(Z)}refresh(){switch(this.refreshStrategy){case"nothing":return!0;case"everything":return!1}return this.loadRowData(),!0}},qf=class{constructor($){this.parentWrapper=$}wrap($,z,Q,J){return this.parentWrapper.wrap($,z,Q,J)}},Gf={tag:"div",cls:"ag-details-row"},_f={tag:"div",cls:"ag-details-row",role:"gridcell",children:[{tag:"div",ref:"eDetailGrid",cls:"ag-details-grid",role:"presentation"}]},Hf=class extends x{constructor(){super(...arguments);this.eDetailGrid=f}wireBeans($){this.context=$.context}init($){this.params=$,this.selectAndSetTemplate();let z={toggleCss:(Q,J)=>this.toggleCss(Q,J),toggleDetailGridCss:(Q,J)=>this.eDetailGrid.classList.toggle(Q,J),setDetailGrid:(Q)=>this.setDetailGrid(Q),setRowData:(Q)=>this.setRowData(Q),getGui:()=>this.eDetailGrid};this.ctrl=this.createManagedBean(new KY),this.ctrl.init(z,$)}refresh(){return this.ctrl?.refresh()??!1}selectAndSetTemplate(){let $=this.params;if($.pinned){this.setTemplate(Gf);return}let z=()=>{this.setTemplate(_f)};if(n($.template))z();else if(typeof $.template==="string")this.setTemplate($.template,[]);else if(typeof $.template==="function"){let Q=$.template,J=Q($);this.setTemplate(J,[])}else j(168),z();if(this.eDetailGrid==null)j(169)}setDetailGrid($){if(!this.eDetailGrid)return;let z=this.context.getBean("frameworkCompWrapper"),Q=new qf(z),{frameworkOverrides:J}=this.beans,Z=M1(this.eDetailGrid,$,{frameworkOverrides:J,providedBeanInstances:{frameworkCompWrapper:Q},modules:l6(this.params.api.getGridId(),$.rowModelType??"clientSide")});this.detailApi=Z,this.ctrl?.registerDetailWithMaster(Z),this.addDestroyFunc(()=>{Z.destroy()})}setRowData($){this.detailApi?.setGridOption("rowData",$)}};function FZ($,z){let Q=$.masterDetailSvc?.store;return Q?z(Q):void 0}function Uf($,z,Q){FZ($,(J)=>{J[z]=Q})}function Wf($,z){FZ($,(Q)=>{delete Q[z]})}function Bf($,z){return FZ($,(Q)=>Q[z])}function Ef($,z){FZ($,(Q)=>{let J=0;Object.values(Q).forEach((Z)=>{if(Z)z(Z,J++)})})}var Kf=".ag-details-row{width:100%}.ag-details-row-fixed-height{height:100%}.ag-details-grid{width:100%}.ag-details-grid-fixed-height{height:100%}",Lf=class extends S{constructor(){super(...arguments);this.beanName="masterDetailSvc",this.store={}}isEnabled(){return this.gos.get("masterDetail")}postConstruct(){let $=this.gos;if(o($))this.enabled=this.isEnabled();if(_z($))this.addEventListeners()}addEventListeners(){let $=(J)=>{this.setMaster(J.node,!1,!0)},z,Q=()=>{if(z){for(let J of z)J();z=void 0}if(this.isEnabled())z=this.addManagedListeners(this.beans.eventSvc,{rowNodeDataChanged:$})};Q(),this.gos.addPropertyEventListener("masterDetail",Q)}refreshModel($){if($.changedProps){let z=this.isEnabled();if(this.enabled!==z){this.setMasters(null);return}}if($.rowDataUpdated)this.setMasters($.changedRowNodes)}setMaster($,z,Q){let J=$.master,Z=this.isEnabled(),X=Z,Y=this.gos,q=Y.get("isRowMaster"),G=Y.get("treeData");if(Z)if(z||Q){if(q){let _=$.data;X=!!_&&!!q(_)}}else X=J;if(!G){if(X&&z||!X&&J)$._expanded??($._expanded=null)}if(X!==J)$.master=X,$.dispatchRowEvent("masterChanged")}setMasters($){if(this.enabled=this.isEnabled(),$){for(let z of $.updates)this.setMaster(z,!1,!0);for(let z of $.adds)this.setMaster(z,!0,!1)}else{let z=o2(this.beans)?.rootNode?._leafs;if(z)for(let Q=0,J=z.length;Q<J;++Q)this.setMaster(z[Q],!0,!1)}}getDetail($){if(!$.master||!$.expanded)return null;let z=$.detailNode;if(z)return z;if(z=new Wz(this.beans),z.detail=!0,z.selectable=!1,z.parent=$,T($.id))z.id="detail_"+$.id;return z.data=$.data,z.level=$.level+1,$.detailNode=z,z}setupDetailRowAutoHeight($,z){let{gos:Q,beans:J}=this;if(!Q.get("detailRowAutoHeight"))return;let Z=()=>{let Y=z.clientHeight;if(Y!=null&&Y>0){let q=()=>{let{rowModel:G}=this.beans,{rowNode:_}=$;if(_.setRowHeight(Y),o(Q,G)||_z(Q,G))G.onRowHeightChanged()};window.setTimeout(q,0)}},X=F$(J,z,Z);$.addDestroyFunc(X),Z()}destroy(){this.store={},super.destroy()}},Df={moduleName:"SharedMasterDetail",version:Q0,beans:[Lf],userComponents:{agDetailCellRenderer:Hf},dynamicBeans:{detailCellRendererCtrl:KY},apiFunctions:{addDetailGridInfo:Uf,removeDetailGridInfo:Wf,getDetailGridInfo:Bf,forEachDetailGridInfo:Ef},dependsOn:[I0,HY,WY],css:[Kf]},LY={moduleName:"MasterDetail",version:Q0,dependsOn:[Df,DZ,F9]},DY=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:($)=>{let z=!1;if(!this.dragging)z=!0,this.dragging=!0,FQ(this.beans).classList?.add(this.getDraggingCssClass());if(this.updateValuesOnMove($),z){this.changedCalculatedValues=!1;return}if(this.beans.rangeSvc.autoScrollService.check($),this.changedCalculatedValues)this.onDrag($),this.changedCalculatedValues=!1},onDragStop:($)=>{this.dragging=!1,this.onDragEnd($),this.clearDragProperties()},onDragCancel:()=>{this.dragging=!1,this.onDragCancel(),this.clearDragProperties()}}),this.addManagedEventListeners({cellSelectionChanged:this.updateLocalRangeIfNeeded.bind(this)}),this.addManagedElementListeners(this.getGui(),{pointerdown:QX,mousedown:QX})}getLastCellHovered(){return this.lastCellHovered}getDraggingCssClass(){return`ag-dragging-${this.type===0?"fill":"range"}-handle`}updateValuesOnMove($){let z=U4(this.gos,$);if(!z||this.shouldSkipCell(z)||this.lastCellHovered&&AQ(z,this.lastCellHovered))return;this.lastCellHovered=z,this.changedCalculatedValues=!0}clearDragProperties(){if(this.clearValues(),this.beans.rangeSvc.autoScrollService.ensureCleared(),FQ(this.beans).classList?.remove(this.getDraggingCssClass()),this.shouldDestroyOnEndDragging)this.destroy()}getType(){return this.type}refresh($,z){let Q=this.cellCtrl,J=this.getGui(),Z=z??b(this.beans.rangeSvc.getCellRanges()),X=Z.startRow,Y=Z.endRow;if(X&&Y)if(G0(Y,X))this.rangeStartRow=Y,this.rangeEndRow=X;else this.rangeStartRow=X,this.rangeEndRow=Y;if(Q!==$||!A0(J)){this.cellCtrl=$;let q=$.comp.getParentOfValue();if(q)q.appendChild(J)}this.cellRange=Z}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($){if(!this.cellRange)return;let{id:z,type:Q}=this.cellRange;if(!z||z!==$.id)return;let J=this.beans.rangeSvc?.getCellRanges().find((Z)=>Z.id===z&&Z.type===Q);if(J&&J!==this.cellRange)this.cellRange=J}},QX=($)=>{$.stopPropagation()};function Ff($){let z=$.length,Q=0;if(z<=1)return $;for(let U=0;U<$.length;U++){let W=$[U],B=W.toString().split("e-");if(B.length>1){Q=Math.max(Q,parseInt(B[1],10));continue}if(Math.floor(W)===W)continue;Q=Math.max(Q,W.toString().split(".")[1].length)}let J=0,Z=0,X=0,Y=0,q=0;for(let U=0;U<z;U++)q=$[U],J+=U,Z+=q,Y+=U*U,X+=U*q;let G=(z*X-J*Z)/(z*Y-J*J),_=Z/z-G*J/z,H=[];for(let U=0;U<=z;U++)H.push(parseFloat((U*G+_).toFixed(Q)));return H}var Mf={tag:"div",cls:"ag-fill-handle"},kf=class extends DY{constructor(){super(Mf);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($){i0($);let{cellRange:z,rangeStartRow:Q,beans:J}=this,{rangeSvc:Z,visibleCols:X}=J,Y=qz(J);if(!Y)return;let q=this.getFillHandleDirection();this.dragAxis=q==="xy"?"y":q;let G=Z?.createCellRangeFromCellRangeParams({rowStartIndex:Q.rowIndex,rowStartPinned:Q.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,G)this.performFill({event:$,initialRange:z,finalRange:G});this.dragAxis=void 0}updateValuesOnMove($){if(super.updateValuesOnMove($),!this.initialXY)this.initialXY=W4(this.beans,$);let{x:z,y:Q}=this.initialXY,{x:J,y:Z}=W4(this.beans,$),X=Math.abs(z-J),Y=Math.abs(Q-Z),q=this.getFillHandleDirection(),G;if(q==="xy")G=X>Y?"x":"y";else G=q;if(G!==this.dragAxis)this.dragAxis=G,this.changedCalculatedValues=!0}shouldSkipCell($){return v0($.column)}onDrag($){if(!this.initialPosition){let Q=this.cellCtrl;if(!Q)return;this.initialPosition=Q.cellPosition}let z=this.getLastCellHovered();if(z)this.markPathFrom(this.initialPosition,z)}onDragEnd($){if(this.initialXY=null,!this.markedCells.length)return;let z=this.dragAxis==="x",{cellRange:Q,rangeStartRow:J,rangeEndRow:Z,beans:{rangeSvc:X}}=this,Y=Q.columns.length,q;if(!this.isUp&&!this.isLeft)q=X.createCellRangeFromCellRangeParams({rowStartIndex:J.rowIndex,rowStartPinned:J.rowPinned,columnStart:Q.columns[0],rowEndIndex:z?Z.rowIndex:this.lastCellMarked.rowIndex,rowEndPinned:z?Z.rowPinned:this.lastCellMarked.rowPinned,columnEnd:z?this.lastCellMarked.column:Q.columns[Y-1]});else{let G=z?J:this.lastCellMarked;q=X.createCellRangeFromCellRangeParams({rowStartIndex:G.rowIndex,rowStartPinned:G.rowPinned,columnStart:z?this.lastCellMarked.column:Q.columns[0],rowEndIndex:Z.rowIndex,rowEndPinned:Z.rowPinned,columnEnd:Q.columns[Y-1]})}if(q)this.performFill({event:$,initialRange:Q,finalRange:q,shouldUpdateRange:!0})}onDragCancel(){if(this.initialXY=null,!this.markedCells.length)return;this.clearMarkedPath()}performFill({event:$,initialRange:z,finalRange:Q,shouldUpdateRange:J}){let{eventSvc:Z,rangeSvc:X}=this.beans;if(Z.dispatchEvent({type:"fillStart"}),this.handleValueChanged(z,Q,$),J)X.setCellRanges([Q]);Z.dispatchEvent({type:"fillEnd",initialRange:z,finalRange:Q})}getFillHandleDirection(){let $=vJ(this.gos)?.direction;if(!$)return"xy";if($!=="x"&&$!=="y"&&$!=="xy")return j(177),"xy";return $}handleValueChanged($,z,Q){let{beans:J}=this,{rangeSvc:Z,gos:X,valueSvc:Y}=J,q=Z.getRangeEndRow($),G=Z.getRangeStartRow($),_=Z.getRangeEndRow(z),H=Z.getRangeStartRow(z),U=this.dragAxis==="y";if(this.isReduce&&!vJ(X)?.suppressClearOnFillReduction){let R=U?$.columns:$.columns.filter((I)=>z.columns.indexOf(I)<0),O=U?L0(J,_):H;if(O)this.clearCellsInRange(O,q,R);return}let W=[],B=[],E=[],K=[],L=!0,D=0,F=()=>{W.length=0,B.length=0,E.length=0,K.length=0,D=0},M=(R,O)=>{let I=this.isUp?q:G,v=!1;if(U)L=!0,F();while(!v&&I){let C=M0(J,I);if(!C)break;if(U&&R)k(W,R,C,()=>!l(I,this.isUp?G:q));else if(O){L=!0,F();for(let m of O)k(W,m,C,()=>m!==(this.isLeft?$.columns[0]:b($.columns)))}v=l(I,this.isUp?H:_),I=this.isUp?m0(this.beans,I):L0(J,I)}},k=(R,O,I,v)=>{let C,m=!1;if(L)C=Y.getValue(O,I,"edit"),B.push(C),E.push(Y.getValue(O,I,"edit",!0)),K.push(Y.getValueForDisplay({column:O,node:I,from:"edit"}).valueFormatted),L=v();else{let{value:w,fromUserFunction:a,sourceCol:t,sourceRowNode:u}=this.processValues({event:Q,values:R,initialValues:B,initialNonAggregatedValues:E,initialFormattedValues:K,col:O,rowNode:I,idx:D++});if(C=w,O.isCellEditable(I)){let $0=Y.getValue(O,I,"edit");if(!a){if(t){let s=t.getColDef();if(s.useValueFormatterForExport!==!1&&s.valueFormatter){let f0=Y.getValueForDisplay({column:t,node:u,includeValueFormatted:!0,from:"edit"}).valueFormatted;if(f0!=null)C=f0}}if(O.getColDef().useValueParserForImport!==!1)C=Y.parseValue(O,I,t?C:cQ(C),$0)}if(!a||$0!==C)I.setDataValue(O,C,"rangeSvc");else m=!0}}if(!m)R.push({value:C,column:O,rowNode:I})},{changeDetectionSvc:V}=this.beans;V?.beginDeferred();try{if(U)$.columns.forEach((R)=>{M(R)});else{let R=this.isLeft?[...z.columns].reverse():z.columns;M(void 0,R)}this.beans.editSvc?.stopEditing(void 0,{source:"fillHandle"})}finally{V?.endDeferred()}}clearCellsInRange($,z,Q){let J={startRow:$,endRow:z,columns:Q,startColumn:Q[0]};this.beans.rangeSvc.clearCellRangeCellValues({cellRanges:[J],restoreSourceInBatch:!0})}processValues($){let{formula:z,valueSvc:Q}=this.beans,{event:J,values:Z,initialValues:X,initialNonAggregatedValues:Y,initialFormattedValues:q,col:G,rowNode:_,idx:H}=$,U=vJ(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:J,values:Z.map(({value:F})=>F),initialValues:X,initialNonAggregatedValues:Y,initialFormattedValues:q,currentIndex:H,currentCellValue:Q.getValue(G,_,"edit"),direction:B,column:G,rowNode:_}),D=U(L);if(D!==!1)return{value:D,fromUserFunction:!0}}let E=(L)=>typeof L==="number"&&Number.isFinite(L)||typeof L==="string"&&/^[+-]?\d+(?:\.\d+)?$/.test(L.trim()),K=Z.every(({value:L})=>E(L));if(J.altKey||!K){let L=String(b(Z)?.value??"");if(K&&X.length===1){let R=this.isUp||this.isLeft?-1:1;return{value:parseFloat(L)+1*R,fromUserFunction:!1}}let{value:D,column:F,rowNode:M}=Z[H%Z.length],k,V=F.isAllowFormula()&&z?.isFormula(L);if(V){let R=B==="up"?-1:B==="down"?1:0,O=B==="left"?-1:B==="right"?1:0;k=z.updateFormulaByOffset({value:L,rowDelta:R,columnDelta:O})}else k=D;return{value:k,fromUserFunction:!1,sourceCol:V?void 0:F,sourceRowNode:M}}return{value:b(Ff(Z.map(({value:L})=>Number(L)))),fromUserFunction:!1}}clearValues(){this.clearMarkedPath(),this.clearCellValues(),this.lastCellMarked=void 0,super.clearValues()}clearMarkedPath(){for(let $ of this.markedCells){if(!$.isAlive())continue;let{comp:z}=$;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($,z){if(this.clearMarkedPath(),this.clearCellValues(),this.dragAxis==="y"){if(l(z,$))return;let Q=G0(z,$),{rangeStartRow:J,rangeEndRow:Z}=this;if(Q&&(z.rowPinned==J.rowPinned&&z.rowIndex>=J.rowIndex||J.rowPinned!=Z.rowPinned&&z.rowPinned==Z.rowPinned&&z.rowIndex<=Z.rowIndex))this.reduceVertical($,z),this.isReduce=!0;else this.extendVertical($,z,Q),this.isReduce=!1}else{let Q=$.column,J=z.column;if(Q===J)return;let Z=this.beans.visibleCols.allCols,X=Z.indexOf(Q),Y=Z.indexOf(J);if(Y<=X&&Y>=Z.indexOf(this.cellRange.columns[0]))this.reduceHorizontal($,z),this.isReduce=!0;else this.extendHorizontal($,z,Y<X),this.isReduce=!1}this.lastCellMarked=z}extendVertical($,z,Q){let J=this.beans,{rangeSvc:Z}=J,X=$;do{let Y=this.cellRange,q=Y.columns.length;for(let G=0;G<q;G++){let _=Y.columns[G],U={...{rowIndex:X.rowIndex,rowPinned:X.rowPinned},column:_},W=Z.isCellInSpecificRange(U,Y),B=l(X,$);if(Q)this.isUp=!0;if(!B){let E=e0(J,U);if(E){this.markedCells.push(E);let K=E.comp;if(!W)K.toggleCss("ag-selection-fill-left",G===0),K.toggleCss("ag-selection-fill-right",G===q-1);K.toggleCss(Q?"ag-selection-fill-top":"ag-selection-fill-bottom",l(X,z))}}}if(l(X,z))break}while(X=Q?m0(this.beans,X):L0(J,X))}reduceVertical($,z){let Q=$,J=this.beans;do{let Z=this.cellRange,X=Z.columns.length,Y=l(Q,z);for(let q=0;q<X;q++){let _={...{rowIndex:Q.rowIndex,rowPinned:Q.rowPinned},column:Z.columns[q]},H=e0(J,_);if(H)this.markedCells.push(H),H.comp.toggleCss("ag-selection-fill-bottom",l(Q,z))}if(Y)break}while(Q=m0(J,Q))}extendHorizontal($,z,Q){let J=this.beans,{visibleCols:Z}=J,X=Z.allCols,Y=X.indexOf(Q?z.column:$.column),q=X.indexOf(Q?this.cellRange.columns[0]:z.column),G=Q?0:1,_=X.slice(Y+G,q+G),{rangeStartRow:H,rangeEndRow:U}=this;for(let W of _){let B=H,E=!1;do{E=l(B,U);let K=e0(J,{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,H)),L.toggleCss("ag-selection-fill-bottom",l(B,U)),Q)this.isLeft=!0,L.toggleCss("ag-selection-fill-left",W===_[0]);else L.toggleCss("ag-selection-fill-right",W===b(_))}B=L0(J,B)}while(!E)}}reduceHorizontal($,z){let Q=this.beans,{visibleCols:J}=Q,Z=J.allCols,X=Z.indexOf(z.column),Y=Z.indexOf($.column),q=Z.slice(X,Y),{rangeStartRow:G,rangeEndRow:_}=this;for(let H of q){let U=G,W=!1;do{W=l(U,_);let B=e0(this.beans,{rowIndex:U.rowIndex,rowPinned:U.rowPinned,column:H});if(B)this.markedCells.push(B),B.comp.toggleCss("ag-selection-fill-right",H===q[0]);U=L0(Q,U)}while(!W)}}refresh($,z){let Q=z??this.beans.rangeSvc.getCellRanges()[0];if(!Q.startRow||!Q.endRow){this.destroy();return}super.refresh($,Q)}},Vf=class extends DY{constructor(){super({tag:"div",cls:"ag-range-handle"});this.type=1,this.rangeFixed=!1}onDrag($){let z=this.getLastCellHovered();if(!z)return;let Q=this.beans.rangeSvc,J=this.cellRange??b(Q.getCellRanges());if(!J)return;if(!this.rangeFixed)this.fixRangeStartEnd(J),this.rangeFixed=!0;if(this.endPosition={rowIndex:z.rowIndex,rowPinned:z.rowPinned,column:z.column},Q.getCellRanges().length===2&&Q.getCellRanges()[0].type===C$.DIMENSION&&J.type===C$.VALUE){if(!l(this.endPosition,Q.getRangeEndRow(J)))Q.updateRangeRowBoundary({cellRange:Q.getCellRanges()[0],boundary:"end",cellPosition:{...this.endPosition,column:Q.getCellRanges()[0].columns[0]},silent:!0})}Q.extendRangeToCell(J,this.endPosition)}shouldSkipCell($){return!1}onDragEnd($){let z=this.cellRange??b(this.beans.rangeSvc.getCellRanges());if(!z)return;this.fixRangeStartEnd(z),this.rangeFixed=!1}onDragCancel(){this.rangeFixed=!1}fixRangeStartEnd($){let z=this.beans.rangeSvc,Q=z.getRangeStartRow($),J=z.getRangeEndRow($),Z=$.columns[0];$.startRow=Q,$.endRow=J,$.startColumn=Z}},Af=".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 Sf($){return $.rangeSvc?.getCellRanges()??null}function Rf($,z){$.rangeSvc?.addCellRange(z)}function JX($){$.rangeSvc?.removeAllCellRanges()}var A1="ag-cell-range-selected",jf="ag-cell-range-chart",ff="ag-cell-range-single-cell",ZX="ag-cell-range-chart-category",Of="ag-cell-range-handle",Pf="ag-cell-range-top",Tf="ag-cell-range-right",vf="ag-cell-range-bottom",If="ag-cell-range-left";function Cf($){let z=$.get("cellSelection");if(z===void 0)return $.get("enableRangeHandle");return typeof z!=="boolean"?z.handle?.mode==="range":!1}function XX($){let z=$.get("cellSelection");if(z===void 0)return $.get("enableFillHandle");return typeof z!=="boolean"?z.handle?.mode==="fill":!1}var bf=class{constructor($,z){this.beans=$,this.cellCtrl=z,this.rangeColorClass=null,this.handleColorClass=null,this.rangeSvc=$.rangeSvc}setComp($){this.cellComp=$,this.eGui=this.cellCtrl.eGui,this.onCellSelectionChanged()}unsetComp(){this.beans.context.destroyBean(this.selectionHandle)}onCellSelectionChanged(){let $=this.cellComp;if(!$)return;let{rangeSvc:z,cellCtrl:Q,eGui:J}=this,Z=z.getCellRangeCount(Q.cellPosition);this.rangeCount=Z;let X=this.getHasChartRange();this.hasChartRange=X,$.toggleCss(A1,Z!==0),$.toggleCss(`${A1}-1`,Z===1),$.toggleCss(`${A1}-2`,Z===2),$.toggleCss(`${A1}-3`,Z===3),$.toggleCss(`${A1}-4`,Z>=4),$.toggleCss(jf,X),f2(J,Z>0?!0:void 0),$.toggleCss(ff,this.isSingleCell()),this.updateRangeBorders(),this.refreshRangeStyleAndHandle()}updateRangeBorders(){let $=this.getRangeBorders(),z=this.isSingleCell(),Q=!z&&$.top,J=!z&&$.right,Z=!z&&$.bottom,X=!z&&$.left,Y=this.cellComp;Y.toggleCss(Pf,Q),Y.toggleCss(Tf,J),Y.toggleCss(vf,Z),Y.toggleCss(If,X)}isSingleCell(){let{rangeSvc:$}=this;return this.rangeCount===1&&!!$&&!$.isMoreThanOneCell()}getHasChartRange(){let{rangeSvc:$}=this;if(!this.rangeCount||!$)return!1;let z=$.getCellRanges();return z.length>0&&z.every((Q)=>[C$.DIMENSION,C$.VALUE].includes(Q.type))}updateRangeBordersIfRangeCount(){if(this.rangeCount>0)this.updateRangeBorders(),this.refreshRangeStyleAndHandle()}getRangeBorders(){let $=this.beans.gos.get("enableRtl"),z=!1,Q=!1,J=!1,Z=!1,{rangeSvc:X,beans:{visibleCols:Y},cellCtrl:{cellPosition:q}}=this,G=q.column,_=X.getCellRanges().filter((W)=>X.isCellInSpecificRange(q,W));if(!_.length)return{top:z,right:Q,bottom:J,left:Z};let H,U;if($)H=Y.getColAfter(G),U=Y.getColBefore(G);else H=Y.getColBefore(G),U=Y.getColAfter(G);if(!H)Z=!0;if(!U)Q=!0;for(let W=0;W<_.length;W++){if(z&&Q&&J&&Z)break;let B=_[W],E=X.getRangeStartRow(B),K=X.getRangeEndRow(B);if(!z&&l(E,q))z=!0;if(!J&&l(K,q))J=!0;if(!Z&&H&&B.columns.indexOf(H)<0)Z=!0;if(!Q&&U&&B.columns.indexOf(U)<0)Q=!0}return{top:z,right:Q,bottom:J,left:Z}}refreshRangeStyleAndHandle(){let{context:$}=this.beans;if($.isDestroyed())return;this.styleCellForRangeType();let z=this.getRangeForHandle();if(this.selectionHandle&&!z)this.selectionHandle=$.destroyBean(this.selectionHandle);if(z)this.addSelectionHandle(z);this.refreshHandleColor(z),this.cellComp.toggleCss(Of,!!this.selectionHandle)}styleCellForRangeType(){if(this.hasChartRange){let{rangeSvc:$}=this,z=$.getCellRanges()[0],J=z.type===C$.DIMENSION&&$.isCellInSpecificRange(this.cellCtrl.cellPosition,z);this.cellComp.toggleCss(ZX,J)}else this.cellComp.toggleCss(ZX,!1),this.applyRangeColor(this.getRangeColorClass())}applyRangeColor($){if(this.rangeColorClass&&this.rangeColorClass!==$)this.cellComp.toggleCss(this.rangeColorClass,!1),this.cellComp.toggleCss("ag-formula-range",!1);if($)this.cellComp.toggleCss($,!0),this.cellComp.toggleCss("ag-formula-range",$.startsWith("ag-formula-range"));this.rangeColorClass=$??null}getRangeColorClass(){let{rangeSvc:$,rangeCount:z}=this;if(!$||!z)return null;let Q=$.getCellRanges();for(let J=Q.length-1;J>=0;J--){let Z=Q[J],X=Z.colorClass;if(!X)continue;if($.isCellInSpecificRange(this.cellCtrl.cellPosition,Z))return X}return null}refreshHandleColor($){let z=this.selectionHandle?.getGui?.(),Q=$?.colorClass??null;if(!z){this.handleColorClass=null;return}if(this.handleColorClass&&this.handleColorClass!==Q)z.classList.remove(this.handleColorClass);if(Q)z.classList.add(Q);else if(this.handleColorClass)z.classList.remove(this.handleColorClass);this.handleColorClass=Q??null}getRangeForHandle(){let{gos:$,editSvc:z}=this.beans,Q=this.rangeSvc,J=Q.getCellRanges(),Z=J.length;if(this.rangeCount<1||Z<1)return null;let X=z?.isRangeSelectionEnabledWhileEditing(),Y=X?J:[b(J)];for(let q of Y){let{cellPosition:G,column:_}=this.cellCtrl,H=XX($)&&!_.isSuppressFillHandle(),U=Cf($),B=!z?.isEditing(this.cellCtrl,{withOpenEditor:!0})&&(X||Z===1&&(H||U));if(this.hasChartRange)B=q.type===C$.VALUE;if(B&&q.endRow!=null&&Q.isContiguousRange(q)&&Q.isBottomRightCell(q,G))return q}return null}addSelectionHandle($){let{beans:z}=this,Q=z.editSvc?.isRangeSelectionEnabledWhileEditing(),J=$.type,X=!Q&&XX(z.gos)&&n(J)?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,$)}destroy(){this.unsetComp()}},yf=class extends S{constructor($){super();this.eContainer=$}postConstruct(){let{beans:$,gos:z,eContainer:Q}=this,J=$.rangeSvc,Z={eElement:Q,onDragStart:J.onDragStart.bind(J),onDragStop:J.onDragStop.bind(J),onDragging:J.onDragging.bind(J)},X=$.dragSvc,Y=X.addDragSource.bind(X,Z),q=X.removeDragSource.bind(X,Z);if(this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],()=>{if(u0(z))Y();else q()}),this.addDestroyFunc(q),u0(z))Y()}},xf=class extends S{constructor($,z){super();this.column=$,this.eGui=z}postConstruct(){this.addManagedElementListeners(this.eGui,{click:($)=>$&&this.onClick($)})}onClick($){this.beans.rangeSvc?.handleColumnSelection(this.column,$)}},wf=class extends S{constructor($,z){super();this.column=$,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 $;if(this.column.isColumn)$=[this.column];else $=this.column.getDisplayedLeafColumns();for(let z of $)this.columnMap.set(z,!1)}refreshActive(){let{gos:$,rangeSvc:z}=this.beans,Q=$.get("cellSelection");this.isActive=!!(Q&&z&&typeof Q==="object"&&Q.enableHeaderHighlight)}setupRangeHeaderHighlight(){let $=this.onRangeSelectionChanged.bind(this);this.addManagedEventListeners({rangeSelectionChanged:$,columnPinned:$,columnMoved:$,columnGroupOpened:$}),$()}onRangeSelectionChanged(){if(!this.isActive)return;this.resetColumnMap();let $=this.beans.rangeSvc.getCellRanges(),z=!1,Q=!0;for(let J of $){if(z)break;for(let Z of J.columns)if(this.columnMap.has(Z))this.columnMap.set(Z,!0),z||(z=!0)}for(let J of Array.from(this.columnMap.values()))if(J===!1){Q=!1;break}this.comp.toggleCss("ag-header-range-highlight",z&&Q)}destroy(){super.destroy(),this.comp=null,this.column=null}},Nf=class extends S{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($){this.rowModel=$.rowModel,this.dragSvc=$.dragSvc,this.colModel=$.colModel,this.visibleCols=$.visibleCols,this.cellNavigation=$.cellNavigation,this.ctrlsSvc=$.ctrlsSvc}postConstruct(){let $=this.onColumnsChanged.bind(this),z=()=>this.removeAllCellRanges(),Q=this.refreshLastRangeStart.bind(this);this.addManagedEventListeners({newColumnsLoaded:$,columnVisible:$,columnValueChanged:$,columnPivotModeChanged:z,columnRowGroupChanged:z,columnPivotChanged:z,columnGroupOpened:Q,columnMoved:Q,columnPinned:Q}),this.ctrlsSvc.whenReady(this,(J)=>{let Z=J.gridBodyCtrl;this.autoScrollService=new mJ({scrollContainer:Z.eBodyViewport,scrollAxis:"xy",getVerticalPosition:()=>Z.scrollFeature.getVScrollPosition().top,setVerticalPosition:(X)=>Z.scrollFeature.setVerticalScrollPosition(X),getHorizontalPosition:()=>Z.scrollFeature.getHScrollPosition().left,setHorizontalPosition:(X)=>Z.scrollFeature.setHorizontalScrollPosition(X),shouldSkipVerticalScroll:()=>!V0(this.gos,"normal"),shouldSkipHorizontalScroll:()=>!Z.scrollFeature.isHorizontalScrollShowing()})})}registerRangeSelectionExtension($){if(this.rangeSelectionExtensions.includes($))return;this.rangeSelectionExtensions.push($)}unregisterRangeSelectionExtension($){Z0(this.rangeSelectionExtensions,$)}shouldSuppressRangeSelection($){return this.rangeSelectionExtensions.some((z)=>z.shouldSuppressRangeSelection?.($))}shouldSkipColumn($){return this.rangeSelectionExtensions.some((z)=>z.shouldSkipColumn?.($))}isAllColumnsSelectionCell($){return this.rangeSelectionExtensions.some((z)=>z.isAllColumnsSelectionCell?.($))}isAllColumnsRange($,z){return this.rangeSelectionExtensions.some((Q)=>Q.isAllColumnsRange?.($,z))}updateSelectionModeForCell($){this.setSelectionMode(this.isAllColumnsSelectionCell($))}onDragStart($){let z=this.gos,Q=$.target;if(!u0(z)||G4(z,Q)?.isSuppressMouseEvent($))return;if(this.shouldSuppressRangeSelection(Q))return;let{shiftKey:J}=$,Z=this.isMultiRange($),X=J&&!!this.cellRanges?.length;if(!Z&&(!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=$,this.intersectionRange=Z&&this.getCellRangeCount(this.lastCellHovered)>1,!X)this.setNewestRangeStartCell(this.lastCellHovered);if(this.cellRanges.length>0)this.draggingRange=b(this.cellRanges);else{let q={rowIndex:this.lastCellHovered.rowIndex,rowPinned:this.lastCellHovered.rowPinned},G=this.getColumnsFromModel([this.lastCellHovered.column]);if(!G?.length)return;this.draggingRange={startRow:q,endRow:q,columns:G,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($){let{dragging:z,lastCellHovered:Q,newestRangeStartCell:J,autoScrollService:Z,cellHasChanged:X}=this;if(!z||!$)return;this.updateValuesOnMove($.target),this.lastMouseEvent=$;let Y=(B)=>Q&&Q.rowPinned===B&&J.rowPinned===B,q=Y("top")||Y("bottom");if(Z.check($,q),!X||!Q)return;let G=J?.column,_=Q?.column,H=this.calculateColumnsBetween(G,_);if(!H)return;let{rowIndex:U,rowPinned:W}=Q;this.draggingRange.endRow={rowIndex:U,rowPinned:W},this.draggingRange.columns=H,this.dispatchChangedEvent(!1,!1,this.draggingRange.id)}onDragStop(){if(!this.dragging)return;let{id:$}=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,$)}onColumnsChanged(){this.refreshLastRangeStart();let $=this.visibleCols.allCols;for(let Q of this.cellRanges){let J=Q.columns;if(Q.columns=Q.columns.filter((X)=>X.isVisible()&&$.indexOf(X)!==-1),!X0(J,Q.columns))this.dispatchChangedEvent(!1,!0,Q.id)}let z=this.cellRanges.length;if(this.cellRanges=this.cellRanges.filter((Q)=>Q.columns.length>0),z>this.cellRanges.length)this.dispatchChangedEvent(!1,!0)}refreshLastRangeStart(){let $=b(this.cellRanges);if(!$)return;this.refreshRangeStart($)}isContiguousRange($){let z=$.columns;if(!z.length)return!1;let Q=this.visibleCols.allCols,J=z.map((Z)=>Q.indexOf(Z)).sort((Z,X)=>Z-X);return b(J)-J[0]+1===z.length}getRangeStartRow($){if($.startRow&&$.endRow)return G0($.startRow,$.endRow)?$.startRow:$.endRow;return{rowIndex:0,rowPinned:(this.beans.pinnedRowModel?.getPinnedTopRowCount()??0)>0?"top":null}}getRangeEndRow($){if($.startRow&&$.endRow)return G0($.startRow,$.endRow)?$.endRow:$.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($){let z=this.beans,Q=this.getRangeStartRow($),J=this.getRangeEndRow($),Z=$4(z,Q);return $4(z,J)-Z+1}handleCellMouseDown($,z){let Q=$.ctrlKey||$.metaKey;this.handleCellSelectionInput(z,{target:$.target,shiftKey:$.shiftKey,isRightClick:u2(this.beans,$),isMultiRange:this.isMultiRange($),isMultiKey:Q,preventDefault:()=>$.preventDefault()})}handleCellKeyboardSelect($,z){let Q=$.ctrlKey||$.metaKey;this.handleCellSelectionInput(z,{target:$.target,shiftKey:$.shiftKey,isRightClick:!1,isMultiRange:this.isMultiRangeForKeyState(Q),isMultiKey:Q,preventDefault:()=>$.preventDefault()})}handleCellSelectionInput($,z){let{target:Q,shiftKey:J,isRightClick:Z,isMultiRange:X,isMultiKey:Y,preventDefault:q}=z;if(this.shouldSuppressRangeSelection(Q))return;let G=this.isAllColumnsSelectionCell($);if(G)q();if(J)return this.extendLatestRangeToCell($);if(G&&Z)return;this.updateSelectionModeForCell($);let _=this.calculateColumnsBetween($.column,$.column);if(!_)return;let H=G?this.findContainingRange({columns:_,startRow:$,endRow:$}):void 0;if(G&&!!H&&X&&Y&&H)this.removeRowFromAllColumnsRange($,H);else this.setRangeToCell($,X)}isMultiRange($){return this.isMultiRangeForKeyState($.ctrlKey||$.metaKey)}isMultiRangeForKeyState($){let{editingWithRanges:z,allowMulti:Q}=this.getMultiRangeContext();return z||(Q?$:!1)}getMultiRangeContext(){let{gos:$,editSvc:z}=this.beans,Q=!!z?.isEditing()&&!!z?.isRangeSelectionEnabledWhileEditing(),J=G7($)&&!Q;return{editingWithRanges:Q,suppressMultiRanges:J,allowMulti:!J}}removeRowFromAllColumnsRange($,z){let{beans:Q,cellRanges:J}=this,Z=KQ(Q),X=qz(Q),Y=this.getRangeStartRow(z),q=this.getRangeEndRow(z);if(!Y&&l(Z,$))zZ(z,L0(Q,Z),"top");else if(!q&&l(X,$))zZ(z,m0(Q,X),"bottom");else if(l(Y,q))Z0(J,z);else if(l(Y,$))zZ(z,L0(Q,$),"top");else if(l(q,$))zZ(z,m0(Q,$),"bottom");else{let G=m0(Q,$),_=L0(Q,$);z.startRow=Y,z.endRow=G??void 0,J.push({...z,startRow:_??void 0,endRow:q})}this.dispatchChangedEvent(!0,!0)}setRangeToCell($,z=!1){let{gos:Q}=this;if(!u0(Q))return;this.updateSelectionModeForCell($);let J=this.calculateColumnsBetween($.column,$.column);if(!J)return;let{suppressMultiRanges:Z}=this.getMultiRangeContext();if(Z||!z||n(this.cellRanges))this.removeAllCellRanges(!0);let X={rowIndex:$.rowIndex,rowPinned:$.rowPinned},Y={startRow:X,endRow:X,columns:J,startColumn:$.column},q=this.ensureRangeStartColumn(Y);if(!q)return;this.cellRanges.push(Y),this.setNewestRangeStartCell({...$,column:q}),this.onDragStop(),this.dispatchChangedEvent(!0,!0)}getRangeLastColumn($){let z=$.columns[0],Q=b($.columns);return this.newestRangeStartCell?.column===z?Q:z}extendRangeRowCountBy($,z){let{beans:Q}=this,{startRow:J,endRow:Z}=$;if(!J||!Z)return;let X=0,Y,q=G0(Z,J);if(q)Y=J;else Y=Z;let G=z>0?L0:m0,_=Math.abs(z);while(X<_){let U=G(Q,Y);if(!U)break;Y=U,X++}if(X!==_)return;let H={...Y,column:this.getRangeLastColumn($)};this.updateRangeRowBoundary({cellRange:$,boundary:q?"start":"end",cellPosition:H})}extendRangeColumnCountBy($,z){let{columns:Q}=$;if(z===0)return;let J=this.getColumnsFromModel();if(!J)return;let Z=this.ensureRangeStartColumn($);if(!Z)return;let X=b(Q),Y=Z===Q[0]?X:Q[0];if(!X||!Y)return;let q=J.indexOf(Z),G=J.indexOf(Y),_=G<q;if(_)q=G;let U=Q.length+z;if(U<=0)return;let W=[];for(let B=q;B<q+U;B++){let E=J[B];if(!E)break;W.push(E)}if(W.length===U){if(_){let B=b(W);$.startColumn=B,this.focusCellOnNewColumn($,B)}$.columns=W,this.dispatchChangedEvent(!0,!0,$.id)}}extendLatestRangeToCell($){if(this.isEmpty()||!this.newestRangeStartCell)return;let z=b(this.cellRanges);this.updateSelectionModeForCell($),this.updateRangeRowBoundary({cellRange:z,boundary:"end",cellPosition:$})}extendRangeToCell($,z){if(!$)return;this.updateSelectionModeForCell(z),this.updateRangeRowBoundary({cellRange:$,boundary:"end",cellPosition:z})}updateRangeRowBoundary($){let{cellRange:z,boundary:Q,cellPosition:J,silent:Z=!1}=$,X=J.column,Y=this.ensureRangeStartColumn(z);if(!Y)return;let q=this.calculateColumnsBetween(Y,X);if(!q||uf(z,J))return;if(Q==="start")this.focusCellOnNewRow(z,J);if(z.columns=q,z[Q==="start"?"startRow":"endRow"]={rowIndex:J.rowIndex,rowPinned:J.rowPinned},!Z)this.dispatchChangedEvent(!0,!0,z.id)}getRangeEdgeColumns($){let z=this.visibleCols.allCols,Q=$.columns.map((J)=>z.indexOf(J)).filter((J)=>J>-1).sort((J,Z)=>J-Z);return{left:z[Q[0]],right:z[b(Q)]}}extendLatestRangeInDirection($){if(this.isEmpty()||!this.newestRangeStartCell)return;let z=$.key,Q=$.ctrlKey||$.metaKey,J=b(this.cellRanges),Z=this.newestRangeStartCell,X=J.endRow.rowIndex,Y=J.endRow.rowPinned,G={column:this.getRangeLastColumn(J),rowIndex:X,rowPinned:Y},_=this.cellNavigation.getNextCellToFocus(z,G,Q);if(!_)return;if(this.shouldSkipColumn(_.column))return;return this.setCellRange({rowStartIndex:Z.rowIndex,rowStartPinned:Z.rowPinned,rowEndIndex:_.rowIndex,rowEndPinned:_.rowPinned,columnStart:Z.column,columnEnd:_.column}),_}setCellRange($){if(!u0(this.gos))return;this.removeAllCellRanges(!0),this.addCellRange($)}setCellRanges($){if(X0(this.cellRanges,$))return;if(!this.verifyCellRanges(this.gos))return;this.setSelectionMode(!1),this.removeAllCellRanges(!0);let z=this.getColumnsFromModel(this.visibleCols.allCols)??[],Q=!1;for(let J of $){if(J.columns&&J.startRow){let Z=this.getColumnsFromModel(J.columns);if(!Z||Z.length===0)continue;J.columns=Z;let{startRow:X}=J;this.setNewestRangeStartCell({rowIndex:X.rowIndex,rowPinned:X.rowPinned,column:J.columns[0]})}if(!Q&&z.length>0&&this.isAllColumnsRange(J,z))Q=!0;this.cellRanges.push(J)}this.setSelectionMode(Q),this.dispatchChangedEvent(!1,!0)}clearCellRangeCellValues($){let{beans:z,eventSvc:Q}=this,{cellEventSource:J="rangeSvc",dispatchWrapperEvents:Z,wrapperEventSource:X="deleteKey",restoreSourceInBatch:Y}=$,{cellRanges:q}=$;if(Z)Q.dispatchEvent({type:"cellSelectionDeleteStart",source:X}),Q.dispatchEvent({type:"rangeDeleteStart",source:X});if(!q)q=this.cellRanges;let{valueSvc:G,editSvc:_}=z,H=!!_?.isBatchEditing(),{changeDetectionSvc:U}=z;U?.beginDeferred();try{this.forEachEditableCellInRanges(q,(W,B)=>{if(Y&&H){_?.batchResetToSourceValue({rowNode:W,column:B});return}let E=G.getDeleteValue(B,W);W.setDataValue(B,E,J)})}finally{U?.endDeferred()}if(Z)Q.dispatchEvent({type:"cellSelectionDeleteEnd",source:X}),Q.dispatchEvent({type:"rangeDeleteEnd",source:X})}createCellRangeFromCellRangeParams($){return this.createPartialCellRangeFromRangeParams($,!1)}createPartialCellRangeFromRangeParams($,z){let{columns:Q,columnStart:J,columnEnd:Z,rowStartIndex:X,rowStartPinned:Y,rowEndIndex:q,rowEndPinned:G}=$,_=this.getColumnsFromParams(Q,J,Z);if(!_||!z&&_.columns.length===0)return;let{columns:H,startsOnTheRight:U}=_,W=YX(X,Y),B=YX(q,G);return{startRow:W,endRow:B,columns:H,startColumn:this.getColumnFromModel(J)??(U?b(H):H[0])}}addCellRange($){let z=this.gos;if(!u0(z)||!this.verifyCellRanges(z))return;this.setSelectionMode(!1);let Q=this.createCellRangeFromCellRangeParams($);if(Q){if(Q.startRow)this.setNewestRangeStartCell({rowIndex:Q.startRow.rowIndex,rowPinned:Q.startRow.rowPinned,column:Q.startColumn});return this.cellRanges.push(Q),this.dispatchChangedEvent(!1,!0,Q.id),Q}}getCellRanges(){return this.cellRanges}isEmpty(){return this.cellRanges.length===0}isMoreThanOneCell(){let $=this.cellRanges.length;if($===0)return!1;if($>1)return!0;let z=this.cellRanges[0],Q=this.getRangeStartRow(z),J=this.getRangeEndRow(z);return Q.rowPinned!==J.rowPinned||Q.rowIndex!==J.rowIndex||z.columns.length!==1}areAllRangesAbleToMerge(){let $=new Map;if(this.cellRanges.length<=1)return!0;for(let J of this.cellRanges)this.forEachRowInRange(J,(Z)=>{let X=`${Z.rowPinned||"normal"}_${Z.rowIndex}`,Y=$.get(X),q=J.columns.map((G)=>G.getId());if(Y){let G=q.filter((_)=>Y.indexOf(_)===-1);Y.push(...G)}else $.set(X,q)});let Q;for(let J of $.values()){let Z=J.sort().join();if(Q===void 0){Q=Z;continue}if(Q!==Z)return!1}return!0}removeAllCellRanges($){if(this.isEmpty())return;if(this.onDragStop(),this.cellRanges.length=0,!$)this.dispatchChangedEvent(!1,!0)}isCellInAnyRange($){return this.getCellRangeCount($)>0}isCellInSpecificRange($,z){let Q=z.columns?.includes($.column),J=this.isRowInRange($,z);return Q&&J}isColumnInAnyRange($){let{beans:z}=this,Q=KQ(z),J=qz(z);if(!Q||!J)return!1;let Z=$.isColumn?[$]:$.getDisplayedLeafColumns();return this.findContainingRange({columns:Z,startRow:Q,endRow:J},!0)!=null}findContainingRange({columns:$,startRow:z,endRow:Q},J=!1){let Z=this.cellRanges;for(let X=Z.length-1;X>=0;X--){let Y=Z[X],q=$.every((_)=>Y.columns.includes(_)),G=!1;if(J)G=l(Y.startRow,z)&&l(Y.endRow,Q);else{let _=z&&this.isRowInRange(z,Y),H=Q&&this.isRowInRange(Q,Y);G=!!_&&!!H}if(q&&G)return Y}}isBottomRightCell($,z){let Q=this.visibleCols.allCols,J=$.columns.map((_)=>Q.indexOf(_)).sort((_,H)=>_-H),{startRow:Z,endRow:X}=$,Y=G0(Z,X)?X:Z,q=Q.indexOf(z.column)===b(J),G=z.rowIndex===Y.rowIndex&&j$(z.rowPinned)===j$(Y.rowPinned);return q&&G}getCellRangeCount($){return this.cellRanges.filter((z)=>this.isCellInSpecificRange($,z)).length}isRowInRange($,z){let Q=this.getRangeStartRow(z),J=this.getRangeEndRow(z),Z=l($,Q),X=l($,J);if(Z||X)return!0;let Y=!G0($,Q),q=G0($,J);return Y&&q}intersectLastRange($){let{editingWithRanges:z,suppressMultiRanges:Q}=this.getMultiRangeContext();if(z||Q||$&&this.dragging||this.isEmpty())return;let J=b(this.cellRanges),Z=this.getRangeStartRow(J),X=this.getRangeEndRow(J),Y=[];for(let q of this.cellRanges.slice(0,-1)){let G=this.getRangeStartRow(q),_=this.getRangeEndRow(q),H=q.columns,U=H.filter((B)=>J.columns.indexOf(B)===-1);if(U.length===H.length){Y.push(q);continue}if(G0(X,G)||G0(_,Z)){Y.push(q);continue}let W=Y.length;if(G0(G,Z)){let B={columns:[...H],startColumn:J.startColumn,startRow:{...G},endRow:m0(this.beans,Z)};Y.push(B)}if(U.length>0){let B={columns:U,startColumn:U.includes(J.startColumn)?J.startColumn:U[0],startRow:gf([{...Z},{...G}]),endRow:hf([{...X},{..._}])};Y.push(B)}if(G0(X,_))Y.push({columns:[...H],startColumn:J.startColumn,startRow:L0(this.beans,X),endRow:{..._}});if(Y.length-W===1)Y[Y.length-1].id=q.id}if(this.cellRanges=Y,$)this.dispatchChangedEvent(!1,!0)}createRangeHighlightFeature($,z,Q){$.createManagedBean(new wf(z,Q))}setSelectionMode($){this.selectionMode=$?1:0}refreshRangeStart($){let{columns:z}=$,Q=this.ensureRangeStartColumn($);if(!Q)return;let J=(G,_)=>{let H=$.columns.filter((U)=>U!==G);if(G)$.startColumn=G,$.columns=_?[G,...H]:[...H,G];else $.columns=H},{left:Z,right:X}=this.getRangeEdgeColumns($);if(Q===z[0]&&Q!==Z){J(Z,!0);return}if(Q===b(z)&&Q===X)J(X,!1)}setNewestRangeStartCell($){this.newestRangeStartCell=$}getColumnsFromParams($,z,Q){let J=!$&&!z&&!Q,Z,X=!1;if(J||$)Z=this.getColumnsFromModel(J?void 0:$);else if(z&&Q){if(Z=this.calculateColumnsBetween(z,Q),Z?.length)X=Z[0]!==this.getColumnFromModel(z)}return Z?{columns:Z,startsOnTheRight:X}:void 0}verifyCellRanges($){let{suppressMultiRanges:z}=this.getMultiRangeContext(),Q=q7($)&&z&&this.cellRanges.length>1;if(Q)j(93);return!Q}forEachRowInRange($,z){let Q=this.getRangeStartRow($),J=this.getRangeEndRow($),Z=Q;while(Z){if(z(Z),l(Z,J))break;Z=L0(this.beans,Z)}}forEachEditableCellInRanges($,z){let{beans:Q}=this;for(let J of $)this.forEachRowInRange(J,(Z)=>{let X=M0(Q,Z);if(!X)return;for(let Y=0;Y<J.columns.length;Y++){let q=this.getColumnFromModel(J.columns[Y]);if(!q?.isCellEditable(X))continue;z(X,q)}})}onBodyScroll(){if(this.dragging&&this.lastMouseEvent)this.onDragging(this.lastMouseEvent)}updateValuesOnMove($){let z=E1(this.gos,$),Q=z?.cellPosition;if(this.cellHasChanged=!1,!Q||this.lastCellHovered&&AQ(Q,this.lastCellHovered))return;let J=this.beans.editSvc;if(J?.isEditing(z,{withOpenEditor:!0})&&!J?.isRangeSelectionEnabledWhileEditing()){this.dragSvc.cancelDrag($);return}if(this.lastCellHovered)this.cellHasChanged=!0;this.lastCellHovered=Q}dispatchChangedEvent($,z,Q){this.eventSvc.dispatchEvent({type:"cellSelectionChanged",started:$,finished:z,id:Q}),this.eventSvc.dispatchEvent({type:"rangeSelectionChanged",started:$,finished:z,id:Q})}getColumnFromModel($){return typeof $==="string"?this.colModel.getCol($):$}getColumnsFromModel($){let{visibleCols:z,selectionMode:Q}=this;if(!$||Q===1)$=z.allCols;let J=[];for(let Z of $){let X=this.getColumnFromModel(Z);if(!X||this.shouldSkipColumn(X))continue;J.push(X)}return J.length?J:void 0}ensureRangeStartColumn($){let z=this.getRangeStartColumn($.columns,$.startColumn);if(!z)return;return $.startColumn=z,z}getRangeStartColumn($,z){let Q=$[0],J=b($);if(!Q||!J)return;if(!z||$.includes(z))return z??Q;let Z=this.visibleCols.allCols,X=Z.indexOf(z),Y=Z.indexOf(Q),q=Z.indexOf(J);if(X<0||Y<0||q<0)return Q;return X-Y<=q-X?Q:J}calculateColumnsBetween($,z){let Q=this.visibleCols.allCols,J=this.getColumnFromModel($),Z=this.getColumnFromModel(z),X=J===Z,Y=Q.indexOf(J);if(Y<0){j(178,{colId:J.getId()});return}let q=X?Y:Q.indexOf(Z);if(q<0){j(178,{colId:Z.getId()});return}if(X||this.selectionMode===1)return this.getColumnsFromModel([J]);let G=Math.min(Y,q),_=G===Y?q:Y;return this.getColumnsFromModel(Q.slice(G,_+1))}focusCellOnNewColumn($,z){let{focusSvc:Q}=this.beans,J=Q.getFocusedCell();if(!J)return;if(this.isCellInSpecificRange(J,$))Q.setFocusedCell({...J,column:z,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}focusCellOnNewRow($,z){let{focusSvc:Q}=this.beans,J=Q.getFocusedCell();if(!J)return;if(this.isCellInSpecificRange(J,$))Q.setFocusedCell({...z,column:J.column,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}createDragListenerFeature($){return new yf($)}createCellRangeFeature($){return new bf(this.beans,$)}createHeaderGroupCellMouseListenerFeature($,z){return new xf($,z)}handleColumnSelection($,z){let{gos:Q,beans:J,columnRangeSelectionCtx:Z,cellRanges:X}=this;if(!Jz(Q))return;let{suppressMultiRanges:Y,editingWithRanges:q}=this.getMultiRangeContext(),G=X.length>0,_=z.ctrlKey||z.metaKey,H=!q||_,U=KQ(J),W=qz(J);if(!U||!W)return;if(z.key===A.ENTER)z.preventDefault();if(z.shiftKey){let E=Z.root;if(!E)return;let K=$.isColumn?$:b($.getLeafColumns()),L=this.findContainingRange({columns:[E],startRow:U,endRow:W},!0);if(!L){Z0(X,Z.lastCellRange),this.selectColumns(this.calculateColumnsBetween(E,K),U,W);return}this.updateRangeRowBoundary({cellRange:L,boundary:"end",cellPosition:{column:K,...W}});return}if(G&&(Y||!_&&!q))this.removeAllCellRanges(!0);let B=(E,K)=>{let L=this.findContainingRange({columns:E,startRow:U,endRow:W},!0);if(L&&H)this.deselectColumnsFromRange(L,E);else{let D=this.selectColumns(E,U,W);if(D)Z.lastCellRange=D}Z.root=K};if($.isColumn)B([$],$);else{let E=$.getDisplayedLeafColumns();B(E,E[0])}}deselectColumnsFromRange($,z){if(Q1($.columns,z),z.includes($.startColumn))$.startColumn=$.columns[0];if($.columns.length===0)Z0(this.cellRanges,$);this.dispatchChangedEvent(!0,!0)}selectColumns($,z,Q){return this.addCellRange({columns:$,columnStart:$[0],columnEnd:b($),rowStartIndex:z.rowIndex,rowStartPinned:z.rowPinned,rowEndIndex:Q.rowIndex,rowEndPinned:Q.rowPinned})}};function YX($,z){return $!=null?{rowIndex:$,rowPinned:z}:void 0}function gf($){let z;for(let Q of $)if(z===void 0||G0(z,Q))z=Q;return z}function hf($){let z;for(let Q of $)if(z===void 0||G0(Q,z))z=Q;return z}function uf($,z){let{startRow:Q,endRow:J}=$,Z=G0(Q,J)?J:Q,X=z.rowIndex===Z.rowIndex&&z.rowPinned===Z.rowPinned,Y=$.columns[0],q=b($.columns),G=$.startColumn===Y?q:Y;return z.column===G&&X}function zZ($,z,Q){let J;if(Q==="top")J=!$.startRow||!$.endRow||G0($.startRow,$.endRow)?"startRow":"endRow";else J=!$.startRow||!$.endRow||G0($.startRow,$.endRow)?"endRow":"startRow";$[J]=z??void 0}var FY={moduleName:"CellSelection",version:Q0,beans:[Nf],dynamicBeans:{fillHandle:kf,rangeHandle:Vf},apiFunctions:{getCellRanges:Sf,addCellRange:Rf,clearRangeSelection:JX,clearCellSelection:JX},dependsOn:[I0,iz,cJ],css:[Af]};function mf($){return $.colModel.isPivotMode()}function cf($,z,Q){return $.pivotResultCols?.lookupPivotResultCol(z,Q)??null}function pf($,z){$.valueColsSvc?.setColumns(z,"api")}function nf($){return $.valueColsSvc?.columns??[]}function df($,z){$.valueColsSvc?.removeColumns(z,"api")}function tf($,z){$.valueColsSvc?.addColumns(z,"api")}function sf($,z){$.pivotColsSvc?.setColumns(z,"api")}function rf($,z){$.pivotColsSvc?.removeColumns(z,"api")}function lf($,z){$.pivotColsSvc?.addColumns(z,"api")}function af($){return $.pivotColsSvc?.columns??[]}function of($,z){$.pivotResultCols?.setPivotResultCols(z,"api")}function ef($){let z=$.pivotResultCols?.getPivotResultCols();return z?z.list:null}var qX="PivotRowTotal_",$O=({headerName:$},{headerName:z})=>{if($&&!z)return 1;else if(!$&&z)return-1;else if(!$&&!z)return 0;if($<z)return-1;else if($>z)return 1;else return 0},zO=($)=>(z,Q)=>$(z.headerName,Q.headerName),QO=class extends S{constructor(){super(...arguments);this.beanName="pivotColDefSvc"}wireBeans($){this.colModel=$.colModel,this.pivotColsSvc=$.pivotColsSvc,this.valueColsSvc=$.valueColsSvc,this.colNames=$.colNames}postConstruct(){let $=()=>this.gos.get("serverSidePivotResultFieldSeparator")??"_";this.fieldSeparator=$(),this.addManagedPropertyListener("serverSidePivotResultFieldSeparator",()=>{this.fieldSeparator=$()});let z=()=>this.gos.get("pivotDefaultExpanded");this.pivotDefaultExpanded=z(),this.addManagedPropertyListener("pivotDefaultExpanded",()=>{this.pivotDefaultExpanded=z()})}createPivotColumnDefs($){let z=this.createPivotColumnsFromUniqueValues($);function Q(Z,X=[]){return Z.forEach((Y)=>{if(Y.children!==void 0)Q(Y.children,X);else X.push(Y)}),X}let J=Q(z);return this.addRowGroupTotals(z,J),this.addExpandablePivotGroups(z,J),this.addPivotTotalsToGroups(z,J),z}createPivotColumnsFromUniqueValues($){let z=this.pivotColsSvc?.columns??[],Q=z.length;return this.recursivelyBuildGroup(0,$,[],Q,z)}recursivelyBuildGroup($,z,Q,J,Z){if($>=J)return this.buildMeasureCols(Q);let{pivotComparator:X}=Z[$].getColDef(),Y=X?zO(X):$O,q=this.valueColsSvc?.columns;if(q?.length===1&&this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&$===J-1){let _=[];for(let H of z.keys()){let U=[...Q,H],W=this.createColDef(q[0],H,U);W.columnGroupShow="open",_.push(W)}return _.sort(Y),_}let G=[];for(let _ of z.keys()){let H=this.pivotDefaultExpanded===-1||$<this.pivotDefaultExpanded,U=[...Q,_];G.push({children:this.recursivelyBuildGroup($+1,z.get(_),U,J,Z),headerName:_,pivotKeys:U,columnGroupShow:"open",openByDefault:H,groupId:this.generateColumnGroupId(U)})}return G.sort(Y),G}buildMeasureCols($){let z=this.valueColsSvc?.columns??[];if(z.length===0)return[this.createColDef(null,"-",$)];return z.map((Q)=>{let J=this.colNames.getDisplayNameForColumn(Q,"header"),Z=this.createColDef(Q,J,$);return Z.columnGroupShow="open",Z})}addExpandablePivotGroups($,z){let Q=this.gos.get("suppressExpandablePivotGroups");if(Q||this.gos.get("pivotColumnGroupTotals"))return;let J=(Z,X,Y)=>{if("children"in Z){let{valueColsSvc:_}=this,{columns:H=[]}=_??{},U=new Map;Z.children.forEach((E)=>{J(E,X,U)});let W=!Z.children.some((E)=>E.children),B=W&&H.length===1&&this.gos.get("removePivotHeaderRowWhenSingleValueColumn");for(let E of H){let K=this.colNames.getDisplayNameForColumn(E,"header"),L=this.createColDef(E,K,Z.pivotKeys);if(L.pivotTotalColumnIds=U.get(E.getColId()),L.columnGroupShow=!Q?"closed":"open",L.aggFunc=E.getAggFunc(),!W||B)Z.children.push(L),X.push(L)}this.merge(Y,U);return}if(!Z.pivotValueColumn)return;let q=Z.pivotValueColumn.getColId();if(Y.has(q))Y.get(q).push(Z.colId);else Y.set(q,[Z.colId])};$.forEach((Z)=>{J(Z,z,new Map)})}addPivotTotalsToGroups($,z){if(!this.gos.get("pivotColumnGroupTotals"))return;let Q=this.gos.get("pivotColumnGroupTotals")==="after",J=this.valueColsSvc?.columns,Z=J?.map((X)=>X.getAggFunc());if(!Z||Z.length<1||!this.sameAggFuncs(Z))return;if(J){let X=J[0];$.forEach((Y)=>{this.recursivelyAddPivotTotal(Y,z,X,Q)})}}recursivelyAddPivotTotal($,z,Q,J){let Z=$;if(!Z.children){let Y=$;return Y.colId?[Y.colId]:null}let X=[];if(Z.children.forEach((Y)=>{let q=this.recursivelyAddPivotTotal(Y,z,Q,J);if(q)X=X.concat(q)}),Z.children.length>1){let q=this.getLocaleTextFunc()("pivotColumnGroupTotals","Total"),G=this.createColDef(Q,q,$.pivotKeys,!0);G.pivotTotalColumnIds=X,G.aggFunc=Q.getAggFunc(),G.columnGroupShow=this.gos.get("suppressExpandablePivotGroups")?"open":void 0;let _=$.children;if(J)_.push(G);else _.unshift(G);z.push(G)}return X}addRowGroupTotals($,z){if(!this.gos.get("pivotRowTotals"))return;let Q=this.gos.get("pivotRowTotals")==="after",Z=(this.valueColsSvc?.columns??[]).slice();if(!Q)Z.reverse();let X=Z.length>1||!this.gos.get("removePivotHeaderRowWhenSingleValueColumn");for(let Y=0;Y<Z.length;Y++){let q=Z[Y],G=this.colNames.getDisplayNameForColumn(q,"header"),_=this.createColDef(q,G,[]),H=[];for(let W=0;W<z.length;W++){let B=z[W];if(B.pivotValueColumn===q)H.push(B.colId)}_.pivotTotalColumnIds=H,_.colId=qX+_.colId;let U=X?{children:[_],pivotKeys:[],groupId:`${qX}_pivotGroup_${q.getColId()}`}:_;if(z.push(_),Q)$.push(U);else $.unshift(U)}}recreateColDef($){let{pivotValueColumn:z,headerName:Q,pivotKeys:J,pivotTotalColumnIds:Z,columnGroupShow:X,colId:Y,valueGetter:q,aggFunc:G}=$;if(!z)return $;let _=this.createColDef(z,Q,J,!!Z);return _.columnGroupShow=X,_.colId=Y,_.valueGetter=q,_.aggFunc=G,_.pivotTotalColumnIds=Z,this.gos.get("processPivotResultColDef")?.(_),_}createColDef($,z,Q,J=!1){let Z={};if($){let X=$.getColDef();Object.assign(Z,X),Z.hide=!1}if(Z.headerName=z,Z.colId=this.generateColumnId(Q||[],$&&!J?$.getColId():""),Z.field=Z.colId,Z.valueGetter=(X)=>X.data?.[X.colDef.field],Z.pivotKeys=Q,Z.pivotValueColumn=$,Z.filter===!0)Z.filter="agNumberColumnFilter";return Z}sameAggFuncs($){if($.length==1)return!0;for(let z=1;z<$.length;z++)if($[z]!==$[0])return!1;return!0}merge($,z){z.forEach((Q,J)=>{let X=[...$.has(J)?$.get(J):[],...Q];$.set(J,X)})}generateColumnGroupId($){return`pivotGroup_${(this.pivotColsSvc?.columns??[]).map((Q)=>Q.getColId()).join("-")}_${$.join("-")}`}generateColumnId($,z){return`pivot_${(this.pivotColsSvc?.columns??[]).map((J)=>J.getColId()).join("-")}_${$.join("-")}_${z}`}createColDefsFromFields($){let z=new Map;for(let Z=0;Z<$.length;Z++){let Y=$[Z].split(this.fieldSeparator),q=z;for(let G=0;G<Y.length;G++){let _=Y[G],H=q.get(_);if(!H)H=new Map,q.set(_,H);q=H}}let Q=(Z,X,Y,q)=>{let G=[];for(let[U,W]of Y){let B=Q(`${Z}${this.fieldSeparator}${U}`,U,W,q+1);G.push(B)}if(G.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=Z,E.aggFunc=U.getAggFunc(),E.valueGetter=(K)=>K.data?.[Z],E}return{colId:Z,headerName:X,valueGetter:(B)=>B.data?.[Z]}}if(this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&G.length===1&&"colId"in G[0])return G[0].headerName=X,G[0];return{openByDefault:this.pivotDefaultExpanded===-1||q<this.pivotDefaultExpanded,groupId:Z,headerName:X,children:G}},J=[];for(let[Z,X]of z){let Y=Q(Z,Z,X,0);J.push(Y)}return J}},JO=class extends S{constructor(){super(...arguments);this.beanName="pivotResultCols"}wireBeans($){this.colModel=$.colModel,this.visibleCols=$.visibleCols}destroy(){J$(this.beans,this.pivotResultCols?.tree),super.destroy()}isPivotResultColsPresent(){return this.pivotResultCols!=null}lookupPivotResultCol($,z){if(this.pivotResultCols==null)return null;let Q=this.colModel.getColDefCol(z),J=null;for(let Z of this.pivotResultCols.list){let X=Z.getColDef().pivotKeys,Y=Z.getColDef().pivotValueColumn;if(X0(X,$)&&Y===Q)J=Z}return J}getPivotResultCols(){return this.pivotResultCols}getPivotResultCol($){if(!this.pivotResultCols)return null;return this.colModel.getColFromCollection($,this.pivotResultCols)}getAggregationOrderedList(){let $=this.aggOrderedList;if($!==void 0)return $;let z=this.pivotResultCols?.list;if(!z||z.length===0)return this.aggOrderedList=null,null;let Q=!1;for(let J=0;J<z.length;++J)if(z[J].getColDef().pivotTotalColumnIds!=null){Q=!0;break}if(!Q)$=z;else{let J=[],Z=[];for(let X=0;X<z.length;++X){let Y=z[X];if(Y.getColDef().pivotTotalColumnIds!=null)Z.push(Y);else J.push(Y)}$=J.concat(Z)}return this.aggOrderedList=$,$}setPivotResultCols($,z){if(this.aggOrderedList=void 0,!this.colModel.ready)return;if($==null&&this.pivotResultCols==null)return;if($){this.processPivotResultColDef($);let J=(z==="api"?p2:B7)(this.beans,$,!1,this.pivotResultCols?.tree||this.previousPivotResultCols||void 0,z);J$(this.beans,this.pivotResultCols?.tree,J.columnTree);let{columnTree:Z,treeDepth:X}=J,Y=CJ(Z),q={};this.pivotResultCols={tree:Z,treeDepth:X,list:Y,map:q};for(let _ of this.pivotResultCols.list)this.pivotResultCols.map[_.getId()]=_;let G=!!this.previousPivotResultCols;this.previousPivotResultCols=null,this.colModel.refreshCols(!G,z)}else this.previousPivotResultCols=this.pivotResultCols?this.pivotResultCols.tree:null,this.pivotResultCols=null,this.colModel.refreshCols(!1,z);this.visibleCols.refresh(z)}processPivotResultColDef($){let z=this.gos.get("processPivotResultColDef"),Q=this.gos.get("processPivotResultColGroupDef");if(!z&&!Q)return;let J=(Z)=>{Z.forEach((X)=>{if(T(X.children)){let q=X;if(Q)Q(q);J(q.children)}else{let q=X;if(z)z(q)}})};if($)J($)}},GX="Exceeded maximum allowed pivot column count.",YZ=($)=>{let z={};return $.forEach((Q,J)=>z[J]=Q instanceof Map?YZ(Q):Q),z},ZO=class extends S{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($){this.valueSvc=$.valueSvc,this.colModel=$.colModel,this.pivotResultCols=$.pivotResultCols,this.rowGroupColsSvc=$.rowGroupColsSvc,this.valueColsSvc=$.valueColsSvc,this.pivotColsSvc=$.pivotColsSvc,this.pivotColDefSvc=$.pivotColDefSvc}execute($){if(this.colModel.isPivotActive())return this.executePivotOn($);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($){let z=this.valueColsSvc?.columns.length??1,Q=this.gos.get("pivotMaxGeneratedColumns");this.maxUniqueValues=Q===-1?-1:Q/z;let J;try{J=this.bucketUpRowNodes($)}catch(D){if(D.message===GX)return this.pivotResultCols.setPivotResultCols([],"rowModelUpdated"),this.eventSvc.dispatchEvent({type:"pivotMaxColumnsExceeded",message:D.message}),this.lastTimeFailed=!0,!1;throw D}let Z=this.setUniqueValues(J),X=this.valueColsSvc?.columns??[],Y=X.map((D)=>`${D.getId()}-${D.getColDef().headerName}`).join("#"),q=X.map((D)=>D.getAggFunc().toString()).join("#"),G=this.aggregationColumnsHashLastTime!==Y,_=this.aggregationFuncsHashLastTime!==q;this.aggregationColumnsHashLastTime=Y,this.aggregationFuncsHashLastTime=q;let H=(this.rowGroupColsSvc?.columns??[]).map((D)=>D.getId()).join("#"),U=H!==this.groupColumnsHashLastTime;this.groupColumnsHashLastTime=H;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||Z||G||U||_||L){let D=this.pivotColDefSvc.createPivotColumnDefs(this.uniqueValues);return this.pivotResultCols.setPivotResultCols(D,"rowModelUpdated"),this.lastTimeFailed=!1,!0}return this.lastTimeFailed=!1,!1}setUniqueValues($){if(!FJ(YZ(this.uniqueValues),YZ($)))return this.uniqueValues=$,!0;return!1}bucketUpRowNodes($){this.currentUniqueCount=0;let z=new Map;S0(this.beans.rowModel.rootNode,this.beans.rowModel.hierarchical,$,(J)=>{if(J.leafGroup)J.childrenMapped=null});let Q=(J)=>{if(J.leafGroup)this.bucketRowNode(J,z);else{let Z=J.childrenAfterFilter;if(Z)for(let X=0,Y=Z.length;X<Y;++X)Q(Z[X])}};return Q(this.beans.rowModel.rootNode),z}bucketRowNode($,z){let Q=this.pivotColsSvc?.columns;if(Q?.length===0)$.childrenMapped=null;else $.childrenMapped=YZ(this.bucketChildren($.childrenAfterFilter,Q,0,z));if($.sibling)$.sibling.childrenMapped=$.childrenMapped}bucketChildren($,z=[],Q,J){let Z=new Map,X=z[Q],Y=this.maxUniqueValues!==-1;for(let G=0,_=$.length;G<_;++G){let H=$[G],U=this.valueSvc.getKeyForNode(X,H);if(n(U))U="";if(!J.get(U)){this.currentUniqueCount+=1,J.set(U,new Map);let W=this.currentUniqueCount>this.maxUniqueValues;if(Y&&W)throw Error(GX)}if(!Z.has(U))Z.set(U,[]);Z.get(U).push(H)}if(Q===z.length-1)return Z;let q=new Map;for(let G of Z.keys())q.set(G,this.bucketChildren(Z.get(G),z,Q+1,J.get(G)));return q}},XO={moduleName:"SharedPivot",version:Q0,beans:[JO,QO,qY],apiFunctions:{isPivotMode:mf,getPivotResultColumn:cf,setValueColumns:pf,getValueColumns:nf,removeValueColumns:df,addValueColumns:tf,setPivotColumns:sf,removePivotColumns:rf,addPivotColumns:lf,getPivotColumns:af,setPivotResultColumns:of,getPivotResultColumns:ef},dependsOn:[BY,E4]},MY={moduleName:"Pivot",version:Q0,rowModels:["clientSide"],beans:[ZO],dependsOn:[XO,oj,DZ]};var Nb=String.fromCodePoint(31,41150,8291);var kY=[{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"}],_X=new Map;for(let $ of kY){let z=_X.get($.symbol)??[];z.push($),_X.set($.symbol,z)}var gb=[...new Set(kY.map(($)=>$.symbol))].sort(($,z)=>z.length-$.length);var hb=Symbol("WrappedFunctionMarker");var YO={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"},qO=new Set(["columnLineCombo","areaColumnCombo","customCombo"]);function GO($){return qO.has($)}function _O($){return $==="doughnut"?"donut":$}function HO($){return YO[$]}var UO=["number","category","grouped-category","log","time"];var ub=UO.reduce(($,z)=>({...$,[z]:{title:{_enabledFromTheme:!0}}}),{});var MZ=($)=>{return(z)=>{if(z==null)return!0;return $(z)}};var WO=["doughnut"];function BO($){return!!HO($)||GO($)}function EO($){return WO.includes($)}var cb=MZ(($)=>{if(BO($))return!0;if(EO($)){let z=_O($);return zz(`The chart type '${$}' has been deprecated. Please use '${z}' instead.`),z}return!1}),pb=MZ(($)=>{return typeof $==="object"}),ib=MZ(($)=>{return typeof $==="object"}),nb=MZ(($)=>{return typeof $==="string"||typeof $==="function"});function VY($){return $.map((z,Q,J)=>z.map((Z,X)=>J.slice(0,Q+1).reduce((Y,q)=>Y+q[X],0)))}function AY($){let z=$.map((Q,J)=>$.reduce((Z,X)=>Math.max(Z,X[J]),0));return $.map((Q)=>Q.map((J,Z)=>J/z[Z]*19))}var SY=[[1,3,5],[2,6,4],[5,3,1]];var KO=VY(SY);var db=AY(KO);var LO=SY;var DO=VY(LO);var tb=AY(DO);var FO=["number","category","time","grouped-category"],MO=["angle-category","angle-number","radius-category","radius-number"],sb=[...FO,...MO];N2.registerModules([j9,Q9,R9,D9,S9,U9,$9,zY,FY,MY,LY,Z5,nX,tX,rX,aX,EY]);var kO=($,z)=>{let{data:Q,options:J,api:Z,on:X,class:Y,style:q="height: 100%; width: 100%;"}=$,G=null,_=()=>{return document.documentElement.getAttribute("data-theme")==="dark"||window.matchMedia("(prefers-color-scheme: dark)").matches},H=(U)=>{return U?"ag-theme-alpine-dark":"ag-theme-alpine"};return $html("div",{style:q,class:Y,ref:(U)=>{try{let W=typeof Q==="function"?Q():Q,B=typeof J==="function"?J():J,E=["onFilterChanged","onModelUpdated","onGridSizeChanged","onFirstDataRendered","onRowValueChanged","onSelectionChanged","onCellClicked","onCellDoubleClicked","onCellValueChanged","onRowClicked","onSortChanged","onContextMenu","onColumnResized","onColumnMoved","onRowDataUpdated","onCellEditingStarted","onCellEditingStopped","onPaginationChanged","onBodyScroll"],K={};E.forEach((V)=>{if(X?.[V])K[V]=(R)=>X[V](R)});let L={...B,theme:H(_()),rowData:W||[],onGridReady:(V)=>{if(G=V.api,Z)Z.current=G;if(X?.onGridReady)X.onGridReady(V);if(B?.autoSizeColumns)setTimeout(()=>{if(G&&!G.isDestroyed()){let R=G.getColumns();if(R?.length)G.autoSizeColumns(R)}},100)},...K};G=M1(U,L);let D=$watch([Q],()=>{if(!G||G.isDestroyed())return;let V=typeof Q==="function"?Q():Q;if(Array.isArray(V)){let R=G.getGridOption("rowData");if(V!==R)G.setGridOption("rowData",V)}}),F=$watch([_],()=>{if(G&&!G.isDestroyed()){let V=_(),R=H(V),O=G.getGridOption("theme");if(R!==O)G.setGridOption("theme",R)}}),M=["pagination","paginationPageSize","suppressRowClickSelection","rowSelection","enableCellTextSelection","ensureDomOrder","stopEditingWhenCellsLoseFocus","enterMovesDown","enterMovesDownAfterEdit"],k=$watch([J],()=>{if(!G||G.isDestroyed()||!J)return;let V=typeof J==="function"?J():J;M.forEach((R)=>{if(V[R]!==void 0)try{G.setGridOption(R,V[R])}catch(O){console.warn(`Could not set grid option ${R}:`,O)}})});U._cleanups.add(D),U._cleanups.add(F),U._cleanups.add(k),U._cleanups.add(()=>{if(G&&!G.isDestroyed()){if(G.destroy(),Z)Z.current=null;G=null}})}catch(W){console.error("Failed to initialize AG Grid:",W),U.innerHTML=`<div class="text-error p-4">Error loading grid: ${W.message}</div>`}}})};})();